修复用户产线和工厂区域分页
This commit is contained in:
@@ -176,11 +176,22 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
normalizeResponse (res) {
|
||||
const data = res && res.data !== undefined ? res.data : res
|
||||
if (Array.isArray(data)) return { list: data, total: data.length }
|
||||
if (data && Array.isArray(data.list)) return { list: data.list, total: Number(data.count || data.total || data.list.length) }
|
||||
if (data && Array.isArray(data.data)) return { list: data.data, total: Number(data.count || data.total || data.data.length) }
|
||||
if (data && data.data && Array.isArray(data.data.data)) return { list: data.data.data, total: Number(data.data.count || data.data.total || data.data.data.length) }
|
||||
const getTotal = (source, fallback) => {
|
||||
if (!source) return fallback
|
||||
const total = source.count ?? source.total ?? source.total_count ?? source.record_count
|
||||
const value = Number(total)
|
||||
return Number.isNaN(value) ? fallback : value
|
||||
}
|
||||
const containers = [res, res && res.data, res && res.data && res.data.data].filter(Boolean)
|
||||
for (const item of containers) {
|
||||
if (Array.isArray(item)) {
|
||||
return { list: item, total: getTotal(res, item.length) }
|
||||
}
|
||||
const list = item.data || item.list || item.rows || item.records || item.items
|
||||
if (Array.isArray(list)) {
|
||||
return { list, total: getTotal(item, getTotal(res, list.length)) }
|
||||
}
|
||||
}
|
||||
return { list: [], total: 0 }
|
||||
},
|
||||
async initAreaOptions () {
|
||||
|
||||
Reference in New Issue
Block a user