提交merge1.3
This commit is contained in:
@@ -15,11 +15,6 @@
|
||||
<el-button icon="Search" @click="getPatientList" />
|
||||
</template>
|
||||
</el-input>
|
||||
<<<<<<< HEAD
|
||||
<el-date-picker v-model="registerTime" @change="handleTimeChange" type="daterange"
|
||||
style="width: 100%; margin-bottom: 10px" :clearable="false" placeholder="挂号时间" format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD" />
|
||||
=======
|
||||
<el-date-picker
|
||||
v-model="registerTime"
|
||||
@change="handleTimeChange"
|
||||
@@ -30,7 +25,6 @@
|
||||
format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD"
|
||||
/>
|
||||
>>>>>>> v1.3
|
||||
<el-scrollbar height="700px">
|
||||
<div v-for="(item, index) in patientList" :class="item.active ? 'patient-card actived' : 'patient-card'"
|
||||
:key="item.id" @click="handleCardClick(item, index)">
|
||||
@@ -87,14 +81,6 @@
|
||||
{{
|
||||
Object.keys(patientInfo).length !== 0
|
||||
? patientInfo.patientName +
|
||||
<<<<<<< HEAD
|
||||
' / ' +
|
||||
patientInfo.age +
|
||||
' / ' +
|
||||
patientInfo.genderEnum_enumText +
|
||||
' / ' +
|
||||
patientInfo.contractName
|
||||
=======
|
||||
' / ' +
|
||||
patientInfo.age +
|
||||
' / ' +
|
||||
@@ -105,29 +91,16 @@
|
||||
patientInfo.phone +
|
||||
'/' +
|
||||
patientInfo.busNo
|
||||
>>>>>>> v1.3
|
||||
: '-'
|
||||
}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="挂号时间:" width="300">
|
||||
{{ Object.keys(patientInfo).length !== 0 ? formatDate(patientInfo.registerTime) : '-' }}
|
||||
</el-descriptions-item>
|
||||
<<<<<<< HEAD
|
||||
<el-descriptions-item label="医生:" width="150">{{
|
||||
userStore.name
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="" width="350">
|
||||
<!-- 初诊 / 复诊 按钮 -->
|
||||
<el-radio v-model="visitType" label="FIRST" :disabled="visitTypeDisabled">初诊</el-radio>
|
||||
<el-radio v-model="visitType" label="FOLLOW_UP" :disabled="visitTypeDisabled">复诊</el-radio>
|
||||
|
||||
<!-- 原有按钮 -->
|
||||
=======
|
||||
<el-descriptions-item label="医生:" width="250">
|
||||
{{ userStore.nickName }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="" width="300">
|
||||
>>>>>>> v1.3
|
||||
<el-button type="primary" plain @click.stop="handleFinish(patientInfo.encounterId)">
|
||||
完诊
|
||||
</el-button>
|
||||
@@ -140,31 +113,11 @@
|
||||
<el-button type="primary" plain @click.stop="getEnPrescription(patientInfo.encounterId)">
|
||||
处方单
|
||||
</el-button>
|
||||
<<<<<<< HEAD
|
||||
<el-button type="primary" plain @click.stop="openDialog = true">
|
||||
办理住院
|
||||
</el-button>
|
||||
<el-button type="primary" plain @click.stop="handleCancelEncounter">
|
||||
取消接诊
|
||||
</el-button>
|
||||
=======
|
||||
<el-button type="primary" plain @click.stop="onHospitalization"> 办理住院 </el-button>
|
||||
>>>>>>> v1.3
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</div>
|
||||
<div style="padding: 10px">
|
||||
<<<<<<< HEAD
|
||||
<el-tabs type="card" style="width: 100%; height: 100%" v-loading="loading" v-model="activeTab"
|
||||
@tab-change="handleClick(activeTab)">
|
||||
<el-tab-pane label="病历" name="emr">
|
||||
<Emr :patientInfo="patientInfo" ref="emrRef" @save="
|
||||
(value) => {
|
||||
saveStatus = value;
|
||||
}
|
||||
" :visitType="visitType" :firstVisitDate="firstVisitDate" />
|
||||
</el-tab-pane>
|
||||
=======
|
||||
<el-tabs
|
||||
type="card"
|
||||
style="width: 100%; height: 100%"
|
||||
@@ -190,7 +143,6 @@
|
||||
"
|
||||
/>
|
||||
</el-tab-pane> -->
|
||||
>>>>>>> v1.3
|
||||
<el-tab-pane label="诊断" name="diagnosis">
|
||||
<Diagnosis :patientInfo="patientInfo" ref="diagnosisRef" @diagnosisSave="
|
||||
(value) => {
|
||||
@@ -199,16 +151,12 @@
|
||||
" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="医嘱" name="prescription">
|
||||
<<<<<<< HEAD
|
||||
<prescriptionlist :patientInfo="patientInfo" ref="prescriptionRef" :activeTab="activeTab" />
|
||||
=======
|
||||
<prescriptionlist
|
||||
:patientInfo="patientInfo"
|
||||
ref="prescriptionRef"
|
||||
:activeTab="activeTab"
|
||||
:outpatientEmrSaved="outpatientEmrSaved"
|
||||
/>
|
||||
>>>>>>> v1.3
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="中医" name="tcm">
|
||||
<tcmAdvice :patientInfo="patientInfo" ref="tcmRef" />
|
||||
@@ -226,14 +174,6 @@
|
||||
<el-drawer v-model="drawer" title="患者队列" direction="ltr" @open="handleOpen">
|
||||
<PatientList ref="patientDrawerRef" @toCurrent="handleReceive" />
|
||||
</el-drawer>
|
||||
<<<<<<< HEAD
|
||||
<RefundListDialog :open="openRefundListDialog" :encounterId="currentEncounterId"
|
||||
@close="openRefundListDialog = false" />
|
||||
<HospitalizationDialog :open="openDialog" :patientInfo="patientInfo" :encounterId="currentEncounterId"
|
||||
@close="openDialog = false" />
|
||||
<PrescriptionInfo :open="openPrescriptionDialog" :precriptionInfo="prescriptionInfo"
|
||||
@close="openPrescriptionDialog = false" />
|
||||
=======
|
||||
<RefundListDialog
|
||||
:open="openRefundListDialog"
|
||||
:encounterId="currentEncounterId"
|
||||
@@ -252,7 +192,6 @@
|
||||
:precriptionInfo="prescriptionInfo"
|
||||
@close="openPrescriptionDialog = false"
|
||||
/>
|
||||
>>>>>>> v1.3
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
@@ -263,13 +202,8 @@ import {
|
||||
leaveEncounter,
|
||||
completeEncounter,
|
||||
getEnPrescriptionInfo,
|
||||
<<<<<<< HEAD
|
||||
cancelEncounter,
|
||||
getEmrHistoryList
|
||||
=======
|
||||
isHospitalization,
|
||||
getEncounterDiagnosis,
|
||||
>>>>>>> v1.3
|
||||
} from './components/api.js';
|
||||
import prescriptionlist from './components/prescription/prescriptionlist.vue';
|
||||
import RefundListDialog from './components/prescription/refundListDialog.vue';
|
||||
@@ -482,67 +416,6 @@ function handleClick(tab) {
|
||||
|
||||
// 查看本次就诊处方单(从医嘱Tab页获取已开立的处方单信息)
|
||||
function getEnPrescription(encounterId) {
|
||||
<<<<<<< HEAD
|
||||
// 检查是否有选中的患者
|
||||
if (!patientInfo.value || !patientInfo.value.encounterId) {
|
||||
proxy.$modal.msgWarning('请先选择患者');
|
||||
return;
|
||||
}
|
||||
|
||||
// 检查是否在医嘱Tab页,如果不在则切换到医嘱Tab页
|
||||
if (activeTab.value !== 'prescription') {
|
||||
activeTab.value = 'prescription';
|
||||
// 等待Tab切换完成后再获取数据
|
||||
nextTick(() => {
|
||||
// 确保数据已加载
|
||||
if (prescriptionRef.value) {
|
||||
// 先刷新数据,确保获取最新的处方单信息
|
||||
if (prescriptionRef.value.getListInfo) {
|
||||
prescriptionRef.value.getListInfo(false);
|
||||
}
|
||||
// 等待数据加载完成后再获取处方单信息
|
||||
setTimeout(() => {
|
||||
if (prescriptionRef.value && prescriptionRef.value.getSignedPrescriptionInfo) {
|
||||
const signedPrescriptions = prescriptionRef.value.getSignedPrescriptionInfo();
|
||||
if (signedPrescriptions && signedPrescriptions.length > 0) {
|
||||
prescriptionInfo.value = signedPrescriptions;
|
||||
openPrescriptionDialog.value = true;
|
||||
} else {
|
||||
proxy.$modal.msgWarning('当前患者没有已签发的处方单');
|
||||
}
|
||||
} else {
|
||||
proxy.$modal.msgWarning('无法获取处方单信息,请稍后重试');
|
||||
}
|
||||
}, 300);
|
||||
} else {
|
||||
proxy.$modal.msgWarning('无法获取处方单信息,请稍后重试');
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// 如果已经在医嘱Tab页,先刷新数据再获取
|
||||
if (prescriptionRef.value) {
|
||||
if (prescriptionRef.value.getListInfo) {
|
||||
prescriptionRef.value.getListInfo(false);
|
||||
}
|
||||
// 等待数据加载完成后再获取处方单信息
|
||||
setTimeout(() => {
|
||||
if (prescriptionRef.value && prescriptionRef.value.getSignedPrescriptionInfo) {
|
||||
const signedPrescriptions = prescriptionRef.value.getSignedPrescriptionInfo();
|
||||
if (signedPrescriptions && signedPrescriptions.length > 0) {
|
||||
prescriptionInfo.value = signedPrescriptions;
|
||||
openPrescriptionDialog.value = true;
|
||||
} else {
|
||||
proxy.$modal.msgWarning('当前患者没有已签发的处方单');
|
||||
}
|
||||
} else {
|
||||
proxy.$modal.msgWarning('无法获取处方单信息,请稍后重试');
|
||||
}
|
||||
}, 300);
|
||||
} else {
|
||||
proxy.$modal.msgWarning('无法获取处方单信息,请稍后重试');
|
||||
}
|
||||
}
|
||||
=======
|
||||
getEnPrescriptionInfo({ encounterId: encounterId }).then((res) => {
|
||||
console.log('处方单 res', res);
|
||||
let dataArr = res.data.records || [];
|
||||
@@ -556,7 +429,6 @@ function getEnPrescription(encounterId) {
|
||||
prescriptionInfo.value = res.data.records;
|
||||
openPrescriptionDialog.value = true;
|
||||
});
|
||||
>>>>>>> v1.3
|
||||
}
|
||||
|
||||
function handleRefund(encounterId) {
|
||||
@@ -575,35 +447,6 @@ function handleCardClick(item, index) {
|
||||
patient.active = patient.encounterId === item.encounterId;
|
||||
});
|
||||
patientInfo.value = item;
|
||||
<<<<<<< HEAD
|
||||
|
||||
// 优先使用数据库中保存的初复诊值
|
||||
if (item.visitType) {
|
||||
visitType.value = item.visitType;
|
||||
// 已完诊的记录禁用修改
|
||||
visitTypeDisabled.value = item.statusEnum !== 2;
|
||||
// 如果有初诊日期也从数据库获取
|
||||
// if (item.firstVisitDate) {
|
||||
// firstVisitDate.value = item.firstVisitDate;
|
||||
// }
|
||||
} else {
|
||||
// 对于没有初复诊记录的患者,才使用原有的判断逻辑
|
||||
checkPatientHistory(item);
|
||||
}
|
||||
activeTab.value = 'emr';
|
||||
nextTick(() => {
|
||||
// 确保所有组件引用都已初始化
|
||||
if (prescriptionRef.value) prescriptionRef.value.getListInfo();
|
||||
if (tcmRef.value) tcmRef.value.getListInfo();
|
||||
if (diagnosisRef.value) diagnosisRef.value.getList();
|
||||
if (eprescriptionRef.value) eprescriptionRef.value.getList();
|
||||
if (emrRef.value) {
|
||||
emrRef.value.getDetail(item.encounterId);
|
||||
} else {
|
||||
console.error('emr组件未正确初始化');
|
||||
proxy.$modal.msgError('病历组件加载失败,请刷新页面重试');
|
||||
}
|
||||
=======
|
||||
// 将患者信息保存到store中,供hospitalizationEmr组件使用
|
||||
updatePatientInfo(item);
|
||||
activeTab.value = 'hospitalizationEmr';
|
||||
@@ -613,7 +456,6 @@ function handleCardClick(item, index) {
|
||||
diagnosisRef.value.getList();
|
||||
eprescriptionRef.value.getList();
|
||||
// emrRef.value.getDetail(item.encounterId);
|
||||
>>>>>>> v1.3
|
||||
setTimeout(() => {
|
||||
loading.value = false;
|
||||
}, 200);
|
||||
@@ -665,32 +507,6 @@ function handleEmrSaved(isSaved) {
|
||||
function openDrawer() {
|
||||
drawer.value = true;
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
|
||||
function handleCancelEncounter() {
|
||||
proxy.$modal.confirm('您确定要取消病人本次的就诊记录吗?', '提示信息', {
|
||||
confirmButtonText: '是(Y)',
|
||||
cancelButtonText: '否(N)',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
//调用取消接诊API,添加skipGlobalError配置跳过全局错误提示
|
||||
cancelEncounter(patientInfo.value.encounterId, { skipErrorMsg: true }).then((res) => {
|
||||
if (res.code == 200) {
|
||||
proxy.$modal.msgSuccess('取消接诊成功');
|
||||
patientInfo.value = {};
|
||||
getPatientList();
|
||||
}
|
||||
}).catch((error) => {
|
||||
proxy.$modal.confirm('该病人本次就诊已经有业务产生,不能取消接诊!', '提示信息', {
|
||||
confirmButtonText: '是(Y)',
|
||||
type: 'warning'
|
||||
});
|
||||
});
|
||||
}).catch(() => {
|
||||
// 用户取消操作
|
||||
});
|
||||
}
|
||||
=======
|
||||
// 判断是否已经入院登记
|
||||
const onHospitalization = async () => {
|
||||
const diagnosisRes = await getEncounterDiagnosis(patientInfo.value.encounterId);
|
||||
@@ -720,7 +536,6 @@ const onHospitalization = async () => {
|
||||
});
|
||||
}
|
||||
};
|
||||
>>>>>>> v1.3
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
Reference in New Issue
Block a user