From 901b68695fcdab7e3ff1d5df3df88bd5001b0181 Mon Sep 17 00:00:00 2001
From: jiang <1354748262@qq.com>
Date: 星期四, 25 一月 2024 09:17:10 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 jcdm-ui/src/views/main/pr/detectionReport/index.vue                                                                    |  218 +++++++++
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java                                 |   27 +
 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java |   11 
 jcdm-ui/src/views/main/pr/cameraReport/index.vue                                                                       |  218 +++++++++
 jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/controller/RmRepairRecordController.java                         |   10 
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java                |    9 
 jcdm-ui/src/api/main/rm/repairRecord/repairRecord.js                                                                   |   11 
 jcdm-ui/src/views/main/kb/prepareOnline/index.vue                                                                      |  176 ++++---
 jcdm-ui/src/views/main/pr/refuelDataReport/index.vue                                                                   |  219 +++++++++
 jcdm-ui/src/views/main/kb/repairMark/index.vue                                                                         |  162 +++---
 jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js                                           |    9 
 jcdm-main/src/main/resources/mapper/da/paramCollection/DaParamCollectionMapper.xml                                     |    1 
 jcdm-ui/src/views/main/pr/tightenReport/index.vue                                                                      |   64 +-
 jcdm-ui/src/views/main/pr/productResultReport/index.vue                                                                |  220 +++++++++
 14 files changed, 1,164 insertions(+), 191 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 37b5841..bdbf8dd 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
@@ -96,6 +96,33 @@
     @Excel(name = "绫诲瀷")
     private String type;
 
