From f37b3eceb7e962d32ebe420bb8b931ea4dae4fe2 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 28 三月 2024 17:56:33 +0800
Subject: [PATCH] 表单参照

---
 Source/ProjectWeb/src/views/test/referDemo/DynamicsFrom.vue           |    8 
 Source/ProjectWeb/src/router/page/index.js                            |   14 
 Source/ProjectWeb/src/views/base/buttonTable.js                       |    1 
 Source/ProjectWeb/src/components/refer/vciWebRefer.vue                |    6 
 Source/ProjectWeb/src/const/refer/refer.js                            |   99 ++++++
 Source/ProjectWeb/src/views/test/referDemo/referDemoDialog.vue        |   13 
 Source/ProjectWeb/src/views/base/uiDefineVO.js                        |  572 +++++++++++--------------------------
 Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue  |  167 ++++++++++
 Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue |   17 
 9 files changed, 471 insertions(+), 426 deletions(-)

diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
index 41cbbad..8326916 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
@@ -18,13 +18,34 @@
       <template slot="menuForm">
         <dynamic-button type="form" :butttonList="componentVO.buttons" @buttonClick="buttonClick"></dynamic-button>
       </template>
+
+      <template v-for="item in slotData" :slot="item.prop + ''">
+        <vciWebRefer v-if="item.type == 'refer'"
+                     :key="item.prop"
+                     referType="master"
+                     :data-key="item.prop"
+                     :disabled="item.disabled || false"
+                     :display="item.display || true"
+                     :referConfig="item.referConfig || {}"
+                     :reloadFormKey="(item.referConfig.useFormKey && item.referConfig.formValues && item.referConfig.formValues[item.referConfig.useFormKey]) || ''"
+                     :text="item.referConfig.showProp"
+                     :value="item.prop || item.value"
+                     @setReferValue="setReferValue"
+                     :ref="'referFormRef'+item.prop">
+
+        </vciWebRefer>
+      </template>
     </avue-form>
   </div>
 </template>
 
 <script>
+import vciWebRefer from '@/components/refer/vciWebRefer'
+import VciWebRefer from "@/components/refer/vciWebRefer";
+import {verifyNull, verifySlash} from "@/util/validate";
 export default {
   name: "dynamic-form",
+  components: {VciWebRefer},
   props: {
     componentVO: {
       type: Object,
@@ -61,6 +82,7 @@
   data() {
     return {
       form: {},
+      ruleForm:{}
     }
   },
   mounted() {
@@ -71,11 +93,11 @@
         submitBtn: false,
         emptyBtn: false,
         height: 300,
-        column: this.getColumnData(0)
+        column: this.getColumnData()
       }
     },
     slotData() {
-      return this.getColumnData(0)
+      return this.getColumnData()
     }
   },
   watch:{
@@ -87,26 +109,66 @@
       }
     }
   },
