From 94619d90359419a070f80f65c2f0163382b67fc1 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期四, 24 八月 2023 15:07:37 +0800
Subject: [PATCH] 接口配置页面

---
 Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 54 insertions(+), 5 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index 3023328..5f034cb 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -5,6 +5,7 @@
     <avue-form
       v-model="form"
       :option="option"
+      v-loading="loading"
       ref="form"
       :style="{ minHeight: loading ? '300px' : '' }"
       :key="updateIndex"
@@ -49,7 +50,7 @@
     // 榛樿绂佺敤鍏冪礌
     disabledProp: {
       type: Array,
-      default: () => ["id"],
+      default: () => ["id","lcstatus"],
     },
     templateOid: {
       type: String,
@@ -522,7 +523,7 @@
         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 });
         }
@@ -530,12 +531,22 @@
         if (this.disabledProp.includes(formItem.field)) {
           formItem.readOnly = true;
         }
+        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"){
+          if(!formItem.fieldMap){
+            fieldMapKey=formItem.field+'Id'
+          }
         }
         let columnItem = {
           label: formItem.text,
@@ -557,17 +568,19 @@
           value: formItem.defaultValue,
           placeholder: formItem.inputTip,
           comboxKey: formItem.comboxKey,
+          tip: formItem.tooltips,
           display: !formItem.hidden,
           maxlength: formItem.maxlength,
           filterable: true,
           referConfig:
-            formItem.type == "refer" 
+            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,
+                  options: formItem.referConfig
                 }
               : {},
           span: formItem.span ? formItem.span : formItem.type === "textarea" ? 24 : this.trendsSpan,
@@ -603,7 +616,7 @@
       if (this.type === "add") {
         this.loading = false;
       }
-      
+
       this.geDictData(dictKeys);
       this.getFormDetail();
     },
@@ -717,6 +730,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