From 9981d4d90db5a6ee6b138eeea400502636f7f098 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 27 八月 2024 17:57:04 +0800
Subject: [PATCH] 完善业务类型创建索引&&完善系统配置模块(管理功能模块、业务功能模块、操作类型管理、系统配置、系统运行监控)

---
 Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue |  199 ++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 147 insertions(+), 52 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue b/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue
index 281ec3b..cea9234 100644
--- a/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue
@@ -3,7 +3,7 @@
     <el-aside>
       <basic-container>
         <div style="max-height: calc(100vh - 170px);overflow: auto">
-          <avue-tree ref="tree" :data="treeData" :option="treeOption" @node-click="nodeClick">
+          <avue-tree :key="refresh" ref="tree" :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>
@@ -27,28 +27,31 @@
           <el-form-item label="鍒悕锛�">
             <el-input v-model="form.alias" placeholder="璇疯緭鍏ュ埆鍚�"></el-input>
           </el-form-item>
-          <el-form-item label="缂栧彿锛�">
-            <el-input v-model="form.sort" placeholder="璇疯緭鍏ョ紪鍙�"></el-input>
+          <el-form-item label="椤哄簭锛�">
+            <el-input-number v-model="form.sort" :min="0" :max="9999" label="椤哄簭"></el-input-number>
           </el-form-item>
           <el-form-item label="鎻忚堪锛�">
             <el-input v-model="form.remark" placeholder="璇疯緭鍏ユ弿杩�"></el-input>
           </el-form-item>
         </el-form>
-        <div class="btnBox">
-          <el-button v-if="!addStatus" :disabled="mangeShowBtn ? false : !childTypeBtn" icon="el-icon-plus" plain
+        <div v-if="nodeRow.childType === 0 || nodeRow.childType === -1" class="btnBox">
+          <el-button v-if="!addStatus" :disabled="nodeRow.childType === 0" icon="el-icon-plus" plain
                      size="small"
                      type="primary" @click="addClickHandler">澧炲姞
           </el-button>
           <el-button v-if="addStatus" icon="el-icon-check" plain size="small"
                      type="success" @click="addSaveClickHandler">淇濆瓨
           </el-button>
-          <el-button :disabled="mangeShowBtn" icon="el-icon-edit" plain size="small" type="primary"
-                     @click="addClickHandler">淇敼
+          <el-button v-if="!editStatus" :disabled="nodeRow.childType === -1" icon="el-icon-edit" plain size="small" type="primary"
+                     @click="editClickHandler">淇敼
           </el-button>
-          <el-button :disabled="mangeShowBtn" icon="el-icon-close" plain size="small" type="danger"
-                     @click="addClickHandler">鍒犻櫎
+          <el-button v-if="editStatus" icon="el-icon-check" plain size="small"
+                     type="success" @click="editSaveClickHandler">淇濆瓨
           </el-button>
-          <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆sql
+          <el-button :disabled="nodeRow.childType === -1" icon="el-icon-close" plain size="small" type="danger"
+                     @click="delClickHandler">鍒犻櫎
+          </el-button>
+          <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="sqlClickExportClick">瀵煎嚭sql
           </el-button>
         </div>
       </basic-container>
@@ -58,12 +61,16 @@
 
 <script>
 //绠$悊鍔熻兘妯″潡
