From 2f39f9598f7a341c55dce2e52401023210ed81e3 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期二, 12 九月 2023 10:39:29 +0800
Subject: [PATCH] 修改参照配置
---
Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue | 72 ++++++++++++++++++++++++++++++++----
1 files changed, 64 insertions(+), 8 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index b53cf1a..610ff04 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -84,7 +84,7 @@
trendsSpan: {
type: Number,
default: 8,
- },
+ }
},
data() {
return {
@@ -130,14 +130,16 @@
methods: {
// 娓叉煋琛ㄥ崟妯℃澘
templateRender(formItemList) {
- console.log(formItemList, "formItemList");
// 鏃犻渶鍒嗙粍鏁版嵁
let column = [];
let group = [];
let dictKeys = [];
let slotColumnList = [];
+ let value=''
formItemList.forEach((formItem) => {
formItem = this.resetFormConfig(formItem);
+ // console.log('formItem',formItem)
+ // console.log('formItem.dicData.value',formItem.dicData)
if (formItem.type === "line") {
group.push({
label: formItem.text,
@@ -170,6 +172,12 @@
message = "璇疯緭鍏�";
trigger = "blur";
}
+ let fieldMapKey=''
+ if( formItem.type == "refer"){
+ if(!formItem.fieldMap){
+ fieldMapKey=formItem.field+'Id'
+ }
+ }
let columnItem = {
label: formItem.text,
labelslot: true,
@@ -179,18 +187,21 @@
field: formItem.field,
type: this.columnType[formItem.type],
dicData: this.getDataList(formItem.type, formItem.data),
- disabled: this.type === "detail" ? true : formItem.readOnly,
+ 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,
+ valueFormat:formItem.dateFormate,
format: formItem.dateFormate,
keyAttr: formItem.keyAttr,
- value: formItem.defaultValue,
+ value: (formItem.dicData && formItem.dicData.length > 0 && formItem.secType == "codefixedsec" ? formItem.dicData[0].id : null) ||
+ (formItem.secType == "codedatesec"?formItem.codeDateFormatStr: 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,
@@ -200,8 +211,9 @@
title: formItem.text,
showField: formItem.showField || formItem.field,
field: formItem.field,
+ fieldMap:formItem.fieldMap || {fieldMapKey:'id'},
placeholder: formItem.inputTip,
- options: formItem.referConfig,
+ options: formItem.referConfig
}
: {},
span: formItem.span
@@ -212,7 +224,7 @@
rules: [
{
required: formItem.required,
- message: `璇�${message}${formItem.text}`,
+ message: `${message}${formItem.text}`,
trigger,
},
{
@@ -227,7 +239,9 @@
value: "key",
},
};
+ // console.log('columnItem',columnItem)
slotColumnList.push(columnItem);
+ // console.log('slotColumnList',slotColumnList)
if (group.length === 0) {
column.push(columnItem);
} else {
@@ -235,7 +249,6 @@
}
});
this.slotColumnList = slotColumnList;
- console.log(column, "column");
this.$set(this.option, "column", column);
this.$set(this.option, "group", group);
this.updateIndex++;
@@ -245,9 +258,12 @@
this.geDictData(dictKeys);
this.getFormDetail();
+ // console.log('selfColumnConfig',this.selfColumnConfig)
+
},
// 浣跨敤浼犲叆鐨勮〃鍗曟暟鎹厤缃�
resetFormConfig(formItem) {
+ // console.log(this.selfColumnConfig)
for (const configType in this.selfColumnConfig) {
if (Object.hasOwnProperty.call(this.selfColumnConfig, configType)) {
const element = this.selfColumnConfig[configType];
@@ -263,6 +279,9 @@
if (Object.hasOwnProperty.call(element, newAttr)) {
const oldAttr = element[newAttr];
formItem[newAttr] = formItem[oldAttr];
+ // console.log(formItem)
+ // console.log(newAttr,oldAttr)
+ // console.log(formItem[newAttr],formItem[oldAttr])
}
}
} else if (configType === "directVoluation") {
@@ -353,9 +372,46 @@
);
},
setReferValue(data) {
+ // console.log(data)
if (data.field) {
this.form[data.field] = data.value || "";
this.form[data.showField] = data.text || "";
+ if (data.fieldMap) {
+ //璇存槑闇�瑕佹槧灏�
+ for (let key in data.fieldMap) {
+ let mapFields = data.fieldMap[key].split(",");
+ let value = [];
+ data.rawData.forEach(_item => {
+ var temp;
+ if (!_item.attributes) {
+ _item.attributes = _item;
+ }
+ if (mapFields.length == 1) {
+ var mapField = mapFields[0];
+ if (mapField.indexOf("attribute.") > -1) {
+ temp = _item['attributes'][mapField.subString("attribute.".length)];
+ } else {
+ temp = _item['attributes'][mapField] || _item[mapField];
+ }
+ } else {
+ //鏈夊涓�
+ var mutiTemp = [];
+ layui.each(mapFields, function (_indexField, _itemField) {
+ if (_itemField.indexOf("attribute.") > -1) {
+ mutiTemp.push(_item['attributes'][_itemField.subString("attribute.".length)]);
+ } else {
+ mutiTemp.push(_item['attributes'][_itemField] || _item[_itemField]);
+ }
+ });
+ temp = mutiTemp.join(' ');
+ }
+ if (temp != null && temp != '') {
+ value.push(temp);
+ }
+ })
+ this.form[key] = value.join(',');
+ }
+ }
this.$emit("getFormData", this.form);
this.$emit("referConfigDataUpdate", data);
}
--
Gitblit v1.9.3