553 lines
14 KiB
Vue
553 lines
14 KiB
Vue
<template>
|
|
<view class="page">
|
|
<u-navbar title="报修单" :border-bottom="false" :background="bgc" title-color='#000' title-size='36'
|
|
height='36'></u-navbar>
|
|
<view class="top">
|
|
<view class="search_box">
|
|
|
|
<view class="search_center">
|
|
<input type="text" class="ips" v-model="code" placeholder="编码/报修单号" placeholder-style='font-weight: 400;font-size: 36rpx;color: #808080;' />
|
|
</view>
|
|
<view class="search_right">
|
|
搜索
|
|
</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>
|
|
</view>
|
|
<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" v-for="(item,index) in listData" :key="index" v-if="item.status!=1" @click="todetail(item.id)">
|
|
<view class="card_top">
|
|
<view class="card_top_left">
|
|
<image src="https://lxnapi.ccttiot.com/bike/img/static/uacJ7fdNpS3llY54ZaUi" mode=""></image>
|
|
电单车
|
|
</view>
|
|
<view class="card_top_right">
|
|
{{item.createTime}}
|
|
</view>
|
|
</view>
|
|
<view class="cont_info">
|
|
<view class="cont_info_left">
|
|
报修单号
|
|
</view>
|
|
<view class="cont_info_right">
|
|
{{item.orderNo}}
|
|
</view>
|
|
</view>
|
|
<view class="cont_info">
|
|
<view class="cont_info_left">
|
|
设备编号
|
|
</view>
|
|
<view class="cont_info_right">
|
|
{{item.sn}}
|
|
</view>
|
|
</view>
|
|
<view class="cont_info">
|
|
<view class="cont_info_left">
|
|
故障部位
|
|
</view>
|
|
<view class="cont_info_right">
|
|
{{item.faultTypeStr}}
|
|
</view>
|
|
</view>
|
|
<view class="card_bot">
|
|
<image src="https://lxnapi.ccttiot.com/bike/img/static/uklW7KIegcLR6E7DTOGO" mode=""></image>
|
|
{{item.address}}
|
|
<view class="stause" v-if="item.status==4" >
|
|
已完成
|
|
</view>
|
|
<view class="stause" v-if="item.status==2&&item.type==2" style="background-color: #F76D6D ;">
|
|
待换电
|
|
</view>
|
|
<view class="stause" v-if="item.status==2&&item.type==1" style="background-color: #F76D6D ;">
|
|
待维修
|
|
</view>
|
|
<view class="stause" v-if="item.status==3&&item.type==2" style="background-color: #4C97E7 ;">
|
|
换电中
|
|
</view>
|
|
<view class="stause" v-if="item.status==3&&item.type==1" style="background-color: #4C97E7 ;">
|
|
维修中
|
|
</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 class="card_top">
|
|
<view class="card_top_left">
|
|
<image src="https://lxnapi.ccttiot.com/bike/img/static/uacJ7fdNpS3llY54ZaUi" mode=""></image>
|
|
电单车
|
|
</view>
|
|
<view class="card_top_right">
|
|
{{item.createTime}}
|
|
</view>
|
|
</view>
|
|
<view class="cont_info">
|
|
<view class="cont_info_left">
|
|
报修单号
|
|
</view>
|
|
<view class="cont_info_right">
|
|
2126459452821387
|
|
</view>
|
|
</view>
|
|
<view class="cont_info">
|
|
<view class="cont_info_left">
|
|
设备编号
|
|
</view>
|
|
<view class="cont_info_right">
|
|
DS-21674651
|
|
</view>
|
|
</view>
|
|
<view class="cont_info">
|
|
<view class="cont_info_left">
|
|
故障部位
|
|
</view>
|
|
<view class="cont_info_right">
|
|
【车把】【刹车】
|
|
</view>
|
|
</view>
|
|
<view class="card_bot">
|
|
<image src="https://lxnapi.ccttiot.com/bike/img/static/uklW7KIegcLR6E7DTOGO" mode=""></image>
|
|
嵛山岛芦竹村三沙路68号
|
|
<view class="stause" v-if="item.status==4">
|
|
已完成
|
|
</view>
|
|
<view class="stause" v-if="item.status==2&&item.type==2">
|
|
待换电
|
|
</view>
|
|
<view class="stause" v-if="item.status==2&&item.type==1">
|
|
待维修
|
|
</view>
|
|
<view class="stause" v-if="item.status==3&&item.type==2">
|
|
换电中
|
|
</view>
|
|
<view class="stause" v-if="item.status==3&&item.type==1">
|
|
维修中
|
|
</view>
|
|
</view>
|
|
</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 class="card_top">
|
|
<view class="card_top_left">
|
|
<image src="https://lxnapi.ccttiot.com/bike/img/static/uacJ7fdNpS3llY54ZaUi" mode=""></image>
|
|
电单车
|
|
</view>
|
|
<view class="card_top_right">
|
|
{{item.createTime}}
|
|
</view>
|
|
</view>
|
|
<view class="cont_info">
|
|
<view class="cont_info_left">
|
|
报修单号
|
|
</view>
|
|
<view class="cont_info_right">
|
|
2126459452821387
|
|
</view>
|
|
</view>
|
|
<view class="cont_info">
|
|
<view class="cont_info_left">
|
|
设备编号
|
|
</view>
|
|
<view class="cont_info_right">
|
|
DS-21674651
|
|
</view>
|
|
</view>
|
|
<view class="cont_info">
|
|
<view class="cont_info_left">
|
|
故障部位
|
|
</view>
|
|
<view class="cont_info_right">
|
|
【车把】【刹车】
|
|
</view>
|
|
</view>
|
|
<view class="card_bot">
|
|
<image src="https://lxnapi.ccttiot.com/bike/img/static/uklW7KIegcLR6E7DTOGO" mode=""></image>
|
|
嵛山岛芦竹村三沙路68号
|
|
<view class="stause" v-if="item.status==4">
|
|
已完成
|
|
</view>
|
|
<view class="stause" v-if="item.status==2&&item.type==2">
|
|
待换电
|
|
</view>
|
|
<view class="stause" v-if="item.status==2&&item.type==1">
|
|
待维修
|
|
</view>
|
|
<view class="stause" v-if="item.status==3&&item.type==2">
|
|
换电中
|
|
</view>
|
|
<view class="stause" v-if="item.status==3&&item.type==1">
|
|
维修中
|
|
</view>
|
|
</view>
|
|
</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 class="card_top">
|
|
<view class="card_top_left">
|
|
<image src="https://lxnapi.ccttiot.com/bike/img/static/uacJ7fdNpS3llY54ZaUi" mode=""></image>
|
|
电单车
|
|
</view>
|
|
<view class="card_top_right">
|
|
2024-03-24 22:28:51
|
|
</view>
|
|
</view>
|
|
<view class="cont_info">
|
|
<view class="cont_info_left">
|
|
报修单号
|
|
</view>
|
|
<view class="cont_info_right">
|
|
|
|
</view>
|
|
</view>
|
|
<view class="cont_info">
|
|
<view class="cont_info_left">
|
|
设备编号
|
|
</view>
|
|
<view class="cont_info_right">
|
|
DS-21674651
|
|
</view>
|
|
</view>
|
|
<view class="cont_info">
|
|
<view class="cont_info_left">
|
|
故障部位
|
|
</view>
|
|
<view class="cont_info_right">
|
|
【车把】【刹车】
|
|
</view>
|
|
</view>
|
|
<view class="card_bot">
|
|
<image src="https://lxnapi.ccttiot.com/bike/img/static/uklW7KIegcLR6E7DTOGO" mode=""></image>
|
|
嵛山岛芦竹村三沙路68号
|
|
<view class="stause" v-if="item.status==4">
|
|
已完成
|
|
</view>
|
|
<view class="stause" v-if="item.status==2&&item.type==2">
|
|
待换电
|
|
</view>
|
|
<view class="stause" v-if="item.status==2&&item.type==1">
|
|
待维修
|
|
</view>
|
|
<view class="stause" v-if="item.status==3&&item.type==2">
|
|
换电中
|
|
</view>
|
|
<view class="stause" v-if="item.status==3&&item.type==1">
|
|
维修中
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</swiper-item>
|
|
</swiper>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
bgc: {
|
|
backgroundColor: "#fff",
|
|
},
|
|
code:'',
|
|
curtitidx:0,
|
|
swiperHeight:408,
|
|
fixdata: [],
|
|
eledata: [],
|
|
listData: [],
|
|
alreadyList:[]
|
|
|
|
}
|
|
},
|
|
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
|
|
}
|
|
}
|
|
},
|
|
onShow() {
|
|
this.getmarks()
|
|
},
|
|
methods: {
|
|
todetail(id){
|
|
uni.navigateTo({
|
|
url:'/page_fix/repair/repair_detail?id='+id
|
|
})
|
|
},
|
|
changeidx(idx){
|
|
this.curtitidx=idx
|
|
},
|
|
swiperchange(e){
|
|
this.curtitidx=e.detail.current
|
|
console.log(e,'eeeeeeeee');
|
|
},
|
|
getmarks() {
|
|
this.$u.get(`/appVerify/adminOrder/list?adminId=` + 2).then((res) => {
|
|
if (res.code == 200) {
|
|
console.log('调用了');
|
|
this.listData = res.rows;
|
|
res.rows.forEach(item => {
|
|
if (item.type == 1&&item.status!=4) {
|
|
this.fixdata.push(item);
|
|
console.log(this.fixdata, 'this.fixdata');
|
|
} else if (item.type == 2&item.status!=4) {
|
|
this.eledata.push(item);
|
|
}else if(item.status==4){
|
|
this.alreadyList.push(item) }
|
|
// 可以在这里执行其他针对每个项的操作
|
|
});
|
|
this.swiperHeight=(this.listData.length*440)
|
|
|
|
// this.markers = markers;
|
|
|
|
} else {
|
|
// 处理接口返回错误的情况
|
|
}
|
|
}).catch(error => {
|
|
// 处理接口请求失败的情况
|
|
});
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" >
|
|
page{
|
|
background-color: #F3F3F3;
|
|
}
|
|
.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;
|
|
|
|
.top {
|
|
padding: 52rpx 38rpx 42rpx 36rpx;
|
|
|
|
.txt {
|
|
width: 100%;
|
|
text-align: center;
|
|
font-weight: 500;
|
|
font-size: 32rpx;
|
|
color: #3D3D3D;
|
|
}
|
|
}
|
|
|
|
.bot {
|
|
border-top: 2rpx solid #D8D8D8;
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
height: 100%;
|
|
|
|
.bot_left {
|
|
width: 50%;
|
|
height: 98rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-weight: 500;
|
|
font-size: 36rpx;
|
|
color: #3D3D3D;
|
|
}
|
|
|
|
.bot_right {
|
|
width: 50%;
|
|
height: 98rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
|
|
border-left: 2rpx solid #D8D8D8;
|
|
font-weight: 500;
|
|
font-size: 36rpx;
|
|
color: #4C97E7;
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
.top{
|
|
width: 750rpx;
|
|
background: #fff;
|
|
padding-top: 26rpx;
|
|
.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: 140rpx;
|
|
font-weight: 500;
|
|
font-size: 32rpx;
|
|
color: #3D3D3D;
|
|
border-bottom: 6rpx solid #fff ;
|
|
}
|
|
.act1{
|
|
border-bottom: 6rpx solid #4C97E7 ;
|
|
color: #4C97E7;
|
|
}
|
|
}
|
|
.search_box{
|
|
margin:0 auto;
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
align-items: center;
|
|
width: 680rpx;
|
|
height:68rpx ;
|
|
border: 2rpx solid #4C97E7;
|
|
border-radius: 20rpx;
|
|
// .search_left{
|
|
// image{
|
|
// width: 56rpx;
|
|
// height: 56rpx;
|
|
// }
|
|
// }
|
|
.search_center{
|
|
margin-left: 40rpx;
|
|
width: 490rpx;
|
|
}
|
|
.search_right{
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin-left: auto;
|
|
width: 112rpx;
|
|
height: 68rpx;
|
|
background: #4C97E7;
|
|
border: 2rpx solid #4C97E7;
|
|
border-radius:0 20rpx 20rpx 0;
|
|
font-weight: 400;
|
|
font-size: 32rpx;
|
|
color: #FFFFFF;
|
|
}
|
|
}
|
|
}
|
|
.warp_box{
|
|
.swiper{
|
|
.swiper-item{
|
|
.card{
|
|
margin: 16rpx auto;
|
|
width: 752rpx;
|
|
height: 408rpx;
|
|
background: #FFFFFF;
|
|
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
|
.card_top{
|
|
padding: 32rpx 38rpx 28rpx 38rpx;
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
align-items: center;
|
|
.card_top_left{
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
align-items: center;
|
|
image{
|
|
width: 42rpx;
|
|
height: 42rpx;
|
|
margin-right: 18rpx;
|
|
}
|
|
font-weight: 500;
|
|
font-size: 32rpx;
|
|
color: #3D3D3D;
|
|
}
|
|
.card_top_right{
|
|
margin-left: auto;
|
|
font-weight: 400;
|
|
font-size: 28rpx;
|
|
color: #808080;
|
|
}
|
|
}
|
|
.cont_info{
|
|
margin-left: 38rpx;
|
|
margin-bottom: 28rpx;
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
align-items: center;
|
|
.cont_info_left{
|
|
margin-right: 44rpx;
|
|
font-weight: 400;
|
|
font-size: 28rpx;
|
|
color: #808080;
|
|
}
|
|
.cont_info_right{
|
|
font-weight: 400;
|
|
font-size: 28rpx;
|
|
color: #3D3D3D;
|
|
}
|
|
}
|
|
.card_bot{
|
|
display: flex;
|
|
align-items: center;
|
|
border-top: 2rpx dashed #D8D8D8;
|
|
height: 102rpx;
|
|
image{
|
|
margin-left: 40rpx;
|
|
margin-right: 18rpx;
|
|
width: 41.66rpx;
|
|
height: 48rpx;
|
|
}
|
|
font-weight: 400;
|
|
font-size: 28rpx;
|
|
color: #3D3D3D;
|
|
.stause{
|
|
display: flex;align-items: center;
|
|
justify-content: center;
|
|
margin-left: auto;
|
|
margin-right: 38rpx;
|
|
width: 132rpx;
|
|
height: 54rpx;
|
|
background: #979797;
|
|
font-weight: 400;
|
|
font-size: 28rpx;
|
|
color: #FFFFFF;
|
|
border-radius: 8rpx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|