From 8470a4ae665d8b7f7621479c09664c7a3ff0f210 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期一, 25 九月 2023 17:26:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue | 188 +++++++++++++++++++++++++++++++++++++++-------
1 files changed, 157 insertions(+), 31 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index 4eb070b..d3aa4cd 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -26,12 +26,14 @@
</template>
<template :slot="item.prop + ''" v-for="item in slotColumnList">
<vciWebRefer
+ :key="item.dataKey" :data-key="item.dataKey"
v-if="item.type == 'refer'"
:referConfig="item.referConfig || {}"
:value="form[item.referConfig.field] || item.value"
:text="form[item.referConfig.showField]"
:disabled="item.disabled"
:display="item.display"
+ :reloadData="item.referConfig.reloadData || false"
@setReferValue="setReferValue"
></vciWebRefer>
</template>
@@ -89,9 +91,13 @@
type: String,
default: "",
},
+ eventList:{
+ type:Array
+ }
},
data() {
return {
+ eventFlag:{},
TreeValueForm:'',
updateIndex: 0,
form: {},
@@ -119,8 +125,11 @@
slotColumnList: [],
};
},
- mounted() {
+ mounted() {
this.handleResize();
+ },
+ created() {
+
},
computed: {
localTrendsSpan() {
@@ -146,7 +155,6 @@
handler(newval,oldval){
if(newval){
this.TreeValueForm=newval;
- // console.log(this.TreeValueForm)
}
},
deep:true,
@@ -156,15 +164,21 @@
methods: {
// 娓叉煋琛ㄥ崟妯℃澘
templateRender(formItemList,TreeValue) {
+ if (this.eventList) {
+ this.eventFlag= this.eventList.some(item => {
+ if (item.classifyInvokeEditFlag === 'true') {
+ this.eventObject = item;
+ return true;
+ }
+ });
+ }
// 鏃犻渶鍒嗙粍鏁版嵁
let column = [];
let group = [];
let dictKeys = [];
let slotColumnList = [];
- let value=''
formItemList.forEach((formItem) => {
formItem = this.resetFormConfig(formItem);
- // console.log('formItem.dicData.value',formItem.dicData)
if (formItem.type === "line") {
group.push({
label: formItem.text,
@@ -198,12 +212,14 @@
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 = {
+ dataKey:formItem.dataKey || formItem.field,
label: formItem.text,
labelslot: true,
prop: this.$utilFunc.isValuableObj(formItem.referConfig)
@@ -221,7 +237,7 @@
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),
+ (formItem.secType == "codedatesec"?formItem.codeDateValue: null) || ( TreeValue&& formItem.secType == "codelevelsec" ? TreeValue : null) ,
placeholder: formItem.inputTip,
comboxKey: formItem.comboxKey,
tip: formItem.tooltips,
@@ -233,19 +249,19 @@
referConfig:
formItem.type == "refer"
? {
- title: formItem.text,
- showField: formItem.showField || formItem.field,
- field: formItem.field,
- fieldMap:formItem.fieldMap || {fieldMapKey:'id'},
- placeholder: formItem.inputTip,
- options: formItem.referConfig
- }
+ 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,
+ ? 24
+ : this.localTrendsSpan,
rules: [
{
required: formItem.required,
@@ -264,9 +280,7 @@
value: "key",
},
};
- // console.log('columnItem',columnItem)
slotColumnList.push(columnItem);
- // console.log('slotColumnList',slotColumnList)
if (group.length === 0) {
column.push(columnItem);
} else {
@@ -283,12 +297,125 @@
this.geDictData(dictKeys);
this.getFormDetail();
- // console.log('selfColumnConfig',this.selfColumnConfig)
+ },
+ //淇敼绾ц仈椤�
+ changeChildItem(items,TreeValue) {
+ let column = this.option.column;
+ let group = this.option.group;
+ let that=this;
+ 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) {
+ that.slotColumnList.forEach((colItem,index) => {
+ if (colItem.field == columnItem.field) {
+ that.slotColumnList[index] = columnItem;
+ column[index] = columnItem;
+ return;
+ }
+ })
+ } else {
+ that.slotColumnList.forEach((colItem,index) => {
+ if (colItem.field == columnItem.field) {
+ that.slotColumnList[index] = columnItem;
+ return;
+ }
+ })
+ group.forEach((groupItem,index) => {
+ groupItem.column.forEach((colItem,colIndex) => {
+ if (colItem.field == columnItem.field) {
+ group[index].column[colIndex] = columnItem;
+ return;
+ }
+ })
+ });
+ }
+ });
+ that.$set(that.option, "column", column);
+ that.$set(that.option, "group", group);
},
// 浣跨敤浼犲叆鐨勮〃鍗曟暟鎹厤缃�
resetFormConfig(formItem) {
- // console.log(this.selfColumnConfig)
for (const configType in this.selfColumnConfig) {
if (Object.hasOwnProperty.call(this.selfColumnConfig, configType)) {
const element = this.selfColumnConfig[configType];
@@ -304,9 +431,6 @@
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") {
@@ -397,7 +521,6 @@
);
},
setReferValue(data) {
- // console.log(data)
if (data.field) {
this.form[data.field] = data.value || "";
this.form[data.showField] = data.text || "";
@@ -411,21 +534,24 @@
if (!_item.attributes) {
_item.attributes = _item;
}
+ if (!_item.attributes.data) {
+ _item.attributes.data = {};
+ }
if (mapFields.length == 1) {
var mapField = mapFields[0];
if (mapField.indexOf("attribute.") > -1) {
- temp = _item['attributes'][mapField.subString("attribute.".length)];
+ temp = _item['attributes'][mapField.subString("attribute.".length)] || _item['attributes']['data'][mapField.subString("attribute.".length)];
} else {
- temp = _item['attributes'][mapField] || _item[mapField];
+ temp = _item['attributes'][mapField] ||_item['attributes']['data'][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)]);
+ mutiTemp.push(_item['attributes'][_itemField.subString("attribute.".length)] || _item['attributes']['data'][_itemField.subString("attribute.".length)]);
} else {
- mutiTemp.push(_item['attributes'][_itemField] || _item[_itemField]);
+ mutiTemp.push(_item['attributes'][_itemField] || _item['attributes']['data'][_itemField] || _item[_itemField]);
}
});
temp = mutiTemp.join(' ');
@@ -437,8 +563,8 @@
this.form[key] = value.join(',');
}
}
- this.$emit("getFormData", this.form);
this.$emit("referConfigDataUpdate", data);
+ this.$emit("getFormData", this.form);
}
},
},
--
Gitblit v1.9.3