From fc6ab71d6b6269ef31202662458a5287ef1f7ba9 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 09 十一月 2023 19:11:00 +0800
Subject: [PATCH] 最大流水号提交
---
Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue | 248 +++++++++++++++++++++++++++++++++++++++---------
1 files changed, 199 insertions(+), 49 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index 4eb070b..90e1442 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>
@@ -41,7 +43,7 @@
<script>
import { getFormDetail } from "@/api/formTemplate";
-import { getDictionary } from "../../api/system/dict";
+import { getEnumDictionary } from "../../api/system/dict";
import vciWebRefer from "../refer/vciWebRefer.vue";
export default {
name: "FormTemplate",
@@ -60,6 +62,10 @@
type: String,
default: "",
},
+ LoadingStatus:{
+ type: String,
+ default : "code"
+ },
// 鍒楄〃鏁版嵁oid
rowOid: {
type: String,
@@ -68,7 +74,7 @@
// 琛ㄥ崟绫诲瀷锛坅dd, edit, detail锛�
type: {
type: String,
- default: "add",
+ default: "",
},
// 鑷畾涔夎〃鍗曠被鍨�
selfColumnType: {
@@ -89,9 +95,15 @@
type: String,
default: "",
},
+ eventList:{
+ type:Array
+ }
},
data() {
return {
+ codeattrsecValue:'',
+ ValidataValue:false,
+ eventFlag:{},
TreeValueForm:'',
updateIndex: 0,
form: {},
@@ -119,8 +131,15 @@
slotColumnList: [],
};
},
- mounted() {
+ mounted() {
this.handleResize();
+ },
+ updated() {
+ },
+ created() {
+ if (this.LoadingStatus === 'code') {
+ this.loading = false;
+ }
},
computed: {
localTrendsSpan() {
@@ -146,25 +165,30 @@
handler(newval,oldval){
if(newval){
this.TreeValueForm=newval;
- // console.log(this.TreeValueForm)
}
},
deep:true,
immediate:true
- }
+ },
},
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 +222,23 @@
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 = {
+ change:(val)=>{
+ // console.log(val)
+ if(val.column.field === "drawingno"){
+ this.codeattrsecValue=val.value;
+ }
+ console.log(this.codeattrsecValue)
+ },
+ dataKey:formItem.dataKey || formItem.field,
label: formItem.text,
labelslot: true,
prop: this.$utilFunc.isValuableObj(formItem.referConfig)
@@ -221,7 +256,8 @@
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) ||
+ (formItem.secType == "codeattrsec" ? this.codeattrsecValue : null),
placeholder: formItem.inputTip,
comboxKey: formItem.comboxKey,
tip: formItem.tooltips,
@@ -233,19 +269,126 @@
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,
+ message: `${message}${formItem.text}`,
+ trigger,
+ },
+ {
+ // 濡傛灉娌℃湁姝e垯鍒欏尮閰嶄换浣曞瓧绗�
+ pattern: formItem.verify ? formItem.verify : /[\s\S.]*/g,
+ message: formItem.tooltips,
+ trigger,
+ },
+ ],
+ props: {
+ label: "itemName",
+ value: "key",
+ },
+ };
+ // console.log('formItem',formItem)
+ // console.log('columnItem',columnItem)
+ slotColumnList.push(columnItem);
+ if (group.length === 0) {
+ column.push(columnItem);
+ } else {
+ group[group.length - 1]["column"].push(columnItem);
+ }
+ });
+ this.slotColumnList = slotColumnList;
+ this.$set(this.option, "column", column);
+ this.$set(this.option, "group", group);
+ this.updateIndex++;
+ if (this.type === "add") {
+ this.loading = false;
+ }
+
+ this.geDictData(dictKeys);
+ this.getFormDetail();
+
+ },
+ //淇敼绾ц仈椤�
+ 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,
@@ -264,31 +407,37 @@
value: "key",
},
};
- // console.log('columnItem',columnItem)
- slotColumnList.push(columnItem);
- // console.log('slotColumnList',slotColumnList)
+
if (group.length === 0) {
- column.push(columnItem);
+ that.slotColumnList.forEach((colItem,index) => {
+ if (colItem.field == columnItem.field) {
+ that.slotColumnList[index] = columnItem;
+ column[index] = columnItem;
+ return;
+ }
+ })
} else {
- group[group.length - 1]["column"].push(columnItem);
+ 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;
+ }
+ })
+ });
}
});
- this.slotColumnList = slotColumnList;
- this.$set(this.option, "column", column);
- this.$set(this.option, "group", group);
- this.updateIndex++;
- if (this.type === "add") {
- this.loading = false;
- }
-
- this.geDictData(dictKeys);
- this.getFormDetail();
- // console.log('selfColumnConfig',this.selfColumnConfig)
-
+ 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 +453,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") {
@@ -356,7 +502,8 @@
// 寮傛鑾峰彇瀛楀吀鏁版嵁
geDictData(dictKeys) {
dictKeys.forEach((dictObj) => {
- getDictionary({ code: dictObj.dictKey }).then((res) => {
+ getEnumDictionary({ code: dictObj.dictKey }).then((res) => {
+ console.log(res)
if (res.data && res.data.code === 200) {
this.option.column = this.option.column.map((item) => {
if (item.field === dictObj.field) {
@@ -380,6 +527,7 @@
if (valid) {
done();
resolve(true);
+ this.ValidataValue=true;
} else {
resolve(false);
}
@@ -397,7 +545,6 @@
);
},
setReferValue(data) {
- // console.log(data)
if (data.field) {
this.form[data.field] = data.value || "";
this.form[data.showField] = data.text || "";
@@ -411,21 +558,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 +587,8 @@
this.form[key] = value.join(',');
}
}
- this.$emit("getFormData", this.form);
this.$emit("referConfigDataUpdate", data);
+ this.$emit("getFormData", this.form);
}
},
},
--
Gitblit v1.9.3