瀏覽代碼

11482-【CR】【投资系统】增加审批流程-导出和可申请列表接口

hxy 1 月之前
父節點
當前提交
8e3f7384e7
共有 37 個文件被更改,包括 1148 次插入300 次删除
  1. 0 10
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectInvestigateController.java
  2. 137 6
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ApprovalController.java
  3. 137 8
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/DecisionController.java
  4. 136 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/InvestigateController.java
  5. 159 30
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/InvestmentOpportunityController.java
  6. 118 8
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/TerminationController.java
  7. 0 1
      ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/IApprovalService.java
  8. 6 6
      ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/IInvestmentOpportunityService.java
  9. 1 1
      ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/DecisionServiceImpl.java
  10. 15 13
      ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/InvestmentOpportunityServiceImpl.java
  11. 0 1
      ruoyi-system/src/main/java/com/ruoyi/invest/domain/vo/ProjectApprovalVo.java
  12. 0 1
      ruoyi-system/src/main/java/com/ruoyi/invest/domain/vo/ProjectDecisionVo.java
  13. 0 1
      ruoyi-system/src/main/java/com/ruoyi/invest/domain/vo/ProjectInvestigateVo.java
  14. 0 1
      ruoyi-system/src/main/java/com/ruoyi/invest/domain/vo/ProjectTerminationVo.java
  15. 0 2
      ruoyi-system/src/main/java/com/ruoyi/invest/mapper/ApprovalMapper.java
  16. 8 9
      ruoyi-system/src/main/java/com/ruoyi/invest/mapper/InvestmentOpportunityMapper.java
  17. 5 5
      ruoyi-system/src/main/resources/mapper/invest/ApprovalMapper.xml
  18. 1 0
      ruoyi-system/src/main/resources/mapper/invest/DecisionMapper.xml
  19. 1 0
      ruoyi-system/src/main/resources/mapper/invest/InvestigateMapper.xml
  20. 47 77
      ruoyi-system/src/main/resources/mapper/invest/InvestmentOpportunityMapper.xml
  21. 1 0
      ruoyi-system/src/main/resources/mapper/invest/TerminationMapper.xml
  22. 8 0
      ruoyi-ui/src/api/project/approval/pool.js
  23. 9 0
      ruoyi-ui/src/api/project/decision/pool.js
  24. 3 18
      ruoyi-ui/src/api/project/investOpp/pool.js
  25. 9 0
      ruoyi-ui/src/api/project/investigate/pool.js
  26. 9 8
      ruoyi-ui/src/api/project/termination/pool.js
  27. 2 2
      ruoyi-ui/src/permission.js
  28. 49 11
      ruoyi-ui/src/views/project/approval/myTask.vue
  29. 49 11
      ruoyi-ui/src/views/project/decision/myTask.vue
  30. 1 1
      ruoyi-ui/src/views/project/investOpp/detail.vue
  31. 48 12
      ruoyi-ui/src/views/project/investOpp/myTask.vue
  32. 6 2
      ruoyi-ui/src/views/project/investigate/dueDiligenceList.vue
  33. 49 11
      ruoyi-ui/src/views/project/investigate/myTask.vue
  34. 13 4
      ruoyi-ui/src/views/project/termination/terminationList.vue
  35. 19 10
      ruoyi-ui/src/views/project/termination/watchList.vue
  36. 53 19
      ruoyi-ui/src/views/project/meetingList.vue
  37. 49 11
      ruoyi-ui/src/views/project/termination/myTask.vue

+ 0 - 10
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectInvestigateController.java

@@ -1,26 +1,16 @@
 package com.ruoyi.web.controller.invest;
 
-import java.io.IOException;
 import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.enums.FileType;
 import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.sms.SmsSenderUtils;
-import com.ruoyi.common.utils.uuid.IdUtils;
 import com.ruoyi.invest.domain.*;
 import com.ruoyi.invest.domain.dto.InvestDto;
-import com.ruoyi.invest.service.ITProjectCirculationService;
-import com.ruoyi.invest.service.ITProjectPoolService;
-import com.ruoyi.system.domain.vo.TProjectPoolVo;
-import com.ruoyi.system.service.ISysUserService;
-import com.ruoyi.tool.domain.TUnifyFile;
 import com.ruoyi.tool.service.ITUnifyFileService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;

+ 137 - 6
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ApprovalController.java

@@ -7,15 +7,15 @@ import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.flowable.service.IApprovalService;
+import com.ruoyi.flowable.service.IInvestmentOpportunityService;
 import com.ruoyi.invest.domain.*;
 import com.ruoyi.invest.domain.dto.ApprovalDto;
 import com.ruoyi.invest.domain.vo.ProjectApprovalVo;
