From a3c7b3f7a4778a777a78a72c968b0e172488df03 Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期二, 06 六月 2023 17:13:05 +0800
Subject: [PATCH] 1、对MDM服务的接口测试改动

---
 Source/UBCS-WEB/src/components/FormTemplate/index.vue |   85 +++++++++++++++++++++++++++++++++---------
 1 files changed, 66 insertions(+), 19 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
index 8a1c2d1..f99d7b4 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -7,19 +7,34 @@
     class="avue-dialog avue-dialog--top"
     :width="width"
     append-to-body
+    @opened="openDialog"
   >
     <FormTempalte
       v-bind="$attrs"
-      :dialogOpen="visible"
+      :visible="visible"
       :type="type"
+      :rowOid="rowOid"
+      v-if="dialogVisible"
+      ref="FormTempalte"
       @getFormTemplateEnd="getFormTemplate"
       @getFormData="getFormData"
     ></FormTempalte>
 
-    <div class="tab_box">
-      <el-tabs v-model="activeName" type="card">
+    <div
+      class="tab_box"
+      v-if="
+        type !== 'detail' &&
+        dialogVisible &&
+        (showCodeApply || showResembleQuery)
+      "
+    >
+      <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
         <el-tab-pane label="鐮佸�肩敵璇�" name="codeApply" v-if="showCodeApply">
-          <CodeApply v-bind="$attrs"></CodeApply>
+          <CodeApply
+            ref="CodeApply"
+            v-bind="$attrs"
+            @getCodeRuleOid="getCodeRuleOid"
+          ></CodeApply>
         </el-tab-pane>
         <el-tab-pane
           label="鐩镐技椤规煡璇�"
@@ -38,10 +53,13 @@
     </div>
     <div class="avue-dialog__footer" v-if="type !== 'detail'">
       <el-button @click="close()">鍙� 娑�</el-button>
-      <el-button @click="close()" type="primary" :loading="submitBtnLoading"
+      <el-button @click="submit()" type="primary" :loading="submitBtnLoading"
         >纭� 瀹�</el-button
       >
-      <el-button @click="resembleQuerySubmit" type="primary" v-if="hasResemble"
+      <el-button
+        @click="resembleQuerySubmit"
+        type="primary"
+        v-if="showResembleQuery"
         >鐩镐技鍍忔煡璇�</el-button
       >
     </div>
@@ -66,12 +84,13 @@
     },
     title: {
       type: String,
-      default: "琛ㄥ崟妯℃澘",
+      default: "缂栫爜鐢宠",
     },
     width: {
       type: String,
       default: "80%",
     },
+    rowOid: ''
   },
   data() {
     return {
@@ -79,8 +98,9 @@
       submitBtnLoading: false,
       hasResemble: false,
       resembleTableColumn: [],
-      activeName: "resembleQuery",
-      form: {}
+      secVOList: [],
+      form: {},
+      activeName: "",
     };
   },
   created() {},
@@ -94,15 +114,14 @@
       },
     },
     showCodeApply() {
-      if (this.type === "add") {
-        if (this.hasResemble && this.resembleTableColumn.length === 0) {
-          return false;
-        }
-      } else {
-        if (this.hasResemble) {
-          return false;
-        }
-      }
+      // 娴嬭瘯鏁版嵁灞曠ず
+      // if (this.type === "add") {
+      //   if (this.hasResemble && this.secVOList.length === 0) {
+      //     return false;
+      //   }
+      // } else {
+      //   return false;
+      // }
       return true;
     },
     showResembleQuery() {
@@ -110,8 +129,17 @@
     },
   },
   methods: {
+    openDialog() {
+      this.$nextTick(() => {
+        this.$refs.FormTempalte.init();
+        this.$refs.CodeApply.getCodeRule();
+      });
+    },
     close() {
       this.dialogVisible = false;
+    },
+    getCodeRuleOid(data) {
+      this.secVOList = data.secVOList;
     },
     getFormTemplate(data) {
       this.hasResemble =
@@ -119,13 +147,32 @@
         data.resembleTableVO.cols &&
         data.resembleTableVO.cols.length > 0;
       this.resembleTableColumn = data.resembleTableVO.cols || [];
+      this.activeName =
+        (this.showCodeApply && "codeApply") ||
+        (this.showResembleQuery && "resembleQuery");
     },
     getFormData(form) {
-      this.form = form
+      this.form = form;
     },
     resembleQuerySubmit() {
       this.$refs.resembleQueryRef.resembleQuery(this.form);
     },
+    handleClick() {
+      if (this.activeName === 'resembleQuery') {
+        this.resembleQuerySubmit()
+      }
+    },
+    async submit() {
+      const formValidate = await this.$refs.FormTempalte.validate();
+      let codeValidate = true;
+      if (this.showCodeApply) {
+        codeValidate = await this.$refs.CodeApply.validate();
+      }
+      this.$emit("submit", {
+        form: this.form,
+        flag: formValidate && codeValidate,
+      });
+    },
   },
 };
 </script>

--
Gitblit v1.9.3