dev
This commit is contained in:
parent
1936df69b7
commit
3329690de8
|
|
@ -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{
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue