普兆健康管家前端代码仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

196 lines
4.7 KiB

<template>
<view class="page__view">
<navbar title="检测预约" leftClick @leftClick="$utils.navigateBack" color="#191919" bgColor="#FFFFFF" />
<view class="main">
<view class="tabs">
<uv-tabs
:list="tabs"
:scrollable="false"
lineColor="#7451DE"
lineWidth="48rpx"
lineHeight="4rpx"
:activeStyle="{
'font-family': 'PingFang SC',
'font-weight': 500,
'font-size': '32rpx',
'line-height': 1.4,
'color': '#7451DE',
}"
:inactiveStyle="{
'font-family': 'PingFang SC',
'font-weight': 400,
'font-size': '32rpx',
'line-height': 1.4,
'color': '#181818',
}"
@click="clickTabs"
></uv-tabs>
</view>
<view class="list">
<view class="list-item" v-for="item in list" :key="item.id">
<checkupCard :data="item" @sendBack="openTrackingNoPopup(item.id)"></checkupCard>
</view>
</view>
</view>
<checkupTrackingNoPopup ref="checkupTrackingNoPopup" @submitted="getData"></checkupTrackingNoPopup>
</view>
</template>
<script>
import mixinsList from '@/mixins/list.js'
import checkupCard from './checkupCard.vue'
import checkupTrackingNoPopup from '@/pages_order/checkup/checkupTrackingNoPopup.vue'
export default {
mixins: [mixinsList],
components: {
checkupCard,
checkupTrackingNoPopup,
},
data() {
return {
tabs: [
{ name: '全部' },
{ name: '自采' },
{ name: '上门' },
{ name: '到店' },
{ name: '已取消' },
],
mixinsListApi: '',
}
},
methods: {
//点击tab栏
clickTabs({ index }) {
if (index == 0) {
delete this.queryParams.status
} else {
this.queryParams.status = index - 1
}
this.getData()
},
// todo: delete
getData() {
this.list = [
{
id: '001',
url: '/pages_order/static/product/detect-8.png',
title: '月度装定制营养包',
userName: '周小艺',
phone: '15558661691',
amount: 688,
appointmentTime: '2025-04-28 08:14',
type: 3,
typeDesc: '到店检测',
status: 5,
},
{
id: '002',
url: '/pages_order/static/product/detect-8.png',
title: '青少年体检套餐',
userName: '周小艺',
phone: '15558661691',
amount: 688,
appointmentTime: '2025-04-28 08:00~09:00',
type: 3,
typeDesc: '到店检测',
status: 3,
},
{
id: '003',
url: '/pages_order/static/product/detect-8.png',
title: '孕产妇体检套餐',
userName: '周小艺',
phone: '15558661691',
amount: 688,
createTime: '2025-04-28 08:14',
type: 1,
status: 0,
},
{
id: '004',
url: '/pages_order/static/product/detect-8.png',
title: '青少年体检套餐',
userName: '周小艺',
phone: '15558661691',
amount: 688,
appointmentTime: null,
type: 1,
typeDesc: '自采检测',
status: 1,
},
{
id: '005',
url: '/pages_order/static/product/detect-8.png',
title: '青少年体检套餐',
userName: '周小艺',
phone: '15558661691',
amount: 688,
appointmentTime: '2025-04-28 08:00~09:00',
type: 2,
typeDesc: '上门检测',
status: 2,
},
]
this.total = this.list.length
},
openTrackingNoPopup(id) {
this.$refs.checkupTrackingNoPopup.open(id)
},
},
}
</script>
<style scoped lang="scss">
.page__view {
width: 100vw;
min-height: 100vh;
background-color: $uni-bg-color;
position: relative;
/deep/ .nav-bar__view {
position: fixed;
top: 0;
left: 0;
}
}
.main {
width: 100vw;
padding: calc(var(--status-bar-height) + 244rpx) 32rpx 40rpx 32rpx;
box-sizing: border-box;
.tabs {
position: fixed;
top: calc(var(--status-bar-height) + 120rpx);
left: 0;
width: 100%;
height: 84rpx;
background: #FFFFFF;
/deep/ .uv-tabs__wrapper__nav__line {
border-radius: 2rpx;
bottom: 0;
}
}
}
.list {
&-item {
& + & {
margin-top: 40rpx;
}
}
}
</style>