From b42429445c22164e951d514348115ee593379026 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期六, 02 十一月 2024 18:44:54 +0800
Subject: [PATCH] 增加下载xml,禁止一键排版以及修改型号节点上级节点
---
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/ReliabilityAssessDao.java | 2
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java | 84 ++++++++++++++
modules/mainPart/src/main/resources/mapper/taskReliability/ReliabilityAssessDao.xml | 9 +
web/src/views/modules/taskReliability/RBD-edit-img.vue | 23 ++-
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java | 62 +++++++--
web/src/views/modules/taskReliability/ReliabilityAssess.vue | 28 ++++
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/SimulatAssessController.java | 7 +
web/src/views/modules/taskReliability/TimeDiagram.vue | 27 ++++
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/ModelRbd.java | 3
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java | 7 +
web/src/views/modules/taskReliability/SimulatAssess.vue | 67 ++++++++---
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ReliabilityAssessController.java | 7 +
12 files changed, 278 insertions(+), 48 deletions(-)
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 f515f52..7f07865 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
@@ -105,7 +105,14 @@
@GetMapping("getProductList")
public Result<List<XhProductModel>> getProductList(Long shipId, Integer productType) {
+ if(productType==2){
+ shipId =null;
+ }
List<XhProductModel> list = xhProductModelService.getProductList(shipId, productType - 1);
+ if(productType == 5){
+ List<XhProductModel> list2 = xhProductModelService.getProductList(shipId, productType - 2);
+ list.addAll(list2);
+ }
return Result.ok(list);
}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ReliabilityAssessController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ReliabilityAssessController.java
index d37f069..85be829 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ReliabilityAssessController.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ReliabilityAssessController.java
@@ -30,6 +30,8 @@
import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
@@ -64,6 +66,11 @@
return result;
}
+ @GetMapping("downloadXml")
+ public void downloadXml(HttpServletRequest request, HttpServletResponse response, Long productId, Long taskId, Long itemId,Integer xml) {
+ reliabilityAssessService.downloadXml(request,response,productId,taskId,itemId,xml);
+ }
+
@PostMapping("add")
@ApiOperation("鏂板")
@LogOperation("鏂板")
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 f0cc214..5486365 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,6 +36,8 @@
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -269,6 +271,11 @@
return Result.ok();
}
+ @GetMapping("downloadXml")
+ public void downloadXml(HttpServletRequest request, HttpServletResponse response, String type,Long id,Integer xml) {
+ simulatAssessService.downloadXml(request, response,type,id,xml);
+ }
+
@PutMapping
@ApiOperation("淇敼")
@LogOperation("淇敼")
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/ReliabilityAssessDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/ReliabilityAssessDao.java
index 4d60009..278a700 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/ReliabilityAssessDao.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/ReliabilityAssessDao.java
@@ -25,4 +25,6 @@
List<ReliabilityAssess> getProductList(Long productId, Long itemId);
Long getAssessId(Long itemId, Long productId, Long taskId);
+
+ String getxml(Long assessId);
}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/ModelRbd.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/ModelRbd.java
index f5a3b36..04d1228 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/ModelRbd.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/ModelRbd.java
@@ -34,6 +34,9 @@
@ApiModelProperty(value = "")
private Long productId;
+ @ApiModelProperty(value = "鏄惁鑷姩鎺掔増")
+ private Integer autoLayout;
+
@TableField(exist = false)
@ApiModelProperty(value = "")
private Long[] nodeArr;
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java
index b93cfba..2212a70 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java
@@ -38,6 +38,8 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.*;
import java.util.stream.Collectors;
@@ -157,9 +159,9 @@
String nameValue = jsonArray.getJSONObject(i).get("name").toString();
if (nameValue.contains(assess.getId().toString())) {
// 鑾峰彇瀵瑰簲鐨勫��
- if (jsonArray.getJSONObject(i).get("value") instanceof Double){
- result1 = (Double) jsonArray.getJSONObject(i).get("value");
- }else{
+ if (jsonArray.getJSONObject(i).get("value") instanceof Double) {
+ result1 = (Double) jsonArray.getJSONObject(i).get("value");
+ } else {
String[] values = jsonArray.getJSONObject(i).get("value").toString().split(",");
result1 = Double.valueOf(values[1]);
}
@@ -377,16 +379,16 @@
String ToEStr = "";
String FStr = "";
// for (ModelNode node : nodeList) {
- List<ReliabilityAssess> assessDatas = assessDataList.stream().filter(item ->
- dataId.equals(item.getId())).collect(Collectors.toList());
- NoEStr += ",";
- ToEStr += ",";
- FStr += ",";
- if (assessDatas.size() > 0) {
- NoEStr += assessDatas.get(0).getRunNum() != null ? assessDatas.get(0).getRunNum().toString() : "0";
- ToEStr += assessDatas.get(0).getRunTimes() != null ? assessDatas.get(0).getRunTimes().toString() : "0";
- FStr += assessDatas.get(0).getFailNum() != null ? assessDatas.get(0).getFailNum().toString() : "0";
- }
+ List<ReliabilityAssess> assessDatas = assessDataList.stream().filter(item ->
+ dataId.equals(item.getId())).collect(Collectors.toList());
+ NoEStr += ",";
+ ToEStr += ",";
+ FStr += ",";
+ if (assessDatas.size() > 0) {
+ NoEStr += assessDatas.get(0).getRunNum() != null ? assessDatas.get(0).getRunNum().toString() : "0";
+ ToEStr += assessDatas.get(0).getRunTimes() != null ? assessDatas.get(0).getRunTimes().toString() : "0";
+ FStr += assessDatas.get(0).getFailNum() != null ? assessDatas.get(0).getFailNum().toString() : "0";
+ }
// }
NoEStr = NoEStr.substring(1);
ToEStr = ToEStr.substring(1);
@@ -397,7 +399,7 @@
vCounter.put("v", counter);
Element sameNameGroupTag = parent.addElement("logic");
sameNameGroupTag.addAttribute("name",
- "v"+counter);
+ "v" + counter);
if ("parallel".equals(sameNameGroupAlgorithmType)) {
sameNameGroupTag.addAttribute("type", "parallel");
} else {
@@ -406,7 +408,7 @@
sameNameGroupTag.addAttribute("nums", String.valueOf(nodeList.size()));
Element nodeTag = sameNameGroupTag.addElement("node");
nodeTag.addAttribute("name",
- nodeList.stream().map(item -> item.getDataId().toString()+"-"+item.getDeviceNo().toString()).
+ nodeList.stream().map(item -> item.getDataId().toString() + "-" + item.getDeviceNo().toString()).
collect(Collectors.joining(",")));
nodeTag.addAttribute("real_name", product.getSameSbName());
nodeTag.addAttribute("name_path", product.getNamePath());
@@ -690,7 +692,7 @@
FStr = FStr.substring(1);
nodeTag.addAttribute("name",
- nodes.stream().map(item -> item.getDataId().toString()+"-"+item.getDeviceNo().toString()).
+ nodes.stream().map(item -> item.getDataId().toString() + "-" + item.getDeviceNo().toString()).
collect(Collectors.joining(",")));
if (distTypes.get(0) == 3) {
// 浜岄」鍒嗗竷
@@ -746,7 +748,7 @@
ReliaSimLibResult rtn = com.alibaba.fastjson.JSONObject.parseObject(line, ReliaSimLibResult.class);
if ("0".equals(rtn.getCode())) {
logger.info("鍚姩鍙潬鎬ц瘎瀹氱畻娉曞簱鎴愬姛銆�");
- if (exitCode ==0) {
+ if (exitCode == 0) {
deleteAssessInfoInRedis(assessResult.getId());
result = Result.ok();
} else {
@@ -936,4 +938,30 @@
return baseDao.getAssessDataList(productId);
}
+ public void downloadXml(HttpServletRequest request, HttpServletResponse response, Long productId, Long taskId, Long itemId, Integer xml) {
+ Long assessId = baseDao.getAssessId(itemId, productId, taskId);
+ String json="";
+ if (xml == 1) {
+ json = baseDao.getxml(assessId);
+ } else {
+ String filePath = path + "/" + assessId + "/" + "result.xml";
+ InputStream in = null;
+ File file = new File(filePath);
+ if (file.exists()) {
+ try {
+ in = new FileInputStream(filePath);
+ json = IOUtils.toString(in);
+ } catch (IOException e) {
+ throw new RenException("鏂囦欢涓嶅瓨鍦ㄦ垨鑰呮枃浠舵墦涓嶅紑");
+ } finally {
+ try {
+ in.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+ simulatAssessService.writeToTxt(request, response, json, "璇勫畾");
+ }
}
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 ae1baa0..93e99b1 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
@@ -11,6 +11,7 @@
import com.zt.common.servlet.Result;
import com.zt.common.utils.TreeUtils;
import com.zt.common.utils.UUIDUtil;
+import com.zt.life.export.service.DownloadService;
import com.zt.life.modules.mainPart.basicInfo.dao.ParamDataDao;
import com.zt.life.modules.mainPart.basicInfo.dao.XhProductModelDao;
import com.zt.life.modules.mainPart.basicInfo.model.ParamData;
@@ -46,6 +47,9 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.nio.file.FileAlreadyExistsException;
import java.util.*;
@@ -1607,4 +1611,84 @@
dto.setCurveList(curveList);
return dto;
}
+
+ public void downloadXml(HttpServletRequest request, HttpServletResponse response, String type, Long id, Integer xml) {
+ if (type.equals("fz")) {
+ if (xml == 1) {
+ SimulatAssess simulatAssess = this.get(id);
+ String xml1 = simulatAssess.getXml();
+ writeToTxt(request, response, xml1, "浠跨湡杈撳叆");
+ } else {
+ String filePath = path + "/" + id + "/" + "result.xml";
+ String xml1;
+ InputStream in = null;
+
+ try {
+ in = new FileInputStream(filePath);
+ xml1 = IOUtils.toString(in);
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new RenException("鏂囦欢涓嶅瓨鍦ㄦ垨鑰呮枃浠舵墦涓嶅紑");
+ } finally {
+ try {
+ if (in != null) {
+ in.close();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ writeToTxt(request, response, xml1, "浠跨湡杈撳嚭");
+ }
+ } else if (type.equals("sxt")) {
+ if (xml == 1) {
+ String filePath = path + "/" + id + "/" + "status.json";
+ ObjectMapper mapper = new ObjectMapper();
+ String jsonStr = null;
+ try {
+ // 浣跨敤 ObjectMapper 鐨� readValue 鏂规硶锛屽皢鏂囦欢涓殑 JSON 鏁版嵁杞崲涓轰竴涓� Java 瀵硅薄
+ // 杩欓噷浣跨敤 Object 绫讳綔涓烘硾鍨嬪弬鏁帮紝琛ㄧず浠绘剰绫诲瀷鐨勫璞�
+ Object obj = mapper.readValue(new File(filePath), Object.class);
+ // 浣跨敤 ObjectMapper 鐨� writeValueAsString 鏂规硶锛屽皢 Java 瀵硅薄杞崲涓� JSON 瀛楃涓�
+ jsonStr = mapper.writeValueAsString(obj);
+
+ } catch (IOException e) {
+ // 澶勭悊寮傚父
+ e.printStackTrace();
+ throw new RenException("鏂囦欢涓嶅瓨鍦ㄦ垨鑰呮枃浠舵墦涓嶅紑");
+ }
+ writeToTxt(request, response, jsonStr, "鏃跺簭鍥捐緭鍏�");
+ } else {
+ SimulatAssess simulatAssess = this.get(id);
+ TimeDiagramDto timeDiagram = getTimeDiagram(simulatAssess.getProductId(), simulatAssess.getTaskModelId(), simulatAssess.getId(), 1200, 5);
+ String xml2 = timeDiagram.getDiagramJson();
+ writeToTxt(request, response, xml2, "鏃跺簭鍥捐緭鍑�");
+ }
+ }
+ }
+
+ public void writeToTxt(HttpServletRequest request, HttpServletResponse response, String jsonString, String name) {//璁剧疆鍝嶅簲鐨勫瓧绗﹂泦
+ //璁剧疆鍝嶅簲鍐呭鐨勭被鍨�
+ BufferedOutputStream buff = null;
+ ServletOutputStream outStr = null;
+ try {
+ response.setContentType("text/plain;charset=UTF-8");
+ String encodedFilename = DownloadService.getNameEncoder(request, name + "xml.txt");
+ response.addHeader("Content-Disposition", "attachment;filename=" + encodedFilename);
+ outStr = response.getOutputStream();
+ buff = new BufferedOutputStream(outStr);
+ buff.write(jsonString.getBytes("UTF-8"));
+ buff.flush();
+ buff.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ try {
+ buff.close();
+ outStr.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
}
diff --git a/modules/mainPart/src/main/resources/mapper/taskReliability/ReliabilityAssessDao.xml b/modules/mainPart/src/main/resources/mapper/taskReliability/ReliabilityAssessDao.xml
index 3e2d6ac..ec76ca8 100644
--- a/modules/mainPart/src/main/resources/mapper/taskReliability/ReliabilityAssessDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/taskReliability/ReliabilityAssessDao.xml
@@ -52,4 +52,13 @@
UPDATE_DATE DESC
LIMIT 1
</select>
+ <select id="getxml" resultType="java.lang.String">
+ SELECT
+ xml
+ FROM
+ assess_result
+ WHERE
+ is_delete = 0
+ AND id = ${assessId}
+ </select>
</mapper>
diff --git a/web/src/views/modules/taskReliability/RBD-edit-img.vue b/web/src/views/modules/taskReliability/RBD-edit-img.vue
index 58fa825..90d93d2 100644
--- a/web/src/views/modules/taskReliability/RBD-edit-img.vue
+++ b/web/src/views/modules/taskReliability/RBD-edit-img.vue
@@ -18,7 +18,9 @@
<el-button type="primary" @click="saveDiagram()">鏆傚瓨</el-button>
<el-button type="primary" @click="analyzeDiagram()">鎻愪氦</el-button>
<el-button type="primary" @click="clearDiagram()">娓呯┖鍥惧舰</el-button>
- <el-checkbox style="margin: 0 10px 0 10px" v-model="dataForm.autoLayout">鏄惁寮�鍚竴閿帓鐗�</el-checkbox>
+ <el-checkbox style="margin: 0 10px 0 10px" v-model="dataForm.autoLayout" true-label="1" false-label="0">
+ 鏄惁寮�鍚竴閿帓鐗�
+ </el-checkbox>
<el-button type="primary" @click="layoutDiagram()" :disabled="!dataForm.autoLayout">涓�閿帓鐗�</el-button>
<el-button @click="leftAlign()">
<i style="font-size: 1rem;" class="wt-iconfont icon-zuoduiqi"></i>
@@ -578,7 +580,7 @@
hasPublish: 0,
urlPref: '',
nodeArr: [],
- autoLayout:true,
+ autoLayout: 1,
},
type: '',
id: '',
@@ -756,6 +758,7 @@
}
let res = await this.$http.get(`/taskReliability/ModelLine/getDiagram`, {params: params})
this.dataForm = res.data
+ this.dataForm.autoLayout = parseInt(this.dataForm.autoLayout) == 1
if (res.data.content != null) {
console.log(this.dataForm, 'getDiagram datafrom')
console.log(res.data, 'getDiagram res.data')
@@ -932,7 +935,7 @@
for (let i = 1; i <= node.getData().basicUnitNum; i++) {
if (deviceNoArr.findIndex(item => item === i) === -1) {
no = i
- if (node.getData().basicUnitNum>1){
+ if (node.getData().basicUnitNum > 1) {
node.getData().deviceNo = i
node.attr('text/text', node.attr('text/text') + '-' + i)
}
@@ -1063,12 +1066,12 @@
//'xlink:href': urlObject.createObjectURL(new Blob([item.svgContent])),
},
title: {
- text: item.basicUnitNum>1?item.basicUnitNum:'',
+ text: item.basicUnitNum > 1 ? item.basicUnitNum : '',
refX: 15,
refY: 10,
fill: '#748be7',
fontSize: 14,
- fontWeight:'bold',
+ fontWeight: 'bold',
'text-anchor': 'start',
},
text: {
@@ -1221,7 +1224,7 @@
// 鐩戝惉鑺傜偣娣诲姞浜嬩欢
this.graph.on('node:added', ({node}) => {
node.setAttrs({
- title: { text: '' },
+ title: {text: ''},
})
if (this.isFirstLoad) {
return
@@ -1582,7 +1585,7 @@
})
},
async layoutDiagram() {
- if(this.dataForm.autoLayout){
+ if (this.dataForm.autoLayout == 1) {
console.log(JSON.stringify(this.graph.toJSON()), 'graph.toJSON()')
this.dataForm.content = JSON.stringify(this.graph.toJSON())
this.dataForm.urlPref = window.SITE_CONFIG['apiURL']
@@ -1780,7 +1783,7 @@
inEdges[0].target = {cell: result.newStartNode.id}
outEdges[0].source = {cell: result.newEndNode.id}
graphNode.remove()
- if(this.dataForm.autoLayout){
+ if (this.dataForm.autoLayout == 1) {
if (!result.canPlace) {
//璋冪敤鑷姩鎺掔増
this.layoutDiagram()
@@ -1837,7 +1840,7 @@
connector: {name: 'rounded'},
zIndex: -1
})
- if(this.dataForm.autoLayout){
+ if (this.dataForm.autoLayout == 1) {
if (!result.canPlace) {
//璋冪敤鑷姩鎺掔増
this.layoutDiagram()
@@ -1971,7 +1974,7 @@
})
graphEdge.source = {cell: result.newEndNode.id}
}
- if(this.dataForm.autoLayout){
+ if (this.dataForm.autoLayout == 1) {
if (!result.canPlace) {
//璋冪敤鑷姩鎺掔増
this.layoutDiagram()
diff --git a/web/src/views/modules/taskReliability/ReliabilityAssess.vue b/web/src/views/modules/taskReliability/ReliabilityAssess.vue
index 49562fe..6516b3e 100644
--- a/web/src/views/modules/taskReliability/ReliabilityAssess.vue
+++ b/web/src/views/modules/taskReliability/ReliabilityAssess.vue
@@ -19,6 +19,15 @@
<el-button type="primary" @click="assess()">璇勫畾</el-button>
<el-button type="primary" @click="add()">鏂板璇勫畾鏁版嵁</el-button>
<el-button type="primary" @click="handleExpand()">{{expandText}}</el-button>
+ <el-dropdown style="margin-left: 10px" @command="download">
+ <el-button type="primary">
+ 涓嬭浇xml<i class="el-icon-arrow-down el-icon--right"></i>
+ </el-button>
+ <el-dropdown-menu slot="dropdown">
+ <el-dropdown-item command="1">杈撳叆xml</el-dropdown-item>
+ <el-dropdown-item command="2">杈撳嚭xml</el-dropdown-item>
+ </el-dropdown-menu>
+ </el-dropdown>
</el-form>
<el-table ref="multipleTable" v-loading="table.dataLoading" :data="dataList" height="100px" v-adaptive="{bottomOffset:70}"
row-key="id"
@@ -43,6 +52,8 @@
</template>
<script>
import AddOrUpdate from './RelisbilityAssess-AddOrUpdate'
+ import qs from "qs";
+ import Cookies from "js-cookie";
export default {
data() {
@@ -189,6 +200,21 @@
}
})
},
- }
+ async download(selsect) {
+ if (!this.dataForm.productId || !this.dataForm.taskId || !this.dataForm.itemId ) {
+ this.$tip.alert("鏈夋湭濉啓鐨勬暟鎹�")
+ return
+ }
+ let param = qs.stringify({
+ 'token': Cookies.get('token'),
+ productId: this.dataForm.productId,
+ taskId: this.dataForm.taskId,
+ itemId: this.dataForm.itemId,
+ xml:selsect
+ })
+ let apiURL = `/taskReliability/ReliabilityAssess/downloadXml`
+ window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${param}`
+ }
+ },
}
</script>
diff --git a/web/src/views/modules/taskReliability/SimulatAssess.vue b/web/src/views/modules/taskReliability/SimulatAssess.vue
index 0f58eec..7b59686 100644
--- a/web/src/views/modules/taskReliability/SimulatAssess.vue
+++ b/web/src/views/modules/taskReliability/SimulatAssess.vue
@@ -8,38 +8,50 @@
<zt-form-item label="鎬讳綋浠诲姟" prop="taskModelId">
<zt-select v-model="dataForm.taskModelId" :datas="taskList" @change="onTaskSelected"/>
</zt-form-item>
- <zt-form-item label="鏃堕棿鍒嗙墖" prop="samplPeriod" >
- <el-input type="number" :min="1" v-model="dataForm.samplPeriod" style="width: 150px;vertical-align: baseline;">
+ <zt-form-item label="鏃堕棿鍒嗙墖" prop="samplPeriod">
+ <el-input type="number" :min="1" v-model="dataForm.samplPeriod"
+ style="width: 150px;vertical-align: baseline;">
<template slot="append">鍒嗛挓</template>
</el-input>
</zt-form-item>
- <zt-form-item label="浠跨湡娆℃暟" prop="simulatFrequency" >
- <el-input type="number" :min="1" v-model="dataForm.simulatFrequency" style="width: 150px;vertical-align: baseline;">
+ <zt-form-item label="浠跨湡娆℃暟" prop="simulatFrequency">
+ <el-input type="number" :min="1" v-model="dataForm.simulatFrequency"
+ style="width: 150px;vertical-align: baseline;">
<template slot="append">娆℃暟</template>
</el-input>
</zt-form-item>
<el-form-item prop="repairDiracFlag" label-width="150px" style="margin-left: 20px">
<el-checkbox v-model="dataForm.repairDiracFlag">鍙慨璁惧鍙潬搴︿负1</el-checkbox>
</el-form-item>
- <zt-form-item style="margin-left: 20px">
+ <zt-form-item style="margin-left: 10px">
<zt-button @click="analyze()">浠跨湡鍒嗘瀽</zt-button>
- <zt-button @click="displayProcess()">鏌ョ湅绠楁硶搴撹繘绋�</zt-button>
+ <zt-button @click="displayProcess()">绠楁硶搴撹繘绋�</zt-button>
+ <el-dropdown style="margin-left: 10px" @command="download">
+ <el-button type="primary">
+ 涓嬭浇xml<i class="el-icon-arrow-down el-icon--right"></i>
+ </el-button>
+ <el-dropdown-menu slot="dropdown">
+ <el-dropdown-item command="1">杈撳叆xml</el-dropdown-item>
+ <el-dropdown-item command="2">杈撳嚭xml</el-dropdown-item>
+ </el-dropdown-menu>
+ </el-dropdown>
</zt-form-item>
</el-form>
<el-progress v-if="isShow" :percentage="percentage"></el-progress>
- <el-col :span="4">
- <div style="margin-right: 5px;height: calc(100vh - 230px)" v-if="isSelect">
- <product-model-tree @on-selected="onTreeSelected" showXdy="false"
- ref="ProductModelTree" :isShow="false" basic="4" :productId="dataForm.productId"/>
- </div>
- </el-col>
- <el-col :span="20">
- <div class="fa-card-a" style="height: calc(100vh - 230px)">
- <SimulatCurve ref="SimulatCurve"></SimulatCurve>
- </div>
- </el-col>
+ <el-col :span="4">
+ <div style="margin-right: 5px;height: calc(100vh - 230px)" v-if="isSelect">
+ <product-model-tree @on-selected="onTreeSelected" showXdy="false"
+ ref="ProductModelTree" :isShow="false" basic="4" :productId="dataForm.productId"/>
+ </div>
+ </el-col>
+ <el-col :span="20">
+ <div class="fa-card-a" style="height: calc(100vh - 230px)">
+ <SimulatCurve ref="SimulatCurve"></SimulatCurve>
+ </div>
+ </el-col>
</el-row>
- <el-dialog v-dialogDrag :close-on-click-modal="false" top="8vh" :visible.sync="dialogVisible" title="妯″瀷妫�鏌�" width="60%" @close="dialogVisible = false">
+ <el-dialog v-dialogDrag :close-on-click-modal="false" top="8vh" :visible.sync="dialogVisible" title="妯″瀷妫�鏌�"
+ width="60%" @close="dialogVisible = false">
<el-tag type="danger" style="margin-bottom: 10px">妯″瀷瀹氫箟/鍙傛暟閰嶇疆閲屽瓨鍦ㄤ互涓嬮棶棰橈細</el-tag>
<el-table :data="modelCheckResult" height="350"
:header-cell-style="{'text-align':'center'}">
@@ -64,6 +76,8 @@
import SimulatCurve from "./SimulatCurve";
import ProductModelTree from "../basicInfo/ProductModelTree";
import Process from "./Process";
+ import qs from "qs";
+ import Cookies from "js-cookie";
export default {
@@ -111,7 +125,7 @@
methods: {
onTreeSelected(data) {
- if (this.dataForm.id){
+ if (this.dataForm.id) {
console.log(data, 'onProductSelected')
this.dataForm.showProductId = data.id
this.$refs.SimulatCurve.getProductEcharts(this.dataForm);
@@ -182,6 +196,21 @@
}
}
},
+ async download(selsect) {
+ if(this.dataForm.id){
+ let param = qs.stringify({
+ 'token': Cookies.get('token'),
+ type: 'fz',
+ xml:selsect,
+ id: this.dataForm.id
+ })
+ let apiURL = `/taskReliability/SimulatAssess/downloadXml`
+ window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${param}`
+ }else{
+ this.$alert('杩樻湭杩涜浠跨湡鎿嶄綔')
+ }
+
+ },
displayProcess() {
this.$refs.process.$refs.dialog.init()
}
diff --git a/web/src/views/modules/taskReliability/TimeDiagram.vue b/web/src/views/modules/taskReliability/TimeDiagram.vue
index cf48ad0..15c0973 100644
--- a/web/src/views/modules/taskReliability/TimeDiagram.vue
+++ b/web/src/views/modules/taskReliability/TimeDiagram.vue
@@ -23,6 +23,15 @@
</zt-form-item>
<zt-form-item>
<zt-button @click="getDiagram(null)">鏌ョ湅鏃跺簭鍥�</zt-button>
+ <el-dropdown style="margin-left: 10px" @command="download">
+ <el-button type="primary">
+ 涓嬭浇xml<i class="el-icon-arrow-down el-icon--right"></i>
+ </el-button>
+ <el-dropdown-menu slot="dropdown">
+ <el-dropdown-item command="1">杈撳叆xml</el-dropdown-item>
+ <el-dropdown-item command="2">杈撳嚭xml</el-dropdown-item>
+ </el-dropdown-menu>
+ </el-dropdown>
</zt-form-item>
</el-form>
<div style="display: flex">
@@ -59,6 +68,8 @@
import ModelView from "./ModelView";
import textDiagram from "./textDiagram";
import timeDiagramThumbnail from "./timeDiagramThumbnail"
+ import qs from "qs";
+ import Cookies from "js-cookie";
export default {
@@ -439,7 +450,21 @@
getPoint(x,smallWidth){
let pointX = Number((x * (this.bigWidth / smallWidth )).toFixed(0))
this.graph.setScrollbarPosition(pointX, null)
- }
+ },
+ async download(selsect) {
+ if(this.dataForm.id){
+ let param = qs.stringify({
+ 'token': Cookies.get('token'),
+ type: 'sxt',
+ xml:selsect,
+ id: this.dataForm.id
+ })
+ let apiURL = `/taskReliability/SimulatAssess/downloadXml`
+ window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${param}`
+ }else{
+ this.$alert('杩樻湭閫夋嫨浠跨湡璁板綍')
+ }
+ },
}
}
</script>
--
Gitblit v1.9.1