-import com.ruoyi.invest.service.ITProjectCirculationService;
-import com.ruoyi.invest.service.ITProjectCompanyService;
-import com.ruoyi.invest.service.ITProjectContactsService;
-import com.ruoyi.invest.service.ITProjectPoolService;
-import com.ruoyi.tool.service.ITUnifyFileService;
+import com.ruoyi.invest.domain.vo.TProjectPoolVo;
+import com.ruoyi.invest.service.*;
+import com.ruoyi.system.service.ISysDictDataService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -23,7 +23,9 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 项目立项Controller
@@ -37,10 +39,19 @@ import java.util.List;
 public class ApprovalController extends BaseController {
     @Autowired
     private IApprovalService approvalService;
+    @Autowired
+    private IInvestmentOpportunityService investmentOpportunityService;
+    @Autowired
+    private ITProjectMeetingService tProjectMeetingService;
+
+    @Autowired
+    private ITProjectScoringService tProjectScoringService;
+    @Autowired
+    private ISysDictDataService dictDataService;
+    //项目立项阶段列表
 
     //所有项目立项流程列表
     @ApiOperation("所有项目立项流程列表")
-    @PreAuthorize("@ss.hasPermi('invest:pool:list')")
     @GetMapping("/listAll")
     public TableDataInfo listAll(TProjectApproval tProjectApproval)
     {
@@ -133,7 +144,127 @@ public class ApprovalController extends BaseController {
         List<ProjectApprovalVo> list=approvalService.getMyList(getUserId().toString(),tProjectApproval);
         return getDataTable(list);
     }
+    /**
+     * 导出我的已办任务列表
+     */
+    @ApiOperation("导出我的待办任务列表")
+    @Log(title = "我的待办任务列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportMyTask")
+    public void exportMyTask(HttpServletResponse response, TProjectPool tProjectPool)
+    {
+        List<TProjectPoolVo> list=investmentOpportunityService.getMyTaskList(getUserId().toString(),tProjectPool)
+                .stream().map(n -> {
+                    if(null != n.gettProjectChannel()){
+                        n.setChannel(n.gettProjectChannel().getChannelName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(null != n.gettProjectCompany()){
+                        n.setCompany(n.gettProjectCompany().getCompanyName());
+                    }
+                    if(null != n.gettProjectContacts()){
+                        n.setProjectContacts(n.gettProjectContacts().getName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getInvestType()))n.setInvestType(dictDataService.selectDictLabel("INVEST_TYPE",n.getInvestType()));
+                    if(StringUtils.isNotEmpty(n.getInvestPloy()))n.setInvestPloy(dictDataService.selectDictLabel("INVEST_PLOY",n.getInvestPloy()));
+                    if(StringUtils.isNotEmpty(n.getInvestWorth()))n.setInvestWorth(dictDataService.selectDictLabel("INVEST_WORTH",n.getInvestWorth()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<TProjectPoolVo> util = new ExcelUtil<TProjectPoolVo>(TProjectPoolVo.class);
+        util.exportExcel(response, list, "我的待办任务数据");
+    }
 
+    /**
+     * 导出我的已办任务列表
+     */
+    @ApiOperation("导出我的已办任务列表")
+    @Log(title = "我的已办任务列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportMyDoneTask")
+    public void exportMyDoneTask(HttpServletResponse response, TProjectPool tProjectPool)
+    {
+        List<TProjectPoolVo> list=investmentOpportunityService.getMyDoneTaskList(getUserId().toString(),tProjectPool)
+                .stream().map(n -> {
+                    if(null != n.gettProjectChannel()){
+                        n.setChannel(n.gettProjectChannel().getChannelName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(null != n.gettProjectCompany()){
+                        n.setCompany(n.gettProjectCompany().getCompanyName());
+                    }
+                    if(null != n.gettProjectContacts()){
+                        n.setProjectContacts(n.gettProjectContacts().getName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getInvestType()))n.setInvestType(dictDataService.selectDictLabel("INVEST_TYPE",n.getInvestType()));
+                    if(StringUtils.isNotEmpty(n.getInvestPloy()))n.setInvestPloy(dictDataService.selectDictLabel("INVEST_PLOY",n.getInvestPloy()));
+                    if(StringUtils.isNotEmpty(n.getInvestWorth()))n.setInvestWorth(dictDataService.selectDictLabel("INVEST_WORTH",n.getInvestWorth()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<TProjectPoolVo> util = new ExcelUtil<TProjectPoolVo>(TProjectPoolVo.class);
+        util.exportExcel(response, list, "我的已办任务数据");
+    }
+    /**
+     * 导出我的单据列表
+     */
+    @ApiOperation("导出我的单据列表")
+    @Log(title = "我的单据列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportMy")
+    public void exportMy(HttpServletResponse response, TProjectPool tProjectPool)
+    {
+        List<TProjectPoolVo> list=investmentOpportunityService.getMyList(getUserId().toString(),tProjectPool)
+                .stream().map(n -> {
+                    if(null != n.gettProjectChannel()){
+                        n.setChannel(n.gettProjectChannel().getChannelName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(null != n.gettProjectCompany()){
+                        n.setCompany(n.gettProjectCompany().getCompanyName());
+                    }
+                    if(null != n.gettProjectContacts()){
+                        n.setProjectContacts(n.gettProjectContacts().getName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getInvestType()))n.setInvestType(dictDataService.selectDictLabel("INVEST_TYPE",n.getInvestType()));
+                    if(StringUtils.isNotEmpty(n.getInvestPloy()))n.setInvestPloy(dictDataService.selectDictLabel("INVEST_PLOY",n.getInvestPloy()));
+                    if(StringUtils.isNotEmpty(n.getInvestWorth()))n.setInvestWorth(dictDataService.selectDictLabel("INVEST_WORTH",n.getInvestWorth()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<TProjectPoolVo> util = new ExcelUtil<TProjectPoolVo>(TProjectPoolVo.class);
+        util.exportExcel(response, list, "我的单据数据");
+    }
     /**
      * 获取项目池详细信息
      */

+ 137 - 8
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/DecisionController.java

@@ -6,18 +6,15 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.flowable.service.IApprovalService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.flowable.service.IDecisionService;
+import com.ruoyi.flowable.service.IInvestmentOpportunityService;
 import com.ruoyi.invest.domain.*;
-import com.ruoyi.invest.domain.dto.ApprovalDto;
 import com.ruoyi.invest.domain.dto.DecisionDto;
-import com.ruoyi.invest.domain.vo.ProjectApprovalVo;
 import com.ruoyi.invest.domain.vo.ProjectDecisionVo;
-import com.ruoyi.invest.service.ITProjectCirculationService;
-import com.ruoyi.invest.service.ITProjectCompanyService;
-import com.ruoyi.invest.service.ITProjectContactsService;
-import com.ruoyi.invest.service.ITProjectPoolService;
-import com.ruoyi.tool.service.ITUnifyFileService;
+import com.ruoyi.invest.domain.vo.TProjectPoolVo;
+import com.ruoyi.invest.service.*;
+import com.ruoyi.system.service.ISysDictDataService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,7 +22,9 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 项目立项Controller
@@ -39,6 +38,15 @@ import java.util.List;
 public class DecisionController extends BaseController {
     @Autowired
     private IDecisionService decisionService;
+    @Autowired
+    private IInvestmentOpportunityService investmentOpportunityService;
+    @Autowired
+    private ITProjectMeetingService tProjectMeetingService;
+
+    @Autowired
+    private ITProjectScoringService tProjectScoringService;
+    @Autowired
+    private ISysDictDataService dictDataService;
     //所有项目投决流程列表
     @ApiOperation("所有项目投决流程列表")
     @PreAuthorize("@ss.hasPermi('invest:pool:list')")
@@ -133,6 +141,127 @@ public class DecisionController extends BaseController {
         List<ProjectDecisionVo> list=decisionService.getMyList(getUserId().toString(),tProjectDecision);
         return getDataTable(list);
     }
+    /**
+     * 导出我的已办任务列表
+     */
+    @ApiOperation("导出我的待办任务列表")
+    @Log(title = "我的待办任务列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportMyTask")
+    public void exportMyTask(HttpServletResponse response, TProjectPool tProjectPool)
+    {
+        List<TProjectPoolVo> list=investmentOpportunityService.getMyTaskList(getUserId().toString(),tProjectPool)
+                .stream().map(n -> {
+                    if(null != n.gettProjectChannel()){
+                        n.setChannel(n.gettProjectChannel().getChannelName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(null != n.gettProjectCompany()){
+                        n.setCompany(n.gettProjectCompany().getCompanyName());
+                    }
+                    if(null != n.gettProjectContacts()){
+                        n.setProjectContacts(n.gettProjectContacts().getName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getInvestType()))n.setInvestType(dictDataService.selectDictLabel("INVEST_TYPE",n.getInvestType()));
+                    if(StringUtils.isNotEmpty(n.getInvestPloy()))n.setInvestPloy(dictDataService.selectDictLabel("INVEST_PLOY",n.getInvestPloy()));
+                    if(StringUtils.isNotEmpty(n.getInvestWorth()))n.setInvestWorth(dictDataService.selectDictLabel("INVEST_WORTH",n.getInvestWorth()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<TProjectPoolVo> util = new ExcelUtil<TProjectPoolVo>(TProjectPoolVo.class);
+        util.exportExcel(response, list, "我的待办任务数据");
+    }
+
+    /**
+     * 导出我的已办任务列表
+     */
+    @ApiOperation("导出我的已办任务列表")
+    @Log(title = "我的已办任务列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportMyDoneTask")
+    public void exportMyDoneTask(HttpServletResponse response, TProjectPool tProjectPool)
+    {
+        List<TProjectPoolVo> list=investmentOpportunityService.getMyDoneTaskList(getUserId().toString(),tProjectPool)
+                .stream().map(n -> {
+                    if(null != n.gettProjectChannel()){
+                        n.setChannel(n.gettProjectChannel().getChannelName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(null != n.gettProjectCompany()){
+                        n.setCompany(n.gettProjectCompany().getCompanyName());
+                    }
+                    if(null != n.gettProjectContacts()){
+                        n.setProjectContacts(n.gettProjectContacts().getName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getInvestType()))n.setInvestType(dictDataService.selectDictLabel("INVEST_TYPE",n.getInvestType()));
+                    if(StringUtils.isNotEmpty(n.getInvestPloy()))n.setInvestPloy(dictDataService.selectDictLabel("INVEST_PLOY",n.getInvestPloy()));
+                    if(StringUtils.isNotEmpty(n.getInvestWorth()))n.setInvestWorth(dictDataService.selectDictLabel("INVEST_WORTH",n.getInvestWorth()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<TProjectPoolVo> util = new ExcelUtil<TProjectPoolVo>(TProjectPoolVo.class);
+        util.exportExcel(response, list, "我的已办任务数据");
+    }
+    /**
+     * 导出我的单据列表
+     */
+    @ApiOperation("导出我的单据列表")
+    @Log(title = "我的单据列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportMy")
+    public void exportMy(HttpServletResponse response, TProjectPool tProjectPool)
+    {
+        List<TProjectPoolVo> list=investmentOpportunityService.getMyList(getUserId().toString(),tProjectPool)
+                .stream().map(n -> {
+                    if(null != n.gettProjectChannel()){
+                        n.setChannel(n.gettProjectChannel().getChannelName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(null != n.gettProjectCompany()){
+                        n.setCompany(n.gettProjectCompany().getCompanyName());
+                    }
+                    if(null != n.gettProjectContacts()){
+                        n.setProjectContacts(n.gettProjectContacts().getName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getInvestType()))n.setInvestType(dictDataService.selectDictLabel("INVEST_TYPE",n.getInvestType()));
+                    if(StringUtils.isNotEmpty(n.getInvestPloy()))n.setInvestPloy(dictDataService.selectDictLabel("INVEST_PLOY",n.getInvestPloy()));
+                    if(StringUtils.isNotEmpty(n.getInvestWorth()))n.setInvestWorth(dictDataService.selectDictLabel("INVEST_WORTH",n.getInvestWorth()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<TProjectPoolVo> util = new ExcelUtil<TProjectPoolVo>(TProjectPoolVo.class);
+        util.exportExcel(response, list, "我的单据数据");
+    }
 
     /**
      * 获取项目池详细信息

+ 136 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/InvestigateController.java

@@ -6,10 +6,15 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.flowable.service.IInvestigateService;
+import com.ruoyi.flowable.service.IInvestmentOpportunityService;
 import com.ruoyi.invest.domain.*;
 import com.ruoyi.invest.domain.dto.InvestigateDto;
 import com.ruoyi.invest.domain.vo.ProjectInvestigateVo;
+import com.ruoyi.invest.domain.vo.TProjectPoolVo;
+import com.ruoyi.invest.service.*;
+import com.ruoyi.system.service.ISysDictDataService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,7 +22,9 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 尽职背调Controller
@@ -31,6 +38,15 @@ import java.util.List;
 public class InvestigateController extends BaseController {
     @Autowired
     private IInvestigateService investigateService;
+    @Autowired
+    private IInvestmentOpportunityService investmentOpportunityService;
+    @Autowired
+    private ITProjectInvestigateService tProjectInvestigateService;
+
+    @Autowired
+    private ITProjectInvestigatePersonService tProjectInvestigatePersonService;
+    @Autowired
+    private ISysDictDataService dictDataService;
 
     //所有尽职背调流程列表
     @ApiOperation("所有尽职背调流程列表")
@@ -127,7 +143,127 @@ public class InvestigateController extends BaseController {
         List<ProjectInvestigateVo> list=investigateService.getMyList(getUserId().toString(),tProjectInvestigate);
         return getDataTable(list);
     }
+    /**
+     * 导出我的已办任务列表
+     */
+    @ApiOperation("导出我的待办任务列表")
+    @Log(title = "我的待办任务列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportMyTask")
+    public void exportMyTask(HttpServletResponse response, TProjectPool tProjectPool)
+    {
+        List<TProjectPoolVo> list=investmentOpportunityService.getMyTaskList(getUserId().toString(),tProjectPool)
+                .stream().map(n -> {
+                    if(null != n.gettProjectChannel()){
+                        n.setChannel(n.gettProjectChannel().getChannelName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(null != n.gettProjectCompany()){
+                        n.setCompany(n.gettProjectCompany().getCompanyName());
+                    }
+                    if(null != n.gettProjectContacts()){
+                        n.setProjectContacts(n.gettProjectContacts().getName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getInvestType()))n.setInvestType(dictDataService.selectDictLabel("INVEST_TYPE",n.getInvestType()));
+                    if(StringUtils.isNotEmpty(n.getInvestPloy()))n.setInvestPloy(dictDataService.selectDictLabel("INVEST_PLOY",n.getInvestPloy()));
+                    if(StringUtils.isNotEmpty(n.getInvestWorth()))n.setInvestWorth(dictDataService.selectDictLabel("INVEST_WORTH",n.getInvestWorth()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<TProjectPoolVo> util = new ExcelUtil<TProjectPoolVo>(TProjectPoolVo.class);
+        util.exportExcel(response, list, "我的待办任务数据");
+    }
 
+    /**
+     * 导出我的已办任务列表
+     */
+    @ApiOperation("导出我的已办任务列表")
+    @Log(title = "我的已办任务列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportMyDoneTask")
+    public void exportMyDoneTask(HttpServletResponse response, TProjectPool tProjectPool)
+    {
+        List<TProjectPoolVo> list=investmentOpportunityService.getMyDoneTaskList(getUserId().toString(),tProjectPool)
+                .stream().map(n -> {
+                    if(null != n.gettProjectChannel()){
+                        n.setChannel(n.gettProjectChannel().getChannelName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(null != n.gettProjectCompany()){
+                        n.setCompany(n.gettProjectCompany().getCompanyName());
+                    }
+                    if(null != n.gettProjectContacts()){
+                        n.setProjectContacts(n.gettProjectContacts().getName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getInvestType()))n.setInvestType(dictDataService.selectDictLabel("INVEST_TYPE",n.getInvestType()));
+                    if(StringUtils.isNotEmpty(n.getInvestPloy()))n.setInvestPloy(dictDataService.selectDictLabel("INVEST_PLOY",n.getInvestPloy()));
+                    if(StringUtils.isNotEmpty(n.getInvestWorth()))n.setInvestWorth(dictDataService.selectDictLabel("INVEST_WORTH",n.getInvestWorth()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<TProjectPoolVo> util = new ExcelUtil<TProjectPoolVo>(TProjectPoolVo.class);
+        util.exportExcel(response, list, "我的已办任务数据");
+    }
+    /**
+     * 导出我的单据列表
+     */
+    @ApiOperation("导出我的单据列表")
+    @Log(title = "我的单据列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportMy")
+    public void exportMy(HttpServletResponse response, TProjectPool tProjectPool)
+    {
+        List<TProjectPoolVo> list=investmentOpportunityService.getMyList(getUserId().toString(),tProjectPool)
+                .stream().map(n -> {
+                    if(null != n.gettProjectChannel()){
+                        n.setChannel(n.gettProjectChannel().getChannelName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(null != n.gettProjectCompany()){
+                        n.setCompany(n.gettProjectCompany().getCompanyName());
+                    }
+                    if(null != n.gettProjectContacts()){
+                        n.setProjectContacts(n.gettProjectContacts().getName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getInvestType()))n.setInvestType(dictDataService.selectDictLabel("INVEST_TYPE",n.getInvestType()));
+                    if(StringUtils.isNotEmpty(n.getInvestPloy()))n.setInvestPloy(dictDataService.selectDictLabel("INVEST_PLOY",n.getInvestPloy()));
+                    if(StringUtils.isNotEmpty(n.getInvestWorth()))n.setInvestWorth(dictDataService.selectDictLabel("INVEST_WORTH",n.getInvestWorth()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<TProjectPoolVo> util = new ExcelUtil<TProjectPoolVo>(TProjectPoolVo.class);
+        util.exportExcel(response, list, "我的单据数据");
+    }
     /**
      * 获取项目池详细信息
      */

+ 159 - 30
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/InvestmentOpportunityController.java

@@ -6,11 +6,14 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.enums.FileType;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.flowable.service.IInvestmentOpportunityService;
 import com.ruoyi.invest.domain.*;
 import com.ruoyi.invest.domain.dto.InvestDto;
 import com.ruoyi.invest.service.*;
-import com.ruoyi.system.domain.vo.TProjectPoolVo;
+import com.ruoyi.invest.domain.vo.TProjectPoolVo;
+import com.ruoyi.system.service.ISysDictDataService;
 import com.ruoyi.tool.service.ITUnifyFileService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -19,7 +22,9 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 项目池Controller
@@ -41,36 +46,13 @@ public class InvestmentOpportunityController extends BaseController
     @Autowired
     private ITProjectContactsService tProjectContactsService;
 
-    @Autowired
-    private ITProjectCirculationService tProjectCirculationService;
-
     @Autowired
     private ITUnifyFileService tUnifyFileService;
 
     @Autowired
     private ITProjectPoolService tProjectPoolService;
-    //所有项目观望列表
-    @ApiOperation("所有项目观望列表")
-    @PreAuthorize("@ss.hasPermi('invest:pool:list')")
-    @GetMapping("/allWatchlist")
-    public TableDataInfo allWatchlist(TProjectPool tProjectPool)
-    {
-        startPage();
-        List<TProjectPoolVo> list=investmentOpportunityService.selectAllWatchList(tProjectPool);
-        return getDataTable(list);
-    }
-    /**
-     * 查询所有项目终止列表
-     */
-    @ApiOperation("查询所有项目终止列表")
-    @PreAuthorize("@ss.hasPermi('invest:pool:list')")
-    @GetMapping("/allTerminationList")
-    public TableDataInfo allTerminationList(TProjectPool tProjectPool)
-    {
-        startPage();
-        List<TProjectPoolVo> list=investmentOpportunityService.selectAllTerminationList(tProjectPool);
-        return getDataTable(list);
-    }
+    @Autowired
+    private ISysDictDataService dictDataService;
 
     /**
      * 查询所有投资机会流程
@@ -84,7 +66,37 @@ public class InvestmentOpportunityController extends BaseController
         List<TProjectPoolVo> list=investmentOpportunityService.selectAllInvestmentOpportunityList(tProjectPool);
         return getDataTable(list);
     }
-
+    /**
+     * 导出所有投资机会流程列表
+     */
+    @ApiOperation("导出所有投资机会流程列表")
+    @Log(title = "所有投资机会流程列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TProjectPool tProjectPool)
+    {
+        List<TProjectPoolVo> list=investmentOpportunityService.selectAllInvestmentOpportunityList(tProjectPool)
+                .stream().map(n -> {
+                    if(null != n.gettProjectChannel()){
+                        n.setChannel(n.gettProjectChannel().getChannelName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(null != n.gettProjectCompany()){
+                        n.setCompany(n.gettProjectCompany().getCompanyName());
+                    }
+                    if(null != n.gettProjectContacts()){
+                        n.setProjectContacts(n.gettProjectContacts().getName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getInvestType()))n.setInvestType(dictDataService.selectDictLabel("INVEST_TYPE",n.getInvestType()));
+                    if(StringUtils.isNotEmpty(n.getInvestPloy()))n.setInvestPloy(dictDataService.selectDictLabel("INVEST_PLOY",n.getInvestPloy()));
+                    if(StringUtils.isNotEmpty(n.getInvestWorth()))n.setInvestWorth(dictDataService.selectDictLabel("INVEST_WORTH",n.getInvestWorth()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<TProjectPoolVo> util = new ExcelUtil<TProjectPoolVo>(TProjectPoolVo.class);
+        util.exportExcel(response, list, "所有投资机会流程数据");
+    }
     //我的待办任务
     @ApiOperation("我的待办任务列表")
     @PreAuthorize("@ss.hasPermi('invest:pool:list')")
@@ -92,7 +104,6 @@ public class InvestmentOpportunityController extends BaseController
     public TableDataInfo getMyTaskList(TProjectPool tProjectPool)
     {
         startPage();
-        //tProjectPool.setProjectStage("1");
         List<TProjectPoolVo> list=investmentOpportunityService.getMyTaskList(getUserId().toString(),tProjectPool);
         return getDataTable(list);
     }
@@ -103,7 +114,6 @@ public class InvestmentOpportunityController extends BaseController
     public TableDataInfo getMyDoneTaskList(TProjectPool tProjectPool)
     {
         startPage();
-        //tProjectPool.setProjectStage("1");
         List<TProjectPoolVo> list=investmentOpportunityService.getMyDoneTaskList(getUserId().toString(),tProjectPool);
         return getDataTable(list);
     }
@@ -114,11 +124,130 @@ public class InvestmentOpportunityController extends BaseController
     public TableDataInfo getMyList(TProjectPool tProjectPool)
     {
         startPage();
-        //tProjectPool.setProjectStage("1");
         List<TProjectPoolVo> list=investmentOpportunityService.getMyList(getUserId().toString(),tProjectPool);
         return getDataTable(list);
     }
+    /**
+     * 导出我的已办任务列表
+     */
+    @ApiOperation("导出我的待办任务列表")
+    @Log(title = "我的待办任务列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportMyTask")
+    public void exportMyTask(HttpServletResponse response, TProjectPool tProjectPool)
+    {
+        List<TProjectPoolVo> list=investmentOpportunityService.getMyTaskList(getUserId().toString(),tProjectPool)
+                .stream().map(n -> {
+                    if(null != n.gettProjectChannel()){
+                        n.setChannel(n.gettProjectChannel().getChannelName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(null != n.gettProjectCompany()){
+                        n.setCompany(n.gettProjectCompany().getCompanyName());
+                    }
+                    if(null != n.gettProjectContacts()){
+                        n.setProjectContacts(n.gettProjectContacts().getName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getInvestType()))n.setInvestType(dictDataService.selectDictLabel("INVEST_TYPE",n.getInvestType()));
+                    if(StringUtils.isNotEmpty(n.getInvestPloy()))n.setInvestPloy(dictDataService.selectDictLabel("INVEST_PLOY",n.getInvestPloy()));
+                    if(StringUtils.isNotEmpty(n.getInvestWorth()))n.setInvestWorth(dictDataService.selectDictLabel("INVEST_WORTH",n.getInvestWorth()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<TProjectPoolVo> util = new ExcelUtil<TProjectPoolVo>(TProjectPoolVo.class);
+        util.exportExcel(response, list, "我的待办任务数据");
+    }
 
+    /**
+     * 导出我的已办任务列表
+     */
+    @ApiOperation("导出我的已办任务列表")
+    @Log(title = "我的已办任务列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportMyDoneTask")
+    public void exportMyDoneTask(HttpServletResponse response, TProjectPool tProjectPool)
+    {
+        List<TProjectPoolVo> list=investmentOpportunityService.getMyDoneTaskList(getUserId().toString(),tProjectPool)
+                .stream().map(n -> {
+                    if(null != n.gettProjectChannel()){
+                        n.setChannel(n.gettProjectChannel().getChannelName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(null != n.gettProjectCompany()){
+                        n.setCompany(n.gettProjectCompany().getCompanyName());
+                    }
+                    if(null != n.gettProjectContacts()){
+                        n.setProjectContacts(n.gettProjectContacts().getName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getInvestType()))n.setInvestType(dictDataService.selectDictLabel("INVEST_TYPE",n.getInvestType()));
+                    if(StringUtils.isNotEmpty(n.getInvestPloy()))n.setInvestPloy(dictDataService.selectDictLabel("INVEST_PLOY",n.getInvestPloy()));
+                    if(StringUtils.isNotEmpty(n.getInvestWorth()))n.setInvestWorth(dictDataService.selectDictLabel("INVEST_WORTH",n.getInvestWorth()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<TProjectPoolVo> util = new ExcelUtil<TProjectPoolVo>(TProjectPoolVo.class);
+        util.exportExcel(response, list, "我的已办任务数据");
+    }
+    /**
+     * 导出我的单据列表
+     */
+    @ApiOperation("导出我的单据列表")
+    @Log(title = "我的单据列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportMy")
+    public void exportMy(HttpServletResponse response, TProjectPool tProjectPool)
+    {
+        List<TProjectPoolVo> list=investmentOpportunityService.getMyList(getUserId().toString(),tProjectPool)
+                .stream().map(n -> {
+                    if(null != n.gettProjectChannel()){
+                        n.setChannel(n.gettProjectChannel().getChannelName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(null != n.gettProjectCompany()){
+                        n.setCompany(n.gettProjectCompany().getCompanyName());
+                    }
+                    if(null != n.gettProjectContacts()){
+                        n.setProjectContacts(n.gettProjectContacts().getName());
+                    }
+                    if(StringUtils.isNotEmpty(n.getInvestType()))n.setInvestType(dictDataService.selectDictLabel("INVEST_TYPE",n.getInvestType()));
+                    if(StringUtils.isNotEmpty(n.getInvestPloy()))n.setInvestPloy(dictDataService.selectDictLabel("INVEST_PLOY",n.getInvestPloy()));
+                    if(StringUtils.isNotEmpty(n.getInvestWorth()))n.setInvestWorth(dictDataService.selectDictLabel("INVEST_WORTH",n.getInvestWorth()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<TProjectPoolVo> util = new ExcelUtil<TProjectPoolVo>(TProjectPoolVo.class);
+        util.exportExcel(response, list, "我的单据数据");
+    }
     /**
      * 获取项目池详细信息
      */

+ 118 - 8
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/TerminationController.java

@@ -6,16 +6,13 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.flowable.service.IApprovalService;
-import com.ruoyi.flowable.service.IDecisionService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.flowable.service.IInvestmentOpportunityService;
 import com.ruoyi.flowable.service.ITerminationService;
 import com.ruoyi.invest.domain.*;
-import com.ruoyi.invest.domain.dto.DecisionDto;
 import com.ruoyi.invest.domain.dto.TerminationDto;
-import com.ruoyi.invest.domain.vo.ProjectDecisionVo;
 import com.ruoyi.invest.domain.vo.ProjectTerminationVo;
-import com.ruoyi.invest.service.ITProjectPoolService;
+import com.ruoyi.system.service.ISysDictDataService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -23,7 +20,9 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 项目立项Controller
@@ -38,9 +37,9 @@ public class TerminationController extends BaseController {
     @Autowired
     private ITerminationService terminationService;
     @Autowired
-    private ITProjectPoolService tProjectPoolService;
-    @Autowired
     private IInvestmentOpportunityService investmentOpportunityService;
+    @Autowired
+    private ISysDictDataService dictDataService;
     //所有项目终止流程列表
     @ApiOperation("所有项目终止流程列表")
     @PreAuthorize("@ss.hasPermi('invest:pool:list')")
@@ -51,7 +50,34 @@ public class TerminationController extends BaseController {
         List<ProjectTerminationVo> list=terminationService.selectAllTerminationList(tProjectTermination);
         return getDataTable(list);
     }
-
+    /**
+     * 导出所有项目终止流程列表
+     */
+    @ApiOperation("导出所有项目终止流程列表")
+    @Log(title = "所有项目终止流程列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TProjectTermination tProjectTermination)
+    {
+        List<ProjectTerminationVo> list=terminationService.selectAllTerminationList(tProjectTermination)
+                .stream().map(n -> {
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<ProjectTerminationVo> util = new ExcelUtil<ProjectTerminationVo>(ProjectTerminationVo.class);
+        util.exportExcel(response, list, "所有项目终止流程数据");
+    }
     /**
      * 查询可申请项目终止列表
      */
@@ -101,7 +127,91 @@ public class TerminationController extends BaseController {
         List<ProjectTerminationVo> list=terminationService.getMyList(getUserId().toString(),tProjectTermination);
         return getDataTable(list);
     }
+    /**
+     * 导出我的已办任务列表
+     */
+    @ApiOperation("导出我的待办任务列表")
+    @Log(title = "我的待办任务列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportMyTask")
+    public void exportMyTask(HttpServletResponse response, TProjectTermination tProjectTermination)
+    {
+        List<ProjectTerminationVo> list=terminationService.getMyTaskList(getUserId().toString(),tProjectTermination)
+                .stream().map(n -> {
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<ProjectTerminationVo> util = new ExcelUtil<ProjectTerminationVo>(ProjectTerminationVo.class);
+        util.exportExcel(response, list, "我的待办任务数据");
+    }
 
+    /**
+     * 导出我的已办任务列表
+     */
+    @ApiOperation("导出我的已办任务列表")
+    @Log(title = "我的已办任务列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportMyDoneTask")
+    public void exportMyDoneTask(HttpServletResponse response, TProjectTermination tProjectTermination)
+    {
+        List<ProjectTerminationVo> list=terminationService.getMyDoneTaskList(getUserId().toString(),tProjectTermination)
+                .stream().map(n -> {
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<ProjectTerminationVo> util = new ExcelUtil<ProjectTerminationVo>(ProjectTerminationVo.class);
+        util.exportExcel(response, list, "我的已办任务数据");
+    }
+    /**
+     * 导出我的单据列表
+     */
+    @ApiOperation("导出我的单据列表")
+    @Log(title = "我的单据列表", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportMy")
+    public void exportMy(HttpServletResponse response, TProjectTermination tProjectTermination)
+    {
+        List<ProjectTerminationVo> list=terminationService.getMyList(getUserId().toString(),tProjectTermination)
+                .stream().map(n -> {
+                    if(StringUtils.isNotEmpty(n.getIndustry()))n.setIndustry(dictDataService.selectDictLabel("CUSTOMER_TRADE",n.getIndustry()));
+                    if(StringUtils.isNotEmpty(n.getProjectStage()))n.setProjectStage(dictDataService.selectDictLabel("PROJECT_STAGE",n.getProjectStage()));
+                    if(StringUtils.isNotEmpty(n.getProjectState()))n.setProjectState(dictDataService.selectDictLabel("PROJECT_STATE",n.getProjectState()));
+                    if(StringUtils.isNotEmpty(n.getProjectStatus())){
+                        if("0".equals(n.getProjectStatus())){
+                            n.setProjectStatus("正常");
+                        }else if("1".equals(n.getProjectStatus())){
+                            n.setProjectStatus("终止");
+                        }else if("2".equals(n.getProjectStatus())){
+                            n.setProjectStatus("观望");
+                        }
+                    }
+                    return n;
+                })
+                .collect(Collectors.toList());
+        ExcelUtil<ProjectTerminationVo> util = new ExcelUtil<ProjectTerminationVo>(ProjectTerminationVo.class);
+        util.exportExcel(response, list, "我的单据数据");
+    }
     /**
      * 获取项目池详细信息
      */

+ 0 - 1
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/IApprovalService.java

@@ -3,7 +3,6 @@ package com.ruoyi.flowable.service;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.invest.domain.*;
 import com.ruoyi.invest.domain.vo.ProjectApprovalVo;
-import com.ruoyi.system.domain.vo.TProjectPoolVo;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;

+ 6 - 6
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/IInvestmentOpportunityService.java

@@ -4,11 +4,10 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.invest.domain.FlowBaseInfo;
 import com.ruoyi.invest.domain.TProjectPool;
 import com.ruoyi.invest.domain.TProjectReview;
-import com.ruoyi.system.domain.vo.TProjectPoolVo;
+import com.ruoyi.invest.domain.vo.TProjectPoolVo;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;
-import java.util.Map;
 
 /**
  * 项目池Service接口
@@ -18,13 +17,14 @@ import java.util.Map;
  */
 public interface IInvestmentOpportunityService
 {
-    List<TProjectPool> selectTProjectList(TProjectPool tProjectPool);
+    //查询项目阶段(总)
+    List<TProjectPool> selectProjectList(TProjectPool tProjectPool);
+    //查询可申请项目列表-可申请(总)
+    List<TProjectPool> selectApplicableProjectList(TProjectPool tProjectPool);
     List<TProjectPoolVo> selectAllInvestmentOpportunityList(TProjectPool tProjectPool);
-    List<TProjectPoolVo> selectAllWatchList(TProjectPool tProjectPool);
-    List<TProjectPoolVo> selectAllTerminationList(TProjectPool tProjectPool);
     List<TProjectPoolVo> getMyTaskList(String userId, TProjectPool tProjectPool);
     List<TProjectPoolVo> getMyDoneTaskList(String userId, TProjectPool tProjectPool);
-    List<TProjectPoolVo> getMyList(String userId,TProjectPool tProjectPool);
+    List<TProjectPoolVo> getMyList(String userId, TProjectPool tProjectPool);
 
     TProjectPool selectTProjectPoolByProcInstId(String pInstId);
 

+ 1 - 1
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/DecisionServiceImpl.java

@@ -367,7 +367,7 @@ public class DecisionServiceImpl extends FlowServiceFactory implements IDecision
                 flow.setStatus(FlowStatusEnum.ENDED.getName());
                 if (!"modifyApply".equals(task.getTaskDefinitionKey())&&!"president".equals(task.getTaskDefinitionKey())) {
                     tProjectDecision.setStatus(3);
-                    tProjectPool.setProjectStage("6");//项目阶段-项目终止
+                    tProjectPool.setProjectStage("6");//项目阶段-项目签约
                     tProjectPool.setProjectState("j");//项目状态-签约协议沟通中
                     tProjectPool.setUpdateBy(userInfo.getNickName());
                     tProjectPool.setDecisionDate(new Date());//投决通过日期

+ 15 - 13
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/InvestmentOpportunityServiceImpl.java

@@ -17,7 +17,7 @@ import com.ruoyi.invest.domain.*;
 import com.ruoyi.invest.mapper.InvestmentOpportunityMapper;
 import com.ruoyi.flowable.service.IInvestmentOpportunityService;
 import com.ruoyi.invest.service.*;
-import com.ruoyi.system.domain.vo.TProjectPoolVo;
+import com.ruoyi.invest.domain.vo.TProjectPoolVo;
 import com.ruoyi.system.mapper.SysDeptMapper;
 import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.tool.service.ITUnifyFileService;
@@ -73,30 +73,32 @@ public class InvestmentOpportunityServiceImpl extends FlowServiceFactory impleme
 
     @Autowired
     private IFlowService flowService;
+
     /**
-     * 查询项目阶段为投资机会、项目立项、尽职背调、项目投决、并不是关闭的流程、并没有终止的项目列表
+     * 查询项目阶段为投资机会、项目立项、尽职背调、项目投决、并不是关闭的流程、并没有终止的项目列表(总)
      *
      * @param tProjectPool 项目池
      * @return 项目池
      */
     @Override
-    public List<TProjectPool> selectTProjectList(TProjectPool tProjectPool)
+    public List<TProjectPool> selectProjectList(TProjectPool tProjectPool)
     {
-        return investmentOpportunityMapper.selectTProjectList(tProjectPool);
+        return investmentOpportunityMapper.selectProjectList(tProjectPool);
+    }
+    /**
+     * 查询可申请项目列表(总)
+     *
+     * @param tProjectPool 项目池
+     * @return 项目池集合
+     */
+    public List<TProjectPool> selectApplicableProjectList(TProjectPool tProjectPool){
+        return investmentOpportunityMapper.selectApplicableProjectList(tProjectPool);
     }
     @Override
     public List<TProjectPoolVo> selectAllInvestmentOpportunityList(TProjectPool tProjectPool){
         return investmentOpportunityMapper.selectAllInvestmentOpportunityList(tProjectPool);
     }
     @Override
-    public List<TProjectPoolVo> selectAllWatchList(TProjectPool tProjectPool){
-        return investmentOpportunityMapper.selectAllWatchList(tProjectPool);
-    }
-    @Override
-    public List<TProjectPoolVo> selectAllTerminationList(TProjectPool tProjectPool){
-        return investmentOpportunityMapper.selectAllTerminationList(tProjectPool);
-    }
-    @Override
     public List<TProjectPoolVo> getMyTaskList(String userId, TProjectPool tProjectPool){
         return investmentOpportunityMapper.getMyTaskList(userId, tProjectPool);
     }
@@ -105,7 +107,7 @@ public class InvestmentOpportunityServiceImpl extends FlowServiceFactory impleme
         return investmentOpportunityMapper.getMyDoneTaskList(userId, tProjectPool);
     }
     @Override
-    public List<TProjectPoolVo> getMyList(String userId,TProjectPool tProjectPool){
+    public List<TProjectPoolVo> getMyList(String userId, TProjectPool tProjectPool){
         return investmentOpportunityMapper.getMyList(userId, tProjectPool);
     }
     /**

+ 0 - 1
ruoyi-system/src/main/java/com/ruoyi/invest/domain/vo/ProjectApprovalVo.java

@@ -25,7 +25,6 @@ public class ProjectApprovalVo extends BaseEntity
     private String id;
 
     /** 项目ID */
-    @Excel(name = "项目ID")
     private String projectPoolId;
 
 

+ 0 - 1
ruoyi-system/src/main/java/com/ruoyi/invest/domain/vo/ProjectDecisionVo.java

@@ -25,7 +25,6 @@ public class ProjectDecisionVo extends BaseEntity
     private String id;
 
     /** 项目ID */
-    @Excel(name = "项目ID")
     private String projectPoolId;
 
     /** 项目名称 */

+ 0 - 1
ruoyi-system/src/main/java/com/ruoyi/invest/domain/vo/ProjectInvestigateVo.java

@@ -35,7 +35,6 @@ public class ProjectInvestigateVo extends BaseEntity
     private String investigateCode;
 
     /** 项目id */
-    @Excel(name = "项目id")
     private String projectPoolId;
 
     /** 项目名称 */

+ 0 - 1
ruoyi-system/src/main/java/com/ruoyi/invest/domain/vo/ProjectTerminationVo.java

@@ -20,7 +20,6 @@ public class ProjectTerminationVo extends BaseEntity
     private String id;
 
     /** 项目ID */
-    @Excel(name = "项目ID")
     private String projectPoolId;
 
     /** 项目名称 */

+ 0 - 2
ruoyi-system/src/main/java/com/ruoyi/invest/mapper/ApprovalMapper.java

@@ -1,9 +1,7 @@
 package com.ruoyi.invest.mapper;
 
 import com.ruoyi.invest.domain.TProjectApproval;
-import com.ruoyi.invest.domain.TProjectPool;
 import com.ruoyi.invest.domain.vo.ProjectApprovalVo;
-import com.ruoyi.system.domain.vo.TProjectPoolVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;

+ 8 - 9
ruoyi-system/src/main/java/com/ruoyi/invest/mapper/InvestmentOpportunityMapper.java

@@ -1,7 +1,7 @@
 package com.ruoyi.invest.mapper;
 
 import com.ruoyi.invest.domain.TProjectPool;
-import com.ruoyi.system.domain.vo.TProjectPoolVo;
+import com.ruoyi.invest.domain.vo.TProjectPoolVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -13,18 +13,17 @@ import java.util.List;
  * @date 2024-02-21
  */
 public interface InvestmentOpportunityMapper {
-    /*查询任务终止列表*/
-    List<TProjectPool> selectTProjectList(TProjectPool tProjectPool);
+
+    /*查询项目列表-项目阶段(总)*/
+    List<TProjectPool> selectProjectList(TProjectPool tProjectPool);
+    /*查询项目池列表-可申请(总)*/
+    public List<TProjectPool> selectApplicableProjectList(TProjectPool tProjectPool);
     /*查询所有投资机会流程*/
     List<TProjectPoolVo> selectAllInvestmentOpportunityList(@Param("projectPool")TProjectPool tProjectPool);
-    /*查询所有项目观望列表*/
-    List<TProjectPoolVo> selectAllWatchList(@Param("projectPool")TProjectPool tProjectPool);
-    /*查询所有项目终止列表*/
-    List<TProjectPoolVo> selectAllTerminationList(@Param("projectPool")TProjectPool tProjectPool);
     /*待办任务*/
-    List<TProjectPoolVo> getMyTaskList(@Param("userId") String userId,@Param("projectPool")TProjectPool tProjectPool);
+    List<TProjectPoolVo> getMyTaskList(@Param("userId") String userId, @Param("projectPool")TProjectPool tProjectPool);
     /*已办任务*/
-    List<TProjectPoolVo> getMyDoneTaskList(@Param("userId") String userId,@Param("projectPool")TProjectPool tProjectPool);
+    List<TProjectPoolVo> getMyDoneTaskList(@Param("userId") String userId, @Param("projectPool")TProjectPool tProjectPool);
     /*我的单据*/
     List<TProjectPoolVo> getMyList(@Param("userId") String userId, @Param("projectPool")TProjectPool tProjectPool);
     /*详情*/

+ 5 - 5
ruoyi-system/src/main/resources/mapper/invest/ApprovalMapper.xml

@@ -62,12 +62,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select id, project_pool_id, project_overview, project_sparkle, participants_id, participants, remark, del_flag, create_by, create_time, update_by, update_time from t_project_approval
     </sql>
     <sql id="where_sql">
-        <if test="projectApproval.projectPoolId != null  and projectApproval.projectApproval.projectPoolId != ''"> and a.project_pool_id = #{projectApproval.projectPoolId}</if>
+        <if test="projectApproval.projectPoolId != null  and projectApproval.projectPoolId != ''"> and a.project_pool_id = #{projectApproval.projectPoolId}</if>
         <if test="projectApproval.projectName != null  and projectApproval.projectName != ''"> and tp.project_name like concat('%', #{projectApproval.projectName}, '%')</if>
         <!--<if test="projectApproval.projectGroup != null  and projectApproval.projectGroup != ''"> and tp.project_group = #{projectApproval.projectGroup}</if>-->
         <if test="projectApproval.projectOverview != null  and projectApproval.projectOverview != ''"> and a.project_overview like concat('%',  #{projectApproval.projectOverview}, '%')</if>
         <if test="projectApproval.projectSparkle != null  and projectApproval.projectSparkle != ''"> and a.project_sparkle like concat('%',  #{projectApproval.projectSparkle}, '%')</if>
-
+        <if test="projectApproval.status != null"> and a.status = #{projectApproval.status}</if>
     </sql>
     <select id="selectAllApprovalList" resultMap="ProjectApprovalVoResult">
         select a.id,a.proc_inst_id, a.project_pool_id,tp.project_name, tp.industry,tp.project_stage,
@@ -154,9 +154,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         uu.nick_name AS 'startUserName',
         dd.dept_name AS 'startDeptName',
         t.ID_ AS 'taskId',
-        t.NAME_ AS 'taskName',
+        GROUP_CONCAT(DISTINCT t.NAME_ SEPARATOR '\r\n' ) as 'taskName',
         t.ASSIGNEE_ AS 'assignee',
-        ui.nick_name AS 'assigneeName',
+        GROUP_CONCAT(DISTINCT ui.nick_name SEPARATOR '\r\n') AS 'assigneeName',
         t.TASK_DEF_KEY_ as 'taskDefKey',
         rp.DEPLOYMENT_ID_ AS 'deployId'
         from t_project_approval a
@@ -185,7 +185,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         p.START_USER_ID_ AS 'startUserId',
         uu.nick_name AS 'startUserName',
         dd.dept_name AS 'startDeptName',
-        t.NAME_ as 'taskName',
+        GROUP_CONCAT(DISTINCT t.NAME_ SEPARATOR '\r\n' ) as 'taskName',
         t.TASK_DEF_KEY_ as 'taskDefKey',
         DATE_FORMAT(t.CREATE_TIME_ ,'%Y-%m-%d %H:%i') as 'taskCreateTiem',
         t.ASSIGNEE_ as 'assignee',

+ 1 - 0
ruoyi-system/src/main/resources/mapper/invest/DecisionMapper.xml

@@ -61,6 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="projectDecision.projectPoolId != null  and projectDecision.projectPoolId != ''"> and a.project_pool_id = #{projectDecision.projectPoolId}</if>
         <if test="projectDecision.projectName != null  and projectDecision.projectName != ''"> and tp.project_name like concat('%', #{projectDecision.projectName}, '%')</if>
         <if test="projectDecision.provision != null  and projectDecision.provision != ''"> and a.provision like concat('%', #{projectDecision.provision}, '%')</if>
+        <if test="projectDecision.status != null"> and a.status = #{projectDecision.status}</if>
     </sql>
     <select id="selectAllDecisionList" resultMap="ProjectDecisionVoResult">
         select a.id,a.proc_inst_id, a.project_pool_id,tp.project_name, tp.industry,tp.project_stage,

+ 1 - 0
ruoyi-system/src/main/resources/mapper/invest/InvestigateMapper.xml

@@ -83,6 +83,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="projectInvestigate.projectName != null  and projectInvestigate.projectName != ''"> and tp.project_name like concat('%', #{projectInvestigate.projectName}, '%')</if>
         <if test="projectInvestigate.investigateName != null  and projectInvestigate.investigateName != ''"> and a.investigate_name like concat('%', #{projectInvestigate.investigateName}, '%')</if>
         <if test="projectInvestigate.investigatePlace != null  and projectInvestigate.investigatePlace != ''"> and a.investigate_place like concat('%', #{projectInvestigate.investigatePlace}, '%')</if>
+        <if test="projectInvestigate.status != null"> and a.status = #{projectInvestigate.status}</if>
     </sql>
     <select id="selectAllInvestigateList" resultMap="ProjectInvestigateVoResult">
         select a.id,a.proc_inst_id, a.project_pool_id,tp.project_name, tp.industry,tp.project_stage,tp.project_state,tp.invest_head,tp.project_status,

文件差異過大導致無法顯示
+ 47 - 77
ruoyi-system/src/main/resources/mapper/invest/InvestmentOpportunityMapper.xml


+ 1 - 0
ruoyi-system/src/main/resources/mapper/invest/TerminationMapper.xml

@@ -55,6 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="projectTermination.projectPoolId != null  and projectTermination.projectPoolId != ''"> and a.project_pool_id = #{projectTermination.projectPoolId}</if>
         <if test="projectTermination.projectName != null  and projectTermination.projectName != ''"> and tp.project_name like concat('%', #{projectTermination.projectName}, '%')</if>
         <if test="projectTermination.reason != null  and projectTermination.reason != ''"> and a.reason like concat('%', #{projectTermination.reason}, '%')</if>
+        <if test="projectTermination.status != null"> and a.status = #{projectTermination.status} </if>
     </sql>
     <insert id="insertTProjectTermination" parameterType="TProjectTermination">
         insert into t_project_termination

+ 8 - 0
ruoyi-ui/src/api/project/approval/pool.js

@@ -7,6 +7,14 @@ export function getAllApprovalList(query) {
     params: query
   })
 }
+//  查询可申请项目立项流程列表
+export function applicableListApproval(query) {
+  return request({
+    url: '/project/approval/applicableList',
+    method: 'get',
+    params: query
+  })
+}
 // 我的待办任务列表
 export function getMyTaskList(query) {
   return request({

+ 9 - 0
ruoyi-ui/src/api/project/decision/pool.js

@@ -7,6 +7,15 @@ export function getAllDecisionList(query) {
     params: query
   })
 }
+
+//  查询可申请项目投决流程列表 ​/dev-api​/invest​/pool​/listDecision
+export function applicableListDecision(query) {
+  return request({
+    url: '/project/decision/applicableList',
+    method: 'get',
+    params: query
+  })
+}
 // 我的待办任务列表
 export function getMyTaskList(query) {
   return request({

+ 3 - 18
ruoyi-ui/src/api/project/investOpp/pool.js

@@ -1,21 +1,6 @@
 import request from '@/utils/request'
-// 所有项目观望列表
-export function getAllWatchList(query) {
-  return request({
-    url: '/project/investmentOpportunity/allWatchlist',
-    method: 'get',
-    params: query
-  })
-}
-// 所有项目终止列表
-export function getAllTerminationList(query) {
-  return request({
-    url: '/project/investmentOpportunity/allTerminationList',
-    method: 'get',
-    params: query
-  })
-}
-// 所有投资机会列表
+
+// 所有项目机会流程列表
 export function getAllInvestOppList(query) {
   return request({
     url: '/project/investmentOpportunity/listAll',
@@ -97,7 +82,7 @@ export function getInvestInfo(pInstId) {
     method: 'delete'
   })
 }*/
-// 查询投资机会待办任务列表数量
+// 查询项目机会待办任务列表数量
 export function getMyTaskInvestOppNumber() {
   return request({
     url: '/project/investmentOpportunity/getMyTaskList',

+ 9 - 0
ruoyi-ui/src/api/project/investigate/pool.js

@@ -7,6 +7,15 @@ export function getAllInvestigateList(query) {
     params: query
   })
 }
+//  查询可申请尽职背调流程列表
+export function applicableListInvestigate(query) {
+  return request({
+    url: '/project/investigate/applicableList',
+    method: 'get',
+    params: query
+  })
+}
+
 // 我的待办任务列表
 export function getMyTaskList(query) {
   return request({

+ 9 - 8
ruoyi-ui/src/api/project/termination/pool.js

@@ -1,5 +1,5 @@
 import request from '@/utils/request'
-// 所有项目终止列表
+// 所有项目终止流程列表
 export function getAllTerminationList(query) {
   return request({
     url: '/project/termination/listAll',
@@ -7,6 +7,14 @@ export function getAllTerminationList(query) {
     params: query
   })
 }
+//  查询可申请终止流程列表
+export function applicableListTermination(query) {
+  return request({
+    url: '/project/termination/applicableList',
+    method: 'get',
+    params: query
+  })
+}
 // 我的待办任务列表
 export function getMyTaskList(query) {
   return request({
@@ -109,10 +117,3 @@ export function getMyTaskTerminationNumber() {
   })
 }
 
-//  查询项目终止列表 ​/dev-api​/invest​/pool​/listDecision
-export function listTerminationList() {
-  return request({
-    url: '/project/termination/listTermination',
-    method: 'get'
-  })
-}

+ 2 - 2
ruoyi-ui/src/permission.js

@@ -38,9 +38,9 @@ router.beforeEach((to, from, next) => {
             //store.dispatch("getApprovalNumber"); //初始化项目立项代办数量
             //store.dispatch("getInvestigateNumber"); //初始化尽职背调代办数量
             //store.dispatch("getDecisionNumber"); //初始化项目投决代办数量
-            store.dispatch("getMyTaskInvestOppNumber"); //初始化投资机会代办数量
+            store.dispatch("getMyTaskInvestOppNumber"); //初始化项目机会代办数量
             store.dispatch("getMyTaskApprovalNumber"); //初始化项目立项代办数量
-            store.dispatch("getMyTaskInvestigateNumber"); //初始化尽职背调代办数量
+            store.dispatch("getMyTaskInvestigateNumber"); //初始化项目背调代办数量
             store.dispatch("getMyTaskDecisionNumber"); //初始化项目投决代办数量
             store.dispatch("getMyTaskTerminationNumber"); //初始化项目终止代办数量
             //next({ ...to, replace: true }) // hack方法 确保addRoutes已完成

+ 49 - 11
ruoyi-ui/src/views/project/approval/myTask.vue

@@ -32,6 +32,7 @@
         <el-form-item>
           <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
           <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          <el-button type="warning" plain icon="el-icon-download" size="mini" @click="exportQuery">导出</el-button>
         </el-form-item>
       </el-form>
       <!-- Tab 切换区域 -->
@@ -721,10 +722,57 @@ export default {
       this.queryParams.pageSize = 10;
       this.handleQuery();
     },
+    /*导出*/
+    exportQuery() {
+      switch (this.activeTab) {
+        case "list1":
+          // 待办任务:调用待办导出方法
+          this.handleExportMyTask();
+          break;
+        case "list2":
+          // 已办任务:调用已办导出方法
+          this.handleExportMyDoneTask();
+          break;
+        case "list3":
+          // 我的单据:调用单据导出方法
+          this.handleExportMy();
+          break;
+        default:
+          break;
+      }
+    },
+    /** 导出按钮操作 */
+    handleExportMyTask() {
+      this.download(
+        "project/approval/exportMyTask",
+        {
+          ...this.queryParams,
+        },
+        `MyTask_${new Date().getTime()}.xlsx`
+      );
+    },
+    handleExportMyDoneTask() {
+      this.download(
+        "project/approval/exportMyDoneTask",
+        {
+          ...this.queryParams,
+        },
+        `MyDoneTask_${new Date().getTime()}.xlsx`
+      );
+    },
+    handleExportMy() {
+      this.download(
+        "project/approval/exportMy",
+        {
+          ...this.queryParams,
+        },
+        `My_${new Date().getTime()}.xlsx`
+      );
+    },
     clickRow(row) {
       this.$refs.dataTable.toggleRowSelection(row);
     },
-    /*投资机会详情*/
+    /*项目机会详情*/
     handleInvestOppDetail(row) {
       const projectPoolId = row.projectPoolId;
       getPool(projectPoolId).then((response) => {
@@ -795,16 +843,6 @@ export default {
         })
         .catch(() => {});
     },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download(
-        "invest/pool/export",
-        {
-          ...this.queryParams,
-        },
-        `pool_${new Date().getTime()}.xlsx`
-      );
-    },
     /** 流程图查看 */
     handleReadImage(row){
       this.readImage.title = "流程图";

+ 49 - 11
ruoyi-ui/src/views/project/decision/myTask.vue

@@ -24,6 +24,7 @@
         <el-form-item>
           <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
           <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          <el-button type="warning" plain icon="el-icon-download" size="mini" @click="exportQuery">导出</el-button>
         </el-form-item>
       </el-form>
       <!-- Tab 切换区域 -->
@@ -677,10 +678,57 @@ export default {
       this.queryParams.pageSize = 10;
       this.handleQuery();
     },
+    /*导出*/
+    exportQuery() {
+      switch (this.activeTab) {
+        case "list1":
+          // 待办任务:调用待办导出方法
+          this.handleExportMyTask();
+          break;
+        case "list2":
+          // 已办任务:调用已办导出方法
+          this.handleExportMyDoneTask();
+          break;
+        case "list3":
+          // 我的单据:调用单据导出方法
+          this.handleExportMy();
+          break;
+        default:
+          break;
+      }
+    },
+    /** 导出按钮操作 */
+    handleExportMyTask() {
+      this.download(
+        "project/decision/exportMyTask",
+        {
+          ...this.queryParams,
+        },
+        `MyTask_${new Date().getTime()}.xlsx`
+      );
+    },
+    handleExportMyDoneTask() {
+      this.download(
+        "project/decision/exportMyDoneTask",
+        {
+          ...this.queryParams,
+        },
+        `MyDoneTask_${new Date().getTime()}.xlsx`
+      );
+    },
+    handleExportMy() {
+      this.download(
+        "project/decision/exportMy",
+        {
+          ...this.queryParams,
+        },
+        `My_${new Date().getTime()}.xlsx`
+      );
+    },
     clickRow(row) {
       this.$refs.dataTable.toggleRowSelection(row);
     },
-    /*投资机会详情*/
+    /*项目机会详情*/
     handleInvestOppDetail(row) {
       const projectPoolId = row.projectPoolId;
       getPool(projectPoolId).then((response) => {
@@ -751,16 +799,6 @@ export default {
         })
         .catch(() => {});
     },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download(
-        "invest/pool/export",
-        {
-          ...this.queryParams,
-        },
-        `pool_${new Date().getTime()}.xlsx`
-      );
-    },
     /** 流程图查看 */
     handleReadImage(row){
       this.readImage.title = "流程图";

+ 1 - 1
ruoyi-ui/src/views/project/investOpp/detail.vue

@@ -794,7 +794,7 @@ export default {
     goBack() {
       this.$router.go(-1);
     },
-    //跳转到我的任务-投资机会
+    //跳转到我的任务-项目机会
     goMyTask(){
       //this.$router.push({ path: "/myTask/project/investOpp/myTask"});
       // 关闭当前标签页并返回指定页面

+ 48 - 12
ruoyi-ui/src/views/project/investOpp/myTask.vue

@@ -64,10 +64,9 @@
         </el-form-item>
         <!-- 可继续扩展其他查询表单项目,比如项目编号、负责人等 -->
         <el-form-item>
-<!--          <el-button type="primary" @click="handleQuery">查询</el-button>
-          <el-button @click="handleReset">重置</el-button>-->
           <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
           <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          <el-button type="warning" plain icon="el-icon-download" size="mini" @click="exportQuery">导出</el-button>
         </el-form-item>
       </el-form>
       <!-- Tab 切换区域 -->
@@ -855,6 +854,53 @@ export default {
       this.queryParams.pageSize = 10;
       this.handleQuery();
     },
+    /*导出*/
+    exportQuery() {
+      switch (this.activeTab) {
+        case "list1":
+          // 待办任务:调用待办导出方法
+          this.handleExportMyTask();
+          break;
+        case "list2":
+          // 已办任务:调用已办导出方法
+          this.handleExportMyDoneTask();
+          break;
+        case "list3":
+          // 我的单据:调用单据导出方法
+          this.handleExportMy();
+          break;
+        default:
+          break;
+      }
+    },
+    /** 导出按钮操作 */
+    handleExportMyTask() {
+      this.download(
+        "project/investmentOpportunity/exportMyTask",
+        {
+          ...this.queryParams,
+        },
+        `MyTask_${new Date().getTime()}.xlsx`
+      );
+    },
+    handleExportMyDoneTask() {
+      this.download(
+        "project/investmentOpportunity/exportMyDoneTask",
+        {
+          ...this.queryParams,
+        },
+        `MyDoneTask_${new Date().getTime()}.xlsx`
+      );
+    },
+    handleExportMy() {
+      this.download(
+        "project/investmentOpportunity/exportMy",
+        {
+          ...this.queryParams,
+        },
+        `My_${new Date().getTime()}.xlsx`
+      );
+    },
     clickRow(row) {
       this.$refs.dataTable.toggleRowSelection(row);
     },
@@ -923,16 +969,6 @@ export default {
         })
         .catch(() => {});
     },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download(
-        "invest/pool/export",
-        {
-          ...this.queryParams,
-        },
-        `pool_${new Date().getTime()}.xlsx`
-      );
-    },
     /** 流程图查看 */
     handleReadImage(row){
       this.readImage.title = "流程图";

+ 6 - 2
ruoyi-ui/src/views/project/investigate/dueDiligenceList.vue

@@ -763,6 +763,7 @@ export default {
       reportFileList: [],
       dueDiligenceType: "0",
       showDetail: false,
+      isWatch:false,
     };
   },
   computed: {
@@ -786,7 +787,7 @@ export default {
       // 2. 调用子组件的刷新方法,重新加载项目列表
       // 确保子组件已加载且存在刷新方法
       if (this.$refs.projectItem && typeof this.$refs.projectItem.refreshProjectList === 'function') {
-        this.$refs.projectItem.refreshProjectList();
+        this.$refs.projectItem.refreshProjectList(this.isWatch);
       }
     },
     // 获取公司信息
@@ -900,7 +901,7 @@ export default {
       }
     },
     // 发起尽调申请
-    handleShowApplyPop() {
+    handleShowApplyPop(row) {
       let that = this;
       this.fileList = [];
       this.resetDueForm();
@@ -911,6 +912,9 @@ export default {
       this.dueDiligenceOpen = true;
       // this.dueForm.projectName = row.projectName;
       // this.dueForm.projectPoolId = row.id;
+      if(row==1){
+        this.isWatch=true;
+      }
     },
     // 上传尽调报告-按钮
     handleShowReportPop(row) {

+ 49 - 11
ruoyi-ui/src/views/project/investigate/myTask.vue

@@ -39,6 +39,7 @@
         <el-form-item>
           <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
           <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          <el-button type="warning" plain icon="el-icon-download" size="mini" @click="exportQuery">导出</el-button>
         </el-form-item>
       </el-form>
       <!-- Tab 切换区域 -->
@@ -674,10 +675,57 @@ export default {
       this.queryParams.pageSize = 10;
       this.handleQuery();
     },
+    /*导出*/
+    exportQuery() {
+      switch (this.activeTab) {
+        case "list1":
+          // 待办任务:调用待办导出方法
+          this.handleExportMyTask();
+          break;
+        case "list2":
+          // 已办任务:调用已办导出方法
+          this.handleExportMyDoneTask();
+          break;
+        case "list3":
+          // 我的单据:调用单据导出方法
+          this.handleExportMy();
+          break;
+        default:
+          break;
+      }
+    },
+    /** 导出按钮操作 */
+    handleExportMyTask() {
+      this.download(
+        "project/investigate/exportMyTask",
+        {
+          ...this.queryParams,
+        },
+        `MyTask_${new Date().getTime()}.xlsx`
+      );
+    },
+    handleExportMyDoneTask() {
+      this.download(
+        "project/investigate/exportMyDoneTask",
+        {
+          ...this.queryParams,
+        },
+        `MyDoneTask_${new Date().getTime()}.xlsx`
+      );
+    },
+    handleExportMy() {
+      this.download(
+        "project/investigate/exportMy",
+        {
+          ...this.queryParams,
+        },
+        `My_${new Date().getTime()}.xlsx`
+      );
+    },
     clickRow(row) {
       this.$refs.dataTable.toggleRowSelection(row);
     },
-    /*投资机会详情*/
+    /*项目机会详情*/
     handleInvestOppDetail(row) {
       const projectPoolId = row.projectPoolId;
       getPool(projectPoolId).then((response) => {
@@ -748,16 +796,6 @@ export default {
         })
         .catch(() => {});
     },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download(
-        "invest/pool/export",
-        {
-          ...this.queryParams,
-        },
-        `pool_${new Date().getTime()}.xlsx`
-      );
-    },
     /** 流程图查看 */
     handleReadImage(row){
       this.readImage.title = "流程图";

+ 13 - 4
ruoyi-ui/src/views/project/termination/terminationList.vue

@@ -126,6 +126,15 @@
           @click="handleAdd(4)"
         >终止申请</el-button>
       </el-col>-->
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+        >导出</el-button>
+      </el-col>
       <right-toolbar
         :showSearch.sync="showSearch"
         @queryTable="getList"
@@ -261,7 +270,7 @@
 <script>
 import {
   getAllTerminationList
-} from "@/api/project/investOpp/pool";
+} from "@/api/project/pool";
 import { listChannel } from "@/api/invest/channel";
 import dueDiligenceList from "../investigate/dueDiligenceList";
 import meetingList from "../meetingList.vue";
@@ -501,7 +510,7 @@ export default {
     },
     handleDetail(row) {
       const id = row.id || this.ids;
-      this.$router.push({ path: "/invest/pool/detail", query: { id: id } });
+      this.$router.push({ path: "/project/poolDetail", query: { id: id } });
     },
     /**终止按钮操作 */
     handleDelete(row) {
@@ -521,11 +530,11 @@ export default {
     /** 导出按钮操作 */
     handleExport() {
       this.download(
-        "invest/pool/export",
+        "project/exportAllTermination",
         {
           ...this.queryParams,
         },
-        `pool_${new Date().getTime()}.xlsx`
+        `allTermination_${new Date().getTime()}.xlsx`
       );
     },
   },

+ 19 - 10
ruoyi-ui/src/views/project/termination/watchList.vue

@@ -126,6 +126,15 @@
           @click="handleAdd(4)"
         >终止申请</el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+        >导出</el-button>
+      </el-col>
       <right-toolbar
         :showSearch.sync="showSearch"
         @queryTable="getList"
@@ -264,11 +273,11 @@ import {
 } from "@/api/invest/pool";
 import {
   getAllWatchList,
-} from "@/api/project/investOpp/pool";
+} from "@/api/project/pool";
 import { listChannel } from "@/api/invest/channel";
-import dueDiligenceList from "../investigate/dueDiligenceList";
+import dueDiligenceList from "../investigate/dueDiligenceList.vue";
 import meetingList from "../meetingList.vue";
-import businessUpdate from "../../invest/components/businessUpdate";
+import businessUpdate from "../../invest/components/businessUpdate.vue";
 import { mapGetters } from "vuex";
 export default {
   name: "Pool5",
@@ -394,19 +403,19 @@ export default {
     handleAdd(val) {
       if(val==1){
         // 立项申请
-        this.$refs.meetingList.showLXApplyPop();
+        this.$refs.meetingList.showLXApplyPop(1);
       }
       if(val==2){
         // 尽调申请
-        this.$refs.dueDiligenceLists.handleShowApplyPop();
+        this.$refs.dueDiligenceLists.handleShowApplyPop(1);
       }
       if(val==3){
         // 投决申请
-        this.$refs.meetingList.showTJApplyPop();
+        this.$refs.meetingList.showTJApplyPop(1);
       }
       if(val==4){
         // 终止申请
-        this.$refs.meetingList.showZZApplyPop();
+        this.$refs.meetingList.showZZApplyPop(1);
       }
 
       // this.$router.push({ path: "/invest/pool/add" });
@@ -504,7 +513,7 @@ export default {
     },
     handleDetail(row) {
       const id = row.id || this.ids;
-      this.$router.push({ path: "/invest/pool/detail", query: { id: id } });
+      this.$router.push({ path: "/project/poolDetail", query: { id: id } });
     },
     /**终止按钮操作 */
     handleDelete(row) {
@@ -524,11 +533,11 @@ export default {
     /** 导出按钮操作 */
     handleExport() {
       this.download(
-        "invest/pool/export",
+        "project/exportAllWatch",
         {
           ...this.queryParams,
         },
-        `pool_${new Date().getTime()}.xlsx`
+        `allWatch_${new Date().getTime()}.xlsx`
       );
     },
   },

+ 53 - 19
ruoyi-ui/src/views/project/meetingList.vue

@@ -718,14 +718,14 @@
         >
           <div
             class="el-input__inner inputSimulation"
-            @click="handleProjectItem"
+            @click="handleProjectItemLX"
             :class="{ show_disabled: pageType === '1' }"
             :title="formLXApply.projectName"
           >
             {{ formLXApply.projectName ? formLXApply.projectName : "请选择 " }}
           </div>
           <projectItemLX
-            ref="projectItem"
+            ref="projectItemLX"
             @getProjectInfo="getProjectInfo"
           ></projectItemLX>
         </el-form-item>
@@ -815,14 +815,14 @@
         >
           <div
             class="el-input__inner inputSimulation"
-            @click="handleProjectItem"
+            @click="handleProjectItemTJ"
             :class="{ show_disabled: pageType === '1' }"
             :title="formTJApply.projectName"
           >
             {{ formTJApply.projectName ? formTJApply.projectName : "请选择 " }}
           </div>
           <projectItemTJ
-            ref="projectItem"
+            ref="projectItemTJ"
             @getProjectInfo="getProjectInfo"
           ></projectItemTJ>
         </el-form-item>
@@ -895,14 +895,14 @@
         >
           <div
             class="el-input__inner inputSimulation"
-            @click="handleProjectItem"
+            @click="handleProjectItemZZ"
             :class="{ show_disabled: pageType === '1' }"
             :title="formZZApply.projectName"
           >
             {{ formZZApply.projectName ? formZZApply.projectName : "请选择 " }}
           </div>
           <projectItemZZ
-            ref="projectItem"
+            ref="projectItemZZ"
             @getProjectInfo="getProjectInfo"
           ></projectItemZZ>
         </el-form-item>
@@ -1071,7 +1071,6 @@ export default {
         createTime: null,
         updateBy: null,
         updateTime: null,
-        projectGroup: "",
       },
       // 表单校验
       rules: {
@@ -1175,6 +1174,7 @@ export default {
       rulesZZApply: {
         reason: [{ required: true, trigger: "blur", message: "请输入" }],
       },
+      isWatch:false,
     };
   },
   computed: {
@@ -1340,33 +1340,42 @@ export default {
     },
     // 展示立项申请弹窗
     showLXApplyPop(row) {
-      this.resetLXApply(row);
+      this.resetLXApply();
       this.fileListLXApply = [];
       this.openLXApply = true;
       this.titleLXApply = "立项申请";
       setTimeout(() => {
         this.$refs.fileItemLXApply.fileList = [];
       }, 200);
+      if(row==1){
+        this.isWatch=true;//代表是从观望列表
+      }
     },
     // 展示投决申请弹窗
     showTJApplyPop(row) {
-      this.resetTJApply(row);
+      this.resetTJApply();
       this.fileListLXApply = [];
       this.openTJApply = true;
       this.titleTJApply = "投决申请";
       setTimeout(() => {
         this.$refs.fileItemTJApply.fileList = [];
       }, 200);
+      if(row==1){
+        this.isWatch=true;
+      }
     },
     // 展示终止申请弹窗
-    showZZApplyPop() {
-      // this.resetZZApply(row);
+    showZZApplyPop(row) {
+      this.resetZZApply();
       //this.fileListZZApply = [];
       this.openZZApply = true;
       this.titleZZApply = "终止申请";
       /*setTimeout(() => {
         this.$refs.fileItemZZApply.fileList = [];
       }, 200);*/
+      if(row==1){
+        this.isWatch=true;
+      }
     },
     // 立项申请附件回显
     getFileListLXApply(fileList) {
@@ -1399,13 +1408,40 @@ export default {
         this.formZZApply.projectName = info[0].projectName;
       }
     },
-    //展示人员
+    //展示项目
     handleProjectItem() {
       this.$refs.projectItem.showProjectItem = true;
       // 2. 调用子组件的刷新方法,重新加载项目列表
       // 确保子组件已加载且存在刷新方法
       if (this.$refs.projectItem && typeof this.$refs.projectItem.refreshProjectList === 'function') {
-        this.$refs.projectItem.refreshProjectList();
+        this.$refs.projectItem.refreshProjectList(this.isWatch);
+      }
+    },
+    //展示可申请的项目立项
+    handleProjectItemLX() {
+      this.$refs.projectItemLX.showProjectItem = true;
+      // 2. 调用子组件的刷新方法,重新加载项目列表
+      // 确保子组件已加载且存在刷新方法
+      if (this.$refs.projectItemLX && typeof this.$refs.projectItemLX.refreshProjectList === 'function') {
+        this.$refs.projectItemLX.refreshProjectList(this.isWatch);
+      }
+    },
+    //展示可申请的项目投决
+    handleProjectItemTJ() {
+      this.$refs.projectItemTJ.showProjectItem = true;
+      // 2. 调用子组件的刷新方法,重新加载项目列表
+      // 确保子组件已加载且存在刷新方法
+      if (this.$refs.projectItemTJ && typeof this.$refs.projectItemTJ.refreshProjectList === 'function') {
+        this.$refs.projectItemTJ.refreshProjectList(this.isWatch);
+      }
+    },
+    //展示可申请的项目终止
+    handleProjectItemZZ() {
+      this.$refs.projectItemZZ.showProjectItem = true;
+      // 2. 调用子组件的刷新方法,重新加载项目列表
+      // 确保子组件已加载且存在刷新方法
+      if (this.$refs.projectItemZZ && typeof this.$refs.projectItemZZ.refreshProjectList === 'function') {
+        this.$refs.projectItemZZ.refreshProjectList(this.isWatch);
       }
     },
     /** 查询会议记录列表 */
@@ -1477,14 +1513,12 @@ export default {
       this.resetForm("formTJApply");
     },
     // 终止申请表单重置
-    resetZZApply(row) {
+    resetZZApply() {
       this.formZZApply = {
         id: null,
-        projectPoolId: row.id,
-        projectName: row.projectName,
-        projectOverview: null,
-        projectSparkle: null,
-        listFile: null,
+        projectPoolId: null,
+        projectName: null,
+        reason:null,
       };
       this.resetForm("formZZApply");
     },

+ 49 - 11
ruoyi-ui/src/views/project/termination/myTask.vue

@@ -24,6 +24,7 @@
         <el-form-item>
           <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
           <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          <el-button type="warning" plain icon="el-icon-download" size="mini" @click="exportQuery">导出</el-button>
         </el-form-item>
       </el-form>
       <!-- Tab 切换区域 -->
@@ -686,10 +687,57 @@ export default {
       this.queryParams.pageSize = 10;
       this.handleQuery();
     },
+    /*导出*/
+    exportQuery() {
+      switch (this.activeTab) {
+        case "list1":
+          // 待办任务:调用待办导出方法
+          this.handleExportMyTask();
+          break;
+        case "list2":
+          // 已办任务:调用已办导出方法
+          this.handleExportMyDoneTask();
+          break;
+        case "list3":
+          // 我的单据:调用单据导出方法
+          this.handleExportMy();
+          break;
+        default:
+          break;
+      }
+    },
+    /** 导出按钮操作 */
+    handleExportMyTask() {
+      this.download(
+        "project/termination/exportMyTask",
+        {
+          ...this.queryParams,
+        },
+        `MyTask_${new Date().getTime()}.xlsx`
+      );
+    },
+    handleExportMyDoneTask() {
+      this.download(
+        "project/termination/exportMyDoneTask",
+        {
+          ...this.queryParams,
+        },
+        `MyDoneTask_${new Date().getTime()}.xlsx`
+      );
+    },
+    handleExportMy() {
+      this.download(
+        "project/termination/exportMy",
+        {
+          ...this.queryParams,
+        },
+        `My_${new Date().getTime()}.xlsx`
+      );
+    },
     clickRow(row) {
       this.$refs.dataTable.toggleRowSelection(row);
     },
-    /*投资机会详情*/
+    /*项目机会详情*/
     handleInvestOppDetail(row) {
       const projectPoolId = row.projectPoolId;
       getPool(projectPoolId).then((response) => {
@@ -769,16 +817,6 @@ export default {
         })
         .catch(() => {});
     },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download(
-        "invest/pool/export",
-        {
-          ...this.queryParams,
-        },
-        `pool_${new Date().getTime()}.xlsx`
-      );
-    },
     /** 流程图查看 */
     handleReadImage(row){
       this.readImage.title = "流程图";