wangfukang 4 days ago
parent
commit
8f85c863a6
  1. 25
      package1/buyFood/buyFood.vue
  2. 4
      package1/index/deliveryPersonList.vue
  3. 1
      package1/myCenter/partTimeJobRegister.vue
  4. 56
      package1/order/orderDetail.vue
  5. 19
      package1/order/orderList.vue
  6. 869
      package1/runErrand/runErrand.vue

25
package1/buyFood/buyFood.vue

@ -126,6 +126,11 @@
<uni-icons type="right" size="12"></uni-icons> <uni-icons type="right" size="12"></uni-icons>
</view> </view>
</view> </view>
<view v-if="highFloorFeeCalc > 0" style="margin-top: 20rpx; color: #ff5722; font-size: 24rpx; background: #fff5f5; padding: 10rpx 20rpx; border-radius: 10rpx;">
<uni-icons type="info" size="14" color="#ff5722"></uni-icons>
因您的收货楼层在3楼以上将额外收取配送费 ¥{{highFloorFeeCalc}}
</view>
</view> </view>
</view> </view>
<view class="box1"> <view class="box1">
@ -452,6 +457,15 @@
return this.cartItems.reduce((acc, curr) => acc + (curr.quantity * parseFloat(curr.price)), 0); return this.cartItems.reduce((acc, curr) => acc + (curr.quantity * parseFloat(curr.price)), 0);
} }
}, },
highFloorFeeCalc() {
if (this.selected === 'zhiding' && this.assignedWorker) {
let hFee = parseFloat(this.assignedWorker.highFloorFee || 0);
if (hFee > 0 && this.formData.address && parseInt(this.formData.address.floor) > 3) {
return hFee;
}
}
return 0;
},
packageFee() { packageFee() {
if (this.totalPackageFee > 0) return this.totalPackageFee; if (this.totalPackageFee > 0) return this.totalPackageFee;
let fee = 0; let fee = 0;
@ -486,12 +500,12 @@
let members = parseInt(this.groupItem.groupRule.groupCount) || 1; let members = parseInt(this.groupItem.groupRule.groupCount) || 1;
if (this.selected === 'zhiding') { if (this.selected === 'zhiding') {
let extra = members > 2 ? (members - 2) * 0.5 : 0; let extra = members > 2 ? (members - 2) * 0.5 : 0;
return Math.ceil(((commission + extra) / members) * 100) / 100; return Math.ceil(((commission + this.highFloorFeeCalc + extra) / members) * 100) / 100;
} else { } else {
return Math.ceil((commission / members) * 100) / 100; return Math.ceil(((commission + this.highFloorFeeCalc) / members) * 100) / 100;
} }
} }
return commission; return commission + this.highFloorFeeCalc;
}, },
totalAmountCalc() { totalAmountCalc() {
if(this.isPaotui==true){ if(this.isPaotui==true){
@ -541,6 +555,7 @@
}, },
onUnload() { onUnload() {
uni.$off('updateDeliveryWorker'); uni.$off('updateDeliveryWorker');
uni.removeStorageSync('pendingAssignWorker');
}, },
methods: { methods: {
initAddress() { initAddress() {
@ -609,7 +624,7 @@
let shopArea = this.shopItem.shopArea || ''; let shopArea = this.shopItem.shopArea || '';
let putArea = this.formData.address ? this.formData.address.areaId : ''; let putArea = this.formData.address ? this.formData.address.areaId : '';
uni.navigateTo({ uni.navigateTo({
url: `/package1/index/deliveryPersonList?shopAreaId=${shopArea}&putAreaId=${putArea}` url: `/package1/index/deliveryPersonList?orderType=0&shopAreaId=${shopArea}&putAreaId=${putArea}`
}) })
}, },
openAddressBook() { openAddressBook() {
@ -845,7 +860,7 @@
payload.workerParam = { payload.workerParam = {
workerId: this.assignedWorker.workerId, workerId: this.assignedWorker.workerId,
workerName: this.assignedWorker.workerName, workerName: this.assignedWorker.workerName,
orderBkge: parseFloat(this.assignedWorker.orderBkge || 0) orderBkge: parseFloat(this.assignedWorker.orderBkge || 0) + this.highFloorFeeCalc
}; };
} else if (this.selected === 'buzhiding') { } else if (this.selected === 'buzhiding') {
payload.workerParam = { payload.workerParam = {

4
package1/index/deliveryPersonList.vue

@ -107,12 +107,14 @@
shopAreaId: '', shopAreaId: '',
putAreaId: '', putAreaId: '',
workerList: [], workerList: [],
orderType:null,
keyword: '' keyword: ''
} }
}, },
onLoad(option) { onLoad(option) {
this.shopAreaId = option.shopAreaId || ''; this.shopAreaId = option.shopAreaId || '';
this.putAreaId = option.putAreaId || ''; this.putAreaId = option.putAreaId || '';
this.orderType = option.orderType || 0;
this.getShopList(); this.getShopList();
}, },
onShow() { onShow() {
@ -123,7 +125,7 @@
// Fake request to our new endpoint // Fake request to our new endpoint
let payload = { let payload = {
shopAreaId: this.shopAreaId, shopAreaId: this.shopAreaId,
orderType: 0, orderType: this.orderType,
putAreaId: this.putAreaId, putAreaId: this.putAreaId,
baozhang: this.baozhang, baozhang: this.baozhang,
xiangtong: this.xiangtong, xiangtong: this.xiangtong,

1
package1/myCenter/partTimeJobRegister.vue

@ -269,7 +269,6 @@
for(let m = 0;m<res.result.length;m++){ for(let m = 0;m<res.result.length;m++){
that.shopArea.push(res.result[m]) that.shopArea.push(res.result[m])
} }
console.log(that.shopArea)
} }
} else { } else {
that.tui.toast(res.message) that.tui.toast(res.message)

56
package1/order/orderDetail.vue

@ -119,7 +119,6 @@
<text v-if="orderDetail.status == 8">订单已退款</text> <text v-if="orderDetail.status == 8">订单已退款</text>
<text v-if="orderDetail.status == 11">售后中</text> <text v-if="orderDetail.status == 11">售后中</text>
<text v-if="orderDetail.status == 12">订单已售后</text> <text v-if="orderDetail.status == 12">订单已售后</text>
<text v-if="orderDetail.status != 5 && orderDetail.status != 8 && orderDetail.status != 12 && orderDetail.returnStatus == 1">(商家拒绝退款)</text>
</view> </view>
<view class="status-fu" v-if="orderDetail.deliveryInfo"> <view class="status-fu" v-if="orderDetail.deliveryInfo">
<view class="">预计<text>{{orderDetail.deliveryInfo.mustFinishTime | formatHourMinute }}</text>送达</view> <view class="">预计<text>{{orderDetail.deliveryInfo.mustFinishTime | formatHourMinute }}</text>送达</view>
@ -156,7 +155,7 @@
增加配送佣金 增加配送佣金
</view> </view>
<view class="btn" style="width: 40%;" v-if="orderDetail.status == 2" @tap="goAssignWorker"> <view class="btn" style="width: 40%;" v-if="orderDetail.status == 2" @tap="goAssignWorker">
派配送员 派配送员
</view> </view>
<!-- <view class="btn"> <!-- <view class="btn">
再来一单 再来一单
@ -235,7 +234,7 @@
</view> </view>
<view style="height: 80rpx;line-height: 80rpx;display: flex;"> <view style="height: 80rpx;line-height: 80rpx;display: flex;">
<view style="flex: 1;color: #777;font-weight: 700;"> <view style="flex: 1;color: #777;font-weight: 700;">
退款类型 退款/售后类型
</view> </view>
<view style="color: #000;font-weight:700;"> <view style="color: #000;font-weight:700;">
{{item2.refundType == 1 ? '退商品' : item2.refundType == 2 ? '退配送费' : '全额退款' }} {{item2.refundType == 1 ? '退商品' : item2.refundType == 2 ? '退配送费' : '全额退款' }}
@ -246,7 +245,7 @@
</view> </view>
<view style="height: 80rpx;line-height: 80rpx;display: flex;"> <view style="height: 80rpx;line-height: 80rpx;display: flex;">
<view style="flex: 1;color: #777;font-weight: 700;"> <view style="flex: 1;color: #777;font-weight: 700;">
退款状态 退款/售后状态
</view> </view>
<view style="color: #000;font-weight:700;"> <view style="color: #000;font-weight:700;">
{{item2.status == 0 ? '处理退款中' : item2.status == 1 ? '同意退款' : item2.status == 2 ? '拒绝退款' : item2.status == 3 ? '处理售后中' : item2.status == 4 ? '同意售后' : '拒绝售后' }} {{item2.status == 0 ? '处理退款中' : item2.status == 1 ? '同意退款' : item2.status == 2 ? '拒绝退款' : item2.status == 3 ? '处理售后中' : item2.status == 4 ? '同意售后' : '拒绝售后' }}
@ -266,7 +265,7 @@
</view> </view>
<view class="box1"> <view class="box1">
<view style="width: 100%;line-height: 70rpx;font-size: 28rpx;font-weight: 700;"> <view style="width: 100%;line-height: 70rpx;font-size: 28rpx;font-weight: 700;" v-if="orderDetail.shopName != null">
{{orderDetail.shopName}} {{orderDetail.shopName}}
<img @tap="makeCall(orderDetail.shopPhone)" <img @tap="makeCall(orderDetail.shopPhone)"
src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/869a7af6a1c24bf3a0d523c4a18b55c6.png" src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/869a7af6a1c24bf3a0d523c4a18b55c6.png"
@ -334,14 +333,38 @@
<view class="box1"> <view class="box1">
<view> <view>
<!-- <view style="height: 80rpx;line-height: 80rpx;display: flex;"> <view style="height: 80rpx;line-height: 80rpx;display: flex;" v-if="orderDetail.otherOrder == 1">
<view style="flex: 1;color: #777;font-weight: 700;">
取件地址
</view>
<view style="color: #000;font-weight: 700;">
{{orderDetail.shopAddress}}
</view>
</view>
<view style="height: 80rpx;line-height: 80rpx;display: flex;" v-if="orderDetail.otherOrder == 1">
<view style="flex: 1;color: #777;font-weight: 700;"> <view style="flex: 1;color: #777;font-weight: 700;">
收件地址 收件地址
</view> </view>
<view style="color: #000;font-weight: 700;"> <view style="color: #000;font-weight: 700;">
北校区1号宿舍楼5楼512(0702) {{orderDetail.receiverAddress}}
</view>
</view>
<view style="height: 80rpx;line-height: 80rpx;display: flex;" v-if="orderDetail.otherOrder == 1">
<view style="flex: 1;color: #777;font-weight: 700;">
件数
</view>
<view style="color: #000;font-weight: 700;">
{{orderDetail.deliveryInfo.allCount}}
</view>
</view>
<view style="height: 80rpx;line-height: 80rpx;display: flex;" v-if="orderDetail.otherOrder == 1">
<view style="flex: 1;color: #777;font-weight: 700;">
服务类型
</view>
<view style="color: #000;font-weight: 700;">
快递/跑腿
</view>
</view> </view>
</view> -->
<view style="height: 80rpx;line-height: 80rpx;display: flex;" v-if="orderDetail.numberCode != null"> <view style="height: 80rpx;line-height: 80rpx;display: flex;" v-if="orderDetail.numberCode != null">
<view style="flex: 1;color: #777;font-weight: 700;"> <view style="flex: 1;color: #777;font-weight: 700;">
订单号 订单号
@ -380,7 +403,7 @@
{{orderDetail.deliveryInfo.acceptTime | formatTime}} {{orderDetail.deliveryInfo.acceptTime | formatTime}}
</view> </view>
</view> </view>
<view style="height: 80rpx;line-height: 80rpx;display: flex;" v-if="orderDetail.deliveryType == 1"> <view style="height: 80rpx;line-height: 80rpx;display: flex;" v-if="orderDetail.deliveryType == 1 && orderDetail.otherOrder == null">
<view style="flex: 1;color: #777;font-weight: 700;"> <view style="flex: 1;color: #777;font-weight: 700;">
商家出餐时间 商家出餐时间
</view> </view>
@ -388,7 +411,7 @@
{{orderDetail.shopMakeTime ? orderDetail.shopMakeTime : '' | formatTime}} {{orderDetail.shopMakeTime ? orderDetail.shopMakeTime : '' | formatTime}}
</view> </view>
</view> </view>
<view style="height: 80rpx;line-height: 80rpx;display: flex;" v-if="orderDetail.deliveryInfo && orderDetail.deliveryType == 1 && orderDetail.deliveryInfo.workerId != ''"> <view style="height: 80rpx;line-height: 80rpx;display: flex;" v-if="orderDetail.deliveryInfo && orderDetail.deliveryType == 1 && orderDetail.deliveryInfo.workerId != '' && orderDetail.otherOrder == null">
<view style="flex: 1;color: #777;font-weight: 700;"> <view style="flex: 1;color: #777;font-weight: 700;">
配送员到店时间 配送员到店时间
</view> </view>
@ -425,7 +448,7 @@
</uni-popup> </uni-popup>
<uni-popup ref="returnPopup" background-color="#fff" style="height: 1600rpx !important;"> <uni-popup ref="returnPopup" background-color="#fff" style="height: 1600rpx !important;">
<view class="car-content" v-if="orderDetail.deliveryType == 1 && orderDetail.status != 10"> <view class="car-content" v-if="orderDetail.deliveryType == 1 && orderDetail.status != 10 && orderDetail.otherOrder != 1">
<view class="car-close"> <view class="car-close">
<uni-icons type="close" size="30" color="#fff"></uni-icons> <uni-icons type="close" size="30" color="#fff"></uni-icons>
</view> </view>
@ -450,10 +473,10 @@
<view class="guize-list"> <view class="guize-list">
<view style="height: 80rpx;line-height: 80rpx;font-size: 36rpx;font-weight: 700;text-align: center;"> <view style="height: 80rpx;line-height: 80rpx;font-size: 36rpx;font-weight: 700;text-align: center;">
确定要取消订单吗 确定要取消订单吗
<text v-if="((payData.orderType == 2 || payData.orderType == 3) && payData.status == 2) || ((payData.orderType == 2 || payData.orderType == 3) && payData.status == 3) || (payData.deliveryType == 1 && payData.status == 3) || payData.status == 4">取消订单需要商家同意</text> <text v-if="(((payData.orderType == 2 || payData.orderType == 3) && payData.status == 2) || ((payData.orderType == 2 || payData.orderType == 3) && payData.status == 3) || (payData.deliveryType == 1 && payData.status == 3) || payData.status == 4) && payData.otherOrder == null">取消订单需要商家同意</text>
<view v-if="(payData.status == 3 && payData.deliveryType ==1) || payData.status == 4"> <view v-if="(payData.status == 3 && payData.deliveryType ==1) || payData.status == 4">
<text v-if="payData.shopMakeTime == null">商家还未出餐</text> <text v-if="payData.shopMakeTime == null && payData.otherOrder == null">商家还未出餐</text>
<text v-else>本单商家备餐时长共计{{shopTime}} 配送员配送时长共计{{peisongTime}}</text> <text v-if="payData.shopMakeTime != null && payData.otherOrder == null">本单商家备餐时长共计{{shopTime}} 配送员配送时长共计{{peisongTime}}</text>
</view> </view>
</view> </view>
<view class="btn" @tap="returnOrder()"> <view class="btn" @tap="returnOrder()">
@ -652,6 +675,11 @@
}, },
returnPopupProp(item){ returnPopupProp(item){
this.payData = item; this.payData = item;
if(this.payData.otherOrder == 1){
this.refundType = 3
this.refundTypeStatus = 2
}
if(this.payData.shopMakeTime != null){ if(this.payData.shopMakeTime != null){
const date1 = new Date(this.payData.deliveryInfo.acceptTime); const date1 = new Date(this.payData.deliveryInfo.acceptTime);
const date2 = new Date(this.payData.shopMakeTime); const date2 = new Date(this.payData.shopMakeTime);

19
package1/order/orderList.vue

@ -126,16 +126,13 @@
</view> </view>
<view style="width: 100%;line-height: 70rpx;font-size: 28rpx;font-weight: 700;display: flex;"> <view style="width: 100%;line-height: 70rpx;font-size: 28rpx;font-weight: 700;display: flex;">
<view style="height: 40rpx;line-height: 40rpx;background: linear-gradient(90deg, rgba(255, 77, 0, 1), rgba(255, 184, 84, 1));padding: 0 16rpx;border-radius: 40rpx;color: #fff;margin: 14rpx 20rpx 0 0;"> <view style="height: 40rpx;line-height: 40rpx;background: linear-gradient(90deg, rgba(255, 77, 0, 1), rgba(255, 184, 84, 1));padding: 0 16rpx;border-radius: 40rpx;color: #fff;margin: 14rpx 20rpx 0 0;">
{{item.orderType == 4 ? '快递' : item.orderType == 5 ? '跑腿' : item.orderType == 6 ? '二手':"饭团"}} {{item.otherOrder == 1 ? '快递/跑腿' : item.otherOrder == 2 ? '二手' :"饭团"}}
</view> </view>
{{item.orderType == 4 ? '快递代取' : item.orderType == 5 ? '跑腿帮送' : item.orderType == 6 ? '二手物品': item.shopName}} {{item.otherOrder == 1 ? '快递/跑腿' : item.otherOrder == 2 ? '二手物品': item.shopName}}
</view> </view>
<view v-if="item.orderType == 4 || item.orderType == 5" style="display: flex;padding: 20rpx;background: #F5F5F5;border-radius: 20rpx;"> <view v-if="item.otherOrder == 1 || item.otherOrder == 2" style="display: flex;padding: 20rpx;background: #F5F5F5;border-radius: 20rpx;">
<view class="goods-img"> <view class="goods-img">
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/4130b6a412584c71949b3a03e5834453.png" alt=""> <img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/4130b6a412584c71949b3a03e5834453.png" alt="">
<view class="jiaobiao">
3
</view>
<!-- <view class="jiaobiao"> <!-- <view class="jiaobiao">
快递 快递
</view> --> </view> -->
@ -143,14 +140,14 @@
<view class="goods-content"> <view class="goods-content">
<view class="goods-name" style="font-size: 24rpx;line-height: 50rpx;display: flex;"> <view class="goods-name" style="font-size: 24rpx;line-height: 50rpx;display: flex;">
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/1f77398a73454a6595c12a3c18731599.png" alt="" style="width: 50rpx;height: 50rpx;" /> <img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/1f77398a73454a6595c12a3c18731599.png" alt="" style="width: 50rpx;height: 50rpx;" />
沁园春第三食堂A20窗口 {{item.shopAddress}}
</view> </view>
<view class="goods-name" style="font-size: 24rpx;line-height: 50rpx;display: flex;margin-top: 14rpx;"> <view class="goods-name" style="font-size: 24rpx;line-height: 50rpx;display: flex;margin-top: 14rpx;">
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/d0764fb4138747769538cf1cafa3b017.png" alt="" style="width: 50rpx;height: 50rpx;" /> <img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/d0764fb4138747769538cf1cafa3b017.png" alt="" style="width: 50rpx;height: 50rpx;" />
11号宿舍楼610 {{item.receiverAddress}}
</view> </view>
<view class="goods-content-bottom"> <view class="goods-content-bottom">
下单时间2026-02-25 16:34 下单时间{{item.createTime | formatTime}}
</view> </view>
</view> </view>
</view> </view>
@ -181,12 +178,16 @@
<view style="font-size: 24rpx;font-weight: 700;"> <view style="font-size: 24rpx;font-weight: 700;">
实付<text v-if="tab1Checked == 'fantuan'" style="font-size: 20rpx;color: #777;">含包装/配送费</text> <text 实付<text v-if="tab1Checked == 'fantuan'" style="font-size: 20rpx;color: #777;">含包装/配送费</text> <text
style="color: red;">{{item.totalAmount}}</text> style="color: red;">{{item.totalAmount}}</text>
<text class="goods-content-bottom" style="float: right;" v-if="item.otherOrder == null">
下单时间{{item.createTime | formatTime}}
</text>
</view> </view>
</view> </view>
<view class="bottom-btn"> <view class="bottom-btn">
<!-- <view class="btn1" v-if="orderStatus(item)" @tap="returnPopupProp(item)"> <!-- <view class="btn1" v-if="orderStatus(item)" @tap="returnPopupProp(item)">
取消订单 取消订单
</view> --> </view> -->
<view class="btn1" v-if="item.status == 0" @tap="payAgain(item)" <view class="btn1" v-if="item.status == 0" @tap="payAgain(item)"
style="background: linear-gradient(90deg, rgba(227, 255, 150, 1), rgba(166, 255, 234, 1));color: #000;"> style="background: linear-gradient(90deg, rgba(227, 255, 150, 1), rgba(166, 255, 234, 1));color: #000;">
去支付 去支付

869
package1/runErrand/runErrand.vue

File diff suppressed because it is too large
Loading…
Cancel
Save