wangfukang 4 weeks ago
parent
commit
cc10a4abf2
  1. 40
      components/tab-bar/delivery.vue
  2. 2557
      components/tab-bar/myCenter.vue
  3. 4
      components/tab-bar/tab-bar.vue

40
components/tab-bar/delivery.vue

@ -382,8 +382,8 @@
</view> </view>
</uni-popup> </uni-popup>
<uni-popup ref="pickupCodePopup" background-color="transparent"> <uni-popup ref="pickupCodePopup" background-color="transparent" :mask-click="false" @change="handlePickupCodePopupChange">
<view class="pickup-code-popup"> <view class="pickup-code-popup" @tap.stop @touchmove.stop.prevent>
<view class="pickup-code-title">输入取餐码</view> <view class="pickup-code-title">输入取餐码</view>
<view class="pickup-code-desc">请输入4位取餐码</view> <view class="pickup-code-desc">请输入4位取餐码</view>
<input class="pickup-code-input" v-model="pickupCode" type="number" maxlength="4" <input class="pickup-code-input" v-model="pickupCode" type="number" maxlength="4"
@ -492,6 +492,9 @@
pickupCodeContext: null, pickupCodeContext: null,
pickupCodeSubmitting: false, pickupCodeSubmitting: false,
pickupCodeInputFocus: false, pickupCodeInputFocus: false,
pickupCodePopupVisible: false,
pickupCodePopupOpening: false,
pickupCodeFocusTimer: null,
completingDeliveryIds: {}, completingDeliveryIds: {},
lineStatus: [{ lineStatus: [{
title: '上线', title: '上线',
@ -527,6 +530,10 @@
this.refreshLoading = false this.refreshLoading = false
uni.hideLoading() uni.hideLoading()
} }
if (this.pickupCodeFocusTimer) {
clearTimeout(this.pickupCodeFocusTimer)
this.pickupCodeFocusTimer = null
}
}, },
computed: { computed: {
totalRuleCount() { totalRuleCount() {
@ -1045,6 +1052,9 @@
this.isArea = !this.isArea this.isArea = !this.isArea
}, },
openPickupCodePopup(index, item, regionId) { openPickupCodePopup(index, item, regionId) {
if (this.pickupCodePopupVisible || this.pickupCodePopupOpening) return
this.pickupCodePopupOpening = true
this.pickupCodePopupVisible = true
this.pickupCode = '' this.pickupCode = ''
this.pickupCodeInputFocus = false this.pickupCodeInputFocus = false
this.pickupCodeContext = { this.pickupCodeContext = {
@ -1054,17 +1064,40 @@
} }
this.$refs.pickupCodePopup.open() this.$refs.pickupCodePopup.open()
this.$nextTick(() => { this.$nextTick(() => {
setTimeout(() => { if (this.pickupCodeFocusTimer) {
clearTimeout(this.pickupCodeFocusTimer)
}
this.pickupCodeFocusTimer = setTimeout(() => {
if (!this.pickupCodeContext || !this.pickupCodePopupOpening) return
this.pickupCodeInputFocus = true this.pickupCodeInputFocus = true
this.pickupCodePopupOpening = false
this.pickupCodeFocusTimer = null
}, 300) }, 300)
}) })
}, },
handlePickupCodePopupChange(e) {
const show = e && e.show
this.pickupCodePopupVisible = !!show
if (!show) {
this.pickupCodePopupOpening = false
this.pickupCodeInputFocus = false
if (this.pickupCodeFocusTimer) {
clearTimeout(this.pickupCodeFocusTimer)
this.pickupCodeFocusTimer = null
}
}
},
closePickupCodePopup() { closePickupCodePopup() {
if (this.pickupCodeSubmitting) return if (this.pickupCodeSubmitting) return
this.$refs.pickupCodePopup.close() this.$refs.pickupCodePopup.close()
this.pickupCode = '' this.pickupCode = ''
this.pickupCodeContext = null this.pickupCodeContext = null
this.pickupCodeInputFocus = false this.pickupCodeInputFocus = false
this.pickupCodePopupOpening = false
if (this.pickupCodeFocusTimer) {
clearTimeout(this.pickupCodeFocusTimer)
this.pickupCodeFocusTimer = null
}
}, },
handlePickupCodeInput(e) { handlePickupCodeInput(e) {
const value = String(e.detail.value || '').replace(/\D/g, '').slice(0, 4) const value = String(e.detail.value || '').replace(/\D/g, '').slice(0, 4)
@ -1123,6 +1156,7 @@
let url = '' let url = ''
if (status == 2) { if (status == 2) {
if (item.transferDelivery == 1) { if (item.transferDelivery == 1) {
if (this.pickupCodePopupVisible || this.pickupCodePopupOpening) return
this.openPickupCodePopup(index, item, regionId) this.openPickupCodePopup(index, item, regionId)
return return
} }

2557
components/tab-bar/myCenter.vue

File diff suppressed because it is too large

4
components/tab-bar/tab-bar.vue

@ -217,7 +217,9 @@
for(let i=0;i<orderStatusCount.length;i++){ for(let i=0;i<orderStatusCount.length;i++){
if(orderStatusCount[i].counttype){ if(orderStatusCount[i].counttype){
const count = Number(orderStatusCount[i].count) || 0 const count = Number(orderStatusCount[i].count) || 0
if(orderStatusCount[i].counttype == 'daisong'){ if(orderStatusCount[i].counttype == 'daipeisongjiedan'){
total += count
}else if(orderStatusCount[i].counttype == 'daisong'){
total += count total += count
}else if(orderStatusCount[i].counttype == 'daiqu'){ }else if(orderStatusCount[i].counttype == 'daiqu'){
total += count total += count

Loading…
Cancel
Save