jinlin
2023-12-22 2cf47388b765be947805a51ece7608b27e47650b
修改
22个文件已修改
17个文件已添加
1个文件已删除
1018 ■■■■ 已修改文件
modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/service/BaselineReleaseService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/controller/ConfigAuditReportContentController.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/controller/ConfigAuditReportController.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/controller/ConfigAuditReportProblemController.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/dao/ConfigAuditReportContentDao.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/dao/ConfigAuditReportDao.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/dao/ConfigAuditReportProblemDao.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/model/ConfigAuditReport.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/model/ConfigAuditReportContent.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/model/ConfigAuditReportProblem.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/service/ConfigAuditReportContentService.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/service/ConfigAuditReportProblemService.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/service/ConfigAuditReportService.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/dto/EnvironDto.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/configAuditReport/ConfigAuditReportContentDao.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/configAuditReport/ConfigAuditReportDao.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/configAuditReport/ConfigAuditReportProblemDao.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/public/favicon.ico 补丁 | 查看 | 原始文档 | blame | 历史
web/public/logo.png 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/layout/main-navbar.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/baselineRelease/BaselineRelease.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/configAuditReport/ConfigAuditReport-AddOrUpdate.vue 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/configAuditReport/ConfigAuditReport.vue 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/configItemChange/configItemList.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/configItemOutbound/ConfigItemOutbound-AddOrUpdate.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/configItemOutbound/configItemList.vue 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/configItemWarehouse/ConfigItemWarehouse.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/contractReview/ContractReview-AddOrUpdate.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/contractReview/ContractReview.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/project/Environ-AddOrUpdate.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/project/Environ.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/project/Project.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/testCheckOrder/TestCheckOrder.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/pages/login.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/service/BaselineReleaseService.java
@@ -18,6 +18,7 @@
import com.zt.life.sys.dto.OssDto;
import com.zt.life.sys.service.SysOssConfigService;
import com.zt.modules.coderule.service.SysCodeRuleService;
import com.zt.modules.oss.service.SysOssService;
import com.zt.modules.workflow.dto.FlowInfoDto;
import com.zt.modules.workflow.service.WorkflowService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -66,6 +67,9 @@
    @Autowired
    private BaselineReleaseRemarkService remarkService;
    @Autowired
    private SysOssService sysOssService;
    /**
     * 分页查询
     *
@@ -76,6 +80,7 @@
        List<BaselineRelease> list = baseDao.getList(queryFilter.getQueryParams());
        if (list.size() > 0) {
            workflowService.getRunFlow(list, "jxfb");
            sysOssService.setListOsses(list, "baseline_release");
        }
        return list;
    }
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/controller/ConfigAuditReportContentController.java
New file
@@ -0,0 +1,96 @@
package com.zt.life.modules.configAuditReport.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.configAuditReport.model.ConfigAuditReportContent;
import com.zt.life.modules.configAuditReport.service.ConfigAuditReportContentService;
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;
/**
 * config_audit_report_content
 *
 * @author zt generator
 * @since 1.0.0 2023-12-21
 */
