zyejMAll-mobile/pages/reservation_record/reservation_record.vue
2024-10-16 18:09:51 +08:00

234 lines
4.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<s-layout title="预约记录" :bgStyle="{ color: '#fff' }">
<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>
<view style="height: 1px; background-color: #e8e8e8;margin:7px 0px 7px 0px"></view>
<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>
</template>
<script>
import {
ref,
computed,
onMounted
} from 'vue';
import request from '@/sheep/request';
import {
baseUrl,
apiPath
} from '@/sheep/config';
import sheep from '@/sheep';
export default {
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() {
request({
url: `${baseUrl}${apiPath}/h5/reservation/list`,
method: 'GET',
params: {
userId: memberId.value,
},
custom: {
showLoading: false,
},
}).then((res) => {
reservationList.value = res.data.list;
});
}
// 将响应式数据和方法暴露给模板
return {
memberId,
reservationList,
page,
limit,
totalPages,
getList,
};
},
};
</script>
<style scoped lang="scss">
.address-container {
display: flex;
align-items: center;
}
.container {
display: flex;
flex-direction: column;
/* align-items: center; */
background-color: #f5f5f5;
padding: 15px;
}
.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;
.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%;
}
}
}
.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,
.type {
/* margin-left: 20px; */
font-size: 15px;
color: #161616;
font-weight: bold;
}
.status {
font-size: 15px;
color: #666;
}
.address {
margin: 20px 0px 0px 20px;
font-size: 15px;
color: #666;
}
.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;
}
</style>