-import {getSysModelTreeMenuByPID, addModel} from "@/api/systemModel/mangeModel/api"
+import {exportFunctionSql, getSysModelTreeMenuByPID} from "@/api/systemModel/mangeModel/api"
+import {addOperationType,updateOperationType,delOperationType} from "@/api/systemModel/operateType/api"
+import func from "@/util/func";
 
 export default {
   name: "index",
   data() {
     return {
+      refresh:Math.random(),
+      editStatus:false,
       addStatus: false,
       nodeRow: {},
       form: {},
@@ -82,7 +89,7 @@
         treeLoad: (node, resolve) => {
           const params = {
             parentId: node.level === 0 ? "operateNode" : node.data.id,
-            modeType: node.level === 0 ? "firstNode" : node.data.modeType,
+            modeType: node.level === 0 ? 'firstNode' : "",
           }
           getSysModelTreeMenuByPID(params).then(res => {
             resolve(res.data.data.map(item => {
@@ -101,21 +108,6 @@
   created() {
   },
   computed: {
-    /**
-     * childType
-     * 涓�-1   鍏ㄩ儴鎸夐挳灞曠ず 绂佺敤淇敼 鍒犻櫎 澧炲姞鎿嶄綔绫诲瀷
-     * 涓嶄负-1 闅愯棌 鍒犻櫎闈炵郴缁熸ā鍧� 鍒犻櫎涓氬姟妯″潡
-     * 涓�1鏃� 绂佺敤鎿嶄綔绫诲瀷銆佸鍏ャ�佸鍑�
-     * 涓�2鏃� 绂佺敤澧炲姞 瀵煎叆 瀵煎嚭
-     * mangeShowBtn 涓� true 璇存槑鏄《灞傝妭鐐� 鍏ㄩ儴鎸夐挳灞曠ず 绂佺敤淇敼 鍒犻櫎 澧炲姞鎿嶄綔绫诲瀷
-     * @returns {Number}
-     */
-    mangeShowBtn() {
-      return this.form.childType === -1;
-    },
-    childTypeBtn() {
-      return this.form.childType === 1;
-    }
   },
   methods: {
     // 鏍戣鐐瑰嚮
@@ -124,53 +116,156 @@
       this.form = {...row};
       this.nodeRow = {...row};
       this.addStatus = false;
+      this.editStatus = false;
     },
+    // 娓呯┖琛ㄥ崟缁戝畾鍊�
+    resetFormValue() {
+      this.form = {};
+      this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍�
+    },
+
 
     // 鏂板鎸夐挳
     addClickHandler() {
-      for (const key in this.form) {
-        if (this.form.hasOwnProperty(key)) {
-          this.form[key] = null;
-        }
-      }
+      this.form = {};
       this.addStatus = true;
+      this.editStatus = false;
     },
 
     // 淇濆瓨鎸夐挳
     addSaveClickHandler() {
-      console.log(this.form)
       if (!this.form.name) {
-        this.$message.error('妯″潡鍚嶄笉鑳戒负绌�');
+        this.$message.error('鍚嶇О涓嶈兘涓虹┖');
+        return
+      }
+      if (!this.form.code) {
+        this.$message.error('鏍囪瘑涓嶈兘涓虹┖');
+        return
+      }
+      if (!this.form.alias) {
+        this.$message.error('鍒悕涓嶈兘涓虹┖');
+        return
+      }
+      if (!this.form.sort) {
+        this.$message.error('椤哄簭涓嶈兘涓虹┖');
         return
       }
       if (this.form.name.length > 128) {
-        this.$message.error('妯″潡鍚嶉暱搴﹁秴杩�128锛�');
+        this.$message.error('鍚嶇О闀垮害涓嶈兘瓒呰繃128锛�');
         return
       }
       if (this.form.remark && this.form.remark.length > 255) {
-        this.$message.error('鎻忚堪闀垮害瓒呰繃255锛�');
+        this.$message.error('鎻忚堪闀垮害涓嶈兘瓒呰繃255锛�');
         return
       }
-      if (this.form.resourceDotNet && this.form.resourceDotNet.length > 255) {
-        this.$message.error('.NET鏍囪瘑闀垮害涓嶈兘255锛�');
+      if (this.form.alias && this.form.alias.length > 255) {
+        this.$message.error('鍒悕闀垮害涓嶈兘瓒呰繃255锛�');
         return
       }
-      if (this.form.pathc && this.form.pathc.length > 255) {
-        this.$message.error('C/S鏍囪瘑闀垮害涓嶈兘255锛�');
-        return
-      }
-      if (this.form.resourceMobile && this.form.resourceMobile.length > 255) {
-        this.$message.error('Mobile鏍囪瘑闀垮害涓嶈兘255锛�');
-        return
-      }
-      console.log(this.nodeRow);
       this.form.parentId = this.nodeRow.id;
-      this.form.modeType = this.nodeRow.modeType;
-      addModel(this.form).then(res => {
-        console.log(res)
-        this.addStatus = false;
+      const params = {
+        name:this.form.name,
+        identify:this.form.code,
+        alias:this.form.alias,
+        desc:this.form.remark,
+        seq:this.form.sort
+      }
+      addOperationType(params).then(res => {
+        if(res.data.code === 200){
+          this.$message.success(res.data.msg);
+          this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍�
+          this.addStatus = false;
+        }
       })
-    }
+    },
+
+    // 淇敼鎸夐挳
+    editClickHandler(){
+      this.addStatus = false;
+      this.editStatus = true;
+    },
+
+    // 淇敼淇濆瓨
+    editSaveClickHandler(){
+      console.log(this.form);
+      if (!this.form.name) {
+        this.$message.error('鍚嶇О涓嶈兘涓虹┖');
+        return
+      }
+      if (!this.form.code) {
+        this.$message.error('鏍囪瘑涓嶈兘涓虹┖');
+        return
+      }
+      if (!this.form.alias) {
+        this.$message.error('鍒悕涓嶈兘涓虹┖');
+        return
+      }
+      if (!this.form.sort) {
+        this.$message.error('椤哄簭涓嶈兘涓虹┖');
+        return
+      }
+      if (this.form.name.length > 128) {
+        this.$message.error('鍚嶇О闀垮害涓嶈兘瓒呰繃128锛�');
+        return
+      }
+      if (this.form.remark && this.form.remark.length > 255) {
+        this.$message.error('鎻忚堪闀垮害涓嶈兘瓒呰繃255锛�');
+        return
+      }
+      if (this.form.alias && this.form.alias.length > 255) {
+        this.$message.error('鍒悕闀垮害涓嶈兘瓒呰繃255锛�');
+        return
+      };
+      const params = {
+        id:this.form.id,
+        name:this.form.name,
+        identify:this.form.code,
+        alias:this.form.alias,
+        desc:this.form.remark,
+        seq:this.form.sort
+      }
+      updateOperationType(params).then(res => {
+        if(res.data.code === 200){
+          this.$message.success(res.data.msg);
+          this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍�
+          this.editStatus = false;
+        }
+      })
+    },
+
+    // 鍒犻櫎
+    delClickHandler(){
+      this.$confirm('鎮ㄧ‘瀹氳鍒犻櫎鎵�閫夋嫨鐨勬暟鎹悧锛�', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        delOperationType(this.form).then(res => {
+          if (res.data.code === 200) {
+            this.$message.success(res.data.msg);
+            this.resetFormValue();
+            this.addStatus = false;
+            this.editStatus = false;
+            this.nodeRow = {};
+          }
+        })
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '宸插彇娑堝垹闄�'
+        });
+      });
+    },
+
+    // 瀵煎嚭sql
+    sqlClickExportClick() {
+      exportFunctionSql({isFunction: false}).then(res => {
+        func.downloadFileByBlobHandler(res);
+        this.$message.success('瀵煎嚭鎴愬姛');
+      }).catch(err => {
+        this.$message.error(err);
+      });
+    },
   }
 }
 </script>

--
Gitblit v1.9.3