From 820dde03b508f1ca6436cacf517ff197e1875f4f Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期二, 10 十月 2023 16:05:31 +0800 Subject: [PATCH] 集成系统信息管理-分类授权-重置、展开所有节点多选父节点增删 --- Source/UBCS-WEB/src/views/integration/systemInfo.vue | 138 ++++++++++++++++++++++------------------------ 1 files changed, 66 insertions(+), 72 deletions(-) diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue index 8f9c663..f7e2560 100644 --- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue +++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue @@ -40,7 +40,7 @@ <div slot="footer" class="dialog-footer" style="height: 50px;line-height: 50px"> <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> + <el-button icon="el-icon-close" size="small" type="danger" @click="resetting">閲� 缃�</el-button> </div> </el-dialog> </basic-container> @@ -140,86 +140,81 @@ created() { }, methods: { + //閲嶇疆 + resetting(){ + this.$refs.tree.setCheckedKeys([]) + // console.log(this.ParentList) + }, 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) + // console.log(res.data) + if(res.data.code === 200){ + this.$message.success(res.data.msg) this.dialogVisible=false; } }) }, //鍒嗙被鎺堟潈澶氶�夊洖璋� checkChange(row, checked) { - console.log('row',row) 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); - } - } - } - } - } + this.addAllChildren(row.children); + this.addToParentList(row); + // 鍕鹃�夎鏃讹紝灏嗗綋鍓嶈浠ュ強鍏舵墍鏈夊瓙鑺傜偣娣诲姞鍒癙arentList涓� } else { - // 鍙栨秷鍕鹃�夌殑鑺傜偣鏄埗鑺傜偣 - if (!row.parentId) { - // 鎵惧埌鐖惰妭鐐瑰湪ParentList涓殑绱㈠紩 - const parentIndex = this.ParentList.findIndex(item => item.oid === row.oid); - if (parentIndex !== -1) { - const parentOid = this.ParentList[parentIndex].classifyOid; + this.removeAllChildren(row.children); + this.removeFromParentList(row); + // 鍙栨秷鍕鹃�夎鏃讹紝灏嗗綋鍓嶈浠ュ強鍏舵墍鏈夊瓙鑺傜偣浠嶱arentList涓Щ闄� + } - // 鏌ユ壘鎵�鏈夐渶瑕佸垹闄ょ殑瀛愯妭鐐圭殑绱㈠紩 - 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.table(this.ParentList); + }, + addAllChildren(children) { + for (let child of children) { + this.addToParentList(child); + // 灏嗗瓙鑺傜偣娣诲姞鍒� ParentList 涓� + if (child.children && child.children.length > 0) { + this.addAllChildren(child.children); + // 閫掑綊璋冪敤缁х画娣诲姞瀛愯妭鐐圭殑瀛愯妭鐐� } } - console.log(this.ParentList); + }, + removeAllChildren(children) { + for (let child of children) { + this.removeFromParentList(child); + // 灏嗗瓙鑺傜偣浠� ParentList 涓Щ闄� + if (child.children && child.children.length > 0) { + this.removeAllChildren(child.children); + // 閫掑綊璋冪敤缁х画绉婚櫎瀛愯妭鐐圭殑瀛愯妭鐐� + } + } + }, + addToParentList(item) { + const classifyOid = item.attributes.classifyOid; + if (!this.isClassifyOidExists(classifyOid)) { + const record = { + oid: item.oid, + classifyId: item.attributes.classifyId, + classifyOid: classifyOid, + }; + this.ParentList.push(record); + // 灏嗚妭鐐规坊鍔犲埌ParentList涓� + } + }, + removeFromParentList(item) { + const classifyOid = item.attributes.classifyOid; + if (this.isClassifyOidExists(classifyOid)) { + const index = this.findIndexByClassifyOid(classifyOid); + if (index !== -1) { + this.ParentList.splice(index, 1); + } + // 灏嗚妭鐐逛粠ParentList涓Щ闄� + } + }, + isClassifyOidExists(classifyOid) { + return this.ParentList.some(item => item.classifyOid === classifyOid); + }, + findIndexByClassifyOid(classifyOid) { + return this.ParentList.findIndex(item => item.classifyOid === classifyOid); }, //鍒嗙被鎺堟潈 classifyHandler(row) { @@ -273,7 +268,7 @@ for (let item of res.data) { traverse(item, null); } - console.log('list', List); + // console.log('list', List); this.TreeData = List; // this.ModifyProperties(this.TreeData, 'text', 'label'); // 鏍规嵁this.TreeData鐨勯暱搴﹁绠楀欢杩熸椂闂� @@ -305,7 +300,6 @@ }, async getDataList() { this.loading = true; - console.log(this.search); const {pageSize, currentPage} = this.page; const conditions = {}; if (Object.keys(this.search).length > 0) { @@ -317,7 +311,7 @@ } const response = await getSysInfoList(pageSize, currentPage, conditions); if (response.status === 200) { - console.log(response); + // console.log(response); this.loading = false; const data = response.data.data; this.data = data.records; @@ -386,7 +380,7 @@ }).then(async () => { const response = await sysInfoDel(param) if (response.status === 200) { - console.log(response) + // console.log(response) this.$message({ type: 'success', message: '鍒犻櫎鎴愬姛!' -- Gitblit v1.9.3