fix(consultation): 解决会诊流程中的多个功能问题

- 在 deptappthoursManage.js 中添加 status 参数以仅获取已启动的机构
- 为 consultationapplication 组件添加已确认和已签名状态选项
- 扩展操作列宽度并添加打印功能按钮
- 优化 handlePrint 方法以支持行参数和性别枚举转换
- 为 consultationconfirmation 组件添加必填验证和编辑权限控制
- 修复会诊确认医师信息回显逻辑
- 在 inspectionApplication 组件中修复表格行点击事件和检验项目加载
- 禁用非紧急标记的编辑权限以解决Bug #268
- 为 surgeryApplication 组件添加响应码验证和错误处理
- 在 consultation 组件中添加表单验证清除功能
- 为 PackageManagement 组件实现动态机构选项加载
- 重构 PackageSettings 组件的套餐金额显示和只读模式
- 为检查项目设置组件添加套餐筛选和下级类型选择功能
- 实现检验套餐的编辑和查看模式切换功能
This commit is contained in:
2026-03-26 18:22:21 +08:00
parent c509a804ec
commit 91a0b48662
20 changed files with 631 additions and 266 deletions

View File

@@ -192,7 +192,7 @@ import {computed, onMounted, ref} from 'vue';
import {useRouter} from 'vue-router';
import {ElMessage} from 'element-plus';
import {getLocationTree} from '@/views/charge/outpatientregistration/components/outpatientregistration';
import {listInspectionPackage} from '@/api/system/inspectionPackage';
import {listInspectionPackage, delInspectionPackage} from '@/api/system/inspectionPackage';
import { getTenantPage } from '@/api/system/tenant';
@@ -583,7 +583,13 @@ const pageButtons = computed(() => {
// 处理新增
function handleAdd() {
router.push('/maintainSystem/Inspection?tab=2');
router.push({
path: '/maintainSystem/Inspection',
query: {
tab: '2',
mode: 'add'
}
});
}
// 处理编辑
@@ -625,12 +631,39 @@ function handleView(item) {
}
// 处理删除
function handleDelete(item) {
if (confirm(`确定要删除套餐 "${item.name}" 吗?`)) {
const index = tableData.value.findIndex(i => i.id === item.id);
if (index !== -1) {
tableData.value.splice(index, 1);
alert(`套餐 "${item.name}" 已删除`);
async function handleDelete(item) {
try {
await ElMessageBox.confirm(
`确定要删除套餐 "${item.name}" 吗?删除后将无法恢复。`,
'确认删除',
{
confirmButtonText: '确定删除',
cancelButtonText: '取消',
type: 'warning'
}
)
// 获取套餐ID优先使用 basicInformationId
const packageId = item.basicInformationId || item.id
if (!packageId) {
ElMessage.error('无法获取套餐ID删除失败')
return
}
// 调用后端API删除
const response = await delInspectionPackage(packageId)
if (response && (response.code === 200 || response.code === 0)) {
ElMessage.success('删除成功')
// 删除成功后,重新加载列表数据
loadData()
} else {
ElMessage.error(response?.msg || response?.message || '删除失败')
}
} catch (error) {
if (error !== 'cancel' && error !== 'close') {
console.error('删除失败:', error)
ElMessage.error('删除失败: ' + (error?.message || error?.msg || '未知错误'))
}
}
}