diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/examineApplication.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/examineApplication.vue
index 7f5f022cf..5e6bd41bf 100755
--- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/examineApplication.vue
+++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/examineApplication.vue
@@ -86,9 +86,43 @@
{{ parseStatus(scope.row.status) }}
-
+
- 详情
+
+
+ 详情
+ 修改
+ 删除
+
+
+
+ 详情
+ 撤回
+
+
+
+ 详情
+ 打印
+
+
+
+ 详情
+ 看报告
+
+
+
+ 详情
+ 打印
+ 看报告
+
+
+
+ 详情
+
+
+
+ 详情
+
@@ -167,7 +201,7 @@
import {computed, getCurrentInstance, ref, watch} from 'vue';
import {Refresh, Search} from '@element-plus/icons-vue';
import {patientInfo} from '../../store/patient.js';
-import {getCheck} from './api';
+import {getCheck, deleteRequestForm, withdrawRequestForm, getTestResult} from './api';
import {getDepartmentList} from '@/api/public.js';
const { proxy } = getCurrentInstance();
@@ -359,6 +393,91 @@ const handleViewDetail = async (row) => {
detailDialogVisible.value = true;
};
+/**
+ * 修改申请单(仅待签发状态)
+ */
+const handleModify = (row) => {
+ proxy.$modal?.msgWarning?.('修改功能需后端支持,请联系管理员');
+};
+
+/**
+ * 删除申请单(仅待签发状态)
+ */
+const handleDelete = (row) => {
+ proxy.$confirm?.('确认删除该检查申请单吗?删除后不可恢复。', '警告', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning',
+ }).then(async () => {
+ try {
+ const res = await deleteRequestForm({ requestFormId: row.requestFormId || row.id });
+ if (res?.code === 200) {
+ proxy.$modal?.msgSuccess?.('删除成功');
+ await fetchData();
+ } else {
+ proxy.$modal?.msgError?.(res?.msg || '删除失败');
+ }
+ } catch (e) {
+ console.warn('删除申请单失败(可能后端未实现):', e.message);
+ proxy.$modal?.msgError?.('删除失败,后端服务可能未支持此功能');
+ }
+ }).catch(() => {});
+};
+
+/**
+ * 撤回申请单(已签发状态撤回至待签发)
+ */
+const handleWithdraw = (row) => {
+ proxy.$confirm?.('确认撤回该检查申请单吗?撤回后状态将变为待签发。', '撤回确认', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning',
+ }).then(async () => {
+ try {
+ const res = await withdrawRequestForm({ requestFormId: row.requestFormId || row.id });
+ if (res?.code === 200) {
+ proxy.$modal?.msgSuccess?.('撤回成功');
+ await fetchData();
+ } else {
+ proxy.$modal?.msgError?.(res?.msg || '撤回失败');
+ }
+ } catch (e) {
+ console.warn('撤回申请单失败(可能后端未实现):', e.message);
+ proxy.$modal?.msgError?.('撤回失败,后端服务可能未支持此功能');
+ }
+ }).catch(() => {});
+};
+
+/**
+ * 打印申请单
+ */
+const handlePrint = (row) => {
+ // 使用浏览器原生打印功能
+ window.print();
+};
+
+/**
+ * 查看检查报告
+ */
+const handleViewReport = async (row) => {
+ try {
+ const res = await getTestResult({ encounterId: row.encounterId || patientInfo.value?.encounterId });
+ if (res?.code === 200 && res.data) {
+ const reportUrl = Array.isArray(res.data) ? res.data[0]?.reportUrl : res.data?.reportUrl;
+ if (reportUrl) {
+ window.open(reportUrl, '_blank');
+ } else {
+ proxy.$modal?.msgWarning?.('暂无检查报告');
+ }
+ } else {
+ proxy.$modal?.msgWarning?.('暂无检查报告');
+ }
+ } catch (e) {
+ console.warn('查看检查报告失败:', e.message);
+ proxy.$modal?.msgError?.('获取检查报告失败');
+ }
+};
+
watch(
() => patientInfo.value?.encounterId,
(val) => {