478 lines
11 KiB
Vue
478 lines
11 KiB
Vue
|
<template>
|
|||
|
<view class="page">
|
|||
|
<u-navbar :is-back="false" title="订单" :border-bottom="false" :background="bgc" title-color='#2E4975'
|
|||
|
title-size='36' height='36'></u-navbar>
|
|||
|
<view class="top_box">
|
|||
|
<view class="left_text">
|
|||
|
时间范围
|
|||
|
</view>
|
|||
|
<view class="timebox">
|
|||
|
<view class="left_time" @click="time1=true">
|
|||
|
{{firsTime}}
|
|||
|
</view>
|
|||
|
-
|
|||
|
<view class="right_time" @click="time2=true">
|
|||
|
{{lasTime}}
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="top_box">
|
|||
|
<view class="left_text">
|
|||
|
手机号
|
|||
|
</view>
|
|||
|
<view class="sear_ipt">
|
|||
|
<input type="text"
|
|||
|
v-model="searchKeyword"
|
|||
|
placeholder="请输入内容"
|
|||
|
class="input"
|
|||
|
placeholder-style="color:#C7CDD3"
|
|||
|
@input="search()">
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="tap">
|
|||
|
<view class="tap_cont " :class="curtitidx==0?'act1':''" @click="changeidx(0)">
|
|||
|
全部
|
|||
|
</view>
|
|||
|
<view class="tap_cont" :class="curtitidx==1?'act1':''" @click="changeidx(1)">
|
|||
|
进行中
|
|||
|
</view>
|
|||
|
<view class="tap_cont" :class="curtitidx==2?'act1':''" @click="changeidx(2)">
|
|||
|
待支付
|
|||
|
</view>
|
|||
|
<view class="tap_cont" :class="curtitidx==3?'act1':''" @click="changeidx(3)">
|
|||
|
已完成
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<u-mask :show="show" @click="show = false" :z-index='100' />
|
|||
|
<view class="tip_box" v-if="show">
|
|||
|
<view class="top">
|
|||
|
<view class="tip">
|
|||
|
提示
|
|||
|
</view>
|
|||
|
|
|||
|
<view class="txt">
|
|||
|
确定要辅助还车吗?
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="bot">
|
|||
|
<view class="bot_left" @click="show=false">
|
|||
|
取消
|
|||
|
</view>
|
|||
|
<view class="bot_right">
|
|||
|
确定
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<u-picker mode="time" v-model="time1" :params="params" @confirm="confirm1" :default-time='pickertime'></u-picker>
|
|||
|
<u-picker mode="time" v-model="time2" :params="params" @confirm="confirm2" :default-time='pickertime'></u-picker>
|
|||
|
<view class="warp_box">
|
|||
|
<swiper class="swiper" :style="{ height: swiperHeight + 'rpx' }" :current='curtitidx' @change="swiperchange" next-margin='-20rpx'>
|
|||
|
<swiper-item>
|
|||
|
<view class="swiper-item ">
|
|||
|
<view class="card" @click="todetail(item.id)" v-for="imte in 3" :key="imte">
|
|||
|
<view class="line"></view>
|
|||
|
<view class="top_info">
|
|||
|
<view class="top_info_left">
|
|||
|
订单编号:12635412134568461
|
|||
|
</view>
|
|||
|
<view class="top_info_right">
|
|||
|
<view class="yuan"></view>
|
|||
|
进行中
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
|
|||
|
<view class="lines"></view>
|
|||
|
<view class="order_info">
|
|||
|
<view class="info_li">
|
|||
|
租赁用户:15863007894
|
|||
|
</view>
|
|||
|
<view class="info_li">
|
|||
|
<view class="half_info_li">
|
|||
|
车辆编号:122323
|
|||
|
</view>
|
|||
|
<view class="half_info_li">
|
|||
|
租赁时长:6分钟
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="info_li">
|
|||
|
订单费用:6.00元
|
|||
|
</view>
|
|||
|
<view class="info_li">
|
|||
|
开关时间:2024.02.13 14:24:03-2024.02.13 14:30:03
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="lines"></view>
|
|||
|
<view class="btn_box">
|
|||
|
<view class="btn">
|
|||
|
辅助还车
|
|||
|
</view>
|
|||
|
<view class="btn_line">
|
|||
|
|
|||
|
</view>
|
|||
|
<view class="btn">
|
|||
|
查看详情
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</swiper-item>
|
|||
|
<swiper-item>
|
|||
|
<view class="swiper-item ">
|
|||
|
<view class="card" v-for="(item,index) in eledata" :key="index" v-if="item.status!=1" @click="todetail(item.id)">
|
|||
|
|
|||
|
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</swiper-item>
|
|||
|
<swiper-item>
|
|||
|
<view class="swiper-item ">
|
|||
|
<view class="card" v-for="(item,index) in fixdata" :key="index" v-if="item.status!=1" @click="todetail(item.id)">
|
|||
|
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</swiper-item>
|
|||
|
<swiper-item>
|
|||
|
<view class="swiper-item ">
|
|||
|
<view class="card" v-for="(item,index ) in alreadyList" :key="index" @click="todetail(item.id)">
|
|||
|
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</swiper-item>
|
|||
|
</swiper>
|
|||
|
</view>
|
|||
|
<tab-bar :indexs='2' style=""></tab-bar>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
export default {
|
|||
|
data() {
|
|||
|
return {
|
|||
|
bgc: {
|
|||
|
backgroundColor: "#F7FAFE",
|
|||
|
},
|
|||
|
params: {
|
|||
|
year: true,
|
|||
|
month: true,
|
|||
|
day: true,
|
|||
|
hour: false,
|
|||
|
minute: false,
|
|||
|
second: false
|
|||
|
},
|
|||
|
pickertime: '',
|
|||
|
time1:false,
|
|||
|
time2:false,
|
|||
|
lasTime:'00-00',
|
|||
|
firsTime:'00-00',
|
|||
|
searchKeyword:'',
|
|||
|
curtitidx:0,
|
|||
|
swiperHeight:414*3,
|
|||
|
fixdata: [],
|
|||
|
eledata: [],
|
|||
|
listData: [],
|
|||
|
alreadyList:[],
|
|||
|
show:true
|
|||
|
|
|||
|
}
|
|||
|
},
|
|||
|
onShow() {
|
|||
|
this.$store.dispatch('userInfo', this.$u).then(() => {
|
|||
|
|
|||
|
// 执行其他操作...
|
|||
|
});
|
|||
|
|
|||
|
},
|
|||
|
watch: {
|
|||
|
curtitidx(newValue, oldValue) {
|
|||
|
// 处理userId变化的逻辑
|
|||
|
console.log('userId 发生变化', newValue, oldValue);
|
|||
|
if(newValue==0){
|
|||
|
this.swiperHeight=(this.listData.length*440)
|
|||
|
}else if(newValue==1){
|
|||
|
this.swiperHeight=this.eledata.length*440
|
|||
|
}else if(newValue==1){
|
|||
|
this.swiperHeight=this.fixdata.length*440
|
|||
|
}
|
|||
|
}
|
|||
|
},
|
|||
|
computed: {
|
|||
|
userId() {
|
|||
|
return this.$store.getters.userId;
|
|||
|
},
|
|||
|
},
|
|||
|
methods: {
|
|||
|
changeidx(idx){
|
|||
|
this.curtitidx=idx
|
|||
|
},
|
|||
|
swiperchange(e){
|
|||
|
this.curtitidx=e.detail.current
|
|||
|
console.log(e,'eeeeeeeee');
|
|||
|
},
|
|||
|
confirm1(e) {
|
|||
|
console.log(e,'eeeeeeee');
|
|||
|
this.firsTime = e.year+'-'+e.month+'-'+e.day
|
|||
|
|
|||
|
},
|
|||
|
confirm2(e) {
|
|||
|
this.lasTime = e.year+'-'+e.month+'-'+e.day
|
|||
|
|
|||
|
},
|
|||
|
search() {
|
|||
|
// 根据关键字过滤 this.classlist
|
|||
|
if (this.searchKeyword !== '') {
|
|||
|
const filteredList = JSON.parse(JSON.stringify(this.orgstulist)).filter(item => {
|
|||
|
// 匹配 nickName 或者 id
|
|||
|
return item.nickName.includes(this.searchKeyword) || item.id.toString().includes(this.searchKeyword);
|
|||
|
});
|
|||
|
// 更新 this.classlist 为过滤后的列表
|
|||
|
this.stulist = filteredList;
|
|||
|
} else {
|
|||
|
this.fuwei();
|
|||
|
}
|
|||
|
},
|
|||
|
}
|
|||
|
}
|
|||
|
</script>
|
|||
|
|
|||
|
<style lang="scss">
|
|||
|
page {
|
|||
|
background-color: #fff;
|
|||
|
}
|
|||
|
|
|||
|
.page {
|
|||
|
width: 750rpx;
|
|||
|
.tip_box {
|
|||
|
position: fixed;
|
|||
|
left: 72rpx;
|
|||
|
top: 628rpx;
|
|||
|
width: 610rpx;
|
|||
|
// height: 282rpx;
|
|||
|
background: #FFFFFF;
|
|||
|
border-radius: 30rpx 30rpx 30rpx 30rpx;
|
|||
|
z-index: 110;
|
|||
|
padding-bottom: 100rpx;
|
|||
|
.top {
|
|||
|
padding: 52rpx 38rpx 42rpx 36rpx;
|
|||
|
.tip{
|
|||
|
width: 100%;
|
|||
|
text-align: center;
|
|||
|
font-weight: 700;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
.txt {
|
|||
|
margin-top: 32rpx;
|
|||
|
width: 100%;
|
|||
|
text-align: center;
|
|||
|
font-weight: 500;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.bot {
|
|||
|
position: absolute;
|
|||
|
|
|||
|
width: 610rpx;
|
|||
|
// border-top: 2rpx solid #D8D8D8;
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
// height: 100%;
|
|||
|
bottom: -20rpx;
|
|||
|
.bot_left {
|
|||
|
border-radius: 0rpx 0rpx 0rpx 30rpx;
|
|||
|
width: 50%;
|
|||
|
height: 86rpx;
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
justify-content: center;
|
|||
|
font-weight: 500;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
background: #EEEEEE;
|
|||
|
}
|
|||
|
|
|||
|
.bot_right {
|
|||
|
border-radius: 0rpx 0rpx 30rpx 0rpx;
|
|||
|
width: 50%;
|
|||
|
height: 86rpx;
|
|||
|
background: #4C97E7;
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
justify-content: center;
|
|||
|
color: #FFFFFF;
|
|||
|
// border-left: 2rpx solid #D8D8D8;
|
|||
|
font-weight: 500;
|
|||
|
font-size: 32rpx;
|
|||
|
// color: #4C97E7;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
.warp_box{
|
|||
|
.swiper{
|
|||
|
.swiper-item{
|
|||
|
.card{
|
|||
|
margin: 16rpx auto;
|
|||
|
width: 750rpx;
|
|||
|
background: #fff;
|
|||
|
.btn_box{
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
align-items: center;
|
|||
|
width: 100%;
|
|||
|
height: 96rpx;
|
|||
|
.btn{
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
justify-content: center;
|
|||
|
font-weight: 400;
|
|||
|
font-size: 36rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
width: 49%;
|
|||
|
}
|
|||
|
.btn_line{
|
|||
|
width: 0rpx;
|
|||
|
height: 51rpx;
|
|||
|
border: 2rpx solid #4C97E7;
|
|||
|
}
|
|||
|
}
|
|||
|
.order_info{
|
|||
|
padding: 26rpx 30rpx ;
|
|||
|
display: flex;
|
|||
|
flex-wrap: wrap;
|
|||
|
.info_li{
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
width: 100%;
|
|||
|
font-weight: 400;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #808080;
|
|||
|
.half_info_li{
|
|||
|
width: 50%;
|
|||
|
font-weight: 400;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #808080;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
.line{
|
|||
|
width: 750rpx;
|
|||
|
height: 22rpx;
|
|||
|
background: #F6F6F6;
|
|||
|
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
|||
|
}
|
|||
|
.lines{
|
|||
|
width: 750rpx;
|
|||
|
height: 2rpx;
|
|||
|
background: #D8D8D8;
|
|||
|
// border: 2rpx solid #D8D8D8;
|
|||
|
}
|
|||
|
.top_info{
|
|||
|
padding: 24rpx 32rpx;
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
align-items: center;
|
|||
|
.top_info_left{
|
|||
|
font-weight: 400;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
.top_info_right{
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
align-items: center;
|
|||
|
margin-left: auto;
|
|||
|
.yuan{
|
|||
|
margin-right: 12rpx;
|
|||
|
border-radius: 50%;
|
|||
|
width: 14rpx;
|
|||
|
height: 14rpx;
|
|||
|
background: #4C97E7;
|
|||
|
}
|
|||
|
font-weight: 400;
|
|||
|
font-size: 28rpx;
|
|||
|
color: #4C97E7;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
.tap{
|
|||
|
margin-top: 24rpx;
|
|||
|
width: 750rpx;
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
align-items: center;
|
|||
|
justify-content: space-around;
|
|||
|
|
|||
|
.tap_cont{
|
|||
|
text-align: center;
|
|||
|
padding-bottom: 15rpx;
|
|||
|
width: 100rpx;
|
|||
|
font-weight: 500;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
border-bottom: 6rpx solid #fff ;
|
|||
|
}
|
|||
|
.act1{
|
|||
|
border-bottom: 6rpx solid #4C97E7 ;
|
|||
|
color: #4C97E7;
|
|||
|
}
|
|||
|
}
|
|||
|
.top_box {
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
align-items: center;
|
|||
|
padding: 28rpx 30rpx;
|
|||
|
margin: 20rpx auto;
|
|||
|
width: 672rpx;
|
|||
|
height: 100rpx;
|
|||
|
background: #FFFFFF;
|
|||
|
box-shadow: 0rpx 4rpx 22rpx 0rpx rgba(0, 0, 0, 0.07);
|
|||
|
border-radius: 10rpx 10rpx 10rpx 10rpx;
|
|||
|
|
|||
|
.left_text {
|
|||
|
width: 25%;
|
|||
|
font-weight: 400;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #3D3D3D;
|
|||
|
}
|
|||
|
|
|||
|
.timebox {
|
|||
|
width: 75%;
|
|||
|
display: flex;
|
|||
|
flex-wrap: nowrap;
|
|||
|
align-items: center;
|
|||
|
margin-left: 34rpx;
|
|||
|
|
|||
|
.left_time {
|
|||
|
text-align: center;
|
|||
|
margin-right: 6rpx;
|
|||
|
height: 50rpx;
|
|||
|
width: 45%;
|
|||
|
border: 2rpx solid #ccc;
|
|||
|
border-radius: 12rpx;
|
|||
|
font-weight: 400;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #979797;
|
|||
|
}
|
|||
|
|
|||
|
.right_time {
|
|||
|
text-align: center;
|
|||
|
margin-left: 6rpx;
|
|||
|
height: 50rpx;
|
|||
|
width: 45%;
|
|||
|
border: 2rpx solid #ccc;
|
|||
|
border-radius: 12rpx;
|
|||
|
font-weight: 400;
|
|||
|
font-size: 32rpx;
|
|||
|
color: #979797;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
</style>
|