zhou zhou
昨天 5d31cb5f1fb32a478d5b751ebfe97d47db890778
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
const STATUS_OPTIONS = [
  { label: '正常', value: 1 },
  { label: '禁用', value: 0 }
]
 
export function createHostSearchState() {
  return {
    condition: '',
    name: '',
    status: ''
  }
}
 
export function createHostFormState() {
  return {
    id: null,
    name: '',
    status: 1,
    memo: ''
  }
}
 
export function getHostPaginationKey() {
  return {
    current: 'current',
    size: 'pageSize'
  }
}
 
export function getHostStatusOptions() {
  return STATUS_OPTIONS
}
 
export function getHostStatusMeta(status) {
  return Number(status) === 1
    ? { text: '正常', type: 'success', bool: true }
    : { text: '禁用', type: 'danger', bool: false }
}
 
export function buildHostSearchParams(params = {}) {
  return {
    condition: String(params.condition || '').trim(),
    name: String(params.name || '').trim(),
    ...(params.status !== '' && params.status !== null && params.status !== undefined
      ? { status: Number(params.status) }
      : {})
  }
}
 
export function buildHostPageQueryParams(params = {}) {
  return {
    current: params.current || 1,
    pageSize: params.pageSize || params.size || 20,
    ...buildHostSearchParams(params)
  }
}
 
export function buildHostDialogModel(record = {}) {
  return {
    ...createHostFormState(),
    ...(record.id ? { id: Number(record.id) } : {}),
    name: record.name || '',
    status: record.status !== undefined && record.status !== null ? Number(record.status) : 1,
    memo: record.memo || ''
  }
}
 
export function buildHostSavePayload(formData = {}) {
  return {
    ...(formData.id ? { id: Number(formData.id) } : {}),
    name: String(formData.name || '').trim(),
    status: Number(formData.status ?? 1),
    memo: String(formData.memo || '').trim()
  }
}
 
export function normalizeHostListRow(record = {}) {
  const statusMeta = getHostStatusMeta(record.status)
  return {
    ...record,
    name: record.name || '',
    memo: record.memo || '',
    statusText: record['status$'] || statusMeta.text,
    statusType: statusMeta.type,
    statusBool: record.statusBool ?? statusMeta.bool,
    updateTimeText: record['updateTime$'] || record.updateTime || '',
    createTimeText: record['createTime$'] || record.createTime || ''
  }
}