From 506b5b59e3899d8dd40a61cc8b9a575bbde3caaa Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期一, 06 五月 2024 18:24:33 +0800 Subject: [PATCH] 添加action --- Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue | 58 ++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 44 insertions(+), 14 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue index 191c5e3..3d80d3a 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue @@ -106,6 +106,18 @@ } } }, + data:{ + handler(newval) { + if(newval) { + this.$emit("setData", { + area: this.areasName, + type:this.componentVO.uiComponentType, + btmType:this.componentVO.treeDefineVO.btmType, + data:newval + }); + } + } + }, sourceData:{ handler(newval) { //婧愭暟鎹湁鍙樺寲鏃跺彉鏇村綋鍓嶅尯鍩熸暟鎹� @@ -219,39 +231,57 @@ parentOid = parentOid.split('@vcitreesep@')[1]; } const parentBtmName = (node.level === 0) ? '' : node.data.attributes.btmname; - const params=this.params; - if(node.level === 0){ - params.queryRoot= true; - }else { + const params = this.params; + if (node.level === 0) { + params.queryRoot = true; + } else { delete params.queryRoot; } getTree(parentOid, parentBtmName, params).then(res => { resolve(res.data.treeData) + this.$nextTick(()=>{ + if (this.isRefresh) { + this.$refs.tree.setCurrentKey(this.currentClickNode.data.oid); + this.isRefresh=false; + } + }) + }).catch(error => { this.$message.error(error); }) }, checkNode(checkedNode, checkedData) { if (this.isMuti) { - this.checkDatas = checkedData.checkedNodes; + let checkDatas = []; + checkedData.checkedNodes.forEach(item=>{ + checkDatas.push(item.attributes) + }) + this.checkDatas=checkDatas; } }, changeNode(data, node) { if (!this.isMuti) { - this.checkDatas = [data]; + this.checkDatas = [data.attributes]; } }, clickNode(data, node) { this.currentClickNode = node; }, - handleRefresh() { - if (!this.lazy) { - this.initData(); - } else { - if (this.currentClickNode) { - let node = this.currentClickNode.parent; - node.loaded = false; - node.expand(); + handleRefresh(type,data) { + //type:add\edit\delete + if(type=="delete"){ + this.$refs.tree.remove(this.currentClickNode); + this.currentClickNode=null; + }else{ + if (!this.lazy) { + this.initData(); + } else { + if (this.currentClickNode) { + let node = this.currentClickNode.parent; + node.loaded = false; + node.expand(); + this.isRefresh=true; + } } } this.checkDatas = []; -- Gitblit v1.9.3