From 38d87eb232eadb24fdcc7602609a6ec3592df7bd Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期三, 07 八月 2024 15:52:37 +0800 Subject: [PATCH] 修改 --- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/dao/TestSchemeDao.java | 23 + web/src/views/modules/taskReliability/TimeDiagramTemp.vue | 128 --------- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/service/TestSchemeService.java | 188 ++++++++++++++ web/src/views/modules/taskReliability/PlanMake.vue | 174 +++++++++++++ modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ModelLineController.java | 22 - modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/model/TestScheme.java | 33 ++ modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/controller/TestSchemeController.java | 104 ++++++++ modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/dto/ResultDto.java | 28 ++ modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java | 2 web/src/views/modules/taskReliability/ConfigEdge/configEdge.vue | 1 modules/mainPart/src/main/resources/mapper/TestScheme/TestSchemeDao.xml | 12 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java | 9 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/dto/ConditionDto.java | 15 + 13 files changed, 584 insertions(+), 155 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/controller/TestSchemeController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/controller/TestSchemeController.java new file mode 100644 index 0000000..549e0cd --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/controller/TestSchemeController.java @@ -0,0 +1,104 @@ +package com.zt.life.modules.mainPart.TestScheme.controller; + + +import com.zt.common.annotation.LogOperation; +import com.zt.common.constant.Constant; +import com.zt.common.annotation.QueryParam; +import com.zt.common.db.query.QueryFilter; +import com.zt.common.servlet.Result; +import com.zt.common.servlet.PageResult; +import com.zt.common.validator.AssertUtils; +import com.zt.common.validator.ValidatorUtils; +import com.zt.common.validator.group.AddGroup; +import com.zt.common.validator.group.DefaultGroup; +import com.zt.common.validator.group.UpdateGroup; +import com.zt.life.modules.mainPart.TestScheme.dto.ConditionDto; +import com.zt.life.modules.mainPart.TestScheme.dto.ResultDto; +import com.zt.life.modules.mainPart.TestScheme.model.TestScheme; +import com.zt.life.modules.mainPart.TestScheme.service.TestSchemeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; + +import java.util.List; + + +/** + * test_scheme + * + * @author zt generator + * @since 1.0.0 2024-08-07 + */ +@RestController +@RequestMapping("/TestScheme/TestScheme/") +@Api(tags="test_scheme") +public class TestSchemeController { + @Autowired + private TestSchemeService testSchemeService; + + @GetMapping("page") + @ApiOperation("鍒嗛〉") + @ApiImplicitParams({ + @ApiImplicitParam(name = Constant.Q.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT), + @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT), + @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING), + @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING), + }) + public PageResult<TestScheme> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ + + return PageResult.ok(null); + } + + @GetMapping("{id}") + @ApiOperation("淇℃伅") + public Result<TestScheme> get(@PathVariable("id") Long id){ + TestScheme data = testSchemeService.get(id); + + return Result.ok(data); + } + + @GetMapping("condition") + public Result<List<ResultDto>> getResult1(ConditionDto dto){ + List<ResultDto> data = testSchemeService.getResult(dto); + + return Result.ok(data); + } + + @PostMapping + @ApiOperation("鏂板") + @LogOperation("鏂板") + public Result insert(@RequestBody TestScheme testScheme){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(testScheme, AddGroup.class, DefaultGroup.class); + testSchemeService.insert(testScheme); + + return Result.ok(); + } + + @PutMapping + @ApiOperation("淇敼") + @LogOperation("淇敼") + public Result update(@RequestBody TestScheme testScheme){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(testScheme, UpdateGroup.class, DefaultGroup.class); + testSchemeService.update(testScheme); + + return Result.ok(); + } + + @DeleteMapping + @ApiOperation("鍒犻櫎") + @LogOperation("鍒犻櫎") + public Result delete(@RequestBody Long[] ids){ + //鏁堥獙鏁版嵁 + AssertUtils.isArrayEmpty(ids, "id"); + testSchemeService.delete(ids); + + return Result.ok(); + } + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/dao/TestSchemeDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/dao/TestSchemeDao.java new file mode 100644 index 0000000..5a2b9e1 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/dao/TestSchemeDao.java @@ -0,0 +1,23 @@ +package com.zt.life.modules.mainPart.TestScheme.dao; + +import com.zt.common.dao.BaseDao; +import com.zt.life.modules.mainPart.TestScheme.model.TestScheme; +import org.apache.ibatis.annotations.Mapper; + + +import java.util.List; +import java.util.Map; + + +/** + * test_scheme + * + * @author zt generator + * @since 1.0.0 2024-08-07 + */ +@Mapper +public interface TestSchemeDao extends BaseDao<TestScheme> { + + List<TestScheme> getList(); + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/dto/ConditionDto.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/dto/ConditionDto.java new file mode 100644 index 0000000..909a23a --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/dto/ConditionDto.java @@ -0,0 +1,15 @@ +package com.zt.life.modules.mainPart.TestScheme.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ConditionDto { + + private String tjlx; + private Double specifiedValue; + private Double minAccepValue; + private Double productionRisk; + private Double userRisk; + private Integer showFailureTime; +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/dto/ResultDto.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/dto/ResultDto.java new file mode 100644 index 0000000..34643e9 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/dto/ResultDto.java @@ -0,0 +1,28 @@ +package com.zt.life.modules.mainPart.TestScheme.dto; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.common.entity.BusiEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +@Data +public class ResultDto { + + @ApiModelProperty(value = "") + private int acceptNumber; + + @ApiModelProperty(value = "") + private String totalTestTime; + + @ApiModelProperty(value = "") + private String number; + + @ApiModelProperty(value = "") + private String productionRiskReal; + + @ApiModelProperty(value = "") + private String userRiskReal; + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/model/TestScheme.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/model/TestScheme.java new file mode 100644 index 0000000..aa0ab64 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/model/TestScheme.java @@ -0,0 +1,33 @@ +package com.zt.life.modules.mainPart.TestScheme.model; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.common.entity.BusiEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * test_scheme + * + * @author zt generator + * @since 1.0.0 2024-08-07 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("test_scheme") +public class TestScheme extends BusiEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "") + private Integer pc; + + @ApiModelProperty(value = "") + private Double pa; + + @ApiModelProperty(value = "") + private Double value; + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/service/TestSchemeService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/service/TestSchemeService.java new file mode 100644 index 0000000..e39eb41 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/TestScheme/service/TestSchemeService.java @@ -0,0 +1,188 @@ +package com.zt.life.modules.mainPart.TestScheme.service; + +import com.zt.common.service.BaseService; +import com.zt.life.modules.mainPart.TestScheme.dao.TestSchemeDao; +import com.zt.life.modules.mainPart.TestScheme.dto.ConditionDto; +import com.zt.life.modules.mainPart.TestScheme.dto.ResultDto; +import com.zt.life.modules.mainPart.TestScheme.model.TestScheme; +import org.springframework.stereotype.Service; +import com.zt.common.db.query.QueryFilter; + +import java.util.ArrayList; +import java.util.Formatter; +import java.util.List; +import java.util.stream.Collectors; + + +/** + * test_scheme + * + * @author zt generator + * @since 1.0.0 2024-08-07 + */ +@Service +public class TestSchemeService extends BaseService<TestSchemeDao, TestScheme> { + + /** + * 鍒嗛〉鏌ヨ + * + * @param queryFilter + * @return + */ + /* public List<TestScheme> page(QueryFilter queryFilter) { + return baseDao.getList(queryFilter.getQueryParams()); + } +*/ + + /** + * 鍒犻櫎 + * + * @param ids + */ + public void delete(Long[] ids) { + super.deleteLogic(ids); + } + + public List<ResultDto> getResult(ConditionDto dto) { + List<ResultDto> result = new ArrayList<>(); + List<TestScheme> list = baseDao.getList(); + if (dto.getTjlx().equals("鏉′欢1")) { + result = this.getCondition1(dto, list); + } else if (dto.getTjlx().equals("鏉′欢2")) { + result = this.getCondition2(dto, list); + } else if (dto.getTjlx().equals("鏉′欢3")) { + result = this.getCondition3(dto, list); + } + return result; + } + + private List<ResultDto> getCondition1(ConditionDto dto, List<TestScheme> list) { + List<ResultDto> result = new ArrayList<>(); + int C = 0; + double oldvalue = 0; + for (int i = 1; i <= 10; i++) { + Integer finalI = i; + TestScheme data1 = list.stream().filter(k -> k.getPa().equals(dto.getUserRisk()) && k.getPc() == (2 * finalI + 2)).findFirst().get();// + TestScheme data2 = list.stream().filter(k -> k.getPa().equals(1 - dto.getUserRisk()) && k.getPc() == (2 * finalI + 2)).findFirst().get();// + if (data1 != null && data2 != null) { + Double value = data2.getValue() / data1.getValue(); + double strate = dto.getMinAccepValue() / dto.getSpecifiedValue(); + + if (value >= strate) { + C = i; + if (strate - oldvalue < value - strate) + C = i - 1; + break; + } + oldvalue = value; + } + } + + double T = 0; //鎬昏瘯楠屾椂闂� + double TST1 = 0; //T/胃1 + double TST0 = 0; //T/胃0 + Integer finalC = C; + TestScheme data3 = list.stream().filter(k -> k.getPa().equals(1 - dto.getUserRisk()) && k.getPc() == (2 * finalC + 2)).findFirst().get();// + if (data3 != null) { + TST1 = data3.getValue() / 2; //T/胃1 + //TST1 = Convert.ToDouble(TST1.ToString("G2")); //鍙栦袱浣嶆湁鏁堟暟瀛� + if (TST1 < 10) TST1 = TST1 + 0.1; + T = TST1 * dto.getMinAccepValue(); //鎬昏瘯楠屾椂闂� + TST0 = T / dto.getSpecifiedValue(); //T/胃0 TST1 * minAccepValue / specifiedValue + } + + double productionRisk = 0; //鐢熶骇鏂归闄╁疄闄呭�� + double userRisk = 0; //浣跨敤鏂归闄╁疄闄呭�� + double e = 2.71828182845904523536; //鑷劧鏁癳 + + for (int r = 0; r <= C; r++) { + productionRisk = productionRisk + Math.pow(TST0, r) * Math.pow(e, -TST0) / getjc(r); + userRisk = userRisk + Math.pow(TST1, r) * Math.pow(e, -TST1) / getjc(r); + } + ResultDto resultDto = new ResultDto(); + productionRisk = 1 - productionRisk; + resultDto.setAcceptNumber(C); + resultDto.setTotalTestTime(String.valueOf(Math.round(T))); + resultDto.setProductionRiskReal(new Formatter().format("%.2f", productionRisk * 100).toString()); + resultDto.setUserRiskReal(new Formatter().format("%.2f", userRisk * 100).toString()); + result.add(resultDto); + return result; + } + + public List<ResultDto> getCondition2(ConditionDto dto, List<TestScheme> list) { + List<ResultDto> result = new ArrayList<>(); + for (Integer i = 0; i < dto.getShowFailureTime(); i++) { + Integer finalI = i; + List<TestScheme> data = list.stream().filter(k -> k.getPa().equals(dto.getUserRisk()) && k.getPc() == (2 * finalI + 2)).collect(Collectors.toList());// + ResultDto resultDto = new ResultDto(); + double T = 0; + double TST1 = 0; // T/胃1 + double TST0 = 0;// T/胃0 + for (TestScheme item : data) { + TST1 = item.getValue() / 2; + T = TST1 * dto.getMinAccepValue(); + TST0 = T / dto.getSpecifiedValue(); // T/胃0 + } + double productionRisk = 0; + double userRisk = 0; + double e = 2.71828182845904523536; + for (int r = 0; r <= i; r++) { + productionRisk = productionRisk + Math.pow(TST0, r) * Math.pow(e, -TST0) / getjc(r); + userRisk = userRisk + Math.pow(TST1, r) * Math.pow(e, -TST1) / getjc(r); + } + productionRisk = 1 - productionRisk; + + resultDto.setAcceptNumber(i + 1); + resultDto.setTotalTestTime(String.valueOf(Math.round(T))); + resultDto.setProductionRiskReal(new Formatter().format("%.2f", productionRisk * 100).toString()); + resultDto.setUserRiskReal(new Formatter().format("%.2f", userRisk * 100).toString()); + result.add(resultDto); + } + return result; + } + + private List<ResultDto> getCondition3(ConditionDto dto, List<TestScheme> list) { + List<ResultDto> result = new ArrayList<>(); + for (int i = 0; i <= dto.getShowFailureTime(); i++) { + Integer finalI = i; + List<TestScheme> data = list.stream().filter(k -> k.getPa().equals(dto.getUserRisk()) && k.getPc() == (2 * finalI + 2)).collect(Collectors.toList());// + List<TestScheme> data2 = list.stream().filter(k -> k.getPa().equals(1 - dto.getProductionRisk()) && k.getPc() == (2 * finalI + 2)).collect(Collectors.toList());// + double T = 0; + double TST1 = 0; // T/胃1 + double TST0 = 0;// T/胃0 + double ST0 = 0; // 胃0 + for (TestScheme item : data) { + TST1 = item.getValue() / 2; + T = TST1 * dto.getMinAccepValue(); + for (TestScheme item2 : data2) { + ST0 = item.getValue() * dto.getMinAccepValue() / item2.getValue(); + } + TST0 = T / ST0; + } + + double productionRisk = 0; + double userRisk = 0; + double e = 2.71828182845904523536; + for (int r = 0; r <= i; r++) { + productionRisk = productionRisk + Math.pow(TST0, r) * Math.pow(e, -TST0) / getjc(r); + userRisk = userRisk + Math.pow(TST1, r) * Math.pow(e, -TST1) / getjc(r); + } + ResultDto resultDto = new ResultDto(); + resultDto.setAcceptNumber(i); + resultDto.setTotalTestTime(String.valueOf(Math.round(T))); + resultDto.setNumber(String.valueOf(Math.round(ST0))); + resultDto.setProductionRiskReal(new Formatter().format("%.2f", productionRisk * 100).toString()); + resultDto.setUserRiskReal(new Formatter().format("%.2f", userRisk * 100).toString()); + result.add(resultDto); + } + return result; + } + + //璁$畻闃朵箻 + int getjc(int a) { + int result = 1; + for (int i = a; i > 0; i--) + result = result * i; + return result; + } +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ModelLineController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ModelLineController.java index 34ec34f..bcc6439 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ModelLineController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ModelLineController.java @@ -47,28 +47,6 @@ @Autowired private ModelRbdNodeService modelRbdNodeService; - @Autowired - private PythonLib pythonLib; - -/* - @GetMapping("callPythonCalc") - @ApiOperation("淇℃伅") - public Result callPythonCalc() { - Result result = pythonLib.callPython(); - - return result; - } -*/ - -/* - @GetMapping("getPythonCalcResult") - @ApiOperation("淇℃伅") - public Result<String> getPythonCalcResult() { - String result = pythonLib.getPythonCalcResult(); - - return Result.ok(result); - } -*/ @GetMapping("page") @ApiOperation("鍒嗛〉") diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java index 475202b..a022a2b 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java @@ -36,10 +36,7 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** @@ -120,7 +117,6 @@ @PostMapping("getResultXML") public Result<SimulaDataDto> getResultXML(@RequestBody SimulatAssess simulatAssess) { - simulatAssessService.deleteSimInfoInRedis(simulatAssess.getId()); if (simulatAssess.getDataType().equals("fz")) { Integer num = simulatAssessService.getNumById(simulatAssess.getProductId(), simulatAssess.getTaskModelId()); simulatAssess.setName("浠跨湡璁板綍" + (num + 1)); @@ -243,6 +239,9 @@ String key = taskId.toString() + simulatAssessService.RELIA_SIM_TASK_TYPE_PROGRESS; String progress = (String) redisTemplate.opsForValue().get(key); if (progress == null) progress = "0"; + if(Objects.equals(progress, "100")){ + simulatAssessService.deleteSimInfoInRedis(taskId); + } return Result.ok(progress); } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java index 9836118..398b57f 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ModelLineService.java @@ -138,7 +138,7 @@ // 6. 杞崲涓虹畻娉曞簱鎺ュ彛XML if (result) { -// result = createIfXmlFromRbd(modelRbd, algorithmList, modelNodeAndVnodeList); +// result = createIfXmlFromRbd(modelRbd, algorithmList, modelNodeAndVnodeList); } // 7. 淇濆瓨妯″瀷 diff --git a/modules/mainPart/src/main/resources/mapper/TestScheme/TestSchemeDao.xml b/modules/mainPart/src/main/resources/mapper/TestScheme/TestSchemeDao.xml new file mode 100644 index 0000000..cdf4c6e --- /dev/null +++ b/modules/mainPart/src/main/resources/mapper/TestScheme/TestSchemeDao.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +<mapper namespace="com.zt.life.modules.mainPart.TestScheme.dao.TestSchemeDao"> + + <select id="getList" resultType="com.zt.life.modules.mainPart.TestScheme.model.TestScheme"> + select a.* + from test_scheme a + where a.is_delete = 0 + </select> + +</mapper> diff --git a/web/src/views/modules/taskReliability/ConfigEdge/configEdge.vue b/web/src/views/modules/taskReliability/ConfigEdge/configEdge.vue index 12d7c46..680a165 100644 --- a/web/src/views/modules/taskReliability/ConfigEdge/configEdge.vue +++ b/web/src/views/modules/taskReliability/ConfigEdge/configEdge.vue @@ -116,6 +116,7 @@ }, onStrokeChange(e) { + console.log(e,'eee') const val = e this.globalGridAttr.stroke = val this.curCell.attr('line/stroke', val) diff --git a/web/src/views/modules/taskReliability/PlanMake.vue b/web/src/views/modules/taskReliability/PlanMake.vue new file mode 100644 index 0000000..b1f6dba --- /dev/null +++ b/web/src/views/modules/taskReliability/PlanMake.vue @@ -0,0 +1,174 @@ +<template> + <div> + <el-table ref="table" :data="tjDataList" height="230px"> + <el-table-column align="center" prop="tjlx" width="100" label="鏉′欢绫诲瀷"> + </el-table-column> + <el-table-column align="center" prop="specifiedValue" label="宸茬煡瑙勫畾鍊�"> + <template v-slot="{ row }"> + <el-input v-model="row.specifiedValue" style="width:100%" :disabled="row.tjlx==='鏉′欢3'"></el-input> + </template> + </el-table-column> + <el-table-column align="center" prop="minAccepValue" label="鏈�浣庡彲鎺ュ彈鍊�"> + <template v-slot="{ row }"> + <el-input v-model="row.minAccepValue" style="width:100%"></el-input> + </template> + </el-table-column> + <el-table-column align="center" prop="productionRisk" label="鐢熶骇鏂归闄�"> + <template v-slot="{ row }"> + <el-select style="width: 100%" :value-key="key" v-model="row.productionRisk" + @change="onChange()" :disabled="row.tjlx==='鏉′欢2'"> + <el-option v-for="item in riskList" :key="item.value" :label="item.label" + :value="item.value"></el-option> + </el-select> + </template> + </el-table-column> + <el-table-column align="center" prop="userRisk" label="浣跨敤鏂归闄�"> + <template v-slot="{ row }"> + <el-select style="width: 100%" :value-key="key" v-model="row.userRisk" + @change="onChange()"> + <el-option v-for="item in riskList" :key="item.value" :label="item.label" + :value="item.value"></el-option> + </el-select> + </template> + </el-table-column> + <el-table-column align="center" prop="showFailureTime" label="鏁呴殰鎺ュ彈鍊兼渶澶ф樉绀�"> + <template v-slot="{ row }"> + <el-input v-model="row.showFailureTime" style="width:100%" :disabled="row.tjlx==='鏉′欢1'"></el-input> + </template> + </el-table-column> + <el-table-column align="center" width="100" label="鎿嶄綔"> + <template v-slot="{ row }"> + <el-button type="primary" @click="check(row)">鏌ヨ</el-button> + </template> + </el-table-column> + </el-table> + + <el-table ref="tableObj" height="570px" :data="dataList"> + <el-table-column align="center" prop="acceptNumber" label="鏁呴殰鎺ュ彈鍊�"> + </el-table-column> + <el-table-column align="center" prop="totalTestTime" label="鎬昏瘯楠屾椂闂�(h)"> + </el-table-column> + <el-table-column v-if="isShow" align="center" prop="number" label="瑙勫畾鍊�"> + </el-table-column> + <el-table-column align="center" prop="productionRiskReal" label="鐢熶骇鏂归闄╁疄闄呭��(%)"> + </el-table-column> + <el-table-column align="center" prop="userRiskReal" label="浣跨敤鏂归闄╁疄闄呭��(%)"> + </el-table-column> + </el-table> + </div> +</template> + +<script> + import AddOrUpdate from './Task-AddOrUpdate' + import TaskBinoParam from "./TaskBinoParam"; + import TaskRepairParam from "./TaskRepairParam"; + + export default { + data() { + return { + dataList: [], + isShow: false, + tjDataList: [{ + tjlx: '鏉′欢1', + specifiedValue: null, + minAccepValue: null, + productionRisk: null, + userRisk: null, + showFailureTime: null + }, + { + tjlx: '鏉′欢2', + specifiedValue: null, + minAccepValue: null, + productionRisk: null, + userRisk: null, + showFailureTime: null + }, + { + tjlx: '鏉′欢3', + specifiedValue: null, + minAccepValue: null, + productionRisk: null, + userRisk: null, + showFailureTime: null + } + ], + riskList: [ + { + value: 0.1, + label: '10%' + }, { + value: 0.2, + label: '20%' + }, { + value: 0.3, + label: '30%' + }, { + value: 0.4, + label: '40%' + }, { + value: 0.5, + label: '50%' + }, { + value: 0.6, + label: '60%' + }, { + value: 0.7, + label: '70%' + }, { + value: 0.8, + label: '80%' + }, { + value: 0.9, + label: '90%' + } + ], + + } + }, + components: {}, + mounted() { + + }, + methods: { + async check(row) { + let flag = true; + if (row.specifiedValue < row.minAccepValue && row.specifiedValue) { + this.$tip.alert("鏈�浣庡彲鎺ュ彈鍊间笉鑳藉ぇ浜庤瀹氬��") + flag =false + } + if (row.tjlx === "鏉′欢1"){ + if (!row.specifiedValue ||!row.minAccepValue || !row.productionRisk||!userRisk) { + this.$tip.alert("鏈夋湭濉啓鐨勫��") + flag =false + } + } + if (row.tjlx === "鏉′欢2"){ + if (!row.specifiedValue ||!row.minAccepValue || !row.showFailureTime||!row.userRisk) { + this.$tip.alert("鏈夋湭濉啓鐨勫��") + flag =false + } + } + if (row.tjlx === "鏉′欢3"){ + if (!row.showFailureTime ||!row.minAccepValue || !row.productionRisk||!userRisk) { + this.$tip.alert("鏈夋湭濉啓鐨勫��") + flag =false + } + } + if (!flag){ + return + } + let res = await this.$http.get(`/TestScheme/TestScheme/condition`, {params: row}) + this.dataList = res.data + if (row.tjlx === "鏉′欢3") { + this.isShow = true + } + } + } + } +</script> +<style> + .el-table .select-row { + background: rgba(23, 179, 163, 0.2) !important; + } +</style> diff --git a/web/src/views/modules/taskReliability/TimeDiagramTemp.vue b/web/src/views/modules/taskReliability/TimeDiagramTemp.vue index 8deee7a..cd5301c 100644 --- a/web/src/views/modules/taskReliability/TimeDiagramTemp.vue +++ b/web/src/views/modules/taskReliability/TimeDiagramTemp.vue @@ -5,53 +5,6 @@ <div style="height: 80vh"> <div class="fa-card-a"> <div id="stencil"></div> - - <div style="height: 42vh;margin-top: 30px;background: #f5f5f5;padding-bottom:20px "> - <h3 style="background: #ededed;font-size: 12px;height: 32px;line-height: 32px;padding: 0 5px 0 8px"> - 瀵归綈鏂瑰紡</h3> - <div style="text-align: center"> - <el-tooltip class="item" effect="dark" content="宸﹀榻�" placement="left"> - <el-button class="" style="margin-left: 0;padding: 2px;border: 1px solid #5F95FF;" - @click="leftAlign()"><i style="font-size: 2rem;color: #5F95FF" - class="wt-iconfont icon-zuoduiqi"></i></el-button> - </el-tooltip> - </div> - <div style="text-align: center"> - <el-tooltip class="item" effect="dark" content="灞呬腑瀵归綈" placement="left"> - <el-button style="margin-left: 0;margin-top: 10px;padding: 2px;border: 1px solid #5F95FF" - @click="centerAlign()"><i style="font-size: 2rem;color: #5F95FF" - class="wt-iconfont icon-chuizhiduiqi"></i></el-button> - </el-tooltip> - </div> - <div style="text-align: center"> - <el-tooltip class="item" effect="dark" content="鍙冲榻�" placement="left"> - <el-button style="margin-left: 0;margin-top: 10px;padding: 2px;border: 1px solid #5F95FF" - @click="rightAlign()"><i style="font-size: 2rem;color: #5F95FF" - class="wt-iconfont icon-youduiqi"></i></el-button> - </el-tooltip> - </div> - <div style="text-align: center"> - <el-tooltip class="item" effect="dark" content="椤堕儴瀵归綈" placement="left"> - <el-button style="margin-left: 0;margin-top: 10px;padding: 2px;border: 1px solid #5F95FF" - @click="topAlign()"><i style="font-size: 2rem;color:#5F95FF" - class="wt-iconfont icon-dingduiqi"></i></el-button> - </el-tooltip> - </div> - <div style="text-align: center"> - <el-tooltip class="item" effect="dark" content="姘村钩瀵归綈" placement="left"> - <el-button style="margin-left: 0;margin-top: 10px;padding: 2px;border: 1px solid #5F95FF" - @click="shuipingAlign()"><i style="font-size: 2rem;color:#5F95FF" - class="wt-iconfont icon-shuipingduiqi"></i></el-button> - </el-tooltip> - </div> - <div style="text-align: center"> - <el-tooltip class="item" effect="dark" content="搴曢儴瀵归綈" placement="left"> - <el-button style="margin-left: 0;margin-top: 10px;padding: 2px;border: 1px solid #5F95FF" - @click="bottomAlign()"><i style="font-size: 2rem;color:#5F95FF" - class="wt-iconfont icon-diduiqi"></i></el-button> - </el-tooltip> - </div> - </div> </div> </div> </el-col> @@ -294,9 +247,7 @@ }, watch: { '$route.params.configId'() { - // alert('$route.params.projectId change') this.projectId = this.$route.params.projectId - //this.diagramId = this.$route.params.diagramId console.log(this.$route.params.projectId, 'this.$route.params.projectId') console.log(this.$route.params.diagramId, 'this.$route.params.diagramId') this.projectChange2(this.$route.params.diagramId) @@ -722,80 +673,13 @@ }, true, ) - // 涓�绾х綉缁滃浘鐨勬棩鏈熸枃瀛楄妭鐐� - const r5 = this.graph.createNode({ - shape: 'custom-circle', - data: { - dataId: '', - finishDate: '', - inspectName: '' - }, - label: '闃舵', - }) - // 浜岀骇缃戠粶鍥炬棩鏈熻妭鐐� - const r6 = this.graph.createNode({ - shape: 'custom-circle1', - data: { - dataId: '', - finishDate: '', - inspectName: '' - }, - }) // 浜岀骇缃戠粶鍥炬枃瀛楄妭鐐� const r9 = this.graph.createNode({ shape: 'custom-rect' }) - const scaleImgCenter = this.graph.createNode({ - shape: 'image', - imageUrl: require('@/assets/img/scale/center.jpg'), - width: 36, - height: 20, - data: { - imagePost: 'center' - } - }) - - const scaleImgTop = this.graph.createNode({ - shape: 'image', - imageUrl: require('@/assets/img/scale/top.jpg'), - width: 36, - height: 20, - data: { - imagePost: 'top' - } - }) - - const scaleImgRight = this.graph.createNode({ - shape: 'image', - imageUrl: require('@/assets/img/scale/right.jpg'), - width: 36, - height: 20, - data: { - imagePost: 'right' - } - }) - const scaleImgBottom = this.graph.createNode({ - shape: 'image', - imageUrl: require('@/assets/img/scale/bottom.jpg'), - width: 36, - height: 20, - data: { - imagePost: 'bottom' - } - }) - const scaleImgLeft = this.graph.createNode({ - shape: 'image', - imageUrl: require('@/assets/img/scale/left.jpg'), - width: 36, - height: 20, - data: { - imagePost: 'left' - } - }) - // scaleImgTop.setAttribute('crossOrigin', 'Anonymous') - stencil.load([r5, r6, r9, scaleImgTop, scaleImgCenter, scaleImgRight, scaleImgBottom, scaleImgLeft], 'group1') + stencil.load([r9], 'group1') this.graph.bindKey(['meta+c', 'ctrl+c'], () => { const cells = this.graph.getSelectedCells() if (cells.length) { @@ -910,16 +794,6 @@ }) //鍗曞嚮杈硅妭鐐� this.graph.on('edge:click', ({edge}) => { - // this.reset() - edge.attr('line/stroke', '#5F95FF') - edge.prop('labels/0', { - attrs: { - body: { - stroke: '#5F95FF', - }, - }, - - }) }) // 鍗曞嚮node鑺傜偣 this.graph.on('node:click', ({node}) => { -- Gitblit v1.9.1