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.
114 lines
3.7 KiB
114 lines
3.7 KiB
<template>
|
|
<div class="order-list-whole">
|
|
<back-header path="/mall/web/owner">
|
|
我的订单
|
|
</back-header>
|
|
<div class="state-bar">
|
|
<div class="state-item" @click="active=''" :class="{active:active===''}">全部</div>
|
|
<div class="state-item" @click="active=0" :class="{active:active===0}">待支付</div>
|
|
<div class="state-item" @click="active=10" :class="{active:active==10}">已支付</div>
|
|
<div class="state-item" @click="active=20" :class="{active:active==20}">退款中</div>
|
|
<div class="state-item" @click="active=21" :class="{active:active==21}">已退款</div>
|
|
</div>
|
|
<order-item v-for="item in list" :id="item.orderNo" :pay="item.payPrice/100" :totalPrice="item.totalPrice/100" :name="item.goodsName" :desc="item.shortDesc" :address="item.merchantName" :status="item.status" :img="imghost+item.goodsImgUrl" :label="item.smallLabel"></order-item>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import orderItem from "../components/order-item.vue";
|
|
import backHeader from "../components/back-header.vue";
|
|
import orderApi from "../models/order-model.js";
|
|
export default {
|
|
data() {
|
|
return {
|
|
active: "",
|
|
list: []
|
|
};
|
|
},
|
|
components: {
|
|
"back-header": backHeader,
|
|
"order-item": orderItem
|
|
},
|
|
watch: {
|
|
active(val) {
|
|
this.getData();
|
|
}
|
|
},
|
|
methods: {
|
|
getData() {
|
|
this.$vux.loading.show({
|
|
text: "Loading"
|
|
});
|
|
orderApi
|
|
.getList({
|
|
status: this.active
|
|
})
|
|
.then(res => {
|
|
if (res && res.code == 0) {
|
|
this.list = res.response.slice();
|
|
if (this.list.length > 0) {
|
|
this.wechat(this.list[0].merchantNo);
|
|
}
|
|
} else if (res.code == 666) {
|
|
this.$vux.toast.text("您还没登录,请先登录!", "middle");
|
|
setTimeout(function() {
|
|
window.location.href = "/mall/web/user/login";
|
|
}, 2000);
|
|
} else {
|
|
if (
|
|
res.msg == "" ||
|
|
res.msg == undefined ||
|
|
res.msg == null
|
|
) {
|
|
res.msg = "操作失败,请刷新重试";
|
|
}
|
|
this.$vux.toast.text(res.msg, "middle");
|
|
}
|
|
this.$vux.loading.hide();
|
|
});
|
|
},
|
|
wechat(merchantNo) {
|
|
this.wxShare({
|
|
merchantNo: merchantNo,
|
|
source: 0,
|
|
url: encodeURIComponent(location.href),
|
|
shareUrl: encodeURIComponent(
|
|
"http://" + location.host + "/v2/home"
|
|
)
|
|
});
|
|
}
|
|
},
|
|
mounted() {
|
|
this.getData();
|
|
}
|
|
};
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
.order-list-whole {
|
|
}
|
|
.state-bar {
|
|
width: 100%;
|
|
height: 0.8rem;
|
|
// box-sizing: border-box;
|
|
border-top: 0.01rem solid rgba(238, 238, 238, 1);
|
|
background-color: white;
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 0rem 0.46rem 0 0.46rem;
|
|
box-sizing: border-box;
|
|
justify-content: space-between;
|
|
margin-bottom: 0.2rem;
|
|
.state-item {
|
|
line-height: 0.8rem;
|
|
font-size: 0.32rem;
|
|
font-family: PingFang-SC-Medium;
|
|
height: 100%;
|
|
font-weight: 500;
|
|
padding: 0 0.07rem;
|
|
}
|
|
.active {
|
|
padding-top: 0.03rem;
|
|
border-bottom: 0.03rem solid #00ba86;
|
|
color: rgba(0, 186, 134, 1);
|
|
}
|
|
}
|
|
</style>
|