From b3f1fdf2ae0fca2214e4bbf790443e304253b5b1 Mon Sep 17 00:00:00 2001 From: chenhao Date: Thu, 27 Nov 2025 11:39:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(approve):=20=E6=96=B0=E5=A2=9E=E9=87=87?= =?UTF-8?q?=E8=B4=AD=E5=8D=95=E5=AE=A1=E6=89=B9=E5=8A=9F=E8=83=BD=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增审批状态枚举类 ApproveStatusEnum - 扩展流程定义配置,增加线上线下订单及采购单审批字段 - 新增流程相关 API 接口,包括待办详情和已完成流程列表查询 - 新增采购单审批页面,支持审批操作、流转历史查看 - 新增采购单历史记录实体类及相关服务接口和 Mapper 实现 - 修改采购单实体类,调整审批状态为字符串类型并新增相关字段 - 更新采购单控制器,增加审批列表、历史记录查询接口 - 增加采购单历史详情抽屉展示功能,支持版本管理 - 优化前端审批状态判断逻辑,统一使用字符串比较 - 新增采购单申请时设置审批状态为"待审核"的功能逻辑 --- oms_web/oms_vue/src/api/flow.js | 19 + oms_web/oms_vue/src/api/sip/purchaseorder.js | 25 ++ .../views/approve/purchaase/approve/index.vue | 288 ++++++++++++++ .../approve/purchaase/approved/index.vue | 11 + .../src/views/project/order/OrderDetail.vue | 5 +- .../components/PurchaseOrderDetailView.vue | 368 ++++++++++++++++++ .../oms_vue/src/views/purchaseorder/index.vue | 63 ++- .../ruoyi/common/config/flow/Definition.java | 4 +- .../ruoyi/common/config/flow/Instance.java | 1 + .../ruoyi/common/enums/ApproveStatusEnum.java | 34 ++ .../ProjectOrderInfoController.java | 4 +- .../vue/OmsPurchaseOrderController.java | 42 ++ .../ruoyi/sip/domain/OmsPurchaseOrder.java | 11 +- .../sip/domain/OmsPurchaseOrderHistory.java | 93 +++++ .../domain/OmsPurchaseOrderItemHistory.java | 57 +++ .../flowable/controller/TodoController.java | 6 + .../com/ruoyi/sip/flowable/domain/Todo.java | 1 + .../flowable/service/TodoCommonTemplate.java | 4 + .../sip/flowable/service/TodoService.java | 10 +- .../service/impl/TodoServiceImpl.java | 55 ++- .../mapper/OmsPurchaseOrderHistoryMapper.java | 45 +++ .../OmsPurchaseOrderItemHistoryMapper.java | 21 + .../sip/mapper/OmsPurchaseOrderMapper.java | 8 + .../IOmsPurchaseOrderHistoryService.java | 36 ++ .../sip/service/IOmsPurchaseOrderService.java | 3 + .../OmsPurchaseOrderHistoryServiceImpl.java | 56 +++ .../impl/OmsPurchaseOrderServiceImpl.java | 159 +++++++- .../impl/ProjectOrderInfoServiceImpl.java | 19 + .../main/resources/mapper/flow/TodoMapper.xml | 43 +- .../sip/OmsPurchaseOrderHistoryMapper.xml | 154 ++++++++ .../sip/OmsPurchaseOrderItemHistoryMapper.xml | 40 ++ .../mapper/sip/OmsPurchaseOrderMapper.xml | 299 ++++++++++++++ 32 files changed, 1936 insertions(+), 48 deletions(-) create mode 100644 oms_web/oms_vue/src/api/flow.js create mode 100644 oms_web/oms_vue/src/views/approve/purchaase/approve/index.vue create mode 100644 oms_web/oms_vue/src/views/approve/purchaase/approved/index.vue create mode 100644 oms_web/oms_vue/src/views/purchaseorder/components/PurchaseOrderDetailView.vue create mode 100644 ruoyi-common/src/main/java/com/ruoyi/common/enums/ApproveStatusEnum.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OmsPurchaseOrderHistory.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OmsPurchaseOrderItemHistory.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OmsPurchaseOrderHistoryMapper.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OmsPurchaseOrderItemHistoryMapper.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOmsPurchaseOrderHistoryService.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsPurchaseOrderHistoryServiceImpl.java create mode 100644 ruoyi-sip/src/main/resources/mapper/sip/OmsPurchaseOrderHistoryMapper.xml create mode 100644 ruoyi-sip/src/main/resources/mapper/sip/OmsPurchaseOrderItemHistoryMapper.xml create mode 100644 ruoyi-sip/src/main/resources/mapper/sip/OmsPurchaseOrderMapper.xml diff --git a/oms_web/oms_vue/src/api/flow.js b/oms_web/oms_vue/src/api/flow.js new file mode 100644 index 00000000..a00310dd --- /dev/null +++ b/oms_web/oms_vue/src/api/flow.js @@ -0,0 +1,19 @@ +import request from '@/utils/request' + +// 查询待办详情 +export function getTodoDetail(query) { + return request({ + url: '/flow/todo/detail', + method: 'post', + data: query + }) +} + +// 查询已完成流程列表 +export function listCompletedFlows(data) { + return request({ + url: '/flow/completed/all/list', + method: 'post', + data: data + }) +} \ No newline at end of file diff --git a/oms_web/oms_vue/src/api/sip/purchaseorder.js b/oms_web/oms_vue/src/api/sip/purchaseorder.js index 228bb04c..b231d716 100644 --- a/oms_web/oms_vue/src/api/sip/purchaseorder.js +++ b/oms_web/oms_vue/src/api/sip/purchaseorder.js @@ -9,6 +9,15 @@ export function listPurchaseorder(query) { }) } +// 查询待审批采购单主表列表 +export function listApprovePurchaseorder(query) { + return request({ + url: '/sip/purchaseorder/approveList', + method: 'get', + params: query + }) +} + // 查询采购单主表详细 export function getPurchaseorder(id) { return request({ @@ -44,6 +53,22 @@ export function applyPurchaseorder(data) { }) } +// 查询采购单历史记录 +export function getPurchaseOrderHistory(purchaseId) { + return request({ + url: '/sip/purchaseorder/history/' + purchaseId, + method: 'get' + }) +} + +// 查询单个采购单历史记录详情 +export function getPurchaseOrderHistoryDetail(id) { + return request({ + url: '/sip/purchaseorder/history/detail/' + id, + method: 'get' + }) +} + // 删除采购单主表 export function delPurchaseorder(id) { return request({ diff --git a/oms_web/oms_vue/src/views/approve/purchaase/approve/index.vue b/oms_web/oms_vue/src/views/approve/purchaase/approve/index.vue new file mode 100644 index 00000000..32edf2f9 --- /dev/null +++ b/oms_web/oms_vue/src/views/approve/purchaase/approve/index.vue @@ -0,0 +1,288 @@ + + + + + diff --git a/oms_web/oms_vue/src/views/approve/purchaase/approved/index.vue b/oms_web/oms_vue/src/views/approve/purchaase/approved/index.vue new file mode 100644 index 00000000..dfc520f8 --- /dev/null +++ b/oms_web/oms_vue/src/views/approve/purchaase/approved/index.vue @@ -0,0 +1,11 @@ + + + diff --git a/oms_web/oms_vue/src/views/project/order/OrderDetail.vue b/oms_web/oms_vue/src/views/project/order/OrderDetail.vue index 416c0920..cd971bd9 100644 --- a/oms_web/oms_vue/src/views/project/order/OrderDetail.vue +++ b/oms_web/oms_vue/src/views/project/order/OrderDetail.vue @@ -96,10 +96,11 @@ diff --git a/oms_web/oms_vue/src/views/purchaseorder/components/PurchaseOrderDetailView.vue b/oms_web/oms_vue/src/views/purchaseorder/components/PurchaseOrderDetailView.vue new file mode 100644 index 00000000..5defb02e --- /dev/null +++ b/oms_web/oms_vue/src/views/purchaseorder/components/PurchaseOrderDetailView.vue @@ -0,0 +1,368 @@ + + + + diff --git a/oms_web/oms_vue/src/views/purchaseorder/index.vue b/oms_web/oms_vue/src/views/purchaseorder/index.vue index 3cc6cc7a..8db29769 100644 --- a/oms_web/oms_vue/src/views/purchaseorder/index.vue +++ b/oms_web/oms_vue/src/views/purchaseorder/index.vue @@ -121,7 +121,7 @@