From a18dec1e4ae3e241747f73ad409c91a29fd2c42d Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 24 十月 2024 17:11:09 +0800
Subject: [PATCH] 表单定义 新增表格修改添加方式

---
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue                       |   22 +-
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue |    4 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue      |  515 ++++++++++++++++-----------------------------------
 3 files changed, 180 insertions(+), 361 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue
index ef4e680..3e8a6f5 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/tableDialog.vue
@@ -9,10 +9,10 @@
     width="60%"
     @close="closeDialog"
   >
-    <el-form v-loading="formLoading" :model="form" :rules="rules" label-position="right" label-width="100px">
+    <el-form ref="form" v-loading="formLoading" :model="form" :rules="rules" label-position="right" label-width="100px">
       <el-row>
         <el-col :span="12">
-          <el-form-item label="鍚嶇О">
+          <el-form-item label="鍚嶇О" prop="viName">
             <el-input v-model="form.viName" placeholder="璇疯緭鍏ュ悕绉�" size="mini"></el-input>
           </el-form-item>
         </el-col>
@@ -30,14 +30,14 @@
         </el-col>
 
         <el-col :span="12">
-          <el-form-item label="缁戝畾琛ㄥ崟">
+          <el-form-item label="缁戝畾琛ㄥ崟" prop="itemInObj">
             <div style="display: flex;align-items: center;">
-              <el-select v-model="form.itemInObj" clearable placeholder="璇烽�夋嫨缁戝畾琛ㄥ崟" size="mini">
+              <el-select v-model="form.itemInObj" clearable placeholder="璇烽�夋嫨缁戝畾琛ㄥ崟" size="mini"
+                         @change="formSelectChange">
                 <el-option v-for="(item,index) in selectList" :key="index" :label="item.viName"
                            :value="item.id"></el-option>
               </el-select>
-              <el-button plain size="mini" style="margin-left: 3px" type="success" @click="formSelectClickHandler">閫夋嫨
-              </el-button>
+
             </div>
           </el-form-item>
         </el-col>
@@ -54,131 +54,42 @@
           </el-form-item>
         </el-col>
 
-        <el-col :span="12">
-          <el-form-item label="鏄剧ず瀛楁">
-            <div style="display: flex; align-items: center">
-              <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto">
-                <el-table
-                  :data="form.itemSelectOutFieldList"
-                  :highlight-current-row="true"
-                  style="width: 100%"
-                  @row-click="showLabelLeftRowClick">
-                  <el-table-column
-                    align="center"
-                    label="鍙娇鐢ㄥ瓧娈�"
-                    prop="id">
-                  </el-table-column>
-                </el-table>
-              </div>
-              <div style="margin-left: 10px; margin-right: 10px">
-                <el-button circle icon="el-icon-back" style="margin-right: 10px"
-                           @click="showLeftTransferClick"></el-button>
-                <el-button circle icon="el-icon-right" @click="showRightTransferClick"></el-button>
-              </div>
-              <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto">
-                <el-table
-                  :data="form.itemOutFieldList"
-                  :highlight-current-row="true"
-                  style="width: 100%"
-                  @row-click="showLabelRightRowClick">
-                  <el-table-column
-                    align="center"
-                    label="闇�瑕佷娇鐢ㄥ瓧娈�"
-                    prop="id">
-                  </el-table-column>
-                </el-table>
-              </div>
-            </div>
-          </el-form-item>
-        </el-col>
-
-        <el-col :span="12">
-          <el-form-item label="鎼滅储瀛楁">
-            <div style="display: flex; align-items: center">
-              <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto">
-                <el-table
-                  :data="form.itemSearchFieldList"
-                  :highlight-current-row="true"
-                  style="width: 100%"
-                  @row-click="searchLeftRowClick">
-                  <el-table-column
-                    align="center"
-                    label="鍙緵鎼滅储瀛楁"
-                    prop="id">
-                  </el-table-column>
-                </el-table>
-              </div>
-              <div style="margin-left: 10px; margin-right: 10px">
-                <el-button circle icon="el-icon-back" style="margin-right: 10px"
-                           @click="searchLeftTransferClick"></el-button>
-                <el-button circle icon="el-icon-right" @click="searchRightTransferClick"></el-button>
-              </div>
-              <div style="height: 260px; width: 160px; border: 1px solid #bdbbbb;overflow-y: auto">
-                <el-table
-                  :data="form.itemKeyFieldList"
-                  :highlight-current-row="true"
-                  style="width: 100%"
-                  @row-click="searchRightRowClick">
-                  <el-table-column
-                    align="center"
-                    label="闇�鎼滅储瀛楁"
-                    prop="id">
-                  </el-table-column>
-                </el-table>
-              </div>
-            </div>
-          </el-form-item>
-        </el-col>
-
-        <el-col :span="12">
-          <el-form-item label="鍒�">
-            <el-select v-model="form.itemFileWidthSelect" placeholder="璇烽�夋嫨鍒�" size="mini" @change="itemFileWidthChange">
-              <el-option v-for="(item,index) in form.itemFieldWidthList" :key="index" :label="item.key"
-                         :value="item.key"></el-option>
+        <el-col :span="24">
+          <el-form-item label="鏄剧ず瀛楁" prop="showLabel">
+            <el-select v-model="form.itemOutFieldList" multiple placeholder="璇烽�夋嫨" style="width: 100%"
+                       @change="outFileChange">
+              <el-option
+                v-for="(item,index) in form.itemSelectOutFieldList"
+                :key="index"
+                :label="item.id"
+                :value="item.id">
+              </el-option>
             </el-select>
           </el-form-item>
         </el-col>
 
