From 32f432d51702fb8d7048beb96b5dc3b464007c1a Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 19 十一月 2024 16:20:52 +0800
Subject: [PATCH] 管理功能模块&&业务功能模块处理路径显示以及节点显示隐藏问题&&表单定义只读必填切换项显示重复问题

---
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/components/formDialog.vue |   50 +++++++++-------
 Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue                  |   37 ++++++++----
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue                   |   11 ++-
 Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue                     |   47 ++++++++++-----
 4 files changed, 89 insertions(+), 56 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..26cf5bf 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>
@@ -731,8 +735,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 +810,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",
@@ -1113,7 +1116,9 @@
         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);
@@ -1130,11 +1135,9 @@
       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();
+      console.log(this.form);
     },
 
     // 璁剧疆鏄剧ず琛屾暟
@@ -1202,7 +1205,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 = {};
     },
@@ -1332,9 +1335,7 @@
       }
       if (!this.form.text) {
         this.$message.error('璇峰湪鍙充晶閫夋嫨鏁版嵁鍚庤繘琛屾搷浣滐紒');
-        return;
       }
-
     },
 
     // 鑷畾涔夌粍浠朵慨鏀规樉绀虹被鍨�
@@ -1421,9 +1422,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,7 +1533,7 @@
   font-size: 14px
 }
 
