From 78830ddf56a41d16ab440a1ed3019ef77b3db4af Mon Sep 17 00:00:00 2001
From: wujian <14790700720@163.com>
Date: 星期三, 24 一月 2024 10:34:22 +0800
Subject: [PATCH] add 首页 amend

---
 jcdm-ui/src/views/main/da/passingStationCollection/index.vue                                                              |   31 -
 jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/mapper/DaTileMatchRulesMapper.java                                |   61 ++
 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java         |    2 
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java                                    |    3 
 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java    |   10 
 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java |   18 
 jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/controller/DaTileMatchRulesController.java                        |  104 ++++
 jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/domain/DaTileMatchRules.java                                      |  235 +++++++++
 jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml                      |    3 
 jcdm-ui/src/api/main/bs/tileMatchRules/tileMatchRules.js                                                                  |   44 +
 jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/service/impl/DaTileMatchRulesServiceImpl.java                     |   96 +++
 jcdm-main/src/main/resources/mapper/da/tileMatchRules/DaTileMatchRulesMapper.xml                                          |  129 ++++
 jcdm-ui/src/views/main/da/tileMatchRules/index.vue                                                                        |  473 ++++++++++++++++++
 jcdm-ui/src/views/main/kb/repairMark/index.vue                                                                            |  209 ++++++++
 jcdm-ui/src/views/main/da/paramCollection/index.vue                                                                       |   12 
 jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js                                              |    9 
 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java                  |   24 
 jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/service/IDaTileMatchRulesService.java                             |   61 ++
 18 files changed, 1,478 insertions(+), 46 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java
index 7077b10..37b5841 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java
@@ -65,8 +65,7 @@
     private String paramStandard;
 
     /** 閲囬泦鏃堕棿 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "閲囬泦鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+    @Excel(name = "閲囬泦鏃堕棿")
     private Date collectionTime;
 
     /** 棰勭暀瀛楁1 */
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java
index f315cc9..19831e2 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java
@@ -59,6 +59,16 @@
     }
 
     /**
+     * 鏌ヨ浜у搧杩囩珯閲囬泦鍒楄〃
+     */
+    @GetMapping("/insertRepairRecordByIds")
+    public AjaxResult insertRepairRecordByIds(DaPassingStationCollection daPassingStationCollection)
+    {
+        daPassingStationCollectionService.insertRepairRecordByIds(daPassingStationCollection);
+        return AjaxResult.success();
+    }
+
+    /**
      * 瀵煎嚭浜у搧杩囩珯閲囬泦鍒楄〃
      */
     @PreAuthorize("@ss.hasPermi('da:passingStationCollection:export')")
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java
index faf27ba..a61ca36 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java
@@ -45,13 +45,13 @@
     private String equipmentNo;
 
     /** 鍏ョ珯鏃堕棿 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "鍏ョ珯鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+//    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "鍏ョ珯鏃堕棿")
     private Date inboundTime;
 
     /** 鍑虹珯鏃堕棿 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "鍑虹珯鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+//    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "鍑虹珯鏃堕棿")
     private Date outboundTime;
 
     /** 鍏ョ珯鏄惁鍚堟牸 */
@@ -71,8 +71,8 @@
     private String outMsgSign;
 
     /** 閲囬泦鏃堕棿 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "閲囬泦鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+//    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "閲囬泦鏃堕棿")
     private Date collectionTime;
 
     /** 棰勭暀瀛楁1 */
@@ -91,7 +91,17 @@
     @Excel(name = "鑺傛媿鏃堕棿")
     private String beatTime;
 
-    public void setId(Long id) 
+    private Long[] ids;
+
+    public Long[] getIds() {
+        return ids;
+    }
+
+    public void setIds(Long[] ids) {
+        this.ids = ids;
+    }
+
+    public void setId(Long id)
     {
         this.id = id;
     }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java
index 81cc555..cb8845e 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java
@@ -68,4 +68,6 @@
      * @return 缁撴灉
      */
     public int deleteDaPassingStationCollectionById(Long id);
+
+    void insertRepairRecordByIds(DaPassingStationCollection daPassingStationCollection);
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java
index 9860373..3b5fbe4 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java
@@ -14,6 +14,8 @@
 import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
 import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper;
 import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
