Procházet zdrojové kódy

1. 检测配送状态 sendStatus 的类型,并统一使用 Number 类型。2. sendStatus=-2 时的异常状态,跟取消的是一样终态,要能重叫跑腿

shizhongqi před 7 měsíci
rodič
revize
5f7540016a

+ 4 - 2
ghsApp/src/admin/home/components/OrderItem.vue

@@ -131,15 +131,17 @@
         <block v-if="item.sendStatus == -4">
           <view class="text-center"><button class="admin-button-com" @click="callIntraCity(item)">呼叫跑腿</button></view>
         </block>
-        <block v-else-if="[0, 1, 2, 3, 4, 10, 20, 30].includes(item.sendStatus)">
+        <block v-else-if="[0, 1, 2, 3, 4, 10, 20, 30].includes(Number(item.sendStatus))">
           <view class="text-center"><button class="admin-button-com" @click="cancelExpressOrder(item)">取消跑腿</button></view>
         </block>
-        <block v-else-if="item.sendStatus == -1">
+        <block v-else-if="[-1, -2].includes(item.sendStatus)">
           <view class="text-center"><button class="admin-button-com" @click="callIntraCity(item)">重叫跑腿</button></view>
         </block>
+        <!--
         <view class="text-center"><button class="admin-button-com" @click="addExpress(item)">顺丰下单</button></view>
         <view class="text-center"><button class="admin-button-com" @click="cancelExpress(item)">取消顺丰订单</button></view>
         <view class="text-center"><button class="admin-button-com" @click="fillNoFh(item)">填单发货</button></view>
+        -->
         <view class="text-center"><button class="admin-button-com default" @click="closeMore">取消</button></view>
       </view>
     </uni-popup>

+ 4 - 4
ghsApp/src/pagesOrder/detail.vue

@@ -35,12 +35,12 @@
 					</view>
 					<view class="msg-list express-progress-row">
 						<view class="label">配送进度:</view>
-						<view class="value" :style="detailInfo.sendStatus == '3' ? 'color:#ff2842;font-weight:bold;' : detailInfo.sendStatus == '2' ? 'color:#07c160;font-weight:bold;' : ''">
+						<view class="value" :style="detailInfo.sendStatus == 3 ? 'color:#ff2842;font-weight:bold;' : detailInfo.sendStatus == 2 ? 'color:#07c160;font-weight:bold;' : ''">
 							{{ getSendStatusText(detailInfo.sendStatus) }}
 						</view>
 						<view class="express-actions">
 							<button class="admin-button-com mini-btn btn-danger" v-if="canCancelExpress(detailInfo.sendStatus)" @click.stop="cancelMyExpress(detailInfo.id, detailInfo.deliveryId)">取消跑腿</button>
-							<button class="admin-button-com mini-btn" v-if="detailInfo.sendStatus == '-1'" @click.stop="openExpressPage()">重叫跑腿</button>
+							<button class="admin-button-com mini-btn" v-if="[-1, -2].includes(detailInfo.sendStatus)" @click.stop="openExpressPage()">重叫跑腿</button>
 						</view>
 					</view>
 <!--
@@ -445,8 +445,8 @@
 			<!-- #ifdef APP-PLUS -->
 			<button class="admin-button-com middle blue" @click="shareOrder()">分享</button>
 			<!-- #endif -->
-			<button class="admin-button-com middle blue" v-if="detailInfo.sendStatus == '-4' && detailInfo.payStatus == 1" @click.stop="openExpressPage()">呼叫跑腿</button>
-			<button class="admin-button-com middle blue" v-if="detailInfo.sendStatus == '-1'" @click.stop="openExpressPage()">重叫跑腿</button>
+			<button class="admin-button-com middle blue" v-if="detailInfo.sendStatus == -4 && detailInfo.payStatus == 1" @click.stop="openExpressPage()">呼叫跑腿</button>
+			<button class="admin-button-com middle blue" v-if="[-1, -2].includes(detailInfo.sendStatus)" @click.stop="openExpressPage()">重叫跑腿</button>
 			<button class="admin-button-com middle blue" style="background-color: green;border-color: green;" v-if="detailInfo.status != 1 && detailInfo.status != 5" @click="printOrder(detailInfo)">打印(无价格)</button>
 
 			<template v-for="s in detailInfo.buttonList">

+ 5 - 5
hdApp/src/admin/home/order.vue

@@ -85,10 +85,10 @@
                 <!-- <view class="admin-button-com middle default" @click.stop="">呼叫跑腿</view> -->
               </block>
               <block v-else>
-                <view class="admin-button-com middle" v-if="item.sendStatus == '-4'" @click.stop="openExpressPage(item.id)">呼叫跑腿</view>
-                <view class="admin-button-com middle" v-else-if="item.sendStatus == '-1'" @click.stop="openExpressPage(item.id)">重叫跑腿</view>
-                <view class="admin-button-com default" v-else-if="item.sendStatus == '5'">跑腿完成</view>
-                <view class="admin-button-com default" v-else-if="['0', '1', '2', '3', '4', '10', '20', '30'].includes(item.sendStatus) && item.payStatus == 1">已发跑腿</view>
+                <view class="admin-button-com middle" v-if="item.sendStatus == -4" @click.stop="openExpressPage(item.id)">呼叫跑腿</view>
+                <view class="admin-button-com middle" v-else-if="[-1, -2].includes(Number(item.sendStatus))" @click.stop="openExpressPage(item.id)">重叫跑腿</view>
+                <view class="admin-button-com default" v-else-if="item.sendStatus == 5">跑腿完成</view>
+                <view class="admin-button-com default" v-else-if="[0, 1, 2, 3, 4, 10, 20, 30].includes(Number(item.sendStatus)) && item.payStatus == 1">已发跑腿</view>
               </block>
 
             </view>
