Bläddra i källkod

refactor(order-manage): 优化订单相关页面及代码结构

- 规范导入语句格式,提升代码可读性
- 普通订单页面新增订单金额列,显示金额保留两位小数
- 订单详情页面退款记录字段改为动态计算显示条数
- normal-order.ts中 businessType 常量移动至文件顶部,避免重复定义
- 移除dead code,保持代码简洁清晰
Sheep 3 dagar sedan
förälder
incheckning
8734b2b832

+ 7 - 1
src/views/order-manage/after-sales-order/index.vue

@@ -10,7 +10,13 @@ import {
 // import { copyTextToClipboard } from '@/utils/zt';
 import { useTable } from '@/components/zt/Table/hooks/useTable';
 // import { type } from '../../../../packages/axios/src/index';
-import { DJKOrderStatus, SearchForm, businessType, getSearchForm, orderStatus, refundOrderStatus } from '../normal-order/normal-order';
+import {
+  DJKOrderStatus,
+  businessType,
+  getSearchForm,
+  orderStatus,
+  refundOrderStatus
+} from '../normal-order/normal-order';
 const router = useRouter();
 // const ShipmentModal = useTemplateRef('Shipment');
 const columns: NaiveUI.TableColumn<Api.delivery.deliveryOrder>[] = [

+ 11 - 1
src/views/order-manage/normal-order/index.vue

@@ -18,7 +18,7 @@ import { commonExport } from '@/utils/common';
 import { useModal } from '@/components/zt/Modal/hooks/useModal';
 import { useTable } from '@/components/zt/Table/hooks/useTable';
 // import { type } from '../../../../packages/axios/src/index';
-import { DJKOrderStatus, SearchForm, businessType, getSearchForm, orderStatus } from './normal-order';
+import { DJKOrderStatus, businessType, getSearchForm, orderStatus } from './normal-order';
 const router = useRouter();
 const route = useRoute();
 const activeTab = ref('all');
@@ -69,6 +69,16 @@ const columns: NaiveUI.TableColumn<Api.delivery.deliveryOrder>[] = [
       );
     }
   },
+  {
+    key: 'orderMoney',
+    title: '订单金额(元)',
+    align: 'center',
+    width: 140,
+    render: row => {
+      const amount = Number(row.orderMoney);
+      return <span>{Number.isFinite(amount) ? amount.toFixed(2) : '--'}</span>;
+    }
+  },
   {
     key: 'status',
     title: '订单状态',

+ 9 - 9
src/views/order-manage/normal-order/normal-order.ts

@@ -7,6 +7,15 @@ import { fetchGetDictDataList } from '@/service/api/system-manage';
 import { useAuthStore } from '@/store/modules/auth';
 import type { FormSchema } from '@/components/zt/Form/types/form';
 
+export const businessType = {
+  XSB: '星闪豹',
+  CD: '充电',
+  DYY: '电影演出',
+  DJK: '大健康',
+  XNSP: '虚拟商品',
+  JY: '加油'
+};
+
 export const SearchForm: FormSchema[] = [
   {
     label: '业务类型',
@@ -524,15 +533,6 @@ export const chargeMethod = [
   '其它'
 ];
 
-export const businessType = {
-  XSB: '星闪豹',
-  CD: '充电',
-  DYY: '电影演出',
-  DJK: '大健康',
-  XNSP: '虚拟商品',
-  JY: '加油'
-};
-
 export const payType = {
   0: '积分支付',
   1: '微信支付',

+ 11 - 1
src/views/order-manage/order-detail/index.vue

@@ -88,6 +88,16 @@ function secondsToTime(seconds: number) {
   }
   return `00:${formatTime(minutes)}:${formatTime(secs)}`;
 }
+
+function getRefundRecordText() {
+  const info = orderInfo.value as any;
+  if (!info) return '暂无';
+  const count =
+    Number(info.backendOrderRefundLogCount) ||
+    (Array.isArray(info.refundOrderList) ? info.refundOrderList.length : 0) ||
+    0;
+  return count > 0 ? `${count}条` : '暂无';
+}
 </script>
 
 <template>
@@ -153,7 +163,7 @@ function secondsToTime(seconds: number) {
           </div>
           <div>支付时间:{{ orderInfo.payTime || '暂无' }}</div>
           <div>交易号:{{ orderInfo.outTradeNo || '---' }}</div>
-          <div>退款记录:{{ orderInfo.record || '暂无' }}</div>
+          <div>退款记录:{{ getRefundRecordText() }}</div>
         </NCard>
       </div>
       <div class="flex-1">