Files
shanxia2.0/miniprogram/api/pl.js
T
2026-09-18 12:01:13 +08:00

96 lines
2.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 运输加油登记 API(复用门户 /transport/vehicle-fuel-register)
*/
import db from '@/utils/dbRequest'
import { fetchVehicleOptions } from '@/api/dbOptions'
function unwrapList(data) {
if (!data || typeof data !== 'object') {
return { items: [], total: 0 }
}
// 兼容门户信封 { code, data: { items, total } }
const payload =
data.data && typeof data.data === 'object' && data.items == null
? data.data
: data
const items = payload.items || payload.rows || payload.list || []
const total = Number(payload.total || 0)
return { items: Array.isArray(items) ? items : [], total }
}
function unwrapEntity(data) {
if (!data || typeof data !== 'object') return data
if (data.data && typeof data.data === 'object' && data.id == null && data.registerNo == null) {
return data.data
}
return data
}
export const fuelRegisterApi = {
list: async (params = {}) => {
const data = await db.get('/transport/vehicle-fuel-register/', {
mineOnly: true,
...params
})
return unwrapList(data)
},
get: async (id) => unwrapEntity(await db.get(`/transport/vehicle-fuel-register/${id}`)),
create: async (payload) =>
unwrapEntity(
await db.post('/transport/vehicle-fuel-register/', payload, {
params: { mineOnly: true }
})
),
update: async (id, payload) =>
unwrapEntity(
await db.put(`/transport/vehicle-fuel-register/${id}`, payload, {
params: { mineOnly: true }
})
),
cancel: (id) =>
db.post(
`/transport/vehicle-fuel-register/${id}/cancel`,
{},
{ params: { mineOnly: true } }
)
}
function unwrapData(data) {
if (!data || typeof data !== 'object') return data
if (data.code != null && data.data !== undefined) return data.data
return data
}
export const sitePlanApi = {
history: async (params = {}) => {
const data = unwrapData(await db.get('/transport/site-plan/history', params))
return {
date: data?.date || params.date,
keyword: data?.keyword || '',
records: Array.isArray(data?.records) ? data.records : []
}
},
get: async (planId) => unwrapData(await db.get(`/transport/site-plan/${planId}`)),
saveFeedback: (planId, payload) =>
db.post(`/transport/site-plan/${planId}/feedback`, payload)
}
export const driverPlanApi = {
history: async (params = {}) => {
const data = unwrapData(await db.get('/transport/driver-plan/history', params))
return {
date: data?.date || params.date,
records: Array.isArray(data?.records) ? data.records : []
}
},
get: async (planId) => unwrapData(await db.get(`/transport/driver-plan/${planId}`)),
saveFeedback: (planId, payload) =>
db.post(`/transport/driver-plan/${planId}/feedback`, payload),
saveDriverFeedback: (planId, payload) =>
db.post(`/transport/driver-plan/${planId}/driver-feedback`, payload)
}
export { fetchVehicleOptions }
export default fuelRegisterApi