From 372d06cec5605fccf23357f8cf62f191297b0127 Mon Sep 17 00:00:00 2001
From: hdy <1105738590@qq.com>
Date: 星期三, 24 一月 2024 11:23:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java                                                 |   31 ++
 jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml                                        |    4 
 jcdm-ui/src/views/main/da/tileMatchRules/index.vue                                                                        |  202 ++++++++--------
 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java         |    9 
 jcdm-ui/src/views/index.vue                                                                                               |   18 
 jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js                                              |    9 
 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java                                    |   20 +
 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 |   36 +++
 jcdm-ui/src/views/dashboard/PanelGroup.vue                                                                                |  368 ++++++++++++++----------------
 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java                              |    3 
 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/common/Constants.java                                   |    5 
 12 files changed, 400 insertions(+), 315 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java
index 1907f60..83eb39f 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java
@@ -1,11 +1,17 @@
 package com.jcdm.main.bs.orderScheduling.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
 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;
+import org.springframework.format.annotation.DateTimeFormat;
 
+import java.time.LocalDateTime;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 璁㈠崟鎺掍骇瀵硅薄 bs_order_scheduling
@@ -13,6 +19,7 @@
  * @author jiang
  * @date 2024-01-13
  */
+@Data
 public class BsOrderScheduling extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
@@ -146,6 +153,19 @@
     @Excel(name = "CVT涓嬬嚎鏃堕棿")
     private Date cvtOfflineTime;
 
+    @TableField(exist = false)
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime startQuery;
+
+    @TableField(exist = false)
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime endQuery;
+
+    @TableField(exist = false)
+    private String queryField;
+
     public Date getBoxClosingOnlineTime() {
         return boxClosingOnlineTime;
     }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java
index 11a711b..39bb248 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/mapper/BsOrderSchedulingMapper.java
@@ -29,6 +29,9 @@
      */
     public List<BsOrderScheduling> selectBsOrderSchedulingList(BsOrderScheduling bsOrderScheduling);
 
