From e405b861b9521f5ea38c5402203a5b05988f9de2 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 04 十二月 2024 10:47:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue |   84 ++++++++++++++++++++++++++----------------
 1 files changed, 52 insertions(+), 32 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue
index 16908cd..ffeb762 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue
@@ -76,29 +76,28 @@
                                    type="primary"></el-button>
                       </div>
                       <el-input
-                          v-if="item.itemType === 'textarea' || item.itemType === 'richtext' || item.itemType === 'webeditor'"
-                          v-model="item.value"
-                          :placeholder="item.text">
+                        v-if="item.itemType === 'textarea' || item.itemType === 'richtext' || item.itemType === 'webeditor'"
+                        v-model="item.value"
+                        :placeholder="item.text">
                       </el-input>
-                      <el-input-number size="mini" v-if="item.itemType === 'number'" v-model="item.value" :max="99999"
-                                       :min="1"></el-input-number>
+                      <el-input-number v-if="item.itemType === 'number'" v-model="item.value" :max="99999" :min="1"
+                                       size="mini"></el-input-number>
                       <el-input v-if="item.itemType === 'password'" v-model="input" placeholder="璇疯緭鍏ュ瘑鐮�"
                                 show-password></el-input>
                       <el-radio v-if="item.itemType === 'radio'" v-model="item.value"></el-radio>
                       <el-checkbox v-if="item.itemType === 'checkbox'" v-model="item.value"></el-checkbox>
-                      <el-select  v-if="item.itemType === 'select' || item.itemType === 'multiselect'"
+                      <el-select v-if="item.itemType === 'select' || item.itemType === 'multiselect'"
                                  v-model="item.value" :disabled="false" placeholder="璇烽�夋嫨" size="mini">
                       </el-select>
                       <el-date-picker
-                        class="formItemMargin"
                         v-if="item.itemType === 'date' || item.itemType === 'datetime'"
                         v-model="item.value"
                         :placeholder="item.itemType === 'date' ? '璇烽�夋嫨鏃ユ湡' : '璇烽�夋嫨鏃ユ湡鏃堕棿'"
+                        class="formItemMargin"
                         type="date">
                       </el-date-picker>
 
                       <el-time-select
-                        class="formItemMargin"
                         v-if="item.itemType === 'time'"
                         v-model="item.value"
                         :picker-options="{
@@ -106,6 +105,7 @@
                          step: '00:15',
                          end: '18:30'
                          }"
+                        class="formItemMargin"
                         placeholder="閫夋嫨鏃堕棿">
                       </el-time-select>
                       <el-button v-if="item.itemType === 'file'"
@@ -147,9 +147,13 @@
                     <el-form-item label="浣跨敤瀛楁">
                       <div style="display: flex;align-items: center">
                         <el-input v-model="form.text" :readonly="true" placeholder="璇疯緭鍏ヤ娇鐢ㄥ瓧娈�" size="mini"></el-input>
-                        <el-checkbox v-model="form.itemIsEditable" true-label="1" false-label="0" style="margin-left: 5px; margin-right: 5px">鍙
+                        <el-checkbox v-model="form.itemIsEditable" false-label="0"
+                                     style="margin-left: 5px; margin-right: 5px"
+                                     true-label="1">鍙
                         </el-checkbox>
-                        <el-checkbox v-model="form.itemIsRequired" true-label="1" false-label="0" style="margin-left: 5px;margin-right: 0px">蹇呭~
+                        <el-checkbox v-model="form.itemIsRequired" false-label="0"
+                                     style="margin-left: 5px;margin-right: 0px"
+                                     true-label="1">蹇呭~
                         </el-checkbox>
                       </div>
                     </el-form-item>
@@ -609,7 +613,8 @@
                   :show-header="false"
                   border
                   stripe
-                  style="width: 100%">
+                  style="width: 100%"
+                  @row-click="customOptionTableClick">
                   <el-table-column
                     align="center"
                     label="鍚嶇О"
@@ -632,7 +637,9 @@
                 <el-button plain size="mini" style="margin-right: 5px" type="success"
                            @click="optionAddClickHandler('dialog')">娣诲姞
                 </el-button>
-                <el-button plain size="mini" style="margin-left: 5px" type="danger">鍒犻櫎</el-button>
+                <el-button plain size="mini" style="margin-left: 5px" type="danger"
+                           @click="optionDeleteClickHandler('dialog')">鍒犻櫎
+                </el-button>
               </div>
             </el-form-item>
           </el-col>
@@ -731,8 +738,8 @@
                   :placeholder="item.text">
                 </el-input>
 
