From c4d9e7a20dac267c5496ad3586c5053be279a17a Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期五, 26 四月 2024 20:09:59 +0800 Subject: [PATCH] 添加action,表单组件 --- Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue | 81 ++++++++++++++++++++++++---------------- 1 files changed, 49 insertions(+), 32 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..a51cb18 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue @@ -1,6 +1,7 @@ <template> <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid"> <dynamic-button v-if="componentVO.buttons && componentVO.buttons.length>0" :componentVO="componentVO" + :key="areasName+'buttons-'+componentVO.oid" :butttonList="componentVO.buttons" :dataStore="checkDatas" :sourceData="sourceData" type="tree" style="margin-bottom: 5px;"></dynamic-button> <el-input @@ -20,6 +21,7 @@ node-key="oid" @check="checkNode" @current-change="changeNode" + @node-click="clickNode" ref="tree"> </el-tree> </div> @@ -119,13 +121,14 @@ isMuti:false, data:[], checkDatas:[], + currentClickNode:null, params:{}, sourceDataMapParams:{} } }, created() { this.getParams(); - if(!this.lazy){ + if (!this.lazy) { this.initData(); } }, @@ -141,12 +144,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 +161,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 +173,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 +210,46 @@ 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; + const params=this.params; + if(node.level === 0){ + params.queryRoot= true; + }else { + delete params.queryRoot; } - getTree(parentOid,parentBtmName,this.params).then(res => { + getTree(parentOid, parentBtmName, 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