-.formItemMargin{
+.formItemMargin {
   margin: 10px 0 10px 0;
 }
 
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue
index 3f3e282..2938f67 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue
@@ -1,11 +1,11 @@
 <template>
   <el-container>
     <el-aside>
-      <basic-container>
+      <basic-container >
         <div ref="TreeBox" style="height: calc(100vh - 154px);!important;">
           <!-- 宸︿晶鏍�         -->
           <div style="height:  calc(100vh - 190px);">
-            <avue-tree :data="treeData" :option="treeOption" @node-click="nodeClick">
+            <avue-tree v-loading="loading" :data="treeData" :option="treeOption" @node-click="nodeClick">
               <span slot-scope="{ node, data }" class="el-tree-node__label">
                <span style="font-size: 15px">
                   <i class="el-icon-s-promotion"></i>
@@ -170,6 +170,7 @@
   components: {plShow, uiAuthor},
   data() {
     return {
+      loading:false,
       dialog: {
         showDialog: false,
         title: "涓婁笅鏂囪鎯�",
@@ -363,7 +364,7 @@
   methods: {
     //鏍戣〃鏌ヨ
     getTreeList() {
-      const loading = this.$loading({});
+      this.loading = true;
       getBizTree().then(res => {
         this.treeData = [res.data.obj];
         const dicData = res.data.obj.children.map(item => {
@@ -377,9 +378,9 @@
           disabled: true,
           children: dicData
         }];
-        loading.close();
+        this.loading = false;
       }).catch(error => {
-        loading.close();
+        this.loading = false;
       })
     },
     // 鏍戠偣鍑�
diff --git a/Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue b/Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue
index 41a1cf5..4a8598a 100644
--- a/Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue
@@ -74,27 +74,40 @@
           <el-form-item label="妯″潡鍒悕锛�">
             <el-input v-model="form.alias" :disabled="!editStatus && !addStatus" placeholder="妯″潡鍒悕鐢ㄦ潵璁板綍鏃ュ織浣跨敤"></el-input>
           </el-form-item>
-                <el-form-item label="C/S锛�">
-            <el-input v-model="form.pathC" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏/S璺緞" type="textarea"></el-input>
+                <el-form-item v-if="form.functionType === 0" label="C/S锛�">
+            <el-input v-model="form.pathC" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏/S璺緞"
+                      type="textarea"></el-input>
           </el-form-item>
-          <el-form-item label="B/S锛�">
-            <el-input v-model="form.path" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏/S璺緞" type="textarea"></el-input>
+          <el-form-item v-if="form.functionType === 0" label="B/S锛�">
+            <el-input v-model="form.path" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏/S璺緞"
+                      type="textarea"></el-input>
           </el-form-item>
-          <el-form-item label=".NET锛�">
-            <el-input v-model="form.resourceDotNet" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏�.NET" type="textarea"></el-input>
-          </el-form-item>
-          <el-form-item label="Mobile锛�">
-            <el-input v-model="form.resourceMobile" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏obile" type="textarea"></el-input>
+          <el-form-item v-if="form.functionType === 0" label=".NET锛�">
+            <el-input v-model="form.resourceDotNet" :disabled="!editStatus && !addStatus" :rows="2"
+                      placeholder="璇疯緭鍏�.NET" type="textarea"></el-input>
           </el-form-item>
           <el-form-item label="搴忓彿锛�">
-            <el-input v-model="form.sort" :disabled="!editStatus && !addStatus" placeholder="鏁板瓧锛屾弿杩拌妯″潡鍦ㄥ叾鐖舵ā鍧椾笅鐨勬樉绀洪『搴�"></el-input>
+            <el-input v-model="form.sort" :disabled="!editStatus && !addStatus"
+                      placeholder="鏁板瓧锛屾弿杩拌妯″潡鍦ㄥ叾鐖舵ā鍧椾笅鐨勬樉绀洪『搴�"></el-input>
           </el-form-item>
           <el-form-item label="鍥炬爣锛�">
-              <avue-input-icon v-model="form.source" :disabled="!editStatus && !addStatus" :icon-list="iconList" placeholder="璇烽�夋嫨鍥炬爣">
+              <avue-input-icon v-model="form.source" :disabled="!editStatus && !addStatus" :icon-list="iconList"
+                               placeholder="璇烽�夋嫨鍥炬爣">
               </avue-input-icon>
           </el-form-item>
           <el-form-item label="鎻忚堪锛�">
-            <el-input v-model="form.remark" :disabled="!editStatus && !addStatus" :rows="3" placeholder="璇疯緭鍏ユ弿杩�" type="textarea"></el-input>
+            <el-input v-model="form.remark" :disabled="!editStatus && !addStatus" :rows="3" placeholder="璇疯緭鍏ユ弿杩�"
+                      type="textarea"></el-input>
+          </el-form-item>
+            <el-form-item label="鏄惁鑿滃崟锛�">
+            <el-switch
+              v-model="form.functionType"
+              :active-value="0"
+              :disabled="!editStatus && !addStatus"
+              :inactive-value="1"
+              active-color="#13ce66"
+              inactive-color="#ff4949">
+            </el-switch>
           </el-form-item>
           <el-form-item label="鏄惁鏈夋晥锛�">
             <el-switch
diff --git a/Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue b/Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue
index b097807..6806f68 100644
--- a/Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue
@@ -18,8 +18,10 @@
 
     <el-main>
       <basic-container>
-        <div v-if="(form.childType || form.childType === 0) && !addStatus && !editStatus && form.category !== 1" class="btnBox">
-          <el-button :disabled="(mangeShowBtn || form.childType === 0) ? false : !childTypeBtn" icon="el-icon-plus" plain
+        <div v-if="(form.childType || form.childType === 0) && !addStatus && !editStatus && form.category !== 1"
+             class="btnBox">
+          <el-button :disabled="(mangeShowBtn || form.childType === 0) ? false : !childTypeBtn" icon="el-icon-plus"
+                     plain
                      size="small"
                      type="primary" @click="addClickHandler">澧炲姞
           </el-button>
@@ -57,8 +59,8 @@
           <el-button v-if="editStatus" icon="el-icon-check" plain size="small"
                      type="success" @click="editSaveClickHandler">淇濆瓨
           </el-button>
-          <el-button  icon="el-icon-close" plain size="small"
-                      type="danger" @click="addStatus=false;editStatus=false;">鍙栨秷
+          <el-button icon="el-icon-close" plain size="small"
+                     type="danger" @click="addStatus=false;editStatus=false;">鍙栨秷
           </el-button>
         </div>
         <div v-if="form.category === 1" class="btnBox">
@@ -75,27 +77,40 @@
           <el-form-item label="妯″潡鍒悕锛�">
             <el-input v-model="form.alias" :disabled="!editStatus && !addStatus" placeholder="妯″潡鍒悕鐢ㄦ潵璁板綍鏃ュ織浣跨敤"></el-input>
           </el-form-item>
-                <el-form-item label="C/S锛�">
-            <el-input v-model="form.pathC" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏/S璺緞" type="textarea"></el-input>
+                <el-form-item v-if="form.functionType === 0" label="C/S锛�">
+            <el-input v-model="form.pathC" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏/S璺緞"
+                      type="textarea"></el-input>
           </el-form-item>
-          <el-form-item label="B/S锛�">
-            <el-input v-model="form.path" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏/S璺緞" type="textarea"></el-input>
+          <el-form-item v-if="form.functionType === 0" label="B/S锛�">
+            <el-input v-model="form.path" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏/S璺緞"
+                      type="textarea"></el-input>
           </el-form-item>
-          <el-form-item label=".NET锛�">
-            <el-input v-model="form.resourceDotNet" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏�.NET" type="textarea"></el-input>
-          </el-form-item>
-          <el-form-item label="Mobile锛�">
-            <el-input v-model="form.resourceMobile" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏obile" type="textarea"></el-input>
+          <el-form-item v-if="form.functionType === 0" label=".NET锛�">
+            <el-input v-model="form.resourceDotNet" :disabled="!editStatus && !addStatus" :rows="2"
+                      placeholder="璇疯緭鍏�.NET" type="textarea"></el-input>
           </el-form-item>
           <el-form-item label="搴忓彿锛�">
-            <el-input v-model="form.sort" :disabled="!editStatus && !addStatus" placeholder="鏁板瓧锛屾弿杩拌妯″潡鍦ㄥ叾鐖舵ā鍧椾笅鐨勬樉绀洪『搴�"></el-input>
+            <el-input v-model="form.sort" :disabled="!editStatus && !addStatus"
+                      placeholder="鏁板瓧锛屾弿杩拌妯″潡鍦ㄥ叾鐖舵ā鍧椾笅鐨勬樉绀洪『搴�"></el-input>
           </el-form-item>
           <el-form-item label="鍥炬爣锛�">
-              <avue-input-icon v-model="form.source" :disabled="!editStatus && !addStatus" :icon-list="iconList" placeholder="璇烽�夋嫨鍥炬爣">
+              <avue-input-icon v-model="form.source" :disabled="!editStatus && !addStatus" :icon-list="iconList"
+                               placeholder="璇烽�夋嫨鍥炬爣">
               </avue-input-icon>
           </el-form-item>
           <el-form-item label="鎻忚堪锛�">
-            <el-input v-model="form.remark" :disabled="!editStatus && !addStatus" :rows="3" placeholder="璇疯緭鍏ユ弿杩�" type="textarea"></el-input>
+            <el-input v-model="form.remark" :disabled="!editStatus && !addStatus" :rows="3" placeholder="璇疯緭鍏ユ弿杩�"
+                      type="textarea"></el-input>
+          </el-form-item>
+            <el-form-item label="鏄惁鑿滃崟锛�">
+            <el-switch
+              v-model="form.functionType"
+              :active-value="0"
+              :disabled="!editStatus && !addStatus"
+              :inactive-value="1"
+              active-color="#13ce66"
+              inactive-color="#ff4949">
+            </el-switch>
           </el-form-item>
           <el-form-item label="鏄惁鏈夋晥锛�">
             <el-switch

--
Gitblit v1.9.3