diff --git a/src/views/archivesManage/archivesCheck/module/addCheck.vue b/src/views/archivesManage/archivesCheck/module/addCheck.vue index 1ced78d..9cf2f0d 100644 --- a/src/views/archivesManage/archivesCheck/module/addCheck.vue +++ b/src/views/archivesManage/archivesCheck/module/addCheck.vue @@ -12,27 +12,13 @@ - { + if (item.childrenList && item.childrenList) { + item.childrenList.forEach(item2 => { + item2.childrenList.forEach(item3 => { + this.menusIds.push(item3.menuId) + }) + }) + } + }) } } diff --git a/src/views/components/TreeSelect.vue b/src/views/components/TreeSelect.vue index e640794..c94efd9 100644 --- a/src/views/components/TreeSelect.vue +++ b/src/views/components/TreeSelect.vue @@ -62,6 +62,13 @@ export default { return {} } }, + // 没有子节点的id数组 + menusIds: { + type: Array, + default() { + return [] + } + }, // 配置是否可多选 multiple: { type: Boolean, @@ -209,6 +216,7 @@ export default { }, // 单选,节点被点击时的回调,返回被点击的节点数据 handleNodeClick(data, node) { + console.log(node, 'node') if (!this.multiple) { this.setSelectOption(node) this.isShowSelect = !this.isShowSelect @@ -218,6 +226,7 @@ export default { // 多选,节点勾选状态发生变化时的回调 handleCheckChange() { var checkedKeys = this.$refs.tree.getCheckedKeys() // 所有被选中的节点的 key 所组成的数组数据 + this.options = checkedKeys.map((item) => { var node = this.$refs.tree.getNode(item) // 所有被选中的节点对应的node const tmpMap = {} @@ -225,9 +234,10 @@ export default { tmpMap.label = node.label return tmpMap }) - this.selectedData = this.options.map((item) => { - return item.value - }) + // this.selectedData = this.options.map((item) => { + // return item.value + // }) + this.selectedData = this.menusIds.filter(item => this.options.some(v => v.value === item)) this.$emit('change', this.selectedData) }, // 多选,删除任一select选项的回调