Compare commits
3 Commits
c5cdd9af01
...
ed0a67507f
| Author | SHA1 | Date |
|---|---|---|
|
|
ed0a67507f | |
|
|
d3033c10a1 | |
|
|
b552a68b07 |
|
|
@ -95,6 +95,9 @@ const addIdCode = ()=>{
|
||||||
show.value = false;
|
show.value = false;
|
||||||
for (let subItem of tableData.value){
|
for (let subItem of tableData.value){
|
||||||
if (subItem.id === selected.value){
|
if (subItem.id === selected.value){
|
||||||
|
if (subItem.idCode == null){
|
||||||
|
subItem.idCode = [];
|
||||||
|
}
|
||||||
subItem.idCode?.push(idCode);
|
subItem.idCode?.push(idCode);
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,20 +14,20 @@
|
||||||
<span class="avatar-info-age">{{ seeDockerInfo?.patientInfo?.age||0}}岁</span>
|
<span class="avatar-info-age">{{ seeDockerInfo?.patientInfo?.age||0}}岁</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="avatar-info-phone-num">
|
<div class="avatar-info-phone-num">
|
||||||
<span class="avatar-info-phone">{{ seeDockerInfo?.patientInfo?.phone }}</span>
|
<span class="avatar-info-phone">{{ seeDockerInfo.patientInfo?.phone }}</span>
|
||||||
<span class="avatar-info-num">就诊次数:<i class="caret-num">{{
|
<span class="avatar-info-num">就诊次数:<i class="caret-num">{{
|
||||||
seeDockerInfo?.seeDoctorCount || 0
|
seeDockerInfo.seeDoctorCount || 0
|
||||||
}}次</i></span>
|
}}次</i></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="detail">
|
<div class="detail">
|
||||||
<div>挂号医生: <span
|
<div>挂号医生: <span
|
||||||
class="detail-doctor">{{ seeDockerInfo?.dockerName }}-{{ seeDockerInfo?.sectionName }}</span>
|
class="detail-doctor">{{ seeDockerInfo.dockerName }}-{{ seeDockerInfo?.sectionName }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="detail-middle">
|
<div class="detail-middle">
|
||||||
<div>费用类别: <span class="detail-doctor">{{seeDockerInfo?.feeTypeName||'-'}}</span></div>
|
<div>费用类别: <span class="detail-doctor">{{seeDockerInfo.registerType==2?'医保':'自费'}}</span></div>
|
||||||
<div>医保卡剩余金额: <span class="detail-balance">{{ seeDockerInfo?.socialBalance }}元</span></div>
|
<div>医保卡剩余金额: <span class="detail-balance">{{ seeDockerInfo.patientInfo.socialBalance?seeDockerInfo.patientInfo.socialBalance+"元":"-" }}</span></div>
|
||||||
</div>
|
</div>
|
||||||
<div>上次就诊时间: <span class="detail-doctor">{{
|
<div>上次就诊时间: <span class="detail-doctor">{{
|
||||||
formatDate(seeDockerInfo?.lastSeeDoctorTime)||'-'
|
formatDate(seeDockerInfo?.lastSeeDoctorTime)||'-'
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import Panel from '../common/Panel.vue';
|
||||||
import {defineEmits, defineModel,defineProps} from 'vue'
|
import {defineEmits, defineModel,defineProps} from 'vue'
|
||||||
|
|
||||||
const {status}=defineProps(['status'])
|
const {status}=defineProps(['status'])
|
||||||
const emit = defineEmits(['save','deleteItem','openCheckOut']);
|
const emit = defineEmits(['save','deleteItem','openCheckOut',"openSettlement"]);
|
||||||
const save = () => {
|
const save = () => {
|
||||||
emit('save');
|
emit('save');
|
||||||
};
|
};
|
||||||
|
|
@ -11,9 +11,12 @@ const deleteItem = () => {
|
||||||
emit('deleteItem');
|
emit('deleteItem');
|
||||||
};
|
};
|
||||||
const totalAmount = defineModel<any>()
|
const totalAmount = defineModel<any>()
|
||||||
const editItem= () => {
|
const openCheckOut= () => {
|
||||||
emit('openCheckOut');
|
emit('openCheckOut');
|
||||||
};
|
};
|
||||||
|
const openSettlement =()=>{
|
||||||
|
emit('openSettlement')
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
@ -21,8 +24,8 @@ const editItem= () => {
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<div>总金额:<span class="text icon">¥</span><span class="text">{{ totalAmount || '0' }}</span></div>
|
<div>总金额:<span class="text icon">¥</span><span class="text">{{ totalAmount || '0' }}</span></div>
|
||||||
<div class="btn-group" v-if="status">
|
<div class="btn-group" v-if="status">
|
||||||
<el-button type="primary" disabled>追溯码</el-button>
|
<el-button type="primary" @click="openCheckOut">追溯码</el-button>
|
||||||
<el-button type="primary" @click="editItem">收费</el-button>
|
<el-button type="primary" @click="openSettlement">收费</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Panel>
|
</Panel>
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="小计">
|
<el-table-column label="小计">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
¥{{ scope.row.selectedNum * scope.row.selectedPrice }}
|
¥{{ Math.round(scope.row.selectedNum * scope.row.selectedPrice * 100) / 100 }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" v-if="props.status">
|
<el-table-column label="操作" v-if="props.status">
|
||||||
|
|
@ -159,7 +159,7 @@ const goodsSelect = (row: any) => {
|
||||||
row.selectedUnit = row.packagingUnit
|
row.selectedUnit = row.packagingUnit
|
||||||
row.selectedPrice = row.unitPrice
|
row.selectedPrice = row.unitPrice
|
||||||
row.shouldNumber = 1;
|
row.shouldNumber = 1;
|
||||||
row.idCode = row.idCode?.split(",")
|
row.idCode = row.idCode?row.idCode==""?null:row.idCode.split(","):null
|
||||||
|
|
||||||
|
|
||||||
if (goodsDetail.value.find((i: any) => i.id == row.id)) {
|
if (goodsDetail.value.find((i: any) => i.id == row.id)) {
|
||||||
|
|
@ -200,6 +200,7 @@ const getTotalPrice = () => {
|
||||||
if (goodsDetail.value) {
|
if (goodsDetail.value) {
|
||||||
goodsDetail.value.forEach((item: any) => {
|
goodsDetail.value.forEach((item: any) => {
|
||||||
totalPrice += item.selectedNum * item.selectedPrice
|
totalPrice += item.selectedNum * item.selectedPrice
|
||||||
|
totalPrice = Math.round(totalPrice * 100) / 100
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="小计">
|
<el-table-column label="小计">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
¥{{ scope.row.selectedNum * scope.row.selectedPrice }}
|
¥{{ Math.round(scope.row.selectedNum * scope.row.selectedPrice * 100) / 100 }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" v-if="props.status">
|
<el-table-column label="操作" v-if="props.status">
|
||||||
|
|
@ -137,6 +137,7 @@ const getTotalPrice = () => {
|
||||||
if (itemDetail.value) {
|
if (itemDetail.value) {
|
||||||
itemDetail.value.forEach((item: any) => {
|
itemDetail.value.forEach((item: any) => {
|
||||||
totalPrice += item.selectedNum * item.selectedPrice
|
totalPrice += item.selectedNum * item.selectedPrice
|
||||||
|
totalPrice = Math.round(totalPrice * 100) / 100
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="search">
|
<div class="search">
|
||||||
<img src="/static/images/outpatient/search.png" class="search-icon" alt="搜索图标">
|
<img src="/static/images/outpatient/search.png" class="search-icon" alt="搜索图标">
|
||||||
<input class="search-input" v-model="search" placeholder="搜索门诊单" style="font-size: 16px">
|
<input class="search-input" v-model="search" placeholder="搜索门诊单" style="font-size: 16px" @keydown.enter="searchList">
|
||||||
</div>
|
</div>
|
||||||
<div class="list">
|
<div class="list">
|
||||||
<ul style="height: 100%">
|
<ul style="height: 100%">
|
||||||
|
|
|
||||||
|
|
@ -245,7 +245,8 @@ const save = () => {
|
||||||
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: socialCard.value?.data?.insuinfo[0].insutype,
|
||||||
|
insuBalance : socialCard.value?.data?.insuinfo[0].balc,
|
||||||
|
|
||||||
}
|
}
|
||||||
form.value.validate((v: any) => {
|
form.value.validate((v: any) => {
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<Mask :is-show="show" :height="600" :width="1200">
|
<Mask :is-show="show" :height="600" :width="1300" @close="close">
|
||||||
<CloseBtn @click="close"></CloseBtn>
|
|
||||||
<div class="container-wrapper">
|
<div class="container-wrapper">
|
||||||
<div class="table">
|
<div class="table">
|
||||||
<el-table :data="detailList" max-height="500px" highlight-current-row>
|
<el-table :data="detailList" max-height="500px" highlight-current-row>
|
||||||
|
|
@ -39,7 +38,7 @@
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
|
||||||
import Mask from "@/components/Mask.vue";
|
import Mask from "@/components/common/Mask.vue";
|
||||||
import {nextTick, ref} from "vue";
|
import {nextTick, ref} from "vue";
|
||||||
import CloseBtn from "@/components/CloseBtn.vue";
|
import CloseBtn from "@/components/CloseBtn.vue";
|
||||||
import {reconciliationResult} from "@/assets/config/constants.ts"
|
import {reconciliationResult} from "@/assets/config/constants.ts"
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
<div>医生:</div>
|
<div>医生:</div>
|
||||||
<div class="doctor">
|
<div class="doctor">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="formData.doctorId"
|
v-model="formData.patientRegistration.organizationDoctorId"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
clearable
|
clearable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
|
|
@ -54,7 +54,7 @@
|
||||||
@totalPriceChange="getOrderTotalPrice" :statusDisabled="statusDisabled==1"></GoodsDetail>
|
@totalPriceChange="getOrderTotalPrice" :statusDisabled="statusDisabled==1"></GoodsDetail>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<TotalPrice v-model="formData.totalPrice" @save="charge" :status="formData.status ==0" @openCheckOut ="openCheckoutDetail(formData.goodsDetail,formData.patientRegistration.psnNo)"></TotalPrice>
|
<TotalPrice v-model="formData.totalPrice" @save="charge" :status="formData.status ==0" @openSettlement="charge" @openCheckOut ="openCheckoutDetail(formData.goodsDetail,formData.patientRegistration.psnNo)"></TotalPrice>
|
||||||
</div>
|
</div>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -190,7 +190,7 @@ const checkTraceCode = (goodsList: any[]) => {
|
||||||
}else {
|
}else {
|
||||||
goodsItem.shouldNumber = Math.ceil(goodsItem.selectedNum / goodsItem.minPackagingNumber);
|
goodsItem.shouldNumber = Math.ceil(goodsItem.selectedNum / goodsItem.minPackagingNumber);
|
||||||
}
|
}
|
||||||
goodsItem.idCode = goodsItem.idCode?.split(",")
|
goodsItem.idCode = goodsItem.idCode?goodsItem.idCode==""?null:goodsItem.idCode.split(","):null
|
||||||
}
|
}
|
||||||
|
|
||||||
getOrderTotalPrice()
|
getOrderTotalPrice()
|
||||||
|
|
@ -236,8 +236,10 @@ const getOrderTotalPrice = () => {
|
||||||
formData.value.goodsDetail.forEach((item: any) => {
|
formData.value.goodsDetail.forEach((item: any) => {
|
||||||
totalPrice += item.selectedPrice * item.selectedNum
|
totalPrice += item.selectedPrice * item.selectedNum
|
||||||
})
|
})
|
||||||
formData.value.preTotalPrice = totalPrice
|
formData.value.preTotalPrice = Math.round(totalPrice * 100) / 100
|
||||||
formData.value.totalPrice = totalPrice
|
formData.value.totalPrice = Math.round(totalPrice * 100) / 100
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -163,8 +163,8 @@ const getOrderTotalPrice = () => {
|
||||||
formData.value.goodsDetail?.forEach((item: any) => {
|
formData.value.goodsDetail?.forEach((item: any) => {
|
||||||
totalPrice += item.selectedPrice * item.selectedNum
|
totalPrice += item.selectedPrice * item.selectedNum
|
||||||
})
|
})
|
||||||
formData.value.preTotalPrice = totalPrice
|
formData.value.preTotalPrice = Math.round((totalPrice * 100) / 100 )
|
||||||
formData.value.totalPrice = totalPrice
|
formData.value.totalPrice = Math.round((totalPrice * 100) / 100 )
|
||||||
}
|
}
|
||||||
const caseRef = ref<any>("")
|
const caseRef = ref<any>("")
|
||||||
const copyForm = (item: any) => {
|
const copyForm = (item: any) => {
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@
|
||||||
import {ref, reactive, onMounted} from 'vue';
|
import {ref, reactive, onMounted} from 'vue';
|
||||||
import {ElNotification, type TabsPaneContext} from 'element-plus'
|
import {ElNotification, type TabsPaneContext} from 'element-plus'
|
||||||
import {post} from '@/utils/request.ts'
|
import {post} from '@/utils/request.ts'
|
||||||
|
import { Loading, SuccessFilled } from '@element-plus/icons-vue';
|
||||||
const format = (percentage: number) => ('正在更新')
|
const format = (percentage: number) => ('正在更新')
|
||||||
let updt_time = ref(getDate30DaysAgo())
|
let updt_time = ref(getDate30DaysAgo())
|
||||||
let current_page = ref(1);
|
let current_page = ref(1);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue