From e719d76f10d8b8b3a95437cd5f37458f36bb4abb Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 25 十二月 2025 16:27:57 +0800
Subject: [PATCH] feat: 订单

---
 src/views/EmploymentManage/StandardOrder.vue |   98 +++++++++++++++++++++++++++++--------------------
 1 files changed, 58 insertions(+), 40 deletions(-)

diff --git a/src/views/EmploymentManage/StandardOrder.vue b/src/views/EmploymentManage/StandardOrder.vue
index fe6f3c6..d3547af 100644
--- a/src/views/EmploymentManage/StandardOrder.vue
+++ b/src/views/EmploymentManage/StandardOrder.vue
@@ -4,14 +4,24 @@
       <ProTableQueryFilterBar @on-reset="reset">
         <template #query>
           <QueryFilterItem tip-content="棰勭害鐘舵��">
-            <FieldSelect v-model="extraParamState.status" :value-enum="[]" @change="getList()" />
+            <FieldSelect
+              v-model="extraParamState.appointmentStatus"
+              :value-enum="EnumStandardOrderAppointmentStatusText"
+              @change="getList()"
+              clearable
+            />
           </QueryFilterItem>
           <QueryFilterItem tip-content="璁㈠崟鐘舵��">
-            <FieldSelect v-model="extraParamState.status" :value-enum="[]" @change="getList()" />
+            <FieldSelect
+              v-model="extraParamState.payStatus"
+              :value-enum="EnumStandardOrderPayStatusText"
+              @change="getList()"
+              clearable
+            />
           </QueryFilterItem>
           <QueryFilterItem tip-content="涓嬪崟鏃堕棿">
             <FieldDatePicker
-              v-model="extraParamState.time"
+              v-model="extraParamState.createdTime"
               type="daterange"
               range-separator="~"
               start-placeholder="寮�濮嬫棩鏈�"
@@ -22,7 +32,7 @@
           </QueryFilterItem>
           <QueryFilterItem tip-content="鏀粯鏃堕棿">
             <FieldDatePicker
-              v-model="extraParamState.time"
+              v-model="extraParamState.payTime"
               type="daterange"
               range-separator="~"
               start-placeholder="寮�濮嬫棩鏈�"
@@ -51,6 +61,7 @@
 <script setup lang="ts">
 import {
   ProTableQueryFilterBar,
+  OperationBtnType,
   ProTableV2,
   SearchInput,
   LoadingLayout,
@@ -60,27 +71,27 @@
   FieldDatePicker,
   FieldSelect,
 } from '@bole-core/components';
-import { EnumTaskStatusText, EnumTaskReleaseStatusText } from '@/constants';
-import { useGlobalEventContext } from '@/hooks';
-import * as taskServices from '@/services/api/task';
-import { format, OrderUtils } from '@/utils';
+import { useAccess } from '@/hooks';
 import { ModelValueType } from 'element-plus';
-import { Message } from '@bole-core/core';
-import dayjs from 'dayjs';
+import * as standardOrderServices from '@/services/api/standardOrder';
+import {
+  EnumStandardOrderAppointmentStatusText,
+  EnumStandardOrderPayStatusText,
+  EnumStandardOrderSettlementStatusText,
+} from '@/constants';
+import { format } from '@/utils';
 
 defineOptions({
   name: 'StandardOrder',
 });
 
 const operationBtnMap: Record<string, OperationBtnType> = {
-  detailBtn: {
-    emits: {
-      onClick: (row: API.GetTaskInfosQueryResultItem) => goDetail(row),
-    },
-  },
+  detailBtn: { emits: { onClick: (row: API.GetStandardOrdersQueryResultItem) => goDetail(row) } },
   confirmBtn: {
-    emits: {
-      onClick: (row: API.GetTaskInfosQueryResultItem) => goDetail(row),
+    emits: { onClick: (row: API.GetStandardOrdersQueryResultItem) => goDetail(row) },
+    extraProps: {
+      hide: (row: API.GetStandardOrdersQueryResultItem) =>
+        row.appointmentStatus !== EnumStandardOrderAppointmentStatus.WaitSure,
     },
   },
 };
@@ -89,8 +100,13 @@
   operationBtnMap,
 });
 
-const router = useRouter();
+const eventContext = useGlobalEventContext();
 
+eventContext.addEvent('standardOrder:confirm', () => {
+  getList(paginationState.pageIndex);
+});
+
+const router = useRouter();
 const BaseState = {
   loading: true,
 };
@@ -111,48 +127,50 @@
 } = useTable(
   async ({ pageIndex, pageSize }, extraParamState) => {
     try {
-      let params: API.GetTaskInfosQuery = {
+      let params: API.GetStandardOrdersQuery = {
         pageModel: {
           rows: pageSize,
           page: pageIndex,
           orderInput: extraParamState.orderInput,
         },
         keywords: extraParamState.keywords,
-        status: extraParamState.status,
-        releaseStatus: extraParamState.releaseStatus,
-        beginTime: format(extraParamState.time?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
-        endTime: format(extraParamState.time?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
+        appointmentStatus: extraParamState.appointmentStatus,
+        payStatus: extraParamState.payStatus,
+        createdTimeBegin: format(extraParamState.createdTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
+        createdTimeEnd: format(extraParamState.createdTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
+        payTimeBegin: format(extraParamState.payTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
+        payTimeEnd: format(extraParamState.payTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
       };
-
-      let res = await taskServices.getTaskInfos(params, {
+      let res = await standardOrderServices.getStandardOrders(params, {
         showLoading: !state.loading,
       });
       return res;
-    } catch (error) {
-      console.log('error: ', error);
-    }
+    } catch (error) {}
   },
   {
     defaultExtraParams: {
       keywords: '',
-      status: '' as any as EnumTaskStatus,
-      releaseStatus: '' as any as EnumTaskReleaseStatus,
-      time: [] as unknown as ModelValueType,
+      appointmentStatus: '' as any as EnumStandardOrderAppointmentStatus,
+      payStatus: '' as any as EnumStandardOrderPayStatus,
+      createdTime: [] as unknown as ModelValueType,
+      payTime: [] as unknown as ModelValueType,
       orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
     },
-    queryKey: ['taskServices/getTaskInfos'],
     columnsRenderProps: {
-      endTime: { type: 'date', format: 'YYYY-MM-DD' },
+      createdTime: { type: 'date' },
+      payCompletedTime: { type: 'date' },
+      payAmount: { type: 'money' },
+      receiveAmount: { type: 'money' },
+      serviceFee: { type: 'money' },
+      settlementAmount: { type: 'money' },
+      appointmentStatus: { type: 'enum', valueEnum: EnumStandardOrderAppointmentStatusText },
+      payStatus: { type: 'enum', valueEnum: EnumStandardOrderPayStatusText },
+      settlementStatus: { type: 'enum', valueEnum: EnumStandardOrderSettlementStatusText },
     },
   }
 );
 
-function goDetail(row: API.GetTaskInfosQueryResultItem) {
-  router.push({
-    name: 'StandardOrderDetail',
-    params: {
-      id: row?.id ?? '',
-    },
-  });
+function goDetail(row?: API.GetStandardOrdersQueryResultItem) {
+  router.push({ name: 'StandardOrderDetail', params: { id: row?.id ?? '' } });
 }
 </script>

--
Gitblit v1.10.0