const UNIQUE_OPTIONS = [ { label: '非必填', value: 0, text: '主数据' }, { label: '必填', value: 1, text: '业务数据' } ] const ENABLE_OPTIONS = [ { label: '不启用', value: 0, text: '不启用' }, { label: '启用', value: 1, text: '启用' } ] export function createFieldsSearchState() { return { condition: '', fields: '', fieldsAlise: '', unique: '', flagEnable: '', status: '' } } export function createFieldsFormState() { return { id: null, fields: '', fieldsAlise: '', unique: 0, flagEnable: 1, status: 1, memo: '' } } export function getFieldsPaginationKey() { return { current: 'current', size: 'pageSize' } } export function getFieldsUniqueOptions() { return UNIQUE_OPTIONS } export function getFieldsEnableOptions() { return ENABLE_OPTIONS } export function getFieldsStatusMeta(status) { return Number(status) === 1 ? { text: '正常', type: 'success', bool: true } : { text: '冻结', type: 'danger', bool: false } } export function getFieldsUniqueMeta(unique) { const normalized = Number(unique) return UNIQUE_OPTIONS.find((item) => item.value === normalized) || { label: '-', value: normalized, text: '-' } } export function getFieldsEnableMeta(flagEnable) { const normalized = Number(flagEnable) return ENABLE_OPTIONS.find((item) => item.value === normalized) || { label: '-', value: normalized, text: '-' } } export function buildFieldsSearchParams(params = {}) { return { condition: String(params.condition || '').trim(), fields: String(params.fields || '').trim(), fieldsAlise: String(params.fieldsAlise || '').trim(), ...(params.unique !== '' && params.unique !== null && params.unique !== undefined ? { unique: Number(params.unique) } : {}), ...(params.flagEnable !== '' && params.flagEnable !== null && params.flagEnable !== undefined ? { flagEnable: Number(params.flagEnable) } : {}), ...(params.status !== '' && params.status !== null && params.status !== undefined ? { status: Number(params.status) } : {}) } } export function buildFieldsPageQueryParams(params = {}) { return { current: params.current || 1, pageSize: params.pageSize || params.size || 20, ...buildFieldsSearchParams(params) } } export function buildFieldsDialogModel(record = {}) { return { ...createFieldsFormState(), ...(record.id ? { id: Number(record.id) } : {}), fields: record.fields || '', fieldsAlise: record.fieldsAlise || '', unique: record.unique !== undefined && record.unique !== null ? Number(record.unique) : 0, flagEnable: record.flagEnable !== undefined && record.flagEnable !== null ? Number(record.flagEnable) : 1, status: record.status !== undefined && record.status !== null ? Number(record.status) : 1, memo: record.memo || '' } } export function buildFieldsSavePayload(formData = {}) { return { ...(formData.id ? { id: Number(formData.id) } : {}), fields: String(formData.fields || '').trim(), fieldsAlise: String(formData.fieldsAlise || '').trim(), unique: Number(formData.unique ?? 0), flagEnable: Number(formData.flagEnable ?? 1), status: Number(formData.status ?? 1), memo: String(formData.memo || '').trim() } } export function normalizeFieldsListRow(record = {}) { const statusMeta = getFieldsStatusMeta(record.status) const uniqueMeta = getFieldsUniqueMeta(record.unique) const enableMeta = getFieldsEnableMeta(record.flagEnable) return { ...record, fields: record.fields || '', fieldsAlise: record.fieldsAlise || '', memo: record.memo || '', uniqueText: record['unique$'] || uniqueMeta.text, flagEnableText: record['flagEnable$'] || enableMeta.text, statusText: record['status$'] || statusMeta.text, statusType: statusMeta.type, statusBool: record.statusBool ?? statusMeta.bool, updateByLabel: record['updateBy$'] || record.updateByLabel || '', createByLabel: record['createBy$'] || record.createByLabel || '', updateTimeText: record['updateTime$'] || record.updateTime || '', createTimeText: record['createTime$'] || record.createTime || '' } }