f
This commit is contained in:
44
src/utils/vehicleReportNormalize.js
Normal file
44
src/utils/vehicleReportNormalize.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import { unwrapVehiclePayload } from './vehiclePayload'
|
||||
|
||||
/**
|
||||
* 规范 query_data 单项,供 BaseReport 使用:{ data: { apiID, data: 业务体 } }
|
||||
*/
|
||||
export function normalizeVehicleReportItem(item) {
|
||||
if (!item || typeof item !== 'object')
|
||||
return item
|
||||
|
||||
const outer = item.data
|
||||
if (outer == null)
|
||||
return item
|
||||
|
||||
let apiID = ''
|
||||
let payload = outer
|
||||
|
||||
if (typeof outer === 'object' && !Array.isArray(outer)) {
|
||||
apiID = String(outer.apiID ?? outer.apiId ?? '')
|
||||
if ('data' in outer)
|
||||
payload = outer.data
|
||||
}
|
||||
|
||||
payload = unwrapVehiclePayload(payload)
|
||||
|
||||
if (!apiID && payload && typeof payload === 'object' && !Array.isArray(payload)) {
|
||||
apiID = String(payload.apiID ?? payload.apiId ?? '')
|
||||
if (apiID && 'data' in payload)
|
||||
payload = unwrapVehiclePayload(payload.data)
|
||||
}
|
||||
|
||||
return {
|
||||
...item,
|
||||
data: {
|
||||
apiID: apiID || '',
|
||||
data: payload,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
export function normalizeVehicleReportData(items) {
|
||||
if (!Array.isArray(items))
|
||||
return []
|
||||
return items.map(normalizeVehicleReportItem)
|
||||
}
|
||||
Reference in New Issue
Block a user