diff --git a/src/api/erp/purchase/return/purchasereturnitemsqr/index.ts b/src/api/erp/purchase/return/purchasereturnitemsqr/index.ts new file mode 100644 index 000000000..b15646023 --- /dev/null +++ b/src/api/erp/purchase/return/purchasereturnitemsqr/index.ts @@ -0,0 +1,50 @@ +import request from '@/config/axios' + +// ERP 销售退货项二维码 VO +export interface PurchaseReturnItemsQrVO { + id: number // 主键 + qr: string // 二维码 + returnId: number // 采购退货编号 + orderItemId: number // 采购订单项编号 + orderReturnItemId: number // 采购退货单项编号 + warehouseId: number // 仓库编号 + productId: number // 产品编号 + productUnitId: number // 产品单位id + productPrice: number // 产品单价 + taxPercent: number // 税率,百分比 + taxPrice: number // 税额,单位:元 + remark: string // 备注 +} + +// ERP 销售退货项二维码 API +export const PurchaseReturnItemsQrApi = { + // 查询ERP 销售退货项二维码分页 + getPurchaseReturnItemsQrPage: async (params: any) => { + return await request.get({ url: `/erp/purchase-return-items-qr/page`, params }) + }, + + // 查询ERP 销售退货项二维码详情 + getPurchaseReturnItemsQr: async (id: number) => { + return await request.get({ url: `/erp/purchase-return-items-qr/get?id=` + id }) + }, + + // 新增ERP 销售退货项二维码 + createPurchaseReturnItemsQr: async (data: PurchaseReturnItemsQrVO) => { + return await request.post({ url: `/erp/purchase-return-items-qr/create`, data }) + }, + + // 修改ERP 销售退货项二维码 + updatePurchaseReturnItemsQr: async (data: PurchaseReturnItemsQrVO) => { + return await request.put({ url: `/erp/purchase-return-items-qr/update`, data }) + }, + + // 删除ERP 销售退货项二维码 + deletePurchaseReturnItemsQr: async (id: number) => { + return await request.delete({ url: `/erp/purchase-return-items-qr/delete?id=` + id }) + }, + + // 导出ERP 销售退货项二维码 Excel + exportPurchaseReturnItemsQr: async (params) => { + return await request.download({ url: `/erp/purchase-return-items-qr/export-excel`, params }) + } +} \ No newline at end of file diff --git a/src/api/erp/stock/stock/stockqr/index.ts b/src/api/erp/stock/stock/stockqr/index.ts new file mode 100644 index 000000000..c725f3922 --- /dev/null +++ b/src/api/erp/stock/stock/stockqr/index.ts @@ -0,0 +1,42 @@ +import request from '@/config/axios' + +// ERP 产品库存二维码 VO +export interface StockQrVO { + id: number // 编号 + qr: string // 二维码 + productId: number // 产品编号 + warehouseId: number // 仓库编号 +} + +// ERP 产品库存二维码 API +export const StockQrApi = { + // 查询ERP 产品库存二维码分页 + getStockQrPage: async (params: any) => { + return await request.get({ url: `/erp/stock-qr/page`, params }) + }, + + // 查询ERP 产品库存二维码详情 + getStockQr: async (id: number) => { + return await request.get({ url: `/erp/stock-qr/get?id=` + id }) + }, + + // 新增ERP 产品库存二维码 + createStockQr: async (data: StockQrVO) => { + return await request.post({ url: `/erp/stock-qr/create`, data }) + }, + + // 修改ERP 产品库存二维码 + updateStockQr: async (data: StockQrVO) => { + return await request.put({ url: `/erp/stock-qr/update`, data }) + }, + + // 删除ERP 产品库存二维码 + deleteStockQr: async (id: number) => { + return await request.delete({ url: `/erp/stock-qr/delete?id=` + id }) + }, + + // 导出ERP 产品库存二维码 Excel + exportStockQr: async (params) => { + return await request.download({ url: `/erp/stock-qr/export-excel`, params }) + } +} \ No newline at end of file diff --git a/src/views/erp/purchase/in/PurchaseInForm.vue b/src/views/erp/purchase/in/PurchaseInForm.vue index 69290b84f..d1d28c3c7 100644 --- a/src/views/erp/purchase/in/PurchaseInForm.vue +++ b/src/views/erp/purchase/in/PurchaseInForm.vue @@ -238,6 +238,11 @@ const open = async (type: string, id?: number) => { formLoading.value = true try { formData.value = await PurchaseInApi.getPurchaseIn(id) + formData.value.items.forEach((item) => { + if(item.ifQr===0){ + item.qrCodeLineCount = item.count + } + }) } finally { formLoading.value = false } diff --git a/src/views/erp/purchase/return/PurchaseReturnForm.vue b/src/views/erp/purchase/return/PurchaseReturnForm.vue index e37fa09c3..db352909c 100644 --- a/src/views/erp/purchase/return/PurchaseReturnForm.vue +++ b/src/views/erp/purchase/return/PurchaseReturnForm.vue @@ -289,6 +289,19 @@ const submitForm = async () => { // 校验表单 await formRef.value.validate() await itemFormRef.value.validate() + //校验每行的码的数量和入库数量是否一致 + const items = formData.value.items + for (let i = 0; i < items.length; i++) { + const item = items[i] + //先判断本行是否需要一物一码 + if (item.ifQr) { + continue; + } + if (item.qrCodeLineCount !== item.count) { + message.error(`第 ${i + 1} 行的入库数量和码的数量不同`) + return + } + } // 提交请求 formLoading.value = true try { diff --git a/src/views/erp/purchase/return/components/PurchaseReturnItemForm.vue b/src/views/erp/purchase/return/components/PurchaseReturnItemForm.vue index 2d3e8c58b..bad5f0a5d 100644 --- a/src/views/erp/purchase/return/components/PurchaseReturnItemForm.vue +++ b/src/views/erp/purchase/return/components/PurchaseReturnItemForm.vue @@ -1,181 +1,166 @@ \ No newline at end of file diff --git a/src/views/erp/stock/stock/stockqr/index.vue b/src/views/erp/stock/stock/stockqr/index.vue new file mode 100644 index 000000000..324e91193 --- /dev/null +++ b/src/views/erp/stock/stock/stockqr/index.vue @@ -0,0 +1,210 @@ + + + \ No newline at end of file