diff --git a/healthlink-his-mobile/src/api/index.js b/healthlink-his-mobile/src/api/index.js index 16258a217..f3e2cd657 100644 --- a/healthlink-his-mobile/src/api/index.js +++ b/healthlink-his-mobile/src/api/index.js @@ -46,13 +46,20 @@ export const nursingApi = { getTasks: (params) => service.get('/nurse-station/advice-process/page', { params }), completeTask: (id, data) => service.post(`/nurse-station/advice-process/execute`, data), getPatientInfo: (id) => service.get('/inpatientmanage/inhospitalregister/' + id), - getPatientList: (params) => service.get('/administration/practitioner-patient/list', { params }), - getPatientsByPractitioner: (practitionerId) => service.get('/administration/practitioner-patient/practitioner/' + practitionerId + '/patients'), + getPatientList: (params) => service.get('/patient-home-manage/init', { params: { ...params, pageSize: params?.pageSize || 100 } }), getOrders: (encounterId) => service.get('/nurse-station/advice-process/page', { params: { encounterId } }), getVitalSigns: (patientId) => service.get('/nursing/vital-signs/' + patientId), submitVitalSign: (data) => service.post('/nursing/vital-sign', data), getAssessments: (encounterId) => service.get('/nursing/assessment/encounter/' + encounterId), - submitAssessment: (data) => service.post('/nursing/assessment', data) + submitAssessment: (data) => service.post('/nursing/assessment', data), + getDrugDistribution: (params) => service.get('/nursing/drug-distribution/list', { params }), + submitDrugDistribution: (data) => service.post('/nursing/drug-distribution/execute', data), + getNursingRecords: (params) => service.get('/nursing/record/list', { params }), + submitNursingRecord: (data) => service.post('/nursing/record', data), + getInfusionPatrol: (params) => service.get('/nursing/infusion-patrol/list', { params }), + submitInfusionPatrol: (data) => service.post('/nursing/infusion-patrol/patrol', data), + getHandoffRecords: (params) => service.get('/nursing/handoff/list', { params }), + submitHandoffRecord: (data) => service.post('/nursing/handoff', data) } export default service diff --git a/healthlink-his-mobile/src/router/index.js b/healthlink-his-mobile/src/router/index.js index 463e9d8a2..cce5f791a 100644 --- a/healthlink-his-mobile/src/router/index.js +++ b/healthlink-his-mobile/src/router/index.js @@ -10,6 +10,10 @@ const routes = [ { path: 'patient-detail/:id', component: () => import('../views/PatientDetail.vue'), meta: { title: '患者详情' } }, { path: 'vital-entry/:patientId', component: () => import('../views/VitalSignEntry.vue'), meta: { title: '生命体征录入' } }, { path: 'assessment/:patientId', component: () => import('../views/AssessmentForm.vue'), meta: { title: '护理评估' } }, + { path: 'drug-distribution', component: () => import('../views/DrugDistribution.vue'), meta: { title: '药品发放' } }, + { path: 'nursing-record', component: () => import('../views/NursingRecord.vue'), meta: { title: '护理记录' } }, + { path: 'infusion-patrol', component: () => import('../views/InfusionPatrol.vue'), meta: { title: '输液巡视' } }, + { path: 'handoff-record', component: () => import('../views/HandoffRecord.vue'), meta: { title: '交接班记录' } }, { path: 'mine', component: () => import('../views/Mine.vue'), meta: { title: '我的' } } ]} ] diff --git a/healthlink-his-mobile/src/views/DrugDistribution.vue b/healthlink-his-mobile/src/views/DrugDistribution.vue new file mode 100644 index 000000000..d247a7fd8 --- /dev/null +++ b/healthlink-his-mobile/src/views/DrugDistribution.vue @@ -0,0 +1,74 @@ + + + + 加载中... + + {{ item.drugName }}{{ item.statusText }} + 患者: {{ item.patientName }} {{ item.bedNo }}床剂量: {{ item.dosage }}用法: {{ item.usage }} + + 发放 + 拒发 + 已发放 + + + 暂无待发放药品 + + + + + + diff --git a/healthlink-his-mobile/src/views/HandoffRecord.vue b/healthlink-his-mobile/src/views/HandoffRecord.vue new file mode 100644 index 000000000..f6d616457 --- /dev/null +++ b/healthlink-his-mobile/src/views/HandoffRecord.vue @@ -0,0 +1,82 @@ + + + + {{ s.label }} + + + 交接班护士 + 接班护士 + 科室 + 在院患者数 + 病情变化 + 特殊治疗 + 待办事项 + 物品交接 + + {{ submitting ? '提交中...' : '保存交接记录' }} + + + 历史交接记录 + + {{ h.shift }}{{ h.createTime }} + {{ h.handoffNurse }} → {{ h.onDutyNurse }} + {{ h.patientChanges }} + + 暂无历史记录 + + + + + + + diff --git a/healthlink-his-mobile/src/views/Home.vue b/healthlink-his-mobile/src/views/Home.vue index 0c7ac0fe8..5b5963e27 100644 --- a/healthlink-his-mobile/src/views/Home.vue +++ b/healthlink-his-mobile/src/views/Home.vue @@ -41,7 +41,11 @@ const stats = ref([{ label: '待执行医嘱', value: 0 }, { label: '今日体 const recentTasks = ref([]) const actions = [ { icon: '📋', label: '任务列表', path: '/mobile/tasks', color: '#1890ff' }, - { icon: '👥', label: '患者列表', path: '/mobile/patients', color: '#52c41a' } + { icon: '👥', label: '患者列表', path: '/mobile/patients', color: '#52c41a' }, + { icon: '💊', label: '药品发放', path: '/mobile/drug-distribution', color: '#fa8c16' }, + { icon: '📝', label: '护理记录', path: '/mobile/nursing-record', color: '#722ed1' }, + { icon: '💉', label: '输液巡视', path: '/mobile/infusion-patrol', color: '#13c2c2' }, + { icon: '🔄', label: '交接班', path: '/mobile/handoff-record', color: '#f5222d' } ] onMounted(async () => { diff --git a/healthlink-his-mobile/src/views/InfusionPatrol.vue b/healthlink-his-mobile/src/views/InfusionPatrol.vue new file mode 100644 index 000000000..d8264a28e --- /dev/null +++ b/healthlink-his-mobile/src/views/InfusionPatrol.vue @@ -0,0 +1,91 @@ + + + + {{ f.label }} + + 加载中... + + + {{ item.patientName }} {{ item.bedNo }}床 + {{ item.status === 'INFUSING' ? '输液中' : item.status === 'COMPLETED' ? '已完成' : '暂停中' }} + + + + {{ drug.name }} + {{ drug.spec }} + {{ drug.flowRate }} + + + 上次巡视: {{ item.lastPatrolTime }} + + 巡视 + 结束输液 + + + 暂无输液记录 + + + + + + diff --git a/healthlink-his-mobile/src/views/NursingRecord.vue b/healthlink-his-mobile/src/views/NursingRecord.vue new file mode 100644 index 000000000..b935eda79 --- /dev/null +++ b/healthlink-his-mobile/src/views/NursingRecord.vue @@ -0,0 +1,81 @@ + + + + {{ t.label }} + + + 患者 + 记录内容 + 护理评估 + 护理措施 + 签名 + + {{ submitting ? '提交中...' : '保存记录' }} + + + + 选择患者 + {{ p.name }} {{ p.bedNo }}床 + + + + + + + + diff --git a/healthlink-his-mobile/src/views/PatientList.vue b/healthlink-his-mobile/src/views/PatientList.vue index c8b348dd2..c07e31d8f 100644 --- a/healthlink-his-mobile/src/views/PatientList.vue +++ b/healthlink-his-mobile/src/views/PatientList.vue @@ -27,8 +27,8 @@ const displayPatients = computed(() => searchText.value ? patients.value.filter( const loadPatients = async () => { loading.value = true try { - const res = await nursingApi.getPatientList({ pageSize: 100 }) - patients.value = res.data?.records || res.data?.rows || res.data || [] + const res = await nursingApi.getPatientList({}) + patients.value = res.data?.list || res.data?.records || res.data?.rows || res.data || [] } catch (e) { ElMessage.error('加载患者列表失败') } finally { loading.value = false } }