-        <el-col :span="12">
-          <el-form-item label="瀹藉害">
-            <div style="display: flex;align-items: center;">
-              <el-input v-model="form.itemWidth" placeholder="璇疯緭鍏ュ搴�" size="mini" style="width: 193px"
-                        type="number"></el-input>
-              <el-button plain size="mini" style="margin-left: 3px" type="success" @click="widthSetUpClickHandler">璁剧疆
-              </el-button>
-            </div>
+        <el-col :span="24">
+          <el-form-item label="鎼滅储瀛楁">
+            <el-select v-model="form.itemKeyFieldList" multiple placeholder="璇烽�夋嫨" style="width: 100%">
+              <el-option
+                v-for="(item,index) in form.itemSearchFieldList"
+                :key="index"
+                :label="item.id"
+                :value="item.id">
+              </el-option>
+            </el-select>
           </el-form-item>
         </el-col>
+
       </el-row>
 
       <el-col :span="24">
         <el-form-item label="璁剧疆鍒楀">
-          <div style="height: 150px; width: 100%; border: 1px solid #bdbbbb;overflow-y: auto">
-            <el-table
-              :data="form.itemFieldWidthList"
-              :highlight-current-row="true"
-              border
-              stripe
-              style="width: 100%"
-              @row-click="itemFileWidthRowClick">
-              <el-table-column
-                align="center"
-                label="鍒楀悕"
-                prop="key">
-                <template slot-scope="scope">
-                  <el-tag size="medium">{{ scope.row.key }}</el-tag>
-                </template>
-              </el-table-column>
-              <el-table-column
-                align="center"
-                label="鍒楀"
-                prop="value">
-                <template slot-scope="scope">
-                  <el-tag size="medium">{{ scope.row.value }}</el-tag>
-                </template>
-              </el-table-column>
-            </el-table>
-          </div>
+          <avue-crud
+            :data="form.itemFieldWidthList"
+            :option="fileWidthOption">
+          </avue-crud>
+
         </el-form-item>
       </el-col>
 
@@ -295,29 +206,6 @@
          <el-button @click="closeDialog">鍙� 娑�</el-button>
          <el-button type="primary" @click="dialogSaveClickHandler">纭� 瀹�</el-button>
     </span>
