这个编辑按钮功能展示的数据为什么会不全,已确认状态下的数据展示不全。
This commit is contained in:
@@ -134,7 +134,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="结束" width="70" align="center">
|
||||
<template #default="scope">
|
||||
<el-checkbox :model-value="scope.row.consultationStatus >= 40" disabled />
|
||||
<el-checkbox :model-value="scope.row.consultationStatus === 40" disabled />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="200" fixed="right" align="center">
|
||||
@@ -387,22 +387,36 @@ const queryParams = reactive({
|
||||
const formData = ref({
|
||||
id: null,
|
||||
consultationId: '',
|
||||
patientId: null,
|
||||
patientName: '',
|
||||
genderEnum: null,
|
||||
age: null,
|
||||
patientBusNo: '',
|
||||
patientIdentifierNo: '',
|
||||
requestingPhysician: '',
|
||||
consultationDate: '',
|
||||
encounterId: null,
|
||||
departmentId: null,
|
||||
department: '',
|
||||
provisionalDiagnosis: '',
|
||||
consultationPurpose: '',
|
||||
requestingPhysicianId: null,
|
||||
requestingPhysician: '',
|
||||
invitedObject: '',
|
||||
consultationDate: '',
|
||||
consultationRequestDate: null,
|
||||
consultationPurpose: '',
|
||||
provisionalDiagnosis: '',
|
||||
consultationActivityId: null,
|
||||
consultationActivityName: '',
|
||||
consultationUrgency: '',
|
||||
consultationStatus: 0,
|
||||
consultationOpinion: '',
|
||||
consultingPhysicians: '',
|
||||
signingPhysicianId: null,
|
||||
signingPhysicianName: '',
|
||||
signingTime: null,
|
||||
invitedPhysiciansText: '',
|
||||
attendingPhysician: '',
|
||||
representDepartment: '',
|
||||
signPhysician: '',
|
||||
signTime: null,
|
||||
consultationRequestDate: null
|
||||
signTime: null
|
||||
})
|
||||
|
||||
const formRules = {
|
||||
@@ -513,15 +527,83 @@ const handleEdit = (row) => {
|
||||
ElMessage.warning('已结束的会诊申请不可编辑')
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
isViewMode.value = false
|
||||
formData.value = { ...row }
|
||||
// 确保所有字段都复制到formData中
|
||||
formData.value = {
|
||||
id: row.id || null,
|
||||
consultationId: row.consultationId || '',
|
||||
patientId: row.patientId || null,
|
||||
patientName: row.patientName || '',
|
||||
genderEnum: row.genderEnum || null,
|
||||
age: row.age || null,
|
||||
patientBusNo: row.patientBusNo || '',
|
||||
patientIdentifierNo: row.patientIdentifierNo || '',
|
||||
encounterId: row.encounterId || null,
|
||||
departmentId: row.departmentId || null,
|
||||
department: row.department || '',
|
||||
requestingPhysicianId: row.requestingPhysicianId || null,
|
||||
requestingPhysician: row.requestingPhysician || '',
|
||||
invitedObject: row.invitedObject || '',
|
||||
consultationDate: row.consultationDate || '',
|
||||
consultationRequestDate: row.consultationRequestDate || null,
|
||||
consultationPurpose: row.consultationPurpose || '',
|
||||
provisionalDiagnosis: row.provisionalDiagnosis || '',
|
||||
consultationActivityId: row.consultationActivityId || null,
|
||||
consultationActivityName: row.consultationActivityName || '',
|
||||
consultationUrgency: row.consultationUrgency || '',
|
||||
consultationStatus: row.consultationStatus || 0,
|
||||
consultationOpinion: row.consultationOpinion || '',
|
||||
consultingPhysicians: row.consultingPhysicians || '',
|
||||
signingPhysicianId: row.signingPhysicianId || null,
|
||||
signingPhysicianName: row.signingPhysicianName || '',
|
||||
signingTime: row.signingTime || null,
|
||||
invitedPhysiciansText: row.invitedPhysiciansText || '',
|
||||
attendingPhysician: row.attendingPhysician || '',
|
||||
representDepartment: row.representDepartment || '',
|
||||
signPhysician: row.signPhysician || '',
|
||||
signTime: row.signTime || null
|
||||
}
|
||||
dialogVisible.value = true
|
||||
}
|
||||
|
||||
const handleView = (row) => {
|
||||
isViewMode.value = true
|
||||
formData.value = { ...row }
|
||||
// 确保所有字段都复制到formData中
|
||||
formData.value = {
|
||||
id: row.id || null,
|
||||
consultationId: row.consultationId || '',
|
||||
patientId: row.patientId || null,
|
||||
patientName: row.patientName || '',
|
||||
genderEnum: row.genderEnum || null,
|
||||
age: row.age || null,
|
||||
patientBusNo: row.patientBusNo || '',
|
||||
patientIdentifierNo: row.patientIdentifierNo || '',
|
||||
encounterId: row.encounterId || null,
|
||||
departmentId: row.departmentId || null,
|
||||
department: row.department || '',
|
||||
requestingPhysicianId: row.requestingPhysicianId || null,
|
||||
requestingPhysician: row.requestingPhysician || '',
|
||||
invitedObject: row.invitedObject || '',
|
||||
consultationDate: row.consultationDate || '',
|
||||
consultationRequestDate: row.consultationRequestDate || null,
|
||||
consultationPurpose: row.consultationPurpose || '',
|
||||
provisionalDiagnosis: row.provisionalDiagnosis || '',
|
||||
consultationActivityId: row.consultationActivityId || null,
|
||||
consultationActivityName: row.consultationActivityName || '',
|
||||
consultationUrgency: row.consultationUrgency || '',
|
||||
consultationStatus: row.consultationStatus || 0,
|
||||
consultationOpinion: row.consultationOpinion || '',
|
||||
consultingPhysicians: row.consultingPhysicians || '',
|
||||
signingPhysicianId: row.signingPhysicianId || null,
|
||||
signingPhysicianName: row.signingPhysicianName || '',
|
||||
signingTime: row.signingTime || null,
|
||||
invitedPhysiciansText: row.invitedPhysiciansText || '',
|
||||
attendingPhysician: row.attendingPhysician || '',
|
||||
representDepartment: row.representDepartment || '',
|
||||
signPhysician: row.signPhysician || '',
|
||||
signTime: row.signTime || null
|
||||
}
|
||||
dialogVisible.value = true
|
||||
}
|
||||
|
||||
@@ -530,22 +612,36 @@ const handleDialogClose = () => {
|
||||
formData.value = {
|
||||
id: null,
|
||||
consultationId: '',
|
||||
patientId: null,
|
||||
patientName: '',
|
||||
genderEnum: null,
|
||||
age: null,
|
||||
patientBusNo: '',
|
||||
patientIdentifierNo: '',
|
||||
requestingPhysician: '',
|
||||
consultationDate: '',
|
||||
encounterId: null,
|
||||
departmentId: null,
|
||||
department: '',
|
||||
provisionalDiagnosis: '',
|
||||
consultationPurpose: '',
|
||||
requestingPhysicianId: null,
|
||||
requestingPhysician: '',
|
||||
invitedObject: '',
|
||||
consultationDate: '',
|
||||
consultationRequestDate: null,
|
||||
consultationPurpose: '',
|
||||
provisionalDiagnosis: '',
|
||||
consultationActivityId: null,
|
||||
consultationActivityName: '',
|
||||
consultationUrgency: '',
|
||||
consultationStatus: 0,
|
||||
consultationOpinion: '',
|
||||
consultingPhysicians: '',
|
||||
signingPhysicianId: null,
|
||||
signingPhysicianName: '',
|
||||
signingTime: null,
|
||||
invitedPhysiciansText: '',
|
||||
attendingPhysician: '',
|
||||
representDepartment: '',
|
||||
signPhysician: '',
|
||||
signTime: null,
|
||||
consultationRequestDate: null
|
||||
signTime: null
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="会诊确认参加医师">
|
||||
<el-input v-model="formData.confirmingPhysician" type="textarea" disabled />
|
||||
<el-input v-model="formData.confirmingPhysicianText" type="textarea" :rows="3" disabled />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="会诊意见" required>
|
||||
@@ -249,6 +249,7 @@ const formData = ref({
|
||||
consultationPurpose: '',
|
||||
provisionalDiagnosis: '',
|
||||
confirmingPhysician: '',
|
||||
confirmingPhysicianText: '', // 显示所有参与确认的医师
|
||||
consultationOpinion: '',
|
||||
confirmingPhysicianName: '',
|
||||
confirmingDeptName: '',
|
||||
@@ -311,7 +312,7 @@ const applyRowToForm = (row) => {
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
formData.value = {
|
||||
id: row.id,
|
||||
consultationRequestId: row.consultationRequestId,
|
||||
@@ -329,6 +330,7 @@ const applyRowToForm = (row) => {
|
||||
consultationPurpose: row.consultationPurpose,
|
||||
provisionalDiagnosis: row.provisionalDiagnosis,
|
||||
confirmingPhysician: row.confirmingPhysician || '',
|
||||
confirmingPhysicianText: '', // 初始化为空,稍后根据opinionList设置
|
||||
consultationOpinion: '', // 先清空,后面从 opinionList 中获取
|
||||
confirmingPhysicianName: row.confirmingPhysicianName || '',
|
||||
confirmingDeptName: row.confirmingDeptName || '',
|
||||
@@ -338,17 +340,22 @@ const applyRowToForm = (row) => {
|
||||
submittingTime: row.submittingTime,
|
||||
consultationStatus: row.consultationStatus
|
||||
}
|
||||
|
||||
// 从会诊意见列表中获取当前医生的信息
|
||||
|
||||
// 从会诊意见列表中获取所有确认医师的信息,并生成显示文本
|
||||
if (opinionList.value.length > 0) {
|
||||
// 生成所有参与确认医师的文本(格式:科室-医生姓名;科室-医生姓名)
|
||||
const allConfirmingPhysicians = opinionList.value.map(op => `${op.deptName}-${op.physicianName}`).join(';')
|
||||
formData.value.confirmingPhysicianText = allConfirmingPhysicians
|
||||
|
||||
// 从会诊意见列表中获取当前医生的信息
|
||||
const currentPhysicianId = userStore.practitionerId || userStore.user?.practitionerId
|
||||
const myOpinion = opinionList.value.find(op => op.physicianId === currentPhysicianId)
|
||||
|
||||
|
||||
if (myOpinion) {
|
||||
// 如果当前医生已确认,回显其信息
|
||||
formData.value.confirmingPhysicianName = myOpinion.physicianName
|
||||
formData.value.confirmingDeptName = myOpinion.deptName
|
||||
|
||||
|
||||
// 回显会诊意见(去掉前缀"科室-医生:")
|
||||
if (myOpinion.opinion) {
|
||||
// 格式:科室-医生:意见内容
|
||||
@@ -361,7 +368,7 @@ const applyRowToForm = (row) => {
|
||||
formData.value.consultationOpinion = opinionText
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (myOpinion.isSigned) {
|
||||
formData.value.signature = myOpinion.physicianName
|
||||
formData.value.signatureDate = myOpinion.signatureTime
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="180" align="center" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<!-- 新开状态:显示提交和删除按钮 -->
|
||||
<!-- 新开状态:显示提交和作废按钮 -->
|
||||
<template v-if="row.consultationStatus === 0">
|
||||
<el-button type="primary" size="small" @click="handleSubmitRow(row)">
|
||||
提交
|
||||
@@ -1062,10 +1062,10 @@ const handleCancel = async () => {
|
||||
}
|
||||
};
|
||||
|
||||
// 删除行
|
||||
// 作废行
|
||||
const handleDeleteRow = async (row) => {
|
||||
try {
|
||||
await ElMessageBox.confirm('确定要删除这条会诊申请吗?', '提示', {
|
||||
await ElMessageBox.confirm('确定要作废这条会诊申请吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
@@ -1073,21 +1073,21 @@ const handleDeleteRow = async (row) => {
|
||||
|
||||
const res = await cancelConsultation({
|
||||
consultationId: row.consultationId,
|
||||
cancelReason: '删除',
|
||||
cancelReason: '作废',
|
||||
});
|
||||
|
||||
if (res.code === 200) {
|
||||
ElMessage.success('删除成功');
|
||||
ElMessage.success('作废成功');
|
||||
loadConsultationList();
|
||||
if (selectedRow.value?.consultationId === row.consultationId) {
|
||||
handleNew();
|
||||
}
|
||||
} else {
|
||||
ElMessage.error(res.msg || '删除失败');
|
||||
ElMessage.error(res.msg || '作废失败');
|
||||
}
|
||||
} catch (error) {
|
||||
if (error !== 'cancel') {
|
||||
console.error('删除失败:', error);
|
||||
console.error('作废失败:', error);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user