From 86e88743adad26d87149524ae09e9daba75a6334 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 06 九月 2023 10:35:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue | 68 ++++++++++++++++++++++++++++++---
1 files changed, 61 insertions(+), 7 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index b53cf1a..1f4e6a3 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,20 @@
methods: {
// 娓叉煋琛ㄥ崟妯℃澘
templateRender(formItemList) {
- console.log(formItemList, "formItemList");
// 鏃犻渶鍒嗙粍鏁版嵁
let column = [];
let group = [];
let dictKeys = [];
let slotColumnList = [];
+ let value=''
formItemList.forEach((formItem) => {
formItem = this.resetFormConfig(formItem);
+ if( formItem.type === "combox" && formItem.dicData){
+ value=formItem.dicData[0].key
+ }
+ // console.log('formItem',formItem)
+ // console.log('formItem.dicData[0].value',formItem.dicData[0].key)
+ // console.log('formItem.dicData[0].value',formItem.dicData[0].id)
if (formItem.type === "line") {
group.push({
label: formItem.text,
@@ -170,6 +176,12 @@
message = "璇疯緭鍏�";
trigger = "blur";
}
+ let fieldMapKey=''
+ if( formItem.type == "refer"){
+ if(!formItem.fieldMap){
+ fieldMapKey=formItem.field+'Id'
+ }
+ }
let columnItem = {
label: formItem.text,
labelslot: true,
@@ -184,13 +196,14 @@
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: value,
placeholder: formItem.inputTip,
comboxKey: formItem.comboxKey,
tip: formItem.tooltips,
+ readonly:true,
display: !formItem.hidden,
maxlength: formItem.maxlength,
filterable: true,
@@ -200,8 +213,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 +226,7 @@
rules: [
{
required: formItem.required,
- message: `璇�${message}${formItem.text}`,
+ message: `${message}${formItem.text}`,
trigger,
},
{
@@ -227,6 +241,10 @@
value: "key",
},
};
+ // if(columnItem.type == "select"){
+ // columnItem.value=value
+ // }
+ // console.log('columnItem',columnItem)
slotColumnList.push(columnItem);
if (group.length === 0) {
column.push(columnItem);
@@ -235,7 +253,6 @@
}
});
this.slotColumnList = slotColumnList;
- console.log(column, "column");
this.$set(this.option, "column", column);
this.$set(this.option, "group", group);
this.updateIndex++;
@@ -245,6 +262,7 @@
this.geDictData(dictKeys);
this.getFormDetail();
+
},
// 浣跨敤浼犲叆鐨勮〃鍗曟暟鎹厤缃�
resetFormConfig(formItem) {
@@ -356,6 +374,42 @@
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