优化
This commit is contained in:
@@ -47,7 +47,7 @@ const selectedVehicle = ref('')
|
||||
const query = reactive({
|
||||
orderNo: '',
|
||||
orderType: '',
|
||||
sourceStage: 'RECEIVED' as '' | 'PLAN' | 'RECEIVED',
|
||||
sourceStage: 'RECEIVED' as '' | 'PLAN' | 'RECEIVED' | 'RELABEL',
|
||||
fbaWarehouseCode: '',
|
||||
})
|
||||
const warehouseTab = ref<'ALL' | 'LAX' | 'NYC'>('ALL')
|
||||
@@ -105,6 +105,10 @@ function number(value: unknown, digits = 0) {
|
||||
function dateTime(value: unknown) {
|
||||
return formatOverseasDateTime(value)
|
||||
}
|
||||
function privateWarehouse(item: DispatchPalletCandidateDto) {
|
||||
if (item.destinationType !== 'PRIVATE') return '—'
|
||||
return [item.deliveryAddress, item.postalCode].map((value) => String(value || '').trim()).filter(Boolean).join(' · ') || '—'
|
||||
}
|
||||
function orderType(value: unknown) {
|
||||
return (
|
||||
(
|
||||
@@ -158,7 +162,7 @@ async function load() {
|
||||
loadError.value = null
|
||||
try {
|
||||
candidates.value = await listDispatchCandidates({
|
||||
planIds: planIds.value.length ? planIds.value.join(',') : undefined,
|
||||
planIds: query.sourceStage !== 'RELABEL' && planIds.value.length ? planIds.value.join(',') : undefined,
|
||||
orderNo: query.orderNo.trim() || undefined,
|
||||
fbaWarehouseCode: query.fbaWarehouseCode.trim() || undefined,
|
||||
sourceStage: query.sourceStage || undefined,
|
||||
@@ -295,7 +299,11 @@ async function submit() {
|
||||
return
|
||||
}
|
||||
const relabelOrders = [...new Set(assigned.value.filter((item) => item.sourceStage === 'RELABEL')
|
||||
.map((item) => String(item.orderNo || '').trim()).filter(Boolean))]
|
||||
.map((item) => String(item.orderRefs || '').trim()).filter(Boolean))]
|
||||
if (assigned.value.some((item) => item.sourceStage === 'RELABEL' && !String(item.orderRefs || '').trim())) {
|
||||
ElMessage.warning('换标来源单号缺失,请刷新后重新选择')
|
||||
return
|
||||
}
|
||||
if (relabelOrders.length && (relabelOrders.length !== 1 || assigned.value.some((item) => item.sourceStage !== 'RELABEL'))) {
|
||||
ElMessage.warning('一张换标单的托盘需要单独排车')
|
||||
return
|
||||
@@ -363,13 +371,15 @@ watch([warehouseTab, () => query.orderType], () => {
|
||||
<OperationErrorToast :details="mutationError" />
|
||||
<AppDialog class="admin-density-dialog admin-density" :model-value="modelValue" title="智能排车" width="min(1800px, calc(100vw - 40px))" @update:model-value="close($event)">
|
||||
<section class="dispatch-query" aria-label="智能排车筛选">
|
||||
<el-input v-model="query.orderNo" clearable placeholder="订单号" @keyup.enter="load" />
|
||||
<el-input v-model="query.orderNo" clearable :placeholder="query.sourceStage === 'RELABEL' ? '换标单号' : '订单号 / 换标单号'" @keyup.enter="load" />
|
||||
<el-select v-model="query.orderType" clearable placeholder="全部订单类型"><el-option v-for="option in orderTypeOptions" :key="option.value" :label="option.label" :value="option.value" /></el-select>
|
||||
<el-select v-model="query.sourceStage" clearable placeholder="全部状态"><el-option label="入库完成托盘" value="RECEIVED" /><el-option label="计划托盘" value="PLAN" /></el-select>
|
||||
<el-select v-model="query.sourceStage" clearable placeholder="全部来源"><el-option label="已入库 / 待出库换标" value="RECEIVED" /><el-option label="待出库换标单" value="RELABEL" /><el-option label="计划托盘" value="PLAN" /></el-select>
|
||||
<el-input v-model="query.fbaWarehouseCode" clearable placeholder="FBA仓库" @keyup.enter="load" />
|
||||
<el-button type="primary" :loading="loading" @click="load">查询</el-button><el-button :disabled="loading" @click="reset">重置</el-button>
|
||||
</section>
|
||||
|
||||
<p v-if="query.sourceStage === 'RELABEL'" class="dispatch-source-hint">仅展示客户已确认、卡车派送且尚未排车的换标单。沿用原入库库存和托盘,按本次换标箱唛及新目的仓排车,无需重新生成入库单。</p>
|
||||
|
||||
<nav class="warehouse-tabs density-tabs" aria-label="海外仓筛选">
|
||||
<button
|
||||
v-for="tab in [
|
||||
@@ -425,6 +435,9 @@ watch([warehouseTab, () => query.orderType], () => {
|
||||
>
|
||||
<el-table-column label="目的地FBA" width="110"
|
||||
><template #default="{ row }">{{ text(row.first.fbaWarehouseCode) }}</template></el-table-column
|
||||
>
|
||||
<el-table-column label="私人仓" min-width="220" show-overflow-tooltip
|
||||
><template #default="{ row }">{{ privateWarehouse(row.first) }}</template></el-table-column
|
||||
>
|
||||
<el-table-column label="体积(m³)" width="100" align="right"
|
||||
><template #default="{ row }">{{
|
||||
|
||||
Reference in New Issue
Block a user