From 8cc891b06558d9998723942aacd20ca3d894336e Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 22 九月 2023 18:05:16 +0800
Subject: [PATCH] 修改参照
---
Source/UBCS-WEB/src/components/refer/vciWebRefer.vue | 6
Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue | 3
Source/UBCS-WEB/src/components/FormTemplate/index.vue | 17 ++-
Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue | 7 +
Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue | 129 ++++++++++++++++++++++++++++++--
Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue | 28 +++---
6 files changed, 156 insertions(+), 34 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index 3e341d5..9f69e9b 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -211,10 +211,11 @@
trigger = "blur";
}
let fieldMapKey=''
- if( formItem.type == "refer"){
- if(!formItem.fieldMap){
- fieldMapKey=formItem.field+'Id'
- }
+ if( formItem.type == "refer" && !formItem.fieldMap){
+ fieldMapKey=formItem.field+'Id'
+ formItem.fieldMap={}
+ formItem.fieldMap[fieldMapKey]='id'
+ formItem.fieldMap[formItem.field+'id']='id'
}
let columnItem = {
label: formItem.text,
@@ -249,7 +250,7 @@
title: formItem.text,
showField: formItem.showField || formItem.field,
field: formItem.field,
- fieldMap:formItem.fieldMap || {fieldMapKey:'id'},
+ fieldMap:formItem.fieldMap || {},
placeholder: formItem.inputTip,
options: formItem.referConfig
}
@@ -294,8 +295,121 @@
this.geDictData(dictKeys);
this.getFormDetail();
- // console.log('selfColumnConfig',this.selfColumnConfig)
+ },
+ //淇敼绾ц仈椤�
+ changeChildItem(items,TreeValue) {
+ let column = this.option.column;
+ let group = this.option.group;
+ items.forEach((item) => {
+ let formItem = this.resetFormConfig(item);
+ if (formItem.field == "lcstatus") {
+ formItem.field = formItem.field + "_text";
+ formItem.readOnly = true;
+ }
+ // 璁剧疆琛ㄥ崟鏍¢獙鐨勮鍒欙紝鏂囨湰
+ let message = "璇烽�夋嫨";
+ let trigger = "change";
+ if (formItem.type === "text") {
+ message = "璇疯緭鍏�";
+ trigger = "blur";
+ }
+ let fieldMapKey = ''
+ if (formItem.type == "refer" && !formItem.fieldMap) {
+ fieldMapKey = formItem.field + 'Id'
+ formItem.fieldMap = {}
+ formItem.fieldMap[fieldMapKey] = 'id'
+ formItem.fieldMap[formItem.field + 'id'] = 'id'
+ }
+ let columnItem = {
+ label: formItem.text,
+ labelslot: true,
+ prop: this.$utilFunc.isValuableObj(formItem.referConfig)
+ ? formItem.showField || formItem.field
+ : formItem.field,
+ field: formItem.field,
+ type: this.columnType[formItem.type],
+ dicData: this.getDataList(formItem.type, formItem.data),
+ disabled: this.type === "detail" ? true : formItem.readOnly || (formItem.codeValueApplyStatus && formItem.codeValueApplyStatus == 2 ? true : false),
+ prepend: this.preOrSufFixShow("text", formItem.prefix),
+ append: this.preOrSufFixShow("text", formItem.suffix),
+ prefixIcon: this.preOrSufFixShow("icon", formItem.prefix),
+ suffixIcon: this.preOrSufFixShow("icon", formItem.suffix),
+ valueFormat: formItem.dateFormate,
+ format: formItem.dateFormate,
+ keyAttr: formItem.keyAttr,
+ value: (formItem.dicData && formItem.dicData.length > 0 && formItem.secType == "codefixedsec" ? formItem.dicData[0].id : null) ||
+ (formItem.secType == "codedatesec" ? formItem.codeDateValue : null) || (TreeValue && formItem.secType == "codelevelsec" ? TreeValue : null),
+ placeholder: formItem.inputTip,
+ comboxKey: formItem.comboxKey,
+ tip: formItem.tooltips,
+ // hidden:formItem.secType && formItem.codeValueApplyStatus == 3 ? true : false,
+ // readonly:formItem.codeValueApplyStatus && formItem.codeValueApplyStatus == 2 ?true : false ,
+ display: !formItem.hidden,
+ maxlength: formItem.maxlength,
+ filterable: true,
+ referConfig:
+ formItem.type == "refer"
+ ? {
+ title: formItem.text,
+ showField: formItem.showField || formItem.field,
+ field: formItem.field,
+ fieldMap: formItem.fieldMap || {},
+ placeholder: formItem.inputTip,
+ options: formItem.referConfig
+ }
+ : {},
+ span: formItem.span
+ ? formItem.span
+ : formItem.type === "textarea"
+ ? 24
+ : this.localTrendsSpan,
+ rules: [
+ {
+ required: formItem.required,
+ message: `${message}${formItem.text}`,
+ trigger,
+ },
+ {
+ // 濡傛灉娌℃湁姝e垯鍒欏尮閰嶄换浣曞瓧绗�
+ pattern: formItem.verify ? formItem.verify : /[\s\S.]*/g,
+ message: formItem.tooltips,
+ trigger,
+ },
+ ],
+ props: {
+ label: "value",
+ value: "key",
+ },
+ };
+
+ if (group.length === 0) {
+ this.slotColumnList.forEach((index, colItem) => {
+ if (colItem.field == columnItem.field) {
+ this.slotColumnList[index] = columnItem;
+ column[index] = columnItem;
+ return;
+ }
+ })
+ } else {
+ this.slotColumnList.forEach((index, colItem) => {
+ if (colItem.field == columnItem.field) {
+ this.slotColumnList[index] = columnItem;
+ return;
+ }
+ })
+ group.forEach((index, groupItem) => {
+ groupItem.column.forEach((colIndex, colItem) => {
+ if (colItem.field == columnItem.field) {
+ group[index].column[colIndex] = columnItem;
+ return;
+ }
+ })
+ });
+ }
+ });
+ this.$set(this.option, "column", column);
+ this.$set(this.option, "group", group);
},
// 浣跨敤浼犲叆鐨勮〃鍗曟暟鎹厤缃�
resetFormConfig(formItem) {
@@ -404,7 +518,6 @@
);
},
setReferValue(data) {
- debugger;
if (data.field) {
this.form[data.field] = data.value || "";
this.form[data.showField] = data.text || "";
@@ -447,8 +560,8 @@
this.form[key] = value.join(',');
}
}
- this.$emit("getFormData", this.form);
this.$emit("referConfigDataUpdate", data);
+ this.$emit("getFormData", this.form);
}
},
},
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
index 886ce91..858400a 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -11,6 +11,7 @@
@opened="openDialog"
>
<FormTemplate
+ key="masterForm" data-key="masterForm"
v-bind="$attrs"
:type="type"
:TreeValue="TreeValue"
@@ -33,7 +34,8 @@
<el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
<el-tab-pane label="鐮佸�肩敵璇�" name="codeApply" v-if="showCodeApply">
<FormTemplate
- v-bind="$attrs"
+ key="codeApplyForm" data-key="codeApplyForm"
+ secDTOListv-bind="$attrs"
:type="type"
:selfColumnType="selfColumnType"
:selfColumnConfig="selfColumnConfig"
@@ -271,8 +273,8 @@
},
// 鑾峰彇鐮佸�肩敵璇锋暟鎹�
getCodeRule() {
- let that = this;
- getCodeRule({ codeClassifyOid: that.codeClassifyOid }).then((res) => {
+ let that = this;
+ getCodeRule({codeClassifyOid: that.codeClassifyOid}).then((res) => {
if (res.data && res.data.code === 200) {
that.codeRuleOid = res.data.data.oid;
const typeList = [
@@ -298,8 +300,8 @@
if (that.secVOList.length > 0 && that.type === "add") {
that.showCodeApply = true;
that.activeName = "codeApply";
- that.$nextTick(() => {
- that.$refs.CodeApply.templateRender(that.secVOList,this.TreeValue);
+ this.$nextTick(() => {
+ that.$refs.CodeApply.templateRender(that.secVOList, this.TreeValue);
});
} else {
that.showCodeApply = false;
@@ -316,16 +318,19 @@
// 鍙傜収缁勪欢鏁版嵁鍙樻洿
referConfigDataUpdate(data) {
const { field } = data;
+ let childItems=[];
this.secVOList = this.secVOList.map((item) => {
if (item.parentClassifySecOid === field) {
this.$refs.CodeApply.form[item.oid] = undefined;
this.$refs.CodeApply.form[item.name] = undefined;
item.readOnly=false;
item.referConfig.extraParams.parentClassifyValueOid=data.value;
+ childItems.push(item)
}
return item;
});
- this.$refs.CodeApply.templateRender(this.secVOList,this.TreeValue);
+ //this.$refs.CodeApply.templateRender(this.secVOList,this.TreeValue);
+ this.$refs.CodeApply.changeChildItem(childItems);
},
resembleQuerySubmit() {
this.activeName = "resembleQuery";
diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
index 8b5bc4c..da4f9db 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
@@ -853,6 +853,7 @@
{
label: "鍙傜収閰嶇疆",
prop: "referConfig",
+ width: 105
},
{
label: "绾ц仈鏌ヨ灞炴��",
@@ -897,7 +898,7 @@
{
label: "鍙栧�艰寖鍥�",
prop: "valueArea",
- },
+ }
]
},
// 瀛樺偍琛ㄦ牸鏁版嵁
diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue b/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue
index e389526..155d24a 100644
--- a/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue
+++ b/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue
@@ -7,7 +7,7 @@
</el-form>
<el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
<el-tab-pane label="鏈�澶ф祦姘村彿" name="codeApply">
- <form-template v-bind="$attrs" type="add" :selfColumnType="selfColumnType" :trendsSpan="24"
+ <form-template key="codeApplyMaxForm" data-key="codeApplyMaxForm" v-bind="$attrs" type="add" :selfColumnType="selfColumnType" :trendsSpan="24"
:selfColumnConfig="selfColumnConfig" ref="CodeApply" @getFormData="getCodeApplyFormData"
@referConfigDataUpdate="referConfigDataUpdate"></form-template>
</el-tab-pane>
@@ -194,16 +194,19 @@
// 鍙傜収缁勪欢鏁版嵁鍙樻洿
referConfigDataUpdate(data) {
const {field} = data;
+ let childItems=[];
this.secVOList = this.secVOList.map((item) => {
if (item.parentClassifySecOid === field) {
this.$refs.CodeApply.form[item.oid] = undefined;
this.$refs.CodeApply.form[item.name] = undefined;
item.readOnly = false;
item.referConfig.extraParams.parentClassifyValueOid = data.value;
+ childItems.push(item)
}
return item;
});
- this.$refs.CodeApply.templateRender(this.secVOList);
+ //this.$refs.CodeApply.templateRender(this.secVOList);
+ this.$refs.CodeApply.changeChildItem(childItems);
},
isRequired(item) {
return item.nullableFlag != "true";
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
index 7ecbfa0..f73ca39 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
@@ -1,8 +1,8 @@
<template>
<div v-if="display">
- <vciWebReferTree ref="vciWebReferTree" v-if="refertype=='tree'" @setValue="setValue" :value="value" :text="text" :title="title" :disabled="disabled" :referConfig="referConfig"></vciWebReferTree>
- <vciWebReferTable v-else-if="refertype=='table'" @setValue="setValue" :value="value" :text="text" :title="title" :disabled="disabled" :referConfig="referConfig"></vciWebReferTable>
- <vciWebReferDefalut v-else @setValue="setValue" :value="value" :text="text" :title="title" :disabled="disabled" :referConfig="referConfig"></vciWebReferDefalut>
+ <vciWebReferTree :key="referConfig.field" :data-key="referConfig.field" ref="vciWebReferTree" v-if="refertype=='tree'" @setValue="setValue" :value="value" :text="text" :title="title" :disabled="disabled" :referConfig="referConfig"></vciWebReferTree>
+ <vciWebReferTable :key="referConfig.field" :data-key="referConfig.field" v-else-if="refertype=='table'" @setValue="setValue" :value="value" :text="text" :title="title" :disabled="disabled" :referConfig="referConfig"></vciWebReferTable>
+ <vciWebReferDefalut :key="referConfig.field" :data-key="referConfig.field" v-else @setValue="setValue" :value="value" :text="text" :title="title" :disabled="disabled" :referConfig="referConfig"></vciWebReferDefalut>
</div>
</template>
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
index fa3ea8d..f1ac96e 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
@@ -1,5 +1,6 @@
<template>
- <avue-input-tree ref="referTree" :props="props" :disabled="disabled" :lazy="lazy" :tree-load="treeLoad" :node-click="nodeClick" :checked="checked" :blur="valueChange" :leaf-only="referConfig.onlyLeaf" :multiple="isMuti" v-model="value" :placeholder="title" :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>
@@ -11,6 +12,7 @@
props:["referConfig","value","text","title","disabled"],
data() {
return {
+ visible: false,
options: this.referConfig.options,
lazy: this.referConfig.options.loadType == 'node',
isMuti:("true" == this.referConfig.options.isMuti || this.referConfig.options.isMuti == true || this.referConfig.options.muti == true) ? true : false,
@@ -127,14 +129,15 @@
},
getTree() {
+ //鍔犺浇鍏ㄩ儴
getTree(this.params, this.treeUrl).then(res => {
res.data.map(item => {
- if (!item.attribute) {
- item.attribute = {
+ if (!item.attributes) {
+ item.attributes = {
data: {}
}
} else {
- item.attribute.data = item.attribute.data || {}
+ item.attributes.data = item.attributes.data || {}
}
return {
...item,
@@ -145,6 +148,7 @@
})
},
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;
@@ -158,12 +162,12 @@
}
getLazyTree(this.params,this.treeUrl).then(res => {
resolve(res.data.data.map(item => {
- if(!item.attribute){
- item.attribute={
+ if(!item.attributes){
+ item.attributes={
data:{}
}
}else{
- item.attribute.data=item.attribute.data || {}
+ item.attributes.data=item.attributes.data || {}
}
return {
...item,
@@ -178,17 +182,13 @@
}
},
checked(checkedNode, checkedData) {
- this.checkedData=checkedData
- },
- valueChange(){
- if(this.isMuti){
- // this.setValue(this.checkedData)
- }
+ this.setValue(checkedData)
},
setValue:function (checkedData){
+ this.checkedData=checkedData
var value = [];
var text = [];
- const textSep =this.config.textSep;
+ const textSep =this.config.textSep;debugger;
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])
--
Gitblit v1.9.3