-
-    <el-dialog
-      v-dialogDrag
-      v-loading="selectFormLoading"
-      :visible.sync="selectFormVisible"
-      append-to-body="true"
-      class="avue-dialog"
-      title="琛ㄥ崟閫夋嫨"
-      width="50%">
-      <avue-crud
-        ref="crud"
-        :data="selectFormData"
-        :option="selectFormOption"
-        @selection-change="selectionChange"
-        @row-click="rowClick">
-
-      </avue-crud>
-
-      <span slot="footer" class="dialog-footer">
-         <el-button @click="selectFormVisible = false">鍙� 娑�</el-button>
-         <el-button type="primary" @click="selectFormAddClickHandler">纭� 瀹�</el-button>
-    </span>
-    </el-dialog>
   </el-dialog>
 
 </template>
@@ -345,6 +233,35 @@
   },
   data() {
     return {
+      fileWidthOption: {
+        ...basicOption,
+        addBtn: false,
+        editBtn: false,
+        delBtn: false,
+        refreshBtn: false,
+        highlightCurrentRow: true,
+        height: 200,
+        menu: false,
+        selection: false,
+        column: [
+          {
+            label: '鍒楀悕',
+            prop: 'key',
+          },
+          {
+            label: '鍒楀',
+            prop: 'value',
+            cell: true,
+            rules: [
+              {
+                required: true,
+                message: '璇疯緭鍏ュ垪瀹�',
+                trigger: 'blur'
+              }
+            ]
+          }
+        ]
+      },
       searchQtNameList: [],
       formLoading: false,
       itemImgHeight: '',
@@ -376,7 +293,23 @@
       selectFormData: [],
       selectFormLoading: false,
       selectFormVisible: false,
-      rules: {},
+      rules: {
+        viName: [{
+          required: true,
+          message: '璇疯緭鍏ュ悕绉�',
+          trigger: 'blur'
+        }],
+        itemInObj: [{
+          required: true,
+          message: '璇烽�夋嫨缁戝畾琛ㄥ崟',
+          trigger: 'change'
+        }],
+        showLabel: [{
+          required: true,
+          message: '璇烽�夋嫨鏄剧ず瀛楁',
+          trigger: 'submit'
+        }],
+      },
       form: {
         viName: '', // 鍚嶇О
         itemPageSize: '', // 姣忛〉鍙樉绀鸿鏁�
@@ -391,7 +324,6 @@
         itemKeyFieldList: [], // 闇�瑕佹悳绱㈠瓧娈�
         itemWidth: '250', // 瀹藉害
         itemFieldWidthList: [], // 璁剧疆鍒楀鏁扮粍 涓� itemOutFieldList 鐩稿尮閰�
-        itemFileWidthSelect: '', // 鍒椾笅鎷夋
         searchLabel: '', // 鏌ヨ瀛楁
         searchNumber: '1', // 鏌ヨ娆℃暟
         searchSql: '', // 鏌ヨsql
@@ -416,7 +348,6 @@
         itemKeyFieldList: [], // 闇�瑕佹悳绱㈠瓧娈�
         itemWidth: '250', // 瀹藉害
         itemFieldWidthList: [], // 璁剧疆鍒楀鏁扮粍 涓� itemOutFieldList 鐩稿尮閰�
-        itemFileWidthSelect: '', // 鍒椾笅鎷夋
         searchLabel: '', // 鏌ヨ瀛楁
         searchNumber: '1', // 鏌ヨ娆℃暟
         searchSql: '', // 鏌ヨsql
@@ -440,33 +371,6 @@
     }
   },
   methods: {
-    // 鍏抽棴瀵硅瘽妗�
-    closeDialog() {
-      this.visible = false;
-      this.form = {...this.defaultForm};
-    },
-
-    // 閫夋嫨琛ㄥ崟鍏抽棴瀵硅瘽妗�
-    closeSelectFormDialog() {
-
-    },
-
-    // 閫夋嫨缁戝畾琛ㄥ崟
-    formSelectClickHandler() {
-      this.selectFormVisible = true;
-      const params = {
-        'conditionMap[typeName]': this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name,
-        'conditionMap[viType]': 'Form',
-        'conditionMap[viTypeFlag]': this.treeRadio === '0' ? 'BtmType' : this.treeRadio === '1' ? 'LinkType' : '',
-      }
-      gridPortalVIDatas(1, -1, params).then(res => {
-        if (res.data.code === 200) {
-          const data = res.data.data;
-          this.selectFormData = data;
-        }
-      });
-    },
-
     // 鑾峰彇鍒濆鍖栬〃鏍奸噷闇�瑕佺殑榛樿鏁版嵁
     getFormSelectList() {
       this.formLoading = true;
@@ -502,53 +406,45 @@
           const list = data.filter(item =>
             !this.form.itemOutFieldList.some(outItem => outItem.id === item.id)
           );
-          this.getSearchSelectList();
+          this.getSearchSelectList(); // 閫夋嫨琛ㄥ崟涓嬫媺鎺ュ彛
+          this.getFormSelect(); // 鏌ヨ妯℃澘涓嬫媺鎺ュ彛
+          this.getDbList(); // 鍙屽嚮鎿嶄綔涓嬫媺鎺ュ彛
           this.$set(this.form, 'itemSelectOutFieldList', list);
           this.formLoading = false;
         }
       })
     },
