春风项目四线(合箱线、总装线)
jiang
2024-01-25 901b68695fcdab7e3ff1d5df3df88bd5001b0181
Merge remote-tracking branch 'origin/master'
已修改10个文件
已添加4个文件
1173 ■■■■■ 文件已修改
jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/controller/RmRepairRecordController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/resources/mapper/da/paramCollection/DaParamCollectionMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/api/main/rm/repairRecord/repairRecord.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/views/main/kb/prepareOnline/index.vue 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/views/main/kb/repairMark/index.vue 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/views/main/pr/cameraReport/index.vue 218 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/views/main/pr/detectionReport/index.vue 218 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/views/main/pr/productResultReport/index.vue 220 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/views/main/pr/refuelDataReport/index.vue 219 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/views/main/pr/tightenReport/index.vue 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
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);
    }
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)
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')")
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>
    
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({
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,
jcdm-ui/src/views/main/kb/prepareOnline/index.vue
@@ -1,26 +1,29 @@
<template>
  <div class="app-container">
    <div style="height: 100%;width: 100%">
    <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-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: 20px">
          <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: 360px">
          <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-width="120" label="返修发动机号:" prop="repairEngineNo" style="margin-left: 5px">
          <el-form-item  label="返修发动机号:" prop="repairEngineNo" >
          <el-input
              style="width: 160px"
            :disabled="!queryParams.isRepairFlag"
            v-model="queryParams.repairEngineNo"
            clearable
@@ -34,15 +37,15 @@
    <el-row :gutter="0">
      <el-col :span="20">
        <div style="height: 490px;">
          <el-card style="margin-top: 10px; height: 490px; " class="box-card">
            <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 :show-overflow-tooltip='true' label="工单编号"  align="center" prop="orderNo">
              </el-table-column>
              <el-table-column  :show-overflow-tooltip='true' label="产品小系列" width="230" align="center" prop="model">
                <el-table-column  :show-overflow-tooltip='true' label="产品小系列"  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 :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">-->
@@ -71,21 +74,30 @@
      </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">
            <div >
              <el-row class="centerImg" style="min-width: 80%;min-height: 90%">
            <vue-qr
              v-if="qrCode !==''"
              ref="qrCode"
              :text="qrCode"
              width="180"
              height="180"
                  width="100%"
                  height="100%"
            ></vue-qr>
          </div>
              </el-row>
              <el-row class="centerImg">
                <el-button type="success" style="margin-top: 80%; width: 100%">系统设置</el-button>
              </el-row>
          <el-button type="success" style="margin-top: 190px; margin-left: 50px; width: 100px">系统设置</el-button>
            </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>
jcdm-ui/src/views/main/kb/repairMark/index.vue
@@ -24,7 +24,9 @@
    <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-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>
@@ -36,12 +38,12 @@
            </el-table-column>
            <el-table-column label="工位编号" align="center" prop="locationCode">
            </el-table-column>
            <el-table-column label="入站时间" align="center" prop="inboundTime" width="100">
                <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="100">
                <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>
@@ -50,7 +52,7 @@
            </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">
                <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>
@@ -58,61 +60,43 @@
            <el-table-column label="节拍时间" align="center" prop="beatTime">
            </el-table-column>
          </el-table>
        </el-card>
      </el-col>
      <el-col :span="4">
        <el-card style="margin-top: 10px; min-height: 490px">
          <el-row class="centered-row">
            <el-button type="success" 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-row>
          <el-row class="centered-row">
            <el-button type="success" 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-row>
          <el-row class="centered-row">
            <el-button type="success" 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-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>
      <div slot="footer" class="dialog-footer">
        <el-button @click="cancel">取 æ¶ˆ</el-button>
      </div>
    </el-dialog>
            </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" 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" 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" 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" 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" style="margin-top: 10px;width:120px;height:40px" icon="el-icon-date" @click="operationLog" >操 ä½œ æ—¥ å¿—</el-button>
          </el-row>
        </el-card>
      </el-col>
    </el-row>
  </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 {
      this.activeName = 'second'
    },
    initRepairRecord(){
        /** æŸ¥è¯¢è¿”修记录列表 */
        let queryParams = {
          boxCode: this.queryParams.engineNo
        boxCode: this.queryParams.sfcCode
        }
        listRepairRecord(queryParams).then(response => {
      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;
      });
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>
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>
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>
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>
jcdm-ui/src/views/main/pr/tightenReport/index.vue
@@ -14,13 +14,16 @@
            placeholder="请输入工位号"
            @keyup.enter.native="handleQuery"/>
        </el-form-item>
        <el-form-item label-width="120"  label="采集时间" prop="startDate">
        <el-form-item label-width="130" label="保存日期" prop="dateConditions">
            <el-date-picker
              v-model="dateRange"
              type="daterange"
            v-model="queryParams.dateConditions"
            type="datetimerange"
            :picker-options="pickerOptions"
            value-format="yyyy-MM-dd HH:mm:ss"
              range-separator="至"
              start-placeholder="开始日期"
              end-placeholder="结束日期">
            end-placeholder="结束日期"
            align="right">
            </el-date-picker>
        </el-form-item>
        <el-form-item style="float: right">
@@ -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请求的URL,使用选择的日期范围作为查询参数
    //     const url = `@/api/main/da/paramCollection/paramCollection?startDate=${this.dateRange[0]}&endDate=${this.dateRange[1]}`;
    //
    //     try {
    //       // å‘送API请求,获取查询结果
    //       const response = await fetch(url);
    //       const data = await response.json();
    //       console.log(data); // å¤„理查询结果,比如在控制台输出或显示在页面上
    //     } catch (error) {
    //       console.error('Error fetching data:', error);
    //     }
    //   },
    // },
    reset() {
      this.form = {