From dd2a7d99b69c93990c2d287a135b4dfaa9f2c08d Mon Sep 17 00:00:00 2001 From: chenhao Date: Mon, 26 Jan 2026 09:57:21 +0800 Subject: [PATCH 1/7] =?UTF-8?q?fix(inventory):=20=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E5=AF=BC=E5=85=A5SN=E6=95=B0=E6=8D=AE=E6=97=B6=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E8=AE=BE=E7=BD=AE=E6=97=B6=E6=9C=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将isImported状态设置移到下一个DOM更新周期后执行 - 确保表格选择操作完成后再更新导入状态 - 避免因状态设置过早导致的UI更新异常 --- .../views/inventory/outer/components/GenerateDeliveryForm.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/oms_web/oms_vue/src/views/inventory/outer/components/GenerateDeliveryForm.vue b/oms_web/oms_vue/src/views/inventory/outer/components/GenerateDeliveryForm.vue index e3e29281..d03f1f81 100644 --- a/oms_web/oms_vue/src/views/inventory/outer/components/GenerateDeliveryForm.vue +++ b/oms_web/oms_vue/src/views/inventory/outer/components/GenerateDeliveryForm.vue @@ -235,12 +235,14 @@ export default { this.total = this.snList.length; this.queryParams.pageNum = 1; this.queryParams.pageSize = this.total; - this.isImported = true; this.$nextTick(() => { if (this.$refs.snTable) { this.$refs.snTable.clearSelection(); this.$refs.snTable.toggleAllSelection(); this.selectedSnList = this.snList; + this.$nextTick(() => { + this.isImported = true; + }); } }); }).catch(() => { From baa4b52553740f0b73a948f5cbf394a3f1689a92 Mon Sep 17 00:00:00 2001 From: chenhao Date: Mon, 26 Jan 2026 14:20:27 +0800 Subject: [PATCH 2/7] =?UTF-8?q?feat(purchaseorder):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=87=87=E8=B4=AD=E5=8D=95=E5=AF=BC=E5=87=BA=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=B9=B6=E4=BC=98=E5=8C=96=E7=95=8C=E9=9D=A2=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在后端控制器中实现export方法返回AjaxResult并设置审批状态过滤 - 添加exportPurchaseorder API函数用于导出采购订单数据 - 在前端界面添加导出按钮及权限控制 - 修改下载插件中的方法名为download替代name - 修复多个选择组件中的表单提交阻止默认行为 - 优化采购单详情对话框和抽屉组件的属性格式化 - 隐藏采购订单实体类中部分字段的Excel导出注解 - 修正审批时间Excel导出的时间格式化设置 - 更新多个select组件中的键盘事件处理方式 --- oms_web/oms_vue/src/api/sip/purchaseorder.js | 10 +++ oms_web/oms_vue/src/plugins/download.js | 3 +- .../delivery/components/SelectOrder.vue | 2 +- .../src/views/project/info/SelectProject.vue | 2 +- .../oms_vue/src/views/purchaseorder/index.vue | 62 ++++++++++++++----- .../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 | 4 +- .../views/system/product/selectProduct.vue | 2 +- .../src/views/system/role/selectUser.vue | 2 +- .../src/views/system/user/selectUser.vue | 2 +- .../controller/common/CommonController.java | 1 + .../vue/OmsPurchaseOrderController.java | 5 +- .../ruoyi/sip/domain/OmsPurchaseOrder.java | 8 +-- 17 files changed, 76 insertions(+), 37 deletions(-) diff --git a/oms_web/oms_vue/src/api/sip/purchaseorder.js b/oms_web/oms_vue/src/api/sip/purchaseorder.js index 7a62075e..d0a15702 100644 --- a/oms_web/oms_vue/src/api/sip/purchaseorder.js +++ b/oms_web/oms_vue/src/api/sip/purchaseorder.js @@ -106,6 +106,16 @@ export function recallPurchaseorder(id) { method: 'put' }) } +export function exportPurchaseorder(data) { + return request({ + url: '/sip/purchaseorder/export', + method: 'get', + params: data, + // headers: { 'Content-Type': 'multipart/form-data' }, + needLoading: true + + }) +} // 查询已审批采购单主表列表 export function listApprovedPurchaseorder(query) { diff --git a/oms_web/oms_vue/src/plugins/download.js b/oms_web/oms_vue/src/plugins/download.js index 8dc83eaa..ec8b9649 100644 --- a/oms_web/oms_vue/src/plugins/download.js +++ b/oms_web/oms_vue/src/plugins/download.js @@ -9,13 +9,12 @@ const baseURL = process.env.VUE_APP_BASE_API let downloadLoadingInstance export default { - name(name, isDelete = true) { + download(name, isDelete = true) { var url = baseURL + "/common/download?fileName=" + encodeURIComponent(name) + "&delete=" + isDelete axios({ method: 'get', url: url, responseType: 'blob', - headers: { 'Authorization': 'Bearer ' + getToken() } }).then((res) => { const isBlob = blobValidate(res.data) if (isBlob) { diff --git a/oms_web/oms_vue/src/views/manage/delivery/components/SelectOrder.vue b/oms_web/oms_vue/src/views/manage/delivery/components/SelectOrder.vue index 143cf65a..38780bbc 100644 --- a/oms_web/oms_vue/src/views/manage/delivery/components/SelectOrder.vue +++ b/oms_web/oms_vue/src/views/manage/delivery/components/SelectOrder.vue @@ -1,6 +1,6 @@