perf: 库位选择器改为按需懒加载——新增 /warehouse/children 接口,WarehouseSelector 移除全量树依赖
This commit is contained in:
@ -384,10 +384,7 @@
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="库位" prop="warehouse_location">
|
||||
<WarehouseSelector
|
||||
v-model="form.warehouse_location"
|
||||
:options="warehouseOptions"
|
||||
/>
|
||||
<WarehouseSelector v-model="form.warehouse_location" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -806,7 +803,6 @@ import {
|
||||
} from '@/api/inbound/buy'
|
||||
import { getApprovedUnstockedRequests } from '@/api/purchase'
|
||||
import {getLabelPreview, executePrint} from '@/api/common/print'
|
||||
import { getWarehouseTree } from '@/api/common/warehouse'
|
||||
import { usePasteUpload } from '@/hooks/usePasteUpload'
|
||||
import WebRtcCamera from '@/components/Camera/WebRtcCamera.vue'
|
||||
import WarehouseSelector from '@/components/WarehouseSelector.vue'
|
||||
@ -980,9 +976,6 @@ const purchaseImportPage = ref(1)
|
||||
const purchaseImportKeyword = ref('')
|
||||
const purchaseImportSelected = ref<any>(null)
|
||||
|
||||
// 库位级联选择器数据
|
||||
const warehouseOptions = ref<any[]>([])
|
||||
|
||||
const advancedFilterVisible = ref(false)
|
||||
const advancedConditions = ref([{ field: '', operator: '', value: '' }])
|
||||
const fieldOptions = computed(() => {
|
||||
@ -1575,17 +1568,6 @@ const buildCategoryTree = (categories: string[]) => {
|
||||
return root;
|
||||
};
|
||||
|
||||
// 加载库位树数据
|
||||
const loadWarehouseTree = async () => {
|
||||
try {
|
||||
const res = await getWarehouseTree()
|
||||
if (res.code === 200) {
|
||||
warehouseOptions.value = res.data || []
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('加载库位树失败', e)
|
||||
}
|
||||
}
|
||||
|
||||
const resetQuery = () => {
|
||||
queryParams.keyword = ''
|
||||
@ -2130,7 +2112,6 @@ onMounted(() => {
|
||||
initColumnPermissions()
|
||||
fetchData()
|
||||
fetchOptions()
|
||||
loadWarehouseTree()
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@ -354,10 +354,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="6"><el-form-item label="SKU" prop="sku"><el-input v-model="form.sku" placeholder="自动生成" disabled /></el-form-item></el-col>
|
||||
<el-col :span="6"><el-form-item label="库位" prop="warehouse_location">
|
||||
<WarehouseSelector
|
||||
v-model="form.warehouse_location"
|
||||
:options="warehouseOptions"
|
||||
/>
|
||||
<WarehouseSelector v-model="form.warehouse_location" />
|
||||
</el-form-item></el-col>
|
||||
<el-col :span="6"><el-form-item label="入库日期"><el-date-picker v-model="form.in_date" type="date" value-format="YYYY-MM-DD" style="width:100%" disabled /></el-form-item></el-col>
|
||||
</el-row>
|
||||
@ -620,7 +617,6 @@ import WarehouseSelector from '@/components/WarehouseSelector.vue'
|
||||
import SmartScannerDialog from '@/components/SmartScannerDialog.vue'
|
||||
import TrackScanDialog from '@/components/TrackScanDialog.vue'
|
||||
import { getLabelPreview, executePrint } from '@/api/common/print'
|
||||
import { getWarehouseTree } from '@/api/common/warehouse'
|
||||
import { usePasteUpload } from '@/hooks/usePasteUpload'
|
||||
import { useUserStore } from '@/stores/user'
|
||||
|
||||
@ -759,9 +755,6 @@ const scannerDialogVisible = ref(false)
|
||||
// 顶部扫码入库面板 (Track 身份证自动填充物料+序列号+订单号)
|
||||
const trackScanVisible = ref(false)
|
||||
|
||||
// 库位级联选择器数据
|
||||
const warehouseOptions = ref<any[]>([])
|
||||
|
||||
// ================= 第一步:声明基础数据 =================
|
||||
|
||||
// [核心优化] 所有列定义
|
||||
@ -1208,18 +1201,6 @@ const buildCategoryTree = (categories: string[]) => {
|
||||
return root;
|
||||
};
|
||||
|
||||
// 加载库位树数据
|
||||
const loadWarehouseTree = async () => {
|
||||
try {
|
||||
const res = await getWarehouseTree()
|
||||
if (res.code === 200) {
|
||||
warehouseOptions.value = res.data || []
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('加载库位树失败', e)
|
||||
}
|
||||
}
|
||||
|
||||
const resetQuery = () => {
|
||||
queryParams.keyword = ''
|
||||
queryParams.searchField = 'all'
|
||||
@ -1532,7 +1513,6 @@ onMounted(() => {
|
||||
initColumnPermissions()
|
||||
fetchData()
|
||||
fetchOptions()
|
||||
loadWarehouseTree()
|
||||
})
|
||||
|
||||
// 成本计算监听
|
||||
|
||||
@ -393,10 +393,7 @@
|
||||
<el-col :span="6"><el-form-item label="编码/SKU" prop="sku"><el-input v-model="form.sku" placeholder="系统自动生成" disabled/></el-form-item></el-col>
|
||||
<el-col :span="6"><el-form-item label="入库日期" prop="in_date"><el-date-picker v-model="form.in_date" type="date" value-format="YYYY-MM-DD" style="width:100%" disabled/></el-form-item></el-col>
|
||||
<el-col :span="6"><el-form-item label="库位" prop="warehouse_location">
|
||||
<WarehouseSelector
|
||||
v-model="form.warehouse_location"
|
||||
:options="warehouseOptions"
|
||||
/>
|
||||
<WarehouseSelector v-model="form.warehouse_location" />
|
||||
</el-form-item></el-col>
|
||||
</el-row>
|
||||
|
||||
@ -664,7 +661,6 @@ import WarehouseSelector from '@/components/WarehouseSelector.vue'
|
||||
import SmartScannerDialog from '@/components/SmartScannerDialog.vue'
|
||||
import TrackScanDialog from '@/components/TrackScanDialog.vue'
|
||||
import {getLabelPreview, executePrint} from '@/api/common/print'
|
||||
import { getWarehouseTree } from '@/api/common/warehouse'
|
||||
import { usePasteUpload } from '@/hooks/usePasteUpload'
|
||||
import { useUserStore } from '@/stores/user'
|
||||
|
||||
@ -826,9 +822,6 @@ const scannerDialogVisible = ref(false)
|
||||
// 顶部扫码入库面板 (Track 身份证自动填充物料+序列号)
|
||||
const trackScanVisible = ref(false)
|
||||
|
||||
// 库位级联选择器数据
|
||||
const warehouseOptions = ref<any[]>([])
|
||||
|
||||
const entryMode = ref('batch')
|
||||
const modeLocked = ref(false)
|
||||
|
||||
@ -1312,17 +1305,6 @@ const buildCategoryTree = (categories: string[]) => {
|
||||
return root;
|
||||
};
|
||||
|
||||
// 加载库位树数据
|
||||
const loadWarehouseTree = async () => {
|
||||
try {
|
||||
const res = await getWarehouseTree()
|
||||
if (res.code === 200) {
|
||||
warehouseOptions.value = res.data || []
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('加载库位树失败', e)
|
||||
}
|
||||
}
|
||||
|
||||
const resetQuery = () => {
|
||||
queryParams.keyword = ''
|
||||
@ -1649,7 +1631,6 @@ onMounted(() => {
|
||||
initColumnPermissions()
|
||||
fetchData()
|
||||
fetchOptions()
|
||||
loadWarehouseTree()
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user