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 }}
+
+
+
+
+
附件信息
+
+
+
+
+ {{ scope.$index + 1 == 1 ? '商务折扣审批' : scope.$index + 1 == 2 ? '合同' : '补充附件' }}
+
+
+
+
+ {{ scope.row.fileName }}
+ {{ file_log_arr[scope.$index] }}
+
+
+
+
+
+
+ 上传
+ 预览
+ 下载
+ 删除
+
+
+
+
+
+
+
暂无合同信息数据。
+
+
+
+
+
+
+
+
@@ -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);
}
/**