From 2d0fdaca6f7637c68782ae53ed2c3feee4f48db7 Mon Sep 17 00:00:00 2001
From: fujunling <2984387807@qq.com>
Date: 星期三, 21 六月 2023 16:39:07 +0800
Subject: [PATCH] fjl

---
 Source/UBCS-WEB/src/components/FormTemplate/index.vue         |   59 +++--
 Source/UBCS-WEB/src/api/batchImport/index.js                  |   38 +++
 Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue |  397 ++++++++++++++++++++++++++++++++++++++-
 Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue         |   10 
 Source/UBCS-WEB/src/components/BatchImport/index.vue          |   50 ++++
 Source/UBCS-WEB/vue.config.js                                 |    1 
 6 files changed, 509 insertions(+), 46 deletions(-)

diff --git a/Source/UBCS-WEB/src/api/batchImport/index.js b/Source/UBCS-WEB/src/api/batchImport/index.js
index 69c3f05..d795f54 100644
--- a/Source/UBCS-WEB/src/api/batchImport/index.js
+++ b/Source/UBCS-WEB/src/api/batchImport/index.js
@@ -15,7 +15,8 @@
   return request({
     url: '/api/ubcs-code/mdmEngineController/downloadErrorFile',
     method: 'get',
-    params
+    params,
+    responseType: 'blob'
   })
 }
 // 瀵煎叆鏁版嵁灞曠ず
@@ -25,4 +26,37 @@
     method: 'get',
     params: {redisOid: redisOid + "-class"}
   })
-}
\ No newline at end of file
+}
+// 鑾峰彇鍘嗗彶鏁版嵁姝g‘鏁版嵁
+export const getHistoryLeftTree = (redisOid) => {
+  return request({
+    url: '/api/ubcs-code/mdmEngineController/gridValidata',
+    method: 'get',
+    params: {redisOid: redisOid + "-ok"}
+  })
+}
+// 鑾峰彇鍘嗗彶鐩镐技椤�
+export const getHistoryResembleTable = (params) => {
+  return request({
+    url: '/api/ubcs-code/mdmEngineController/gridResemble',
+    method: 'get',
+    params
+  })
+}
+
+// 鑾峰彇妯℃澘
+export function getFormTemplate(params) {
+  return request({
+    url: 'api/ubcs-code/ubcs-code/mdmEngineController/getFormDefineByTemplateOid',
+    method: 'get',
+    params
+  })
+}
+// 鑾峰彇褰撳墠琛岀浉浼奸」鏁版嵁
+export function getCurretnSelectedRowResemble(params) {
+  return request({
+    url: 'api/ubcs-code/ubcs-code/mdmEngineController/gridRowResemble',
+    method: 'get',
+    params
+  })
+}
diff --git a/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue b/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue
index 32fde8d..9a74712 100644
--- a/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue
+++ b/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue
@@ -1,9 +1,10 @@
 <template>
   <el-dialog
     :title="title"
-    :visible="dialogVisible"
-    width="1200px"
+    :visible.sync="dialogVisible"
+    width="1300px"
     append-to-body
+    top="5vh"
   >
     <div class="flex_box">
       <div class="left" :style="{ width: leftWidth }">
@@ -25,23 +26,90 @@
         <el-tree
           v-show="isExpand"
           class="filter_tree"
-          :data="data"
+          :data="leftTree"
           default-expand-all
+          highlight-current
           :filter-node-method="filterNode"
+          @node-click="treeNodeClick"
           ref="tree"
+          :props="{
+            label: 'name',
+          }"
         >
         </el-tree>
       </div>
       <div class="right">
         <div class="tab_box">
-          <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
-            <el-tab-pane label="姝g‘鏁版嵁" name="success">
-              <el-table border :data="successData"></el-table>
+          <el-tabs
+            v-model="activeTab"
+            type="card"
+            @tab-click="handleClick"
+            size="small"
+          >
+            <el-tab-pane label="鏈夌浉浼奸」" name="resemble">
+              <el-table
+                border
+                :data="resembleData"
+                style="width: 100%"
+                height="400px"
+                highlight-current-row
+                @current-change="resembleRowChange"
+              >
+                <el-table-column
+                  v-for="item in cloNamesList"
+                  :key="item.field"
+                  :prop="item.field"
+                  :label="item.title"
+                  :width="item.width"
+                >
+                </el-table-column>
+              </el-table>
             </el-tab-pane>
