大屏
This commit is contained in:
		| @@ -45,7 +45,7 @@ | ||||
|       </ai-card> | ||||
|       <ai-dialog | ||||
|         :visible.sync="isShow" | ||||
|         width="820px" | ||||
|         width="920px" | ||||
|         title="数据源" | ||||
|         @close="onClose" | ||||
|         @onConfirm="onConfirm"> | ||||
| @@ -58,7 +58,21 @@ | ||||
|                 v-model="form.description"> | ||||
|               </el-input> | ||||
|             </el-form-item> | ||||
|             <el-form-item label="村微应用" style="width: 100%;" prop="appId" :rules="[{ required: true, message: '请选择村微应用', trigger: 'change' }]"> | ||||
|             <el-form-item label="类型" style="width: 100%;" prop="dataRange" :rules="[{ required: true, message: '请选择数据范围', trigger: 'change' }]"> | ||||
|               <el-radio-group v-model="form.type"> | ||||
|                 <el-radio label="0">村微应用</el-radio> | ||||
|                 <el-radio label="1">SQL</el-radio> | ||||
|               </el-radio-group> | ||||
|             </el-form-item> | ||||
|             <el-form-item v-if="form.type === '1'" label="sql语句" style="width: 100%;" prop="description" :rules="[{ required: true, message: '请输入sql语句', trigger: 'blur' }]"> | ||||
|               <el-input | ||||
|                 size="small" | ||||
|                 type="textarea" | ||||
|                 placeholder="请输入数据源描述" | ||||
|                 v-model="form.sqlContent"> | ||||
|               </el-input> | ||||
|             </el-form-item> | ||||
|             <el-form-item v-if="form.type === '0'" label="村微应用" style="width: 100%;" prop="appId" :rules="[{ required: true, message: '请选择村微应用', trigger: 'change' }]"> | ||||
|               <el-select size="small" style="width: 100%;" v-model="form.appId" placeholder="请选择村微应用" @change="onAppChange"> | ||||
|                 <el-option | ||||
|                   v-for="item in appList" | ||||
| @@ -68,7 +82,7 @@ | ||||
|                 </el-option> | ||||
|               </el-select> | ||||
|             </el-form-item> | ||||
|             <el-form-item label="数据范围" style="width: 100%;" prop="dataRange" :rules="[{ required: true, message: '请选择数据范围', trigger: 'change' }]"> | ||||
|             <el-form-item v-if="form.type === '0'" label="数据范围" style="width: 100%;" prop="dataRange" :rules="[{ required: true, message: '请选择数据范围', trigger: 'change' }]"> | ||||
|               <el-radio-group v-model="form.dataRange"> | ||||
|                 <el-radio label="0">全部</el-radio> | ||||
|                 <el-radio label="1">自定义条数</el-radio> | ||||
| @@ -81,75 +95,81 @@ | ||||
|                 v-model="form.count"> | ||||
|               </el-input> | ||||
|             </el-form-item> | ||||
|             <el-form-item :label="'统计项' + index" style="width: 100%;" v-for="(item, index) in form.statisticsConfigs" :key="'statisticsConfigs' + index"> | ||||
|               <div class="form-flex"> | ||||
|                 <div> | ||||
|                   <el-select size="small" style="width: 160px;" v-model="item.fieldName" @change="e => onChooseField('statisticsConfigs', e, index)" placeholder="请选择" clearable> | ||||
|                     <el-option | ||||
|                       v-for="(item, index) in filedList" | ||||
|                       :key="index" | ||||
|                       :label="item.fieldCnName" | ||||
|                       :value="item.fieldName"> | ||||
|                     </el-option> | ||||
|                   </el-select> | ||||
|                   <el-select size="small" style="margin: 0 10px; width: 160px;" v-model="item.calcType" placeholder="请选择" clearable> | ||||
|                     <el-option | ||||
|                       v-for="item in dict.getDict('diyLargeScreenDatasourceCalcType2')" | ||||
|                       :key="item.id" | ||||
|                       :label="item.dictName" | ||||
|                       :value="item.dictValue"> | ||||
|                     </el-option> | ||||
|                   </el-select> | ||||
|                   <el-input size="small" style="width: 165px;" placeholder="请输入别名" v-model="item.alias"></el-input> | ||||
|             <div v-if="form.type === '0'"> | ||||
|               <el-form-item :label="'统计项' + index" style="width: 100%;" v-for="(item, index) in form.statisticsConfigs" :key="'statisticsConfigs' + index"> | ||||
|                 <div class="form-flex"> | ||||
|                   <div> | ||||
|                     <el-select size="small" style="width: 160px;" v-model="item.fieldName" @change="e => onChooseField('statisticsConfigs', e, index)" placeholder="请选择" clearable> | ||||
|                       <el-option | ||||
|                         v-for="(item, index) in filedList" | ||||
|                         :key="index" | ||||
|                         :label="item.fieldCnName" | ||||
|                         :value="item.fieldName"> | ||||
|                       </el-option> | ||||
|                     </el-select> | ||||
|                     <el-select size="small" style="margin: 0 10px; width: 160px;" v-model="item.calcType" placeholder="请选择" clearable> | ||||
|                       <el-option | ||||
|                         v-for="item in dict.getDict('diyLargeScreenDatasourceCalcType2')" | ||||
|                         :key="item.id" | ||||
|                         :label="item.dictName" | ||||
|                         :value="item.dictValue"> | ||||
|                       </el-option> | ||||
|                     </el-select> | ||||
|                     <el-input size="small" style="width: 165px;" placeholder="请输入别名" v-model="item.alias"></el-input> | ||||
|                   </div> | ||||
|                   <el-button type="danger" v-if="index > 0" @click="removeConfig('statisticsConfigs', index)">删除</el-button> | ||||
|                 </div> | ||||
|                 <el-button type="danger" v-if="index > 0" @click="removeConfig('statisticsConfigs', index)">删除</el-button> | ||||
|               </div> | ||||
|             </el-form-item> | ||||
|             <el-form-item style="width: 100%;"> | ||||
|               </el-form-item> | ||||
|             </div> | ||||
|             <el-form-item style="width: 100%;" v-if="form.type === '0'"> | ||||
|               <el-button type="primary" @click="add('statisticsConfigs')">添加统计项</el-button> | ||||
|             </el-form-item> | ||||
|             <el-form-item :label="'分组' + index" style="width: 100%;" v-for="(item, index) in form.groupConfigs" :key="'groupConfigs' + item.fieldName"> | ||||
|               <div class="form-flex"> | ||||
|                 <div> | ||||
|                   <el-select size="small" style="width: 160px;" v-model="item.fieldName" placeholder="请选择" clearable> | ||||
|                     <el-option | ||||
|                       v-for="item in filedList" | ||||
|                       :key="item.id" | ||||
|                       :label="item.fieldCnName" | ||||
|                       :value="item.fieldName"> | ||||
|                     </el-option> | ||||
|                   </el-select> | ||||
|             <div v-if="form.type === '0'"> | ||||
|               <el-form-item :label="'分组' + index" style="width: 100%;" v-for="(item, index) in form.groupConfigs" :key="'groupConfigs' + item.fieldName"> | ||||
|                 <div class="form-flex"> | ||||
|                   <div> | ||||
|                     <el-select size="small" style="width: 160px;" v-model="item.fieldName" placeholder="请选择" clearable> | ||||
|                       <el-option | ||||
|                         v-for="item in filedList" | ||||
|                         :key="item.id" | ||||
|                         :label="item.fieldCnName" | ||||
|                         :value="item.fieldName"> | ||||
|                       </el-option> | ||||
|                     </el-select> | ||||
|                   </div> | ||||
|                   <el-button type="danger" @click="removeConfig('groupConfigs', index)">删除</el-button> | ||||
|                 </div> | ||||
|                 <el-button type="danger" @click="removeConfig('groupConfigs', index)">删除</el-button> | ||||
|               </div> | ||||
|             </el-form-item> | ||||
|             <el-form-item style="width: 100%;"> | ||||
|               </el-form-item> | ||||
|             </div> | ||||
|             <el-form-item style="width: 100%;" v-if="form.type === '0'"> | ||||
|               <el-button type="primary" @click="add('groupConfigs')">添加分组</el-button> | ||||
|             </el-form-item> | ||||
|             <el-form-item :label="'统计项' + index" style="width: 100%;" v-for="(item, index) in form.orderConfigs" :key="'orderConfigs' + item.fieldName"> | ||||
|               <div class="form-flex"> | ||||
|                 <div> | ||||
|                   <el-select size="small" style="width: 160px;" v-model="item.fieldName" placeholder="请选择" clearable> | ||||
|                     <el-option | ||||
|                       v-for="item in filedList" | ||||
|                       :key="item.id" | ||||
|                       :label="item.fieldCnName" | ||||
|                       :value="item.fieldName"> | ||||
|                     </el-option> | ||||
|                   </el-select> | ||||
|                   <el-select size="small" style="width: 160px; margin-left: 10px;" v-model="item.orderType" placeholder="请选择" clearable> | ||||
|                     <el-option | ||||
|                       v-for="item in orderTypeDict" | ||||
|                       :key="item.id" | ||||
|                       :label="item.label" | ||||
|                       :value="item.value"> | ||||
|                     </el-option> | ||||
|                   </el-select> | ||||
|             <div v-if="form.type === '0'"> | ||||
|               <el-form-item :label="'统计项' + index" style="width: 100%;" v-for="(item, index) in form.orderConfigs" :key="'orderConfigs' + item.fieldName"> | ||||
|                 <div class="form-flex"> | ||||
|                   <div> | ||||
|                     <el-select size="small" style="width: 160px;" v-model="item.fieldName" placeholder="请选择" clearable> | ||||
|                       <el-option | ||||
|                         v-for="item in filedList" | ||||
|                         :key="item.id" | ||||
|                         :label="item.fieldCnName" | ||||
|                         :value="item.fieldName"> | ||||
|                       </el-option> | ||||
|                     </el-select> | ||||
|                     <el-select size="small" style="width: 160px; margin-left: 10px;" v-model="item.orderType" placeholder="请选择" clearable> | ||||
|                       <el-option | ||||
|                         v-for="item in orderTypeDict" | ||||
|                         :key="item.id" | ||||
|                         :label="item.label" | ||||
|                         :value="item.value"> | ||||
|                       </el-option> | ||||
|                     </el-select> | ||||
|                   </div> | ||||
|                   <el-button type="danger" @click="removeConfig('orderConfigs', index)">删除</el-button> | ||||
|                 </div> | ||||
|                 <el-button type="danger" @click="removeConfig('orderConfigs', index)">删除</el-button> | ||||
|               </div> | ||||
|             </el-form-item> | ||||
|             <el-form-item style="width: 100%;"> | ||||
|               </el-form-item> | ||||
|             </div> | ||||
|             <el-form-item style="width: 100%;" v-if="form.type === '0'"> | ||||
|               <el-button type="primary" @click="add('orderConfigs')">添加排序</el-button> | ||||
|             </el-form-item> | ||||
|           </div> | ||||
| @@ -181,9 +201,10 @@ | ||||
|         total: 0, | ||||
|         colConfigs: [ | ||||
|           { prop: 'appName', label: '应用名' }, | ||||
|           { prop: 'appTableName', label: '表名' }, | ||||
|           { prop: 'createUserName', label: '创建人' }, | ||||
|           { prop: 'description', label: '描述' }, | ||||
|           { prop: 'appTableName', align: 'center', label: '表名' }, | ||||
|           { prop: 'description', align: 'center', label: '描述' }, | ||||
|           { prop: 'type', align: 'center', label: '类型', formart: v => v === '0' ? '村微应用' : 'sql语句' }, | ||||
|           { prop: 'createUserName', align: 'center', label: '创建人' }, | ||||
|           { prop: 'createTime', align: 'center', label: '创建时间' } | ||||
|         ], | ||||
|         tableData: [], | ||||
| @@ -192,6 +213,8 @@ | ||||
|         form: { | ||||
|           orderType: 'asc', | ||||
|           dataRange: '0', | ||||
|           type: '0', | ||||
|           sqlContent: '', | ||||
|           appId: '', | ||||
|           description: '', | ||||
|           appName: '', | ||||
|   | ||||
		Reference in New Issue
	
	Block a user