This commit is contained in:
ChenQiuYu 2025-05-08 14:57:50 +08:00
parent 293a34114f
commit c4c85fcd78
5 changed files with 90 additions and 44 deletions

View File

@ -29,6 +29,13 @@ const emit = defineEmits(['close']);
const closeBtn = () => {
emit('close', false);
};
watch(
() => height,
(newVal) => {
_height.value = newVal == null ? 800 : Number(newVal);
}
);
</script>
<template>

View File

@ -1,7 +1,8 @@
<template>
<Mask :is-show="isShow" width="800" :height="500" title="挂号" @close="close" :show-footer="true">
<Mask :is-show="isShow" width="800" :height="height" title="挂号" @close="close"
:show-footer="true">
<template #default>
<el-scrollbar>
<div style="padding:0 24px">
<el-form
v-loading="loading"
@ -19,12 +20,12 @@
>
<el-descriptions-item label="姓名">
<el-form-item prop="name" style="margin-bottom: 2px">
<el-input v-model="edit_data.name" placeholder="请输入姓名" clearable></el-input>
<el-input v-model="edit_data.name" placeholder="请输入姓名" clearable :disabled="edit_data.status==1||edit_data.status==3"></el-input>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="性别">
<el-form-item prop="gender">
<el-radio-group v-model="edit_data.gender">
<el-radio-group v-model="edit_data.gender" :disabled="edit_data.status==1||edit_data.status==3">
<el-radio :value="1"></el-radio>
<el-radio :value="2"></el-radio>
</el-radio-group>
@ -32,12 +33,12 @@
</el-descriptions-item>
<el-descriptions-item label="年龄">
<el-form-item prop="age">
<el-input v-model.number="edit_data.age" placeholder="请输入年龄"></el-input>
<el-input v-model.number="edit_data.age" placeholder="请输入年龄" :disabled="edit_data.status==1||edit_data.status==3"></el-input>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="手机号">
<el-form-item prop="phone">
<el-input v-model="edit_data.phone" placeholder="手机号"></el-input>
<el-input v-model="edit_data.phone" placeholder="手机号" :disabled="edit_data.status==3"></el-input>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="医生">
@ -46,6 +47,7 @@
v-model="edit_data.organizationDoctorId"
placeholder="请选择医生"
@change="getSectionList"
:disabled="edit_data.status==3"
>
<el-option
v-for="item in doctorList"
@ -62,6 +64,7 @@
<el-select
v-model="edit_data.organizationSectionId"
placeholder="选择科室"
:disabled="edit_data.status==3"
>
<el-option
v-for="item in sectionList"
@ -76,7 +79,7 @@
<el-descriptions-item label="证件类型">
<el-form-item prop="certType">
<el-select v-model="edit_data.certType" placeholder="证件类型">
<el-select v-model="edit_data.certType" placeholder="证件类型" :disabled="edit_data.status==1||edit_data.status==3">
<el-option
v-for="item in certTypeList"
:key="item.id"
@ -86,14 +89,14 @@
</el-select>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="证件码">
<el-descriptions-item label="证件码" >
<el-form-item prop="certNo">
<el-input v-model="edit_data.certNo" placeholder="请输入证件码"></el-input>
<el-input v-model="edit_data.certNo" placeholder="请输入证件码" :disabled="edit_data.status==1||edit_data.status==3"></el-input>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="就诊类型">
<el-descriptions-item label="初/复诊">
<el-form-item prop="visitType">
<el-select v-model="edit_data.visitType" placeholder="就诊类型">
<el-option label="初诊" :value="0"></el-option>
@ -112,15 +115,16 @@
<h5 v-if="!isShowCard" style="margin:24px 0;font-size: 16px">险种列表</h5>
<el-table
:data="tableData"
style="width: 100%"
style="width: 100%;"
v-if="!isShowCard"
height="160"
>
<el-table-column label="险种类型" prop="insutype">
<template #default="scope">
{{ getKey(insutypes, scope.row.insutype) }}
</template>
</el-table-column>
<el-table-column label="待遇状态" >
<el-table-column label="待遇状态">
</el-table-column>
<el-table-column label="参保日期" prop="psn_insu_date"></el-table-column>
<el-table-column label="剩余余额" prop="balc">
@ -130,7 +134,7 @@
</el-table-column>
</el-table>
</div>
</el-scrollbar>
</template>
<template #footer>
@ -174,13 +178,13 @@ import depts from "@/assets/config/directory/depts.json";
import {apiConfig} from "@/assets/config/apiConfig.ts";
//
interface Doctor {
id: string | number; // ID
name: string; //
}
const certTypeList = ref<any>(Object.entries(psnCertTypes).map(([id, name]) => ({id, name})));
const height = ref(470)
const certTypeList = ref<any>(
Object.entries(psnCertTypes)
.map(([id, name]) => ({id: Number(id), name}))
.sort((a, b) => a.id - b.id)
)
const edit_data = ref<any>({})
const rules = ref<any>({
name: [
@ -217,7 +221,11 @@ const emit = defineEmits(['close'])
const close = () => {
isShow.value = false
edit_data.value = {}
isShowCard.value=true
isShowCard.value = true
nextTick(() => {
cardDefaultRef.value?.close()
height.value = 470
})
emit('close')
}
const form = ref()
@ -273,12 +281,13 @@ const socialCard: any = ref({
payInfo: {},
lastUse: null
})
const init = (doctorId: any,id: any) => {
const init = (doctorId: any, id: any) => {
isShow.value = true
edit_data.value.organizationDoctorId = doctorId
if (id) {
post('registration/getById', {id: id}).then((res: any) => {
edit_data.value = res
edit_data.value.certType = Number(edit_data.value.certType)
})
}
getSectionList()
@ -290,14 +299,25 @@ const socialCardUpdate = (e: any) => {
loading.value = true
if (e) {
isShowCard.value = false
edit_data.value = e.data.baseinfo
edit_data.value.gender = Number(e.data.baseinfo.gend)
edit_data.value.name = e.data.baseinfo.psn_name
edit_data.value.certType = e.data.baseinfo.psn_cert_type
edit_data.value.certType = Number(e.data.baseinfo.psn_cert_type)
edit_data.value.certNo = e.data.baseinfo.certno
edit_data.value.age = Math.floor(e.data.baseinfo.age)
tableData.value = e.data.insuinfo
if(edit_data.value.certNo){
}
}
nextTick(() => {
if (tableData.value.length > 0) {
height.value = 700
} else {
height.value = 470
}
})
loading.value = false
}
const cardDefaultRef = ref<any>("")
@ -309,9 +329,10 @@ const deleteCard = () => {
if (action == "confirm") {
isShowCard.value = true
edit_data.value = {}
tableData.value=[]
tableData.value = []
nextTick(() => {
cardDefaultRef.value?.close()
height.value = 470
})
}
},
@ -327,7 +348,7 @@ const hide = () => {
}
const sectionList = ref<any>([])
const getSectionList = () => {
post(apiConfig.OrganizationSectionListByMemberId,{memberId:edit_data.value.organizationDoctorId}).then((res: any) => {
post(apiConfig.OrganizationSectionListByMemberId, {memberId: edit_data.value.organizationDoctorId}).then((res: any) => {
sectionList.value = res
if (res.length > 0) {
edit_data.value.organizationSectionId = res[0].id

View File

@ -37,7 +37,7 @@
{{ roleList.find((item: any) => item.id === scope.row.organizationDoctorId)?.name || '-' }}
</template>
</el-table-column>
<el-table-column prop="visitType" label="初|复诊">
<el-table-column prop="visitType" label="初/复诊">
<template #default="scope">
{{ visitType[scope.row.visitType] || '-' }}
</template>

View File

@ -106,3 +106,18 @@ export const getDaysBetweenDates = (startDateStr: string, endDateStr: string): s
return days;
};
export const getEndOfDay = (date: Date | string): string => {
let dateDetail: Date;
if (date instanceof Date) {
dateDetail = new Date(date);
} else {
dateDetail = new Date(date);
if (isNaN(dateDetail.getTime())) {
return '-';
}
}
dateDetail.setHours(23, 59, 59, 0); // 设置为当天 23:59:00
return formatDate(dateDetail).slice(0, 19); //
};

View File

@ -73,7 +73,7 @@ import Mask from "@/components/common/Mask.vue";
import Edit from "@/components/registration/Edit.vue";
import List from "@/components/registration/List.vue";
import {post} from "@/utils/request";
import {formatDate, getToday, formatDateArray} from "@/utils/dateUtils.ts";
import {getEndOfDay, getToday, formatDateArray} from "@/utils/dateUtils.ts";
import Calendar from "@/components/common/Calendar.vue";
import Panel from "@/components/common/Panel.vue";
import {apiConfig} from "@/assets/config/apiConfig.ts";
@ -100,6 +100,9 @@ const patientList = ref<any>([])
const selectedDate = ref<any>([getToday().start, getToday().end])
const handleDateChange = (date: any[]) => {
selectedDate.value = formatDateArray(date)
if(selectedDate.value[0]==selectedDate.value[1]){
selectedDate.value[1] =getEndOfDay(selectedDate.value[1]); // 23:59
}
getPatientList()
}
const getPatientList = () => {