This commit is contained in:
2026-08-06 19:03:13 +08:00
parent 7034a40aa8
commit 8695eee8c8
28 changed files with 1100 additions and 162 deletions
@@ -134,16 +134,16 @@ type WarehouseFilters = QueryModel & { keyword: string; warehouseType: Warehouse
const filters = ref<WarehouseFilters>({ keyword: '', warehouseType: '', status: '' })
const appliedFilters = ref<WarehouseFilters>({ ...filters.value })
const queryFields: QueryField[] = [
{ key: 'keyword', type: 'input', placeholder: '仓库名称、编码、城市或地址' },
{ key: 'keyword', type: 'input', label: '仓库关键词', placeholder: '仓库名称、编码、城市或地址' },
{
key: 'warehouseType', type: 'select', placeholder: '全部仓库类型', options: [
key: 'warehouseType', type: 'select', label: '仓库类型', placeholder: '全部仓库类型', options: [
{ label: warehouseTypeLabels.DOMESTIC, value: 'DOMESTIC' },
{ label: warehouseTypeLabels.FBA, value: 'FBA' },
{ label: warehouseTypeLabels.OVERSEAS, value: 'OVERSEAS' },
],
},
{
key: 'status', type: 'select', placeholder: '全部状态', options: [
key: 'status', type: 'select', label: '状态', placeholder: '全部状态', options: [
{ label: '启用', value: 'ACTIVE' },
{ label: '停用', value: 'INACTIVE' },
],
@@ -165,7 +165,7 @@ const warehouseColumns: DataTableColumn[] = [
{ key: 'warehouse', label: '仓库', minWidth: 190, slotName: 'warehouse' },
{ key: 'warehouseType', label: '仓库类型', width: 120, slotName: 'warehouseType' },
{ key: 'countryCode', label: '国家/地区', width: 140, slotName: 'countryCode' },
{ prop: 'timezone', label: '时区', width: 110 },
{ key: 'timezone', prop: 'timezone', label: '时区', width: 110 },
{ key: 'city', label: '所在城市', minWidth: 140, slotName: 'city' },
{ key: 'address', label: '地址', minWidth: 280, slotName: 'address' },
{ key: 'contact', label: '联系人', minWidth: 150, slotName: 'contact' },
@@ -672,7 +672,7 @@ onMounted(() => void loadWarehouses())
<el-button size="small" @click="loadWarehouses()">重新查询</el-button>
</el-alert>
<QueryToolbar v-model="filters" class="surface-panel" ariaLabel="仓库筛选" :fields="queryFields" @search="queryWarehouses" />
<QueryToolbar v-model="filters" class="surface-panel" ariaLabel="仓库筛选" :fields="queryFields" preference-key="warehouses-query" @search="queryWarehouses" />
<section class="surface-panel table-panel" aria-live="polite">
<div class="panel-heading warehouse-heading">
@@ -699,6 +699,7 @@ onMounted(() => void loadWarehouses())
v-model:page-size="pageSize"
:data="rows"
:columns="warehouseColumns"
preference-key="warehouses-table"
:loading="loading"
:total="total"
:page-sizes="[20, 50, 100]"