From 44d22931aebfbe0315345d5100e9ba02382b2932 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期二, 29 八月 2023 15:10:41 +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