-            <el-tab-pane label="鏈夌浉浼奸」鎴栬�呴敊璇暟鎹�" name="error">
-              <el-table border :data="errorData"></el-table>
+            <el-tab-pane label="姝g‘鏁版嵁" name="success">
+              <el-table border :data="successData" height="400px">
+                <el-table-column
+                  v-for="item in cloNamesList"
+                  :key="item.field"
+                  :prop="item.field"
+                  :label="item.title"
+                  :width="item.width"
+                >
+                </el-table-column>
+              </el-table>
             </el-tab-pane>
           </el-tabs>
+        </div>
+        <div>
+          <el-table
+            border
+            :data="currentSelectedResemble"
+            style="width: 100%"
+            height="200px"
+          >
+            <el-table-column
+              v-for="item in resembleColumList"
+              :key="item.field"
+              :prop="item.field"
+              :label="item.title"
+              :minWidth="item.minWidth"
+            >
+              <template #default="{ row }">
+                <span v-if="item.field === 'id'">
+                  <el-link type="primary" @click="openFormTemlpate(row)">{{
+                    row[item.field]
+                  }}</el-link>
+                </span>
+                <span v-else>
+                  {{ row[item.field] }}
+                </span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              v-show="resembleColumList.length > 0"
+              prop="rowIndex"
+              label="excel琛屾暟"
+            ></el-table-column>
+          </el-table>
         </div>
       </div>
     </div>
@@ -51,18 +119,41 @@
         <el-button size="small">鍙栨秷</el-button>
       </div>
     </template>
+    <FormTemplateDialog
+      ref="FormTemplateDialog"
+      type="detail"
+      v-bind="currentSelectedResembleRow"
+      :visible.sync="currentSelectedResembleRow.visible"
+      title="鏌ョ湅璇︾粏淇℃伅"
+    ></FormTemplateDialog>
   </el-dialog>
 </template>
 
 <script>
+import {
+  getHistorySuccessTable,
+  getHistoryResembleTable,
+  getFormTemplate,
+  getCurretnSelectedRowResemble,
+} from "../../api/batchImport/index";
+import ResembleQuery from "../FormTemplate/ResembleQuery.vue";
 export default {
   name: "ShowImportData",
+  components: { ResembleQuery },
   props: {
     title: {
       type: String,
       default: "鍘嗗彶鏁版嵁瀵煎叆",
     },
     visible: false,
+    leftTree: {
+      type: Array,
+      default: () => [],
+    },
+    redisOid: {
+      type: String,
+      default: "",
+    },
   },
   computed: {
     dialogVisible: {
@@ -193,15 +284,26 @@
           ],
         },
       ],
+      resembleData: [],
       successData: [],
-      errorData: [],
+      activeTab: "resemble",
+      cloNamesList: [],
+      codeClassifyOid: "",
+      resembleColumList: [],
+      currentSelectedResemble: [],
+      currentSelectedResembleRow: {
+        templateOid: "",
+        codeClassifyOid: "",
+        rowOid: "",
+        formTemplateVisible: false,
+      },
     };
   },
 
   methods: {
     filterNode(value, data) {
       if (!value) return true;
-      return data.label.indexOf(value) !== -1;
+      return data.name.indexOf(value) !== -1;
     },
     hideTree() {
       if (this.isExpand) {
@@ -210,6 +312,276 @@
         this.leftWidth = "200px";
       }
       this.isExpand = !this.isExpand;
+    },
+    treeNodeClick(data) {
+      this.codeClassifyOid = data.codeclassifyoid;
+      this.cloNamesList = data.cloNamesList;
+      getHistorySuccessTable(this.redisOid).then((res) => {
+        this.successData = res.data
+        // this.successData = [
+        //   {
+        //     xiaoshouwl: "鏄�",
+        //     xinghaoguige: "XH007",
+        //     caigouwl: "鏄�",
+        //     oid: "433DFA8E-4445-18F4-AC95-85E7EE1C92CF",
+        //     kucunwl: "鏄�",
+        //     tuhao: "TH006",
+        //     codeSecLengthField: "6#4",
+        //     codeclsfid: "绱у浐浠�#铻烘瘝",
+        //     materialtype: "鏉愭枡",
+        //     chukufangshi: "鍏堣繘鍏堝嚭",
+        //     hesuanfenlei: "鍘熸潗鏂�",
+        //     name: "娴嬭瘯4",
+        //     jiliangdw: "涓�",
+        //     oldcode: "z0004",
+        //     id: "0201020013",
+        //   },
+        //   {
+        //     xiaoshouwl: "鏄�",
+        //     xinghaoguige: "XH006",
+        //     caigouwl: "鏄�",
+        //     oid: "E94E3320-841F-AE87-1D56-D6B3398D0FFC",
+        //     kucunwl: "鏄�",
+        //     tuhao: "TH005",
+        //     codeSecLengthField: "6#4",
+        //     codeclsfid: "绱у浐浠�#铻烘瘝",
+        //     materialtype: "鏉愭枡",
+        //     chukufangshi: "鍏堣繘鍏堝嚭",
+        //     hesuanfenlei: "鍘熸潗鏂�",
+        //     name: "娴嬭瘯3",
+        //     jiliangdw: "涓�",
+        //     oldcode: "z0003",
+        //     id: "0201020012",
+        //   },
+        //   {
+        //     xiaoshouwl: "鏄�",
+        //     xinghaoguige: "XH003",
+        //     caigouwl: "鏄�",
+        //     oid: "D2E0A166-A774-BE6F-A9C7-3277467CE8EC",
+        //     kucunwl: "鏄�",
+        //     tuhao: "TH003",
+        //     codeSecLengthField: "6#4",
+        //     codeclsfid: "绱у浐浠�#铻烘瘝",
+        //     materialtype: "鏉愭枡",
+        //     chukufangshi: "鍏堣繘鍏堝嚭",
+        //     hesuanfenlei: "鍘熸潗鏂�",
+        //     name: "娴嬭瘯2",
+        //     jiliangdw: "涓�",
+        //     oldcode: "z0002",
+        //     id: "0201020011",
+        //   },
+        //   {
+        //     xiaoshouwl: "鏄�",
+        //     xinghaoguige: "XH002",
+        //     caigouwl: "鏄�",
+        //     oid: "291CD01A-F18D-2D95-5291-D2C80ED57CC8",
+        //     kucunwl: "鏄�",
+        //     tuhao: "TH002",
+        //     codeSecLengthField: "6#4",
+        //     codeclsfid: "绱у浐浠�#铻烘瘝",
+        //     materialtype: "鏉愭枡",
+        //     chukufangshi: "鍏堣繘鍏堝嚭",
+        //     hesuanfenlei: "鍘熸潗鏂�",
+        //     name: "娴嬭瘯1",
+        //     jiliangdw: "涓�",
+        //     oldcode: "z0001",
+        //     id: "0201020010",
+        //   },
+        //   {
+        //     xiaoshouwl: "鏄�",
+        //     xinghaoguige: "XH001",
+        //     caigouwl: "鏄�",
+        //     oid: "FED83315-F2B4-C603-2AC2-11B0DF3029A6",
+        //     kucunwl: "鏄�",
+        //     tuhao: "TH001",
+        //     codeSecLengthField: "6#4",
+        //     codeclsfid: "绱у浐浠�#铻烘爴",
+        //     materialtype: "鏉愭枡",
+        //     chukufangshi: "鍏堣繘鍏堝嚭",
+        //     hesuanfenlei: "鍘熸潗鏂�",
+        //     name: "娴嬭瘯6",
+        //     jiliangdw: "涓�",
+        //     oldcode: "z0006",
+        //     id: "0201010019",
+        //   },
+        //   {
+        //     xiaoshouwl: "鏄�",
+        //     xinghaoguige: "XH005",
+        //     caigouwl: "鏄�",
+        //     oid: "3E120284-8EC2-9BF4-D1AB-579380DFA085",
+        //     kucunwl: "鏄�",
+        //     tuhao: "TH005",
+        //     codeSecLengthField: "6#4",
+        //     codeclsfid: "绱у浐浠�#铻烘爴",
+        //     materialtype: "鏉愭枡",
+        //     chukufangshi: "鍏堣繘鍏堝嚭",
+        //     hesuanfenlei: "鍘熸潗鏂�",
+        //     name: "娴嬭瘯5",
+        //     jiliangdw: "涓�",
+        //     oldcode: "z0005",
+        //     id: "0201010018",
+        //   },
+        //   {
+        //     xiaoshouwl: "鏄�",
+        //     xinghaoguige: "XH004",
+        //     caigouwl: "鏄�",
+        //     oid: "2EB3B122-2FE4-A236-53F2-9B67E40332AC",
+        //     kucunwl: "鏄�",
+        //     tuhao: "TH004",
+        //     codeSecLengthField: "6#4",
+        //     codeclsfid: "绱у浐浠�#铻烘爴",
+        //     materialtype: "鏉愭枡",
+        //     chukufangshi: "鍏堣繘鍏堝嚭",
+        //     hesuanfenlei: "鍘熸潗鏂�",
+        //     name: "娴嬭瘯4",
+        //     jiliangdw: "涓�",
+        //     oldcode: "z0004",
+        //     id: "0201010017",
+        //   },
+        //   {
+        //     xiaoshouwl: "鏄�",
+        //     xinghaoguige: "XH009",
+        //     caigouwl: "鏄�",
+        //     oid: "8940A341-8041-E031-6FE1-A18526C62DE9",
+        //     kucunwl: "鏄�",
+        //     tuhao: "TH008",
+        //     codeSecLengthField: "6#4",
+        //     codeclsfid: "绱у浐浠�#铻烘瘝",
+        //     materialtype: "鏉愭枡",
+        //     chukufangshi: "鍏堣繘鍏堝嚭",
+        //     hesuanfenlei: "鍘熸潗鏂�",
+        //     name: "娴嬭瘯6",
+        //     jiliangdw: "涓�",
+        //     oldcode: "z0006",
+        //     id: "0201020015",
+        //   },
+        //   {
+        //     xiaoshouwl: "鏄�",
+        //     xinghaoguige: "XH008",
+        //     caigouwl: "鏄�",
+        //     oid: "936CBC1E-2FD0-5CD7-C331-64B86204FD78",
+        //     kucunwl: "鏄�",
+        //     tuhao: "TH007",
+        //     codeSecLengthField: "6#4",
+        //     codeclsfid: "绱у浐浠�#铻烘瘝",
+        //     materialtype: "鏉愭枡",
+        //     chukufangshi: "鍏堣繘鍏堝嚭",
+        //     hesuanfenlei: "鍘熸潗鏂�",
+        //     name: "娴嬭瘯5",
+        //     jiliangdw: "涓�",
+        //     oldcode: "z0005",
+        //     id: "0201020014",
+        //   },
+        // ];
+      });
+      getHistoryResembleTable({
+        codeClassifyOid: data.codeClassifyOid,
+        redisOid: this.redisOid + "-resemble",
+      }).then((res) => {
+        console.log(res);
+        this.resembleData = res.data
+        // this.resembleData = [
+        //   {
+        //     xiaoshouwl: "鏄�",
+        //     xinghaoguige: "XH007",
+        //     caigouwl: "鏄�",
+        //     oid: "FC2F0D9F-8B2E-5A19-3BDE-22107F373EB3",
+        //     kucunwl: "鏄�",
+        //     tuhao: "TH006",
+        //     codeSecLengthField: "6#4",
+        //     codeclsfid: "绱у浐浠�#铻烘瘝",
+        //     materialtype: "鏉愭枡",
+        //     chukufangshi: "鍏堣繘鍏堝嚭",
+        //     hesuanfenlei: "鍘熸潗鏂�",
+        //     name: "娴嬭瘯4",
+        //     jiliangdw: "涓�",
+        //     oldcode: "z0004",
+        //     id: "0201020013",
+        //   },
+        //   {
+        //     xiaoshouwl: "鏄�",
+        //     xinghaoguige: "XH007",
+        //     caigouwl: "鏄�",
+        //     oid: "B92CFF46-1D46-E680-66C4-33A3ABE77A6C",
+        //     kucunwl: "鏄�",
+        //     tuhao: "TH005",
+        //     codeSecLengthField: "6#4",
+        //     codeclsfid: "绱у浐浠�#铻烘瘝",
+        //     materialtype: "鏉愭枡",
+        //     chukufangshi: "鍏堣繘鍏堝嚭",
+        //     hesuanfenlei: "鍘熸潗鏂�",
+        //     name: "娴嬭瘯3",
+        //     jiliangdw: "涓�",
+        //     oldcode: "z0003",
+        //     id: "0201020012",
+        //   },
+        //   {
+        //     xiaoshouwl: "鏄�",
+        //     xinghaoguige: "XH15",
+        //     caigouwl: "鏄�",
+        //     oid: "B383C30E-D201-01F2-89EE-6F751EFA0AA1",
+        //     kucunwl: "鏄�",
+        //     tuhao: "TH008",
+        //     codeSecLengthField: "6#4",
+        //     codeclsfid: "绱у浐浠�#铻烘瘝",
+        //     materialtype: "鏉愭枡",
+        //     chukufangshi: "鍏堣繘鍏堝嚭",
+        //     hesuanfenlei: "鍘熸潗鏂�",
+        //     name: "娴嬭瘯6",
+        //     jiliangdw: "涓�",
+        //     oldcode: "z0006",
+        //     id: "0201020015",
+        //   },
+        //   {
+        //     xiaoshouwl: "鏄�",
+        //     xinghaoguige: "XH17",
+        //     caigouwl: "鏄�",
+        //     oid: "1C379116-F27B-3F20-DFC3-74A39B87E505",
+        //     kucunwl: "鏄�",
+        //     tuhao: "TH007",
+        //     codeSecLengthField: "6#4",
+        //     codeclsfid: "绱у浐浠�#铻烘瘝",
+        //     materialtype: "鏉愭枡",
+        //     chukufangshi: "鍏堣繘鍏堝嚭",
+        //     hesuanfenlei: "鍘熸潗鏂�",
+        //     name: "娴嬭瘯5",
+        //     jiliangdw: "涓�",
+        //     oldcode: "z0005",
+        //     id: "0201020014",
+        //   },
+        // ];
+      });
+      getFormTemplate({
+        templateOid: data.oid,
+        codeClassifyOid: data.codeClassifyOid,
+      }).then((res) => {
+        this.resembleColumList = res.data.resembleTableVO.cols[0];
+      });
+    },
+    resembleRowChange(row) {
+      getCurretnSelectedRowResemble({
+        redisOid: this.redisOid + "-resemble-data",
+        dataOid: row.oid,
+      }).then((res) => {
+        this.currentSelectedResemble = res.data
+        // this.currentSelectedResemble = [
+        //   {
+        //     xinghaoguige: "XH007",
+        //     codetemplateoid: "f441b131-5ea0-4672-ab74-735b11161928",
+        //     rowIndex: "9",
+        //     id: "0201020012",
+        //     oid: "B92CFF46-1D46-E680-66C4-33A3ABE77A6C",
+        //   },
+        // ];
+      });
+    },
+    openFormTemlpate(row) {
+      this.currentSelectedResembleRow = {
+        visible: true,
+        templateOid: row.codetemplateoid,
+        codeClassifyOid: this.codeClassifyOid,
+        rowOid: row.rowOid,
+      }
     },
   },
   watch: {
@@ -234,5 +606,10 @@
       overflow-y: scroll;
     }
   }
+  .right {
+    margin-left: 20px;
+    margin-top: 30px;
+    width: 1000px;
+  }
 }
 </style>
diff --git a/Source/UBCS-WEB/src/components/BatchImport/index.vue b/Source/UBCS-WEB/src/components/BatchImport/index.vue
index 3c674f4..3c65d7a 100644
--- a/Source/UBCS-WEB/src/components/BatchImport/index.vue
+++ b/Source/UBCS-WEB/src/components/BatchImport/index.vue
@@ -29,6 +29,7 @@
       :headers="uploadHeaders"
       :on-success="onSuccess"
       :show-file-list="false"
+      :on-change="uploadChange"
       :data="{
         codeClassifyOid: this.codeClassifyOid,
         classifyAttr: this.classifyAttr,
@@ -46,9 +47,14 @@
         :loading="downloadLoading"
         >涓嬭浇瀵煎叆妯℃澘</el-button
       >
-      <el-button size="small" @click="visible = false">鍏抽棴</el-button>
+      <el-button size="small" @click="dialogVisible = false">鍏抽棴</el-button>
     </template>
-    <ShowImportData :visible="showVisible" v-if="showVisible"></ShowImportData>
+    <ShowImportData
+      :visible.sync="showVisible"
+      v-if="dialogVisible"
+      :leftTree="leftTree"
+      :redisOid="redisOid"
+    ></ShowImportData>
   </el-dialog>
 </template>
 
