Jelajahi Sumber

fix: 修改参数

xiaweibo 2 bulan lalu
induk
melakukan
4bb9bb9f95

+ 15 - 0
src/api/evaluationSystem/index.ts

@@ -57,6 +57,7 @@ export interface EvaluationSystemQueryParam {
 export interface ExportMonthlyDeductionRequest {
   deductionTitle?: string; // 扣分标题
   status?: boolean; // 状态
+  id?: number; // 考核表ID
 }
 
 /**
@@ -750,3 +751,17 @@ export function addDownloadTheTemplate(query: ExportMonthlyDeductionRequest) {
     isTransformResponse: false,
   });
 }
+
+/**
+ * 导出安全检查详情
+ */
+export function exportSecurityExamineDet(query: ExportMonthlyDeductionRequest) {
+  return http.request({
+    url: '/securityExamine/admin/exportSecurityExamineDet?id=' + query.id,
+    method: 'get',
+    data: query,
+    responseType: 'blob',
+  }, {
+    isTransformResponse: false,
+  });
+}

+ 21 - 1
src/views/production-safety/safetyAssessment/evaluationSystem/components/EvaluationSystemDetail.vue

@@ -25,7 +25,8 @@
     <div class="evaluation-items-section">
       <div class="section-header">
         <el-button plain @click="handleDownloadTemplate">模板下载</el-button>
-        <el-button plain @click="handleImport">导入</el-button>
+        <el-button plain @click="importDialogVisible = true">导入</el-button>
+        <el-button plain v-if="isEditMode" @click="handleExport">导出</el-button>
       </div>
       <div class="evaluation-items-table">
         <el-table :data="evaluationItems" border :span-method="handleSpanMethod">
@@ -145,6 +146,7 @@
     querySecurityExamineDetail,
     updateSecurityExamine,
     addDownloadTheTemplate,
+    exportSecurityExamineDet,
   } from '@/api/evaluationSystem';
   import type { EvaluationContent } from '@/api/evaluationSystem';
   import type { FileItem } from '@/components/UploadFiles/types';
@@ -771,6 +773,24 @@
     }
   };
 
+  const handleExport = async () => {
+      try {
+        const exportParams = {
+          id: props.id || 0,
+        };
+        const response = await exportSecurityExamineDet(exportParams);
+        if (response) {
+          const fileName = `${route.query.operate == 'evaluationSystem-advanced-group' ? '部门考核' : '考核对象'}_${new Date().toISOString().split('T')[0]}.xlsx`;
+          downloadByData(response, fileName);
+          ElMessage.success('导出成功');
+        }
+      } catch (e) {
+        console.error('导出月度扣分失败:', e);
+        ElMessage.error(e?.message || e?.data || '导出失败,请重试');
+      }
+    };
+
+
   onMounted(() => {
     // 获取复评人列表
     getReviewUserList();

+ 1 - 1
src/views/production-safety/safetyAssessment/evaluationSystem/evaluationSystem.vue

@@ -115,7 +115,7 @@
 
                 <!-- 待反馈:作废 / 考核对象 -->
                 <template v-else-if="Number(scope.row.status) === 2">
-                  <ActionButton text="下发" @click="handleIssue(scope.row.id)" />
+                  <!-- <ActionButton text="下发" @click="handleIssue(scope.row.id)" /> -->
                   <ActionButton
                     text="作废"
                     :popconfirm="{