@RestController
@RequestMapping("/configAuditReport/ConfigAuditReportContent/")
@Api(tags="config_audit_report_content")
public class ConfigAuditReportContentController {
    @Autowired
    private ConfigAuditReportContentService configAuditReportContentService;
    @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<ConfigAuditReportContent> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
        return PageResult.ok(configAuditReportContentService.page(queryFilter));
    }
    @GetMapping("{id}")
    @ApiOperation("信息")
    public Result<ConfigAuditReportContent> get(@PathVariable("id") Long id){
        ConfigAuditReportContent data = configAuditReportContentService.get(id);
        return Result.ok(data);
    }
    @PostMapping
    @ApiOperation("新增")
    @LogOperation("新增")
    public Result insert(@RequestBody ConfigAuditReportContent configAuditReportContent){
        //效验数据
        ValidatorUtils.validateEntity(configAuditReportContent, AddGroup.class, DefaultGroup.class);
        configAuditReportContentService.insert(configAuditReportContent);
        return Result.ok();
    }
    @PutMapping
    @ApiOperation("修改")
    @LogOperation("修改")
    public Result update(@RequestBody ConfigAuditReportContent configAuditReportContent){
        //效验数据
        ValidatorUtils.validateEntity(configAuditReportContent, UpdateGroup.class, DefaultGroup.class);
        configAuditReportContentService.update(configAuditReportContent);
        return Result.ok();
    }
    @DeleteMapping
    @ApiOperation("删除")
    @LogOperation("删除")
    public Result delete(@RequestBody Long[] ids){
        //效验数据
        AssertUtils.isArrayEmpty(ids, "id");
        configAuditReportContentService.delete(ids);
        return Result.ok();
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/controller/ConfigAuditReportController.java
New file
@@ -0,0 +1,98 @@
package com.zt.life.modules.configAuditReport.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.configAuditReport.model.ConfigAuditReport;
import com.zt.life.modules.configAuditReport.service.ConfigAuditReportService;
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;
/**
 * config_audit_report
 *
 * @author zt generator
 * @since 1.0.0 2023-12-21
 */
@RestController
@RequestMapping("/configAuditReport/ConfigAuditReport/")
@Api(tags="config_audit_report")
public class ConfigAuditReportController {
    @Autowired
    private ConfigAuditReportService configAuditReportService;
    @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"),
        @ApiImplicitParam(name = "libraryType", value = "库类型", dataType = Constant.QT.STRING, format = "a.library_type^EQ")
})
    public PageResult<ConfigAuditReport> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
        return PageResult.ok(configAuditReportService.page(queryFilter));
    }
    @GetMapping("{id}")
    @ApiOperation("信息")
    public Result<ConfigAuditReport> get(@PathVariable("id") Long id){
        ConfigAuditReport data = configAuditReportService.get(id);
        return Result.ok(data);
    }
    @PostMapping
    @ApiOperation("新增")
    @LogOperation("新增")
    public Result insert(@RequestBody ConfigAuditReport configAuditReport){
        //效验数据
        ValidatorUtils.validateEntity(configAuditReport, AddGroup.class, DefaultGroup.class);
        configAuditReportService.insert(configAuditReport);
        return Result.ok();
    }
    @PutMapping
    @ApiOperation("修改")
    @LogOperation("修改")
    public Result update(@RequestBody ConfigAuditReport configAuditReport){
        //效验数据
        ValidatorUtils.validateEntity(configAuditReport, UpdateGroup.class, DefaultGroup.class);
        configAuditReportService.update(configAuditReport);
        return Result.ok();
    }
    @DeleteMapping
    @ApiOperation("删除")
    @LogOperation("删除")
    public Result delete(@RequestBody Long[] ids){
        //效验数据
        AssertUtils.isArrayEmpty(ids, "id");
        configAuditReportService.delete(ids);
        return Result.ok();
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/controller/ConfigAuditReportProblemController.java
New file
@@ -0,0 +1,96 @@
package com.zt.life.modules.configAuditReport.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.configAuditReport.model.ConfigAuditReportProblem;
import com.zt.life.modules.configAuditReport.service.ConfigAuditReportProblemService;
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;
/**
 * config_audit_report_problem
 *
 * @author zt generator
 * @since 1.0.0 2023-12-21
 */
@RestController
@RequestMapping("/configAuditReport/ConfigAuditReportProblem/")
@Api(tags="config_audit_report_problem")
public class ConfigAuditReportProblemController {
    @Autowired
    private ConfigAuditReportProblemService configAuditReportProblemService;
    @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<ConfigAuditReportProblem> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
        return PageResult.ok(configAuditReportProblemService.page(queryFilter));
    }
    @GetMapping("{id}")
    @ApiOperation("信息")
    public Result<ConfigAuditReportProblem> get(@PathVariable("id") Long id){
        ConfigAuditReportProblem data = configAuditReportProblemService.get(id);
        return Result.ok(data);
    }
    @PostMapping
    @ApiOperation("新增")
    @LogOperation("新增")
    public Result insert(@RequestBody ConfigAuditReportProblem configAuditReportProblem){
        //效验数据
        ValidatorUtils.validateEntity(configAuditReportProblem, AddGroup.class, DefaultGroup.class);
        configAuditReportProblemService.insert(configAuditReportProblem);
        return Result.ok();
    }
    @PutMapping
    @ApiOperation("修改")
    @LogOperation("修改")
    public Result update(@RequestBody ConfigAuditReportProblem configAuditReportProblem){
        //效验数据
        ValidatorUtils.validateEntity(configAuditReportProblem, UpdateGroup.class, DefaultGroup.class);
        configAuditReportProblemService.update(configAuditReportProblem);
        return Result.ok();
    }
    @DeleteMapping
    @ApiOperation("删除")
    @LogOperation("删除")
    public Result delete(@RequestBody Long[] ids){
        //效验数据
        AssertUtils.isArrayEmpty(ids, "id");
        configAuditReportProblemService.delete(ids);
        return Result.ok();
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/dao/ConfigAuditReportContentDao.java
New file
@@ -0,0 +1,23 @@
package com.zt.life.modules.configAuditReport.dao;
import com.zt.common.dao.BaseDao;
import com.zt.life.modules.configAuditReport.model.ConfigAuditReportContent;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
 * config_audit_report_content
 *
 * @author zt generator
 * @since 1.0.0 2023-12-21
 */
@Mapper
public interface ConfigAuditReportContentDao extends BaseDao<ConfigAuditReportContent> {
    List<ConfigAuditReportContent> getList(Map<String, Object> params);
}
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/dao/ConfigAuditReportDao.java
New file
@@ -0,0 +1,23 @@
package com.zt.life.modules.configAuditReport.dao;
import com.zt.common.dao.BaseDao;
import com.zt.life.modules.configAuditReport.model.ConfigAuditReport;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
 * config_audit_report
 *
 * @author zt generator
 * @since 1.0.0 2023-12-21
 */
@Mapper
public interface ConfigAuditReportDao extends BaseDao<ConfigAuditReport> {
    List<ConfigAuditReport> getList(Map<String, Object> params);
}
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/dao/ConfigAuditReportProblemDao.java
New file
@@ -0,0 +1,23 @@
package com.zt.life.modules.configAuditReport.dao;
import com.zt.common.dao.BaseDao;
import com.zt.life.modules.configAuditReport.model.ConfigAuditReportProblem;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
 * config_audit_report_problem
 *
 * @author zt generator
 * @since 1.0.0 2023-12-21
 */
@Mapper
public interface ConfigAuditReportProblemDao extends BaseDao<ConfigAuditReportProblem> {
    List<ConfigAuditReportProblem> getList(Map<String, Object> params);
}
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/model/ConfigAuditReport.java
New file
@@ -0,0 +1,44 @@
package com.zt.life.modules.configAuditReport.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zt.common.entity.BusiEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
 * config_audit_report
 *
 * @author zt generator
 * @since 1.0.0 2023-12-21
 */
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("config_audit_report")
public class ConfigAuditReport extends BusiEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "项目ID")
    private Long projectId;
    @ApiModelProperty(value = "编号")
    private String code;
    @ApiModelProperty(value = "审核人")
    private String auditor;
    @ApiModelProperty(value = "审核人ID")
    private Long auditorId;
    @ApiModelProperty(value = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date auditorDate;
    @ApiModelProperty(value = "年份")
    private String year;
}
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/model/ConfigAuditReportContent.java
New file
@@ -0,0 +1,42 @@
package com.zt.life.modules.configAuditReport.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;
/**
 * config_audit_report_content
 *
 * @author zt generator
 * @since 1.0.0 2023-12-21
 */
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("config_audit_report_content")
public class ConfigAuditReportContent extends BusiEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "报告ID")
    private Long reportId;
    @ApiModelProperty(value = "项目工程ID")
    private Long projectId;
    @ApiModelProperty(value = "序号")
    private Integer no;
    @ApiModelProperty(value = "审核内容")
    private String auditContent;
    @ApiModelProperty(value = "审核结果")
    private String auditResult;
    @ApiModelProperty(value = "备注")
    private String remark;
}
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/model/ConfigAuditReportProblem.java
New file
@@ -0,0 +1,45 @@
package com.zt.life.modules.configAuditReport.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;
/**
 * config_audit_report_problem
 *
 * @author zt generator
 * @since 1.0.0 2023-12-21
 */
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("config_audit_report_problem")
public class ConfigAuditReportProblem extends BusiEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "报告ID")
    private Long reportId;
    @ApiModelProperty(value = "项目工程ID")
    private Long projectId;
    @ApiModelProperty(value = "序号")
    private Integer no;
    @ApiModelProperty(value = "问题描述")
    private String problemDescription;
    @ApiModelProperty(value = "是否为不符合项")
    private String isNotTrue;
    @ApiModelProperty(value = "问题整改情况")
    private String problemRectification;
    @ApiModelProperty(value = "发现阶段")
    private String discoveryPhase;
}
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/service/ConfigAuditReportContentService.java
New file
@@ -0,0 +1,40 @@
package com.zt.life.modules.configAuditReport.service;
import com.zt.common.service.BaseService;
import com.zt.life.modules.configAuditReport.dao.ConfigAuditReportContentDao;
import com.zt.life.modules.configAuditReport.model.ConfigAuditReportContent;
import org.springframework.stereotype.Service;
import com.zt.common.db.query.QueryFilter;
import javax.annotation.Resource;
import java.util.List;
/**
 * config_audit_report_content
 *
 * @author zt generator
 * @since 1.0.0 2023-12-21
 */
