zhengyiming
2025-02-12 006e8527857850dfd01371384afa532af5a001f7
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
import _ from 'lodash';
 
export type ValueEnumItem = { [key: string]: any };
export type ValueEnum = ValueEnumItem[] | Record<string | number, string>;
export type OptionItem = {
  text: string;
  value: string | number;
  [key: string]: any;
};
 
export function convertOptions(
  valueEnum: ValueEnum,
  enumLabelKey: string,
  enumValueKey: string
): OptionItem[] {
  return _.isArray(valueEnum)
    ? valueEnum.map((x) => ({
        ...x,
        text: x[enumLabelKey],
        value: _.isNaN(Number(x[enumValueKey])) ? x[enumValueKey] : Number(x[enumValueKey]),
      }))
    : Object.keys(valueEnum).map((x) => ({
        value: _.isNaN(Number(x)) ? x : Number(x),
        text: valueEnum[x],
      }));
}
 
export type ChooseCheckBoxOptionItem = {
  text: string;
  value: string | number;
};