-
-    // 鏌ヨ妯℃澘涓嬫媺鎺ュ彛鏌ヨ
-    getSearchSelectList() {
-      getObjTypeQTs({btName: this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name}).then(res => {
-        this.searchQtNameList = res.data.data;
-      })
+    // 鍏抽棴瀵硅瘽妗�
+    closeDialog() {
+      this.visible = false;
+      this.$refs.form.clearValidate();
+      this.form = {...this.defaultForm};
     },
 
-    // 琛ㄦ牸澶氶��
-    selectionChange(list) {
-      this.selectList = list;
-    },
-
-    // 琛岀偣鍑�
-    rowClick(row) {
-      func.rowClickHandler(
-        row,
-        this.$refs.crud,
-        this.lastIndex,
-        (newIndex) => {
-          this.lastIndex = newIndex;
-        },
-        () => {
-          this.selectList = [];
-        }
-      );
-    },
-
-    // 琛ㄥ崟閫夋嫨纭畾
-    selectFormAddClickHandler() {
-      if (this.selectList.length <= 0) {
-        this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�');
-        return;
-      }
-
-      if (this.selectList.length > 1) {
-        this.$message.error('鍙兘閫夋嫨涓�鏉℃暟鎹�');
-        return;
-      }
+    // 鑾峰彇閫夋嫨琛ㄥ崟鏁版嵁
+    getFormSelect() {
       const params = {
-        id: this.selectList[0].id,
+        'conditionMap[typeName]': this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name,
+        'conditionMap[viType]': 'Form',
+        'conditionMap[viTypeFlag]': this.treeRadio === '0' ? 'BtmType' : this.treeRadio === '1' ? 'LinkType' : '',
+      }
+      gridPortalVIDatas(1, -1, params).then(res => {
+        if (res.data.code === 200) {
+          const data = res.data.data;
+          this.selectList = data;
+        }
+      });
+    },
+
+    // 琛ㄥ崟閫夋嫨change浜嬩欢
+    formSelectChange(val) {
+      // console.log(val);
+      this.form.itemOutFieldList = [];
+      this.form.itemKeyFieldList = [];
+      this.form.itemFieldWidthList = [];
+
+      const params = {
+        id: val,
         viType: '1'
       }
       getPortalVIById(params).then(res => {
@@ -559,120 +455,32 @@
             }
           });
           this.form.itemSelectOutFieldList = data;
-          this.selectFormVisible = false;
         }
       })
-      this.form.itemInObj = this.selectList[0].id;
     },
 
