From 0ae335556cd033125e06fff4463fe231eff160bc Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期二, 16 四月 2024 17:58:42 +0800
Subject: [PATCH] 树刷新
---
Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue | 76 +++++++++++++++++++++----------------
1 files changed, 43 insertions(+), 33 deletions(-)
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
index a7f9024..ad9135f 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
@@ -20,6 +20,7 @@
node-key="oid"
@check="checkNode"
@current-change="changeNode"
+ @node-click="clickNode"
ref="tree">
</el-tree>
</div>
@@ -119,13 +120,14 @@
isMuti:false,
data:[],
checkDatas:[],
+ currentClickNode:null,
params:{},
sourceDataMapParams:{}
}
},
created() {
this.getParams();
- if(!this.lazy){
+ if (!this.lazy) {
this.initData();
}
},
@@ -141,12 +143,13 @@
},
sourceDataMap: function () {
const sourceDataMap = {};
- if (Object.keys(this.sourceData).length>0) {
- if(this.sourceData.oid ) {
+ if (Object.keys(this.sourceData).length > 0) {
+ if (this.sourceData.oid) {
if (this.sourceData.oid.indexOf('@vcitreesep@') > -1) {
this.sourceData.oid = this.sourceData.oid.split('@vcitreesep@')[1];
}
- sourceDataMap.sourceBtmName = this.sourceBtmType;;
+ sourceDataMap.sourceBtmName = this.sourceBtmType;
+ ;
sourceDataMap.sourceOid = this.sourceData.oid;
}
for (let i in this.sourceData) {
@@ -157,7 +160,7 @@
}
}
- if (Object.keys(this.paramVOS).length>0) {
+ if (Object.keys(this.paramVOS).length > 0) {
for (let i in this.paramVOS) {
let item = this.paramVOS[i]
if (item && item.constructor === Object) return;
@@ -169,36 +172,35 @@
},
getParams: function () {
let parentFieldName = "";
- if(this.componentVO.treeDefineVO.showLinkAbs){
+ if (this.componentVO.treeDefineVO.showLinkAbs) {
parentFieldName = this.componentVO.treeDefineVO.showLinkAbs.split(",")[0];
}
- const treeParams={
- queryAllLevel:!this.lazy,
- loadType:this.componentVO.treeDefineVO.loadType,
- multipleSelect:this.isMuti,
+ const treeParams = {
+ queryAllLevel: !this.lazy,
+ loadType: this.componentVO.treeDefineVO.loadType,
+ multipleSelect: this.isMuti,
isMuti: this.isMuti,
isQueryAllColumn: true,
btmname: this.componentVO.treeDefineVO.btmType,
- componentOid:this.componentVO.oid,
- uiDefineId:this.uiContext,
- valueField:this.componentVO.treeDefineVO.valueField || 'oid',
- parentFieldName:parentFieldName,
- textField:this.componentVO.treeDefineVO.treeNodeExpression,
+ componentOid: this.componentVO.oid,
+ uiDefineId: this.uiContext,
+ valueField: this.componentVO.treeDefineVO.valueField || 'oid',
+ parentFieldName: parentFieldName,
+ textField: this.componentVO.treeDefineVO.treeNodeExpression,
queryTemplate: this.sourceData.querytemplate,
- linkTypeFlag: validatenull(this.sourceData.queryType)?(validatenull(this.sourceData.linkType)?false:true):(this.sourceData.queryType==0?false:true),
- rootExpress:this.componentVO.treeDefineVO.rootExpress
+ linkTypeFlag: validatenull(this.sourceData.queryType) ? (validatenull(this.sourceData.linkType) ? false : true) : (this.sourceData.queryType == 0 ? false : true),
+ rootExpress: this.componentVO.treeDefineVO.rootExpress
}
const sourceDataMapList = this.sourceDataMapParams;
- this.params = Object.assign({},treeParams, sourceDataMapList);
+ this.params = Object.assign({}, treeParams, sourceDataMapList);
},
initData() {
if (Object.keys(this.sourceData).length > 0 && this.isShow) {
- getTree(null,null,Object.assign({
+ getTree(null, null, Object.assign({
queryRoot: true
}, this.params)).then(res => {
this.data = res.data.treeData;
- this.checkDatas = [];
}).catch(error => {
this.$message.error(error);
})
@@ -207,32 +209,40 @@
loadNode(node, resolve) {
//閫愮骇鍔犺浇
let parentOid = (node.level === 0) ? 0 : node.data.oid;
- if (parentOid!=0 && parentOid.indexOf('@vcitreesep@') > -1) {
- parentOid= parentOid.split('@vcitreesep@')[1];
+ if (parentOid != 0 && parentOid.indexOf('@vcitreesep@') > -1) {
+ parentOid = parentOid.split('@vcitreesep@')[1];
}
const parentBtmName = (node.level === 0) ? '' : node.data.attributes.btmname;
- let params=this.params;
- if(parentOid===0){
- //params.queryRoot=true;
- }
- getTree(parentOid,parentBtmName,this.params).then(res => {
+ getTree(parentOid, parentBtmName, this.params).then(res => {
resolve(res.data.treeData)
}).catch(error => {
this.$message.error(error);
})
},
- checkNode(checkedNode, checkedData){
+ checkNode(checkedNode, checkedData) {
if (this.isMuti) {
- this.checkDatas=checkedData.checkedNodes;
+ this.checkDatas = checkedData.checkedNodes;
}
},
- changeNode(data,node) {
+ changeNode(data, node) {
if (!this.isMuti) {
- this.checkDatas=[data];
+ this.checkDatas = [data];
}
},
- handleRefresh(){
- this.initData();
+ 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();
+ }
+ }
+ this.checkDatas = [];
}
},
}
--
Gitblit v1.9.3