From 432a477d82c052e99e5a0fb3214ce4d990111592 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 28 九月 2023 14:15:32 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/views/integration/systemInfo.vue | 108 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 94 insertions(+), 14 deletions(-) diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue index bd3103f..ac49796 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="-10"> + <el-dialog :visible.sync="dialogVisible" append-to-body class="avue-dialog avue-dialog--top" title="鍒嗙被鎺堟潈" + top="-50px"> <el-row> <el-col :span="10"> @@ -37,18 +38,28 @@ </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">鎺� 鏉�</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} from '@/api/integration/sysInfo.js' +import { + getSysInfoList, + sysInfoAdd, + sysInfoEdit, + sysInfoDel, + sysInfoTree, + batchAddSave +} from '@/api/integration/sysInfo.js' export default { data() { return { + checkAll: {}, + ParentList: [], + ParentRemoveList: [], //閬垮厤缂撳瓨 reload: Math.random(), TreeLoading: false, @@ -125,18 +136,89 @@ }, } }, - + created() { + }, methods: { + empower() { + batchAddSave(this.checkAll.oid, this.checkAll.id, this.ParentList).then(res => { + console.log(res) + }) + }, //鍒嗙被鎺堟潈澶氶�夊洖璋� - checkChange(row,checked) { - // console.log(row) - // if(checked){ - // - // } + 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; this.ModifyProperties(this.TreeData, 'text', 'label'); @@ -266,9 +348,7 @@ }, // enter鎼滅储 handleEnter() { - if (this.search[this.selectValue] === '') return - else this.getDataList() - + this.getDataList() }, // 杈撳叆妗嗘竻绌� handleClear() { -- Gitblit v1.9.3