@@ -488,7 +488,7 @@ export default {
         const item = this.list.data.find(item => item.id == orderId);
         if (item) {
           item.status = orderStatus;
-          item.sendStatus = String(sendStatus);
+          item.sendStatus = Number(sendStatus);
         }
       }
     },

+ 26 - 5
hdApp/src/admin/order/detail.vue

@@ -22,11 +22,12 @@
             <view class="msg-list express-progress-row">
               <view class="label">配送进度:</view>
               <view class="value">
-							  {{ orderInfo.sendStatus==-1?'已取消': orderInfo.sendStatus==0?'订单生成':orderInfo.sendStatus==1?'跑腿已接单':orderInfo.sendStatus==2?'派单中':orderInfo.sendStatus==3?'待取货':orderInfo.sendStatus==4?'配送中':orderInfo.sendStatus==5?'已送达':orderInfo.sendStatus==10?'改派中':orderInfo.sendStatus==20?'已分配骑手':orderInfo.sendStatus==30?'骑手已到店':'未知'}}
+							  {{ getSendStatusText(orderInfo.sendStatus) }}
               </view>
               <view class="express-actions">
-                <button class="admin-button-com mini-btn btn-danger" v-if="['0', '1', '2', '3', '4', '10', '20', '30'].includes(String(orderInfo.sendStatus))" @click.stop="cancelMyExpress(orderInfo.id, orderInfo.deliveryId)">取消跑腿</button>
-                <button class="admin-button-com mini-btn" v-if="orderInfo.sendStatus == '-1'" @click.stop="openExpressPage(orderInfo.id)">重叫跑腿</button>
+                <button class="admin-button-com mini-btn btn-danger" v-if="[0, 1, 2, 3, 4, 10, 20, 30].includes(Number(orderInfo.sendStatus))" @click.stop="cancelMyExpress(orderInfo.id, orderInfo.deliveryId)">取消跑腿</button>
+
+                <button class="admin-button-com mini-btn" v-if="[-1, -2].includes(Number(orderInfo.sendStatus))" @click.stop="openExpressPage(orderInfo.id)">重叫跑腿</button>
               </view>
             </view>
           </view>
@@ -368,7 +369,7 @@
         <button class="admin-button-com middle" @click.stop="sendWork(orderInfo)" v-if="orderInfo.payStatus == 1 && (orderInfo.hasWork == 0 || orderInfo.hasWork == 2)">通知制作</button>
         <button class="admin-button-com middle" @click.stop="cancelFn(orderInfo)" v-if="orderInfo.status == 1"> 取消 </button>
         <button class="admin-button-com middle" @click.stop="goScan(orderInfo)" v-if="orderInfo.status == 1"> 扫码收款 </button>
-        <button class="admin-button-com middle" v-if="orderInfo.sendStatus == '-4' && orderInfo.payStatus == 1" @click.stop="openExpressPage(orderInfo.id)">呼叫跑腿</button>
+        <button class="admin-button-com middle" v-if="orderInfo.sendStatus == -4 && orderInfo.payStatus == 1" @click.stop="openExpressPage(orderInfo.id)">呼叫跑腿</button>
         <button class="admin-button-com middle" @click.stop="printOrder(orderInfo)" v-if="orderInfo.payStatus == 1"> 打印 </button>
       </view>
     </view>
@@ -435,7 +436,7 @@ const commonUtil = require("@/utils/common.js");
 import { confirmSettle } from "@/api/settle/index"
 import { refundAmount } from "@/api/refund";
 import { expressDetail } from "@/api/express";
-import { cancelExpressOrder,mockNotify } from '@/api/shop-express'
+import { cancelExpressOrder, mockNotify } from '@/api/shop-express'
 import { cancelDeliveryOrder, getCancelReason, addTip as addTipApi } from '@/api/express/delivery'
 import { needWork } from "@/api/work"
 import { CURRENT_ENV } from "@/config"
@@ -503,6 +504,26 @@ export default {
       }
       return platformMap[platform] || platform
     },
+
+    /**
+     * 转换配送状态为中文显示
+     */
+    getSendStatusText(status) {
+      const statusStr = String(status);
+      const statusMap = {
+        '-1': '已取消',
+        '0': '跑腿订单生成',
+        '1': '跑腿已接单',
+        '2': '派单中',
+        '3': '待取货',
+        '4': '配送中',
+        '5': '已送达',
+        '10': '改派中',
+        '20': '已分配骑手',
+        '30': '骑手已到店',
+      }
+      return statusMap[statusStr] || '未知';
+    },
     
     goPreOrder(info) {
       if (!this.$util.isEmpty(info.forwardMap)) {