From 660454e318a57cc82811908389cd4056fbfce1f7 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期五, 25 八月 2023 16:55:05 +0800 Subject: [PATCH] 修改样式,修改编码规则 --- Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue | 88 +++++++++++++++++++++++++++++++++++++------- 1 files changed, 74 insertions(+), 14 deletions(-) diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue index b72f827..ee649ed 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,9 +108,6 @@ date: "date", refer: "refer", }, - // 鍋囨暟鎹� - testItems: [], - trendsSpan: 8, defaultValue: {}, // 琛ㄥ崟灞炴�� attributes: [], @@ -114,6 +116,16 @@ }, mounted() { this.handleResize(); + }, + computed: { + localTrendsSpan() { + if (this.trendsSpan) { + return this.trendsSpan; + } else { + let windowWidth = document.body.clientWidth; + return 24 / Math.floor(windowWidth / 500); + } + }, }, methods: { // 娓叉煋琛ㄥ崟妯℃澘 @@ -137,7 +149,8 @@ if ( formItem.type === "combox" && formItem.comboxKey && - (!Array.isArray(formItem.dicData) || formItem.dicData.length === 0) &&(!Array.isArray(formItem.data) || formItem.data.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 }); } @@ -145,9 +158,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 = "璇烽�夋嫨"; @@ -155,6 +168,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, @@ -186,15 +205,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, }, { @@ -260,9 +284,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) { @@ -337,6 +361,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