From f50e1f8f20d98a255044d938a7e98bfc0b18d1b0 Mon Sep 17 00:00:00 2001 From: 田源 <tianyuan@vci-tech.com> Date: 星期五, 27 十二月 2024 16:51:46 +0800 Subject: [PATCH] 业务功能模块 管理功能模块更改菜单唯一标识以及样式 操作类型管理添加按钮图标功能 系统运行监控修改为当前在线人员信息图标 --- Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue | 150 ++++++++++++++++++++++++++++++------------------- 1 files changed, 92 insertions(+), 58 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 cea9234..2a1127a 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 @@ -2,11 +2,12 @@ <el-container> <el-aside> <basic-container> - <div style="max-height: calc(100vh - 170px);overflow: auto"> - <avue-tree :key="refresh" ref="tree" :data="treeData" :option="treeOption" @node-click="nodeClick"> + <div style="max-height: calc(100vh - 150px);overflow: auto"> + <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 style="font-size: 15px"> - <i class="el-icon-s-promotion"></i> + <span style="display: flex"> + <icon-show :name="data.icon"></icon-show> {{ (node || {}).label }} </span> </span> @@ -17,43 +18,54 @@ <el-main> <basic-container> - <el-form ref="form" :model="form" label-width="85px" style="height: 79vh"> - <el-form-item label="鍚嶇О锛�"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�"></el-input> - </el-form-item> - <el-form-item label="鏍囪瘑锛�"> - <el-input v-model="form.code" placeholder="璇疯緭鍏ユ爣璇�"></el-input> - </el-form-item> - <el-form-item label="鍒悕锛�"> - <el-input v-model="form.alias" placeholder="璇疯緭鍏ュ埆鍚�"></el-input> - </el-form-item> - <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 v-if="nodeRow.childType === 0 || nodeRow.childType === -1" class="btnBox"> - <el-button v-if="!addStatus" :disabled="nodeRow.childType === 0" icon="el-icon-plus" plain + <el-button v-if="!addStatus && !editStatus" :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 v-if="!editStatus" :disabled="nodeRow.childType === -1" icon="el-icon-edit" plain size="small" type="primary" + <el-button v-if="!addStatus && !editStatus" :disabled="nodeRow.childType === -1" icon="el-icon-edit" plain + size="small" type="primary" @click="editClickHandler">淇敼 </el-button> <el-button v-if="editStatus" icon="el-icon-check" plain size="small" type="success" @click="editSaveClickHandler">淇濆瓨 </el-button> - <el-button :disabled="nodeRow.childType === -1" icon="el-icon-close" plain size="small" type="danger" + <el-button v-if="addStatus || editStatus" icon="el-icon-close" plain size="small" + type="danger" @click="addStatus=false;editStatus=false;">鍙栨秷 + </el-button> + <el-button v-if="!addStatus && !editStatus" :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 v-if="!addStatus && !editStatus" icon="el-icon-upload2" plain size="small" type="primary" + @click="sqlClickExportClick">瀵煎嚭sql </el-button> </div> + <el-form ref="form" :model="form" label-width="85px" style="max-height: calc(100vh - 180px);overflow: auto;"> + <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.trim="form.code" :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 label="鍥炬爣锛�"> + <input-icon v-model="form.source" :disabled="!editStatus && !addStatus" placeholder="璇烽�夋嫨鍥炬爣"> + </input-icon> + </el-form-item> + <el-form-item label="椤哄簭锛�"> + <el-input-number v-model="form.sort" :disabled="!editStatus && !addStatus" :max="9999" :min="0" + label="椤哄簭"></el-input-number> + </el-form-item> + <el-form-item label="鎻忚堪锛�"> + <el-input v-model="form.remark" :disabled="!editStatus && !addStatus" placeholder="璇疯緭鍏ユ弿杩�"></el-input> + </el-form-item> + </el-form> </basic-container> </el-main> </el-container> @@ -62,17 +74,18 @@ <script> //绠$悊鍔熻兘妯″潡 import {exportFunctionSql, getSysModelTreeMenuByPID} from "@/api/systemModel/mangeModel/api" -import {addOperationType,updateOperationType,delOperationType} from "@/api/systemModel/operateType/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, + refresh: Math.random(), + editStatus: false, addStatus: false, nodeRow: {}, + currentClickNode: {}, form: {}, treeData: [], treeOption: { @@ -97,7 +110,8 @@ ...item, id: item.id, name: item.name, - leaf: !item.hasChildren + leaf: !item.hasChildren, + icon: item.source || 'iconoir:home' } })) }) @@ -107,14 +121,13 @@ }, created() { }, - computed: { - }, + computed: {}, methods: { // 鏍戣鐐瑰嚮 - nodeClick(row) { - console.log(row); + nodeClick(row, node) { this.form = {...row}; this.nodeRow = {...row}; + this.currentClickNode = node; this.addStatus = false; this.editStatus = false; }, @@ -164,29 +177,29 @@ } this.form.parentId = this.nodeRow.id; const params = { - name:this.form.name, - identify:this.form.code, - alias:this.form.alias, - desc:this.form.remark, - seq:this.form.sort + 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){ + if (res.data.code === 200) { this.$message.success(res.data.msg); - this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍� + this.handleRefreshTree('add'); this.addStatus = false; } }) }, // 淇敼鎸夐挳 - editClickHandler(){ + editClickHandler() { this.addStatus = false; this.editStatus = true; }, // 淇敼淇濆瓨 - editSaveClickHandler(){ + editSaveClickHandler() { console.log(this.form); if (!this.form.name) { this.$message.error('鍚嶇О涓嶈兘涓虹┖'); @@ -200,9 +213,9 @@ this.$message.error('鍒悕涓嶈兘涓虹┖'); return } - if (!this.form.sort) { + if (this.form.sort == null || this.form.sort === '' || this.form.sort === undefined) { this.$message.error('椤哄簭涓嶈兘涓虹┖'); - return + return; } if (this.form.name.length > 128) { this.$message.error('鍚嶇О闀垮害涓嶈兘瓒呰繃128锛�'); @@ -215,26 +228,27 @@ 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 + 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){ + if (res.data.code === 200) { this.$message.success(res.data.msg); - this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍� + this.handleRefreshTree('edit'); this.editStatus = false; } }) }, // 鍒犻櫎 - delClickHandler(){ + delClickHandler() { this.$confirm('鎮ㄧ‘瀹氳鍒犻櫎鎵�閫夋嫨鐨勬暟鎹悧锛�', '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', @@ -243,7 +257,7 @@ delOperationType(this.form).then(res => { if (res.data.code === 200) { this.$message.success(res.data.msg); - this.resetFormValue(); + this.handleRefreshTree('del') this.addStatus = false; this.editStatus = false; this.nodeRow = {}; @@ -262,10 +276,29 @@ exportFunctionSql({isFunction: false}).then(res => { func.downloadFileByBlobHandler(res); this.$message.success('瀵煎嚭鎴愬姛'); - }).catch(err => { - this.$message.error(err); }); }, + handleRefreshTree(type) { + //type:add\edit\del + if (type == "del") { + this.$refs.tree.remove(this.currentClickNode); + this.currentClickNode = null; + this.form = {}; + } else { + if (this.currentClickNode) { + let node = this.currentClickNode.parent; + node.loaded = false; + node.expand(); + if (type === 'edit') { + this.$refs.tree.setCurrentKey(null); + } else { + this.$refs.tree.setCurrentNode(this.nodeRow); + } + } else { + this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍� + } + } + } } } </script> @@ -279,6 +312,7 @@ .btnBox { display: flex; - justify-content: center; + justify-content: left; + margin-bottom: 15px; } </style> -- Gitblit v1.9.3