+
+    public Integer getProduceNumToday(BsOrderScheduling bsOrderScheduling);
+
     /**
      * 鏌ヨ鍚堢涓婄嚎鍒楄〃
      *
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java
index 9189ab9..1fe5a1e 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java
@@ -7,10 +7,13 @@
 import com.jcdm.main.da.opcuaconfig.init.BeanUtils;
 import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
 import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
+import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
+import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
 import lombok.extern.slf4j.Slf4j;
 import org.eclipse.milo.opcua.stack.core.types.builtin.DataValue;
 import org.eclipse.milo.opcua.stack.core.types.builtin.NodeId;
 
+import java.time.Duration;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -20,11 +23,15 @@
 public class MethodName {
     private IDaCollectionParamConfService collectionParamConfService = BeanUtils.getBean(IDaCollectionParamConfService.class);
     private IDaParamCollectionService daParamCollectionService = BeanUtils.getBean(IDaParamCollectionService.class);
+    private IDaPassingStationCollectionService daPassingStationCollectionService = BeanUtils.getBean(IDaPassingStationCollectionService.class);
     private List<DataValue> s=null;
     public void getSn(String Node, String value) throws Exception {
         log.info(Node+":"+value);
         String[] parts = Node.split("[.]");
         ClientHandler clientHandler=new ClientHandler();
+        NodeEntity SN_node= NodeEntity.builder().index(2).identifier(parts[0]+"."+parts[1]+".SNCode").value("").type("").build();
+        String SNCode=clientHandler.read(SN_node);
+        log.info("璇诲彇鑺傜偣:{},缁撴灉:{}", SN_node.getIdentifier(),SNCode);
         switch (value) {
             case "0":   //鍒濆
                 NodeEntity node= NodeEntity.builder().index(2).identifier(parts[0]+"."+parts[1]+".RecordDataDone").value("0").type("short").build();
@@ -34,28 +41,46 @@
             case "1":   //璇锋眰涓嬪彂杩涚珯鐘舵��
                 NodeEntity node1= NodeEntity.builder().index(2).identifier(parts[0]+"."+parts[1]+".RecordDataDone").value("11").type("short").build();
                 Boolean out1=clientHandler.write(node1);
+                DaPassingStationCollection PassingStationCollection=new DaPassingStationCollection();
+                PassingStationCollection.setSfcCode(SNCode);
+                PassingStationCollection.setLocationCode(parts[1]);
+                PassingStationCollection.setInboundTime(new Date());
+                daPassingStationCollectionService.insertDaPassingStationCollection(PassingStationCollection);
                 log.info("鑺傜偣:{},鍝嶅簲缁撴灉:{}", node1.getIdentifier(),out1);
                 break;
             case "2":   //璇锋眰璁板綍宸ヤ綅鏁版嵁
                 List<DaCollectionParamConf> b;
                 DaCollectionParamConf daCollectionParamConf=new DaCollectionParamConf();
-                daCollectionParamConf.setCollectParameterId(parts[0]+"."+parts[1]);
+                daCollectionParamConf.setGatherAddress(parts[0]+"."+parts[1]);
                 b=collectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf);
 
                 List<NodeId> nodeId = b.stream().map(info -> {
-                    NodeId nodeid = new NodeId(2,info.getCollectParameterId());
+                    NodeId nodeid = new NodeId(2,info.getGatherAddress());
                     return nodeid;
                 }).collect(Collectors.toList());
                 List<DataValue> s=readValues(nodeId);
-
+                //淇濆瓨PLC閲囬泦鏁版嵁
                 for(int i=0;i<nodeId.size();i++)
                 {
                     DaParamCollection Config=new DaParamCollection();
                     Config.setParamCode(nodeId.get(i).getIdentifier().toString().split("[.]")[2]);
                     Config.setLocationCode(nodeId.get(i).getIdentifier().toString().split("[.]")[1]);
                     Config.setParamValue(s.get(i).getValue().getValue().toString());
+                    Config.setSfcCode(SNCode);
+                    Config.setParamName(b.get(i).getGatherAddress());
                     daParamCollectionService.insertDaParamCollection(Config);
                 }
+                //鏇存柊鍑虹珯鏃堕棿锛岃绠楄妭鎷嶃��
+                DaPassingStationCollection PSC=new DaPassingStationCollection();
+                PSC.setSfcCode(SNCode);
+                List<DaPassingStationCollection> LPSC=daPassingStationCollectionService.selectDaPassingStationCollectionList(PSC);
+                if(LPSC != null && LPSC.size() > 0){
+                    LPSC.get(0).setOutboundTime(new Date());
+                    LPSC.get(0).setCollectionTime(new Date());
+                    LPSC.get(0).setBeatTime(Long.toString(Math.abs(new Date().getTime() - LPSC.get(0).getInboundTime().getTime())));
+                    daPassingStationCollectionService.updateDaPassingStationCollection(LPSC.get(0));
+                }
+                //鏇存柊PLC鑺傜偣鐘舵��
                 NodeEntity node2= NodeEntity.builder().index(2).identifier(parts[0]+"."+parts[1]+".RecordDataDone").value("21").type("short").build();
                 Boolean out2=clientHandler.write(node2);
                 log.info("鑺傜偣:{},鍝嶅簲缁撴灉:{}", node2.getIdentifier(),out2);
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/common/Constants.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/common/Constants.java
new file mode 100644
index 0000000..5b0d40e
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/common/Constants.java
@@ -0,0 +1,5 @@
+package com.jcdm.main.da.passingStationCollection.common;
+
+public final class Constants {
+
+}
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 973d321..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
@@ -3,7 +3,9 @@
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
+import com.jcdm.common.core.domain.R;
 import com.jcdm.common.utils.DateUtils;
+import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling;
 import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
 import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -48,6 +50,14 @@
         return getDataTable(list);
     }
 
+    @PreAuthorize("@ss.hasPermi('da:passingStationCollection:list')")
+    @GetMapping("/getProduceNumToday")
+    public R getProduceNumToday(String fieldName)
+    {
+        Integer num = daPassingStationCollectionService.getProduceNumToday(fieldName);
+        return R.ok(num);
+    }
+
     /**
      * 鏌ヨ浜у搧杩囩珯閲囬泦鍒楄〃
      */
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 9c9b9cf..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
@@ -1,5 +1,6 @@
 package com.jcdm.main.da.passingStationCollection.service;
 
