You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
237 lines
5.8 KiB
237 lines
5.8 KiB
<template>
|
|
<view>
|
|
<view class=" mart10 marb20 alijus">
|
|
<view class="font16 fcor333 paddtop5 paddbotm5 margle20 marRight40" v-for="(item,index) in orderStatus"
|
|
@click="switchid(item)" :class="[goodtyid == item.id ? 'fcor089 borbtom fontwig6' : '']" :key="index">
|
|
{{item.title}}
|
|
</view>
|
|
</view>
|
|
|
|
<view v-if="serviceList == ''" class="mart60 fotct font14 fcor666">
|
|
<image mode="widthFix" style="width: 70vw;" src="../../../static/img/noorder.png"></image>
|
|
</view>
|
|
<view class="width94 backcorfff border-r mart15" v-for="(item,index) in serviceList" :key="index"
|
|
@click="jumpService(item.orderNo)">
|
|
<view class="notes">
|
|
<view class="width100 margle">
|
|
<view class="font18 fcor333 fontwig6">{{item.orderNo}}</view>
|
|
<view class="font13 fcor999 mart5">支付金额: ¥{{item.payPrice}}</view>
|
|
<view class="font13 fcor999 mart5">支付时间: {{item.payTime | timeFormat('yyyy-mm-dd hh:mm:ss')}}
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="conts" v-if="item.orderAssignList !=''">
|
|
<view class="margle10 font13 fcor999">设备编号: {{item.orderAssignList[0].deviceNo}}</view>
|
|
</view>
|
|
<view class="conts">
|
|
<view class="margle10 font13 fcor999">设备类型: {{item.deviceType | toFilter()}}</view>
|
|
<view class="margle10 font13 fcor999">申请数量: 1台</view>
|
|
</view>
|
|
<view class="width90 paddbotm10 alijusstart">
|
|
<view class="otstatucs border-r marRight10" @click.stop="orderRefund(item.orderNo)" v-if="item.status == 2">
|
|
订单退款
|
|
</view>
|
|
<view class="otstatucs border-r marRight10" @click.stop="replace(item.orderAssignList[0].id)"
|
|
v-if="item.status == 3">
|
|
更换设备
|
|
</view>
|
|
</view>
|
|
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
getOrderList,
|
|
orderRefund
|
|
} from '../../../Utils/Api.js';
|
|
let app = getApp();
|
|
export default {
|
|
data() {
|
|
return {
|
|
orderStatus: [{
|
|
id: 2,
|
|
title: '已支付'
|
|
},
|
|
{
|
|
id: 3,
|
|
title: '已完成'
|
|
},
|
|
{
|
|
id: 4,
|
|
title: '已退款'
|
|
}
|
|
], //状态
|
|
pageNum: 1,
|
|
pagesize: 15,
|
|
goodtyid: 2, //当前状态
|
|
isLoadMore: false, //是否加载中
|
|
serviceList: [] //设备列表˚
|
|
}
|
|
},
|
|
filters: {
|
|
// 过滤器
|
|
toFilter: function(id) {
|
|
let codeName;
|
|
for (let i = 0; i < app.globalData.Dictionaries.DEVICE_TYPE.length; i++) {
|
|
if (id == app.globalData.Dictionaries.DEVICE_TYPE[i].codeValue) {
|
|
codeName = app.globalData.Dictionaries.DEVICE_TYPE[i].codeName;
|
|
}
|
|
}
|
|
return codeName;
|
|
}
|
|
},
|
|
onReachBottom() { //上拉触底函数
|
|
if (!this.isLoadMore) { //此处判断,上锁,防止重复请求
|
|
// this.isLoadMore = true
|
|
this.pageNum += 1
|
|
// this.serviceList = [];
|
|
this.getOrderList();
|
|
}
|
|
},
|
|
onShow() {
|
|
this.serviceList = [];
|
|
this.goodtyid = 2;
|
|
this.pageNum = 1;
|
|
this.isLoadMore = false;
|
|
this.getOrderList();
|
|
},
|
|
methods: {
|
|
//切换id
|
|
switchid(item) {
|
|
this.goodtyid = item.id;
|
|
this.pageNum = 1;
|
|
this.serviceList = [];
|
|
this.isLoadMore = false;
|
|
this.getOrderList();
|
|
},
|
|
|
|
//查询订单设备
|
|
getOrderList() {
|
|
uni.showLoading({
|
|
title: '加载中'
|
|
})
|
|
let datas = {
|
|
pageNum: this.pageNum,
|
|
pageSize: this.pagesize,
|
|
status: this.goodtyid
|
|
}
|
|
getOrderList(datas).then(res => {
|
|
uni.hideLoading();
|
|
if (res.return_code == '000000' && res.return_data.list != '') {
|
|
this.serviceList = this.serviceList.concat(res.return_data.list);
|
|
if (res.return_data.pages == this.pageNum) {
|
|
this.isLoadMore = true;
|
|
} else {
|
|
this.isLoadMore = false
|
|
}
|
|
} else {
|
|
this.serviceList = [];
|
|
}
|
|
})
|
|
},
|
|
//分配设备
|
|
jumpService(item) {
|
|
if (this.goodtyid == 2) {
|
|
uni.navigateTo({
|
|
url: '../mineService/mineService?id=2' + '&orderNo=' + item
|
|
})
|
|
}
|
|
if (this.goodtyid == 3 || this.goodtyid == 4) {
|
|
uni.navigateTo({
|
|
url: '../serviceOrderDetails/serviceOrderDetails?orderNo=' + item
|
|
})
|
|
}
|
|
},
|
|
//更换设备
|
|
replace(item) {
|
|
uni.navigateTo({
|
|
url: '../mineService/mineService?id=4' + '&assderid=' + item
|
|
})
|
|
},
|
|
//订单退款
|
|
orderRefund(item) {
|
|
uni.showModal({
|
|
title: '温馨提示',
|
|
content: '是否退款当前订单',
|
|
success: (res) => {
|
|
if (res.confirm) {
|
|
uni.showLoading({
|
|
title: '加载中'
|
|
})
|
|
let datas = {
|
|
"orderNo": item
|
|
}
|
|
orderRefund(datas).then(res => {
|
|
uni.hideLoading();
|
|
if (res.return_code == '000000') {
|
|
uni.showToast({
|
|
title: '退款成功',
|
|
duration: 2000,
|
|
icon: 'none'
|
|
})
|
|
this.serviceList = [];
|
|
this.getOrderList();
|
|
} else {
|
|
uni.showToast({
|
|
title: res.return_msg,
|
|
duration: 2000,
|
|
icon: 'none'
|
|
})
|
|
}
|
|
})
|
|
} else if (res.cancel) {}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
.borbtom {
|
|
border-bottom: 3px solid #089bf5;
|
|
}
|
|
|
|
page {
|
|
background-color: #f6f6f6;
|
|
}
|
|
|
|
.notes {
|
|
width: calc(100% - 40rpx);
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 30rpx 0 10rpx 20rpx;
|
|
}
|
|
|
|
.storestus {
|
|
padding: 1px 5px;
|
|
color: #91bb88;
|
|
font-size: 14px;
|
|
background-color: #e8fbe6;
|
|
}
|
|
|
|
.otstatucs {
|
|
background-color: #fbeee4;
|
|
color: #db8c73;
|
|
font-size: 14px;
|
|
width: 60px;
|
|
padding: 6px 8px;
|
|
}
|
|
|
|
.conts {
|
|
width: calc(100% - 60rpx);
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 2px 0rpx 14rpx 14rpx;
|
|
}
|
|
|
|
.xfimg {
|
|
width: 100rpx;
|
|
bottom: 60rpx;
|
|
position: fixed;
|
|
right: 40rpx;
|
|
}
|
|
</style> |