From 20ace44c6d012839687a59058b6000079bdae55d Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 20 十一月 2023 18:26:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue |  753 ++++++++++++++++++++++++---------------------------------
 1 files changed, 314 insertions(+), 439 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index 10d9680..0c0d40a 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -3,35 +3,37 @@
 <template>
   <div>
     <avue-form
-      v-model="form"
-      :option="option"
-      v-loading="loading"
-      ref="form"
-      :style="{ minHeight: loading ? '300px' : '' }"
       :key="updateIndex"
+      ref="form"
+      v-model="form"
+      v-loading="loading"
+      :option="option"
+      :style="{ minHeight: loading ? '300px' : '' }"
     >
-      <template :slot="item.prop + 'Label'" v-for="item in slotColumnList">
+      <template v-for="item in slotColumnList" :slot="item.prop + 'Label'">
         <span>
           <span>{{ item.label }} </span>
           <el-tooltip
             v-if="item.keyAttr"
             class="item"
-            effect="dark"
             content="璇ュ睘鎬т负鍏抽敭灞炴��"
+            effect="dark"
             placement="top-start"
           >
             <i class="el-icon-star-on key_attr_icon"></i>
           </el-tooltip>
         </span>
       </template>
-      <template :slot="item.prop + ''" v-for="item in slotColumnList">
+      <template v-for="item in slotColumnList" :slot="item.prop + ''">
         <vciWebRefer
-          v-if="item.type == 'refer'"
-          :referConfig="item.referConfig || {}"
-          :value="form[item.referConfig.field] || item.value"
-          :text="form[item.referConfig.showField]"
+          v-if="item.type == 'refer'" :key="item.dataKey"
+          :data-key="item.dataKey"
           :disabled="item.disabled"
           :display="item.display"
+          :referConfig="item.referConfig || {}"
+          :reloadData="item.referConfig.reloadData || false"
+          :text="form[item.referConfig.showField]"
+          :value="form[item.referConfig.field] || item.value"
           @setReferValue="setReferValue"
         ></vciWebRefer>
       </template>
@@ -40,17 +42,18 @@
 </template>
 
 <script>
-import { getFormDetail } from "@/api/formTemplate";
-import { getDictionary } from "../../api/system/dict";
+import {getFormDetail} from "@/api/formTemplate";
+import {getEnumDictionary} from "../../api/system/dict";
 import vciWebRefer from "../refer/vciWebRefer.vue";