+import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling;
 import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
 
 import java.util.List;
@@ -28,6 +29,14 @@
      */
     public List<DaPassingStationCollection> selectDaPassingStationCollectionList(DaPassingStationCollection daPassingStationCollection);
 
+
+    /**
+     * 鑾峰彇棣栭〉鍗曟棩绱閲忎骇鏁版嵁
+     * @param fieldName bs
+     * @return list
+     */
+    public Integer getProduceNumToday(String fieldName);
+
     /**
      * 鏂板浜у搧杩囩珯閲囬泦
      * 
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 550b86d..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
@@ -1,13 +1,23 @@
 package com.jcdm.main.da.passingStationCollection.service.impl;
 
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
 import java.util.List;
+
+import com.jcdm.common.constant.Constants;
 import com.jcdm.common.utils.DateUtils;
+import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling;
+import com.jcdm.main.bs.orderScheduling.mapper.BsOrderSchedulingMapper;
+import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService;
 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;
 
 /**
@@ -24,6 +34,12 @@
 
     @Autowired
     private RmRepairRecordMapper rmRepairRecordMapper;
+
+    @Autowired
+    private BsOrderSchedulingMapper bsOrderSchedulingMapper;
+
+    @Autowired
+    private IBsOrderSchedulingService bsOrderSchedulingService;
 
     /**
      * 鏌ヨ浜у搧杩囩珯閲囬泦
@@ -50,6 +66,26 @@
     }
 
     /**
+     * 鑾峰彇棣栭〉鍗曟棩绱閲忎骇鏁版嵁
+     * @param fieldName bs
+     * @return list
+     */
+    @Override
+    public Integer getProduceNumToday(String fieldName) {
+
+        BsOrderScheduling bsOrderScheduling = new BsOrderScheduling();
+        bsOrderScheduling.setQueryField(fieldName);
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        LocalDateTime startTime = LocalDate.now().atStartOfDay();
+        LocalDateTime endTime = LocalDate.now().plusDays(1).atStartOfDay();
+        String s1 = startTime.format(formatter);
+        String s2 = endTime.format(formatter);
+        bsOrderScheduling.setStartTime(s1);
+        bsOrderScheduling.setEndTime(s2);
+        return bsOrderSchedulingMapper.getProduceNumToday(bsOrderScheduling);
+    }
+
+    /**
      * 鏂板浜у搧杩囩珯閲囬泦
      * 
      * @param daPassingStationCollection 浜у搧杩囩珯閲囬泦
diff --git a/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml b/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml
index 39d1b06..6495b9d 100644
--- a/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml
+++ b/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml
@@ -99,6 +99,10 @@
             </if>
         </where>
     </select>
+    <select id="getProduceNumToday" resultType="java.lang.Integer">
+        select count(*) from bs_order_scheduling
+        where ${queryField} BETWEEN #{startTime} AND #{endTime}
+    </select>
 
 
     <insert id="insertBsOrderScheduling" parameterType="BsOrderScheduling" useGeneratedKeys="true" keyProperty="id">
diff --git a/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js b/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js
index ea0aaca..57673db 100644
--- a/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js
+++ b/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js
@@ -9,6 +9,15 @@
   })
 }
 
+// 鑾峰彇棣栭〉鍗曟棩绱閲忎骇鏁版嵁
+export function getProduceNumToday(query) {
+  return request({
+    url: '/da/passingStationCollection/getProduceNumToday',
+    method: 'get',
+    params: query
+  })
+}
+
 // 鏌ヨ浜у搧杩囩珯閲囬泦鍒楄〃
 export function insertRepairRecordByIds(query) {
   return request({
diff --git a/jcdm-ui/src/views/dashboard/PanelGroup.vue b/jcdm-ui/src/views/dashboard/PanelGroup.vue
index dbeb718..5400808 100644
--- a/jcdm-ui/src/views/dashboard/PanelGroup.vue
+++ b/jcdm-ui/src/views/dashboard/PanelGroup.vue
@@ -1,234 +1,202 @@
 <template>
-
-    <el-card class="box-card">
+  <el-row :gutter="40" class="panel-group">
+    <el-card class="bottom-card">
       <div slot="header" class="clearfix">
-        <span class="top2">鍗曟棩绱浜ч噺</span>
+        <span style="font-size: 20px;font-weight: bold">鍗曟棩绱浜ч噺</span>
       </div>
-      <el-row :gutter="40" class="panel-group">
-    <el-col  :span="4" class="card-panel-col">
-      <div class="card-panel" @click="handleSetLineChartData('newVisitis')">
-        <div class="card-panel-icon-wrapper icon-people">
-          <svg-icon icon-class="peoples" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">
-            鍚堢涓婄嚎
-          </div>
-          <count-to :start-val="0" :end-val="10200" :duration="2600" class="card-panel-num" />
-        </div>
-      </div>
-    </el-col>
-    <el-col  :span="4" class="card-panel-col">
-      <div class="card-panel" @click="handleSetLineChartData('messages')">
-        <div class="card-panel-icon-wrapper icon-message">
-          <svg-icon icon-class="message" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">
-            鍚堢涓嬬嚎
-          </div>
-          <count-to :start-val="0" :end-val="81212" :duration="3000" class="card-panel-num" />
-        </div>
-      </div>
-    </el-col>
-    <el-col  :span="4" class="card-panel-col">
-      <div class="card-panel" @click="handleSetLineChartData('purchases')">
-        <div class="card-panel-icon-wrapper icon-money">
-          <svg-icon icon-class="money" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">
-            鎬昏涓婄嚎
-          </div>
-          <count-to :start-val="0" :end-val="9280" :duration="3200" class="card-panel-num" />
-        </div>
-      </div>
-    </el-col>
-    <el-col :span="4" class="card-panel-col">
-      <div class="card-panel" @click="handleSetLineChartData('shoppings')">
-        <div class="card-panel-icon-wrapper icon-shopping">
-          <svg-icon icon-class="shopping" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">
-            鎬昏涓嬬嚎
-          </div>
-          <count-to :start-val="0" :end-val="13600" :duration="3600" class="card-panel-num" />
-        </div>
-      </div>
-    </el-col>
 
-    <el-col  :span="4" class="card-panel-col">
-      <div class="card-panel" @click="handleSetLineChartData('shoppings')">
-        <div class="card-panel-icon-wrapper icon-shopping">
-          <svg-icon icon-class="shopping" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">
-            CVT涓婄嚎
+      <div style="display: flex; margin-top: 20px; height: 80px;">
+        <div class="transition-box" style="background-color: limegreen">
+          <i class="el-icon-notebook-1"></i>
+          <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider>
+          <div>
+            <span style="margin-left: 20px" class="nextLine">鍚堢涓婄嚎</span>
+            <span class="nextLine">{{data1}}</span>
           </div>
-          <count-to :start-val="0" :end-val="13600" :duration="3600" class="card-panel-num" />
+        </div>
+        <div class="transition-box" style="background-color: cornflowerblue">
+          <i class="el-icon-setting"></i>
+          <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider>
+          <div>
+            <span style="margin-left: 20px" class="nextLine">鍚堢涓嬬嚎</span>
+            <span class="nextLine">{{data2}}</span>
+          </div>
+
+        </div>
+        <div class="transition-box" style="background-color: mediumpurple">
+          <i class="el-icon-s-unfold"></i>
+          <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider>
+          <div>
+            <span style="margin-left: 20px">鎬昏涓婄嚎</span>
+            <span class="nextLine">{{data3}}</span>
+          </div>
+        </div>
+        <div class="transition-box" style="background-color: green">
+          <i class="el-icon-cpu"></i>
+          <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider>
+          <div>
+            <span style="margin-left: 20px">鎬昏涓嬬嚎</span>
+            <span class="nextLine">{{data4}}</span>
+          </div>
+        </div>
+        <div class="transition-box" style="background-color: orange">
+          <i class="el-icon-upload2"></i>
+          <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider>
+          <div>
+            <span style="margin-left: 20px">CVT涓婄嚎</span>
+            <span class="nextLine">{{data5}}</span>
+          </div>
+        </div>
+        <div class="transition-box" style="background-color: darkslategray">
+          <i class="el-icon-finished"></i>
+          <el-divider direction="vertical" content-position="left" style="height: 20px"></el-divider>
+          <div>
+            <span style="margin-left: 20px">CVT涓嬬嚎</span>
+            <span class="nextLine">{{data6}}</span>
+          </div>
         </div>
       </div>
-    </el-col>
-    <el-col  :span="4" class="card-panel-col">
-      <div class="card-panel" @click="handleSetLineChartData('shoppings')">
-        <div class="card-panel-icon-wrapper icon-shopping">
-          <svg-icon icon-class="shopping" class-name="card-panel-icon" />
-        </div>
-        <div class="card-panel-description">
-          <div class="card-panel-text">
-            CVT涓嬬嚎
-          </div>
-          <count-to :start-val="0" :end-val="13600" :duration="3600" class="card-panel-num" />
-        </div>
-      </div>
-    </el-col>
-      </el-row>
+
+
     </el-card>
-
+  </el-row>
 
 </template>
 
 <script>
 import CountTo from 'vue-count-to'
+import { getProduceNumToday } from '@/api/main/da/passingStationCollection/passingStationCollection'
 
 export default {
   components: {
     CountTo
   },
+  data(){
+    return{
+      query1:'box_closing_online_time',
+      data1:'',
+      query2:'closing_box_offline_time',
+      data2:'',
+      query3:'final_assembly_launch_time',
+      data3:'',
+      query4:'final_assembly_offline_time',
+      data4:'',
+      query5:'cvt_launch_time',
+      data5:'',
+      query6:'cvt_offline_time',
+      data6:'',
+    }
+  },
   methods: {
     handleSetLineChartData(type) {
       this.$emit('handleSetLineChartData', type)
+    },
+    getData1(){
+      getProduceNumToday({fieldName:this.query1}).then(response => {
+        this.data1 = response.data;
+      });
+    },
+    getData2(){
+      getProduceNumToday({fieldName:this.query2}).then(response => {
+        this.data2 = response.data;
+      });
+    },
+    getData3(){
+      getProduceNumToday({fieldName:this.query3}).then(response => {
+        this.data3 = response.data;
+      });
+    },
+    getData4(){
+      getProduceNumToday({fieldName:this.query4}).then(response => {
+        this.data4 = response.data;
+      });
+    },
+    getData5(){
+      getProduceNumToday({fieldName:this.query5}).then(response => {
+        this.data5 = response.data;
+      });
+    },
+    getData6(){
+      getProduceNumToday({fieldName:this.query6}).then(response => {
+        this.data6 = response.data;
+      });
     }
+  },
+  mounted() {
+    this.getData1(),
+    this.getData2(),
+    this.getData3(),
+    this.getData4(),
+    this.getData5(),
+    this.getData6()
   }
 }
 </script>
 
 <style lang="scss" scoped>
-//.bottom-card{
-//  padding: 15px 20px 20px 20px;
-//  height: auto;
-//  width: 1272px;
-//  margin-left: 20px;
-//  justify-content: center;
-//  column-width: max-content;
-//}
 
-.top2{
-  font-size: 18px;
-  font-weight: bold;
-  margin-bottom: 0px;
+.transition-box {
+  display: flex;
+  align-items: center;
+  margin-bottom: 10px;
+  width: 200px;
+  height: 80px;
+  border-radius: 4px;
+  text-align: center;
+  color: #fff;
+  padding: 40px 20px;
+  box-sizing: border-box;
+  margin-right: 10px;
 }
 
-.panel-group {
-
-  width: 1442px;
-  .card-panel-col {
-
-    margin-bottom: 15px;
-  }
-  .card-panel {
-    margin-left: -13px;
-    width: 220px;
-    height: 108px;
-    cursor: pointer;
-    font-size: 12px;
-    position: relative;
-    overflow: hidden;
-    color: #666;
-    background: #fff;
-    box-shadow: 4px 4px 40px rgba(0, 0, 0, .05);
-    border-color: rgba(0, 0, 0, .05);
-
-    &:hover {
-      .card-panel-icon-wrapper {
-        color: #fff;
-      }
-
-      .icon-people {
-        background: #40c9c6;
-      }
-
-      .icon-message {
-        background: #36a3f7;
-      }
-
-      .icon-money {
-        background: #f4516c;
-      }
-
-      .icon-shopping {
-        background: #34bfa3
-      }
-    }
-
-    .icon-people {
-      color: #40c9c6;
-    }
-
-    .icon-message {
-      color: #36a3f7;
-    }
-
-    .icon-money {
-      color: #f4516c;
-    }
-
-    .icon-shopping {
-      color: #34bfa3
-    }
-
-    .card-panel-icon-wrapper {
-      float: left;
-      margin: 14px 0 0 10px;
-      padding: 16px;
-      transition: all 0.38s ease-out;
-      border-radius: 6px;
-    }
-
-    .card-panel-icon {
-      float: left;
-      font-size: 48px;
-    }
-
-    .card-panel-description {
-      float: right;
-      font-weight: bold;
-      margin: 15px 30px 0 0;
-      //margin-left: 0px;
-      padding: 15px 15px;
-
-      .card-panel-text {
-        line-height: 14px;
-        color: rgba(0, 0, 0, 0.45);
-        font-size: 12px;
-        margin-bottom: 9px;
-      }
-
-      .card-panel-num {
-        font-size: 18px;
-      }
-    }
-  }
+.bottom-card{
+  padding: 0px 10px 20px 10px;
+  height: auto;
+  width: 1292px;
+  margin-left: 20px;
+  justify-content: center;
+  column-width: max-content;
+}
+.el-icon-notebook-1{
+  font-size: 40px;
+  display: flex;
+  justify-content: left;
+}
+.el-icon-setting{
+  font-size: 40px;
+  display: flex;
+  justify-content: left;
+}
+.el-icon-s-unfold{
+  font-size: 40px;
+  display: flex;
+  justify-content: left;
+}
+.el-icon-cpu{
+  font-size: 40px;
+  display: flex;
+  justify-content: left;
+}
+.el-icon-upload2 {
+  font-size: 40px;
+  display: flex;
+  justify-content: left;
+}
+.el-icon-finished{
+  font-size: 40px;
+  display: flex;
+  justify-content: left;
+}
+.el-divider--vertical{
+  width:2px;
+  height:40px;		//鏇存敼绔栧悜鍒嗗壊绾块暱搴�
+  vertical-align:middle;
+  position:relative;
+}
+.nextLine{
+  display: block;
+  margin-left: 20px;
 }
 
-@media (max-width:550px) {
-  .card-panel-description {
-    display: none;
-  }
 
-  .card-panel-icon-wrapper {
-    float: none !important;
-    width: 100%;
-    height: 100%;
-    margin: 0 !important;
-
-    .svg-icon {
-      display: block;
-      margin: 14px auto !important;
-      float: none !important;
-    }
-  }
-}
 </style>
diff --git a/jcdm-ui/src/views/index.vue b/jcdm-ui/src/views/index.vue
index 727f870..c0abca2 100644
--- a/jcdm-ui/src/views/index.vue
+++ b/jcdm-ui/src/views/index.vue
@@ -1,23 +1,19 @@
 <template>
   <div class="dashboard-editor-container">
 
-    <panel-group @handleSetLineChartData="handleSetLineChartData" />
-    <el-row style="margin-top: 12px" >
-    <el-row style="background:#fff;padding:16px 16px 0;margin-bottom:32px;">
+    <panel-group style="margin-bottom: 10px" @handleSetLineChartData="handleSetLineChartData" />
+
+    <el-row style="background:#fff;padding:16px 16px 0; width: 1292px">
       <el-col :xs="24" :sm="12">
-        <el-card>
-          <pie-chart />
-        </el-card>
+        <pie-chart />
       </el-col>
 
       <el-col :xs="24" :sm="12">
-        <el-card>
-          <line-chart :chart-data="lineChartData" />
-        </el-card>
+        <line-chart :chart-data="lineChartData" />
 
       </el-col>
     </el-row>
-    </el-row>
+
   </div>
 </template>
 
@@ -73,7 +69,7 @@
 
 <style lang="scss" scoped>
 .dashboard-editor-container {
-  padding: 32px;
+  padding: 20px;
   background-color: rgb(240, 242, 245);
   position: relative;
 
diff --git a/jcdm-ui/src/views/main/da/tileMatchRules/index.vue b/jcdm-ui/src/views/main/da/tileMatchRules/index.vue
index 64a9a09..7c97ea1 100644
--- a/jcdm-ui/src/views/main/da/tileMatchRules/index.vue
+++ b/jcdm-ui/src/views/main/da/tileMatchRules/index.vue
@@ -10,38 +10,38 @@
             @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="鎵爜瀵硅薄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"
@@ -50,62 +50,62 @@
             @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="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"
@@ -170,14 +170,14 @@
 
       <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="涓婚敭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">
+        <el-table-column label="鎵爜瀵硅薄1" align="center" prop="scanObject1" width="100">
 
         </el-table-column>
-        <el-table-column label="鎵爜瀵硅薄2" align="center" prop="scanObject2">
+        <el-table-column label="鎵爜瀵硅薄2" align="center" prop="scanObject2" width="100">
 
         </el-table-column>
         <el-table-column label="杞村悕绉�" align="center" prop="axisName">
@@ -189,10 +189,10 @@
         <el-table-column label="鐡﹀悕绉�" align="center" prop="tileName">
 
         </el-table-column>
-        <el-table-column label="杞村弬鏁版暟浣嶇疆" align="center" prop="axisParameterNoPosition">
+        <el-table-column label="杞村弬鏁颁綅缃�" align="center" prop="axisParameterNoPosition" width="100">
 
         </el-table-column>
-        <el-table-column label="棰堝弬鏁版暟浣嶇疆" align="center" prop="neckParameterPosition">
+        <el-table-column label="棰堝弬鏁颁綅缃�" align="center" prop="neckParameterPosition" width="100">
 
         </el-table-column>
         <el-table-column label="杞村��" align="center" prop="axisValue">
@@ -204,12 +204,12 @@
         <el-table-column label="鐡﹂鑹�" align="center" prop="tileColor">
 
         </el-table-column>
-        <el-table-column label="鍒涘缓鐢ㄦ埛" align="center" prop="createUser">
+<!--        <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="updateUser">-->
 
-        </el-table-column>
+<!--        </el-table-column>-->
         <el-table-column label="鐘舵��" align="center" prop="state">
 
         </el-table-column>
@@ -271,11 +271,11 @@
         <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 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 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="璇疯緭鍏ヨ酱鍊�" />

--
Gitblit v1.9.3