<!-- 复检通知书详情 --> <script name="NoticeDetailApproved" lang="ts" setup> import { ElMessage } from 'element-plus' import type { ICustomerNoticeInfo } from './customer-notice' import { exportFile, sendTo } from '@/api/resource/reviewNotice' import FilterCustomerStaff from '@/views/resource/common/filterCustomerStaff.vue' // 从路由中传过来的参数 const id = ref<string>('') const noticeInfo = ref<ICustomerNoticeInfo>({ id: '', customerId: '', customerName: '', deptId: '', labCode: '', labCodeName: '', noticeUserId: '', noticeUserName: '', noticeNo: '', noticeName: '检测结果复查通知单', submitDate: '', deviceName: '', deviceModel: '', deviceNo: '', returnDate: '', noticeDate: '', sampleIdList: [], sendStatus: '', approvalStatus: '', approvalStatusName: '', appealUserId: '', appealUserName: '', processId: '', taskId: '', createUserId: '', createUserName: '', createTime: '', }) const refCustomerStaffFilter = ref() const route = useRoute() const router = useRouter() // 逻辑 // 关闭 const resetForm = () => { sessionStorage.removeItem('reviewNoticeInfo') // 返回列表时 将缓存中的数据删除 router.go(-1) } // 点击 发送 按钮 const sendToCustomer = () => { refCustomerStaffFilter.value.showOrHideFilterDialog(true, noticeInfo.value.customerName) } const sysUserSelectedHandler = (row: any) => { refCustomerStaffFilter.value.showOrHideFilterDialog(false) if (row.id !== '') { sendTo({ id: id.value, noticeUserId: row.id }).then((res) => { if (res.code === 200) { // 提示保存成功 ElMessage.success(`通知单发送到送检单位 ${row.customerName} 的 ${row.name} 成功`) } else { // 提示失败信息 ElMessage.error(`通知单发送至送检单位失败:${res.message}`) } }) } else { ElMessage.error('发送给委托方人员不能为空,请重新选择') } } // 打印Word const printToWord = () => { // exportFile({ id: noticeInfo.value.id, pdf: false }) } // 打印PDF const printToPDF = () => { } // 打印 const printClickedHandler = () => { ElMessage.success('打印成功') } const initDialog = (params: any) => { // 从路由中获取参数 id.value = params.id !== undefined ? params.id : '' noticeInfo.value = JSON.parse(sessionStorage.getItem('reviewNoticeInfo')!) } onMounted(() => { initDialog(route.query) }) </script> <template> <app-container> <detail-page title="检测结果复查通知单"> <template #btns> <el-button type="primary" @click="sendToCustomer"> 发送给委托方 </el-button> <el-button type="primary" @click="printToWord"> 导出Word </el-button> <el-button type="primary" @click="printToPDF"> 导出PDF </el-button> <el-button type="primary" @click="printClickedHandler"> 打印 </el-button> <el-button type="info" @click="resetForm()"> 关闭 </el-button> </template> </detail-page> <filter-customer-staff ref="refCustomerStaffFilter" title="请选择委托方和签收人员" @record-selected="sysUserSelectedHandler" /> </app-container> </template>