瀏覽代碼

table添加下拉数据

zhaoke 1 年之前
父節點
當前提交
04f5493475
共有 1 個文件被更改,包括 19 次插入15 次删除
  1. 19 15
      src/views/tablePage/index.vue

+ 19 - 15
src/views/tablePage/index.vue

@@ -19,18 +19,9 @@
           <el-row :gutter="20">
             <el-col v-for="(item, index) in formItem" :key="index" :span="24">
               <el-form-item :rules="fromDataReq(item)" :prop="item.columncode" :label="item.columnname">
-                <template v-if="
-                        item.dropdownlist ||
-                        item.dropdownlist == 0
-                      ">
+                <template v-if="item.dropdownlist ||item.dropdownlist == 0">
                   <el-select class="input-shadow" size="small" filterable default-first-option style="width: 100%" v-model="tableForm[item.columncode]" @change="changeSelect(item.columncode, item)" placeholder="请选择" clearable @clear="tableForm[item.columncode] = ''">
-                    <el-option v-for="item in tableOptions[item.columncode]" :key="item.v ? item.v : item.planDepartureApt" :label="item.k ? item.k : item.planDepartureApt" :value="
-                            item.setlabel === 'positionDescribe'
-                              ? item.v
-                              : item.v != undefined
-                              ? item.v
-                              : item.planDepartureApt
-                          ">
+                    <el-option v-for="itemParams in tableOptions[item.columncode]" :key="itemParams.pageconfigurationid" :label="itemParams.pagename" :value="itemParams.pageconfigurationid">
                     </el-option>
                   </el-select>
                 </template>
@@ -113,7 +104,7 @@ export default {
       rmFlag: false, //删除弹框开关
       rmTitle: '', //删除弹框标题
       tableObj: {}, //删除数据
-      tableOptions: [], //表单数据下拉
+      tableOptions: {}, //表单数据下拉
       labelWidth: '120px', //表单文字距离
       fromDataReqCatch: [], //表单规则缓存
     }
@@ -194,7 +185,6 @@ export default {
     //根据页面table设置数据
     getPageTableSetting (pageAuths, pageAuthtables) {
       const authTableObj = pageAuthtables[0]
-      console.log(authTableObj)
       //获取当前页面table的配置
       const { pagename, pageconfigurationid, serviceid, pagecode, userpermissionsid, defaultfilter } = authTableObj
       //获取当前页面table的按钮权限
@@ -226,6 +216,7 @@ export default {
             const formItemCopy = _.cloneDeep(returnData).filter((item) => item.isdisplay == 2 || item.isdisplay == 3);
             this.formItem = _.orderBy(formItemCopy, ['displaynumber'], ['asc']);
             this.tableCols = tableColsCopyOrder;
+            this.getSelectData(this.formItem)
           }
         } else {
           this.$message.error("获取表头数据失败");
@@ -234,6 +225,18 @@ export default {
         console.log(error)
       }
     },
+    //获取表单下拉数据
+    getSelectData (formItem = []) {
+      if (!formItem.length || !Array.isArray(formItem)) return
+      const formItemCopy = _.cloneDeep(formItem)
+      formItemCopy.map(async ({ dropdownlist, columncode }) => {
+        if (dropdownlist || dropdownlist == 0) {
+          const datacontent = { filter: { 1: 1 } }
+          const { code, returnData } = await Query({ serviceid: dropdownlist, datacontent, event: '0' })
+          this.tableOptions[columncode] = code == 0 && returnData?.length ? returnData : []
+        }
+      })
+    },
     //获取tree点击
     treeNodeClick (data) {
       const filterItem = this.formatDefault(this.treeParameters, data)
@@ -242,7 +245,7 @@ export default {
       this.queryTableData(true)
     },
     //格式化传递参数数据
-    formatDefault (item, data) {
+    formatDefault (item, data = {}) {
       if (typeof item != 'string') return {}
       const filterItem = {}
       const parameters = item.replace('{', '').replace('}', '')
@@ -286,11 +289,12 @@ export default {
     },
     //表格-删除
     handleRemove (row) {
+      const { columncode } = this.tableCols[0]
       const { openmode, pageroute } = this.pageAuthBtnDel
       if (!openmode) return
       if (openmode != 2) this.autoBtnClick(openmode, pageroute)
       this.rmFlag = true;
-      this.rmTitle = row[this.rowTitle];
+      this.rmTitle = row[columncode];
       this.tableObj = row;
     },
     //表格-删除-确认