diff --git a/src/api/mes/wm/productsales/line/index.ts b/src/api/mes/wm/productsales/line/index.ts index 7be5fbdeb..cf8f57482 100644 --- a/src/api/mes/wm/productsales/line/index.ts +++ b/src/api/mes/wm/productsales/line/index.ts @@ -16,11 +16,9 @@ export interface WmProductSalesLineVO { // MES 销售出库单行 API export const WmProductSalesLineApi = { - // 查询销售出库单行列表(按出库单编号) - getProductSalesLineListBySalesId: async (salesId: number) => { - return await request.get({ - url: '/mes/wm/product-sales-line/list-by-sales-id?salesId=' + salesId - }) + // 查询销售出库单行分页 + getProductSalesLinePage: async (params: any) => { + return await request.get({ url: '/mes/wm/product-sales-line/page', params }) }, // 查询销售出库单行详情 diff --git a/src/views/mes/wm/productsales/ProductSalesDetailForm.vue b/src/views/mes/wm/productsales/ProductSalesDetailForm.vue index 5c8b3134b..9294611c1 100644 --- a/src/views/mes/wm/productsales/ProductSalesDetailForm.vue +++ b/src/views/mes/wm/productsales/ProductSalesDetailForm.vue @@ -24,7 +24,7 @@ - + - @@ -41,7 +40,7 @@ - + - - - - - - - - - - - - - @@ -122,6 +100,27 @@ + 运输信息 + + + + + + + + + + + + @@ -153,7 +155,7 @@ const message = useMessage() // 消息弹窗 const dialogVisible = ref(false) // 弹窗的是否展示 const formLoading = ref(false) // 表单的加载中 -const formType = ref('create') // 表单的类型:create / update / pick / detail +const formType = ref('create') // 表单的类型:create / update / pick / shipping / detail const formData = ref({ id: undefined as number | undefined, code: undefined, @@ -178,12 +180,14 @@ const formRef = ref() // 表单 Ref const isUpdate = computed(() => ['create', 'update'].includes(formType.value)) // 是否为编辑模式 const isPick = computed(() => formType.value === 'pick') // 是否为拣货模式 -const isHeaderReadonly = computed(() => ['pick', 'detail'].includes(formType.value)) // 是否只读 +const isShipping = computed(() => formType.value === 'shipping') // 是否为填写运单模式 +const isHeaderReadonly = computed(() => ['pick', 'shipping', 'detail'].includes(formType.value)) // 是否只读 const dialogTitle = computed(() => { const titles = { create: '新增销售出库单', update: '编辑销售出库单', pick: '执行拣货', + shipping: '填写运单', detail: '销售出库单详情' } return titles[formType.value] || formType.value @@ -251,6 +255,29 @@ const handlePick = async () => { } } +/** 填写运单 */ +// TODO @AI:方法改成 handleShipping +const handleShipping = async () => { + try { + await message.confirm('确认提交运单信息?') + formLoading.value = true + // 只提交运输信息字段 + const data = { + id: formData.value.id, + carrier: formData.value.carrier, + shippingNumber: formData.value.shippingNumber + } as unknown as WmProductSalesVO + // TODO @AI:不是更新方法,需要增加一个 controller 接口; + await WmProductSalesApi.updateProductSales(data) + message.success('运单信息填写成功') + dialogVisible.value = false + emit('success') + } catch { + } finally { + formLoading.value = false + } +} + /** 重置表单 */ const resetForm = () => { formData.value = { diff --git a/src/views/mes/wm/productsales/ProductSalesLineList.vue b/src/views/mes/wm/productsales/ProductSalesLineList.vue index aec691da3..994d44032 100644 --- a/src/views/mes/wm/productsales/ProductSalesLineList.vue +++ b/src/views/mes/wm/productsales/ProductSalesLineList.vue @@ -65,6 +65,12 @@ + @@ -84,8 +90,7 @@ - - + @@ -156,12 +161,21 @@ const isPick = computed(() => props.formType === 'pick') // 是否为拣货模 // ==================== 列表 ==================== const loading = ref(false) // 列表的加载中 const list = ref([]) // 行列表 +const total = ref(0) // 列表的总页数 +const queryParams = reactive({ + pageNo: 1, + pageSize: 10, + salesId: undefined as number | undefined +}) /** 查询行列表 */ const getList = async () => { loading.value = true try { - list.value = await WmProductSalesLineApi.getProductSalesLineListBySalesId(props.salesId) + queryParams.salesId = props.salesId + const data = await WmProductSalesLineApi.getProductSalesLinePage(queryParams) + list.value = data.list + total.value = data.total } finally { loading.value = false } @@ -204,7 +218,6 @@ const openForm = async (type: string, id?: number) => { lineFormType.value = type resetForm() if (id) { - // TODO @AI:这个是分页接口; formLoading.value = true try { formData.value = await WmProductSalesLineApi.getProductSalesLine(id)