From 6befaeed8844c6b8c76af44febf084fc3209c287 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期二, 26 九月 2023 14:46:04 +0800
Subject: [PATCH] pdmjar方式的bug修改
---
Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue | 152 ++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 134 insertions(+), 18 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index b6d93d8..d3aa4cd 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -26,13 +26,14 @@
</template>
<template :slot="item.prop + ''" v-for="item in slotColumnList">
<vciWebRefer
- :key="item.prop" :data-key="item.prop"
+ :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>
@@ -129,7 +130,7 @@
},
created() {
- },
+ },
computed: {
localTrendsSpan() {
if (this.trendsSpan) {
@@ -211,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)
@@ -246,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,
@@ -294,8 +297,122 @@
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) {
@@ -404,7 +521,6 @@
);
},
setReferValue(data) {
- debugger;
if (data.field) {
this.form[data.field] = data.value || "";
this.form[data.showField] = data.text || "";
@@ -447,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