feat(invoice): 完善发票管理权限控制和检验申请功能

- 超级管理员可以编辑操作员字段,普通用户不可编辑
- 修改权限判断逻辑,只有用户名等于 'admin' 的用户才是超级管理员
- 非超级管理员用户只能查询自己的发票数据
- 添加根据员工ID更新操作员名称功能
- 新增行时根据用户权限填充信息
- 严格检查权限,超级管理员可以删除所有记录,普通用户只能删除自己维护的记录
- 在 bargain 组件中验证患者选择
- 添加检验申请单相关API接口
- 在医生工作站中添加检验申请tab页
- 实现检验申请单的增删改查功能
- 添加公告通知已读记录相关功能
- 实现用户未读公告数量统计和标记已读功能
This commit is contained in:
2025-12-30 13:52:06 +08:00
parent 58449fc2f9
commit 49b8a975a8
18 changed files with 2983 additions and 27 deletions

View File

@@ -795,3 +795,35 @@ export function getTestResult(queryParams) {
params: queryParams,
});
}
/**
* 获取检验申请单列表
*/
export function getInspectionApplicationList(queryParams) {
return request({
url: '/doctor-station/inspection/application-list',
method: 'get',
params: queryParams,
});
}
/**
* 保存检验申请单
*/
export function saveInspectionApplication(data) {
return request({
url: '/doctor-station/inspection/application',
method: 'post',
data: data,
});
}
/**
* 删除检验申请单
*/
export function deleteInspectionApplication(id) {
return request({
url: '/doctor-station/inspection/application/' + id,
method: 'delete',
});
}

View File

@@ -161,6 +161,9 @@
<el-tab-pane label="中医" name="tcm">
<tcmAdvice :patientInfo="patientInfo" ref="tcmRef" />
</el-tab-pane>
<el-tab-pane label="检验" name="inspection">
<inspectionApplication :patientInfo="patientInfo" :activeTab="activeTab" ref="inspectionRef" />
</el-tab-pane>
<el-tab-pane label="电子处方" name="eprescription">
<eprescriptionlist :patientInfo="patientInfo" ref="eprescriptionRef" />
</el-tab-pane>
@@ -214,6 +217,7 @@ import PrescriptionInfo from './components/prescription/prescriptionInfo.vue';
import eprescriptionlist from './components/eprescriptionlist.vue';
import HospitalizationDialog from './components/hospitalizationDialog.vue';
import tcmAdvice from './components/tcm/tcmAdvice.vue';
import inspectionApplication from './components/inspection/inspectionApplication.vue';
import { formatDate, formatDateStr } from '@/utils/index';
import useUserStore from '@/store/modules/user';
import { nextTick } from 'vue';
@@ -263,6 +267,7 @@ const registerTime = ref(formatDate(new Date()));
const patientDrawerRef = ref();
const prescriptionRef = ref();
const tcmRef = ref();
const inspectionRef = ref();
const emrRef = ref();
const diagnosisRef = ref();
const waitCount = ref(0);
@@ -396,6 +401,9 @@ function handleClick(tab) {
case 'tcm':
tcmRef.value.getDiagnosisInfo();
break;
case 'inspection':
// 检验tab点击处理逻辑可以在这里添加
break;
case 'eprescription':
eprescriptionRef.value.getList();
break;
@@ -453,6 +461,7 @@ function handleCardClick(item, index) {
nextTick(() => {
prescriptionRef.value.getListInfo();
tcmRef.value.getListInfo();
inspectionRef.value.getList();
diagnosisRef.value.getList();
eprescriptionRef.value.getList();
// emrRef.value.getDetail(item.encounterId);