jinlin
2023-11-27 5d8c028ff37838e0628d5852e41b19efc80e4be1
Changes
17个文件已修改
402 ■■■■■ 已修改文件
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/controller/ConfigItemWarehouseController.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/ConfigItemWarehouseDao.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/WarehouseConfigItemDao.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dto/ConfigItemWarehouseDto.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/ConfigItemWarehouse.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseCmAudit.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseQaAudit.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseCmAuditService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseConfigItemService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseQaAuditService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseCmAuditDao.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseQaAuditDao.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue 164 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zt/common/src/main/java/com/zt/core/sys/dto/DictIstance.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/controller/ConfigItemWarehouseController.java
@@ -18,6 +18,8 @@
import com.zt.life.modules.itemCirculatOrder.dto.ItemCirculatOrderDto;
import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
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;
@@ -27,7 +29,9 @@
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@@ -43,6 +47,11 @@
    @Autowired
    private ConfigItemWarehouseService configItemWarehouseService;
    @Autowired
    private SysCodeRuleService sysCodeRuleService;
    @Autowired
    private SysOssConfigService sysOssConfigService;
    @GetMapping("page")
    @ApiOperation("分页")
    @ApiImplicitParams({
@@ -63,27 +72,36 @@
    @ApiOperation("信息")
    public Result<ConfigItemWarehouseDto> getDto(Long projectId, Long warehouseId) {
        ConfigItemWarehouseDto data =configItemWarehouseService.getDto(projectId, warehouseId);
        if (warehouseId!=null) {
            OssDto ossDto = sysOssConfigService.getOssByBusiType(warehouseId, "config_item_warehouse");
            if (ossDto != null) {
                data.setFiles(ossDto);
            }
        }
        return Result.ok(data);
    }
    @PostMapping
    @ApiOperation("新增")
    @LogOperation("新增")
    public Result insert(@RequestBody ConfigItemWarehouse configItemWarehouse){
    public Result insert(@RequestBody ConfigItemWarehouseDto configItemDto){
        //效验数据
        ValidatorUtils.validateEntity(configItemWarehouse, AddGroup.class, DefaultGroup.class);
        configItemWarehouseService.insert(configItemWarehouse);
        ValidatorUtils.validateEntity(configItemDto, AddGroup.class, DefaultGroup.class);
        Map<String, String> map = new HashMap<>();
        map.put("funCode", "config_item_warehouse");
        map.put("projectId",configItemDto.getProjectId().toString());
        configItemDto.getConfigItemWarehouse().setCode(sysCodeRuleService.getNewCode(map));
        Boolean result = configItemWarehouseService.save(configItemDto);
        return Result.ok();
    }
    @PutMapping
    @ApiOperation("修改")
    @LogOperation("修改")
    public Result update(@RequestBody ConfigItemWarehouse configItemWarehouse){
    public Result update(@RequestBody ConfigItemWarehouseDto configItemDto){
        //效验数据
        ValidatorUtils.validateEntity(configItemWarehouse, UpdateGroup.class, DefaultGroup.class);
        configItemWarehouseService.update(configItemWarehouse);
        ValidatorUtils.validateEntity(configItemDto, UpdateGroup.class, DefaultGroup.class);
        Boolean result = configItemWarehouseService.save(configItemDto);
        return Result.ok();
    }
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/ConfigItemWarehouseDao.java
@@ -2,6 +2,7 @@
import com.zt.common.dao.BaseDao;
import com.zt.life.modules.configItemWarehouse.model.ConfigItemWarehouse;
import com.zt.life.modules.configItemWarehouse.model.WarehouseCmAudit;
import org.apache.ibatis.annotations.Mapper;
@@ -20,4 +21,5 @@
    List<ConfigItemWarehouse> getList(Map<String, Object> params);
    List<WarehouseCmAudit> itemList(String dictType);
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/WarehouseConfigItemDao.java
@@ -1,6 +1,7 @@
package com.zt.life.modules.configItemWarehouse.dao;
import com.zt.common.dao.BaseDao;
import com.zt.core.sys.dto.DictIstance;
import com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem;
import org.apache.ibatis.annotations.Mapper;
@@ -20,4 +21,5 @@
    List<WarehouseConfigItem> getList(Map<String, Object> params);
    List<DictIstance> itemList(Long projectId);
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dto/ConfigItemWarehouseDto.java
@@ -8,6 +8,7 @@
import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
import com.zt.life.modules.project.model.Project;
import com.zt.life.modules.sysBaseInfo.model.TestAgencyInfo;
import com.zt.life.sys.dto.OssDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -24,9 +25,8 @@
    private Project project;
    @ApiModelProperty(value = "配置项入库")
    private ConfigItemWarehouse configItemWarehouse;
    @ApiModelProperty(value = "测试机构信息")
    private TestAgencyInfo TestAgencyInfo;
    @ApiModelProperty(value = "附件")
    private OssDto files;
    @ApiModelProperty(value = "入库配置项")
    private List<WarehouseConfigItem> configItemList = new ArrayList<>();
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/ConfigItemWarehouse.java
@@ -28,12 +28,6 @@
    @ApiModelProperty(value = "配置项入库编号")
    private String code;
    @ApiModelProperty(value = "项目编号")
    private String projectCode;
    @ApiModelProperty(value = "项目名称")
    private String projectName;
    @ApiModelProperty(value = "申请人")
    private String applicant;
@@ -44,6 +38,26 @@
    @ApiModelProperty(value = "库类型")
    private String libraryType;
    @ApiModelProperty(value = "QA审核结果")
    private String qaAuditResults;
    @ApiModelProperty(value = "QA审核人")
    private String qaAuditor;
    @ApiModelProperty(value = "QA审核日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date qaAuditDate;
    @ApiModelProperty(value = "CM审核结果")
    private String cmAuditResults;
    @ApiModelProperty(value = "CM审核人")
    private String cmAuditor;
    @ApiModelProperty(value = "CM审核日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date cmAuditDate;
    @ApiModelProperty(value = "批准意见")
    private String approvalOpinions;
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseCmAudit.java
@@ -35,17 +35,8 @@
    private String examineResult;
    @ApiModelProperty(value = "不适用说明")
    private String
notApplyExplan;
    private String notApplyExplan;
    @ApiModelProperty(value = "审核结果")
    private String auditResults;
    @ApiModelProperty(value = "审核人")
    private String auditors;
    @ApiModelProperty(value = "审核日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date auditDate;
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseQaAudit.java
@@ -35,17 +35,6 @@
    private String examineResult;
    @ApiModelProperty(value = "不适用说明")
    private String
notApplyExplan;
    @ApiModelProperty(value = "审核结果")
    private String auditResults;
    @ApiModelProperty(value = "审核人")
    private String auditors;
    @ApiModelProperty(value = "审核日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date auditDate;
    private String notApplyExplan;
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java
@@ -11,6 +11,8 @@
import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrder;
import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
import com.zt.life.modules.itemCirculatOrder.service.ItemCirculatOrderTechnicalService;
import com.zt.life.modules.project.model.SoftwareTestOrderDeliverable;
import com.zt.life.modules.project.model.SoftwareTestOrderMeasured;
import com.zt.life.modules.project.service.ProjectService;
import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService;
import com.zt.life.sys.service.SysOssConfigService;
@@ -76,39 +78,53 @@
        super.deleteLogic(ids);
    }
   /* public Boolean save(ItemCirculatOrderDto itemCirculatOrderDto) {
        Long circulatOrderid = itemCirculatOrderDto.getCirculatOrder().getId();
        if (circulatOrderid != null)
            baseDao.updateById(itemCirculatOrderDto.getCirculatOrder());
    public Boolean save(ConfigItemWarehouseDto configItemDto) {
        Long warehouseId = configItemDto.getConfigItemWarehouse().getId();
        if (warehouseId != null)
            baseDao.updateById(configItemDto.getConfigItemWarehouse());
        else {
            Map<String, String> map = new HashMap<>();
            map.put("funCode", "item_circulat_order");
            map.put("projectId",itemCirculatOrderDto.getProjectId().toString());
            itemCirculatOrderDto.getCirculatOrder().setProjectId(itemCirculatOrderDto.getProjectId());
            itemCirculatOrderDto.getCirculatOrder().setCode(sysCodeRuleService.getNewCode(map));
            baseDao.insert(itemCirculatOrderDto.getCirculatOrder());
            circulatOrderid = itemCirculatOrderDto.getCirculatOrder().getId();
            map.put("funCode", "config_item_warehouse");
            map.put("projectId",configItemDto.getProjectId().toString());
            configItemDto.getConfigItemWarehouse().setProjectId(configItemDto.getProjectId());
            configItemDto.getConfigItemWarehouse().setCode(sysCodeRuleService.getNewCode(map));
            baseDao.insert(configItemDto.getConfigItemWarehouse());
            warehouseId = configItemDto.getConfigItemWarehouse().getId();
        }
        for (ItemCirculatOrderTechnical circulatOrderTechnical : itemCirculatOrderDto.getTechnicalList()) {
            circulatOrderTechnical.setCirculatOrderId(circulatOrderid);
            if (circulatOrderTechnical.getId() != null) {
                technicalService.update(circulatOrderTechnical);
        for (WarehouseConfigItem configItem : configItemDto.getConfigItemList()) {
            configItem.setWarehouseId(warehouseId);
            if (configItem.getId() != null) {
                configItemService.update(configItem);
            } else {
                circulatOrderTechnical.setCirculatOrderId(circulatOrderid);
                technicalService.insert(circulatOrderTechnical);
                configItem.setWarehouseId(warehouseId);
                configItemService.insert(configItem);
            }
            sysOssConfigService.updateOss(circulatOrderTechnical.getId(), circulatOrderTechnical.getFiles());// 保存附件
        }
        if (itemCirculatOrderDto.getTestAgencyInfo().getId() == 10000) {
            itemCirculatOrderDto.getTestAgencyInfo().setId(circulatOrderid);
            testAgencyInfoService.insert(itemCirculatOrderDto.getTestAgencyInfo());
        for (WarehouseCmAudit cmAudit : configItemDto.getCmAuditList()) {
            cmAudit.setWarehouseId(warehouseId);
            if (cmAudit.getId() != null) {
                cmAuditService.update(cmAudit);
        } else {
            testAgencyInfoService.update(itemCirculatOrderDto.getTestAgencyInfo());
                cmAudit.setWarehouseId(warehouseId);
                cmAuditService.insert(cmAudit);
        }
        }
        for (WarehouseQaAudit qaAudit : configItemDto.getQaAuditList()) {
            qaAudit.setWarehouseId(warehouseId);
            if (qaAudit.getId() != null) {
                qaAuditService.update(qaAudit);
            } else {
                qaAudit.setWarehouseId(warehouseId);
                qaAuditService.insert(qaAudit);
            }
        }
        sysOssConfigService.updateOss(configItemDto.getId(), configItemDto.getFiles());// 保存附件
        return true;
    }*/
    }
    public ConfigItemWarehouseDto getDto(Long projectId, Long warehouseId) {
        ConfigItemWarehouseDto data = new ConfigItemWarehouseDto();
@@ -118,8 +134,6 @@
            data.setConfigItemWarehouse(configItemWarehouse);
            projectId = configItemWarehouse.getProjectId();
            data.setTestAgencyInfo(testAgencyInfoService.get(warehouseId));
            List<WarehouseCmAudit> CmAuditList = cmAuditService.getList(warehouseId);
            data.setCmAuditList(CmAuditList);
@@ -131,19 +145,21 @@
        } else {
            ConfigItemWarehouse configItemWarehouse =new ConfigItemWarehouse();
            data.setConfigItemWarehouse(configItemWarehouse);
            List<?> cmList = cmAuditService.itemList(projectId);
            List<?> cmList = baseDao.itemList("warehouse_cm_audit");
            List<?> CmAuditList = cmList;
            data.setCmAuditList((List<WarehouseCmAudit>) CmAuditList);
            List<?> resultList = qaAuditService.itemList(projectId);
            List<?> qaList = baseDao.itemList("warehouse_qa_audit");
            List<?> QaAuditList = qaList;
            data.setQaAuditList((List<WarehouseQaAudit>) QaAuditList);
            List<?> resultList = configItemService.ConfigItemList(projectId);
            List<?> ConfigItemList = resultList;
            data.setConfigItemList((List<WarehouseConfigItem>) ConfigItemList);
        }
        if (projectId != null) {
            data.setProjectId(projectId);
            data.setProject(projectService.get(projectId));
        }
        if (data.getTestAgencyInfo() == null)
            data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
        return data;
    }
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseCmAuditService.java
@@ -6,7 +6,9 @@
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;
/**
@@ -38,10 +40,9 @@
    }
    public List<WarehouseCmAudit> getList(Long warehouseId) {
        return null;
        Map<String, Object> params = new HashMap<>();
        params.put("warehouseId",warehouseId);
        return baseDao.getList(params);
    }
    public List<?> itemList(Long projectId) {
        return null;
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseConfigItemService.java
@@ -1,12 +1,16 @@
package com.zt.life.modules.configItemWarehouse.service;
import com.zt.common.service.BaseService;
import com.zt.core.sys.dto.DictIstance;
import com.zt.life.modules.configItemWarehouse.dao.WarehouseConfigItemDao;
import com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem;
import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
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;
/**
@@ -38,6 +42,12 @@
    }
    public List<WarehouseConfigItem> getList(Long warehouseId) {
        return null;
        Map<String, Object> params = new HashMap<>();
        params.put("warehouseId",warehouseId);
        return baseDao.getList(params);
    }
    public List<DictIstance> ConfigItemList(Long projectId) {
        return baseDao.itemList(projectId);
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseQaAuditService.java
@@ -6,7 +6,9 @@
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;
/**
@@ -38,10 +40,9 @@
    }
    public List<WarehouseQaAudit> getList(Long warehouseId) {
        return null;
        Map<String, Object> params = new HashMap<>();
        params.put("warehouseId",warehouseId);
        return baseDao.getList(params);
    }
    public List<?> itemList(Long projectId) {
        return null;
    }
}
modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml
@@ -17,5 +17,19 @@
            ORDER BY ${orderBySql}
        </if>
    </select>
    <select id="itemList" resultType="com.zt.life.modules.configItemWarehouse.model.WarehouseCmAudit">
        SET @row_number = 0;
        SELECT  dd.dict_label AS name,
        (@row_number := @row_number + 1) AS no
        FROM sys_dict_type dt
        JOIN sys_dict_data dd ON dt.ID = dd.DICT_TYPE_ID
        <where>
            dd.IS_DELETE = 0
            <if test="dictType != null and dictType != ''">
                and dt.DICT_TYPE = #{dictType}
            </if>
        </where>
        ORDER BY dd.sort
    </select>
</mapper>
modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseCmAuditDao.xml
@@ -8,8 +8,8 @@
        from warehouse_cm_audit a
        <where>
            a.is_delete = 0
            <if test="whereSql!=null">
                and ${whereSql}
            <if test="warehouseId!=null">
                and warehouse_id = ${warehouseId}
            </if>
        </where>
        <if test="orderBySql!=null">
modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml
@@ -8,13 +8,25 @@
        from warehouse_config_item a
        <where>
            a.is_delete = 0
            <if test="whereSql!=null">
                and ${whereSql}
            <if test="warehouseId!=null">
                and warehouse_id = ${warehouseId}
            </if>
        </where>
        <if test="orderBySql!=null">
            ORDER BY ${orderBySql}
        </if>
    </select>
    <select id="itemList" resultType="com.zt.core.sys.dto.DictIstance">
        SELECT m.*, p.secret_class
        FROM software_test_order_measured m
        JOIN software_test_order s ON s.id = m.order_id
        JOIN project p ON p.id = ${projectId}
        <where>
            s.is_delete = 0 and m.is_delete = 0
            <if test="projectId!=null">
                and s.project_id = ${projectId}
            </if>
        </where>
    </select>
</mapper>
modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseQaAuditDao.xml
@@ -8,8 +8,8 @@
        from warehouse_qa_audit a
        <where>
            a.is_delete = 0
            <if test="whereSql!=null">
                and ${whereSql}
            <if test="warehouseId!=null">
                and warehouse_id = ${warehouseId}
            </if>
        </where>
        <if test="orderBySql!=null">
web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
@@ -3,28 +3,25 @@
    <el-form ref="dataForm" style="padding-top: 0" :inline="true" :model="dataForm" label-width="120px" class="warehouseFormAuto">
      <div >
        <el-form-item label-width="60px" label="编号:" style="width:100%;margin-bottom: -5px">
          <span>{{dataForm.code}}</span>
          <span>{{dataForm.configItemWarehouse.code}}</span>
        </el-form-item>
      </div>
      <div style="border: 1px solid rgba(0,0,0,.2);width: 99%">
        <div style="border-bottom: 1px solid rgba(0,0,0,.2);" class="warehouseContentWidth">
        <el-form-item class="marginTopAndMarginBottom" label="项目编号" style="width: 49%">
          <el-input v-model="dataForm.itemNumber" placeholder="请输入项目编号"></el-input>
          <el-input v-model="dataForm.project.code" placeholder="请输入项目编号"></el-input>
        </el-form-item>
        <el-form-item class="marginTopAndMarginBottom" label="项目名称" style="width: 49%">
          <el-input v-model="dataForm.name" placeholder="请输入编号名称"></el-input>
          <el-input v-model="dataForm.project.softwareName" placeholder="请输入项目名称"></el-input>
        </el-form-item>
        <el-form-item label="申请人" style="width: 49%">
          <el-input v-model="dataForm.applicant" placeholder="请输入编号名称"></el-input>
          <el-input v-model="dataForm.configItemWarehouse.applicant" placeholder="请输入申请人"></el-input>
        </el-form-item>
        <el-form-item label="申请日期" style="width: 49%">
          <el-input v-model="dataForm.date" placeholder="请输入编号名称"></el-input>
          <el-input v-model="dataForm.configItemWarehouse.applyDate" placeholder="请输入申请日期"></el-input>
        </el-form-item>
        <el-form-item class="marginTopAndMarginBottom2" label="库类型" style="width: 99%">
          <el-radio-group v-model="dataForm.type">
            <el-radio :label="0">受控库</el-radio>
            <el-radio :label="1">产品库</el-radio>
          </el-radio-group>
          <zt-dict v-model="dataForm.configItemWarehouse.libraryType" :radio="true" dict="library_type"></zt-dict>
        </el-form-item>
        </div>
        <div class="el-flexManageDialog el-border-bottom">
@@ -33,31 +30,31 @@
          </div>
          <div class="el-border-left" style="width: calc(100% - 120px)">
            <div class="table-container">
            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.storageData"
            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.configItemList"
                      stripe>
              <el-table-column prop="code" align="center" width="60" label="序号">
              <el-table-column prop="no" align="center" width="60" label="序号">
                <template slot-scope="scope">
                  <span v-html="indexFormat(scope.$index)"></span>
                </template>
              </el-table-column>
              <el-table-column prop="name" min-width="200" label="配置项名称">
              <el-table-column prop="itemName" min-width="200" label="配置项名称">
                <template v-slot="{ row }">
                  <el-input v-model="row.name" placeholder="配置项名称"></el-input>
                  <el-input v-model="row.itemName" placeholder="配置项名称"></el-input>
                </template>
              </el-table-column>
              <el-table-column prop="identification" align="center" width="220" label="配置项标识">
              <el-table-column prop="itemDentify" align="center" width="220" label="配置项标识">
                <template v-slot="{ row }">
                  <el-input v-model="row.identification" placeholder="配置项标识"></el-input>
                  <el-input v-model="row.itemDentify" placeholder="配置项标识"></el-input>
                </template>
              </el-table-column>
              <el-table-column prop="versions" align="center" width="120" label="版本">
              <el-table-column prop="version" align="center" width="120" label="版本">
                <template v-slot="{ row }">
                  <el-input v-model="row.versions" placeholder="版本"></el-input>
                  <el-input v-model="row.version" placeholder="版本"></el-input>
                </template>
              </el-table-column>
              <el-table-column prop="rollBackVersions" label="上溯版" width="120"  align="center">
              <el-table-column prop="retrospectVersion" label="上溯版" width="120"  align="center">
                <template v-slot="{ row }">
                  <el-input v-model="row.rollBackVersions" placeholder="上溯版"></el-input>
                  <el-input v-model="row.retrospectVersion" placeholder="上溯版"></el-input>
                </template>
              </el-table-column>
              <el-table-column prop="secretClass" label="密级" width="80"  align="center">
@@ -79,33 +76,28 @@
            项目QA审核
          </div>
          <div class="el-border-left" style="width: calc(100% - 120px)">
            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px"  border :data="dataForm.examineData"
            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px"  border :data="dataForm.qaAuditList"
                      stripe>
              <el-table-column prop="code" align="center" width="80" label="序号"></el-table-column>
              <el-table-column prop="checkItem" min-width="300" label="检查项"></el-table-column>
              <el-table-column prop="no" align="center" width="80" label="序号"></el-table-column>
              <el-table-column prop="examineItem" min-width="300" label="检查项"></el-table-column>
              <el-table-column label="检查结果" width="250" align="center">
                <template slot-scope="scope">
                  <el-radio-group v-model="scope.row.result">
                    <el-radio :label="0">是</el-radio>
                    <el-radio :label="1">否</el-radio>
                    <el-radio :label="2">不适用</el-radio>
                  </el-radio-group>
                  <zt-dict v-model="scope.row.examineResult" placeholder="检查结果" dict="tristate2"
                           clearable></zt-dict>
                </template>
              </el-table-column>
              <el-table-column prop="remark" align="center" width="120" label="不适用说明"></el-table-column>
              <el-table-column prop="notApplyExplan" align="center" width="120" label="不适用说明"></el-table-column>
            </el-table>
            <div class="el-border-top">
            <el-form-item label="审核结果" style="width: 99%">
              <el-radio-group v-model="dataForm.result">
                <el-radio :label="0">通过</el-radio>
                <el-radio :label="1">不通过</el-radio>
              </el-radio-group>
              <zt-dict v-model="dataForm.configItemWarehouse.qaAuditResults" placeholder="审核结果" dict="is_pass"
                       clearable></zt-dict>
            </el-form-item>
            <el-form-item label="审核人:" style="width: 48%">
              <span>{{dataForm.auditor}}</span>
              <span>{{dataForm.configItemWarehouse.qaAuditor}}</span>
            </el-form-item>
            <el-form-item label="审核日期:" style="width: 48%">
              <span>{{dataForm.auditDate}}</span>
              <span>{{dataForm.configItemWarehouse.qaAuditDate}}</span>
            </el-form-item>
            </div>
          </div>
@@ -115,36 +107,28 @@
            CM审核
          </div>
          <div class="el-border-left" style="width: calc(100% - 120px)">
            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px"  border :data="dataForm.CMData"
            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px"  border :data="dataForm.cmAuditList"
                      stripe>
              <el-table-column prop="code" align="center" width="80" label="序号"></el-table-column>
              <el-table-column prop="checkItem" min-width="300" label="检查项"></el-table-column>
              <el-table-column prop="no" align="center" width="80" label="序号"></el-table-column>
              <el-table-column prop="examineItem" min-width="300" label="检查项"></el-table-column>
              <el-table-column label="检查结果" width="250" align="center">
                <template slot-scope="scope">
                  <el-radio-group v-model="scope.row.result">
                    <el-radio :label="0">是</el-radio>
                    <el-radio :label="1">否</el-radio>
                    <el-radio :label="2">不适用</el-radio>
                  </el-radio-group>
                </template>
                <zt-dict v-model="row.examineResult" placeholder="检查结果" dict="tristate2"
                         clearable></zt-dict>
              </el-table-column>
              <el-table-column prop="remark" align="center" width="120" label="不适用说明"></el-table-column>
              <el-table-column prop="notApplyExplan" align="center" width="120" label="不适用说明"></el-table-column>
            </el-table>
            <div class="el-border-top">
              <el-form-item label="审核结果" style="width: 99%">
                <el-radio-group v-model="dataForm.CMResult">
                  <el-radio :label="0">通过</el-radio>
                  <el-radio :label="1">不通过</el-radio>
                </el-radio-group>
                <zt-dict v-model="dataForm.configItemWarehouse.cmAuditResults" placeholder="审核结果" dict="is_pass"
                         clearable></zt-dict>
              </el-form-item>
              <el-form-item label="审核人" style="width: 48%">
                <span>{{dataForm.CMAuditor}}</span>
              <el-form-item label="审核人:" style="width: 48%">
                <span>{{dataForm.configItemWarehouse.cmAuditor}}</span>
              </el-form-item>
              <el-form-item label="审核日期" style="width: 48%">
                <span>{{dataForm.CMAuditDate}}</span>
              <el-form-item label="审核日期:" style="width: 48%">
                <span>{{dataForm.configItemWarehouse.cmAuditDate}}</span>
              </el-form-item>
            </div>
          </div>
        </div>
        <div class="el-flexManageDialog el-border-bottom">
@@ -153,16 +137,14 @@
          </div>
          <div style="width: calc(100% - 120px)" class="el-border-left">
            <el-form-item class="el-wt-form-item-margin" label-width="120px" style="width: 85%">
              <el-radio-group v-model="dataForm.opinion">
                <el-radio :label="0">同意</el-radio>
                <el-radio :label="1">不同意</el-radio>
              </el-radio-group>
              <zt-dict v-model="dataForm.configItemWarehouse.approvalOpinions" placeholder="审核结果" dict="is_pass"
                       clearable></zt-dict>
            </el-form-item>
            <el-form-item label-width="80%" label="签字:" style="width: 65%">
              <span>{{dataForm.signature}}</span>
              <span>{{dataForm.configItemWarehouse.approvalSign}}</span>
            </el-form-item>
            <el-form-item label="日期:" style="width: 20%">
              <span>{{dataForm.approvalOpinionDate}}</span>
              <span>{{dataForm.configItemWarehouse.approvalDate}}</span>
            </el-form-item>
          </div>
        </div>
@@ -172,13 +154,13 @@
          </div>
          <div style="width: calc(100% - 120px)" class="el-border-left">
            <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
              <el-input  type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.CMTextarea"></el-input>
              <el-input  type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.configItemWarehouse.projectCmOperations"></el-input>
            </el-form-item>
            <el-form-item label-width="80%" label="操作人:" style="width: 65%">
              <span>{{dataForm.CMSignature}}</span>
              <span>{{dataForm.configItemWarehouse.operator}}</span>
            </el-form-item>
            <el-form-item label="日期:" style="width: 20%">
              <span>{{dataForm.CMDate}}</span>
              <span>{{dataForm.configItemWarehouse.operateDate}}</span>
            </el-form-item>
          </div>
        </div>
@@ -188,7 +170,7 @@
          </div>
          <div style="width: calc(100% - 120px)" class="el-border-left">
            <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
              <el-input  type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.textarea"></el-input>
              <el-input  type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.configItemWarehouse.remark"></el-input>
            </el-form-item>
          </div>
        </div>
@@ -203,27 +185,46 @@
      return {
        dataForm: {
          id: '',
          projectId: '',
          configItemWarehouse:{
            id:"",
            code: "",
            applicant: "",
            applyDate: "",
            libraryType: "",
            qaAuditResults:"",
            qaAuditor:"",
            qaAuditDate:"",
            cmAuditResults:"",
            cmAuditor:"",
            cmAuditDate:"",
            approvalOpinions: "",
            approvalSign: "",
            approvalDate: "",
            projectCmOperations: "",
            operator: "",
            operateDate: "",
            remark: "",
          },
          project: {
          code: '',
          projectCode: '',
          projectName: '',
          applicant: '',
          applyDate: '',
          libraryType: '',
          approvalOpinions: '',
          approvalSign: '',
          approvalDate: '',
          projectCmOperations: '',
          operator: '',
          operateDate: '',
          remark: '',
          year: ''
            softwareName: '',
          },
          cmAuditList:[],
          configItemList:[],
          qaAuditList:[],
        }
      }
    },
    methods: {
      indexFormat(index){
        return index += 1
      },
      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')
      },
      addConfigItemWarehouseRow(){
        // this.dataForm.technicalList.push({})
@@ -234,11 +235,16 @@
      },
      // 获取信息
      async getInfo() {
        let res = await this.$http.get(`/configItemWarehouse/ConfigItemWarehouse/${this.dataForm.id}`)
        let params = {
          warehouseId: this.dataForm.id,
          projectId: this.dataForm.projectId
        }
        let res = await this.$http.get(`/configItemWarehouse/ConfigItemWarehouse/getDto`,{params: params})
        this.dataForm = {
          ...this.dataForm,
          ...res.data
        }
        console.log(this.dataForm,"getInfo this.dataForm")
      },
      // 表单提交
      async formSubmit() {
zt/common/src/main/java/com/zt/core/sys/dto/DictIstance.java
@@ -12,6 +12,10 @@
    private String identify;
    private String version;
    private String secretClass;
    private String retrospect_version;
}