住院护士站-》医嘱执行页面:勾选医嘱后点击“执行选中”按钮无反应,无法完成执行操作.
疾病报告管理-》报告卡管理:审核报卡界面内容与门诊医生站登记界面不一致
This commit is contained in:
@@ -511,6 +511,86 @@
|
||||
</template>
|
||||
</el-drawer>
|
||||
|
||||
<InfectiousDiseaseReportDialog
|
||||
ref="reportDialogRef"
|
||||
:title="drawerMode === 'audit' ? '审核报卡' : '查看报卡'"
|
||||
read-only
|
||||
@close="handleDrawerClose"
|
||||
>
|
||||
<template #append>
|
||||
<!-- 审核记录 -->
|
||||
<div class="audit-records-section" v-if="auditRecords.length > 0">
|
||||
<h3 class="section-title">审核记录</h3>
|
||||
<el-timeline>
|
||||
<el-timeline-item
|
||||
v-for="record in auditRecords"
|
||||
:key="record.auditId"
|
||||
:timestamp="record.auditTime"
|
||||
placement="top"
|
||||
:type="getAuditType(record.auditStatusTo)"
|
||||
>
|
||||
<el-card>
|
||||
<div class="record-content">
|
||||
<div class="record-header">
|
||||
<span class="auditor">{{ record.auditorName }}</span>
|
||||
<el-tag size="small" :type="getAuditType(record.auditStatusTo)">
|
||||
{{ getAuditTypeName(record.auditType) }}
|
||||
</el-tag>
|
||||
</div>
|
||||
<div class="record-detail">
|
||||
<span v-if="record.auditOpinion">审核意见:{{ record.auditOpinion }}</span>
|
||||
<span v-if="record.reasonForReturn">退回原因:{{ record.reasonForReturn }}</span>
|
||||
</div>
|
||||
<div class="record-status">
|
||||
{{ getStatusName(record.auditStatusFrom) }} → {{ getStatusName(record.auditStatusTo) }}
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
</el-timeline>
|
||||
</div>
|
||||
|
||||
<!-- 审核操作区域 -->
|
||||
<div class="audit-action-section" v-if="drawerMode === 'audit'">
|
||||
<h3 class="section-title">审核操作</h3>
|
||||
<el-form :model="auditForm" label-width="100px">
|
||||
<el-form-item label="审核意见" required>
|
||||
<el-input
|
||||
v-model="auditForm.auditOpinion"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
placeholder="请填写审核意见"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="退回原因">
|
||||
<el-input
|
||||
v-model="auditForm.returnReason"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
placeholder="如需退回,请填写退回原因"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template #footer="{ close }">
|
||||
<div class="drawer-footer">
|
||||
<el-button @click="close">关闭</el-button>
|
||||
<template v-if="drawerMode === 'audit'">
|
||||
<el-button type="warning" @click="handleReturnCard" :disabled="!auditForm.returnReason">
|
||||
退回修改
|
||||
</el-button>
|
||||
<el-button type="success" @click="handlePassCard" :disabled="!auditForm.auditOpinion">
|
||||
审核通过
|
||||
</el-button>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
</InfectiousDiseaseReportDialog>
|
||||
|
||||
<!-- 批量审核弹窗 -->
|
||||
<el-dialog
|
||||
v-model="batchAuditDialogVisible"
|
||||
@@ -568,6 +648,7 @@ import { ElMessage, ElMessageBox } from 'element-plus';
|
||||
import { Clock, CircleClose, CircleCheck, Document, Search, Refresh, DocumentChecked, RefreshLeft, Download } from '@element-plus/icons-vue';
|
||||
import { useDict } from '@/utils/dict';
|
||||
import useUserStore from '@/store/modules/user';
|
||||
import InfectiousDiseaseReportDialog from '@/views/doctorstation/components/diagnosis/infectiousDiseaseReportDialog.vue';
|
||||
import {
|
||||
listInfectiousCards,
|
||||
getInfectiousCard,
|
||||
@@ -623,6 +704,7 @@ const selectedRows = ref([]);
|
||||
const drawerVisible = ref(false);
|
||||
const drawerMode = ref('view'); // view | audit
|
||||
const drawerLoading = ref(false);
|
||||
const reportDialogRef = ref(null);
|
||||
const currentCard = ref({});
|
||||
const auditRecords = ref([]);
|
||||
const auditForm = ref({
|
||||
@@ -823,14 +905,12 @@ function handleSelectionChange(rows) {
|
||||
// 审核
|
||||
function handleAudit(row) {
|
||||
drawerMode.value = 'audit';
|
||||
drawerVisible.value = true;
|
||||
loadCardDetail(row.cardNo);
|
||||
}
|
||||
|
||||
// 查看
|
||||
function handleView(row) {
|
||||
drawerMode.value = 'view';
|
||||
drawerVisible.value = true;
|
||||
loadCardDetail(row.cardNo);
|
||||
}
|
||||
|
||||
@@ -884,6 +964,7 @@ async function loadCardDetail(cardNo) {
|
||||
};
|
||||
// 如果没有单独的审核记录 API,尝试从详情数据中获取
|
||||
auditRecords.value = res.data.auditRecords || res.auditRecords || [];
|
||||
reportDialogRef.value?.showReport(currentCard.value);
|
||||
} else {
|
||||
ElMessage.error('获取卡片详情失败');
|
||||
}
|
||||
@@ -920,7 +1001,7 @@ async function handlePassCard() {
|
||||
|
||||
if (res.code === 200) {
|
||||
ElMessage.success('审核通过');
|
||||
handleDrawerClose();
|
||||
reportDialogRef.value?.close?.();
|
||||
loadTableData();
|
||||
loadStats();
|
||||
} else {
|
||||
@@ -954,7 +1035,7 @@ async function handleReturnCard() {
|
||||
|
||||
if (res.code === 200) {
|
||||
ElMessage.success('已退回修改');
|
||||
handleDrawerClose();
|
||||
reportDialogRef.value?.close?.();
|
||||
loadTableData();
|
||||
loadStats();
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user