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 &lt;&gt; 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 &lt;&gt; 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">&nbsp;&nbsp;&nbsp;鍙兘涓婁紶.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