From 5446789066a3af6e00c16cf07c37efcd263a7640 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期日, 08 十月 2023 09:34:31 +0800 Subject: [PATCH] 整合代码 --- Source/UBCS-WEB/src/views/integration/systemInfo.vue | 141 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 126 insertions(+), 15 deletions(-) diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue index a6b21e5..2cad431 100644 --- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue +++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue @@ -24,7 +24,8 @@ </template> </avue-crud> - <el-dialog :visible.sync="dialogVisible" append-to-body class="avue-dialog avue-dialog--top" title="鍒嗙被鎺堟潈" top="-50px"> + <el-dialog :visible.sync="dialogVisible" append-to-body class="avue-dialog avue-dialog--top" title="鍒嗙被鎺堟潈" + top="-50px"> <el-row> <el-col :span="10"> @@ -32,24 +33,36 @@ v-model="TreeForm" :data="TreeData" :option="TreeOption" + node-key="id" + :default-checked-keys="[5]" @check-change="checkChange"> </avue-tree> </el-col> </el-row> + <div slot="footer" class="dialog-footer" style="height: 50px;line-height: 50px"> - <el-button type="primary" icon="el-icon-plus" size="small" @click="empower">鎺� 鏉�</el-button> - <el-button icon="el-icon-close" size="small" type="danger">閲� 缃�</el-button> - </div> + <el-button icon="el-icon-plus" size="small" type="primary" @click="empower">鎺� 鏉�</el-button> + <el-button icon="el-icon-close" size="small" type="danger">閲� 缃�</el-button> + </div> </el-dialog> </basic-container> </template> <script> -import {getSysInfoList, sysInfoAdd, sysInfoEdit, sysInfoDel, sysInfoTree,batchAddSave} from '@/api/integration/sysInfo.js' +import { + getSysInfoList, + sysInfoAdd, + sysInfoEdit, + sysInfoDel, + sysInfoTree, + batchAddSave +} from '@/api/integration/sysInfo.js' export default { data() { return { - checkAll:[], + checkAll: {}, + ParentList: [], + ParentRemoveList: [], //閬垮厤缂撳瓨 reload: Math.random(), TreeLoading: false, @@ -126,26 +139,124 @@ }, } }, - + created() { + }, methods: { - empower(){ - batchAddSave({systemOid: this.checkAll.oid, systemId: this.checkAll.id}).then(res=>{ + empower() { + batchAddSave(this.checkAll.oid, this.checkAll.id, this.ParentList).then(res => { console.log(res) + if(res.data.data.code === 200){ + this.$message.success(res.data.data.msg) + this.dialogVisible=false; + } }) }, //鍒嗙被鎺堟潈澶氶�夊洖璋� - checkChange(row,checked) { - if(checked){ - // console.log('row',row) - this.checkAll.push(row); - console.log('checkAll',this.checkAll) + checkChange(row, checked) { + if (checked) { + if (!row.parentId) { + const parentRecord = { + oid: row.oid, + classifyId: row.attributes.classifyId, + classifyOid: row.attributes.classifyOid, + classParentOid: row.parentId, + }; + this.ParentList.push(parentRecord); + // 濡傛灉row鐨刢hildren涓嶄负绌� 缁х画寰幆children涓殑姣忎釜瀵硅薄 + if (row.children && row.children.length > 0) { + for (let child of row.children) { + const childRecord = { + oid: child.oid, + classifyId: child.attributes.classifyId, + classifyOid: child.attributes.classifyOid, + classParentOid: child.parentId, + }; + this.ParentList.push(childRecord); + // 濡傛灉瀛愬璞$殑children涓嶄负绌� 缁х画寰幆鑾峰彇鏁版嵁 + if (child.children && child.children.length > 0) { + for (let subChild of child.children) { + const subRecord = { + oid: subChild.oid, + classifyId: subChild.attributes.classifyId, + classifyOid: subChild.attributes.classifyOid, + classParentOid: subChild.parentId, + }; + this.ParentList.push(subRecord); + } + } + } + } + } + } else { + // 鍙栨秷鍕鹃�夌殑鑺傜偣鏄埗鑺傜偣 + if (!row.parentId) { + // 鎵惧埌鐖惰妭鐐瑰湪ParentList涓殑绱㈠紩 + const parentIndex = this.ParentList.findIndex(item => item.oid === row.oid); + if (parentIndex !== -1) { + const parentOid = this.ParentList[parentIndex].classifyOid; + + // 鏌ユ壘鎵�鏈夐渶瑕佸垹闄ょ殑瀛愯妭鐐圭殑绱㈠紩 + const childIndexes = this.ParentList.reduce((indexes, item, index) => { + if (item.classParentOid === parentOid && item.classifyOid !== parentOid) { + indexes.push(index); + } + return indexes; + }, []); + + // 浠庡悗寰�鍓嶅垹闄ゅ瓙鑺傜偣鐨勬暟鎹紝淇濊瘉绱㈠紩鐨勬纭�� + for (let i = childIndexes.length - 1; i >= 0; i--) { + this.ParentList.splice(childIndexes[i], 1); + } + + // 鍒犻櫎鐖惰妭鐐圭殑鏁版嵁 + this.ParentList.splice(parentIndex, 1); + } + } else { + // 鍙栨秷鍕鹃�夌殑鑺傜偣鏄瓙鑺傜偣 + const childIndex = this.ParentList.findIndex(item => item.oid === row.oid); + if (childIndex !== -1) { + // 鍒犻櫎瀛愯妭鐐圭殑鏁版嵁 + this.ParentList.splice(childIndex, 1); + } + } } + console.log(this.ParentList); }, //鍒嗙被鎺堟潈 classifyHandler(row) { this.loading = true; + this.checkAll = row sysInfoTree({systemOid: row.oid, systemId: row.id}).then(res => { this.TreeData = res.data; + var List=[] + this.TreeData.forEach((item,index)=>{ + const parentRecord = { + label: item.text, + children: [], // 鍒濆鍖朿hildren涓虹┖鏁扮粍 + }; + List.push(parentRecord); + // 濡傛灉item鐨刢hildren涓嶄负绌� 缁х画寰幆children涓殑姣忎釜瀵硅薄 + if (item.children && item.children.length > 0) { + for (let child of item.children) { + const childRecord = { + label: child.text, // 浣跨敤child鐨則ext灞炴�т綔涓簂abel + children: [], // 鍒濆鍖朿hildren涓虹┖鏁扮粍 + }; + parentRecord.children.push(childRecord); // 灏哻hildRecord娣诲姞鍒皃arentRecord鐨刢hildren鏁扮粍涓� + // 濡傛灉瀛愬璞$殑children涓嶄负绌� 缁х画寰幆鑾峰彇鏁版嵁 + if (child.children && child.children.length > 0) { + for (let subChild of child.children) { + const subRecord = { + label: subChild.text, // 浣跨敤subChild鐨則ext灞炴�т綔涓簂abel + children: [], // 鍒濆鍖朿hildren涓虹┖鏁扮粍 + }; + childRecord.children.push(subRecord); // 灏唖ubRecord娣诲姞鍒癱hildRecord鐨刢hildren鏁扮粍涓� + } + } + } + } + }) + console.log('list',List) this.ModifyProperties(this.TreeData, 'text', 'label'); // 鏍规嵁 this.TreeData 鐨勯暱搴﹁绠楀欢杩熸椂闂� const delayTime = this.TreeData.length * 1; @@ -273,7 +384,7 @@ }, // enter鎼滅储 handleEnter() { - this.getDataList() + this.getDataList() }, // 杈撳叆妗嗘竻绌� handleClear() { -- Gitblit v1.9.3