From 432022ef86463d28bf3cc864f8766622dafd9b96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=A1=E9=92=B1?= Date: Mon, 17 Mar 2025 16:02:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=87=87=E8=B4=AD=E5=85=A5?= =?UTF-8?q?=E5=BA=93=EF=BC=8C=E4=BF=AE=E6=94=B9=E5=BF=85=E9=A1=BB=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E4=B8=80=E6=AC=A1=E4=BA=8C=E7=BB=B4=E7=A0=81=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../return/purchasereturnitemsqr/index.ts | 50 ++ src/api/erp/stock/stock/stockqr/index.ts | 42 ++ src/views/erp/purchase/in/PurchaseInForm.vue | 5 + .../purchase/return/PurchaseReturnForm.vue | 13 + .../components/PurchaseReturnItemForm.vue | 435 +++++++++++------- .../erp/stock/stock/stockqr/StockQrForm.vue | 106 +++++ src/views/erp/stock/stock/stockqr/index.vue | 210 +++++++++ 7 files changed, 691 insertions(+), 170 deletions(-) create mode 100644 src/api/erp/purchase/return/purchasereturnitemsqr/index.ts create mode 100644 src/api/erp/stock/stock/stockqr/index.ts create mode 100644 src/views/erp/stock/stock/stockqr/StockQrForm.vue create mode 100644 src/views/erp/stock/stock/stockqr/index.vue 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