发货明细
-
@@ -412,6 +414,7 @@ import { copyToClipboard } from '@/utils/clipboard'
import { fetchShippingOrderList, fetchShippingOrderDetail, updateShippingOrderLogistics, fetchFastMailList, fetchExpressInfo, createBmOrderDaYin, recycleWaybillNo } from '@/api/shippingOrder'
import { createPrintTask } from '@/api/print'
import { fetchWarehouseList } from '@/api/warehouse'
+import WarehouseSelect from '@/components/warehouseSelect/index.vue'
import { getBookDetails } from '@/api/product'
import { executeMergePrint } from '@/utils/printFlow/printFlow'
@@ -425,6 +428,7 @@ const STATUS_MAP: Record = {
export default defineComponent({
name: 'ShippingOrder',
+ components: { WarehouseSelect },
setup() {
const router = useRouter()
const loading = ref(false)
@@ -477,13 +481,15 @@ export default defineComponent({
keyword: string
status: number | null
warehouse_id: number | null
+ location_id: number | null
shop_type: number | null
association_order_no: string
logistics_no: string
}>({
keyword: '',
- status: 1, // 默认选中"待发货"
+ status: 1,
warehouse_id: null,
+ location_id: null,
shop_type: null,
association_order_no: '',
logistics_no: ''
@@ -1109,6 +1115,7 @@ export default defineComponent({
check_no: searchParams.keyword,
status: searchParams.status || undefined,
warehouse_id: searchParams.warehouse_id || undefined,
+ location_id: searchParams.location_id || undefined,
shop_type: searchParams.shop_type !== null ? searchParams.shop_type : undefined,
association_order_no: searchParams.association_order_no || undefined,
logistics_no: searchParams.logistics_no || undefined,
@@ -1136,6 +1143,7 @@ export default defineComponent({
searchParams.keyword = ''
searchParams.status = 1
searchParams.warehouse_id = null
+ searchParams.location_id = null
searchParams.shop_type = null
searchParams.association_order_no = ''
searchParams.logistics_no = ''
@@ -1168,6 +1176,15 @@ export default defineComponent({
}
}
+ /** 按当前搜索条件过滤明细(库位筛选时仅展示匹配库位的商品) */
+ const getFilteredDetailItems = (rowId: number) => {
+ const items = detailCache.value[rowId]?.items || []
+ if (searchParams.location_id) {
+ return items.filter((item: any) => String(item.location_id) === String(searchParams.location_id))
+ }
+ return items
+ }
+
onMounted(() => {
const route = useRoute()
if (route.query.keyword) {
@@ -1215,6 +1232,7 @@ export default defineComponent({
handleSizeChange,
handleCurrentChange,
handleExpandChange,
+ getFilteredDetailItems,
navigateToSalesOrder,
navigateToOutbound,
copyToClipboard,