From 9da5b50986991d21beb58a823cb039f8c486587c Mon Sep 17 00:00:00 2001
From: wangting <wangting@vci-tech.com>
Date: 星期二, 14 一月 2025 18:31:53 +0800
Subject: [PATCH] 增加流程模板管理页面

---
 Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue |  127 ++++++++++++++++++++++++------------------
 1 files changed, 72 insertions(+), 55 deletions(-)

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 f96e1aa..8bb7e72 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
@@ -6,8 +6,9 @@
           <avue-tree :key="refresh" ref="tree" :data="treeData" :option="treeOption" node-key="id"
                      @node-click="nodeClick">
           <span slot-scope="{ node, data }" class="el-tree-node__label">
-           <span>
-              <i :class="data.icon"></i>
+            <span style="display: flex">
+              <icon-show v-if="data.iconType=='svg'" :name="data.icon"></icon-show>
+              <i v-else :class="data.icon"></i>
                 {{ (node || {}).label }}
             </span>
           </span>
@@ -69,18 +70,25 @@
           <el-button icon="el-icon-close" plain size="small" type="danger" @click="deleteOperationClickHandler">鍒犻櫎
           </el-button>
         </div>
-        <el-form ref="form" :model="form" label-width="85px" style="max-height: calc(100vh - 200px);overflow: auto;">
+        <el-form ref="form" :model="form" label-width="100px" style="max-height: calc(100vh - 200px);overflow: auto;">
           <span v-if="form.category !== 1">
-            <el-form-item label="妯″潡鍚嶏細">
-            <el-input v-model="form.name" :disabled="!editStatus && !addStatus" placeholder="璇疯緭鍏ユā鍧楀悕"></el-input>
-          </el-form-item>
-          <el-form-item label="妯″潡鍒悕锛�">
-            <el-input v-model="form.alias" :disabled="!editStatus && !addStatus" placeholder="妯″潡鍒悕鐢ㄦ潵璁板綍鏃ュ織浣跨敤"></el-input>
-          </el-form-item>
-                <el-form-item v-if="form.functionType === 0" label="C/S锛�">
+            <el-form-item class="is-required">
+              <span slot="label">妯″潡鍚嶏細</span>
+              <el-input v-model="form.name" :disabled="!editStatus && !addStatus" placeholder="璇疯緭鍏ユā鍧楀悕"></el-input>
+            </el-form-item>
+            <el-form-item class="is-required">
+              <span slot="label">妯″潡鍒悕锛�</span>
+              <el-input v-model="form.alias" :disabled="!editStatus && !addStatus"  placeholder="璇疯緭鍏ユā鍧楀埆鍚�"></el-input>
+            </el-form-item>
+           <el-form-item class="is-required">
+              <span slot="label">搴忓彿锛�</span>
+              <el-input-number v-model="form.sort" :disabled="!editStatus && !addStatus"></el-input-number>
+              <el-link :underline="false" style="margin-left: 20px" type="danger">鏁板瓧锛屾弿杩拌妯″潡鍦ㄥ叾鐖舵ā鍧椾笅鐨勬樉绀洪『搴�</el-link>
+            </el-form-item>
+            <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>
           <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>
@@ -89,14 +97,9 @@
             <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-form-item>
           <el-form-item label="鍥炬爣锛�">
-              <avue-input-icon v-model="form.source" :disabled="!editStatus && !addStatus" :icon-list="iconList"
-                               placeholder="璇烽�夋嫨鍥炬爣">
-              </avue-input-icon>
+              <input-icon v-model="form.source" :disabled="!editStatus && !addStatus" placeholder="璇烽�夋嫨鍥炬爣">
+              </input-icon>
           </el-form-item>
           <el-form-item label="鎻忚堪锛�">
             <el-input v-model="form.remark" :disabled="!editStatus && !addStatus" :rows="3" placeholder="璇疯緭鍏ユ弿杩�"
@@ -123,28 +126,31 @@
           </el-form-item>
           </span>
           <span v-if="form.category === 1">
-            <el-form-item label="鍚嶇О锛�">
-            <el-input v-model="form.name" :disabled="form.category === 1" placeholder="璇疯緭鍏ュ悕绉�"></el-input>
+            <el-form-item label="鍚嶇О锛�" class="is-required">
+              <el-input v-model="form.name" :disabled="form.category === 1" placeholder="璇疯緭鍏ュ悕绉�"></el-input>
             </el-form-item>
-            <el-form-item label="鏍囪瘑锛�">
-            <el-input v-model="form.code" :disabled="form.category === 1" placeholder="璇疯緭鍏ユ爣璇�"></el-input>
+            <el-form-item label="鏍囪瘑锛�" class="is-required">
+              <el-input v-model="form.code" :disabled="form.category === 1" placeholder="璇疯緭鍏ユ爣璇�"></el-input>
             </el-form-item>
-            <el-form-item label="鍒悕锛�">
-            <el-input v-model="form.alias" placeholder="璇疯緭鍏ュ埆鍚�"></el-input>
+            <el-form-item label="鍒悕锛�" class="is-required">
+              <el-input v-model="form.alias" placeholder="璇疯緭鍏ュ埆鍚�"></el-input>
             </el-form-item>
-            <el-form-item label="缂栧彿锛�">
-            <el-input v-model="form.sort" :disabled="form.category === 1" placeholder="璇疯緭鍏ョ紪鍙�"></el-input>
+            <el-form-item label="鍥炬爣锛�">
+              <input-icon v-model="form.source" placeholder="璇烽�夋嫨鍥炬爣">
+              </input-icon>
+            </el-form-item>
+            <el-form-item label="缂栧彿锛�" class="is-required">
+              <el-input-number v-model="form.sort" :disabled="form.category === 1" :max="63" :min="1"></el-input-number>
             </el-form-item>
             <el-form-item label="鎻忚堪锛�">
