Pārlūkot izejas kodu

服务单修改

xzc 1 nedēļu atpakaļ
vecāks
revīzija
494ab964c0

+ 5 - 0
yudao-ui-admin-vue3/src/api/pressure2/orderreport/index.ts

@@ -62,6 +62,11 @@ export const OrderReportApi = {
     return await request.get({ url: `/pressure2/order-report/generatePipeOrderReportByTaskOrder/` + taskOrderId })
   },
 
+  // 刷新单个报告的动态报表实例(仅刷新指定报告,不影响其他报告)
+  refreshSingleOrderReport: async (data: { orderReportId: string; equipMainType: string }) => {
+    return await request.post({ url: `/pressure2/order-report/refreshSingleOrderReport`, data })
+  },
+
   // 更新检验情况报告
   updateNotificationReport: async (id) => {
     return await request.get({ url: `/pressure2/notificationform-report/updateNotificationReport/` + id })

+ 9 - 13
yudao-ui-admin-vue3/src/views/pressure2/boilertaskorder/components/OrderDialog.vue

@@ -84,9 +84,10 @@ const handleDownload = async () => {
             const url = window.URL.createObjectURL(pdfBlob)
             const link = document.createElement('a')
             link.href = url
+            const prefix = currentOrderIdx.value === 0 ? '服务单' : currentOrderIdx.value === 1 ? '受理单' : '报告'
             const fileName = currentOrder.value?.acceptOrderId
-              ? `服务单_${currentOrder.value.acceptOrderId}_${new Date().getTime()}.pdf`
-              : `服务单_${new Date().getTime()}.pdf`
+              ? `${prefix}_${currentOrder.value.acceptOrderId}_${new Date().getTime()}.pdf`
+              : `${prefix}_${new Date().getTime()}.pdf`
             link.download = fileName
             document.body.appendChild(link)
             link.click()
@@ -126,7 +127,8 @@ const handlePushConfirm = async () => {
         orderId: props.orderId,
         receiver: pushDialogFormData.value.serviceFormReceiver,
         receiverPhone: pushDialogFormData.value.serviceFormReceiverPhone,
-        businessType: 100
+        businessType: 100,
+        reportId: currentOrder.value.id
       })
     } else {
       await BoilerTaskOrderApi.inspectionServiceEmailPush({
@@ -152,16 +154,10 @@ const loadData = async () => {
     orderList.value = []
     return
   }
+  // 逐报告刷新,避免同一受理单下多报告互相覆盖
+  const equipMainType = props.type === 'pipe' ? 'pipe' : 'boiler'
   for (const report of orderList.value) {
-    if (report.acceptOrderId) {
-      // 有受理单ID时按受理单生成
-      if (props.type === 'pipe') await OrderReportApi.generatePipeOrderReport(report.acceptOrderId)
-      else await OrderReportApi.generateBoilerOrderReport(report.acceptOrderId)
-    } else {
-      // 没有受理单ID时按任务单ID生成
-      if (props.type === 'pipe') await OrderReportApi.generatePipeOrderReportByTaskOrder(props.orderId)
-      else await OrderReportApi.generateBoilerOrderReportByTaskOrder(props.orderId)
-    }
+    await OrderReportApi.refreshSingleOrderReport({ orderReportId: report.id, equipMainType })
   }
   const refreshed = await OrderReportApi.getOrderReportPage({taskOrderId: props.orderId})
   if (refreshed.total > 0) orderList.value = refreshed.list
@@ -192,7 +188,7 @@ onMounted(() => { loadData() })
         <div v-if="orderList.length > 1" class="report-tabs">
           <el-radio-group v-model="currentOrderIdx" size="small" @change="reloadCurrentReport">
             <el-radio-button v-for="(report, idx) in orderList" :key="report.id || idx" :label="idx">
-              {{ `报告${idx + 1}` }}
+              {{ idx === 0 ? '服务单' : idx === 1 ? '受理单' : `报告${idx + 1}` }}
             </el-radio-button>
           </el-radio-group>
         </div>