+    private String[] dateConditions;
+
+    private String startTime;
+
+    private String endTime;
+
+    public String[] getDateConditions() {
+        return dateConditions;
+    }
+
+    public void setDateConditions(String[] dateConditions) {
+        this.dateConditions = dateConditions;
+    }
+
+    public String getStartTime() {return startTime;}
+
+    public void setStartTime(String startTime) {
+        this.startTime = startTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
     public void setId(Long id) 
     {
         this.id = id;
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
index 2c3a908..4cfa0c6 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
@@ -5,6 +5,7 @@
 import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
 import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper;
 import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
+import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -19,6 +20,9 @@
 {
     @Autowired
     private DaParamCollectionMapper daParamCollectionMapper;
+
+    @Autowired
+    private IDaParamCollectionService daParamCollectionService;
 
     /**
      * 鏌ヨ璁惧浜у搧杩囩▼鍙傛暟閲囬泦
@@ -41,6 +45,11 @@
     @Override
     public List<DaParamCollection> selectDaParamCollectionList(DaParamCollection daParamCollection)
     {
+        if(daParamCollection.getDateConditions()!=null){
+        String[] conditions = daParamCollection.getDateConditions();
+            daParamCollection.setStartTime(conditions[0]);
+            daParamCollection.setEndTime(conditions[1]);
+    }
         return daParamCollectionMapper.selectDaParamCollectionList(daParamCollection);
     }
 
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 19831e2..6e67eda 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
@@ -50,6 +50,17 @@
         return getDataTable(list);
     }
 
+    /**
+     * 鏌ヨ浜у搧杩囩珯閲囬泦鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('da:passingStationCollection:list')")
+    @GetMapping("/noPageList")
+    public TableDataInfo noPageList(DaPassingStationCollection daPassingStationCollection)
+    {
+        List<DaPassingStationCollection> list = daPassingStationCollectionService.selectDaPassingStationCollectionList(daPassingStationCollection);
+        return getDataTable(list);
+    }
+
     @PreAuthorize("@ss.hasPermi('da:passingStationCollection:list')")
     @GetMapping("/getProduceNumToday")
     public R getProduceNumToday(String fieldName)
diff --git a/jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/controller/RmRepairRecordController.java b/jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/controller/RmRepairRecordController.java
index b4ed99a..afdb8ab 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/controller/RmRepairRecordController.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/controller/RmRepairRecordController.java
@@ -47,6 +47,16 @@
     }
 
     /**
+     * 涓嶅垎椤垫煡璇㈣繑淇褰曞垪琛�
+     */
+    @GetMapping("/noPagelist")
+    public TableDataInfo noPagelist(RmRepairRecord rmRepairRecord)
+    {
+        List<RmRepairRecord> list = rmRepairRecordService.selectRmRepairRecordList(rmRepairRecord);
+        return getDataTable(list);
+    }
+
+    /**
      * 瀵煎嚭杩斾慨璁板綍鍒楄〃
      */
     @PreAuthorize("@ss.hasPermi('rm:repairRecord:export')")
diff --git a/jcdm-main/src/main/resources/mapper/da/paramCollection/DaParamCollectionMapper.xml b/jcdm-main/src/main/resources/mapper/da/paramCollection/DaParamCollectionMapper.xml
index f8bfd29..1d91ae5 100644
--- a/jcdm-main/src/main/resources/mapper/da/paramCollection/DaParamCollectionMapper.xml
+++ b/jcdm-main/src/main/resources/mapper/da/paramCollection/DaParamCollectionMapper.xml
@@ -45,6 +45,7 @@
             <if test="locationCode != null  and locationCode != ''"> and location_code = #{locationCode}</if>
             <if test="equipmentNo != null  and equipmentNo != ''"> and equipment_no = #{equipmentNo}</if>
             <if test="paramCode != null  and paramCode != ''"> and param_code = #{paramCode}</if>
+            <if test="dateConditions != null  and dateConditions != ''"> and collection_time BETWEEN #{startTime} AND #{endTime}</if>
         </where>
     </select>
     
diff --git a/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js b/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js
index 57673db..a253eab 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 noPageList(query) {
+  return request({
+    url: '/da/passingStationCollection/noPageList',
+    method: 'get',
+    params: query
+  })
+}
+
 // 鑾峰彇棣栭〉鍗曟棩绱閲忎骇鏁版嵁
 export function getProduceNumToday(query) {
   return request({
diff --git a/jcdm-ui/src/api/main/rm/repairRecord/repairRecord.js b/jcdm-ui/src/api/main/rm/repairRecord/repairRecord.js
index 0083674..3fa3804 100644
--- a/jcdm-ui/src/api/main/rm/repairRecord/repairRecord.js
+++ b/jcdm-ui/src/api/main/rm/repairRecord/repairRecord.js
@@ -9,7 +9,16 @@
   })
 }
 
-// 鏌ヨ杩斾慨璁板綍璇︾粏
+// 鏌ヨ杩斾慨璁板綍鍒楄〃
+export function noPagelist(query) {
+  return request({
+    url: '/rm/repairRecord/noPagelist',
+    method: 'get',
+    params: query
+  })
+}
+
+// 涓嶅垎椤垫煡璇㈣繑淇褰曡缁�
 export function getRepairRecord(id) {
   return request({
     url: '/rm/repairRecord/' + id,
diff --git a/jcdm-ui/src/views/main/kb/prepareOnline/index.vue b/jcdm-ui/src/views/main/kb/prepareOnline/index.vue
index 3a4c8ac..2c5d3bb 100644
--- a/jcdm-ui/src/views/main/kb/prepareOnline/index.vue
+++ b/jcdm-ui/src/views/main/kb/prepareOnline/index.vue
@@ -1,91 +1,103 @@
 <template>
   <div class="app-container">
-    <el-card class="box-card" >
-      <el-form :model="queryParams.orderNo" ref="queryForm" :inline="true" label-width="68px" >
-        <el-form-item label-width="120" label="宸ュ崟缂栧彿:" prop="orderNo">
-          <el-input
-            v-model="queryParams.orderNo"
-            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-form-item>
-        <el-form-item style="margin-left: 360px">
-          <el-checkbox-group v-model="queryParams.isRepairFlag">
-            <el-checkbox @change="cleanFlag" name="type"></el-checkbox>
-          </el-checkbox-group>
-        </el-form-item>
-        <el-form-item label-width="120" label="杩斾慨鍙戝姩鏈哄彿:" prop="repairEngineNo" style="margin-left: 5px">
+    <div style="height: 100%;width: 100%">
+      <el-card class="box-card" >
+        <el-form :model="queryParams.orderNo" ref="queryForm" :inline="true" >
+          <el-form-item label="宸ュ崟缂栧彿:" prop="orderNo" >
+            <el-input
+              style="width: 160px"
+              v-model="queryParams.orderNo"
+              placeholder="璇疯緭鍏ュ伐鍗曠紪鍙�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item style="margin-left: 1%">
+            <el-button type="primary" icon="el-icon-refresh" @click="handleQuery">鏌ヨ</el-button>
+          </el-form-item>
+          <el-form-item style="margin-left: 5%">
+            <el-checkbox-group v-model="queryParams.isRepairFlag">
+              <el-checkbox @change="cleanFlag" name="type"></el-checkbox>
+            </el-checkbox-group>
+          </el-form-item>
+          <el-form-item  label="杩斾慨鍙戝姩鏈哄彿:" prop="repairEngineNo" >
 
-          <el-input
-            :disabled="!queryParams.isRepairFlag"
-            v-model="queryParams.repairEngineNo"
-            clearable
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
+            <el-input
+              style="width: 160px"
+              :disabled="!queryParams.isRepairFlag"
+              v-model="queryParams.repairEngineNo"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
 
 
-      </el-form>
-    </el-card>
-    <el-row :gutter="0">
-      <el-col :span="20">
-        <div style="height: 490px;">
-          <el-card style="margin-top: 10px; height: 490px; " class="box-card">
-            <el-table border v-loading="loading" :data="dataList" height="460"
-                      style="width: 100%" v-if="dataList.length > 0">
+        </el-form>
+      </el-card>
+      <el-row :gutter="0">
+        <el-col :span="20">
+          <div style="height: 490px;">
+            <el-card style="margin-top: 10px; height: 490px; width: 100%" class="box-card">
+              <el-table border v-loading="loading" :data="dataList" height="460"
+                        style="width: 100%" v-if="dataList.length > 0">
 
-              <el-table-column :show-overflow-tooltip='true' label="宸ュ崟缂栧彿" width="230" align="center" prop="orderNo">
-              </el-table-column>
-              <el-table-column  :show-overflow-tooltip='true' label="浜у搧灏忕郴鍒�" width="230" align="center" prop="model">
-              </el-table-column>
-              <el-table-column :show-overflow-tooltip='true' label="SN娴佹按鍙�" width="230" align="center" prop="engineNo">
-              </el-table-column>
-              <el-table-column label="鐘舵��" width="80" align="center" prop="productionStatus">
-<!--                <template slot-scope="scope">-->
-<!--                  <span v-if="scope.row.productionStatus === '1'">鏄�</span>-->
-<!--                  <span v-if="scope.row.productionStatus === '0'">鍚�</span>-->
-<!--                </template>-->
-                <template slot-scope="scope">
-                  <dict-tag :options="dict.type.order_scheduling_produce_status" :value="scope.row.productionStatus"/>
-                </template>
-              </el-table-column>
-              <el-table-column label="鏄惁鎵撳嵃" width="80"  align="center" prop="whetherOrPrint">
+                <el-table-column :show-overflow-tooltip='true' label="宸ュ崟缂栧彿"  align="center" prop="orderNo">
+                </el-table-column>
+                <el-table-column  :show-overflow-tooltip='true' label="浜у搧灏忕郴鍒�"  align="center" prop="model">
+                </el-table-column>
+                <el-table-column :show-overflow-tooltip='true' label="SN娴佹按鍙�"  align="center" prop="engineNo">
+                </el-table-column>
+                <el-table-column label="鐘舵��" width="80" align="center" prop="productionStatus">
+                  <!--                <template slot-scope="scope">-->
+                  <!--                  <span v-if="scope.row.productionStatus === '1'">鏄�</span>-->
+                  <!--                  <span v-if="scope.row.productionStatus === '0'">鍚�</span>-->
+                  <!--                </template>-->
+                  <template slot-scope="scope">
+                    <dict-tag :options="dict.type.order_scheduling_produce_status" :value="scope.row.productionStatus"/>
+                  </template>
+                </el-table-column>
+                <el-table-column label="鏄惁鎵撳嵃" width="80"  align="center" prop="whetherOrPrint">
 
-                <template slot-scope="scope">
-                  <dict-tag :options="dict.type.print_status" :value="scope.row.whetherOrPrint"/>
-                </template>
+                  <template slot-scope="scope">
+                    <dict-tag :options="dict.type.print_status" :value="scope.row.whetherOrPrint"/>
+                  </template>
 
-              </el-table-column>
-              <el-table-column label="鎵撳嵃鏃堕棿" align="center" prop="null">
-              </el-table-column>
-            </el-table>
-            <el-empty v-else>
-              <span slot="description">鏆傛棤鏁版嵁</span>
-            </el-empty>
-          </el-card>
-        </div>
-
-      </el-col>
-      <el-col :span="4">
-        <el-card style="margin-top: 10px; min-height: 490px" class="box-card">
-          <div style="min-width: 180px;min-height: 185px">
-            <vue-qr
-              v-if="qrCode !==''"
-              ref="qrCode"
-              :text="qrCode"
-              width="180"
-              height="180"
-            ></vue-qr>
+                </el-table-column>
+                <el-table-column label="鎵撳嵃鏃堕棿" align="center" prop="null">
+                </el-table-column>
+              </el-table>
+              <el-empty v-else>
+                <span slot="description">鏆傛棤鏁版嵁</span>
+              </el-empty>
+            </el-card>
           </div>
 
-          <el-button type="success" style="margin-top: 190px; margin-left: 50px; width: 100px">绯荤粺璁剧疆</el-button>
-        </el-card>
-      </el-col>
-    </el-row>
+        </el-col>
+        <el-col :span="4">
+
+          <el-card style="margin-top: 10px; min-height: 490px" class="box-card">
+            <div >
+              <el-row class="centerImg" style="min-width: 80%;min-height: 90%">
+                <vue-qr
+                  v-if="qrCode !==''"
+                  ref="qrCode"
+                  :text="qrCode"
+                  width="100%"
+                  height="100%"
+                ></vue-qr>
+              </el-row>
+              <el-row class="centerImg">
+                <el-button type="success" style="margin-top: 80%; width: 100%">绯荤粺璁剧疆</el-button>
+              </el-row>
+
+
+
+            </div>
+          </el-card>
+        </el-col>
+      </el-row>
+    </div>
+
 
 
   </div>
@@ -161,4 +173,12 @@
 ::v-deep .el-card__body{
   padding: 15px 20px 0px 20px;
 }
+::v-deep .el-input .el-input--medium .el-input--suffix{
+  width: 200px;
+}
+.centerImg{
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
 </style>
diff --git a/jcdm-ui/src/views/main/kb/repairMark/index.vue b/jcdm-ui/src/views/main/kb/repairMark/index.vue
index 7659ad5..8b88fe9 100644
--- a/jcdm-ui/src/views/main/kb/repairMark/index.vue
+++ b/jcdm-ui/src/views/main/kb/repairMark/index.vue
@@ -24,95 +24,79 @@
     <el-row>
       <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} {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} {h}:{i}:{s}') }}</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} {h}:{i}:{s}') }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column label="鑺傛媿鏃堕棿" align="center" prop="beatTime">
-            </el-table-column>
-          </el-table>
+          <el-tabs v-model="activeName" @tab-click="handleClick">
+            <el-tab-pane label="杩囩珯閲囬泦" name="first">
+              <el-table max-height="410px" 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="160">
+                  <template slot-scope="scope">
+                    <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="160">
+                  <template slot-scope="scope">
+                    <span>{{ parseTime(scope.row.outboundTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</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="160">
+                  <template slot-scope="scope">
+                    <span>{{ parseTime(scope.row.collectionTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column label="鑺傛媿鏃堕棿" align="center" prop="beatTime">
+                </el-table-column>
+              </el-table>
+            </el-tab-pane>
+            <el-tab-pane label="杩斾慨璁板綍" name="second">
+              <el-table max-height="410px" 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>
+            </el-tab-pane>
+          </el-tabs>
+
         </el-card>
       </el-col>
       <el-col :span="4">
         <el-card style="margin-top: 10px; min-height: 490px">
           <el-row class="centered-row">
-            <el-button type="success" icon="el-icon-s-grid" @click="selectAll" >閫夋嫨鎵�鏈�</el-button>
-
+            <el-button type="success" style="margin-top: 10px;width:120px;height:40px" icon="el-icon-s-grid" @click="selectAll" >閫� 鎷� 鎵� 鏈�</el-button>
           </el-row>
           <el-row class="centered-row">
-            <el-button type="success" icon="el-icon-close" @click="clearAll">鍙栨秷閫夋嫨</el-button>
-
+            <el-button type="success" style="margin-top: 10px;width:120px;height:40px" icon="el-icon-close" @click="clearAll">鍙� 娑� 閫� 鎷�</el-button>
           </el-row>
           <el-row class="centered-row">
-            <el-button type="success" icon="el-icon-document-remove" @click="selectUnqualified">閫夋嫨涓嶅悎鏍�</el-button>
-
+            <el-button type="success" style="margin-top: 10px;width:120px;height:40px" icon="el-icon-document-remove" @click="selectUnqualified">閫夋嫨涓嶅悎鏍�</el-button>
           </el-row>
           <el-row class="centered-row">
-            <el-button type="success" icon="el-icon-s-flag" @click="markComplete">鏍囪瀹屾垚</el-button>
-
-          </el-row>    <el-row class="centered-row">
-          <el-button type="success" icon="el-icon-files" @click="repairRecord">杩斾慨璁板綍</el-button>
-
+            <el-button type="success" style="margin-top: 10px;width:120px;height:40px" icon="el-icon-s-flag" @click="markComplete">鏍� 璁� 瀹� 鎴�</el-button>
+          </el-row>
+          <el-row class="centered-row">
+          <el-button type="success" style="margin-top: 10px;width:120px;height:40px" icon="el-icon-files" @click="repairRecord">杩� 淇� 璁� 褰�</el-button>
         </el-row>
           <el-row class="centered-row">
-            <el-button type="success" icon="el-icon-date" @click="operationLog" >鎿嶄綔鏃ュ織</el-button>
-
+            <el-button type="success" style="margin-top: 10px;width:120px;height:40px" icon="el-icon-date" @click="operationLog" >鎿� 浣� 鏃� 蹇�</el-button>
           </el-row>
-
-
-
-<!--          <el-button type="success" icon="el-icon-close" @click="clearAll">鍙栨秷閫夋嫨</el-button>-->
-<!--          <el-button type="success" icon="el-icon-document-remove" @click="selectUnqualified">閫夋嫨涓嶅悎鏍�</el-button>-->
-<!--          <el-button type="success" icon="el-icon-s-flag" @click="markComplete">鏍囪瀹屾垚</el-button>-->
-<!--          <el-button type="success" icon="el-icon-files" @click="repairRecord">杩斾慨璁板綍</el-button>-->
-<!--          <el-button type="success" icon="el-icon-date" @click="operationLog" >鎿嶄綔鏃ュ織</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>
@@ -120,15 +104,17 @@
 
 <script>
 import {
-  listPassingStationCollection,
+  noPageList,
   insertRepairRecordByIds
 } from "@/api/main/da/passingStationCollection/passingStationCollection";
-import {listRepairRecord} from "@/api/main/rm/repairRecord/repairRecord";
+import {noPagelist} from "@/api/main/rm/repairRecord/repairRecord";
 export default {
   name: "index",
   dicts: ['sys_normal_disable'],
   data(){
     return{
+      activeName: 'first',
+
       // 杩斾慨璁板綍琛ㄦ牸鏁版嵁
       repairRecordList: [],
       // 鏄惁鏄剧ず寮瑰嚭灞�
@@ -141,12 +127,13 @@
         outRsSign: '',
       },
       ids: [],
-      allSelected: false
+      allSelected: false,
+      boxCode: '',
 
     }
   },
   mounted() {
-    this.getList()
+    // this.getList()
   },
   methods:{
     // 鍙栨秷鎸夐挳
@@ -194,26 +181,25 @@
       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;
-        });
+      this.activeName = 'second'
+    },
+    initRepairRecord(){
+      /** 鏌ヨ杩斾慨璁板綍鍒楄〃 */
+      let queryParams = {
+        boxCode: this.queryParams.sfcCode
       }
+      noPagelist(queryParams).then(response => {
+        this.repairRecordList = response.rows;
+      });
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
       this.getList();
+      this.initRepairRecord();
     },
     /** 鏌ヨ浜у搧杩囩珯閲囬泦鍒楄〃 */
     getList() {
-      listPassingStationCollection(this.queryParams).then(response => {
+      noPageList(this.queryParams).then(response => {
         this.passingStationCollectionList = response.rows;
         this.total = response.total;
       });
diff --git a/jcdm-ui/src/views/main/pr/cameraReport/index.vue b/jcdm-ui/src/views/main/pr/cameraReport/index.vue
new file mode 100644
index 0000000..ce4ecfa
--- /dev/null
+++ b/jcdm-ui/src/views/main/pr/cameraReport/index.vue
@@ -0,0 +1,218 @@
+<template>
+  <div class="app-container">
+    <el-card class="box-card" >
+      <el-form :model="queryParams" ref="queryForm" :inline="true"  v-show="showSearch" label-width="68px" >
+        <el-form-item label-width="120" label="绠变綋缂栫爜:" prop="sfcCode">
+          <el-input clearable
+                    v-model="queryParams.sfcCode"
+                    placeholder="璇疯緭鍏ョ浣撶紪鐮�"
+                    @keyup.enter.native="handleQuery"/>
+        </el-form-item>
+        <el-form-item label-width="120" label="宸ヤ綅鍙�:" prop="locationCode">
+          <el-input clearable
+                    v-model="queryParams.locationCode"
+                    placeholder="璇疯緭鍏ュ伐浣嶅彿"
+                    @keyup.enter.native="handleQuery"/>
+        </el-form-item>
+        <el-form-item label-width="130" label="淇濆瓨鏃ユ湡" prop="dateConditions">
+          <el-date-picker
+            v-model="queryParams.dateConditions"
+            type="datetimerange"
+            :picker-options="pickerOptions"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            range-separator="鑷�"
+            start-placeholder="寮�濮嬫棩鏈�"
+            end-placeholder="缁撴潫鏃ユ湡"
+            align="right">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item style="float: right">
+          <el-button type="primary" icon="el-icon-refresh" @click="handleQuery">鏌ヨ</el-button>
+          <el-button type=""    icon="el-icon-refresh"  @click="resetQuery">閲嶇疆</el-button>
+        </el-form-item>
+      </el-form>
+    </el-card> <el-card style="margin-top: 10px" class="box-card">
+    <el-table v-loading="loading" border :data="cameraReportList" @selection-change="handleSelectionChange" v-if="cameraReportList.length > 0">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="绠变綋缂栫爜" align="center" width="200" prop="sfcCode"></el-table-column>
+      <el-table-column label="宸ヤ綅" align="center" prop="locationCode"></el-table-column>
+      <el-table-column label="鍙傛暟缂栫爜" align="center" prop="paramCode"></el-table-column>
+      <el-table-column label="鍙傛暟鍚嶇О" align="center" prop="paramName"></el-table-column>
+      <el-table-column label="鍙傛暟鍊�" align="center" prop="paramValue"></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} {h}:{i}:{s}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="鐘舵��" align="center" prop="state"></el-table-column>
+      <el-table-column label="鍗曚綅" align="center" prop="unit"></el-table-column>
+    </el-table>
+    <el-empty v-else>
+      <span slot="description">鏆傛棤鏁版嵁</span>
+    </el-empty>
+  </el-card>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+  </div>
+</template>
+<script>
+
+import { listParamCollection, getParamCollection, delParamCollection, addParamCollection, updateParamCollection } from "@/api/main/da/paramCollection/paramCollection";
+
+export default {
+  name: "camera",
+  computed: {
+  },
+  dicts: ['sys_normal_disable','order_scheduling_produce_status','print_status'],
+  components: {
+  },
+  data(){
+    return{
+      dateRange: '',
+      // 鐢ㄤ簬瀛樺偍閫夋嫨鐨勬棩鏈熻寖鍥�
+      total: 0,
+      ids: [],
+      cameraReportList: [],
+      loading: true,
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        workOrderNo: null,
+        sfcCode: null,
+        productCode: null,
+        productionLine: null,
+        locationCode: null,
+        equipmentNo: null,
+        paramCode: null,
+        paramValue: null,
+        paramUpper: null,
+        paramLower: null,
+        paramStandard: null,
+        collectionTime: null,
+        spareField1: null,
+        spareField2: null,
+        createUser: null,
+        createTime: null,
+        updateUser: null,
+        updateTime: null,
+        state: null,
+        paramName: null,
+        unit: null,
+        type: '瑙嗚鏁版嵁',
+        startDate: null,
+        endDate: null,
+        dateConditions: [],
+      },
+      pickerOptions: {
+        shortcuts: [{
+          text: '鏈�杩戜竴鍛�',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '鏈�杩戜竴涓湀',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '鏈�杩戜笁涓湀',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+            picker.$emit('pick', [start, end]);
+          }
+        }]
+      },
+    }
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    reset() {
+      this.form = {
+        id: null,
+        workOrderNo: null,
+        sfcCode: null,
+        productCode: null,
+        productionLine: null,
+        locationCode: null,
+        equipmentNo: null,
+        paramCode: null,
+        paramValue: null,
+        paramUpper: null,
+        paramLower: null,
+        paramStandard: null,
+        collectionTime: null,
+        spareField1: null,
+        spareField2: null,
+        createUser: null,
+        createTime: null,
+        updateUser: null,
+        updateTime: null,
+        state: null,
+        paramName: null,
+        unit: null,
+        type: '瑙嗚鏁版嵁',
+      };
+      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
+    },
+
+    getList() {
+      this.loading = true;
+      listParamCollection(this.queryParams).then(response => {
+        this.cameraReportList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+
+  },
+}
+
+</script>
+
+<style scoped>
+::v-deep .el-form-item__label{
+  font-size: large;
+}
+::v-deep .el-card__body{
+  padding: 15px 20px 0px 20px;
+}
+</style>
diff --git a/jcdm-ui/src/views/main/pr/detectionReport/index.vue b/jcdm-ui/src/views/main/pr/detectionReport/index.vue
new file mode 100644
index 0000000..2a24d05
--- /dev/null
+++ b/jcdm-ui/src/views/main/pr/detectionReport/index.vue
@@ -0,0 +1,218 @@
+<template>
+  <div class="app-container">
+    <el-card class="box-card" >
+      <el-form :model="queryParams" ref="queryForm" :inline="true"  v-show="showSearch" label-width="68px" >
+        <el-form-item label-width="120" label="绠变綋缂栫爜:" prop="sfcCode">
+          <el-input clearable
+                    v-model="queryParams.sfcCode"
+                    placeholder="璇疯緭鍏ョ浣撶紪鐮�"
+                    @keyup.enter.native="handleQuery"/>
+        </el-form-item>
+        <el-form-item label-width="120" label="宸ヤ綅鍙�:" prop="locationCode">
+          <el-input clearable
+                    v-model="queryParams.locationCode"
+                    placeholder="璇疯緭鍏ュ伐浣嶅彿"
+                    @keyup.enter.native="handleQuery"/>
+        </el-form-item>
+        <el-form-item label-width="130" label="淇濆瓨鏃ユ湡" prop="dateConditions">
+          <el-date-picker
+            v-model="queryParams.dateConditions"
+            type="datetimerange"
+            :picker-options="pickerOptions"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            range-separator="鑷�"
+            start-placeholder="寮�濮嬫棩鏈�"
+            end-placeholder="缁撴潫鏃ユ湡"
+            align="right">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item style="float: right">
+          <el-button type="primary" icon="el-icon-refresh" @click="handleQuery">鏌ヨ</el-button>
+          <el-button type=""    icon="el-icon-refresh"  @click="resetQuery">閲嶇疆</el-button>
+        </el-form-item>
+      </el-form>
+    </el-card> <el-card style="margin-top: 10px" class="box-card">
+    <el-table v-loading="loading" border :data="detectionReportList" @selection-change="handleSelectionChange" v-if="detectionReportList.length > 0">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="绠变綋缂栫爜" align="center" width="200" prop="sfcCode"></el-table-column>
+      <el-table-column label="宸ヤ綅" align="center" prop="locationCode"></el-table-column>
+      <el-table-column label="鍙傛暟缂栫爜" align="center" prop="paramCode"></el-table-column>
+      <el-table-column label="鍙傛暟鍚嶇О" align="center" prop="paramName"></el-table-column>
+      <el-table-column label="鍙傛暟鍊�" align="center" prop="paramValue"></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} {h}:{i}:{s}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="鐘舵��" align="center" prop="state"></el-table-column>
+      <el-table-column label="鍗曚綅" align="center" prop="unit"></el-table-column>
+    </el-table>
+    <el-empty v-else>
+      <span slot="description">鏆傛棤鏁版嵁</span>
+    </el-empty>
+  </el-card>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+  </div>
+</template>
+<script>
+
+import { listParamCollection, getParamCollection, delParamCollection, addParamCollection, updateParamCollection } from "@/api/main/da/paramCollection/paramCollection";
+
+export default {
+  name: "detection",
+  computed: {
+  },
+  dicts: ['sys_normal_disable','order_scheduling_produce_status','print_status'],
+  components: {
+  },
+  data(){
+    return{
+      dateRange: '',
+      // 鐢ㄤ簬瀛樺偍閫夋嫨鐨勬棩鏈熻寖鍥�
+      total: 0,
+      ids: [],
+      detectionReportList: [],
+      loading: true,
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        workOrderNo: null,
+        sfcCode: null,
+        productCode: null,
+        productionLine: null,
+        locationCode: null,
+        equipmentNo: null,
+        paramCode: null,
+        paramValue: null,
+        paramUpper: null,
+        paramLower: null,
+        paramStandard: null,
+        collectionTime: null,
+        spareField1: null,
+        spareField2: null,
+        createUser: null,
+        createTime: null,
+        updateUser: null,
+        updateTime: null,
+        state: null,
+        paramName: null,
+        unit: null,
+        type: '澶栨紡妫�娴�',
+        startDate: null,
+        endDate: null,
+        dateConditions: [],
+      },
+      pickerOptions: {
+        shortcuts: [{
+          text: '鏈�杩戜竴鍛�',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '鏈�杩戜竴涓湀',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '鏈�杩戜笁涓湀',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+            picker.$emit('pick', [start, end]);
+          }
+        }]
+      },
+    }
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    reset() {
+      this.form = {
+        id: null,
+        workOrderNo: null,
+        sfcCode: null,
+        productCode: null,
+        productionLine: null,
+        locationCode: null,
+        equipmentNo: null,
+        paramCode: null,
+        paramValue: null,
+        paramUpper: null,
+        paramLower: null,
+        paramStandard: null,
+        collectionTime: null,
+        spareField1: null,
+        spareField2: null,
+        createUser: null,
+        createTime: null,
+        updateUser: null,
+        updateTime: null,
+        state: null,
+        paramName: null,
+        unit: null,
+        type: '澶栨紡妫�娴�',
+      };
+      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
+    },
+
+    getList() {
+      this.loading = true;
+      listParamCollection(this.queryParams).then(response => {
+        this.detectionReportList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+
+  },
+}
+
+</script>
+
+<style scoped>
+::v-deep .el-form-item__label{
+  font-size: large;
+}
+::v-deep .el-card__body{
+  padding: 15px 20px 0px 20px;
+}
+</style>
diff --git a/jcdm-ui/src/views/main/pr/productResultReport/index.vue b/jcdm-ui/src/views/main/pr/productResultReport/index.vue
new file mode 100644
index 0000000..ac597fa
--- /dev/null
+++ b/jcdm-ui/src/views/main/pr/productResultReport/index.vue
@@ -0,0 +1,220 @@
+<template>
+  <div class="app-container">
+    <el-card class="box-card" >
+      <el-form :model="queryParams" ref="queryForm" :inline="true"  v-show="showSearch" label-width="68px" >
+        <el-form-item label-width="120" label="绠变綋缂栫爜:" prop="sfcCode">
+          <el-input clearable
+                    v-model="queryParams.sfcCode"
+                    placeholder="璇疯緭鍏ョ浣撶紪鐮�"
+                    @keyup.enter.native="handleQuery"/>
+        </el-form-item>
+        <el-form-item label-width="120" label="宸ヤ綅鍙�:" prop="locationCode">
+          <el-input clearable
+                    v-model="queryParams.locationCode"
+                    placeholder="璇疯緭鍏ュ伐浣嶅彿"
+                    @keyup.enter.native="handleQuery"/>
+        </el-form-item>
+        <el-form-item label-width="130" label="淇濆瓨鏃ユ湡" prop="dateConditions">
+          <el-date-picker
+            v-model="queryParams.dateConditions"
+            type="datetimerange"
+            :picker-options="pickerOptions"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            range-separator="鑷�"
+            start-placeholder="寮�濮嬫棩鏈�"
+            end-placeholder="缁撴潫鏃ユ湡"
+            align="right">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item style="float: right">
+          <el-button type="primary" icon="el-icon-refresh" @click="handleQuery">鏌ヨ</el-button>
+          <el-button type=""    icon="el-icon-refresh"  @click="resetQuery">閲嶇疆</el-button>
+        </el-form-item>
+      </el-form>
+    </el-card> <el-card style="margin-top: 10px" class="box-card">
+    <el-table v-loading="loading" border :data="productResultReportList" @selection-change="handleSelectionChange" v-if="productResultReportList.length > 0">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="绠变綋缂栫爜" align="center" width="200" prop="sfcCode"></el-table-column>
+      <el-table-column label="宸ヤ綅" align="center" prop="locationCode"></el-table-column>
+      <el-table-column label="鍙傛暟缂栫爜" align="center" prop="paramCode"></el-table-column>
+      <el-table-column label="鍙傛暟鍚嶇О" align="center" prop="paramName"></el-table-column>
+      <el-table-column label="鍙傛暟鍊�" align="center" prop="paramValue"></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} {h}:{i}:{s}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="鐘舵��" align="center" prop="state"></el-table-column>
+      <el-table-column label="鍗曚綅" align="center" prop="unit"></el-table-column>
+    </el-table>
+    <el-empty v-else>
+      <span slot="description">鏆傛棤鏁版嵁</span>
+    </el-empty>
+  </el-card>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+  </div>
+</template>
+<script>
+
+import { listParamCollection, getParamCollection, delParamCollection, addParamCollection, updateParamCollection } from "@/api/main/da/paramCollection/paramCollection";
+
+export default {
+  name: "productResult",
+  computed: {
+  },
+  dicts: ['sys_normal_disable','order_scheduling_produce_status','print_status'],
+  components: {
+  },
+  data(){
+    return{
+      dateRange: '',
+      // 鐢ㄤ簬瀛樺偍閫夋嫨鐨勬棩鏈熻寖鍥�
+      total: 0,
+      ids: [],
+      productResultReportList: [],
+      loading: true,
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        workOrderNo: null,
+        sfcCode: null,
+        productCode: null,
+        productionLine: null,
+        locationCode: null,
+        equipmentNo: null,
+        paramCode: null,
+        paramValue: null,
+        paramUpper: null,
+        paramLower: null,
+        paramStandard: null,
+        collectionTime: null,
+        spareField1: null,
+        spareField2: null,
+        createUser: null,
+        createTime: null,
+        updateUser: null,
+        updateTime: null,
+        state: null,
+        paramName: null,
+        unit: null,
+        type: '宸ヤ綅浜у搧缁撴灉',
+        startDate: null,
+        endDate: null,
+        dateConditions: [],
+      },
+
+      pickerOptions: {
+        shortcuts: [{
+          text: '鏈�杩戜竴鍛�',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '鏈�杩戜竴涓湀',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '鏈�杩戜笁涓湀',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+            picker.$emit('pick', [start, end]);
+          }
+        }]
+      },
+
+    }
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    reset() {
+      this.form = {
+        id: null,
+        workOrderNo: null,
+        sfcCode: null,
+        productCode: null,
+        productionLine: null,
+        locationCode: null,
+        equipmentNo: null,
+        paramCode: null,
+        paramValue: null,
+        paramUpper: null,
+        paramLower: null,
+        paramStandard: null,
+        collectionTime: null,
+        spareField1: null,
+        spareField2: null,
+        createUser: null,
+        createTime: null,
+        updateUser: null,
+        updateTime: null,
+        state: null,
+        paramName: null,
+        unit: null,
+        type: '宸ヤ綅浜у搧缁撴灉',
+      };
+      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
+    },
+
+    getList() {
+      this.loading = true;
+      listParamCollection(this.queryParams).then(response => {
+        this.productResultReportList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+
+  },
+}
+
+</script>
+
+<style scoped>
+::v-deep .el-form-item__label{
+  font-size: large;
+}
+::v-deep .el-card__body{
+  padding: 15px 20px 0px 20px;
+}
+</style>
diff --git a/jcdm-ui/src/views/main/pr/refuelDataReport/index.vue b/jcdm-ui/src/views/main/pr/refuelDataReport/index.vue
new file mode 100644
index 0000000..a1fb1d6
--- /dev/null
+++ b/jcdm-ui/src/views/main/pr/refuelDataReport/index.vue
@@ -0,0 +1,219 @@
+<template>
+  <div class="app-container">
+    <el-card class="box-card" >
+      <el-form :model="queryParams" ref="queryForm" :inline="true"  v-show="showSearch" label-width="68px" >
+        <el-form-item label-width="120" label="绠变綋缂栫爜:" prop="sfcCode">
+          <el-input clearable
+                    v-model="queryParams.sfcCode"
+                    placeholder="璇疯緭鍏ョ浣撶紪鐮�"
+                    @keyup.enter.native="handleQuery"/>
+        </el-form-item>
+        <el-form-item label-width="120" label="宸ヤ綅鍙�:" prop="locationCode">
+          <el-input clearable
+                    v-model="queryParams.locationCode"
+                    placeholder="璇疯緭鍏ュ伐浣嶅彿"
+                    @keyup.enter.native="handleQuery"/>
+        </el-form-item>
+        <el-form-item label-width="130" label="淇濆瓨鏃ユ湡" prop="dateConditions">
+          <el-date-picker
+            v-model="queryParams.dateConditions"
+            type="datetimerange"
+            :picker-options="pickerOptions"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            range-separator="鑷�"
+            start-placeholder="寮�濮嬫棩鏈�"
+            end-placeholder="缁撴潫鏃ユ湡"
+            align="right">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item style="float: right">
+          <el-button type="primary" icon="el-icon-refresh" @click="handleQuery">鏌ヨ</el-button>
+          <el-button type=""    icon="el-icon-refresh"  @click="resetQuery">閲嶇疆</el-button>
+        </el-form-item>
+      </el-form>
+    </el-card> <el-card style="margin-top: 10px" class="box-card">
+    <el-table v-loading="loading" border :data="refuelDataReportList" @selection-change="handleSelectionChange" v-if="refuelDataReportList.length > 0">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="绠变綋缂栫爜" align="center" width="200" prop="sfcCode"></el-table-column>
+      <el-table-column label="宸ヤ綅" align="center" prop="locationCode"></el-table-column>
+      <el-table-column label="鍙傛暟缂栫爜" align="center" prop="paramCode"></el-table-column>
+      <el-table-column label="鍙傛暟鍚嶇О" align="center" prop="paramName"></el-table-column>
+      <el-table-column label="鍙傛暟鍊�" align="center" prop="paramValue"></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} {h}:{i}:{s}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="鐘舵��" align="center" prop="state"></el-table-column>
+      <el-table-column label="鍗曚綅" align="center" prop="unit"></el-table-column>
+    </el-table>
+    <el-empty v-else>
+      <span slot="description">鏆傛棤鏁版嵁</span>
+    </el-empty>
+  </el-card>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+  </div>
+</template>
+<script>
+
+import { listParamCollection, getParamCollection, delParamCollection, addParamCollection, updateParamCollection } from "@/api/main/da/paramCollection/paramCollection";
+
+export default {
+  name: "refuelData",
+  computed: {
+  },
+  dicts: ['sys_normal_disable','order_scheduling_produce_status','print_status'],
+  components: {
+  },
+  data(){
+    return{
+      dateRange: '',
+      // 鐢ㄤ簬瀛樺偍閫夋嫨鐨勬棩鏈熻寖鍥�
+      total: 0,
+      ids: [],
+      refuelDataReportList: [],
+      loading: true,
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        workOrderNo: null,
+        sfcCode: null,
+        productCode: null,
+        productionLine: null,
+        locationCode: null,
+        equipmentNo: null,
+        paramCode: null,
+        paramValue: null,
+        paramUpper: null,
+        paramLower: null,
+        paramStandard: null,
+        collectionTime: null,
+        spareField1: null,
+        spareField2: null,
+        createUser: null,
+        createTime: null,
+        updateUser: null,
+        updateTime: null,
+        state: null,
+        paramName: null,
+        unit: null,
+        type: '鏈烘补鍔犳敞鏁版嵁',
+        startDate: null,
+        endDate: null,
+        dateConditions: [],
+      },
+      pickerOptions: {
+        shortcuts: [{
+          text: '鏈�杩戜竴鍛�',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '鏈�杩戜竴涓湀',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '鏈�杩戜笁涓湀',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+            picker.$emit('pick', [start, end]);
+          }
+        }]
+      },
+    }
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+
+    reset() {
+      this.form = {
+        id: null,
+        workOrderNo: null,
+        sfcCode: null,
+        productCode: null,
+        productionLine: null,
+        locationCode: null,
+        equipmentNo: null,
+        paramCode: null,
+        paramValue: null,
+        paramUpper: null,
+        paramLower: null,
+        paramStandard: null,
+        collectionTime: null,
+        spareField1: null,
+        spareField2: null,
+        createUser: null,
+        createTime: null,
+        updateUser: null,
+        updateTime: null,
+        state: null,
+        paramName: null,
+        unit: null,
+        type: '鏈烘补鍔犳敞鏁版嵁',
+      };
+      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
+    },
+
+    getList() {
+      this.loading = true;
+      listParamCollection(this.queryParams).then(response => {
+        this.refuelDataReportList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+
+  },
+}
+
+</script>
+
+<style scoped>
+::v-deep .el-form-item__label{
+  font-size: large;
+}
+::v-deep .el-card__body{
+  padding: 15px 20px 0px 20px;
+}
+</style>
diff --git a/jcdm-ui/src/views/main/pr/tightenReport/index.vue b/jcdm-ui/src/views/main/pr/tightenReport/index.vue
index f1f45df..f839cb2 100644
--- a/jcdm-ui/src/views/main/pr/tightenReport/index.vue
+++ b/jcdm-ui/src/views/main/pr/tightenReport/index.vue
@@ -14,14 +14,17 @@
             placeholder="璇疯緭鍏ュ伐浣嶅彿"
             @keyup.enter.native="handleQuery"/>
         </el-form-item>
-        <el-form-item label-width="120"  label="閲囬泦鏃堕棿" prop="startDate">
-            <el-date-picker
-              v-model="dateRange"
-              type="daterange"
-              range-separator="鑷�"
-              start-placeholder="寮�濮嬫棩鏈�"
-              end-placeholder="缁撴潫鏃ユ湡">
-            </el-date-picker>
+        <el-form-item label-width="130" label="淇濆瓨鏃ユ湡" prop="dateConditions">
+          <el-date-picker
+            v-model="queryParams.dateConditions"
+            type="datetimerange"
+            :picker-options="pickerOptions"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            range-separator="鑷�"
+            start-placeholder="寮�濮嬫棩鏈�"
+            end-placeholder="缁撴潫鏃ユ湡"
+            align="right">
+          </el-date-picker>
         </el-form-item>
         <el-form-item style="float: right">
           <el-button type="primary" icon="el-icon-refresh" @click="handleQuery">鏌ヨ</el-button>
@@ -110,7 +113,35 @@
         unit: null,
         type: '鎷х揣鏁版嵁',
         startDate: null,
-        endDate: null
+        endDate: null,
+        dateConditions: [],
+      },
+      pickerOptions: {
+        shortcuts: [{
+          text: '鏈�杩戜竴鍛�',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '鏈�杩戜竴涓湀',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '鏈�杩戜笁涓湀',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+            picker.$emit('pick', [start, end]);
+          }
+        }]
       },
     }
   },
@@ -118,21 +149,6 @@
     this.getList();
   },
   methods: {
-
-    //   async fetchData() {
-    //     // 鏋勫缓API璇锋眰鐨刄RL锛屼娇鐢ㄩ�夋嫨鐨勬棩鏈熻寖鍥翠綔涓烘煡璇㈠弬鏁�
-    //     const url = `@/api/main/da/paramCollection/paramCollection?startDate=${this.dateRange[0]}&endDate=${this.dateRange[1]}`;
-    //
-    //     try {
-    //       // 鍙戦�丄PI璇锋眰锛岃幏鍙栨煡璇㈢粨鏋�
-    //       const response = await fetch(url);
-    //       const data = await response.json();
-    //       console.log(data); // 澶勭悊鏌ヨ缁撴灉锛屾瘮濡傚湪鎺у埗鍙拌緭鍑烘垨鏄剧ず鍦ㄩ〉闈笂
-    //     } catch (error) {
-    //       console.error('Error fetching data:', error);
-    //     }
-    //   },
-    // },
 
     reset() {
       this.form = {

--
Gitblit v1.9.3