From d5b8b0ca689773c0ab8a2f11ceb117709abe0d11 Mon Sep 17 00:00:00 2001 From: chenhao Date: Tue, 16 Dec 2025 18:42:34 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat(inventory):=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=E4=B8=BA?= =?UTF-8?q?POST=E8=AF=B7=E6=B1=82=E5=B9=B6=E4=BC=98=E5=8C=96=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将库存信息列表接口从GET改为POST请求 - 更新前端调用方式,使用data传递参数 - 优化后端空列表判断逻辑,避免无效查询 - 修复Vue组件中按钮事件参数传递问题 - 调整退回到货状态变更后的回调逻辑 - 更新本地开发环境后端接口地址配置 - 优化MyBatis XML中集合判空条件表达式 --- oms_web/oms_vue/src/api/inventory/delivery.js | 4 ++-- .../src/views/inventory/outer/components/OuterForm.vue | 6 ++++-- oms_web/oms_vue/src/views/inventory/outer/index.vue | 2 +- oms_web/oms_vue/vue.config.js | 2 +- .../sip/controller/vue/VueInventoryInfoController.java | 4 ++-- .../sip/service/impl/InventoryDeliveryServiceImpl.java | 3 +++ .../main/resources/mapper/inventory/InventoryInfoMapper.xml | 2 +- 7 files changed, 14 insertions(+), 9 deletions(-) diff --git a/oms_web/oms_vue/src/api/inventory/delivery.js b/oms_web/oms_vue/src/api/inventory/delivery.js index b43ced26..386017ad 100644 --- a/oms_web/oms_vue/src/api/inventory/delivery.js +++ b/oms_web/oms_vue/src/api/inventory/delivery.js @@ -74,8 +74,8 @@ export function exportDeliveryDetail(id) { export function listProductSn(query) { return request({ url: '/inventory/info/vue/list', - method: 'get', - params: query + method: 'post', + data: query }) } diff --git a/oms_web/oms_vue/src/views/inventory/outer/components/OuterForm.vue b/oms_web/oms_vue/src/views/inventory/outer/components/OuterForm.vue index 638830bd..4b2ae40e 100644 --- a/oms_web/oms_vue/src/views/inventory/outer/components/OuterForm.vue +++ b/oms_web/oms_vue/src/views/inventory/outer/components/OuterForm.vue @@ -82,7 +82,7 @@ @@ -117,6 +117,7 @@ export default { getOuter(id).then(response => { this.visible = true; this.form = response.data.inventoryOuter; + console.log(this.form) this.productList = response.data.productVoList || []; this.deliveryList = response.data.deliveryList || []; this.showReturn=this.deliveryList.length<=0; @@ -192,7 +193,8 @@ export default { return changeOuterStatus(row.id, status, row.orderCode); }).then(() => { this.$message.success(`${actionText}成功`); - this.getList(); + this.visible=false; + this.$emit('returnSuccess'); }).catch(() => {}); } } diff --git a/oms_web/oms_vue/src/views/inventory/outer/index.vue b/oms_web/oms_vue/src/views/inventory/outer/index.vue index fe3a8136..fd182bb0 100644 --- a/oms_web/oms_vue/src/views/inventory/outer/index.vue +++ b/oms_web/oms_vue/src/views/inventory/outer/index.vue @@ -72,7 +72,7 @@ - + diff --git a/oms_web/oms_vue/vue.config.js b/oms_web/oms_vue/vue.config.js index a87f08b0..5d29444a 100644 --- a/oms_web/oms_vue/vue.config.js +++ b/oms_web/oms_vue/vue.config.js @@ -9,7 +9,7 @@ const CompressionPlugin = require('compression-webpack-plugin') const name = process.env.VUE_APP_TITLE || 'UNISSENSE-OMS' // 网页标题 -const baseUrl = 'http://localhost:28080' // 后端接口 +const baseUrl = 'http://localhost:28081' // 后端接口 const port = process.env.port || process.env.npm_config_port || 80 // 端口 diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/vue/VueInventoryInfoController.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/vue/VueInventoryInfoController.java index c5986a14..1c4b884e 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/vue/VueInventoryInfoController.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/vue/VueInventoryInfoController.java @@ -71,9 +71,9 @@ public class VueInventoryInfoController extends BaseController { List list = productInfoService.listInventory(info); return getDataTable(list); } - @GetMapping("/list") + @PostMapping("/list") @ResponseBody - public TableDataInfo list(InventoryInfo inventoryInfo) + public TableDataInfo list(@RequestBody InventoryInfo inventoryInfo) { if (!inventoryAuthService.authAll()) { diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/InventoryDeliveryServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/InventoryDeliveryServiceImpl.java index 93079cac..4df26d17 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/InventoryDeliveryServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/InventoryDeliveryServiceImpl.java @@ -241,6 +241,9 @@ public class InventoryDeliveryServiceImpl implements IInventoryDeliveryService { public List getNumberInfo(ApiDataQueryDto dto) { List resultList = inventoryDeliveryMapper.listSn(dto); List orderCodeList = resultList.stream().map(DeliveryInfoVo::getOrderCode).collect(Collectors.toList()); + if (CollUtil.isEmpty(orderCodeList)){ + return Collections.emptyList(); + } // 根据订单ID查询合同信息 List projectProductInfos = projectProductInfoService.selectProjectProductInfoListByOrderCode(orderCodeList); diff --git a/ruoyi-sip/src/main/resources/mapper/inventory/InventoryInfoMapper.xml b/ruoyi-sip/src/main/resources/mapper/inventory/InventoryInfoMapper.xml index a3757aec..3bb6171e 100644 --- a/ruoyi-sip/src/main/resources/mapper/inventory/InventoryInfoMapper.xml +++ b/ruoyi-sip/src/main/resources/mapper/inventory/InventoryInfoMapper.xml @@ -39,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and t1.product_sn = #{productSn} - and t1.product_sn in + and t1.product_sn in #{item} From d3832d0ceb3af3dc06dfa2d5b96c115cbcf93bd7 Mon Sep 17 00:00:00 2001 From: chenhao Date: Thu, 18 Dec 2025 19:12:20 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat(inventory):=20=E5=A2=9E=E5=BC=BA?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E5=8D=95=E5=92=8C=E7=9B=B8=E5=85=B3=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E7=9A=84=E5=8A=9F=E8=83=BD=E4=B8=8E=E7=A8=B3=E5=AE=9A?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在多个组件中添加 `:close-on-click-modal="false"` 属性以防止误触关闭 - 设置 `el-drawer` 的 `:wrapper-closable="false"` 来增强用户体验 - 为 GenerateDeliveryForm 中的表格增加 row-key 和 reserve-selection 以支持选择状态保留 - 添加 isInitialLoad 标志优化 SN 列表初始化加载逻辑 - 更新 delivery.js 接口请求头以支持 multipart/form-data 类型数据传输 - 修改 Vue 配置中的后端接口地址从 28081 到 28080 端口 - Java 后端控制器方法参数调整并加入防重复发货注释提醒 - 强化前端产品信息校验逻辑,确保提交前完成所有必填字段 - 统一处理弹窗及抽屉类组件的行为一致性,提升交互体验 --- oms_web/oms_vue/src/api/inventory/delivery.js | 1 + .../oms_vue/src/views/base/vendor/index.vue | 2 +- .../src/views/inventory/delivery/Detail.vue | 2 +- .../src/views/inventory/delivery/index.vue | 2 +- .../inventory/execution/CheckoutDialog.vue | 2 +- .../inventory/execution/OuterDetailDialog.vue | 2 +- .../src/views/inventory/execution/index.vue | 4 ++-- .../src/views/inventory/info/index.vue | 6 +++--- .../src/views/inventory/inner/index.vue | 4 ++-- .../outer/components/GenerateDeliveryForm.vue | 17 +++++++++++------ .../outer/components/OuterDetails.vue | 2 +- .../inventory/outer/components/OuterForm.vue | 2 +- .../project/info/ProjectDetailDrawer.vue | 3 ++- .../src/views/project/info/ProjectForm.vue | 19 +++++++++++++++++++ .../src/views/project/order/OrderDetail.vue | 7 ++++++- .../views/project/order/OrderDetailDrawer.vue | 2 +- .../oms_vue/src/views/project/order/index.vue | 2 +- .../components/PurchaseOrderSelectDialog.vue | 2 +- .../oms_vue/src/views/purchaseorder/index.vue | 3 ++- .../oms_vue/src/views/system/agent/index.vue | 2 +- .../src/views/system/agent/selectAgent.vue | 2 +- .../src/views/system/customer/index.vue | 2 +- .../views/system/customer/selectCustomer.vue | 2 +- .../src/views/system/partner/index.vue | 2 +- .../views/system/partner/selectPartner.vue | 2 +- .../src/views/system/product/index.vue | 2 +- .../views/system/product/selectProduct.vue | 2 +- .../src/views/warehouse/info/index.vue | 4 ++-- .../vue/VueInventoryInfoController.java | 2 +- .../impl/InventoryDeliveryServiceImpl.java | 2 ++ 30 files changed, 71 insertions(+), 37 deletions(-) diff --git a/oms_web/oms_vue/src/api/inventory/delivery.js b/oms_web/oms_vue/src/api/inventory/delivery.js index 386017ad..13ef853b 100644 --- a/oms_web/oms_vue/src/api/inventory/delivery.js +++ b/oms_web/oms_vue/src/api/inventory/delivery.js @@ -75,6 +75,7 @@ export function listProductSn(query) { return request({ url: '/inventory/info/vue/list', method: 'post', + headers: { 'Content-Type': 'multipart/form-data' }, data: query }) } diff --git a/oms_web/oms_vue/src/views/base/vendor/index.vue b/oms_web/oms_vue/src/views/base/vendor/index.vue index 85110c9d..b2a1686f 100644 --- a/oms_web/oms_vue/src/views/base/vendor/index.vue +++ b/oms_web/oms_vue/src/views/base/vendor/index.vue @@ -138,7 +138,7 @@ /> - + diff --git a/oms_web/oms_vue/src/views/inventory/delivery/Detail.vue b/oms_web/oms_vue/src/views/inventory/delivery/Detail.vue index 475334b8..35483689 100644 --- a/oms_web/oms_vue/src/views/inventory/delivery/Detail.vue +++ b/oms_web/oms_vue/src/views/inventory/delivery/Detail.vue @@ -1,5 +1,5 @@