Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
937b597a2e
|
|
@ -5,7 +5,7 @@
|
||||||
<div class="btns">
|
<div class="btns">
|
||||||
<div
|
<div
|
||||||
class="btn"
|
class="btn"
|
||||||
style="cursor: pointer"
|
:class="[!props.disabled && item.type == 1?'disabled':'']"
|
||||||
:style="{
|
:style="{
|
||||||
backgroundColor:
|
backgroundColor:
|
||||||
selectedIndex === index
|
selectedIndex === index
|
||||||
|
|
@ -72,7 +72,7 @@ const socialCard = ref<any>({
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
const show = ref(false)
|
const show = ref(false)
|
||||||
const printReceipt = ref(false);
|
const printReceipt = ref(false);
|
||||||
const payType = ref(null);
|
const payType = ref<any>(null);
|
||||||
const retailOrder = ref<any>(null);
|
const retailOrder = ref<any>(null);
|
||||||
const close = () => {
|
const close = () => {
|
||||||
show.value = false;
|
show.value = false;
|
||||||
|
|
@ -80,7 +80,16 @@ const close = () => {
|
||||||
selectedIndex.value = null
|
selectedIndex.value = null
|
||||||
loading.value = false
|
loading.value = false
|
||||||
}
|
}
|
||||||
|
const props = defineProps({
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
})
|
||||||
const init = async (code: any, psnNo: any) => {
|
const init = async (code: any, psnNo: any) => {
|
||||||
|
if (props.disabled) {
|
||||||
|
selectedIndex.value = 0
|
||||||
|
}
|
||||||
retailOrder.value = await post("charge/getByCode", {code: code});
|
retailOrder.value = await post("charge/getByCode", {code: code});
|
||||||
if (psnNo != null) {
|
if (psnNo != null) {
|
||||||
let result: any = await post("social/person/getSocialInfoByPsnNo", {psnNo: psnNo});
|
let result: any = await post("social/person/getSocialInfoByPsnNo", {psnNo: psnNo});
|
||||||
|
|
@ -95,6 +104,9 @@ const init = async (code: any, psnNo: any) => {
|
||||||
}
|
}
|
||||||
defineExpose({init})
|
defineExpose({init})
|
||||||
const changePriceType = (type: any, index: any) => {
|
const changePriceType = (type: any, index: any) => {
|
||||||
|
if (!props.disabled && type == 1) {
|
||||||
|
return
|
||||||
|
}
|
||||||
payType.value = type;
|
payType.value = type;
|
||||||
selectedIndex.value = index
|
selectedIndex.value = index
|
||||||
}
|
}
|
||||||
|
|
@ -113,10 +125,13 @@ const completeSettlement = () => {
|
||||||
} else {
|
} else {
|
||||||
//其他结算
|
//其他结算
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
post('charge/completeOrder', {id: retailOrder.value.id, payType: payType.value}, {catch_error:true}).then((res: any) => {
|
post('charge/completeOrder', {
|
||||||
|
id: retailOrder.value.id,
|
||||||
|
payType: payType.value
|
||||||
|
}, {catch_error: true}).then((res: any) => {
|
||||||
orderCompleted()
|
orderCompleted()
|
||||||
loading.value = false
|
loading.value = false
|
||||||
}).catch((e)=>{
|
}).catch((e) => {
|
||||||
loading.value = false
|
loading.value = false
|
||||||
ElMessage.error(e)
|
ElMessage.error(e)
|
||||||
})
|
})
|
||||||
|
|
@ -305,6 +320,8 @@ const btnsList = [
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
|
||||||
.img {
|
.img {
|
||||||
width: 24px;
|
width: 24px;
|
||||||
|
|
@ -316,6 +333,13 @@ const btnsList = [
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.disabled {
|
||||||
|
cursor: not-allowed;
|
||||||
|
opacity: 0.6;
|
||||||
|
background-color: #eee;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.pay {
|
.pay {
|
||||||
|
|
@ -404,4 +428,6 @@ const btnsList = [
|
||||||
padding: 0 24px;
|
padding: 0 24px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
@ -107,8 +107,8 @@
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="费用类型">
|
<el-descriptions-item label="费用类型">
|
||||||
<el-form-item prop="type">
|
<el-form-item prop="type">
|
||||||
<el-select v-model="edit_data.type" :disabled="edit_data.status==0">
|
<el-select v-model="edit_data.type" :disabled="edit_data.status==0||isShowCard">
|
||||||
<el-option label="普通" :value="1"></el-option>
|
<el-option label="自费" :value="1"></el-option>
|
||||||
<el-option label="医保" :value="2"></el-option>
|
<el-option label="医保" :value="2"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -116,11 +116,14 @@
|
||||||
<el-descriptions-item
|
<el-descriptions-item
|
||||||
:span="2"
|
:span="2"
|
||||||
label="时间">
|
label="时间">
|
||||||
<el-form-item v-if="props.dateName!='预约'" style="width: 100%">
|
|
||||||
<div>{{ getToday().start }}</div>
|
|
||||||
|
<div style=" display: flex;justify-content: space-between">
|
||||||
|
<el-form-item style="flex: 1;min-width: 0" v-if="!isBtnShow&&dateName!='预约'">
|
||||||
|
<div style="width: 100%">现在</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<div v-else style="display: flex;width: 100%">
|
<el-form-item v-else style="flex: 1;min-width: 0" prop="date">
|
||||||
<el-form-item style="width: 100%" prop="date">
|
<div style="display: flex">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="edit_data.date"
|
v-model="edit_data.date"
|
||||||
type="date"
|
type="date"
|
||||||
|
|
@ -139,7 +142,11 @@
|
||||||
placeholder="选择时间"
|
placeholder="选择时间"
|
||||||
style="width: 50%"
|
style="width: 50%"
|
||||||
/>
|
/>
|
||||||
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<span v-if="dateName!='预约'" class="small-btn" @click="changeBtn">{{
|
||||||
|
isBtnShow ? '挂号' : '预约'
|
||||||
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item
|
<el-descriptions-item
|
||||||
|
|
@ -156,6 +163,9 @@
|
||||||
:data="tableData"
|
:data="tableData"
|
||||||
style="width: 100%;flex: 1"
|
style="width: 100%;flex: 1"
|
||||||
v-if="!isShowCard"
|
v-if="!isShowCard"
|
||||||
|
highlight-current-row
|
||||||
|
ref="multipleTable"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
>
|
>
|
||||||
<el-table-column label="险种类型" prop="insutype">
|
<el-table-column label="险种类型" prop="insutype">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
|
@ -172,7 +182,6 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
|
|
@ -195,7 +204,7 @@
|
||||||
退出医保
|
退出医保
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom-right">
|
<div class="bottom-right">
|
||||||
<span class="default-btn" type="primary" @click="save" :disabled="edit_data.status==0">保存</span>
|
<span class="default-btn" type="primary" @click="save">保存</span>
|
||||||
<span class="default-btn" @click="close" style="margin: 0 24px">取消</span>
|
<span class="default-btn" @click="close" style="margin: 0 24px">取消</span>
|
||||||
<span class="default-btn" v-if="edit_data.status==1" @click="registrationCancel">退号</span>
|
<span class="default-btn" v-if="edit_data.status==1" @click="registrationCancel">退号</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -266,9 +275,12 @@ const isShow = ref(false)
|
||||||
const emit = defineEmits(['close'])
|
const emit = defineEmits(['close'])
|
||||||
const close = () => {
|
const close = () => {
|
||||||
isShow.value = false
|
isShow.value = false
|
||||||
|
isBtnShow.value = true
|
||||||
time.value = ''
|
time.value = ''
|
||||||
edit_data.value = {
|
edit_data.value = {
|
||||||
timeList: [],
|
timeList: [],
|
||||||
|
insutype: '',
|
||||||
|
appointmentTime: ''
|
||||||
}
|
}
|
||||||
isShowCard.value = true
|
isShowCard.value = true
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
|
|
@ -285,22 +297,19 @@ const disabledDate = (date: Date) => {
|
||||||
today.setHours(0, 0, 0, 0); // 将时间设置为今天的 00:00:00
|
today.setHours(0, 0, 0, 0); // 将时间设置为今天的 00:00:00
|
||||||
return date < today; // 禁用今天之前的日期
|
return date < today; // 禁用今天之前的日期
|
||||||
};
|
};
|
||||||
const props = defineProps({
|
const dateName = defineModel()
|
||||||
dateName: {
|
|
||||||
type: String,
|
|
||||||
default: '现在'
|
|
||||||
},
|
|
||||||
})
|
|
||||||
const save = () => {
|
const save = () => {
|
||||||
if (props.dateName == '现在') {
|
if (dateName.value == '现在') {
|
||||||
edit_data.value.timeList = []
|
edit_data.value.timeList = ''
|
||||||
|
edit_data.value.appointmentTime = ''
|
||||||
} else {
|
} else {
|
||||||
edit_data.value.timeList.push(new Date(edit_data.value.date), time.value)
|
edit_data.value.timeList.push(edit_data.value.date, time.value)
|
||||||
|
edit_data.value.appointmentTime = edit_data.value.timeList.join(' ')
|
||||||
}
|
}
|
||||||
let data = {
|
let data = {
|
||||||
...edit_data.value,
|
...edit_data.value,
|
||||||
psnNo: socialCard.value?.data?.baseinfo.psn_no,
|
psnNo: socialCard.value?.data?.baseinfo.psn_no,
|
||||||
insutype: socialCard.value?.data?.insuinfo[0].insutype,
|
insutype: edit_data.value.insutype || socialCard.value?.data?.insuinfo[0].insutype,
|
||||||
insuBalance: socialCard.value?.data?.insuinfo[0].balc,
|
insuBalance: socialCard.value?.data?.insuinfo[0].balc,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -362,6 +371,8 @@ const init = (doctorId: any = "", id: any = null, show: any = false) => {
|
||||||
isShow.value = true
|
isShow.value = true
|
||||||
quickShow.value = show
|
quickShow.value = show
|
||||||
edit_data.value.organizationDoctorId = doctorId || ""
|
edit_data.value.organizationDoctorId = doctorId || ""
|
||||||
|
edit_data.value.type = 1
|
||||||
|
isBtnShow.value = dateName.value == '现在';
|
||||||
if (id) {
|
if (id) {
|
||||||
post('registration/getById', {id: id}).then((res: any) => {
|
post('registration/getById', {id: id}).then((res: any) => {
|
||||||
edit_data.value = res
|
edit_data.value = res
|
||||||
|
|
@ -374,6 +385,7 @@ const init = (doctorId: any = "", id: any = null, show: any = false) => {
|
||||||
}
|
}
|
||||||
const isShowCard = ref<any>(true)
|
const isShowCard = ref<any>(true)
|
||||||
const tableData = ref<any>([])
|
const tableData = ref<any>([])
|
||||||
|
const multipleTable = ref<any>()
|
||||||
const socialCardUpdate = (e: any) => {
|
const socialCardUpdate = (e: any) => {
|
||||||
isShowCard.value = false
|
isShowCard.value = false
|
||||||
if (e) {
|
if (e) {
|
||||||
|
|
@ -384,6 +396,7 @@ const socialCardUpdate = (e: any) => {
|
||||||
edit_data.value.certNo = e.data.baseinfo.certno
|
edit_data.value.certNo = e.data.baseinfo.certno
|
||||||
edit_data.value.age = Math.floor(e.data.baseinfo.age)
|
edit_data.value.age = Math.floor(e.data.baseinfo.age)
|
||||||
tableData.value = e.data.insuinfo
|
tableData.value = e.data.insuinfo
|
||||||
|
edit_data.value.type = 2
|
||||||
if (edit_data.value.certNo) {
|
if (edit_data.value.certNo) {
|
||||||
post('vip/vip/list', {
|
post('vip/vip/list', {
|
||||||
keyword: edit_data.value.certNo,
|
keyword: edit_data.value.certNo,
|
||||||
|
|
@ -402,7 +415,8 @@ const socialCardUpdate = (e: any) => {
|
||||||
}
|
}
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
if (tableData.value.length > 0) {
|
if (tableData.value.length > 0) {
|
||||||
height.value = 870
|
height.value = 820
|
||||||
|
multipleTable.value?.setCurrentRow(tableData.value[0])
|
||||||
} else {
|
} else {
|
||||||
height.value = 570
|
height.value = 570
|
||||||
}
|
}
|
||||||
|
|
@ -448,6 +462,13 @@ const loading = ref(false)
|
||||||
const changeLoading = (e: any) => {
|
const changeLoading = (e: any) => {
|
||||||
loading.value = e
|
loading.value = e
|
||||||
}
|
}
|
||||||
|
const isBtnShow = ref(true)
|
||||||
|
const changeBtn = () => {
|
||||||
|
isBtnShow.value = !isBtnShow.value
|
||||||
|
}
|
||||||
|
const handleCurrentChange = (val: any) => {
|
||||||
|
edit_data.value.insutype = val.insutype
|
||||||
|
}
|
||||||
defineExpose({init})
|
defineExpose({init})
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
@ -534,4 +555,11 @@ defineExpose({init})
|
||||||
:deep(.el-form-item) {
|
:deep(.el-form-item) {
|
||||||
margin-bottom: 2px !important;
|
margin-bottom: 2px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.small-btn {
|
||||||
|
width: 51px;
|
||||||
|
height: 32px;
|
||||||
|
line-height: 32px;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
@ -77,6 +77,7 @@
|
||||||
</div>
|
</div>
|
||||||
<CheckoutDetail ref="checkoutDetailRef" @confirm="saveAndCharge"></CheckoutDetail>
|
<CheckoutDetail ref="checkoutDetailRef" @confirm="saveAndCharge"></CheckoutDetail>
|
||||||
<Settlement
|
<Settlement
|
||||||
|
:disabled="disabled"
|
||||||
ref="settlementRef"
|
ref="settlementRef"
|
||||||
@orderCompleted="orderCompleted"
|
@orderCompleted="orderCompleted"
|
||||||
@orderCanceled="orderCanceled"
|
@orderCanceled="orderCanceled"
|
||||||
|
|
@ -200,6 +201,7 @@ const diagnosisSelect = (list: any) => {
|
||||||
}
|
}
|
||||||
const recordsConsumptionRef = ref<any>("")
|
const recordsConsumptionRef = ref<any>("")
|
||||||
const patientCardRef = ref()
|
const patientCardRef = ref()
|
||||||
|
const disabled = ref(false)
|
||||||
const clickItem = async (item: any, status: any) => {
|
const clickItem = async (item: any, status: any) => {
|
||||||
statusDisabled.value = status
|
statusDisabled.value = status
|
||||||
formData.value = await post('medical/record/getByDiagnosisCode', {diagnosisCode: item.code})
|
formData.value = await post('medical/record/getByDiagnosisCode', {diagnosisCode: item.code})
|
||||||
|
|
@ -213,7 +215,7 @@ const clickItem = async (item: any, status: any) => {
|
||||||
}
|
}
|
||||||
goodsItem.idCode = goodsItem.idCode ? goodsItem.idCode == "" ? null : goodsItem.idCode.split(",") : null
|
goodsItem.idCode = goodsItem.idCode ? goodsItem.idCode == "" ? null : goodsItem.idCode.split(",") : null
|
||||||
}
|
}
|
||||||
|
disabled.value = formData.value.patientRegistration.type == 2
|
||||||
getOrderTotalPrice()
|
getOrderTotalPrice()
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
let list = JSON.parse(formData.value.diagnosisMedicalRecord.diagnosisDetail)
|
let list = JSON.parse(formData.value.diagnosisMedicalRecord.diagnosisDetail)
|
||||||
|
|
@ -246,7 +248,7 @@ const orderCompleted = (printReceipt: any) => {
|
||||||
type MedTypeKey = keyof typeof medTypeJson;
|
type MedTypeKey = keyof typeof medTypeJson;
|
||||||
const wsStore = useWsStore()
|
const wsStore = useWsStore()
|
||||||
const printReceiptDo = async () => {
|
const printReceiptDo = async () => {
|
||||||
let chargeOrder:any = await post("charge/getOrderByDiagnosisCode", {
|
let chargeOrder: any = await post("charge/getOrderByDiagnosisCode", {
|
||||||
diagnosisCode: formData.value.code,
|
diagnosisCode: formData.value.code,
|
||||||
})
|
})
|
||||||
if (!chargeOrder) {
|
if (!chargeOrder) {
|
||||||
|
|
@ -350,7 +352,7 @@ const refund = async () => {
|
||||||
ElMessage.error("请先选择要退费的订单")
|
ElMessage.error("请先选择要退费的订单")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
let chargeOrder:any = await post("charge/getOrderByDiagnosisCode", {
|
let chargeOrder: any = await post("charge/getOrderByDiagnosisCode", {
|
||||||
diagnosisCode: formData.value.code,
|
diagnosisCode: formData.value.code,
|
||||||
})
|
})
|
||||||
if (!chargeOrder) {
|
if (!chargeOrder) {
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
<div class="content_list" style="padding: 0 24px">
|
<div class="content_list" style="padding: 0 24px">
|
||||||
<ul class="role_list">
|
<ul class="role_list">
|
||||||
<el-scrollbar style="height: 100%">
|
<el-scrollbar style="height: 100%">
|
||||||
|
<li :class="{active:isShowNum==-1}" @click="changeRole(null,-1)">全部</li>
|
||||||
<li v-for="(item, index) in roleList" :key="index"
|
<li v-for="(item, index) in roleList" :key="index"
|
||||||
:class="{active:isShowNum==index}" @click="changeRole(item,index)">
|
:class="{active:isShowNum==index}" @click="changeRole(item,index)">
|
||||||
<span class="name">{{ item.name }}</span>
|
<span class="name">{{ item.name }}</span>
|
||||||
|
|
@ -74,7 +75,7 @@
|
||||||
</Panel>
|
</Panel>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Edit :dateName="dateName" ref="editRef" @close="getPatientList"></Edit>
|
<Edit v-model="dateName" ref="editRef" @close="getPatientList"></Edit>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue