zhou zhou
61 分钟以前 28c6a76ead9b65a0b5861d70f0838ef2a46f5c45
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
90
91
92
93
94
95
96
97
98
99
100
import { $t } from '@/locales'
 
export const FREEZE_DYNAMIC_FIELD_PREFIX = 'extendField__'
 
function normalizeText(value) {
  return String(value ?? '').trim()
}
 
function normalizeNumber(value) {
  if (value === '' || value === null || value === undefined) {
    return 0
  }
  const numericValue = Number(value)
  return Number.isFinite(numericValue) ? numericValue : 0
}
 
export function createFreezeSearchState() {
  return {
    condition: '',
    locCode: '',
    matnrCode: '',
    maktx: '',
    batch: '',
    trackCode: ''
  }
}
 
export function buildFreezePageQueryParams(params = {}) {
  const result = {
    current: params.current || 1,
    pageSize: params.pageSize || params.size || 20
  }
 
  ;['condition', 'locCode', 'matnrCode', 'maktx', 'batch', 'trackCode'].forEach((key) => {
    const value = normalizeText(params[key])
    if (value) {
      result[key] = value
    }
  })
 
  return result
}
 
export function getFreezeDynamicFieldKey(fieldName) {
  return `${FREEZE_DYNAMIC_FIELD_PREFIX}${fieldName}`
}
 
export function normalizeFreezeEnabledFields(fields = []) {
  if (!Array.isArray(fields)) {
    return []
  }
  return fields
    .map((item) => ({
      fields: normalizeText(item.fields),
      fieldsAlise: normalizeText(item.fieldsAlise || item.fieldsAlias || item.fields)
    }))
    .filter((item) => item.fields)
}
 
export function attachFreezeDynamicFields(record = {}, enabledFields = []) {
  const extendFields = record.extendFields && typeof record.extendFields === 'object' ? record.extendFields : {}
  const dynamicValues = {}
 
  enabledFields.forEach((field) => {
    dynamicValues[getFreezeDynamicFieldKey(field.fields)] = extendFields[field.fields] || ''
  })
 
  return {
    ...record,
    ...dynamicValues
  }
}
 
export function normalizeFreezeRow(record = {}, enabledFields = []) {
  return attachFreezeDynamicFields(
    {
      ...record,
      locCode: record.locCode || '-',
      wareArea: record.wareArea || '-',
      matnrCode: record.matnrCode || '-',
      maktx: record.maktx || '-',
      batch: record.batch || '-',
      trackCode: record.trackCode || '-',
      unit: record.unit || '-',
      anfme: normalizeNumber(record.anfme),
      qty: normalizeNumber(record.qty),
      workQty: normalizeNumber(record.workQty),
      splrName: record.splrName || '-',
      statusText: record['status$'] || $t('common.status.frozen'),
      updateTimeText: record['updateTime$'] || record.updateTime || '-',
      createTimeText: record['createTime$'] || record.createTime || '-',
      memo: record.memo || '-'
    },
    enabledFields
  )
}
 
export function normalizeFreezeDetail(record = {}, enabledFields = []) {
  return normalizeFreezeRow(record, enabledFields)
}