+import com.jcdm.main.rm.repairRecord.domain.RmRepairRecord;
+import com.jcdm.main.rm.repairRecord.mapper.RmRepairRecordMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.stereotype.Service;
@@ -29,6 +31,9 @@
 {
     @Autowired
     private DaPassingStationCollectionMapper daPassingStationCollectionMapper;
+
+    @Autowired
+    private RmRepairRecordMapper rmRepairRecordMapper;
 
     @Autowired
     private BsOrderSchedulingMapper bsOrderSchedulingMapper;
@@ -129,4 +134,17 @@
     {
         return daPassingStationCollectionMapper.deleteDaPassingStationCollectionById(id);
     }
+
+    @Override
+    public void insertRepairRecordByIds(DaPassingStationCollection daPassingStationCollection) {
+        Long[] conditions = daPassingStationCollection.getIds();
+        for (int i = 0; i < conditions.length; i++) {
+            DaPassingStationCollection result = daPassingStationCollectionMapper.selectDaPassingStationCollectionById(conditions[i]);
+            RmRepairRecord rmRepairRecord = new RmRepairRecord();
+            rmRepairRecord.setBoxCode(result.getSfcCode());
+            rmRepairRecord.setProcessesCode(result.getLocationCode());
+            rmRepairRecord.setOriginalResult(result.getOutRsSign());
+            rmRepairRecordMapper.insertRmRepairRecord(rmRepairRecord);
+        }
+    }
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/controller/DaTileMatchRulesController.java b/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/controller/DaTileMatchRulesController.java
new file mode 100644
index 0000000..db6d3ad
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/controller/DaTileMatchRulesController.java
@@ -0,0 +1,104 @@
+package com.jcdm.main.da.tileMatchRules.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.jcdm.common.annotation.Log;
+import com.jcdm.common.core.controller.BaseController;
+import com.jcdm.common.core.domain.AjaxResult;
+import com.jcdm.common.enums.BusinessType;
+import com.jcdm.main.da.tileMatchRules.domain.DaTileMatchRules;
+import com.jcdm.main.da.tileMatchRules.service.IDaTileMatchRulesService;
+import com.jcdm.common.utils.poi.ExcelUtil;
+import com.jcdm.common.core.page.TableDataInfo;
+
+/**
+ * 閰嶇摝瑙勫垯Controller
+ * 
+ * @author jiang
+ * @date 2024-01-24
+ */
+@RestController
+@RequestMapping("/da/tileMatchRules")
+public class DaTileMatchRulesController extends BaseController
+{
+    @Autowired
+    private IDaTileMatchRulesService daTileMatchRulesService;
+
+    /**
+     * 鏌ヨ閰嶇摝瑙勫垯鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('da:tileMatchRules:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(DaTileMatchRules daTileMatchRules)
+    {
+        startPage();
+        List<DaTileMatchRules> list = daTileMatchRulesService.selectDaTileMatchRulesList(daTileMatchRules);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭閰嶇摝瑙勫垯鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('da:tileMatchRules:export')")
+    @Log(title = "閰嶇摝瑙勫垯", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, DaTileMatchRules daTileMatchRules)
+    {
+        List<DaTileMatchRules> list = daTileMatchRulesService.selectDaTileMatchRulesList(daTileMatchRules);
+        ExcelUtil<DaTileMatchRules> util = new ExcelUtil<DaTileMatchRules>(DaTileMatchRules.class);
+        util.exportExcel(response, list, "閰嶇摝瑙勫垯鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇閰嶇摝瑙勫垯璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('da:tileMatchRules:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(daTileMatchRulesService.selectDaTileMatchRulesById(id));
+    }
+
+    /**
+     * 鏂板閰嶇摝瑙勫垯
+     */
+    @PreAuthorize("@ss.hasPermi('da:tileMatchRules:add')")
+    @Log(title = "閰嶇摝瑙勫垯", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody DaTileMatchRules daTileMatchRules)
+    {
+        return toAjax(daTileMatchRulesService.insertDaTileMatchRules(daTileMatchRules));
+    }
+
+    /**
+     * 淇敼閰嶇摝瑙勫垯
+     */
+    @PreAuthorize("@ss.hasPermi('da:tileMatchRules:edit')")
+    @Log(title = "閰嶇摝瑙勫垯", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody DaTileMatchRules daTileMatchRules)
+    {
+        return toAjax(daTileMatchRulesService.updateDaTileMatchRules(daTileMatchRules));
+    }
+
+    /**
+     * 鍒犻櫎閰嶇摝瑙勫垯
+     */
+    @PreAuthorize("@ss.hasPermi('da:tileMatchRules:remove')")
+    @Log(title = "閰嶇摝瑙勫垯", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(daTileMatchRulesService.deleteDaTileMatchRulesByIds(ids));
+    }
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/domain/DaTileMatchRules.java b/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/domain/DaTileMatchRules.java
new file mode 100644
index 0000000..45c490c
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/domain/DaTileMatchRules.java
@@ -0,0 +1,235 @@
+package com.jcdm.main.da.tileMatchRules.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.jcdm.common.annotation.Excel;
+import com.jcdm.common.core.domain.BaseEntity;
+
+/**
+ * 閰嶇摝瑙勫垯瀵硅薄 da_tile_match_rules
+ * 
+ * @author jiang
+ * @date 2024-01-24
+ */
+public class DaTileMatchRules extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 涓婚敭id */
+    private Long id;
+
+    /** 浜у搧绯诲垪 */
+    @Excel(name = "浜у搧绯诲垪")
+    private String productSeries;
+
+    /** 鎵爜瀵硅薄1 */
+    @Excel(name = "鎵爜瀵硅薄1")
+    private String scanObject1;
+
+    /** 鎵爜瀵硅薄2 */
+    @Excel(name = "鎵爜瀵硅薄2")
+    private String scanObject2;
+
+    /** 杞村悕绉� */
+    @Excel(name = "杞村悕绉�")
+    private String axisName;
+
+    /** 棰堝悕绉� */
+    @Excel(name = "棰堝悕绉�")
+    private String neckName;
+
+    /** 鐡﹀悕绉� */
+    @Excel(name = "鐡﹀悕绉�")
+    private String tileName;
+
+    /** 杞村弬鏁版暟浣嶇疆 */
+    @Excel(name = "杞村弬鏁版暟浣嶇疆")
+    private Long axisParameterNoPosition;
+
+    /** 棰堝弬鏁版暟浣嶇疆 */
+    @Excel(name = "棰堝弬鏁版暟浣嶇疆")
+    private Long neckParameterPosition;
+
+    /** 杞村�� */
+    @Excel(name = "杞村��")
+    private String axisValue;
+
+    /** 棰堝�� */
+    @Excel(name = "棰堝��")
+    private String neckValue;
+
+    /** 鐡﹂鑹� */
+    @Excel(name = "鐡﹂鑹�")
+    private String tileColor;
+
+    /** 鍒涘缓鐢ㄦ埛 */
+    @Excel(name = "鍒涘缓鐢ㄦ埛")
+    private String createUser;
+
+    /** 鏇存敼鐢ㄦ埛 */
+    @Excel(name = "鏇存敼鐢ㄦ埛")
+    private String updateUser;
+
+    /** 鐘舵�侊紙1鍚堟牸銆�2涓嶅悎鏍硷級 */
+    @Excel(name = "鐘舵��", readConverterExp = "1=鍚堟牸銆�2涓嶅悎鏍�")
+    private String state;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setProductSeries(String productSeries) 
+    {
+        this.productSeries = productSeries;
+    }
+
+    public String getProductSeries() 
+    {
+        return productSeries;
+    }
+    public void setScanObject1(String scanObject1) 
+    {
+        this.scanObject1 = scanObject1;
+    }
+
+    public String getScanObject1() 
+    {
+        return scanObject1;
+    }
+    public void setScanObject2(String scanObject2) 
+    {
+        this.scanObject2 = scanObject2;
+    }
+
+    public String getScanObject2() 
+    {
+        return scanObject2;
+    }
+    public void setAxisName(String axisName) 
+    {
+        this.axisName = axisName;
+    }
+
+    public String getAxisName() 
+    {
+        return axisName;
+    }
+    public void setNeckName(String neckName) 
+    {
+        this.neckName = neckName;
+    }
+
+    public String getNeckName() 
+    {
+        return neckName;
+    }
+    public void setTileName(String tileName) 
+    {
+        this.tileName = tileName;
+    }
+
+    public String getTileName() 
+    {
+        return tileName;
+    }
+    public void setAxisParameterNoPosition(Long axisParameterNoPosition) 
+    {
+        this.axisParameterNoPosition = axisParameterNoPosition;
+    }
+
+    public Long getAxisParameterNoPosition() 
+    {
+        return axisParameterNoPosition;
+    }
+    public void setNeckParameterPosition(Long neckParameterPosition) 
+    {
+        this.neckParameterPosition = neckParameterPosition;
+    }
+
+    public Long getNeckParameterPosition() 
+    {
+        return neckParameterPosition;
+    }
+    public void setAxisValue(String axisValue) 
+    {
+        this.axisValue = axisValue;
+    }
+
+    public String getAxisValue() 
+    {
+        return axisValue;
+    }
+    public void setNeckValue(String neckValue) 
+    {
+        this.neckValue = neckValue;
+    }
+
+    public String getNeckValue() 
+    {
+        return neckValue;
+    }
+    public void setTileColor(String tileColor) 
+    {
+        this.tileColor = tileColor;
+    }
+
+    public String getTileColor() 
+    {
+        return tileColor;
+    }
+    public void setCreateUser(String createUser) 
+    {
+        this.createUser = createUser;
+    }
+
+    public String getCreateUser() 
+    {
+        return createUser;
+    }
+    public void setUpdateUser(String updateUser) 
+    {
+        this.updateUser = updateUser;
+    }
+
+    public String getUpdateUser() 
+    {
+        return updateUser;
+    }
+    public void setState(String state) 
+    {
+        this.state = state;
+    }
+
+    public String getState() 
+    {
+        return state;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("productSeries", getProductSeries())
+            .append("scanObject1", getScanObject1())
+            .append("scanObject2", getScanObject2())
+            .append("axisName", getAxisName())
+            .append("neckName", getNeckName())
+            .append("tileName", getTileName())
+            .append("axisParameterNoPosition", getAxisParameterNoPosition())
+            .append("neckParameterPosition", getNeckParameterPosition())
+            .append("axisValue", getAxisValue())
+            .append("neckValue", getNeckValue())
+            .append("tileColor", getTileColor())
+            .append("createUser", getCreateUser())
+            .append("createTime", getCreateTime())
+            .append("updateUser", getUpdateUser())
+            .append("updateTime", getUpdateTime())
+            .append("state", getState())
+            .toString();
+    }
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/mapper/DaTileMatchRulesMapper.java b/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/mapper/DaTileMatchRulesMapper.java
new file mode 100644
index 0000000..2a7e0bc
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/mapper/DaTileMatchRulesMapper.java
@@ -0,0 +1,61 @@
+package com.jcdm.main.da.tileMatchRules.mapper;
+
+import java.util.List;
+import com.jcdm.main.da.tileMatchRules.domain.DaTileMatchRules;
+
+/**
+ * 閰嶇摝瑙勫垯Mapper鎺ュ彛
+ * 
+ * @author jiang
+ * @date 2024-01-24
+ */
+public interface DaTileMatchRulesMapper 
+{
+    /**
+     * 鏌ヨ閰嶇摝瑙勫垯
+     * 
+     * @param id 閰嶇摝瑙勫垯涓婚敭
+     * @return 閰嶇摝瑙勫垯
+     */
+    public DaTileMatchRules selectDaTileMatchRulesById(Long id);
+
+    /**
+     * 鏌ヨ閰嶇摝瑙勫垯鍒楄〃
+     * 
+     * @param daTileMatchRules 閰嶇摝瑙勫垯
+     * @return 閰嶇摝瑙勫垯闆嗗悎
+     */
+    public List<DaTileMatchRules> selectDaTileMatchRulesList(DaTileMatchRules daTileMatchRules);
+
+    /**
+     * 鏂板閰嶇摝瑙勫垯
+     * 
+     * @param daTileMatchRules 閰嶇摝瑙勫垯
+     * @return 缁撴灉
+     */
+    public int insertDaTileMatchRules(DaTileMatchRules daTileMatchRules);
+
+    /**
+     * 淇敼閰嶇摝瑙勫垯
+     * 
+     * @param daTileMatchRules 閰嶇摝瑙勫垯
+     * @return 缁撴灉
+     */
+    public int updateDaTileMatchRules(DaTileMatchRules daTileMatchRules);
+
+    /**
+     * 鍒犻櫎閰嶇摝瑙勫垯
+     * 
+     * @param id 閰嶇摝瑙勫垯涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteDaTileMatchRulesById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎閰嶇摝瑙勫垯
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteDaTileMatchRulesByIds(Long[] ids);
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/service/IDaTileMatchRulesService.java b/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/service/IDaTileMatchRulesService.java
new file mode 100644
index 0000000..d09a8de
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/service/IDaTileMatchRulesService.java
@@ -0,0 +1,61 @@
+package com.jcdm.main.da.tileMatchRules.service;
+
+import java.util.List;
+import com.jcdm.main.da.tileMatchRules.domain.DaTileMatchRules;
+
+/**
+ * 閰嶇摝瑙勫垯Service鎺ュ彛
+ * 
+ * @author jiang
+ * @date 2024-01-24
+ */
+public interface IDaTileMatchRulesService 
+{
+    /**
+     * 鏌ヨ閰嶇摝瑙勫垯
+     * 
+     * @param id 閰嶇摝瑙勫垯涓婚敭
+     * @return 閰嶇摝瑙勫垯
+     */
+    public DaTileMatchRules selectDaTileMatchRulesById(Long id);
+
+    /**
+     * 鏌ヨ閰嶇摝瑙勫垯鍒楄〃
+     * 
+     * @param daTileMatchRules 閰嶇摝瑙勫垯
+     * @return 閰嶇摝瑙勫垯闆嗗悎
+     */
+    public List<DaTileMatchRules> selectDaTileMatchRulesList(DaTileMatchRules daTileMatchRules);
+
+    /**
+     * 鏂板閰嶇摝瑙勫垯
+     * 
+     * @param daTileMatchRules 閰嶇摝瑙勫垯
+     * @return 缁撴灉
+     */
+    public int insertDaTileMatchRules(DaTileMatchRules daTileMatchRules);
+
+    /**
+     * 淇敼閰嶇摝瑙勫垯
+     * 
+     * @param daTileMatchRules 閰嶇摝瑙勫垯
+     * @return 缁撴灉
+     */
+    public int updateDaTileMatchRules(DaTileMatchRules daTileMatchRules);
+
+    /**
+     * 鎵归噺鍒犻櫎閰嶇摝瑙勫垯
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑閰嶇摝瑙勫垯涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteDaTileMatchRulesByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎閰嶇摝瑙勫垯淇℃伅
+     * 
+     * @param id 閰嶇摝瑙勫垯涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteDaTileMatchRulesById(Long id);
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/service/impl/DaTileMatchRulesServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/service/impl/DaTileMatchRulesServiceImpl.java
new file mode 100644
index 0000000..7331e4b
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchRules/service/impl/DaTileMatchRulesServiceImpl.java
@@ -0,0 +1,96 @@
+package com.jcdm.main.da.tileMatchRules.service.impl;
+
+import java.util.List;
+import com.jcdm.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.jcdm.main.da.tileMatchRules.mapper.DaTileMatchRulesMapper;
+import com.jcdm.main.da.tileMatchRules.domain.DaTileMatchRules;
+import com.jcdm.main.da.tileMatchRules.service.IDaTileMatchRulesService;
+
+/**
+ * 閰嶇摝瑙勫垯Service涓氬姟灞傚鐞�
+ * 
+ * @author jiang
+ * @date 2024-01-24
+ */
+@Service
+public class DaTileMatchRulesServiceImpl implements IDaTileMatchRulesService 
+{
+    @Autowired
+    private DaTileMatchRulesMapper daTileMatchRulesMapper;
+
+    /**
+     * 鏌ヨ閰嶇摝瑙勫垯
+     * 
+     * @param id 閰嶇摝瑙勫垯涓婚敭
+     * @return 閰嶇摝瑙勫垯
+     */
+    @Override
+    public DaTileMatchRules selectDaTileMatchRulesById(Long id)
+    {
+        return daTileMatchRulesMapper.selectDaTileMatchRulesById(id);
+    }
+
+    /**
+     * 鏌ヨ閰嶇摝瑙勫垯鍒楄〃
+     * 
+     * @param daTileMatchRules 閰嶇摝瑙勫垯
+     * @return 閰嶇摝瑙勫垯
+     */
+    @Override
+    public List<DaTileMatchRules> selectDaTileMatchRulesList(DaTileMatchRules daTileMatchRules)
+    {
+        return daTileMatchRulesMapper.selectDaTileMatchRulesList(daTileMatchRules);
+    }
+
+    /**
+     * 鏂板閰嶇摝瑙勫垯
+     * 
+     * @param daTileMatchRules 閰嶇摝瑙勫垯
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertDaTileMatchRules(DaTileMatchRules daTileMatchRules)
+    {
+        daTileMatchRules.setCreateTime(DateUtils.getNowDate());
+        return daTileMatchRulesMapper.insertDaTileMatchRules(daTileMatchRules);
+    }
+
+    /**
+     * 淇敼閰嶇摝瑙勫垯
+     * 
+     * @param daTileMatchRules 閰嶇摝瑙勫垯
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateDaTileMatchRules(DaTileMatchRules daTileMatchRules)
+    {
+        daTileMatchRules.setUpdateTime(DateUtils.getNowDate());
+        return daTileMatchRulesMapper.updateDaTileMatchRules(daTileMatchRules);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎閰嶇摝瑙勫垯
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑閰嶇摝瑙勫垯涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteDaTileMatchRulesByIds(Long[] ids)
+    {
+        return daTileMatchRulesMapper.deleteDaTileMatchRulesByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎閰嶇摝瑙勫垯淇℃伅
+     * 
+     * @param id 閰嶇摝瑙勫垯涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteDaTileMatchRulesById(Long id)
+    {
+        return daTileMatchRulesMapper.deleteDaTileMatchRulesById(id);
+    }
+}
diff --git a/jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml b/jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml
index 3b26b5c..3eca8e2 100644
--- a/jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml
+++ b/jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml
@@ -43,6 +43,9 @@
             <if test="equipmentNo != null  and equipmentNo != ''"> and equipment_no = #{equipmentNo}</if>
             <if test="inboundTime != null "> and inbound_time = #{inboundTime}</if>
             <if test="outboundTime != null "> and outbound_time = #{outboundTime}</if>
+            <if test="outRsSign != null "> and out_rs_sign = #{outRsSign}</if>
+            <if test="outRsSign != null "> and out_rs_sign = #{outRsSign}</if>
+
         </where>
     </select>
     
diff --git a/jcdm-main/src/main/resources/mapper/da/tileMatchRules/DaTileMatchRulesMapper.xml b/jcdm-main/src/main/resources/mapper/da/tileMatchRules/DaTileMatchRulesMapper.xml
new file mode 100644
index 0000000..3de08c8
--- /dev/null
+++ b/jcdm-main/src/main/resources/mapper/da/tileMatchRules/DaTileMatchRulesMapper.xml
@@ -0,0 +1,129 @@
+<?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.jcdm.main.da.tileMatchRules.mapper.DaTileMatchRulesMapper">
+    
+    <resultMap type="DaTileMatchRules" id="DaTileMatchRulesResult">
+        <result property="id"    column="id"    />
+        <result property="productSeries"    column="product_series"    />
+        <result property="scanObject1"    column="scan_object1"    />
+        <result property="scanObject2"    column="scan_object2"    />
+        <result property="axisName"    column="axis_name"    />
+        <result property="neckName"    column="neck_name"    />
+        <result property="tileName"    column="tile_name"    />
+        <result property="axisParameterNoPosition"    column="axis_parameter_no_position"    />
+        <result property="neckParameterPosition"    column="neck_parameter_position"    />
+        <result property="axisValue"    column="axis_value"    />
+        <result property="neckValue"    column="neck_value"    />
+        <result property="tileColor"    column="tile_color"    />
+        <result property="createUser"    column="create_user"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateUser"    column="update_user"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="state"    column="state"    />
+    </resultMap>
+
+    <sql id="selectDaTileMatchRulesVo">
+        select id, product_series, scan_object1, scan_object2, axis_name, neck_name, tile_name, axis_parameter_no_position, neck_parameter_position, axis_value, neck_value, tile_color, create_user, create_time, update_user, update_time, state from da_tile_match_rules
+    </sql>
+
+    <select id="selectDaTileMatchRulesList" parameterType="DaTileMatchRules" resultMap="DaTileMatchRulesResult">
+        <include refid="selectDaTileMatchRulesVo"/>
+        <where>  
+            <if test="productSeries != null  and productSeries != ''"> and product_series = #{productSeries}</if>
+            <if test="scanObject1 != null  and scanObject1 != ''"> and scan_object1 = #{scanObject1}</if>
+            <if test="scanObject2 != null  and scanObject2 != ''"> and scan_object2 = #{scanObject2}</if>
+            <if test="axisName != null  and axisName != ''"> and axis_name like concat('%', #{axisName}, '%')</if>
+            <if test="neckName != null  and neckName != ''"> and neck_name like concat('%', #{neckName}, '%')</if>
+            <if test="tileName != null  and tileName != ''"> and tile_name like concat('%', #{tileName}, '%')</if>
+            <if test="axisParameterNoPosition != null "> and axis_parameter_no_position = #{axisParameterNoPosition}</if>
+            <if test="neckParameterPosition != null "> and neck_parameter_position = #{neckParameterPosition}</if>
+            <if test="axisValue != null  and axisValue != ''"> and axis_value = #{axisValue}</if>
+            <if test="neckValue != null  and neckValue != ''"> and neck_value = #{neckValue}</if>
+            <if test="tileColor != null  and tileColor != ''"> and tile_color = #{tileColor}</if>
+            <if test="createUser != null  and createUser != ''"> and create_user = #{createUser}</if>
+            <if test="updateUser != null  and updateUser != ''"> and update_user = #{updateUser}</if>
+            <if test="state != null  and state != ''"> and state = #{state}</if>
+        </where>
+    </select>
+    
+    <select id="selectDaTileMatchRulesById" parameterType="Long" resultMap="DaTileMatchRulesResult">
+        <include refid="selectDaTileMatchRulesVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertDaTileMatchRules" parameterType="DaTileMatchRules" useGeneratedKeys="true" keyProperty="id">
+        insert into da_tile_match_rules
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="productSeries != null">product_series,</if>
+            <if test="scanObject1 != null">scan_object1,</if>
+            <if test="scanObject2 != null">scan_object2,</if>
+            <if test="axisName != null">axis_name,</if>
+            <if test="neckName != null">neck_name,</if>
+            <if test="tileName != null">tile_name,</if>
+            <if test="axisParameterNoPosition != null">axis_parameter_no_position,</if>
+            <if test="neckParameterPosition != null">neck_parameter_position,</if>
+            <if test="axisValue != null">axis_value,</if>
+            <if test="neckValue != null">neck_value,</if>
+            <if test="tileColor != null">tile_color,</if>
+            <if test="createUser != null">create_user,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateUser != null">update_user,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="state != null">state,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="productSeries != null">#{productSeries},</if>
+            <if test="scanObject1 != null">#{scanObject1},</if>
+            <if test="scanObject2 != null">#{scanObject2},</if>
+            <if test="axisName != null">#{axisName},</if>
+            <if test="neckName != null">#{neckName},</if>
+            <if test="tileName != null">#{tileName},</if>
+            <if test="axisParameterNoPosition != null">#{axisParameterNoPosition},</if>
+            <if test="neckParameterPosition != null">#{neckParameterPosition},</if>
+            <if test="axisValue != null">#{axisValue},</if>
+            <if test="neckValue != null">#{neckValue},</if>
+            <if test="tileColor != null">#{tileColor},</if>
+            <if test="createUser != null">#{createUser},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateUser != null">#{updateUser},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="state != null">#{state},</if>
+         </trim>
+    </insert>
+
+    <update id="updateDaTileMatchRules" parameterType="DaTileMatchRules">
+        update da_tile_match_rules
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="productSeries != null">product_series = #{productSeries},</if>
+            <if test="scanObject1 != null">scan_object1 = #{scanObject1},</if>
+            <if test="scanObject2 != null">scan_object2 = #{scanObject2},</if>
+            <if test="axisName != null">axis_name = #{axisName},</if>
+            <if test="neckName != null">neck_name = #{neckName},</if>
+            <if test="tileName != null">tile_name = #{tileName},</if>
+            <if test="axisParameterNoPosition != null">axis_parameter_no_position = #{axisParameterNoPosition},</if>
+            <if test="neckParameterPosition != null">neck_parameter_position = #{neckParameterPosition},</if>
+            <if test="axisValue != null">axis_value = #{axisValue},</if>
+            <if test="neckValue != null">neck_value = #{neckValue},</if>
+            <if test="tileColor != null">tile_color = #{tileColor},</if>
+            <if test="createUser != null">create_user = #{createUser},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateUser != null">update_user = #{updateUser},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="state != null">state = #{state},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteDaTileMatchRulesById" parameterType="Long">
+        delete from da_tile_match_rules where id = #{id}
+    </delete>
+
+    <delete id="deleteDaTileMatchRulesByIds" parameterType="String">
+        delete from da_tile_match_rules where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/jcdm-ui/src/api/main/bs/tileMatchRules/tileMatchRules.js b/jcdm-ui/src/api/main/bs/tileMatchRules/tileMatchRules.js
new file mode 100644
index 0000000..6baf4e4
--- /dev/null
+++ b/jcdm-ui/src/api/main/bs/tileMatchRules/tileMatchRules.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ閰嶇摝瑙勫垯鍒楄〃
+export function listTileMatchRules(query) {
+  return request({
+    url: '/da/tileMatchRules/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ閰嶇摝瑙勫垯璇︾粏
+export function getTileMatchRules(id) {
+  return request({
+    url: '/da/tileMatchRules/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板閰嶇摝瑙勫垯
+export function addTileMatchRules(data) {
+  return request({
+    url: '/da/tileMatchRules',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼閰嶇摝瑙勫垯
+export function updateTileMatchRules(data) {
+  return request({
+    url: '/da/tileMatchRules',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎閰嶇摝瑙勫垯
+export function delTileMatchRules(id) {
+  return request({
+    url: '/da/tileMatchRules/' + id,
+    method: 'delete'
+  })
+}
diff --git a/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js b/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js
index f852ed8..57673db 100644
--- a/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js
+++ b/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js
@@ -18,6 +18,15 @@
   })
 }
 
+// 鏌ヨ浜у搧杩囩珯閲囬泦鍒楄〃
+export function insertRepairRecordByIds(query) {
+  return request({
+    url: '/da/passingStationCollection/insertRepairRecordByIds',
+    method: 'get',
+    params: query
+  })
+}
+
 // 鏌ヨ浜у搧杩囩珯閲囬泦璇︾粏
 export function getPassingStationCollection(id) {
   return request({
diff --git a/jcdm-ui/src/views/main/da/paramCollection/index.vue b/jcdm-ui/src/views/main/da/paramCollection/index.vue
index f997702..c4cded5 100644
--- a/jcdm-ui/src/views/main/da/paramCollection/index.vue
+++ b/jcdm-ui/src/views/main/da/paramCollection/index.vue
@@ -83,9 +83,9 @@
       <el-table-column label="鍙傛暟鍊�" align="center" prop="paramValue"></el-table-column>
       <el-table-column label="鍙傛暟涓婇檺" align="center" prop="paramUpper"></el-table-column>
       <el-table-column label="鍙傛暟涓嬮檺" align="center" prop="paramLower"></el-table-column>
-      <el-table-column label="閲囬泦鏃堕棿" align="center" prop="collectionTime" width="100">
+      <el-table-column label="閲囬泦鏃堕棿" align="center" prop="collectionTime" width="160">
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.collectionTime, '{y}-{m}-{d}') }}</span>
+          <span>{{ parseTime(scope.row.collectionTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
         </template>
       </el-table-column>
       <el-table-column label="鐘舵��" align="center" prop="state"></el-table-column>
@@ -163,14 +163,6 @@
         </el-form-item>
         <el-form-item label="鏍囧噯鍊�" prop="paramStandard">
           <el-input v-model="form.paramStandard" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
-        </el-form-item>
-        <el-form-item label="閲囬泦鏃堕棿" prop="collectionTime">
-          <el-date-picker clearable
-            v-model="form.collectionTime"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="璇烽�夋嫨閲囬泦鏃堕棿">
-          </el-date-picker>
         </el-form-item>
         <el-form-item label="鐘舵��" prop="state">
           <el-input v-model="form.state" placeholder="璇疯緭鍏ョ姸鎬�" />
diff --git a/jcdm-ui/src/views/main/da/passingStationCollection/index.vue b/jcdm-ui/src/views/main/da/passingStationCollection/index.vue
index d4f1e1e..0b6aa0f 100644
--- a/jcdm-ui/src/views/main/da/passingStationCollection/index.vue
+++ b/jcdm-ui/src/views/main/da/passingStationCollection/index.vue
@@ -83,29 +83,24 @@
       </el-table-column>
       <el-table-column label="宸ヤ綅缂栧彿" align="center" prop="locationCode">
       </el-table-column>
-<!--      <el-table-column label="璁惧缂栧彿" align="center" prop="equipmentNo">
-      </el-table-column>-->
       <el-table-column label="鍏ョ珯鏃堕棿" align="center" prop="inboundTime" width="100">
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.inboundTime, '{y}-{m}-{d}') }}</span>
+          <span>{{ parseTime(scope.row.inboundTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
         </template>
       </el-table-column>
       <el-table-column label="鍑虹珯鏃堕棿" align="center" prop="outboundTime" width="100">
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.outboundTime, '{y}-{m}-{d}') }}</span>
+          <span>{{ parseTime(scope.row.outboundTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
         </template>
       </el-table-column>
-<!--      <el-table-column label="鍏ョ珯鏄惁鍚堟牸" align="center" prop="inRsSign">
-      </el-table-column>
-      <el-table-column label="鍏ョ珯NG鍘熷洜" align="center" prop="inMsgSign">
-      </el-table-column>-->
+
       <el-table-column label="鏄惁鍚堟牸" align="center" prop="outRsSign">
       </el-table-column>
       <el-table-column label="NG鍘熷洜" align="center" prop="outMsgSign">
       </el-table-column>
       <el-table-column label="閲囬泦鏃堕棿" align="center" prop="collectionTime" width="180">
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.collectionTime, '{y}-{m}-{d}') }}</span>
+          <span>{{ parseTime(scope.row.collectionTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
         </template>
       </el-table-column>
       <el-table-column label="鑺傛媿鏃堕棿" align="center" prop="beatTime">
@@ -183,12 +178,6 @@
             placeholder="璇烽�夋嫨鍑虹珯鏃堕棿">
           </el-date-picker>
         </el-form-item>
-<!--        <el-form-item label="鍏ョ珯鏄惁鍚堟牸" prop="inRsSign">
-          <el-input v-model="form.inRsSign" placeholder="璇疯緭鍏ュ叆绔欐槸鍚﹀悎鏍�" />
-        </el-form-item>
-        <el-form-item label="鍏ョ珯NG鍘熷洜" prop="inMsgSign">
-          <el-input v-model="form.inMsgSign" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
-        </el-form-item>-->
         <el-form-item label="鏄惁鍚堟牸" prop="outRsSign">
           <el-input v-model="form.outRsSign" placeholder="璇疯緭鍏ュ嚭绔欐槸鍚﹀悎鏍�" />
         </el-form-item>
@@ -203,18 +192,6 @@
             placeholder="璇烽�夋嫨閲囬泦鏃堕棿">
           </el-date-picker>
         </el-form-item>
-<!--        <el-form-item label="棰勭暀瀛楁1" prop="spareField1">-->
-<!--          <el-input v-model="form.spareField1" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />-->
-<!--        </el-form-item>-->
-<!--        <el-form-item label="棰勭暀瀛楁2" prop="spareField2">-->
-<!--          <el-input v-model="form.spareField2" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />-->
-<!--        </el-form-item>-->
-<!--        <el-form-item label="鍒涘缓鐢ㄦ埛" prop="createUser">-->
-<!--          <el-input v-model="form.createUser" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />-->
-<!--        </el-form-item>-->
-<!--        <el-form-item label="鏇存敼鐢ㄦ埛" prop="updateUser">-->
-<!--          <el-input v-model="form.updateUser" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />-->
-<!--        </el-form-item>-->
         <el-form-item label="鑺傛媿鏃堕棿" prop="beatTime">
           <el-input v-model="form.beatTime" placeholder="璇疯緭鍏ヨ妭鎷嶆椂闂�" />
         </el-form-item>
diff --git a/jcdm-ui/src/views/main/da/tileMatchRules/index.vue b/jcdm-ui/src/views/main/da/tileMatchRules/index.vue
new file mode 100644
index 0000000..7c97ea1
--- /dev/null
+++ b/jcdm-ui/src/views/main/da/tileMatchRules/index.vue
@@ -0,0 +1,473 @@
+<template>
+  <div class="app-container">
+    <el-card class="box-card">
+      <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+        <el-form-item label="浜у搧绯诲垪" prop="productSeries">
+          <el-input
+            v-model="queryParams.productSeries"
+            placeholder="璇疯緭鍏ヤ骇鍝佺郴鍒�"
+            clearable
+            @keyup.enter.native="handleQuery"
+          />
+        </el-form-item>
+<!--        <el-form-item label="鎵爜瀵硅薄1" prop="scanObject1">-->
+<!--          <el-input-->
+<!--            v-model="queryParams.scanObject1"-->
+<!--            placeholder="璇疯緭鍏ユ壂鐮佸璞�1"-->
+<!--            clearable-->
+<!--            @keyup.enter.native="handleQuery"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="鎵爜瀵硅薄2" prop="scanObject2">-->
+<!--          <el-input-->
+<!--            v-model="queryParams.scanObject2"-->
+<!--            placeholder="璇疯緭鍏ユ壂鐮佸璞�2"-->
+<!--            clearable-->
+<!--            @keyup.enter.native="handleQuery"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="杞村悕绉�" prop="axisName">-->
+<!--          <el-input-->
+<!--            v-model="queryParams.axisName"-->
+<!--            placeholder="璇疯緭鍏ヨ酱鍚嶇О"-->
+<!--            clearable-->
+<!--            @keyup.enter.native="handleQuery"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="棰堝悕绉�" prop="neckName">-->
+<!--          <el-input-->
+<!--            v-model="queryParams.neckName"-->
+<!--            placeholder="璇疯緭鍏ラ鍚嶇О"-->
+<!--            clearable-->
+<!--            @keyup.enter.native="handleQuery"-->
+<!--          />-->
+<!--        </el-form-item>-->
+        <el-form-item label="鐡﹀悕绉�" prop="tileName">
+          <el-input
+            v-model="queryParams.tileName"
+            placeholder="璇疯緭鍏ョ摝鍚嶇О"
+            clearable
+            @keyup.enter.native="handleQuery"
+          />
+        </el-form-item>
+<!--        <el-form-item label="杞村弬鏁版暟浣嶇疆" prop="axisParameterNoPosition">-->
+<!--          <el-input-->
+<!--            v-model="queryParams.axisParameterNoPosition"-->
+<!--            placeholder="璇疯緭鍏ヨ酱鍙傛暟鏁颁綅缃�"-->
+<!--            clearable-->
+<!--            @keyup.enter.native="handleQuery"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="棰堝弬鏁版暟浣嶇疆" prop="neckParameterPosition">-->
+<!--          <el-input-->
+<!--            v-model="queryParams.neckParameterPosition"-->
+<!--            placeholder="璇疯緭鍏ラ鍙傛暟鏁颁綅缃�"-->
+<!--            clearable-->
+<!--            @keyup.enter.native="handleQuery"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="杞村��" prop="axisValue">-->
+<!--          <el-input-->
+<!--            v-model="queryParams.axisValue"-->
+<!--            placeholder="璇疯緭鍏ヨ酱鍊�"-->
+<!--            clearable-->
+<!--            @keyup.enter.native="handleQuery"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="棰堝��" prop="neckValue">-->
+<!--          <el-input-->
+<!--            v-model="queryParams.neckValue"-->
+<!--            placeholder="璇疯緭鍏ラ鍊�"-->
+<!--            clearable-->
+<!--            @keyup.enter.native="handleQuery"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="鐡﹂鑹�" prop="tileColor">-->
+<!--          <el-input-->
+<!--            v-model="queryParams.tileColor"-->
+<!--            placeholder="璇疯緭鍏ョ摝棰滆壊"-->
+<!--            clearable-->
+<!--            @keyup.enter.native="handleQuery"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="鍒涘缓鐢ㄦ埛" prop="createUser">-->
+<!--          <el-input-->
+<!--            v-model="queryParams.createUser"-->
+<!--            placeholder="璇疯緭鍏ュ垱寤虹敤鎴�"-->
+<!--            clearable-->
+<!--            @keyup.enter.native="handleQuery"-->
+<!--          />-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="鏇存敼鐢ㄦ埛" prop="updateUser">-->
+<!--          <el-input-->
+<!--            v-model="queryParams.updateUser"-->
+<!--            placeholder="璇疯緭鍏ユ洿鏀圭敤鎴�"-->
+<!--            clearable-->
+<!--            @keyup.enter.native="handleQuery"-->
+<!--          />-->
+<!--        </el-form-item>-->
+        <el-form-item label="鐘舵��" prop="state">
+          <el-input
+            v-model="queryParams.state"
+            placeholder="璇疯緭鍏ョ姸鎬�"
+            clearable
+            @keyup.enter.native="handleQuery"
+          />
+        </el-form-item>
+        <el-form-item style="float: right">
+          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+        </el-form-item>
+      </el-form>
+    </el-card>
+
+    <el-card style="margin-top: 10px" class="box-card">
+      <el-row :gutter="10" class="mb8">
+        <el-col :span="1.5">
+          <el-button
+            type="primary"
+            plain
+            icon="el-icon-plus"
+            size="mini"
+            @click="handleAdd"
+            v-hasPermi="['da:tileMatchRules:add']"
+          >鏂板</el-button>
+        </el-col>
+        <el-col :span="1.5">
+          <el-button
+            type="success"
+            plain
+            icon="el-icon-edit"
+            size="mini"
+            :disabled="single"
+            @click="handleUpdate"
+            v-hasPermi="['da:tileMatchRules:edit']"
+          >淇敼</el-button>
+        </el-col>
+        <el-col :span="1.5">
+          <el-button
+            type="danger"
+            plain
+            icon="el-icon-delete"
+            size="mini"
+            :disabled="multiple"
+            @click="handleDelete"
+            v-hasPermi="['da:tileMatchRules:remove']"
+          >鍒犻櫎</el-button>
+        </el-col>
+        <el-col :span="1.5">
+          <el-button
+            type="warning"
+            plain
+            icon="el-icon-download"
+            size="mini"
+            @click="handleExport"
+            v-hasPermi="['da:tileMatchRules:export']"
+          >瀵煎嚭</el-button>
+        </el-col>
+        <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+      </el-row>
+
+      <el-table border v-loading="loading" :data="tileMatchRulesList" @selection-change="handleSelectionChange">
+        <el-table-column type="selection" width="55" align="center" />
+<!--        <el-table-column label="涓婚敭id" align="center" prop="id" />-->
+        <el-table-column label="浜у搧绯诲垪" align="center" prop="productSeries">
+
+        </el-table-column>
+        <el-table-column label="鎵爜瀵硅薄1" align="center" prop="scanObject1" width="100">
+
+        </el-table-column>
+        <el-table-column label="鎵爜瀵硅薄2" align="center" prop="scanObject2" width="100">
+
+        </el-table-column>
+        <el-table-column label="杞村悕绉�" align="center" prop="axisName">
+
+        </el-table-column>
+        <el-table-column label="棰堝悕绉�" align="center" prop="neckName">
+
+        </el-table-column>
+        <el-table-column label="鐡﹀悕绉�" align="center" prop="tileName">
+
+        </el-table-column>
+        <el-table-column label="杞村弬鏁颁綅缃�" align="center" prop="axisParameterNoPosition" width="100">
+
+        </el-table-column>
+        <el-table-column label="棰堝弬鏁颁綅缃�" align="center" prop="neckParameterPosition" width="100">
+
+        </el-table-column>
+        <el-table-column label="杞村��" align="center" prop="axisValue">
+
+        </el-table-column>
+        <el-table-column label="棰堝��" align="center" prop="neckValue">
+
+        </el-table-column>
+        <el-table-column label="鐡﹂鑹�" align="center" prop="tileColor">
+
+        </el-table-column>
+<!--        <el-table-column label="鍒涘缓鐢ㄦ埛" align="center" prop="createUser">-->
+
+<!--        </el-table-column>-->
+<!--        <el-table-column label="鏇存敼鐢ㄦ埛" align="center" prop="updateUser">-->
+
+<!--        </el-table-column>-->
+        <el-table-column label="鐘舵��" align="center" prop="state">
+
+        </el-table-column>
+        <el-table-column fixed="right" width="200" label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+          <template slot-scope="scope">
+            <el-button
+              size="mini"
+              type="success"
+              plain
+              style="width: 72px"
+              icon="el-icon-edit"
+              @click="handleUpdate(scope.row)"
+              v-hasPermi="['da:tileMatchRules:edit']"
+            >淇敼</el-button>
+            <el-button
+              size="mini"
+              type="danger"
+              plain
+              style="width: 72px"
+              icon="el-icon-delete"
+              @click="handleDelete(scope.row)"
+              v-hasPermi="['da:tileMatchRules:remove']"
+            >鍒犻櫎</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </el-card>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 娣诲姞鎴栦慨鏀归厤鐡﹁鍒欏璇濇 -->
+    <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="500px" append-to-body>
+      <span slot="title">
+        <i class="el-icon-s-order"></i>
+        {{titleName}}
+      </span>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="浜у搧绯诲垪" prop="productSeries">
+          <el-input v-model="form.productSeries" placeholder="璇疯緭鍏ヤ骇鍝佺郴鍒�" />
+        </el-form-item>
+        <el-form-item label="鎵爜瀵硅薄1" prop="scanObject1">
+          <el-input v-model="form.scanObject1" placeholder="璇疯緭鍏ユ壂鐮佸璞�1" />
+        </el-form-item>
+        <el-form-item label="鎵爜瀵硅薄2" prop="scanObject2">
+          <el-input v-model="form.scanObject2" placeholder="璇疯緭鍏ユ壂鐮佸璞�2" />
+        </el-form-item>
+        <el-form-item label="杞村悕绉�" prop="axisName">
+          <el-input v-model="form.axisName" placeholder="璇疯緭鍏ヨ酱鍚嶇О" />
+        </el-form-item>
+        <el-form-item label="棰堝悕绉�" prop="neckName">
+          <el-input v-model="form.neckName" placeholder="璇疯緭鍏ラ鍚嶇О" />
+        </el-form-item>
+        <el-form-item label="鐡﹀悕绉�" prop="tileName">
+          <el-input v-model="form.tileName" placeholder="璇疯緭鍏ョ摝鍚嶇О" />
+        </el-form-item>
+        <el-form-item label="杞村弬鏁颁綅缃�" prop="axisParameterNoPosition">
+          <el-input v-model="form.axisParameterNoPosition" placeholder="璇疯緭鍏ヨ酱鍙傛暟浣嶇疆" />
+        </el-form-item>
+        <el-form-item label="棰堝弬鏁颁綅缃�" prop="neckParameterPosition">
+          <el-input v-model="form.neckParameterPosition" placeholder="璇疯緭鍏ラ鍙傛暟浣嶇疆" />
+        </el-form-item>
+        <el-form-item label="杞村��" prop="axisValue">
+          <el-input v-model="form.axisValue" placeholder="璇疯緭鍏ヨ酱鍊�" />
+        </el-form-item>
+        <el-form-item label="棰堝��" prop="neckValue">
+          <el-input v-model="form.neckValue" placeholder="璇疯緭鍏ラ鍊�" />
+        </el-form-item>
+        <el-form-item label="鐡﹂鑹�" prop="tileColor">
+          <el-input v-model="form.tileColor" placeholder="璇疯緭鍏ョ摝棰滆壊" />
+        </el-form-item>
+        <el-form-item label="鍒涘缓鐢ㄦ埛" prop="createUser">
+          <el-input v-model="form.createUser" placeholder="璇疯緭鍏ュ垱寤虹敤鎴�" />
+        </el-form-item>
+        <el-form-item label="鏇存敼鐢ㄦ埛" prop="updateUser">
+          <el-input v-model="form.updateUser" placeholder="璇疯緭鍏ユ洿鏀圭敤鎴�" />
+        </el-form-item>
+        <el-form-item label="鐘舵��" prop="state">
+          <el-input v-model="form.state" placeholder="璇疯緭鍏ョ姸鎬�" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listTileMatchRules, getTileMatchRules, delTileMatchRules, addTileMatchRules, updateTileMatchRules } from "@/api/main/bs/tileMatchRules/tileMatchRules";
+
+export default {
+  name: "TileMatchRules",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      titleName: "",
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 閰嶇摝瑙勫垯琛ㄦ牸鏁版嵁
+      tileMatchRulesList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        productSeries: null,
+        scanObject1: null,
+        scanObject2: null,
+        axisName: null,
+        neckName: null,
+        tileName: null,
+        axisParameterNoPosition: null,
+        neckParameterPosition: null,
+        axisValue: null,
+        neckValue: null,
+        tileColor: null,
+        createUser: null,
+        updateUser: null,
+        state: null
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        id: [
+          { required: true, message: "涓婚敭id涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ閰嶇摝瑙勫垯鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listTileMatchRules(this.queryParams).then(response => {
+        this.tileMatchRulesList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        productSeries: null,
+        scanObject1: null,
+        scanObject2: null,
+        axisName: null,
+        neckName: null,
+        tileName: null,
+        axisParameterNoPosition: null,
+        neckParameterPosition: null,
+        axisValue: null,
+        neckValue: null,
+        tileColor: null,
+        createUser: null,
+        createTime: null,
+        updateUser: null,
+        updateTime: null,
+        state: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.titleName = "娣诲姞閰嶇摝瑙勫垯";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getTileMatchRules(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.titleName = "淇敼閰嶇摝瑙勫垯";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateTileMatchRules(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addTileMatchRules(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎閰嶇摝瑙勫垯缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delTileMatchRules(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('da/tileMatchRules/export', {
+        ...this.queryParams
+      }, `tileMatchRules_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/jcdm-ui/src/views/main/kb/repairMark/index.vue b/jcdm-ui/src/views/main/kb/repairMark/index.vue
new file mode 100644
index 0000000..ffea7be
--- /dev/null
+++ b/jcdm-ui/src/views/main/kb/repairMark/index.vue
@@ -0,0 +1,209 @@
+<template>
+  <div class="app-container">
+    <el-card class="box-card" >
+      <el-row>
+        <el-divider style="margin-bottom: 10px"><span style="font-size: 40px">鍙戝姩鏈鸿繑淇爣璁扮郴缁�</span></el-divider>
+      </el-row>
+      <el-row style="margin-top: 10px">
+        <el-form :model="queryParams.sfcCode" ref="queryForm" :inline="true" label-width="68px" >
+          <el-form-item label-width="120" label="鍙戝姩鏈哄彿:" prop="orderNo">
+            <el-input
+              v-model="queryParams.sfcCode"
+              placeholder="璇疯緭鍏ュ彂鍔ㄦ満鍙�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item style="margin-left: 20px">
+            <el-button type="primary" icon="el-icon-refresh" @click="handleQuery">鏌ヨ</el-button>
+            <el-button type="primary" icon="el-icon-scissors" @click="repairProgressHandleQuery">杩斾慨杩涘害</el-button>
+          </el-form-item>
+        </el-form>
+      </el-row>
+    </el-card>
+    <el-row :gutter="0">
+      <el-col :span="20">
+        <el-card style="margin-top: 10px; height: 490px;" class="box-card">
+          <el-table border ref="multipleTable" :data="passingStationCollectionList"  @selection-change="handleSelectionChange">
+            <el-table-column type="selection" width="55" align="center" />
+            <el-table-column label="宸ュ崟缂栧彿" width="120" align="center" prop="workOrderNo">
+            </el-table-column>
+            <el-table-column label="鎬绘垚搴忓垪鍙�" width="150" align="center" prop="sfcCode">
+            </el-table-column>
+            <el-table-column label="浜у搧缂栧彿" align="center" prop="productCode">
+            </el-table-column>
+            <el-table-column label="浜х嚎缂栧彿" align="center" prop="productionLine">
+            </el-table-column>
+            <el-table-column label="宸ヤ綅缂栧彿" align="center" prop="locationCode">
+            </el-table-column>
+            <el-table-column label="鍏ョ珯鏃堕棿" align="center" prop="inboundTime" width="100">
+              <template slot-scope="scope">
+                <span>{{ parseTime(scope.row.inboundTime, '{y}-{m}-{d}') }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="鍑虹珯鏃堕棿" align="center" prop="outboundTime" width="100">
+              <template slot-scope="scope">
+                <span>{{ parseTime(scope.row.outboundTime, '{y}-{m}-{d}') }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="鏄惁鍚堟牸" align="center" prop="outRsSign">
+            </el-table-column>
+            <el-table-column label="NG鍘熷洜" align="center" prop="outMsgSign">
+            </el-table-column>
+            <el-table-column label="閲囬泦鏃堕棿" align="center" prop="collectionTime" width="180">
+              <template slot-scope="scope">
+                <span>{{ parseTime(scope.row.collectionTime, '{y}-{m}-{d}') }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column label="鑺傛媿鏃堕棿" align="center" prop="beatTime">
+            </el-table-column>
+          </el-table>
+        </el-card>
+      </el-col>
+      <el-col :span="4">
+        <el-card style="margin-top: 10px; min-height: 490px" class="box-card">
+          <el-button type="success" icon="el-icon-s-grid" @click="selectAll" style="margin-left: 40px;width: 120px;margin-top: 10px">閫夋嫨鎵�鏈�</el-button>
+          <el-button type="success" icon="el-icon-close" @click="clearAll" style="margin-left: 40px; width: 120px;margin-top: 10px">鍙栨秷閫夋嫨</el-button>
+          <el-button type="success" icon="el-icon-document-remove" @click="selectUnqualified" style="margin-left: 40px; width: 120px;margin-top: 10px">閫夋嫨涓嶅悎鏍�</el-button>
+          <el-button type="success" icon="el-icon-s-flag" @click="markComplete" style="margin-left: 40px; width: 120px;margin-top: 10px">鏍囪瀹屾垚</el-button>
+          <el-button type="success" icon="el-icon-files" @click="repairRecord" style="margin-left: 40px; width: 120px;margin-top: 10px">杩斾慨璁板綍</el-button>
+          <el-button type="success" icon="el-icon-date" @click="operationLog" style="margin-left: 40px; width: 120px;margin-top: 10px">鎿嶄綔鏃ュ織</el-button>
+
+        </el-card>
+      </el-col>
+    </el-row>
+
+    <el-dialog v-dialogpop-up :visible.sync="open" width="700px" append-to-body>
+      <span slot="title">
+        <i class="el-icon-s-order"></i>
+        杩斾慨杩涘害
+      </span>
+      <el-table border :data="repairRecordList">
+        <el-table-column label="鍙戝姩鏈哄彿" width="150" align="center" prop="boxCode" />
+        <el-table-column label="宸ヤ綅鍙�" align="center" prop="processesCode" />
+        <el-table-column label="杩斾慨缁撴灉" align="center" prop="repairResults" />
+        <el-table-column label="鍘熺粨鏋�" align="center" prop="originalResult" />
+        <el-table-column label="杩斾慨鏃堕棿" align="center" width="160" prop="repairTime" />
+      </el-table>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+
+
+  </div>
+</template>
+
+<script>
+import {
+  listPassingStationCollection,
+  insertRepairRecordByIds
+} from "@/api/main/da/passingStationCollection/passingStationCollection";
+import {listRepairRecord} from "@/api/main/rm/repairRecord/repairRecord";
+export default {
+  name: "index",
+  dicts: ['sys_normal_disable'],
+  data(){
+    return{
+      // 杩斾慨璁板綍琛ㄦ牸鏁版嵁
+      repairRecordList: [],
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 浜у搧杩囩珯閲囬泦琛ㄦ牸鏁版嵁
+      passingStationCollectionList: [],
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        sfcCode: '',
+        outRsSign: '',
+      },
+      ids: [],
+      allSelected: false
+
+    }
+  },
+  mounted() {
+    this.getList()
+  },
+  methods:{
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+    },
+    selectAll(){
+      this.passingStationCollectionList.forEach(row => {
+        this.$refs.multipleTable.toggleRowSelection(row);
+      });
+    },
+    clearAll(){
+      this.$refs.multipleTable.clearSelection();
+    },
+    selectUnqualified(){
+      let outRsSign = this.passingStationCollectionList.filter(row => row.outRsSign === '鍚堟牸')
+      outRsSign.forEach(row => {
+        this.$refs.multipleTable.toggleRowSelection(row);
+      })
+      this.$modal.msgSuccess('閫夋嫨涓嶅悎鏍�');
+    },
+    markComplete(){
+      if(this.ids.length === 0){
+        this.$modal.msgSuccess('鏈�夋嫨');
+      }else {
+        this.$modal.msgSuccess('鏍囪瀹屾垚');
+        let queryParams = {
+          ids: this.ids
+        }
+        insertRepairRecordByIds(queryParams).then(response => {
+
+        });
+      }
+    },
+    repairRecord(){
+      this.$modal.msgSuccess('杩斾慨璁板綍');
+    },
+    operationLog(){
+      this.$modal.msgSuccess('鎿嶄綔鏃ュ織');
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    repairProgressHandleQuery(){
+      this.open = true;
+      if(this.queryParams.engineNo === ''||this.queryParams.engineNo=== null){
+        this.$modal.msgSuccess('璇疯緭鍏ュ彂鍔ㄦ満鍙�');
+      }else {
+        /** 鏌ヨ杩斾慨璁板綍鍒楄〃 */
+        let queryParams = {
+          boxCode: this.queryParams.engineNo
+        }
+        listRepairRecord(queryParams).then(response => {
+          this.repairRecordList = response.rows;
+        });
+      }
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.getList();
+    },
+    /** 鏌ヨ浜у搧杩囩珯閲囬泦鍒楄〃 */
+    getList() {
+      listPassingStationCollection(this.queryParams).then(response => {
+        this.passingStationCollectionList = response.rows;
+        this.total = response.total;
+      });
+    },
+
+  },
+}
+</script>
+
+<style scoped>
+::v-deep .el-form-item__label{
+  font-size: large;
+}
+::v-deep .el-card__body{
+  padding: 15px 20px 0px 20px;
+}
+</style>

--
Gitblit v1.9.3