From 9675f1491ef23c4c6f69cb83cbf6de3fd6dac61b Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 26 七月 2023 17:40:58 +0800
Subject: [PATCH] 主数据导出

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

diff --git a/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue b/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue
index 186a952..5af0fcb 100644
--- a/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue
+++ b/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue
@@ -18,13 +18,18 @@
     :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','codeClassifyOid'],
+  props:['visible','tableHeadData','codeClassifyOid','tableData','selectRow'],
   data(){
     return {
       data: [],
@@ -39,17 +44,11 @@
       option:{
         title: '鏂囨。鏍囬',
         column: [{
-          label: '澶氱骇琛ㄥご',
+          label: '涓绘暟鎹�',
           prop: 'header',
           children: []
         }],
-        data: [{
-          title1: "娴嬭瘯鏁版嵁1",
-          title2: "娴嬭瘯鏁版嵁2"
-        }, {
-          title1: "娴嬭瘯鏁版嵁2",
-          title2: "娴嬭瘯鏁版嵁2"
-        }]
+        data: []
       }
     };
   },
@@ -61,7 +60,9 @@
     //琛ㄥご鏁版嵁 鐢ㄦ潵娓叉煋绌挎妗�
     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({
@@ -69,13 +70,31 @@
              key: index,
            });
          });
-         return this.data;
+         //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){
-        console.log('daochu',newval,oldval)
       }
     }
   },
@@ -83,23 +102,65 @@
 
   },
   mounted() {
-  this.ExportRend()
   },
   methods:{
     //鍏抽棴椤甸潰
     recoverPage(){
       this.$emit('update:visible', false);
     },
-    //瀵煎嚭琛ㄦ牸鏁版嵁杞崲琛ㄥご淇℃伅
-    ExportRend(){
-      this.tableExportData=this.tableHeadData.map(obj => {
-        return {
-          label: obj.label,
-          prop: obj.prop
+    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',res)
+            const filename = '涓嬭浇.xlsx'; // 涓嬭浇鐨勬枃浠跺悕
+            const blob = new Blob([res.data], { type: 'application/vnd.ms-excel' });
+            const a = document.createElement('a');
+            const url = window.URL.createObjectURL(blob);
+            a.href = url;
+            a.download = filename;
+            a.style.display = 'none';
+            document.body.appendChild(a);
+            a.click();
+            document.body.removeChild(a);
+            window.URL.revokeObjectURL(url);
+
+            // const filename = '涓嬭浇.xlsx'; // 涓嬭浇鐨勬枃浠跺悕
+            // const blob = new Blob([response.data], { type: 'application/vnd.ms-excel' });
+            //
+            // const url = window.URL.createObjectURL(blob);
+            // const link = document.createElement('a');
+            // link.href = url;
+            // link.setAttribute('download', filename);
+            // document.body.appendChild(link);
+            // link.click();
+            // document.body.removeChild(link);
+            // URL.revokeObjectURL(url);
+          })
+
         }
-      })
-      console.log(this.tableExportData)
-    }
+      };
+    },
   }
 }
 </script>

--
Gitblit v1.9.3