From b14bf62abb3480d95beee8314fcb08c0d893813b Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 22 九月 2025 14:18:19 +0800
Subject: [PATCH] 文件下发,回传文件处理的查看下载

---
 src/views/tasks/machinereturnfileop.vue |  150 +++++++++++++++++++++++++++++++++++---------------
 1 files changed, 105 insertions(+), 45 deletions(-)

diff --git a/src/views/tasks/machinereturnfileop.vue b/src/views/tasks/machinereturnfileop.vue
index 214d1e5..ea61970 100644
--- a/src/views/tasks/machinereturnfileop.vue
+++ b/src/views/tasks/machinereturnfileop.vue
@@ -1,25 +1,28 @@
 <!--
  * @Date: 2025-06-18 09:17:09
  * @LastEditors: gaoshp
- * @LastEditTime: 2025-07-20 12:27:48
+ * @LastEditTime: 2025-08-13 21:23:34
  * @FilePath: /mdmweb/src/views/tasks/machinereturnfileop.vue
 -->
 <template>
     <basic-container>
-        <avue-crud :option="option" :table-loading="loading" :data="data" v-model:page="page" v-model="form" ref="crud"
+        <avue-crud :option="option" :search="query" :table-loading="loading" :data="data" v-model:page="page" v-model="form" ref="crud"
             @search-change="searchChange" @search-reset="searchReset" @current-change="currentChange"
             @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad" @selection-change="selectionChange">
             <template #menu-left>
-                <el-button type="primary" plain @click="exportWebSite">瀵煎嚭鍥炰紶娑夊瘑缃�</el-button>
+                <el-button type="primary" :disabled="this.selectedList.length==0" plain @click="exportWebSite">瀵煎嚭鍥炰紶娑夊瘑缃�</el-button>
                 <!--<el-button type="primary" plain @click="reassign">鎸傝浇杞﹀簥绋嬪簭搴�</el-button>-->
-                <el-button type="primary" plain @click="exportExcel">瀵煎嚭鍒癊XCEL</el-button>
+                <el-button type="primary" :disabled="this.selectedList.length==0" plain @click="exportExcel">瀵煎嚭鍒癊XCEL</el-button>
             </template>
             <template #menu="scope">
-                <el-button type="primary" text size="default" v-if="permission.flow_model_update"
-                    @click.stop="handleAction(scope.row, scope.index)">瀹℃壒
-                </el-button>
+                <el-button type="primary" text size="default" @click.stop="showContent(scope.row)">鏌ョ湅</el-button>
+                <el-button type="primary" text size="default" @click.stop="download(scope.row, scope.index)">涓嬭浇</el-button>
             </template>
         </avue-crud>
+
+        <el-dialog title="绋嬪簭鍐呭" append-to-body v-model="fileViewModel">
+            <div v-html="appContent" class="app-content"></div>
+        </el-dialog>
     </basic-container>
 </template>
 
@@ -28,7 +31,7 @@
 import { exportBlob } from '@/api/common';
 import { getToken } from '@/utils/auth';
 import NProgress from 'nprogress';
-import { downloadXls } from '@/utils/util';
+import { downloadXls,downloadFile } from '@/utils/util';
 import 'nprogress/nprogress.css';
 export default {
     name: 'MachineReturnFileOp',
@@ -40,77 +43,137 @@
                 total: 0,
             },
             form: {},
-            query: {},
+            query: {status:1},
             loading: true,
             data: [],
+            fileViewModel:false,
+            appContent:'',
             option: {
                 addBtn: false,
                 editBtn: false,
                 delBtn: false,
                 columnBtn: false,
                 tip: false,
-                // simplePage: true,
                 searchShow: true,
                 searchMenuSpan: 6,
                 dialogWidth: '60%',
-                // tree: true,
                 border: true,
                 index: true,
                 selection: true,
-                // viewBtn: true,
-                menuWidth: 100,
-                menu: false,
+                menuWidth: 110,
+                menu: true,
                 dialogClickModal: false,
                 column: [
                     
 					{
                         label: '鏂囦欢鍚嶇О',
-                        prop: 'name'
+                        prop: 'name',
+                        search:true,
+                        searchSpan:4
+                    },
+                    {
+                        label: '瀵煎嚭鐘舵��',
+                        prop: 'status',
+                        search:true,
+                        type:'select',
+                        searchSpan:4,
+                        dicData:[
+                            {
+                                label: '鏈鍑�',
+                                value:1
+                            },
+                            {
+                                label: '宸插鍑�',
+                                value:2
+                            }
+                        ]
                     },
                     {
                         label: '鍥炰紶鏈哄簥',
                         prop: 'machineCode',
                     },
-
-                    
                     {
-                        label: '鏂囦欢鍥哄寲鐘舵��',
-                        prop: 'isCured',
-                        formatter: (val, value, label) => {
-                            return `${val==0?'鏈浐鍖�':"宸插浐鍖�"}`;
-                        },
+                        label: '绋嬪簭鐘舵��',
+                        prop: 'programStatus',
+                        render: ({ row,value }) => {
+                            var txt = '鏈煡';
+                            switch(row.programStatus){
+                                case 1:
+                                txt = '璇曞垏';
+                                break;
+                                case 2:
+                                txt = '鍥哄寲';
+                                break;
+                                case 3:
+                                txt = '鍋忕';
+                                break;
+                                default:
+                                txt = '鏈煡';
+                            }
+                            return txt;
+                        }
                     },
                     {
                         label: '鏂囦欢鍒拌揪鏃堕棿',
-                        prop: 'arrivedTime',
+                        prop: 'fileCreateTime',
                         type: 'datetime',
                         format: 'YYYY-MM-DD HH:mm:ss',
                         valueFormat: 'YYYY-MM-DD HH:mm:ss',
                     },
 					{
                         label: '纭鏃堕棿',
-                        prop: 'determineTime',
+                        prop: 'createTime',
                         type: 'datetime',
                         format: 'YYYY-MM-DD HH:mm:ss',
                         valueFormat: 'YYYY-MM-DD HH:mm:ss',
                         search: true,
                         searchRange: true,
-                        searchSpan: 8,
+                        searchSpan: 10,
                         hide: false,
-                    }/*,
-                    {
-                        label: '鎺ユ敹x鏃堕棿',
-                        prop: 'determineTime',
+                    },
+					{
+                        label: '瀵煎嚭鏃堕棿',
+                        prop: 'exportTime',
                         type: 'datetime',
                         format: 'YYYY-MM-DD HH:mm:ss',
                         valueFormat: 'YYYY-MM-DD HH:mm:ss',
-                    }*/
+                    }
                 ],
