This commit is contained in:
ChenQiuYu 2025-05-15 10:41:09 +08:00
parent 1936df69b7
commit 3329690de8
3 changed files with 131 additions and 109 deletions

View File

@ -72,6 +72,7 @@
bottom: 0; // 线 bottom: 0; // 线
left: 50%; left: 50%;
transform: translateX(-50%); transform: translateX(-50%);
border-radius: 2px;
} }
} }
a.router-link-active.router-link-exact-active.child-item{ a.router-link-active.router-link-exact-active.child-item{

View File

@ -1,56 +1,84 @@
<template> <template>
<div class="layout-container"> <div class="layout-container">
<Header class="header"/> <Header class="header"/>
<header> <div class="body">
<div class="center-wrapper"> <header style="height: 50px">
<div class="childMenu"> <div class="center-wrapper">
<router-link :to="item.path" class="child-item" v-for="(item,index) in childMenuList" :key="index"> <div class="childMenu">
{{ item.name }} <router-link :to="item.path" class="child-item" v-for="(item,index) in childMenuList" :key="index">
</router-link> {{ item.name }}
</router-link>
</div>
</div> </div>
</div> </header>
</header> <main class="layout-main" style="margin-top: 24px">
<div class="space"></div> <router-view/>
<main class="layout-main"> </main>
<router-view/> </div>
</main>
<div class="space"></div>
<Footer class="footer"/> <Footer class="footer"/>
</div> </div>
</template> </template>
<style scoped lang="scss"> <style scoped lang="scss">
.body{
height: 100%;
padding: 24px;
display: flex;
flex-direction: column;
}
.childMenu { .childMenu {
height: 60px; width: 100%;
height: 50px;
background: #fff; background: #fff;
display: flex; display: flex;
align-items: center; align-items: center;
border-radius: 8px;
.child-item { .child-item {
width: 136px;
display: inline-block; display: inline-block;
color: #151515; color: #151515;
outline: none; outline: none;
text-decoration: none; text-decoration: none;
font-size: 18px; font-size: 18px;
margin-left: 10px; height: 50px;
margin-right: 10px;
height: 35px;
position: relative; position: relative;
line-height: 50px;
text-align: center;
&::before{
content: '';
position: absolute;
right: 0;
top:50%;
display: block;
width: 2px;
height: 16px;
background: #D8D8D8;
border-radius: 1px;
transform: translate(0 ,-50%);
}
&:last-child::before{
display: none;
}
} }
.router-link-active:after { .router-link-active:after {
content: ''; content: '';
display: block; display: block;
width: 100%; width: 80px;
height: 2px; height: 4px;
background-color: #151515; // 线 background-color: #4D6DE4; // 线
position: absolute; position: absolute;
bottom: -5px; // 线 bottom: 0; // 线
left: 0; left: 50%;
transform: translateX(-50%);
border-radius: 2px;
} }
} }
a.router-link-active.router-link-exact-active.child-item{
color: #4D6DE4;
}
</style> </style>

View File

@ -73,12 +73,17 @@
formatListTime(listItem.lastVisitTime) || "-" formatListTime(listItem.lastVisitTime) || "-"
}} }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="证件类型">{{certTypeList.find((item:any)=>item.id==listItem.certType)?.name}}</el-descriptions-item>> <el-descriptions-item label="证件类型">
{{ certTypeList.find((item: any) => item.id == listItem.certType)?.name }}
</el-descriptions-item>
>
<el-descriptions-item label="证件号码">{{ listItem.certNo || "-" }}</el-descriptions-item> <el-descriptions-item label="证件号码">{{ listItem.certNo || "-" }}</el-descriptions-item>
<el-descriptions-item label="积分"><span>{{ listItem.integralBalance }}</span> <el-descriptions-item label="积分"><span>{{ listItem.integralBalance }}</span>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="地址">{{ areaName}}{{areaName?'/'+listItem.address : listItem.address || "-" }}</el-descriptions-item> <el-descriptions-item label="地址">
<el-descriptions-item label="既往史" >{{ listItem.beforeMedicalHistory || "-" }}</el-descriptions-item> {{ areaName }}{{ areaName ? '/' + listItem.address : listItem.address || "-" }}
</el-descriptions-item>
<el-descriptions-item label="既往史">{{ listItem.beforeMedicalHistory || "-" }}</el-descriptions-item>
<el-descriptions-item label="过敏史">{{ listItem.allergyHistory || "-" }}</el-descriptions-item> <el-descriptions-item label="过敏史">{{ listItem.allergyHistory || "-" }}</el-descriptions-item>
<el-descriptions-item label="备注">{{ listItem.remark || "-" }}</el-descriptions-item> <el-descriptions-item label="备注">{{ listItem.remark || "-" }}</el-descriptions-item>
@ -86,60 +91,63 @@
</div> </div>
</div> </div>
</Panel> </Panel>
<Panel title="消费记录" class="right-list"> <div class="right-list">
<div class="list-content"> <Panel title="消费记录">
<div class="list"> <div class="panel-content" style="display: flex;flex-direction: column;height: 100%;padding: 0 24px;">
<el-table :data="tableData" :header-cell-style="{ backgroundColor: '#F1F5FB' }" style="width: 100%" <div class="list">
@cell-click="openDetail"> <el-table :data="tableData" :header-cell-style="{ backgroundColor: '#F1F5FB' }"
<el-table-column label="单号" prop="code" show-overflow-tooltip> style="width: 100%;height: 100%"
</el-table-column> @cell-click="openDetail">
<el-table-column label="创建时间" prop="createDatetime"> <el-table-column label="单号" prop="code" show-overflow-tooltip>
<template #default="scope"> </el-table-column>
{{ formatDate(scope.row.createDatetime) }} <el-table-column label="创建时间" prop="createDatetime">
</template> <template #default="scope">
</el-table-column> {{ formatDate(scope.row.createDatetime) }}
<!-- <el-table-column label="应收" prop="preTotalPrice" width="80">--> </template>
<!-- <template #default="scope">--> </el-table-column>
<!-- {{ scope.row.preTotalPrice }}--> <!-- <el-table-column label="应收" prop="preTotalPrice" width="80">-->
<!-- </template>--> <!-- <template #default="scope">-->
<!-- </el-table-column>--> <!-- {{ scope.row.preTotalPrice }}-->
<el-table-column label="实收" prop="totalPrice" width="80"> <!-- </template>-->
<template #default="scope"> <!-- </el-table-column>-->
{{ scope.row.totalPrice }} <el-table-column label="实收" prop="totalPrice" width="80">
</template> <template #default="scope">
</el-table-column> {{ scope.row.totalPrice }}
<el-table-column label="支付方式" width="100"> </template>
<template #default="scope"> </el-table-column>
{{ scope.row.payType ? getPayTypeStr(scope.row.payType) : "" }} <el-table-column label="支付方式" width="100">
</template> <template #default="scope">
</el-table-column> {{ scope.row.payType ? getPayTypeStr(scope.row.payType) : "" }}
<el-table-column label="状态" width="100"> </template>
<template #default="scope"> </el-table-column>
<el-tag v-if="scope.row.status==0" type="info">{{ getStatusStr(scope.row.status) }}</el-tag> <el-table-column label="状态" width="100">
<el-tag v-if="scope.row.status==1" type="success">{{ getStatusStr(scope.row.status) }}</el-tag> <template #default="scope">
</template> <el-tag v-if="scope.row.status==0" type="info">{{ getStatusStr(scope.row.status) }}</el-tag>
</el-table-column> <el-tag v-if="scope.row.status==1" type="success">{{ getStatusStr(scope.row.status) }}</el-tag>
<el-table-column label="支付时间" prop="payTime"> </template>
<template #default="scope"> </el-table-column>
{{ formatDate(scope.row.payTime) }} <el-table-column label="支付时间" prop="payTime">
</template> <template #default="scope">
</el-table-column> {{ formatDate(scope.row.payTime) }}
</el-table> </template>
</div> </el-table-column>
<div class="bottom"> </el-table>
<div class="page_btn_list"> </div>
<el-pagination <div class="bottom">
background <div class="page_btn_list">
layout="prev, pager, next" <el-pagination
:total="total" background
:page-size="pageSize" layout="prev, pager, next"
@current-change="handleCurrentChange" :total="total"
> :page-size="pageSize"
</el-pagination> @current-change="handleCurrentChange"
>
</el-pagination>
</div>
</div> </div>
</div> </div>
</div> </Panel>
</Panel> </div>
</div> </div>
</div> </div>
<VipEdit ref="refEdit" @close="init"></VipEdit> <VipEdit ref="refEdit" @close="init"></VipEdit>
@ -274,7 +282,7 @@ const findAreaName = (code: string | null): string => {
// code // code
return code; return code;
}; };
const areaName=ref<any>('') const areaName = ref<any>('')
// //
const btn = (item: any, i: number) => { const btn = (item: any, i: number) => {
index.value = i index.value = i
@ -290,8 +298,8 @@ const btn = (item: any, i: number) => {
} catch (error) { } catch (error) {
areaData = null; // areaData = null; //
} }
if (areaData != null){ if (areaData != null) {
areaName.value=findAreaName(areaData[areaData?.length-1]) areaName.value = findAreaName(areaData[areaData?.length - 1])
} }
getChargeList(listItem.value.id) getChargeList(listItem.value.id)
@ -372,7 +380,7 @@ const handleCurrentChange = (val: number) => {
}; };
const levelEditRef = ref(); const levelEditRef = ref();
const antysList = ref<any>(Object.entries(antys).map(([id, name]) => ({id, name}))) const antysList = ref<any>(Object.entries(antys).map(([id, name]) => ({id, name})))
const certTypeList=ref<any>(Object.entries(psnCertTypes).map(([id,name])=>({id,name}))) const certTypeList = ref<any>(Object.entries(psnCertTypes).map(([id, name]) => ({id, name})))
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@ -596,34 +604,19 @@ const certTypeList=ref<any>(Object.entries(psnCertTypes).map(([id,name])=>({id,n
display: flex; display: flex;
flex-direction: column; flex-direction: column;
min-height: 0; min-height: 0;
.list {
.list-content { flex: 1;
min-height: 0;
}
.bottom {
width: 100%;
height: 60px;
background-color: #FFF;
box-sizing: border-box;
padding: 10px;
border-top: 1px solid #EEE;
display: flex; display: flex;
flex-direction: column; justify-content: flex-end;
padding: 0 24px;
height: 100%;
.list {
flex: 1;
display: flex;
flex-direction: column;
}
.bottom {
width: 100%;
height: 60px;
background-color: #FFF;
box-sizing: border-box;
padding: 10px;
position: relative;
border-top: 1px solid #EEE;
.page_btn_list {
position: absolute;
left: 0;
top: 10px;
}
}
} }
} }
} }