feat(stock): 添加虚拟仓过滤功能

新增虚拟仓过滤模式,支持排除虚拟仓和仅查看虚拟仓的选项。更新相关请求对象和数据查询逻辑,以便后端处理虚拟仓的过滤需求。
pull/871/MERGE
YunaiV 2026-04-08 22:11:17 +08:00
parent 52eb55107c
commit f34657341b
1 changed files with 5 additions and 16 deletions

View File

@ -159,7 +159,6 @@ import MdVendorSelect from '@/views/mes/md/vendor/components/MdVendorSelect.vue'
import WmWarehouseSelect from '@/views/mes/wm/warehouse/components/WmWarehouseSelect.vue'
import WmWarehouseLocationSelect from '@/views/mes/wm/warehouse/components/WmWarehouseLocationSelect.vue'
import WmWarehouseAreaSelect from '@/views/mes/wm/warehouse/components/WmWarehouseAreaSelect.vue'
import { MesWmWarehouseConstants } from '@/views/mes/utils/constants'
defineOptions({ name: 'WmMaterialStockSelectDialog' })
@ -247,7 +246,8 @@ const queryParams = reactive({
warehouseId: undefined as number | undefined, //
locationId: undefined as number | undefined, //
areaId: undefined as number | undefined, //
frozen: false as boolean | undefined //
frozen: false as boolean | undefined, //
virtualFilter: undefined as string | undefined // 虚拟仓过滤exclude / only由后端处理
})
/** 仓库切换时清空库区、库位 */
@ -266,20 +266,7 @@ const getList = async () => {
loading.value = true
try {
const data = await WmMaterialStockApi.getMaterialStockPage(queryParams)
// 线
if (props.virtualFilter === 'only') {
//
list.value = data.list.filter((row: WmMaterialStockVO) =>
row.warehouseCode?.includes(MesWmWarehouseConstants.WIP_VIRTUAL)
)
} else if (props.virtualFilter === 'exclude') {
//
list.value = data.list.filter(
(row: WmMaterialStockVO) => !row.warehouseCode?.includes(MesWmWarehouseConstants.WIP_VIRTUAL)
)
} else {
list.value = data.list
}
list.value = data.list
total.value = data.total
await nextTick()
applyPreSelection()
@ -326,6 +313,7 @@ const resetQuery = () => {
queryParams.batchCode = undefined
queryParams.batchId = props.batchId // props
queryParams.warehouseId = props.warehouseId // props
queryParams.virtualFilter = props.virtualFilter === 'all' ? undefined : props.virtualFilter
queryParams.locationId = undefined
queryParams.areaId = undefined
typeTreeRef.value?.reset()
@ -366,6 +354,7 @@ const open = async (selectedIds?: number[]) => {
queryParams.itemId = props.itemId
queryParams.batchId = props.batchId
queryParams.warehouseId = props.warehouseId
queryParams.virtualFilter = props.virtualFilter === 'all' ? undefined : props.virtualFilter
//
queryParams.frozen = false
// +