From 59765cab961847dfd101e69ae6d8d1d501a5284c Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期二, 04 六月 2024 11:10:28 +0800
Subject: [PATCH] 1、ice配置文件上传
---
Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue | 103 ++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 76 insertions(+), 27 deletions(-)
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
index ad9135f..527e2e5 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
@@ -1,7 +1,10 @@
<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"
+ @afterMethod="handleRefresh"
+ @refresh="initData"
:sourceData="sourceData" type="tree" style="margin-bottom: 5px;"></dynamic-button>
<el-input
placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
@@ -48,6 +51,15 @@
inDialog: {
type: Boolean,
default: false
+ },
+ canEdit:{
+ //鍐呭鏄惁鍙紪杈�
+ type:Boolean,
+ default:false
+ },
+ actionType:{
+ //鎸夐挳鎿嶄綔绫诲瀷
+ default:""
},
areasName:{
type:String,
@@ -98,7 +110,23 @@
dataStore:newval
});
}
- }
+ },
+ deep: true,
+ immediate: true
+ },
+ data:{
+ handler(newval) {
+ if(newval) {
+ this.$emit("setData", {
+ area: this.areasName,
+ type:this.componentVO.uiComponentType,
+ currentDefineVO:this.componentVO.treeDefineVO,
+ data:newval
+ });
+ }
+ },
+ deep: true,
+ immediate: true
},
sourceData:{
handler(newval) {
@@ -106,7 +134,9 @@
this.sourceDataMapParams=this.sourceDataMap();
this.getParams();
this.handleRefresh();
- }
+ },
+ deep: true,
+ immediate: true
}
},
data() {
@@ -126,10 +156,6 @@
}
},
created() {
- this.getParams();
- if (!this.lazy) {
- this.initData();
- }
},
mounted() {
if(this.componentVO.buttons && this.componentVO.buttons.length>0){
@@ -149,23 +175,21 @@
this.sourceData.oid = this.sourceData.oid.split('@vcitreesep@')[1];
}
sourceDataMap.sourceBtmName = this.sourceBtmType;
- ;
sourceDataMap.sourceOid = this.sourceData.oid;
}
for (let i in this.sourceData) {
- let item = this.sourceData[i]
- if (item && item.constructor === Object) return;
- if (i == 'type' || i == 'context' || i == 'content') return;
+ const item = this.sourceData[i]
+ if (item && item.constructor === Object) continue;
+ if (i == 'type' || i == 'context' || i == 'content') continue;
sourceDataMap['sourceData["' + i + '"]'] = item
}
}
if (Object.keys(this.paramVOS).length > 0) {
- for (let i in this.paramVOS) {
- let item = this.paramVOS[i]
- if (item && item.constructor === Object) return;
- if (i == 'type' || i == 'context' || i == 'content') return;
- sourceDataMap['sourceData["' + i + '"]'] = item
+ for (let j in this.paramVOS) {
+ if (this.paramVOS[j] && this.paramVOS[j].constructor === Object) continue;
+ if (j == 'type' || j == 'context' || j == 'content' || j == "getdataurl" || j == "getdatamethod" || j == "url" || j == "method" || j == "uploadfileurl" || j == "title") continue;
+ sourceDataMap['sourceData["' + j + '"]'] = this.paramVOS[j]
}
}
return sourceDataMap;
@@ -189,13 +213,14 @@
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
+ rootExpress: this.componentVO.treeDefineVO.rootExpress || ''
}
const sourceDataMapList = this.sourceDataMapParams;
this.params = Object.assign({}, treeParams, sourceDataMapList);
},
initData() {
+ this.data=[];
if (Object.keys(this.sourceData).length > 0 && this.isShow) {
getTree(null, null, Object.assign({
queryRoot: true
@@ -213,33 +238,57 @@
parentOid = parentOid.split('@vcitreesep@')[1];
}
const parentBtmName = (node.level === 0) ? '' : node.data.attributes.btmname;
- getTree(parentOid, parentBtmName, this.params).then(res => {
+ 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" || type=="del"){
+ 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