-            <el-input v-model="form.remark" :disabled="form.category === 1" placeholder="璇疯緭鍏ユ弿杩�"></el-input>
+              <el-input v-model="form.remark" :disabled="form.category === 1" placeholder="璇疯緭鍏ユ弿杩�"></el-input>
             </el-form-item>
             <el-form-item label="鏄惁鏈夋晥锛�">
-            <el-switch
-              v-model="form.isValid"
-              active-color="#13ce66"
-              inactive-color="#ff4949">
-            </el-switch>
-
+              <el-switch
+                v-model="form.isValid"
+                active-color="#13ce66"
+                inactive-color="#ff4949">
+              </el-switch>
           </el-form-item>
           </span>
         </el-form>
@@ -156,7 +162,7 @@
       append-to-body="true"
       class="avue-dialog"
       title="鎿嶄綔鍒嗙被"
-      width="500px"
+      width="900px"
     >
       <avue-crud
         ref="methodsCrud"
@@ -192,13 +198,11 @@
 } from "@/api/systemModel/mangeModel/api"
 import func from "@/util/func";
 import basicOption from "@/util/basic-option";
-import iconList from "@/config/iconList";
 
 export default {
   name: "index",
   data() {
     return {
-      iconList: iconList,
       tipList: [],
       upFileType: ['xls', 'xlsx'],
       fileUrl: 'api/hmSysModConfigController/importModule',
@@ -212,13 +216,19 @@
         menu: false,
         height: 500,
         header: false,
-        column: [
-          {
-            label: '鎿嶄綔鍒嗙被',
-            prop: 'name',
-            sortable: true,
-          }
-        ]
+        column: [{
+          label: '鍚嶇О',
+          prop: 'name',
+          width:180,
+          sortable: true,
+        }, {
+          label: '鏍囪瘑',
+          prop: 'code',
+          width:180,
+        }, {
+          label: '鎻忚堪',
+          prop: 'remark'
+        }]
       },
       methodsLoading: false,
       methodsVisble: false,
@@ -235,25 +245,26 @@
         menu: false,
         addBtn: false,
         defaultExpandAll: false,
+        defaultExpandedKeys:['system'],
         props: {
-          label: 'name',
+          label: 'label',
           value: 'id',
           children: 'children',
         },
         lazy: true,
         treeLoad: (node, resolve) => {
           const params = {
-            parentId: node.level === 0 ? "systemManagmentNode" : node.data.id,
+            parentId: node.level === 0 ? "system" : node.data.id,
             modeType: node.level === 0 ? "firstNode" : node.data.modeType,
           }
           getSysModelTreeMenuByPID(params).then(res => {
             resolve(res.data.data.map(item => {
               return {
                 ...item,
-                id: item.id,
-                name: item.name,
+                label: item.category!=1?item.name:item.alias,
                 leaf: !item.hasChildren,
-                icon: item.source || 'el-icon-s-home'
+                icon: item.source || (node.level === 0?'el-icon-s-home':'el-icon-s-tools'),
+                iconType:item.source?'svg':'iconfont'
               }
             }))
           })
@@ -283,7 +294,6 @@
   methods: {
     // 鏍戣鐐瑰嚮
     nodeClick(row, node) {
-      console.log(row.childType);
       this.form = {...row};
       this.nodeRow = {...row};
       this.currentClickNode = node;
@@ -312,6 +322,10 @@
     addSaveClickHandler() {
       if (!this.form.name) {
         this.$message.error('妯″潡鍚嶄笉鑳戒负绌�');
+        return
+      }
+      if (!this.form.alias) {
+        this.$message.error('鑿滃崟鏍囪瘑涓嶈兘涓虹┖');
         return
       }
       if (this.form.name.length > 128) {
@@ -356,6 +370,10 @@
     editSaveClickHandler() {
       if (!this.form.name) {
         this.$message.error('妯″潡鍚嶄笉鑳戒负绌�');
+        return
+      }
+      if (!this.form.alias) {
+        this.$message.error('鑿滃崟鏍囪瘑涓嶈兘涓虹┖');
         return
       }
       if (this.form.name.length > 128) {
@@ -418,8 +436,6 @@
       exportFunctionSql({isFunction: true}).then(res => {
         func.downloadFileByBlobHandler(res);
         this.$message.success('瀵煎嚭鎴愬姛');
-      }).catch(err => {
-        this.$message.error(err);
       });
     },
 
@@ -456,7 +472,6 @@
         }
       })
       addOperationType(list).then(res => {
-        console.log(res)
         if (res.data.code === 200) {
           this.methodsVisble = false;
           this.$message.success(res.data.msg);
@@ -476,7 +491,7 @@
           this.lastIndex = newIndex;
         },
         () => {
-          this.methodsList = [];
+          this.methodsList = [row];
         }
       );
     },
@@ -486,6 +501,7 @@
       const params = {
         id: this.form.id,
         isValid: this.form.isValid,
+        source:this.form.source,
         alias: this.form.alias
       }
       updateAlias(params).then(res => {
@@ -536,7 +552,9 @@
           let node = this.currentClickNode.parent;
           node.loaded = false;
           node.expand();
-          this.$refs.tree.setCurrentNode(this.currentClickNode);
+          this.$nextTick(()=>{
+            this.$refs.tree.setCurrentKey(this.currentClickNode.data.id);
+          });
         } else {
           this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍�
         }
@@ -558,5 +576,4 @@
   justify-content: left;
   margin-bottom: 15px;
 }
-
 </style>

--
Gitblit v1.9.3