258 lines
6.2 KiB
Vue
258 lines
6.2 KiB
Vue
<template>
|
||
<view>
|
||
<view class="list-box" v-if="listInfo.length > 0">
|
||
<view class="list-item" v-for="(item,index) in listInfo" :key="index">
|
||
<view class="head">
|
||
<view class="name"></view>
|
||
<view class="status" v-if='item.order_status == 1'>申请成功</view>
|
||
<view class="status font-col" v-else-if='item.order_status == 0'>待受理</view>
|
||
<view class="status font-col" v-else>已受理</view>
|
||
</view>
|
||
<view class="content" >
|
||
<view class="food-list">
|
||
<view class="food-list-item" v-for="(foodItem,foodIndex) in item.orderDetails" :key="foodIndex">
|
||
<image class="img" mode="" :src="foodItem.goods_icon" />
|
||
<view class="food-name">{{foodItem.goods_name}} {{foodItem.goods_num}}{{item.company}}</view>
|
||
</view>
|
||
</view>
|
||
<!-- <view class="price">¥{{item.pay_price}}</view> -->
|
||
</view>
|
||
<view class="bottom">
|
||
<text class="date">{{item.order_time}}</text>
|
||
<view class="btn-group">
|
||
<view class="btn" @click='cancelOrder(item)' v-if='item.order_status == 1'>取消申请</view>
|
||
<!-- <view class="btn" @click='evDining(2,item.dining_room_id,item.id)' v-if='item.order_status == 1'>食堂评价</view>
|
||
<view class="btn" @click='evDining(1,item.id,item.dining_room_id)' v-if='item.order_status == 1'>菜品评价</view>
|
||
-->
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<content-none :padTop="35" v-else></content-none>
|
||
<load-more :loadingType='loadingType' :contentText="contentText"></load-more>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import {alertTip,callbackRequest,getStorage} from '@/common/util.js';
|
||
import {myOrderList,cancelOrder} from '@/common/api.js';
|
||
import loadMore from '@/components/loadMore.vue';
|
||
import contentNone from '@/components/contentNone.vue';
|
||
export default {
|
||
data() {
|
||
return {
|
||
listInfo:[],
|
||
page:1,
|
||
pageSize:10,
|
||
loadingType:0,//0-loading前;1-loading中;2-没有更多了
|
||
contentText: {
|
||
contentdown: "上拉加载更多",
|
||
contentrefresh: "正在加载...",
|
||
contentnomore: "没有更多数据了"
|
||
},
|
||
userInfo:getStorage('userInfo'),//用户信息
|
||
}
|
||
},
|
||
components:{
|
||
loadMore,
|
||
contentNone
|
||
},
|
||
onLoad(){
|
||
this.initData();
|
||
},
|
||
methods: {
|
||
initData(){
|
||
// let data = {
|
||
// "method":myOrderList,
|
||
// data:{
|
||
// userId:this.userInfo.id,
|
||
// pageSize:this.pageSize,
|
||
// pageNum:this.page
|
||
// }
|
||
// }
|
||
// callbackRequest(data)
|
||
// .then(res => {
|
||
// if(res.data.returnCode == 1){
|
||
// let result = res.data.returnData || [];
|
||
// if(this.page == 1){
|
||
// this.listInfo = result;
|
||
// }else{
|
||
// if(result.length > 0){
|
||
// this.listInfo = this.listInfo.concat(result);
|
||
// this.loadingType = 0;
|
||
// }else{
|
||
// this.loadingType = 2;
|
||
// }
|
||
// }
|
||
|
||
// }
|
||
// })
|
||
this.listInfo = [
|
||
{
|
||
orderDetails:[{
|
||
goods_num:1,goods_name:'文件夹',goods_icon:'http://47.99.190.179:80/appImageDir/1.jpg'
|
||
},{
|
||
goods_num:1,goods_name:'计算器',goods_icon:'http://47.99.190.179:80/appImageDir/3.jpg',
|
||
}
|
||
],
|
||
order_time:'2020-01-06 17:00:00',
|
||
no_buy_num:20,
|
||
order_status:1,
|
||
company:'个'},
|
||
{
|
||
orderDetails:[{
|
||
goods_num:1,goods_name:'档案盒',goods_icon:'http://47.99.190.179:80/appImageDir/2.jpg'
|
||
}],
|
||
no_buy_num:20,
|
||
order_time:'2020-01-06 17:00:00',
|
||
order_status:0,
|
||
company:'个'},
|
||
{
|
||
orderDetails:[{
|
||
goods_num:1,goods_name:'计算器',goods_icon:'http://47.99.190.179:80/appImageDir/3.jpg',
|
||
}],
|
||
no_buy_num:20,
|
||
order_time:'2020-01-06 17:00:00',
|
||
order_status:2,
|
||
company:'个'}
|
||
];
|
||
},
|
||
cancelOrder(item){
|
||
let data = {
|
||
"method":cancelOrder,
|
||
data:{
|
||
userId:this.userInfo.id,
|
||
orderId:item.id
|
||
}
|
||
}
|
||
console.log(data);
|
||
uni.showModal({
|
||
content:'确认取消此订单 ?',
|
||
success:res => {
|
||
if(res.confirm){
|
||
callbackRequest(data)
|
||
.then(res => {
|
||
if(res.data.returnCode == 1){
|
||
alertTip('取消成功','success',2000);
|
||
this.page = 1;
|
||
this.loadingType = 0;
|
||
setTimeout(_ => {
|
||
this.initData()
|
||
}, 1000);
|
||
}
|
||
})
|
||
}
|
||
}
|
||
})
|
||
},
|
||
evDining(type,id,spareId){
|
||
uni.navigateTo({
|
||
url: `evaluate?type=${type}&typeId=${id}&spareId=${spareId}`
|
||
});
|
||
},
|
||
details : function(){
|
||
uni.navigateTo({
|
||
url: 'order-details'
|
||
});
|
||
}
|
||
},
|
||
//上拉加载更多
|
||
onReachBottom(){
|
||
if (this.loadingType !== 0) {
|
||
return;
|
||
}
|
||
this.loadingType = 1;
|
||
this.page = this.page+1;
|
||
this.initData();
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
@import '@/static/css/common.scss';
|
||
page{
|
||
background: #f8f8f8;
|
||
}
|
||
.list-box{
|
||
// padding:10upx;
|
||
.list-item{
|
||
background: #fff;
|
||
margin-bottom:10upx;
|
||
.head{
|
||
overflow:hidden;
|
||
padding:16upx 30upx;
|
||
border-bottom:1px solid #eee;
|
||
.name{
|
||
float:left;
|
||
font-size:28upx;
|
||
color:#333;
|
||
font-weight:bold;
|
||
line-height:40upx;
|
||
}
|
||
.status{
|
||
float:right;
|
||
font-size:26upx;
|
||
color:$assistColor;
|
||
line-height:40upx;
|
||
}
|
||
.font-col{
|
||
color:#999;
|
||
}
|
||
}
|
||
.content{
|
||
.food-list{
|
||
overflow: auto;
|
||
overflow-x: scroll;
|
||
white-space: nowrap;
|
||
padding:20upx 0 10upx 20rpx;
|
||
.food-list-item{
|
||
display: inline-block;
|
||
vertical-align: top;
|
||
margin-right: 20rpx;
|
||
.img{
|
||
width:200upx;
|
||
height:200upx;
|
||
}
|
||
.food-name{
|
||
font-size:24upx;
|
||
color:#666;
|
||
line-height:40upx;
|
||
text-align:center;
|
||
}
|
||
}
|
||
}
|
||
.price{
|
||
padding:4upx 30upx 20upx;
|
||
font-size:28upx;
|
||
color:#333;
|
||
line-height:40upx;
|
||
text-align:right;
|
||
}
|
||
}
|
||
.bottom{
|
||
border-top:1px solid #eee;
|
||
padding:16upx 30upx;
|
||
.date{
|
||
display: inline-block;
|
||
font-size:26upx;
|
||
color:#666;
|
||
line-height:52upx;
|
||
}
|
||
.btn-group{
|
||
float:right;
|
||
.btn{
|
||
float:right;
|
||
padding:10upx 10upx;
|
||
font-size:24upx;
|
||
color:$assistColor;
|
||
line-height:32upx;
|
||
border:1px solid $assistColor;
|
||
border-radius:4upx;
|
||
margin-left:10upx;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</style>
|