+  watch:{
+    slotData:{
+      handler(newV){
+       this.getDictList(newV)
+      },
+      immediate: true,
+    },
+    ruleForm: {
+      handler(val) {
+        if (val) {
+          if (Array.isArray(val)) { // 妫�鏌� val 鏄惁涓烘暟缁�
+            for (let code of val) {
+              if (
+                code.type == "refer" &&
+                code.referConfig &&
+                code.referConfig.useFormKey
+              ) {
+                code.referConfig.formValues = val;
+                // code.referConfigTemp.options = code.referConfig;
+              }
+            }
+          } else if (typeof val === 'object') { // 妫�鏌� val 鏄惁涓哄璞�
+            // 杩唬瀵硅薄鐨勯�昏緫
+          }
+          this.$emit("input", val);
+        }
+      },
+      deep: true,
+      immediate: true,
+    },
+  },
   methods: {
     //杞寲鏁版嵁
     formColumn(formList) {
         return formList.map(item => {
           const typeValue = item.type === 'text' ? 'input' : item.type === 'combox' ? 'select' : item.type;
 
+          const focusFunc = item.type === 'refer' ? (i) => {
+
+          } : undefined;
+
+
           return {
             label: item.text,
             prop: item.field,
             type: typeValue,
+            labelWidth:item.text.length >= 6 ? 115 : 90,
             value: item.defaultValue,
             dicData: item.type === 'combox' ? item.dicData : item.dicUrl,
             readonly: item.readOnly,
             disabled: item.disabled,
+            display: !item.hidden,
             labelSuffix: item.suffix,
             suffixIcon: item.prefix,
             placeholder: item.placeholder,
             clearable: item.clearable,
             tip: item.tooltips,
             keyAttr: item.keyAttr,
+            focus:focusFunc,
+            referConfig:item.referConfig,
             rules: [{
               required: item.required,
               message: `璇疯緭鍏�${item.text}!`,
@@ -117,9 +179,9 @@
     },
 
     //鏁版嵁鍒ょ┖
-    getColumnData(index) {
-      if (this.componentVO && this.componentVO.tableDefineVO && this.componentVO.tableDefineVO.cols && this.componentVO.tableDefineVO.cols.length > 0) {
-        return this.formColumn(this.componentVO.tableDefineVO.cols[index])
+    getColumnData() {
+      if (this.componentVO && this.componentVO.formDefineVO && this.componentVO.formDefineVO.items && this.componentVO.formDefineVO.items.length > 0) {
+        return this.formColumn(this.componentVO.formDefineVO.items)
       } else {
         return null;
       }
@@ -128,6 +190,101 @@
     buttonClick(item) {
       console.log(item.id)
     },
+    async getDictList(val) {
+      for (let code of val) {
+        if (!verifyNull(code.dictData) && code.type == "select") {
+          if (
+            verifySlash(code.dictCode) &&
+            Object.prototype.hasOwnProperty.call(code, "dictCode")
+          ) {
+            const res = await getlistByCode(code.dictCode);
+            if (res.success) {
+              const dic = res.data;
+              code.dictData = dic.map((d) => {
+                return {
+                  label: d.name,
+                  key: d.code,
+                  value: d.id,
+                };
+              });
+            }
+          } else {
+            this.getDicts(code.dictCode)
+              .then((res) => {
+                if (res.success) {
+                  const dic = res.obj.datas;
+                  code.dictData = dic.map((d) => {
+                    return {
+                      label: d.name,
+                      key: d.code,
+                      value: d.code,
+                    };
+                  });
+                }
+              })
+              .catch(() => {
+                this.$message.error(` 鏁版嵁瀛楀吀${code.dictCode}閿欒`);
+              });
+          }
+        }
+        if (code.type == "refer") {
+          if (code.referConfig && code.referConfig.useFormKey) {
+            if (verifyNull(code.referConfig.formValuesKey)) {
+              code.referConfig.formValuesKey = "ruleForm";
+            }
+            code.referConfig.formValues = this[code.referConfig.formValuesKey];
+          }
+          code.referConfigTemp = {
+            title: code.label,
+            showProp:
+              code.showProp || code.referConfig.showProp || code.prop + "Name",
+            prop: code.prop,
+            propMap: code.propMap || {},
+            placeholder: code.placeholder
+              ? code.placeholder
+              : ` 璇烽�夋嫨` + code.label,
+            options: code.referConfig,
+          };
+        }
+      }
+      this.formTemplateData = val;
+    },
+    setReferValue(data) {
+      if (data.prop) {
+        this.ruleForm[data.prop] = data.value || "";
+        this.ruleForm[data.showProp] = data.text || "";
+        if (data.propMap) {
+          //璇存槑闇�瑕佹槧灏�
+          for (let key in data.propMap) {
+            let mapFields = data.propMap[key].split(",");
+            let value = [];
+            data.rawData.forEach((_item) => {
+              var temp;
+              if (!_item.extendData) {
+                _item.extendData = {};
+              }
+              if (mapFields.length == 1) {
+                var mapField = mapFields[0];
+                temp = _item[mapField] || _item["extendData"][mapField];
+              } else {
+                //鏈夊涓�
+                var mutiTemp = [];
+                mapFields.forEach((_itemField) => {
+                  mutiTemp.push(
+                    _item[_itemField] || _item["extendData"][_itemField]
+                  );
+                });
+                temp = mutiTemp.join(" ");
+              }
+              if (temp != null && temp != "") {
+                value.push(temp);
+              }
+            });
+            this.ruleForm[key] = value.join(",");
+          }
+        }
+      }
+    },
   }
 }
 </script>
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
index 0a6ecb1..b2e6561 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
@@ -7,6 +7,7 @@
                :page.sync="pageType"
                :table-loading="loading"
                @row-click="rowClickChange"
+               @search-change='searchChange'
                @selection-change="selectChange">
       <!--top鍖哄煙鎸夐挳-->
       <template slot="menuLeft" slot-scope="scope">
@@ -514,7 +515,7 @@
       });
     },
     pageType() {
-      return this.areasName.indexOf('westArea') == 0  ? this.simplePage : this.page;
+      return this.areasName === 'westArea' ? this.simplePage : this.page;
     }
   },
   watch: {
@@ -538,13 +539,6 @@
           this.parentHeight = this.$el.clientHeight - this.$children[0].$children[1].$children[0].$el.clientHeight - this.$children[0].$children[2].$el.clientHeight - 5;
         }
       }
-    },
-    sourceData:{
-      handler(newval) {
-        //婧愭暟鎹湁鍙樺寲鏃跺彉鏇村綋鍓嶅尯鍩熸暟鎹�
-        console.log(this.areasName);
-        console.log(newval);
-      }
     }
   },
   created() {
@@ -562,6 +556,13 @@
     },
     selectChange(row) {
       this.selectList = row;
+    },
+    TreeSelectChange(row) {
+      this.TreeSelectList = row;
+    },
+    searchChange(form,done){
+      console.log(form)
+      done()
       this.$emit("setDataStore", {
         area: this.areasName,
         dataStore:row
diff --git a/Source/ProjectWeb/src/components/refer/vciWebRefer.vue b/Source/ProjectWeb/src/components/refer/vciWebRefer.vue
index 5f63690..8607636 100644
--- a/Source/ProjectWeb/src/components/refer/vciWebRefer.vue
+++ b/Source/ProjectWeb/src/components/refer/vciWebRefer.vue
@@ -178,10 +178,10 @@
   },
   data() {
     return {
-      refertype: this.referConfig.options.type,
+      refertype: this.referConfig.type,
       emitData: {},
-      width:this.referConfig.options.width || '900px',
-      height:this.referConfig.options.height || '600px'
+      width:this.referConfig.width || '900px',
+      height:this.referConfig.height || '600px'
     };
   },
   computed: {
diff --git a/Source/ProjectWeb/src/const/refer/refer.js b/Source/ProjectWeb/src/const/refer/refer.js
new file mode 100644
index 0000000..741e9e5
--- /dev/null
+++ b/Source/ProjectWeb/src/const/refer/refer.js
@@ -0,0 +1,99 @@
+import {verifyNull, verifySlash} from "@/util/validate";
+
+export default {
+  async getDictList(val,that) {
+    for (let code of val) {
+      if (!verifyNull(code.dictData) && code.type == "select") {
+        if (
+          verifySlash(code.dictCode) &&
+          Object.prototype.hasOwnProperty.call(code, "dictCode")
+        ) {
+          const res = await getlistByCode(code.dictCode);
+          if (res.success) {
+            const dic = res.data;
+            code.dictData = dic.map((d) => {
+              return {
+                label: d.name,
+                key: d.code,
+                value: d.id,
+              };
+            });
+          }
+        } else {
+          that.getDicts(code.dictCode)
+            .then((res) => {
+              if (res.success) {
+                const dic = res.obj.datas;
+                code.dictData = dic.map((d) => {
+                  return {
+                    label: d.name,
+                    key: d.code,
+                    value: d.code,
+                  };
+                });
+              }
+            })
+            .catch(() => {
+              that.$message.error(` 鏁版嵁瀛楀吀${code.dictCode}閿欒`);
+            });
+        }
+      }
+      if (code.type == "refer") {
+        if (code.referConfig && code.referConfig.useFormKey) {
+          if (verifyNull(code.referConfig.formValuesKey)) {
+            code.referConfig.formValuesKey = "ruleForm";
+          }
+          code.referConfig.formValues = that[code.referConfig.formValuesKey];
+        }
+        code.referConfigTemp = {
+          title: code.label,
+          showProp:
+            code.showProp || code.referConfig.showProp || code.prop + "Name",
+          prop: code.prop,
+          propMap: code.propMap || {},
+          placeholder: code.placeholder
+            ? code.placeholder
+            : ` 璇烽�夋嫨` + code.label,
+          options: code.referConfig,
+        };
+      }
+    }
+    that.formTemplateData = val;
+  },
+  setReferValue(data,that) {
+    if (data.prop) {
+      that.ruleForm[data.prop] = data.value || "";
+      that.ruleForm[data.showProp] = data.text || "";
+      if (data.propMap) {
+        //璇存槑闇�瑕佹槧灏�
+        for (let key in data.propMap) {
+          let mapFields = data.propMap[key].split(",");
+          let value = [];
+          data.rawData.forEach((_item) => {
+            var temp;
+            if (!_item.extendData) {
+              _item.extendData = {};
+            }
+            if (mapFields.length == 1) {
+              var mapField = mapFields[0];
+              temp = _item[mapField] || _item["extendData"][mapField];
+            } else {
+              //鏈夊涓�
+              var mutiTemp = [];
+              mapFields.forEach((_itemField) => {
+                mutiTemp.push(
+                  _item[_itemField] || _item["extendData"][_itemField]
+                );
+              });
+              temp = mutiTemp.join(" ");
+            }
+            if (temp != null && temp != "") {
+              value.push(temp);
+            }
+          });
+          that.ruleForm[key] = value.join(",");
+        }
+      }
+    }
+  },
+}
diff --git a/Source/ProjectWeb/src/router/page/index.js b/Source/ProjectWeb/src/router/page/index.js
index c4396fc..657b0e0 100644
--- a/Source/ProjectWeb/src/router/page/index.js
+++ b/Source/ProjectWeb/src/router/page/index.js
@@ -95,10 +95,22 @@
     component: Layout,
     children: [
       {
-        path: '', // 绌鸿矾寰勮〃绀鸿闂� '/dynamic-table' 鏃跺姞杞� Layout 缁勪欢
+        path: '', // 绌鸿矾寰勮〃绀鸿闂� '/dynamic-form' 鏃跺姞杞� Layout 缁勪欢
         component: () => import('@/components/dynamic-components/dynamic-form'),
         props: true
       }
     ]
   },
+  {
+    path: '/referIndex',
+    name: '鍔ㄦ�佽〃鏍奸〉闈�',
+    component: Layout,
+    children: [
+      {
+        path: '', // 绌鸿矾寰勮〃绀鸿闂� '/dynamic-form' 鏃跺姞杞� Layout 缁勪欢
+        component: () => import('@/views/test/referDemo/index'),
+        props: true
+      }
+    ]
+  },
 ]
diff --git a/Source/ProjectWeb/src/views/base/buttonTable.js b/Source/ProjectWeb/src/views/base/buttonTable.js
index 32964b5..80c6508 100644
--- a/Source/ProjectWeb/src/views/base/buttonTable.js
+++ b/Source/ProjectWeb/src/views/base/buttonTable.js
@@ -33,6 +33,7 @@
     if (location === 'menu') {
       that.visible = true;
       that.$refs.dynamicForm.form = that.scope.row;
+      console.log('1',that.scope.row)
       console.log(that.scope.row)
     } else if (location === 'top' && that.selectList.length === 1) {
       that.visible = true;
diff --git a/Source/ProjectWeb/src/views/base/uiDefineVO.js b/Source/ProjectWeb/src/views/base/uiDefineVO.js
index 18e92fb..7bd0e5a 100644
--- a/Source/ProjectWeb/src/views/base/uiDefineVO.js
+++ b/Source/ProjectWeb/src/views/base/uiDefineVO.js
@@ -2625,7 +2625,175 @@
           "extendAttr": "",
           "firstR": null,
           "firstV": null,
-          "formDefineVO": null,
+          "formDefineVO": {
+            "btmType": "test",
+            "columnOneRow": 3,
+            "freeMarkerEls": [],
+            "id": "materialform",
+            "items": [
+              {
+                'comboxKey': null,
+                'customClass': null,
+                'data': null,
+                'dateFormate': null,
+                'defaultValue': "",
+                'displayExtension': "",
+                'extendAttrMap': null,
+                'extendAttrString': null,
+                'field': "name",
+                'hidden': false,
+                'keyAttr': true,
+                'prefix': null,
+                'readOnly': false,
+                'referConfig': null,
+                'required': true,
+                'selectLibFlag': null,
+                'showField': null,
+                'suffix': '$',
+                'text': "鍚嶇О",
+                'tooltips': '鍚嶇О',
+                'type': "text",
+                'unique': false,
+                'verify': ""
+              },
+              {
+                'comboxKey': null,
+                'customClass': null,
+                'data': null,
+                'dateFormate': null,
+                'defaultValue': "",
+                'displayExtension': "",
+                'extendAttrMap': null,
+                'extendAttrString': null,
+                'field': "code",
+                'hidden': false,
+                'keyAttr': false,
+                'prefix': null,
+                'readOnly': false,
+                'referConfig': null,
+                'required': false,
+                'selectLibFlag': null,
+                'showField': null,
+                'suffix': null,
+                'disabled':true,
+                'text': "缂栫爜",
+                'tooltips': null,
+                'type': "text",
+                'unique': false,
+                'verify': ""
+              },
+              {
+                'comboxKey': "EnumReviewType",
+                'customClass': null,
+                'data': null,
+                'dateFormate': null,
+                'defaultValue': "department",
+                'displayExtension': "",
+                'extendAttrMap': null,
+                'extendAttrString': null,
+                'field': "reviewtype",
+                'hidden': false,
+                'keyAttr': false,
+                'prefix': null,
+                'readOnly': false,
+                'referConfig': null,
+                'required': false,
+                'selectLibFlag': null,
+                'showField': null,
+                'suffix': null,
+                'text': "绫诲瀷",
+                'tooltips': null,
+                'type': "combox",
+                'unique': false,
+                'verify': "",
+                'dicData': [{
+                  'label': '娴嬭瘯1',
+                  'value': 'department'
+                }, {
+                  'label': '娴嬭瘯2',
+                  'value': 'departments'
+                }]
+              },
+              {
+                'comboxKey': null,
+                'customClass': null,
+                'data': null,
+                'dateFormate': null,
+                'defaultValue': "",
+                'displayExtension': "",
+                'extendAttrMap': null,
+                'extendAttrString': null,
+                'field': "creator",
+                'hidden': true,
+                'keyAttr': false,
+                'prefix': null,
+                'readOnly': true,
+                'referConfig': null,
+                'required': false,
+                'selectLibFlag': null,
+                'showField': null,
+                'suffix': null,
+                'text': "鍒涘缓浜�",
+                'tooltips': null,
+                'type': "text",
+                'unique': false,
+                'verify': ""
+              },
+              {
+                'comboxKey': null,
+                'customClass': null,
+                'data': null,
+                'dateFormate': "yyyy-MM-dd HH:mm:ss",
+                'defaultValue': "",
+                'displayExtension': "",
+                'extendAttrMap': null,
+                'extendAttrString': null,
+                'field': "createtime",
+                'hidden': true,
+                'keyAttr': false,
+                'prefix': null,
+                'readOnly': false,
+                'referConfig': null,
+                'required': false,
+                'selectLibFlag': null,
+                'showField': null,
+                'suffix': null,
+                'text': "鍒涘缓鏃堕棿",
+                'tooltips': null,
+                'type': "datetime",
+                'unique': false,
+                'verify': ""
+              },
+              {
+                'comboxKey': null,
+                'customClass': null,
+                'data': null,
+                'dateFormate': null,
+                'defaultValue': "",
+                'displayExtension': "",
+                'extendAttrMap': null,
+                'extendAttrString': null,
+                'field': "content",
+                'hidden': false,
+                'keyAttr': false,
+                'prefix': null,
+                'readOnly': false,
+                'referConfig': null,
+                'required': false,
+                'selectLibFlag': null,
+                'showField': null,
+                'suffix': null,
+                'text': "澶囨敞",
+                'tooltips': null,
+                'type': "textarea",
+                'unique': false,
+                'verify': ""
+              }
+            ],
+            "linkTypeFlag": false,
+            "oid": "ED51077B-253F-2AB9-A0E6-BA289052B03C",
+            "queryTemplateName": ""
+          }    ,
           "id": null,
           "lastModifier": null,
           "lastModifyTime": null,
@@ -2646,403 +2814,7 @@
           "revisionValue": null,
           "secretGrade": null,
           "secretGradeText": null,
-          "tableDefineVO": {
-            "btmType": "fileobject",
-            "cols": [
-              [
-                {
-                  'comboxKey': null,
-                  'customClass': null,
-                  'data': null,
-                  'dateFormate': null,
-                  'defaultValue': "",
-                  'displayExtension': "",
-                  'extendAttrMap': null,
-                  'extendAttrString': null,
-                  'field': "name",
-                  'hidden': false,
-                  'keyAttr': true,
-                  'prefix': null,
-                  'readOnly': false,
-                  'referConfig': null,
-                  'required': true,
-                  'selectLibFlag': null,
-                  'showField': null,
-                  'suffix': '$',
-                  'text': "鍚嶇О",
-                  'tooltips': '鍚嶇О',
-                  'type': "text",
-                  'unique': false,
-                  'verify': ""
-                },
-                {
-                  'comboxKey': null,
-                  'customClass': null,
-                  'data': null,
-                  'dateFormate': null,
-                  'defaultValue': "",
-                  'displayExtension': "",
-                  'extendAttrMap': null,
-                  'extendAttrString': null,
-                  'field': "code",
-                  'hidden': false,
-                  'keyAttr': false,
-                  'prefix': null,
-                  'readOnly': false,
-                  'referConfig': null,
-                  'required': false,
-                  'selectLibFlag': null,
-                  'showField': null,
-                  'suffix': null,
-                  'disabled':true,
-                  'text': "缂栫爜",
-                  'tooltips': null,
-                  'type': "text",
-                  'unique': false,
-                  'verify': ""
-                },
-                {
-                  'comboxKey': "EnumReviewType",
-                  'customClass': null,
-                  'data': null,
-                  'dateFormate': null,
-                  'defaultValue': "department",
-                  'displayExtension': "",
-                  'extendAttrMap': null,
-                  'extendAttrString': null,
-                  'field': "reviewtype",
-                  'hidden': false,
-                  'keyAttr': false,
-                  'prefix': null,
-                  'readOnly': false,
-                  'referConfig': null,
-                  'required': false,
-                  'selectLibFlag': null,
-                  'showField': null,
-                  'suffix': null,
-                  'text': "绫诲瀷",
-                  'tooltips': null,
-                  'type': "combox",
-                  'unique': false,
-                  'verify': "",
-                  'dicData': [{
-                    'label': '娴嬭瘯1',
-                    'value': 'department'
-                  }, {
-                    'label': '娴嬭瘯2',
-                    'value': 'departments'
-                  }]
-                },
-                {
-                  'comboxKey': null,
-                  'customClass': null,
-                  'data': null,
-                  'dateFormate': null,
-                  'defaultValue': "",
-                  'displayExtension': "",
-                  'extendAttrMap': null,
-                  'extendAttrString': null,
-                  'field': "creator",
-                  'hidden': true,
-                  'keyAttr': false,
-                  'prefix': null,
-                  'readOnly': true,
-                  'referConfig': null,
-                  'required': false,
-                  'selectLibFlag': null,
-                  'showField': null,
-                  'suffix': null,
-                  'text': "鍒涘缓浜�",
-                  'tooltips': null,
-                  'type': "text",
-                  'unique': false,
-                  'verify': ""
-                },
-                {
-                  'comboxKey': null,
-                  'customClass': null,
-                  'data': null,
-                  'dateFormate': "yyyy-MM-dd HH:mm:ss",
-                  'defaultValue': "",
-                  'displayExtension': "",
-                  'extendAttrMap': null,
-                  'extendAttrString': null,
-                  'field': "createtime",
-                  'hidden': true,
-                  'keyAttr': false,
-                  'prefix': null,
-                  'readOnly': false,
-                  'referConfig': null,
-                  'required': false,
-                  'selectLibFlag': null,
-                  'showField': null,
-                  'suffix': null,
-                  'text': "鍒涘缓鏃堕棿",
-                  'tooltips': null,
-                  'type': "datetime",
-                  'unique': false,
-                  'verify': ""
-                },
-                {
-                  'comboxKey': null,
-                  'customClass': null,
-                  'data': null,
-                  'dateFormate': null,
-                  'defaultValue': "",
-                  'displayExtension': "",
-                  'extendAttrMap': null,
-                  'extendAttrString': null,
-                  'field': "content",
-                  'hidden': false,
-                  'keyAttr': false,
-                  'prefix': null,
-                  'readOnly': false,
-                  'referConfig': null,
-                  'required': false,
-                  'selectLibFlag': null,
-                  'showField': null,
-                  'suffix': null,
-                  'text': "澶囨敞",
-                  'tooltips': null,
-                  'type': "textarea",
-                  'unique': false,
-                  'verify': ""
-                },
-              ],
-            ],
-            "displayFolder": false,
-            "displayQueryArea": false,
-            "folderParentField": "",
-            "hasEditor": false,
-            "id": "documentFileList",
-            "limits": [
-              15,
-              50,
-              100,
-              500,
-              1000
-            ],
-            "linkTypeFlag": false,
-            "oid": "40F0266E-9D12-F284-196B-379A40236F69",
-            "pageVO": null,
-            "queryColumns": null,
-            "queryTemplateName": "DocumentFiles",
-            "seniorQueryColumns": [
-              {
-                "align": "left",
-                "colspan": 1,
-                "comboxKey": null,
-                "data": [],
-                "dateFormate": null,
-                "edit": null,
-                "editConfig": null,
-                "event": null,
-                "field": "name",
-                "fieldType": "text",
-                "fixed": null,
-                "hidden": false,
-                "minWidth": null,
-                "optionButtons": null,
-                "optionField": false,
-                "optionJsMap": null,
-                "queryField": null,
-                "referConfig": {
-                  "backPath": null,
-                  "displayTable": null,
-                  "height": null,
-                  "initSort": null,
-                  "loadType": "all",
-                  "mapFields": null,
-                  "method": "GET",
-                  "muti": false,
-                  "onlyLeaf": false,
-                  "paramForFormKey": null,
-                  "parentFieldName": null,
-                  "parentUsedField": null,
-                  "parentValue": null,
-                  "referContent": null,
-                  "referType": null,
-                  "remoteSort": false,
-                  "tableConfig": null,
-                  "textField": "name",
-                  "type": null,
-                  "url": null,
-                  "useFormKey": null,
-                  "valueField": "oid",
-                  "where": null
-                },
-                "rowspan": 1,
-                "showField": null,
-                "sort": false,
-                "sortField": null,
-                "style": null,
-                "templet": null,
-                "title": "鍚嶇О",
-                "unresize": false,
-                "width": 300
-              },
-              {
-                "align": "left",
-                "colspan": 1,
-                "comboxKey": null,
-                "data": [],
-                "dateFormate": null,
-                "edit": null,
-                "editConfig": null,
-                "event": null,
-                "field": "filesize",
-                "fieldType": "radio",
-                "fixed": null,
-                "hidden": false,
-                "minWidth": null,
-                "optionButtons": null,
-                "optionField": false,
-                "optionJsMap": null,
-                "queryField": null,
-                "referConfig": {
-                  "backPath": null,
-                  "displayTable": null,
-                  "height": null,
-                  "initSort": null,
-                  "loadType": "all",
-                  "mapFields": null,
-                  "method": "GET",
-                  "muti": false,
-                  "onlyLeaf": false,
-                  "paramForFormKey": null,
-                  "parentFieldName": null,
-                  "parentUsedField": null,
-                  "parentValue": null,
-                  "referContent": null,
-                  "referType": null,
-                  "remoteSort": false,
-                  "tableConfig": null,
-                  "textField": "name",
-                  "type": null,
-                  "url": null,
-                  "useFormKey": null,
-                  "valueField": "oid",
-                  "where": null
-                },
-                "rowspan": 1,
-                "showField": null,
-                "sort": false,
-                "sortField": null,
-                "style": null,
-                "templet": null,
-                "title": "鏂囦欢澶у皬",
-                "unresize": false,
-                "width": 150
-              },
-              {
-                "align": "left",
-                "colspan": 1,
-                "comboxKey": null,
-                "data": [],
-                "dateFormate": null,
-                "edit": null,
-                "editConfig": null,
-                "event": null,
-                "field": "creator_name,(,creator,)",
-                "fieldType": "text",
-                "fixed": null,
-                "hidden": false,
-                "minWidth": null,
-                "optionButtons": null,
-                "optionField": false,
-                "optionJsMap": null,
-                "queryField": null,
-                "referConfig": {
-                  "backPath": null,
-                  "displayTable": null,
-                  "height": null,
-                  "initSort": null,
-                  "loadType": "all",
-                  "mapFields": null,
-                  "method": "GET",
-                  "muti": false,
-                  "onlyLeaf": false,
-                  "paramForFormKey": null,
-                  "parentFieldName": null,
-                  "parentUsedField": null,
-                  "parentValue": null,
-                  "referContent": null,
-                  "referType": null,
-                  "remoteSort": false,
-                  "tableConfig": null,
-                  "textField": "name",
-                  "type": null,
-                  "url": null,
-                  "useFormKey": null,
-                  "valueField": "oid",
-                  "where": null
-                },
-                "rowspan": 1,
-                "showField": null,
-                "sort": false,
-                "sortField": "creator",
-                "style": null,
-                "templet": null,
-                "title": "鍒涘缓鑰�",
-                "unresize": false,
-                "width": 150
-              },
-              {
-                "align": "left",
-                "colspan": 1,
-                "comboxKey": null,
-                "data": [],
-                "dateFormate": "yyyy-MM-dd HH:mm:ss",
-                "edit": null,
-                "editConfig": null,
-                "event": null,
-                "field": "createtime",
-                "fieldType": "text",
-                "fixed": null,
-                "hidden": false,
-                "minWidth": null,
-                "optionButtons": null,
-                "optionField": false,
-                "optionJsMap": null,
-                "queryField": null,
-                "referConfig": {
-                  "backPath": null,
-                  "displayTable": null,
-                  "height": null,
-                  "initSort": null,
-                  "loadType": "all",
-                  "mapFields": null,
-                  "method": "GET",
-                  "muti": false,
-                  "onlyLeaf": false,
-                  "paramForFormKey": null,
-                  "parentFieldName": null,
-                  "parentUsedField": null,
-                  "parentValue": null,
-                  "referContent": null,
-                  "referType": null,
-                  "remoteSort": false,
-                  "tableConfig": null,
-                  "textField": "name",
-                  "type": null,
-                  "url": null,
-                  "useFormKey": null,
-                  "valueField": "oid",
-                  "where": null
-                },
-                "rowspan": 1,
-                "showField": null,
-                "sort": false,
-                "sortField": null,
-                "style": null,
-                "templet": null,
-                "title": "鍒涘缓鏃堕棿",
-                "unresize": false,
-                "width": 150
-              }
-            ],
-            "whereSql": ""
-          },
+          "tableDefineVO":null,
           "treeDefineVO": null,
           "treeTableDefineVO": null,
           "ts": null,
@@ -3064,7 +2836,7 @@
       "extendAttr": "",
       "firstR": null,
       "firstV": null,
-      "id": "1",
+      "id": "6",
       "international": null,
       "lastModifier": "developer",
       "lastModifyTime": "2022-07-18 17:30:52.000",
@@ -3160,7 +2932,7 @@
       "extendAttr": "",
       "firstR": null,
       "firstV": null,
-      "id": "2",
+      "id": "7",
       "international": null,
       "lastModifier": "developer",
       "lastModifyTime": "2022-07-18 17:30:52.000",
diff --git a/Source/ProjectWeb/src/views/test/referDemo/DynamicsFrom.vue b/Source/ProjectWeb/src/views/test/referDemo/DynamicsFrom.vue
index 9d8704a..821db59 100644
--- a/Source/ProjectWeb/src/views/test/referDemo/DynamicsFrom.vue
+++ b/Source/ProjectWeb/src/views/test/referDemo/DynamicsFrom.vue
@@ -201,14 +201,14 @@
     },
     formData: {
       handler(val) {
-        this.rules = handlerObj("prop", "rule", val);
-        //this.getDictList(val);
+        this.rules = val;
+        this.getDictList(val);
       },
       immediate: true,
     },
     ruleForm: {
       handler(val) {
-        for (let code of this.formTemplateData) {
+        for (let code of val) {
           if (
             code.type == "refer" &&
             code.referConfig &&
@@ -216,7 +216,7 @@
           ) {
             code.referConfig.formValues = val;
 
-            code.referConfigTemp.options = code.referConfig;
+            // code.referConfigTemp.options = code.referConfig;
           }
         }
         this.$emit("input", val);
diff --git a/Source/ProjectWeb/src/views/test/referDemo/referDemoDialog.vue b/Source/ProjectWeb/src/views/test/referDemo/referDemoDialog.vue
index db97acf..1691d0a 100644
--- a/Source/ProjectWeb/src/views/test/referDemo/referDemoDialog.vue
+++ b/Source/ProjectWeb/src/views/test/referDemo/referDemoDialog.vue
@@ -1,8 +1,9 @@
 <template>
-  <basic-dialog
+  <el-dialog
     :visible.sync="dialog.showDialog"
     :title="dialog.title"
     width="40%"
+    append-to-body
     :submit-icon="dialog.submitIcon"
     :submit-txt="dialog.submitTxt"
     :loading="dialog.loading"
@@ -15,11 +16,11 @@
       :form-prop="ruleForm"
       ref="referDialogFormRef"
     ></d-from>
-  </basic-dialog>
+  </el-dialog>
 </template>
 <script>
-import { DFrom } from "@/views/test/referDemo/DynamicsFrom";
-import { deferFormTemplate } from "@/views/test/referDemo/referDemo";
+import  DFrom  from "@/views/test/referDemo/DynamicsFrom";
+import {deferFormTemplate} from "@/views/test/referDemo/referDemo";
 import { handlerObj } from "@/util/platformUtils";
 export default {
   name: "referDemoDialog",
@@ -41,13 +42,15 @@
   methods: {
     // 鎵撳紑瀵硅瘽妗�
     openDialog(event) {
+      console.log(event)
       this.dialog.type = event.type;
       if (event.type === "add") {
         this.dialog.title = "鏂板";
         this.dialog.submitTxt = "鏂板";
         this.dialog.submitIcon = "el-icon-plus";
         this.formData = deferFormTemplate;
-        this.ruleForm = handlerObj("prop", "value", deferFormTemplate);
+        this.ruleForm = this.formData
+
       } else if (event.type === "edit") {
         this.dialog.title = "淇敼";
         this.dialog.submitTxt = "淇敼";

--
Gitblit v1.9.3