From dcf9c9e0410fe1186239e3f8d6f7bdc789c08010 Mon Sep 17 00:00:00 2001 From: lzhe <lzhe@example.com> Date: 星期三, 05 六月 2024 18:00:39 +0800 Subject: [PATCH] 1 --- src/views/notification/business.vue | 93 ++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 76 insertions(+), 17 deletions(-) diff --git a/src/views/notification/business.vue b/src/views/notification/business.vue index 179b73e..1eb3d8b 100644 --- a/src/views/notification/business.vue +++ b/src/views/notification/business.vue @@ -2,7 +2,7 @@ * @Author: lzhe lzhe@example.com * @Date: 2024-03-26 10:28:33 * @LastEditors: lzhe lzhe@example.com - * @LastEditTime: 2024-05-09 18:06:28 + * @LastEditTime: 2024-05-10 12:08:41 * @FilePath: /smart-web/src/views/master/person/main/index.vue * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE --> @@ -23,11 +23,11 @@ <div class="right-content"> <div class="content-title"> <span class="ct-span">閫氱煡鏂瑰紡</span> - <el-icon><Setting /></el-icon> + <el-icon @click="gojob"><Setting /></el-icon> </div> <el-row class="template-content-box"> <el-col :span="8" v-for="(item,index) in contentData"> - <el-checkbox v-model="item.checked" label="閫夋嫨" size="large" /> + <el-checkbox v-model="item.checked" label="閫夋嫨" size="large" @change="checkboxChange($event,index,item)"/> <div class="box-top"> <div class="box-top-name">{{item.notifyName}}</div> <div class="box-top-title">{{item.notifyTemplateName}}</div> @@ -80,6 +80,7 @@ name: "business", data(){ return { + businessKey: "", isSaveing: false, employeeLi: [], organizationLi: [], @@ -111,7 +112,6 @@ }, mounted(){ this.getTreeList(); - this.getbusiness(); this.getgroupType(); this.getEmployeeList(); }, @@ -119,15 +119,49 @@ ...ElementPlusIconsVue,saveDialog }, methods: { + gojob() { + window.open('http://116.63.148.72:8080/xxl-job-admin'); + }, + checkboxChange(e,index,item) { + var obj = { + businessKey: item.businessKey, + notifyType: item.notifyType, + status: e?"1":"0" + } + this.$HTTP.put("/api/blade-notify/business-notify/changeStatus",obj).then(res=> { + if(res.code == 200) { + this.getbusiness(); //鍒锋柊鍒楄〃 + } + }) + }, saveSubmit() { - + var empIds = []; + var orgIds = []; + this.employeeLi.forEach(item=> { + empIds.push(item.id); + }) + this.organizationLi.forEach(item=> { + orgIds.push(item.id); + }) + var obj = { + businessKey: this.businessKey,empIds,orgIds + } + this.$HTTP.post("/api/blade-notify/business-notify",obj).then(res=> { + if(res.code == 200) { + this.$message.success("淇濆瓨鎴愬姛"); + } + }) }, resetData() { this.employeeLi = []; this.organizationLi = []; }, radio1Change(val) { - this.getgroupType(val); + if(val == 1) { + this.getgroupType(); + }else if(val == 2) { + this.getEmployeeList(); + } }, addOrganization() { this.isaddOrganization = false; @@ -194,29 +228,54 @@ }) }, getbusiness() { - this.$HTTP.get("/api/blade-notify/business-notify?businessKey=maintenance").then(res=> { + this.$HTTP.get(`/api/blade-notify/business-notify?businessKey=${this.businessKey}`).then(res=> { if(res.code == 200) { res.data.businessNotifyDTOList.forEach(item=> { item.checked = (item.status == '0'?false: true); }) this.contentData = res.data.businessNotifyDTOList; + this.employeeLi = res.data.defaultObject.empList || []; //閮ㄩ棬鍙嶆樉 + this.organizationLi = res.data.defaultObject.orgList || []; //鍛樺伐鍙嶆樉 + if(this.organizationLi != null ) { + this.isaddOrganization = false; + } } }) }, handleNodeClick(data) { - if(data.code) { - this.lastLevelId = data.id; - // this.$HTTP.post("/api/blade-cps/workstation-wcs-feedback/page?current=1&size=15",obj).then(res=> { - // if(res.code == 200) { - // this.searchDataList = res.data.records; - // } - // }) + if(data.businessKey) { + this.businessKey = data.businessKey; + this.getbusiness(); } + }, + getLastLevelIds(tree) { + if (tree.length === 0) return ""; // 濡傛灉娌℃湁鏍硅妭鐐癸紝杩斿洖绌� + const lastLevelIds = []; + const lastLevelCodes = []; + function traverseTree(node) { + if(!node.children) { + lastLevelCodes.push(node); + } + if (node.children) { + node.children.forEach(traverseTree); // 閫掑綊閬嶅巻瀛愯妭鐐� + } else { + lastLevelIds.push(node.id); + } + } + // 鍙亶鍘嗙涓�涓牴鑺傜偣 + traverseTree(tree[0]); + return {lastLevelCodes,lastLevelId:lastLevelIds[0]}; // 杩斿洖lastLevelCodes锛氭病鏈塩ode鐨勬暟缁勩�俵astLevelId锛氭湁code鐨勭涓�涓猧d }, getTreeList() { this.$HTTP.get("/api/blade-notify/business-notify/tree").then(res=> { if(res.code == 200) { this.tableData = res.data; + this.lastLevelId = this.getLastLevelIds(this.tableData).lastLevelId; + this.$nextTick(()=>{ + this.$refs.treeRef.setCurrentKey(this.lastLevelId); //绗竴涓妭鐐圭殑绗竴涓瓙鑺傜偣鏈�鍚庝竴绾ч粯璁ら�変腑 + }) + this.businessKey = this.getLastLevelIds(this.tableData).lastLevelCodes[0].businessKey; + this.getbusiness(); } }) }, @@ -284,7 +343,7 @@ justify-content: space-between; margin: 24px 0 0 0; padding: 0 20px 0 10px; - border-left: 6px solid #3b8e8e; + border-left: 6px solid #409eff; } .ct-span { color: #101010; @@ -345,9 +404,9 @@ } .tagItem { margin: 10px 10px 10px 0; - background-color: #3b8e8e; + background-color: #409eff; color: #fff; - border-color: #3b8e8e; + border-color: #409eff; display: inline-block; font-size: 12px; padding: 4px 10px; -- Gitblit v1.9.3