jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/common/Constants.java
@@ -7,4 +7,7 @@ public static final String DATA3 = "å¤æ¼æ£æµ"; public static final String DATA4 = "æºæ²¹å 注æ°æ®"; public static final String DATA5 = "å·¥ä½ç»æ"; public static final String IS_REPAIR = "æ¯"; public static final String IS_NOT_REPAIR = "å¦"; } jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java
@@ -71,7 +71,7 @@ } /** * æ¥è¯¢è®¢åæ产å表 * æ¥è¯¢è¿½æº¯å表 */ @PreAuthorize("@ss.hasPermi('bs:orderScheduling:list')") @GetMapping("/getFollowReportList") jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java
@@ -37,6 +37,8 @@ @Excel(name = "å·¥åç¼å·") private String workOrderNo; private String repairFlag; /** æ»æåºåå· */ @Excel(name = "ç®±ä½ç¼ç ") @ExcelProperty(value = "ç®±ä½ç¼ç ", index = 0) jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java
@@ -39,6 +39,8 @@ @ExcelProperty(value = "å·¥åç¼å·", index = 0) private String workOrderNo; private String repairFlag; /** æ»æåºåå· */ @Excel(name = "ç®±ä½ç¼ç ") @ExcelProperty(value = "ç®±ä½ç¼ç ", index = 1) jcdm-main/src/main/java/com/jcdm/main/rm/repairData/controller/RmRepairDataController.java
@@ -2,6 +2,7 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; jcdm-main/src/main/java/com/jcdm/main/rm/repairData/service/impl/RmRepairDataServiceImpl.java
@@ -1,12 +1,13 @@ package com.jcdm.main.rm.repairData.service.impl; import java.util.List; import com.jcdm.common.utils.DateUtils; import com.jcdm.main.rm.repairData.domain.RmRepairData; import com.jcdm.main.rm.repairData.mapper.RmRepairDataMapper; import com.jcdm.main.rm.repairData.service.IRmRepairDataService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.jcdm.main.rm.repairData.mapper.RmRepairDataMapper; import com.jcdm.main.rm.repairData.domain.RmRepairData; import com.jcdm.main.rm.repairData.service.IRmRepairDataService; import java.util.List; /** * è¿ä¿®æ°æ®Serviceä¸å¡å±å¤ç jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/controller/RmRepairRecordController.java
@@ -1,7 +1,25 @@ package com.jcdm.main.rm.repairRecord.controller; import java.io.IOException; import java.util.List; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import cn.hutool.core.collection.CollUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.jcdm.common.core.domain.R; import com.jcdm.common.core.domain.entity.SysDictData; import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; import com.jcdm.main.bs.orderScheduling.vo.FollowReportVO; import com.jcdm.main.da.paramCollection.domain.DaParamCollection; import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; import com.jcdm.main.rm.repairData.domain.RmRepairData; import com.jcdm.main.rm.repairRecord.vo.RmRepairDataVO; import com.jcdm.system.service.ISysDictDataService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -34,6 +52,9 @@ @Autowired private IRmRepairRecordService rmRepairRecordService; @Resource private ISysDictDataService iSysDictDataService; /** * æ¥è¯¢è¿ä¿®è®°å½å表 */ @@ -47,6 +68,63 @@ } /** * è·åè¿ä¿®æ°æ®å表 * @param rmRepairRecord * @return */ @PreAuthorize("@ss.hasPermi('rm:repairRecord:list')") @GetMapping("/getRepairReportList") public R getRepairReportList(RmRepairRecord rmRepairRecord) { RmRepairDataVO repairReportList = rmRepairRecordService.getRepairReportList(rmRepairRecord); return R.ok(repairReportList); } @PreAuthorize("@ss.hasPermi('rm:repairRecord:export')") @Log(title = "è¿ä¿®æ°æ®æ¥è¡¨å¯¼åº", businessType = BusinessType.EXPORT) @PostMapping("/exportRepair") public void exportRepair(HttpServletResponse response, RmRepairRecord rmRepairRecord) { RmRepairDataVO repairReportList = rmRepairRecordService.getRepairReportList(rmRepairRecord); // List<SysDictData> allDict = iSysDictDataService.selectDictDataList(null); String fileName = "追溯æ¥è¡¨"; try { ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build(); WriteSheet mainSheet = EasyExcel.writerSheet(0, "è¿ä¿®æ°æ®") .head(RmRepairRecord.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .build(); WriteSheet sheet1 = EasyExcel.writerSheet(1, "æ§ç´§æ°æ®") .head(DaParamCollection.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .build(); WriteSheet sheet2 = EasyExcel.writerSheet(2, "ç¸æºæ£æµ") .head(DaParamCollection.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .build(); WriteSheet sheet3 = EasyExcel.writerSheet(3, "å¤æ¼æ£æµ") .head(DaParamCollection.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .build(); WriteSheet sheet4 = EasyExcel.writerSheet(4, "æºæ²¹å 注") .head(DaParamCollection.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .build(); WriteSheet sheet5 = EasyExcel.writerSheet(5, "å·¥ä½ç»æ") .head(DaPassingStationCollection.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .build(); excelWriter.write(repairReportList.getMainList(),mainSheet); excelWriter.write(repairReportList.getList1(),sheet1); excelWriter.write(repairReportList.getList2(),sheet2); excelWriter.write(repairReportList.getList3(),sheet3); excelWriter.write(repairReportList.getList4(),sheet4); excelWriter.write(repairReportList.getList5(),sheet5); response.setContentType("application/vnd.ms-excel;charset=utf-8"); response.setCharacterEncoding("UTF-8"); response.setHeader("Content-Disposition","attachment;filename="+fileName+".xlsx"); excelWriter.finish(); } catch (IOException e) { throw new RuntimeException(e); } } /** * ä¸å页æ¥è¯¢è¿ä¿®è®°å½å表 */ @GetMapping("/noPagelist") jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/domain/RmRepairRecord.java
@@ -1,9 +1,19 @@ package com.jcdm.main.rm.repairRecord.domain; import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.HeadFontStyle; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.jcdm.common.annotation.Excel; import com.jcdm.common.core.domain.BaseEntity; import java.util.List; /** * è¿ä¿®è®°å½å¯¹è±¡ rm_repair_record @@ -11,6 +21,11 @@ * @author Yi * @date 2023-12-22 */ @Data @ExcelIgnoreUnannotated @ColumnWidth(16) @HeadRowHeight(14) @HeadFontStyle(fontHeightInPoints = 11) public class RmRepairRecord extends BaseEntity { private static final long serialVersionUID = 1L; @@ -24,22 +39,35 @@ /** è¿ä¿®æ è¯ */ @Excel(name = "è¿ä¿®æ è¯") @ExcelProperty(value = "è¿ä¿®æ è¯", index = 0) private String repairIdentification; /** ç®±ä½ç¼ç */ @Excel(name = "ç®±ä½ç¼ç ") @ExcelProperty(value = "ç®±ä½ç¼ç ", index = 1) private String boxCode; @TableField(exist = false) @ExcelIgnore private List<String> engineNoList; @TableField(exist = false) @ExcelIgnore private List<String> engineNoListExcel; /** å·¥åºç¼ç */ @Excel(name = "å·¥åºç¼ç ") @ExcelProperty(value = "å·¥åºç¼ç ", index = 2) private String processesCode; /** åç»æ */ @Excel(name = "åç»æ") @ExcelProperty(value = "åç»æ", index = 3) private String originalResult; /** å建ç¨æ· */ @Excel(name = "å建ç¨æ·") @ExcelProperty(value = "å建ç¨æ·", index = 5) private String createUser; /** æ´æ°ç¨æ· */ @@ -48,6 +76,7 @@ /** è¿ä¿®ç»æ */ @Excel(name = "è¿ä¿®ç»æ") @ExcelProperty(value = "è¿ä¿®ç»æ", index = 4) private String repairResults; /** ç¶æ */ jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/service/IRmRepairRecordService.java
@@ -1,6 +1,9 @@ package com.jcdm.main.rm.repairRecord.service; import java.util.List; import com.jcdm.main.rm.repairData.domain.RmRepairData; import com.jcdm.main.rm.repairRecord.vo.RmRepairDataVO; import com.jcdm.main.rm.repairRecord.domain.RmRepairRecord; /** @@ -27,6 +30,8 @@ */ public List<RmRepairRecord> selectRmRepairRecordList(RmRepairRecord rmRepairRecord); public RmRepairDataVO getRepairReportList(RmRepairRecord rmRepairRecord); /** * æ°å¢è¿ä¿®è®°å½ * jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/service/impl/RmRepairRecordServiceImpl.java
@@ -1,12 +1,25 @@ package com.jcdm.main.rm.repairRecord.service.impl; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import cn.hutool.core.collection.CollUtil; import com.jcdm.common.utils.DateUtils; import com.jcdm.main.bs.orderScheduling.common.Constants; import com.jcdm.main.da.paramCollection.domain.DaParamCollection; import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper; import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper; import com.jcdm.main.rm.repairData.domain.RmRepairData; import com.jcdm.main.rm.repairRecord.vo.RmRepairDataVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.jcdm.main.rm.repairRecord.mapper.RmRepairRecordMapper; import com.jcdm.main.rm.repairRecord.domain.RmRepairRecord; import com.jcdm.main.rm.repairRecord.service.IRmRepairRecordService; import javax.annotation.Resource; /** * è¿ä¿®è®°å½Serviceä¸å¡å±å¤ç @@ -19,6 +32,11 @@ { @Autowired private RmRepairRecordMapper rmRepairRecordMapper; @Resource private DaParamCollectionMapper daParamCollectionMapper; @Resource private DaPassingStationCollectionMapper daPassingStationCollectionMapper; /** * æ¥è¯¢è¿ä¿®è®°å½ @@ -44,6 +62,36 @@ return rmRepairRecordMapper.selectRmRepairRecordList(rmRepairRecord); } @Override public RmRepairDataVO getRepairReportList(RmRepairRecord rmRepairRecord) { RmRepairDataVO vo = new RmRepairDataVO(); //主表æ°æ® List<RmRepairRecord> mainList = rmRepairRecordMapper.selectRmRepairRecordList(rmRepairRecord); vo.setMainList(mainList); List<String> engineNoList = mainList.stream().map(RmRepairRecord::getBoxCode).distinct().collect(Collectors.toList()); List<DaParamCollection> allChildList = new ArrayList<>(); List<DaPassingStationCollection> collect5 = new ArrayList<>(); if (CollUtil.isNotEmpty(engineNoList)){ allChildList = daParamCollectionMapper.getListBySfcCode(engineNoList); collect5 = daPassingStationCollectionMapper.getListBySfcCode(engineNoList); } if (CollUtil.isNotEmpty(allChildList)){ allChildList = allChildList.stream().filter(x -> Constants.IS_REPAIR.equals(x.getRepairFlag())).collect(Collectors.toList()); //æ¿å°ææåæ°æ® List<DaParamCollection> collect1 = allChildList.stream().filter(x -> Constants.DATA1.equals(x.getType())).collect(Collectors.toList()); List<DaParamCollection> collect2 = allChildList.stream().filter(x -> Constants.DATA2.equals(x.getType())).collect(Collectors.toList()); List<DaParamCollection> collect3 = allChildList.stream().filter(x -> Constants.DATA3.equals(x.getType())).collect(Collectors.toList()); List<DaParamCollection> collect4 = allChildList.stream().filter(x -> Constants.DATA4.equals(x.getType())).collect(Collectors.toList()); vo.setList1(collect1); vo.setList2(collect2); vo.setList3(collect3); vo.setList4(collect4); } collect5 = collect5.stream().filter(x -> Constants.IS_REPAIR.equals(x.getRepairFlag())).collect(Collectors.toList()); vo.setList5(collect5); return vo; } /** * æ°å¢è¿ä¿®è®°å½ * jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/vo/RmRepairDataVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,21 @@ package com.jcdm.main.rm.repairRecord.vo; import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; import com.jcdm.main.da.paramCollection.domain.DaParamCollection; import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; import com.jcdm.main.rm.repairData.domain.RmRepairData; import com.jcdm.main.rm.repairRecord.domain.RmRepairRecord; import lombok.Data; import java.util.List; @Data public class RmRepairDataVO { List<RmRepairRecord> mainList; private List<DaParamCollection> list1; private List<DaParamCollection> list2; private List<DaParamCollection> list3; private List<DaParamCollection> list4; private List<DaPassingStationCollection> list5; } jcdm-main/src/main/resources/mapper/da/paramCollection/DaParamCollectionMapper.xml
@@ -28,10 +28,11 @@ <result property="paramName" column="param_name" /> <result property="unit" column="unit" /> <result property="type" column="type" /> <result property="repairFlag" column="repair_flag" /> </resultMap> <sql id="selectDaParamCollectionVo"> select id, work_order_no, sfc_code, product_code, production_line, location_code, equipment_no, param_code, param_value, param_upper, param_lower, param_standard, collection_time, spare_field_1, spare_field_2, create_user, create_time, update_user, update_time, state, param_name, unit, type from da_param_collection select id, work_order_no, sfc_code, product_code, production_line, location_code, equipment_no, param_code, param_value, param_upper, param_lower, param_standard, collection_time, spare_field_1, spare_field_2, create_user, create_time, update_user, update_time, state, param_name, unit, type, repair_flag from da_param_collection </sql> <select id="selectDaParamCollectionList" parameterType="DaParamCollection" resultMap="DaParamCollectionResult"> jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml
@@ -26,10 +26,11 @@ <result property="updateUser" column="update_user" /> <result property="updateTime" column="update_time" /> <result property="beatTime" column="beat_time" /> <result property="repairFlag" column="repair_flag" /> </resultMap> <sql id="selectDaPassingStationCollectionVo"> select id, work_order_no, sfc_code, product_code, production_line, location_code, equipment_no, inbound_time, outbound_time, in_rs_sign, in_msg_sign, out_rs_sign, out_msg_sign, collection_time, spare_field_1, spare_field_2, create_user, create_time, update_user, update_time, beat_time from da_passing_station_collection select id, work_order_no, sfc_code, product_code, production_line, location_code, equipment_no, inbound_time, outbound_time, in_rs_sign, in_msg_sign, out_rs_sign, out_msg_sign, collection_time, spare_field_1, spare_field_2, create_user, create_time, update_user, update_time, beat_time, repair_flag from da_passing_station_collection </sql> <select id="selectDaPassingStationCollectionList" parameterType="DaPassingStationCollection" resultMap="DaPassingStationCollectionResult"> jcdm-main/src/main/resources/mapper/rm/repairData/RmRepairDataMapper.xml
@@ -46,7 +46,6 @@ <if test="spareField1 != null and spareField1 != ''"> and spare_field_1 = #{spareField1}</if> <if test="spareField2 != null and spareField2 != ''"> and spare_field_2 = #{spareField2}</if> <if test="station != null and station != ''"> and station = #{station}</if> </where> </select> jcdm-main/src/main/resources/mapper/rm/repairRecord/RmRepairRecordMapper.xml
@@ -41,6 +41,18 @@ <if test="remarks != null and remarks != ''"> and remarks = #{remarks}</if> <if test="spareField1 != null and spareField1 != ''"> and spare_field_1 = #{spareField1}</if> <if test="spareField2 != null and spareField2 != ''"> and spare_field_2 = #{spareField2}</if> <if test="engineNoList != null and engineNoList.size() > 0"> and box_code in <foreach collection="engineNoList" open="(" close=")" separator="," item="engine"> #{engine} </foreach> </if> <if test="engineNoListExcel != null and engineNoListExcel.size() > 0"> and box_code in <foreach collection="engineNoListExcel" open="(" close=")" separator="," item="engine"> #{engine} </foreach> </if> </where> </select> jcdm-ui/src/api/main/rm/repairRecord/repairRecord.js
@@ -8,7 +8,14 @@ params: query }) } //æ¥è¯¢æ¥è¡¨ export function getRepairData(query) { return request({ url: '/rm/repairRecord/getRepairReportList', method: 'get', params: query }) } // æ¥è¯¢è¿ä¿®è®°å½å表 export function noPagelist(query) { return request({ jcdm-ui/src/views/main/rm/repairData/index.vue
@@ -1,398 +1,249 @@ <template> <div class="app-container"> <el-card class ="box-card"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form-item label="è¿ä¿®æ è¯" prop="repairIdentification"> <el-input v-model="queryParams.repairIdentification" placeholder="请è¾å ¥è¿ä¿®æ è¯" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="ç®±ä½ç¼ç " prop="boxCode"> <el-input v-model="queryParams.boxCode" placeholder="请è¾å ¥ç®±ä½ç¼ç " clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item style="float: right"> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">æç´¢</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">éç½®</el-button> </el-form-item> </el-form> </el-card> <el-card style="margin-top: 10px" height="250" class="box-card"> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['rm:repairData:add']" >æ°å¢</el-button> </el-col> <el-col :span="1.5"> <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['rm:repairData:edit']" >ä¿®æ¹</el-button> </el-col> <el-col :span="1.5"> <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['rm:repairData:remove']" >å é¤</el-button> </el-col> <el-col :span="1.5"> <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['rm:repairData:export']" >导åº</el-button> </el-col> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> <el-table v-loading="loading" border :data="repairRecordList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> <el-table-column label="è¿ä¿®æ è¯" align="center" prop="repairIdentification" /> <el-table-column label="ç®±ä½ç¼ç " align="center" prop="boxCode" /> <el-table-column label="å·¥åºç¼ç " align="center" prop="processesCode" /> <el-table-column label="åç»æ" align="center" prop="originalResult" /> <el-table-column label="è¿ä¿®ç»æ" align="center" prop="repairResults" /> <el-table-column label="å建ç¨æ·" align="center" prop="createUser" /> <el-table-column label="æä½" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['rm:repairData:edit']" >ä¿®æ¹</el-button> <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['rm:repairData:remove']" >å é¤</el-button> </template> </el-table-column> </el-table> <el-card class="box-card"> <div class="headClass"> <div style="display: flex;height: 20px"> <div> <span style="font-size: large; font-weight: bold; text-decoration: underline; margin-bottom: 10px">è¿ä¿®è®°å½æ¥è¡¨</span> </div> <div style="margin-left: 30%"> <el-form :inline="true" :model="queryParams" class="myFrom" size="mini"> <el-form-item label="è¿ä¿®æ è¯"> <el-input v-model="queryParams.repairIdentification" placeholder="è¿ä¿®æ è¯"></el-input> </el-form-item> <el-form-item label="ç®±ä½ç¼ç "> <el-input v-model="queryParams.boxCode" placeholder="ç®±ä½ç¼ç "> </el-input> </el-form-item> <el-form-item> <el-button type="primary" icon="el-icon-search" @click="getList">æ¥è¯¢</el-button> </el-form-item> <el-form-item> <el-button type="primary" icon="el-icon-download" style="background-color: #6dbf6d" @click="exportReport">导åºæ¥è¡¨</el-button> </el-form-item> </el-form> </div> </div> <div style="margin-top: 10px"> <el-table style="width: 100%;" border height="190" v-loading="loading" highlight-current-row :data="orderSchedulingList" @selection-change="handleSelectionChange" @current-change="handleCurrentChange"> <el-table-column type="index" width="50"></el-table-column> <el-table-column type="selection" width="55" align="center" /> <el-table-column label="è¿ä¿®æ è¯" align="center" prop="repairIdentification" /> <el-table-column label="ç®±ä½ç¼ç " align="center" prop="boxCode" /> <el-table-column label="å·¥åºç¼ç " align="center" prop="processesCode" /> <el-table-column label="åç»æ" align="center" prop="originalResult" /> <el-table-column label="è¿ä¿®ç»æ" align="center" prop="repairResults" /> <el-table-column label="å建ç¨æ·" align="center" prop="createUser" /> </el-table> </div> </div> <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getRepairRecordList" @pagination="getMainList" /> </el-card> <el-card style="margin-top: 10px" class="box-card"> <el-tabs type="border-card" > <el-tab-pane> <span slot="label"> <a class="el-icon-date"></a>æ§ç´§æ°æ®</span> <template> <el-table v-loading="loading" border :data="repairDataList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> <el-table-column label="ç®±ä½ç¼ç " align="center" prop="boxCode"> </el-table-column> <el-table-column label="å·¥ä½" align="center" prop="station"> </el-table-column> <el-table-column label="æ§ç´§æ¬¡æ°" align="center" prop="tightenFrequency"> </el-table-column> <el-table-column label="æ§ç´§é¢æ°" align="center" prop="tightenPiecesNumber"> </el-table-column> <el-table-column label="æå" align="center" prop="torqueForce"> </el-table-column> <el-table-column label="è§åº¦" align="center" prop="angle"> </el-table-column> <el-table-column label="ç»æ" align="center" prop="result"> <template slot-scope="scope"> <dict-tag :options="dict.type.qualified_status" :value="scope.row.status"/> </template> </el-table-column> <el-table-column label="ä¿åæ¶é´" align="center" prop="boxCode"> </el-table-column> </el-table> </template> <div> <el-tabs type="border-card"> <el-tab-pane> <span slot="label"><i class="el-icon-date"></i>æ§ç´§æ°æ®</span> <report1 :list1 = this.list1></report1> </el-tab-pane> <el-tab-pane> <span slot="label"> <b class="el-icon-date"></b>ç¸æºæ£æµ</span> <el-empty > <span slot="description">ææ æ°æ®</span> </el-empty> <span slot="label"><i class="el-icon-date"></i>ç¸æºæ£æµ</span> <report2 :list2 = this.list2></report2> </el-tab-pane> <el-tab-pane> <span slot="label"> <c class="el-icon-date"></c>å¤æ¼æ£æµ</span> <el-empty > <span slot="description">ææ æ°æ®</span> </el-empty> <span slot="label"><i class="el-icon-date"></i>å¤æ¼æ£æµ</span> <report3 :list3 = this.list3></report3> </el-tab-pane> <el-tab-pane> <span slot="label"> <d class="el-icon-date"></d>æºè½´å 注</span> <el-empty > <span slot="description">ææ æ°æ®</span> </el-empty> <span slot="label"><i class="el-icon-date"></i>æºæ²¹å 注</span> <report4 :list4 = this.list4></report4> </el-tab-pane> <el-tab-pane> <span slot="label"> <e class="el-icon-date"></e>å·¥ä½ç»æ</span> <el-empty > <span slot="description">ææ æ°æ®</span> </el-empty> <span slot="label"><i class="el-icon-date"></i>å·¥ä½ç»æ</span> <report5 :list5 = this.list5></report5> </el-tab-pane> </el-tabs> </el-card> <!-- æ·»å æä¿®æ¹è¿ä¿®æ°æ®å¯¹è¯æ¡ --> <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body> <el-form ref="form" inline :model="form" :rules="rules" label-width="80px"> <el-form-item label="æ»æç¼ç " prop="snCode"> <el-input v-model="form.snCode" placeholder="请è¾å ¥æ»æç¼ç " /> </el-form-item> <el-form-item label="ç®±ä½ç¼ç " prop="boxCode"> <el-input v-model="form.boxCode" placeholder="请è¾å ¥ç®±ä½ç¼ç " /> </el-form-item> <el-form-item label="å·¥åºç¼ç " prop="processesCode"> <el-input v-model="form.processesCode" placeholder="请è¾å ¥å·¥åºç¼ç " /> </el-form-item> <el-form-item label="æ§ç´§æ¬¡æ°" prop="tightenFrequency"> <el-input v-model="form.tightenFrequency" placeholder="请è¾å ¥æ§ç´§æ¬¡æ°" /> </el-form-item> <el-form-item label="æ§ç´§é¢æ°" prop="tightenPiecesNumber"> <el-input v-model="form.tightenPiecesNumber" placeholder="请è¾å ¥æ§ç´§é¢æ°" /> </el-form-item> <el-form-item label="æå" prop="torqueForce"> <el-input v-model="form.torqueForce" placeholder="请è¾å ¥æå" /> </el-form-item> <el-form-item label="è§åº¦" prop="angle"> <el-input v-model="form.angle" placeholder="请è¾å ¥è§åº¦" /> </el-form-item> <el-form-item label="ç»æ" prop="result"> <el-input v-model="form.result" placeholder="请è¾å ¥ç»æ" /> </el-form-item> <el-form-item label="å建ç¨æ·" prop="createUser"> <el-input v-model="form.createUser" placeholder="请è¾å ¥å建ç¨æ·" /> </el-form-item> <el-form-item label="æ´æ°ç¨æ·" prop="updateUser"> <el-input v-model="form.updateUser" placeholder="请è¾å ¥æ´æ°ç¨æ·" /> </el-form-item> <el-form-item label="å¤æ³¨" prop="remarks"> <el-input v-model="form.remarks" placeholder="请è¾å ¥å¤æ³¨" /> </el-form-item> <el-form-item label="é¢çå段1" prop="spareField1"> <el-input v-model="form.spareField1" placeholder="请è¾å ¥é¢çå段1" /> </el-form-item> <el-form-item label="é¢çå段2" prop="spareField2"> <el-input v-model="form.spareField2" placeholder="请è¾å ¥é¢çå段2" /> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitForm">ç¡® å®</el-button> <el-button @click="cancel">å æ¶</el-button> </div> </el-dialog> </div> </div> </template> <script> import { listRepairRecord, getRepairRecord, delRepairRecord, addRepairRecord, updateRepairRecord } from "@/api/main/rm/repairRecord/repairRecord"; import { listRepairData, getRepairData, delRepairData, addRepairData, updateRepairData } from "@/api/main/rm/repairData/repairData"; import { listRepairRecord, getRepairData } from "@/api/main/rm/repairRecord/repairRecord"; import {getFollowReport, listOrderScheduling} from "../../../../api/main/bs/orderScheduling/orderScheduling"; import report1 from "../../da/followReport/report1"; import report2 from "../../da/followReport/report2"; import report3 from "../../da/followReport/report3"; import report4 from "../../da/followReport/report4"; import report5 from "../../da/followReport/report5"; export default { name: "RepairData", dicts: ['qualified_status'], components: { report1, report2, report3, report4, report5,}, data() { return { // é®ç½©å± loading: true, // éä¸æ°ç» ids: [], // éå个ç¦ç¨ single: true, // éå¤ä¸ªç¦ç¨ multiple: true, // æ¾ç¤ºæç´¢æ¡ä»¶ showSearch: true, // æ»æ¡æ° loading: false, total: 0, // è¿ä¿®æ°æ®è¡¨æ ¼æ°æ® repairDataList: [], repairRecordList: [], // å¼¹åºå±æ é¢ title: "", // æ¯å¦æ¾ç¤ºå¼¹åºå± open: false, orderSchedulingList: [], list1: [], list2: [], list3: [], list4: [], list5: [], // æ¥è¯¢åæ° queryParams: { pageNum: 1, pageSize: 10, snCode: null, orderNo: null, boxCode: null, processesCode: null, tightenFrequency: null, tightenPiecesNumber: null, torqueForce: null, angle: null, result: null, repairIdentification: null, engineNo: null, productType: null, model: null, productionStatus: null, workingHours: null, currentWorkstation: null, qualityStatus: null, whetherOrPrint: null, report10: null, report20: null, combinedBoxTime: null, finalAssemblyTime: null, operator: null, operateTime: null, status: null, spareField1: null, spareField2: null, spareField3: null, spareField4: null, createUser: null, updateUser: null, remarks: null, spareField1: null, station: null, spareField2: null dateConditions: [], engineNoList: [], engineNoListExcel: [] }, // 表ååæ° form: {}, // 表åæ ¡éª rules: { id: [ { required: true, message: "主é®idä¸è½ä¸ºç©º", trigger: "blur" } ], } }; multipleSelection: [], multipleSelectionExcel: [], currentRow: null } }, created() { this.getList(); this.getRepairRecordList(); let workOrderNo = this.$route.query.workOrderNo; this.queryParams.orderNo = workOrderNo this.getMainList(); this.getChildList(); }, methods: { /** æ¥è¯¢è¿ä¿®è®°å½å表 */ getRepairRecordList() { toggleSelection(rows) { if (rows) { rows.forEach(row => { this.$refs.multipleTable.toggleRowSelection(row); }); } else { this.$refs.multipleTable.clearSelection(); } }, handleSelectionChange(val) { this.multipleSelectionExcel = val; console.log('MMMMM--',this.multipleSelectionExcel) if (this.multipleSelectionExcel !== null && this.multipleSelectionExcel.length > 0){ this.queryParams.engineNoListExcel = [] this.multipleSelectionExcel.forEach(x => { this.queryParams.engineNoListExcel.push(x.boxCode) }) }else { this.queryParams.engineNoListExcel = [] } console.log('this.handleSelectionChange ',this.queryParams.engineNoListExcel ) }, handleCurrentChange(val) { this.currentRow = val; //æ¥è¯¢éä¸è¡æ°æ® this.queryParams.engineNoList = [] this.queryParams.engineNoList.push(this.currentRow.boxCode) this.getChildList() console.log('handleCurrentChange',this.queryParams.engineNoList) console.log('handleCurrentChange222',this.queryParams.engineNoListExcel) }, //å¯¼åº exportReport(){ if (this.queryParams.engineNoListExcel.length === 0){ this.$message.error("请å¾ééè¦å¯¼åºçæ°æ®") }else { this.queryParams.engineNoList = [] this.download('rm/repairRecord/exportRepair', { ...this.queryParams }, `è¿ä¿®è®°å½æ¥è¡¨_${new Date().getTime()}.xlsx`) } }, /** æ¥è¯¢è®¢åæ产å表 */ getMainList() { this.loading = true; console.log(this.queryParams) listRepairRecord(this.queryParams).then(response => { this.repairRecordList = response.rows; this.orderSchedulingList = response.rows; this.total = response.total; this.loading = false; }); }, /** æ¥è¯¢è¿ä¿®æ°æ®å表 */ getList() { this.loading = true; listRepairData(this.queryParams).then(response => { this.repairDataList = response.rows; this.total = response.total; this.loading = false; getChildList(){ getRepairData(this.queryParams).then(response => { this.list1 = response.data.list1; console.log('list111111',this.list1) this.list2 = response.data.list2; this.list3 = response.data.list3; this.list4 = response.data.list4; this.list5 = response.data.list5; }); }, // åæ¶æé® cancel() { this.open = false; this.reset(); }, // 表åéç½® reset() { this.form = { id: null, snCode: null, boxCode: null, processesCode: null, tightenFrequency: null, tightenPiecesNumber: null, torqueForce: null, angle: null, result: null, createUser: null, createTime: null, updateTime: null, updateUser: null, remarks: null, spareField1: null, station: null, spareField2: null }; this.resetForm("form"); }, /** æç´¢æé®æä½ */ handleQuery() { this.queryParams.pageNum = 1; this.getList(); }, /** éç½®æé®æä½ */ resetQuery() { this.resetForm("queryForm"); this.handleQuery(); }, // å¤éæ¡éä¸æ°æ® handleSelectionChange(selection) { this.ids = selection.map(item => item.id) this.single = selection.length!==1 this.multiple = !selection.length }, /** æ°å¢æé®æä½ */ handleAdd() { this.reset(); this.open = true; this.title = "æ·»å è¿ä¿®æ°æ®"; }, /** ä¿®æ¹æé®æä½ */ handleUpdate(row) { this.reset(); const id = row.id || this.ids getRepairData(id).then(response => { this.form = response.data; this.open = true; this.title = "ä¿®æ¹è¿ä¿®æ°æ®"; }); }, /** æ交æé® */ submitForm() { this.$refs["form"].validate(valid => { if (valid) { if (this.form.id != null) { updateRepairData(this.form).then(response => { this.$modal.msgSuccess("ä¿®æ¹æå"); this.open = false; this.getList(); }); } else { addRepairData(this.form).then(response => { this.$modal.msgSuccess("æ°å¢æå"); this.open = false; this.getList(); }); } } }); }, /** å é¤æé®æä½ */ handleDelete(row) { const ids = row.id || this.ids; this.$modal.confirm('æ¯å¦ç¡®è®¤å é¤è¿ä¿®æ°æ®ç¼å·ä¸º"' + ids + '"çæ°æ®é¡¹ï¼').then(function() { return delRepairData(ids); }).then(() => { this.getList(); this.$modal.msgSuccess("å é¤æå"); }).catch(() => {}); }, /** 导åºæé®æä½ */ handleExport() { this.download('rm/repairData/export', { ...this.queryParams }, `repairData_${new Date().getTime()}.xlsx`) getList(){ this.getMainList() this.getChildList() } // handleCurrentChange(val) { // this.multipleSelection = val; // console.log('this.multipleSelection ',this.multipleSelection ) // } } }; </script> <style scoped> .headClass { height: 200px; } ::v-deep .el-table--scrollable-x .el-table__body-wrapper { z-index: 3; } ::v-deep .el-table__body-wrapper::-webkit-scrollbar { height: 6px; } ::v-deep .el-form .myFrom .el-form--inline{ height: 20px; } ::v-deep .el-card__body { padding: 10px 15px 10px 15px; } .app-container{ height: 625px; } </style>