From 145aca4ce40cbdb14f940975da44db63eb5c497f Mon Sep 17 00:00:00 2001
From: fujunling <2984387807@qq.com>
Date: 星期三, 26 七月 2023 17:38:38 +0800
Subject: [PATCH] fjl

---
 Source/UBCS-WEB/src/components/Master/MasterTransfer.vue |  111 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 90 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..ec48494 100644
--- a/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue
+++ b/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue
@@ -9,42 +9,47 @@
   </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>
+  <div style="display: flex;justify-content: flex-end;">
+    <el-button size="small" plain type="success" @click="handleExcel">纭畾</el-button>
+    <el-button size="small" plain >鍙栨秷</el-button>
   </div>
 </el-dialog>
 </template>
 
 <script>
+import {exportCode} from '@/api/GetItem'
 export default {
 name: "MasterTransfer",
-  props:['visible','tableHeadData'],
+  props:['visible','tableHeadData','codeClassifyOid','tableData','selectRow'],
   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 +57,86 @@
     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
+      // });
+      if(this.radio === 0){
+        if(this.selectRow.length<=0){
+          this.$message.warning('璇烽�夋嫨瑕佸鍑虹殑妯℃澘')
+        }else {
+          //宸查�夋嫨澶氶��
+          const selectList=[]
+          //宸查�夋嫨灞炴��
+          let exportArr={}
+          const ids = this.selectRow.map(item => item.oid).join(',')
+          this.selectRow.forEach(item=>{
+            selectList.push(
+             item.oid
+            )
+          })
+          this.value.map(index => this.tableHeadData[index].prop).forEach((item, index) => {
+            exportArr[`attrIdIndexMap[${index}]`] = item
+          })
+          exportCode({codeClassifyOid:this.codeClassifyOid,'conditionMap[oid]':ids,...exportArr}).then(res=>{
+            console.log(res)
+          })
+        }
+      };
+    },
   }
 }
 </script>

--
Gitblit v1.9.3