From ac9f1681a2aa83c04272a266d289101a5cbed862 Mon Sep 17 00:00:00 2001
From: zhangxp <zhangxp@chicecm.com>
Date: 星期一, 05 六月 2023 16:49:57 +0800
Subject: [PATCH] 集成页面逻辑

---
 Source/UBCS-WEB/src/components/FormTemplate/index.vue |   54 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 40 insertions(+), 14 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
index 8a1c2d1..d04ed50 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -7,19 +7,26 @@
     class="avue-dialog avue-dialog--top"
     :width="width"
     append-to-body
+    @opened="openDialog"
   >
     <FormTempalte
       v-bind="$attrs"
-      :dialogOpen="visible"
+      :visible="visible"
       :type="type"
+      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">
         <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 +45,10 @@
     </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,7 +73,7 @@
     },
     title: {
       type: String,
-      default: "琛ㄥ崟妯℃澘",
+      default: "缂栫爜鐢宠",
     },
     width: {
       type: String,
@@ -79,8 +86,8 @@
       submitBtnLoading: false,
       hasResemble: false,
       resembleTableColumn: [],
-      activeName: "resembleQuery",
-      form: {}
+      secVOList: [],
+      form: {},
     };
   },
   created() {},
@@ -95,23 +102,35 @@
     },
     showCodeApply() {
       if (this.type === "add") {
-        if (this.hasResemble && this.resembleTableColumn.length === 0) {
+        if (this.hasResemble && this.secVOList.length === 0) {
           return false;
         }
       } else {
-        if (this.hasResemble) {
-          return false;
-        }
+        return false;
       }
       return true;
     },
     showResembleQuery() {
       return this.hasResemble;
     },
+    activeName() {
+      return (
+        (this.showCodeApply && "codeApply") ||
+        (this.showResembleQuery && "resembleQuery")
+      );
+    },
   },
   methods: {
+    openDialog() {
+      this.$nextTick(() => {
+        this.$refs.FormTempalte.init();
+      });
+    },
     close() {
       this.dialogVisible = false;
+    },
+    getCodeRuleOid(data) {
+      this.secVOList = data.secVOList;
     },
     getFormTemplate(data) {
       this.hasResemble =
@@ -121,11 +140,18 @@
       this.resembleTableColumn = data.resembleTableVO.cols || [];
     },
     getFormData(form) {
-      this.form = form
+      this.form = form;
     },
     resembleQuerySubmit() {
       this.$refs.resembleQueryRef.resembleQuery(this.form);
     },
+    async submit() {
+      const formValidate = await this.$refs.FormTempalte.validate();
+      if (this.showCodeApply) {
+        const codeValidate = this.$refs.CodeApply.validate();
+        console.log(formValidate, codeValidate);
+      }
+    },
   },
 };
 </script>

--
Gitblit v1.9.3