This commit is contained in:
ChenQiuYu 2025-04-29 09:50:31 +08:00
parent 64932e298d
commit 256ba5ff10
7 changed files with 96 additions and 63 deletions

View File

@ -4,9 +4,9 @@ import {onMounted, ref} from "vue";
import {getThisWeek} from "@/utils/dateUtils.ts";
import {post} from "@/utils/request.ts";
onMounted(() => {
getRevenueOverview()
})
// onMounted(() => {
// getRevenueOverview()
// })
const payTypeRevenue = ref<any>([
{
name: '医保支付',
@ -34,21 +34,28 @@ const payTypeRevenue = ref<any>([
background: '#E5F9FF'
}
]);
const getRevenueOverview = () => {
const thisWeek = getThisWeek();
post("statistics/getRevenueOverview", {beginTime: thisWeek.start, endTime: thisWeek.end}).then((res: any) => {
if (res.payTypeRevenue.length === 0) return
payTypeRevenue.value = res.payTypeRevenue
})
}
const background = ref<any>([
'#F0F4FD',
'#ECF8FE',
'#FFF5EC',
'#FFEEEE',
'#E5F9FF'
]);
// const getRevenueOverview = () => {
// const thisWeek = getThisWeek();
// post("statistics/getRevenueOverview", {beginTime: thisWeek.start, endTime: thisWeek.end}).then((res: any) => {
// if (res.payTypeRevenue.length === 0) return
// payTypeRevenue.value = res.payTypeRevenue
// })
//
// }
</script>
<template>
<Panel title="支付明细" class="detail-price">
<div class="detail-price-content">
<div class="detail-price-content-item" v-for="(item,index) in payTypeRevenue"
:style="'background:'+item.background">
:style="`background:${background[index]}`">
<img class="detail-price-content-item-image" :src="`/static/images/home/${index+1}.png`" :alt="item.name">
<div class="detail-price-content-item-text">
<div class="detail-price-content-item-text-name">{{ item.name }}</div>

View File

@ -147,7 +147,6 @@ const getExpiryDateWarning = () => {
height: 100%;
display: flex;
flex-direction: column;
margin-right: 24px;
.box {
.item {

View File

@ -18,21 +18,21 @@
<el-input v-model="edit_data.name" placeholder="请输入名称"></el-input>
</el-descriptions-item>
<el-descriptions-item label="性别">
<el-select
v-model="edit_data.gender"
placeholder="请选择性别"
>
<el-option
v-for="item in ['男','女']"
:key="item"
:label="item"
:value="item"
></el-option>
</el-select>
<el-form-item prop="gender">
<el-radio-group v-model="edit_data.gender">
<el-radio value="男"></el-radio>
<el-radio value="女"></el-radio>
</el-radio-group>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="年龄">
<el-input v-model="edit_data.age" placeholder="请输入年龄"></el-input>
</el-descriptions-item>
<el-descriptions-item label="证件码">
<el-form-item prop="certno">
<el-input v-model="edit_data.certno" placeholder="请输入证件码"></el-input>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="医生">
<el-select
v-model="edit_data.organizationDoctorId"
@ -112,12 +112,15 @@ const rules = ref<any>({
name: [
{required: true, message: '请输入名称', trigger: 'blur'},
],
code: [
{required: true, message: '请输入编码', trigger: 'blur'},
gender: [
{required: true, message: '请选择性别', trigger: 'blur'},
],
spec: [
{required: true, message: '请输入规格', trigger: 'blur'},
],
certno: [
{required: true, message: '请输入证件码', trigger: 'blur'},
],
})
const isShow = ref(false)
const emit = defineEmits(['close'])
@ -126,12 +129,15 @@ const close = () => {
emit('close')
}
const id = props.id
const form = ref()
const save = () => {
let data = {
...edit_data.value,
psnNo: socialCard.value.data?.baseinfo.psn_no,
insutype: socialCard.value.data?.insuinfo[0].insutype
}
form.value.validate((v: any) => {
if (v) {
if (id) {
post('registration/edit', {
data: data, mdtrtCertNo: socialCard.value.mdtrtCertNo,
@ -150,6 +156,9 @@ const save = () => {
close()
})
}
}
})
}
const deleteDetail = () => {
post('registration/delete', {id}).then(() => {

View File

@ -59,7 +59,6 @@
</div>
</template>
</Mask>
<Search ref="createSearchRef" @confirm="createConfirm"/>
</template>
<script setup lang="ts">

View File

@ -1,5 +1,5 @@
<template>
<Mask :width="800" :height="600" :is-show="show" :top="100">
<Mask :width="800" :height="600" :is-show="show" :top="100" @close="close" title="药品" :show-footer="true">
<div class="search_content_wrapper">
<div class="search_wrapper">
<span>项目名称:</span>
@ -31,18 +31,23 @@
<el-table-column prop="code" label="医保编码" width="180" show-overflow-tooltip/>
<el-table-column prop="enddate" label="有效期至" width="180" show-overflow-tooltip/>
</el-table>
</div>
</div>
</div>
<template #footer>
<div class="bottom">
<div class="page_btn_list">
<el-pagination background layout="prev, pager, next" :page-count="search_result.total_page"
v-model:current-page="current_page" @current-change="change_page"/>
</div>
</div>
</div>
<div class="search_bottom">
<div class="btn">
<el-button type="primary" @click="confirm">确认</el-button>
<el-button type="primary" @click="close">关闭</el-button>
</div>
</div>
</template>
</Mask>
</template>
<script setup lang="ts">
@ -87,8 +92,8 @@ const change_current_search_data_index = (val: any) => {
const init = (_name: string) => {
keyword.value = _name;
show.value = true;
init_search_data()
search_social()
// init_search_data()
// search_social()
};
defineExpose({init});
@ -227,4 +232,11 @@ const close = () => {
width: 100%;
height: 400px;
}
.bottom{
height: 100%;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 24px;
}
</style>

View File

@ -18,7 +18,7 @@
<Card v-model="userMessage"></Card>
<CustomerService v-model="proxyMessage"></CustomerService>
<SystemMessage v-model="systemMessage"></SystemMessage>
<Banner></Banner>
<!-- <Banner></Banner>-->
</div>
</div>

View File

@ -46,7 +46,7 @@ import PharmaceuticalConsumables from "@/components/outpatient/PharmaceuticalCon
import {ref, watch, nextTick, onMounted} from "vue";
import Settlement from "@/components/outpatient/Settlement.vue";
import {post} from "@/utils/request.ts";
import {ElMessage} from "element-plus";
import {type Action, ElMessage, ElMessageBox} from "element-plus";
import ServiceItemsDetail from "@/components/outpatient/ServiceItemsDetail.vue";
import PharmaceuticalConsumablesDetail from "@/components/outpatient/PharmaceuticalConsumablesDetail.vue";
import CaseDetail from "@/components/outpatient/CaseDetail.vue";
@ -56,7 +56,7 @@ const registerId = ref()
const patientId = ref()
const itemList = ref([])
const goodsList = ref([])
const formData = ref<any>({diagType:1})
const formData = ref<any>({diagType: 1})
const save = () => {
let json = {
chinaAdjunctCheck: formData.value.chinaAdjunctCheck,
@ -74,7 +74,7 @@ const save = () => {
exam: formData.value.exam,
diagnosisDetail: formData.value.diagnosisDetail,
diagnosisSummary: formData.value.diagnosisSummary,
diagType:formData.value.diagType
diagType: formData.value.diagType
}
const data = {
registrationId: registerId.value,
@ -100,9 +100,16 @@ const getId = (item: any) => {
medicalHistoryRef.value?.init(patientId.value);
})
if (item.status == 1) {
ElMessageBox.alert(`您将要接诊${item.name}`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
showClose: true,
callback: (action: Action) => {
post('registration/changeStatus', {id: item.id, status: 2}).then((res: any) => {
status.value = 2
})
},
})
}
if (item.status == 3) {
post(apiConfig.DoctorDetail, {
@ -139,7 +146,7 @@ const edit = () => {
// 使 watch goodsList itemList
watch([() => goodsList.value, itemList], ([newGoodsList, newItemList]) => {
const pharmaceuticalTotalAmount = newItemList.reduce((pre: any, cur: any) => {
return pre + cur.unitPrice*cur.selectedNum
return pre + cur.unitPrice * cur.selectedNum
}, 0);
const serviceTotalAmount = newGoodsList.reduce((pre: any, cur: any) => {
return pre + cur.selectedNum * cur.selectedPrice