From ded6e8d2312e139e8ce770c7f1d5830bf2db4af6 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期三, 19 七月 2023 11:39:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/components/Master/MasterTransfer.vue |   86 ++++++++++++++++++++++++++++++++----------
 1 files changed, 65 insertions(+), 21 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue b/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue
index ccfc623..9341b92 100644
--- a/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue
+++ b/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue
@@ -1,6 +1,8 @@
 <template>
 <el-dialog :visible.sync="dialogPush" append-to-body  :close-on-click-modal="false"  @close="recoverPage" title="瀵煎嚭">
   <div style="margin-bottom: 10px">
+    <el-button type="success"
+               @click="handleExcel">涓嬭浇 澶氱骇琛ㄥごexcel</el-button>
     <el-radio-group v-model="radio">
       <el-radio :label="0">閫夋嫨</el-radio>
       <el-radio :label="1">鍏ㄩ儴</el-radio>
@@ -9,11 +11,12 @@
   </div>
   <div style="text-align: center">
   <el-transfer
-    style="text-align: left; display: inline-block"
+    style="text-align: left; display: inline-block;height: 400px"
     filterable
     :filter-method="filterMethod"
-    filter-placeholder="璇疯緭鍏ュ煄甯傛嫾闊�"
+    filter-placeholder="鍏抽敭璇嶆悳绱�"
     v-model="value"
+    :titles="['鏈�夊睘鎬�', '宸查�夊睘鎬�']"
     :data="data">
   </el-transfer>
   </div>
@@ -23,28 +26,27 @@
 <script>
 export default {
 name: "MasterTransfer",
-  props:['visible','tableHeadData'],
+  props:['visible','tableHeadData','codeClassifyOid','tableData'],
   data(){
-    const generateData = () => {
-      const data = [];
-      const cities = ['涓婃捣', '鍖椾含', '骞垮窞', '娣卞湷', '鍗椾含', '瑗垮畨', '鎴愰兘'];
-      cities.forEach((city, index) => {
-        data.push({
-          label: city,
-          key: index,
-        });
-      });
-      return data;
-    };
     return {
-      data: generateData(),
+      data: [],
       value: [],
       filterMethod(query, item) {
         return item.label.indexOf(query) > -1;
       },
       dialogPush:this.visible,
       radio:0,
-      tableHeadFindData:[]
+      tableHeadFindData:[],
+      tableExportData:[],
+      option:{
+        title: '鏂囨。鏍囬',
+        column: [{
+          label: '澶氱骇琛ㄥご',
+          prop: 'header',
+          children: []
+        }],
+        data: []
+      }
     };
   },
   watch:{
@@ -52,22 +54,64 @@
     visible (){
       this.dialogPush = this.visible;
     },
-    tableHeadData(){
-      this.tableHeadFindData=this.tableHeadData;
-
+    //琛ㄥご鏁版嵁 鐢ㄦ潵娓叉煋绌挎妗�
+    tableHeadData:{
+      handler(newval,oldval){
+        console.log(newval)
+       if(newval){
+         //excel琛ㄥご鏁版嵁杞崲
+         this.tableHeadFindData=newval.map(obj => obj.label);
+         this.tableHeadFindData.forEach((city, index) => {
+           this.data.push({
+             label: city,
+             key: index,
+           });
+         });
+         //excel琛ㄦ牸鏁版嵁杞崲
+         this.option.column[0].children=newval.map(obj => {
+           return {
+             label: obj.label,
+             prop: obj.prop
+           }
+         })
+       }
+      }
+},
+    tableData(){
+      // 灏嗗�奸噷闈㈢殑true鎴杅alse鏀瑰彉涓烘槸鎴栧惁
+      this.option.data = this.tableData.map(obj => {
+          for (let prop in obj) {
+            if (obj[prop] === "true") {
+              obj[prop] = "鏄�";
+            } else if (obj[prop] === "false") {
+              obj[prop] = "鍚�";
+            }
+          }
+        return obj;
+      });
+    },
+    codeClassifyOid:{
+      handler(newval,oldval){
+      }
     }
   },
   computed:{
 
   },
   mounted() {
-    console.log(this.tableHeadData)
   },
   methods:{
     //鍏抽棴椤甸潰
     recoverPage(){
       this.$emit('update:visible', false);
-    }
+    },
+    handleExcel(){
+      this.$Export.excel({
+        title: this.option.title,
+        columns: this.option.column,
+        data: this.option.data
+      });
+    },
   }
 }
 </script>

--
Gitblit v1.9.3