modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseCmAudit.java
@@ -18,7 +18,7 @@ */ @Data @EqualsAndHashCode(callSuper=false) @TableName("warehouse_cm_audit") @TableName("config_item_warehouse_cm") public class WarehouseCmAudit extends BusiEntity { private static final long serialVersionUID = 1L; modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java
@@ -19,7 +19,7 @@ */ @Data @EqualsAndHashCode(callSuper=false) @TableName("warehouse_config_item") @TableName("config_item_warehouse_detail") public class WarehouseConfigItem extends BusiEntity { private static final long serialVersionUID = 1L; modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseQaAudit.java
@@ -18,7 +18,7 @@ */ @Data @EqualsAndHashCode(callSuper=false) @TableName("warehouse_qa_audit") @TableName("config_item_warehouse_qa") public class WarehouseQaAudit extends BusiEntity { private static final long serialVersionUID = 1L; @@ -36,5 +36,4 @@ @ApiModelProperty(value = "不适用说明") private String notApplyExplan; } modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java
@@ -15,6 +15,8 @@ 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.modules.testCheckOrder.model.TestCheckOrder; import com.zt.life.modules.testCheckOrder.service.TestCheckOrderService; import com.zt.life.sys.service.SysOssConfigService; import com.zt.modules.coderule.service.SysCodeRuleService; import com.zt.modules.oss.service.SysOssService; @@ -62,6 +64,9 @@ @Autowired private WarehouseConfigItemService configItemService; @Autowired private TestCheckOrderService testCheckOrderService; /** * 分页查询 * @@ -103,6 +108,15 @@ configItem.setWarehouseId(warehouseId); configItemService.insert(configItem); } Long checkId = configItem.getCheckId(); if (checkId != null) { TestCheckOrder testCheckOrder = testCheckOrderService.get(checkId); if (testCheckOrder.getConfigItemId() == null) { Long configItemId = configItem.getId(); testCheckOrder.setConfigItemId(configItemId); testCheckOrderService.update(testCheckOrder); } } sysOssConfigService.updateOss(configItem.getId(), configItem.getFiles());// 保存附件 } @@ -129,7 +143,7 @@ Long bizId = configItemDto.getConfigItemWarehouse().getId(); FlowInfoDto flowInfoDto = configItemDto.getFlowInfoDto(); if (flowInfoDto != null && "tj,bl".contains(flowInfoDto.getSubmitType())) { if (flowInfoDto != null && flowInfoDto.getSubmitType() != null && "tj,bl".contains(flowInfoDto.getSubmitType())) { if ("tj".equals(flowInfoDto.getSubmitType())) { workflowService.startFlow(flowInfoDto.getFlowCode(), bizId); } modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/controller/TestCheckOrderController.java
@@ -75,11 +75,11 @@ public Result insert(@RequestBody CheckOrderDto checkOrderDto) { //效验数据 ValidatorUtils.validateEntity(checkOrderDto, AddGroup.class, DefaultGroup.class); Map<String, String> map = new HashMap<>(); /* Map<String, String> map = new HashMap<>(); String pagecode = checkOrderDto.getPageCode(); map.put("funCode", "test_check_order"+pagecode); map.put("funCode", "test_check_order_"+pagecode); map.put("projectId", checkOrderDto.getProjectId().toString()); checkOrderDto.getCheckOrder().setCode(sysCodeRuleService.getNewCode(map)); checkOrderDto.getCheckOrder().setCode(sysCodeRuleService.getNewCode(map));*/ Boolean result = testCheckOrderService.save(checkOrderDto); return Result.ok(); } modules/mainPart/src/main/java/com/zt/life/modules/testCheckOrder/service/TestCheckOrderService.java
@@ -20,6 +20,7 @@ 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.ArrayList; import java.util.HashMap; @@ -98,7 +99,8 @@ baseDao.updateById(checkOrderDto.getCheckOrder()); else { Map<String, String> map = new HashMap<>(); map.put("funCode", "test_check_order"); String pagecode = checkOrderDto.getPageCode(); map.put("funCode", "test_check_order_" + pagecode); map.put("projectId", checkOrderDto.getProjectId().toString()); checkOrderDto.getCheckOrder().setProjectId(checkOrderDto.getProjectId()); checkOrderDto.getCheckOrder().setCode(sysCodeRuleService.getNewCode(map)); web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
@@ -1,6 +1,7 @@ <template> <zt-dialog ref="dialog" column="3" :title="title" :stepMarker="stepMarker" @confirm="formSubmit" > <el-form ref="dataForm" style="padding-top: 0" :inline="true" :disabled="dataForm.disabled" :model="dataForm" label-width="120px" class="warehouseFormAuto"> <el-form ref="dataForm" style="padding-top: 0" :inline="true" :disabled="dataForm.disabled" :model="dataForm" label-width="120px" class="warehouseFormAuto"> <div > <el-form-item label-width="60px" label="编号:" style="width:100%;margin-bottom: -5px"> <span>{{dataForm.configItemWarehouse.code || '编号自动生成'}}</span> @@ -15,7 +16,8 @@ <el-input v-model="dataForm.project.softwareName" placeholder="请输入项目名称"></el-input> </el-form-item> <el-form-item label="申请人" style="width: 49%"> <el-input :disabled="stepMarker=='pzxrk_first'"v-model="dataForm.configItemWarehouse.applicant" placeholder="请输入申请人"></el-input> <el-input :disabled="stepMarker=='pzxrk_first'" v-model="dataForm.configItemWarehouse.applicant" placeholder="请输入申请人"></el-input> </el-form-item> <el-form-item label="申请日期" style="width: 49%"> <el-date-picker @@ -35,7 +37,8 @@ </div> <div class="el-border-left" style="width: calc(100% - 120px)"> <div class="table-container"> <el-table ref="tableConfigItemList" class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.configItemList" <el-table ref="tableConfigItemList" class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.configItemList" stripe> <el-table-column prop="no" align="center" width="60" label="序号"> <template slot-scope="scope"> @@ -77,7 +80,12 @@ </el-table-column> <el-table-column fixed="right" label="管理" width="80" align="center"> <template v-slot="{ row }"> <zt-table-button @click="">管理</zt-table-button> <zt-table-button v-if="row.checkId" @click="openCheckOrderWin(row)">修改检查单 </zt-table-button> <zt-table-button v-else-if="',软件测试计划,软件测试说明,软件测试记录,软件测试报告'.indexOf(row.itemName)>0" @click="openCheckOrderWin(row)">新增检查单 </zt-table-button> <!-- <table-uploader busi-type="config_item_warehouse" model-name="row" :dataForm="row"--> <!-- v-model="row.files"/>--> </template> @@ -89,12 +97,11 @@ <i class="el-icon-plus"></i> </span> <el-dropdown-menu slot="dropdown"> <el-dropdown-item v-for="item in menuOptions" :key="item.command" :command="item.command"> <el-dropdown-item v-for="item in menuOptions" :key="item.pageCode" :command="item.pageCode"> {{ item.name }} </el-dropdown-item> </el-dropdown-menu> </el-dropdown> <!-- 放置固定的图标 --> <!-- <i class="el-icon-plus"></i>--> </div> @@ -106,13 +113,15 @@ 项目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.qaAuditList" <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.qaAuditList" stripe> <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"> <zt-dict :disabled="stepMarker=='wplz_qash'" v-model="scope.row.examineResult" placeholder="检查结果" dict="tristate2" :radio="true" <zt-dict :disabled="stepMarker=='wplz_qash'" v-model="scope.row.examineResult" placeholder="检查结果" dict="tristate2" :radio="true" clearable></zt-dict> </template> </el-table-column> @@ -125,7 +134,8 @@ </el-table> <div class="el-border-top"> <el-form-item label="审核结果" style="width: 99%"> <zt-dict :disabled="stepMarker=='wplz_qash'" v-model="dataForm.configItemWarehouse.qaAuditResults" dict="is_pass" :radio="true" <zt-dict :disabled="stepMarker=='wplz_qash'" v-model="dataForm.configItemWarehouse.qaAuditResults" dict="is_pass" :radio="true" clearable></zt-dict> </el-form-item> <el-form-item label="审核人:" style="width: 48%"> @@ -142,13 +152,15 @@ 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.cmAuditList" <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.cmAuditList" stripe> <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"> <zt-dict :disabled="stepMarker=='wplz_cmsh'" v-model="scope.row.examineResult" placeholder="检查结果" dict="tristate2" :radio="true" <zt-dict :disabled="stepMarker!=='wplz_cmsh'" v-model="scope.row.examineResult" placeholder="检查结果" dict="tristate2" :radio="true" clearable></zt-dict> </template> </el-table-column> @@ -161,7 +173,8 @@ </el-table> <div class="el-border-top"> <el-form-item label="审核结果" style="width: 99%"> <zt-dict :disabled="stepMarker=='wplz_cmsh'" v-model="dataForm.configItemWarehouse.cmAuditResults" placeholder="审核结果" dict="is_pass" :radio="true" <zt-dict :disabled="stepMarker=='wplz_cmsh'" v-model="dataForm.configItemWarehouse.cmAuditResults" placeholder="审核结果" dict="is_pass" :radio="true" clearable></zt-dict> </el-form-item> <el-form-item label="审核人:" style="width: 48%"> @@ -179,7 +192,8 @@ </div> <div style="width: calc(100% - 120px)" class="el-border-left"> <el-form-item class="el-wt-form-item-margin" label-width="20px" style="width: 85%"> <zt-dict :disabled="stepMarker!=='wplz_bmsh'" v-model="dataForm.configItemWarehouse.approvalOpinions" dict="is_pass" :radio="true" <zt-dict :disabled="stepMarker!=='wplz_bmsh'" v-model="dataForm.configItemWarehouse.approvalOpinions" dict="is_pass" :radio="true" clearable></zt-dict> </el-form-item> <el-form-item label-width="80%" label="签字:" style="width: 65%"> @@ -196,7 +210,8 @@ </div> <div style="width: calc(100% - 120px)" class="el-border-left"> <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px"> <el-input v-if="stepMarker=='wplz_cmcz'" type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.configItemWarehouse.projectCmOperations"></el-input> <el-input v-if="stepMarker=='wplz_cmcz'" type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.configItemWarehouse.projectCmOperations"></el-input> <span v-else>{{dataForm.configItemWarehouse.projectCmOperations}}</span> </el-form-item> <el-form-item label-width="80%" label="操作人:" style="width: 65%"> @@ -213,16 +228,20 @@ </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.configItemWarehouse.remark"></el-input> <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.configItemWarehouse.remark"></el-input> </el-form-item> </div> </div> </div> <add-or-update-check ref="addOrUpdate" @recall="setCheckId"/> </el-form> </zt-dialog> </template> <script> import AddOrUpdateCheck from '../testCheckOrder/TestCheckOrder-AddOrUpdate' export default { data() { return { @@ -230,11 +249,11 @@ stepMarker: '', title: '查看', menuOptions: [ { command: 'a', name: '软件测试委托单' }, { command: 'b', name: '软件需求规格说明' }, { command: 'c', name: '软件设计说明' }, { command: 'd', name: '软件研制任务书' }, { command: 'e', name: '其他' } {pageCode: 'plan', name: '软件测试计划'}, {pageCode: 'explain', name: '软件测试说明'}, {pageCode: 'record', name: '软件测试记录'}, {pageCode: 'report', name: '软件测试报告'}, {pageCode: 'other', name: '其他'} ], dataForm: { id: '', @@ -275,6 +294,9 @@ return this.$store.state.user.roleName || '' }, }, components: { AddOrUpdateCheck }, methods: { indexFormat(index){ return index += 1 @@ -308,18 +330,24 @@ // tableBody.scrollTop = tableBody.scrollHeight; // }) // }, handleCommand(command){ const selectedItem = this.menuOptions.find(item => item.command === command); if (selectedItem.command === 'e') { handleCommand(pageCode) { const selectedItem = this.menuOptions.find(item => item.pageCode === pageCode); console.log(selectedItem,"handleCommand(pageCode) selectedItem") if (selectedItem.pageCode === 'other') { this.dataForm.configItemList.push({}) }else if(selectedItem){ this.dataForm.configItemList.push({itemName:selectedItem.name}) this.dataForm.configItemList.push({itemName: selectedItem.name, pageCode: selectedItem.pageCode}) } this.$nextTick(()=>{ const tableBody=this.$refs.tableConfigItemList.$el.querySelector('.el-table__body-wrapper') tableBody.scrollTop = tableBody.scrollHeight; }) }, openCheckOrderWin(row) { this.$refs.addOrUpdate.$refs.dialog.init(null, row) }, setCheckId(checkId, row) { row.checkId = checkId }, // 获取信息 async getInfo() { @@ -368,6 +396,7 @@ width: 70%; margin: 0 auto; } .confirmDAuto{ border: 1px solid; } @@ -393,20 +422,25 @@ .DManageForm> .el-form-item > .el-form-item__content { width: calc(100% - 120px); } .el-form-item.el-CMTextarea>.el-form-item__content{ width: 100%; } .el-form .el-form-item.el-wt-form-item-margin{ margin-left: 120px; } .el-form-border{ border-top: 1px solid; border-bottom: 1px solid; } .el-margin-top-bot{ margin-top:5px; margin-bottom:5px; } .zt .el-table.el-software th { background: transparent; } @@ -414,22 +448,28 @@ .zt .el-table.el-software th > .cell { font-weight: 500; } .DHold{ font-weight: 600; } .zt .el-table.el-software{ font-size: 14px; } .warehouseContentWidth > .el-form-item > .el-form-item__content { width: calc(100% - 120px); } .warehouseContentWidth > .el-form-item.lastChild > .el-form-item__content { width: calc(100% - 142px); } .warehouseFormAuto .marginTopAndMarginBottom { margin-top: 10px !important; margin-bottom: 0 !important; } .warehouseFormAuto .marginTopAndMarginBottom2 { margin-top: -10px !important; margin-bottom: 0 !important; web/src/views/modules/project/Project-select.vue
@@ -55,6 +55,7 @@ name: 'Project-select', data() { return { pageCode:'', dataForm: { softwareName: '', secretClass: '', @@ -67,8 +68,9 @@ } }, methods: { init(tableName) { init(tableName,row) { this.dataForm.tableName = tableName this.pageCode = row.pageCode this.$nextTick(()=>{ this.$refs.tableObj.query() }) @@ -78,7 +80,7 @@ console.log(row, 'row') await this.$tip.success() this.$refs.dialog.close() this.$emit('setProjectInfo', row) this.$emit('setProjectInfo', row,this.pageCode) } }, } web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue
@@ -24,7 +24,7 @@ </div> <div style="border-bottom: 1px solid rgba(0,0,0,.2);"> <div style="padding-left:5px;padding-right:5px;"> <div style="padding: 5px">测试计划:</div> <div style="padding: 5px">{{subtitle}}</div> <div class="table-container"> <el-table ref="tableCirculatOrderList" class="el-software el-margin-top-bot" border :data="dataForm.checkOrderList" @@ -114,14 +114,11 @@ <script> export default { props:{ pageCode: { type: String, default: '' }, }, data() { return { parentRow: null, subtitle: '', pageName: {plan: '测试计划', explain: '测试说明', record: '测试记录', report: '测试报告'}, dataForm: { id: '', projectId: '', @@ -138,33 +135,41 @@ processor: '', verifier: '', }, checkOrderList:{} checkOrderList: [] } } }, methods: { init(id, row) { this.parentRow = row console.log(id,row,'软件测试计划检查单') if (id) { this.dataForm.id = id } else { this.dataForm.id = row.id } this.pageCode = row.pageCode this.subtitle = this.pageName[this.pageCode] if(row.projectId){ this.dataForm.projectId =row.projectId } // this.dataForm.disabled this.getInfo() console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker') //console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker') }, // 获取信息 indexFormat(index) { return index += 1 }, async getInfo() { let params = { checkId: this.dataForm.id, projectId: this.dataForm.projectId, pageCode:this.pageCode } console.log(this.pageCode, "getInfo pageCode") let res = await this.$http.get(`/testCheckOrder/TestCheckOrder/getDto`, {params: params}) this.dataForm = { ...this.dataForm, @@ -177,7 +182,7 @@ if (res.success) { await this.$tip.success() this.$refs.dialog.close() this.$emit('refreshDataList') this.$emit('recall', this.dataForm, this.parentRow) } } } @@ -192,9 +197,11 @@ .testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content { width: 100%; } .testCheckFormAuto .acceptDate1 > .el-form-item > .el-form-item__content { width: 100%; } .testCheckFormAuto .marginTopAndMarginBottom { margin-top: 10px !important; margin-bottom: 0 !important; @@ -213,9 +220,11 @@ .testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content { line-height: 78px; } .testCheckContentWidth > .el-form-item > .el-form-item__content { width: calc(100% - 120px); } .testCheckFormAuto .el-radio { margin-right: 10px; } web/src/views/modules/testCheckOrder/TestCheckOrder.vue
@@ -23,12 +23,12 @@ <zt-table-column-handle :table="table" edit-perm="testCheckOrder:update" delete-perm="testCheckOrder::delete"/> </el-table> <!-- 弹窗, 新增 / 修改 --> <add-or-update ref="addOrUpdate" @refreshDataList="table.query"/> <ProjectSelect ref="projectSelect" <add-or-update ref="addOrUpdate" @recall="table.query"/> <ProjectSelect :pageCode="pageCode" ref="projectSelect" @refreshDataList="table.query" @setProjectInfo="openAddWin"> </ProjectSelect> <Preview ref="view" :pageMarkerfun="SoftwareTestOrder"></Preview> <Preview ref="view"></Preview> </zt-table-wraper> </div> </el-card> @@ -61,11 +61,12 @@ }, methods:{ add() { this.$refs.projectSelect.$refs.dialog.init("test_check_order") console.log(this.pageCode,'this.pageCode') this.$refs.projectSelect.$refs.dialog.init("test_check_order",{pageCode: this.pageCode}) }, openAddWin(row) { openAddWin(row,pageCode) { 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,pageCode:pageCode}) }, preview(row){ this.$refs.view.openAccessoryFormatSingle(row) zt/core/src/main/java/com/zt/modules/sys/controller/SysUserController.java
@@ -220,7 +220,6 @@ @ApiOperation("用户角色列表") @RequiresPermissions("sys:user:role") public Result<List<Long>> getRole(@PathVariable("id") Long id) { return Result.ok(sysRoleUserService.getUserRoles(id).stream().map(role -> role.getId()) .collect(Collectors.toList())); } zt/core/src/main/java/com/zt/modules/sys/dao/SysRoleUserDao.java
@@ -29,4 +29,5 @@ List<RoleDto> getUserRoles(Long userId); List<SysUser> getRoleUsers(Long roleId); List<SysRoleUser> getSingleRoleUsers(Long roleId,Long userId); } zt/core/src/main/java/com/zt/modules/sys/dao/SysUserDao.java
@@ -55,4 +55,6 @@ Integer checkTestHome(String systemId, Long userId); List<SysUser> getUsersList(); String getUsersName(); } zt/core/src/main/java/com/zt/modules/sys/service/SysRoleUserService.java
@@ -42,6 +42,7 @@ return baseDao.getUserRoles(userId); } /** * 角色用户列表 * zt/core/src/main/java/com/zt/modules/sys/service/SysUserService.java
@@ -335,6 +335,10 @@ return baseDao.getUsersList(); } public String getUsersName(Long id) { return baseDao.getUsersName(); } public SysUser getUserInfo(Long id) { SysUser data = super.get(id); if (data != null) { @@ -349,4 +353,6 @@ } return data; } } zt/core/src/main/resources/mapper/sys/SysUserDao.xml
@@ -240,7 +240,9 @@ <select id="getUsersList" resultType="com.zt.core.sys.model.SysUser"> select real_name as name,id as id from sys_user </select> <select id="getUsersName" resultType="java.lang.String"> select real_name from sys_user WHERE id=#{id} </select> <update id="updatePassword"> update SYS_USER