-                <el-input-number size="mini" v-if="item.itemType === 'number'" v-model="item.value" :max="99999"
-                                 :min="1"></el-input-number>
+                <el-input-number v-if="item.itemType === 'number'" v-model="item.value" :max="99999" :min="1"
+                                 size="mini"></el-input-number>
                 <el-input v-if="item.itemType === 'password'" v-model="input" placeholder="璇疯緭鍏ュ瘑鐮�"
                           show-password></el-input>
                 <el-radio v-if="item.itemType === 'radio'" v-model="item.value"></el-radio>
@@ -806,10 +813,9 @@
 
 <script>
 import {getObjTypeQTs, getTreeAttributes, savePortalVI, refPersonOrgTree} from "@/api/UI/formDefine/api";
+import {gridAttribute} from "@/api/modeling/attributePool/api";
 import func from "@/util/func";
 import basicOption from "@/util/basic-option";
-import {gridAttribute} from "@/api/modeling/attributePool/api";
-import {getSysModelTreeMenuByPID} from "@/api/systemModel/mangeModel/api";
 
 export default {
   name: "formDialog",
@@ -1047,7 +1053,11 @@
           children: 'children',
         },
       },
-      treeData: []
+      treeData: [],
+      optionRow: {},
+      customOptionRow: {},
+      optionCurrentIndex: 0,
+      customOptionCurrentIndex: 0
     }
   },
   computed: {
@@ -1113,9 +1123,10 @@
         oid: data.oid,
         itemType: 'text',
         itemName: data.data.name,
-        itemCols :"1"
+        itemCols: "1",
+        itemIsEditable: "0",
+        itemIsRequired: "0",
       }
-      console.log(data);
       const isDuplicate = this.formList.some(item => item.text === data.text);
 
       if (isDuplicate) {
@@ -1130,11 +1141,8 @@
       this.activeItem = item;
       this.activeItemIndex = index;
       this.form = {...item};
-      // this.form.itemCols = "1";
-      console.log(item);
-
-      // console.log(item,index);
       this.topForm.position = index += 1;
+      // this.$forceUpdate();
     },
 
     // 璁剧疆鏄剧ず琛屾暟
@@ -1202,7 +1210,7 @@
         this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹繘琛屽垹闄�');
         return;
       }
-      this.formList = this.formList.filter(item => item.text != this.activeItem.text);
+      this.formList = this.formList.filter(item => item.text !== this.activeItem.text);
       this.activeItem = {};
       this.form = {};
     },
@@ -1236,7 +1244,12 @@
 
     // 閫夐」琛ㄦ牸琛岀偣鍑�
     optionTableClick(row) {
+      this.optionRow = row;
       console.log(row);
+    },
+
+    customOptionTableClick(row) {
+      this.customOptionRow = row;
     },
 
     // 閫夐」娣诲姞
@@ -1267,15 +1280,21 @@
 
       const params = {
         key: optionObj.optionName,
-        value: optionObj.optionValue
+        value: optionObj.optionValue,
+        index: val === 'dialog' ? this.customOptionCurrentIndex++ : this.optionCurrentIndex++
       };
 
       itemKeyValueList.push(params);
     },
 
     // 閫夐」鍒犻櫎
-    optionDeleteClickHandler() {
-
+    optionDeleteClickHandler(val) {
+      // console.log(this.optionRow);
+      if (val === 'dialog') {
+        this.customForm.itemKeyValueList.splice(this.customOptionRow.index,1);
+      } else {
+        this.form.itemKeyValueList.splice(this.optionRow.index,1);
+      }
     },
 
     // 娣诲姞鑷畾涔夌粍浠�
@@ -1332,9 +1351,7 @@
       }
       if (!this.form.text) {
         this.$message.error('璇峰湪鍙充晶閫夋嫨鏁版嵁鍚庤繘琛屾搷浣滐紒');
-        return;
       }
-
     },
 
     // 鑷畾涔夌粍浠朵慨鏀规樉绀虹被鍨�
@@ -1421,9 +1438,12 @@
         this.$message.error('璇锋坊鍔犱竴鏉℃暟鎹繘琛屼繚瀛橈紒');
         return;
       }
+
+
       this.formList = this.formList.map(item =>
         item.text === this.form.text ? this.form : item
       );
+      console.log(this.formList);
 
       this.$message.success('搴旂敤鎴愬姛');
     },
@@ -1529,8 +1549,8 @@
   font-size: 14px
 }
 
-.formItemMargin{
-  margin: 10px 0 10px 0;
-}
+//.formItemMargin {
+//  margin: 10px 0 10px 0;
+//}
 
 </style>

--
Gitblit v1.9.3