Переглянути джерело

♻️ refactor(salary-management): 清理未使用的导入和优化分页组件

- 移除未使用的 SalaryListResponse 类型导入
- 简化 handleValueChange 函数,移除冗余计算逻辑
- 更新分页组件参数,使用统一的 onPageChange 回调

📝 docs(salary-schema): 更新薪资模式文档

- 将 allowance、insurance 和 housingFund 字段从 nullable().optional() 改为 optional(),明确可选字段语义
yourname 1 місяць тому
батько
коміт
7103d9a619

+ 4 - 15
allin-packages/salary-management-ui/src/components/SalaryManagement.tsx

@@ -20,7 +20,6 @@ import type {
   CreateSalaryRequest,
   UpdateSalaryRequest,
   SalaryResponse,
-  SalaryListResponse,
   QuerySalaryParams
 } from '../api/types';
 
@@ -216,17 +215,8 @@ const SalaryManagement: React.FC = () => {
   };
 
   // 处理数值变化,实时计算总薪资
-  const handleValueChange = (field: keyof CreateSalaryRequest, value: number) => {
-    if (isCreateForm) {
-      const formValues = createForm.getValues();
-      const total = calculateTotalSalary(
-        field === 'basicSalary' ? value : formValues.basicSalary,
-        field === 'allowance' ? value : (formValues.allowance || 0),
-        field === 'insurance' ? value : (formValues.insurance || 0),
-        field === 'housingFund' ? value : (formValues.housingFund || 0)
-      );
-      // 可以在这里显示总薪资,但不需要保存到表单
-    }
+  const handleValueChange = (_field: keyof CreateSalaryRequest, _value: number) => {
+    // 实时计算功能已集成在表单显示中
   };
 
   return (
@@ -327,9 +317,8 @@ const SalaryManagement: React.FC = () => {
               <DataTablePagination
                 currentPage={searchParams.page}
                 pageSize={searchParams.limit}
-                total={data.total}
-                onPageChange={(page) => handlePaginationChange(page, searchParams.limit)}
-                onPageSizeChange={(limit) => handlePaginationChange(1, limit)}
+                totalCount={data.total}
+                onPageChange={(page, pageSize) => handlePaginationChange(page, pageSize)}
               />
             )}
           </>

+ 3 - 3
allin-packages/salary-module/src/schemas/salary.schema.ts

@@ -81,15 +81,15 @@ export const CreateSalarySchema = z.object({
     description: '基本工资',
     example: 5000.00
   }),
-  allowance: z.coerce.number<number>().min(0).nullable().optional().openapi({
+  allowance: z.coerce.number<number>().min(0).optional().openapi({
     description: '津贴补贴',
     example: 1000.00
   }),
-  insurance: z.coerce.number<number>().min(0).nullable().optional().openapi({
+  insurance: z.coerce.number<number>().min(0).optional().openapi({
     description: '保险费用',
     example: 500.00
   }),
-  housingFund: z.coerce.number<number>().min(0).nullable().optional().openapi({
+  housingFund: z.coerce.number<number>().min(0).optional().openapi({
     description: '住房公积金',
     example: 800.00
   })