Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Hooke
/
xysBooking
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
hookehuyr
2024-01-16 13:18:44 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
7e75cdf1c7d5b256b8487a6a2bb7a6fc3b7eceee
7e75cdf1
1 parent
2cea4deb
新增预约记录页面
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
150 additions
and
1 deletions
src/route.js
src/views/bookingList.vue
src/route.js
View file @
7e75cdf
/*
* @Date: 2023-06-13 13:26:46
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2024-01-16 1
0:07
:28
* @LastEditTime: 2024-01-16 1
1:41
:28
* @FilePath: /xysBooking/src/route.js
* @Description: 文件描述
*/
...
...
@@ -56,6 +56,13 @@ export default [
},
},
{
path
:
'/bookingList'
,
component
:
()
=>
import
(
'@/views/bookingList.vue'
),
meta
:
{
title
:
'预约记录'
,
},
},
{
path
:
'/auth'
,
component
:
()
=>
import
(
'@/views/auth.vue'
),
meta
:
{
...
...
src/views/bookingList.vue
0 → 100644
View file @
7e75cdf
<!--
* @Date: 2024-01-16 11:37:10
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2024-01-16 13:17:42
* @FilePath: /xysBooking/src/views/bookingList.vue
* @Description: 文件描述
-->
<template>
<div class="booking-list-page">
<div v-for="(item, index) in bookingList" :key="index" class="booking-list-item">
<div class="booking-list-item-header">
<div>{{ item.booking_time }}</div>
<div :class="[formatStatus(item.status).key, 'status']">{{ formatStatus(item.status).value }}</div>
</div>
<div class="booking-list-item-body">
<div class="booking-num">
<div class="num-body">预约人数:<span>{{ item.num }} 人</span></div>
<div><van-icon name="arrow" /></div>
</div>
<div class="booking-price">支付金额:<span>¥ {{ item.price }}</span></div>
<div class="booking-time">下单时间:<span>{{ item.order_time }}</span></div>
</div>
</div>
</div>
</template>
<script setup>
import { ref } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, useTitle } from '@/utils/generatePackage.js'
//import { } from '@/utils/generateModules.js'
//import { } from '@/utils/generateIcons.js'
//import { } from '@/composables'
const $route = useRoute();
const $router = useRouter();
useTitle($route.meta.title);
const bookingList = ref([{
id: '1',
booking_time: '2024-01-10 05:00-08:00',
status: 'success',
num: '2',
price: '50',
order_time: '2024-01-09 13:09',
}, {
id: '2',
booking_time: '2024-01-11 05:00-08:00',
status: 'cancel',
num: '2',
price: '350',
order_time: '2024-01-09 13:09',
}, {
id: '3',
booking_time: '2024-01-12 05:00-08:00',
status: 'used',
num: '2',
price: '150',
order_time: '2024-01-09 13:09',
}]);
const formatStatus = (status) => {
switch (status) {
case 'success':
return {
key: 'success',
value: '预约成功'
}
case 'cancel':
return {
key: 'cancel',
value: '已取消'
}
case 'used':
return {
key: 'used',
value: '已使用'
}
}
}
</script>
<style lang="less" scoped>
.booking-list-page {
padding: 1rem;
.booking-list-item {
background-color: #FFF;
border-radius: 8px;
margin-bottom: 1rem;
.booking-list-item-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem;
border-bottom: 1px dashed #f0f0f0;
.status {
font-size: 0.75rem;
padding: 5px 8px;
border-radius: 5px;
}
.success {
color: #A67939;
background-color: #FBEEDC;
}
.cancel {
color: #929292;
background-color: #E6E6E6;
}
.used {
color: #477F3D;
background-color: #E5EFE3;
}
}
.booking-list-item-body {
padding: 1rem;
line-height: 1.7;
.booking-num {
display: flex;
justify-content: space-between;
.num-body {
color: #959595;
span {
color: #1E1E1E;
}
}
}
.booking-price {
color: #959595;
span {
color: #1E1E1E;
}
}
.booking-time {
color: #959595;
span {
color: #1E1E1E;
}
}
}
}
}
</style>
Please
register
or
login
to post a comment