Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4751dc9f6 | ||
|
|
6ab3d5cc75 | ||
|
|
01c400bb7e | ||
|
|
cb8a4bb33c | ||
|
|
fb03ad9f4a | ||
|
|
e7557e72a5 | ||
|
|
6e1e6233fa | ||
|
|
ce94e5d739 | ||
|
|
ca79a820fb | ||
|
|
cb6abf4a5a | ||
|
|
f2aeab5c41 | ||
|
|
1fad8cae64 | ||
|
|
2411ae369d | ||
|
|
e6cf9c082c | ||
|
|
fcccf351bf | ||
|
|
27ac2a086d | ||
|
|
df87d0f9c8 | ||
|
|
7aeff7ece1 | ||
|
|
7dcba7c04b | ||
|
|
5d4ad3f427 | ||
|
|
fd583b7a2e | ||
|
|
7dedcf773f | ||
|
|
a8907717b2 | ||
|
|
ed23d2e220 | ||
|
|
7d55bdf879 | ||
|
|
4b56c2cce7 | ||
|
|
77e900e02c | ||
|
|
75e9c404fc | ||
|
|
0a70e4af6c | ||
|
|
11e294bcdc | ||
|
|
3e0e1542b6 | ||
|
|
ae3fbf914b | ||
|
|
8ee399823d | ||
|
|
dac7c96189 | ||
|
|
458d2b8b65 | ||
|
|
33a1125294 | ||
|
|
a2d0ef8dfa | ||
|
|
b0c4a5621e | ||
|
|
8c83e0a1bc | ||
|
|
97c4d7fe4f | ||
|
|
29827b250a | ||
|
|
edaba70c6e | ||
|
|
e5c7900b89 | ||
|
|
d69cf4c9e2 | ||
|
|
4a29b1cd27 | ||
|
|
df1c6dfb73 | ||
|
|
13201d251b | ||
|
|
be90572388 | ||
|
|
335793676b | ||
|
|
377852a65f | ||
|
|
f202fca716 | ||
|
|
d288547259 | ||
|
|
5568cf039e | ||
|
|
ef66206182 | ||
|
|
d00fe87625 | ||
|
|
749e3901f8 | ||
|
|
1710f4809c | ||
|
|
38545cd76e | ||
|
|
b9dcbe6560 | ||
|
|
50e143f13c | ||
|
|
7c65d839d9 | ||
|
|
f29ca88ab3 | ||
|
|
56402e37f3 | ||
|
|
c39f2a4da8 | ||
|
|
c894689365 | ||
|
|
5c23dc9773 | ||
|
|
bad10982b7 | ||
|
|
fe0397a483 | ||
|
|
a535c8192e | ||
|
|
2e1fa524fa | ||
|
|
48284adb6b | ||
|
|
2af9fe99ee | ||
|
|
5caa9b176a | ||
|
|
438b7a98e4 | ||
|
|
a2f1d9f59e | ||
|
|
c4787b56e8 | ||
|
|
0937a32bce | ||
|
|
cfef9c5b39 | ||
|
|
85906cbe44 |
@@ -51,6 +51,7 @@ export const chatMixinsV2 = {
|
|||||||
audioPlayId: '',
|
audioPlayId: '',
|
||||||
showGiftBtn: false,
|
showGiftBtn: false,
|
||||||
buyLoading: false,
|
buyLoading: false,
|
||||||
|
buyActionLock: false,
|
||||||
exceptionConfig: {
|
exceptionConfig: {
|
||||||
model_exception: '您提的问题未能理解,云灵思想跑偏啦,重新整理一下问题或者重新提问,让云灵再试试!',
|
model_exception: '您提的问题未能理解,云灵思想跑偏啦,重新整理一下问题或者重新提问,让云灵再试试!',
|
||||||
voice_exception: ''
|
voice_exception: ''
|
||||||
@@ -533,6 +534,10 @@ export const chatMixinsV2 = {
|
|||||||
this.productItemBuyNowOrGiftBuy(item, 2)
|
this.productItemBuyNowOrGiftBuy(item, 2)
|
||||||
},
|
},
|
||||||
productItemBuyNowOrGiftBuy(item, BuyNowOrGiftBuyType) {
|
productItemBuyNowOrGiftBuy(item, BuyNowOrGiftBuyType) {
|
||||||
|
if (this.buyActionLock) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.buyActionLock = true
|
||||||
this.audioStopHandle()
|
this.audioStopHandle()
|
||||||
this.cart_num = 1
|
this.cart_num = 1
|
||||||
this.m_id = item.id
|
this.m_id = item.id
|
||||||
@@ -540,6 +545,7 @@ export const chatMixinsV2 = {
|
|||||||
const { data } = res
|
const { data } = res
|
||||||
this.storeInfo = {...data.storeInfo}
|
this.storeInfo = {...data.storeInfo}
|
||||||
if(data.storeInfo.stock === 0) {
|
if(data.storeInfo.stock === 0) {
|
||||||
|
this.buyActionLock = false
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "产品库存不足,请选择其他商品",
|
title: "产品库存不足,请选择其他商品",
|
||||||
icon: "none",
|
icon: "none",
|
||||||
@@ -577,6 +583,14 @@ export const chatMixinsV2 = {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.attr.cartAttr = !this.isOpen ? true : false
|
this.attr.cartAttr = !this.isOpen ? true : false
|
||||||
|
this.buyActionLock = false
|
||||||
|
}).catch(error => {
|
||||||
|
this.buyActionLock = false
|
||||||
|
uni.showToast({
|
||||||
|
title: error.msg || '操作失败,请稍后重试',
|
||||||
|
icon: "none",
|
||||||
|
duration: 3000
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
buyNowOrGiftBuyReq(type) {
|
buyNowOrGiftBuyReq(type) {
|
||||||
@@ -617,6 +631,7 @@ export const chatMixinsV2 = {
|
|||||||
})
|
})
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
_this.buyLoading = false
|
_this.buyLoading = false
|
||||||
|
_this.buyActionLock = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
closeAttrWindow() {
|
closeAttrWindow() {
|
||||||
|
|||||||
@@ -102,6 +102,17 @@ export function postOrderRefund(data) {
|
|||||||
return request.post("/order/refund/verify", data);
|
return request.post("/order/refund/verify", data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 取消退款申请
|
||||||
|
* @param uni
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
export function cancelOrderRefund(uni) {
|
||||||
|
return request.post("/order/refund/cancel", {
|
||||||
|
uni
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 确认收货
|
* 确认收货
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
|
|||||||
@@ -10,6 +10,14 @@ if (NODE_ENV === 'development' || NODE_ENV === 'test') {
|
|||||||
enableDebug: false
|
enableDebug: false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
if (NODE_ENV === 'fix') {
|
||||||
|
BASE_URL = 'https://shop-pre.xdd618.com/api'
|
||||||
|
SERVICE_URL = 'https://service-pre.xdd618.com/api'
|
||||||
|
SERVICE_WS_URL = 'wss://service-pre.xdd618.com/ws'
|
||||||
|
wx.setEnableDebug({
|
||||||
|
enableDebug: false
|
||||||
|
})
|
||||||
|
}
|
||||||
if (NODE_ENV === 'prod') {
|
if (NODE_ENV === 'prod') {
|
||||||
BASE_URL = 'https://wxapp.xdd618.com/api'
|
BASE_URL = 'https://wxapp.xdd618.com/api'
|
||||||
SERVICE_URL = 'https://service.xdd618.com/api'
|
SERVICE_URL = 'https://service.xdd618.com/api'
|
||||||
|
|||||||
@@ -133,6 +133,17 @@
|
|||||||
"CUSTOM-CONST": true
|
"CUSTOM-CONST": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"mp-weixin-fix": {
|
||||||
|
"title": "微信小程序(Fix环境)",
|
||||||
|
"env": {
|
||||||
|
"UNI_PLATFORM": "mp-weixin",
|
||||||
|
"VUE_APP_ENV": "fix",
|
||||||
|
"UNI_OUTPUT_DIR": "dist"
|
||||||
|
},
|
||||||
|
"define": {
|
||||||
|
"CUSTOM-CONST": true
|
||||||
|
}
|
||||||
|
},
|
||||||
"mp-weixin": {
|
"mp-weixin": {
|
||||||
"title": "微信小程序(生产环境)",
|
"title": "微信小程序(生产环境)",
|
||||||
"env": {
|
"env": {
|
||||||
|
|||||||
+1
-1
@@ -490,7 +490,7 @@
|
|||||||
{
|
{
|
||||||
"path": "views/giftList",
|
"path": "views/giftList",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "特色礼品"
|
"navigationBarTitleText": "全国礼品"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -7,21 +7,23 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="list" v-if="list.length">
|
<view class="list" v-if="list.length">
|
||||||
<custom-waterfalls-flow :value="list" imageKey="cover">
|
<view class="video-waterfalls-wrap">
|
||||||
<view class="item" v-for="(item,index) in list" :key="index" slot="slot{{index}}" @click="goDetail(item)">
|
<custom-waterfalls-flow :value="list" imageKey="cover">
|
||||||
<image class="cover" :src="item.cover" mode="widthFix"></image>
|
<view class="item" v-for="(item,index) in list" :key="index" slot="slot{{index}}" @click="goDetail(item)">
|
||||||
<view class="content">
|
<image class="cover" :src="item.cover" mode="widthFix"></image>
|
||||||
<view class="title more-t">{{ item.title }}</view>
|
<view class="content">
|
||||||
<view class="footer flex jc-between ai-center">
|
<view class="title more-t">{{ item.title }}</view>
|
||||||
<view class="visit flex ai-center">
|
<view class="footer flex jc-between ai-center">
|
||||||
<image class="icon" style="margin-right: 8rpx" :src="item.storeLogo" mode="scaleToFill"></image>
|
<view class="visit flex ai-center">
|
||||||
{{ item.storeName }}
|
<image class="icon" style="margin-right: 8rpx" :src="item.storeLogo" mode="scaleToFill"></image>
|
||||||
|
{{ item.storeName }}
|
||||||
|
</view>
|
||||||
|
<image class="icon flex-0" :src="webUrl+'/20210806121203835373.png'" mode="scaleToFill"></image>
|
||||||
</view>
|
</view>
|
||||||
<image class="icon flex-0" :src="webUrl+'/20210806121203835373.png'" mode="scaleToFill"></image>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</custom-waterfalls-flow>
|
||||||
</custom-waterfalls-flow>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="v4-nodata" v-else>
|
<view class="v4-nodata" v-else>
|
||||||
@@ -114,6 +116,7 @@ export default {
|
|||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.active {
|
.active {
|
||||||
@@ -125,6 +128,19 @@ export default {
|
|||||||
.list {
|
.list {
|
||||||
margin: 28rpx 32rpx;
|
margin: 28rpx 32rpx;
|
||||||
|
|
||||||
|
.video-waterfalls-wrap {
|
||||||
|
direction: ltr;
|
||||||
|
|
||||||
|
/deep/ .waterfalls-flow {
|
||||||
|
direction: ltr;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/ .waterfalls-flow-column {
|
||||||
|
float: left !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
border-radius: 4rpx;
|
border-radius: 4rpx;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
|||||||
@@ -384,20 +384,23 @@ export default {
|
|||||||
this.mescroll && this.mescroll.triggerDownScroll()
|
this.mescroll && this.mescroll.triggerDownScroll()
|
||||||
},
|
},
|
||||||
search() {
|
search() {
|
||||||
if(this.keyword === '') return
|
const keyword = (this.keyword || '').trim()
|
||||||
this.listGroup.findIndex((group, index) => {
|
if (!keyword) return
|
||||||
let result
|
const matchIndex = this.listGroup.findIndex(group => {
|
||||||
group.city.forEach(item => {
|
const cityList = Array.isArray(group.city) ? group.city : []
|
||||||
result = item.cityName.indexOf(this.keyword, 0)
|
return cityList.some(item => item && item.cityName && item.cityName.indexOf(keyword) !== -1)
|
||||||
if (result !== -1) {
|
|
||||||
this.asideTap(index);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
if (result !== -1) {
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
if (matchIndex !== -1) {
|
||||||
|
this.keyword = keyword
|
||||||
|
this.asideTap(matchIndex)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (matchIndex === -1) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '未找到该城市,请重新输入城市名称',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
select(item) {
|
select(item) {
|
||||||
if (this.type === 0 && item.hasData === 0) return
|
if (this.type === 0 && item.hasData === 0) return
|
||||||
|
|||||||
+22
-4
@@ -36,7 +36,7 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view class="product-wrap v12-mt-3">
|
<view v-if="products.length > 0" class="product-wrap v12-mt-3">
|
||||||
<view class="product-card" v-for="(item, index) in products" :key="index" @click="toGoods(item)">
|
<view class="product-card" v-for="(item, index) in products" :key="index" @click="toGoods(item)">
|
||||||
<image :src="item.productImage" class="product-card-img" mode="heightFix|widthFix"></image>
|
<image :src="item.productImage" class="product-card-img" mode="heightFix|widthFix"></image>
|
||||||
<view class="new-info">
|
<view class="new-info">
|
||||||
@@ -53,6 +53,9 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view v-else class="empty-wrap">
|
||||||
|
<view class="empty-text">暂无数据</view>
|
||||||
|
</view>
|
||||||
<ProductWindow
|
<ProductWindow
|
||||||
ref="attrWindow"
|
ref="attrWindow"
|
||||||
:attr="attr"
|
:attr="attr"
|
||||||
@@ -99,8 +102,12 @@ export default{
|
|||||||
onLoad() {
|
onLoad() {
|
||||||
queryNewZone().then(res => {
|
queryNewZone().then(res => {
|
||||||
this.details = res.data
|
this.details = res.data
|
||||||
this.tabs = res.data.categories
|
this.tabs = Array.isArray(res.data.categories) ? res.data.categories : []
|
||||||
this.handleClick(0, this.tabs[0])
|
if (this.tabs.length > 0) {
|
||||||
|
this.handleClick(0, this.tabs[0])
|
||||||
|
} else {
|
||||||
|
this.products = []
|
||||||
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -112,7 +119,7 @@ export default{
|
|||||||
methods: {
|
methods: {
|
||||||
handleClick(index, tab) {
|
handleClick(index, tab) {
|
||||||
this.activeIndex = index
|
this.activeIndex = index
|
||||||
this.products = tab.products
|
this.products = Array.isArray(tab && tab.products) ? tab.products : []
|
||||||
},
|
},
|
||||||
handleChange(e) {
|
handleChange(e) {
|
||||||
this.current = e.detail.current
|
this.current = e.detail.current
|
||||||
@@ -144,6 +151,17 @@ export default{
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
|
.empty-wrap{
|
||||||
|
min-height: 260rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
.empty-text{
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #999999;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
.tab-line{
|
.tab-line{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
|
|||||||
+239
-70
@@ -54,14 +54,14 @@
|
|||||||
<view class="list v12-ma-0" style="padding: 0rpx 0 30rpx;">
|
<view class="list v12-ma-0" style="padding: 0rpx 0 30rpx;">
|
||||||
<view
|
<view
|
||||||
v-for="(order, orderListIndex) in orderList"
|
v-for="(order, orderListIndex) in orderList"
|
||||||
:key="orderListIndex"
|
:key="order.orderId || orderListIndex"
|
||||||
class="item"
|
class="item"
|
||||||
>
|
>
|
||||||
<view
|
<view
|
||||||
v-if="order.experienceOrderInfo"
|
v-if="order.experienceOrderInfo"
|
||||||
class="shop-info flex jc-between ai-center"
|
class="shop-info flex jc-between ai-center"
|
||||||
style="padding-bottom: 0"
|
style="padding-bottom: 0"
|
||||||
@click.stop="goStore(order)"
|
@click.stop="goStore(orderListIndex)"
|
||||||
>
|
>
|
||||||
<view class="flex ai-center">
|
<view class="flex ai-center">
|
||||||
<image
|
<image
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
v-if="order.merName && !order.experienceOrderInfo"
|
v-if="order.merName && !order.experienceOrderInfo"
|
||||||
class="shop-info flex jc-between ai-center"
|
class="shop-info flex jc-between ai-center"
|
||||||
style="padding-bottom: 0"
|
style="padding-bottom: 0"
|
||||||
@click="goStore(order)"
|
@click="goStore(orderListIndex)"
|
||||||
>
|
>
|
||||||
<view class="flex ai-center">
|
<view class="flex ai-center">
|
||||||
<image
|
<image
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
class="font-color-white statusTag v12-primary"
|
class="font-color-white statusTag v12-primary"
|
||||||
>{{ (order.isGiftCardSend || order.isGiftCardReceive) ? '礼包' : (getStatus(order) || (order._status && order._status._title) || '已完成') }}</view>
|
>{{ (order.isGiftCardSend || order.isGiftCardReceive) ? '礼包' : (getStatus(order) || (order._status && order._status._title) || '已完成') }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view @click="goOrderDetails(order)">
|
<view @click="goOrderDetails(orderListIndex)">
|
||||||
<view
|
<view
|
||||||
v-if="order.isGiftCardReceiveBlind === 1"
|
v-if="order.isGiftCardReceiveBlind === 1"
|
||||||
class="item-info acea-row row-between row-top"
|
class="item-info acea-row row-between row-top"
|
||||||
@@ -254,22 +254,22 @@
|
|||||||
<image
|
<image
|
||||||
v-if="cart.combinationId === 0 && cart.bargainId === 0 &&cart.seckillId === 0"
|
v-if="cart.combinationId === 0 && cart.bargainId === 0 &&cart.seckillId === 0"
|
||||||
:src="cart.productInfo.image"
|
:src="cart.productInfo.image"
|
||||||
@click.stop="gotoGoodDetail(cart, 1, { id: cart.productInfo.id })"
|
@click.stop="gotoGoodDetail(orderListIndex, cartInfoIndex)"
|
||||||
/>
|
/>
|
||||||
<image
|
<image
|
||||||
v-else-if="cart.combinationId > 0"
|
v-else-if="cart.combinationId > 0"
|
||||||
:src="cart.productInfo.image"
|
:src="cart.productInfo.image"
|
||||||
@click.stop="gotoGoodDetail(cart, 2, { id: cart.combinationId })"
|
@click.stop="gotoGoodDetail(orderListIndex, cartInfoIndex)"
|
||||||
/>
|
/>
|
||||||
<image
|
<image
|
||||||
v-else-if="cart.bargainId > 0"
|
v-else-if="cart.bargainId > 0"
|
||||||
:src="cart.productInfo.image"
|
:src="cart.productInfo.image"
|
||||||
@click.stop="gotoGoodDetail(cart, 3, { id: cart.bargainId })"
|
@click.stop="gotoGoodDetail(orderListIndex, cartInfoIndex)"
|
||||||
/>
|
/>
|
||||||
<image
|
<image
|
||||||
v-else-if="cart.seckillId > 0"
|
v-else-if="cart.seckillId > 0"
|
||||||
:src="cart.productInfo.image"
|
:src="cart.productInfo.image"
|
||||||
@click.stop="gotoGoodDetail(cart, 4, { id: cart.seckillId })"
|
@click.stop="gotoGoodDetail(orderListIndex, cartInfoIndex)"
|
||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
<view class="text" style="margin-top: 0 !important;">
|
<view class="text" style="margin-top: 0 !important;">
|
||||||
@@ -334,17 +334,17 @@
|
|||||||
<view
|
<view
|
||||||
v-if="order.experienceOrderStatus === 0 || order.experienceOrderStatus === 1"
|
v-if="order.experienceOrderStatus === 0 || order.experienceOrderStatus === 1"
|
||||||
class="bnt service"
|
class="bnt service"
|
||||||
@click.stop="goRoom(order)"
|
@click.stop="goRoom(orderListIndex)"
|
||||||
>联系商家</view>
|
>联系商家</view>
|
||||||
<view
|
<view
|
||||||
v-if="order.experienceOrderStatus === 0"
|
v-if="order.experienceOrderStatus === 0"
|
||||||
class="bnt v12-primary v12-white-text v12-primary-border v12-radius-40"
|
class="bnt v12-primary v12-white-text v12-primary-border v12-radius-40"
|
||||||
@click.stop="goOrderDetails(order)"
|
@click.stop="goOrderDetails(orderListIndex)"
|
||||||
>去使用</view>
|
>去使用</view>
|
||||||
<view
|
<view
|
||||||
v-if="order.experienceOrderStatus === 1 || order.experienceOrderStatus === 2"
|
v-if="order.experienceOrderStatus === 1 || order.experienceOrderStatus === 2"
|
||||||
class="bnt service"
|
class="bnt service"
|
||||||
@click.stop="delOrder(order)"
|
@click.stop="delOrder(orderListIndex)"
|
||||||
>删除订单</view>
|
>删除订单</view>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
@@ -358,18 +358,18 @@
|
|||||||
>
|
>
|
||||||
<text
|
<text
|
||||||
class="btn-more v12-font-28 v12-font-bold"
|
class="btn-more v12-font-28 v12-font-bold"
|
||||||
@click.stop="tapShowMore(order, orderListIndex)"
|
@click.stop="tapShowMore(orderListIndex)"
|
||||||
>更多</text>
|
>更多</text>
|
||||||
<view class="group-float" v-show="order.showMore">
|
<view class="group-float" v-show="order.showMore">
|
||||||
<view
|
<view
|
||||||
v-if="order.merName && order.isGiftCardReceiveBlind === 0"
|
v-if="order.merName && order.isGiftCardReceiveBlind === 0"
|
||||||
class="btn btn-service flex jc-center ai-center v12-font-24"
|
class="btn btn-service flex jc-center ai-center v12-font-24"
|
||||||
@click="goRoom(order)"
|
@click="goRoom(orderListIndex)"
|
||||||
>联系商家</view>
|
>联系商家</view>
|
||||||
<view
|
<view
|
||||||
v-if="order.isTravelGroup === 0 && order.refundSystemStatus !== 2"
|
v-if="order.isTravelGroup === 0 && order.refundSystemStatus !== 2"
|
||||||
class="btn flex jc-center ai-center v12-font-24"
|
class="btn flex jc-center ai-center v12-font-24"
|
||||||
@click="goRefund(order)"
|
@click="goRefund(orderListIndex)"
|
||||||
>申请退款</view>
|
>申请退款</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -378,7 +378,7 @@
|
|||||||
<view
|
<view
|
||||||
v-if="order.isDrawOrder > 0"
|
v-if="order.isDrawOrder > 0"
|
||||||
class="bnt service"
|
class="bnt service"
|
||||||
@click.stop="callMerPhone(order)"
|
@click.stop="callMerPhone(orderListIndex)"
|
||||||
>联系客服
|
>联系客服
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
@@ -389,18 +389,18 @@
|
|||||||
parseInt(order._status._type) !== 9
|
parseInt(order._status._type) !== 9
|
||||||
"
|
"
|
||||||
class="bnt service"
|
class="bnt service"
|
||||||
@click="goRoom(order)"
|
@click="goRoom(orderListIndex)"
|
||||||
>联系商家</view>
|
>联系商家</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="v12-justify-between">
|
<view class="v12-justify-between">
|
||||||
<view
|
<view
|
||||||
class="bnt service"
|
class="bnt service"
|
||||||
@click="goOrderDetails(order)"
|
@click="goOrderDetails(orderListIndex)"
|
||||||
v-if="[-1, -2, -3].includes(parseInt(order._status._type))"
|
v-if="[-1, -2, -3].includes(parseInt(order._status._type))"
|
||||||
>查看详情</view>
|
>查看详情</view>
|
||||||
<view
|
<view
|
||||||
class="bnt service"
|
class="bnt service"
|
||||||
@click="delOrder(order)"
|
@click="delOrder(orderListIndex)"
|
||||||
v-if="[9].includes(parseInt(order._status._type))"
|
v-if="[9].includes(parseInt(order._status._type))"
|
||||||
>删除订单</view>
|
>删除订单</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -411,61 +411,61 @@
|
|||||||
<template v-if="parseInt(order._status._type) === 0">
|
<template v-if="parseInt(order._status._type) === 0">
|
||||||
<view
|
<view
|
||||||
class="bnt cancelBnt v12-dark-text v12-dark-border"
|
class="bnt cancelBnt v12-dark-text v12-dark-border"
|
||||||
@click="cancelOrder(order)"
|
@click="cancelOrder(orderListIndex)"
|
||||||
>取消订单</view>
|
>取消订单</view>
|
||||||
<view
|
<view
|
||||||
v-if="order.isTravelGroup === 0 && order.isDrawOrder === 0"
|
v-if="order.isTravelGroup === 0 && order.isDrawOrder === 0"
|
||||||
class="bnt cancelBnt v12-dark-text v12-dark-border"
|
class="bnt cancelBnt v12-dark-text v12-dark-border"
|
||||||
@click="addressTap(order)"
|
@click="addressTap(orderListIndex)"
|
||||||
>修改地址</view>
|
>修改地址</view>
|
||||||
<view
|
<view
|
||||||
class="bnt bg-color-lightred v12-white v12-primary-text v12-primary-border v12-radius-40"
|
class="bnt bg-color-lightred v12-white v12-primary-text v12-primary-border v12-radius-40"
|
||||||
@click="subscribePay(order)"
|
@click="subscribePay(orderListIndex)"
|
||||||
>立即付款</view>
|
>立即付款</view>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="parseInt(order._status._type) === 1 && order.isTickets === 0">
|
<template v-if="parseInt(order._status._type) === 1 && order.isTickets === 0">
|
||||||
<view
|
<view
|
||||||
v-if="order.isTravelGroup === 1"
|
v-if="order.isTravelGroup === 1"
|
||||||
class="bnt service"
|
class="bnt service"
|
||||||
@click="editTime(order)"
|
@click="editTime(orderListIndex)"
|
||||||
>{{ '修改时间' }}</view>
|
>{{ '修改时间' }}</view>
|
||||||
<view
|
<view
|
||||||
v-if="order.isTravelGroup === 1"
|
v-if="order.isTravelGroup === 1"
|
||||||
class="bnt service"
|
class="bnt service"
|
||||||
@click="applyRefund(order)"
|
@click="applyRefund(orderListIndex)"
|
||||||
>{{ '申请退款' }}</view>
|
>{{ '申请退款' }}</view>
|
||||||
<view
|
<view
|
||||||
v-if="canShowModifyAddress(order) && order.isDrawOrder === 0"
|
v-if="canShowModifyAddress(order) && order.isDrawOrder === 0"
|
||||||
class="bnt service"
|
class="bnt service"
|
||||||
@click="addressTap(order)"
|
@click="addressTap(orderListIndex)"
|
||||||
>修改地址</view>
|
>修改地址</view>
|
||||||
<view
|
<view
|
||||||
class="bnt service"
|
class="bnt service"
|
||||||
:class="{'v12-primary-text v12-primary-border': order.isTravelGroup === 1}"
|
:class="{'v12-primary-text v12-primary-border': order.isTravelGroup === 1}"
|
||||||
@click="goOrderDetails(order)"
|
@click="goOrderDetails(orderListIndex)"
|
||||||
>{{ order.isTravelGroup === 0 ? '查看详情' : '查看券码' }}</view>
|
>{{ order.isTravelGroup === 0 ? '查看详情' : '查看券码' }}</view>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="parseInt(order._status._type) === 1 && order.isTickets === 1">
|
<template v-if="parseInt(order._status._type) === 1 && order.isTickets === 1">
|
||||||
<view
|
<view
|
||||||
class="bnt bg-color-lightred v12-white v12-primary-text v12-primary-border v12-radius-40"
|
class="bnt bg-color-lightred v12-white v12-primary-text v12-primary-border v12-radius-40"
|
||||||
@click="goOrderDetails(order)"
|
@click="goOrderDetails(orderListIndex)"
|
||||||
>立即核销</view>
|
>立即核销</view>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="parseInt(order._status._type) === 2 && order.isTickets === 0 && order.isTravelGroup === 1">
|
<template v-if="parseInt(order._status._type) === 2 && order.isTickets === 0 && order.isTravelGroup === 1">
|
||||||
<view
|
<view
|
||||||
v-if="order.isTravelGroup === 1"
|
v-if="order.isTravelGroup === 1"
|
||||||
class="bnt service"
|
class="bnt service"
|
||||||
@click="editTime(order)"
|
@click="editTime(orderListIndex)"
|
||||||
>{{ '修改时间' }}</view>
|
>{{ '修改时间' }}</view>
|
||||||
<view
|
<view
|
||||||
v-if="order.isTravelGroup === 1"
|
v-if="order.isTravelGroup === 1"
|
||||||
class="bnt service"
|
class="bnt service"
|
||||||
@click="applyRefund(order)"
|
@click="applyRefund(orderListIndex)"
|
||||||
>{{ '申请退款' }}</view>
|
>{{ '申请退款' }}</view>
|
||||||
<view
|
<view
|
||||||
class="bnt service"
|
class="bnt service"
|
||||||
:class="{'v12-primary-text v12-primary-border': order.isTravelGroup === 1}"
|
:class="{'v12-primary-text v12-primary-border': order.isTravelGroup === 1}"
|
||||||
@click="goOrderDetails(order)"
|
@click="goOrderDetails(orderListIndex)"
|
||||||
>{{ order.isTravelGroup === 0 ? '查看详情' : '查看券码' }}</view>
|
>{{ order.isTravelGroup === 0 ? '查看详情' : '查看券码' }}</view>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="parseInt(order._status._type) === 2 && order.isTickets === 0 && order.isTravelGroup === 0">
|
<template v-if="parseInt(order._status._type) === 2 && order.isTickets === 0 && order.isTravelGroup === 0">
|
||||||
@@ -477,23 +477,23 @@
|
|||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
class="bnt bg-color-lightred v12-white v12-primary-text v12-primary-border v12-radius-40"
|
class="bnt bg-color-lightred v12-white v12-primary-text v12-primary-border v12-radius-40"
|
||||||
@click="takeOrder(order)"
|
@click="takeOrder(orderListIndex)"
|
||||||
>确认收货</view>
|
>确认收货</view>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="parseInt(order._status._type) === 3 && order.isTravelGroup === 0">
|
<template v-if="parseInt(order._status._type) === 3 && order.isTravelGroup === 0">
|
||||||
<view
|
<view
|
||||||
class="bnt bg-color-lightred v12-white v12-primary-text v12-primary-border v12-radius-40"
|
class="bnt bg-color-lightred v12-white v12-primary-text v12-primary-border v12-radius-40"
|
||||||
@click="goOrderDetails(order)"
|
@click="goOrderDetails(orderListIndex)"
|
||||||
>去评价</view>
|
>去评价</view>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="parseInt(order._status._type) === 3 && order.isTravelGroup === 1">
|
<template v-if="parseInt(order._status._type) === 3 && order.isTravelGroup === 1">
|
||||||
<view
|
<view
|
||||||
class="bnt bg-color-lightred v12-white v12-primary-text v12-primary-border v12-radius-40"
|
class="bnt bg-color-lightred v12-white v12-primary-text v12-primary-border v12-radius-40"
|
||||||
@click="goOrderDetails(order)"
|
@click="goOrderDetails(orderListIndex)"
|
||||||
>去评价</view>
|
>去评价</view>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="parseInt(order._status._type) === 4">
|
<template v-if="parseInt(order._status._type) === 4">
|
||||||
<view class="bnt service" @click="goOrderDetails(order)">查看订单</view>
|
<view class="bnt service" @click="goOrderDetails(orderListIndex)">查看订单</view>
|
||||||
</template>
|
</template>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -505,7 +505,7 @@
|
|||||||
<view
|
<view
|
||||||
v-if="order.merName && order.isGiftCardReceiveBlind === 0"
|
v-if="order.merName && order.isGiftCardReceiveBlind === 0"
|
||||||
class="bnt btn-service flex jc-center ai-center v12-font-24"
|
class="bnt btn-service flex jc-center ai-center v12-font-24"
|
||||||
@click="goRoom(order)"
|
@click="goRoom(orderListIndex)"
|
||||||
>联系商家
|
>联系商家
|
||||||
</view>
|
</view>
|
||||||
<view class="v12-align-center">
|
<view class="v12-align-center">
|
||||||
@@ -519,14 +519,14 @@
|
|||||||
"
|
"
|
||||||
open-type="share"
|
open-type="share"
|
||||||
class="gift-btn service v12-primary-text v12-primary-border"
|
class="gift-btn service v12-primary-text v12-primary-border"
|
||||||
@click="shareGift(order)"
|
@click="shareGift(orderListIndex)"
|
||||||
>送给朋友</button>
|
>送给朋友</button>
|
||||||
<button
|
<button
|
||||||
v-if="Number(order.status) === 0"
|
v-if="Number(order.status) === 0"
|
||||||
class="gift-btn service v12-primary-text v12-primary-border"
|
class="gift-btn service v12-primary-text v12-primary-border"
|
||||||
@click="subscribePay(order)"
|
@click="subscribePay(orderListIndex)"
|
||||||
>立即支付</button>
|
>立即支付</button>
|
||||||
<view class="bnt service" @click="goOrderDetails(order)">查看详情</view>
|
<view class="bnt service" @click="goOrderDetails(orderListIndex)">查看详情</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -725,7 +725,8 @@ export default {
|
|||||||
showDatePicker: false,
|
showDatePicker: false,
|
||||||
dateRange: [],
|
dateRange: [],
|
||||||
userLatitude: null,
|
userLatitude: null,
|
||||||
userLongitude: null
|
userLongitude: null,
|
||||||
|
orderListRequestId: 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@@ -929,12 +930,28 @@ export default {
|
|||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
editTime(order) {
|
editTime(orderOrIndex) {
|
||||||
|
const order = this.getOrderByIndex(orderOrIndex)
|
||||||
|
if (!order) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '订单信息异常',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
this.showDatePicker = true
|
this.showDatePicker = true
|
||||||
this.travelGroupOrderInfo = order.travelGroupOrderInfo
|
this.travelGroupOrderInfo = order.travelGroupOrderInfo
|
||||||
this.orderInfo = order
|
this.orderInfo = order
|
||||||
},
|
},
|
||||||
applyRefund(order) {
|
applyRefund(orderOrIndex) {
|
||||||
|
const order = this.getOrderByIndex(orderOrIndex)
|
||||||
|
if (!order) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '订单信息异常',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
// 这里可以添加申请退款的逻辑,比如跳转到退款页面
|
// 这里可以添加申请退款的逻辑,比如跳转到退款页面
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pkg_product/views/sojoumOrderRefund?id=' + order.orderId
|
url: '/pkg_product/views/sojoumOrderRefund?id=' + order.orderId
|
||||||
@@ -950,8 +967,16 @@ export default {
|
|||||||
}
|
}
|
||||||
return timeMap[type]
|
return timeMap[type]
|
||||||
},
|
},
|
||||||
shareGift(item) {
|
shareGift(orderOrIndex) {
|
||||||
this.giftItem = item
|
const order = this.getOrderByIndex(orderOrIndex)
|
||||||
|
if (!order) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '订单信息异常',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.giftItem = order
|
||||||
},
|
},
|
||||||
getGiftTips(giftCardInfo) {
|
getGiftTips(giftCardInfo) {
|
||||||
// giftCardStatus int 礼品卡状态 0-未领取 1-已领取 2-已失效
|
// giftCardStatus int 礼品卡状态 0-未领取 1-已领取 2-已失效
|
||||||
@@ -982,14 +1007,30 @@ export default {
|
|||||||
})
|
})
|
||||||
this.$forceUpdate()
|
this.$forceUpdate()
|
||||||
},
|
},
|
||||||
delOrder(order) {
|
getOrderByIndex(orderOrIndex) {
|
||||||
|
if (typeof orderOrIndex === 'number') {
|
||||||
|
return this.orderList[orderOrIndex]
|
||||||
|
}
|
||||||
|
if (typeof orderOrIndex === 'string' && /^\d+$/.test(orderOrIndex)) {
|
||||||
|
return this.orderList[Number(orderOrIndex)]
|
||||||
|
}
|
||||||
|
return orderOrIndex
|
||||||
|
},
|
||||||
|
delOrder(orderOrIndex) {
|
||||||
|
const order = this.getOrderByIndex(orderOrIndex)
|
||||||
|
if (!order) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '订单信息异常',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
delOrderHandle(order.orderId).then(() => {
|
delOrderHandle(order.orderId).then(() => {
|
||||||
this.page = 1
|
this.changeType()
|
||||||
this.orderList = [];
|
|
||||||
this.getOrderListReq()
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
goStore(order) {
|
goStore(orderOrIndex) {
|
||||||
|
const order = this.getOrderByIndex(orderOrIndex)
|
||||||
if (!order) {
|
if (!order) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -1071,14 +1112,30 @@ export default {
|
|||||||
this.toYuePay(payPwd)
|
this.toYuePay(payPwd)
|
||||||
this.isShowPayPwdPop = false
|
this.isShowPayPwdPop = false
|
||||||
},
|
},
|
||||||
subscribePay(order) {
|
subscribePay(orderOrIndex) {
|
||||||
|
const order = this.getOrderByIndex(orderOrIndex)
|
||||||
|
if (!order) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '订单信息异常',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
this.orderInfo = order
|
this.orderInfo = order
|
||||||
uni.requestSubscribeMessage({
|
uni.requestSubscribeMessage({
|
||||||
tmplIds: settings.SubscribeMessageTmplIds,
|
tmplIds: settings.SubscribeMessageTmplIds,
|
||||||
complete: () => this.pay = true
|
complete: () => this.pay = true
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
addressTap(order) {
|
addressTap(orderOrIndex) {
|
||||||
|
const order = this.getOrderByIndex(orderOrIndex)
|
||||||
|
if (!order) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '订单信息异常',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
this._orderId = order.orderId
|
this._orderId = order.orderId
|
||||||
uni.setStorageSync('updateOrderSourceAddress', {
|
uni.setStorageSync('updateOrderSourceAddress', {
|
||||||
id: order.addressId || order.userAddressId || '',
|
id: order.addressId || order.userAddressId || '',
|
||||||
@@ -1096,7 +1153,8 @@ export default {
|
|||||||
force2Decimal(v) {
|
force2Decimal(v) {
|
||||||
return this.$force2Decimal(v)
|
return this.$force2Decimal(v)
|
||||||
},
|
},
|
||||||
callMerPhone(order) {
|
callMerPhone(orderOrIndex) {
|
||||||
|
const order = this.getOrderByIndex(orderOrIndex)
|
||||||
const phone = String((order && order.merPhone) || '').trim()
|
const phone = String((order && order.merPhone) || '').trim()
|
||||||
if (!phone) {
|
if (!phone) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
@@ -1109,10 +1167,17 @@ export default {
|
|||||||
phoneNumber: phone
|
phoneNumber: phone
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
goRoom(order) {
|
goRoom(orderOrIndex) {
|
||||||
console.log(order);
|
const order = this.getOrderByIndex(orderOrIndex)
|
||||||
|
if (!order) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '订单信息异常',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
if (order.experienceOrderInfo) {
|
if (order.experienceOrderInfo) {
|
||||||
const phone = order.merchantPhone || order.merPhone || order.experienceOrderInfo.phone || order.companyTel;
|
const phone = order.merchantPhone || order.merPhone || order.experienceOrderInfo.phone || order.companyTel
|
||||||
if (phone) {
|
if (phone) {
|
||||||
uni.makePhoneCall({
|
uni.makePhoneCall({
|
||||||
phoneNumber: phone
|
phoneNumber: phone
|
||||||
@@ -1143,7 +1208,15 @@ export default {
|
|||||||
url: `/pkg_common/views/room?id=${order.merId}&name=${order.merName}¶ms=${JSON.stringify(params)}`
|
url: `/pkg_common/views/room?id=${order.merId}&name=${order.merName}¶ms=${JSON.stringify(params)}`
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
goRefund(order) {
|
goRefund(orderOrIndex) {
|
||||||
|
const order = this.getOrderByIndex(orderOrIndex)
|
||||||
|
if (!order) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '订单信息异常',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
// fix bug#1631
|
// fix bug#1631
|
||||||
if (this.type === 4 || parseInt(order._status._type) === 3) {
|
if (this.type === 4 || parseInt(order._status._type) === 3) {
|
||||||
// 打开售后的目的就是开启已完成/待评价订单的退款功能,确认打开售后之后,小程序用户再点击申请退款,就可以进入退款申请填写页面,正常走退款流程,提交退款申请以后,订单状态变为退款中
|
// 打开售后的目的就是开启已完成/待评价订单的退款功能,确认打开售后之后,小程序用户再点击申请退款,就可以进入退款申请填写页面,正常走退款流程,提交退款申请以后,订单状态变为退款中
|
||||||
@@ -1165,7 +1238,15 @@ export default {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
goLogistics(order) {
|
goLogistics(orderOrIndex) {
|
||||||
|
const order = this.getOrderByIndex(orderOrIndex)
|
||||||
|
if (!order) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '订单信息异常',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
this.$yrouter.push({
|
this.$yrouter.push({
|
||||||
path: "/pagesOrder/order/Logistics/index",
|
path: "/pagesOrder/order/Logistics/index",
|
||||||
query: {
|
query: {
|
||||||
@@ -1173,7 +1254,15 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
goOrderDetails(order) {
|
goOrderDetails(orderOrIndex) {
|
||||||
|
const order = this.getOrderByIndex(orderOrIndex)
|
||||||
|
if (!order) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '订单信息异常',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
if (order.experienceOrderInfo) {
|
if (order.experienceOrderInfo) {
|
||||||
this.$yrouter.push({
|
this.$yrouter.push({
|
||||||
path: "/pkg_product/views/experienceCouponOrderDetail",
|
path: "/pkg_product/views/experienceCouponOrderDetail",
|
||||||
@@ -1210,9 +1299,39 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
gotoGoodDetail(cart, type, query){
|
gotoGoodDetail(orderOrIndex, cartOrIndex) {
|
||||||
|
const order = this.getOrderByIndex(orderOrIndex)
|
||||||
|
const cartList = Array.isArray(order && order.cartInfo) ? order.cartInfo : []
|
||||||
|
const cart = typeof cartOrIndex === 'number' ? cartList[cartOrIndex] : cartOrIndex
|
||||||
|
if (!cart) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '未获取到商品信息',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const productInfo = cart.productInfo || {}
|
||||||
|
let type = 1
|
||||||
|
let id = productInfo.id || cart.productId || ''
|
||||||
|
if (Number(cart.combinationId) > 0) {
|
||||||
|
type = 2
|
||||||
|
id = cart.combinationId
|
||||||
|
} else if (Number(cart.bargainId) > 0) {
|
||||||
|
type = 3
|
||||||
|
id = cart.bargainId
|
||||||
|
} else if (Number(cart.seckillId) > 0) {
|
||||||
|
type = 4
|
||||||
|
id = cart.seckillId
|
||||||
|
}
|
||||||
|
if (!id) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '未获取到商品详情参数',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
// isProductStillExist:0-不存在,1-存在
|
// isProductStillExist:0-不存在,1-存在
|
||||||
const isProductStillExist = cart.isProductStillExist || 0
|
const isProductStillExist = Number(cart.isProductStillExist || 0)
|
||||||
if (isProductStillExist === 0) {
|
if (isProductStillExist === 0) {
|
||||||
this.$dialog.toast({ mes: '商品已下架' })
|
this.$dialog.toast({ mes: '商品已下架' })
|
||||||
return
|
return
|
||||||
@@ -1232,14 +1351,32 @@ export default {
|
|||||||
path = '/pages/activity/SeckillDetails/index'
|
path = '/pages/activity/SeckillDetails/index'
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
this.$yrouter.push({ path, query })
|
if (!path) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '未找到商品详情页',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$yrouter.push({
|
||||||
|
path,
|
||||||
|
query: { id }
|
||||||
|
})
|
||||||
},
|
},
|
||||||
getOrderData() {
|
getOrderData() {
|
||||||
getOrderData().then(res => {
|
getOrderData().then(res => {
|
||||||
this.orderData = res.data
|
this.orderData = res.data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
takeOrder(order) {
|
takeOrder(orderOrIndex) {
|
||||||
|
const order = this.getOrderByIndex(orderOrIndex)
|
||||||
|
if (!order) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '订单信息异常',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
const that = this
|
const that = this
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
title: '是否确认收货?',
|
title: '是否确认收货?',
|
||||||
@@ -1260,6 +1397,23 @@ export default {
|
|||||||
reload() {
|
reload() {
|
||||||
this.changeType(this.type)
|
this.changeType(this.type)
|
||||||
},
|
},
|
||||||
|
normalizeOrderList(list = []) {
|
||||||
|
const orderKeySet = new Set()
|
||||||
|
return list.reduce((result, item) => {
|
||||||
|
const orderKey = item && (item.orderId || item.id)
|
||||||
|
if (orderKey && orderKeySet.has(orderKey)) {
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
if (orderKey) {
|
||||||
|
orderKeySet.add(orderKey)
|
||||||
|
}
|
||||||
|
result.push({
|
||||||
|
...item,
|
||||||
|
showMore: false
|
||||||
|
})
|
||||||
|
return result
|
||||||
|
}, [])
|
||||||
|
},
|
||||||
tabChange(item) {
|
tabChange(item) {
|
||||||
this.type = item.index
|
this.type = item.index
|
||||||
this.$yroute.query.type = this.type
|
this.$yroute.query.type = this.type
|
||||||
@@ -1300,6 +1454,7 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
changeType() {
|
changeType() {
|
||||||
|
this.orderListRequestId += 1
|
||||||
this.orderList = []
|
this.orderList = []
|
||||||
this.page = 1
|
this.page = 1
|
||||||
this.loaded = false
|
this.loaded = false
|
||||||
@@ -1308,7 +1463,8 @@ export default {
|
|||||||
},
|
},
|
||||||
getOrderListReq() {
|
getOrderListReq() {
|
||||||
if (this.loading || this.loaded) return
|
if (this.loading || this.loaded) return
|
||||||
// this.loading = true
|
this.loading = true
|
||||||
|
const currentRequestId = this.orderListRequestId
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
mask: true,
|
mask: true,
|
||||||
})
|
})
|
||||||
@@ -1335,22 +1491,27 @@ export default {
|
|||||||
keyword,
|
keyword,
|
||||||
orderType
|
orderType
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
this.orderList = this.orderList.concat(res.data)
|
if (currentRequestId !== this.orderListRequestId) {
|
||||||
if (this.orderList.length > 0) {
|
return
|
||||||
this.orderList.forEach(item => {
|
|
||||||
item.showMore = false;
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
const nextOrderList = page === 1 ? res.data : this.orderList.concat(res.data)
|
||||||
|
this.orderList = this.normalizeOrderList(nextOrderList)
|
||||||
this.updateOrderDistances()
|
this.updateOrderDistances()
|
||||||
this.page++;
|
this.page = page + 1
|
||||||
this.loaded = res.data.length < this.limit
|
this.loaded = res.data.length < this.limit
|
||||||
this.loading = false
|
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
|
if (currentRequestId !== this.orderListRequestId) {
|
||||||
|
return
|
||||||
|
}
|
||||||
this.loading = false
|
this.loading = false
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
tapShowMore(order, index) {
|
tapShowMore(index) {
|
||||||
|
const order = this.getOrderByIndex(index)
|
||||||
|
if (!order) {
|
||||||
|
return
|
||||||
|
}
|
||||||
order.showMore = !order.showMore;
|
order.showMore = !order.showMore;
|
||||||
this.$set(this.orderList, index, order);
|
this.$set(this.orderList, index, order);
|
||||||
},
|
},
|
||||||
@@ -1390,7 +1551,15 @@ export default {
|
|||||||
}
|
}
|
||||||
return status
|
return status
|
||||||
},
|
},
|
||||||
cancelOrder(order) {
|
cancelOrder(orderOrIndex) {
|
||||||
|
const order = this.getOrderByIndex(orderOrIndex)
|
||||||
|
if (!order) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '订单信息异常',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
cancelOrderHandle(order.orderId).then(() => {
|
cancelOrderHandle(order.orderId).then(() => {
|
||||||
this.getOrderData();
|
this.getOrderData();
|
||||||
this.orderList.splice(this.orderList.indexOf(order), 1)
|
this.orderList.splice(this.orderList.indexOf(order), 1)
|
||||||
|
|||||||
@@ -117,7 +117,7 @@
|
|||||||
<text class="v12-font-28">{{ force2Decimal(orderPrice.payPostage) }}</text>
|
<text class="v12-font-28">{{ force2Decimal(orderPrice.payPostage) }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="v12-justify-between v12-align-center v12-py-1">
|
<view v-if="!isLotteryOrder()" class="v12-justify-between v12-align-center v12-py-1">
|
||||||
<view class="v12-font-24 v12-dark-text v12-align-center">
|
<view class="v12-font-24 v12-dark-text v12-align-center">
|
||||||
<text>优惠券</text>
|
<text>优惠券</text>
|
||||||
<view class="v12-align-center v12-ml-1" v-if="couponTitle">
|
<view class="v12-align-center v12-ml-1" v-if="couponTitle">
|
||||||
@@ -255,7 +255,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- v9 优惠券开始 -->
|
<!-- v9 优惠券开始 -->
|
||||||
<u-popup
|
<u-popup
|
||||||
v-if="show"
|
v-if="!isLotteryOrder() && show"
|
||||||
:show="show"
|
:show="show"
|
||||||
:round="10"
|
:round="10"
|
||||||
mode="bottom"
|
mode="bottom"
|
||||||
@@ -263,7 +263,7 @@
|
|||||||
@close="close"
|
@close="close"
|
||||||
>
|
>
|
||||||
<CouponsPopup
|
<CouponsPopup
|
||||||
v-if="couponList.usable.length > 0 && show"
|
v-if="!isLotteryOrder() && couponList.usable.length > 0 && show"
|
||||||
:two-list="couponList"
|
:two-list="couponList"
|
||||||
@change="changeCoupons"
|
@change="changeCoupons"
|
||||||
@close="close"
|
@close="close"
|
||||||
@@ -398,7 +398,8 @@ export default {
|
|||||||
pageKeyId: Object.freeze('orderConfirm'),
|
pageKeyId: Object.freeze('orderConfirm'),
|
||||||
total: 0,
|
total: 0,
|
||||||
couponTitle: '',
|
couponTitle: '',
|
||||||
hasCoupon: false
|
hasCoupon: false,
|
||||||
|
pageQuery: {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: mapGetters(["userInfo", "storeItems"]),
|
computed: mapGetters(["userInfo", "storeItems"]),
|
||||||
@@ -417,17 +418,18 @@ export default {
|
|||||||
},
|
},
|
||||||
onLoad(opts) {
|
onLoad(opts) {
|
||||||
const that = this
|
const that = this
|
||||||
if (that.$yroute.query.pinkid !== undefined) {
|
that.pageQuery = Object.assign({}, that.resolvePageQuery(), opts || {})
|
||||||
that.pinkId = that.$yroute.query.pinkid
|
if (that.pageQuery.pinkid !== undefined) {
|
||||||
|
that.pinkId = that.pageQuery.pinkid
|
||||||
}
|
}
|
||||||
if (that.$yroute.query.id !== undefined) {
|
if (that.pageQuery.id !== undefined) {
|
||||||
that.cartid = that.$yroute.query.id
|
that.cartid = that.pageQuery.id
|
||||||
console.log(that.cartid)
|
console.log(that.cartid)
|
||||||
}
|
}
|
||||||
if (that.$yroute.query.lotteryRecordId !== undefined) {
|
if (that.pageQuery.lotteryRecordId !== undefined) {
|
||||||
that.lotteryRecordId = that.$yroute.query.lotteryRecordId
|
that.lotteryRecordId = that.pageQuery.lotteryRecordId
|
||||||
}
|
}
|
||||||
that.hasCoupon = opts.couponId !== ''
|
that.hasCoupon = !!(opts && opts.couponId !== '')
|
||||||
that.getCartInfo()
|
that.getCartInfo()
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
@@ -452,6 +454,37 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
isNullOrEmpty,
|
isNullOrEmpty,
|
||||||
|
resolvePageQuery() {
|
||||||
|
if (this.$yroute && this.$yroute.query) {
|
||||||
|
return this.$yroute.query
|
||||||
|
}
|
||||||
|
if (this.$route && this.$route.query) {
|
||||||
|
return this.$route.query
|
||||||
|
}
|
||||||
|
if (this._route && this._route.query) {
|
||||||
|
return this._route.query
|
||||||
|
}
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
isLotteryOrder() {
|
||||||
|
const cartInfo = Array.isArray(this.orderGroupInfo && this.orderGroupInfo.cartInfo)
|
||||||
|
? this.orderGroupInfo.cartInfo
|
||||||
|
: []
|
||||||
|
return Boolean(
|
||||||
|
this.lotteryRecordId ||
|
||||||
|
this.pageQuery.from === 'countyLottery' ||
|
||||||
|
Number(this.pageQuery.drawActivityId || 0) > 0 ||
|
||||||
|
cartInfo.some(item => Number(
|
||||||
|
item.drawActivityId ||
|
||||||
|
(item.productInfo && item.productInfo.drawActivityId) ||
|
||||||
|
0
|
||||||
|
) > 0)
|
||||||
|
)
|
||||||
|
},
|
||||||
|
getOrderCouponId() {
|
||||||
|
if (this.isLotteryOrder()) return 0
|
||||||
|
return this.couponList.usable.length === 0 ? 0 : (this.couponId || 0)
|
||||||
|
},
|
||||||
couponMax(e) {
|
couponMax(e) {
|
||||||
// this.couponTitle = e.couponTitle
|
// this.couponTitle = e.couponTitle
|
||||||
// this.couponId = this.$yroute.query.couponId || uni.getStorageSync('couponId') || 0
|
// this.couponId = this.$yroute.query.couponId || uni.getStorageSync('couponId') || 0
|
||||||
@@ -477,12 +510,17 @@ export default {
|
|||||||
postOrderComputed(this.orderGroupInfo.orderKey, {
|
postOrderComputed(this.orderGroupInfo.orderKey, {
|
||||||
addressId: this.addressInfo.id,
|
addressId: this.addressInfo.id,
|
||||||
useIntegral: this.useIntegral ? 1 : 0,
|
useIntegral: this.useIntegral ? 1 : 0,
|
||||||
couponId: this.couponList.usable.length === 0 ? 0 : this.couponId,
|
couponId: this.getOrderCouponId(),
|
||||||
usePoints: this.usePointsCheck ? 1 : 0,
|
usePoints: this.usePointsCheck ? 1 : 0,
|
||||||
shipping_type: parseInt(this.shipping_type) + 1
|
shipping_type: parseInt(this.shipping_type) + 1
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
this.couponList = res.data.result.couponList
|
this.couponList = res.data.result.couponList
|
||||||
if(!f) {
|
if (this.isLotteryOrder()) {
|
||||||
|
this.couponTitle = ''
|
||||||
|
if (this.couponId !== 0) {
|
||||||
|
this.couponId = 0
|
||||||
|
}
|
||||||
|
} else if(!f) {
|
||||||
this.couponId = res.data.result.defaultCouponId
|
this.couponId = res.data.result.defaultCouponId
|
||||||
}
|
}
|
||||||
const data = res.data;
|
const data = res.data;
|
||||||
@@ -543,8 +581,8 @@ export default {
|
|||||||
}
|
}
|
||||||
_this.systemStore = data.systemStore || {}
|
_this.systemStore = data.systemStore || {}
|
||||||
_this.storeSelfMention = data.storeSelfMention
|
_this.storeSelfMention = data.storeSelfMention
|
||||||
if(_this.$yroute.query.address !== undefined ) {
|
if(_this.pageQuery.address !== undefined ) {
|
||||||
_this.addressInfo = JSON.parse(_this.$yroute.query.address) || {}
|
_this.addressInfo = JSON.parse(_this.pageQuery.address) || {}
|
||||||
_this.computedPrice()
|
_this.computedPrice()
|
||||||
} else {
|
} else {
|
||||||
// _this.addressInfo = uni.getStorageSync('sourceAddress') || data.addressInfo || {}
|
// _this.addressInfo = uni.getStorageSync('sourceAddress') || data.addressInfo || {}
|
||||||
@@ -683,7 +721,7 @@ export default {
|
|||||||
phone: this.contactsTel,
|
phone: this.contactsTel,
|
||||||
addressId: this.addressInfo.id,
|
addressId: this.addressInfo.id,
|
||||||
useIntegral: this.useIntegral ? 1 : 0,
|
useIntegral: this.useIntegral ? 1 : 0,
|
||||||
couponId: this.couponList.usable.length === 0 ? 0 : this.couponId || 0,
|
couponId: this.getOrderCouponId(),
|
||||||
usePoints: this.usePointsNumber || 0,
|
usePoints: this.usePointsNumber || 0,
|
||||||
payType: this.active,
|
payType: this.active,
|
||||||
pinkId: this.pinkId,
|
pinkId: this.pinkId,
|
||||||
@@ -811,11 +849,13 @@ export default {
|
|||||||
this.show = !this.show
|
this.show = !this.show
|
||||||
},
|
},
|
||||||
showCouponsPopup() {
|
showCouponsPopup() {
|
||||||
|
if (this.isLotteryOrder()) return
|
||||||
if (this.couponList.usable.length === 0) return
|
if (this.couponList.usable.length === 0) return
|
||||||
this.show = !this.show
|
this.show = !this.show
|
||||||
},
|
},
|
||||||
// v9-2
|
// v9-2
|
||||||
changeCoupons(item) {
|
changeCoupons(item) {
|
||||||
|
if (this.isLotteryOrder()) return
|
||||||
if(!item) return
|
if(!item) return
|
||||||
if (this.couponList.usable.length === 0) return
|
if (this.couponList.usable.length === 0) return
|
||||||
this.show = !this.show
|
this.show = !this.show
|
||||||
|
|||||||
@@ -540,7 +540,7 @@ import {
|
|||||||
getProductSkuBySelected
|
getProductSkuBySelected
|
||||||
} from '@/api/store'
|
} from '@/api/store'
|
||||||
import { userBindParent } from '@/api/user'
|
import { userBindParent } from '@/api/user'
|
||||||
import { handleQrCode, isWeixin } from '@/utils'
|
import { handleLoginFailure, handleQrCode, isWeixin } from '@/utils'
|
||||||
import { getHomeData } from '@/api/public'
|
import { getHomeData } from '@/api/public'
|
||||||
import {
|
import {
|
||||||
getDailyGoods,
|
getDailyGoods,
|
||||||
@@ -655,7 +655,8 @@ export default {
|
|||||||
pageKeyId: '',
|
pageKeyId: '',
|
||||||
couponListLimit2ToShow: [],
|
couponListLimit2ToShow: [],
|
||||||
qualifications: [],
|
qualifications: [],
|
||||||
couponId: null
|
couponId: null,
|
||||||
|
submitActionLock: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: mapGetters(['isLogin', 'location', 'userInfo']),
|
computed: mapGetters(['isLogin', 'location', 'userInfo']),
|
||||||
@@ -821,6 +822,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
|
this.submitActionLock = false
|
||||||
this.getMapData()
|
this.getMapData()
|
||||||
getGiftCardSendBackground().then(res => {
|
getGiftCardSendBackground().then(res => {
|
||||||
if (res.status === 200) {
|
if (res.status === 200) {
|
||||||
@@ -876,6 +878,15 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
goRoom() {
|
goRoom() {
|
||||||
|
if (!this.isLogin) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '请先登录后联系客服',
|
||||||
|
icon: 'none',
|
||||||
|
duration: 2000
|
||||||
|
})
|
||||||
|
handleLoginFailure()
|
||||||
|
return
|
||||||
|
}
|
||||||
console.log(this.storeInfo);
|
console.log(this.storeInfo);
|
||||||
const params = {
|
const params = {
|
||||||
goodsId: this.id,
|
goodsId: this.id,
|
||||||
@@ -1500,6 +1511,10 @@ export default {
|
|||||||
q.drawActivityId = Number(this.activityId || 0)
|
q.drawActivityId = Number(this.activityId || 0)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
if (that.submitActionLock) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
that.submitActionLock = true
|
||||||
postCartAdd(q).then(function (res) {
|
postCartAdd(q).then(function (res) {
|
||||||
that.isOpen = false
|
that.isOpen = false
|
||||||
that.attr.cartAttr = false
|
that.attr.cartAttr = false
|
||||||
@@ -1511,6 +1526,9 @@ export default {
|
|||||||
discount: that.storeInfo.discount,
|
discount: that.storeInfo.discount,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
setTimeout(() => {
|
||||||
|
that.submitActionLock = false
|
||||||
|
}, 1500)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if(news === 2) {
|
if(news === 2) {
|
||||||
@@ -1527,8 +1545,12 @@ export default {
|
|||||||
// + '&couponId=' + coupId
|
// + '&couponId=' + coupId
|
||||||
url: giftUrl
|
url: giftUrl
|
||||||
})
|
})
|
||||||
|
setTimeout(() => {
|
||||||
|
that.submitActionLock = false
|
||||||
|
}, 1500)
|
||||||
}
|
}
|
||||||
if(news === 0) {
|
if(news === 0) {
|
||||||
|
that.submitActionLock = false
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "添加购物车成功",
|
title: "添加购物车成功",
|
||||||
icon: "success",
|
icon: "success",
|
||||||
@@ -1541,6 +1563,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
that.isOpen = false;
|
that.isOpen = false;
|
||||||
|
that.submitActionLock = false
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: error.msg,
|
title: error.msg,
|
||||||
icon: "none",
|
icon: "none",
|
||||||
|
|||||||
@@ -588,7 +588,8 @@ export default {
|
|||||||
pageKeyId: '',
|
pageKeyId: '',
|
||||||
shareImg: '',
|
shareImg: '',
|
||||||
videoPlayers: [],
|
videoPlayers: [],
|
||||||
isView: false
|
isView: false,
|
||||||
|
skipRefreshOnShow: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 必须在页面加 onPageScroll(e){} ,才能滑动显示背景
|
// 必须在页面加 onPageScroll(e){} ,才能滑动显示背景
|
||||||
@@ -679,6 +680,10 @@ export default {
|
|||||||
if (!this.isLoad) {
|
if (!this.isLoad) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if (this.skipRefreshOnShow) {
|
||||||
|
this.skipRefreshOnShow = false
|
||||||
|
return
|
||||||
|
}
|
||||||
this.fetchInnDetail()
|
this.fetchInnDetail()
|
||||||
if(this.isView) return
|
if(this.isView) return
|
||||||
if(this.activeIndex === 1) {
|
if(this.activeIndex === 1) {
|
||||||
@@ -834,6 +839,7 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
infoClick: function (info) {
|
infoClick: function (info) {
|
||||||
|
this.skipRefreshOnShow = true
|
||||||
this.$yrouter.push('/pagesInn/inn/innInfoDetail?id=' + info.id)
|
this.$yrouter.push('/pagesInn/inn/innInfoDetail?id=' + info.id)
|
||||||
},
|
},
|
||||||
coverPlay(){
|
coverPlay(){
|
||||||
|
|||||||
@@ -554,8 +554,9 @@
|
|||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="status.type == -1">
|
<template v-if="status.type == -1">
|
||||||
<view style="width: 100%">
|
<view class="v12-justify-between" style="width: 100%">
|
||||||
<view class="bnt v12-dark-text v12-dark-border cancel" @click="goRoom(orderInfo)">联系商家</view>
|
<view class="bnt v12-dark-text v12-dark-border cancel" @click="goRoom(orderInfo)">联系商家</view>
|
||||||
|
<view class="bnt v12-primary-text v12-primary-border cancel" @click="cancelRefund">取消退款</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="status.type == -2">
|
<template v-if="status.type == -2">
|
||||||
@@ -570,7 +571,11 @@
|
|||||||
<view class="v12-justify-between ">
|
<view class="v12-justify-between ">
|
||||||
|
|
||||||
<view class="bnt v12-dark-text v12-dark-border cancel" @click="buyAgin">再买一单</view>
|
<view class="bnt v12-dark-text v12-dark-border cancel" @click="buyAgin">再买一单</view>
|
||||||
<view class="bnt v12-primary-text v12-primary-border" @click="routerGo(orderInfo.cartInfo[0])">立即评价</view>
|
<view
|
||||||
|
v-if="!isGiftOrder(orderInfo)"
|
||||||
|
class="bnt v12-primary-text v12-primary-border"
|
||||||
|
@click="routerGo(orderInfo.cartInfo[0])"
|
||||||
|
>立即评价</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@@ -654,7 +659,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import passkeyborad from '@/components/yzc-paykeyboard/yzc-paykeyboard'
|
import passkeyborad from '@/components/yzc-paykeyboard/yzc-paykeyboard'
|
||||||
import OrderGoods from "@/components/OrderGoods";
|
import OrderGoods from "@/components/OrderGoods";
|
||||||
import {orderDetail, orderDelay, aginConfirm, express, applyEditAddress, orderExpectedArrivalTime, groupOrderDetail} from "@/api/order";
|
import {orderDetail, orderDelay, aginConfirm, express, applyEditAddress, orderExpectedArrivalTime, groupOrderDetail, cancelOrderRefund} from "@/api/order";
|
||||||
import Payment from "@/components/Payment";
|
import Payment from "@/components/Payment";
|
||||||
import DataFormat from "@/components/DataFormat";
|
import DataFormat from "@/components/DataFormat";
|
||||||
import {copyClipboard} from "@/utils";
|
import {copyClipboard} from "@/utils";
|
||||||
@@ -1056,6 +1061,9 @@ export default {
|
|||||||
}
|
}
|
||||||
return imgUrl;
|
return imgUrl;
|
||||||
},
|
},
|
||||||
|
isGiftOrder(order = {}) {
|
||||||
|
return Number(order.isGiftCardSend || 0) === 1 || Number(order.isGiftCardReceive || 0) === 1
|
||||||
|
},
|
||||||
subscribePay() {
|
subscribePay() {
|
||||||
uni.requestSubscribeMessage({
|
uni.requestSubscribeMessage({
|
||||||
tmplIds: settings.SubscribeMessageTmplIds,
|
tmplIds: settings.SubscribeMessageTmplIds,
|
||||||
@@ -1166,6 +1174,39 @@ export default {
|
|||||||
this.getDetail();
|
this.getDetail();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
cancelRefund() {
|
||||||
|
uni.showModal({
|
||||||
|
title: '取消退款申请',
|
||||||
|
content: '确认取消退款申请吗?',
|
||||||
|
showCancel: true,
|
||||||
|
cancelText: '再想想',
|
||||||
|
confirmText: '确认取消',
|
||||||
|
confirmColor: '#C52733 ',
|
||||||
|
success: (res) => {
|
||||||
|
if (!res.confirm) return;
|
||||||
|
uni.showLoading({
|
||||||
|
title: '取消中'
|
||||||
|
});
|
||||||
|
cancelOrderRefund(this.orderInfo.orderId).then((res) => {
|
||||||
|
uni.showToast({
|
||||||
|
title: res.msg || '已取消退款申请',
|
||||||
|
icon: 'none',
|
||||||
|
duration: 2000
|
||||||
|
});
|
||||||
|
this.getDetail();
|
||||||
|
}).catch((err) => {
|
||||||
|
const message = err.msg || (err.response && err.response.data && (err.response.data.msg || err.response.data.message)) || '取消退款失败';
|
||||||
|
uni.showToast({
|
||||||
|
title: message,
|
||||||
|
icon: 'none',
|
||||||
|
duration: 3000
|
||||||
|
});
|
||||||
|
}).finally(() => {
|
||||||
|
uni.hideLoading();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
takeOrder() {
|
takeOrder() {
|
||||||
takeOrderHandle(this.orderInfo.orderId).finally(() => {
|
takeOrderHandle(this.orderInfo.orderId).finally(() => {
|
||||||
this.getDetail();
|
this.getDetail();
|
||||||
|
|||||||
@@ -29,6 +29,13 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="card form-card">
|
<view class="card form-card">
|
||||||
|
<view class="form-card-header">
|
||||||
|
<view class="form-card-title">填写收货地址</view>
|
||||||
|
<view class="select-address-entry" @click="chooseExistingAddress">
|
||||||
|
<text class="select-address-text" style="margin-bottom: 4rpx;">选择现有地址 </text>
|
||||||
|
<u-icon name="arrow-right" size="14" color="#BD3124"></u-icon>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
<view class="form-row">
|
<view class="form-row">
|
||||||
<text class="label">收货人</text>
|
<text class="label">收货人</text>
|
||||||
<input v-model="form.realName" class="input" placeholder="请填写收货人" placeholder-style="color:#b2b2b2;" />
|
<input v-model="form.realName" class="input" placeholder="请填写收货人" placeholder-style="color:#b2b2b2;" />
|
||||||
@@ -190,6 +197,7 @@ export default {
|
|||||||
this.fetchRealnameStatus()
|
this.fetchRealnameStatus()
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
|
this.handleChooseAddress()
|
||||||
const done = uni.getStorageSync('countyClaimAuthDone')
|
const done = uni.getStorageSync('countyClaimAuthDone')
|
||||||
const needAutoSubmit = uni.getStorageSync('countyClaimNeedAutoSubmit')
|
const needAutoSubmit = uni.getStorageSync('countyClaimNeedAutoSubmit')
|
||||||
if (done && (this.waitSubmitAfterRealname || needAutoSubmit)) {
|
if (done && (this.waitSubmitAfterRealname || needAutoSubmit)) {
|
||||||
@@ -219,6 +227,41 @@ export default {
|
|||||||
goBack() {
|
goBack() {
|
||||||
uni.navigateBack()
|
uni.navigateBack()
|
||||||
},
|
},
|
||||||
|
chooseExistingAddress() {
|
||||||
|
uni.setStorageSync('sourceAddress', {
|
||||||
|
realName: this.form.realName || '',
|
||||||
|
phone: this.form.phone || '',
|
||||||
|
userAddress: `${this.address.province || ''}${this.address.city || ''}${this.address.district || ''}${this.form.detail || ''}`,
|
||||||
|
province: this.address.province || '',
|
||||||
|
city: this.address.city || '',
|
||||||
|
district: this.address.district || '',
|
||||||
|
detail: this.form.detail || ''
|
||||||
|
})
|
||||||
|
this.$yrouter.push({
|
||||||
|
path: '/pages/user/address/AddressManagement/index',
|
||||||
|
query: {
|
||||||
|
choosMode: 1
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleChooseAddress() {
|
||||||
|
const chooseAddress = uni.getStorageSync('chooseAddress') || {}
|
||||||
|
if (!chooseAddress.id) return
|
||||||
|
uni.setStorageSync('chooseAddress', {})
|
||||||
|
this.fillAddressForm(chooseAddress)
|
||||||
|
},
|
||||||
|
fillAddressForm(address = {}) {
|
||||||
|
this.form.realName = address.realName || address.real_name || ''
|
||||||
|
this.form.phone = address.phone || ''
|
||||||
|
this.form.detail = address.detail || ''
|
||||||
|
this.address = {
|
||||||
|
province: address.province || '',
|
||||||
|
city: address.city || '',
|
||||||
|
district: address.district || '',
|
||||||
|
city_id: address.city_id || address.cityId || address.city_id
|
||||||
|
}
|
||||||
|
this.addressText = `${this.address.province} ${this.address.city} ${this.address.district}`.trim()
|
||||||
|
},
|
||||||
getCityList() {
|
getCityList() {
|
||||||
getCity().then(res => {
|
getCity().then(res => {
|
||||||
this.district = res.data || []
|
this.district = res.data || []
|
||||||
@@ -585,6 +628,31 @@ export default {
|
|||||||
padding: 0 24rpx 24rpx;
|
padding: 0 24rpx 24rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.form-card-header {
|
||||||
|
min-height: 88rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
border-bottom: 2rpx dashed #e5e5e5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-card-title {
|
||||||
|
color: #262626;
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select-address-entry {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
color: #BD3124;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select-address-text {
|
||||||
|
font-size: 26rpx;
|
||||||
|
margin-right: 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.form-row {
|
.form-row {
|
||||||
min-height: 92rpx;
|
min-height: 92rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -284,8 +284,7 @@ export default {
|
|||||||
return [1, 2, -1].includes(Number(item.status)) && !!item.prizeName
|
return [1, 2, -1].includes(Number(item.status)) && !!item.prizeName
|
||||||
},
|
},
|
||||||
getInvalidReason(item) {
|
getInvalidReason(item) {
|
||||||
if (Number(item.claimStatus) === -1) return '奖品过期未领取'
|
return item.invalidReason || ''
|
||||||
return '订单取消'
|
|
||||||
},
|
},
|
||||||
formatPrizeText(item = {}) {
|
formatPrizeText(item = {}) {
|
||||||
const prizeName = item.prizeName || '神秘奖品'
|
const prizeName = item.prizeName || '神秘奖品'
|
||||||
|
|||||||
@@ -309,6 +309,10 @@ export default {
|
|||||||
// console.log(searchMap);
|
// console.log(searchMap);
|
||||||
const filterMap = searchMap.filter(el => el.cityName.includes(this.keyword))
|
const filterMap = searchMap.filter(el => el.cityName.includes(this.keyword))
|
||||||
if(filterMap.length === 0) {
|
if(filterMap.length === 0) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '未找到该城市,请重新输入城市名称',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
this.asideIndex = filterMap[0].index
|
this.asideIndex = filterMap[0].index
|
||||||
|
|||||||
Reference in New Issue
Block a user