| | |
| | | import com.zt.life.modules.baselineRelease.service.BaselineReleaseService; |
| | | import com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem; |
| | | import com.zt.life.modules.configItemWarehouse.service.WarehouseConfigItemService; |
| | | import com.zt.life.modules.project.service.ProjectService; |
| | | import com.zt.life.modules.testCheckOrder.dto.CheckOrderDto; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | |
| | | public class BaselineReleaseController { |
| | | @Autowired |
| | | private BaselineReleaseService baselineReleaseService; |
| | | |
| | | @Autowired |
| | | private ProjectService projectService; |
| | | |
| | | @Autowired |
| | | private WarehouseConfigItemService configItemService; |
| | |
| | | //效验数据 |
| | | AssertUtils.isArrayEmpty(ids, "id"); |
| | | baselineReleaseService.delete(ids); |
| | | projectService.deleteItem(ids,"baseline_release_remark","baseline_id"); |
| | | |
| | | return Result.ok(); |
| | | } |
| | |
| | | import com.zt.life.modules.configAuditReport.dto.ConfigAuditDto; |
| | | import com.zt.life.modules.configAuditReport.model.ConfigAuditReport; |
| | | import com.zt.life.modules.configAuditReport.service.ConfigAuditReportService; |
| | | import com.zt.life.modules.project.service.ProjectService; |
| | | import com.zt.life.sys.dto.OssDto; |
| | | import com.zt.life.sys.service.SysOssConfigService; |
| | | import com.zt.modules.coderule.service.SysCodeRuleService; |
| | |
| | | public class ConfigAuditReportController { |
| | | @Autowired |
| | | private ConfigAuditReportService configAuditReportService; |
| | | |
| | | @Autowired |
| | | private ProjectService projectService; |
| | | |
| | | @Autowired |
| | | private SysCodeRuleService sysCodeRuleService; |
| | |
| | | //效验数据 |
| | | AssertUtils.isArrayEmpty(ids, "id"); |
| | | configAuditReportService.delete(ids); |
| | | projectService.deleteItem(ids,"config_audit_report_content","report_id"); |
| | | projectService.deleteItem(ids,"config_audit_report_problem","report_id"); |
| | | return Result.ok(); |
| | | } |
| | | |
| | |
| | | import com.zt.life.modules.configItemOutbound.service.ConfigItemOutboundService; |
| | | import com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem; |
| | | import com.zt.life.modules.configItemWarehouse.service.WarehouseConfigItemService; |
| | | import com.zt.life.modules.project.service.ProjectService; |
| | | import com.zt.life.sys.dto.OssDto; |
| | | import com.zt.life.sys.service.SysOssConfigService; |
| | | import com.zt.modules.coderule.service.SysCodeRuleService; |
| | |
| | | public class ConfigItemOutboundController { |
| | | @Autowired |
| | | private ConfigItemOutboundService configItemOutboundService; |
| | | |
| | | @Autowired |
| | | private ProjectService projectService; |
| | | |
| | | @Autowired |
| | | private SysCodeRuleService sysCodeRuleService; |
| | |
| | | //效验数据 |
| | | AssertUtils.isArrayEmpty(ids, "id"); |
| | | configItemOutboundService.delete(ids); |
| | | |
| | | projectService.deleteItem(ids,"config_item_outbound_detail","outbound_id"); |
| | | return Result.ok(); |
| | | } |
| | | @GetMapping("exportConfigOutbound") |
| | |
| | | import com.zt.life.modules.configItemWarehouse.model.ConfigItemWarehouse; |
| | | import com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem; |
| | | import com.zt.life.modules.configItemWarehouse.service.ConfigItemWarehouseService; |
| | | import com.zt.life.modules.configItemWarehouse.service.WarehouseConfigItemService; |
| | | import com.zt.life.modules.itemCirculatOrder.dto.ItemCirculatOrderDto; |
| | | import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical; |
| | | import com.zt.life.modules.project.model.Project; |
| | | import com.zt.life.modules.project.service.ProjectService; |
| | | import com.zt.life.sys.dto.OssDto; |
| | | import com.zt.life.sys.service.SysOssConfigService; |
| | | import com.zt.modules.coderule.service.SysCodeRuleService; |
| | |
| | | public class ConfigItemWarehouseController { |
| | | @Autowired |
| | | private ConfigItemWarehouseService configItemWarehouseService; |
| | | |
| | | @Autowired |
| | | private ProjectService projectService; |
| | | |
| | | @Autowired |
| | | private SysCodeRuleService sysCodeRuleService; |
| | |
| | | @LogOperation("删除") |
| | | public Result delete(@RequestBody Long[] ids) { |
| | | //效验数据 |
| | | |
| | | AssertUtils.isArrayEmpty(ids, "id"); |
| | | configItemWarehouseService.delete(ids); |
| | | |
| | | projectService.deleteItem(ids,"config_item_warehouse_cm","warehouse_id"); |
| | | projectService.deleteItem(ids,"config_item_warehouse_detail","warehouse_id"); |
| | | projectService.deleteItem(ids,"config_item_warehouse_qa","warehouse_id"); |
| | | return Result.ok(); |
| | | } |
| | | |
| | |
| | | List<WarehouseConfigItem> itemList(Long projectId,String ids); |
| | | |
| | | List<WarehouseConfigItem> selectList(Long projectId,String ids,String type); |
| | | |
| | | WarehouseConfigItem getBySrc(Long projectId, Long srcId); |
| | | } |
| | |
| | | data.setCmAuditList((List<WarehouseCmAudit>) cmList); |
| | | List<?> qaList = this.itemQaList("warehouse_qa_audit"); |
| | | data.setQaAuditList((List<WarehouseQaAudit>) qaList); |
| | | List<?> resultList = new ArrayList<>(); |
| | | List<WarehouseConfigItem> resultList = new ArrayList<>(); |
| | | if ("1".equals(libraryType)) { |
| | | List<String> srcId = technicalService.getsrcId(projectId); |
| | | /* String ids = String.join(", ", srcId.stream() |
| | |
| | | .collect(Collectors.toList()));*/ |
| | | String ids = String.join(", ", srcId); |
| | | resultList = configItemService.ConfigItemList(projectId, ids); |
| | | for (WarehouseConfigItem item :resultList){ |
| | | if (ids.contains(item.getSrcId().toString()) && item.getSrcId()!=null && StringUtils.isNotBlank(ids)){ |
| | | WarehouseConfigItem item2 = configItemService.getBySrc(projectId,item.getSrcId()); |
| | | item.setVersion(null); |
| | | item.setRetrospectVersion(item2.getVersion()); |
| | | } |
| | | } |
| | | } |
| | | List<?> ConfigItemList = resultList; |
| | | data.setConfigItemList((List<WarehouseConfigItem>) ConfigItemList); |
| | | data.setConfigItemList(resultList); |
| | | } |
| | | |
| | | if (projectId != null) { |
| | |
| | | public List<WarehouseConfigItem> warehouseConfigList(Long projectId, String ids, String type) { |
| | | return baseDao.selectList(projectId, ids, type); |
| | | } |
| | | |
| | | public WarehouseConfigItem getBySrc(Long projectId, Long srcId) { |
| | | return baseDao.getBySrc(projectId, srcId); |
| | | } |
| | | } |
| | |
| | | import com.zt.life.modules.contractReview.service.ContractReviewService; |
| | | import com.zt.life.modules.itemCirculatOrder.dto.ItemCirculatOrderDto; |
| | | import com.zt.life.modules.itemCirculatOrder.service.ItemCirculatOrderService; |
| | | import com.zt.life.modules.project.service.ProjectService; |
| | | import com.zt.life.sys.dto.OssDto; |
| | | import com.zt.life.sys.service.SysOssConfigService; |
| | | import com.zt.modules.coderule.service.SysCodeRuleService; |
| | |
| | | public class ContractReviewController { |
| | | @Autowired |
| | | private ContractReviewService contractReviewService; |
| | | |
| | | @Autowired |
| | | private ProjectService projectService; |
| | | |
| | | @Autowired |
| | | private SysCodeRuleService sysCodeRuleService; |
| | |
| | | //效验数据 |
| | | AssertUtils.isArrayEmpty(ids, "id"); |
| | | contractReviewService.delete(ids); |
| | | projectService.deleteItem(ids,"contract_review_item","review_id"); |
| | | |
| | | return Result.ok(); |
| | | } |
| | |
| | | import com.zt.life.modules.itemCirculatOrder.service.ItemCirculatOrderService; |
| | | import com.zt.life.modules.itemCirculatOrder.service.ItemCirculatOrderTechnicalService; |
| | | import com.zt.life.modules.project.dto.SoftwareTestOrderDto; |
| | | import com.zt.life.modules.project.service.ProjectService; |
| | | import com.zt.life.sys.dto.OssDto; |
| | | import com.zt.life.sys.service.SysOssConfigService; |
| | | import com.zt.modules.coderule.service.SysCodeRuleService; |
| | |
| | | |
| | | @Autowired |
| | | private SysCodeRuleService sysCodeRuleService; |
| | | |
| | | @Autowired |
| | | private ProjectService projectService; |
| | | |
| | | @Autowired |
| | | private SysOssConfigService sysOssConfigService; |
| | |
| | | //效验数据 |
| | | AssertUtils.isArrayEmpty(ids, "id"); |
| | | itemCirculatOrderService.delete(ids); |
| | | projectService.deleteItem(ids,"item_circulat_order_technical","circulat_order_id"); |
| | | |
| | | return Result.ok(); |
| | | } |
| | |
| | | import com.zt.common.validator.group.UpdateGroup; |
| | | import com.zt.life.modules.project.dto.EnvironDto; |
| | | import com.zt.life.modules.project.model.Environ; |
| | | import com.zt.life.modules.project.service.EnvironService; |
| | | import com.zt.life.modules.project.service.*; |
| | | import com.zt.life.sys.dto.OssDto; |
| | | import com.zt.life.sys.service.SysOssConfigService; |
| | | import com.zt.modules.coderule.service.SysCodeRuleService; |
| | |
| | | public class EnvironController { |
| | | @Autowired |
| | | private EnvironService environService; |
| | | |
| | | @Autowired |
| | | private ProjectService projectService; |
| | | |
| | | @Autowired |
| | | private SysOssConfigService sysOssConfigService; |
| | |
| | | //效验数据 |
| | | AssertUtils.isArrayEmpty(ids, "id"); |
| | | environService.delete(ids); |
| | | |
| | | projectService.deleteItem(ids,"environ_analysis","environ_id"); |
| | | projectService.deleteItem(ids,"environ_hardware_resources","environ_id"); |
| | | projectService.deleteItem(ids,"environ_software_resources","environ_id"); |
| | | return Result.ok(); |
| | | } |
| | | |
| | |
| | | private SoftwareTestOrderService softwareTestOrderService; |
| | | |
| | | @Autowired |
| | | private ProjectService projectService; |
| | | |
| | | @Autowired |
| | | private SysCodeRuleService sysCodeRuleService; |
| | | |
| | | @Autowired |
| | |
| | | //效验数据 |
| | | AssertUtils.isArrayEmpty(ids, "id"); |
| | | softwareTestOrderService.delete(ids); |
| | | |
| | | projectService.deleteItem(ids,"software_test_order_deliverable","order_id"); |
| | | projectService.deleteItem(ids,"software_test_order_measured","order_id"); |
| | | return Result.ok(); |
| | | } |
| | | |
| | |
| | | List<Project> getList(Map<String, Object> params); |
| | | |
| | | MyProjectRoleDto getMyProjectRole(Long projectId, Long userId); |
| | | |
| | | void deleteItem(Map<String, Object> params); |
| | | } |
| | |
| | | MyProjectRoleDto data = baseDao.getMyProjectRole(projectId, userId); |
| | | return data; |
| | | } |
| | | |
| | | public void deleteItem(Long[] ids, String tableName, String fieldName) { |
| | | for (Long id : ids){ |
| | | Map<String, Object> params = new HashMap<>(); |
| | | params.put("id", id); |
| | | params.put("tableName", tableName); |
| | | params.put("fieldName", fieldName); |
| | | baseDao.deleteItem(params); |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | import com.zt.common.validator.group.UpdateGroup; |
| | | import com.zt.life.modules.configAuditReport.dto.ConfigAuditDto; |
| | | import com.zt.life.modules.project.model.ProjectUserName; |
| | | import com.zt.life.modules.project.service.ProjectService; |
| | | import com.zt.life.modules.qaAuditReport.dto.QaAuditReportDto; |
| | | import com.zt.life.modules.qaAuditReport.model.QaAuditReport; |
| | | import com.zt.life.modules.qaAuditReport.service.QaAuditReportService; |
| | |
| | | public class QaAuditReportController { |
| | | @Autowired |
| | | private QaAuditReportService qaAuditReportService; |
| | | |
| | | @Autowired |
| | | private ProjectService projectService; |
| | | |
| | | @Autowired |
| | | private SysCodeRuleService sysCodeRuleService; |
| | |
| | | //效验数据 |
| | | AssertUtils.isArrayEmpty(ids, "id"); |
| | | qaAuditReportService.delete(ids); |
| | | projectService.deleteItem(ids,"qa_audit_report_incongruent","report_id"); |
| | | |
| | | return Result.ok(); |
| | | } |
| | |
| | | import com.zt.common.validator.group.AddGroup; |
| | | import com.zt.common.validator.group.DefaultGroup; |
| | | import com.zt.common.validator.group.UpdateGroup; |
| | | import com.zt.life.modules.project.service.ProjectService; |
| | | import com.zt.life.modules.riskTraceRecord.model.RiskMeasure; |
| | | import com.zt.life.modules.riskTraceRecord.service.RiskMeasureService; |
| | | import io.swagger.annotations.Api; |
| | |
| | | public class RiskMeasureController { |
| | | @Autowired |
| | | private RiskMeasureService riskMeasureService; |
| | | |
| | | @Autowired |
| | | private ProjectService projectService; |
| | | |
| | | @GetMapping("page") |
| | | @ApiOperation("分页") |
| | |
| | | //效验数据 |
| | | AssertUtils.isArrayEmpty(ids, "id"); |
| | | riskMeasureService.delete(ids); |
| | | projectService.deleteItem(ids,"risk_trace_item","risk_id"); |
| | | projectService.deleteItem(ids,"risk_trace_record","risk_id"); |
| | | |
| | | return Result.ok(); |
| | | } |
| | |
| | | import com.zt.common.validator.group.UpdateGroup; |
| | | import com.zt.life.modules.project.dto.EnvironDto; |
| | | import com.zt.life.modules.project.dto.SoftwareTestOrderDto; |
| | | import com.zt.life.modules.project.service.ProjectService; |
| | | import com.zt.life.modules.testCheckOrder.dto.CheckOrderDto; |
| | | import com.zt.life.modules.testCheckOrder.model.TestCheckOrder; |
| | | import com.zt.life.modules.testCheckOrder.service.TestCheckOrderService; |
| | |
| | | public class TestCheckOrderController { |
| | | @Autowired |
| | | private TestCheckOrderService testCheckOrderService; |
| | | |
| | | @Autowired |
| | | private ProjectService projectService; |
| | | |
| | | @Autowired |
| | | private SysCodeRuleService sysCodeRuleService; |
| | |
| | | //效验数据 |
| | | AssertUtils.isArrayEmpty(ids, "id"); |
| | | testCheckOrderService.delete(ids); |
| | | projectService.deleteItem(ids,"test_check_order_list","check_order_id"); |
| | | |
| | | return Result.ok(); |
| | | } |
| | |
| | | @ApiModelProperty(value = "项目名称") |
| | | private String softwareName; |
| | | |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "项目标识") |
| | | private String softwareIdentity; |
| | | |
| | | } |
| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | |
| | | <mapper namespace="com.zt.life.modules.configItemWarehouse.dao.WarehouseConfigItemDao"> |
| | | |
| | | <select id="getList" resultType="com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem"> |
| | | select a.* |
| | | from config_item_warehouse_detail a |
| | | select * |
| | | from config_item_warehouse_detail |
| | | <where> |
| | | a.is_delete = 0 |
| | | is_delete = 0 |
| | | <if test="warehouseId!=null"> |
| | | and warehouse_id = ${warehouseId} |
| | | </if> |
| | |
| | | JOIN project p ON p.id = ${projectId} |
| | | WHERE t.is_delete = 0 |
| | | AND i.id = t.circulat_order_id |
| | | <if test="ids!=null and ids!=''"> |
| | | AND t.id not in (${ids}) |
| | | </if> |
| | | UNION |
| | | SELECT (@row_number := @row_number + 1) AS no, |
| | | p.secret_class, |
| | |
| | | JOIN project p ON p.id = ${projectId} |
| | | WHERE s.is_delete = 0 |
| | | AND s.project_id = ${projectId} |
| | | <if test="ids!=null and ids!=''"> |
| | | AND s.id not in (${ids}) |
| | | </if> |
| | | UNION |
| | | SELECT (@row_number := @row_number + 1) AS no, |
| | | p.secret_class, |
| | |
| | | JOIN project p ON p.id = ${projectId} |
| | | WHERE i.is_delete = 0 |
| | | AND i.project_id = ${projectId} |
| | | <if test="ids!=null and ids!=''"> |
| | | AND i.id not in (${ids}) |
| | | </if> |
| | | </select> |
| | | <select id="selectList" resultType="com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem"> |
| | | SET @row_number = 0; |
| | |
| | | and a.library_type=${type} |
| | | </if> |
| | | </select> |
| | | <select id="getBySrc" resultType="com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem"> |
| | | select * |
| | | from config_item_warehouse_detail |
| | | where project_id =${projectId} and is_delete =0 and src_id =${srcId} |
| | | ORDER BY UPDATE_DATE DESC |
| | | </select> |
| | | </mapper> |
| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | |
| | | <mapper namespace="com.zt.life.modules.project.dao.EnvironAnalysisDao"> |
| | | |
| | | <select id="getList" resultType="com.zt.life.modules.project.model.EnvironAnalysis"> |
| | | select a.* |
| | | from environ_analysis a |
| | |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | |
| | | <mapper namespace="com.zt.life.modules.project.dao.ProjectDao"> |
| | | <delete id="deleteItem"> |
| | | update ${tableName} set is_delete = 1 where ${fieldName} = ${id} |
| | | </delete> |
| | | |
| | | <select id="getList" resultType="com.zt.life.modules.project.model.Project"> |
| | | select * |
| | |
| | | <mapper namespace="com.zt.life.modules.testReviewComment.dao.TestReviewCommentDao"> |
| | | |
| | | <select id="getList" resultType="com.zt.life.modules.testReviewComment.model.TestReviewComment"> |
| | | select a.*,p.software_name |
| | | select a.*,p.software_name,p.software_identity |
| | | from test_review_comment a |
| | | INNER JOIN project p ON p.id = a.project_id |
| | | <where> |
| | |
| | | </el-form> |
| | | <el-table v-loading="table.dataLoading" :data="table.dataList" border row-key="id" |
| | | class="myTable" |
| | | :cell-style="cellStyle" |
| | | v-adaptive="{bottomOffset:50}" |
| | | height="650px" |
| | | :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> |
| | |
| | | AddOrUpdate |
| | | }, |
| | | methods: { |
| | | cellStyle({column}) { |
| | | if (column.label === '名称') { |
| | | return 'text-align: left !important;' |
| | | } |
| | | }, |
| | | isNotPlatform(row) { |
| | | return true; |
| | | return !this.$equalsIgnoreType(row.type, this.$dict.MenuType.PLATFORM)// 平台不允许修改删除 |
| | |
| | | if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject) |
| | | return originalPush.call(this, location).catch(err => err) |
| | | } |
| | | /*// 首页 |
| | | pageRoutes.push({ |
| | | path: '/TestDjxlHome', |
| | | name: 'TestDjxlHome', |
| | | meta: {title: '登录页', isTab: true}, |
| | | component: () => import('./views/pages/TestDjxlHome') |
| | | }) |
| | | pageRoutes.push({ |
| | | path: '/szDjxlHome', |
| | | name: 'szDjxlHome', |
| | | meta: {title: '登录页', isTab: true}, |
| | | component: () => import('./views/pages/szDjxlHome') |
| | | }) |
| | | // 登录页 |
| | | pageRoutes.push({ |
| | | path: '/index', |
| | | name: 'index', |
| | | meta: {title: '登录页', isTab: true}, |
| | | component: () => import('./views/pages/login') |
| | | }) |
| | | |
| | | // 视频播放页 |
| | | pageRoutes.push({ |
| | | path: '/userHelp', |
| | |
| | | meta: {title: '帮助页', isTab: true}, |
| | | component: () => import('./views/modules/userHelp/userHelp') |
| | | }) |
| | | // 登录页 |
| | | pageRoutes.push({ |
| | | path: '/login', |
| | | name: 'login', |
| | | meta: {title: '首页', isTab: true}, |
| | | component: () => import('./views/pages/login') |
| | | }) |
| | | // 登录页 |
| | | pageRoutes.push({ |
| | | path: '/single', |
| | | name: 'single', |
| | | meta: {title: '首页', isTab: true}, |
| | | component: () => import('./views/pages/single-sign') |
| | | }) |
| | | pageRoutes.push({ |
| | | path: '/auth', |
| | | name: 'auth', |
| | | meta: {title: 'SSO登录', isTab: true}, |
| | | component: () => import('./views/pages/auth') |
| | | }) |
| | | // pageRoutes.push({ |
| | | // path: '/index', |
| | | // component: () => import('./views/modules/index'), |
| | | // name: 'index', |
| | | // meta: { |
| | | // title: '门户', |
| | | // isTab: true |
| | | // } |
| | | // }) |
| | | pageRoutes.push({ |
| | | path: '/dashboard', |
| | | component: () => import('./views/modules/index/dashboard'), |
| | | name: 'dashboard', |
| | | meta: { |
| | | title: '态势感知', |
| | | isTab: true |
| | | } |
| | | })*/ |
| | | |
| | | // 登录页 |
| | | pageRoutes.push({ |
| | | path: '/login', |
| | |
| | | component: () => import('./views/modules/sys/task/taskCenter'), |
| | | name: 'home', |
| | | meta: {title: '首页', isTab: true} |
| | | }, |
| | | /* {path: '/single', |
| | | component: () => import('./views/modules/home'), |
| | | name: 'single', |
| | | meta: {title: '首页', isTab: true} |
| | | },*/ |
| | | /*{ |
| | | path: '/miantainHome-home', |
| | | component: () => import('./views/modules/home'), |
| | | name: 'home_wx', |
| | | meta: {title: '首页', isTab: true} |
| | | }, |
| | | { |
| | | path: '/replaceProblemHome-home', |
| | | component: () => import('./views/modules/replaceProblemHome/home'), |
| | | name: 'home_ghz', |
| | | meta: {title: '首页', isTab: true} |
| | | }, |
| | | { |
| | | path: '/technology-home', |
| | | component: () => import('./views/modules/sys/sysPage/technology-home'), |
| | | name: 'home_jszt', |
| | | meta: {title: '首页', isTab: true} |
| | | }, |
| | | { |
| | | path: '/repair-outline', |
| | | component: () => import('./views/modules/prevent/repair-outline'), |
| | | name: 'home_yfxwx', |
| | | meta: {title: '大纲', isTab: true} |
| | | },*/ |
| | | // { |
| | | // path: '/eqmmt-index', |
| | | // component: () => import('./views/modules/eqmmt/home/home'), |
| | | // name: 'home_qc', |
| | | // meta: {title: '首页', isTab: true} |
| | | // }, |
| | | // { |
| | | // path: '/train-home', |
| | | // component: () => import('./views/modules/sys/sysPage/train-home'), |
| | | // name: 'home_qc', |
| | | // meta: {title: '首页', isTab: true} |
| | | // } |
| | | } |
| | | ] |
| | | } |
| | | |
| | |
| | | <!-- <el-menu-item>--> |
| | | <!-- <local-ship-selector v-model="localShip" placeholder="舷号"/>--> |
| | | <!-- </el-menu-item>--> |
| | | <el-menu-item v-if="help_show" index="4"> |
| | | <el-badge :value="feedCount" class="item" :hidden="!isAdmin"> |
| | | <el-tooltip class="item" effect="dark" content="意见反馈" placement="bottom"> |
| | | <i @click="toFeedBack()" style="font-size: 24px;margin-top:22px" class="el-icon-edit-outline"></i> |
| | | </el-tooltip> |
| | | </el-badge> |
| | | </el-menu-item> |
| | | <!-- <el-menu-item>--> |
| | | <!-- <el-badge :value="feedCount" class="item" :hidden="!isAdmin">--> |
| | | <!-- <el-button @click="toFeedBack()" type="text">意见反馈</el-button>--> |
| | |
| | | <!-- </el-tab-pane>--> |
| | | <!-- </el-tabs>--> |
| | | <!-- </el-dialog>--> |
| | | <sysFeedBack ref="sysFeedBack" @refreshDataList="getFeedCount"></sysFeedBack> |
| | | </div> |
| | | |
| | | </template> |
| | |
| | | isAdmin:false |
| | | } |
| | | }, |
| | | computed: { |
| | | systemList() { |
| | | return [ |
| | | { |
| | | permission: ['menu:technicalConditions'], |
| | | path: 'http://' + |
| | | location.hostname + |
| | | ':8080/technicalConditions/boatSystemStructure', |
| | | /* ?username=' + |
| | | Cookies.get('username') + '&loginType=' + |
| | | Cookies.get('loginType') + '&token=' + |
| | | Cookies.get('singleSignToken') + '&area=' + |
| | | Cookies.get('area'),*/ |
| | | key: 'technicalConditions', |
| | | text: '技术状态' |
| | | }, |
| | | { |
| | | permission: ['menu:replaceProblem'], |
| | | path: 'http://' + |
| | | location.hostname + |
| | | ':8080/replaceProblem/replaceProjectHomePage', |
| | | // ?username=' + |
| | | // Cookies.get('username') + '&loginType=' + |
| | | // Cookies.get('loginType') + '&token=' + |
| | | // Cookies.get('singleSignToken') + '&area=' + |
| | | // Cookies.get('area'), |
| | | key: 'replaceProblem', |
| | | text: '改换装' |
| | | }, |
| | | { |
| | | permission: ['menu:jszl'], |
| | | path: 'http://' + |
| | | location.hostname + |
| | | ':1811/login?username=' + |
| | | Cookies.get('username') + '&loginType=' + |
| | | Cookies.get('loginType') + '&token=' + |
| | | Cookies.get('singleSignToken') + '&area=' + |
| | | Cookies.get('area'), |
| | | text: '技术资料', |
| | | }, |
| | | { |
| | | permission: ['menu:smj'], |
| | | path: |
| | | 'http://' + |
| | | location.hostname + ':8020/#/single?' + 'username=' + |
| | | Cookies.get('username') + '&system=smj' + |
| | | '&loginType=' + |
| | | Cookies.get('loginType') + '&token=' + |
| | | Cookies.get('singleSignToken') + '&area=' + |
| | | Cookies.get('area'), |
| | | text: '寿命件数据' |
| | | }, |
| | | { |
| | | permission: ['menu:ajqc'], |
| | | path: |
| | | 'http://' + |
| | | location.hostname + |
| | | ':1812/login?username=' + |
| | | Cookies.get('username') + '&loginType=' + |
| | | Cookies.get('loginType') + '&token=' + |
| | | Cookies.get('singleSignToken') + '&area=' + |
| | | Cookies.get('area'), |
| | | text: '器材数据', |
| | | disabled: !(Cookies.get('area') === 'O') |
| | | }, |
| | | { |
| | | permission: ['menu:ajqc'], |
| | | path: |
| | | 'http://' + |
| | | location.hostname + |
| | | ':1800/login?username=' + |
| | | Cookies.get('username') + '&loginType=' + |
| | | Cookies.get('loginType') + '&token=' + |
| | | Cookies.get('singleSignToken') + '&area=' + |
| | | Cookies.get('area'), |
| | | text: '器材数据', |
| | | disabled: !(Cookies.get('area') === '1') |
| | | }, |
| | | { |
| | | permission: ['menu:syajqc'], |
| | | path: |
| | | 'http://' + |
| | | location.hostname + |
| | | ':1813/login?username=' + |
| | | Cookies.get('username') + '&loginType=' + |
| | | Cookies.get('loginType') + '&token=' + |
| | | Cookies.get('singleSignToken') + '&area=' + |
| | | Cookies.get('area'), |
| | | text: '器材数据', |
| | | disabled: !(Cookies.get('area') === '2') |
| | | }, |
| | | { |
| | | permission: ['menu:qddjxl'], |
| | | path: 'http://' + |
| | | location.hostname + |
| | | ':8080/qdGradeRepair/maintenanceHome?username=' + |
| | | Cookies.get('username') + '&loginType=' + |
| | | Cookies.get('loginType') + '&token=' + |
| | | Cookies.get('singleSignToken') + '&area=' + |
| | | Cookies.get('area'), |
| | | key: 'qdGradeRepair', |
| | | text: '等级修理', |
| | | disabled: !(Cookies.get('area') === '1') |
| | | }, |
| | | { |
| | | permission: ['menu:qdlqx'], |
| | | path: 'http://' + |
| | | location.hostname + |
| | | ':8080/qdRepair/qdlndex?username=' + |
| | | Cookies.get('username') + '&loginType=' + |
| | | Cookies.get('loginType') + '&token=' + |
| | | Cookies.get('singleSignToken') + '&area=' + |
| | | Cookies.get('area'), |
| | | key: 'qdRepair', |
| | | text: '临抢修', |
| | | disabled: !(Cookies.get('area') === '1') |
| | | }, |
| | | { |
| | | permission: ['menu:sydjxl'], |
| | | path: 'http://' + |
| | | location.hostname + ':8020/#/single?' + 'username=' + |
| | | Cookies.get('username') + '&system=wxxt' + |
| | | '&loginType=' + |
| | | Cookies.get('loginType') + |
| | | '&token=' + Cookies.get('singleSignToken') + '&area=' + |
| | | Cookies.get('area'), |
| | | key: 'gradeRepair', |
| | | text: '修理数据', |
| | | disabled: !(Cookies.get('area') === 'O') |
| | | }, |
| | | { |
| | | permission: ['menu:sydjxl'], |
| | | path: |
| | | 'http://' + |
| | | location.hostname + ':8020/#/single?' + 'username=' + |
| | | Cookies.get('username') + '&loginType=' + |
| | | Cookies.get('loginType') + '&system=djxl' + |
| | | '&token=' + Cookies.get('singleSignToken') + '&area=' + |
| | | Cookies.get('area'), |
| | | key: 'gradeRepair', |
| | | text: '等级修理', |
| | | disabled: !(Cookies.get('area') === '2') |
| | | }, |
| | | { |
| | | permission: ['menu:peixun'], |
| | | path: |
| | | 'http://' + |
| | | location.hostname + ':8221/single?' + 'username=' + |
| | | Cookies.get('username') + '&loginType=' + |
| | | Cookies.get('loginType') + '&token=' + |
| | | Cookies.get('singleSignToken') + '&area=' + |
| | | Cookies.get('area'), |
| | | key: 'peixun', |
| | | text: '培训系统' |
| | | }, |
| | | { |
| | | permission: ['menu:preventivemaintenance'], |
| | | path: 'http://' + |
| | | location.hostname + ':8080/preventiveMaintenance/troopProject?username=' + |
| | | Cookies.get('username') + |
| | | '&loginType=' + |
| | | Cookies.get('loginType') + |
| | | '&token=' + Cookies.get('singleSignToken') + '&area=' + |
| | | Cookies.get('area'), |
| | | key: 'preventiveMaintenance', |
| | | text: '预防性维修' |
| | | }, |
| | | // { |
| | | // permission: ['menu:checkManage'], |
| | | // path: '/stateManagement/manage', key: 'stateManagement', |
| | | // text: '应急排查' |
| | | // }, |
| | | { |
| | | permission: ['menu:pinggu'], |
| | | path: |
| | | 'http://' + |
| | | location.hostname + ':8701/user/ssoLogin?' + 'username=' + |
| | | Cookies.get('username') + '&loginType=' + |
| | | Cookies.get('loginType') + |
| | | '&token=' + Cookies.get('singleSignToken') + '&area=' + |
| | | Cookies.get('area'), |
| | | key: 'pinggu', |
| | | disabled: Cookies.get('area') === '2', |
| | | text: '技术状态评估' |
| | | } |
| | | // , |
| | | // { |
| | | // permission: 0, |
| | | // path: '/qualityProblem/inhandle', key: 'qualityProblem', |
| | | // text: '质量问题管理' |
| | | // }, |
| | | // { |
| | | // permission: ['menu:feedback'], path: ' /feedback/knowledge', key: 'feedback', |
| | | // text: '经验反馈', |
| | | // img: require('@/assets/image/select/situationlmg/21.png'), |
| | | // imgdisabled: require('@/assets/image/select/situationImg/21.disabled.png') |
| | | // }, |
| | | // { |
| | | // permission: ['menu:system'], key: 'system', |
| | | // text: '系统配置' |
| | | // }, |
| | | // { |
| | | // permission: ['menu:workflow'], key: 'workflow', |
| | | // text: '协同办公', |
| | | // img: require('@/assets/image/select/situationlmg/22.png'), |
| | | // imgdisabled: require('@/assets/image/select/situationlmg/22.disabled.png') |
| | | // } |
| | | ] |
| | | }, |
| | | systemName() { |
| | | if (Cookies.get('system') == 'djxl') { |
| | | return this.systemList[10].text |
| | | } else if (Cookies.get('system') == 'smj'){ |
| | | return this.systemList[3].text |
| | | } else if (Cookies.get('system') == 'wxxt'){ |
| | | return this.systemList[9].text |
| | | } |
| | | } |
| | | }, |
| | | // components: { |
| | | // // UpdatePassword, |
| | | // InfiniteLoading, |
| | | // TableStructMaintain, |
| | | // TableRelation, |
| | | // QuestionSolution, |
| | | // DatabaseTableInfo, |
| | | // sysFeedBack |
| | | // }, |
| | | created() { |
| | | let that = this |
| | | this.getUserRoleInfo() |
| | |
| | | that.isOpen = true |
| | | }) |
| | | //this.systemList = window.SITE_CONFIG['menuList'] |
| | | console.log(this.systemList, 'this.systemList') |
| | | this.loginType=Cookies.get('loginType') |
| | | // Cookies.get('loginType') |
| | | }, |
| | |
| | | |
| | | this.$EventBus.$on('formSubmit', (msg) => { |
| | | this.msg = msg |
| | | this.getOneClassFile() |
| | | // console.log(msg) |
| | | }) |
| | | this.$EventBus.$on('reLogin', () => { |
| | |
| | | })*/ |
| | | |
| | | this.getTaskCount() |
| | | this.getFeedCount() |
| | | this.getOneClassFile() |
| | | // console.log(this.$store.state.user,'this.$store.state.user.debug navbar6666666666') |
| | | if (!this.$store.state.debug) { |
| | | setInterval(this.getOneClassFile, 60000) |
| | | } |
| | | |
| | | if (this.$store.state.user.isCjRole) { |
| | | this.$http.get('/task/taskCenter/page').then(res => { |
| | | console.log(res.data, 'res.data嘿嘿嘿') |
| | | let data = res.data |
| | | for (let val of data) { |
| | | if (val.stepMarker == 'work_cjtx') { |
| | | this.$http.get(`/task/planTask/${val.bizId}`).then(res => { |
| | | let DiffDay = this.getDiffDay(res.data.checkDate, new Date()) |
| | | if (DiffDay <= 7 && DiffDay > -1) { |
| | | return this.$tip.confirm('工程项目' + val.topic + '的第' + res.data.startPeriod + '期的周计划任务审核时间剩余' + DiffDay + '天,请尽快完成任务填写!') |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | this.isAdmin = this.$store.state.user.isAdmin |
| | | }, |
| | | methods: { |
| | |
| | | }else if(this.system==='djxl') { |
| | | window.open('./help/djxlVideo/index.html','_blank'); |
| | | } |
| | | }, |
| | | async load($state) { |
| | | //调用获取表格数据的接口 |
| | | await this.$http.get(`/task/OneClassFile/fileNotice?pageIndex=${this.pageIndex}&pageSize=${this.pageSize}`).then(res => { |
| | | console.log(res, 'res') |
| | | if (res && res.success) { |
| | | if (this.pageIndex === 1) { |
| | | this.gridData = res.data //首先加载后端返回的第一页的数据显示在表格中 |
| | | $state.complete() //加载完成的状态 |
| | | } else { |
| | | if (!res.data || res.data.length < this.pageSize) { |
| | | $state.complete() //加载完成的状态 |
| | | } else { |
| | | this.gridData = this.gridData.concat(res.data) //将后端新返回的数据拼接在原表格后面 |
| | | $state.loaded() //加载中的状态 |
| | | } |
| | | } |
| | | this.pageIndex++ //鼠标在表格底部滑动时,翻页,即当前页数+1 |
| | | console.log('123333333333') |
| | | } else { |
| | | $state.complete() //加载完成的状态 |
| | | } |
| | | }) |
| | | }, |
| | | getDiffDay(date_1, date_2) { |
| | | // 计算两个日期之间的差值 |
| | |
| | | return this.$message.error(res.msg) |
| | | } |
| | | this.userRoleInfo = res.data |
| | | if(this.$store.state.user.isZcRole || |
| | | this.userRoleInfo.roleName=='总体所角色' || |
| | | this.userRoleInfo.roleName=='代表室角色' || |
| | | this.userRoleInfo.roleName=='助理角色'|| |
| | | this.userRoleInfo.roleName=='部长角色' || |
| | | this.userRoleInfo.roleName=='处长角色'){ |
| | | this.$store.state.isGoToHome = true |
| | | } else{ |
| | | this.$store.state.isGoToHome = false |
| | | } |
| | | console.log(this.userRoleInfo, 'userRoleInfo') |
| | | }).catch(() => { |
| | | }) |
| | |
| | | this.$router.push({name: 'login'}) |
| | | } |
| | | }, |
| | | async addOneClassFile1() { |
| | | let fileIds = '' |
| | | for (let i = 0; i < this.gridData.length; i++) { |
| | | if (this.gridData[i].code === 1) { |
| | | fileIds = fileIds + this.gridData[i].fileId + ',' |
| | | } |
| | | } |
| | | let planId = { |
| | | fileIds: fileIds, |
| | | readerid: this.$store.state.user.id |
| | | } |
| | | let res = await this.$http.post(`/task/OneClassFile/documentReadingRecord`, planId) |
| | | if (res.success) { |
| | | this.getOneClassFile('allRead') |
| | | } |
| | | }, |
| | | indexMethod(index) { |
| | | return index += 1 |
| | | }, |
| | | getJsfa(row) { |
| | | let _this = this |
| | | console.log(row, 'row') |
| | | if (row.busiFieldName === '修理技术方案' || row.busiFieldName === '技术方案2') { |
| | | _this.$router.push({ |
| | | name: 'sy-maintain-task-xqzb-repair-skill-scheme', |
| | | params: { |
| | | productId: row.productId |
| | | } |
| | | }) |
| | | } |
| | | if (row.busiFieldName === '进厂协议') { |
| | | _this.$router.push({ |
| | | name: 'sy-maintain-task-jcxl-JT-enteringPlant.vue', |
| | | params: { |
| | | productId: row.productId |
| | | } |
| | | }) |
| | | } |
| | | if (row.busiFieldName === '综合验收') { |
| | | _this.$router.push({ |
| | | name: 'sy-maintain-task-jyys-synthetical-test', |
| | | params: { |
| | | productId: row.productId |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | async getOneClassFile(code) { |
| | | //console.log(code) |
| | | let res = await this.$http.get(`/task/OneClassFile/fileNotice?pageIndex=${this.pageIndex}&pageSize=${this.pageSize}`) |
| | | if (res.success) { |
| | | console.log(res.data) |
| | | if(res.data.length>0){ |
| | | if(res.data[0].total!==undefined){ |
| | | this.taskCount = res.data[0].total |
| | | } |
| | | // res.data.sort((a, b) => new Date(b.createDate).getTime() - new Date(a.createDate).getTime()) |
| | | this.gridData = res.data |
| | | if (code !== 'allRead') { |
| | | this.pageIndex++ |
| | | } |
| | | //console.log(this.gridData, 'this.gridData') |
| | | } |
| | | } |
| | | }, |
| | | async addOneClassFile(row, code) { |
| | | let fileIds = '' |
| | | for (let i = 0; i < this.gridData.length; i++) { |
| | | if (this.gridData[i].code === 1) { |
| | | fileIds = fileIds + this.gridData[i].fileId + ',' |
| | | |
| | | } |
| | | } |
| | | let planId |
| | | if (code === 1) { |
| | | planId = { |
| | | fileid: row.fileId, |
| | | readerid: this.$store.state.user.id |
| | | } |
| | | } |
| | | if (code === 2) { |
| | | planId = { |
| | | fileIds: fileIds, |
| | | readerid: this.$store.state.user.id |
| | | } |
| | | } |
| | | |
| | | // let userName = this.$store.state.user.id |
| | | // console.log(userName,'userName userName') |
| | | let res = await this.$http.post(`/task/OneClassFile/documentReadingRecord`, planId) |
| | | if (res.success) { |
| | | this.getOneClassFile() |
| | | } |
| | | }, |
| | | task(row) { |
| | | this.getRecordNumber(1) |
| | |
| | | // console.log(this.taskList, "12311") |
| | | } |
| | | }, |
| | | async getFeedCount() { |
| | | let count = 0 |
| | | let res = await this.$http.get(`/sys/feedback/page`) |
| | | if (res.success) { |
| | | console.log(res.data, "feedback......") |
| | | res.data.forEach((item) => { |
| | | if (item.isFinish === null || item.isFinish === 'undefined') { |
| | | count++ |
| | | } |
| | | }) |
| | | this.feedCount = count |
| | | } |
| | | }, |
| | | goToIndex() { |
| | | console.log(this.$store.state.user.roleName,'this.$store.state.user.roleName') |
| | | this.$router.push({name: 'TestDjxlHome',params: {roleName: this.$store.state.user.roleName}}) |
| | | // window.console.log(this.$route.name) |
| | | }, |
| | | async toFeedBack(){ |
| | | this.$nextTick(() => { |
| | | this.$refs.sysFeedBack.$refs.dialog.init(); |
| | | }) |
| | | }, |
| | | themehangeHandle(val) { |
| | | this.themeColor = val |
| | |
| | | // console.log(res,'getAdminRoleInfo'); |
| | | this.$store.state.user.isAdmin = res.data.isAdmin |
| | | this.$store.state.user.isAssistant = res.data.isAssistant |
| | | this.$store.state.user.isTyRole = res.data.isTyRole |
| | | this.$store.state.user.isCjRole = res.data.isCjRole |
| | | this.$store.state.user.isZcRole = res.data.isZcRole |
| | | this.$store.state.user.isCzRole = res.data.isCzRole |
| | | this.$store.state.user.isBzRole = res.data.isBzRole |
| | | this.$store.state.user.isTzRole = res.data.isTzRole |
| | | this.$store.state.user.isYwzRole = res.data.isYwzRole |
| | | this.$store.state.user.roles = res.data.roles |
| | | this.$store.state.debug = res.data.debug |
| | | this.$store.state.test = res.data.test |
| | |
| | | }, |
| | | // 表单提交 |
| | | async formSubmit(submitType) { |
| | | let flag = true; |
| | | console.log(this.dataForm, "this.dataForm11111") |
| | | this.dataForm.configOutboundList.forEach(item => { |
| | | if (parseInt(item.secretClass) > localStorage.getItem('userSecretClass')) { |
| | | this.$alert("当前项目设置的密级高于当前用户的密级,请重新设置") |
| | | flag =false |
| | | } |
| | | }) |
| | | if (!flag){ |
| | | return |
| | | } |
| | | if (this.showColumn && submitType == 'bl') { |
| | | for (let item of this.dataForm.configItemList) { |
| | | if (item) { |
| | |
| | | // 表单提交 |
| | | async formSubmit(submitType) { |
| | | let isFiles = true; |
| | | let flag = true; |
| | | console.log(this.dataForm, "this.dataForm11111") |
| | | this.dataForm.configItemList.forEach(item => { |
| | | console.log(item, "his.dataForm.technicalList.forEach") |
| | | item.files.groups.forEach(groups => { |
| | | groups.fields.forEach(files => { |
| | | if (files.files.length === 0) { |
| | | this.$alert("当前存在未上传附件的技术资料,请重新上传") |
| | | isFiles = false |
| | | return isFiles |
| | | } |
| | | }) |
| | | }) |
| | | if (parseInt(item.secretClass) > localStorage.getItem('userSecretClass')) { |
| | | this.$alert("当前项目设置的密级高于当前用户的密级,请重新设置") |
| | | flag =false |
| | | } |
| | | }) |
| | | if (this.showColumn && submitType == 'bl') { |
| | | if (!flag){ |
| | | return |
| | | } |
| | | if (this.showColumn && submitType === 'bl') { |
| | | for (let item of this.dataForm.configItemList) { |
| | | if (item) { |
| | | if (this.pageNameCode[item.itemName] && !item.checkId) { |
| | |
| | | } |
| | | } |
| | | if (submitType === 'tj' || submitType === 'bl') { |
| | | this.dataForm.configItemList.forEach(item => { |
| | | console.log(item, "his.dataForm.technicalList.forEach") |
| | | item.files.groups.forEach(groups => { |
| | | groups.fields.forEach(files => { |
| | | if (files.files.length === 0) { |
| | | this.$alert("当前存在未上传附件的配置项,请重新上传") |
| | | isFiles = false |
| | | return isFiles |
| | | } |
| | | }) |
| | | }) |
| | | }) |
| | | if (!isFiles){ |
| | | return |
| | | } |
| | |
| | | // 表单提交 |
| | | async formSubmit(submitType) { |
| | | let isFiles = true; |
| | | let flag = true; |
| | | console.log(this.dataForm, "this.dataForm11111") |
| | | this.dataForm.technicalList.forEach(item => { |
| | | console.log(item, "his.dataForm.technicalList.forEach") |
| | | item.files.groups.forEach(groups => { |
| | | groups.fields.forEach(files => { |
| | | if (files.files.length === 0) { |
| | | this.$alert("当前存在未上传附件的技术资料,请重新上传") |
| | | isFiles = false |
| | | return isFiles |
| | | } |
| | | if (parseInt(item.secretClass) > localStorage.getItem('userSecretClass')) { |
| | | this.$alert("当前项目设置的密级高于当前用户的密级,请重新设置") |
| | | flag =false |
| | | } |
| | | }) |
| | | if (!flag){ |
| | | return |
| | | } |
| | | if (submitType === 'tj' || submitType === 'bl') { |
| | | this.dataForm.technicalList.forEach(item => { |
| | | item.files.groups.forEach(groups => { |
| | | groups.fields.forEach(files => { |
| | | if (files.files.length === 0) { |
| | | this.$alert("当前存在未上传附件的技术资料,请重新上传") |
| | | isFiles = false |
| | | return isFiles |
| | | } |
| | | }) |
| | | }) |
| | | }) |
| | | }) |
| | | console.log(this.dataForm, "this.dataForm11111") |
| | | if (submitType == 'tj' || submitType == 'bl') { |
| | | if (!isFiles){ |
| | | return |
| | | } |
| | |
| | | } |
| | | let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/itemCirculatOrder/ItemCirculatOrder/', this.dataForm) |
| | | if (res.success) { |
| | | if (this.stepMarker === 'wplz_wprk' && submitType == 'bl') { |
| | | if (this.stepMarker === 'wplz_wprk' && submitType === 'bl') { |
| | | this.$nextTick(() => { |
| | | this.$refs.addOrUpdate.$refs.dialog.init(null, { |
| | | id: res.data, |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="el-risk-flex el-border-top-bottom "> |
| | | <div class="el-risk-flex el-border-top-bottom " style="height:90px"> |
| | | <div class="riskWidth riskAlign riskHold" style="width: 35%"> |
| | | 风险跟踪人员/日期: |
| | | </div> |
| | |
| | | 风险措施控制 |
| | | </div> |
| | | <div class="el-border-left" style="width: 90%"> |
| | | <div class="el-risk-flex el-border-bottom "> |
| | | <div class="el-risk-flex el-border-bottom " style="height:40px"> |
| | | <div class="riskAlign riskHold" style="width: 26%"> |
| | | 采取措施: |
| | | </div> |
| | |
| | | <span v-else>{{dataForm.riskMeasure.summaryMeasure}}</span> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="el-risk-flex el-border-bottom "> |
| | | <div class="el-risk-flex el-border-bottom " style="height:90px"> |
| | | <div class="riskAlign riskHold" style="width: 26%"> |
| | | 记录人员/日期: |
| | | </div> |
| | |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | | <div class="el-risk-flex el-border-bottom "> |
| | | <div class="el-risk-flex el-border-bottom " style="height:40px"> |
| | | <div class="riskAlign riskHold" style="width: 26%"> |
| | | 措施有效性评估: |
| | | </div> |
| | |
| | | <span v-else>{{dataForm.riskMeasure.summaryEvaluate}}</span> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="el-risk-flex "> |
| | | <div class="el-risk-flex " style="height:90px"> |
| | | <div class="riskAlign riskHold" style="width:26%"> |
| | | 部门负责人/日期: |
| | | </div> |
| | |
| | | }, |
| | | created() { |
| | | const roleName = localStorage.getItem('roleName') |
| | | if (roleName && roleName.includes('QA')) { |
| | | if (roleName && roleName.includes('审核')) { |
| | | this.showColumn = true; |
| | | } |
| | | }, |
| | |
| | | <zt-form-item label="评审人数" prop="reviewerNum" > |
| | | <el-input v-model="dataForm.reviewComment.reviewerNum"></el-input> |
| | | </zt-form-item> |
| | | <div style="height: 60px"> |
| | | <div style="height: 60px;width: 75%"> |
| | | <el-form-item > |
| | | <config-uploader :lineHeight="true" :busi-type="type" model-name="dataForm" :dataForm="dataForm" |
| | | v-model="dataForm.files"/> |
| | |
| | | </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 type="selection" align="center" width="40"/> |
| | | <el-table-column prop="reviewDate" label="评审日期"/> |
| | | <el-table-column prop="softwareName" label="项目名称"/> |
| | | <el-table-column prop="softwareIdentity" label="项目标识"/> |
| | | <el-table-column prop="softwareIdentity" label="项目标识" /> |
| | | <zt-table-column-handle :table="table" :hasEdit='false' edit-perm="testReviewComment:update" |
| | | delete-perm="testCheckOrder::delete"> |
| | | delete-perm="testCheckOrder::delete" width="200"> |
| | | <template v-slot="{row}"> |
| | | <zt-table-button size="small" v-show = "row.accessoryMap" type="primary" |
| | | @click="preview(row)">预览 |
New file |
| | |
| | | <template> |
| | | <div id="wai"> |
| | | <div class="divLeft"> |
| | | <h2 >{{helpDataSys.systemName}}用户操作说明</h2> |
| | | <div v-for="item in helpDataSys.data" :key="item.id"> |
| | | <h3 @click="toggleCollapse(helpDataSys.data,item.id)" style="cursor: pointer;font-size: 20px"> |
| | | <span :class="{ 'collapsed': item.isCollapsed }">▷</span> |
| | | {{item.user}} |
| | | </h3> |
| | | <ol :class="{'isCollapsed':!item.isCollapsed}" v-show="item.isCollapsed" style="font-weight: initial;line-height: initial;"> |
| | | <li v-for="item1 in item.modules" :key="item1.id" style="margin-top: 10px; margin-bottom: 5px"> |
| | | <span @click="toggleCollapse(item.modules,item1.id)">{{item1.module}}</span> |
| | | <ol :class="{'isCollapsed':!item1.isCollapsed}" v-show="item1.isCollapsed" class="funcList" style="transition: .5s"> |
| | | <li v-for="item2 in item1.functions" :key="item2.id" class="func" @click="clickFunc(item.user, item1.module, item2.function, item2.docFile, item2.videoFile)"> |
| | | {{item2.function}}</li> |
| | | </ol> |
| | | </li> |
| | | </ol> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="divRight"> |
| | | <div style="margin: 10px; display: flex;"> |
| | | <div style="flex: 1;"> |
| | | <el-radio-group v-model="dispType" @change="dispTypeChange"> |
| | | <el-radio class="radio" label="1">操作说明</el-radio> |
| | | <el-radio class="radio" label="2">录屏演示</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | <div style="flex: 1; text-align: center" id="helpTitle"> |
| | | <h3 ></h3> |
| | | </div> |
| | | <div id="userManual" style="flex: 1; text-align: right;"> |
| | | <el-dropdown trigger="hover"> |
| | | <span class="el-dropdown-link"> |
| | | 下载用户手册<i class="el-icon-arrow-down el-icon--right"></i> |
| | | </span> |
| | | <el-dropdown-menu @click.native.stop> |
| | | <el-dropdown-item v-for="item in helpDataSys.userManual" :key="item.id"> |
| | | <a :href="item.file" style="color:#000">{{ item.name }}</a> |
| | | </el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | </div> |
| | | </div> |
| | | <div style="height: 100%;"> |
| | | <div id="divDoc" style="height: 100%;"> |
| | | <iframe id="iframe" src="" width="100%" height="95%"></iframe> |
| | | </div> |
| | | <div id="divVideo"> |
| | | <video id="video" src="" controls type="video/mp4"> |
| | | </video> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Cookies from "js-cookie"; |
| | | |
| | | export default { |
| | | name: 'UserHelp', |
| | | data(){ |
| | | return{ |
| | | isCollapsed:false, |
| | | system: '', // djxl, smj |
| | | helpDataSys: '', |
| | | dispType: '1', |
| | | user: '', |
| | | modulename: '', |
| | | funcname: '', |
| | | docfile: '', |
| | | videofile: '', |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.system = Cookies.get('system'); |
| | | // userhelp_jsondata在/help/helpdata.js中定义,/help/helpdata.js在index.html中引入。 |
| | | if (this.system) { |
| | | for (let i = 0; i < userhelp_jsondata.length; i++) { |
| | | if (this.system == userhelp_jsondata[i].system) { |
| | | this.helpDataSys = userhelp_jsondata[i]; |
| | | } |
| | | } |
| | | }else{ |
| | | this.helpDataSys = userhelp_jsondata[0] |
| | | } |
| | | }, |
| | | methods: { |
| | | toggleCollapse(Dates,id) { |
| | | console.log(id) |
| | | for (const item of Dates) { |
| | | console.log(item.id) |
| | | if (item.id === id) { |
| | | item.isCollapsed = !item.isCollapsed; // 切换展开(收缩)状态 |
| | | break; |
| | | } |
| | | } |
| | | }, |
| | | switchDispType() { |
| | | var myIframe = document.getElementById("iframe"); |
| | | var myVideo = document.getElementById("video"); |
| | | if (this.dispType=="1") { |
| | | document.getElementById("divVideo").style.display="none"; |
| | | document.getElementById("divDoc").style.display=""; |
| | | myIframe.src = this.docfile; |
| | | if (!myVideo.paused) { |
| | | myVideo.pause(); |
| | | } |
| | | } else { |
| | | document.getElementById("divDoc").style.display="none"; |
| | | document.getElementById("divVideo").style.display=""; |
| | | if (myVideo.paused) { |
| | | myVideo.src = this.videofile; |
| | | myVideo.volume=0; |
| | | myVideo.play(); |
| | | } else { |
| | | myVideo.pause(); |
| | | myVideo.src = this.videofile; |
| | | myVideo.volume=0; |
| | | myVideo.play(); |
| | | } |
| | | } |
| | | }, |
| | | clickFunc(user, modulename, funcname, docfile, videofile) { |
| | | this.user = user; |
| | | this.modulename = modulename; |
| | | this.funcname = funcname; |
| | | this.docfile = docfile; |
| | | this.videofile = videofile; |
| | | var myTitle = document.getElementById("helpTitle"); |
| | | myTitle.innerHTML = user+"--"+modulename+"--"+funcname; |
| | | this.switchDispType(); |
| | | }, |
| | | dispTypeChange() { |
| | | if (this.funcname) { |
| | | this.switchDispType(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | #video { |
| | | margin: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | display: block; |
| | | } |
| | | #wai{ width:100%; height: 100vh; padding:10px; overflow:hidden;background: #062944;color:#FFF} |
| | | .divLeft{ float:left; width: 300px; height: 100%; overflow-y:scroll; } |
| | | .divRight{ margin-left: 310px; height: 100%;} |
| | | .divRight .radio{ |
| | | color:#fff; |
| | | } |
| | | .divLeft>div>h3:hover{ |
| | | background-color:rgba(2, 120, 231, 1); |
| | | transition: .5s; |
| | | } |
| | | .divLeft ol>li>span{ |
| | | font-weight: bold; |
| | | list-style-position: inside; |
| | | cursor: pointer; |
| | | display: inline-block; |
| | | font-size: 18px; |
| | | width: 100%; |
| | | } |
| | | .divLeft ol>li>span:hover{ |
| | | /*border: 1px solid rgba(2, 120, 231, 1);*/ |
| | | background-color:rgba(2, 120, 231, 1); |
| | | transition: .5s; |
| | | } |
| | | .funcList{ margin-left: 10px;padding-left:10px;font-size: 16px} |
| | | .funcList li { |
| | | padding: 5px; |
| | | color:#fff; |
| | | list-style-position: inside; |
| | | } |
| | | .funcList li:hover{ |
| | | background-color:rgba(2, 120, 231, .6); |
| | | transition: .5s; |
| | | } |
| | | .func{ text-decoration: none; color: #0000ff; cursor:pointer; } |
| | | /* 正常情况下滑块的样式 */ |
| | | #wai ::-webkit-scrollbar-thumb { |
| | | background-color: rgba(23, 179, 163, 0.2); |
| | | border-radius: 2px; |
| | | -webkit-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, .3); |
| | | } |
| | | #wai ::-webkit-scrollbar-corner{ |
| | | background-color: rgba(23, 179, 163, 0.3); |
| | | } |
| | | /* 鼠标悬浮在该类指向的控件上时滑块的样式 */ |
| | | #wai :hover::-webkit-scrollbar-thumb { |
| | | background-color: rgba(23, 179, 163, 0.5); |
| | | border-radius: 2px; |
| | | -webkit-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, .1); |
| | | } |
| | | |
| | | /* 鼠标悬浮在滑块上时滑块的样式 */ |
| | | #wai ::-webkit-scrollbar-thumb:hover { |
| | | background-color: rgba(23, 179, 163, 0.5); |
| | | -webkit-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, .1); |
| | | } |
| | | |
| | | /* 正常时候的主干部分 */ |
| | | #wai ::-webkit-scrollbar-track { |
| | | border-radius: 2px; |
| | | /*-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0);*/ |
| | | } |
| | | |
| | | /* 鼠标悬浮在滚动条上的主干部分 */ |
| | | #wai::-webkit-scrollbar-track:hover { |
| | | /*-webkit-box-shadow: inset 0 0 6px rgba(123, 224, 244, 0.1);*/ |
| | | background-color: rgba(23, 179, 163, 0.5); |
| | | } |
| | | #wai .el-dropdown{ |
| | | color:#fff; |
| | | } |
| | | .collapsed { |
| | | transform: rotate(0.5turn); |
| | | } |
| | | .isCollapsed{ |
| | | display: block; |
| | | transition: .5s; |
| | | } |
| | | </style> |
| | |
| | | // console.log(res,'getAdminRoleInfo'); |
| | | this.$store.state.user.isAdmin = res.data.isAdmin |
| | | this.$store.state.user.isAssistant = res.data.isAssistant |
| | | this.$store.state.user.isTyRole = res.data.isTyRole |
| | | this.$store.state.user.isCjRole = res.data.isCjRole |
| | | this.$store.state.user.isZcRole = res.data.isZcRole |
| | | this.$store.state.user.isCzRole = res.data.isCzRole |
| | | this.$store.state.user.isBzRole = res.data.isBzRole |
| | | this.$store.state.user.isTzRole = res.data.isTzRole |
| | | this.$store.state.user.isYwzRole = res.data.isYwzRole |
| | | this.$store.state.user.roles = res.data.roles |
| | | this.$store.state.debug = res.data.debug |
| | | this.$store.state.test = res.data.test |
| | | this.$store.state.menuPos = res.data.menuPos |
| | | window.SITE_CONFIG['isAdmin'] = res.data.isAdmin // 权限 |
| | | this.loading = false |
| | | console.log(this.$store.state.user.isZcRole, 'this.$store.state.user.isZcRole') |
| | | }).catch(() => { |
| | | console.log('/user/adminRole', 'adminRole') |
| | | }) |
| | |
| | | console.log(res.data.roleName,'res.data.roleName res.data.roleName') |
| | | if (res.data.roleName != null && |
| | | (res.data.roleName.indexOf('系统管理员') >= 0 || |
| | | res.data.roleName.indexOf('全部权限') >= 0 || |
| | | res.data.roleName.indexOf('总体所角色') >= 0 || |
| | | res.data.roleName.indexOf('代表室角色') >= 0 || |
| | | res.data.roleName.indexOf('助理角色') >= 0 || |
| | | res.data.roleName.indexOf('总厂角色') >= 0 || |
| | | res.data.roleName.indexOf('部长角色') >= 0 || |
| | | res.data.roleName.indexOf('处长角色') >= 0) |
| | | res.data.roleName.indexOf('全部权限') >= 0) |
| | | ) { |
| | | console.log('TestDjxlHome') |
| | | // this.$router.push({name: 'TestDjxlHome', params: {roleName: res.data.roleName}}) |
| | |
| | | @JsonProperty("isSuperAdmin") |
| | | private boolean isSuperAdmin; |
| | | |
| | | @ApiModelProperty(value = "是否为T员用户") |
| | | @JsonProperty("isTyRole") |
| | | private boolean isTyRole; |
| | | |
| | | @ApiModelProperty(value = "是否为厂家用户") |
| | | @JsonProperty("isCjRole") |
| | | private boolean isCjRole; |
| | | |
| | | @ApiModelProperty(value = "是否为总厂用户") |
| | | @JsonProperty("isZcRole") |
| | | private boolean isZcRole; |
| | | |
| | | @ApiModelProperty(value = "公司類型") |
| | | @JsonProperty("unitType") |
| | | @TableField(exist = false) |
| | |
| | | Map<String, Object> sysUser = new Hashtable(); |
| | | |
| | | sysUser.put("isAdmin", false); |
| | | sysUser.put("isTyRole", false); |
| | | sysUser.put("isYwzRole", false); |
| | | sysUser.put("isTzRole", false); |
| | | sysUser.put("isAssistant", false); |
| | | sysUser.put("isCzRole", false); |
| | | sysUser.put("isBzRole", false); |
| | | sysUser.put("isCjRole", false); |
| | | sysUser.put("isZcRole", false); |
| | | List<RoleDto> roles = sysRoleUserService.getUserRoles(UserContext.getUser().getId()); |
| | | if (roles != null && roles.size() > 0) { |
| | | if (roles.stream().filter(p -> p.getCode().equals("xtglybm") || p.getCode().equals("all")).count() > 0) { |
| | | sysUser.put("isAdmin", true); |
| | | } |
| | | if (roles.stream().filter(p -> p.getCode().equals("tybm")).count() > 0) { |
| | | sysUser.put("isTyRole", true); |
| | | } |
| | | if (roles.stream().filter(p -> p.getCode().equals("ywzbm")).count() > 0) { |
| | | sysUser.put("isYwzRole", true); |
| | | } |
| | | if (roles.stream().filter(p -> p.getCode().equals("tzbm")).count() > 0) { |
| | | sysUser.put("isTzRole", true); |
| | | } |
| | | if (roles.stream().filter(p -> p.getCode().equals("zlbm")).count() > 0) { |
| | | sysUser.put("isAssistant", true); |
| | | } |
| | | if (roles.stream().filter(p -> p.getCode().equals("czbm")).count() > 0) { |
| | | sysUser.put("isCzRole", true); |
| | | } |
| | | if (roles.stream().filter(p -> p.getCode().equals("bzbm")).count() > 0) { |
| | | sysUser.put("isBzRole", true); |
| | | } |
| | | |
| | | if (roles.stream().filter(p -> p.getCode().equals("cjbm") || p.getCode().equals("zcbm")).count() > 0) { |
| | | sysUser.put("isCjRole", true); |
| | | } |
| | | if (roles.stream().filter(p -> p.getCode().equals("zcbm")).count() > 0) { |
| | | sysUser.put("isZcRole", true); |
| | | } |
| | | } |
| | | return sysUser; |