From 518f6efefe510f45176076261f49e0fa1bc40a07 Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期五, 25 八月 2023 11:06:42 +0800
Subject: [PATCH] 处理basemodel,bean里面遇到字段相同且map里面数据为空,则使用bean里面的值
---
Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue | 476 +++++++++--------------------------------------------------
1 files changed, 76 insertions(+), 400 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index 471114a..ee1422f 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -50,7 +50,7 @@
// 榛樿绂佺敤鍏冪礌
disabledProp: {
type: Array,
- default: () => ["id","lcstatus"],
+ default: () => ["id", "lcstatus"],
},
templateOid: {
type: String,
@@ -80,6 +80,11 @@
type: Object,
default: () => ({}),
},
+ // 涓�琛屾斁鍑犱釜琛ㄥ崟
+ trendsSpan: {
+ type: Number,
+ default: 8,
+ },
},
data() {
return {
@@ -103,395 +108,6 @@
date: "date",
refer: "refer",
},
- // 鍋囨暟鎹�
- testItems: [
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "id",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "浼犲�肩鐢ㄥ姛鑳�",
- tooltips: "",
- type: "combox",
- unique: false,
- verify: "",
- },
- {
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "state",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: true,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "鎺ュ彛绂佺敤鍔熻兘",
- tooltips: "",
- type: "combox",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "oldcode",
- hidden: false,
- keyAttr: false,
- prefix: "el-icon-search",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "鏂囨湰鍚庣紑娴嬭瘯",
- text: "鍓嶅悗缂�鍔熻兘",
- tooltips: "",
- type: "text",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "materialname",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: true,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "姝e垯鏍¢獙鍔熻兘",
- tooltips: "璇疯緭鍏ユ暟瀛�",
- type: "text",
- unique: false,
- verify: /^[0-9]+$/g,
- },
- {
- comboxKey: null,
- customClass: null,
- data: [
- {
- attributes: {},
- key: "model_type",
- value: "妯″瀷",
- },
- {
- attributes: {},
- key: "part_type",
- value: "闆朵欢",
- },
- ],
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "dataSelect",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "鐩存帴杩斿洖涓嬫媺",
- tooltips: "",
- type: "combox",
- unique: false,
- verify: "",
- },
- {
- comboxKey: "formTemplateTest",
- customClass: null,
- data: [],
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "dictSelect",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "瀛楀吀杩斿洖涓嬫媺",
- tooltips: "",
- type: "combox",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "firstfl",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "鏁板瓧杈撳叆妗�",
- tooltips: "",
- type: "number",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "yyyy-MM-dd HH:mm:ss",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "datetime",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "鏃ユ湡鏃堕棿閫夋嫨鍣�",
- tooltips: "",
- type: "datetime",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "time",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "鏃堕棿閫夋嫨鍣�",
- tooltips: "",
- type: "date",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "false",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "xiaoshouwl",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "寮�鍏�",
- tooltips: "",
- type: "truefalse",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "鎴戞槸榛樿鍊�",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "tuhao",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "榛樿鍊煎姛鑳�",
- tooltips: "鎻愮ず",
- type: "text",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "xinghaoguige",
- hidden: false,
- keyAttr: true,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "灞炴�у叧閿��",
- tooltips: "",
- type: "text",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "jiliangdw",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- tip: "鎴戞槸鎻愮ず鍔熻兘",
- required: false,
- selectLibFlag: "",
- showField: "jiliangdwname",
- suffix: "",
- text: "鎻愮ず鍔熻兘",
- tooltips: "",
- type: "text",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "textarea",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "鏂囨湰鍩�",
- tooltips: "",
- type: "textarea",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "cz",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: true,
- referConfig: {},
- required: false,
- selectLibFlag: "",
- showField: "depId",
- suffix: "",
- text: "鍙傜収",
- tooltips: "",
- type: "refer",
- unique: false,
- verify: "",
- },
- ],
- trendsSpan: 8,
defaultValue: {},
// 琛ㄥ崟灞炴��
attributes: [],
@@ -501,9 +117,20 @@
mounted() {
this.handleResize();
},
+ computed: {
+ localTrendsSpan() {
+ if (this.trendsSpan) {
+ return this.trendsSpan;
+ } else {
+ let windowWidth = document.body.clientWidth;
+ return 24 / Math.floor(windowWidth / 500);
+ }
+ },
+ },
methods: {
// 娓叉煋琛ㄥ崟妯℃澘
templateRender(formItemList) {
+ console.log(formItemList, "formItemList");
// 鏃犻渶鍒嗙粍鏁版嵁
let column = [];
let group = [];
@@ -523,7 +150,8 @@
if (
formItem.type === "combox" &&
formItem.comboxKey &&
- (!Array.isArray(formItem.dicData) || formItem.dicData.length === 0)
+ (!Array.isArray(formItem.dicData) || formItem.dicData.length === 0) &&
+ (!Array.isArray(formItem.data) || formItem.data.length === 0)
) {
dictKeys.push({ dictKey: formItem.comboxKey, field: formItem.field });
}
@@ -531,9 +159,9 @@
if (this.disabledProp.includes(formItem.field)) {
formItem.readOnly = true;
}
- if(formItem.field=='lcstatus'){
- formItem.field=formItem.field+'_text';
- formItem.readOnly=true;
+ if (formItem.field == "lcstatus") {
+ formItem.field = formItem.field + "_text";
+ formItem.readOnly = true;
}
// 璁剧疆琛ㄥ崟鏍¢獙鐨勮鍒欙紝鏂囨湰
let message = "璇烽�夋嫨";
@@ -541,6 +169,12 @@
if (formItem.type === "text") {
message = "璇疯緭鍏�";
trigger = "blur";
+ }
+ let fieldMapKey=''
+ if( formItem.type == "refer"){
+ if(!formItem.fieldMap){
+ fieldMapKey=formItem.field+'Id'
+ }
}
let columnItem = {
label: formItem.text,
@@ -572,15 +206,20 @@
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 ? formItem.span : formItem.type === "textarea" ? 24 : this.trendsSpan,
+ span: formItem.span
+ ? formItem.span
+ : formItem.type === "textarea"
+ ? 24
+ : this.localTrendsSpan,
rules: [
{
required: formItem.required,
- message: `璇�${message}${formItem.text}`,
+ message: `${message}${formItem.text}`,
trigger,
},
{
@@ -603,6 +242,7 @@
}
});
this.slotColumnList = slotColumnList;
+ console.log(column, "column");
this.$set(this.option, "column", column);
this.$set(this.option, "group", group);
this.updateIndex++;
@@ -646,9 +286,9 @@
},
// 鏍规嵁灞忓箷鍔ㄦ�侀厤缃〃鍗曞竷灞�
handleResize() {
- let windowWidth = document.body.clientWidth;
- this.trendsSpan = 24 / Math.floor(windowWidth / 500);
- this.updateIndex++;
+ // let windowWidth = document.body.clientWidth;
+ // this.trendsSpan = 24 / Math.floor(windowWidth / 500);
+ // this.updateIndex++;
},
// 鍓嶅悗缂�
preOrSufFixShow(type, val) {
@@ -723,6 +363,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