unknown
1 year ago
13 changed files with 113 additions and 291 deletions
-
7config/api.js
-
21config/request.js
-
1pages/carEntry/examineAppointment/comp/pickDate.vue
-
16pages/carEntry/operaAppointment/comp/pickDate.vue
-
1pages/carEntry/simulateAppointment/comp/pickDate.vue
-
251pages/carEntry/simulateAppointment/comp/step1 - 副本.vue
-
1pages/carEntry/simulateAppointment/comp/step2.vue
-
12pages/mineEntry/myAppointment/comp/comp.scss
-
27pages/mineEntry/myAppointment/comp/opera.vue
-
19pages/mineEntry/myAppointment/detail/detail.vue
-
23pages/mineEntry/myAppointment/detail/opera.vue
-
21pages/mineEntry/myAppointment/myAppointment.vue
-
4pages/tabbar/index/index.vue
@ -1,251 +0,0 @@ |
|||
<template> |
|||
<view class="step1"> |
|||
<view class="card"> |
|||
<view class="dateBox"> |
|||
<view class="month-row"> |
|||
<view class="month">2032.08</view> |
|||
<view class="arrow"> |
|||
<u-icon name="arrow-down" :size="12" :color="'#1989FA'"></u-icon> |
|||
</view> |
|||
</view> |
|||
<view class="date_row"> |
|||
<view class="icon left" @click="changeDateIndex(-1)"> |
|||
<u-icon name="arrow-left" :size="12" :color="'#fff'"></u-icon> |
|||
</view> |
|||
<view class="dateArr" > |
|||
<view class="dateWidth" v-for="(item,index) in dateArr[currentDay]" :key="index" @click="chooseDate(item)" > |
|||
<view class="date" :class="{active: chooseDay==item.date}"> |
|||
<view class="week">{{ item.week }}</view> |
|||
<view class="num">{{ item.num }}</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<view class="icon right" @click="changeDateIndex(1)"> |
|||
<u-icon name="arrow-right" :size="12" :color="'#fff'"></u-icon> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="card"> |
|||
<view class="timeCon"> |
|||
<view class="h2">上午</view> |
|||
<view class="time_box"> |
|||
<view class="time_item" v-for="(item,index) in timerArr" :key="index" @click="chooseTimerClick(item)" :class="{active: item.id==chooseTimerId, disable: item.status!==1}"> |
|||
<view class="lab" v-if="item.status==3">已过期</view> |
|||
<view class="lab" v-if="item.status==2">已约满</view> |
|||
<view class="lab" v-if="item.status==1">可预约</view> |
|||
<view class="time">{{ item.timer }}</view> |
|||
</view> |
|||
</view> |
|||
<view class="h2">下午</view> |
|||
<view class="time_box"> |
|||
<view class="time_item" v-for="(item,index) in timerArr2" :key="index" @click="chooseTimerClick(item)" :class="{active: item.id==chooseTimerId,disable: item.status!==1}"> |
|||
<view class="lab" v-if="item.status==3">已过期</view> |
|||
<view class="lab" v-if="item.status==2">已约满</view> |
|||
<view class="lab" v-if="item.status==1">可预约</view> |
|||
<view class="time">{{ item.timer }}</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="btn" @click="changeStep(2)">下一步</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import { getDates } from '@/config/utils.js' |
|||
export default { |
|||
data() { |
|||
return { |
|||
dateArr: [], |
|||
currentDay: 0, |
|||
chooseDay: '', |
|||
timerArr: [ |
|||
{status: 1, timer: '06:00-07:00', id: 1}, |
|||
{status: 2, timer: '06:00-07:00', id: 2}, |
|||
{status: 3, timer: '06:00-07:00', id: 3}, |
|||
], |
|||
timerArr2: [ |
|||
{status: 1, timer: '06:00-07:00', id: 4}, |
|||
{status: 2, timer: '06:00-07:00', id: 5}, |
|||
{status: 3, timer: '06:00-07:00', id: 6}, |
|||
], |
|||
chooseTimerId: '' |
|||
} |
|||
}, |
|||
mounted() { |
|||
const startDate = new Date('2023-09-06'); |
|||
const endDate = new Date(); |
|||
this.dateArr = getDates(startDate, endDate); |
|||
}, |
|||
methods: { |
|||
// 选择时间 |
|||
chooseTimerClick(item) { |
|||
if(item.status!=1) return this.$u.toast('请选择可预约时间') |
|||
this.chooseTimerId = item.id |
|||
}, |
|||
// 选择日期 |
|||
chooseDate(item) { |
|||
this.chooseDay = item.date |
|||
console.log(this.chooseDay) |
|||
}, |
|||
changeDateIndex(num) { |
|||
if(this.currentDay==0&&num==-1) return |
|||
if(this.currentDay==this.dateArr.length-1&&num==1) return |
|||
this.currentDay = this.currentDay + num |
|||
console.log(this.currentDay) |
|||
}, |
|||
changeStep(val) { |
|||
this.$emit('changeStep', val) |
|||
}, |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.card { |
|||
width: 100%; |
|||
margin-bottom: 24rpx; |
|||
overflow: hidden; |
|||
.dateBox { |
|||
padding: 36rpx 0 40rpx 0; |
|||
.month-row { |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
margin-bottom: 36rpx; |
|||
.month { |
|||
font-size: 32rpx; |
|||
color: $themC; |
|||
} |
|||
|
|||
.arrow { |
|||
margin-left: 6rpx; |
|||
} |
|||
} |
|||
|
|||
.date_row { |
|||
width: 100%; |
|||
height: 100rpx; |
|||
position: relative; |
|||
.icon { |
|||
width: 40rpx; |
|||
height: 40rpx; |
|||
background: rgba(51,51,51,0.18); |
|||
backdrop-filter: blur(4rpx); |
|||
position: absolute; |
|||
top: 50%; |
|||
transform: translateY(-50%); |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
border-radius: 50%; |
|||
&.left { |
|||
left: 16rpx; |
|||
} |
|||
&.right { |
|||
right: 16rpx; |
|||
} |
|||
} |
|||
|
|||
.dateArr { |
|||
display: flex; |
|||
padding: 0 70rpx; |
|||
// justify-content: space-between; |
|||
&.oneDate { |
|||
justify-content: center; |
|||
} |
|||
.dateWidth { |
|||
width: 20%; |
|||
display: flex; |
|||
justify-content: center; |
|||
} |
|||
.date { |
|||
width: 74rpx; |
|||
height: 100rpx; |
|||
border-radius: 16rpx; |
|||
display: flex; |
|||
flex-direction: column; |
|||
align-items: center; |
|||
justify-content: center; |
|||
font-size: 28rpx; |
|||
color: #333; |
|||
&.active { |
|||
background: rgba(25,137,250,0.1); |
|||
border: 2rpx solid #1989FA; |
|||
color: $themC; |
|||
} |
|||
.week { |
|||
|
|||
} |
|||
|
|||
.num { |
|||
margin-top: 4rpx; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.card { |
|||
.timeCon { |
|||
padding: 0 24rpx 40rpx 24rpx; |
|||
} |
|||
.h2 { |
|||
line-height: 90rpx; |
|||
font-weight: 500; |
|||
color: #333; |
|||
} |
|||
|
|||
.time_box { |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
justify-content: space-between; |
|||
.time_item { |
|||
width: 30%; |
|||
height: 120rpx; |
|||
background: #F8F8F8; |
|||
border-radius: 12rpx; |
|||
display: flex; |
|||
flex-direction: column; |
|||
justify-content: center; |
|||
align-items: center; |
|||
border-radius: 12rpx; |
|||
color: #333; |
|||
&.active { |
|||
background: rgba(25,137,250,0.1); |
|||
border: 2rpx solid #1989FA; |
|||
color: $themC; |
|||
} |
|||
&.disable { |
|||
opacity: 0.4; |
|||
} |
|||
.lab { |
|||
font-size: 28rpx; |
|||
font-weight: 500; |
|||
} |
|||
|
|||
.time { |
|||
font-size: 24rpx; |
|||
margin-top: 4rpx; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.btn { |
|||
width: 47%; |
|||
height: 72rpx; |
|||
background: #1989FA; |
|||
border-radius: 8rpx; |
|||
font-size: 28rpx; |
|||
color: #fff; |
|||
text-align: center; |
|||
line-height: 72rpx; |
|||
margin: 108rpx auto 50rpx auto; |
|||
} |
|||
</style> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue