From 8aafc584df15a97743e3c4ddf4f60fa9dda5be3e Mon Sep 17 00:00:00 2001 From: wujian <14790700720@163.com> Date: 星期四, 01 二月 2024 10:37:35 +0800 Subject: [PATCH] add 返修报表 --- jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/service/impl/RmRepairRecordServiceImpl.java | 48 +++ jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java | 2 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/common/Constants.java | 3 jcdm-ui/src/views/main/rm/repairData/index.vue | 535 ++++++++++++++-------------------------- jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java | 2 jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/domain/RmRepairRecord.java | 29 ++ jcdm-main/src/main/java/com/jcdm/main/rm/repairData/controller/RmRepairDataController.java | 1 jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/controller/RmRepairRecordController.java | 78 ++++++ jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/service/IRmRepairRecordService.java | 5 jcdm-ui/src/api/main/rm/repairRecord/repairRecord.js | 9 jcdm-main/src/main/resources/mapper/rm/repairData/RmRepairDataMapper.xml | 1 jcdm-main/src/main/java/com/jcdm/main/rm/repairData/service/impl/RmRepairDataServiceImpl.java | 9 jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml | 3 jcdm-main/src/main/resources/mapper/rm/repairRecord/RmRepairRecordMapper.xml | 12 jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java | 2 jcdm-main/src/main/resources/mapper/da/paramCollection/DaParamCollectionMapper.xml | 3 jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/vo/RmRepairDataVO.java | 21 + 17 files changed, 412 insertions(+), 351 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/common/Constants.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/common/Constants.java index d069bd5..9936b00 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/common/Constants.java +++ b/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 = "鍚�"; } diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java index 2133b36..8dee271 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java +++ b/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") 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 d074195..839fa61 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 @@ -37,6 +37,8 @@ @Excel(name = "宸ュ崟缂栧彿") private String workOrderNo; + private String repairFlag; + /** 鎬绘垚搴忓垪鍙� */ @Excel(name = "绠变綋缂栫爜") @ExcelProperty(value = "绠变綋缂栫爜", index = 0) diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java index ac96c70..6ced182 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java @@ -39,6 +39,8 @@ @ExcelProperty(value = "宸ュ崟缂栧彿", index = 0) private String workOrderNo; + private String repairFlag; + /** 鎬绘垚搴忓垪鍙� */ @Excel(name = "绠变綋缂栫爜") @ExcelProperty(value = "绠变綋缂栫爜", index = 1) diff --git a/jcdm-main/src/main/java/com/jcdm/main/rm/repairData/controller/RmRepairDataController.java b/jcdm-main/src/main/java/com/jcdm/main/rm/repairData/controller/RmRepairDataController.java index ad8af11..b474f82 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/rm/repairData/controller/RmRepairDataController.java +++ b/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; diff --git a/jcdm-main/src/main/java/com/jcdm/main/rm/repairData/service/impl/RmRepairDataServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/rm/repairData/service/impl/RmRepairDataServiceImpl.java index 92f32d7..3624120 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/rm/repairData/service/impl/RmRepairDataServiceImpl.java +++ b/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涓氬姟灞傚鐞� 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 afdb8ab..eafe0e4 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 @@ -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") diff --git a/jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/domain/RmRepairRecord.java b/jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/domain/RmRepairRecord.java index 92b0ad0..6c39f5b 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/domain/RmRepairRecord.java +++ b/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; /** 鐘舵�� */ diff --git a/jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/service/IRmRepairRecordService.java b/jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/service/IRmRepairRecordService.java index ef0b797..91fc238 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/service/IRmRepairRecordService.java +++ b/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); + /** * 鏂板杩斾慨璁板綍 * diff --git a/jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/service/impl/RmRepairRecordServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/service/impl/RmRepairRecordServiceImpl.java index 55c2979..14d804c 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/service/impl/RmRepairRecordServiceImpl.java +++ b/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; + } + /** * 鏂板杩斾慨璁板綍 * diff --git a/jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/vo/RmRepairDataVO.java b/jcdm-main/src/main/java/com/jcdm/main/rm/repairRecord/vo/RmRepairDataVO.java new file mode 100644 index 0000000..2962c6a --- /dev/null +++ b/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; +} 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 67ad846..bea39b4 100644 --- a/jcdm-main/src/main/resources/mapper/da/paramCollection/DaParamCollectionMapper.xml +++ b/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"> diff --git a/jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml b/jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml index 3359404..d38a3dd 100644 --- a/jcdm-main/src/main/resources/mapper/da/passingStationCollection/DaPassingStationCollectionMapper.xml +++ b/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"> diff --git a/jcdm-main/src/main/resources/mapper/rm/repairData/RmRepairDataMapper.xml b/jcdm-main/src/main/resources/mapper/rm/repairData/RmRepairDataMapper.xml index 458e616..e212d82 100644 --- a/jcdm-main/src/main/resources/mapper/rm/repairData/RmRepairDataMapper.xml +++ b/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> diff --git a/jcdm-main/src/main/resources/mapper/rm/repairRecord/RmRepairRecordMapper.xml b/jcdm-main/src/main/resources/mapper/rm/repairRecord/RmRepairRecordMapper.xml index ae239d0..3fbe131 100644 --- a/jcdm-main/src/main/resources/mapper/rm/repairRecord/RmRepairRecordMapper.xml +++ b/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> diff --git a/jcdm-ui/src/api/main/rm/repairRecord/repairRecord.js b/jcdm-ui/src/api/main/rm/repairRecord/repairRecord.js index 3fa3804..e761207 100644 --- a/jcdm-ui/src/api/main/rm/repairRecord/repairRecord.js +++ b/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({ diff --git a/jcdm-ui/src/views/main/rm/repairData/index.vue b/jcdm-ui/src/views/main/rm/repairData/index.vue index 8723ddc..615dde7 100644 --- a/jcdm-ui/src/views/main/rm/repairData/index.vue +++ b/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> -- Gitblit v1.9.3