Merge remote-tracking branch 'origin/master'
New file |
| | |
| | | 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(); |
| | | } |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | 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); |
| | |
| | | @DeleteMapping |
| | | @ApiOperation("删除") |
| | | @LogOperation("删除") |
| | | public Result delete(@RequestBody Long[] ids){ |
| | | public Result delete(@RequestBody Long[] ids) { |
| | | //效验数据 |
| | | AssertUtils.isArrayEmpty(ids, "id"); |
| | | environService.delete(ids); |
New file |
| | |
| | | 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(); |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | 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(); |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | 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); |
| | | |
| | | } |
New file |
| | |
| | | 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); |
| | | |
| | | } |
New file |
| | |
| | | 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); |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | 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 = "测试委托单附件") |
| | |
| | | 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<>(); |
| | | |
| | | } |
| | | |
| | |
| | | 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; |
| | |
| | | |
| | | @ApiModelProperty(value = "编号") |
| | | private String code; |
| | | |
| | | @ApiModelProperty(value = "项目ID") |
| | | private Long projectId; |
| | | |
| | | @ApiModelProperty(value = "硬软件资源") |
| | | private String hardSoftwareRes; |
| | |
| | | @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; |
| | | |
| | | } |
New file |
| | |
| | | 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 = "环境测试单ID") |
| | | 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; |
| | | |
| | | } |
New file |
| | |
| | | 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 = "环境测试单ID") |
| | | 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; |
| | | |
| | | } |
New file |
| | |
| | | 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 = "环境测试单ID") |
| | | 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; |
| | | |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | | * 分页查询 |
| | |
| | | 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; |
| | | } |
| | | } |
New file |
| | |
| | | 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); |
| | | } |
| | | } |
New file |
| | |
| | | <?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> |
| | |
| | | <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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
| | |
| | | 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} |
| | |
| | | <!--<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> |
| | |
| | | <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> |
| | | |
| | |
| | | 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) |
| | |
| | | } |
| | | } |
| | | </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> |
| | |
| | | <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> |
| | |
| | | |
| | | <script> |
| | | import AddOrUpdate from './Environ-AddOrUpdate' |
| | | import ProjectSelect from "./Project-select.vue" |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | } |
| | | }, |
| | | 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> |