<!-- 复检通知书详情 -->
<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>