From 33c8db885ab2b5117c064d064f6e7c7eb0357a1c Mon Sep 17 00:00:00 2001
From: fujunling <2984387807@qq.com>
Date: 星期五, 02 六月 2023 16:24:54 +0800
Subject: [PATCH] 动态模块

---
 Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue | 1010 ++++++++++++++++++++++++++++++-----------------------------
 1 files changed, 516 insertions(+), 494 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue
index b827c1f..8d6259c 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue
@@ -1,6 +1,7 @@
 <template>
-  <avue-form v-model="form" :option="option" v-loading="loading" ref="form">
-    <template :slot="item.prop + 'Label'" v-for="item in option.column">
+  <div>
+  <avue-form v-model="form" :option="option" v-loading="loading" ref="form"  :style="{minHeight: loading ? '300px' : ''}">
+    <template :slot="item.prop + 'Label'" v-for="item in slotColumnList">
       <span>
         <span>{{ item.label }} </span>
         <el-tooltip
@@ -15,6 +16,7 @@
       </span>
     </template>
   </avue-form>
+  </div>
 </template>
 
 <script>
@@ -23,6 +25,7 @@
 export default {
   name: "FormTemplate",
   props: {
+    // 榛樿绂佺敤鍏冪礌
     disabledProp: {
       type: Array,
       default: () => ["id"],
@@ -35,22 +38,22 @@
       type: String,
       default: "",
     },
+    // 淇敼鍥炴樉鐨勬暟鎹�
     editForm: {
       type: Object,
       default: () => ({}),
     },
+    // 琛ㄥ崟绫诲瀷锛坅dd, edit, detail锛�
     type: {
       type: String,
       default: "add",
     },
-    dialogOpen: {
-      type: Boolean,
-      default: false,
-    },
+    // 鑷畾涔夎〃鍗曠被鍨�
     selfColumnType: {
       type: Object,
       default: () => ({}),
     },
+    // 鑷畾涔夎〃鍗曞睘鎬�
     selfColumnConfig: {
       type: Object,
       default: () => ({}),
@@ -67,8 +70,7 @@
         column: [],
         group: [],
       },
-      loading: false,
-      templateData: {},
+      loading: true,
       columnType: {
         text: "input",
         combox: "select",
@@ -79,505 +81,508 @@
         date: "date",
       },
       // 鍋囨暟鎹�
-      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]/",
-        },
-        {
-          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: "this.form.sum = this.form.fun1 + this.form.fun2",
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "fun1",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          referConfig: null,
-          required: false,
-          selectLibFlag: "",
-          showField: null,
-          suffix: "",
-          text: "鍙傛暟1娴嬭瘯js",
-          tooltips: "",
-          type: "text",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: "this.form.sum = this.form.fun1 + this.form.fun2",
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "fun2",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: false,
-          required: false,
-          selectLibFlag: "",
-          showField: "hesuanfenleiname",
-          suffix: "",
-          text: "鍙傛暟2娴嬭瘯js",
-          tooltips: "",
-          type: "text",
-          unique: false,
-          verify: "",
-        },
-        {
-          comboxKey: null,
-          customClass: null,
-          data: null,
-          dateFormate: "",
-          defaultValue: "",
-          displayExtension: "",
-          extendAttrMap: null,
-          extendAttrString: null,
-          field: "sum",
-          hidden: false,
-          keyAttr: false,
-          prefix: "",
-          readOnly: true,
-          required: false,
-          selectLibFlag: "",
-          showField: "",
-          suffix: "",
-          text: "鍙傛暟1鍙傛暟2姹傚拰",
-          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: true,
-          required: false,
-          selectLibFlag: "",
-          showField: "depId",
-          suffix: "",
-          text: "鍙傜収",
-          tooltips: "",
-          type: "text",
-          unique: false,
-          verify: "",
-        },
-      ],
+      // 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]/",
+      //   },
+      //   {
+      //     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: "this.form.sum = this.form.fun1 + this.form.fun2",
+      //     extendAttrMap: null,
+      //     extendAttrString: null,
+      //     field: "fun1",
+      //     hidden: false,
+      //     keyAttr: false,
+      //     prefix: "",
+      //     readOnly: false,
+      //     referConfig: null,
+      //     required: false,
+      //     selectLibFlag: "",
+      //     showField: null,
+      //     suffix: "",
+      //     text: "鍙傛暟1娴嬭瘯js",
+      //     tooltips: "",
+      //     type: "text",
+      //     unique: false,
+      //     verify: "",
+      //   },
+      //   {
+      //     comboxKey: null,
+      //     customClass: null,
+      //     data: null,
+      //     dateFormate: "",
+      //     defaultValue: "",
+      //     displayExtension: "this.form.sum = this.form.fun1 + this.form.fun2",
+      //     extendAttrMap: null,
+      //     extendAttrString: null,
+      //     field: "fun2",
+      //     hidden: false,
+      //     keyAttr: false,
+      //     prefix: "",
+      //     readOnly: false,
+      //     required: false,
+      //     selectLibFlag: "",
+      //     showField: "hesuanfenleiname",
+      //     suffix: "",
+      //     text: "鍙傛暟2娴嬭瘯js",
+      //     tooltips: "",
+      //     type: "text",
+      //     unique: false,
+      //     verify: "",
+      //   },
+      //   {
+      //     comboxKey: null,
+      //     customClass: null,
+      //     data: null,
+      //     dateFormate: "",
+      //     defaultValue: "",
+      //     displayExtension: "",
+      //     extendAttrMap: null,
+      //     extendAttrString: null,
+      //     field: "sum",
+      //     hidden: false,
+      //     keyAttr: false,
+      //     prefix: "",
+      //     readOnly: true,
+      //     required: false,
+      //     selectLibFlag: "",
+      //     showField: "",
+      //     suffix: "",
+      //     text: "鍙傛暟1鍙傛暟2姹傚拰",
+      //     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: true,
+      //     required: false,
+      //     selectLibFlag: "",
+      //     showField: "depId",
+      //     suffix: "",
+      //     text: "鍙傜収",
+      //     tooltips: "",
+      //     type: "text",
+      //     unique: false,
+      //     verify: "",
+      //   },
+      // ],
       trendsSpan: 8,
       defaultValue: {},
       // 琛ㄥ崟灞炴��
       attributes: [],
