fix: normalize delivery pagination
This commit is contained in:
@@ -102,6 +102,16 @@ export interface DeliveryQuery {
|
|||||||
plannedTo?: string
|
plannedTo?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function normalizeDeliveryPage(data: PageResult<DeliveryRow>): PageResult<DeliveryRow> {
|
||||||
|
return {
|
||||||
|
...data,
|
||||||
|
page: Number(data.page),
|
||||||
|
size: Number(data.size),
|
||||||
|
total: Number(data.total),
|
||||||
|
pages: Number(data.pages),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export interface DeliveryTransferPayload {
|
export interface DeliveryTransferPayload {
|
||||||
dispatchNo: string
|
dispatchNo: string
|
||||||
idempotencyKey: string
|
idempotencyKey: string
|
||||||
@@ -127,7 +137,7 @@ export function listDeliveryOrders(params: DeliveryQuery) {
|
|||||||
method: 'GET',
|
method: 'GET',
|
||||||
url: '/merchant/v1/last-leg/delivery-orders',
|
url: '/merchant/v1/last-leg/delivery-orders',
|
||||||
params,
|
params,
|
||||||
})
|
}).then(normalizeDeliveryPage)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getDeliveryOrder(deliveryNo: string) {
|
export function getDeliveryOrder(deliveryNo: string) {
|
||||||
|
|||||||
@@ -47,6 +47,12 @@ test('renders the operation column first and covers loading, empty, error and pa
|
|||||||
assert.match(listSource, /@click="loadOrders">重试/)
|
assert.match(listSource, /@click="loadOrders">重试/)
|
||||||
assert.match(listSource, /listDeliveryOrders\(buildQuery\(\)\)/)
|
assert.match(listSource, /listDeliveryOrders\(buildQuery\(\)\)/)
|
||||||
assert.match(listSource, /<el-pagination/)
|
assert.match(listSource, /<el-pagination/)
|
||||||
|
assert.match(listSource, /v-model:current-page="page"/)
|
||||||
|
assert.match(listSource, /v-model:page-size="pageSize"/)
|
||||||
|
assert.match(listSource, /@current-change="changePage"/)
|
||||||
|
assert.match(listSource, /@size-change="changePageSize"/)
|
||||||
|
assert.match(apiSource, /\.then\(normalizeDeliveryPage\)/)
|
||||||
|
assert.match(apiSource, /total: Number\(data\.total\)/)
|
||||||
assert.doesNotMatch(listSource, /row\.id[^a-zA-Z]|deliveryNo \|\| row\.id|customerId|tenantId/)
|
assert.doesNotMatch(listSource, /row\.id[^a-zA-Z]|deliveryNo \|\| row\.id|customerId|tenantId/)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ onMounted(loadOrders)
|
|||||||
<el-table-column prop="expectedArrivalAt" label="预计到达" min-width="160"><template #default="{ row }">{{ formatDateTime(row.expectedArrivalAt) }}</template></el-table-column>
|
<el-table-column prop="expectedArrivalAt" label="预计到达" min-width="160"><template #default="{ row }">{{ formatDateTime(row.expectedArrivalAt) }}</template></el-table-column>
|
||||||
<el-table-column prop="createdAt" label="创建时间" min-width="160"><template #default="{ row }">{{ formatDateTime(row.createdAt) }}</template></el-table-column>
|
<el-table-column prop="createdAt" label="创建时间" min-width="160"><template #default="{ row }">{{ formatDateTime(row.createdAt) }}</template></el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div v-if="!errorMessage && (records.length > 0 || total > 0)" class="delivery-pagination"><span>共 {{ total }} 条</span><el-pagination :current-page="page" :page-size="pageSize" :page-sizes="[10, 20, 50, 100]" layout="sizes, prev, pager, next" :total="total" @update:current-page="changePage" @update:page-size="changePageSize" /></div>
|
<div v-if="!errorMessage && (records.length > 0 || total > 0)" class="delivery-pagination"><span>共 {{ total }} 条</span><el-pagination v-model:current-page="page" v-model:page-size="pageSize" :page-sizes="[10, 20, 50, 100]" layout="sizes, prev, pager, next" :total="total" @current-change="changePage" @size-change="changePageSize" /></div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user