-    // 鏄剧ず瀛楁宸︿晶琛ㄦ牸琛岀偣鍑�
-    showLabelLeftRowClick(row) {
-      this.showLabelLeftRow = row;
+    // 鏄剧ず瀛楁change
+    outFileChange(val) {
+      this.form.itemSearchFieldList = this.form.itemOutFieldList.map(item => {
+        return {
+          id: item
+        }
+      })
+      this.form.itemFieldWidthList = this.form.itemOutFieldList.map(item => {
+        return {
+          $cellEdit: true,
+          key: item,
+          value: '250',
+
+        }
+      })
     },
 
-    // 鏄剧ず瀛楁鍙充晶琛ㄦ牸琛岀偣鍑�
-    showLabelRightRowClick(row) {
-      this.showLabelRightRow = row;
-    },
-
-    // 鎼滅储瀛楁宸︿晶琛ㄦ牸琛岀偣鍑�
-    searchLeftRowClick(row) {
-      this.searchLeftRow = row;
-    },
-
-    // 鎼滅储瀛楁鍙充晶琛ㄦ牸琛岀偣鍑�
-    searchRightRowClick(row) {
-      this.searchRightRow = row;
-    },
-
-    // 鏄剧ず瀛楁绌挎妗嗗乏绉�
-    showLeftTransferClick() {
-      if (func.isEmptyObject(this.showLabelRightRow)) {
-        this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�');
-        return;
-      }
-      this.form.itemSelectOutFieldList.unshift(this.showLabelRightRow);
-      this.form.itemOutFieldList = this.form.itemOutFieldList.filter(item => item.id !== this.showLabelRightRow.id);
-      this.form.itemSearchFieldList = this.form.itemOutFieldList;
-      this.form.itemFieldWidthList = this.form.itemFieldWidthList.filter(item => item.key !== this.showLabelRightRow.id);
-      this.form.itemFileWidthSelect = this.form.itemFieldWidthList.length >= 1 ? this.form.itemFieldWidthList[0].key : '';
-      this.showLabelRightRow = {};
-    },
-
-    // 鏄剧ず瀛楁绌挎妗嗗彸绉�
-    showRightTransferClick() {
-      if (func.isEmptyObject(this.showLabelLeftRow)) {
-        this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�');
-        return;
-      }
-
-
-      const onlyFlag = this.form.itemOutFieldList.some(item => item.id === this.showLabelLeftRow.id);
-
-      if (onlyFlag) {
-        this.$message.error('璇锋鏌ユ槸鍚︽湁閲嶅椤�');
-        this.form.itemSelectOutFieldList = this.form.itemSelectOutFieldList.filter(selectItem =>
-          !this.form.itemOutFieldList.some(outItem => outItem.id === selectItem.id)
-      )
-        return;
-      }
-
-      this.form.itemOutFieldList.push(this.showLabelLeftRow);
-      this.form.itemSearchFieldList = this.form.itemOutFieldList;
-
-      // 杩囨护 itemSelectOutFieldList锛岀Щ闄� id 涓� showLabelLeftRow.id 鐩稿悓鐨勫璞�
-      this.form.itemSelectOutFieldList = this.form.itemSelectOutFieldList.filter(item => item.id !== this.showLabelLeftRow.id);
-      this.form.itemFieldWidthList.push({
-        key: this.showLabelLeftRow.id,
-        value: this.form.itemWidth
-      });
-      this.form.itemFileWidthSelect = this.form.itemFieldWidthList[0].key;
-      this.showLabelLeftRow = {};
-
-    },
-
-    // 鎼滅储瀛楁绌挎妗嗗乏绉�
-    searchLeftTransferClick() {
-      if (func.isEmptyObject(this.searchRightRow)) {
-        this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�');
-        return;
-      }
-      this.form.itemSearchFieldList.unshift(this.searchRightRow);
-      this.form.itemKeyFieldList = this.form.itemKeyFieldList.filter(item => item.id !== this.searchRightRow.id)
-      this.searchRightRow = {};
-    },
-
-    // 鎼滅储鑷姩绌挎妗嗗彸绉�
-    searchRightTransferClick() {
-      if (func.isEmptyObject(this.searchLeftRow)) {
-        this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�');
-        return;
-      }
-
-      this.form.itemKeyFieldList.push(this.searchLeftRow);
-
-      this.form.itemSearchFieldList = this.form.itemSearchFieldList.filter(item => item.id !== this.searchLeftRow.id);
-      this.searchLeftRow = {};
-    },
-
-    // 璁剧疆鍒楀琛岀偣鍑�
-    itemFileWidthRowClick(row) {
-      this.itemFileWidthRow = row;
-      this.form.itemFileWidthSelect = row.key;
-      this.form.itemWidth = row.value;
-    },
-
-    // 鍒椾笅鎷塩hange
-    itemFileWidthChange(val) {
-      this.itemFileWidthChangeVal = val;
-    },
-
-    // 璁剧疆瀹藉害
-    widthSetUpClickHandler() {
-      if (this.form.itemFileWidthSelect) {
-        const item = this.form.itemFieldWidthList.find(item => item.key === this.form.itemFileWidthSelect);
-        item.value = this.form.itemWidth;
-      }
+    // 鏌ヨ妯℃澘涓嬫媺鎺ュ彛鏌ヨ
+    getSearchSelectList() {
+      getObjTypeQTs({btName: this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name}).then(res => {
+        this.searchQtNameList = res.data.data;
+      })
     },
 
     // 鑾峰彇鍙屽嚮鎿嶄綔鏁版嵁
@@ -715,36 +523,43 @@
 
     // 琛ㄦ牸瀵硅瘽妗嗕繚瀛�
     dialogSaveClickHandler() {
-      const paramsForm = {...this.form};
-      paramsForm.itemSelectOutFieldList = this.form.itemSelectOutFieldList.map(item => item.id); // 鍙娇鐢ㄥ瓧娈�
-      paramsForm.itemOutFieldList = this.form.itemOutFieldList.map(item => item.id); // 闇�瑕佷娇鐢ㄥ瓧娈�
-      paramsForm.itemSearchFieldList = this.form.itemSearchFieldList.map(item => item.id); // 鍙緵鎼滅储瀛楁
-      paramsForm.itemKeyFieldList = this.form.itemKeyFieldList.map(item => item.id); // 闇�瑕佷娇鐢ㄥ瓧娈�
-      paramsForm.itemImgWH = `${this.itemImgWidth},${this.itemImgHeight}`;
-      const params = {
-        id: this.form.editNodeId,
-        prm: {
-          formQtName: '',
-          prmItemList: [
-            paramsForm
-          ],
-        },
-        typeFlag: this.treeRadio,
-        typeFlagText: this.treeRadio === '0' ? "涓氬姟绫诲瀷鐨勮〃鍗�" : '閾炬帴绫诲瀷鐨勮〃鍗�',
-        typeName: this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name, // 涓氬姟绫诲瀷鍚� or 閾炬帴绫诲瀷鍚�
-        viName: this.form.viName,
-        viType: 0,
-        viTypeText: "琛ㄦ牸"
-      }
-      savePortalVI(params).then(res => {
-        // console.log(params);
-        if (res.data.code === 200) {
-          this.$message.success(res.data.obj);
-          // this.closeDialog();
-          this.$emit('updataTable');
-          this.visible = false;
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          const paramsForm = {...this.form};
+          paramsForm.itemSelectOutFieldList = this.form.itemSelectOutFieldList.map(item => item.id); // 鍙娇鐢ㄥ瓧娈�
+          paramsForm.itemOutFieldList = this.form.itemOutFieldList; // 闇�瑕佷娇鐢ㄥ瓧娈�
+          paramsForm.itemSearchFieldList = this.form.itemSearchFieldList.map(item => item.id); // 鍙緵鎼滅储瀛楁
+          paramsForm.itemKeyFieldList = this.form.itemKeyFieldList; // 闇�瑕佷娇鐢ㄥ瓧娈�
+          paramsForm.itemImgWH = `${this.itemImgWidth},${this.itemImgHeight}`;
+          const params = {
+            id: this.form.editNodeId,
+            prm: {
+              formQtName: '',
+              prmItemList: [
+                paramsForm
+              ],
+            },
+            typeFlag: this.treeRadio,
+            typeFlagText: this.treeRadio === '0' ? "涓氬姟绫诲瀷鐨勮〃鍗�" : '閾炬帴绫诲瀷鐨勮〃鍗�',
+            typeName: this.treeRadio === '0' ? this.TreeNodeRow.id : this.TreeNodeRow.name, // 涓氬姟绫诲瀷鍚� or 閾炬帴绫诲瀷鍚�
+            viName: this.form.viName,
+            viType: 0,
+            viTypeText: "琛ㄦ牸"
+          }
+          savePortalVI(params).then(res => {
+            // console.log(params);
+            if (res.data.code === 200) {
+              this.$message.success(res.data.obj);
+              // this.closeDialog();
+              this.$emit('updataTable');
+              // this.$refs.form.clearValidate();
+              this.visible = false;
+            }
+          })
+        } else {
+          return false;
         }
-      })
+      });
     }
   }
 }
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue
index e1b47da..9165813 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue
@@ -204,8 +204,9 @@
         this.$refs.formDialog.getTreeList();
       } else {
         this.$refs.tableDialog.visible = true;
-        this.$refs.tableDialog.getDbList();
-        this.$refs.tableDialog.getSearchSelectList();
+        this.$refs.tableDialog.getDbList(); // 鍙屽嚮鎿嶄綔涓嬫媺鎺ュ彛
+        this.$refs.tableDialog.getSearchSelectList(); // 閫夋嫨琛ㄥ崟涓嬫媺鎺ュ彛
+        this.$refs.tableDialog.getFormSelect(); // 鏌ヨ妯℃澘涓嬫媺鎺ュ彛
       }
     },
 
