From 18f682f736914e427070b9bb769df538ad9f6d1c Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期一, 02 十二月 2024 08:42:38 +0800 Subject: [PATCH] 修改 --- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/dao/ReliabilityAssessDao.java | 2 web/src/views/modules/taskReliability/ReliabilityAssess.vue | 20 modules/mainPart/src/main/resources/mapper/sys/SysMysql.xml | 12 web/src/views/modules/sys/execute.vue | 34 ++ web/src/views/modules/sys/dataStructure.vue | 53 +++ modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/model/ColumnsTemp.java | 12 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java | 20 modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/model/SysMysql.java | 21 + modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/dao/SysMysqlDao.java | 19 + web/src/views/modules/sys/check.vue | 59 ++++ modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/controller/SysMysqlController.java | 69 ++++ modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssess.java | 2 web/src/views/modules/taskReliability/RelisbilityAssess-AddOrUpdate.vue | 27 + starter/src/main/resources/application.yml | 9 web/src/views/modules/taskReliability/SimulatHistory.vue | 25 + web/src/views/modules/taskReliability/TaskPhase.vue | 3 web/src/views/modules/taskReliability/RelisbilityAssess-Manage.vue | 91 ++++++ modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SchemeComparCurve.java | 1 modules/mainPart/src/main/resources/mapper/taskReliability/ReliabilityAssessDao.xml | 62 ++-- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/ReliabilityAssessService.java | 69 ---- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/service/SysMysqlService.java | 97 ++++++ web/src/views/modules/taskReliability/SimulatAssess.vue | 35 -- modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/model/DataTemp.java | 28 ++ modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/controller/ReliabilityAssessController.java | 19 + web/src/views/modules/taskReliability/SimulatCurve.vue | 1 25 files changed, 623 insertions(+), 167 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/controller/SysMysqlController.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/controller/SysMysqlController.java new file mode 100644 index 0000000..f9f2565 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/controller/SysMysqlController.java @@ -0,0 +1,69 @@ +package com.zt.life.modules.mainPart.sys.controller; + + +import com.zt.common.annotation.LogOperation; +import com.zt.common.annotation.QueryParam; +import com.zt.common.constant.Constant; +import com.zt.common.db.query.QueryFilter; +import com.zt.common.servlet.Result; +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.sys.model.SysChangeLog; +import com.zt.life.modules.mainPart.sys.model.SysMysql; +import com.zt.life.modules.mainPart.sys.service.SysChangeLogService; +import com.zt.life.modules.mainPart.sys.service.SysMysqlService; +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 javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.nio.charset.StandardCharsets; +import java.util.LinkedList; +import java.util.List; + + +/** + * sys_change_log + * + * @author zt generator + * @since 1.0.0 2024-10-09 + */ +@RestController +@RequestMapping("/sys/mysql/") +public class SysMysqlController { + @Autowired + private SysMysqlService sysMysqlService; + + @GetMapping("check") + @ApiOperation("鏌ヨ") + public Result<SysMysql> check(String sql){ + SysMysql data = sysMysqlService.check(sql); + + return Result.ok(data); + } + + @GetMapping("execute") + @ApiOperation("淇敼") + public Result execute(String sql){ + sysMysqlService.execute(sql); + + return Result.ok(); + } + + @GetMapping("logDownload") + @ApiOperation("鏃ュ織涓嬭浇") + public Result logDownload(HttpServletRequest request, HttpServletResponse response){ + sysMysqlService.logDownload(request,response); + + return Result.ok(); + } +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/dao/SysMysqlDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/dao/SysMysqlDao.java new file mode 100644 index 0000000..fc3e937 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/dao/SysMysqlDao.java @@ -0,0 +1,19 @@ +package com.zt.life.modules.mainPart.sys.dao; + + +import com.zt.common.dao.BaseDao; +import com.zt.life.modules.mainPart.sys.model.SysChangeLog; +import com.zt.life.modules.mainPart.sys.model.SysMysql; +import org.apache.ibatis.annotations.Mapper; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +@Mapper +public interface SysMysqlDao extends BaseDao<SysMysql> { + List<Map<String,Object>> check(String sql); + + void execute(String sql); +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/model/ColumnsTemp.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/model/ColumnsTemp.java new file mode 100644 index 0000000..87b84f7 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/model/ColumnsTemp.java @@ -0,0 +1,12 @@ +package com.zt.life.modules.mainPart.sys.model; + +import lombok.Data; + +import java.util.HashMap; +import java.util.Map; + +@Data +public class ColumnsTemp { + private String prop; + private String label; +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/model/DataTemp.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/model/DataTemp.java new file mode 100644 index 0000000..2bd316d --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/model/DataTemp.java @@ -0,0 +1,28 @@ +package com.zt.life.modules.mainPart.sys.model; + +import lombok.Data; + +import java.util.HashMap; +import java.util.Map; + +@Data +public class DataTemp extends Object { + private Map<String, Object> attributes = new HashMap<>(); + + public DataTemp() { + } + + public void setAttribute(String key, Object value) { + attributes.put(key, value); + } + + public Object getAttribute(String key) { + return attributes.get(key); + } + + // 涓轰簡鑳藉鎵撳嵃鍑哄璞$殑灞炴�э紝鍙互閲嶅啓toString鏂规硶 + @Override + public String toString() { + return attributes.toString(); + } +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/model/SysMysql.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/model/SysMysql.java new file mode 100644 index 0000000..7de0e38 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/model/SysMysql.java @@ -0,0 +1,21 @@ +package com.zt.life.modules.mainPart.sys.model; + +import com.zt.common.entity.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; +import java.util.Map; + +/** + * sys_liveness + * + * @author zt generator + * @since 1.0.0 2024-10-09 + */ +@Data +@EqualsAndHashCode(callSuper=false) +public class SysMysql extends BaseEntity { + List<Map<String, Object>> tableData; + List<ColumnsTemp> tableColumns; +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/service/SysMysqlService.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/service/SysMysqlService.java new file mode 100644 index 0000000..571382c --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/sys/service/SysMysqlService.java @@ -0,0 +1,97 @@ +package com.zt.life.modules.mainPart.sys.service; + +import com.zt.common.exception.RenException; +import com.zt.common.service.BaseService; +import com.zt.life.modules.mainPart.sys.dao.SysMysqlDao; +import com.zt.life.modules.mainPart.sys.model.ColumnsTemp; +import com.zt.life.modules.mainPart.sys.model.SysMysql; +import com.zt.life.modules.mainPart.taskReliability.service.SimulatAssessService; +import org.apache.commons.io.input.ReversedLinesFileReader; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.nio.file.StandardOpenOption; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +@Service +public class SysMysqlService extends BaseService<SysMysqlDao, SysMysql> { + @Value("${zt.oss.log-path}") + private String logPath; + + @Autowired + private SimulatAssessService simulatAssessService; + + public SysMysql check(String sql) { + try { + SysMysql sysMysql = new SysMysql(); + List<Map<String, Object>> data = baseDao.check(sql); + List<ColumnsTemp> tableColumns = new ArrayList<>(); + + for (Map<String, Object> map : data) { + ColumnsTemp obj = null; + for (Map.Entry<String, Object> entry : map.entrySet()) { + obj = new ColumnsTemp(); + obj.setProp(entry.getKey()); + obj.setLabel(entry.getKey()); + tableColumns.add(obj); + } + break; + } + sysMysql.setTableColumns(tableColumns); + sysMysql.setTableData(data); + return sysMysql; + } catch (Exception e) { + e.printStackTrace(); + throw new RenException(String.valueOf(e)); + } + + + } + + public void execute(String sql) { + try { + baseDao.execute(sql); + } catch (Exception e) { + e.printStackTrace(); + throw new RenException(String.valueOf(e)); + } + } + + public void logDownload(HttpServletRequest request, HttpServletResponse response) { + int n = 300; // 瑕佽鍙栫殑琛屾暟 + try { + File file = new File(logPath); + ReversedLinesFileReader reader = new ReversedLinesFileReader(file); + + List<String> lines = new ArrayList<>(); + String line; + + while ((line = reader.readLine()) != null) { + lines.add(line); + if (lines.size() == n) { + break; + } + } + reader.close(); + Collections.reverse(lines); + String result = lines.stream().collect(Collectors.joining(", ")); + String formattedResult = result.replace(", ", "\n"); + simulatAssessService.writeToTxt(request, response, formattedResult, "鏃ュ織鏂囦欢"); + + } catch (IOException e) { + e.printStackTrace(); + } + } +} 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 a3fcbf9..2ad6b3f 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 @@ -86,6 +86,15 @@ return Result.ok(); } + @PostMapping("update") + @ApiOperation("淇敼") + @LogOperation("淇敼") + public Result update(@RequestBody AssessItem assessItem){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(assessItem, AddGroup.class, DefaultGroup.class); + assessItemDao.updateById(assessItem); + return Result.ok(); + } @PostMapping("assessCheck") @ApiOperation("璇勫畾妯″瀷妫�鏌�") @@ -114,5 +123,15 @@ return Result.ok(dataList); } + @GetMapping("delete") + @ApiOperation("鍒犻櫎") + @LogOperation("鍒犻櫎") + public Result delete(Long id){ + //鏁堥獙鏁版嵁 + assessItemDao.deleteById(id); + + return Result.ok(); + } + } 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 278a700..e2af220 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 @@ -27,4 +27,6 @@ Long getAssessId(Long itemId, Long productId, Long taskId); String getxml(Long assessId); + + void deleteByItemId(Long itemId); } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SchemeComparCurve.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SchemeComparCurve.java index 742297a..bd21186 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SchemeComparCurve.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SchemeComparCurve.java @@ -8,6 +8,7 @@ public class SchemeComparCurve { private String name; private String type; + private String symbol; private Boolean smooth; private List<Double> data; } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssess.java b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssess.java index 730e7c9..1f0d47f 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssess.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/model/SimulatAssess.java @@ -24,7 +24,7 @@ @ApiModelProperty(value = "浜у搧鑺傜偣ID") private Long productId; - @ApiModelProperty(value = "鍚嶇О") + @ApiModelProperty(value = "浠跨湡鍚嶇О") private String name; @ApiModelProperty(value = "鎬讳綋浠诲姟妯″瀷ID") 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 d582d6a..1dfdc6c 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 @@ -174,68 +174,6 @@ // 寤虹珛浜у搧缁撴瀯鏍戞椂锛岀浉鍚岀殑璁惧澶氫釜浣跨敤鏃讹紝澶氫釜璁惧浣跨敤鐩稿悓鐨勫悕绉般�傝繖鏍凤紝鍦ㄦ澶勯�氳繃鍚嶇О鏉ュ垽鏂槸鍚︽槸鐩稿悓鐨勮澶囷紝鐩稿悓鐨勮澶囷紝闇�瑕佹嬁鍑烘潵浣滀负瀛愭爣绛惧祵濂楄繘xml銆� private void assembleModelXml(AssessResult assessResult) { -/* - // 娴嬭瘯绠楁硶搴撶敤 - String xml = "<des name=\"General system\" gama=\"0.7\">\n" + - " <tasks>\n" + - " <task duration=\"1\" model=\"1819282257303678978\"/>\n" + - " </tasks>\n" + - " <models>\n" + - " <model name=\"1819282257303678978\">\n" + - " <logic name=\"绯荤粺\" type=\"series\" >\n" + - " <logic name=\"鍒嗙郴缁�1\" type=\"series\" >\n" + - " <logic name=\"v1\" type=\"parallel\" nums=\"2\">\n" + - " <node name=\"璁惧1\" distType=\"exp\" ToE=\"20\" F=\"1\"/>\n" + - " </logic>\n" + - " <node name=\"璁惧2\" distType=\"exp\" ToE=\"0.3\" F=\"1\"/>\n" + - " </logic>\n" + - " <logic name=\"鍒嗙郴缁�2\" type=\"series\" >\n" + - " <node name=\"璁惧3\" distType=\"exp\" ToE=\"0.2\" F=\"0\"/>\n" + - " <node name=\"璁惧4\" distType=\"ber\" NoE=\"18\" F=\"0\"/>\n" + - " <logic name=\"v2\" type=\"series\" nums=\"2\">\n" + - " <node name=\"璁惧5\" distType=\"exp\" ToE=\"0.5,0,6\" F=\"1,2\"/>\n" + - " </logic> \n" + - " <node name=\"璁惧6\" distType=\"exp\" ToE=\"0.3\" F=\"1\"/>\n" + - " </logic>\n" + - " <logic name=\"鍒嗙郴缁�3\" type=\"vote\" nums=\"3\" k=\"2\" >\n" + - " <node name=\"璁惧7\" distType=\"exp\" ToE=\"87\" F=\"1\"/>\n" + - " </logic>\n" + - " </logic>\n" + - " </model>\n" + - " </models>\n" + - "</des>"; - String xml1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + - "\n" + - "<des name=\"General system\" gama=\"0.6\">\n" + - " <tasks>\n" + - " <task duration=\"1.0\" model=\"1839217232446533633\"/>\n" + - " </tasks>\n" + - " <models>\n" + - " <model name=\"1839217232446533633\">\n" + - " <logic name=\"1727338143768926498\" real_name=\"璇勫鐢ㄨ埞A\" type=\"series\">\n" + - " <logic name=\"1727338125295232953\" real_name=\"閫氫俊绯荤粺\" name_path=\"閫氫俊绯荤粺\" type=\"series\">\n" + - " <logic name=\"v1\" type=\"parallel\" nums=\"2\">\n" + - " <node name=\"1727338347041863487,1727338104458428136\" real_name=\"瀵硅鏈篭" name_path=\"閫氫俊绯荤粺,瀵硅鏈篵\" distType=\"ber\" NoE=\"0,10\" F=\"0,1\"/>\n" + - " </logic>\n" + - " <node name=\"1727338109884317860\" real_name=\"浜ゆ崲鏈篭" name_path=\"閫氫俊绯荤粺,浜ゆ崲鏈篭" distType=\"exp\" ToE=\"10\" F=\"1\"/>\n" + - " </logic>\n" + - " <logic name=\"1727338132480394459\" real_name=\"绌鸿皟绯荤粺\" name_path=\"绌鸿皟绯荤粺\" type=\"vote\" k=\"2\" nums=\"3\">\n" + - " <node name=\"1727338148414415252,1727338894880570868,1727338666019181419\" real_name=\"绌鸿皟\" name_path=\"绌鸿皟绯荤粺,绌鸿皟c\" distType=\"exp\" ToE=\"88,87,86\" F=\"8,7,6\"/>\n" + - " </logic>\n" + - " <logic name=\"1727338199831104683\" real_name=\"鐢靛姏绯荤粺\" name_path=\"鐢靛姏绯荤粺\" type=\"series\">\n" + - " <node name=\"1727338129701280729\" real_name=\"鍙戠數鏈�2\" name_path=\"鐢靛姏绯荤粺,鍙戠數鏈�2\" distType=\"ber\" NoE=\"20\" F=\"2\"/>\n" + - " <node name=\"1727338865212183133\" real_name=\"鍙戠數鏈�1\" name_path=\"鐢靛姏绯荤粺,鍙戠數鏈�1\" distType=\"exp\" ToE=\"20\" F=\"2\"/>\n" + - " <node name=\"1727338589328410328\" real_name=\"閰嶇數鏉縗" name_path=\"鐢靛姏绯荤粺,閰嶇數鏉縗" distType=\"exp\" ToE=\"50\" F=\"5\"/>\n" + - " <logic name=\"v3\" type=\"series\" nums=\"2\">\n" + - " <node name=\"1727338101737644187,1727338554151292452\" real_name=\"钃勭數姹燶" name_path=\"鐢靛姏绯荤粺,钃勭數姹燼\" distType=\"exp\" ToE=\"30,40\" F=\"3,4\"/>\n" + - " </logic>\n" + - " </logic>\n" + - " </logic>\n" + - " </model>\n" + - " </models>\n" + - "</des>"; - assessResult.setXml(xml1); -*/ Long productId = assessResult.getProductId(); Long taskId = assessResult.getTaskId(); Long itemId = assessResult.getItemId(); @@ -864,14 +802,12 @@ path = shipPath = name; xtPath = ""; fxtPath = ""; - sbPath = ""; productId = shipId; } else { if (type.equals("绯荤粺")) { if (StringUtils.isNotBlank(shipPath)) { path = xtPath = name; fxtPath = ""; - sbPath = ""; } else { continue; } @@ -879,14 +815,13 @@ if (type.equals("鍒嗙郴缁�")) { if (StringUtils.isNotBlank(xtPath)) { path = fxtPath = xtPath + "," + name; - sbPath = ""; } else { continue; } } if (type.equals("璁惧")) { if ((StringUtils.isNotBlank(xtPath) || StringUtils.isNotBlank(fxtPath))) { - path = sbPath = StringUtils.isNotBlank(fxtPath) ? fxtPath + "," + name : xtPath + "," + name; + path = StringUtils.isNotBlank(fxtPath) ? fxtPath + "," + name : xtPath + "," + name; } else { continue; } @@ -896,6 +831,7 @@ } } + baseDao.deleteByItemId(itemId); ReliabilityAssess assess = new ReliabilityAssess(); assess.setFailNum(failNum); assess.setRunNum(runNum); @@ -909,7 +845,6 @@ } catch (Exception e) { e.printStackTrace(); ImportUtil.updateErrMap(errMap, "瀵煎叆寮傚父" + e.getMessage(), "", row1); - //err++; } Date nowDate = new Date(); 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 ba5f857..0925f14 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 @@ -567,17 +567,15 @@ ProductStatusDto newRow = null; if (sameNum > 1) { newRow = item.clone(); - } - else + } else newRow = item; - if ("5".equals(newRow.getProductType())){ + if ("5".equals(newRow.getProductType())) { newRow.setDeviceNo(i); newRow.setDataId(item.getId().toString() + "-" + i); - if (i>1){ + if (i > 1) { newRow.setName(item.getName() + "-" + i); } - } - else{ + } else { newRow.setDeviceNo(0); newRow.setDataId(item.getId().toString()); } @@ -1410,8 +1408,7 @@ public SimulaDataDto getResultXML(SimulatAssess simulatAssess) { if (simulatAssess.getDataType() != null && simulatAssess.getDataType().equals("fz")) { - Integer num = this.getNumById(simulatAssess.getProductId(), simulatAssess.getTaskModelId()); - simulatAssess.setName("浠跨湡璁板綍" + (num + 1)); + simulatAssess.setName(simulatAssess.getName()); this.update(simulatAssess); } String filePath = path + "/" + simulatAssess.getId() + "/" + "result.xml"; @@ -1469,7 +1466,11 @@ String[] arr = availability.split(" "); // 閬嶅巻瀛愬瓧绗︿覆鏁扮粍锛屽皢姣忎釜鍏冪礌杞崲涓篸ouble骞跺瓨鍌ㄥ埌double鏁扮粍涓� Double j = 0.0; - for (int a = 0; a < arr.length; a++) { + Double b = 100.0; + for (int a = 0; a < arr.length - 1; a++) { + if (Convert.toDouble(arr[a]) < Convert.toDouble(arr[a+1])) { + System.out.println(arr[a]); + } j = samplPeriod + j; doubleArray.add(Double.parseDouble(arr[a])); xList.add(j); @@ -1609,6 +1610,7 @@ SchemeComparCurve curve = new SchemeComparCurve(); curve.setName(task.getTaskName()); + curve.setSymbol("none"); curve.setSmooth(true); curve.setType("line"); curve.setData(resultData.getCurveParam().getYData()); diff --git a/modules/mainPart/src/main/resources/mapper/sys/SysMysql.xml b/modules/mainPart/src/main/resources/mapper/sys/SysMysql.xml new file mode 100644 index 0000000..dab2ef1 --- /dev/null +++ b/modules/mainPart/src/main/resources/mapper/sys/SysMysql.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.sys.dao.SysMysqlDao"> + <update id="execute"> + ${sql} + </update> + + <select id="check" resultType="java.util.Map" parameterType="java.lang.String"> + ${sql} + </select> +</mapper> diff --git a/modules/mainPart/src/main/resources/mapper/taskReliability/ReliabilityAssessDao.xml b/modules/mainPart/src/main/resources/mapper/taskReliability/ReliabilityAssessDao.xml index ec76ca8..e8ea798 100644 --- a/modules/mainPart/src/main/resources/mapper/taskReliability/ReliabilityAssessDao.xml +++ b/modules/mainPart/src/main/resources/mapper/taskReliability/ReliabilityAssessDao.xml @@ -2,6 +2,11 @@ <!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.taskReliability.dao.ReliabilityAssessDao"> + <delete id="deleteByItemId"> + delete + from assess_data + where item_id = ${itemId} + </delete> <select id="getProductPath" resultType="com.zt.life.modules.mainPart.basicInfo.model.XhProductModel"> select a.* from product_model a @@ -9,7 +14,7 @@ and a.ship_id = ${shipId} </select> <select id="getAssessDataList" resultType="com.zt.life.modules.mainPart.taskReliability.model.AssessItem"> - select a.name,a.id + select a.name, a.id from assess_item a where a.IS_DELETE = 0 and a.product_id = ${productId} @@ -17,48 +22,37 @@ </select> <select id="getProductList" resultType="com.zt.life.modules.mainPart.taskReliability.model.ReliabilityAssess"> - SELECT - a.NAME, - a.id, - a.pid, - a.product_type as type, - b.run_num, - b.fail_num, - b.run_times - FROM - product_model a - LEFT JOIN assess_data b ON b.product_id = a.id - AND b.is_delete = 0 AND b.item_id = ${itemId} - WHERE - a.is_delete = 0 - AND a.product_type <> 10 - AND a.ship_id = ${productId} + SELECT a.NAME, + a.id, + a.pid, + a.product_type as type, + b.run_num, + b.fail_num, + b.run_times + FROM product_model a + LEFT JOIN assess_data b ON b.product_id = a.id + AND b.is_delete = 0 AND b.item_id = ${itemId} + WHERE a.is_delete = 0 + AND a.product_type <> 10 + AND a.ship_id = ${productId} OR a.id = ${productId} - ORDER BY - a.product_type, - a.sort + ORDER BY a.product_type, + a.sort </select> <select id="getAssessId" resultType="java.lang.Long"> - SELECT - id - FROM - assess_result - WHERE - is_delete = 0 + SELECT id + FROM assess_result + WHERE is_delete = 0 AND item_id = ${itemId} AND product_id = ${productId} AND task_id = ${taskId} - ORDER BY - UPDATE_DATE DESC + ORDER BY UPDATE_DATE DESC LIMIT 1 </select> <select id="getxml" resultType="java.lang.String"> - SELECT - xml - FROM - assess_result - WHERE - is_delete = 0 + SELECT xml + FROM assess_result + WHERE is_delete = 0 AND id = ${assessId} </select> </mapper> diff --git a/starter/src/main/resources/application.yml b/starter/src/main/resources/application.yml index ed5eb82..083e366 100644 --- a/starter/src/main/resources/application.yml +++ b/starter/src/main/resources/application.yml @@ -17,11 +17,11 @@ datasource: druid: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://192.168.31.26:3366/reliability_simulat?allowMultiQueries=true&hive.exec.orc.split.strategy=ETL&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8 - #url: jdbc:mysql://127.0.0.1:3306/reliability_simulat?allowMultiQueries=true&hive.exec.orc.split.strategy=ETL&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8 + #url: jdbc:mysql://192.168.31.26:3366/reliability_simulat?allowMultiQueries=true&hive.exec.orc.split.strategy=ETL&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8 + url: jdbc:mysql://127.0.0.1:3306/reliability_simulat?allowMultiQueries=true&hive.exec.orc.split.strategy=ETL&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8 username: root - password: root - #password: 123456 + #password: root + password: 123456 # driver-class-name: com.kingbase8.Driver # url: jdbc:kingbase8://192.168.0.25:54321/ZHPT?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai # username: SYSTEM @@ -120,6 +120,7 @@ type: local local-domain: http://127.0.0.1:8066/reliability_simulat/ local-path: D:/ReliabilitySimulation/ #闄勪欢瀛樺偍鐩綍 + log-path: C:/Users/admin/Desktop/fileManage(Service)/logs/spring.log #鏃ュ織鐩綍 local-qd-path: D:/TestProjectFiles/ #闄勪欢瀛樺偍鐩綍 local-prefix: accessories #闄勪欢瀛樺偍瀛愮洰褰� local-area: sy diff --git a/web/src/views/modules/sys/check.vue b/web/src/views/modules/sys/check.vue new file mode 100644 index 0000000..2fbf31c --- /dev/null +++ b/web/src/views/modules/sys/check.vue @@ -0,0 +1,59 @@ +<template> + <div> + <el-form :inline="true" label-width="150px"> + <el-form-item label="Sql" prop="sql" label-width="150px"> + <textarea v-model="sql" style="width: 660px;height:200px"></textarea> + </el-form-item> + <el-button type="primary" @click="check()">鏌ヨ</el-button> + <el-button type="primary" @click="logDownload()">鏃ュ織涓嬭浇</el-button> + </el-form> + <el-table :data="tableData" height="100px" v-adaptive="{bottomOffset:30}" + :header-cell-style="{'text-align':'center'}"> + <el-table-column v-for="column in tableColumns" :key="column.prop" :prop="column.prop" :label="column.label"> + </el-table-column> + </el-table> + </div> +</template> + +<script> + + import qs from "qs"; + import Cookies from "js-cookie"; + + export default { + data() { + return { + sql: '' + } + }, + props: { + tableData: { + type: Array, + }, + tableColumns: { + type: Array, + } + }, + methods: { + async check() { + let params = { + sql: this.sql + } + let res = await this.$http.get('/sys/mysql/check', {params: params}) + if (res.success) { + console.log(res) + this.tableData = res.data.tableData + this.tableColumns = res.data.tableColumns + } + }, + async logDownload() { + let param = qs.stringify({ + 'token': Cookies.get('token') + }) + let apiURL = `/sys/mysql/logDownload` + window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${param}` + } + } + } +</script> + diff --git a/web/src/views/modules/sys/dataStructure.vue b/web/src/views/modules/sys/dataStructure.vue new file mode 100644 index 0000000..46303c0 --- /dev/null +++ b/web/src/views/modules/sys/dataStructure.vue @@ -0,0 +1,53 @@ +<template> + <div> + <el-row :gutter="5"> + <el-col :span="6"> + <div class="fa-card-a"> + <el-table :data="tableList" @row-click="selectTable" border highlight-current-row + :header-cell-style="{'text-align':'center'}" v-adaptive="{bottomOffset:30}" height="100px"> + <el-table-column prop="tableName" label="鏁版嵁搴撹〃鍚�" align="left"/> + </el-table> + </div> + </el-col> + <el-col :span="18"> + <el-table v-loading="loading" :data="fieldData" border + height="100px" v-adaptive="{bottomOffset:30}" + :header-cell-style="{'text-align':'center'}"> + <el-table-column prop="columnName" label="瀛楁鍚�" align="center"/> + <el-table-column prop="remarks" label="澶囨敞" align="center"/> + <el-table-column prop="typeName" label="鏁版嵁绫诲瀷" align="center"/> + </el-table> + </el-col> + </el-row> + </div> +</template> + +<script> + export default { + data() { + return { + tableList: [], + fieldData: [], + loading: false, + } + }, + created() { + this.getInfo2() + }, + components: {}, + methods: { + async getInfo2() { + let res = await this.$http.get(`/sys/generator/properties`) + if (res.success) { + this.tableList = res.data.tableList + } + }, + async selectTable(row) { + let res = await this.$http.get('/sys/generator/getTable?tableName=' + row.tableName) + if (res.success) { + this.fieldData = res.data + } + }, + } + } +</script> diff --git a/web/src/views/modules/sys/execute.vue b/web/src/views/modules/sys/execute.vue new file mode 100644 index 0000000..01732fa --- /dev/null +++ b/web/src/views/modules/sys/execute.vue @@ -0,0 +1,34 @@ +<template> + <div> + <el-form :inline="true" label-width="150px"> + <el-form-item label="Sql" prop="sql" label-width="150px"> + <textarea v-model="sql" style="width: 660px;height:200px"></textarea> + </el-form-item> + <el-button type="primary" @click="execute()">鎵ц</el-button> + </el-form> + </div> +</template> + +<script> + + export default { + data() { + return { + sql: '' + } + }, + methods: { + async execute() { + let params = { + sql: this.sql + } + let res = await this.$http.get('/sys/mysql/execute', {params: params}) + if (res.success){ + this.$alert('鎵ц鎴愬姛') + } + } + }, + + }; +</script> + diff --git a/web/src/views/modules/taskReliability/ReliabilityAssess.vue b/web/src/views/modules/taskReliability/ReliabilityAssess.vue index 520ac70..1a45d62 100644 --- a/web/src/views/modules/taskReliability/ReliabilityAssess.vue +++ b/web/src/views/modules/taskReliability/ReliabilityAssess.vue @@ -17,7 +17,7 @@ <el-input v-model="dataForm.confidence" placeholder="缃俊搴�" clearable></el-input> </zt-form-item> <el-button type="primary" @click="assess()">璇勫畾</el-button> - <el-button type="primary" @click="add()">鏂板璇勫畾鏁版嵁</el-button> + <el-button type="primary" @click="assessData()">璇勫畾鏁版嵁绠$悊</el-button> <el-button type="primary" @click="handleExpand()">{{expandText}}</el-button> <el-dropdown style="margin-left: 10px" @command="download"> <el-button type="primary"> @@ -45,7 +45,7 @@ <el-table-column prop="assessResult" label="璇勫畾缁撴灉" align="right"> </el-table-column> </el-table> - <add-or-update @refreshDataList="refreshData" ref="AddOrUpdate"/> + <assess-manage @refreshDataList="refreshData" ref="AssessManage"/> </zt-table-wraper> <el-dialog v-dialogDrag :close-on-click-modal="false" top="8vh" :visible.sync="dialogVisible" title="妯″瀷妫�鏌�" width="60%" @close="dialogVisible = false"> @@ -69,9 +69,9 @@ </div> </template> <script> - import AddOrUpdate from './RelisbilityAssess-AddOrUpdate' import qs from "qs"; import Cookies from "js-cookie"; + import AssessManage from "./RelisbilityAssess-Manage"; export default { data() { @@ -102,7 +102,7 @@ } }, components: { - AddOrUpdate + AssessManage, }, mounted() { this.getProductList() @@ -128,6 +128,9 @@ } }) }, + refreshData(){ + this.getAssessDataList() + }, async zhixin() { await this.getTaskList() await this.getAssessDataList() @@ -149,9 +152,6 @@ this.page() } }, - refreshData() { - this.getAssessDataList(); - }, async getAssessDataList() { let params = { productId: this.dataForm.productId @@ -165,11 +165,11 @@ } this.flag2 = true }, - add() { - this.$refs.AddOrUpdate.$refs.dialog.init(null, { + assessData(){ + this.$refs.AssessManage.$refs.dialog.init(null, { productId: this.dataForm.productId, shipName: this.dataForm.shipName - }) + }) }, async assess() { this.dialogVisible = false diff --git a/web/src/views/modules/taskReliability/RelisbilityAssess-AddOrUpdate.vue b/web/src/views/modules/taskReliability/RelisbilityAssess-AddOrUpdate.vue index 92867ed..fe9209c 100644 --- a/web/src/views/modules/taskReliability/RelisbilityAssess-AddOrUpdate.vue +++ b/web/src/views/modules/taskReliability/RelisbilityAssess-AddOrUpdate.vue @@ -1,5 +1,5 @@ <template> - <zt-dialog ref="dialog" @confirm="formSubmit" :hasConfirm="true"> + <zt-dialog ref="dialog" append-to-body @confirm="formSubmit" :hasConfirm="true"> <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px"> <zt-form-item label="鎬讳綋鑺傜偣" prop="shipName"> <el-input v-model="dataForm.shipName" :readonly="true"></el-input> @@ -22,7 +22,6 @@ <div style="display:inline-block;font-size: 14px;" class="el-upload__tip"> 鍙兘涓婁紶.xlsx鎴�.xls鐨勬枃浠讹紝涓斾笉瓒呰繃2G</div> <el-button slot="trigger" size="small" type="primary" style="font-size: 15px">閫夊彇鏂囦欢</el-button> <el-button type="primary" size="small" style="margin-left:20px;font-size: 15px" @click="submitUpload()">鎻� 浜�</el-button> - <el-button type="primary" size="small" style="margin-left:20px;font-size: 15px" @click="exportData()">涓嬭浇鏁版嵁妯℃澘</el-button> </el-upload> </zt-form-item> <el-progress :text-inside="true" :stroke-width="30" :percentage="progress.speed"></el-progress> @@ -36,9 +35,11 @@ import Cookies from "js-cookie"; export default { + name:'assess-AddOrUpdate', data() { return { dataForm: { + id:'', name:'', productId:'' }, @@ -58,11 +59,16 @@ }, methods: { async init(id, param) { - let result = await this.$http.get(`/basicInfo/TyProductModel/getUuid`) - this.dataForm.itemId = result.data + if(id){ + this.dataForm.itemId=id + this.dataForm.id=id + this.dataForm.name=param.name + }else{ + let result = await this.$http.get(`/basicInfo/TyProductModel/getUuid`) + this.dataForm.itemId = result.data + } this.dataForm.productId = param.productId this.dataForm.shipName = param.shipName - this.fileList = [] this.resultData = [] this.progress.id = guid() let params = qs.stringify({ @@ -129,16 +135,19 @@ name:this.dataForm.name, productId:this.dataForm.productId } - let res = await this.$http.post('/taskReliability/ReliabilityAssess/add', param) + let res + if (this.dataForm.id){ + res = await this.$http.post('/taskReliability/ReliabilityAssess/update', param) + }else{ + res = await this.$http.post('/taskReliability/ReliabilityAssess/add', param) + } if (res.success) { await this.$tip.success() this.$refs.dialog.close() this.$emit('refreshDataList') } }, - exportData() { - window.location.href = './璇勫畾鏁版嵁瀵煎叆妯℃澘.xlsx' - }, + } } </script> diff --git a/web/src/views/modules/taskReliability/RelisbilityAssess-Manage.vue b/web/src/views/modules/taskReliability/RelisbilityAssess-Manage.vue new file mode 100644 index 0000000..07f6b1b --- /dev/null +++ b/web/src/views/modules/taskReliability/RelisbilityAssess-Manage.vue @@ -0,0 +1,91 @@ +<template> + <zt-dialog ref="dialog" column="2" append-to-body title="璇勫畾鏁版嵁绠$悊" :editAble="false" :hasConfirm="false"> + <el-form :inline="true" label-width="100px" :model="dataForm"> + <el-form-item label="鎬讳綋鑺傜偣" prop="shipName" style="width: 26%"> + <el-input v-model="dataForm.shipName" :readonly="true"></el-input> + </el-form-item> + <el-form-item> + <el-button type="primary" size="small" style="margin-left:20px;font-size: 15px" @click="exportData()">涓嬭浇鏁版嵁妯℃澘 + </el-button> + <el-button type="primary" @click="add()">鏂板</el-button> + </el-form-item> + </el-form> + <el-table :data="assessData" border highlight-current-row + :header-cell-style="{'text-align':'center'}"> + <el-table-column prop="name" label="璇勫畾鏁版嵁鍚嶇О" align="center"/> + <el-table-column width="100"> + <template v-slot="{row}"> + <zt-table-button type="primary" @click="updateAssess(row)">淇敼</zt-table-button> + <zt-table-button type="primary" @click="deleteAssess(row)">鍒犻櫎</zt-table-button> + </template> + </el-table-column> + </el-table> + <add-or-update @refreshDataList="refreshData" ref="addOrUpdate"/> + </zt-dialog> +</template> + +<script> + import addOrUpdate from "./RelisbilityAssess-AddOrUpdate"; + + export default { + name: 'assess-Manage', + data() { + return { + dataForm: { + shipName: '', + name: '', + productId: '' + }, + assessData: [], + productList: [], + } + }, + components: { + addOrUpdate + }, + methods: { + async init(id, param) { + this.dataForm.productId = param.productId + this.dataForm.shipName = param.shipName + this.getAssessDataList() + }, + refreshData(){ + this.getAssessDataList() + }, + async getAssessDataList() { + let params = { + productId: this.dataForm.productId + } + let res = await this.$http.get(`/taskReliability/ReliabilityAssess/getAssessDataList`, {params: params}) + if (res.success) { + this.assessData = res.data + } + }, + add() { + this.$refs.addOrUpdate.$refs.dialog.init(null, { + productId: this.dataForm.productId, + shipName: this.dataForm.shipName + }) + }, + updateAssess(row) { + this.$refs.addOrUpdate.$refs.dialog.init(row.id, { + productId: row.productId, + shipName: this.dataForm.shipName, + name: row.name + }) + }, + async deleteAssess(row) { + let params = { + id: row.id + } + let res = await this.$http.get(`/taskReliability/ReliabilityAssess/delete`, {params: params}) + if (res.success) { + this.getAssessDataList() + } + }, + exportData() { + window.location.href = './璇勫畾鏁版嵁瀵煎叆妯℃澘.xlsx' + }, + } + } +</script> diff --git a/web/src/views/modules/taskReliability/SimulatAssess.vue b/web/src/views/modules/taskReliability/SimulatAssess.vue index 7b59686..6739d7a 100644 --- a/web/src/views/modules/taskReliability/SimulatAssess.vue +++ b/web/src/views/modules/taskReliability/SimulatAssess.vue @@ -8,6 +8,9 @@ <zt-form-item label="鎬讳綋浠诲姟" prop="taskModelId"> <zt-select v-model="dataForm.taskModelId" :datas="taskList" @change="onTaskSelected"/> </zt-form-item> + <zt-form-item label="浠跨湡鍚嶇О" prop="name"> + <el-input v-model="dataForm.name" placeholder="璇疯緭鍏ュ悕绉�" clearable></el-input> + </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;"> @@ -26,15 +29,6 @@ <zt-form-item style="margin-left: 10px"> <zt-button @click="analyze()">浠跨湡鍒嗘瀽</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> @@ -94,6 +88,7 @@ dataForm: { id: '', pid: '', + name:'', productId: '', showProductId: '', taskModelId: '', @@ -109,13 +104,6 @@ }, mounted() { this.getProductList() - }, - watch: { - // percentage() { - // if (this.percentage === 100) { - // this.$refs.SimulatCurve.initEcharts(this.dataForm); - // } - // } }, components: { ProductModelTree, @@ -195,21 +183,6 @@ this.timers = window.setInterval(this.getStroke, 1000) } } - }, - 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/SimulatCurve.vue b/web/src/views/modules/taskReliability/SimulatCurve.vue index 835cab1..7d7fadf 100644 --- a/web/src/views/modules/taskReliability/SimulatCurve.vue +++ b/web/src/views/modules/taskReliability/SimulatCurve.vue @@ -68,6 +68,7 @@ }, series: [ { + symbol: "none", data: this.yDataList, type: 'line', smooth: true diff --git a/web/src/views/modules/taskReliability/SimulatHistory.vue b/web/src/views/modules/taskReliability/SimulatHistory.vue index 6f9d89e..a6f6d41 100644 --- a/web/src/views/modules/taskReliability/SimulatHistory.vue +++ b/web/src/views/modules/taskReliability/SimulatHistory.vue @@ -20,6 +20,15 @@ <el-input v-model="dataForm.simulatFrequency" readonly="false" style="width: 150px;vertical-align: baseline;"> </el-input> </zt-form-item> + <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-col :span="4"> <div style="margin-right: 5px;height: calc(100vh - 230px)" v-if="isSelect"> @@ -39,6 +48,8 @@ <script> import SimulatCurve from "./SimulatCurve"; import ProductModelTree from "../basicInfo/ProductModelTree"; + import qs from "qs"; + import Cookies from "js-cookie"; export default { @@ -133,6 +144,20 @@ this.$refs.SimulatCurve.initEcharts(this.dataForm) }) }, + 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('杩樻湭閫夋嫨浠跨湡璁板綍') + } + }, } } </script> diff --git a/web/src/views/modules/taskReliability/TaskPhase.vue b/web/src/views/modules/taskReliability/TaskPhase.vue index cd0f714..2d49a1b 100644 --- a/web/src/views/modules/taskReliability/TaskPhase.vue +++ b/web/src/views/modules/taskReliability/TaskPhase.vue @@ -38,7 +38,7 @@ </div> </el-col> <el-col :span="6"> - <task-phase-model @getList="refreshData" ref="model"/> + <task-phase-model ref="model"/> </el-col> </el-row> </div> @@ -71,7 +71,6 @@ methods: { refreshData() { this.$refs.tableObj.query() - this.$refs.task.$refs.tableObj.query() }, dataLoaded(data) { this.time = null -- Gitblit v1.9.1