From 0a2013ac0a8356c4bdbc44ba05e622b54d9bebed Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 15 十二月 2023 17:22:38 +0800
Subject: [PATCH] 修改
---
modules/mainPart/src/main/java/com/zt/life/modules/contractReview/model/ContractReviewItem.java | 36 ++
modules/mainPart/src/main/java/com/zt/life/modules/project/dao/SoftwareTestOrderDao.java | 1
modules/mainPart/src/main/resources/mapper/project/ProjectDao.xml | 3
modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java | 205 ++++++++++++
modules/mainPart/src/main/java/com/zt/life/modules/contractReview/model/ContractReview.java | 62 +++
modules/mainPart/src/main/java/com/zt/life/modules/contractReview/dto/ContractReviewDto.java | 33 +
modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java | 3
web/src/views/modules/contractReview/ContractReview-AddOrUpdate.vue | 204 ++++++++++++
modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java | 26
web/src/views/modules/contractReview/ContractReview.vue | 65 +++
modules/mainPart/src/main/java/com/zt/life/modules/contractReview/controller/ContractReviewController.java | 118 ++++++
modules/mainPart/src/main/java/com/zt/life/modules/contractReview/controller/ContractReviewItemController.java | 93 +++++
modules/mainPart/src/main/java/com/zt/life/modules/contractReview/dao/ContractReviewItemDao.java | 25 +
modules/mainPart/src/main/java/com/zt/life/modules/contractReview/dao/ContractReviewDao.java | 23 +
modules/mainPart/src/main/resources/mapper/contractReview/ContractReviewDao.xml | 21 +
modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewItemService.java | 54 +++
modules/mainPart/src/main/resources/mapper/contractReview/ContractReviewItemDao.xml | 34 ++
modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml | 13
18 files changed, 1,005 insertions(+), 14 deletions(-)
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/controller/ContractReviewController.java b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/controller/ContractReviewController.java
new file mode 100644
index 0000000..9e7d246
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/controller/ContractReviewController.java
@@ -0,0 +1,118 @@
+package com.zt.life.modules.contractReview.controller;
+
+
+import com.zt.common.annotation.LogOperation;
+import com.zt.common.constant.Constant;
+import com.zt.common.annotation.QueryParam;
+import com.zt.common.db.query.QueryFilter;
+import com.zt.common.servlet.Result;
+import com.zt.common.servlet.PageResult;
+import com.zt.common.validator.AssertUtils;
+import com.zt.common.validator.ValidatorUtils;
+import com.zt.common.validator.group.AddGroup;
+import com.zt.common.validator.group.DefaultGroup;
+import com.zt.common.validator.group.UpdateGroup;
+import com.zt.life.modules.contractReview.dto.ContractReviewDto;
+import com.zt.life.modules.contractReview.model.ContractReview;
+import com.zt.life.modules.contractReview.service.ContractReviewService;
+import com.zt.life.modules.itemCirculatOrder.dto.ItemCirculatOrderDto;
+import com.zt.life.modules.itemCirculatOrder.service.ItemCirculatOrderService;
+import com.zt.modules.coderule.service.SysCodeRuleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * contract_review
+ *
+ * @author zt generator
+ * @since 1.0.0 2023-12-15
+ */
+@RestController
+@RequestMapping("/contractReview/ContractReview/")
+@Api(tags="contract_review")
+public class ContractReviewController {
+ @Autowired
+ private ContractReviewService contractReviewService;
+
+ @Autowired
+ private SysCodeRuleService sysCodeRuleService;
+
+ @GetMapping("page")
+ @ApiOperation("鍒嗛〉")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = Constant.Q.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT),
+ @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT),
+ @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
+ @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
+ @ApiImplicitParam(name = "reviewPhase", value = "璇勫闃舵", dataType = Constant.QT.STRING, format = "a.review_phase^EQ"),
+ @ApiImplicitParam(name = "softwareName", value = "鐗╁搧鍚嶇О", dataType = Constant.QT.STRING, format = "p.software_name^EQ"),
+ @ApiImplicitParam(name = "softwareIdentity", value = "鐗╁搧缂栧彿", dataType = Constant.QT.STRING, format = "p.software_identity^EQ")
+ })
+ public PageResult<ContractReview> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
+ return PageResult.ok(contractReviewService.page(queryFilter));
+ }
+
+ @GetMapping("getDto")
+ @ApiOperation("淇℃伅")
+ public Result<ContractReviewDto> getDto(Long projectId, Long reviewId) {
+ ContractReviewDto data = contractReviewService.getDto(projectId, reviewId);
+ return Result.ok(data);
+ }
+
+ @PostMapping
+ @ApiOperation("鏂板")
+ @LogOperation("鏂板")
+ public Result<Long> insert(@RequestBody ContractReviewDto reviewDto){
+ //鏁堥獙鏁版嵁
+ ValidatorUtils.validateEntity(reviewDto.getContractReview(), AddGroup.class, DefaultGroup.class);
+ Map<String, String> map = new HashMap<>();
+ map.put("funCode", "contract_review");
+ map.put("projectId",reviewDto.getProjectId().toString());
+ reviewDto.getContractReview().setCode(sysCodeRuleService.getNewCode(map));
+ Boolean result = contractReviewService.save(reviewDto);
+ return Result.ok(reviewDto.getContractReview().getId());
+ }
+
+ @PutMapping
+ @ApiOperation("淇敼")
+ @LogOperation("淇敼")
+ public Result<Long> update(@RequestBody ContractReviewDto reviewDto){
+ //鏁堥獙鏁版嵁
+ ValidatorUtils.validateEntity(reviewDto.getContractReview(), UpdateGroup.class, DefaultGroup.class);
+ Boolean result = contractReviewService.save(reviewDto);
+
+ return Result.ok(reviewDto.getContractReview().getId());
+ }
+
+
+ @DeleteMapping("deleteReview")
+ @ApiOperation("鍒犻櫎")
+ @LogOperation("鍒犻櫎")
+ public Result delete(@RequestBody Long[] ids){
+ //鏁堥獙鏁版嵁
+ AssertUtils.isArrayEmpty(ids, "id");
+ contractReviewService.delete(ids);
+
+ return Result.ok();
+ }
+
+/* @GetMapping("exportReview")
+ @ApiOperation("鎵撳嵃鍚堝悓璇勫鍗�")
+ @LogOperation("鎵撳嵃鍚堝悓璇勫鍗�")
+ public void exportReview(Long id, HttpServletRequest request, HttpServletResponse response) {
+ contractReviewService.exportReview(id, request, response);
+ }*/
+
+}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/controller/ContractReviewItemController.java b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/controller/ContractReviewItemController.java
new file mode 100644
index 0000000..88792a3
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/controller/ContractReviewItemController.java
@@ -0,0 +1,93 @@
+package com.zt.life.modules.contractReview.controller;
+
+
+import com.zt.common.annotation.LogOperation;
+import com.zt.common.constant.Constant;
+import com.zt.common.annotation.QueryParam;
+import com.zt.common.db.query.QueryFilter;
+import com.zt.common.servlet.Result;
+import com.zt.common.servlet.PageResult;
+import com.zt.common.validator.AssertUtils;
+import com.zt.common.validator.ValidatorUtils;
+import com.zt.common.validator.group.AddGroup;
+import com.zt.common.validator.group.DefaultGroup;
+import com.zt.common.validator.group.UpdateGroup;
+import com.zt.life.modules.contractReview.model.ContractReviewItem;
+import com.zt.life.modules.contractReview.service.ContractReviewItemService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+
+/**
+ * contract_review_item
+ *
+ * @author zt generator
+ * @since 1.0.0 2023-12-15
+ */
+@RestController
+@RequestMapping("/contractReviewItem/ContractReviewItem/")
+@Api(tags="contract_review_item")
+public class ContractReviewItemController {
+ @Autowired
+ private ContractReviewItemService contractReviewItemService;
+
+ @GetMapping("page")
+ @ApiOperation("鍒嗛〉")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = Constant.Q.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT),
+ @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT),
+ @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
+ @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
+ })
+ public PageResult<ContractReviewItem> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
+
+ return PageResult.ok(contractReviewItemService.page(queryFilter));
+ }
+
+ @GetMapping("{id}")
+ @ApiOperation("淇℃伅")
+ public Result<ContractReviewItem> get(@PathVariable("id") Long id){
+ ContractReviewItem data = contractReviewItemService.get(id);
+
+ return Result.ok(data);
+ }
+
+ @PostMapping
+ @ApiOperation("鏂板")
+ @LogOperation("鏂板")
+ public Result insert(@RequestBody ContractReviewItem contractReviewItem){
+ //鏁堥獙鏁版嵁
+ ValidatorUtils.validateEntity(contractReviewItem, AddGroup.class, DefaultGroup.class);
+ contractReviewItemService.insert(contractReviewItem);
+
+ return Result.ok();
+ }
+
+ @PutMapping
+ @ApiOperation("淇敼")
+ @LogOperation("淇敼")
+ public Result update(@RequestBody ContractReviewItem contractReviewItem){
+ //鏁堥獙鏁版嵁
+ ValidatorUtils.validateEntity(contractReviewItem, UpdateGroup.class, DefaultGroup.class);
+ contractReviewItemService.update(contractReviewItem);
+
+ return Result.ok();
+ }
+
+ @DeleteMapping
+ @ApiOperation("鍒犻櫎")
+ @LogOperation("鍒犻櫎")
+ public Result delete(@RequestBody Long[] ids){
+ //鏁堥獙鏁版嵁
+ AssertUtils.isArrayEmpty(ids, "id");
+ contractReviewItemService.delete(ids);
+
+ return Result.ok();
+ }
+
+}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/dao/ContractReviewDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/dao/ContractReviewDao.java
new file mode 100644
index 0000000..11948b1
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/dao/ContractReviewDao.java
@@ -0,0 +1,23 @@
+package com.zt.life.modules.contractReview.dao;
+
+import com.zt.common.dao.BaseDao;
+import com.zt.life.modules.contractReview.model.ContractReview;
+import org.apache.ibatis.annotations.Mapper;
+
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * contract_review
+ *
+ * @author zt generator
+ * @since 1.0.0 2023-12-15
+ */
+@Mapper
+public interface ContractReviewDao extends BaseDao<ContractReview> {
+
+ List<ContractReview> getList(Map<String, Object> params);
+
+}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/dao/ContractReviewItemDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/dao/ContractReviewItemDao.java
new file mode 100644
index 0000000..dbf3ff1
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/dao/ContractReviewItemDao.java
@@ -0,0 +1,25 @@
+package com.zt.life.modules.contractReview.dao;
+
+import com.zt.common.dao.BaseDao;
+import com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem;
+import com.zt.life.modules.contractReview.model.ContractReviewItem;
+import org.apache.ibatis.annotations.Mapper;
+
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * contract_review_item
+ *
+ * @author zt generator
+ * @since 1.0.0 2023-12-15
+ */
+@Mapper
+public interface ContractReviewItemDao extends BaseDao<ContractReviewItem> {
+
+ List<ContractReviewItem> getList(Map<String, Object> params);
+ List<ContractReviewItem> itemList(String dictType);
+
+}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/dto/ContractReviewDto.java b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/dto/ContractReviewDto.java
new file mode 100644
index 0000000..cb8fb4a
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/dto/ContractReviewDto.java
@@ -0,0 +1,33 @@
+package com.zt.life.modules.contractReview.dto;
+
+import com.zt.life.modules.contractReview.model.ContractReview;
+import com.zt.life.modules.contractReview.model.ContractReviewItem;
+import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrder;
+import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
+import com.zt.life.modules.project.model.Project;
+import com.zt.life.modules.sysBaseInfo.model.TestAgencyInfo;
+import com.zt.modules.workflow.dto.FlowInfoDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+public class ContractReviewDto {
+ private Long id;
+ private Long projectId;
+ private Long reviewId;
+
+ @ApiModelProperty(value = "娴嬭瘯椤圭洰鍩烘湰淇℃伅")
+ private Project project;
+ @ApiModelProperty(value = "鍚堝悓璇勫琛�")
+ private ContractReview contractReview;
+ @ApiModelProperty(value = "娴嬭瘯鏈烘瀯淇℃伅")
+ private TestAgencyInfo TestAgencyInfo;
+
+
+ @ApiModelProperty(value = "璇勫椤瑰垪琛�")
+ private List<ContractReviewItem> reviewItemList = new ArrayList<>();
+}
+
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/model/ContractReview.java b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/model/ContractReview.java
new file mode 100644
index 0000000..4e7c297
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/model/ContractReview.java
@@ -0,0 +1,62 @@
+package com.zt.life.modules.contractReview.model;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zt.common.entity.BusiEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * contract_review
+ *
+ * @author zt generator
+ * @since 1.0.0 2023-12-15
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("contract_review")
+public class ContractReview extends BusiEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "缂栧彿")
+ private String code;
+
+ @ApiModelProperty(value = "椤圭洰ID")
+ private Long projectId;
+
+ @ApiModelProperty(value = "濮旀墭鍗曠紪鍙�")
+ private String orderCode;
+
+ @ApiModelProperty(value = "璇勫绫诲瀷")
+ private String reviewType;
+
+ @ApiModelProperty(value = "璇勫璁板綍")
+ private String reviewRecord;
+
+ @ApiModelProperty(value = "瀹㈡埛鐨勭壒娈婅姹�")
+ private String specialRequire;
+
+ @ApiModelProperty(value = "鍒嗗寘")
+ private String subcontract;
+
+ @ApiModelProperty(value = "璇勫缁撹")
+ private String reviewConclusion;
+
+ @ApiModelProperty(value = "鎶�鏈礋璐d汉")
+ private String technicalDirector;
+
+ @ApiModelProperty(value = "璇勫鏃ユ湡")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date reviewDate;
+
+ @ApiModelProperty(value = "璇勫缁勬垚鍛�")
+ private String reviewPanelMember;
+
+ @ApiModelProperty(value = "骞翠唤")
+ private String year;
+
+}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/model/ContractReviewItem.java b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/model/ContractReviewItem.java
new file mode 100644
index 0000000..574a70e
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/model/ContractReviewItem.java
@@ -0,0 +1,36 @@
+package com.zt.life.modules.contractReview.model;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zt.common.entity.BusiEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * contract_review_item
+ *
+ * @author zt generator
+ * @since 1.0.0 2023-12-15
+ */
+@Data
+@EqualsAndHashCode(callSuper=false)
+@TableName("contract_review_item")
+public class ContractReviewItem extends BusiEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "璇勫鍗旾D")
+ private Long reviewId;
+
+ @ApiModelProperty(value = "搴忓彿")
+ private Integer no;
+
+ @ApiModelProperty(value = "璇勫椤�")
+ private String item;
+
+ @ApiModelProperty(value = "璇勫缁撴灉")
+ private String result;
+
+}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewItemService.java b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewItemService.java
new file mode 100644
index 0000000..cf0a8d0
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewItemService.java
@@ -0,0 +1,54 @@
+package com.zt.life.modules.contractReview.service;
+
+import com.zt.common.service.BaseService;
+import com.zt.core.sys.dto.DictIstance;
+import com.zt.life.modules.contractReview.dao.ContractReviewItemDao;
+import com.zt.life.modules.contractReview.model.ContractReviewItem;
+import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
+import org.springframework.stereotype.Service;
+import com.zt.common.db.query.QueryFilter;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * contract_review_item
+ *
+ * @author zt generator
+ * @since 1.0.0 2023-12-15
+ */
+@Service
+public class ContractReviewItemService extends BaseService<ContractReviewItemDao, ContractReviewItem> {
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param queryFilter
+ * @return
+ */
+ public List<ContractReviewItem> page(QueryFilter queryFilter) {
+ return baseDao.getList(queryFilter.getQueryParams());
+ }
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param ids
+ */
+ public void delete(Long[] ids) {
+ super.deleteLogic(ids);
+ }
+
+ public List<ContractReviewItem> getList(Long reviewId) {
+ Map<String, Object> params = new HashMap<>();
+ params.put("reviewId",reviewId);
+ return baseDao.getList(params);
+ }
+ public List<ContractReviewItem> itemList(String dictType) {
+ return baseDao.itemList(dictType);
+ }
+
+
+}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java
new file mode 100644
index 0000000..e928147
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java
@@ -0,0 +1,205 @@
+package com.zt.life.modules.contractReview.service;
+
+import cn.hutool.core.convert.Convert;
+import com.zt.common.service.BaseService;
+import com.zt.life.export.dto.WordFile;
+import com.zt.life.export.service.WordFileService;
+import com.zt.life.modules.contractReview.dao.ContractReviewDao;
+import com.zt.life.modules.contractReview.dto.ContractReviewDto;
+import com.zt.life.modules.contractReview.model.ContractReview;
+import com.zt.life.modules.contractReview.model.ContractReviewItem;
+import com.zt.life.modules.mainPart.utils.GetFilesPath;
+import com.zt.life.modules.mainPart.utils.GetShowDictList;
+import com.zt.life.modules.project.model.Project;
+import com.zt.life.modules.project.service.ProjectService;
+import com.zt.life.modules.project.service.SoftwareTestOrderDeliverableService;
+import com.zt.life.modules.project.service.SoftwareTestOrderService;
+import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService;
+import com.zt.life.sys.dto.OssDto;
+import com.zt.life.sys.service.SysOssConfigService;
+import com.zt.modules.coderule.service.SysCodeRuleService;
+import com.zt.modules.oss.service.SysOssService;
+import com.zt.modules.workflow.dto.FlowInfoDto;
+import com.zt.modules.workflow.service.WorkflowService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.zt.common.db.query.QueryFilter;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.FileNotFoundException;
+import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * contract_review
+ *
+ * @author zt generator
+ * @since 1.0.0 2023-12-15
+ */
+@Service
+public class ContractReviewService extends BaseService<ContractReviewDao, ContractReview> {
+
+ @Autowired
+ private SysOssConfigService sysOssConfigService;
+ @Autowired
+ private SoftwareTestOrderService softwareTestOrderService;
+
+ @Autowired
+ private SysOssService sysOssService;
+
+ @Autowired
+ private TestAgencyInfoService testAgencyInfoService;
+
+ @Autowired
+ private SysCodeRuleService sysCodeRuleService;
+
+ @Autowired
+ private ProjectService projectService;
+
+ @Autowired
+ private ContractReviewItemService itemService;
+
+ @Autowired
+ private WorkflowService workflowService;
+
+ @Autowired
+ private GetShowDictList getShowDictList;
+
+ @Autowired
+ private WordFileService wordFileService;
+
+ @Autowired
+ private GetFilesPath getFilesPath;
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param queryFilter
+ * @return
+ */
+ public List<ContractReview> page(QueryFilter queryFilter) {
+ return baseDao.getList(queryFilter.getQueryParams());
+ }
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param ids
+ */
+ public void delete(Long[] ids) {
+ super.deleteLogic(ids);
+ }
+
+ public Boolean save(ContractReviewDto reviewDto) {
+ Long reviewId = reviewDto.getContractReview().getId();
+ if (reviewId != null)
+ baseDao.updateById(reviewDto.getContractReview());
+ else {
+ Map<String, String> map = new HashMap<>();
+ map.put("funCode", "contract_review");
+ map.put("projectId", reviewDto.getProjectId().toString());
+ reviewDto.getContractReview().setProjectId(reviewDto.getProjectId());
+ reviewDto.getContractReview().setCode(sysCodeRuleService.getNewCode(map));
+ baseDao.insert(reviewDto.getContractReview());
+ reviewId = reviewDto.getContractReview().getId();
+ }
+
+ for (ContractReviewItem reviewItem : reviewDto.getReviewItemList()) {
+ reviewItem.setReviewId(reviewId);
+ if (reviewItem.getId() != null) {
+ itemService.update(reviewItem);
+ } else {
+ reviewItem.setReviewId(reviewId);
+ itemService.insert(reviewItem);
+ }
+ }
+
+ if (reviewDto.getTestAgencyInfo().getId() == 10000) {
+ reviewDto.getTestAgencyInfo().setId(reviewId);
+ testAgencyInfoService.insert(reviewDto.getTestAgencyInfo());
+ } else {
+ testAgencyInfoService.update(reviewDto.getTestAgencyInfo());
+ }
+ return true;
+ }
+
+ public ContractReviewDto getDto(Long projectId, Long reviewId) {
+ ContractReviewDto data = new ContractReviewDto();
+ if (reviewId != null) {
+ data.setId(reviewId);
+ ContractReview contractReview = this.get(reviewId);
+ data.setContractReview(contractReview);
+ if (projectId == null) {
+ projectId = contractReview.getProjectId();
+ }
+
+ data.setTestAgencyInfo(testAgencyInfoService.get(reviewId));
+
+ List<ContractReviewItem> reviewItemList = itemService.getList(reviewId);
+ data.setReviewItemList(reviewItemList);
+
+ } else {
+ ContractReview contractReview = new ContractReview();
+ data.setContractReview(contractReview);
+ String dictType ="contract_review_item";
+ List<?> resultList = itemService.itemList(dictType);
+ List<?> reviewItemList = resultList;
+ data.setReviewItemList((List<ContractReviewItem>) reviewItemList);
+ }
+
+ if (projectId != null) {
+ data.setProjectId(projectId);
+ Project project = projectService.get(projectId);
+ data.setProject(project);
+ }
+ data.getContractReview().setOrderCode(softwareTestOrderService.selectOrderId(projectId));
+ if (data.getTestAgencyInfo() == null)
+ data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
+ return data;
+ }
+/*
+ public void exportCirculatOrder(Long id, HttpServletRequest request, HttpServletResponse response) {
+ try {
+ ContractReviewDto dataObj = this.getDto(null, id);
+
+ String acceptorPath = "鏂囦欢鍥剧墖:"+ getFilesPath.getSignPath(Convert.toLong(dataObj.getContractReview().getItemAcceptorId()));
+ dataObj.getContractReview().setItemAcceptor(acceptorPath);
+ String detectorPath = "鏂囦欢鍥剧墖:"+getFilesPath.getSignPath(Convert.toLong(dataObj.getContractReview().getCalibratDetectorId()));
+ dataObj.getContractReview().setCalibratDetector(detectorPath);
+ String issuerPath = "鏂囦欢鍥剧墖:"+getFilesPath.getSignPath(Convert.toLong(dataObj.getContractReview().getItemIssuerId()));
+ dataObj.getContractReview().setItemIssuer(issuerPath);
+ //閫氱敤瀛楀吀鍒楄〃瀛楃涓茬敓鎴�
+ String itemRequireStr = getShowDictList.getShowDictList(dataObj.getContractReview().getItemRequire(), "is_or_not", false);
+ dataObj.getContractReview().setItemRequireStr(itemRequireStr);
+
+ String acceptSituationStr = getShowDictList.getShowDictList(dataObj.getContractReview().getAcceptSituation(), "is_or_not", false);
+ dataObj.getContractReview().setAcceptSituationStr(acceptSituationStr);
+
+ String detectSituationStr = getShowDictList.getShowDictList(dataObj.getContractReview().getDetectSituation(), "is_or_not", false);
+ dataObj.getContractReview().setDetectSituationStr(detectSituationStr);
+
+ String issueSituationStr = getShowDictList.getShowDictList(dataObj.getContractReview().getIssueSituation(), "is_or_not", false);
+ dataObj.getContractReview().setIssueSituationStr(issueSituationStr);
+
+ for (ContractReviewItem reviewItem : dataObj.getReviewItemList()) {
+ String value = reviewItem.getSecretClass();
+ String secretClassStr = getShowDictList.getShowDictList(value, "secret_class", false);
+ reviewItem.setSecretClass(secretClassStr);
+ }
+
+
+ WordFile wordFile = new WordFile();
+ wordFile.setModulePath("鐗╁搧娴佽浆鍗�.docx");
+ wordFile.setWordName(dataObj.getProject().getSoftwareName() + "_鐗╁搧娴佽浆鍗�.docx");
+ wordFileService.exportWordFile(request, dataObj, wordFile, response);
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ }
+ }*/
+}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java
index 74bd644..5d44f0f 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java
@@ -96,8 +96,8 @@
}
public Boolean save(ItemCirculatOrderDto itemCirculatOrderDto) {
- Long circulatOrderid = itemCirculatOrderDto.getCirculatOrder().getId();
- if (circulatOrderid != null)
+ Long circulatOrderId = itemCirculatOrderDto.getCirculatOrder().getId();
+ if (circulatOrderId != null)
baseDao.updateById(itemCirculatOrderDto.getCirculatOrder());
else {
Map<String, String> map = new HashMap<>();
@@ -106,22 +106,22 @@
itemCirculatOrderDto.getCirculatOrder().setProjectId(itemCirculatOrderDto.getProjectId());
itemCirculatOrderDto.getCirculatOrder().setCode(sysCodeRuleService.getNewCode(map));
baseDao.insert(itemCirculatOrderDto.getCirculatOrder());
- circulatOrderid = itemCirculatOrderDto.getCirculatOrder().getId();
+ circulatOrderId = itemCirculatOrderDto.getCirculatOrder().getId();
}
for (ItemCirculatOrderTechnical circulatOrderTechnical : itemCirculatOrderDto.getTechnicalList()) {
- circulatOrderTechnical.setCirculatOrderId(circulatOrderid);
+ circulatOrderTechnical.setCirculatOrderId(circulatOrderId);
if (circulatOrderTechnical.getId() != null) {
technicalService.update(circulatOrderTechnical);
} else {
- circulatOrderTechnical.setCirculatOrderId(circulatOrderid);
+ circulatOrderTechnical.setCirculatOrderId(circulatOrderId);
technicalService.insert(circulatOrderTechnical);
}
sysOssConfigService.updateOss(circulatOrderTechnical.getId(), circulatOrderTechnical.getFiles());// 淇濆瓨闄勪欢
}
if (itemCirculatOrderDto.getTestAgencyInfo().getId() == 10000) {
- itemCirculatOrderDto.getTestAgencyInfo().setId(circulatOrderid);
+ itemCirculatOrderDto.getTestAgencyInfo().setId(circulatOrderId);
testAgencyInfoService.insert(itemCirculatOrderDto.getTestAgencyInfo());
} else {
testAgencyInfoService.update(itemCirculatOrderDto.getTestAgencyInfo());
@@ -139,19 +139,19 @@
return true;
}
- public ItemCirculatOrderDto getDto(Long projectId, Long circulatOrderid) {
+ public ItemCirculatOrderDto getDto(Long projectId, Long circulatOrderId) {
ItemCirculatOrderDto data = new ItemCirculatOrderDto();
- if (circulatOrderid != null) {
- data.setId(circulatOrderid);
- ItemCirculatOrder itemCirculatOrder = this.get(circulatOrderid);
+ if (circulatOrderId != null) {
+ data.setId(circulatOrderId);
+ ItemCirculatOrder itemCirculatOrder = this.get(circulatOrderId);
data.setCirculatOrder(itemCirculatOrder);
if (projectId == null) {
projectId = itemCirculatOrder.getProjectId();
}
- data.setTestAgencyInfo(testAgencyInfoService.get(circulatOrderid));
+ data.setTestAgencyInfo(testAgencyInfoService.get(circulatOrderId));
- List<ItemCirculatOrderTechnical> technicalList = technicalService.getList(circulatOrderid);
+ List<ItemCirculatOrderTechnical> technicalList = technicalService.getList(circulatOrderId);
data.setTechnicalList(technicalList);
} else {
@@ -176,7 +176,7 @@
}
if (data.getTestAgencyInfo() == null)
data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
- if (circulatOrderid != null) {
+ if (circulatOrderId != null) {
for (ItemCirculatOrderTechnical technical : data.getTechnicalList()) {
Long technicalId = technical.getId();
OssDto ossDto = sysOssConfigService.getOssByBusiType(technicalId, "circulat_order");
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/SoftwareTestOrderDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/SoftwareTestOrderDao.java
index a642ae3..fa49e20 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/SoftwareTestOrderDao.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/SoftwareTestOrderDao.java
@@ -21,4 +21,5 @@
List<SoftwareTestOrder> getList(Map<String, Object> params);
List<DictIstance> dictList(String dictType, String projectCode,String softIdentity);
+ String selectOrderId(Long projectId);
}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java
index ecdd3f3..8526b69 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java
@@ -78,6 +78,9 @@
}
return list;
}
+ public String selectOrderId(Long projectId) {
+ return baseDao.selectOrderId(projectId);
+ }
/**
diff --git a/modules/mainPart/src/main/resources/mapper/contractReview/ContractReviewDao.xml b/modules/mainPart/src/main/resources/mapper/contractReview/ContractReviewDao.xml
new file mode 100644
index 0000000..399bbb6
--- /dev/null
+++ b/modules/mainPart/src/main/resources/mapper/contractReview/ContractReviewDao.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.zt.life.modules.contractReview.dao.ContractReviewDao">
+
+ <select id="getList" resultType="com.zt.life.modules.contractReview.model.ContractReview">
+ select a.*, p.software_name,p.software_identity
+ from contract_review a
+ INNER JOIN project p ON p.id = a.project_id
+ <where>
+ a.is_delete = 0 and p.is_delete = 0
+ <if test="whereSql!=null">
+ and ${whereSql}
+ </if>
+ </where>
+ <if test="orderBySql!=null">
+ ORDER BY ${orderBySql}
+ </if>
+ </select>
+
+</mapper>
diff --git a/modules/mainPart/src/main/resources/mapper/contractReview/ContractReviewItemDao.xml b/modules/mainPart/src/main/resources/mapper/contractReview/ContractReviewItemDao.xml
new file mode 100644
index 0000000..80c8adf
--- /dev/null
+++ b/modules/mainPart/src/main/resources/mapper/contractReview/ContractReviewItemDao.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.zt.life.modules.contractReview.dao.ContractReviewItemDao">
+
+ <select id="getList" resultType="com.zt.life.modules.contractReview.model.ContractReviewItem">
+ select a.*
+ from contract_review_item a
+ <where>
+ a.is_delete = 0
+ <if test="reviewId!=null">
+ and warehouse_id = ${reviewId}
+ </if>
+ </where>
+ <if test="orderBySql!=null">
+ ORDER BY ${orderBySql}
+ </if>
+ </select>
+ <select id="itemList" resultType="com.zt.life.modules.contractReview.model.ContractReviewItem">
+ SET @row_number = 0;
+ SELECT dd.dict_label AS item,
+ (@row_number := @row_number + 1) AS no
+ FROM sys_dict_type dt
+ JOIN sys_dict_data dd ON dt.ID = dd.DICT_TYPE_ID
+ <where>
+ dd.IS_DELETE = 0
+ <if test="dictType != null and dictType != ''">
+ and dt.DICT_TYPE = #{dictType}
+ </if>
+ </where>
+ ORDER BY dd.sort
+ </select>
+
+</mapper>
diff --git a/modules/mainPart/src/main/resources/mapper/project/ProjectDao.xml b/modules/mainPart/src/main/resources/mapper/project/ProjectDao.xml
index 719f9d1..154daf9 100644
--- a/modules/mainPart/src/main/resources/mapper/project/ProjectDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/project/ProjectDao.xml
@@ -14,6 +14,9 @@
<if test="tableName!=null">
and id not in (select project_id from ${tableName} where is_delete = 0)
</if>
+ <if test="tableName =='contract_review'">
+ and is_contract =1
+ </if>
</where>
<if test="orderBySql!=null">
ORDER BY ${orderBySql}
diff --git a/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml b/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml
index eb6db4d..b5b8bf9 100644
--- a/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml
@@ -6,7 +6,7 @@
<select id="getList" resultType="com.zt.life.modules.project.model.SoftwareTestOrder">
SELECT a.*, p.software_name,p.software_identity
FROM software_test_order a
- INNER JOIN project p ON p.id = a.project_id
+ INNER JOIN project p ON p.id = a.project_id
<where>
a.is_delete = 0 and p.is_delete = 0
<if test="whereSql!=null">
@@ -18,6 +18,17 @@
</if>
</select>
+ <select id="selectOrderId" resultType="java.lang.String">
+ SELECT code
+ FROM software_test_order
+ <where>
+ is_delete = 0
+ <if test="projectId != null and projectId != ''">
+ and project_id = ${projectId}
+ </if>
+ </where>
+ </select>
+
<select id="dictList" resultType="com.zt.core.sys.dto.DictIstance">
SET @row_number = 0;
SELECT concat('${softIdentity}', dd.dict_label) AS name,
diff --git a/web/src/views/modules/contractReview/ContractReview-AddOrUpdate.vue b/web/src/views/modules/contractReview/ContractReview-AddOrUpdate.vue
new file mode 100644
index 0000000..5ac9a39
--- /dev/null
+++ b/web/src/views/modules/contractReview/ContractReview-AddOrUpdate.vue
@@ -0,0 +1,204 @@
+<template>
+ <zt-dialog ref="dialog" column="3" :title="title" :stepMarker="stepMarker" @confirm="formSubmit">
+ <el-form ref="dataForm" style="padding-top: 0" :inline="true" :disabled="dataForm.disabled" :model="dataForm"
+ label-width="120px" class="warehouseFormAuto">
+ <div>
+ <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: -5px">
+ <span>{{dataForm.contractReview.code || '缂栧彿鑷姩鐢熸垚'}}</span>
+ </el-form-item>
+ </div>
+ <div style="border: 1px solid rgba(0,0,0,.2);width: 99%">
+ <div style="border-bottom: 1px solid rgba(0,0,0,.2);" class="warehouseContentWidth">
+ <el-form-item class="marginTopAndMarginBottom" label="瀹㈡埛鍚嶇О" style="width: 49%">
+ <el-input v-model="dataForm.testAgencyInfo.agencyName" placeholder="璇疯緭鍏ュ鎴峰悕绉�"></el-input>
+ </el-form-item>
+ <el-form-item class="marginTopAndMarginBottom" label="鑱旂郴鐢佃瘽" style="width: 49%">
+ <el-input v-model="dataForm.testAgencyInfo.labContactNum" placeholder="璇疯緭鍏ヨ仈绯荤數璇�"></el-input>
+ </el-form-item>
+ <zt-dict v-model="dataForm.contractReview.reviewType" :radio="true" dict="review_type"></zt-dict>
+ <el-form-item label-width="60px" label="鍘熷鎵樺崟缂栧彿:" style="width:100%;margin-bottom: -5px">
+ <span>{{dataForm.contractReview.orderCode}}</span>
+ </el-form-item>
+ </div>
+ <div class="el-flexManageDialog el-border-bottom">
+ <div class="DFormWidth DAlign DHold">
+ 璇勫椤圭洰
+ </div>
+ <div class="el-border-left" style="width: calc(100% - 120px)">
+ <div class="table-container">
+ <el-table ref="tableConfigItemList" class="el-software el-margin-top-bot"
+ style="width: 99%;margin-left: 5px" border :data="dataForm.reviewItemList"
+ stripe>
+ <el-table-column prop="no" align="center" width="60" label="搴忓彿">
+ <template slot-scope="scope">
+ <span v-html="indexFormat(scope.$index)"></span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="item" width="200" label="閰嶇疆椤瑰悕绉�">
+ <template v-slot="{ row }">
+ <el-input v-model="row.item" placeholder="璇勫椤�"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="result" label="瀵嗙骇" width="100" align="center">
+ <template v-slot="{ row }">
+ <zt-dict v-model="row.result" placeholder="璇勫缁撴灉" dict="tristate1"></zt-dict>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="el-flexManageDialog el-border-bottom">
+ <div class="DFormWidth DAlign DHold">
+ 璇勫璁板綍
+ </div>
+ <div style="width: calc(100% - 120px)" class="el-border-left">
+ <el-form-item class="el-wt-form-item-margin" label-width="20px" style="width: 85%">
+ <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�"
+ v-model="dataForm.contractReview.reviewRecord"></el-input>
+ </el-form-item>
+ </div>
+ </div>
+ <div class="el-flexManageDialog el-border-bottom">
+ <div class="DFormWidth DAlign DHold">
+ 瀹㈡埛鐨勭壒娈婅姹�
+ </div>
+ <div style="width: calc(100% - 120px)" class="el-border-left">
+ <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
+ <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�"
+ v-model="dataForm.contractReview.specialRequire"></el-input>
+ </el-form-item>
+ </div>
+ </div>
+ <div class="el-flexManageDialog">
+ <div class="DFormWidth DAlign DHold">
+ 鍒嗗寘
+ </div>
+ <div style="width: calc(100% - 120px)" class="el-border-left">
+ <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
+ <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�"
+ v-model="dataForm.contractReview.subcontract"></el-input>
+ </el-form-item>
+ </div>
+ </div>
+ <div class="el-flexManageDialog">
+ <div class="DFormWidth DAlign DHold">
+ 璇勫缁撹
+ </div>
+ <div style="width: calc(100% - 120px)" class="el-border-left">
+ <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
+ <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�"
+ v-model="dataForm.contractReview.reviewConclusion"></el-input>
+ </el-form-item>
+ <el-form-item label="鎶�鏈礋璐d汉锛�" style="width: 48%">
+ <span>{{dataForm.contractReview.technicalDirector}}</span>
+ </el-form-item>
+ <el-form-item label="鏃ユ湡锛�" style="width: 48%">
+ <span>{{dataForm.contractReview.reviewDate}}</span>
+ </el-form-item>
+ </div>
+ </div>
+ <div class="el-flexManageDialog">
+ <div class="DFormWidth DAlign DHold">
+ 璇勫缁勬垚鍛�
+ </div>
+ <div style="width: calc(100% - 120px)" class="el-border-left">
+ <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
+ <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�"
+ v-model="dataForm.contractReview.reviewPanelMember"></el-input>
+ </el-form-item>
+ </div>
+ </div>
+ <add-or-update-check ref="addOrUpdate" @recall="setCheckId"/>
+ </el-form>
+ <template v-slot:footer>
+ <el-button v-if="dataForm.disabled" type="primary" @click="print()">鎵撳嵃</el-button>
+ </template>
+ </zt-dialog>
+
+</template>
+
+<script>
+ import qs from "qs";
+ import Cookies from "js-cookie";
+
+ export default {
+ data() {
+ return {
+ dataForm: {
+ id: '',
+ contractReview: {
+ code: '',
+ orderCode: '',
+ reviewType: '',
+ reviewRecord: '',
+ specialRequire: '',
+ subcontract: '',
+ reviewConclusion: '',
+ technicalDirector: '',
+ reviewDate: '',
+ reviewPanelMember: '',
+ },
+ testAgencyInfo:{
+ agencyName:'',
+ labContactNum:''
+ },
+ reviewItemList:[]
+ }
+ }
+ },
+ methods: {
+ indexFormat(index) {
+ return index += 1
+ },
+ init(id, row) {
+ if (id) {
+ this.dataForm.id = id
+ } else {
+ this.dataForm.id = row.id
+ }
+ if (row.projectId) {
+ this.dataForm.projectId = row.projectId
+ }
+ this.getInfo()
+ console.log(this.dataForm.id, this.dataForm.projectId, 'params params')
+ },
+ // 鑾峰彇淇℃伅
+ async getInfo() {
+ let params = {
+ reviewId: this.dataForm.id,
+ projectId: this.dataForm.projectId
+ }
+ let res = await this.$http.get(`/contractReview/ContractReview/getDto`, {params: params})
+ this.dataForm = {
+ ...this.dataForm,
+ ...res.data
+ }
+ console.log(this.dataForm, "getInfo this.dataForm")
+ },
+
+ setCheckId(checkId, row) {
+ console.log(checkId, row, "setCheckId(checkId, row)")
+ this.$set(row, 'checkId', checkId)
+ },
+ /*async print(){
+ var params = qs.stringify({
+ token: Cookies.get('token'),
+ id:this.dataForm.id
+ })
+ let apiURL = `/contractReview/ContractReview/exportWarehouseOrder`
+ window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
+ },*/
+ // 琛ㄥ崟鎻愪氦
+ async formSubmit(submitType) {
+ let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/contractReview/ContractReview/', this.dataForm)
+ if (res.success) {
+ await this.$tip.success()
+ this.$refs.dialog.close()
+ this.$emit('refreshDataList')
+ }
+ }
+ }
+ }
+</script>
diff --git a/web/src/views/modules/contractReview/ContractReview.vue b/web/src/views/modules/contractReview/ContractReview.vue
new file mode 100644
index 0000000..1fadbb7
--- /dev/null
+++ b/web/src/views/modules/contractReview/ContractReview.vue
@@ -0,0 +1,65 @@
+<template>
+ <el-card shadow="never" class="aui-card--fill">
+ <div class="mod-contractReview-contractReview}">
+ <zt-table-wraper query-url="/contractReview/ContractReview/page" delete-url="/contractReview/ContractReview" v-slot="{ table }">
+ <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
+ <el-form-item>
+ <zt-dict v-model="dataForm.reviewType" dict="review_type" placeholder="璇烽�夋嫨璇勫闃舵" clearable></zt-dict>
+ </el-form-item>
+ <el-form-item>
+ <el-input v-model="dataForm.softwareName" placeholder="璇疯緭鍏ヨ蒋浠跺悕绉�" clearable></el-input>
+ </el-form-item>
+ <el-form-item>
+ <zt-button type="query" @click="table.query()"/>
+ <zt-button type="primary" class="el-icon-edit" @click="add()">鏂板</zt-button>
+ <zt-button type="delete" perm="contractReview:delete" @click="table.deleteHandle()"/>
+ </el-form-item>
+ </el-form>
+ <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}" border @selection-change="table.selectionChangeHandle">
+ <el-table-column type="selection" width="40"/>
+ <el-table-column prop="code" label="缂栧彿"/>
+ <el-table-column prop="reviewType" label="璇勫闃舵"/>
+ <el-table-column prop="softwareName" width="250px" label="杞欢鍚嶇О"/>
+ <el-table-column prop="softwareIdentity" width="150px" label="椤圭洰鏍囪瘑"/>
+ <zt-table-column-handle :table="table" edit-perm="contractReview:update" delete-perm="contractReview::delete"/>
+ </el-table>
+ <!-- 寮圭獥, 鏂板 / 淇敼 -->
+ <add-or-update ref="addOrUpdate" @refreshDataList="table.query"/>
+ <ProjectSelect ref="projectSelect"
+ @refreshDataList="table.query"
+ @setProjectInfo="openAddWin">
+ </ProjectSelect>
+ </zt-table-wraper>
+ </div>
+ </el-card>
+</template>
+
+<script>
+ import AddOrUpdate from './ContractReview-AddOrUpdate'
+ import ProjectSelect from "../project/Project-select.vue"
+ export default {
+ data() {
+ return {
+ dataForm: {
+ reviewType: '',
+ }
+ }
+ },
+ components: {
+ AddOrUpdate,
+ ProjectSelect,
+ },
+ methods: {
+ add() {
+ this.$refs.projectSelect.$refs.dialog.init("contract_review")
+ },
+ isCheckbox(row,index){
+ return !(row.flowInfo && row.flowInfo.bizId);
+ },
+ openAddWin(row) {
+ console.log(row.id, 'row.id')
+ this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id})
+ },
+ }
+ }
+</script>
--
Gitblit v1.9.1