From d53d2ceccf1163e11c635037c67b88a907b4cdf7 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 12 九月 2023 11:34:17 +0800
Subject: [PATCH] 集成任务-查询

---
 Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue |   72 ++++++++++++++++++++++++++++++++----
 1 files changed, 64 insertions(+), 8 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index b53cf1a..610ff04 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -84,7 +84,7 @@
     trendsSpan: {
       type: Number,
       default: 8,
-    },
+    }
   },
   data() {
     return {
@@ -130,14 +130,16 @@
   methods: {
     // 娓叉煋琛ㄥ崟妯℃澘
     templateRender(formItemList) {
-      console.log(formItemList, "formItemList");
       // 鏃犻渶鍒嗙粍鏁版嵁
       let column = [];
       let group = [];
       let dictKeys = [];
       let slotColumnList = [];
+      let value=''
       formItemList.forEach((formItem) => {
         formItem = this.resetFormConfig(formItem);
+        // console.log('formItem',formItem)
+        // console.log('formItem.dicData.value',formItem.dicData)
         if (formItem.type === "line") {
           group.push({
             label: formItem.text,
@@ -170,6 +172,12 @@
           message = "璇疯緭鍏�";
           trigger = "blur";
         }
+        let fieldMapKey=''
+        if( formItem.type == "refer"){
+          if(!formItem.fieldMap){
+            fieldMapKey=formItem.field+'Id'
+          }
+        }
         let columnItem = {
           label: formItem.text,
           labelslot: true,
@@ -179,18 +187,21 @@
           field: formItem.field,
           type: this.columnType[formItem.type],
           dicData: this.getDataList(formItem.type, formItem.data),
-          disabled: this.type === "detail" ? true : formItem.readOnly,
+          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,
+          valueFormat:formItem.dateFormate,
           format: formItem.dateFormate,
           keyAttr: formItem.keyAttr,
-          value: formItem.defaultValue,
+          value: (formItem.dicData && formItem.dicData.length > 0 && formItem.secType == "codefixedsec" ? formItem.dicData[0].id : null) ||
+            (formItem.secType == "codedatesec"?formItem.codeDateFormatStr: 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,
@@ -200,8 +211,9 @@
                   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
@@ -212,7 +224,7 @@
           rules: [
             {
               required: formItem.required,
-              message: `璇�${message}${formItem.text}`,
+              message: `${message}${formItem.text}`,
               trigger,
             },
             {
@@ -227,7 +239,9 @@
             value: "key",
           },
         };
+        // console.log('columnItem',columnItem)
         slotColumnList.push(columnItem);
+        // console.log('slotColumnList',slotColumnList)
         if (group.length === 0) {
           column.push(columnItem);
         } else {
@@ -235,7 +249,6 @@
         }
       });
       this.slotColumnList = slotColumnList;
-      console.log(column, "column");
       this.$set(this.option, "column", column);
       this.$set(this.option, "group", group);
       this.updateIndex++;
@@ -245,9 +258,12 @@
 
       this.geDictData(dictKeys);
       this.getFormDetail();
+      // console.log('selfColumnConfig',this.selfColumnConfig)
+
     },
     // 浣跨敤浼犲叆鐨勮〃鍗曟暟鎹厤缃�
     resetFormConfig(formItem) {
+      // console.log(this.selfColumnConfig)
       for (const configType in this.selfColumnConfig) {
         if (Object.hasOwnProperty.call(this.selfColumnConfig, configType)) {
           const element = this.selfColumnConfig[configType];
@@ -263,6 +279,9 @@
               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") {
@@ -353,9 +372,46 @@
       );
     },
     setReferValue(data) {
+      // console.log(data)
       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