zyejMAll-mobile/pages/reservation_record/reservation_record.vue

234 lines
4.8 KiB
Vue
Raw Normal View History

2024-10-14 19:12:22 +08:00
<template>
<s-layout title="预约记录" :bgStyle="{ color: '#fff' }">
2024-10-16 18:09:51 +08:00
<view class="container">
<view class="cards">
<view class="card" v-for="(item, index) in reservationList" :key="index">
<view class="card-content">
<text class="type">预约信息</text>
<text class="time">订单日期{{ sheep.$helper.timeFormat(item.reAddTime, 'yyyy-mm-dd hh:MM:ss') }}</text>
</view>
2024-10-14 19:12:22 +08:00
<view style="height: 1px; background-color: #e8e8e8;margin:7px 0px 7px 0px"></view>
2024-10-16 18:09:51 +08:00
<view>
<text class="address">医生{{ item.technicianName }}</text><br><br>
<text class="address">医馆{{ item.brandName }}</text><br><br>
<text class="address">医馆电话{{ item.brandphone }}</text><br><br>
<div class="address-container">
<text class="address">医馆地址{{ item.brandaddress }}</text><br><br>
</div>
<text class="address">备注{{ item.remark }}</text><br><br>
</view>
<view>
<text class="status"
style="float: right; border-radius: 10px; background-color: orangered; padding: 5px 10px; color: white;"
v-if=" item.reStatus===0">待审核</text>
<text class="status"
style="float: right; border-radius: 10px; background-color: orangered; padding: 5px 10px; color: white;"
v-if=" item.reStatus===1">预约成功</text>
<text class="status"
style="float: right; border-radius: 10px; background-color: orangered; padding: 5px 10px; color: white;"
v-if=" item.reStatus===2">已完结</text><br><br>
</view>
</view>
</view>
</view>
</s-layout>
2024-10-14 19:12:22 +08:00
</template>
<script>
2024-10-16 18:09:51 +08:00
import {
ref,
computed,
onMounted
} from 'vue';
2024-10-14 19:12:22 +08:00
import request from '@/sheep/request';
import {
baseUrl,
apiPath
} from '@/sheep/config';
2024-10-16 18:09:51 +08:00
import sheep from '@/sheep';
2024-10-14 19:12:22 +08:00
export default {
2024-10-16 18:09:51 +08:00
setup() {
// 使用 ref 创建响应式数据
const memberId = ref(null);
const reservationList = ref([]);
const page = ref(1);
const limit = ref(10);
const totalPages = ref(1);
// 使用 computed 创建计算属性
const userInfo = computed(() => sheep.$store('user').userInfo);
memberId.value = userInfo.value.id;
// 使用 onMounted 生命周期钩子
onMounted(() => {
getList();
});
// 定义方法
function getList() {
2024-10-14 19:12:22 +08:00
request({
url: `${baseUrl}${apiPath}/h5/reservation/list`,
method: 'GET',
2024-10-16 18:09:51 +08:00
params: {
userId: memberId.value,
2024-10-14 19:12:22 +08:00
},
custom: {
showLoading: false,
},
}).then((res) => {
2024-10-16 18:09:51 +08:00
reservationList.value = res.data.list;
2024-10-14 19:12:22 +08:00
});
2024-10-16 18:09:51 +08:00
}
// 将响应式数据和方法暴露给模板
return {
memberId,
reservationList,
page,
limit,
totalPages,
getList,
};
},
2024-10-14 19:12:22 +08:00
};
</script>
2024-10-16 18:09:51 +08:00
<style scoped lang="scss">
2024-10-14 19:12:22 +08:00
.address-container {
2024-10-16 18:09:51 +08:00
display: flex;
align-items: center;
2024-10-14 19:12:22 +08:00
}
2024-10-16 18:09:51 +08:00
2024-10-14 19:12:22 +08:00
.container {
display: flex;
flex-direction: column;
/* align-items: center; */
background-color: #f5f5f5;
2024-10-16 18:09:51 +08:00
padding: 15px;
2024-10-14 19:12:22 +08:00
}
.header {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.title {
font-size: 24px;
font-weight: bold;
color: #333;
}
.cards {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-around;
margin-top: 0px;
}
.card {
/* width: calc(50% - 10px); */
width: 100%;
background-color: #fff;
border-radius: 10px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
margin-bottom: 20px;
padding: 10px;
}
.card-content {
display: flex;
justify-content: space-between;
2024-10-16 18:09:51 +08:00
.type {
position: relative;
padding-left: 20px;
&::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 10px;
height: 100%;
background: url('https://zysc.fjptzykj.com:3000/shangcheng/7b5c7b96c46b782e8928ed9e53d19563823408b481b03ec75954d8266ec55f6b.png') no-repeat;
background-size: 60%;
}
}
2024-10-14 19:12:22 +08:00
}
.card-contentinfo {
margin-top: 20px;
text-align: center;
/* display: flex;
justify-content: space-between; */
}
.card-image {
width: 50px;
height: 50px;
border-radius: 25px;
}
.technician {
margin-left: 20%;
}
.hospital,
.technician,
2024-10-16 18:09:51 +08:00
.type {
/* margin-left: 20px; */
2024-10-14 19:12:22 +08:00
font-size: 15px;
color: #161616;
font-weight: bold;
}
2024-10-16 18:09:51 +08:00
2024-10-14 19:12:22 +08:00
.status {
font-size: 15px;
color: #666;
}
2024-10-16 18:09:51 +08:00
.address {
margin: 20px 0px 0px 20px;
2024-10-14 19:12:22 +08:00
font-size: 15px;
color: #666;
2024-10-16 18:09:51 +08:00
}
2024-10-14 19:12:22 +08:00
.health-list {
background-color: #FFFFFF;
height: 100%;
width: 98%;
margin: 5PX;
padding-left: 15px;
padding-top: 10px;
/* padding: 10px; */
border-radius: 12px;
}
.health_title {
padding: 5px;
}
.health_title_img {
float: left;
width: 40px;
height: 40px;
}
.health-title-title {
float: none;
font-size: 18px;
font-weight: bold;
margin-top: 10px;
margin-left: 10px;
}
.time {
/* margin-top: 20px; */
font-size: 15px;
color: #5e5e5e;
}
2024-10-16 18:09:51 +08:00
</style>