From 000b6f8c42b1eb52a75d3fdf58a950a26bfe18f6 Mon Sep 17 00:00:00 2001
From: 86134 <aa>
Date: 星期二, 07 十一月 2023 17:35:54 +0800
Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before

---
 src/views/quality/rawMaterial/index.vue |   83 +++++++++++++++++++++--------------------
 1 files changed, 43 insertions(+), 40 deletions(-)

diff --git a/src/views/quality/rawMaterial/index.vue b/src/views/quality/rawMaterial/index.vue
index 44a4618..297bd4e 100644
--- a/src/views/quality/rawMaterial/index.vue
+++ b/src/views/quality/rawMaterial/index.vue
@@ -20,13 +20,15 @@
             <ttable 
             :table="table"
             :resultData="resultData"
-            @change ="costPlannedAmountChange"
             @handleSelectionChange="handleSelectionChange"
             :prelang="prelang"
             :options="options"
             :ajaxFun="ajaxFun"
+            @queryParam="getQueryParam($event)"
             ref="rawMaterialTable">
-            <template #toolbar></template>
+            <template #toolbar>
+                <el-button @click="exportRawMaterial" type="primary" >瀵煎嚭</el-button>
+            </template>
             </ttable>
         </basic-container>
         <!-- 寮圭獥, 鏂板 / 淇敼 -->
@@ -38,15 +40,15 @@
     </div>
 </template>
 <script>
-import ExportMaterial from './ExportMaterial.vue'
 import ttable from '@/views/common/ztt-table.vue'
-import { getRawInspectList,delObj } from '@/api/quality/rawMaterial'
+import { getRawInspectList,delObj,exportRawMaterial } from '@/api/quality/rawMaterial'
 import RawMaterialForm from './rawMaterial-form'
 import * as fecha from 'element-ui/lib/utils/date'
 import { mapGetters } from 'vuex'
   export default {
     data() {
         return {
+            queryParam: {},
             resultData:[],
             addOrUpdateVisible: false,
             type: [1],
@@ -64,14 +66,13 @@
                 isRefresh: true, // 鏄惁鏄剧ず鍒锋柊鎸夐挳
                 isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳H
                 isSearch: true, // 楂樼骇鏌ヨ鎸夐挳
-                defaultOrderBy: { column: 'formTime', direction: 'desc' },
+                defaultOrderBy: { column: 'createTime', direction: 'desc' },
             },
             table: {
                 total: 0,
                 currentPage: 1,
                 pageSize: 20,
                 data: [],
-                isExport:true,
                 // 鏍囬
                 column: [
                     {
@@ -139,6 +140,7 @@
                         prop: 'createTime',
                         label: '鎶ユ鏃ユ湡',
                         isTrue: true,
+                        sort: true,
                         isSearch: true,
                         searchInfoType: 'text',
                         formatter: this.formatDateTime,
@@ -190,13 +192,7 @@
                     text: '鏂板',
                     type: 'primary',
                     fun: this.addOrUpdateHandle
-                },
-                {
-                    text: '瀵煎嚭',
-                    type: 'primary',
-                    fun: this.handleExcel
-                }
-                ],
+                }],
                 operator: [{
                     text: '浣滃簾',
                     type: 'text',
@@ -214,10 +210,17 @@
             StateList: [{label:'鍏ㄩ儴',value:''},{label:'宸插悎鏍�',value:'1'},{label:'涓嶅悎鏍�',value:'0'}],
         }
     },
+    // props:{
+    //     queryParam:{
+    //         type: Object,
+    //         default: ()=>{
+    //             return {}
+    //         }
+    //     }
+    // },
     components: {
         ttable,
         RawMaterialForm,
-        ExportMaterial,
     },
     created() {
 
@@ -226,34 +229,34 @@
         ...mapGetters(['permissions'])
     },
     methods:{
-        async costPlannedAmountChange(value){
-            this.resultData= value
+        getQueryParam(data){
+            this.queryParam = data
         },
-    
-      handleExcel() {
-        console.log(this.resultData);
-        console.log(this.table.column);
-        let arr = this.table.column.filter(item => item.isTrue == true).map(item => {
-                    return{
-                        prop:item.prop,
-                        label:item.label
-                }
+        exportRawMaterial(){
+            exportRawMaterial(this.queryParam).then(res=>{
+                console.log(res)
+                this.downloadFun(res)
+            }).catch(error=>{
+                console.log(error);
             })
-        let opt = {
-          title: '鏂囨。鏍囬',
-          column: [{
-            label:'',
-            prop:'header',
-            children:arr
-          }],
-          data: this.resultData
-        }
-        this.$Export.excel({
-          title: opt.title,
-          columns: opt.column,
-          data: opt.data
-        });
-      },
+        },
+        downloadFun(result){
+            if(result == null || result == undefined){
+                return;
+            }
+            var nameList = result.headers['content-disposition'];
+            nameList = decodeURI(nameList);
+            var fileName = nameList.split('=')[1];
+            const blob = new Blob([result.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
+            const downloadElement = document.createElement('a') // 鏂板缓涓�涓狣OM鑺傜偣
+            const href = window.URL.createObjectURL(blob) // 鍒涘缓涓嬭浇鐨勯摼鎺�
+            downloadElement.href = href
+            downloadElement.download = fileName // 涓嬭浇鍚庢枃浠跺悕
+            document.body.appendChild(downloadElement) // 灏嗘柊澧炵殑鑺傜偣鎸傝浇鍒伴〉闈笂
+            downloadElement.click() // 鐐瑰嚮涓嬭浇
+            document.body.removeChild(downloadElement) // 涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+            window.URL.revokeObjectURL(href)
+        },
         // 鍒犻櫎
         deleteHandle(row) {
         this.$confirm('鏄惁纭鍒犻櫎璇ユ暟鎹細' + row.code , '鎻愮ず', {

--
Gitblit v1.9.3