From cd7b35b1acc7467deac78ba843b5870a22c9c7f6 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期二, 06 八月 2024 08:59:12 +0800
Subject: [PATCH] 修改
---
web/src/views/modules/taskReliability/TimeDiagram.vue | 452 +++++++------------------------
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/utils/GetStringSpace.java | 23 +
web/src/views/modules/taskReliability/TaskPhase-AddOrUpdate.vue | 8
web/src/views/modules/taskReliability/Task.vue | 2
web/src/views/modules/taskReliability/TaskRepairParam.vue | 1
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java | 74 +++-
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java | 45 ---
web/src/views/modules/taskReliability/TaskPhaseModel.vue | 9
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java | 1
web/src/views/modules/taskReliability/ModelView.vue | 2
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/baseReliability/service/ParamDataBasicService.java | 15
modules/mainPart/src/main/resources/mapper/baseReliability/ParamDataBasicDao.xml | 131 ++++----
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java | 18 +
web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue | 1
14 files changed, 285 insertions(+), 497 deletions(-)
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/baseReliability/service/ParamDataBasicService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/baseReliability/service/ParamDataBasicService.java
index 76647fb..6868f9d 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/baseReliability/service/ParamDataBasicService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/baseReliability/service/ParamDataBasicService.java
@@ -14,11 +14,11 @@
/**
* param_data_basic
*
- * @author zt generator
+ * @author zt generator
* @since 1.0.0 2024-07-11
*/
@Service
-public class ParamDataBasicService extends BaseService<ParamDataBasicDao, ParamData> {
+public class ParamDataBasicService extends BaseService<ParamDataBasicDao, ParamData> {
/**
* 鍒嗛〉鏌ヨ
@@ -28,6 +28,11 @@
*/
public List<ParamData> page(QueryFilter queryFilter) {
List<ParamData> list = baseDao.getAI(queryFilter.getQueryParams());
+ for (ParamData data : list) {
+ if (data.getBasicMtbfOperatingRatio() == null || data.getBasicMtbfOperatingRatio() == 0.0) {
+ data.setBasicMtbfOperatingRatio(1.0);
+ }
+ }
return TreeUtils.build(list);
}
@@ -41,9 +46,9 @@
}
public void compute(Long shipId) {
- baseDao.compute(shipId,4);
- baseDao.compute(shipId,3);
- baseDao.compute(shipId,2);
+ baseDao.compute(shipId, 4);
+ baseDao.compute(shipId, 3);
+ baseDao.compute(shipId, 2);
baseDao.compute2(shipId);
}
}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java
index ffc5e7a..0391dd7 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java
@@ -6,6 +6,7 @@
import com.zt.common.annotation.QueryParam;
import com.zt.common.db.query.QueryFilter;
import com.zt.common.servlet.Result;
+import com.zt.common.utils.UUIDUtil;
import com.zt.common.validator.AssertUtils;
import com.zt.common.validator.ValidatorUtils;
import com.zt.common.validator.group.AddGroup;
@@ -13,8 +14,10 @@
import com.zt.common.validator.group.UpdateGroup;
import com.zt.life.core.service.ZtProductService;
import com.zt.life.dto.ImportErrDto;
+import com.zt.life.modules.mainPart.basicInfo.model.ParamData;
import com.zt.life.modules.mainPart.basicInfo.model.ProductImg;
import com.zt.life.modules.mainPart.basicInfo.model.XhProductModel;
+import com.zt.life.modules.mainPart.basicInfo.service.ParamDataService;
import com.zt.life.modules.mainPart.basicInfo.service.XhProductModelService;
import com.zt.life.modules.mainPart.sysPictureBase.service.SysPictureBaseService;
import com.zt.life.util.ImportUtil;
@@ -48,6 +51,9 @@
@Autowired
private SysPictureBaseService sysPictureBaseService;
+
+ @Autowired
+ private ParamDataService paramDataService;
@GetMapping("page")
@ApiOperation("鍒嗛〉")
@@ -126,6 +132,18 @@
if (xhProductModel.getSort() == null || xhProductModel.getSort() < no) {
xhProductModel.setSort(no + 1);
}
+ if (xhProductModel.getProductType().equals("2")){
+ Long id = UUIDUtil.generateId();
+ xhProductModel.setId(id);
+ xhProductModel.setShipId(id);
+
+ ParamData data =new ParamData();
+ data.setShipId(id);
+ data.setProductId(id);
+ data.setPageCode("expect");
+ paramDataService.insert(data);
+ }
+
xhProductModelService.insert(xhProductModel);
return Result.ok();
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java
index b764725..7aa9a65 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/service/XhProductModelService.java
@@ -125,7 +125,6 @@
}
public List<Map<String, Object>> importProductExcel(MultipartFile mutFile, String progressId, Long shipId) {
- int count = 0;
Date beginDate = new Date();
List<Map<String, Object>> list = new ArrayList<>();//瀛樺偍鎵�鏈夌殑瀵煎叆鐘舵��
Map<String, Object> map;//瀛樺偍姣忎竴琛岀殑鐘舵��
@@ -145,16 +144,6 @@
isOrNot.put("鏄�", 1);
isOrNot.put("鍚�", 0);
- //鑾峰彇鏄惁鏈夋暟鎹紝濡傛灉鏈夊垯鍒犻櫎鏁版嵁
- /* List<XhProductModel> productList = this.getByShipId(shipId);
- List<ParamData> dataList = paramDataService.getByShipId(shipId);
- if (productList.size() > 0) {
- this.deleteByShipId(shipId);
- }
- if (dataList.size() > 0) {
- paramDataService.deleteByShipId(shipId);
- }*/
-
try {
// 鑾峰彇瀵煎叆鏂囦欢鐨勫悗缂�鍚�
String fileName = mutFile.getOriginalFilename();
@@ -168,7 +157,6 @@
assert workbook != null; //鏂█濡傛灉[boolean琛ㄨ揪寮廬涓簍rue锛屽垯绋嬪簭缁х画鎵ц銆� 濡傛灉涓篺alse锛屽垯绋嬪簭鎶涘嚭AssertionError锛屽苟缁堟鎵ц銆�
int sheets = workbook.getNumberOfSheets();
- //List<LifeManagement> lifeManagementList = new ArrayList<LifeManagement>();
Long curXtId = null;
Long curFxtId = null;
Long curSbId = null;
@@ -197,34 +185,11 @@
insertSb = false;
CacheUtils.put(progressId, "speed", CommonUtils.getPercent(j, num));
CacheUtils.put(progressId, "msg", "鍏�" + num + "琛岋紝宸插畬鎴愮" + j + "琛�");
- /* boolean isToggleXt = false;
- boolean isToggleFxt = false;*/
+
row1 = j + 1;
String pattern = "yyyy-MM-dd";
Row row = sheet.getRow(row1);
String sort = com.zt.core.shiro.ImportUtil.getCellValue(row, 0, pattern); //搴忓彿
-/* if (StringUtils.isNotBlank(com.zt.core.shiro.ImportUtil.getCellValue(row, 1, pattern))) {
- if (!com.zt.core.shiro.ImportUtil.getCellValue(row, 1, pattern).equals(xt)) {
- isToggleXt = true;
- xtId = UUIDUtil.generateId();
- }
- xt = com.zt.core.shiro.ImportUtil.getCellValue(row, 1, pattern); //绯荤粺
- }
-
- if (StringUtils.isNotBlank(com.zt.core.shiro.ImportUtil.getCellValue(row, 2, pattern)) && !isToggleXt) {
- fxt = com.zt.core.shiro.ImportUtil.getCellValue(row, 2, pattern); //鍒嗙郴缁�
- fxtId = UUIDUtil.generateId();
- isToggleFxt = true;
- } else if (isToggleXt) {
- if (StringUtils.isNotBlank(com.zt.core.shiro.ImportUtil.getCellValue(row, 2, pattern))) {
- fxt = com.zt.core.shiro.ImportUtil.getCellValue(row, 2, pattern); //鍒嗙郴缁�
- fxtId = UUIDUtil.generateId();
- isToggleFxt = true;
- } else {
- fxt = null;
- isToggleFxt = true;
- }
- }*/
String xt = com.zt.core.shiro.ImportUtil.getCellValue(row, 1, pattern); //绯荤粺
String fxt = com.zt.core.shiro.ImportUtil.getCellValue(row, 2, pattern);
@@ -414,13 +379,7 @@
ImportUtil.updateErrMap(errMap, "瀵煎叆寮傚父" + e.getMessage(), "", row1);
//err++;
}
- /* if (batchList.size() > 0 && err == 0) {
- super.insertBatch(batchList, 100);
- baseDao.updateOldId();
- }
- if (batchUpdateList.size() > 0) {
- super.updateBatch(batchUpdateList, 100);
- }*/
+
Date nowDate = new Date();
String msg = "浜у搧妯″瀷瀵煎叆鏃堕棿锛�" + CommonUtils.getDatePoor(nowDate, beginDate) + "\r\n";
System.out.println(msg);
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 50c1cdf..99aff53 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
@@ -174,6 +174,7 @@
availability = (String) jsonArray2.getJSONObject(j).get("availability");
}
}
+
String[] arr = availability.split(" ");
// 閬嶅巻瀛愬瓧绗︿覆鏁扮粍锛屽皢姣忎釜鍏冪礌杞崲涓篸ouble骞跺瓨鍌ㄥ埌double鏁扮粍涓�
for (int a = 0; a < arr.length; a++) {
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java
index 880ecaf..5050520 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java
@@ -19,6 +19,7 @@
import com.zt.life.modules.mainPart.taskReliability.dto.ProductStatusDto;
import com.zt.life.modules.mainPart.taskReliability.dto.TaskModelCheckResult;
import com.zt.life.modules.mainPart.taskReliability.model.*;
+import com.zt.life.modules.mainPart.utils.GetStringSpace;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
@@ -37,6 +38,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.awt.*;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -58,7 +60,7 @@
* @since 1.0.0 2024-03-20
*/
@Service
-public class SimulatAssessService extends BaseService<SimulatAssessDao, SimulatAssess> {
+public class SimulatAssessService extends BaseService<SimulatAssessDao, SimulatAssess> {
private static final Logger logger = LoggerFactory.getLogger(SimulatAssessService.class);
private static final String RELIA_SIM_TASK_TYPE_SIMULATION = "calcreq";
@@ -206,7 +208,9 @@
x2 = x1 + status.getTimes() * pointNumPerHour + 5;
JSONObject lineJson = new JSONObject(templetsStrMap.get(status.getStatus()));
setlineXy(lineJson, x1, y, x2, y, "");
-
+ JsonUtils2.setJsonValueByPath(lineJson,"data/status".split("/"),status.getStatus());
+ JsonUtils2.setJsonValueByPath(lineJson,"data/startTimes".split("/"),String.format("%.4f", x1));
+ JsonUtils2.setJsonValueByPath(lineJson,"data/endTimes".split("/"),String.format("%.4f", x1 + status.getTimes()));
JsonUtils2.setJsonValueByPath(lineJson, "id".split("/"), UUIDUtil.generateId().toString());
x1 = x2 - 5;
jsonArray.add(lineJson);
@@ -224,7 +228,7 @@
int spaceWitdth = 80;
x1 = -spaceWitdth;
x2 = -11;
- y = -100;
+ y = -130;
String[] tlArr = "O,F,I,S,M".split(",");
for (String s : tlArr) {
JSONObject f = templetsMap.get(s);
@@ -237,19 +241,20 @@
//闃舵妯″瀷鍙婂埢搴�
x1 = 0;
x2 = 0;
- double y1 = -60;
- y = -30;
- double y2 = -10;
- JSONObject modelJson = new JSONObject(templetsStrMap.get("model"));
+ double y1 = -100;
+ y = -70;
+ double y2 = -50;
- setlineXy(modelJson, x1, y1, x1, y2, null);
+ JSONObject modelJson = new JSONObject(templetsStrMap.get("model"));
+ setlineXy(modelJson, 2, y1, 2, y2, null);
jsonArray.add(modelJson);
double totalHours = 0;
for (int i = 0; i < modelDtoList.size(); i++) {
JSONObject modelJson2 = new JSONObject(templetsStrMap.get("model"));
SimulatAssessTaskPhaseModel modelDto = modelDtoList.get(i);
totalHours = totalHours + modelDto.getGkDuration();
- x2 = x2 + modelDto.getGkDuration() * pointNumPerHour;
+ double gkPoint = modelDto.getGkDuration() * pointNumPerHour;
+ x2 = x2 + gkPoint;
if (i < modelDtoList.size() - 1) {
setlineXy(modelJson2, x2, y1, x2, y, null);
} else {
@@ -265,12 +270,16 @@
modelName = modelRbd.getModelName();
modelId = modelRbd.getId().toString();
}
-
+ Map<String, Integer> mapSpace = GetStringSpace.getStringSpaceSize(modelName, null, 18);
JSONObject textJson = new JSONObject(templetsStrMap.get("text"));
JsonUtils2.setJsonValueByPath(textJson, "data/dataId".split("/"), modelId);
JsonUtils2.setJsonValueByPath(textJson, "id".split("/"), UUIDUtil.generateId().toString());
JsonUtils2.setJsonValueByPath(textJson, "attrs/label/textWrap/text".split("/"), modelName);
- JsonUtils2.setJsonValueByPath(textJson, "position/x".split("/"), x1 + 30);
+
+ JsonUtils2.setJsonValueByPath(textJson, "size/width".split("/"), mapSpace.get("width") + 20);
+
+ double x11 = x1 + ((gkPoint - mapSpace.get("width") - 20) / 2);
+ JsonUtils2.setJsonValueByPath(textJson, "position/x".split("/"), x11);
JsonUtils2.setJsonValueByPath(textJson, "position/y".split("/"), y1);
jsonArray.add(textJson);
x1 = x2;
@@ -279,14 +288,28 @@
setlineXy(modelJson3, 0, y, x2, y, null);
jsonArray.add(modelJson3);
- double curPointHour = 10, periodHour = 50;
+ Integer curPointHour = 50, periodHour = 50;
while (curPointHour < totalHours) {
JSONObject modelJson4 = new JSONObject(templetsStrMap.get("model"));
double x = curPointHour * pointNumPerHour;
- setlineXy(modelJson4, x, y, x, y, null);
+ setlineXy(modelJson4, x, y, x, y2, null);
jsonArray.add(modelJson4);
- curPointHour += 10.0;
+
+ Map<String, Integer> mapSpace = GetStringSpace.getStringSpaceSize(curPointHour.toString(), null, 20);
+ JSONObject textJson = new JSONObject(templetsStrMap.get("text"));
+ JsonUtils2.setJsonValueByPath(textJson, "id".split("/"), UUIDUtil.generateId().toString());
+ JsonUtils2.setJsonValueByPath(textJson, "attrs/label/textWrap/text".split("/"), curPointHour.toString());
+
+ JsonUtils2.setJsonValueByPath(textJson, "size/width".split("/"), mapSpace.get("width") + 20);
+
+ double x11 = x - mapSpace.get("width") / 2 - 5;
+ JsonUtils2.setJsonValueByPath(textJson, "position/x".split("/"), x11);
+ JsonUtils2.setJsonValueByPath(textJson, "position/y".split("/"), y2);
+ jsonArray.add(textJson);
+
+ curPointHour += periodHour;
}
+
return jsonObject.toString();
}
@@ -296,6 +319,7 @@
JsonUtils2.setJsonValueByPath(lineJson, "source/y".split("/"), y1);
JsonUtils2.setJsonValueByPath(lineJson, "target/x".split("/"), x2);
JsonUtils2.setJsonValueByPath(lineJson, "target/y".split("/"), y2);
+ JsonUtils2.setJsonValueByPath(lineJson, "id".split("/"), UUIDUtil.generateId().toString());
if (text != null) {
JsonUtils2.setArrJsonValueByPath(lineJson, "labels".split("/"), null, "0", "attrs/text/text", "");
}
@@ -681,16 +705,16 @@
command += " -ip " + redisHost + " -port " + redisPort;
command += " -taskType " + RELIA_SIM_TASK_TYPE_SIMULATION + " -taskId " + simulatAssess.getId().toString();
logger.info("cmd鍛戒护涓猴細" + command);
- if(System.getProperty("os.name").toLowerCase().indexOf("windows") > -1){
+ if (System.getProperty("os.name").toLowerCase().indexOf("windows") > -1) {
process = Runtime.getRuntime().exec(new String[]{"cmd", "/c", command});
- }else if(System.getProperty("os.name").toLowerCase().indexOf("linux") > -1){
+ } else if (System.getProperty("os.name").toLowerCase().indexOf("linux") > -1) {
process = Runtime.getRuntime().exec(new String[]{"/bin/sh", "-c", command});
- }else{
+ } else {
throw new Exception("鏆備笉鏀寔璇ユ搷浣滅郴缁燂紝杩涜鍚姩绠楁硶搴撹绠楋紒");
}
is = process.getInputStream();
// 浠ュ懡浠よ鏂瑰紡璋冪敤绠楁硶搴撴椂锛屾帴鍙g害瀹氳繑鍥炵殑缁撴灉鏄痷tf-8缂栫爜
- br = new BufferedReader(new InputStreamReader(is,"utf-8"));
+ br = new BufferedReader(new InputStreamReader(is, "utf-8"));
String line = br.readLine();
logger.info("绠楁硶搴撹繑鍥炵粨鏋滐細" + line);
// int exitCode = process.waitFor(); // 寮傛鏂瑰紡锛屼笉绛夊緟绠楁硶搴撹绠楀畬姣曪紝鎵�浠ヨ娉ㄩ噴鎺夎琛�
@@ -736,7 +760,7 @@
// 浠跨湡娆℃暟
jsonObject.put("simulate_times", simulatAssess.getSimulatFrequency());
// 閲囨牱鍛ㄦ湡
- jsonObject.put("timeslice", simulatAssess.getSamplPeriod()/60.0); // 鍗曚綅缁熶竴鎹㈢畻涓哄皬鏃�
+ jsonObject.put("timeslice", simulatAssess.getSamplPeriod() / 60.0); // 鍗曚綅缁熶竴鎹㈢畻涓哄皬鏃�
jsonObject.put("result_home", resultHome);
jsonObject.put("seed", 1000);
redisTemplate.opsForValue().set(key, jsonObject.toJSONString());
@@ -877,7 +901,7 @@
}
private void addRepairModelsTag(List<RepairModel> repairModels,
- Element root) {
+ Element root) {
Element ele = null;
Element repairModelsTag = root.addElement("repair_models");
for (RepairModel repairModel : repairModels) {
@@ -902,7 +926,7 @@
}
private void calcTaskPhaseModelDuration(TaskPhase taskPhase,
- List<TaskPhaseModel> taskPhaseModelAll) {
+ List<TaskPhaseModel> taskPhaseModelAll) {
List<TaskPhaseModel> taskPhaseModels = taskPhaseModelDao.getListByPhaseId(taskPhase.getId());
double totalRate = taskPhaseModels.stream().mapToDouble(TaskPhaseModel::getOperatConditDurationRate).sum();
double sum = 0.0;
@@ -913,8 +937,8 @@
taskPhaseModelAll.add(taskPhaseModel);
}
// 鎶婇浂澶磋ˉ鍒版渶鍚庝竴涓伐鍐垫ā鍨�
- double duration = taskPhaseModels.get(taskPhaseModels.size()-1).getOperatConditDuration();
- taskPhaseModels.get(taskPhaseModels.size()-1).setOperatConditDuration(duration + taskPhase.getPhaseDuration() - sum);
+ double duration = taskPhaseModels.get(taskPhaseModels.size() - 1).getOperatConditDuration();
+ taskPhaseModels.get(taskPhaseModels.size() - 1).setOperatConditDuration(duration + taskPhase.getPhaseDuration() - sum);
}
private List<TaskPhase> calcTaskPhaseDuration(Task task) {
@@ -927,8 +951,8 @@
sum += duration;
}
// 鎶婇浂澶磋ˉ鍒版渶鍚庝竴涓樁娈�
- double duration = taskPhases.get(taskPhases.size()-1).getPhaseDuration();
- taskPhases.get(taskPhases.size()-1).setPhaseDuration(duration + task.getTaskDuration() - sum);
+ double duration = taskPhases.get(taskPhases.size() - 1).getPhaseDuration();
+ taskPhases.get(taskPhases.size() - 1).setPhaseDuration(duration + task.getTaskDuration() - sum);
return taskPhases;
}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/utils/GetStringSpace.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/utils/GetStringSpace.java
new file mode 100644
index 0000000..47674dc
--- /dev/null
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/utils/GetStringSpace.java
@@ -0,0 +1,23 @@
+package com.zt.life.modules.mainPart.utils;
+
+import java.awt.*;
+import java.awt.font.FontRenderContext;
+import java.awt.geom.AffineTransform;
+import java.util.HashMap;
+import java.util.Map;
+
+public class GetStringSpace {
+ public static Map<String, Integer> getStringSpaceSize(String text, String fontFamily, int fontSize) {
+ fontFamily = fontFamily == null ? "" : fontFamily;
+ fontSize = fontSize == 0 ? 10 : fontSize;
+ AffineTransform affinetransform = new AffineTransform();
+ FontRenderContext frc = new FontRenderContext(affinetransform, true, true);
+ Font font = new Font(fontFamily, Font.PLAIN, fontSize);
+/* int textwidth = (int)(font.getStringBounds(text, frc).getWidth());
+ int textheight = (int)(font.getStringBounds(text, frc).getHeight());*/
+ Map<String, Integer> result = new HashMap<>();
+ result.put("width", (int) font.getStringBounds(text, frc).getWidth());
+ result.put("height", (int) font.getStringBounds(text, frc).getHeight());
+ return result;
+ }
+}
diff --git a/modules/mainPart/src/main/resources/mapper/baseReliability/ParamDataBasicDao.xml b/modules/mainPart/src/main/resources/mapper/baseReliability/ParamDataBasicDao.xml
index 286fedf..d35bb9e 100644
--- a/modules/mainPart/src/main/resources/mapper/baseReliability/ParamDataBasicDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/baseReliability/ParamDataBasicDao.xml
@@ -4,72 +4,78 @@
<mapper namespace="com.zt.life.modules.mainPart.baseReliability.dao.ParamDataBasicDao">
<update id="compute">
update param_data f,
- (
- SELECT
- c.*,
- CASE
- WHEN WeightedFailure IS NOT NULL
- AND WeightedFailure > 0 THEN
- 1 / WeightedFailure ELSE 0
- END AS basic_mtbf_regulate,
- CASE
- WHEN WeightedFailure IS NOT NULL
- AND WeightedFailure > 0 THEN
- WeightedMTTR / WeightedFailure ELSE 0
- END AS repair_mttcr
- FROM
- (
- SELECT
- c.id,
- c.name,
- sum(
- CASE
- WHEN b.product_type < 5 THEN
- 1 * 1 / basic_mtbf_regulate
- WHEN a.reliab_distrib_type = 1 THEN
- 1 * a.basic_mtbf_operating_ratio / a.basic_mtbf_regulate
- WHEN a.reliab_distrib_type = 2 THEN
- 1 * a.basic_mtbf_operating_ratio / a.basic_mtbf_regul_succ_rate
- ELSE 0 END
- ) AS WeightedFailure,
- sum(
- CASE
- WHEN b.product_type < 5 THEN
- 1 * 1 * a.repair_mttcr / a.basic_mtbf_regulate
- WHEN a.repairable = 1 and a.reliab_distrib_type = 1 THEN
- 1 * a.basic_mtbf_operating_ratio * a.repair_mttcr / a.basic_mtbf_regulate
- WHEN a.repairable = 1 and a.reliab_distrib_type = 2 THEN
- 1 * a.basic_mtbf_operating_ratio * a.repair_mttcr / a.basic_mtbf_regul_succ_rate
- ELSE 0
- END
- ) AS WeightedMttr
- FROM
- param_data a,
- product_model b,
- product_model c
- WHERE 1 = 1
- and c.ship_id = ${shipId} and c.product_type = ${productType} and c.is_delete = 0
- and b.ship_id = ${shipId} and b.pid = c.id and b.is_delete = 0
- and a.IS_DELETE = 0 and a.product_id = b.id
- AND ( (b.product_type = 5 AND a.basic_join_compute = 1
- and ((
- a.reliab_distrib_type = 1
- AND a.basic_mtbf_regulate > 0
- )
- OR ( a.reliab_distrib_type = 2 AND a.basic_mtbf_regul_succ_rate > 0 ))
- )
- || (b.product_type < 5 AND a.basic_mtbf_regulate > 0 ) )
- GROUP BY c.id,c.name
- ) c
- )d set f.basic_mtbf_regulate = d.basic_mtbf_regulate,
- f.repair_mttcr = d.repair_mttcr
+ (
+ SELECT c.*,
+ CASE
+ WHEN WeightedFailure IS NOT NULL
+ AND WeightedFailure > 0 THEN
+ 1 / WeightedFailure
+ ELSE 0
+ END AS basic_mtbf_regulate,
+ CASE
+ WHEN WeightedFailure IS NOT NULL
+ AND WeightedFailure > 0 THEN
+ WeightedMTTR / WeightedFailure
+ ELSE 0
+ END AS repair_mttcr
+ FROM (
+ SELECT c.id,
+ c.name,
+ sum(
+ CASE
+ WHEN b.product_type < 5 THEN
+ 1 * 1 / basic_mtbf_regulate
+ WHEN a.reliab_distrib_type = 1 THEN
+ 1 * a.basic_mtbf_operating_ratio / a.basic_mtbf_regulate
+ WHEN a.reliab_distrib_type = 2 THEN
+ 1 * a.basic_mtbf_operating_ratio / a.basic_mtbf_regul_succ_rate
+ ELSE 0 END
+ ) AS WeightedFailure,
+ sum(
+ CASE
+ WHEN b.product_type < 5 THEN
+ 1 * 1 * a.repair_mttcr / a.basic_mtbf_regulate
+ WHEN a.repairable = 1 and a.reliab_distrib_type = 1 THEN
+ 1 * a.basic_mtbf_operating_ratio * a.repair_mttcr /
+ a.basic_mtbf_regulate
+ WHEN a.repairable = 1 and a.reliab_distrib_type = 2 THEN
+ 1 * a.basic_mtbf_operating_ratio * a.repair_mttcr /
+ a.basic_mtbf_regul_succ_rate
+ ELSE 0
+ END
+ ) AS WeightedMttr
+ FROM param_data a,
+ product_model b,
+ product_model c
+ WHERE 1 = 1
+ and c.ship_id = ${shipId}
+ and c.product_type = ${productType}
+ and c.is_delete = 0
+ and b.ship_id = ${shipId}
+ and b.pid = c.id
+ and b.is_delete = 0
+ and a.IS_DELETE = 0
+ and a.product_id = b.id
+ AND ((b.product_type = 5 AND a.basic_join_compute = 1
+ and ((
+ a.reliab_distrib_type = 1
+ AND a.basic_mtbf_regulate > 0
+ )
+ OR (a.reliab_distrib_type = 2 AND a.basic_mtbf_regul_succ_rate > 0))
+ )
+ || (b.product_type < 5 AND a.basic_mtbf_regulate > 0))
+ GROUP BY c.id, c.name
+ ) c
+ ) d
+ set f.basic_mtbf_regulate = d.basic_mtbf_regulate,
+ f.repair_mttcr = d.repair_mttcr
where f.product_id = d.id;
</update>
<update id="compute2">
UPDATE param_data a, product_model b
SET ai = basic_mtbf_regulate / (basic_mtbf_regulate + repair_mttcr)
- where b.ship_id = ${shipId}
+ where b.ship_id = ${shipId}
</update>
<select id="getAI" resultType="com.zt.life.modules.mainPart.basicInfo.model.ParamData">
@@ -83,8 +89,9 @@
FROM product_model a
LEFT JOIN param_data b ON b.product_id = a.id and b.is_delete = 0
where a.is_delete = 0
- and a.ship_id = ${shipId}
- or a.id =${shipId}
+ and a.product_type <> 10
+ and a.ship_id = ${shipId}
+ or a.id = ${shipId}
ORDER BY a.product_type, a.sort
</select>
diff --git a/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue b/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue
index ecf5a7b..976797f 100644
--- a/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue
+++ b/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue
@@ -130,7 +130,6 @@
await this.$tip.success()
this.$refs.dialog.close()
this.$emit('refreshDataList')
- this.map.clear()
}
}
}
diff --git a/web/src/views/modules/taskReliability/ModelView.vue b/web/src/views/modules/taskReliability/ModelView.vue
index 9307dba..08fab2a 100644
--- a/web/src/views/modules/taskReliability/ModelView.vue
+++ b/web/src/views/modules/taskReliability/ModelView.vue
@@ -20,7 +20,7 @@
import {getUUID} from '../../../../packages/utils'
export default {
- name: 'RBD-edit-img',
+ name: 'model-view',
props: {
projectId: {
type: String
diff --git a/web/src/views/modules/taskReliability/Task.vue b/web/src/views/modules/taskReliability/Task.vue
index 05c34d9..ad62c12 100644
--- a/web/src/views/modules/taskReliability/Task.vue
+++ b/web/src/views/modules/taskReliability/Task.vue
@@ -97,11 +97,13 @@
let res = await this.$http.get('/basicInfo/XhProductModel/getTaskProductList')
this.productList = res.data
console.log(this.productList, ' async getTaskProductList()')
+ this.onProductSelected(this.productList[0])
},
onProductSelected(data) {
console.log(data, ' onProductSelected(data)')
this.dataForm.productId = data.id
this.$refs.tableObj.query()
+ this.selectTask(data)
},
tableRowClassName(
{
diff --git a/web/src/views/modules/taskReliability/TaskPhase-AddOrUpdate.vue b/web/src/views/modules/taskReliability/TaskPhase-AddOrUpdate.vue
index ddcdc72..243e337 100644
--- a/web/src/views/modules/taskReliability/TaskPhase-AddOrUpdate.vue
+++ b/web/src/views/modules/taskReliability/TaskPhase-AddOrUpdate.vue
@@ -62,14 +62,6 @@
},
// 琛ㄥ崟鎻愪氦
async formSubmit() {
- /* let flag = true
- if (this.time + Number(this.dataForm.phaseDurationRate)-Number(this.oldTime) > 1) {
- this.$alert("璇烽噸鏂拌缃綋鍓嶆椂闀挎瘮鍒嗛厤")
- flag = false
- }
- if (!flag) {
- return
- }*/
let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/taskReliability/TaskPhase/', this.dataForm)
if (res.success) {
await this.$tip.success()
diff --git a/web/src/views/modules/taskReliability/TaskPhaseModel.vue b/web/src/views/modules/taskReliability/TaskPhaseModel.vue
index 19dfd04..19f0b72 100644
--- a/web/src/views/modules/taskReliability/TaskPhaseModel.vue
+++ b/web/src/views/modules/taskReliability/TaskPhaseModel.vue
@@ -146,15 +146,6 @@
this.isChange = true
return
}
- /* for (let i = 0; i < this.$refs.tableObj.dataList.length; i++) {
- if (this.$refs.tableObj.dataList[i] != this.lastSaveData[i]) {
- console.log(i,'no')
- console.log(this.$refs.tableObj.dataList[i],'this.$refs.tableObj.dataList[i]')
- console.log(this.lastSaveData[i],'this.lastSaveData[i]')
- this.isChange = true
- return
- }
- }*/
this.isChange = false
},
diff --git a/web/src/views/modules/taskReliability/TaskRepairParam.vue b/web/src/views/modules/taskReliability/TaskRepairParam.vue
index 7211107..f2ceb19 100644
--- a/web/src/views/modules/taskReliability/TaskRepairParam.vue
+++ b/web/src/views/modules/taskReliability/TaskRepairParam.vue
@@ -9,7 +9,6 @@
height="600px"
border @selection-change="table.selectionChangeHandle"
:header-cell-style="{'text-align':'center'}">
- <!-- <el-table-column type="selection" width="40"/>-->
<el-table-column prop="phaseName" label="闃舵" align="left"/>
<el-table-column prop="equipType" label="璁惧绫诲瀷" align="center"/>
<el-table-column prop="status" label="寮哄埗涓嶅彲淇�" width="160" align="center">
diff --git a/web/src/views/modules/taskReliability/TimeDiagram.vue b/web/src/views/modules/taskReliability/TimeDiagram.vue
index 5275e55..c127388 100644
--- a/web/src/views/modules/taskReliability/TimeDiagram.vue
+++ b/web/src/views/modules/taskReliability/TimeDiagram.vue
@@ -33,7 +33,7 @@
</el-col>
<el-col :span="20">
<div style="margin-top: 20px">
- <div id="container" style="border: 1px solid #EAEBEE;border-radius: 6px;
+ <div id="timeDiagram" style="border: 1px solid #EAEBEE;border-radius: 6px;
box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);">
</div>
</div>
@@ -42,7 +42,7 @@
</div>
</el-row>
<el-dialog v-dialogDrag title="妯″瀷璁捐" top="1vh" width='95%' :visible.sync="dialogVisible2" v-if="dialogVisible2">
- <RBDEditImg ref="rbdEditImg"></RBDEditImg>
+ <model-view ref="modelView"></model-view>
</el-dialog>
</div>
</template>
@@ -51,12 +51,13 @@
import SimulatCurve from "./SimulatCurve";
import ProductModelTree from "../basicInfo/ProductModelTree";
import {Graph, Shape, Addon, Cell} from '@antv/x6'
- import RBDEditImg from './RBD-edit-img'
+ import ModelView from "./ModelView";
export default {
data() {
return {
+ knob:HTMLDivElement,
dialogVisible2: false,
timers: '',
shape: '',
@@ -118,9 +119,9 @@
},
mounted() {
this.getProductList()
-
},
components: {
+ ModelView,
ProductModelTree,
SimulatCurve,
},
@@ -129,7 +130,7 @@
console.log(document.documentElement.clientWidth, 'document.documentElement.clientWidth')
console.log(document.documentElement.clientHeight, 'document.documentElement.clientHeight')
this.graph = new Graph({
- container: document.getElementById('container'),
+ container: document.getElementById('timeDiagram'),
width: document.documentElement.clientWidth,
height: document.documentElement.clientHeight - 220,
// async: true,
@@ -151,18 +152,7 @@
})
}
},
- onToolItemCreated({tool}) {
- const handle = tool
- const options = handle.options
- if (options && options.index % 2 === 1) {
- tool.setAttrs({fill: 'red'})
- }
- },
autoResize: true,
- history: true,
- // panning: {
- // enabled: true,
- // },
scroller: {
enabled: true,
pageVisible: true,
@@ -176,100 +166,35 @@
minScale: 0.1,
maxScale: 10,
},
- connecting: {
- router: {
- name: 'normal',
- // args: {
- // padding: 1,
- // },
- },
- connector: {
- name: 'rounded',
- args: {
- radius: 8,
+ createEdge() {
+ return new Shape.Edge({
+ data: {
+ id: '',
+ status: '',
+ startTime:'',
+ endTime: '',
},
- },
- // anchor: 'center',
- connectionPoint: 'anchor',
- snap: {
- radius: 20,
- },
- createEdge() {
- return new Shape.Edge({
- attrs: {
- line: {
- stroke: '#A2B1C3',
- strokeWidth: 2,
- targetMarker: 'classic'
- }
- },
- tools: {
- name: 'vertices',
- },
- labels: [{
- attrs: {
- body: {
- stroke: '#5F95FF',
- },
- text: {
- // fontFamily: '浠垮畫',
- text: ''
- }
- },
- }],
- zIndex: 0,
- })
- },
- // validateConnection({targetMagnet}) {
- // return !!targetMagnet
- // },
- },
- highlighting: {
- magnetAdsorbed: {
- name: 'stroke',
- args: {
- attrs: {
- fill: '#5F95FF',
- stroke: '#5F95FF',
- },
+ attrs: {
+ line: {
+ stroke: '#A2B1C3',
+ strokeWidth: 2,
+ sourceMarker: 'none',
+ targetMarker: 'none'
+ }
},
- },
+ tools: {
+ name: 'vertices',
+ },
+ zIndex: 0,
+ })
},
- resizing: {
- enabled: true,
- restricted: true
- },
- rotating: true,
- selecting: {
- enabled: true,
- rubberband: true,
- rubberEdge: true,
- showNodeSelectionBox: true,
- },
- snapline: true,
keyboard: true,
- clipboard: true,
})
+ this.knob = document.createElement('div',false)
+ this.knob.style.position = 'absolute'
+ document.getElementById('timeDiagram').appendChild(this.knob)
this.graph.centerContent()
- const stencil = new Addon.Stencil({
- title: '',
- target: this.graph,
- stencilGraphWidth: 260,
- stencilGraphHeight: 700,
- collapsable: false,
- groups: [
- {
- title: '鍥惧厓',
- name: 'group1',
- collapsable: false
- }
- ],
- layoutOptions: {
- columns: 2,
- columnWidth: 130,
- rowHeight: 100,
- },
- })
+
Graph.registerNode(
'custom-rect',
{
@@ -467,162 +392,6 @@
},
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')
- this.graph.bindKey(['meta+c', 'ctrl+c'], () => {
- const cells = this.graph.getSelectedCells()
- if (cells.length) {
- this.graph.copy(cells)
- }
- return false
- })
-
- this.graph.bindKey(['meta+x', 'ctrl+x'], () => {
- const cells = this.graph.getSelectedCells()
- if (cells.length) {
- this.graph.cut(cells)
- }
- return false
- })
- // 鐩戝惉 stencil 鐨勬嫋鎷藉紑濮嬩簨浠�
- this.graph.on('node:embed', ({node, e}) => {
- // 闃绘浜嬩欢鍐掓场
- e.stopPropagation()
- console.log(node.shape, 'node node')
- let parent
- let child
- if (node.shape === 'custom-rect') {
- child = node
- } else {
- parent = node
- }
- console.log('parent:' + parent, 'child:' + child)
- // parent.addChild(child);
- })
- this.graph.bindKey(['meta+v', 'ctrl+v'], () => {
- if (!this.graph.isClipboardEmpty()) {
- const cells = this.graph.paste({offset: 32})
- this.graph.cleanSelection()
- this.graph.select(cells)
- }
- return false
- })
-//undo redo
- this.graph.bindKey(['meta+z', 'ctrl+z'], () => {
- if (this.graph.history.canUndo()) {
- this.graph.history.undo()
- }
- return false
- })
-
- this.graph.bindKey(['meta+shift+z', 'ctrl+shift+z'], () => {
- if (this.graph.history.canRedo()) {
- this.graph.history.redo()
- }
- return false
- })
-
-// select all
- this.graph.bindKey(['meta+a', 'ctrl+a'], () => {
- const nodes = this.graph.getNodes()
- if (nodes) {
- this.graph.select(nodes)
- }
- })
-//delete
- this.graph.bindKey('delete', () => {
- const cells = this.graph.getSelectedCells()
- if (cells.length) {
- this.$confirm('鏄惁鍒犻櫎璇ヨ妭鐐�?', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(() => {
- this.$message({
- type: 'success',
- message: '鍒犻櫎鎴愬姛!'
- })
- this.graph.removeCells(cells)
- }).catch(() => {
- this.$message({
- type: 'info',
- message: '宸插彇娑堝垹闄�'
- })
- })
- }
- })
// zoom
this.graph.bindKey(['ctrl+1', 'meta+1'], () => {
const zoom = this.graph.zoom()
@@ -669,19 +438,16 @@
// 鍗曞嚮node鑺傜偣
this.graph.on('node:click', ({node}) => {
// this.reset()
- node.attr('line/stroke', '#5F95FF')
- node.prop('labels/0', {
- attrs: {
- body: {
- stroke: '#5F95FF',
- },
- },
- })
- })
- // 鎺у埗杩炴帴妗╂樉绀�/闅愯棌
- this.graph.on('node:delete', ({view, e}) => {
- e.stopPropagation()
- view.cell.remove()
+ if (node.getData().dataId) {
+ this.dialogVisible2 = true
+ let param = {
+ id: node.getData().dataId,
+ modelName: node.attr('label/textWrap/text'),
+ }
+ this.$nextTick(() => {
+ this.$refs.modelView.init(param)
+ })
+ }
})
this.graph.on('node:customevent', ({name, view, e}) => {
@@ -690,72 +456,42 @@
view.cell.remove()
}
})
- // 鍙屽嚮缂栬緫
- this.graph.on('cell:dblclick', ({cell, e}) => {
- const isNode = cell.isNode()
- const name = cell.isNode() ? 'node-editor' : 'edge-editor'
- cell.removeTool(name)
- cell.addTools({
- name,
- args: {
- event: e,
- attrs: {
- backgroundColor: isNode ? '#EFF4FF' : '#FFF',
- text: {
- fontSize: 16,
- fill: '#262626',
- },
- },
- },
- })
- })
- this.graph.on('node:mouseenter', ({node}) => {
- const container = document.getElementById('container')
- const ports = container.querySelectorAll(
- '.x6-port-body',
- )
- this.showPorts(ports, true)
+ // 榧犳爣绉诲叆edge鑺傜偣
+ this.graph.on('edge:mouseenter', ({edge,e}) => {
+ const style = this.knob.style
+ // e.stopPropagation()
+ console.log('edge:mouseenter')
+ if (e && edge.data) {
+ if (edge.getData().status==='F') {
+ //console.log(edge.getData(),"eee edge.getData()")
+ let startTimes = edge.getData().startTimes
+ let endTimes = edge.getData().endTimes
+ //console.log(e,'eee')
+ const p = this.graph.clientToGraph(e.clientX, e.clientY)
+ setTimeout(()=>{
+ style.display = 'block'
+ style.left = `${p.x}px`
+ style.top = `${p.y}px`
+ style.width = 200+ 'px'
+ style.height = 80 + 'px'
+ style.textAlign = 'center'
+ style.background = '#000'
+ style.color = '#fff'
+ style.lineHeight = (40 + 'px')
+ style.zIndex = 100
+ this.knob.innerText = `寮�濮嬫椂闂达細${startTimes}\n缁撴潫鏃堕棿锛�${endTimes}`
+ },0)
+ console.log(p,'p p p')
+ console.log(style,this.knob,'style style')
+ }
+ }
})
-
- this.graph.on('node:mouseleave', ({node}) => {
- // if (node.hasTool('button-remove')) {
- // node.removeTool('button-remove')
- // }
- const container = document.getElementById('container')
- const ports = container.querySelectorAll(
- '.x6-port-body',
- )
- this.showPorts(ports, false)
- })
-
- this.graph.on('edge:mouseenter', ({cell, view}) => {
- // alert(123)
- cell.addTools([
- {
- name: 'source-arrowhead',
- },
- {
- name: 'target-arrowhead',
- args: {
- attrs: {
- fill: 'red',
- },
- },
- },
- ])
- cell.addTools(
- [
- {
- name: 'segments',
- args: {snapRadius: 20, attrs: {fill: '#444'}}
- }
- ]
- )
- })
-
- this.graph.on('edge:mouseleave', ({cell}) => {
- cell.removeTools()
+// 榧犳爣绉诲嚭edge鑺傜偣
+ this.graph.on('edge:mouseleave', ({edge}) => {
+ console.log('edge:mouseleave')
+ const style = this.knob.style
+ style.display = 'none'
})
},
async getProductList() {
@@ -780,8 +516,7 @@
this.simulatList = res.data
},
async onTreeSelected(data) {
- this.dataForm.productId = data.id
- console.log(this.dataForm.productId)
+ this.graph.unfreeze()
if (!this.dataForm.taskModelId) {
this.$alert("璇峰厛閫夋嫨鍏蜂綋浠诲姟")
return
@@ -791,11 +526,24 @@
return
}
let params = {
- productId: this.dataForm.productId,
+ productId: data.id,
taskId: this.dataForm.taskModelId,
fzId: this.dataForm.id
}
let res = await this.$http.get('/taskReliability/SimulatAssess/getStatus', {params: params})
+ if (res.data !== null) {
+ this.diagramJson = JSON.parse(res.data)
+ console.log(this.diagramJson, 'this.Diagram json')
+ this.graph.fromJSON(this.diagramJson)
+ this.graph.centerContent()
+ this.graph.zoomToFit()
+ this.graph.freeze()
+ } else {
+ this.graph.fromJSON(this.emptyJson)
+ this.graph.centerContent()
+ this.graph.zoomToFit()
+ this.graph.freeze()
+ }
console.log(res.data)
},
// 鑾峰彇淇℃伅
@@ -808,6 +556,7 @@
this.$nextTick(() => {
this.$refs.ProductModelTree.getProductList()
})
+ this.init()
},
onTaskSelected(data) {
console.log(data, ' onProductSelected(data)')
@@ -827,7 +576,7 @@
this.dataForm.simulatFrequency = result.data.simulatFrequency
},
async getDiagram() {
- this.init()
+ this.graph.unfreeze()
let params = {
productId: this.dataForm.productId,
taskId: this.dataForm.taskModelId,
@@ -836,7 +585,6 @@
let res = await this.$http.get('/taskReliability/SimulatAssess/getStatus', {params: params})
if (res.data !== null) {
this.diagramJson = JSON.parse(res.data)
- // console.log(this.dataForm.content,'this.Diagram content')
console.log(this.diagramJson, 'this.Diagram json')
this.graph.fromJSON(this.diagramJson)
this.graph.centerContent()
@@ -854,5 +602,25 @@
}
</script>
<style>
+ #timeDiagram {
+ display: flex;
+ border: 1px solid #dfe3e8;
+ width: 100% !important;
+ }
+ #timeDiagram .x6-cell.x6-node {
+ cursor: inherit;
+ }
+ .x6-graph-scroller.x6-graph-scroller-pannable {
+ width: 100% !important;
+ }
+ .x6-widget-stencil {
+ position: relative;
+ height: 100%;
+ }
+
+ .x6-widget-stencil-content {
+ position: relative;
+ height: 100%;
+ }
</style>
--
Gitblit v1.9.1