Browse Source

feat(delivery): 更新订单状态字段为必填并优化发货按钮逻辑

将 `hbOrderStatus` 字段从可选改为必填,并引入 `ShippingButton` 枚举数组统一控制发货相关按钮的显示条件,简化模板中的判断逻辑。

同时修复了重复枚举值导致的冗余判断问题。
zhangtao 4 weeks ago
parent
commit
9052c39a5d

+ 1 - 1
src/typings/api.d.ts

@@ -1096,7 +1096,7 @@ declare namespace Api {
        * 0-待支付 1-待发货,20-订单已接单(待拣货),30-订单待配送(拣货完成/自提类订单为待自提),40-订单配送中
        * ,50-订单取消待审核,60-订单已取消,70-订单已送达,80-订单已完成
        */
-      hbOrderStatus?: number;
+      hbOrderStatus: number;
       /**
        * 是否已经支付,1:已经支付过,0:,没有支付过
        */

+ 2 - 9
src/views/delivery/normal-order/component/normal-modal.vue

@@ -5,7 +5,7 @@ import { fetchGetNomalOrderInfo } from '@/service/api/delivery/normal-orde';
 import { useAppStore } from '@/store/modules/app';
 import { copyTextToClipboard } from '@/utils/zt';
 import { useModal } from '@/components/zt/Modal/hooks/useModal';
-import { dvyStatus, orderColumns, orderStatusEnum } from '../normal-order';
+import { ShippingButton, dvyStatus, orderColumns, orderStatusEnum } from '../normal-order';
 import DeliveryModal from './delivery-modal.vue';
 const [registerModal, { openModal, setModalLoading }] = useModal({
   title: '订单详情',
@@ -107,14 +107,7 @@ function handleCopy() {
               </div>
             </template>
             <template v-if="!orderInfo.dvyFlowId">
-              <template
-                v-if="
-                  orderInfo.hbOrderStatus == orderStatusEnum.WAIT_DELIVERY ||
-                  orderInfo.hbOrderStatus == orderStatusEnum.ORDER_ACCEPT ||
-                  orderInfo.hbOrderStatus == orderStatusEnum.ORDER_DELIVERY ||
-                  orderInfo.hbOrderStatus == orderStatusEnum.ORDER_WAIT_DELIVERY
-                "
-              >
+              <template v-if="ShippingButton.includes(orderInfo.hbOrderStatus)">
                 <div class="text-16px font-semibold">等待商家发货</div>
                 <NButton size="small" type="primary" @click="handleShipment">发货</NButton>
               </template>

+ 2 - 5
src/views/delivery/normal-order/index.vue

@@ -7,7 +7,7 @@ import { defaultTransform, useNaivePaginatedTable } from '@/hooks/common/table';
 import { copyTextToClipboard } from '@/utils/zt';
 import { $t } from '@/locales';
 import { useForm } from '@/components/zt/Form/hooks/useForm';
-import { SearchForm, orderStatus, orderStatusEnum, refundStatus } from './normal-order';
+import { SearchForm, ShippingButton, orderStatus, refundStatus } from './normal-order';
 import DeliveryModal from './component/delivery-modal.vue';
 import NormalMoadl from './component/normal-modal.vue';
 const appStore = useAppStore();
@@ -173,10 +173,7 @@ const { columns, data, loading, getData, mobilePagination } = useNaivePaginatedT
             <n-button size="small" type="primary" quaternary onClick={() => handleOpenMoadl(row)}>
               查看订单
             </n-button>
-            {(row.hbOrderStatus == orderStatusEnum.WAIT_DELIVERY ||
-              row.hbOrderStatus == orderStatusEnum.ORDER_WAIT_DELIVERY ||
-              row.hbOrderStatus == orderStatusEnum.ORDER_DELIVERY ||
-              row.hbOrderStatus == orderStatusEnum.ORDER_DELIVERY) && (
+            {ShippingButton.includes(row.hbOrderStatus) && (
               <n-button size="small" type="primary" quaternary onClick={() => handleDeivery(row)}>
                 {row.dvyFlowId ? '修改物流' : '发货'}
               </n-button>

+ 9 - 1
src/views/delivery/normal-order/normal-order.ts

@@ -104,7 +104,15 @@ export enum orderStatusEnum {
    */
   ORDER_COMPLETE = 80
 }
-
+/**
+ * 发货按钮显示状态
+ */
+export const ShippingButton = [
+  orderStatusEnum.WAIT_DELIVERY,
+  orderStatusEnum.ORDER_ACCEPT,
+  orderStatusEnum.ORDER_DELIVERY,
+  orderStatusEnum.ORDER_WAIT_DELIVERY
+];
 /**
  *  // 0-待支付 1-待发货,20-订单已接单(待拣货),30-订单待配送(拣货完成/自提类订单为待自提),40-订单配送中
         // ,50-订单取消待审核,60-订单已取消,70-订单已送达,80-订单已完成

+ 9 - 3
src/views/government/points/index.vue

@@ -6,6 +6,7 @@ import {
   fetchGetPointsOutList,
   fetchImportPoints
 } from '@/service/api/government/points';
+import { fetchGetAllChannelList } from '@/service/api/goods/store-goods';
 import { useTable } from '@/components/zt/Table/hooks/useTable';
 import { useModal } from '@/components/zt/Modal/hooks/useModal';
 import type { FormSchema } from '@/components/zt/Form/types/form';
@@ -67,9 +68,14 @@ const outColumns: NaiveUI.TableColumn<Api.government.PointsRechargeVO>[] = [
 ];
 const searchSchemas: FormSchema[] = [
   {
-    field: 'channelName',
-    label: '企业名称',
-    component: 'NInput'
+    field: 'channelId',
+    label: '所属企业',
+    component: 'ApiSelect',
+    componentProps: {
+      api: fetchGetAllChannelList,
+      labelFeild: 'channelName',
+      valueFeild: 'id'
+    }
   },
   {
     field: 'userPhone',