热更新
This commit is contained in:
@@ -2,16 +2,21 @@
|
||||
<view class="container commonPageBox commonDetailPage">
|
||||
<!-- 公共组件-每个页面必须引入 -->
|
||||
<public-module></public-module>
|
||||
<z-nav-bar title="我的订单" bgColor="#3AB3AE" fontColor="#fff" :backState="2000">
|
||||
<z-nav-bar
|
||||
title="我的订单"
|
||||
bgColor="#3AB3AE"
|
||||
fontColor="#fff"
|
||||
:backState="2000"
|
||||
>
|
||||
<!-- <template slot="left">
|
||||
<u-icon
|
||||
@click="goHome"
|
||||
name="home"
|
||||
color="#fff"
|
||||
size="22"
|
||||
style="display: inline-block; margin-left: 30rpx"
|
||||
></u-icon>
|
||||
</template> -->
|
||||
<u-icon
|
||||
@click="goHome"
|
||||
name="home"
|
||||
color="#fff"
|
||||
size="22"
|
||||
style="display: inline-block; margin-left: 30rpx"
|
||||
></u-icon>
|
||||
</template> -->
|
||||
</z-nav-bar>
|
||||
|
||||
<!-- 顶部导航栏 -->
|
||||
@@ -30,10 +35,15 @@
|
||||
<!-- 站位 -->
|
||||
|
||||
<!-- <view v-if="ordersListTab == 1"> -->
|
||||
<view class="order_box">
|
||||
<view
|
||||
class="order_box"
|
||||
:style="`height: calc(100% - ${(80 + statusBarHeight) * 2}rpx);`"
|
||||
>
|
||||
<common-list
|
||||
imgUrl="url"
|
||||
noDataIcon="data"
|
||||
:isScroll="true"
|
||||
:isLoadingHide="isLoadingHide"
|
||||
:isNoIcon="true"
|
||||
:isCondition="true"
|
||||
:dataList="newList"
|
||||
@@ -77,18 +87,36 @@
|
||||
>过期</view
|
||||
>
|
||||
<view
|
||||
v-if="slotProps.row.orderType == 'point'"
|
||||
class="bookinfolist"
|
||||
style="height: auto"
|
||||
>
|
||||
<!-- <image
|
||||
class="feng"
|
||||
v-if="item1.product.productImages"
|
||||
:src="item1.product.productImages"
|
||||
mode="aspectFill"
|
||||
></image> -->
|
||||
<!-- <view class="description" v-html="item.content">
|
||||
</view> -->
|
||||
<view class="btns flexbox">
|
||||
<view class="booknameleft">充值</view>
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
v-else
|
||||
v-for="(item1, index1) in slotProps.row.productList"
|
||||
:key="index1"
|
||||
class="bookinfolist"
|
||||
>
|
||||
<image
|
||||
class="feng"
|
||||
v-if="item1.product.productImages"
|
||||
v-if="item1.product && item1.product.productImages"
|
||||
:src="item1.product.productImages"
|
||||
mode="aspectFill"
|
||||
></image>
|
||||
<!-- <view class="description" v-html="item.content">
|
||||
</view> -->
|
||||
</view> -->
|
||||
<view class="btns flexbox">
|
||||
<view class="booknameleft">{{
|
||||
item1.product.productName
|
||||
@@ -163,11 +191,11 @@
|
||||
>申请售后</view
|
||||
>
|
||||
<!-- <view
|
||||
class="orderstatusbtn"
|
||||
v-if="item.orderStatus == 3 && userRecordid == null"
|
||||
@click.native.stop="pingji(item.productId)"
|
||||
>评价</view
|
||||
> -->
|
||||
class="orderstatusbtn"
|
||||
v-if="item.orderStatus == 3 && userRecordid == null"
|
||||
@click.native.stop="pingji(item.productId)"
|
||||
>评价</view
|
||||
> -->
|
||||
<!-- <view class="orderstatusbtn" v-if="item.orderStatus == 3 && userRecordid != null" @click.stop="showZhuiping(item.productId)">追评</view> -->
|
||||
</view>
|
||||
</view>
|
||||
@@ -184,21 +212,21 @@
|
||||
</common-list>
|
||||
</view>
|
||||
<!-- <view v-if="status == 0" style="text-align: center">
|
||||
<u-loading-icon style="display: inline-block"></u-loading-icon>
|
||||
<font
|
||||
style="
|
||||
vertical-align: super;
|
||||
margin-left: 10px;
|
||||
font-size: 26rpx;
|
||||
color: #909399;
|
||||
"
|
||||
>努力加载中</font
|
||||
>
|
||||
</view>
|
||||
<view v-if="status == 1" style="padding-bottom: 20rpx">
|
||||
<u-divider v-if="newList.length > 0" text="全部加载完成"></u-divider>
|
||||
<u-divider v-else text="暂无订单"></u-divider>
|
||||
</view> -->
|
||||
<u-loading-icon style="display: inline-block"></u-loading-icon>
|
||||
<font
|
||||
style="
|
||||
vertical-align: super;
|
||||
margin-left: 10px;
|
||||
font-size: 26rpx;
|
||||
color: #909399;
|
||||
"
|
||||
>努力加载中</font
|
||||
>
|
||||
</view>
|
||||
<view v-if="status == 1" style="padding-bottom: 20rpx">
|
||||
<u-divider v-if="newList.length > 0" text="全部加载完成"></u-divider>
|
||||
<u-divider v-else text="暂无订单"></u-divider>
|
||||
</view> -->
|
||||
|
||||
<!-- 对话框 -->
|
||||
<u-popup :show="pingjiaShow" :round="10" @close="closePingjia">
|
||||
@@ -211,8 +239,8 @@
|
||||
<!-- 评价图片 -->
|
||||
<!-- end -->
|
||||
<!-- <uni-forms-item name="comment" label-width="0">
|
||||
<uni-easyinput type="textarea" v-model="Pform.comment" placeholder="请输入您的商品评价" />
|
||||
</uni-forms-item> -->
|
||||
<uni-easyinput type="textarea" v-model="Pform.comment" placeholder="请输入您的商品评价" />
|
||||
</uni-forms-item> -->
|
||||
</uni-forms>
|
||||
<!-- <u-button type="success" @click="submitPJ">提交评价</u-button> -->
|
||||
<!-- 提交 -->
|
||||
@@ -309,7 +337,9 @@ import { mapState, mapMutations } from "vuex";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
currentCateIndex:null,
|
||||
isShowTab: false,
|
||||
isLoadingHide: false,
|
||||
currentCateIndex: 0,
|
||||
pagination: {
|
||||
// 请求参数
|
||||
page: 1, //页码
|
||||
@@ -336,23 +366,28 @@ export default {
|
||||
ordersTabs: [
|
||||
{
|
||||
name: "全部",
|
||||
value: null,
|
||||
value: -1,
|
||||
badge: {},
|
||||
},
|
||||
{
|
||||
name: "待付款",
|
||||
value: 0,
|
||||
badge: {},
|
||||
},
|
||||
{
|
||||
name: "待发货",
|
||||
value: 1,
|
||||
badge: {},
|
||||
},
|
||||
{
|
||||
name: "待收货",
|
||||
value: 2,
|
||||
badge: {},
|
||||
},
|
||||
{
|
||||
name: "已完成",
|
||||
value: 3,
|
||||
badge: {},
|
||||
},
|
||||
],
|
||||
ordersListTab: 1,
|
||||
@@ -399,13 +434,46 @@ export default {
|
||||
console.log(e, "onload111");
|
||||
// this.bookid = e.bookid
|
||||
this.options = e;
|
||||
this.getBookList(this.ordersListTab, false);
|
||||
// this.newList = [];
|
||||
// this.pagination = {
|
||||
// page: 1, //页码
|
||||
// limit: 20, //每页显示
|
||||
// total: 0, //总条数
|
||||
// };
|
||||
// this.$nextTick(() => {
|
||||
// this.ordersTabCLi(this.ordersTabs[0],0);
|
||||
// // this.getBookList(null, false);
|
||||
// });
|
||||
},
|
||||
onShow() {
|
||||
this.newList = [];
|
||||
this.pagination = {
|
||||
page: 1, //页码
|
||||
limit: 20, //每页显示
|
||||
total: 0, //总条数
|
||||
};
|
||||
this.$nextTick(() => {
|
||||
this.ordersTabCLi(this.ordersTabs[0], 0);
|
||||
});
|
||||
},
|
||||
onTabItemTap() {
|
||||
this.newList = [];
|
||||
this.pagination = {
|
||||
page: 1, //页码
|
||||
limit: 20, //每页显示
|
||||
total: 0, //总条数
|
||||
};
|
||||
this.$nextTick(() => {
|
||||
this.ordersTabCLi(this.ordersTabs[0], 0);
|
||||
});
|
||||
},
|
||||
onReady() {},
|
||||
computed: {
|
||||
...mapState(["userInfo"]),
|
||||
},
|
||||
methods: {
|
||||
...mapMutations(["setLoadingShow"]),
|
||||
|
||||
onReachBottom1() {
|
||||
// 上拉加载
|
||||
// 当列表数量不大于或等于总数量,则再次调用接口请求数据
|
||||
@@ -425,7 +493,14 @@ export default {
|
||||
}
|
||||
},
|
||||
// 切换tab状态
|
||||
ordersTabCLi(data) {
|
||||
ordersTabCLi(data, index) {
|
||||
this.currentCateIndex = index;
|
||||
this.pagination = {
|
||||
page: 1, //页码
|
||||
limit: 20, //每页显示
|
||||
total: 0, //总条数
|
||||
};
|
||||
console.log("data at line 454:", data);
|
||||
this.ordersListTab = data.value;
|
||||
this.newestpage = 1;
|
||||
// this.hotestpage = 1
|
||||
@@ -445,20 +520,22 @@ export default {
|
||||
// 订单详情
|
||||
toDetail(val) {
|
||||
console.log(val, "val");
|
||||
uni.navigateTo({
|
||||
url:'/pages/curriculum/order/index/index'
|
||||
})
|
||||
// uni.navigateTo({
|
||||
// url:
|
||||
// "./orderLCont?orderId=" +
|
||||
// val.orderId +
|
||||
// "&orderType=" +
|
||||
// val.orderStatus +
|
||||
// "&orderSn=" +
|
||||
// val.orderSn,
|
||||
// });
|
||||
// url:'../bookShop/commentsDetail?bookid='+val.bookid+'&bfa_id='+val.id
|
||||
// })
|
||||
uni.navigateTo({
|
||||
url:
|
||||
"/pages/bookShop/orderLCont?orderId=" +
|
||||
val.orderId +
|
||||
"&orderType=" +
|
||||
val.orderStatus +
|
||||
"&orderSn=" +
|
||||
val.orderSn,
|
||||
});
|
||||
},
|
||||
getBookList(flag, refreshflag) {
|
||||
this.isLoadingHide = false;
|
||||
var that = this;
|
||||
// 根据tab不同,获取最新书评、最热书评、书集列表
|
||||
// uni.showLoading({
|
||||
// title: '加载中'
|
||||
@@ -470,7 +547,7 @@ export default {
|
||||
url: "book/buyOrder/getUserOrderStatusNum",
|
||||
method: "POST",
|
||||
data: {
|
||||
userId: this.userInfo.id,
|
||||
userId: that.userInfo.id,
|
||||
},
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
@@ -478,16 +555,21 @@ export default {
|
||||
},
|
||||
})
|
||||
.then((res) => {
|
||||
this.map = res.map;
|
||||
this.ordersTabs.map((e) => {
|
||||
that.map = res.map;
|
||||
|
||||
that.ordersTabs.map((e) => {
|
||||
if (e.value == 0 || e.value == 1 || e.value == 2) {
|
||||
if (this.map[e.value] > 0) {
|
||||
if (that.map[e.value] > 0) {
|
||||
e.badge = {
|
||||
value: this.map[e.value],
|
||||
value: that.map[e.value],
|
||||
};
|
||||
}
|
||||
} else {
|
||||
e.badge = {};
|
||||
}
|
||||
});
|
||||
// this.$set('this.ordersTabs',)
|
||||
that.$forceUpdate();
|
||||
})
|
||||
.catch((e) => {
|
||||
console.log(e);
|
||||
@@ -495,8 +577,8 @@ export default {
|
||||
|
||||
var params = {
|
||||
userId: this.userInfo.id,
|
||||
orderStatus: flag, //传null为全部,订单状态 0-未付款 1-待发货 2-已发货 3-交易成功 4-交易失败 5-过期
|
||||
...this.pagination
|
||||
orderStatus: flag == -1 ? null : flag, //传null为全部,订单状态 0-未付款 1-待发货 2-已发货 3-交易成功 4-交易失败 5-过期
|
||||
...this.pagination,
|
||||
// limit: 10,
|
||||
// page: this.newestpage,
|
||||
};
|
||||
@@ -512,16 +594,19 @@ export default {
|
||||
})
|
||||
.then((res) => {
|
||||
console.log(res, "内容获取成功");
|
||||
this.pagination.total =res.page.total;
|
||||
that.pagination.total = res.page.total;
|
||||
if (res.page.total == 0) {
|
||||
this.isLoadingHide = true;
|
||||
}
|
||||
if (res.code == 0 && res.page && res.page.records.length > 0) {
|
||||
this.newList = this.newList.concat(res.page.records);
|
||||
that.newList = that.newList.concat(res.page.records);
|
||||
} else {
|
||||
//
|
||||
}
|
||||
if (res.page.records.length != 10) {
|
||||
this.status = 1;
|
||||
that.status = 1;
|
||||
} else {
|
||||
this.status = 0;
|
||||
that.status = 0;
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
@@ -624,7 +709,7 @@ export default {
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
this.$http
|
||||
.get("/book/buyOrder/cancelOrder?orderSn=" + item.orderSn)
|
||||
.get("book/buyOrder/cancelOrder?orderSn=" + item.orderSn)
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
uni.showToast({
|
||||
@@ -874,7 +959,7 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
// @import '@/style/mixin.scss';
|
||||
@import "@/style/mixin.scss";
|
||||
.ordersTabs {
|
||||
// margin: 70rpx 0 0 0;
|
||||
width: 730rpx;
|
||||
@@ -1132,11 +1217,10 @@ export default {
|
||||
padding: 0 !important;
|
||||
}
|
||||
.commonDetailPage {
|
||||
background-color: #d8f8e4 !important;
|
||||
background-color: $themeBgColor;
|
||||
}
|
||||
.order_box {
|
||||
padding: 20rpx;
|
||||
height: calc(100% - 200rpx);
|
||||
}
|
||||
/deep/.order_box .list_item {
|
||||
// border-bottom: none;
|
||||
@@ -23,19 +23,19 @@
|
||||
<!-- <view class="curriulum_title_box goods_item"> -->
|
||||
|
||||
<view class="normal_box">
|
||||
<view class="normal_box_top" v-if="orderContet.consignee">
|
||||
<view class="normal_box_top">
|
||||
<view class="curriulum_title"
|
||||
>{{ orderContet.consignee.province }}
|
||||
{{ orderContet.consignee.city }}
|
||||
{{ orderContet.consignee.county }}
|
||||
{{ orderContet.consignee.address }}</view
|
||||
>{{ orderContet.province }}
|
||||
{{ orderContet.city }}
|
||||
{{ orderContet.county }}
|
||||
{{ orderContet.address }}</view
|
||||
>
|
||||
<view class="user_info">
|
||||
<text class="name">
|
||||
{{ orderContet.consignee.consigneeName }}
|
||||
{{ orderContet.shippingUser }}
|
||||
</text>
|
||||
<text class="tel">
|
||||
{{ orderContet.consignee.consigneeMobile }}
|
||||
{{ orderContet.userPhone }}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -61,7 +61,7 @@
|
||||
订单已被拆分成 {{ sheetList.length }} 个包裹
|
||||
</view>
|
||||
<view class="orderItem">
|
||||
<view class="" style="position: relative; height: 120rpx">
|
||||
<view class="" style="position: relative; height: 60rpx">
|
||||
<text
|
||||
class="orderState orderState0"
|
||||
v-if="orderContet.orderStatus == 0"
|
||||
@@ -90,26 +90,60 @@
|
||||
</view>
|
||||
<view
|
||||
class="orderContent"
|
||||
v-for="(item, index) in orderContet.goodsList"
|
||||
v-for="(item, index) in goodsList"
|
||||
:key="index"
|
||||
@click="goDetail(item.productId)"
|
||||
v-if="orderContet.goodsList.length > 0"
|
||||
@click="goDetail(item.productId, item)"
|
||||
v-if="goodsList.length > 0"
|
||||
>
|
||||
<image :src="item.productImage" mode=""></image>
|
||||
<view class="itemJian">
|
||||
<view class="orderTitle">
|
||||
<text>{{ item.productName }}</text>
|
||||
</view>
|
||||
<view class="orderPrice">
|
||||
¥<text style="font-weight: bold">{{ item.productPrice }}</text
|
||||
><br />
|
||||
<text
|
||||
style="color: #bbbbbb; font-size: 20rpx; margin-right: 10rpx"
|
||||
>X</text
|
||||
<!-- <image :src="item.productImage" mode="" ></image> -->
|
||||
<view class="feng" style="position: relative">
|
||||
<view v-if="item.delFlag == -1" class="delisted" style=""
|
||||
>已下架</view
|
||||
>
|
||||
|
||||
<!-- <image
|
||||
:src="selectGoodsData.productImages"
|
||||
mode="aspectFit"
|
||||
class="goods_image"
|
||||
></image> -->
|
||||
<image
|
||||
style="width: 100%; height: 100%"
|
||||
v-if="item.productImages"
|
||||
:src="item.productImages"
|
||||
mode="aspectFit"
|
||||
></image>
|
||||
<view
|
||||
v-else
|
||||
style="
|
||||
color: #c0c4cc;
|
||||
font-size: 22rpx;
|
||||
line-height: 140rpx;
|
||||
text-align: center;
|
||||
"
|
||||
>暂无封面图</view
|
||||
>
|
||||
</view>
|
||||
|
||||
<view class="goods_info">
|
||||
<view class="flexbox itemJian">
|
||||
<view class="booknameleft">
|
||||
<text
|
||||
:style="`${item.delFlag == -1 ? 'color:#c0c4cc;' : ''}`"
|
||||
>{{ item.productName }}</text
|
||||
>
|
||||
</view>
|
||||
<view
|
||||
style="color: #c0c4cc; font-size: 26rpx; font-weight: 700"
|
||||
>
|
||||
×{{ item.quantity ? item.quantity : "" }}</view
|
||||
>
|
||||
<text style="color: #bbbbbb">{{ item.quantity }}</text>
|
||||
</view>
|
||||
<br clear="both" />
|
||||
<!-- <view class="btns flexbox" style="margin-top: 10rpx">
|
||||
<view class="left" style="color: #c0c4cc"></view>
|
||||
<view class="right flexbox opbtns" style="color: #c0c4cc">
|
||||
×{{ item.quantity ? item.quantity : "" }}
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
<!-- <view class="orderOper" v-if="orderContet.orderStatus=='3'"> -->
|
||||
@@ -132,44 +166,67 @@
|
||||
|
||||
<br clear="both" />
|
||||
</view>
|
||||
<view class="orderContent" v-if="orderContet.products == ''">
|
||||
<view class="orderContent" v-if="orderContet.orderType == 'vip'">
|
||||
<image
|
||||
src="../../static/icon/oder_chong.png"
|
||||
mode=""
|
||||
style="height: 150rpx"
|
||||
src="/static/icon/vip.png"
|
||||
mode="aspectFill"
|
||||
style="width: 100rpx; height: 100rpx"
|
||||
></image>
|
||||
<view class="itemJian">
|
||||
<view class="orderTitle">
|
||||
<text>充值</text>
|
||||
<view class="orderTitle" style="line-height: 100rpx">
|
||||
<text>VIP 充值</text>
|
||||
</view>
|
||||
<view class="orderPrice">
|
||||
¥<text style="font-weight: bold">{{
|
||||
orderContet.realMoney
|
||||
}}</text>
|
||||
<text style="font-weight: bold"></text>
|
||||
</view>
|
||||
<br clear="both" />
|
||||
</view>
|
||||
<br clear="both" />
|
||||
</view>
|
||||
<view class="orderallpri">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>商品总价 :
|
||||
</span>
|
||||
<span>¥</span>{{ orderContet.orderPrice }}
|
||||
<view
|
||||
class="orderContent"
|
||||
v-else-if="orderContet.orderType == 'point'"
|
||||
>
|
||||
<image
|
||||
src="/static/icon/pay_3.png"
|
||||
mode="aspectFill"
|
||||
style="width: 100rpx; height: 100rpx"
|
||||
></image>
|
||||
<view class="itemJian">
|
||||
<view class="orderTitle" style="line-height: 100rpx">
|
||||
<text>充值</text>
|
||||
</view>
|
||||
<view class="orderPrice">
|
||||
<text style="font-weight: bold"
|
||||
>{{ orderContet.bookBuyConfigEntity.money }}太医币</text
|
||||
>
|
||||
</view>
|
||||
<br clear="both" />
|
||||
</view>
|
||||
<br clear="both" />
|
||||
</view>
|
||||
<view class="orderReal" v-if="orderContet.orderType == 'order'">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>运费 :
|
||||
</span>
|
||||
<span>¥</span>{{ orderContet.shippingPrice }}
|
||||
</view>
|
||||
<view class="orderReal" v-if="orderContet.orderType == 'order'">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>积分 :
|
||||
</span>
|
||||
<span v-if="orderContet.jfDeduction>0">-</span> <span>¥</span>{{ orderContet.jfDeduction }}
|
||||
</view>
|
||||
<!-- <view class="orderReal">
|
||||
|
||||
<view class="order_item" style="">
|
||||
<view class="orderallpri">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>商品总价 :
|
||||
</span>
|
||||
<span>¥</span>{{ orderContet.orderMoney }}
|
||||
</view>
|
||||
<view class="orderReal" v-if="orderContet.orderType == 'order'">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>运费 :
|
||||
</span>
|
||||
<span>¥</span>{{ orderContet.shippingMoney }}
|
||||
</view>
|
||||
<view class="orderReal" v-if="orderContet.orderType == 'order'">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>积分 :
|
||||
</span>
|
||||
<span v-if="orderContet.jfDeduction > 0">-</span> <span>¥</span
|
||||
>{{ orderContet.jfDeduction }}
|
||||
</view>
|
||||
<!-- <view class="orderReal">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>优惠券 :
|
||||
</span>
|
||||
@@ -178,88 +235,88 @@
|
||||
>
|
||||
<b v-else style="color: #dd3c0c"><span>-¥</span>0</b>
|
||||
</view> -->
|
||||
<view class="orderReal">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>实付款 :
|
||||
</span>
|
||||
<b style="color: #dd3c0c"
|
||||
><span>¥</span>{{ orderContet.realPrice }}</b
|
||||
<view class="orderReal" v-if="orderContet.orderStatus != 0">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>实付款 :
|
||||
</span>
|
||||
<b style="color: #dd3c0c"
|
||||
><span>¥</span>{{ orderContet.realMoney }}</b
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
<view class="order_item">
|
||||
<view class="orderYunf">
|
||||
<span style="color: #666; float: left">订单编号 : </span>
|
||||
<text style="font-size: 24rpx; color: #666"
|
||||
>{{ orderContet.orderSn }}
|
||||
</text>
|
||||
<u-tag
|
||||
@click="handleCopy(orderContet.orderSn, '订单编号')"
|
||||
borderColor="#3ab3ae"
|
||||
color="#3ab3ae"
|
||||
text="复制"
|
||||
plain
|
||||
style="float: right; margin-left: 5rpx"
|
||||
size="mini"
|
||||
type="success"
|
||||
></u-tag>
|
||||
</view>
|
||||
<view class="orderReal">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>创建时间 :
|
||||
</span>
|
||||
<text style="font-size: 24rpx; color: #666">{{
|
||||
orderContet.createTime
|
||||
}}</text>
|
||||
</view>
|
||||
<view
|
||||
class="orderReal"
|
||||
v-if="
|
||||
orderContet.orderStatus >= 1 && orderContet.orderStatus != 5
|
||||
"
|
||||
>
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>付款时间 :
|
||||
</span>
|
||||
<text style="font-size: 24rpx; color: #666">{{
|
||||
orderContet.paymentDate
|
||||
}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="orderYunf">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>订单编号 :
|
||||
</span>
|
||||
<text style="font-size: 24rpx; color: #666">{{
|
||||
orderContet.orderSn
|
||||
}}</text>
|
||||
</view>
|
||||
<view class="orderReal">
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>创建时间 :
|
||||
</span>
|
||||
<text style="font-size: 24rpx; color: #666">{{
|
||||
orderContet.createTime
|
||||
}}</text>
|
||||
</view>
|
||||
<view
|
||||
class="orderReal"
|
||||
v-if="orderContet.orderStatus >= 1 && orderContet.orderStatus != 5"
|
||||
>
|
||||
<span style="color: #666; margin-right: 10rpx; float: left"
|
||||
>付款时间 :
|
||||
</span>
|
||||
<text style="font-size: 24rpx; color: #666">{{
|
||||
orderContet.paymentDate
|
||||
}}</text>
|
||||
</view>
|
||||
|
||||
<!-- <view class="orderReal" v-if="orderContet.orderStatus >= 2 && orderContet.orderStatus != 5">
|
||||
<span style="color: #666;margin-right: 10rpx;float: left;">发货时间 : </span>
|
||||
<text style="font-size: 24rpx;color: #666;">{{orderContet.shippingTime}}</text>
|
||||
</view> -->
|
||||
<view class="orderOper">
|
||||
<view style="width: 100%; text-align: right">
|
||||
<!-- <u-button text="" type="success" plain ></u-button>
|
||||
<u-button text="" type="primary" plain >
|
||||
|
||||
</u-button> -->
|
||||
<view
|
||||
v-if="
|
||||
orderContet.orderStatus == 2 &&
|
||||
sheetList.length > 0 &&
|
||||
orderContet.orderStatus != 5
|
||||
"
|
||||
class="opFix"
|
||||
@click="seeExpressDetail(orderContet)"
|
||||
>查看物流</view
|
||||
>
|
||||
<view
|
||||
v-if="orderContet.orderStatus == 2"
|
||||
class="opCan"
|
||||
@click="OverOrder"
|
||||
>确认收货</view
|
||||
>
|
||||
|
||||
<view
|
||||
v-if="orderContet.orderStatus == 0"
|
||||
class="opFix"
|
||||
@click="canceOrder"
|
||||
>取消订单</view
|
||||
>
|
||||
<view
|
||||
v-if="orderContet.orderStatus == 0"
|
||||
class="opCan"
|
||||
@click="goPay(orderContet)"
|
||||
>去支付</view
|
||||
>
|
||||
|
||||
<view class="opCan" @click="kefu">联系客服</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class=""></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="goods_nav_box">
|
||||
<common-goods-nav
|
||||
:iconList="iconList"
|
||||
:customButton="customButton"
|
||||
@submit="goBuyJie"
|
||||
@clickIcon="clickIcon"
|
||||
>
|
||||
<!-- leftSlot -->
|
||||
<template slot="leftSlot" slot-scope="slotProps">
|
||||
<view
|
||||
class="price_box order_bottom_box"
|
||||
v-if="orderContet.orderStatus == 0"
|
||||
>
|
||||
<text class="price"
|
||||
>合计:
|
||||
|
||||
<text class="total">¥{{ orderContet.realMoney }}</text>
|
||||
</text>
|
||||
</view>
|
||||
</template>
|
||||
</common-goods-nav>
|
||||
|
||||
<!-- <uni-goods-nav :fill="true" :options="buyOptions" :button-group="customButtonGroup1" @click="onClick"
|
||||
@buttonClick="buttonClick" /> -->
|
||||
</view>
|
||||
<!-- 对话框 -->
|
||||
<u-popup :show="pingjiaShow" :round="10" @close="closePingjia">
|
||||
<view class="tanchu">
|
||||
@@ -400,6 +457,14 @@ import { mapState } from "vuex";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
iconList: [
|
||||
{
|
||||
text: "联系客服",
|
||||
iconType: 1,
|
||||
icon: "server-fill",
|
||||
infoColor: "#666",
|
||||
},
|
||||
],
|
||||
userRecordid: null, // 用户的评价状态
|
||||
playData: {},
|
||||
title: "Hello",
|
||||
@@ -435,6 +500,7 @@ export default {
|
||||
orderSn: "",
|
||||
orderType: "",
|
||||
orderContet: {},
|
||||
goodsList: [],
|
||||
deliverDetails: [
|
||||
{
|
||||
Traces: [],
|
||||
@@ -447,6 +513,7 @@ export default {
|
||||
sheetList: [], // 面单数据
|
||||
consigneeShow: false,
|
||||
sheetListShow: false,
|
||||
customButton: [],
|
||||
};
|
||||
},
|
||||
onLoad(e) {
|
||||
@@ -471,6 +538,24 @@ export default {
|
||||
},
|
||||
|
||||
methods: {
|
||||
async goBuyJie(data) {
|
||||
console.log("index at line 532:", data);
|
||||
if (data.text == "继续付款") {
|
||||
this.goPay(this.orderContet);
|
||||
} else if (data.text == "取消订单") {
|
||||
this.canceOrder();
|
||||
} else if (data.text == "确认收货") {
|
||||
this.OverOrder();
|
||||
} else if (data.text == "查看物流") {
|
||||
this.seeExpressDetail(this.orderContet);
|
||||
}
|
||||
},
|
||||
async clickIcon(data) {
|
||||
console.log("index at line 532:", data);
|
||||
if (data.text == "联系客服") {
|
||||
this.kefu();
|
||||
}
|
||||
},
|
||||
// 复制到剪切板
|
||||
copyData(data) {
|
||||
uni.setClipboardData({
|
||||
@@ -747,6 +832,9 @@ export default {
|
||||
});
|
||||
}
|
||||
},
|
||||
handleCopy(value, title) {
|
||||
this.$commonJS.handleCopy(value, title);
|
||||
},
|
||||
onPageJump(item) {
|
||||
uni.navigateTo({
|
||||
url: "./deliverDetail?objId=" + item,
|
||||
@@ -797,21 +885,69 @@ export default {
|
||||
// 获取订单详情
|
||||
getOrderList() {
|
||||
console.log("this.orderType", this.orderType);
|
||||
|
||||
this.$http
|
||||
// .get(`book/buyOrder/getOrderInfo?orderId=${this.orderID}`)
|
||||
.get(`book/buyOrder/orderDetail?orderSn=${this.orderSn}`)
|
||||
.request({
|
||||
url: "common/buyOrder/commonOrderDetail",
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data: {
|
||||
orderId: this.orderID,
|
||||
},
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
})
|
||||
.then((res) => {
|
||||
this.customButton = [];
|
||||
console.log("订单详情", res);
|
||||
this.orderContet = res.data.buyOrder;
|
||||
this.goodsList = res.data.productInfo;
|
||||
this.consigneeShow = true;
|
||||
if (
|
||||
this.orderContet.orderStatus == 2 &&
|
||||
this.sheetList.length > 0 &&
|
||||
this.orderContet.orderStatus != 5
|
||||
) {
|
||||
this.customButton.push({
|
||||
width: "160rpx",
|
||||
text: "查看物流",
|
||||
color: "#333",
|
||||
backgroundColor: "#f0f0f0",
|
||||
color: "#fff",
|
||||
});
|
||||
}
|
||||
if (this.orderContet.orderStatus == 2) {
|
||||
this.customButton.push({
|
||||
width: "160rpx",
|
||||
text: "确认收货",
|
||||
|
||||
color: "#fff",
|
||||
});
|
||||
}
|
||||
if (this.orderContet.orderStatus == 0) {
|
||||
this.customButton.push({
|
||||
width: "160rpx",
|
||||
text: "继续付款",
|
||||
});
|
||||
}
|
||||
if (this.orderContet.orderStatus == 0) {
|
||||
this.customButton.push({
|
||||
width: "160rpx",
|
||||
text: "取消订单",
|
||||
color: "#333",
|
||||
backgroundColor: "#f0f0f0",
|
||||
});
|
||||
}
|
||||
|
||||
// var seconds = res.result.timestamp + 30 * 60 + 2 // 过期时间
|
||||
// var nowSeconds = Math.floor(new Date().getTime() / 1000);
|
||||
// res.result.overTime = seconds - nowSeconds
|
||||
|
||||
this.orderContet = res.result;
|
||||
this.consigneeShow = true;
|
||||
//this.userRecordid = res.userRecordid
|
||||
this.productIDs = res.result.goodsList.map((item) => {
|
||||
return item.buyOrderProductId;
|
||||
});
|
||||
// this.productIDs = res.data.goodsList.map((item) => {
|
||||
// return item.buyOrderProductId;
|
||||
// });
|
||||
// console.log(this.orderContet,'this.orderContet')
|
||||
if (this.orderContet.orderStatus == 0) {
|
||||
this.titleStat = "待支付";
|
||||
@@ -950,11 +1086,16 @@ export default {
|
||||
},
|
||||
|
||||
// 商品内容跳转
|
||||
goDetail(id) {
|
||||
uni.navigateTo({
|
||||
// url: '../bookShop/commodityDetail?id=' + item.id
|
||||
url: `/pages/goods/index/index?navTitle=''&title=''&id=${id}`,
|
||||
});
|
||||
goDetail(id, data) {
|
||||
console.log("data at line 1277:", data);
|
||||
if (data.delFlag == -1) {
|
||||
this.$commonJS.showToast("商品已下架");
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
// url: '../bookShop/commodityDetail?id=' + item.id
|
||||
url: `/pages/goods/index/index?navTitle=''&title=''&id=${id}`,
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
@@ -977,8 +1118,8 @@ export default {
|
||||
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 20rpx;
|
||||
padding: 10rpx;
|
||||
top: 0rpx;
|
||||
padding: 6rpx 10rpx;
|
||||
border-radius: 0 24rpx 24rpx 0;
|
||||
font-size: 26rpx;
|
||||
// font-weight: bold;
|
||||
@@ -1183,14 +1324,16 @@ export default {
|
||||
|
||||
.orderList {
|
||||
padding: 20rpx;
|
||||
padding-top: 0;
|
||||
|
||||
.orderItem {
|
||||
padding: 30rpx 10rpx 30rpx 30rpx;
|
||||
padding: 30rpx 0rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 30rpx;
|
||||
margin-bottom: 30rpx;
|
||||
|
||||
.orderContent {
|
||||
padding: 20rpx;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
image {
|
||||
@@ -1199,11 +1342,14 @@ export default {
|
||||
margin-right: 20rpx;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.itemJian {
|
||||
.goods_info {
|
||||
float: left;
|
||||
width: 470rpx;
|
||||
|
||||
width: calc(100% - 180rpx) !important;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.itemJian {
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
.orderTitle {
|
||||
font-weight: bold;
|
||||
font-size: 30rpx;
|
||||
@@ -1224,24 +1370,22 @@ export default {
|
||||
|
||||
.orderallpri {
|
||||
text-align: right;
|
||||
border-top: 1px solid #eee;
|
||||
margin: 40rpx 20rpx 0 0;
|
||||
padding: 30rpx 0 0 0;
|
||||
|
||||
margin: 10rpx 0;
|
||||
// padding: 30rpx 0 0 0;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.orderReal {
|
||||
text-align: right;
|
||||
font-size: 28rpx;
|
||||
margin: 5rpx 20rpx 0 0;
|
||||
padding: 28rpx 0 0 0;
|
||||
margin: 10rpx 0;
|
||||
// padding: 28rpx 0 0 0;
|
||||
}
|
||||
|
||||
.orderYunf {
|
||||
text-align: right;
|
||||
border-top: 1px solid #eee;
|
||||
margin: 35rpx 20rpx 0 0;
|
||||
padding: 30rpx 0 0 0;
|
||||
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
@@ -1269,6 +1413,9 @@ export default {
|
||||
border: 1px solid #eba00b;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
.kefu {
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1374,4 +1521,63 @@ export default {
|
||||
// right: 30rpx;
|
||||
}
|
||||
}
|
||||
.feng {
|
||||
background-color: #fafafa;
|
||||
margin: 0rpx 22rpx 0 0;
|
||||
height: 140rpx !important;
|
||||
width: 140rpx !important;
|
||||
float: left;
|
||||
border-radius: 14rpx;
|
||||
// border: 1rpx solid #e9e9e9;
|
||||
}
|
||||
.booknameleft {
|
||||
font-size: 32rpx;
|
||||
width: calc(100% - 100rpx);
|
||||
color: #070707;
|
||||
letter-spacing: 0.5rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
.order_item {
|
||||
padding: 20rpx 20rpx;
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
/deep/.goods_nav_box {
|
||||
.left {
|
||||
margin-top: -10rpx;
|
||||
width: auto;
|
||||
height: auto;
|
||||
position: relative;
|
||||
// overflow: hidden;
|
||||
}
|
||||
}
|
||||
.delisted {
|
||||
background-color: red;
|
||||
color: #fff;
|
||||
// padding: 2rpx 4rpx;
|
||||
position: absolute;
|
||||
border-radius: 4rpx;
|
||||
font-size: 22rpx;
|
||||
width: 100rpx;
|
||||
text-align: center;
|
||||
height: 40rpx;
|
||||
line-height: 40rpx;
|
||||
left: calc((100% - 100rpx) / 2);
|
||||
top: calc((100% - 40rpx) / 2);
|
||||
}
|
||||
.order_bottom_box {
|
||||
margin-left: 20rpx;
|
||||
|
||||
.number {
|
||||
font-size: 28rpx;
|
||||
margin-right: 15rpx;
|
||||
margin-top: 5rpx;
|
||||
}
|
||||
|
||||
.price {
|
||||
.total {
|
||||
font-size: 38rpx;
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,801 +0,0 @@
|
||||
<template>
|
||||
<view>
|
||||
<!-- 公共组件-每个页面必须引入 -->
|
||||
<public-module></public-module>
|
||||
<!-- <z-nav-bar title="我的订单"></z-nav-bar> -->
|
||||
<z-nav-bar backState="2000" title="我的订单"></z-nav-bar>
|
||||
|
||||
<view class="orderTabs flexbox">
|
||||
<view v-for="(item,index) in orderTabs" @click="orderTabCLi(item.value)"
|
||||
:class="orderListTab==item.value?'ordStyle':''">{{item.name}}</view>
|
||||
</view>
|
||||
|
||||
<view class="orderList" v-if="orderList.length > 0">
|
||||
<view class="orderItem" v-for="(ifex,inten) in orderList" @click="goOrdiCont(ifex)" :key="inten">
|
||||
<text class="orderState orderState0" v-if="ifex.orderStatus==0">待支付</text>
|
||||
<text class="orderState orderState1" v-if="ifex.orderStatus==1">待发货</text>
|
||||
<text class="orderState orderState2" v-if="ifex.orderStatus==2">待收货</text>
|
||||
<text class="orderState orderState3" v-if="ifex.orderStatus==3">已完成</text>
|
||||
<text class="orderState orderState5" v-if="ifex.orderStatus==5">已超时</text>
|
||||
<view class="guoqi flexbox" v-if="ifex.orderStatus==0 && ifex.overTime > 0">
|
||||
<text>剩余支付时间:</text>
|
||||
<uni-countdown background-color="#ff5500" color="#ffffff" :font-size="14" :show-day="false"
|
||||
:hour="0" :minute="0" :second="ifex.overTime" @timeup="countDown"></uni-countdown>
|
||||
</view>
|
||||
<view class="flexbox orderSn">
|
||||
<text class="">订单编号: {{ifex.orderSn}}</text>
|
||||
</view>
|
||||
<view class="orderContent" :key="index" v-if="ifex.orderType=='order'"
|
||||
v-for="(item,index) in ifex.productList">
|
||||
<image :src="item.product.productImages" mode=""></image>
|
||||
<view class="itemJian">
|
||||
<view class="orderTitle">
|
||||
<text>{{item.product.productName}}</text>
|
||||
</view>
|
||||
<view class="orderPrice">
|
||||
<text style="color: #f56c6c;">¥</text><text
|
||||
style="font-weight: bold; color: #f56c6c;">{{item.product.price}}</text><br>
|
||||
<text style="color: #bbbbbb;font-size: 20rpx;margin-right: 10rpx;">X</text>
|
||||
<text style="color: #bbbbbb;">{{item.quantity}}</text>
|
||||
</view>
|
||||
<br clear="both">
|
||||
</view>
|
||||
<br clear="both">
|
||||
</view>
|
||||
<view class="orderContent" v-if="ifex.orderType=='point'" @click.stop="goOrdiCont(ifex)">
|
||||
<image src="../../static/icon/oder_chong.png" mode="" style="height: 150rpx;"></image>
|
||||
<view class="itemJian">
|
||||
<view class="orderTitle">
|
||||
<text>天医币充值</text>
|
||||
</view>
|
||||
<view class="orderPrice">
|
||||
<text style="color: #f56c6c;">¥</text><text
|
||||
style="font-weight: bold; color: #f56c6c;">{{ifex.realMoney}}</text>
|
||||
</view>
|
||||
<br clear="both">
|
||||
</view>
|
||||
<br clear="both">
|
||||
</view>
|
||||
<view class="orderContent" v-if="ifex.orderType=='vip'" @click.stop="goOrdiCont(ifex)">
|
||||
<image src="../../static/icon/oder_vip.png" mode="" style="height: 150rpx;"></image>
|
||||
<view class="itemJian">
|
||||
<view class="orderTitle">
|
||||
<text>会员充值</text>
|
||||
</view>
|
||||
<view class="orderPrice">
|
||||
<text style="color: #f56c6c;">¥</text><text
|
||||
style="font-weight: bold; color: #f56c6c;">{{ifex.realMoney}}</text>
|
||||
</view>
|
||||
<br clear="both">
|
||||
</view>
|
||||
<br clear="both">
|
||||
</view>
|
||||
<view class="orderReal">
|
||||
<span style="color: #999; float: left; font-size: 12px;">下单时间:{{ifex.createTime}}</span>
|
||||
<span style="color: #999;margin-right: 10rpx;">实付款 : </span>
|
||||
<span style=" color: #f56c6c;">¥</span><text
|
||||
style="font-weight: bold; color: #f56c6c;">{{ifex.realMoney}}</text>
|
||||
</view>
|
||||
<view class="orderOper" v-if="ifex.orderStatus==0">
|
||||
<view class="opFix" @click.stop = "canceOrder(ifex)">取消订单</view>
|
||||
<view class="opCan" @click.stop = "getNewIap" v-if="ifex.orderType == 'point' && ifex.paymentMethod == '3'">重新下单</view>
|
||||
<view class="opCan" v-else @click.stop = "goPay(ifex)">去支付</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="status==0" style="text-align: center;">
|
||||
<u-loading-icon style="display: inline-block;"></u-loading-icon>
|
||||
<font style='vertical-align: super;margin-left: 10px;font-size: 26rpx;color: #909399;'>努力加载中</font>
|
||||
</view>
|
||||
<view v-if="status==1" style="padding-bottom: 20rpx;">
|
||||
<u-divider text="全部加载完成"></u-divider>
|
||||
</view>
|
||||
</view>
|
||||
<view class="" v-else style=" margin-top: 250rpx;">
|
||||
<u-divider text="暂无订单数据"></u-divider>
|
||||
</view>
|
||||
<z-navigation></z-navigation>
|
||||
<music-play :playData="playData"></music-play>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import musicPlay from '@/components/music.vue'
|
||||
import $http from '@/config/requestConfig.js';
|
||||
import {
|
||||
setPay,
|
||||
setPayAssign,
|
||||
setWXPay
|
||||
} from '@/config/utils';
|
||||
import {
|
||||
mapState,
|
||||
mapMutations
|
||||
} from 'vuex';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
playData: {},
|
||||
orderTabs: [{
|
||||
name: '全部',
|
||||
value: null
|
||||
}, {
|
||||
name: '待支付',
|
||||
value: 0
|
||||
}, {
|
||||
name: '待发货',
|
||||
value: 1
|
||||
}, {
|
||||
name: '待收货',
|
||||
value: 2
|
||||
}, {
|
||||
name: '已完成',
|
||||
value: 3
|
||||
}, {
|
||||
name: '已超时',
|
||||
value: 5
|
||||
}, ],
|
||||
orderListTab: null,
|
||||
orderList: [],
|
||||
iapChannel: {},
|
||||
checking: false, // 正在检测
|
||||
ComplateRequestArr: null,
|
||||
isAndorid: true,
|
||||
status: 3, // 加载状态
|
||||
totalPage: 0,
|
||||
page: 1
|
||||
}
|
||||
},
|
||||
onHide() {
|
||||
this.orderList = [],
|
||||
this.page = 1
|
||||
this.totalPage = 0
|
||||
this.orderListTab = null
|
||||
},
|
||||
onShow() {
|
||||
this.getOrderList()
|
||||
// this.checkIapOrders() //检查未完成的苹果支付订单
|
||||
this.getOS()
|
||||
// this.countDown()
|
||||
|
||||
},
|
||||
computed: {
|
||||
...mapState(['userInfo']),
|
||||
},
|
||||
// 下拉刷新
|
||||
onPullDownRefresh() {
|
||||
this.orderList = [],
|
||||
this.page = 1
|
||||
this.totalPage = 0
|
||||
this.getOrderList()
|
||||
uni.stopPullDownRefresh()
|
||||
},
|
||||
onReachBottom() {
|
||||
console.log('到底了')
|
||||
if (this.page < this.totalPage) {
|
||||
this.page++
|
||||
// console.log('加载',this.page)
|
||||
this.status = 0
|
||||
this.getOrderList()
|
||||
} else {
|
||||
this.status = 1
|
||||
console.log('加载完成了', this.page)
|
||||
return
|
||||
}
|
||||
},
|
||||
components: {
|
||||
musicPlay
|
||||
},
|
||||
methods: {
|
||||
...mapMutations(['setUserInfo']),
|
||||
// 苹果用户重新下单
|
||||
getNewIap(){
|
||||
uni.navigateTo({
|
||||
url:'/pages/peanut/reCharge'
|
||||
})
|
||||
},
|
||||
// 倒计时回调
|
||||
countDown() {
|
||||
console.log('重新刷新订单')
|
||||
this.totalPage = 0
|
||||
this.page = 1
|
||||
this.orderList = []
|
||||
this.getOrderList()
|
||||
},
|
||||
// 获得操作系统
|
||||
getOS() {
|
||||
let oprateOs = ''
|
||||
oprateOs = uni.getSystemInfoSync().platform
|
||||
console.log(oprateOs)
|
||||
if (oprateOs == 'android') {
|
||||
this.isAndorid = true
|
||||
} else {
|
||||
this.isAndorid = false
|
||||
}
|
||||
},
|
||||
checkIapOrders() {
|
||||
const that = this
|
||||
// 如果ios已经绑定支付信息,就直接支付,如果没有绑定,就需要先绑定
|
||||
console.log('检测支付环境...')
|
||||
plus.payment.getChannels((channels) => {
|
||||
console.log(channels, 'channels')
|
||||
for (var i in channels) {
|
||||
// 判断是否苹果支付1
|
||||
if (channels[i].id === 'appleiap') {
|
||||
that.iapChannel = channels[i]
|
||||
that.restoreComplateRequest() // 检查未关闭订单
|
||||
// that.requestOrder(productId)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
// 切换订单状态
|
||||
orderTabCLi(e) {
|
||||
this.orderListTab = e
|
||||
this.totalPage = 0
|
||||
this.page = 1
|
||||
this.orderList = []
|
||||
this.getOrderList()
|
||||
},
|
||||
|
||||
// 获取订单列表
|
||||
getOrderList() {
|
||||
let data = {
|
||||
"userId": "",
|
||||
"orderStatus": this.orderListTab,
|
||||
"page": this.page,
|
||||
"limit": 10,
|
||||
'userId': this.userInfo.id
|
||||
}
|
||||
|
||||
$http.request({
|
||||
// url: "book/buyOrder/orderList",
|
||||
url: "book/buyOrder/getUserOrderList",
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data,
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
}).then(res => {
|
||||
if (res.code == 0) {
|
||||
res.page.records.forEach((item, index) => {
|
||||
var seconds = item.timestamp + 30 * 60 + 2 // 过期时间 30分钟+2
|
||||
// var seconds = item.timestamp + 30 + 2 // 过期时间 30秒
|
||||
var nowSeconds = Math.floor(new Date().getTime() / 1000); // 单位秒
|
||||
item.overTime = seconds - nowSeconds
|
||||
// console.log(item.overTime,'item.overTime')
|
||||
})
|
||||
this.orderList = this.orderList.concat(res.page.records)
|
||||
this.totalPage = res.page.pages
|
||||
if (res.page.pages == this.page) {
|
||||
this.status = 1
|
||||
} else {
|
||||
this.status = 3
|
||||
}
|
||||
console.log(this.orderList, '订单列表')
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
// 订单详情
|
||||
goOrdiCont(e) {
|
||||
console.log(e, 'e')
|
||||
//let orderId = e.orderId ? e.orderId : e.id
|
||||
if(e.orderType == 'point'){ // 充值订单
|
||||
console.log('跳转到充值页面')
|
||||
uni.navigateTo({
|
||||
url: '/pages/peanut/chargeDetaill?orderId=' + e.orderId + '&orderSn=' + e.orderSn
|
||||
});
|
||||
}else if(e.orderType == 'order'){ // 实体订单
|
||||
uni.navigateTo({
|
||||
url: './orderLCont?orderId=' + e.orderId + '&orderType=' + e.orderStatus + '&orderSn=' + e.orderSn
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// 跳转到支付页面
|
||||
goPay1(e) {
|
||||
console.log(e, 'goPay1')
|
||||
uni.navigateTo({
|
||||
url: '../peanut/reCharge?orderSn=' + e.orderSn
|
||||
});
|
||||
},
|
||||
|
||||
// 取消订单
|
||||
canceOrder(e) {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '确定要取消订单吗?',
|
||||
confirmText: "取消订单",
|
||||
cancelText: "考虑一下",
|
||||
confirmColor: '#c96713',
|
||||
cancelColor: '#555',
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
this.$http
|
||||
.post(`book/buyOrder/appDelete?orderId=${e.orderId}`)
|
||||
.then(res => {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '取消订单成功'
|
||||
})
|
||||
this.page = 1
|
||||
this.totalPage = 0
|
||||
this.orderList = []
|
||||
this.getOrderList()
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 支付
|
||||
goPay(payItem) {
|
||||
console.log(payItem, 'payItem')
|
||||
if (payItem.paymentMethod == 2) {
|
||||
console.log('阿里支付')
|
||||
setPay({
|
||||
typePay: 'alipay',
|
||||
subject: 'order',
|
||||
totalAmount: payItem.realMoney,
|
||||
type: 2,
|
||||
relevanceoid: payItem.orderSn,
|
||||
customerId: this.userInfo.id,
|
||||
}, res => {
|
||||
if (res.success) {
|
||||
uni.showToast({
|
||||
title: "支付成功"
|
||||
});
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: "支付失败",
|
||||
icon: "none",
|
||||
image: '../../static/icon/ic_close.png'
|
||||
});
|
||||
}
|
||||
this.orderList = [],
|
||||
this.page = 1
|
||||
this.totalPage = 0
|
||||
this.getOrderList()
|
||||
})
|
||||
} else if (payItem.paymentMethod == 1) {
|
||||
console.log('微信支付')
|
||||
// console.log(this.isAndorid)
|
||||
if (this.isAndorid == false) {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '很抱歉,苹果系统暂不支持微信支付',
|
||||
showCancel: false
|
||||
})
|
||||
return false
|
||||
} else {
|
||||
let data1 = {
|
||||
orderSn: payItem.orderSn,
|
||||
buyOrderId: null,
|
||||
totalAmount: payItem.realMoney
|
||||
}
|
||||
console.log(data1, 'data1')
|
||||
setWXPay(data1, res => {
|
||||
if (res.success) {
|
||||
uni.showToast({
|
||||
title: "支付成功"
|
||||
});
|
||||
} else {
|
||||
console.log(res)
|
||||
if (res.data.errMsg.indexOf('User canceled') != -1) {
|
||||
uni.showToast({
|
||||
title: "用户取消支付",
|
||||
icon: "none",
|
||||
image: '../../static/icon/ic_close.png'
|
||||
});
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: "支付失败",
|
||||
icon: "none",
|
||||
image: '../../static/icon/ic_close.png'
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
} else if (payItem.paymentMethod == 3) {
|
||||
// 苹果充值
|
||||
console.log('苹果二次支付')
|
||||
if (this.isAndorid) {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
showCancel: false,
|
||||
content: '很抱歉,当前订单属于苹果系统内购订单,安卓系统无法完成支付操作,您可切换到苹果系统进行支付,也可以取消该订单,并重新下单'
|
||||
})
|
||||
} else {
|
||||
this.iphonepay(payItem)
|
||||
}
|
||||
}
|
||||
},
|
||||
iphonepay(payItem) {
|
||||
console.log(this.userInfo.restoreFlag, 'this.userInfo.restoreFlag')
|
||||
if (this.ComplateRequestArr == null || this.ComplateRequestArr == []) {
|
||||
this.requestOrder(payItem)
|
||||
} else {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
showCancel: false,
|
||||
content: '您的账户存在未完成的支付订单,请稍后重启app留意账户变动。',
|
||||
})
|
||||
}
|
||||
},
|
||||
requestOrder(payItem) {
|
||||
uni.showLoading({
|
||||
title: '获取商品信息',
|
||||
mask: true
|
||||
})
|
||||
const that = this
|
||||
// console.log(productId, 88888888)
|
||||
// ['xxxxx'] 是平台申请拿到的内购商品的id
|
||||
let IAPOrders = []
|
||||
IAPOrders.push(payItem.productId + '')
|
||||
console.log(IAPOrders, 'IAPOrders')
|
||||
// 新建订单
|
||||
that.iapChannel.requestOrder(IAPOrders, function(event) {
|
||||
// uni.hideLoading()
|
||||
console.log(event, 'event')
|
||||
for (var index in event) {
|
||||
var OrderItem = event[index]
|
||||
// console.log(OrderItem, 'OrderItem')
|
||||
console.log(OrderItem.productid, 'OrderItem.productid')
|
||||
that.topay(payItem)
|
||||
}
|
||||
}, function(erroemsg) {
|
||||
uni.showToast({
|
||||
title: "商品获取失败",
|
||||
icon: 'none'
|
||||
})
|
||||
})
|
||||
},
|
||||
topay(payItem) {
|
||||
const that = this
|
||||
uni.hideLoading()
|
||||
// var restoreFlag = true; // 调用支付接口时标记 restoreFlag = true , 实际应用请将标记存储在 storage 中
|
||||
this.setUserInfo({
|
||||
restoreFlag: true
|
||||
});
|
||||
console.log(this.userInfo, '更新后的用户信息')
|
||||
plus.payment.request(that.iapChannel, {
|
||||
productid: payItem.productId,
|
||||
username: payItem.orderSn, // 用户标识/订单标识
|
||||
manualFinishTransaction: true // 3.5.1+ 支持,设置此参数后需要开发者主动关闭订单,参见下面的关闭订单方法 finishTransaction()
|
||||
|
||||
}, function(result) {
|
||||
// restoreFlag = false; // 支付成功清除标记 restoreFlag = false
|
||||
that.transaction = result
|
||||
// 支付成功,result 为 IAP商品交易信息对象 IAPTransaction 需将返回的支付凭证传给后端进行二次认证
|
||||
that.iapCheck(result)
|
||||
}, function(e) {
|
||||
if (e.errCode == 2) {
|
||||
// 用户未绑定支付方式,app内支付流程结束,系统弹出框引导用户绑定支付方式,此过程将跳转到系统应用 AppStore 进行绑定支付方式,绑定成功同步支付成功,用户成功付款
|
||||
// plus.runtime.openURL("https://apps.apple.com/account/billing");
|
||||
} else {
|
||||
// restoreFlag = false; // 支付失败清楚标记
|
||||
that.finishTransaction(result);
|
||||
//console.log('订单关闭后的用户信息', that.userInfo);
|
||||
// console.log(e)
|
||||
//console.log(e.message)
|
||||
}
|
||||
});
|
||||
},
|
||||
// 查询未关闭订单
|
||||
restoreComplateRequest() {
|
||||
let that = this
|
||||
console.log('检测未完成订单')
|
||||
// console.log(that.iapChannel,'this.iapChannel')
|
||||
that.iapChannel.restoreComplateRequest({
|
||||
manualFinishTransaction: true
|
||||
}, function(results) {
|
||||
console.log('进入restoreComplateRequest')
|
||||
// if(!that.checking){
|
||||
// that.checking = true
|
||||
// console.log(that.checking)
|
||||
// results 格式为数组存放恢复的IAP商品交易信息对象 IAPTransaction,通用需将返回的支付凭证传给后端进行二次认证
|
||||
that.ComplateRequestArr = results
|
||||
console.log(that.ComplateRequestArr, '未完成订单数组')
|
||||
if (results && results.length > 0) {
|
||||
results.map((item, index) => {
|
||||
// "0"为正在支付;"1"为支付成功;"2"为支付失败;"3"为支付已恢复。
|
||||
if (item.transactionState == '1') {
|
||||
// 已经支付,但是没有走逻辑的内购订单
|
||||
that.iapCheck(item, index)
|
||||
} else {
|
||||
// 其他状态的内购订单
|
||||
that.finishTransaction(item)
|
||||
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.setUserInfo({
|
||||
restoreFlag: false
|
||||
});
|
||||
console.log('无未处理订单,可以拉起新的支付')
|
||||
}
|
||||
// }
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
// 关闭交易订单
|
||||
finishTransaction(trans, index) {
|
||||
this.iapChannel.finishTransaction(trans, (success) => {
|
||||
console.log('关闭订单成功', index);
|
||||
|
||||
if (index == this.ComplateRequestArr.length - 1) { // 最后一个支付订单
|
||||
this.setUserInfo({
|
||||
restoreFlag: false
|
||||
});
|
||||
console.log(this.userInfo.restoreFlag, 'this.userInfo.restoreFlag')
|
||||
}
|
||||
|
||||
}, (fail) => {
|
||||
console.log('关闭订单失败');
|
||||
});
|
||||
},
|
||||
iapCheck(result, index) {
|
||||
const that = this
|
||||
console.log('进入后台验证')
|
||||
let data = {
|
||||
transactionId: result.transactionIdentifier, // 支付交易id
|
||||
customerOid: that.userInfo.id,
|
||||
productId: result.payment.productid, // 产品id
|
||||
orderId: result.payment.username, // 系统订单号
|
||||
receiptData: result.transactionReceipt, // 苹果返回收据
|
||||
loadAnimate: 'none', // 请求加载动画
|
||||
}
|
||||
console.log(data, 'data')
|
||||
$http.request({
|
||||
url: "/Ipa/veri",
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data,
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
}).then(res => {
|
||||
console.log(JSON.stringify(res))
|
||||
console.log(res.code)
|
||||
if (res.code == 0) {
|
||||
// uni.hideLoading()
|
||||
console.log('充值订单已处理,请留意账户金额变动....')
|
||||
// 服务器验证票据有效后在客户端关闭订单
|
||||
that.finishTransaction(result, index)
|
||||
} else if (res.code == 200) { // 重复验证订单
|
||||
console.log('重复验证....')
|
||||
that.finishTransaction(result, index)
|
||||
}
|
||||
}).catch(e => {
|
||||
console.log('支付验证失败,进入轮询程序...')
|
||||
that.getIapPayResult(result, index)
|
||||
})
|
||||
console.log('--------------')
|
||||
},
|
||||
|
||||
// 轮询验证支付结果
|
||||
getIapPayResult(result, index) {
|
||||
// let interval = null
|
||||
this.ComplateRequestInterval = setTimeout(() => {
|
||||
if (this.maxTimes <= 3) {
|
||||
this.iapCheck(result, index)
|
||||
console.log('执行1', this.maxTimes, this.ComplateRequestInterval)
|
||||
this.maxTimes += 1
|
||||
} else {
|
||||
this.maxTimes = 0
|
||||
console.log('停止轮询', this.maxTimes, this.ComplateRequestInterval, this.maxTimes)
|
||||
this.checking = false
|
||||
this.saveErrorIapOrder(result, index)
|
||||
clearTimeout(this.ComplateRequestInterval)
|
||||
|
||||
}
|
||||
}, 10000)
|
||||
|
||||
},
|
||||
// 轮询失败接口
|
||||
saveErrorIapOrder(result, index) {
|
||||
console.log('提交到充值问题单里面...')
|
||||
let data = {
|
||||
transactionId: result.transactionIdentifier,
|
||||
failureflag: 1,
|
||||
orderId: result.payment.username,
|
||||
receiptData: result.transactionReceipt,
|
||||
productId: result.payment.productid,
|
||||
customerOid: this.userInfo.id
|
||||
}
|
||||
$http.request({
|
||||
url: "Ipa/failure",
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data,
|
||||
header: { //默认 无 说明:请求头
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
}).then(res => {
|
||||
console.log(JSON.stringify(res))
|
||||
if (res.code == 200) {
|
||||
console.log('提交成功,关闭订单')
|
||||
this.finishTransaction(result, index)
|
||||
}
|
||||
}).catch(e => {
|
||||
console.log(e)
|
||||
if (e.statusCode == 0) { // 重复提交,直接关闭订单
|
||||
this.finishTransaction(result, index)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import '@/style/mixin.scss';
|
||||
|
||||
.guoqi {
|
||||
font-size: 28rpx;
|
||||
align-items: center;
|
||||
color: red;
|
||||
float: right;
|
||||
line-height: 40rpx;
|
||||
}
|
||||
|
||||
.flexbox {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.orderTabs {
|
||||
margin: 60rpx 0 0 0;
|
||||
width: 100%;
|
||||
padding: 30rpx 3% 3% 3%;
|
||||
// padding-top: 100rpx;
|
||||
position: fixed;
|
||||
top: 80rpx;
|
||||
background-color: #fff;
|
||||
z-index: 100;
|
||||
|
||||
view {
|
||||
border-radius: 20rpx;
|
||||
border: 1px solid #d0d0d0;
|
||||
display: inline-block;
|
||||
padding: 20rpx 0;
|
||||
margin: 0 6rpx;
|
||||
// margin: 40rpx 0 15rpx 0;
|
||||
width: 20%;
|
||||
text-align: center;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.ordStyle {
|
||||
background: #f0f9eb;
|
||||
border: 2rpx solid #54a966;
|
||||
color: #54a966;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.orderList {
|
||||
padding: 20rpx;
|
||||
margin-top: 130rpx;
|
||||
|
||||
.orderItem {
|
||||
position: relative;
|
||||
padding: 30rpx 10rpx 30rpx 30rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 30rpx;
|
||||
margin-bottom: 30rpx;
|
||||
|
||||
.orderSn {
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
padding-bottom: 20rpx;
|
||||
border-bottom: 1px solid #eee;
|
||||
margin-top: 60rpx;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.orderState {
|
||||
color: #fff;
|
||||
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 20rpx;
|
||||
padding: 10rpx;
|
||||
border-radius: 0 24rpx 24rpx 0;
|
||||
font-size: 26rpx;
|
||||
// font-weight: bold;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.orderState0 {
|
||||
background-color: #e6a23c;
|
||||
}
|
||||
|
||||
.orderState1 {
|
||||
background-color: #409eff;
|
||||
}
|
||||
|
||||
.orderState2 {
|
||||
background-color: #f56c6c;
|
||||
}
|
||||
|
||||
.orderState3 {
|
||||
background-color: #67c23a;
|
||||
}
|
||||
|
||||
.orderState5 {
|
||||
background-color: #787878;
|
||||
}
|
||||
|
||||
.orderContent {
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
image {
|
||||
width: 130rpx;
|
||||
height: 140rpx;
|
||||
margin-right: 20rpx;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.itemJian {
|
||||
float: left;
|
||||
width: 470rpx;
|
||||
|
||||
.orderTitle {
|
||||
// font-weight: bold;
|
||||
font-size: 28rpx;
|
||||
margin: 0 0 20rpx 0;
|
||||
float: left;
|
||||
width: 410rpx;
|
||||
}
|
||||
|
||||
.orderPrice {
|
||||
font-size: 28rpx;
|
||||
float: right;
|
||||
width: 60rpx;
|
||||
text-align: right;
|
||||
line-height: 40rpx;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
.orderReal {
|
||||
border-top: 1px solid #eee;
|
||||
text-align: right;
|
||||
font-size: 30rpx;
|
||||
margin: 30rpx 20rpx 0 0;
|
||||
padding: 30rpx 0 0 0;
|
||||
}
|
||||
|
||||
.orderOper {
|
||||
text-align: right;
|
||||
margin: 30rpx 20rpx 0 0;
|
||||
|
||||
view {
|
||||
margin-left: 20rpx;
|
||||
padding: 10rpx 0;
|
||||
display: inline-block;
|
||||
width: 150rpx;
|
||||
font-size: 25rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.opFix {
|
||||
color: #555;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
|
||||
.opCan {
|
||||
color: #c96713;
|
||||
border: 1px solid #eba00b;
|
||||
border-radius: 30rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,5 +1,8 @@
|
||||
<template>
|
||||
<view class="container commonPageBox commonDetailPage">
|
||||
<view
|
||||
class="container commonPageBox commonDetailPage"
|
||||
style="background-color: #f2f2f2"
|
||||
>
|
||||
<!-- 公共组件-每个页面必须引入 -->
|
||||
<public-module></public-module>
|
||||
<z-nav-bar
|
||||
@@ -38,9 +41,11 @@
|
||||
<view
|
||||
class="order_box"
|
||||
:style="`height: calc(100% - ${(80 + statusBarHeight) * 2}rpx);`"
|
||||
style="background-color: #f2f2f2"
|
||||
>
|
||||
<common-list
|
||||
imgUrl="url"
|
||||
indexKey="orderSn"
|
||||
noDataIcon="data"
|
||||
:isScroll="true"
|
||||
:isLoadingHide="isLoadingHide"
|
||||
@@ -52,118 +57,344 @@
|
||||
:pagination="pagination"
|
||||
label="title"
|
||||
>
|
||||
<template slot="labelSlot" slot-scope="slotProps">
|
||||
<view slot="labelSlot" slot-scope="slotProps">
|
||||
<view class="orderInfo color_shandow">
|
||||
<view class="mainContent">
|
||||
<view class="btns" style="margin-top: 0rpx">
|
||||
<view class="flexbox opbtns" style="letter-spacing: 1rpx">
|
||||
<view
|
||||
style="
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
line-height: 30rpx;
|
||||
color: #9b9b9b;
|
||||
font-size: 26rpx;
|
||||
font-weight: 400;
|
||||
"
|
||||
>{{ slotProps.row.orderSn }}
|
||||
|
||||
<u-tag
|
||||
@click="handleCopy(slotProps.row.orderSn, '订单编号')"
|
||||
borderColor="#3ab3ae"
|
||||
color="#3ab3ae"
|
||||
text="复制"
|
||||
plain
|
||||
style="float: right"
|
||||
size="mini"
|
||||
type="success"
|
||||
></u-tag
|
||||
></view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="item">
|
||||
<view
|
||||
class="orderstatus"
|
||||
v-show="slotProps.row.orderStatus == 0"
|
||||
>未付款</view
|
||||
class="item_top"
|
||||
style="margin-top: 10rpx; margin-bottom: 0"
|
||||
>
|
||||
<view
|
||||
class="orderstatus"
|
||||
v-show="slotProps.row.orderStatus == 1"
|
||||
>待发货</view
|
||||
>
|
||||
<view
|
||||
class="orderstatus"
|
||||
v-show="slotProps.row.orderStatus == 2"
|
||||
>已发货</view
|
||||
>
|
||||
<view
|
||||
class="orderstatus"
|
||||
v-show="slotProps.row.orderStatus == 3"
|
||||
>交易成功</view
|
||||
>
|
||||
<view
|
||||
class="orderstatus"
|
||||
v-show="slotProps.row.orderStatus == 4"
|
||||
>交易失败</view
|
||||
>
|
||||
<view
|
||||
class="orderstatus"
|
||||
v-show="slotProps.row.orderStatus == 5"
|
||||
>过期</view
|
||||
>
|
||||
<view
|
||||
v-if="slotProps.row.orderType == 'point'"
|
||||
class="bookinfolist"
|
||||
style="height: auto"
|
||||
>
|
||||
<!-- <image
|
||||
class="feng"
|
||||
v-if="item1.product.productImages"
|
||||
:src="item1.product.productImages"
|
||||
mode="aspectFill"
|
||||
></image> -->
|
||||
<!-- <view class="description" v-html="item.content">
|
||||
</view> -->
|
||||
<view class="btns flexbox">
|
||||
<view class="booknameleft">充值</view>
|
||||
<view class="source_app"></view>
|
||||
<view style="text-align: left">
|
||||
<text
|
||||
class="orderstatus"
|
||||
v-show="slotProps.row.orderStatus == 0"
|
||||
>未付款</text
|
||||
>
|
||||
<text
|
||||
class="orderstatus"
|
||||
v-show="slotProps.row.orderStatus == 1"
|
||||
>待发货</text
|
||||
>
|
||||
<text
|
||||
class="orderstatus"
|
||||
v-show="slotProps.row.orderStatus == 2"
|
||||
>已发货</text
|
||||
>
|
||||
<text
|
||||
class="orderstatus"
|
||||
v-show="slotProps.row.orderStatus == 3"
|
||||
>交易成功</text
|
||||
>
|
||||
<text
|
||||
class="orderstatus"
|
||||
v-show="slotProps.row.orderStatus == 4"
|
||||
>交易失败</text
|
||||
>
|
||||
<text
|
||||
class="orderstatus"
|
||||
v-show="slotProps.row.orderStatus == 5"
|
||||
>已过期</text
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view
|
||||
v-else
|
||||
v-for="(item1, index1) in slotProps.row.productList"
|
||||
:key="index1"
|
||||
v-if="slotProps.row.orderType == 'vip'"
|
||||
class="bookinfolist"
|
||||
>
|
||||
<image
|
||||
class="feng"
|
||||
v-if="item1.product && item1.product.productImages"
|
||||
:src="item1.product.productImages"
|
||||
class="feng fengPoint"
|
||||
src="/static/icon/vip.png"
|
||||
mode="aspectFill"
|
||||
></image>
|
||||
<!-- <view class="description" v-html="item.content">
|
||||
</view> -->
|
||||
<view class="btns flexbox">
|
||||
<view class="booknameleft">{{
|
||||
item1.product.productName
|
||||
}}</view>
|
||||
<view class="right flexbox opbtns price">
|
||||
¥{{ item1.product.price }}
|
||||
<view class="booknameleft"> {{ slotProps.row.vipBuyConfigEntity.title }} </view>
|
||||
|
||||
<view
|
||||
style="
|
||||
line-height: 58rpx;
|
||||
color: #333;
|
||||
font-size: 26rpx;
|
||||
font-weight: 700;
|
||||
"
|
||||
>
|
||||
<text style="font-size: 20rpx"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
class="btns flexbox"
|
||||
style="margin-top: 10rpx; padding-bottom: 72rpx"
|
||||
style="color: #9f9f9f; margin-top: 10rpx; font-size: 24rpx"
|
||||
>
|
||||
<view class="left" style="color: #c0c4cc"></view>
|
||||
<view class="right flexbox opbtns" style="color: #c0c4cc">
|
||||
×{{ item1.quantity }}
|
||||
下单时间:{{ slotProps.row.createTime }}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view
|
||||
v-if="slotProps.row.orderType == 'point'"
|
||||
class="bookinfolist"
|
||||
>
|
||||
<image
|
||||
class="feng fengPoint"
|
||||
src="/static/icon/pay_3.png"
|
||||
mode="aspectFill"
|
||||
></image>
|
||||
<!-- <view class="description" v-html="item.content">
|
||||
</view> -->
|
||||
<view class="btns flexbox">
|
||||
<view class="booknameleft"> 充值 </view>
|
||||
|
||||
<view
|
||||
style="
|
||||
line-height: 58rpx;
|
||||
color: #333;
|
||||
font-size: 26rpx;
|
||||
font-weight: 700;
|
||||
"
|
||||
>
|
||||
<text style="font-size: 24rpx"
|
||||
>{{
|
||||
slotProps.row.bookBuyConfigEntity.money
|
||||
}}天医币</text
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
class="btns flexbox"
|
||||
style="color: #9f9f9f; margin-top: 10rpx; font-size: 24rpx"
|
||||
>
|
||||
下单时间:{{ slotProps.row.createTime }}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view v-if="slotProps.row.orderType == 'order'">
|
||||
<view
|
||||
v-for="(item2, index2) in slotProps.row.productList"
|
||||
:key="slotProps.row.orderId"
|
||||
class="bookinfolist"
|
||||
>
|
||||
<view v-if="item2.product">
|
||||
<view
|
||||
class="feng"
|
||||
v-if="item2.product && item2.product.productImages"
|
||||
>
|
||||
<image
|
||||
:key="Date.now()"
|
||||
style="width: 100%; height: 100%"
|
||||
mode="aspectFit"
|
||||
:src="item2.product.productImages"
|
||||
></image>
|
||||
</view>
|
||||
|
||||
<view
|
||||
v-else
|
||||
class="feng"
|
||||
style="
|
||||
color: #c0c4cc;
|
||||
font-size: 22rpx;
|
||||
line-height: 140rpx;
|
||||
text-align: center;
|
||||
"
|
||||
>暂无封面图</view
|
||||
>
|
||||
<!-- <view class="description" v-html="item.content">
|
||||
</view> -->
|
||||
<view class="btns flexbox">
|
||||
<view class="booknameleft">{{
|
||||
item2.product && item2.product.productName
|
||||
? item2.product.productName
|
||||
: ""
|
||||
}}</view>
|
||||
|
||||
<view
|
||||
style="
|
||||
line-height: 58rpx;
|
||||
color: #333;
|
||||
font-size: 26rpx;
|
||||
font-weight: 700;
|
||||
"
|
||||
>
|
||||
<text style="font-size: 20rpx">¥</text>
|
||||
{{
|
||||
item2.product.price ? item2.product.price : ""
|
||||
}}</view
|
||||
>
|
||||
</view>
|
||||
<view class="btns flexbox" style="margin-top: 10rpx">
|
||||
<view class="left" style="color: #c0c4cc"></view>
|
||||
<view
|
||||
class="right flexbox opbtns"
|
||||
style="color: #c0c4cc"
|
||||
>
|
||||
×{{ item2.quantity ? item2.quantity : "" }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-else>
|
||||
<view class="feng"></view>
|
||||
<view class="btns flexbox">
|
||||
<view class="booknameleft" style="color: #181818"
|
||||
>未知商品</view
|
||||
>
|
||||
<view
|
||||
style=""
|
||||
class="right flexbox opbtns product_quantity"
|
||||
>
|
||||
×{{ item2.quantity ? item2.quantity : "" }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="btns flexbox" style="margin-top: 10rpx">
|
||||
<view class="left" style="color: #c0c4cc"></view>
|
||||
<view class="right flexbox opbtns">
|
||||
|
||||
<view style="margin-top: 10rpx; overflow: hidden">
|
||||
<view
|
||||
class="btns flexbox"
|
||||
style="float: right; width: auto !important"
|
||||
>
|
||||
<view
|
||||
style="color: #000; font-size: 30rpx; font-weight: 700"
|
||||
>实付款</view
|
||||
>
|
||||
<view
|
||||
style="color: #000; font-size: 30rpx; font-weight: 700"
|
||||
>{{ " ¥" + slotProps.row.realMoney }}</view
|
||||
class="right flexbox opbtns"
|
||||
style="
|
||||
width: auto;
|
||||
line-height: 44rpx;
|
||||
letter-spacing: 1rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
"
|
||||
>
|
||||
<view
|
||||
style="
|
||||
line-height: 46rpx;
|
||||
color: #000;
|
||||
font-size: 28rpx;
|
||||
font-weight: 500;
|
||||
margin-right: 10rpx;
|
||||
"
|
||||
>实付款</view
|
||||
>
|
||||
<view
|
||||
style="
|
||||
/* margin-top: 8rpx; */
|
||||
line-height: 46rpx;
|
||||
color: #333;
|
||||
font-size: 30rpx;
|
||||
font-weight: 700;
|
||||
"
|
||||
>
|
||||
<text style="font-size: 20rpx">¥</text>
|
||||
{{
|
||||
slotProps.row.realMoney ||
|
||||
slotProps.row.realMoney == 0
|
||||
? slotProps.row.realMoney
|
||||
: ""
|
||||
}}</view
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
class="btns flexbox"
|
||||
style="
|
||||
margin-top: 0rpx;
|
||||
float: right;
|
||||
width: auto;
|
||||
margin-left: 20rpx;
|
||||
"
|
||||
v-if="
|
||||
(slotProps.row.addressId == 0 ||
|
||||
slotProps.row.addressId == null) &&
|
||||
slotProps.row.orderType == 'order' &&
|
||||
slotProps.row.jfDeduction > 0
|
||||
"
|
||||
>
|
||||
<view
|
||||
class="right flexbox opbtns"
|
||||
style="
|
||||
line-height: 44rpx;
|
||||
letter-spacing: 1rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
"
|
||||
><text style="color: #9b9b9b">( </text>
|
||||
<view
|
||||
style="
|
||||
line-height: 46rpx;
|
||||
color: #9b9b9b;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
margin-right: 10rpx;
|
||||
"
|
||||
>积分抵扣</view
|
||||
>
|
||||
<view
|
||||
style="
|
||||
/* margin-top: 8rpx; */
|
||||
line-height: 46rpx;
|
||||
color: #9b9b9b;
|
||||
font-size: 26rpx;
|
||||
font-weight: 700;
|
||||
"
|
||||
>
|
||||
<text style="font-size: 20rpx">¥</text>
|
||||
{{ slotProps.row.jfDeduction }}
|
||||
</view> </view
|
||||
><text style="color: #9b9b9b">)</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view
|
||||
class="operation_box boxShadow"
|
||||
v-if="slotProps.row.isShowMore == true"
|
||||
>
|
||||
<view
|
||||
v-if="slotProps.row.orderStatus == 0"
|
||||
@click.native.stop="canceOrder(slotProps.row)"
|
||||
>取消订单</view
|
||||
>
|
||||
</view>
|
||||
<view class="btns flexbox" style="margin-top: 10rpx">
|
||||
<view
|
||||
class="left"
|
||||
style="color: #c0c4cc"
|
||||
@click.native.stop="toDetail(slotProps.row)"
|
||||
>订单详情</view
|
||||
@click.native.stop="
|
||||
openMore(slotProps.row, slotProps.rowIndex)
|
||||
"
|
||||
>更多</view
|
||||
>
|
||||
<view class="right flexbox opbtns">
|
||||
<view
|
||||
class="orderstatusbtn"
|
||||
v-if="slotProps.row.orderStatus == 0"
|
||||
@click.native.stop="canceOrder(slotProps.row)"
|
||||
>取消订单</view
|
||||
>
|
||||
<view
|
||||
class="orderstatusbtn"
|
||||
class="orderstatusbtn orderstatusbtn_success"
|
||||
v-if="slotProps.row.orderStatus == 0"
|
||||
@click.native.stop="goPay(slotProps.row)"
|
||||
>继续付款</view
|
||||
@@ -191,24 +422,48 @@
|
||||
>申请售后</view
|
||||
>
|
||||
<!-- <view
|
||||
class="orderstatusbtn"
|
||||
v-if="item.orderStatus == 3 && userRecordid == null"
|
||||
@click.native.stop="pingji(item.productId)"
|
||||
>评价</view
|
||||
> -->
|
||||
class="orderstatusbtn"
|
||||
v-if="item.orderStatus == 3 && userRecordid == null"
|
||||
@click.native.stop="pingji(item.productId)"
|
||||
>评价</view
|
||||
> -->
|
||||
<!-- <view class="orderstatusbtn" v-if="item.orderStatus == 3 && userRecordid != null" @click.stop="showZhuiping(item.productId)">追评</view> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view
|
||||
style="border-bottom: 2rpx solid #e9e9e9; height: 50rpx"
|
||||
v-if="slotProps.rowIndex < slotProps.row.length - 1"
|
||||
></view>
|
||||
</view>
|
||||
<!-- <view class="btns" style="margin-top: 10rpx">
|
||||
<view class="flexbox opbtns" style="">
|
||||
<view
|
||||
style="
|
||||
width: 100%;
|
||||
line-height: 28rpx;
|
||||
color: #9b9b9b;
|
||||
font-size: 26rpx;
|
||||
font-weight: 400;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
"
|
||||
><u-icon
|
||||
name="clock"
|
||||
color="#9b9b9b"
|
||||
style="margin-right: 10rpx"
|
||||
size="20"
|
||||
></u-icon
|
||||
>{{ slotProps.row.createTime }}</view
|
||||
>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <text v-if="slotProps.row.conditions!='03'">【试听】</text> -->
|
||||
</template>
|
||||
</view>
|
||||
</common-list>
|
||||
</view>
|
||||
<!-- <view v-if="status == 0" style="text-align: center">
|
||||
@@ -323,6 +578,15 @@
|
||||
</view>
|
||||
</u-popup>
|
||||
<z-navigation></z-navigation>
|
||||
<u-action-sheet
|
||||
:closeOnClickAction="true"
|
||||
:closeOnClickOverlay="true"
|
||||
:actions="moreList"
|
||||
:show="isShowMore"
|
||||
cancelText="关闭"
|
||||
@close="isShowMore = false"
|
||||
@select="selectClick"
|
||||
></u-action-sheet>
|
||||
<music-play :playData="playData"></music-play>
|
||||
</view>
|
||||
</template>
|
||||
@@ -337,8 +601,16 @@ import { mapState, mapMutations } from "vuex";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
isShowMore: false,
|
||||
come: "1",
|
||||
isShowTab: false,
|
||||
isLoadingHide: false,
|
||||
moreList: [
|
||||
{
|
||||
name: "取消订单",
|
||||
key: "false",
|
||||
},
|
||||
],
|
||||
currentCateIndex: 0,
|
||||
pagination: {
|
||||
// 请求参数
|
||||
@@ -390,6 +662,7 @@ export default {
|
||||
badge: {},
|
||||
},
|
||||
],
|
||||
selectOrderInfo: {},
|
||||
ordersListTab: 1,
|
||||
newestpage: 1,
|
||||
// hotestpage: 1,
|
||||
@@ -445,27 +718,27 @@ export default {
|
||||
// // this.getBookList(null, false);
|
||||
// });
|
||||
},
|
||||
onShow() {
|
||||
async onShow() {
|
||||
this.newList = [];
|
||||
this.pagination = {
|
||||
page: 1, //页码
|
||||
limit: 20, //每页显示
|
||||
total: 0, //总条数
|
||||
};
|
||||
this.$nextTick(() => {
|
||||
this.ordersTabCLi(this.ordersTabs[0], 0);
|
||||
this.$nextTick(async () => {
|
||||
await this.ordersTabCLi(this.ordersTabs[0], 0);
|
||||
});
|
||||
},
|
||||
onTabItemTap() {
|
||||
async onTabItemTap() {
|
||||
this.newList = [];
|
||||
this.pagination = {
|
||||
page: 1, //页码
|
||||
limit: 20, //每页显示
|
||||
total: 0, //总条数
|
||||
};
|
||||
this.$nextTick(() => {
|
||||
this.ordersTabCLi(this.ordersTabs[0], 0);
|
||||
});
|
||||
// this.$nextTick(async () => {
|
||||
// await this.ordersTabCLi(this.ordersTabs[0], 0);
|
||||
// });
|
||||
},
|
||||
onReady() {},
|
||||
computed: {
|
||||
@@ -473,7 +746,24 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
...mapMutations(["setLoadingShow"]),
|
||||
|
||||
getImageUrl(url) {
|
||||
// 通过在URL后面添加时间戳来避免缓存
|
||||
return `${url}?timestamp=${Date.now()}`;
|
||||
},
|
||||
selectClick(index) {
|
||||
console.log("index at line 609:", index);
|
||||
if (index.key == "false") {
|
||||
this.isShowMore = false;
|
||||
this.canceOrder(this.selectOrderInfo);
|
||||
}
|
||||
},
|
||||
openMore(row, index) {
|
||||
this.selectOrderInfo = row;
|
||||
this.isShowMore = true;
|
||||
},
|
||||
handleCopy(value, title) {
|
||||
this.$commonJS.handleCopy(value, title);
|
||||
},
|
||||
onReachBottom1() {
|
||||
// 上拉加载
|
||||
// 当列表数量不大于或等于总数量,则再次调用接口请求数据
|
||||
@@ -544,10 +834,11 @@ export default {
|
||||
// 顶部红点数量
|
||||
$http
|
||||
.request({
|
||||
url: "book/buyOrder/getUserOrderStatusNum",
|
||||
url: "common/buyOrder/getBuyOrderNumByStatus",
|
||||
method: "POST",
|
||||
data: {
|
||||
userId: that.userInfo.id,
|
||||
come: this.come,
|
||||
},
|
||||
header: {
|
||||
//默认 无 说明:请求头
|
||||
@@ -555,13 +846,24 @@ export default {
|
||||
},
|
||||
})
|
||||
.then((res) => {
|
||||
that.map = res.map;
|
||||
// 订单状态
|
||||
// * 0: 待付款
|
||||
// * 1: 待发货
|
||||
// * 2: 已发货
|
||||
// * 3:已完成
|
||||
// * 4: 交易失败
|
||||
// * 5: 已过期
|
||||
|
||||
console.log("res at line 757:", res);
|
||||
that.map = res.data;
|
||||
|
||||
that.ordersTabs.map((e) => {
|
||||
if (e.value == 0 || e.value == 1 || e.value == 2) {
|
||||
if (that.map[e.value] > 0) {
|
||||
var numList = that.map.filter((v) => v.order_status == e.value);
|
||||
console.log("num at line 771:", numList);
|
||||
if (numList.length > 0) {
|
||||
e.badge = {
|
||||
value: that.map[e.value],
|
||||
value: numList[0].num,
|
||||
};
|
||||
}
|
||||
} else {
|
||||
@@ -577,14 +879,15 @@ export default {
|
||||
|
||||
var params = {
|
||||
userId: this.userInfo.id,
|
||||
orderStatus: flag == -1 ? null : flag, //传null为全部,订单状态 0-未付款 1-待发货 2-已发货 3-交易成功 4-交易失败 5-过期
|
||||
come: this.come,
|
||||
orderStatus: flag == -1 ? "" : flag, //传null为全部,订单状态 0-未付款 1-待发货 2-已发货 3-交易成功 4-交易失败 5-过期
|
||||
...this.pagination,
|
||||
// limit: 10,
|
||||
// page: this.newestpage,
|
||||
};
|
||||
$http
|
||||
this.$http
|
||||
.request({
|
||||
url: "book/buyOrder/getUserOrderList",
|
||||
url: "common/buyOrder/commonBuyOrderList",
|
||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||
data: params,
|
||||
header: {
|
||||
@@ -594,16 +897,16 @@ export default {
|
||||
})
|
||||
.then((res) => {
|
||||
console.log(res, "内容获取成功");
|
||||
that.pagination.total = res.page.total;
|
||||
if (res.page.total == 0) {
|
||||
that.pagination.total = res.data.total;
|
||||
if (res.data.total == 0) {
|
||||
this.isLoadingHide = true;
|
||||
}
|
||||
if (res.code == 0 && res.page && res.page.records.length > 0) {
|
||||
that.newList = that.newList.concat(res.page.records);
|
||||
if (res.code == 0 && res.data && res.data.records.length > 0) {
|
||||
that.newList = that.newList.concat(res.data.records);
|
||||
} else {
|
||||
//
|
||||
}
|
||||
if (res.page.records.length != 10) {
|
||||
if (res.data.records.length != 10) {
|
||||
that.status = 1;
|
||||
} else {
|
||||
that.status = 0;
|
||||
@@ -709,7 +1012,7 @@ export default {
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
this.$http
|
||||
.get("/book/buyOrder/cancelOrder?orderSn=" + item.orderSn)
|
||||
.get("book/buyOrder/cancelOrder?orderSn=" + item.orderSn)
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
uni.showToast({
|
||||
@@ -959,7 +1262,7 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
// @import '@/style/mixin.scss';
|
||||
@import "@/style/mixin.scss";
|
||||
.ordersTabs {
|
||||
// margin: 70rpx 0 0 0;
|
||||
width: 730rpx;
|
||||
@@ -999,15 +1302,21 @@ export default {
|
||||
}
|
||||
}
|
||||
.orderstatusbtn {
|
||||
color: #000;
|
||||
border: 1px solid #999;
|
||||
border-radius: 10rpx;
|
||||
padding: 0 10rpx;
|
||||
margin-left: 20rpx;
|
||||
width: 140rpx;
|
||||
width: 160rpx !important;
|
||||
height: 60rpx;
|
||||
line-height: 55rpx !important;
|
||||
color: #1d1d1d;
|
||||
border: 1px solid #a0a0a0;
|
||||
border-radius: 30rpx;
|
||||
// padding: 0 10rpx;
|
||||
text-align: center;
|
||||
margin-left: 20rpx;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.orderstatusbtn_success {
|
||||
color: #f5342b;
|
||||
border-color: #f5342b;
|
||||
}
|
||||
|
||||
.flexbox {
|
||||
display: flex;
|
||||
}
|
||||
@@ -1084,17 +1393,29 @@ export default {
|
||||
padding-top: 20rpx;
|
||||
}
|
||||
.orderInfo {
|
||||
position: relative;
|
||||
justify-content: space-between;
|
||||
// margin-bottom: 15px;
|
||||
background-color: #fff;
|
||||
padding: 20rpx 30rpx;
|
||||
padding: 20rpx 20rpx;
|
||||
border: 1px splid #999;
|
||||
box-sizing: border-box;
|
||||
// padding-bottom: 20rpx;
|
||||
border-radius: 20rpx;
|
||||
margin-bottom: 20rpx;
|
||||
.bookinfolist {
|
||||
height: 180rpx;
|
||||
width: 100%;
|
||||
margin-bottom: 20rpx;
|
||||
overflow: hidden;
|
||||
// height: 180rpx;
|
||||
}
|
||||
.bookinfolist:nth-last-child(1) {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
.operation_box {
|
||||
position: absolute;
|
||||
bottom: 20rpx;
|
||||
left: 40rpx;
|
||||
}
|
||||
}
|
||||
.mainContent {
|
||||
@@ -1109,18 +1430,43 @@ export default {
|
||||
// margin-bottom: 20rpx;
|
||||
}
|
||||
.feng {
|
||||
margin: 0rpx 20rpx 0 0;
|
||||
height: 160rpx;
|
||||
background-color: #fafafa;
|
||||
margin: 0rpx 22rpx 0 0;
|
||||
height: 140rpx;
|
||||
width: 140rpx;
|
||||
float: left;
|
||||
border-radius: 20rpx;
|
||||
border: 1rpx solid #e9e9e9;
|
||||
border-radius: 14rpx;
|
||||
// border: 1rpx solid #e9e9e9;
|
||||
}
|
||||
.point_box {
|
||||
.booknameleft {
|
||||
line-height: 70rpx !important;
|
||||
}
|
||||
}
|
||||
.fengPoint {
|
||||
background-color: #fff;
|
||||
height: 100rpx;
|
||||
width: 100rpx;
|
||||
}
|
||||
.item_top {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
margin-bottom: 25rpx;
|
||||
.source_app {
|
||||
font-size: 26rpx;
|
||||
font-weight: bold;
|
||||
line-height: 26rpx;
|
||||
}
|
||||
}
|
||||
.orderstatus {
|
||||
font-size: 30rpx;
|
||||
color: red;
|
||||
line-height: 24rpx;
|
||||
font-size: 24rpx;
|
||||
color: #e55f18;
|
||||
text-align: right;
|
||||
padding-bottom: 10rpx;
|
||||
letter-spacing: 2rpx;
|
||||
}
|
||||
/deep/.description {
|
||||
overflow: hidden;
|
||||
@@ -1145,8 +1491,10 @@ export default {
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
.booknameleft {
|
||||
width: calc(100% - 100rpx);
|
||||
color: #333;
|
||||
font-size: 32rpx;
|
||||
width: calc(100% - 200rpx);
|
||||
color: #070707;
|
||||
letter-spacing: 0.5rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
.left {
|
||||
@@ -1160,7 +1508,7 @@ export default {
|
||||
align-items: center;
|
||||
}
|
||||
.price {
|
||||
width: 80rpx;
|
||||
width: 120rpx;
|
||||
}
|
||||
.gzicon {
|
||||
margin: 0 0 0 20rpx;
|
||||
@@ -1203,7 +1551,7 @@ export default {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.item1 {
|
||||
.item2 {
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
}
|
||||
@@ -1217,7 +1565,7 @@ export default {
|
||||
padding: 0 !important;
|
||||
}
|
||||
.commonDetailPage {
|
||||
background-color: #d8f8e4 !important;
|
||||
background-color: $themeBgColor;
|
||||
}
|
||||
.order_box {
|
||||
padding: 20rpx;
|
||||
@@ -1228,4 +1576,9 @@ export default {
|
||||
padding-right: 0 !important;
|
||||
border: none !important;
|
||||
}
|
||||
.product_quantity {
|
||||
width: auto;
|
||||
color: #9b9b9b;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user