zhengyiming
2025-02-10 0f686ea1fe4700a909a6159efcf1fcb0e1f88a17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import {
  HireType,
  SupplierProfitUintText,
  OrderRebateModeText,
  CycleTypeEnumUnitText,
  SalaryTimeTypeEnumUnit,
} from '@12333/constants';
import { filterJoin } from '@12333/utils';
 
export class OrderUtils {
  static getHireNumber(hireType: HireType, hireNumber?: number, hireEndNumber?: number) {
    if (hireNumber) {
      return hireType === HireType.hireNumber ? hireNumber : `${hireNumber}~${hireEndNumber}`;
    }
    return 0;
  }
 
  static getSupplierRefund(row: API.OrderSupplierRefundInfo[]) {
    if (!row?.length) {
      return '未填写供应商利润';
    }
    const item = row[0];
    return `${item.supplierProfit}${
      CycleTypeEnumUnitText[item.supplierProfitUint] ?? '未填写供应商利润'
    }`;
  }
 
  static getRebateModeText(row: API.OrderSupplierRefundInfo[]) {
    if (!row?.length) {
      return '';
    }
    const item = row[0];
    return `${OrderRebateModeText[item.rebateMode] ?? ''}`;
  }
 
  static getIntegratedSalary<T extends { salaryTimeType?: number; integratedSalary?: string }>(
    row: T
  ) {
    return `${row.integratedSalary ?? ''}${SalaryTimeTypeEnumUnit[row.salaryTimeType] ?? ''}`;
  }
 
  static getAddress<T extends { provinceName?: string; cityName?: string; countyName?: string }>(
    row: T
  ) {
    return filterJoin([row.provinceName ?? '', row.cityName ?? '', row.countyName ?? '']);
  }
}