@Service
public class ConfigAuditReportContentService  extends BaseService<ConfigAuditReportContentDao, ConfigAuditReportContent> {
    /**
     * 分页查询
     *
     * @param queryFilter
     * @return
     */
    public List<ConfigAuditReportContent> page(QueryFilter queryFilter) {
        return baseDao.getList(queryFilter.getQueryParams());
    }
    /**
     * 删除
     *
     * @param ids
     */
    public void delete(Long[] ids) {
        super.deleteLogic(ids);
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/service/ConfigAuditReportProblemService.java
New file
@@ -0,0 +1,40 @@
package com.zt.life.modules.configAuditReport.service;
import com.zt.common.service.BaseService;
import com.zt.life.modules.configAuditReport.dao.ConfigAuditReportProblemDao;
import com.zt.life.modules.configAuditReport.model.ConfigAuditReportProblem;
import org.springframework.stereotype.Service;
import com.zt.common.db.query.QueryFilter;
import javax.annotation.Resource;
import java.util.List;
/**
 * config_audit_report_problem
 *
 * @author zt generator
 * @since 1.0.0 2023-12-21
 */
@Service
public class ConfigAuditReportProblemService  extends BaseService<ConfigAuditReportProblemDao, ConfigAuditReportProblem> {
    /**
     * 分页查询
     *
     * @param queryFilter
     * @return
     */
    public List<ConfigAuditReportProblem> page(QueryFilter queryFilter) {
        return baseDao.getList(queryFilter.getQueryParams());
    }
    /**
     * 删除
     *
     * @param ids
     */
    public void delete(Long[] ids) {
        super.deleteLogic(ids);
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/configAuditReport/service/ConfigAuditReportService.java
New file
@@ -0,0 +1,40 @@
package com.zt.life.modules.configAuditReport.service;
import com.zt.common.service.BaseService;
import com.zt.life.modules.configAuditReport.dao.ConfigAuditReportDao;
import com.zt.life.modules.configAuditReport.model.ConfigAuditReport;
import org.springframework.stereotype.Service;
import com.zt.common.db.query.QueryFilter;
import javax.annotation.Resource;
import java.util.List;
/**
 * config_audit_report
 *
 * @author zt generator
 * @since 1.0.0 2023-12-21
 */
@Service
public class ConfigAuditReportService  extends BaseService<ConfigAuditReportDao, ConfigAuditReport> {
    /**
     * 分页查询
     *
     * @param queryFilter
     * @return
     */
    public List<ConfigAuditReport> page(QueryFilter queryFilter) {
        return baseDao.getList(queryFilter.getQueryParams());
    }
    /**
     * 删除
     *
     * @param ids
     */
    public void delete(Long[] ids) {
        super.deleteLogic(ids);
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java
@@ -4,6 +4,7 @@
import com.zt.common.service.BaseService;
import com.zt.life.export.dto.WordFile;
import com.zt.life.export.service.WordFileService;
import com.zt.life.modules.baselineRelease.model.BaselineRelease;
import com.zt.life.modules.contractReview.dao.ContractReviewDao;
import com.zt.life.modules.contractReview.dto.ContractReviewDto;
import com.zt.life.modules.contractReview.model.ContractReview;
@@ -82,7 +83,11 @@
     * @return
     */
    public List<ContractReview> page(QueryFilter queryFilter) {
        return baseDao.getList(queryFilter.getQueryParams());
        List<ContractReview> list = baseDao.getList(queryFilter.getQueryParams());
        if (list.size() > 0) {
            sysOssService.setListOsses(list, "contract_review");
        }
        return list;
    }
    /**
modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderController.java
@@ -35,6 +35,7 @@
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -64,13 +65,14 @@
            @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 = "softwareName", value = "软件名称", dataType = Constant.QT.STRING, format = "p.software_name^EQ"),
            @ApiImplicitParam(name = "softwareName", value = "软件名称", dataType = Constant.QT.STRING, format = "p.software_name^LK"),
            @ApiImplicitParam(name = "testBasis", value = "测试依据", dataType = Constant.QT.STRING, format = "a.test_basis^EQ"),
            @ApiImplicitParam(name = "testType", value = "测试类型", dataType = Constant.QT.STRING, format = "a.test_type^EQ"),
            @ApiImplicitParam(name = "testStandard", value = "测试标准", dataType = Constant.QT.STRING, format = "a.test_standard^EQ"),
            @ApiImplicitParam(name = "articleNature", value = "物品性质", dataType = Constant.QT.STRING, format = "a.article_nature^EQ")})
    public PageResult<SoftwareTestOrder> page(@ApiIgnore @QueryParam QueryFilter queryFilter) {
        return PageResult.ok(softwareTestOrderService.page(queryFilter));
        List<SoftwareTestOrder> list=softwareTestOrderService.page(queryFilter);
        return PageResult.ok(list);
    }
    @GetMapping("getDto")
modules/mainPart/src/main/java/com/zt/life/modules/project/dto/EnvironDto.java
@@ -25,6 +25,8 @@
    private TestAgencyInfo TestAgencyInfo;
    @ApiModelProperty(value = "附件")
    private OssDto files;
    @ApiModelProperty(value = "附件")
    private OssDto files2;
    @ApiModelProperty(value = "图片URL" )
    private String Url;
modules/mainPart/src/main/java/com/zt/life/modules/project/service/EnvironService.java
@@ -6,6 +6,7 @@
import com.zt.core.sys.dto.DictLeafDto;
import com.zt.life.export.dto.WordFile;
import com.zt.life.export.service.WordFileService;
import com.zt.life.modules.contractReview.model.ContractReview;
import com.zt.life.modules.mainPart.utils.GetFilesPath;
import com.zt.life.modules.mainPart.utils.GetShowDictList;
import com.zt.life.modules.project.dao.EnvironDao;
@@ -109,9 +110,13 @@
        if (data.getTestAgencyInfo() == null)
            data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
        if (environId != null) {
            OssDto ossDto = sysOssConfigService.getOssByBusiType(environId, "test_environt_diagram");
            if (ossDto != null) {
                data.setFiles(ossDto);
            OssDto ossDto1 = sysOssConfigService.getOssByBusiType(environId, "test_environ_diagram");
            OssDto ossDto2 = sysOssConfigService.getOssByBusiType(environId, "test_environ");
            if (ossDto1 != null  ) {
                data.setFiles(ossDto1);
            }
            if (ossDto2 != null){
                data.setFiles2(ossDto2);
            }
        }
@@ -125,7 +130,11 @@
     * @return
     */
    public List<Environ> page(QueryFilter queryFilter) {
        return baseDao.getList(queryFilter.getQueryParams());
        List<Environ> list = baseDao.getList(queryFilter.getQueryParams());
        if (list.size() > 0) {
            sysOssService.setListOsses(list, "test_environ");
        }
        return list;
    }
    /**
@@ -198,6 +207,7 @@
            testAgencyInfoService.update(environDto.getTestAgencyInfo());
        }
        sysOssConfigService.updateOss(environDto.getEnviron().getId(), environDto.getFiles());// 保存附件
        sysOssConfigService.updateOss(environDto.getEnviron().getId(), environDto.getFiles2());// 保存附件
        return true;
    }
modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java
@@ -159,11 +159,13 @@
    public void exportCheckOrder(Long id, String pageCode, HttpServletRequest request, HttpServletResponse response) {
        try {
            CheckOrderDto dataObj = this.getDto(id, null, pageCode);
            if (dataObj.getCheckOrder().getProcessorId() != null && dataObj.getCheckOrder().getVerifierId() != null) {
            String processorPath = "文件图片:" + getFilesPath.getSignPath(Convert.toLong(dataObj.getCheckOrder().getProcessorId()));
            dataObj.getCheckOrder().setProcessor(processorPath);
            String verifierPath = "文件图片:" + getFilesPath.getSignPath(Convert.toLong(dataObj.getCheckOrder().getVerifierId()));
            dataObj.getCheckOrder().setVerifier(verifierPath);
            }
            //通用字典列表字符串生成
            for (TestCheckOrderList checkOrderList : dataObj.getCheckOrderList()) {
                String value = checkOrderList.getCheckResult();
modules/mainPart/src/main/resources/mapper/configAuditReport/ConfigAuditReportContentDao.xml
New file
@@ -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.configAuditReport.dao.ConfigAuditReportContentDao">
    <select id="getList" resultType="com.zt.life.modules.configAuditReport.model.ConfigAuditReportContent">
        select a.*
        from config_audit_report_content a
        <where>
            a.is_delete = 0
            <if test="whereSql!=null">
                and ${whereSql}
            </if>
        </where>
        <if test="orderBySql!=null">
            ORDER BY ${orderBySql}
        </if>
    </select>
</mapper>
modules/mainPart/src/main/resources/mapper/configAuditReport/ConfigAuditReportDao.xml
New file
@@ -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.configAuditReport.dao.ConfigAuditReportDao">
    <select id="getList" resultType="com.zt.life.modules.configAuditReport.model.ConfigAuditReport">
        select a.*
        from config_audit_report a
        <where>
            a.is_delete = 0
            <if test="whereSql!=null">
                and ${whereSql}
            </if>
        </where>
        <if test="orderBySql!=null">
            ORDER BY ${orderBySql}
        </if>
    </select>
</mapper>
modules/mainPart/src/main/resources/mapper/configAuditReport/ConfigAuditReportProblemDao.xml
New file
@@ -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.configAuditReport.dao.ConfigAuditReportProblemDao">
    <select id="getList" resultType="com.zt.life.modules.configAuditReport.model.ConfigAuditReportProblem">
        select a.*
        from config_audit_report_problem a
        <where>
            a.is_delete = 0
            <if test="whereSql!=null">
                and ${whereSql}
            </if>
        </where>
        <if test="orderBySql!=null">
            ORDER BY ${orderBySql}
        </if>
    </select>
</mapper>
web/public/favicon.ico

web/public/logo.png

web/src/views/layout/main-navbar.vue
@@ -22,9 +22,6 @@
        <el-menu-item index="3" @click="refresh()">
          <i class="el-icon-refresh"></i>
        </el-menu-item>
        <el-menu-item index="4" >
          <span style="font-size: 16px">联系人: 杨凯,15072707727</span>
        </el-menu-item>
      </el-menu>
      <!--      <el-form :inline="true" @submit.native.prevent @keyup.enter.native="search()" style="margin-right: 5px;">-->
      <!--        <el-form-item>-->
web/src/views/modules/baselineRelease/BaselineRelease.vue
@@ -24,7 +24,7 @@
                  height="100px"
                  v-adaptive="{bottomOffset:70}"
                  border @selection-change="table.selectionChangeHandle">
          <el-table-column align="center" type="selection" width="40"/>
          <el-table-column :selectable="isCheckbox" align="center" type="selection" width="40"/>
            <el-table-column prop="code" label="基线发布编号"/>
            <el-table-column prop="softwareName" label="项目名称"/>
                <zt-table-column-dict prop="baselineType" label="基线类型" dict="baseline_type"/>
@@ -82,6 +82,9 @@
        console.log(this.pageCode, 'this.pageCode')
        this.$refs.projectSelect.$refs.dialog.init("baseline_release", {pageCode: this.pageCode})
      },
      isCheckbox(row,index){
        return !(row.flowInfo && row.flowInfo.bizId);
      },
      openAddWin(projectRow) {
        console.log(projectRow, 'openAddWin(projectRow) projectRow')
        this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: projectRow.id, pageCode: this.pageCode})
web/src/views/modules/configAuditReport/ConfigAuditReport-AddOrUpdate.vue
New file
@@ -0,0 +1,65 @@
<template>
  <zt-dialog ref="dialog"  @confirm="formSubmit">
    <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px">
      <zt-form-item label="项目ID" prop="projectId" rules="required">
                        <el-input v-model="dataForm.projectId"></el-input>
                </zt-form-item>
      <zt-form-item label="编号" prop="code" rules="required">
                        <el-input v-model="dataForm.code"></el-input>
                </zt-form-item>
      <zt-form-item label="审核人" prop="auditor" rules="required">
                        <el-input v-model="dataForm.auditor"></el-input>
                </zt-form-item>
      <zt-form-item label="审核人ID" prop="auditorId" rules="required">
                        <el-input v-model="dataForm.auditorId"></el-input>
                </zt-form-item>
      <zt-form-item label="审核时间" prop="auditorDate" rules="required">
                        <el-input v-model="dataForm.auditorDate"></el-input>
                </zt-form-item>
      <zt-form-item label="年份" prop="year" rules="required">
                        <el-input v-model="dataForm.year"></el-input>
                </zt-form-item>
    </el-form>
  </zt-dialog>
</template>
<script>
  export default {
    data() {
      return {
        dataForm: {
          id: '',
          configAuditReport:{
            code: '',
            auditor: '',
            auditorId: '',
            auditorDate: '',
          },
          project: {
            softwareIdentity: '',
            softwareName: ''
          }
        }
      }
    },
    methods: {
      // 获取信息
      async getInfo() {
        let res = await this.$http.get(`/configAuditReport/ConfigAuditReport/${this.dataForm.id}`)
        this.dataForm = {
          ...this.dataForm,
          ...res.data
        }
      },
      // 表单提交
      async formSubmit() {
        let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/configAuditReport/ConfigAuditReport/', this.dataForm)
        if (res.success) {
          await this.$tip.success()
          this.$refs.dialog.close()
          this.$emit('refreshDataList')
        }
      }
    }
  }
</script>
web/src/views/modules/configAuditReport/ConfigAuditReport.vue
New file
@@ -0,0 +1,67 @@
<template>
  <el-card shadow="never" class="aui-card--fill">
    <div class="mod-configAuditReport-configAuditReport}">
      <zt-table-wraper query-url="/configAuditReport/ConfigAuditReport/page" delete-url="/configAuditReport/ConfigAuditReport" v-slot="{ table }">
        <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>
            <el-input v-model="dataForm.softwareIdentity" placeholder="请输入项目标识" clearable></el-input>
          </el-form-item>
          <el-form-item>
          <el-input v-model="dataForm.softwareName" placeholder="请输入项目名称" clearable></el-input>
        </el-form-item>
          <el-form-item>
            <zt-button type="query" @click="table.query()"/>
            <zt-button type="add"  @click="add()"/>
            <zt-button type="delete" perm="configAuditReport:delete" @click="table.deleteHandle()"/>
          </el-form-item>
        </el-form>
        <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}" border @selection-change="table.selectionChangeHandle">
          <el-table-column type="selection" width="40"/>
            <el-table-column prop="code" label="编号"/>
            <el-table-column prop="softwareIdentity" label="编号"/>
            <el-table-column prop="softwareName" label="编号"/>
              <zt-table-column-handle :table="table" edit-perm="configAuditReport:update" delete-perm="configAuditReport::delete"/>
        </el-table>
        <!-- 弹窗, 新增 / 修改 -->
        <add-or-update ref="addOrUpdate" @refreshDataList="table.query"/>
        <ProjectSelect :pageCode="pageCode" ref="projectSelect"
                       @refreshDataList="table.query"
                       @setProjectInfo="openAddWin">
        </ProjectSelect>
      </zt-table-wraper>
    </div>
  </el-card>
</template>
<script>
  import AddOrUpdate from './ConfigAuditReport-AddOrUpdate'
  import ProjectSelect from "../project/Project-select";
  export default {
    data() {
      return {
        dataForm: {
          code: '',
          softwareIdentity: '',
          softwareName: ''
        }
      }
    },
    components: {
      AddOrUpdate,
      ProjectSelect
    },
    methods:{
      add() {
        this.$refs.projectSelect.$refs.dialog.init("config_item_warehouse")
      },
      openAddWin(row) {
        console.log(row.id, 'row.id')
        // this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id})
        this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id})
      },
    }
  }
</script>
web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue
@@ -408,7 +408,7 @@
        this.$nextTick(()=>{
          console.log(this.dataForm.projectId,'this.dataForm.projectId')
          this.ids = this.dataForm.configChangeList.map(item=>item.selectId).join(',')
          this.$refs.configItemList.$refs.dialog.init(this.dataForm.projectId,this.ids)
          this.$refs.configItemList.$refs.dialog.init(this.dataForm.projectId,{ids:this.ids,pageCode:this.pageCode})
        })
        // this.dataForm.configItemList.push({})
        // this.$nextTick(() => {
web/src/views/modules/configItemChange/configItemList.vue
@@ -61,7 +61,8 @@
        projectId:'',
        pageCode:'',
        configChangeList:[],
        remarkList:[]
        remarkList:[],
        configOutboundList:[]
      }
    }
  },
@@ -88,6 +89,7 @@
    changeRow(selection){
      this.dataForm.configChangeList = selection
      this.dataForm.remarkList = selection
      this.dataForm.configOutboundList = selection
      console.log(this.dataForm.configChangeList,'this.dataForm.checkList 选中的列表数据')
    },
    isPreview(row) {
web/src/views/modules/configItemOutbound/ConfigItemOutbound-AddOrUpdate.vue
@@ -34,7 +34,7 @@
            </div>
            <div class="el-border-left acceptDate" style="width: 90%;">
              <el-form-item style="width: 100%;padding-left:20px;margin:0;">
                <el-input :disabled="!(dataForm.disabled && stepMarker=='pzxck_first')" type="textarea" :rows="2" v-model="dataForm.configItemOutbound.outboundReason" placeholder="出库原因..."></el-input>
                <el-input :disabled="stepMarker!=='pzxck_first'" type="textarea" :rows="2" v-model="dataForm.configItemOutbound.outboundReason" placeholder="出库原因..."></el-input>
<!--                <span v-else>{{dataForm.configItemOutbound.outboundReason}}</span>-->
              </el-form-item>
            </div>
@@ -162,7 +162,7 @@
<script>
  import AddOrUpdateCheck from '../testCheckOrder/TestCheckOrder-AddOrUpdate'
  import ConfigItemList from './configItemList.vue'
  import ConfigItemList from '../configItemChange/configItemList.vue'
  import qs from "qs";
  import Cookies from "js-cookie";
@@ -260,7 +260,7 @@
        this.$nextTick(()=>{
          console.log(this.dataForm.projectId,'this.dataForm.projectId')
          this.ids = this.dataForm.configOutboundList.map(item=>item.selectId).join(',')
          this.$refs.configItemList.$refs.dialog.init(this.dataForm.projectId,this.ids)
          this.$refs.configItemList.$refs.dialog.init(this.dataForm.projectId,{ids:this.ids,pageCode:this.pageCode})
        })
        // this.dataForm.configItemList.push({})
        // this.$nextTick(() => {
web/src/views/modules/configItemOutbound/configItemList.vue
File was deleted
web/src/views/modules/configItemWarehouse/ConfigItemWarehouse.vue
@@ -12,7 +12,7 @@
            <el-input v-model="dataForm.softwareName" placeholder="请输入项目名称" clearable></el-input>
          </el-form-item>
          <el-form-item>
            <zt-dict v-model="dataForm.libraryType" dict="library_type" clearable></zt-dict>
            <zt-dict v-model="dataForm.libraryType" dict="library_type" placeholder="请选择库类型"clearable></zt-dict>
          </el-form-item>
          <el-form-item>
            <zt-button type="query" @click="table.query()"/>
web/src/views/modules/contractReview/ContractReview-AddOrUpdate.vue
@@ -118,7 +118,7 @@
          </div>
        </div>
      </div>
      <div class="el-flex order-sc" style="height: 60px">
      <div class="el-flex review-sc" style="height: 60px">
        <el-form-item class="marginTopAndMarginBottom" style="width: 100%">
          <config-uploader :lineHeight="true" busi-type="contract_review" model-name="dataForm" :dataForm="dataForm"
                           v-model="dataForm.files"/>
@@ -304,4 +304,7 @@
  margin-top: -10px !important;
  margin-bottom: 0 !important;
}
.review-sc > .el-form-item > .el-form-item__content {
  width:100%;
}
</style>
web/src/views/modules/contractReview/ContractReview.vue
@@ -1,7 +1,7 @@
<template>
  <el-card shadow="never" class="aui-card--fill">
    <div class="mod-contractReview-contractReview}">
      <zt-table-wraper query-url="/contractReview/ContractReview/page" delete-url="/contractReview/ContractReview" v-slot="{ table }">
      <zt-table-wraper query-url="/contractReview/ContractReview/page" delete-url="/contractReview/ContractReview/deleteReview" v-slot="{ table }">
        <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
          <el-form-item>
            <zt-dict v-model="dataForm.reviewType" dict="review_type" placeholder="请选择评审阶段" clearable></zt-dict>
@@ -20,7 +20,13 @@
            <el-table-column prop="code" label="编号"/>
          <zt-table-column-dict prop="reviewType" width="150px" label="评审阶段" dict="review_type"/>
          <el-table-column prop="orderCode" label="委托单编号"/>
          <zt-table-column-handle :table="table" edit-perm="contractReview:update" delete-perm="contractReview::delete"/>
          <zt-table-column-handle :table="table" edit-perm="contractReview:update" delete-perm="contractReview::delete">
          <template v-slot="{ row }">
            <zt-table-button size="small" v-show = "row.accessoryMap" type="primary"
                             @click="preview(row)">预览
            </zt-table-button>
          </template>
         </zt-table-column-handle>
        </el-table>
        <!-- 弹窗, 新增 / 修改 -->
        <add-or-update ref="addOrUpdate" @refreshDataList="table.query"/>
@@ -28,6 +34,7 @@
                       @refreshDataList="table.query"
                       @setProjectInfo="openAddWin">
        </ProjectSelect>
        <Preview ref="view" :pageMarkerfun="ContractReview"></Preview>
      </zt-table-wraper>
    </div>
  </el-card>
@@ -36,9 +43,11 @@
<script>
  import AddOrUpdate from './ContractReview-AddOrUpdate'
  import ProjectSelect from "../project/Project-select.vue"
  import Preview from '@/views/pages/view'
  export default {
    data() {
      return {
        ContractReview:'ContractReview',
        dataForm: {
          reviewType: '',
          orderCode:''
@@ -48,6 +57,7 @@
    components: {
      AddOrUpdate,
      ProjectSelect,
      Preview
    },
    methods: {
      add() {
@@ -57,6 +67,9 @@
        console.log(row.id, 'row.id')
        this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id})
      },
      preview(row){
        this.$refs.view.openAccessoryFormatSingle(row)
      }
    }
  }
</script>
web/src/views/modules/project/Environ-AddOrUpdate.vue
@@ -111,7 +111,7 @@
          <div style="width: calc(100% - 120px);">
            <div class="el-wt-border-left">
              <span>{{dataForm.environ.testEnvirontDiagram}}</span>
              <config-uploader :lineHeight="true" busi-type="test_environt_diagram" model-name="dataForm" :dataForm="dataForm"
              <config-uploader :lineHeight="true" busi-type="test_environ_diagram" model-name="dataForm" :dataForm="dataForm"
                               @getImageUrl="getImageUrl"
                               v-model="dataForm.files"/>
              <div v-if="dataForm.url">
@@ -210,6 +210,12 @@
          </div>
        </div>
      </div>
      <div class="el-flex environ-sc" style="height: 60px">
        <el-form-item class="marginTopAndMarginBottom" style="width: 100%">
          <config-uploader :lineHeight="true" :busiTypeVarName="busiTypeVarName" busi-type="test_environ" model-name="dataForm" :dataForm="dataForm"
                           v-model="dataForm.files2"/>
        </el-form-item>
      </div>
    </el-form>
    <template v-slot:footer>
      <el-button v-if="dataForm.disabled" type="primary" @click="print()">打印</el-button>
@@ -224,6 +230,7 @@
  export default {
    data() {
      return {
        busiTypeVarName: 'files2',
        dataForm: {
          id: '',
          url: '',
@@ -426,5 +433,8 @@
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }
  .environ-sc > .el-form-item > .el-form-item__content {
    width:100%;
  }
</style>
web/src/views/modules/project/Environ.vue
@@ -20,7 +20,13 @@
            <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"/>
              <zt-table-column-handle :table="table" edit-perm="project:update" delete-perm="project::delete">
                <template v-slot="{ row }">
                  <zt-table-button size="small" v-show = "row.accessoryMap" type="primary"
                                   @click="preview(row)">预览
                  </zt-table-button>
                </template>
              </zt-table-column-handle>
        </el-table>
        <!-- 弹窗, 新增 / 修改 -->
        <add-or-update ref="addOrUpdate" @refreshDataList="table.query"/>
@@ -28,6 +34,7 @@
                       @refreshDataList="table.query"
                       @setProjectInfo="openAddWin">
        </ProjectSelect>
        <Preview ref="view" :pageMarkerfun="Environ"></Preview>
      </zt-table-wraper>
    </div>
</template>
@@ -35,9 +42,11 @@
<script>
  import AddOrUpdate from './Environ-AddOrUpdate'
  import ProjectSelect from "./Project-select.vue"
  import Preview from '@/views/pages/view'
  export default {
    data() {
      return {
        Environ:'Environ',
        dataForm: {
          code: '',
        }
@@ -45,7 +54,8 @@
    },
    components: {
      AddOrUpdate,
      ProjectSelect
      ProjectSelect,
      Preview
    },
    methods:{
      dataLoaded(data){
@@ -58,6 +68,9 @@
        console.log(row.id, 'row.id')
        this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id})
      },
      preview(row){
        this.$refs.view.openAccessoryFormatSingle(row)
      }
    }
  }
</script>
web/src/views/modules/project/Project.vue
@@ -14,10 +14,6 @@
            <zt-dict v-model="dataForm.criticalLevel" placeholder="关键等级" dict="critical_level" clearable></zt-dict>
          </el-form-item>
<!--          <el-form-item>-->
<!--            <zt-dict v-model="dataForm.testLevel" placeholder="测试级别" dict="test_level" clearable></zt-dict>-->
<!--          </el-form-item>-->
          <el-form-item >
            <zt-dict v-model="dataForm.softwareType" placeholder="软件类型" dict="software_type" clearable></zt-dict>
web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
@@ -204,7 +204,7 @@
                  </div>
                  <div class="el-border-left testVenue" style="width: 98%">
                  <el-form-item  style="width: 98%;padding-left:20px;margin:0;">
                    <el-input v-model="dataForm.softwareTestOrder.testVenue" placeholder="请输入单位名称"></el-input>
                    <el-input v-model="dataForm.softwareTestOrder.testVenue" placeholder="请输入测试场地"></el-input>
                  </el-form-item>
                  </div>
                </div>
@@ -410,9 +410,6 @@
          </div>
        </div>
        <div class="el-flex order-sc" style="height: 60px">
<!--          <div class="DPadding3 DAlign DHold">-->
<!--            委托单上传-->
<!--          </div>-->
            <el-form-item class="marginTopAndMarginBottom" style="width: 100%">
              <config-uploader :lineHeight="true" busi-type="test_order" model-name="dataForm" :dataForm="dataForm"
                               v-model="dataForm.files"/>
web/src/views/modules/testCheckOrder/TestCheckOrder.vue
@@ -12,7 +12,7 @@
          </el-form-item>
          <el-form-item>
            <zt-button type="query" @click="table.query()"/>
            <zt-button type="primary" v-if="!(pageCode==='plan' || pageCode==='explain' || pageCode==='record' || pageCode==='report')" class="el-icon-edit" perm="project:add" @click="add()">新增</zt-button>
            <zt-button type="primary" v-if="!(pageCode==='plan' || pageCode==='explain' || pageCode==='record' || pageCode==='report')" class="el-icon-edit"  @click="add()">新增</zt-button>
            <zt-button type="delete" perm="testCheckOrder:delete" @click="table.deleteHandle()"/>
          </el-form-item>
        </el-form>
web/src/views/pages/login.vue
@@ -45,11 +45,11 @@
                  </el-col>
                </el-row>
              </zt-form-item>
              <el-form-item class="login-form-margin">
         <!--     <el-form-item class="login-form-margin">
                <el-button class="btn" style="margin-bottom:0;float: left" type="primary" @click="changePassword()">修改密码</el-button>
                <el-button class="btn" style="margin-bottom:0;float: right" @click="register">用户注册
                </el-button>
              </el-form-item>
              </el-form-item>-->
              <el-form-item class="login-form-margin">
                <el-button class="btn" style="margin-bottom:0;width: 100%" type="primary" @click="formSubmit()">{{
                  $t('login.clickTitle') }}