-      // 琛ㄥ崟鍏冪礌
-      items: [],
+      slotColumnList: []
     };
   },
   mounted() {
     this.handleResize();
   },
   methods: {
+    init(columnList) {
+      if (Array.isArray(columnList)) {
+        this.templateRender(columnList);
+      } else {
+        this.getFormTemplate();
+      }
+    },
     getFormTemplate() {
-      this.loading = true;
       getFormTemplate({
         templateOid: this.templateOid,
         codeClassifyOid: this.codeClassifyOid,
       })
         .then((res) => {
           if (res.status === 200) {
-            this.templateData = res.data;
-            // 琛ㄥ崟鍏冪礌锛堣繃婊ら渶瑕侀殣钘忕殑灞炴�э級
-            this.items = res.data.formDefineVO.items;
-            this.templateRender();
+            this.templateRender(res.data.formDefineVO.items);
             this.$emit("getFormTemplateEnd", res.data);
           }
-          this.loading = false;
         })
         .catch((err) => {
           this.loading = false;
           console.log(err);
         });
     },
-    templateRender() {
+    templateRender(formItemList) {
       // 鏃犻渶鍒嗙粍鏁版嵁
       let column = [];
       let group = [];
       let dictKeys = [];
-      this.items.forEach((formItem) => {
+      let slotColumnList = []
+      formItemList.forEach((formItem) => {
+        formItem = this.resetFormConfig(formItem);
         if (formItem.type === "line") {
           group.push({
             label: formItem.text,
@@ -606,8 +611,6 @@
         if (formItem.type === "text") {
           message = "璇疯緭鍏�";
           trigger = "blur";
-        } else if (formItem.type === "file") {
-          message = "璇蜂笂浼�";
         }
         let columnItem = {
           label: formItem.text,
@@ -631,12 +634,15 @@
           tipPlacement: "right",
           comboxKey: formItem.comboxKey,
           display: !formItem.hidden,
+          maxlength: formItem.maxlength,
           filterable: true,
           change: () => {
             this.changeFun(formItem.displayExtension, formItem.prop);
           },
           span: formItem.type === "textarea" ? 24 : this.trendsSpan,
-          click: this.clickFun(formItem.referConfig),
+          click: () => {
+            this.clickFun(formItem.referConfig)
+          },
           rules: [
             {
               required: formItem.required,
@@ -655,24 +661,47 @@
             value: "key",
           },
         };
-        columnItem = this.resetFormConfig(columnItem);
+        slotColumnList.push(columnItem)
         if (group.length === 0) {
           column.push(columnItem);
         } else {
           group[group.length - 1]["column"].push(columnItem);
         }
       });
+      this.slotColumnList = slotColumnList
       this.$set(this.option, "column", column);
       this.$set(this.option, "group", group);
       this.formIndex++;
+      this.loading = false
       this.geDictData(dictKeys);
     },
     // 浣跨敤浼犲叆鐨勮〃鍗曟暟鎹厤缃�
     resetFormConfig(formItem) {
-      for (const key in this.selfColumnConfig) {
-        if (Object.hasOwnProperty.call(this.selfColumnConfig, key)) {
-          const element = this.selfColumnConfig[key];
-          formItem[key] = element;
+      for (const configType in this.selfColumnConfig) {
+        if (Object.hasOwnProperty.call(this.selfColumnConfig, configType)) {
+          const element = this.selfColumnConfig[configType];
+          if (configType === "function") {
+            for (const attr in element) {
+              if (Object.hasOwnProperty.call(element, attr)) {
+                const fun = element[attr];
+                formItem[attr] = fun(formItem);
+              }
+            }
+          } else if (configType === "exchange") {
+            for (const newAttr in element) {
+              if (Object.hasOwnProperty.call(element, newAttr)) {
+                const oldAttr = element[newAttr];
+                formItem[newAttr] = formItem[oldAttr];
+              }
+            }
+          } else if (configType === "directVoluation") {
+            for (const attr in element) {
+              if (Object.hasOwnProperty.call(element, attr)) {
+                const value = element[attr];
+                formItem[attr] = value;
+              }
+            }
+          }
         }
       }
       return formItem;
@@ -696,6 +725,7 @@
       // })
     },
     clickFun(referConfig) {
+      console.log(123123);
       if (this.type === "detail") {
         return;
       }
@@ -740,14 +770,6 @@
     },
   },
   watch: {
-    dialogOpen: {
-      immediate: true,
-      handler(newV) {
-        if (newV) {
-          this.getFormTemplate();
-        }
-      },
-    },
     form: {
       deep: true,
       immediate: true,

--
Gitblit v1.9.3