diff --git a/oms_web/oms_vue/src/api/project/order.js b/oms_web/oms_vue/src/api/project/order.js index 9381e2f0..9d1b831c 100644 --- a/oms_web/oms_vue/src/api/project/order.js +++ b/oms_web/oms_vue/src/api/project/order.js @@ -51,3 +51,22 @@ export function exportOrder(query) { data: query }) } + +// 删除合同文件 +export function delContractFile(ids) { + return request({ + url: '/project/order/file/remove', + method: 'post', + data: { ids: ids } + }) +} + +// 上传合同文件 +export function uploadContractFile(data) { + return request({ + url: '/project/order/importContractData', + method: 'post', + data: data, + headers: { 'Content-Type': 'multipart/form-data' } + }) +} 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 da7c8c68..cc4f830a 100644 --- a/oms_web/oms_vue/src/views/project/order/OrderDetail.vue +++ b/oms_web/oms_vue/src/views/project/order/OrderDetail.vue @@ -2,7 +2,7 @@
- +
@@ -218,26 +218,133 @@
- +
- - - - - - - +
+ + + + + +

{{ log.approveOpinion }}

+

操作人: {{ log.approveUserName }} ({{ log.roleName }})

+

接收人: {{ log.nextAllApproveUserName }}

+

审批状态: {{ formatApproveStatus(log.approveStatus) }}

+
+
+
+
+
+
暂无流转过程数据。
+
+ + + + + + - +
+
+
+
+
+ 下载模板 +
+ + + +
+

历史订单记录

+ + {{ form.projectName + 'Rev.' + version }} + +
+ +
+

附件信息

+ + + + + + + + + + + + + + +
+
+
+
暂无合同信息数据。
+
+
+ + + + +
+
@@ -256,7 +363,7 @@ diff --git a/oms_web/oms_vue/src/views/project/order/index.vue b/oms_web/oms_vue/src/views/project/order/index.vue index 8f60624f..12ef255d 100644 --- a/oms_web/oms_vue/src/views/project/order/index.vue +++ b/oms_web/oms_vue/src/views/project/order/index.vue @@ -16,7 +16,7 @@ - + diff --git a/oms_web/oms_vue/src/views/system/partner/index.vue b/oms_web/oms_vue/src/views/system/partner/index.vue index 9f8a2884..a0bf9b33 100644 --- a/oms_web/oms_vue/src/views/system/partner/index.vue +++ b/oms_web/oms_vue/src/views/system/partner/index.vue @@ -193,30 +193,32 @@ + - - - + + + + + + + + - - - - - + - - - - - + + + + + diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/vue/VueProjectOrderInfoController.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/vue/VueProjectOrderInfoController.java index 437d4fa0..2217068d 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/vue/VueProjectOrderInfoController.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/vue/VueProjectOrderInfoController.java @@ -1,5 +1,6 @@ package com.ruoyi.sip.controller.vue; +import cn.hutool.core.collection.CollUtil; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -7,14 +8,20 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.sip.domain.ProjectOrderFileLog; import com.ruoyi.sip.domain.ProjectOrderInfo; +import com.ruoyi.sip.flowable.domain.Todo; +import com.ruoyi.sip.flowable.service.TodoService; +import com.ruoyi.sip.service.IProjectOrderFileLogService; import com.ruoyi.sip.service.IProjectOrderInfoService; import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 订单管理 (Vue) @@ -28,7 +35,10 @@ public class VueProjectOrderInfoController extends BaseController { @Autowired private IProjectOrderInfoService projectOrderInfoService; - + @Autowired + private TodoService todoService; + @Autowired + private IProjectOrderFileLogService projectOrderFileLogService; /** * 查询订单管理列表 */ @@ -49,7 +59,35 @@ public class VueProjectOrderInfoController extends BaseController { @RequiresPermissions("project:order:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { - return AjaxResult.success(projectOrderInfoService.selectProjectOrderInfoById(id)); + Map mmap=new HashMap<>(); + ProjectOrderInfo projectOrderInfo = projectOrderInfoService.selectProjectOrderInfoById(id); + mmap.put("projectOrderInfo", projectOrderInfo); + mmap.put("user", ShiroUtils.getSysUser()); + mmap.put("canUpdate", ProjectOrderInfo.OrderStatus.WAIT_COMMIT.getCode().equals(projectOrderInfo.getOrderStatus()) ||ProjectOrderInfo.OrderStatus.APPROVE_REJECT.getCode().equals(projectOrderInfo.getOrderStatus())); +// boolean showFileFlag=!ProjectOrderInfo.OrderStatus.WAIT_COMMIT.getCode().equals(projectOrderInfo.getOrderStatus()) +// && !ProjectOrderInfo.OrderStatus.APPROVE_REJECT.getCode().equals(projectOrderInfo.getOrderStatus()) +// && !"1".equals(projectOrderInfo.getProcessTemplate()); + mmap.put("showFileFlag", true); + + ProjectOrderFileLog fileLog = new ProjectOrderFileLog(); + fileLog.setOrderId(projectOrderInfo.getId()); + fileLog.setFileType(ProjectOrderFileLog.FileTypeEnum.CONTRACT_BAK.getCode()); + mmap.put("orderBakFile", projectOrderFileLogService.mapBakFile(fileLog)); + Todo todo = new Todo(); + todo.setBusinessKey(projectOrderInfo.getOrderCode()); + List todoCompletedList = todoService.selectTodoCompletedList(todo); + mmap.put("approveLog", todoCompletedList); + //判断商务角色 并且是产品或自己审批 + boolean updateFlag = CollUtil.isNotEmpty(todoCompletedList) && ProjectOrderInfo.OrderStatus.WAIT_APPROVE.getCode().equals(projectOrderInfo.getOrderStatus()) ? + ("产品经理".equals(todoCompletedList.get(0).getTaskName()) || "售前".equals(todoCompletedList.get(0).getTaskName())) + : (boolean) mmap.get("canUpdate"); + mmap.put("updateFile", (ShiroUtils.getSubject().hasRole("sale_assistant")||ShiroUtils.getSubject().hasRole("business") ||ShiroUtils.getSysUser().isAdmin()) && updateFlag); + mmap.put("uploadFinalFile", (ShiroUtils.getSubject().hasRole("business") || ShiroUtils.getSysUser().isAdmin()) && + ProjectOrderInfo.OrderStatus.APPROVE_COMPLETE.getCode().equals(projectOrderInfo.getOrderStatus())); + + + + return AjaxResult.success(mmap); } /**