Compare commits
1 Commits
agent-赵云
...
bug464-fix
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4c083cc698 |
@@ -183,26 +183,6 @@
|
|||||||
<el-button @click="detailDialogVisible = false">关闭</el-button>
|
<el-button @click="detailDialogVisible = false">关闭</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 编辑检验申请单弹窗 -->
|
|
||||||
<el-dialog
|
|
||||||
v-model="editDialogVisible"
|
|
||||||
title="编辑检验申请单"
|
|
||||||
width="1200px"
|
|
||||||
destroy-on-close
|
|
||||||
top="5vh"
|
|
||||||
:close-on-click-modal="false"
|
|
||||||
>
|
|
||||||
<LaboratoryTests
|
|
||||||
ref="editFormRef"
|
|
||||||
@submitOk="handleEditSubmitOk"
|
|
||||||
:editData="editRowData"
|
|
||||||
/>
|
|
||||||
<template #footer>
|
|
||||||
<el-button @click="editDialogVisible = false">取消</el-button>
|
|
||||||
<el-button type="primary" @click="submitEditForm">确认</el-button>
|
|
||||||
</template>
|
|
||||||
</el-dialog>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -212,17 +192,12 @@ import {Refresh, Search} from '@element-plus/icons-vue';
|
|||||||
import {patientInfo} from '../../store/patient.js';
|
import {patientInfo} from '../../store/patient.js';
|
||||||
import {getInspection, deleteRequestForm, withdrawRequestForm} from './api';
|
import {getInspection, deleteRequestForm, withdrawRequestForm} from './api';
|
||||||
import {getDepartmentList} from '@/api/public.js';
|
import {getDepartmentList} from '@/api/public.js';
|
||||||
import LaboratoryTests from '../order/applicationForm/laboratoryTests.vue';
|
|
||||||
import {saveInspection} from '../order/applicationForm/api.js';
|
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
|
|
||||||
const tableData = ref([]);
|
const tableData = ref([]);
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
const detailDialogVisible = ref(false);
|
const detailDialogVisible = ref(false);
|
||||||
const editDialogVisible = ref(false);
|
|
||||||
const editRowData = ref(null);
|
|
||||||
const editFormRef = ref(null);
|
|
||||||
const currentDetail = ref(null);
|
const currentDetail = ref(null);
|
||||||
const descJsonData = ref(null);
|
const descJsonData = ref(null);
|
||||||
const orgOptions = ref([]);
|
const orgOptions = ref([]);
|
||||||
@@ -458,32 +433,10 @@ const handleViewDetail = async (row) => {
|
|||||||
/**
|
/**
|
||||||
* 修改检验申请单(待签发状态)
|
* 修改检验申请单(待签发状态)
|
||||||
*/
|
*/
|
||||||
const handleEdit = async (row) => {
|
const handleEdit = (row) => {
|
||||||
// 确保科室数据已加载
|
// 复用详情查看逻辑,后续可扩展为打开编辑弹窗
|
||||||
if (!orgOptions.value || orgOptions.value.length === 0) {
|
handleViewDetail(row);
|
||||||
await getLocationInfo();
|
proxy.$modal?.msgInfo?.('修改功能待接入,请通过详情弹窗查看后重新开立');
|
||||||
}
|
|
||||||
editRowData.value = row;
|
|
||||||
editDialogVisible.value = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 编辑弹窗提交成功回调
|
|
||||||
*/
|
|
||||||
const handleEditSubmitOk = async () => {
|
|
||||||
editDialogVisible.value = false;
|
|
||||||
editRowData.value = null;
|
|
||||||
proxy.$modal?.msgSuccess?.('修改成功');
|
|
||||||
await fetchData();
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 编辑弹窗提交按钮
|
|
||||||
*/
|
|
||||||
const submitEditForm = () => {
|
|
||||||
if (editFormRef.value?.submit) {
|
|
||||||
editFormRef.value.submit();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -497,7 +450,7 @@ const handleDelete = async (row) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await deleteRequestForm({ requestFormId: row.requestFormId });
|
const res = await deleteRequestForm({ prescriptionNo: row.prescriptionNo });
|
||||||
if (res?.code === 200) {
|
if (res?.code === 200) {
|
||||||
proxy.$modal?.msgSuccess?.('删除成功');
|
proxy.$modal?.msgSuccess?.('删除成功');
|
||||||
await fetchData();
|
await fetchData();
|
||||||
@@ -520,7 +473,7 @@ const handleWithdraw = async (row) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await withdrawRequestForm({ requestFormId: row.requestFormId });
|
const res = await withdrawRequestForm({ prescriptionNo: row.prescriptionNo });
|
||||||
if (res?.code === 200) {
|
if (res?.code === 200) {
|
||||||
proxy.$modal?.msgSuccess?.('撤回成功');
|
proxy.$modal?.msgSuccess?.('撤回成功');
|
||||||
await fetchData();
|
await fetchData();
|
||||||
|
|||||||
@@ -155,13 +155,7 @@ const findTreeItem = (list, id) => {
|
|||||||
return null;
|
return null;
|
||||||
};
|
};
|
||||||
const emits = defineEmits(['submitOk']);
|
const emits = defineEmits(['submitOk']);
|
||||||
const props = defineProps({
|
const props = defineProps({});
|
||||||
editData: {
|
|
||||||
type: Object,
|
|
||||||
default: null,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
const isEditMode = computed(() => !!props.editData?.requestFormId);
|
|
||||||
const state = reactive({});
|
const state = reactive({});
|
||||||
const applicationListAll = ref([]);
|
const applicationListAll = ref([]);
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
@@ -337,44 +331,6 @@ watch(
|
|||||||
projectWithDepartment(newValue, 1);
|
projectWithDepartment(newValue, 1);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
// 编辑模式下,回显已有数据
|
|
||||||
watch(
|
|
||||||
() => props.editData,
|
|
||||||
(newData) => {
|
|
||||||
if (!newData || !newData.requestFormId) return;
|
|
||||||
|
|
||||||
// 解析 descJson 回填表单
|
|
||||||
if (newData.descJson) {
|
|
||||||
try {
|
|
||||||
const obj = JSON.parse(newData.descJson);
|
|
||||||
Object.keys(form).forEach((key) => {
|
|
||||||
if (obj[key] !== undefined) {
|
|
||||||
form[key] = obj[key];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} catch (e) {
|
|
||||||
console.error('解析 descJson 失败:', e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 回填已选项目
|
|
||||||
if (newData.requestFormDetailList && newData.requestFormDetailList.length > 0) {
|
|
||||||
// 从全部数据中匹配已选项目
|
|
||||||
const selectedIds = [];
|
|
||||||
newData.requestFormDetailList.forEach((detail) => {
|
|
||||||
const matched = applicationListAll.value.find(
|
|
||||||
(item) => item.adviceName === detail.adviceName
|
|
||||||
);
|
|
||||||
if (matched) {
|
|
||||||
selectedIds.push(matched.adviceDefinitionId);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
transferValue.value = selectedIds;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{ immediate: true }
|
|
||||||
);
|
|
||||||
const submit = () => {
|
const submit = () => {
|
||||||
if (transferValue.value.length == 0) {
|
if (transferValue.value.length == 0) {
|
||||||
return proxy.$message.error('请选择申请单');
|
return proxy.$message.error('请选择申请单');
|
||||||
@@ -407,14 +363,14 @@ const submit = () => {
|
|||||||
patientId: patientInfo.value.patientId, //患者ID
|
patientId: patientInfo.value.patientId, //患者ID
|
||||||
encounterId: patientInfo.value.encounterId, // 就诊ID
|
encounterId: patientInfo.value.encounterId, // 就诊ID
|
||||||
organizationId: patientInfo.value.inHospitalOrgId, // 医疗机构ID
|
organizationId: patientInfo.value.inHospitalOrgId, // 医疗机构ID
|
||||||
requestFormId: isEditMode.value ? props.editData.requestFormId : '', // 申请单ID(编辑模式传入,新增为空)
|
requestFormId: '', // 申请单ID
|
||||||
name: '检验申请单',
|
name: '检验申请单',
|
||||||
descJson: JSON.stringify(form),
|
descJson: JSON.stringify(form),
|
||||||
categoryEnum: '21', // 21 检验 22 检查 23 输血 24 手术(避开 adviceType 1-6 碰撞)
|
categoryEnum: '21', // 21 检验 22 检查 23 输血 24 手术(避开 adviceType 1-6 碰撞)
|
||||||
};
|
};
|
||||||
saveInspection(params).then((res) => {
|
saveInspection(params).then((res) => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
proxy.$message.success(isEditMode.value ? '修改成功' : res.msg);
|
proxy.$message.success(res.msg);
|
||||||
transferValue.value = [];
|
transferValue.value = [];
|
||||||
emits('submitOk');
|
emits('submitOk');
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user