@@ -57,6 +63,7 @@
 import {
   downloadHistoryImportTemplate,
   downloadErrorFile,
+  getHistoryLeftTree
 } from "../../api/batchImport/index";
 import { getToken } from "@/util/auth";
 export default {
@@ -86,6 +93,9 @@
       uploadParams: {},
       downloadLoading: false,
       showVisible: false,
+      leftTree: [],
+      redisOid:'',
+      pageLoading: null
     };
   },
   computed: {
@@ -139,19 +149,47 @@
         codeClassifyOid: this.codeClassifyOid,
       })
         .then((res) => {
-          this.downloadLoading = false;
           this.$utilFunc.downloadFileByBlob(res.data, "鍘嗗彶鏁版嵁瀵煎叆妯℃澘.xls");
+          this.downloadLoading = false;
         })
         .catch(() => {
           this.downloadLoading = false;
         });
     },
     onSuccess(res) {
-      if (res.code === 400) {
-        this.$message.error(`${res.msg}锛岃涓嬭浇閿欒淇℃伅杩涜鏌ョ湅锛乣);
+      let fileName = res.data.filePath.split('/').pop()
+      if (res.data.fileOid) {
+        this.$message.error("璇蜂笅杞介敊璇俊鎭枃浠惰繘琛屾煡鐪嬶紒");
+        downloadErrorFile({ uuid: res.data.fileOid }).then((res2) => {
+          this.$utilFunc.downloadFileByBlob(res2.data, fileName);
+        });
       }
-      downloadErrorFile({ uuid: res.data.fileOid });
+      if (res.data.redisUuid) {
+        this.redisOid = res.data.redisUuid
+        getHistoryLeftTree(res.data.redisUuid).then(res => {
+          this.leftTree = res.obj.map(item => {
+            return {
+              ...item.codeClassifyTemplateVO,
+              cloNamesList: item.cloNamesList
+            }
+          })
+          this.showVisible = true
+        })
+      }
     },
+    uploadChange(file) {
+      if (file.status === 'ready') {
+        this.pageLoading = this.$loading({
+          lock: true,
+          text: '鏂囦欢涓婁紶涓�',
+          spinner: 'el-icon-loading',
+          background: 'rgba(0, 0, 0, 0.7)'
+        });
+      }
+      if (file.status === 'success' || file.status === 'error') {
+        this.pageLoading.close()
+      }
+    }
   },
   watch: {
     visible: {
diff --git a/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue
index f895fb8..a73954c 100644
--- a/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue
@@ -28,7 +28,7 @@
           @submit="EditSumbit"
         ></FormTemplateDialog>
         <el-button plain size="small" type="primary">鎵归噺瀵煎叆鐢宠</el-button>
-        <el-button plain size="small" type="primary">鍘嗗彶鏁版嵁瀵煎叆</el-button>
+        <el-button plain size="small" type="primary" @click="historyVisible = true">鍘嗗彶鏁版嵁瀵煎叆</el-button>
         <el-button plain size="small" type="primary">鎵归噺鐢宠缂栫爜</el-button>
         <el-button plain size="small" type="primary">鎵归噺鍙戝竷</el-button>
         <el-button plain size="small" type="primary">鏌ョ湅娴佺▼鍘嗗彶</el-button>
@@ -111,6 +111,7 @@
         @current-change="handleCurrentChange">
       </el-pagination>
     </div>
+    <historyImport :visible.sync="historyVisible" :codeClassifyOid="codeClassifyOid" type="historyImport"></historyImport>
   </basic-container>
 </template>
 <script>
@@ -119,11 +120,13 @@
 import integrationTransfer from '@/views/integration/integrationTransfer'
 import SetPersonnel from '@/components/template/SetPersonnel'
 import ResembleQueryDialog from "@/components/FormTemplate/ResembleQueryDialog.vue";
+import historyImport from '../BatchImport/index.vue'
 export default {
   components: {
     integrationTransfer,
     SetPersonnel,
-    ResembleQueryDialog
+    ResembleQueryDialog,
+    historyImport
   },
   name: "Crud.vue",
   props: {
@@ -208,7 +211,8 @@
       tableHeadData: [],
       items: {},
       seniorQueryColumns: [],
-      selectRow: []
+      selectRow: [],
+      historyVisible: false
     }
   },
   computed: {},
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
index b6946b6..f37041e 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -29,7 +29,7 @@
       "
     >
       <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
-        <el-tab-pane label="鐮佸�肩敵璇�" name="codeApply">
+        <el-tab-pane label="鐮佸�肩敵璇�" name="codeApply" v-if="showCodeApply">
           <FormTempalte
             v-bind="$attrs"
             :type="type"
@@ -57,18 +57,25 @@
         </el-tab-pane>
       </el-tabs>
     </div>
-    <div class="avue-dialog__footer" v-if="type !== 'detail'">
-      <el-button @click="close()">鍙� 娑�</el-button>
-      <el-button @click="submit()" type="primary" :loading="submitBtnLoading">{{
-        submitText
-      }}</el-button>
-      <el-button
-        @click="resembleQuerySubmit"
-        type="primary"
-        v-if="showResembleQuery"
-        >鐩镐技鍍忔煡璇�</el-button
-      >
-    </div>
+    <template #footer>
+      <div class="" v-if="type !== 'detail'">
+        <el-button @click="close()" size="small">鍙� 娑�</el-button>
+        <el-button
+          @click="submit()"
+          type="primary"
+          :loading="submitBtnLoading"
+          size="small"
+          >{{ submitText }}</el-button
+        >
+        <el-button
+          @click="resembleQuerySubmit"
+          type="primary"
+          size="small"
+          v-if="showResembleQuery"
+          >鐩镐技鍍忔煡璇�</el-button
+        >
+      </div>
+    </template>
   </el-dialog>
 </template>
 
@@ -236,6 +243,7 @@
     // 鑾峰彇鐮佸�肩敵璇锋暟鎹�
     getCodeRule() {
       getCodeRule({ codeClassifyOid: this.codeClassifyOid }).then((res) => {
+        console.log(res, "resresresresres");
         if (res.data && res.data.code === 200) {
           const typeList = [
             "codefixedsec",
@@ -244,8 +252,9 @@
             "coderefersec",
           ];
           this.secVOList = (res.data.data.secVOList || []).filter((item) =>
-            typeList.includes(item)
+            typeList.includes(item.secType)
           );
+          console.log(this.secVOList, "this.secVOListthis.secVOList");
           this.$nextTick(() => {
             if (this.secVOList.length > 0 && this.type === "add") {
               this.showCodeApply = true;
@@ -301,19 +310,21 @@
         this.form
       );
       if (resembleQueryList.length === 0) {
-        let resForm = {}
-        const { defaultValue, formValue } = this.getDefaultValueAndFormValues(this.form)
-        resForm.data = formValue
-        resForm = Object.assign({}, resForm, defaultValue)
-        resForm.secDTOList = []
+        let resForm = {};
+        const { defaultValue, formValue } = this.getDefaultValueAndFormValues(
+          this.form
+        );
+        resForm.data = formValue;
+        resForm = Object.assign({}, resForm, defaultValue);
+        resForm.secDTOList = [];
         for (const key in this.codeApplyForm) {
-        if (Object.hasOwnProperty.call(this.codeApplyForm, key)) {
-          const value = this.codeApplyForm[key];
-          if (value) {
-            resForm.secDTOList.push({[key]: value})
+          if (Object.hasOwnProperty.call(this.codeApplyForm, key)) {
+            const value = this.codeApplyForm[key];
+            if (value) {
+              resForm.secDTOList.push({ [key]: value });
+            }
           }
         }
-      }
         this.$emit("submit", resForm);
       } else {
         this.$confirm(
diff --git a/Source/UBCS-WEB/vue.config.js b/Source/UBCS-WEB/vue.config.js
index d3dd58a..3bd5351 100644
--- a/Source/UBCS-WEB/vue.config.js
+++ b/Source/UBCS-WEB/vue.config.js
@@ -30,7 +30,6 @@
         // target: 'http://192.168.1.51:37000',
         // target: 'http://192.168.1.46:37000',
         // target: 'http://dev.vci-tech.com:37000',
-        // target: 'http://192.168.1.51:37000/',
         // target: 'http://192.168.1.104:37000',
         // target: 'http://192.168.1.63:37000',
         //target: 'http://192.168.3.7:37000',

--
Gitblit v1.9.3