This commit is contained in:
ChenQiuYu 2025-05-14 13:18:13 +08:00
parent eeb3c909e3
commit a6adfb6300
4 changed files with 63 additions and 32 deletions

View File

@ -29,10 +29,18 @@
v-model="query.keyword" v-model="query.keyword"
style="height: 100%;width: 100%" style="height: 100%;width: 100%"
placeholder="根据姓名搜索" placeholder="根据姓名搜索"
@input="search" @input="searchInput"
/> />
</div> </div>
<div class="add" @click="addChargeOrder">新增患者</div> <div class="add" @click="addChargeOrder" @mousemove="selected=true" @mouseleave="selected=false">
<el-icon style="margin-right: 7px">
<template #default>
<img v-if="!selected" style="width: 26px ;height: 22px" src="/static/images/charge/1.png" alt="" srcset="">
<img v-else style="width: 26px ;height: 22px" src="/static/images/charge/1-active.png" alt="" srcset="">
</template>
</el-icon>
新增患者
</div>
<!-- <el-button type="success" @click="addChargeOrder" size="small">+收费</el-button>--> <!-- <el-button type="success" @click="addChargeOrder" size="small">+收费</el-button>-->
</div> </div>
<div class="list" v-loading="loading"> <div class="list" v-loading="loading">
@ -68,7 +76,7 @@ import {nextTick, onMounted, ref, watch} from "vue";
import {post} from "@/utils/request.ts"; import {post} from "@/utils/request.ts";
import Panel from "@/components/common/Panel.vue"; import Panel from "@/components/common/Panel.vue";
import {formatListTime, getCurrentDate, getEndOfDay} from "@/utils/dateUtils.ts"; import {formatListTime, getCurrentDate, getEndOfDay} from "@/utils/dateUtils.ts";
import {Calendar} from "@element-plus/icons-vue"; import { Search,Calendar} from "@element-plus/icons-vue";
import {apiConfig} from "@/assets/config/apiConfig.ts"; import {apiConfig} from "@/assets/config/apiConfig.ts";
import Edit from "@/components/registration/Edit.vue"; import Edit from "@/components/registration/Edit.vue";
@ -184,10 +192,11 @@ watch(() => selectedDate.value, (newValue, oldValue) => {
} }
init() init()
}) })
const search = (v: any) => { const searchInput = (v: any) => {
query.value.keyword = v query.value.keyword = v
init() init()
} }
const selected= ref(false)
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.container { .container {
@ -214,6 +223,11 @@ const search = (v: any) => {
border-radius: 6px; border-radius: 6px;
border: 1px solid #979797; border: 1px solid #979797;
margin-left: 16px; margin-left: 16px;
cursor: pointer;
&:hover {
background: #4D6DE4;
color: #fff;
}
} }
} }
@ -339,6 +353,7 @@ const search = (v: any) => {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
cursor: pointer;
} }
:deep(.el-input--prefix) { :deep(.el-input--prefix) {

View File

@ -331,6 +331,7 @@ watch(() => selectedDate.value, (newValue, oldValue) => {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
cursor: pointer;
} }
:deep(.el-input) { :deep(.el-input) {

View File

@ -246,7 +246,7 @@ const save = () => {
...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, insuBalance: socialCard.value?.data?.insuinfo[0].balc,
} }
form.value.validate((v: any) => { form.value.validate((v: any) => {
@ -374,6 +374,7 @@ const hide = () => {
} }
const sectionList = ref<any>([]) const sectionList = ref<any>([])
const getSectionList = () => { const getSectionList = () => {
if(!edit_data.value.organizationDoctorId)return
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 sectionList.value = res
if (res.length > 0) { if (res.length > 0) {

View File

@ -68,14 +68,14 @@
</div> </div>
</div> </div>
<div class="addBtn"> <div class="addBtn">
<el-button type="primary" :icon="Plus" @click="open_edit(1301,0)">新增中西成药</el-button> <span @click="open_edit(1301,0)">新增中西成药</span>
<el-button type="primary" :icon="Plus" @click="open_edit(1302,0)">新增中药饮片</el-button> <span @click="open_edit(1302,0)">新增中药饮片</span>
<el-button type="primary" :icon="Plus" @click="open_edit(1306,0)">新增医疗器材</el-button> <span @click="open_edit(1306,0)">新增医疗器材</span>
<el-button type="primary" :icon="Plus" @click="open_edit(0,0)">新增其他商品</el-button> <span @click="open_edit(0,0)">新增其他商品</span>
</div> </div>
</div> </div>
<div class="content_goods" ref="content"> <div class="content_goods" ref="content">
<el-table :data="tableData" style="width: 100%;height: 100%;padding: 0 24px" @row-click="openMack"> <el-table :data="tableData" style="width: 100%;height: 100%;padding: 0 24px" @row-click="openMack" :header-cell-style="{ backgroundColor: '#F1F5FB' }">
<el-table-column fixed prop="name" label="名称" width="200" show-overflow-tooltip> <el-table-column fixed prop="name" label="名称" width="200" show-overflow-tooltip>
<template #default="scope"> <template #default="scope">
{{ scope.row.name }}{{ scope.row.commonName ? "(" + scope.row.commonName + ")" : "" }} {{ scope.row.name }}{{ scope.row.commonName ? "(" + scope.row.commonName + ")" : "" }}
@ -118,7 +118,7 @@
</template> </template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="最近效期" prop="recentlyExpiryDate" width="100"></el-table-column> <el-table-column label="最近效期" prop="recentlyExpiryDate" width="200" show-overflow-tooltip></el-table-column>
<el-table-column label="进价" width="120"> <el-table-column label="进价" width="120">
<template #default="scope"> <template #default="scope">
@ -131,7 +131,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="医保限价" prop="hilistPricUplmtAmt" show-overflow-tooltip></el-table-column> <el-table-column label="医保限价" prop="hilistPricUplmtAmt" show-overflow-tooltip></el-table-column>
<el-table-column label="限制说明" prop="hilistLmtpricType"></el-table-column> <el-table-column label="限制说明" prop="hilistLmtpricType" show-overflow-tooltip></el-table-column>
<el-table-column label="自付比例" prop="selfpayProp"></el-table-column> <el-table-column label="自付比例" prop="selfpayProp"></el-table-column>
<el-table-column label="毛利率" width="120"> <el-table-column label="毛利率" width="120">
<template #default="scope"> <template #default="scope">
@ -143,37 +143,32 @@
{{ getProfitCategory(scope.row.interestRate) }} {{ getProfitCategory(scope.row.interestRate) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="药品成本" prop="costPrice" show-overflow-tooltip> <el-table-column label="药品成本" prop="costPrice" width="200" show-overflow-tooltip>
<template #default="scope"> <template #default="scope">
{{ scope.row.costPrice.toFixed(2) }} {{ scope.row.costPrice.toFixed(2) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="医保码" prop="hilistCode" show-overflow-tooltip></el-table-column> <el-table-column label="医保码" prop="hilistCode" show-overflow-tooltip></el-table-column>
<el-table-column label="标签" prop="producer" width="100">
<el-table-column label="标签" prop="producer" width="200">
<template #default="scope"> <template #default="scope">
<el-tag class="tags" type="success" v-for="item in getTagsArray(scope.row.tags)">{{ item }}</el-tag> <el-tag class="tags" type="success" v-for="item in getTagsArray(scope.row.tags)">{{ item }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" prop="remark" width="150"/> <el-table-column label="备注" prop="remark" width="100" show-overflow-tooltip/>
<el-table-column label="医保类别"> <el-table-column label="医保类别">
<template #default="scope"> <template #default="scope">
{{ getTypeName(scope.row.type) }} {{ getTypeName(scope.row.type) }}
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<div class="bottom"> <div class="bottom">
<div class="statistics"> <div class="statistics">
<div class="">总成本:{{statisticsData.totalCost}}</div> <div class="">总成本:{{ statisticsData.totalCost }}</div>
<div class="">总售价:{{statisticsData.totalPrice}}</div> <div class="">总售价:{{ statisticsData.totalPrice }}</div>
<div class="">医保药品:{{statisticsData.totalSocialCount}}</div> <div class="">医保药品:{{ statisticsData.totalSocialCount }}</div>
<div v-for="item in statisticsData.chrgitmLvInfoList"> <div v-for="item in statisticsData.chrgitmLvInfoList">
{{item.name}}:{{item.ratio}}({{item.count}}) {{ item.name }}:{{ item.ratio }}({{ item.count }})
</div> </div>
</div> </div>
<div class="page_btn_list"> <div class="page_btn_list">
@ -213,6 +208,7 @@ import InventoryBatchDetail from "@/components/inventory/goods/InventoryBatchDet
import InventoryStatistics from "@/components/inventory/goods/InventoryStatistics.vue"; import InventoryStatistics from "@/components/inventory/goods/InventoryStatistics.vue";
import CloseBtn from "@/components/CloseBtn.vue"; import CloseBtn from "@/components/CloseBtn.vue";
import {Plus, SemiSelect} from "@element-plus/icons-vue"; import {Plus, SemiSelect} from "@element-plus/icons-vue";
const statisticsData = ref<any>({}) const statisticsData = ref<any>({})
const inventoryNumber = ref(false) const inventoryNumber = ref(false)
const status = ref(false) const status = ref(false)
@ -439,7 +435,7 @@ const getStatisticsData = () => {
flex-direction: column; flex-direction: column;
.top { .top {
height: 112px; height: 157px;
padding: 24px 24px 0; padding: 24px 24px 0;
background: #fff; background: #fff;
display: flex; display: flex;
@ -461,6 +457,23 @@ const getStatisticsData = () => {
} }
} }
.addBtn {
span {
display: inline-block;
width: 120px;
height: 42px;
background: #FFFFFF;
border-radius: 6px;
border: 1px solid #4D6DE4;
margin-right: 24px;
font-weight: 500;
font-size: 16px;
color: #4D6DE4;
text-align: center;
line-height: 42px;
}
}
} }
.content_goods { .content_goods {
@ -480,7 +493,8 @@ const getStatisticsData = () => {
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
align-items: center; align-items: center;
.statistics{
.statistics {
display: flex; display: flex;
} }
} }