From 21eeb2e067359789759904868438c70b18d4b066 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 26 十二月 2025 17:31:01 +0800
Subject: [PATCH] feat: init

---
 src/views/FinanceManage/OrderSettlementManage.vue |  123 +++++++++++++----------------------------
 1 files changed, 39 insertions(+), 84 deletions(-)

diff --git a/src/views/FinanceManage/OrderSettlementManage.vue b/src/views/FinanceManage/OrderSettlementManage.vue
index 552b635..e441dd7 100644
--- a/src/views/FinanceManage/OrderSettlementManage.vue
+++ b/src/views/FinanceManage/OrderSettlementManage.vue
@@ -6,7 +6,7 @@
           <QueryFilterItem tip-content="缁撶畻鐘舵��">
             <FieldRadio
               v-model="extraParamState.settlementStatus"
-              :value-enum="EnumTaskSettlementStatusText"
+              :value-enum="EnumStandardOrderSettlementStatusText"
               buttonStyle
               showAllBtn
               @change="getList()"
@@ -15,10 +15,9 @@
           <QueryFilterItem>
             <SearchInput
               v-model="extraParamState.keywords"
-              style="width: 250px"
+              style="width: 260px"
               placeholder="璁㈠崟鍙�/鏈嶅姟鍚�/渚涘簲鍟�"
-              @on-click-search="getList()"
-              @keyup.enter="getList()"
+              @on-click-search="getList"
             >
             </SearchInput>
           </QueryFilterItem>
@@ -33,122 +32,78 @@
 
 <script setup lang="ts">
 import {
-  ProTableQueryFilterBar,
+  OperationBtnType,
   ProTableV2,
-  SearchInput,
   LoadingLayout,
   AppContainer,
-  QueryFilterItem,
-  useTable,
-  FieldRadio,
   useFormDialog,
+  ProTableQueryFilterBar,
+  QueryFilterItem,
+  FieldRadio,
+  SearchInput,
 } from '@bole-core/components';
-import {
-  EnumTaskSettlementStatusText,
-  EnumTaskSettlementOrderStatus,
-  EnumTaskSettlementStatus,
-  EnumTaskCheckReceiveStatus,
-} from '@/constants';
-import * as taskServices from '@/services/api/task';
-import { ModelValueType } from 'element-plus';
+import { useAccess } from '@/hooks';
 import OrderSettlementDetailDialog from './components/OrderSettlementDetailDialog.vue';
+import { useGetStandardOrders } from '@/hooks';
+import { EnumStandardOrderSettlementStatusText } from '@/constants';
+import * as standardOrderServices from '@/services/api/standardOrder';
+import { Message } from '@bole-core/core';
+import { toThousand } from '@/utils';
 
 defineOptions({
   name: 'OrderSettlementManage',
 });
 
 const operationBtnMap: Record<string, OperationBtnType> = {
-  detailBtn: {
-    emits: {
-      onClick: (role: API.GetSettlementTasksQueryResultItem) => openDialog(role.id),
-    },
-  },
+  settlementBtn: { emits: { onClick: (role) => handleSettlement(role) } },
+  detailBtn: { emits: { onClick: (role) => openDialog(role) } },
 };
 
-const { column, operationBtns, checkSubModuleItemShow } = useAccess({
+const { column, operationBtns } = useAccess({
   operationBtnMap,
 });
 
 const router = useRouter();
-
 const BaseState = {
   loading: true,
 };
 
 const state = reactive({ ...BaseState });
 
+const { getList, proTableProps, paginationState, extraParamState, reset } = useGetStandardOrders({
+  isSettlement: true,
+});
+
 onMounted(async () => {
   await getList();
   state.loading = false;
 });
 
-const {
-  getDataSource: getList,
-  proTableProps,
-  paginationState,
-  extraParamState,
-  reset,
-} = useTable(
-  async ({ pageIndex, pageSize }, extraParamState) => {
-    try {
-      let params: API.GetSettlementTasksQuery = {
-        pageModel: {
-          rows: pageSize,
-          page: pageIndex,
-          orderInput: extraParamState.orderInput,
-        },
-        keywords: extraParamState.keywords,
-        settlementStatus: extraParamState.settlementStatus,
-      };
-
-      let res = await taskServices.getSettlementTasks(params, {
-        showLoading: !state.loading,
-      });
-      return res;
-    } catch (error) {
-      console.log('error: ', error);
+async function handleSettlement(row: API.GetStandardOrdersQueryResultItem) {
+  try {
+    await Message.tipMessage(
+      `纭灏�${toThousand(row.settlementAmount)}鍏冪粨绠楃粰${row.supplierEnterpriseName}鍚楋紵`
+    );
+    let params: API.SettlementStandardOrderCommand = {
+      id: row.id,
+    };
+    let res = await standardOrderServices.settlementStandardOrder(params);
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      getList(paginationState.pageIndex);
     }
-  },
-  {
-    defaultExtraParams: {
-      keywords: '',
-      settlementOrderStatus: '' as any as EnumTaskSettlementOrderStatus,
-      checkReceiveStatus: '' as any as EnumTaskCheckReceiveStatus,
-      settlementStatus: '' as any as EnumTaskSettlementStatus,
-      time: [] as unknown as ModelValueType,
-      orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
-    },
-    queryKey: ['taskServices/getSettlementTasks'],
-    columnsRenderProps: {
-      settlementStatus: { type: 'enum', valueEnum: EnumTaskSettlementStatusText },
-    },
-  }
-);
+  } catch (error) {}
+}
 
-const { dialogProps, handleAdd, editForm } = useFormDialog({
-  onConfirm: handleAddOrEdit,
+const { dialogProps, handleEdit, editForm } = useFormDialog({
   defaultFormParams: {
     id: '',
   },
 });
 
-function openDialog(id: string) {
-  handleAdd({
-    id: id,
-  });
-}
-
-async function handleAddOrEdit() {
-  try {
-  } catch (error) {}
-}
-
-function goDetail(id: string, settlement?: string) {
-  router.push({
-    name: 'ServiceChargeDetail',
-    params: {
-      id: id ?? '',
-    },
+function openDialog(row: API.GetStandardOrdersQueryResultItem) {
+  handleEdit({
+    id: row.id,
   });
 }
 </script>

--
Gitblit v1.10.0