From a67acbd55451349df089e4d9aa3cb748e225b05b Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期一, 28 十月 2024 15:27:05 +0800 Subject: [PATCH] 密级管理,修改操作类型 --- Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue | 171 ++++++++++++++++++++++++++++++++------------------------ 1 files changed, 98 insertions(+), 73 deletions(-) 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 a36c78d..b04332e 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 @@ -2,8 +2,8 @@ <el-container v-loading="createdLoading"> <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" node-key="id" 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> @@ -17,38 +17,88 @@ <el-main> <basic-container> - <el-form ref="form" :model="form" label-width="85px" style="height: 79vh"> + <div v-if="form.childType && form.childType !== 0 && !addStatus && !editStatus" class="btnBox"> + <el-button :disabled="mangeShowBtn ? false : !childTypeBtn" icon="el-icon-plus" plain + size="small" + type="primary" @click="addClickHandler">澧炲姞 + </el-button> + <el-button :disabled="mangeShowBtn" 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="delClickHandler">鍒犻櫎 + </el-button> + <el-button :disabled="mangeShowBtn ? true : childTypeBtn" icon="el-icon-circle-plus-outline" plain + size="small" + type="primary" @click="addMethodsClickHandler">澧炲姞鎿嶄綔绫诲瀷 + </el-button> + <el-button v-if="this.form.childType ? mangeShowBtn :true" icon="el-icon-circle-close" plain size="small" + type="danger" + @click="addClickHandler">鍒犻櫎闈炵郴缁熸ā鍧� + </el-button> + <el-button v-if="this.form.childType ? mangeShowBtn :true" icon="el-icon-circle-close" plain size="small" + type="danger" + @click="addClickHandler">鍒犻櫎涓氬姟妯″潡 + </el-button> + <el-button :disabled="!mangeShowBtn" icon="el-icon-upload2" plain size="small" type="primary" + @click="upLoadClickHandler">瀵煎叆 + </el-button> + <el-button :disabled="!mangeShowBtn" icon="el-icon-download" plain size="small" type="primary" + @click="exportClickHandler">瀵煎嚭 + </el-button> + <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="sqlClickExportClick">瀵煎嚭sql + </el-button> + </div> + <div v-else-if="form.childType && form.childType !== 0 &&(addStatus || editStatus)" class="btnBox"> + <el-button v-if="addStatus" icon="el-icon-check" plain size="small" + type="success" @click="addSaveClickHandler">淇濆瓨 + </el-button> + <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> + </div> + <div v-if="form.childType === 0" class="btnBox"> + <el-button icon="el-icon-edit" plain size="small" type="primary" @click="updataAliasClickHandler">淇敼鍒悕 + </el-button> + <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;"> <span v-if="form.childType !== 0"> <el-form-item label="妯″潡鍚嶏細"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ユā鍧楀悕"></el-input> + <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" placeholder="妯″潡鍒悕鐢ㄦ潵璁板綍鏃ュ織浣跨敤"></el-input> + <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" :rows="3" placeholder="璇疯緭鍏/S璺緞" type="textarea"></el-input> + <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" :rows="3" placeholder="璇疯緭鍏/S璺緞" type="textarea"></el-input> + <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" :rows="3" placeholder="璇疯緭鍏�.NET" type="textarea"></el-input> + <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" :rows="3" placeholder="璇疯緭鍏obile" type="textarea"></el-input> + <el-input v-model="form.resourceMobile" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏obile" type="textarea"></el-input> </el-form-item> <el-form-item label="搴忓彿锛�"> - <el-input v-model="form.sort" placeholder="鏁板瓧锛屾弿杩拌妯″潡鍦ㄥ叾鐖舵ā鍧椾笅鐨勬樉绀洪『搴�"></el-input> + <el-input v-model="form.sort" :disabled="!editStatus && !addStatus" placeholder="鏁板瓧锛屾弿杩拌妯″潡鍦ㄥ叾鐖舵ā鍧椾笅鐨勬樉绀洪『搴�"></el-input> </el-form-item> <el-form-item label="绠�鍥撅細"> - <el-input v-model="form.source"></el-input> + <el-input v-model="form.source" :disabled="!editStatus && !addStatus"></el-input> </el-form-item> <el-form-item label="鎻忚堪锛�"> - <el-input v-model="form.remark" :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.isValid" + :disabled="!editStatus && !addStatus" active-color="#13ce66" inactive-color="#ff4949"> </el-switch> @@ -81,50 +131,6 @@ </el-form-item> </span> </el-form> - <div v-if="form.childType && form.childType !== 0" class="btnBox"> - <el-button v-if="!addStatus" :disabled="mangeShowBtn ? false : !childTypeBtn" 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="mangeShowBtn" 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="mangeShowBtn" icon="el-icon-close" plain size="small" type="danger" - @click="delClickHandler">鍒犻櫎 - </el-button> - <el-button :disabled="mangeShowBtn ? true : childTypeBtn" icon="el-icon-circle-plus-outline" plain - size="small" - type="primary" @click="addMethodsClickHandler">澧炲姞鎿嶄綔绫诲瀷 - </el-button> - <el-button v-if="this.form.childType ? mangeShowBtn :true" icon="el-icon-circle-close" plain size="small" - type="danger" - @click="addClickHandler">鍒犻櫎闈炵郴缁熸ā鍧� - </el-button> - <el-button v-if="this.form.childType ? mangeShowBtn :true" icon="el-icon-circle-close" plain size="small" - type="danger" - @click="addClickHandler">鍒犻櫎涓氬姟妯″潡 - </el-button> - <el-button :disabled="!mangeShowBtn" icon="el-icon-upload2" plain size="small" type="primary" - @click="upLoadClickHandler">瀵煎叆 - </el-button> - <el-button :disabled="!mangeShowBtn" icon="el-icon-download" plain size="small" type="primary" - @click="exportClickHandler">瀵煎嚭 - </el-button> - <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="sqlClickExportClick">瀵煎嚭sql - </el-button> - </div> - <div v-if="form.childType === 0" class="btnBox"> - <el-button icon="el-icon-edit" plain size="small" type="primary" @click="updataAliasClickHandler">淇敼鍒悕 - </el-button> - <el-button icon="el-icon-close" plain size="small" type="danger" @click="deleteOperationClickHandler">鍒犻櫎 - </el-button> - </div> </basic-container> </el-main> <el-dialog @@ -133,7 +139,7 @@ append-to-body="true" class="avue-dialog" title="鎿嶄綔鍒嗙被" - width="60%" + width="500px" > <avue-crud ref="methodsCrud" @@ -142,11 +148,10 @@ :table-loading="methodsLoading" @row-click="rowMethodsClickHandler" @selection-change="selectMethodsChange"> - </avue-crud> <span slot="footer" class="dialog-footer"> - <el-button @click="methodsVisble = false">鍙� 娑�</el-button> <el-button type="primary" @click="methodsSaveClickHandler">淇� 瀛�</el-button> + <el-button @click="methodsVisble = false">鍙� 娑�</el-button> </span> </el-dialog> <!--瀵煎叆 --> @@ -187,6 +192,7 @@ addBtn: false, menu: false, height: 500, + header:false, column: [ { label: '鎿嶄綔鍒嗙被', @@ -202,6 +208,7 @@ addStatus: false, editStatus: false, nodeRow: {}, + currentClickNode:null, form: {}, treeData: [], treeOption: { @@ -255,9 +262,10 @@ }, methods: { // 鏍戣鐐瑰嚮 - nodeClick(row) { + nodeClick(row,node) { this.form = {...row}; this.nodeRow = {...row}; + this.currentClickNode=node; this.addStatus = false; this.editStatus = false; }, @@ -312,7 +320,7 @@ this.addStatus = false; // this.resetFormValue(); this.form.childType = null; - this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍� + this.handleRefreshTree('add') } }) }, @@ -356,7 +364,7 @@ this.editStatus = false; // this.resetFormValue(); this.form.childType = null; - this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍� + this.handleRefreshTree('edit') } }) }, @@ -371,7 +379,7 @@ delModule(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; } @@ -389,8 +397,6 @@ exportFunctionSql({isFunction: true}).then(res => { func.downloadFileByBlobHandler(res); this.$message.success('瀵煎嚭鎴愬姛'); - }).catch(err => { - this.$message.error(err); }); }, @@ -402,12 +408,14 @@ // 澧炲姞鎿嶄綔绫诲瀷 addMethodsClickHandler() { this.methodsLoading = true; - getSysModelTreeMenuByPID({parentId: 'sysOptionNode'}).then(res => { - if (res.data.code === 200) { + getSysModelTreeMenuByPID({parentId: 'operateNode'}).then(res => { + if (res.data.code === 200 && res.data.data.length>0) { this.methodsVisble = true; - const data = res.data.data[0].children; + const data = res.data.data; this.methodsData = data; this.methodsLoading = false; + }else { + this.$message.error('鏈壘鍒板彲澧炲姞鐨勬搷浣滅被鍨�'); } }) }, @@ -425,12 +433,11 @@ } }) addOperationType(list).then(res => { - console.log(res) if (res.data.code === 200) { this.methodsVisble = false; this.$message.success(res.data.msg); this.form.childType = null; - this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍� + this.handleRefreshTree('add') // 鍒锋柊宸︿晶鏍� } }) }, @@ -460,7 +467,7 @@ updateAlias(params).then(res => { if (res.data.code === 200) { this.$message.success(res.data.msg); - this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍� + this.handleRefreshTree('edit') } }) }, @@ -480,7 +487,7 @@ console.log(res); if (res.data.code === 200) { this.$message.success(res.data.msg); - this.resetFormValue(); + this.handleRefreshTree('del'); } }) }).catch(() => { @@ -506,6 +513,23 @@ // 瀵煎叆 upLoadClickHandler() { this.$refs.upload.visible = true; + }, + 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(); + this.$refs.tree.setCurrentNode(this.currentClickNode); + }else { + this.refresh = Math.random(); // 鍒锋柊宸︿晶鏍� + } + } } } } @@ -520,6 +544,7 @@ .btnBox { display: flex; - justify-content: center; + justify-content:left; + margin-bottom: 15px; } </style> -- Gitblit v1.9.3