@@ -329,14 +330,18 @@
             // 鏇存柊琛ㄥ崟
             this.$refs.tableDialog.form = {
               ...prmItem,
+              itemFieldWidthList:prmItem.itemFieldWidthList.map(item => {
+                return{
+                  ...item,
+                  $cellEdit: true,
+                }
+              }),
               viName: res.data.obj.viName,
               editNodeId: row.id,
-              itemOutFieldList: (prmItem.itemOutFieldList || []).map(item => ({id: item})),
+              itemOutFieldList: (prmItem.itemOutFieldList || []),
               itemSearchFieldList: (prmItem.itemSearchFieldList || []).map(item => ({id: item})),
-              itemKeyFieldList: (prmItem.itemKeyFieldList || []).map(item => ({id: item})),
-              searchLabel: prmItem.itemSeniorQueryCols || '',
-              searchNumber: prmItem.itemSeniorQueryColsCounts || '1',
-              searchSql: prmItem.itemQuerySql || '',
+              itemKeyFieldList: (prmItem.itemKeyFieldList || []),
+              searchNumber: '1',
               itemFileWidthSelect: (prmItem.itemFieldWidthList && prmItem.itemFieldWidthList.length > 0) ? prmItem.itemFieldWidthList[0].key : '',
               itemWidth: (prmItem.itemFieldWidthList && prmItem.itemFieldWidthList.length > 0) ? prmItem.itemFieldWidthList[0].value : '250'
             };
@@ -345,9 +350,6 @@
             const [width = '0', height = '0'] = (prmItem.itemImgWH || '0,0').split(',');
             this.$refs.tableDialog.itemImgWidth = width;
             this.$refs.tableDialog.itemImgHeight = height;
-
-            // 鍙屽嚮鎿嶄綔鑾峰彇鏁版嵁鏂规硶
-            this.$refs.tableDialog.getDbList();
 
             // 鏄剧ず瀵硅瘽妗�
             this.$refs.tableDialog.visible = true;
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue
index 00148aa..f4af7ad 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue
@@ -996,6 +996,7 @@
         this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�');
         return;
       }
+      console.log(this.selectList);
       this.btnDesignVisible = true;
       this.formBtnOid = this.selectList[0].id;
       this.getTabBtnTree();
@@ -1121,7 +1122,8 @@
       const params = this.saveType === 'add' ? {
         ...this.basicForm,
         parentId: this.nodeTreeRow.oId === 'parentNode' ? '' : this.nodeTreeRow.parentId,
-        buttonParams: bottomParams
+        buttonParams: bottomParams,
+        tableOId:this.selectList[0].id
       } : {
         ...this.basicForm,
         buttonParams: bottomParams

--
Gitblit v1.9.3