From fb120532c97a55a846471e03eb2873fece9fdac1 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期二, 10 十月 2023 11:42:20 +0800
Subject: [PATCH] 定时器推送更将增加集成系统唯一标识字段以便对方系统更新数据
---
Source/UBCS-WEB/src/views/integration/systemInfo.vue | 123 +++++++++++++++++++++++++++++++++--------
1 files changed, 99 insertions(+), 24 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
index 4d3dee2..aea7794 100644
--- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue
+++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
@@ -37,6 +37,7 @@
</avue-tree>
</el-col>
</el-row>
+
<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>
@@ -59,7 +60,7 @@
return {
checkAll: {},
ParentList: [],
- ParentRemoveList:[],
+ ParentRemoveList: [],
//閬垮厤缂撳瓨
reload: Math.random(),
TreeLoading: false,
@@ -141,13 +142,19 @@
methods: {
empower() {
batchAddSave(this.checkAll.oid, this.checkAll.id, this.ParentList).then(res => {
- console.log(res)
+ // console.log(res.data)
+ if(res.data.code === 200){
+ this.$message.success(res.data.msg)
+ this.dialogVisible=false;
+ }
})
},
//鍒嗙被鎺堟潈澶氶�夊洖璋�
checkChange(row, checked) {
+ // this.ParentList=[]
+ // console.log('row',row)
if (checked) {
- if (!row.parentId && row.children) {
+ if (!row.parentId) {
const parentRecord = {
oid: row.oid,
classifyId: row.attributes.classifyId,
@@ -155,7 +162,7 @@
classParentOid: row.parentId,
};
this.ParentList.push(parentRecord);
- // 濡傛灉row鐨刢hildren涓嶄负绌猴紝缁х画寰幆children涓殑姣忎釜瀵硅薄
+ // 濡傛灉row鐨刢hildren涓嶄负绌� 缁х画寰幆children涓殑姣忎釜瀵硅薄
if (row.children && row.children.length > 0) {
for (let child of row.children) {
const childRecord = {
@@ -165,7 +172,7 @@
classParentOid: child.parentId,
};
this.ParentList.push(childRecord);
- // 濡傛灉瀛愬璞$殑children涓嶄负绌猴紝缁х画寰幆鑾峰彇鏁版嵁
+ // 濡傛灉瀛愬璞$殑children涓嶄负绌� 缁х画寰幆鑾峰彇鏁版嵁
if (child.children && child.children.length > 0) {
for (let subChild of child.children) {
const subRecord = {
@@ -179,40 +186,109 @@
}
}
}
- console.log(this.ParentList);
}
} else {
- if (!row.parentId && row.children) {
- this.ParentRemoveList = this.ParentList.filter(record => record.oid !== row.oid);
+ // 鍙栨秷鍕鹃�夌殑鑺傜偣鏄埗鑺傜偣
+ if (!row.parentId) {
+ // 鎵惧埌鐖惰妭鐐瑰湪ParentList涓殑绱㈠紩
+ const parentIndex = this.ParentList.findIndex(item => item.oid === row.oid);
+ if (parentIndex !== -1) {
+ const parentOid = this.ParentList[parentIndex].classifyOid;
- if (row.children && row.children.length > 0) {
- for (let child of row.children) {
- this.ParentRemoveList = this.ParentList.filter(record => record.oid !== child.oid);
-
- if (child.children && child.children.length > 0) {
- for (let subChild of child.children) {
- this.ParentRemoveList = this.ParentList.filter(record => record.oid !== subChild.oid);
- }
+ // 鏌ユ壘鎵�鏈夐渶瑕佸垹闄ょ殑瀛愯妭鐐圭殑绱㈠紩
+ 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.ParentRemoveList)
}
+ console.log('this.ParentList',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');
- // 鏍规嵁 this.TreeData 鐨勯暱搴﹁绠楀欢杩熸椂闂�
+ let List = [];
+ let value = 0;
+ let NumberList= [];
+ function traverse(obj, parent) {
+ //閲嶆柊鏋勫缓涓�娆¢�変腑褰撳墠row鐨勬暟鎹�
+ const record = {
+ label: obj.text,
+ oid: obj.oid,
+ attributes:{
+ classifyId: obj.attributes.classifyId,
+ classifyOid: obj.attributes.classifyOid,
+ selected:obj.attributes.selected
+ },
+ classParentOid: obj.parentId,
+ value: value,
+ children: []
+ };
+ //褰撳墠宸查�夋嫨鏁版嵁鍥炲~
+ if (record.attributes.selected == 'true') {
+ NumberList.push(record.value);
+ }
+ if (parent) {
+ const stingChild = parent.children.find(child => child.label === record.label);
+ if (stingChild) {
+ record.value = stingChild.value; // 浣跨敤宸插瓨鍦ㄧ殑瀛愯妭鐐圭殑value鍊�
+ } else {
+ parent.children.push(record);
+ value++;
+ }
+ } else {
+ const stingRecord = List.find(item => item.label === record.label);
+ if (stingRecord) {
+ record.value = stingRecord.value; // 浣跨敤宸插瓨鍦ㄧ殑椤跺眰鑺傜偣鐨剉alue鍊�
+ } else {
+ List.push(record);
+ value++;
+ }
+ }
+ if (obj.children && obj.children.length > 0) {
+ for (let child of obj.children) {
+ traverse(child, record);
+ }
+ }
+ }
+ for (let item of res.data) {
+ traverse(item, null);
+ }
+ // console.log('list', List);
+ this.TreeData = List;
+ // this.ModifyProperties(this.TreeData, 'text', 'label');
+ // 鏍规嵁this.TreeData鐨勯暱搴﹁绠楀欢杩熸椂闂�
const delayTime = this.TreeData.length * 1;
setTimeout(() => {
this.loading = false;
- this.reload = Math.random()
+ this.reload = Math.random();
this.dialogVisible = true;
+
+ this.$nextTick(() => {
+ if (this.$refs.tree) {
+ this.$refs.tree.setCheckedKeys(NumberList);
+ }
+ });
}, delayTime);
});
},
@@ -230,7 +306,6 @@
},
async getDataList() {
this.loading = true;
- console.log(this.search);
const {pageSize, currentPage} = this.page;
const conditions = {};
if (Object.keys(this.search).length > 0) {
@@ -242,7 +317,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;
@@ -311,7 +386,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