+
 export default {
   name: "FormTemplate",
-  components: { vciWebRefer },
+  components: {vciWebRefer},
   props: {
     // 榛樿绂佺敤鍏冪礌
     disabledProp: {
       type: Array,
-      default: () => ["id","lcstatus"],
+      default: () => ["id", "lcstatus"],
     },
     templateOid: {
       type: String,
@@ -60,6 +63,10 @@
       type: String,
       default: "",
     },
+    LoadingStatus: {
+      type: String,
+      default: "code"
+    },
     // 鍒楄〃鏁版嵁oid
     rowOid: {
       type: String,
@@ -68,7 +75,7 @@
     // 琛ㄥ崟绫诲瀷锛坅dd, edit, detail锛�
     type: {
       type: String,
-      default: "add",
+      default: "",
     },
     // 鑷畾涔夎〃鍗曠被鍨�
     selfColumnType: {
@@ -80,9 +87,27 @@
       type: Object,
       default: () => ({}),
     },
+    // 涓�琛屾斁鍑犱釜琛ㄥ崟
+    trendsSpan: {
+      type: Number,
+      default: 8,
+    },
+    TreeValue: {
+      type: String,
+      default: "",
+    },
+    eventList: {
+      type: Array
+    }
   },
   data() {
     return {
+      attrList: [],
+      add: '',
+      codeattrsecValue: '',
+      ValidataValue: false,
+      eventFlag: {},
+      TreeValueForm: '',
       updateIndex: 0,
       form: {},
       option: {
@@ -103,395 +128,6 @@
         date: "date",
         refer: "refer",
       },
-      // 鍋囨暟鎹�
-      testItems: [
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "id",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "浼犲�肩鐢ㄥ姛鑳�",
-          tooltips: "",
-          type: "combox",
-          unique: false,
-          verify: "",
-        },
-        {
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "state",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: true,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "鎺ュ彛绂佺敤鍔熻兘",
-          tooltips: "",
-          type: "combox",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "oldcode",
-          hidden: false,
-          keyAttr: false,
-          prefix: "el-icon-search",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "鏂囨湰鍚庣紑娴嬭瘯",
-          text: "鍓嶅悗缂�鍔熻兘",
-          tooltips: "",
-          type: "text",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "materialname",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: true,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "姝e垯鏍¢獙鍔熻兘",
-          tooltips: "璇疯緭鍏ユ暟瀛�",
-          type: "text",
-          unique: false,
-          verify: /^[0-9]+$/g,
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: [
-            {
-              attributes: {},
-              key: "model_type",
-              value: "妯″瀷",
-            },
-            {
-              attributes: {},
-              key: "part_type",
-              value: "闆朵欢",
-            },
-          ],
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "dataSelect",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "鐩存帴杩斿洖涓嬫媺",
-          tooltips: "",
-          type: "combox",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: "formTemplateTest",
-          customClass: null,
-          data: [],
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "dictSelect",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "瀛楀吀杩斿洖涓嬫媺",
-          tooltips: "",
-          type: "combox",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "firstfl",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "鏁板瓧杈撳叆妗�",
-          tooltips: "",
-          type: "number",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "yyyy-MM-dd HH:mm:ss",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "datetime",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "鏃ユ湡鏃堕棿閫夋嫨鍣�",
-          tooltips: "",
-          type: "datetime",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "time",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "鏃堕棿閫夋嫨鍣�",
-          tooltips: "",
-          type: "date",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "false",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "xiaoshouwl",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "寮�鍏�",
-          tooltips: "",
-          type: "truefalse",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "鎴戞槸榛樿鍊�",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "tuhao",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "榛樿鍊煎姛鑳�",
-          tooltips: "鎻愮ず",
-          type: "text",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "xinghaoguige",
-          hidden: false,
-          keyAttr: true,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "灞炴�у叧閿��",
-          tooltips: "",
-          type: "text",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "jiliangdw",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          tip: "鎴戞槸鎻愮ず鍔熻兘",
-          required: false,
-          selectLibFlag: "",
-          showField: "jiliangdwname",
-          suffix: "",
-          text: "鎻愮ず鍔熻兘",
-          tooltips: "",
-          type: "text",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "textarea",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "鏂囨湰鍩�",
-          tooltips: "",
-          type: "textarea",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: null,
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "cz",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: true,
-          referConfig: {},
-          required: false,
-          selectLibFlag: "",
-          showField: "depId",
-          suffix: "",
-          text: "鍙傜収",
-          tooltips: "",
-          type: "refer",
-          unique: false,
-          verify: "",
-        },
-      ],
-      trendsSpan: 8,
       defaultValue: {},
       // 琛ㄥ崟灞炴��
       attributes: [],
@@ -501,16 +137,75 @@
   mounted() {
     this.handleResize();
   },
+  updated() {
+  },
+  created() {
+    if (this.LoadingStatus === 'code') {
+      this.loading = false;
+    }
+  },
+  computed: {
+    localTrendsSpan() {
+      if (this.trendsSpan) {
+        return this.trendsSpan;
+      } else {
+        let windowWidth = document.body.clientWidth;
+        return 24 / Math.floor(windowWidth / 500);
+      }
+    },
+
+  },
+  watch: {
+    // 琛ㄥ崟鏁版嵁淇敼鍙嶉鍒扮埗缁勪欢
+    form: {
+      deep: true,
+      immediate: true,
+      handler(newV) {
+        this.$emit("getFormData", newV);
+      },
+    },
+
+    attrList: {
+      deep: true,
+      immediate: true,
+      handler(newVal, oldVal) {
+        if (newVal) {
+          this.$emit("attrList", newVal)
+        }
+      }
+    },
+    TreeValue: {
+      handler(newval, oldval) {
+        if (newval) {
+          this.TreeValueForm = newval;
+        }
+      },
+      deep: true,
+      immediate: true
+    },
+  },
   methods: {
     // 娓叉煋琛ㄥ崟妯℃澘
-    templateRender(formItemList) {
+    templateRender(formItemList, TreeValue) {
+      if (this.eventList) {
+        this.eventFlag = this.eventList.some(item => {
+          if (item.classifyInvokeEditFlag === 'true') {
+            this.eventObject = item;
+            return true;
+          }
+        });
+      }
       // 鏃犻渶鍒嗙粍鏁版嵁
       let column = [];
       let group = [];
       let dictKeys = [];
       let slotColumnList = [];
       formItemList.forEach((formItem) => {
+        // console.log('formItem',formItem)
         formItem = this.resetFormConfig(formItem);
+        if (formItem.secType === "codeattrsec") {
+          this.attrList.push(formItem);
+        }
         if (formItem.type === "line") {
           group.push({
             label: formItem.text,
@@ -523,12 +218,17 @@
         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 });
+          dictKeys.push({dictKey: formItem.comboxKey, field: formItem.field});
         }
         // 绂佺敤閮ㄥ垎灞炴�э紙澶栭儴浼犲�肩鐢ㄥ拰鍙傜収绂佺敤锛�
         if (this.disabledProp.includes(formItem.field)) {
+          formItem.readOnly = true;
+        }
+        if (formItem.field == "lcstatus") {
+          formItem.field = formItem.field + "_text";
           formItem.readOnly = true;
         }
         // 璁剧疆琛ㄥ崟鏍¢獙鐨勮鍒欙紝鏂囨湰
@@ -538,7 +238,23 @@
           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 = {
+          change: (val) => {
+            if (val.column.field === "drawingno") {
+              this.codeattrsecValue = val.value;
+            }
+            // console.log(this.codeattrsecValue)
+          },
+          dataKey: formItem.dataKey || formItem.field,
           label: formItem.text,
           labelslot: true,
           prop: this.$utilFunc.isValuableObj(formItem.referConfig)
@@ -547,36 +263,45 @@
           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 || "yyyy-MM-dd HH:mm:ss",
           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.codeDateValue : null) || (TreeValue && formItem.secType == "codelevelsec" ? TreeValue : null) ||
+            (formItem.secType == "codeattrsec" ? this.add : null),
           placeholder: formItem.inputTip,
           comboxKey: formItem.comboxKey,
-          tip: formItem.explain,
+          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,
-                  placeholder: formItem.inputTip,
-                  options: formItem.referConfig,
-                }
+                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.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,
             },
             {
@@ -609,6 +334,125 @@
       this.geDictData(dictKeys);
       this.getFormDetail();
     },
+    //淇敼绾ц仈椤�
+    changeChildItem(items, TreeValue) {
+      let column = this.option.column;
+      let group = this.option.group;
+      let that = this;
+      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 = {
+          change: (val) => {
+            console.log('1', val)
+          },
+          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 || "yyyy-MM-dd HH:mm:ss",
+          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) {
+          that.slotColumnList.forEach((colItem, index) => {
+            if (colItem.field == columnItem.field) {
+              that.slotColumnList[index] = columnItem;
+              column[index] = columnItem;
+              return;
+            }
+          })
+        } else {
+          that.slotColumnList.forEach((colItem, index) => {
+            if (colItem.field == columnItem.field) {
+              that.slotColumnList[index] = columnItem;
+              return;
+            }
+          })
+          group.forEach((groupItem, index) => {
+            groupItem.column.forEach((colItem, colIndex) => {
+              if (colItem.field == columnItem.field) {
+                group[index].column[colIndex] = columnItem;
+                return;
+              }
+            })
+          });
+        }
+      });
+      that.$set(that.option, "column", column);
+      that.$set(that.option, "group", group);
+    },
     // 浣跨敤浼犲叆鐨勮〃鍗曟暟鎹厤缃�
     resetFormConfig(formItem) {
       for (const configType in this.selfColumnConfig) {
@@ -626,6 +470,7 @@
               if (Object.hasOwnProperty.call(element, newAttr)) {
                 const oldAttr = element[newAttr];
                 formItem[newAttr] = formItem[oldAttr];
+
               }
             }
           } else if (configType === "directVoluation") {
@@ -642,9 +487,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) {
@@ -675,13 +520,13 @@
     // 寮傛鑾峰彇瀛楀吀鏁版嵁
     geDictData(dictKeys) {
       dictKeys.forEach((dictObj) => {
-        getDictionary({ code: dictObj.dictKey }).then((res) => {
+        getEnumDictionary({code: dictObj.dictKey}).then((res) => {
           if (res.data && res.data.code === 200) {
             this.option.column = this.option.column.map((item) => {
               if (item.field === dictObj.field) {
                 let dictData = (res.data.data || []).map((itm) => {
-                  itm.value = itm.dictValue;
-                  itm.key = itm.dictKey;
+                  itm.value = itm.itemName;
+                  itm.key = itm.itemValue;
                   return itm;
                 });
                 item.dicData = dictData;
@@ -699,6 +544,7 @@
           if (valid) {
             done();
             resolve(true);
+            this.ValidataValue = true;
           } else {
             resolve(false);
           }
@@ -708,7 +554,7 @@
     // 鑾峰彇琛ㄥ崟璇︽儏鏁版嵁
     getFormDetail() {
       if (this.type === "add") return;
-      getFormDetail({ templateOid: this.templateOid, oid: this.rowOid }).then(
+      getFormDetail({templateOid: this.templateOid, oid: this.rowOid}).then(
         (res) => {
           this.form = Object.assign(this.form, res.data.data[0]);
           this.loading = false;
@@ -719,19 +565,48 @@
       if (data.field) {
         this.form[data.field] = data.value || "";
         this.form[data.showField] = data.text || "";
-        this.$emit("getFormData", this.form);
+        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 (!_item.attributes.data) {
+                _item.attributes.data = {};
+              }
+              if (mapFields.length == 1) {
+                var mapField = mapFields[0];
+                if (mapField.indexOf("attribute.") > -1) {
+                  temp = _item['attributes'][mapField.subString("attribute.".length)] || _item['attributes']['data'][mapField.subString("attribute.".length)];
+                } else {
+                  temp = _item['attributes'][mapField] || _item['attributes']['data'][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)] || _item['attributes']['data'][_itemField.subString("attribute.".length)]);
+                  } else {
+                    mutiTemp.push(_item['attributes'][_itemField] || _item['attributes']['data'][_itemField] || _item[_itemField]);
+                  }
+                });
+                temp = mutiTemp.join(' ');
+              }
+              if (temp != null && temp != '') {
+                value.push(temp);
+              }
+            })
+            this.form[key] = value.join(',');
+          }
+        }
         this.$emit("referConfigDataUpdate", data);
+        this.$emit("getFormData", this.form);
       }
-    },
-  },
-  watch: {
-    // 琛ㄥ崟鏁版嵁淇敼鍙嶉鍒扮埗缁勪欢
-    form: {
-      deep: true,
-      immediate: true,
-      handler(newV) {
-        this.$emit("getFormData", newV);
-      },
     },
   },
 };

--
Gitblit v1.9.3