From 8cc891b06558d9998723942aacd20ca3d894336e Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 22 九月 2023 18:05:16 +0800
Subject: [PATCH] 修改参照

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

diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index 3e341d5..9f69e9b 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -211,10 +211,11 @@
           trigger = "blur";
         }
         let fieldMapKey=''
-        if( formItem.type == "refer"){
-          if(!formItem.fieldMap){
-            fieldMapKey=formItem.field+'Id'
-          }
+        if( formItem.type == "refer" && !formItem.fieldMap){
+          fieldMapKey=formItem.field+'Id'
+          formItem.fieldMap={}
+          formItem.fieldMap[fieldMapKey]='id'
+          formItem.fieldMap[formItem.field+'id']='id'
         }
         let columnItem = {
           label: formItem.text,
@@ -249,7 +250,7 @@
                 title: formItem.text,
                 showField: formItem.showField || formItem.field,
                 field: formItem.field,
-                fieldMap:formItem.fieldMap || {fieldMapKey:'id'},
+                fieldMap:formItem.fieldMap || {},
                 placeholder: formItem.inputTip,
                 options: formItem.referConfig
               }
@@ -294,8 +295,121 @@
 
       this.geDictData(dictKeys);
       this.getFormDetail();
-      // console.log('selfColumnConfig',this.selfColumnConfig)
 
+    },
+    //淇敼绾ц仈椤�
+    changeChildItem(items,TreeValue) {
+      let column = this.option.column;
+      let group = this.option.group;
+      items.forEach((item) => {
+        let formItem = this.resetFormConfig(item);
+        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" && !formItem.fieldMap) {
+          fieldMapKey = formItem.field + 'Id'
+          formItem.fieldMap = {}
+          formItem.fieldMap[fieldMapKey] = 'id'
+          formItem.fieldMap[formItem.field + 'id'] = 'id'
+        }
+        let columnItem = {
+          label: formItem.text,
+          labelslot: true,
+          prop: this.$utilFunc.isValuableObj(formItem.referConfig)
+            ? formItem.showField || formItem.field
+            : formItem.field,
+          field: formItem.field,
+          type: this.columnType[formItem.type],
+          dicData: this.getDataList(formItem.type, formItem.data),
+          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,
+          format: formItem.dateFormate,
+          keyAttr: formItem.keyAttr,
+          value: (formItem.dicData && formItem.dicData.length > 0 && formItem.secType == "codefixedsec" ? formItem.dicData[0].id : null) ||
+            (formItem.secType == "codedatesec" ? formItem.codeDateValue : null) || (TreeValue && formItem.secType == "codelevelsec" ? TreeValue : 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,
+          referConfig:
+            formItem.type == "refer"
+              ? {
+                title: formItem.text,
+                showField: formItem.showField || formItem.field,
+                field: formItem.field,
+                fieldMap: formItem.fieldMap || {},
+                placeholder: formItem.inputTip,
+                options: formItem.referConfig
+              }
+              : {},
+          span: formItem.span
+            ? formItem.span
+            : formItem.type === "textarea"
+              ? 24
+              : this.localTrendsSpan,
+          rules: [
+            {
+              required: formItem.required,
+              message: `${message}${formItem.text}`,
+              trigger,
+            },
+            {
+              // 濡傛灉娌℃湁姝e垯鍒欏尮閰嶄换浣曞瓧绗�
+              pattern: formItem.verify ? formItem.verify : /[\s\S.]*/g,
+              message: formItem.tooltips,
+              trigger,
+            },
+          ],
+          props: {
+            label: "value",
+            value: "key",
+          },
+        };
+
+        if (group.length === 0) {
+          this.slotColumnList.forEach((index, colItem) => {
+            if (colItem.field == columnItem.field) {
+              this.slotColumnList[index] = columnItem;
+              column[index] = columnItem;
+              return;
+            }
+          })
+        } else {
+          this.slotColumnList.forEach((index, colItem) => {
+            if (colItem.field == columnItem.field) {
+              this.slotColumnList[index] = columnItem;
+              return;
+            }
+          })
+          group.forEach((index, groupItem) => {
+            groupItem.column.forEach((colIndex, colItem) => {
+              if (colItem.field == columnItem.field) {
+                group[index].column[colIndex] = columnItem;
+                return;
+              }
+            })
+          });
+        }
+      });
+      this.$set(this.option, "column", column);
+      this.$set(this.option, "group", group);
     },
     // 浣跨敤浼犲叆鐨勮〃鍗曟暟鎹厤缃�
     resetFormConfig(formItem) {
@@ -404,7 +518,6 @@
       );
     },
     setReferValue(data) {
-      debugger;
       if (data.field) {
         this.form[data.field] = data.value || "";
         this.form[data.showField] = data.text || "";
@@ -447,8 +560,8 @@
             this.form[key] = value.join(',');
           }
         }
-        this.$emit("getFormData", this.form);
         this.$emit("referConfigDataUpdate", data);
+        this.$emit("getFormData", this.form);
       }
     },
   },

--
Gitblit v1.9.3