From 2c89ccdc9e008060f8cd6608c9fcb014616987a3 Mon Sep 17 00:00:00 2001 From: zzw <wander.zheng@qq.com> Date: 星期一, 20 十一月 2023 10:27:45 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironHardwareResourcesController.java | 96 +++ web/src/views/modules/olderForm/confirmForm.vue | 495 +++++++++------ modules/mainPart/src/main/java/com/zt/life/modules/project/model/Environ.java | 20 modules/mainPart/src/main/resources/mapper/project/EnvironAnalysisDao.xml | 20 modules/mainPart/src/main/java/com/zt/life/modules/project/dao/EnvironHardwareResourcesDao.java | 23 modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironAnalysisService.java | 48 + modules/mainPart/src/main/java/com/zt/life/modules/project/dto/SoftwareTestOrderDto.java | 15 modules/mainPart/src/main/resources/mapper/project/EnvironDao.xml | 7 modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironSoftwareResourcesController.java | 96 +++ modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java | 119 +++ modules/mainPart/src/main/resources/mapper/project/EnvironHardwareResourcesDao.xml | 20 modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironAnalysisController.java | 96 +++ modules/mainPart/src/main/java/com/zt/life/modules/project/model/EnvironSoftwareResources.java | 42 + modules/mainPart/src/main/java/com/zt/life/modules/project/dao/EnvironAnalysisDao.java | 23 web/src/views/modules/project/Environ.vue | 33 modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironHardwareResourcesService.java | 48 + modules/mainPart/src/main/resources/mapper/sysBaseInfo/TestAgencyInfoDao.xml | 5 modules/mainPart/src/main/java/com/zt/life/modules/project/dao/EnvironSoftwareResourcesDao.java | 23 modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironController.java | 56 + web/src/views/modules/project/Environ-AddOrUpdate.vue | 322 +++++++++- modules/mainPart/src/main/java/com/zt/life/modules/project/model/EnvironHardwareResources.java | 45 + modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironSoftwareResourcesService.java | 48 + modules/mainPart/src/main/java/com/zt/life/modules/project/model/EnvironAnalysis.java | 45 + modules/mainPart/src/main/resources/mapper/project/EnvironSoftwareResourcesDao.xml | 20 24 files changed, 1,476 insertions(+), 289 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironAnalysisController.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironAnalysisController.java new file mode 100644 index 0000000..e145ae0 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironAnalysisController.java @@ -0,0 +1,96 @@ +package com.zt.life.modules.project.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.project.model.EnvironAnalysis; +import com.zt.life.modules.project.service.EnvironAnalysisService; +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.HttpServletResponse; +import java.util.List; + + +/** + * environ_analysis + * + * @author zt generator + * @since 1.0.0 2023-11-17 + */ +@RestController +@RequestMapping("/project/EnvironAnalysis/") +@Api(tags="environ_analysis") +public class EnvironAnalysisController { + @Autowired + private EnvironAnalysisService environAnalysisService; + + @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<EnvironAnalysis> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ + + return PageResult.ok(environAnalysisService.page(queryFilter)); + } + + @GetMapping("{id}") + @ApiOperation("淇℃伅") + public Result<EnvironAnalysis> get(@PathVariable("id") Long id){ + EnvironAnalysis data = environAnalysisService.get(id); + + return Result.ok(data); + } + + @PostMapping + @ApiOperation("鏂板") + @LogOperation("鏂板") + public Result insert(@RequestBody EnvironAnalysis environAnalysis){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(environAnalysis, AddGroup.class, DefaultGroup.class); + environAnalysisService.insert(environAnalysis); + + return Result.ok(); + } + + @PutMapping + @ApiOperation("淇敼") + @LogOperation("淇敼") + public Result update(@RequestBody EnvironAnalysis environAnalysis){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(environAnalysis, UpdateGroup.class, DefaultGroup.class); + environAnalysisService.update(environAnalysis); + + return Result.ok(); + } + + @DeleteMapping + @ApiOperation("鍒犻櫎") + @LogOperation("鍒犻櫎") + public Result delete(@RequestBody Long[] ids){ + //鏁堥獙鏁版嵁 + AssertUtils.isArrayEmpty(ids, "id"); + environAnalysisService.delete(ids); + + return Result.ok(); + } + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironController.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironController.java index 4e3d86a..b696495 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironController.java @@ -12,8 +12,12 @@ 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.project.dto.SoftwareTestOrderDto; import com.zt.life.modules.project.model.Environ; import com.zt.life.modules.project.service.EnvironService; +import com.zt.life.sys.dto.OssDto; +import com.zt.life.sys.service.SysOssConfigService; +import com.zt.modules.coderule.service.SysCodeRuleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -23,58 +27,76 @@ import springfox.documentation.annotations.ApiIgnore; import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * environ * - * @author zt generator + * @author zt generator * @since 1.0.0 2023-11-17 */ @RestController @RequestMapping("/project/Environ/") -@Api(tags="environ") +@Api(tags = "environ") public class EnvironController { @Autowired private EnvironService environService; + @Autowired + private SysOssConfigService sysOssConfigService; + + @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 = "code", value = "缂栧彿", dataType = Constant.QT.STRING, format = "CODE^LK") }) - public PageResult<Environ> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ + @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 = "code", value = "缂栧彿", dataType = Constant.QT.STRING, format = "CODE^LK")}) + public PageResult<Environ> page(@ApiIgnore @QueryParam QueryFilter queryFilter) { return PageResult.ok(environService.page(queryFilter)); } - @GetMapping("{id}") + @GetMapping("getDto") @ApiOperation("淇℃伅") - public Result<Environ> get(@PathVariable("id") Long id){ - Environ data = environService.get(id); - + public Result<SoftwareTestOrderDto> getDto(Long projectId, Long environId) { + SoftwareTestOrderDto data = environService.getDto(environId, projectId); + if (projectId != null) { + OssDto ossDto = sysOssConfigService.getOssByBusiType(projectId, "environ"); + if (ossDto != null) { + data.setFiles(ossDto); + } + } return Result.ok(data); } @PostMapping @ApiOperation("鏂板") @LogOperation("鏂板") - public Result insert(@RequestBody Environ environ){ + public Result insert(@RequestBody SoftwareTestOrderDto softwareTestOrderDto) { //鏁堥獙鏁版嵁 - ValidatorUtils.validateEntity(environ, AddGroup.class, DefaultGroup.class); - environService.insert(environ); + ValidatorUtils.validateEntity(softwareTestOrderDto, AddGroup.class, DefaultGroup.class); + Map<String,String> map = new HashMap<>(); + map.put("funCode","environ"); + softwareTestOrderDto.getEnviron().setCode(sysCodeRuleService.getNewCode(map)); + Boolean result = environService.save(softwareTestOrderDto); return Result.ok(); } + @PutMapping @ApiOperation("淇敼") @LogOperation("淇敼") - public Result update(@RequestBody Environ environ){ + public Result update(@RequestBody Environ environ) { //鏁堥獙鏁版嵁 ValidatorUtils.validateEntity(environ, UpdateGroup.class, DefaultGroup.class); environService.update(environ); @@ -85,7 +107,7 @@ @DeleteMapping @ApiOperation("鍒犻櫎") @LogOperation("鍒犻櫎") - public Result delete(@RequestBody Long[] ids){ + public Result delete(@RequestBody Long[] ids) { //鏁堥獙鏁版嵁 AssertUtils.isArrayEmpty(ids, "id"); environService.delete(ids); diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironHardwareResourcesController.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironHardwareResourcesController.java new file mode 100644 index 0000000..fe758bb --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironHardwareResourcesController.java @@ -0,0 +1,96 @@ +package com.zt.life.modules.project.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.project.model.EnvironHardwareResources; +import com.zt.life.modules.project.service.EnvironHardwareResourcesService; +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.HttpServletResponse; +import java.util.List; + + +/** + * environ_hardware_resources + * + * @author zt generator + * @since 1.0.0 2023-11-17 + */ +@RestController +@RequestMapping("/project/EnvironHardwareResources/") +@Api(tags="environ_hardware_resources") +public class EnvironHardwareResourcesController { + @Autowired + private EnvironHardwareResourcesService environHardwareResourcesService; + + @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<EnvironHardwareResources> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ + + return PageResult.ok(environHardwareResourcesService.page(queryFilter)); + } + + @GetMapping("{id}") + @ApiOperation("淇℃伅") + public Result<EnvironHardwareResources> get(@PathVariable("id") Long id){ + EnvironHardwareResources data = environHardwareResourcesService.get(id); + + return Result.ok(data); + } + + @PostMapping + @ApiOperation("鏂板") + @LogOperation("鏂板") + public Result insert(@RequestBody EnvironHardwareResources environHardwareResources){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(environHardwareResources, AddGroup.class, DefaultGroup.class); + environHardwareResourcesService.insert(environHardwareResources); + + return Result.ok(); + } + + @PutMapping + @ApiOperation("淇敼") + @LogOperation("淇敼") + public Result update(@RequestBody EnvironHardwareResources environHardwareResources){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(environHardwareResources, UpdateGroup.class, DefaultGroup.class); + environHardwareResourcesService.update(environHardwareResources); + + return Result.ok(); + } + + @DeleteMapping + @ApiOperation("鍒犻櫎") + @LogOperation("鍒犻櫎") + public Result delete(@RequestBody Long[] ids){ + //鏁堥獙鏁版嵁 + AssertUtils.isArrayEmpty(ids, "id"); + environHardwareResourcesService.delete(ids); + + return Result.ok(); + } + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironSoftwareResourcesController.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironSoftwareResourcesController.java new file mode 100644 index 0000000..ae91210 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/EnvironSoftwareResourcesController.java @@ -0,0 +1,96 @@ +package com.zt.life.modules.project.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.project.model.EnvironSoftwareResources; +import com.zt.life.modules.project.service.EnvironSoftwareResourcesService; +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.HttpServletResponse; +import java.util.List; + + +/** + * environ_software_resources + * + * @author zt generator + * @since 1.0.0 2023-11-17 + */ +@RestController +@RequestMapping("/project/EnvironSoftwareResources/") +@Api(tags="environ_software_resources") +public class EnvironSoftwareResourcesController { + @Autowired + private EnvironSoftwareResourcesService environSoftwareResourcesService; + + @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<EnvironSoftwareResources> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ + + return PageResult.ok(environSoftwareResourcesService.page(queryFilter)); + } + + @GetMapping("{id}") + @ApiOperation("淇℃伅") + public Result<EnvironSoftwareResources> get(@PathVariable("id") Long id){ + EnvironSoftwareResources data = environSoftwareResourcesService.get(id); + + return Result.ok(data); + } + + @PostMapping + @ApiOperation("鏂板") + @LogOperation("鏂板") + public Result insert(@RequestBody EnvironSoftwareResources environSoftwareResources){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(environSoftwareResources, AddGroup.class, DefaultGroup.class); + environSoftwareResourcesService.insert(environSoftwareResources); + + return Result.ok(); + } + + @PutMapping + @ApiOperation("淇敼") + @LogOperation("淇敼") + public Result update(@RequestBody EnvironSoftwareResources environSoftwareResources){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(environSoftwareResources, UpdateGroup.class, DefaultGroup.class); + environSoftwareResourcesService.update(environSoftwareResources); + + return Result.ok(); + } + + @DeleteMapping + @ApiOperation("鍒犻櫎") + @LogOperation("鍒犻櫎") + public Result delete(@RequestBody Long[] ids){ + //鏁堥獙鏁版嵁 + AssertUtils.isArrayEmpty(ids, "id"); + environSoftwareResourcesService.delete(ids); + + return Result.ok(); + } + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/EnvironAnalysisDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/EnvironAnalysisDao.java new file mode 100644 index 0000000..bfc96d8 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/EnvironAnalysisDao.java @@ -0,0 +1,23 @@ +package com.zt.life.modules.project.dao; + +import com.zt.common.dao.BaseDao; +import com.zt.life.modules.project.model.EnvironAnalysis; +import org.apache.ibatis.annotations.Mapper; + + +import java.util.List; +import java.util.Map; + + +/** + * environ_analysis + * + * @author zt generator + * @since 1.0.0 2023-11-17 + */ +@Mapper +public interface EnvironAnalysisDao extends BaseDao<EnvironAnalysis> { + + List<EnvironAnalysis> getList(Map<String, Object> params); + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/EnvironHardwareResourcesDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/EnvironHardwareResourcesDao.java new file mode 100644 index 0000000..baffcd6 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/EnvironHardwareResourcesDao.java @@ -0,0 +1,23 @@ +package com.zt.life.modules.project.dao; + +import com.zt.common.dao.BaseDao; +import com.zt.life.modules.project.model.EnvironHardwareResources; +import org.apache.ibatis.annotations.Mapper; + + +import java.util.List; +import java.util.Map; + + +/** + * environ_hardware_resources + * + * @author zt generator + * @since 1.0.0 2023-11-17 + */ +@Mapper +public interface EnvironHardwareResourcesDao extends BaseDao<EnvironHardwareResources> { + + List<EnvironHardwareResources> getList(Map<String, Object> params); + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/EnvironSoftwareResourcesDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/EnvironSoftwareResourcesDao.java new file mode 100644 index 0000000..afc215a --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/EnvironSoftwareResourcesDao.java @@ -0,0 +1,23 @@ +package com.zt.life.modules.project.dao; + +import com.zt.common.dao.BaseDao; +import com.zt.life.modules.project.model.EnvironSoftwareResources; +import org.apache.ibatis.annotations.Mapper; + + +import java.util.List; +import java.util.Map; + + +/** + * environ_software_resources + * + * @author zt generator + * @since 1.0.0 2023-11-17 + */ +@Mapper +public interface EnvironSoftwareResourcesDao extends BaseDao<EnvironSoftwareResources> { + + List<EnvironSoftwareResources> getList(Map<String, Object> params); + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/dto/SoftwareTestOrderDto.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/dto/SoftwareTestOrderDto.java index 466f9b8..527ef61 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/dto/SoftwareTestOrderDto.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/dto/SoftwareTestOrderDto.java @@ -1,9 +1,6 @@ package com.zt.life.modules.project.dto; -import com.zt.life.modules.project.model.Project; -import com.zt.life.modules.project.model.SoftwareTestOrder; -import com.zt.life.modules.project.model.SoftwareTestOrderDeliverable; -import com.zt.life.modules.project.model.SoftwareTestOrderMeasured; +import com.zt.life.modules.project.model.*; import com.zt.life.modules.sysBaseInfo.model.TestAgencyInfo; import com.zt.life.sys.dto.OssDto; import io.swagger.annotations.ApiModelProperty; @@ -16,11 +13,14 @@ public class SoftwareTestOrderDto { private Long id; private Long projectId; + private Long orderId; @ApiModelProperty(value = "娴嬭瘯濮旀墭鍗曡褰�") private SoftwareTestOrder softwareTestOrder; @ApiModelProperty(value = "娴嬭瘯椤圭洰鍩烘湰淇℃伅") private Project project; + @ApiModelProperty(value = "娴嬭瘯鐜寤虹珛纭") + private Environ environ; @ApiModelProperty(value = "娴嬭瘯鏈烘瀯淇℃伅") private TestAgencyInfo TestAgencyInfo; @ApiModelProperty(value = "娴嬭瘯濮旀墭鍗曢檮浠�") @@ -30,5 +30,12 @@ private List<SoftwareTestOrderMeasured> measuredList = new ArrayList<>(); @ApiModelProperty(value = "浜や粯浠�") private List<SoftwareTestOrderDeliverable> deliverableList = new ArrayList<>(); + @ApiModelProperty(value = "杞欢璧勬簮") + private List<EnvironSoftwareResources> softwareResourcesList = new ArrayList<>(); + @ApiModelProperty(value = "纭欢璧勬簮") + private List<EnvironHardwareResources> hardwareResourcesList = new ArrayList<>(); + @ApiModelProperty(value = "鐜宸紓鎬у垎鏋�") + private List<EnvironAnalysis> environAnalysisList = new ArrayList<>(); + } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Environ.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Environ.java index 1c8f2e8..2e55186 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Environ.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Environ.java @@ -1,5 +1,6 @@ package com.zt.life.modules.project.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.zt.common.entity.BusiEntity; @@ -24,6 +25,9 @@ @ApiModelProperty(value = "缂栧彿") private String code; + + @ApiModelProperty(value = "椤圭洰ID") + private Long projectId; @ApiModelProperty(value = "纭蒋浠惰祫婧�") private String hardSoftwareRes; @@ -60,4 +64,20 @@ @ApiModelProperty(value = "鐥呮瘨搴撶増鏈�") private String virusDatabaseVersion; + @TableField(exist = false) + @ApiModelProperty(value = "涓撲笟瀹為獙瀹ゅ悕绉�") + private String agencyName; + + @TableField(exist = false) + @ApiModelProperty(value = "娴嬭瘯鍦扮偣") + private String site; + + @TableField(exist = false) + @ApiModelProperty(value = "琚祴杞欢") + private String softwareName; + + @TableField(exist = false) + @ApiModelProperty(value = "鐗堟湰") + private String softwareIdentity; + } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/EnvironAnalysis.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/EnvironAnalysis.java new file mode 100644 index 0000000..666826f --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/EnvironAnalysis.java @@ -0,0 +1,45 @@ +package com.zt.life.modules.project.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; + +/** + * environ_analysis + * + * @author zt generator + * @since 1.0.0 2023-11-17 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("environ_analysis") +public class EnvironAnalysis extends BusiEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "鐜娴嬭瘯鍗旾D") + private Long environId; + + @ApiModelProperty(value = "搴忓彿") + private Integer no; + + @ApiModelProperty(value = "鐪熷疄鐜") + private String realEnviron; + + @ApiModelProperty(value = "娴嬭瘯鐜") + private String testEnviron; + + @ApiModelProperty(value = "鐜宸紓") + private String environDifference; + + @ApiModelProperty(value = "瀵规祴璇曠粨鏋滃奖鍝�") + private String resultImpact; + + @ApiModelProperty(value = "鎺柦") + private String measure; + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/EnvironHardwareResources.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/EnvironHardwareResources.java new file mode 100644 index 0000000..26f6414 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/EnvironHardwareResources.java @@ -0,0 +1,45 @@ +package com.zt.life.modules.project.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; + +/** + * environ_hardware_resources + * + * @author zt generator + * @since 1.0.0 2023-11-17 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("environ_hardware_resources") +public class EnvironHardwareResources extends BusiEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "鐜娴嬭瘯鍗旾D") + private Long environId; + + @ApiModelProperty(value = "搴忓彿") + private Integer no; + + @ApiModelProperty(value = "纭欢鍜屽浐浣撻」鍚嶇О") + private String itemName; + + @ApiModelProperty(value = "鐢ㄩ��") + private String usage; + + @ApiModelProperty(value = "鐘舵��") + private String state; + + @ApiModelProperty(value = "鏁伴噺") + private Integer number; + + @ApiModelProperty(value = "鎻愪緵鍗曚綅") + private String provideUnit; + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/EnvironSoftwareResources.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/EnvironSoftwareResources.java new file mode 100644 index 0000000..d8dcfcb --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/EnvironSoftwareResources.java @@ -0,0 +1,42 @@ +package com.zt.life.modules.project.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; + +/** + * environ_software_resources + * + * @author zt generator + * @since 1.0.0 2023-11-17 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("environ_software_resources") +public class EnvironSoftwareResources extends BusiEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "鐜娴嬭瘯鍗旾D") + private Long environId; + + @ApiModelProperty(value = "搴忓彿") + private Integer no; + + @ApiModelProperty(value = "杞欢椤瑰悕绉�") + private String itemName; + + @ApiModelProperty(value = "鐗堟湰") + private String version; + + @ApiModelProperty(value = "鐢ㄩ��") + private String usage; + + @ApiModelProperty(value = "鎻愪緵鍗曚綅") + private String provideUnit; + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironAnalysisService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironAnalysisService.java new file mode 100644 index 0000000..04fed58 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironAnalysisService.java @@ -0,0 +1,48 @@ +package com.zt.life.modules.project.service; + +import com.zt.common.service.BaseService; +import com.zt.life.modules.project.dao.EnvironAnalysisDao; +import com.zt.life.modules.project.model.EnvironAnalysis; +import com.zt.life.modules.project.model.EnvironHardwareResources; +import org.springframework.stereotype.Service; +import com.zt.common.db.query.QueryFilter; +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * environ_analysis + * + * @author zt generator + * @since 1.0.0 2023-11-17 + */ +@Service +public class EnvironAnalysisService extends BaseService<EnvironAnalysisDao, EnvironAnalysis> { + + /** + * 鍒嗛〉鏌ヨ + * + * @param queryFilter + * @return + */ + public List<EnvironAnalysis> page(QueryFilter queryFilter) { + return baseDao.getList(queryFilter.getQueryParams()); + } + + /** + * 鍒犻櫎 + * + * @param ids + */ + public void delete(Long[] ids) { + super.deleteLogic(ids); + } + + public List<EnvironAnalysis> getList(Long environId) { + Map<String, Object> params = new HashMap<>(); + params.put("environId",environId); + return baseDao.getList(params); + } +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironHardwareResourcesService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironHardwareResourcesService.java new file mode 100644 index 0000000..47e2a76 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironHardwareResourcesService.java @@ -0,0 +1,48 @@ +package com.zt.life.modules.project.service; + +import com.zt.common.service.BaseService; +import com.zt.life.modules.project.dao.EnvironHardwareResourcesDao; +import com.zt.life.modules.project.model.EnvironHardwareResources; +import com.zt.life.modules.project.model.EnvironSoftwareResources; +import org.springframework.stereotype.Service; +import com.zt.common.db.query.QueryFilter; +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * environ_hardware_resources + * + * @author zt generator + * @since 1.0.0 2023-11-17 + */ +@Service +public class EnvironHardwareResourcesService extends BaseService<EnvironHardwareResourcesDao, EnvironHardwareResources> { + + /** + * 鍒嗛〉鏌ヨ + * + * @param queryFilter + * @return + */ + public List<EnvironHardwareResources> page(QueryFilter queryFilter) { + return baseDao.getList(queryFilter.getQueryParams()); + } + + /** + * 鍒犻櫎 + * + * @param ids + */ + public void delete(Long[] ids) { + super.deleteLogic(ids); + } + + public List<EnvironHardwareResources> getList(Long environId) { + Map<String, Object> params = new HashMap<>(); + params.put("environId",environId); + return baseDao.getList(params); + } +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java index d030877..556abeb 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java @@ -2,21 +2,88 @@ import com.zt.common.service.BaseService; import com.zt.life.modules.project.dao.EnvironDao; -import com.zt.life.modules.project.model.Environ; +import com.zt.life.modules.project.dto.SoftwareTestOrderDto; +import com.zt.life.modules.project.model.*; +import com.zt.life.modules.sysBaseInfo.model.TestAgencyInfo; +import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService; +import com.zt.life.sys.service.SysOssConfigService; +import com.zt.modules.coderule.service.SysCodeRuleService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zt.common.db.query.QueryFilter; + import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * environ * - * @author zt generator + * @author zt generator * @since 1.0.0 2023-11-17 */ @Service -public class EnvironService extends BaseService<EnvironDao, Environ> { +public class EnvironService extends BaseService<EnvironDao, Environ> { + + @Autowired + private EnvironSoftwareResourcesService environSoftwareResourcesService; + + @Autowired + private EnvironHardwareResourcesService environHardwareResourcesService; + + @Autowired + private SoftwareTestOrderService softwareTestOrderService; + + @Autowired + private SysCodeRuleService sysCodeRuleService; + + @Autowired + private SysOssConfigService sysOssConfigService; + + @Autowired + private EnvironAnalysisService environAnalysisService; + + @Autowired + private ProjectService projectService; + + @Autowired + private TestAgencyInfoService testAgencyInfoService; + + + public SoftwareTestOrderDto getDto(Long projectId, Long environId) { + SoftwareTestOrderDto data = new SoftwareTestOrderDto(); + if (environId != null) { + data.setId(environId); + Environ environ = this.get(environId); + data.setEnviron(environ); + + projectId = environ.getProjectId(); + + List<EnvironSoftwareResources> softwareResourcesList = environSoftwareResourcesService.getList(environId); + data.setSoftwareResourcesList(softwareResourcesList); + + List<EnvironHardwareResources> hardwareResourcesList = environHardwareResourcesService.getList(environId); + data.setHardwareResourcesList(hardwareResourcesList); + + List<EnvironAnalysis> environAnalysesList = environAnalysisService.getList(environId); + data.setEnvironAnalysisList(environAnalysesList); + } else { + Project project = projectService.get(projectId); + data.getEnviron().setSoftwareName(project.getSoftwareName()); + data.getEnviron().setSoftwareIdentity(project.getSoftwareIdentity()); + } + if (data.getTestAgencyInfo() == null) + data.getEnviron().setAgencyName(testAgencyInfoService.get(10000L).getAgencyName()); + data.getEnviron().setSite(testAgencyInfoService.get(10000L).getSite()); + if (projectId != null) { + data.setOrderId(projectId); + data.setSoftwareTestOrder(softwareTestOrderService.get(projectId)); + } + + return data; + } /** * 鍒嗛〉鏌ヨ @@ -37,4 +104,50 @@ super.deleteLogic(ids); } + public Boolean save(SoftwareTestOrderDto softwareTestOrderDto) { + Long environId = softwareTestOrderDto.getEnviron().getId(); + if (environId != null) + baseDao.updateById(softwareTestOrderDto.getEnviron()); + else { + Map<String, String> map = new HashMap<>(); + map.put("funCode", "environ"); + softwareTestOrderDto.getEnviron().setProjectId(softwareTestOrderDto.getProjectId()); + softwareTestOrderDto.getEnviron().setCode(sysCodeRuleService.getNewCode(map)); + baseDao.insert(softwareTestOrderDto.getEnviron()); + environId = softwareTestOrderDto.getEnviron().getId(); + } + + for (EnvironSoftwareResources environSoftwareResources : softwareTestOrderDto.getSoftwareResourcesList()) { + environSoftwareResources.setEnvironId(environId); + if (environSoftwareResources.getId() != null) { + environSoftwareResourcesService.update(environSoftwareResources); + } else { + environSoftwareResources.setEnvironId(environId); + environSoftwareResourcesService.insert(environSoftwareResources); + } + } + + for (EnvironHardwareResources environHardwareResources : softwareTestOrderDto.getHardwareResourcesList()) { + environHardwareResources.setEnvironId(environId); + if (environHardwareResources.getId() != null) { + environHardwareResourcesService.update(environHardwareResources); + } else { + environHardwareResources.setEnvironId(environId); + environHardwareResourcesService.insert(environHardwareResources); + } + } + + for (EnvironAnalysis environAnalysis : softwareTestOrderDto.getEnvironAnalysisList()) { + environAnalysis.setEnvironId(environId); + if (environAnalysis.getId() != null) { + environAnalysisService.update(environAnalysis); + } else { + environAnalysis.setEnvironId(environId); + environAnalysisService.insert(environAnalysis); + } + } + + sysOssConfigService.updateOss(softwareTestOrderDto.getId(), softwareTestOrderDto.getFiles());// 淇濆瓨闄勪欢 + return true; + } } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironSoftwareResourcesService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironSoftwareResourcesService.java new file mode 100644 index 0000000..4d6d48e --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironSoftwareResourcesService.java @@ -0,0 +1,48 @@ +package com.zt.life.modules.project.service; + +import com.zt.common.service.BaseService; +import com.zt.life.modules.project.dao.EnvironSoftwareResourcesDao; +import com.zt.life.modules.project.model.EnvironSoftwareResources; +import com.zt.life.modules.project.model.SoftwareTestOrderMeasured; +import org.springframework.stereotype.Service; +import com.zt.common.db.query.QueryFilter; +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * environ_software_resources + * + * @author zt generator + * @since 1.0.0 2023-11-17 + */ +@Service +public class EnvironSoftwareResourcesService extends BaseService<EnvironSoftwareResourcesDao, EnvironSoftwareResources> { + + /** + * 鍒嗛〉鏌ヨ + * + * @param queryFilter + * @return + */ + public List<EnvironSoftwareResources> page(QueryFilter queryFilter) { + return baseDao.getList(queryFilter.getQueryParams()); + } + + /** + * 鍒犻櫎 + * + * @param ids + */ + public void delete(Long[] ids) { + super.deleteLogic(ids); + } + + public List<EnvironSoftwareResources> getList(Long environId) { + Map<String, Object> params = new HashMap<>(); + params.put("environId",environId); + return baseDao.getList(params); + } +} diff --git a/modules/mainPart/src/main/resources/mapper/project/EnvironAnalysisDao.xml b/modules/mainPart/src/main/resources/mapper/project/EnvironAnalysisDao.xml new file mode 100644 index 0000000..7c61953 --- /dev/null +++ b/modules/mainPart/src/main/resources/mapper/project/EnvironAnalysisDao.xml @@ -0,0 +1,20 @@ +<?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.project.dao.EnvironAnalysisDao"> + + <select id="getList" resultType="com.zt.life.modules.project.model.EnvironAnalysis"> + select a.* + from environ_analysis a + <where> + a.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/project/EnvironDao.xml b/modules/mainPart/src/main/resources/mapper/project/EnvironDao.xml index 42eb2ff..dc5a2f0 100644 --- a/modules/mainPart/src/main/resources/mapper/project/EnvironDao.xml +++ b/modules/mainPart/src/main/resources/mapper/project/EnvironDao.xml @@ -4,10 +4,11 @@ <mapper namespace="com.zt.life.modules.project.dao.EnvironDao"> <select id="getList" resultType="com.zt.life.modules.project.model.Environ"> - select a.* - from environ a + SELECT a.*, p.* + FROM software_test_order a + INNER JOIN project p ON p.id = a.project_id <where> - a.is_delete = 0 + a.is_delete = 0 and p.is_delete = 0 <if test="whereSql!=null"> and ${whereSql} </if> diff --git a/modules/mainPart/src/main/resources/mapper/project/EnvironHardwareResourcesDao.xml b/modules/mainPart/src/main/resources/mapper/project/EnvironHardwareResourcesDao.xml new file mode 100644 index 0000000..db884be --- /dev/null +++ b/modules/mainPart/src/main/resources/mapper/project/EnvironHardwareResourcesDao.xml @@ -0,0 +1,20 @@ +<?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.project.dao.EnvironHardwareResourcesDao"> + + <select id="getList" resultType="com.zt.life.modules.project.model.EnvironHardwareResources"> + select a.* + from environ_hardware_resources a + <where> + a.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/project/EnvironSoftwareResourcesDao.xml b/modules/mainPart/src/main/resources/mapper/project/EnvironSoftwareResourcesDao.xml new file mode 100644 index 0000000..d55ed3e --- /dev/null +++ b/modules/mainPart/src/main/resources/mapper/project/EnvironSoftwareResourcesDao.xml @@ -0,0 +1,20 @@ +<?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.project.dao.EnvironSoftwareResourcesDao"> + + <select id="getList" resultType="com.zt.life.modules.project.model.EnvironSoftwareResources"> + select a.* + from environ_software_resources a + <where> + a.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/sysBaseInfo/TestAgencyInfoDao.xml b/modules/mainPart/src/main/resources/mapper/sysBaseInfo/TestAgencyInfoDao.xml index b1f1e5e..725551c 100644 --- a/modules/mainPart/src/main/resources/mapper/sysBaseInfo/TestAgencyInfoDao.xml +++ b/modules/mainPart/src/main/resources/mapper/sysBaseInfo/TestAgencyInfoDao.xml @@ -7,10 +7,7 @@ select a.* from test_agency_info a <where> - a.is_delete = 0 - <if test="whereSql!=null"> - and ${whereSql} - </if> + a.is_delete = 0 and a.ID = 10000 </where> <if test="orderBySql!=null"> ORDER BY ${orderBySql} diff --git a/web/src/views/modules/olderForm/confirmForm.vue b/web/src/views/modules/olderForm/confirmForm.vue index 52439b8..5b52112 100644 --- a/web/src/views/modules/olderForm/confirmForm.vue +++ b/web/src/views/modules/olderForm/confirmForm.vue @@ -1,217 +1,294 @@ -<!--<template>--> -<!-- <div class="fa-card-a" style="max-height: calc(100vh - 130px);overflow-y: auto">--> -<!-- <el-form ref="form" :inline="true" :model="form" label-width="120px" class="confirmFormAuto">--> -<!-- <div class="DConfirmForm">--> -<!-- <el-form-item label-width="60px" label="缂栧彿:" style="width: 99%">--> -<!-- <span>{{form.code}}</span>--> -<!-- </el-form-item>--> -<!-- </div>--> -<!-- <div class="confirmDAuto DConfirmForm">--> -<!-- <el-form-item label="涓撲笟瀹為獙瀹ゅ悕绉�" style="width: 49%">--> -<!-- <el-input v-model="form.name" placeholder="璇疯緭鍏ョ紪鍙峰悕绉�"></el-input>--> -<!-- </el-form-item>--> -<!-- <el-form-item label="娴嬭瘯鍦扮偣" style="width: 49%">--> -<!-- <el-input v-model="form.place" placeholder="璇疯緭鍏ョ紪鍙峰悕绉�"></el-input>--> -<!-- </el-form-item>--> -<!-- <el-form-item label="琚祴杞欢" style="width: 49%">--> -<!-- <el-input v-model="form.software" placeholder="璇疯緭鍏ョ紪鍙峰悕绉�"></el-input>--> -<!-- </el-form-item>--> -<!-- <el-form-item label="鐗堟湰" style="width: 49%">--> -<!-- <el-input v-model="form.versions" placeholder="璇疯緭鍏ョ紪鍙峰悕绉�"></el-input>--> -<!-- </el-form-item>--> -<!-- <div class="el-flex el-form-border">--> -<!-- <div class="DFormWidth DAlign DHold">--> -<!-- 纭蒋浠惰祫婧�--> -<!-- </div>--> -<!-- <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)">--> -<!-- <div style="padding: 5px">杞欢璧勬簮锛�</div>--> -<!-- <el-table class="el-software el-margin-top-bot" height="150" border :data="form.softwareData"--> -<!-- stripe>--> -<!-- <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column>--> -<!-- <el-table-column prop="name" min-width="300" label="杞欢椤瑰悕绉�"></el-table-column>--> -<!-- <el-table-column prop="versions" align="center" width="180" label="鐗堟湰"></el-table-column>--> -<!-- <el-table-column prop="use" align="center" width="180" label="鐢ㄩ��"></el-table-column>--> -<!-- <el-table-column prop="unit" label="鎻愪緵鍗曚綅" width="180" align="center"></el-table-column>--> -<!-- </el-table>--> -<!-- <div style="padding: 5px">纭欢璧勬簮锛�</div>--> -<!-- <el-table class="el-software el-margin-top-bot" height="150" border :data="form.hardwareData"--> -<!-- stripe>--> -<!-- <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column>--> -<!-- <el-table-column prop="name" min-width="300" label="纭欢鍜屽浐浠堕」鐩悕绉�"></el-table-column>--> -<!-- <el-table-column prop="use" align="center" width="180" label="鐢ㄩ��"></el-table-column>--> -<!-- <el-table-column prop="number" align="center" width="80" label="鏁伴噺"></el-table-column>--> -<!-- <el-table-column prop="state" align="center" width="120" label="鐘舵��"></el-table-column>--> -<!-- <el-table-column prop="unit" align="center" width="180" label="鎻愪緵鍗曚綅"></el-table-column>--> -<!-- </el-table>--> -<!-- </div>--> -<!-- </div>--> -<!-- <div class="el-flex el-B-border">--> -<!-- <div class="DFormWidth DAlign DHold">--> -<!-- 鍔ㄦ�佹祴璇曠幆澧冨浘--> -<!-- </div>--> -<!-- <div style="width: calc(100% - 120px);">--> -<!-- <div style="height:150px" class="el-wt-border-left">--> -<!-- </div>--> -<!-- </div>--> -<!-- </div>--> -<!-- <div class="el-flex el-B-border">--> -<!-- <div class="DFormWidth DAlign DHold">--> -<!-- 鐜宸紓鎬у垎鏋�--> -<!-- </div>--> -<!-- <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)">--> -<!-- <el-table class="el-software el-margin-top-bot" height="150" border :data="form.analyzeData"--> -<!-- stripe>--> -<!-- <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column>--> -<!-- <el-table-column prop="realEnvironment" min-width="300" label="鐪熷疄鐜"></el-table-column>--> -<!-- <el-table-column prop="testEnvironment" align="center" width="100" label="娴嬭瘯鐜"></el-table-column>--> -<!-- <el-table-column prop="environmentalDifference" align="center" width="100" label="鐜宸紓"></el-table-column>--> -<!-- <el-table-column prop="influence" align="center" width="160" label="瀵规祴璇曠粨鏋滃奖鍝�"></el-table-column>--> -<!-- <el-table-column prop="measure" align="center" width="180" label="鎺柦"></el-table-column>--> -<!-- </el-table>--> -<!-- </div>--> -<!-- </div>--> -<!-- <div class="el-flex el-B-border">--> -<!-- <div class="DFormWidth DAlign DHold">--> -<!-- 鐜寤虹珛--> -<!-- </div>--> -<!-- <div style="width: calc(100% - 120px)" class="DConfirmForm el-wt-border-left">--> -<!-- <el-form-item label="浜哄憳" style="width: 49%">--> -<!-- <el-input v-model="form.buildPersonnel" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input>--> -<!-- </el-form-item>--> -<!-- <el-form-item label="鏃ユ湡" style="width: 48%">--> -<!-- <el-input v-model="form.buildDate" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input>--> -<!-- </el-form-item>--> -<!-- <el-form-item label-width="160px" class="isKill" label="鏄惁杩涜鐜鐥呮瘨鏌ユ潃" style="width: 49%">--> -<!-- <el-radio-group v-model="form.isKill">--> -<!-- <el-radio :label="0">鏄�</el-radio>--> -<!-- <el-radio :label="1">鍚�</el-radio>--> -<!-- </el-radio-group>--> -<!-- </el-form-item>--> -<!-- <el-form-item label="鐥呮瘨搴撶増鏈�" style="width: 48%">--> -<!-- <el-input v-model="form.VirusLibraryVersion" placeholder="璇疯緭鍏ョ梾姣掑簱鐗堟湰"></el-input>--> -<!-- </el-form-item>--> -<!-- </div>--> -<!-- </div>--> -<!-- <div class="el-flex">--> -<!-- <div class="DFormWidth DAlign DHold">--> -<!-- 鐜纭--> -<!-- </div>--> -<!-- <div style="width: calc(100% - 120px)" class="DConfirmForm el-wt-border-left">--> -<!-- <!– 鍗曚綅鍚嶇О –>--> -<!-- <el-form-item label="浜哄憳" style="width: 49%">--> -<!-- <el-input v-model="form.verifyPersonnel" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input>--> -<!-- </el-form-item>--> -<!-- <!– 鑱旂郴浜� –>--> -<!-- <el-form-item label="鏃ユ湡" style="width: 48%">--> -<!-- <el-input v-model="form.verifyDate" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input>--> -<!-- </el-form-item>--> -<!-- </div>--> -<!-- </div>--> -<!-- </div>--> -<!-- </el-form>--> -<!-- </div>--> -<!--</template>--> +<template> + <div class="fa-card-a" style="max-height: calc(100vh - 130px);overflow-y: auto"> + <el-form ref="form" :inline="true" :model="form" label-width="120px" class="confirmFormAuto"> + <div class="DConfirmForm"> + <el-form-item label-width="60px" label="缂栧彿:" style="width: 99%"> + <span>{{ form.code }}</span> + </el-form-item> + </div> + <div class="confirmDAuto DConfirmForm"> + <el-form-item label="涓撲笟瀹為獙瀹ゅ悕绉�" style="width: 49%"> + <el-input v-model="form.name" placeholder="璇疯緭鍏ョ紪鍙峰悕绉�"></el-input> + </el-form-item> + <el-form-item label="娴嬭瘯鍦扮偣" style="width: 49%"> + <el-input v-model="form.place" placeholder="璇疯緭鍏ョ紪鍙峰悕绉�"></el-input> + </el-form-item> + <el-form-item label="琚祴杞欢" style="width: 49%"> + <el-input v-model="form.software" placeholder="璇疯緭鍏ョ紪鍙峰悕绉�"></el-input> + </el-form-item> + <el-form-item label="鐗堟湰" style="width: 49%"> + <el-input v-model="form.versions" placeholder="璇疯緭鍏ョ紪鍙峰悕绉�"></el-input> + </el-form-item> + <div class="el-flex el-form-border"> + <div class="DFormWidth DAlign DHold"> + 纭蒋浠惰祫婧� + </div> + <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)"> + <div style="padding: 5px">杞欢璧勬簮锛�</div> + <div class="table-container"> + <el-table style="position:relative;" class="el-software el-margin-top-bot" height="150" border + :data="form.softwareData" + stripe> + <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column> + <el-table-column prop="name" min-width="300" label="杞欢椤瑰悕绉�"> -<!--<script>--> -<!-- export default {--> -<!-- name: 'confirmForm',--> -<!-- data() {--> -<!-- return {--> -<!-- form: {--> -<!-- code: '719G19804/P3A-09-20XX-00X',--> -<!-- name: '',--> -<!-- place: '',--> -<!-- software: '',--> -<!-- versions: '',--> -<!-- buildPersonnel: '',--> -<!-- buildDate: '',--> -<!-- isKill:1,--> -<!-- VirusLibraryVersion: '',--> -<!-- verifyPersonnel: '',--> -<!-- verifyDate: '',--> -<!-- checkList: [1, 0],--> -<!-- softwareData:[--> -<!-- {code:'1',name:'awdas',versions:'1.3.1',use:'濂ヨ开',unit:'鍗曚綅1'},--> -<!-- {code:'2',name:'闃垮皵娉�',versions:'1.3.1',use:'濂ヨ开',unit:'鍗曚綅2'},--> -<!-- {code:'3',name:'awed',versions:'1.3.1',use:'濂ヨ开',unit:'鍗曚綅3'},--> -<!-- {code:'4',name:'鍥藉湡閮�',versions:'1.3.1',use:'濂ヨ开',unit:'鍗曚綅4'},--> -<!-- ],--> -<!-- hardwareData:[--> -<!-- {code:'1',name:'awdas',use:'杞︿笂',number:'2',state:'21',unit:'鍗曚綅1'},--> -<!-- {code:'2',name:'qe',use:'515',number:'1',state:'21',unit:'鍗曚綅2'},--> -<!-- {code:'3',name:'123',use:'1234',number:'42',state:'11',unit:'鍗曚綅4'},--> -<!-- {code:'4',name:'1515',use:'123',number:'1',state:'21',unit:'鍗曚綅51'},--> -<!-- ],--> -<!-- analyzeData:[--> -<!-- {code:'1',realEnvironment:'鐪熷疄鐜1',testEnvironment:'娴嬭瘯鐜1',environmentalDifference:'123',influence:'wu',measure:'12'},--> -<!-- {code:'1',realEnvironment:'鐪熷疄鐜1',testEnvironment:'娴嬭瘯鐜1',environmentalDifference:'123',influence:'wu',measure:'14'},--> -<!-- {code:'1',realEnvironment:'鐪熷疄鐜1',testEnvironment:'娴嬭瘯鐜1',environmentalDifference:'123',influence:'wu',measure:'15'},--> -<!-- {code:'1',realEnvironment:'鐪熷疄鐜1',testEnvironment:'娴嬭瘯鐜1',environmentalDifference:'123',influence:'wu',measure:'16'},--> -<!-- ],--> -<!-- },--> -<!-- }--> -<!-- },--> -<!-- }--> -<!--</script>--> + </el-table-column> + <el-table-column prop="versions" align="center" width="180" label="鐗堟湰"> -<!--<style>--> -<!--.confirmFormAuto {--> -<!-- width: 70%;--> -<!-- margin: 0 auto;--> -<!--}--> -<!--.confirmDAuto{--> -<!-- border: 1px solid;--> -<!--}--> + </el-table-column> + <el-table-column prop="use" align="center" width="180" label="鐢ㄩ��"> -<!--.el-flex {--> -<!-- display: flex;--> -<!-- align-items: center;--> -<!--}--> + </el-table-column> + <el-table-column prop="unit" label="鎻愪緵鍗曚綅" width="180" align="center"> -<!--.DFormWidth {--> -<!-- width: 120px;--> -<!--}--> + </el-table-column> + </el-table> + <div class="icon-container" @click="addRow()"> + <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> + <i class="el-icon-plus"></i> + </div> + </div> + <div style="padding: 5px">纭欢璧勬簮锛�</div> + <el-table class="el-software el-margin-top-bot" height="150" border :data="form.hardwareData" + stripe> + <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column> + <el-table-column prop="name" min-width="300" label="纭欢鍜屽浐浠堕」鐩悕绉�"></el-table-column> + <el-table-column prop="use" align="center" width="180" label="鐢ㄩ��"></el-table-column> + <el-table-column prop="number" align="center" width="80" label="鏁伴噺"></el-table-column> + <el-table-column prop="state" align="center" width="120" label="鐘舵��"></el-table-column> + <el-table-column prop="unit" align="center" width="180" label="鎻愪緵鍗曚綅"></el-table-column> + </el-table> + </div> + </div> + <div class="el-flex el-B-border"> + <div class="DFormWidth DAlign DHold"> + 鍔ㄦ�佹祴璇曠幆澧冨浘 + </div> + <div style="width: calc(100% - 120px);"> + <div style="height:150px" class="el-wt-border-left"> + </div> + </div> + </div> + <div class="el-flex el-B-border"> + <div class="DFormWidth DAlign DHold"> + 鐜宸紓鎬у垎鏋� + </div> + <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)"> + <el-table class="el-software el-margin-top-bot" height="150" border :data="form.analyzeData" + stripe> + <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column> + <el-table-column prop="realEnvironment" min-width="300" label="鐪熷疄鐜"></el-table-column> + <el-table-column prop="testEnvironment" align="center" width="100" label="娴嬭瘯鐜"></el-table-column> + <el-table-column prop="environmentalDifference" align="center" width="100" + label="鐜宸紓"></el-table-column> + <el-table-column prop="influence" align="center" width="160" label="瀵规祴璇曠粨鏋滃奖鍝�"></el-table-column> + <el-table-column prop="measure" align="center" width="180" label="鎺柦"></el-table-column> + </el-table> + </div> + </div> + <div class="el-flex el-B-border"> + <div class="DFormWidth DAlign DHold"> + 鐜寤虹珛 + </div> + <div style="width: calc(100% - 120px)" class="DConfirmForm el-wt-border-left"> + <el-form-item label="浜哄憳" style="width: 49%"> + <el-input v-model="form.buildPersonnel" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> + </el-form-item> + <el-form-item label="鏃ユ湡" style="width: 48%"> + <el-input v-model="form.buildDate" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input> + </el-form-item> + <el-form-item label-width="160px" class="isKill" label="鏄惁杩涜鐜鐥呮瘨鏌ユ潃" style="width: 49%"> + <el-radio-group v-model="form.isKill"> + <el-radio :label="0">鏄�</el-radio> + <el-radio :label="1">鍚�</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="鐥呮瘨搴撶増鏈�" style="width: 48%"> + <el-input v-model="form.VirusLibraryVersion" placeholder="璇疯緭鍏ョ梾姣掑簱鐗堟湰"></el-input> + </el-form-item> + </div> + </div> + <div class="el-flex"> + <div class="DFormWidth DAlign DHold"> + 鐜纭 + </div> + <div style="width: calc(100% - 120px)" class="DConfirmForm el-wt-border-left"> + <!-- 鍗曚綅鍚嶇О --> + <el-form-item label="浜哄憳" style="width: 49%"> + <el-input v-model="form.verifyPersonnel" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> + </el-form-item> + <!-- 鑱旂郴浜� --> + <el-form-item label="鏃ユ湡" style="width: 48%"> + <el-input v-model="form.verifyDate" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input> + </el-form-item> + </div> + </div> + </div> + </el-form> + </div> +</template> -<!--.DAlign {--> -<!-- text-align: center;--> -<!--}--> +<script> +export default { + name: 'confirmForm', + data() { + return { + form: { + code: '719G19804/P3A-09-20XX-00X', + name: '', + place: '', + software: '', + versions: '', + buildPersonnel: '', + buildDate: '', + isKill: 1, + VirusLibraryVersion: '', + verifyPersonnel: '', + verifyDate: '', + checkList: [1, 0], + softwareData: [ + {code: '1', name: 'awdas', versions: '1.3.1', use: '濂ヨ开', unit: '鍗曚綅1'}, + {code: '2', name: '闃垮皵娉�', versions: '1.3.1', use: '濂ヨ开', unit: '鍗曚綅2'}, + {code: '3', name: 'awed', versions: '1.3.1', use: '濂ヨ开', unit: '鍗曚綅3'}, + {code: '4', name: '鍥藉湡閮�', versions: '1.3.1', use: '濂ヨ开', unit: '鍗曚綅4'}, + ], + hardwareData: [ + {code: '1', name: 'awdas', use: '杞︿笂', number: '2', state: '21', unit: '鍗曚綅1'}, + {code: '2', name: 'qe', use: '515', number: '1', state: '21', unit: '鍗曚綅2'}, + {code: '3', name: '123', use: '1234', number: '42', state: '11', unit: '鍗曚綅4'}, + {code: '4', name: '1515', use: '123', number: '1', state: '21', unit: '鍗曚綅51'}, + ], + analyzeData: [ + { + code: '1', + realEnvironment: '鐪熷疄鐜1', + testEnvironment: '娴嬭瘯鐜1', + environmentalDifference: '123', + influence: 'wu', + measure: '12' + }, + { + code: '1', + realEnvironment: '鐪熷疄鐜1', + testEnvironment: '娴嬭瘯鐜1', + environmentalDifference: '123', + influence: 'wu', + measure: '14' + }, + { + code: '1', + realEnvironment: '鐪熷疄鐜1', + testEnvironment: '娴嬭瘯鐜1', + environmentalDifference: '123', + influence: 'wu', + measure: '15' + }, + { + code: '1', + realEnvironment: '鐪熷疄鐜1', + testEnvironment: '娴嬭瘯鐜1', + environmentalDifference: '123', + influence: 'wu', + measure: '16' + }, + ], + }, + } + }, + methods:{ + addRow(){ -<!--.DConfirmForm {--> -<!-- /*border-left: 1px solid;*/--> -<!-- width: 100%;--> -<!--}--> + } + }, +} +</script> -<!--.DConfirmForm > .el-form-item > .el-form-item__content {--> -<!-- width: calc(100% - 120px);--> -<!--}--> -<!--.DConfirmForm > .el-form-item.isKill > .el-form-item__content {--> -<!-- width: calc(100% - 160px);--> -<!--}--> -<!--.el-form-border{--> -<!-- border-top: 1px solid;--> -<!-- border-bottom: 1px solid;--> -<!--}--> -<!--.el-B-border{--> -<!-- border-bottom: 1px solid;--> -<!--}--> -<!--.el-margin-top-bot{--> -<!-- margin-top:5px;--> -<!-- margin-bottom:5px;--> -<!--}--> -<!--.el-wt-border-left{--> -<!-- border-left:1px solid;--> -<!--}--> -<!--.zt .el-table.el-software th {--> -<!-- background: transparent;--> -<!--}--> +<style> +.confirmFormAuto { + width: 70%; + margin: 0 auto; +} -<!--.zt .el-table.el-software th > .cell {--> -<!-- font-weight: 500;--> -<!--}--> -<!--.DHold{--> -<!-- font-weight: 600;--> -<!--}--> -<!--.zt .el-table.el-software{--> -<!-- font-size: 14px;--> -<!--}--> -<!--</style>--> +.confirmDAuto { + border: 1px solid; +} + +.el-flex { + display: flex; + align-items: center; +} + +.DFormWidth { + width: 120px; +} + +.DAlign { + text-align: center; +} + +.DConfirmForm { + /*border-left: 1px solid;*/ + width: 100%; +} + +.DConfirmForm > .el-form-item > .el-form-item__content { + width: calc(100% - 120px); +} + +.DConfirmForm > .el-form-item.isKill > .el-form-item__content { + width: calc(100% - 160px); +} + +.el-form-border { + border-top: 1px solid; + border-bottom: 1px solid; +} + +.el-B-border { + border-bottom: 1px solid; +} + +.el-margin-top-bot { + margin-top: 5px; + margin-bottom: 5px; +} + +.el-wt-border-left { + border-left: 1px solid; +} + +.zt .el-table.el-software th { + background: transparent; +} + +.zt .el-table.el-software th > .cell { + font-weight: 500; +} + +.DHold { + font-weight: 600; +} + +.zt .el-table.el-software { + font-size: 14px; +} + +.table-container { + position: relative; +} + +.icon-container { + position: absolute; + bottom: -30px; + left: 50%; + width: 40px; + height: 30px; + text-align: center; + line-height: 30px; + transform: translateX(-50%); + border: 1px solid #EBEEF5; + background-color: #fafafa; + box-shadow: 0 3px 6px 0 rgba(72, 119, 232, 0.14); + border-radius: 2px; +} +</style> diff --git a/web/src/views/modules/project/Environ-AddOrUpdate.vue b/web/src/views/modules/project/Environ-AddOrUpdate.vue index 367bcd1..0d3e81c 100644 --- a/web/src/views/modules/project/Environ-AddOrUpdate.vue +++ b/web/src/views/modules/project/Environ-AddOrUpdate.vue @@ -1,43 +1,158 @@ <template> - <zt-dialog ref="dialog" column="2" @confirm="formSubmit"> - <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px"> - <zt-form-item label="缂栧彿" prop="code" rules="required"> - <el-input v-model="dataForm.code"></el-input> - </zt-form-item> - <zt-form-item label="纭蒋浠惰祫婧�" prop="hardSoftwareRes" rules="required"> - <el-input v-model="dataForm.hardSoftwareRes"></el-input> - </zt-form-item> - <zt-form-item label="鍔ㄦ�佹祴璇曠幆澧冨浘" prop="testEnvirontDiagram" rules="required"> - <el-input v-model="dataForm.testEnvirontDiagram"></el-input> - </zt-form-item> - <zt-form-item label="鐜宸紓鎬у垎鏋�" prop="environAnalysis" rules="required"> - <el-input v-model="dataForm.environAnalysis"></el-input> - </zt-form-item> - <zt-form-item label="鐜寤虹珛" prop="environEstablish" rules="required"> - <el-input v-model="dataForm.environEstablish"></el-input> - </zt-form-item> - <zt-form-item label="鐜寤虹珛浜哄憳" prop="establishStaff" rules="required"> - <el-input v-model="dataForm.establishStaff"></el-input> - </zt-form-item> - <zt-form-item label="鐜寤虹珛鏃ユ湡" prop="establishDate" rules="required"> - <el-input v-model="dataForm.establishDate"></el-input> - </zt-form-item> - <zt-form-item label="鐜纭" prop="environConfirmat" rules="required"> - <el-input v-model="dataForm.environConfirmat"></el-input> - </zt-form-item> - <zt-form-item label="鐜纭浜哄憳" prop="confirmatStaff" rules="required"> - <el-input v-model="dataForm.confirmatStaff"></el-input> - </zt-form-item> - <zt-form-item label="鐜纭鏃ユ湡" prop="confirmatDate" rules="required"> - <el-input v-model="dataForm.confirmatDate"></el-input> - </zt-form-item> - <zt-form-item label="鏄惁杩涜鐜鐥呮瘨鏌ユ潃" prop="isVirusScan" rules="required"> - <el-input v-model="dataForm.isVirusScan"></el-input> - </zt-form-item> - <zt-form-item label="鐥呮瘨搴撶増鏈�" prop="virusDatabaseVersion" rules="required"> - <el-input v-model="dataForm.virusDatabaseVersion"></el-input> - </zt-form-item> - </el-form> + <zt-dialog ref="dialog" column="2" @confirm="formSubmit" append-to-body title="娴嬭瘯鐜寤虹珛纭琛�"> + <el-form :model="dataForm" style="padding: 0" :inline="true" ref="dataForm" :disabled="dataForm.disabled" label-width="130px" class="confirmFormAuto"> + <div class="DConfirmForm"> + <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: 0"> + <span>{{dataForm.code}}</span> + </el-form-item> + </div> + <div style="border: 1px solid rgba(0,0,0,.2);width: 99%" class="confirmDAuto DConfirmForm"> + <el-form-item class="marginTopAndMarginBottom" label="涓撲笟瀹為獙瀹ゅ悕绉�" style="width: 49%"> + <el-input v-model="dataForm.agencyName" placeholder="涓撲笟瀹為獙瀹ゅ悕绉�"></el-input> + </el-form-item> + <el-form-item class="marginTopAndMarginBottom" label="娴嬭瘯鍦扮偣" style="width: 49%"> + <el-input v-model="dataForm.site" placeholder="娴嬭瘯鍦扮偣"></el-input> + </el-form-item> + <el-form-item label="琚祴杞欢" style="width: 49%"> + <el-input v-model="dataForm.softwareName" placeholder="琚祴杞欢"></el-input> + </el-form-item> + <el-form-item label="鐗堟湰" style="width: 49%"> + <el-input v-model="dataForm.softwareIdentity" placeholder="鐗堟湰"></el-input> + </el-form-item> + <div class="el-flexConfigDialog el-form-border"> + <div class="DFormWidth DAlign DHold"> + 纭蒋浠惰祫婧� + </div> + <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)"> + <div style="padding: 5px">杞欢璧勬簮锛�</div> + <div class="table-container"> + <el-table class="el-software el-margin-top-bot" height="150" border :data="dataForm.softwareResourcesList" + stripe> + <el-table-column prop="code" align="center" width="80" label="搴忓彿"> + <template slot-scope="scope"> + <span v-html="indexFormat(scope.$index)"></span> + </template> + </el-table-column> + <el-table-column prop="name" min-width="300" label="杞欢椤瑰悕绉�"> + <template v-slot="{ row }"> + <el-input v-model="row.itemName" placeholder="杞欢椤瑰悕绉�/鐗堟湰"></el-input> + </template> + </el-table-column> + <el-table-column prop="versions" align="center" width="180" label="鐗堟湰"> + <template v-slot="{ row }"> + <el-input v-model="row.version" placeholder="鐗堟湰"></el-input> + </template> + </el-table-column> + <el-table-column prop="use" align="center" width="180" label="鐢ㄩ��"> + <template v-slot="{ row }"> + <el-input v-model="row.usage" placeholder="鐢ㄩ��"></el-input> + </template> + </el-table-column> + <el-table-column prop="unit" label="鎻愪緵鍗曚綅" width="180" align="center"> + <template v-slot="{ row }"> + <el-input v-model="row.provideUnit" placeholder="鎻愪緵鍗曚綅"></el-input> + </template> + </el-table-column> + </el-table> + <div class="icon-container" @click="addSoftwareRow()"> + <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> + <i class="el-icon-plus"></i> + </div> + </div> + <div style="padding: 5px">纭欢璧勬簮锛�</div> + <div class="table-container"> + <el-table class="el-software el-margin-top-bot" height="150" border :data="dataForm.hardwareResourcesList" + stripe> + <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column> + <el-table-column prop="itemName" min-width="300" label="纭欢鍜屽浐浠堕」鐩悕绉�"></el-table-column> + <el-table-column prop="usage" align="center" width="180" label="鐢ㄩ��"></el-table-column> + <el-table-column prop="number" align="center" width="80" label="鏁伴噺"></el-table-column> + <el-table-column prop="state" align="center" width="120" label="鐘舵��"></el-table-column> + <el-table-column prop="provideUnit" align="center" width="180" label="鎻愪緵鍗曚綅"></el-table-column> + </el-table> + <div class="icon-container" @click="addHardwareRow()"> + <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> + <i class="el-icon-plus"></i> + </div> + </div> + </div> + </div> + <div class="el-flexConfigDialog el-B-border"> + <div class="DFormWidth DAlign DHold"> + 鍔ㄦ�佹祴璇曠幆澧冨浘 + </div> + <div style="width: calc(100% - 120px);"> + <div style="height:150px" class="el-wt-border-left"> + <span>{{dataForm.testEnvirontDiagram}}</span> + </div> + </div> + </div> + <div class="el-flexConfigDialog el-B-border"> + <div class="DFormWidth DAlign DHold"> + 鐜宸紓鎬у垎鏋� + </div> + <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)"> + <div class="table-container"> + <el-table class="el-software el-margin-top-bot" height="150" border :data="dataForm.environAnalysisList" + stripe> + <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column> + <el-table-column prop="realEnviron" min-width="300" label="鐪熷疄鐜"></el-table-column> + <el-table-column prop="testEnviron" align="center" width="100" label="娴嬭瘯鐜"></el-table-column> + <el-table-column prop="environDifference" align="center" width="100" label="鐜宸紓"></el-table-column> + <el-table-column prop="resultImpact" align="center" width="160" label="瀵规祴璇曠粨鏋滃奖鍝�"></el-table-column> + <el-table-column prop="measure" align="center" width="180" label="鎺柦"></el-table-column> + </el-table> + <div class="icon-container" @click="addDiscrepancyRow()"> + <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> + <i class="el-icon-plus"></i> + </div> + </div> + </div> + </div> + <div class="el-flexConfigDialog el-B-border"> + <div class="DFormWidth DAlign DHold"> + 鐜寤虹珛 + </div> + <div style="width: calc(100% - 120px)" class="DConfirmForm el-wt-border-left"> + <el-form-item class="marginTopAndMarginBottom" label="浜哄憳" style="width: 49%"> + <el-input v-model="dataForm.establishStaff" placeholder="浜哄憳"></el-input> + </el-form-item> + <el-form-item class="marginTopAndMarginBottom" label="鏃ユ湡" style="width: 48%"> + <el-date-picker + v-model="dataForm.establishDate" + type="date" + placeholder="鏃ユ湡"> + </el-date-picker> + </el-form-item> + <el-form-item label-width="180px" class="isKill" label="鏄惁杩涜鐜鐥呮瘨鏌ユ潃" style="width: 49%"> + <zt-dict v-model="dataForm.isVirusScan" dict="is_or_not" :radio="true"></zt-dict> + </el-form-item> + <el-form-item label="鐥呮瘨搴撶増鏈�" style="width: 48%"> + <el-input v-model="dataForm.virusDatabaseVersion" placeholder="璇疯緭鍏ョ梾姣掑簱鐗堟湰"></el-input> + </el-form-item> + </div> + </div> + <div class="el-flexConfigDialog"> + <div class="DFormWidth DAlign DHold"> + 鐜纭 + </div> + <div style="width: calc(100% - 120px)" class="DConfirmForm el-wt-border-left"> + <!-- 鍗曚綅鍚嶇О --> + <el-form-item class="marginTopAndMarginBottom" label="浜哄憳" style="width: 49%"> + <el-input v-model="dataForm.confirmatStaff" placeholder="浜哄憳"></el-input> + </el-form-item> + <!-- 鑱旂郴浜� --> + <el-form-item class="marginTopAndMarginBottom" label="鏃ユ湡" style="width: 48%"> + <el-date-picker + v-model="dataForm.confirmatDate" + type="date" + placeholder="鏃ユ湡"> + </el-date-picker> + </el-form-item> + </div> + </div> + </div> + </el-form> </zt-dialog> </template> @@ -48,29 +163,57 @@ dataForm: { id: '', code: '', + agencyName:'', + site:'', + softwareName:'', + softwareIdentity:'', hardSoftwareRes: '', testEnvirontDiagram: '', + softwareResourcesList:[], + hardwareResourcesList:[], + environAnalysisList:[], + establishStaff:'', + establishDate:'', environAnalysis: '', environEstablish: '', - establishStaff: '', - establishDate: '', environConfirmat: '', confirmatStaff: '', confirmatDate: '', isVirusScan: '', - virusDatabaseVersion: '' + virusDatabaseVersion: '', + softwareData:[] } } }, methods: { + init(id,row){ + this.dataForm.id = row.id + this.dataForm.projectId = row.projectId + // this.dataForm.disabled + this.getInfo() + console.log(this.dataForm.id,this.dataForm.projectId,'params params') + }, // 鑾峰彇淇℃伅 async getInfo() { - let res = await this.$http.get(`/project/Environ/${this.dataForm.id}`) + let params = { + orderId: this.dataForm.id, + projectId: this.dataForm.projectId + } + let res = await this.$http.get(`/project/Environ/getDto`,{params: params}) this.dataForm = { ...this.dataForm, ...res.data } + console.log(this.dataForm,'this.dataForm') }, + indexFormat(index){ + return index += 1 + }, + addSoftwareRow(){ + this.dataForm.softwareData.push({}) + }, + addHardwareRow(){}, + addDiscrepancyRow(){}, // 琛ㄥ崟鎻愪氦 async formSubmit() { let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project/Environ/', this.dataForm) @@ -83,3 +226,96 @@ } } </script> +<style> +.confirmFormAuto { + width: 70%; + margin: 0 auto; +} +.confirmDAuto{ + border: 1px solid rgba(0,0,0,.2); +} + +.el-flexConfigDialog { + display: flex; + align-items: center; +} + +.DFormWidth { + width: 120px; +} + +.DAlign { + text-align: center; +} + +.DConfirmForm { + /*border-left: 1px solid;*/ + width: 100%; +} + +.DConfirmForm > .el-form-item > .el-form-item__content { + width: calc(100% - 130px); +} +.DConfirmForm > .el-form-item.isKill > .el-form-item__content { + width: calc(100% - 180px); +} +.el-form-border{ + border-top: 1px solid rgba(0,0,0,.2); + border-bottom: 1px solid rgba(0,0,0,.2); +} +.el-B-border{ + border-bottom: 1px solid rgba(0,0,0,.2); +} +.el-margin-top-bot{ + margin-top:5px; + margin-bottom:5px; +} +.el-wt-border-left{ + border-left:1px solid rgba(0,0,0,.2); +} +.zt .el-table.el-software th { + background: transparent; +} + +.zt .el-table.el-software th > .cell { + font-weight: 500; +} +.DHold{ + font-weight: 600; +} +.zt .el-table.el-software{ + font-size: 14px; +} +.confirmFormAuto .marginTopAndMarginBottom { + margin-top: 10px !important; + margin-bottom: 0 !important; +} + +.confirmFormAuto .marginTopAndMarginBottom2 { + margin-top: -10px !important; + margin-bottom: 10px !important; +} +.confirmFormAuto .marginTopAndMarginBottom3 { + margin-top: 0 !important; + margin-bottom: 10px !important; +} +.table-container { + position: relative; +} + +.icon-container { + z-index: 1; + position: absolute; + bottom: -20px; + left: 50%; + width: 40px; + height: 30px; + text-align: center; + line-height: 30px; + transform: translateX(-50%); + border: 1px solid #EBEEF5; + background-color: #fafafa; + box-shadow: 0 3px 6px 0 rgba(72, 119, 232, 0.14); + border-radius: 2px; +} +</style> diff --git a/web/src/views/modules/project/Environ.vue b/web/src/views/modules/project/Environ.vue index ae2bfb1..31489a1 100644 --- a/web/src/views/modules/project/Environ.vue +++ b/web/src/views/modules/project/Environ.vue @@ -1,25 +1,32 @@ <template> <el-card shadow="never" class="aui-card--fill"> <div class="mod-project-environ}"> - <zt-table-wraper query-url="/project/Environ/page" delete-url="/project/Environ" v-slot="{ table }"> + <zt-table-wraper query-url="/project/Environ/page" delete-url="/project/Environ" v-slot="{ table }" @dataLoaded="dataLoaded"> <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()"> <el-form-item> <el-input v-model="dataForm.code" placeholder="璇疯緭鍏ョ紪鍙�" clearable></el-input> - + </el-form-item> <el-form-item> - <zt-button type="query" @click="table.query()"/> +<!-- <zt-button type="query" @click="table.query()"/>--> + <zt-button type="primary" class="el-icon-edit" perm="project:add" @click="add()">鏂板</zt-button> <zt-button type="add" perm="project:add" @click="table.editHandle()"/> <zt-button type="delete" perm="project: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 align="center" type="selection" width="40"/> <el-table-column prop="code" label="缂栧彿"/> + <el-table-column prop="softwareName" label="杞欢鍚嶇О"/> + <el-table-column prop="softwareIdentity" label="鏍囪瘑"/> <zt-table-column-handle :table="table" edit-perm="project:update" delete-perm="project::delete"/> </el-table> <!-- 寮圭獥, 鏂板 / 淇敼 --> - <add-or-update @refreshDataList="table.query"/> + <add-or-update ref="addOrUpdate" @refreshDataList="table.query"/> + <ProjectSelect ref="projectSelect" + @refreshDataList="table.query" + @setProjectInfo="openAddWin"> + </ProjectSelect> </zt-table-wraper> </div> </el-card> @@ -27,6 +34,7 @@ <script> import AddOrUpdate from './Environ-AddOrUpdate' + import ProjectSelect from "./Project-select.vue" export default { data() { return { @@ -36,7 +44,20 @@ } }, components: { - AddOrUpdate + AddOrUpdate, + ProjectSelect + }, + methods:{ + dataLoaded(data){ + console.log(data,'data daraList') + }, + add() { + this.$refs.projectSelect.$refs.dialog.init("environ") + }, + 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