-                selectedList: [],
-            }
+            },
+            selectedList: [],
         }
     },
     methods: {
+        showContent(row) {
+            this.fileViewModel = true;
+            this.appContent = '';
+            axios({
+                url: '/blade-mdm/ossfile/file-content',
+                method: 'get',
+                params: {ossFileName: row.ossName}
+            }).then(
+                res => {
+                    console.log(res)
+                    if(res.data.code === 200) {
+                        this.appContent = res.data.data;
+                    } else {
+                        this.appContent = '绋嬪簭鍐呭鍔犺浇澶辫触'
+                    }
+            });
+        },
+        download(row){
+            exportBlob(
+            `/blade-mdm/machinefile/filehandle/download-by-id?id=${row.id}&${this.website.tokenHeader}=${getToken()}`,
+            
+            ).then(res => {
+            
+                let name = res.headers['content-disposition'].split('filename=')[1]
+                //console.log(res.headers['content-disposition'].split('filename=')[1]);
+                name = decodeURI(name)
+                downloadFile(res.data, `${name}`);
+                NProgress.done();
+            });
+        },
         selectionChange (list) {
             this.selectedList = list;
         },
@@ -126,12 +189,13 @@
             }).then(() => {
                 NProgress.start();
                 exportBlob(
-                    `/blade-mdm/machineback/filehandle/export-to-inner`,
+                    `/blade-mdm/machinefile/filehandle/export-to-inner`,
                     {
                         ids: this.selectedList.map(item => item.id).join(','),
                     }
                 ).then(res => {
                     downloadXls(res.data, `宸ユ帶缃戝洖浼犵▼搴�${this.$dayjs().format('YYYY-MM-DD HH:mm:ss')}.zip`);
+                    this.onLoad(this.page, {});
                     NProgress.done();
                 });
             });
@@ -148,7 +212,7 @@
             }).then(() => {
                 NProgress.start();
                 exportBlob(
-                    `/blade-mdm/machineback/filehandle/export-excel?${this.website.tokenHeader}=${getToken()}`
+                    `/blade-mdm/machinefile/filehandle/export-excel?${this.website.tokenHeader}=${getToken()}`
                 ).then(res => {
                     downloadXls(res.data, `鏈哄簥鍥炰紶绋嬪簭鍒楄〃${this.$dayjs().format('YYYY-MM-DD HH:mm:ss')}.xlsx`);
                     NProgress.done();
@@ -160,17 +224,14 @@
             this.query = params;
             this.page.currentPage = 1;
             console.log('searchChange', params);
-            params.confirmTimeBegin = params?.confirmTime?.[0] || '';
-            params.confirmTimeEnd = params?.confirmTime?.[1] || '';
-            console.log(params);
-            // data = {
-            //     createTimeBegin: dayjs(params.createTimeBegin).isValid() ? dayjs(params.createTimeBegin).format('YYYY-MM-DD') : '',
-            //     createTimeEnd: dayjs(params.createTimeEnd).isValid() ? dayjs(params.createTimeEnd).format('YYYY-MM-DD') : '',
-            //     keyword: params.keyword || ''
-            // }
+            params.confirmTimeBegin = params?.determineTime?.[0] || '';
+            params.confirmTimeEnd = params?.determineTime?.[1] || '';
+           
             data = {
                 confirmTimeBegin: params.confirmTimeBegin,
                 confirmTimeEnd: params.confirmTimeEnd,
+                name: params.name,
+                status: this.query.status,
             }
             this.query = data
             this.onLoad(this.page, data);
@@ -181,8 +242,8 @@
             this.query = params;
             this.page.currentPage = 1;
             data = {
-                createTimeBegin: params.createTimeBegin,
-                createTimeEnd: params.createTimeEnd,
+                createTimeBegin: params.confirmTimeBegin,
+                createTimeEnd: params.confirmTimeEnd,
                 keyword: params.keyword || ''
             }
             this.onLoad(this.page, data);
@@ -204,7 +265,6 @@
             console.log('onLoad', page, params);
             const query = {
                 ...this.query,
-                // category: params.category ? flowCategory(params.category) : null,
                 mode: this.mode,
             };
             try {

--
Gitblit v1.9.3