From b5e2aaaba43d7456ab6ffedefa16c97a22cbe479 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Fri, 21 Nov 2025 18:40:01 +0800
Subject: [PATCH] Merge branch 'feature/v8.0/8.0.2' into prod
---
src/views/tickets/ticket.vue | 30 +++++++++++++++++++++++++++---
1 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/src/views/tickets/ticket.vue b/src/views/tickets/ticket.vue
index c33af5f..91b754b 100644
--- a/src/views/tickets/ticket.vue
+++ b/src/views/tickets/ticket.vue
@@ -206,6 +206,7 @@
@click="openReviewDialog"
>批量审核
</el-button>
+
<el-button
v-if="permissionList.exportBtn"
type="success"
@@ -232,7 +233,12 @@
>详情
</el-button>
</template>
-
+
+ <template v-if="row.status === 4 && activeTab === 'completed'">
+ <el-button type="text" icon="el-icon-download" @click="exportTheTick(row)"
+ >导出
+ </el-button>
+ </template>
<template v-if="permission.tickets_repeat_review">
<el-button
v-if="row.status === 4 && row.isReview !== 1"
@@ -1010,6 +1016,7 @@
getStepInfo,
getReviewById,
getCreateEventJob,
+ exportTheTicket
} from '@/api/tickets/ticket';
import { getSFDictionaryTree } from '@/api/job/task';
import { export_json_to_excel } from '@/utils/exportExcel';
@@ -1107,7 +1114,7 @@
{ label: '工单编号', prop: 'orderNumber', width: 170 },
{ label: '工单名称', prop: 'orderName', width: 150, overHidden: true, tooltip: true },
{ label: '所属部门', prop: 'department', overHidden: true, tooltip: true },
- { label: '发起时间', prop: 'startTime', width: 160, overHidden: true },
+ { label: '发起任务时间', prop: 'startTime', width: 160, overHidden: true },
{ label: '关联算法', prop: 'aiType', overHidden: true, tooltip: true },
{
label: '工单类型',
@@ -1838,7 +1845,7 @@
orderName: item.event_name,
department:
this.departments.find(d => d.value === item.dept_id)?.label || item.dept_name,
- startTime: item.create_time,
+ startTime: item.job_create_time || '/',
aiType: item.ai_types,
content: item.content, // 将后端返回的 content 映射为 content
type: item.work_order_type_dict_key,
@@ -3188,6 +3195,23 @@
});
}
},
+ // 导出工单报表
+ exportTheTick(row){
+ const params = {
+ num:row.orderNumber
+ }
+ exportTheTicket(params).then(res=>{
+ const elink = document.createElement('a')
+ elink.download = row.orderName + '.docx'
+ elink.style.display = 'none'
+ const blob = new Blob([res.data])
+ elink.href = URL.createObjectURL(blob)
+ document.body.appendChild(elink)
+ elink.click()
+ document.body.removeChild(elink)
+ })
+ this.$message.success('数据导出成功');
+ }
},
activated() {
this.handleReset();
--
Gitblit v1.9.3