From 9377dda0b3a5401f09465f75f07f73e70bd4bc25 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 06 十二月 2023 13:57:03 +0800
Subject: [PATCH] 本地日志修改限制只能单个下载
---
Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue | 117 +++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 99 insertions(+), 18 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
index fb1830b..f1a8c0d 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
@@ -1,27 +1,34 @@
<template>
- <avue-input-tree :props="props" :lazy="lazy" :tree-load="treeLoad" :leaf-only="!referConfig.onlyLeaf" :multiple="isMuti" v-model="value" :placeholder="placeholder" :dic="treeData"></avue-input-tree>
+ <avue-input-tree ref="referTree" :props="props" :disabled="disabled" :lazy="lazy" :tree-load="treeLoad" :node-click="nodeClick" :checked="checked"
+ :leaf-only="referConfig.onlyLeaf" :multiple="isMuti" v-model="value" :placeholder="title" :dic="treeData"></avue-input-tree>
</template>
<script>
import {getTree,getLazyTree} from "@/api/refer/tree";
+import {validatenull} from "@/util/validate";
export default {
name: "vciWebReferTree",
- props:["referConfig","value"],
+ props:["referConfig","value","text","title","disabled"],
data() {
return {
+ visible: false,
options: this.referConfig.options,
lazy: this.referConfig.options.loadType == 'node',
- isMuti: this.referConfig.isMuti,
- placeholder: this.referConfig.placeholder || '璇烽�夋嫨鍐呭',
+ isMuti:("true" == this.referConfig.options.isMuti || this.referConfig.options.isMuti == true || this.referConfig.options.muti == true) ? true : false,
props: {
- value: this.referConfig.valueField || this.referConfig.options.valueField || 'oid',
- label: this.referConfig.textField || this.referConfig.options.textField || "name"
- //value:"value",
- //label:"title"
+ value: 'oid',
+ label: "name"
},
- treeUrl: this.referConfig.options.url || '',//'/api/ubcs-code/codeClassify/treeCodeClassify',
+ config:{
+ valueField: this.referConfig.valueField || this.referConfig.options.valueField || 'oid',
+ textField:this.referConfig.textField || this.referConfig.options.textField || "name",
+ textSep:this.referConfig.textSep || ' '
+ },
+ treeUrl: this.referConfig.options.url || '/api/ubcs-code/mdmEngineController/defaultReferTree',
treeData: [],
+ checkedData:[],
+ currentNode:{},
params: {},
loadType: {'all': 'all', 'node': 'node'},
copyParam: ['btmType', 'lnType', 'toBtmType', 'textField', 'valueField', 'parentFieldName', 'parentValue', 'sort', 'order', 'isDirection', 'whereSql', 'isMuti', 'queryScheme', 'isQueryAllColumn', 'queryColumn', 'split', 'loadType', 'onlyLeaf', 'onlyLeafText', 'parentUsedField']
@@ -39,10 +46,10 @@
}
}
},
+ computed:{},
methods: {
getParams:function (){
var queryParams = {};
- debugger;
if(this.options.extraParams){
queryParams = this.options.extraParams;
}
@@ -54,10 +61,10 @@
}
}
queryParams['referBo'] = this.options['referBo'] || this.options['referType'];
+ queryParams['referType']= queryParams['referBo']
queryParams['selectAllLevel'] = (this.options.loadType == this.loadType.all?true:false);//true鏃跺悗鍙颁細鎶ラ敊
- if(queryParams.isMuti =="true"){
- queryParams.muti =true;
- }
+
+ queryParams.muti =this.isMuti;
if(queryParams.isQueryAllColumn =="true"){
queryParams.isQueryAllColumn = true;
}
@@ -72,9 +79,15 @@
queryParams['loadType'] = this.options.loadType;
queryParams['multipleSelect'] = this.isMuti;
queryParams['isMuti'] = queryParams['multipleSelect'];
- if (this.options.remoteSort && this.options.initSort) {
+ if (this.options.initSort) {
queryParams['order'] = this.options.initSort.type;//鏂规硶
queryParams['sort'] = this.options.initSort.field;//瀛楁
+ }
+ if(this.options.sortField){
+ queryParams['sort'] = this.options.sortField;//瀛楁
+ }
+ if(this.options.sortType){
+ queryParams['order'] = this.options.sortType;//鏂规硶
}
if (this.options.rootParams) {
for (var key in this.options.rootParams) {
@@ -115,12 +128,27 @@
this.params=queryParams;
},
- getTree(){
- getTree(this.params,this.treeUrl).then(res => {
- this.treeData=res.data
+ getTree() {
+ //鍔犺浇鍏ㄩ儴
+ getTree(this.params, this.treeUrl).then(res => {
+ res.data.map(item => {
+ if (!item.attributes) {
+ item.attributes = {
+ data: {}
+ }
+ } else {
+ item.attributes.data = item.attributes.data || {}
+ }
+ return {
+ ...item,
+ leaf: !item.hasChildren
+ }
})
+ this.treeData = res.data
+ })
},
treeLoad: function (treeNode, resolve) {
+ //閫愮骇鍔犺浇
const parentOid = (treeNode.level === 0) ? 0 : treeNode.data.oid;
this.params.parentOid=parentOid.indexOf('@vcitreesep@') > -1 ? parentOid.split('@vcitreesep@')[1] : parentOid;
this.params.parentValue=this.params.parentOid;
@@ -134,14 +162,67 @@
}
getLazyTree(this.params,this.treeUrl).then(res => {
resolve(res.data.data.map(item => {
+ if(!item.attributes){
+ item.attributes={
+ data:{}
+ }
+ }else{
+ item.attributes.data=item.attributes.data || {}
+ }
return {
...item,
leaf: !item.hasChildren
}
}))
});
- }
+ },
+ nodeClick(data, node, nodeComp){
+ if(!this.isMuti) {
+ this.setValue({checkedNodes:[data]})
+ }
+ },
+ checked(checkedNode, checkedData) {
+ this.setValue(checkedData)
+ },
+ setValue:function (checkedData){
+ this.checkedData=checkedData
+ var value = [];
+ var text = [];
+ const textSep =this.config.textSep;
+ for(var j =0;j<checkedData.checkedNodes.length;j++){
+ const item=checkedData.checkedNodes[j];
+ var v=this.config.valueField.indexOf("attribute.")>=0?(item.attributes[this.config.valueField.replace("attribute.","")] || item.attributes.data[this.config.valueField.replace("attribute.","")]):(item.attributes[this.config.valueField] || item[this.config.valueField] || item.attributes.data[this.config.valueField])
+ value.push(v);
+ var tempRaw = [];
+ var textFieldArray = this.config.textField.split(",");
+ for (var i = 0; i < textFieldArray.length; i++) {//鏄剧ず鐨勫瓧娈靛彲鑳芥湁澶氫釜
+ if (!validatenull(textFieldArray[i])) {
+ var t=textFieldArray[i].indexOf("attribute.")>=0?(item.attributes[textFieldArray[i].replace("attribute.","")] ||item.attributes.data[textFieldArray[i].replace("attribute.","")]):(item.attributes[textFieldArray[i]] || item[textFieldArray[i]] || item.attributes.data[textFieldArray[i]])
+ tempRaw.push(t);
+ }
+ }
+ text.push(tempRaw.join(textSep));
+ }
+ let mapFields =this.referConfig.fieldMap || {};
+ try {
+ if(!validatenull(this.options.mapFields)){
+ mapFields =Object.assign(this.referConfig.fieldMap,JSON.parse(this.options.mapFields)) ;
+ }
+ }catch (e) {
+ }
+ this.value = value.join(',');
+ this.text = text.join(',');
+ this.$emit("setValue", {
+ field: this.referConfig.field,
+ showField: this.referConfig.showField,
+ value: this.value,
+ text: this.text || '',
+ isTreeMuti:this.isMuti,
+ rawData: checkedData.checkedNodes,
+ fieldMap:mapFields
+ });
+ }
}
}
</script>
--
Gitblit v1.9.3