From 111a401f033749c965f02f58c586a8feafd9afd1 Mon Sep 17 00:00:00 2001 From: 叶松 <2217086471@qq.com> Date: 星期一, 27 十一月 2023 11:23:46 +0800 Subject: [PATCH] Merge branch 'master' of http://111.30.93.211:10101/r/supipe --- hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/MixingPlantNewScheduled.java | 45 hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelstock/mapper/SteelStockMapper.java | 6 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/entity/MinXingPlantVo.java | 15 hd/pipe/screen/src/main/java/com/thhy/screen/utils/HttpUtils.java | 2 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/service/impl/MinXingPlantServiceImpl.java | 5 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/dto/MinXingPlantDto.java | 3 hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/entity/SteelStockRecord.java | 82 + web/src/api/modules/ductpiecePLM.js | 39 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/entity/dto/ProduceExportDto.java | 2 hd/pipe/screen/src/main/java/com/thhy/screen/utils/AudioUtils.java | 20 hd/pipe/materialsManage/src/main/resources/mapping/MinXingPlantMapper.xml | 219 ++-- hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/service/impl/SteelCheckServiceImpl.java | 18 hd/pipe/common/src/main/java/com/thhy/general/common/enums/ProListenType.java | 4 web/src/views/DuctpiecePLM/DuctpieceIndex.vue | 1106 ++++++++++++++------- hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java | 4 hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/impl/ModCheckServiceImpl.java | 9 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/service/impl/TSteelProduceServiceImpl.java | 4 hd/pipe/materialsManage/src/main/resources/mapping/TSteelProduceMapper.xml | 4 hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/controller/ExecProListener.java | 26 hd/pipe/mobile/src/main/resources/mapping/SteelStockMapper.xml | 72 + hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/service/impl/ProduceListenServiceImpl.java | 14 hd/pipe/materialsManage/src/main/resources/mapping/WeighMapper.xml | 96 + hd/pipe/common/src/main/java/com/thhy/general/utils/UUIDUtils.java | 4 web/src/views/DuctpiecePLM/DuctProduct/ProductIndex.vue | 1106 ++++++++++++++------- hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/mapper/WeighMapper.java | 8 hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeListVo.java | 2 hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml | 37 27 files changed, 2,059 insertions(+), 893 deletions(-) diff --git a/hd/pipe/common/src/main/java/com/thhy/general/common/enums/ProListenType.java b/hd/pipe/common/src/main/java/com/thhy/general/common/enums/ProListenType.java index fe98bf6..ce0fdcf 100644 --- a/hd/pipe/common/src/main/java/com/thhy/general/common/enums/ProListenType.java +++ b/hd/pipe/common/src/main/java/com/thhy/general/common/enums/ProListenType.java @@ -6,9 +6,9 @@ public final static String PIPEPLANACTUAL = "pipePlanActual"; - public final static String PIPEMONTHPLANACTUAL = "pipeMonthPlanActual"; + public final static String STEELUSE = "steelUse"; - public final static String MATERIALWEEKANDMONTHS = "materialWeekAndMonths"; + public final static String RESTINFO = "restInfo"; public final static String WATERCULINFO = "waterCulInfo"; diff --git a/hd/pipe/common/src/main/java/com/thhy/general/utils/UUIDUtils.java b/hd/pipe/common/src/main/java/com/thhy/general/utils/UUIDUtils.java index cad5d90..f76a4bd 100644 --- a/hd/pipe/common/src/main/java/com/thhy/general/utils/UUIDUtils.java +++ b/hd/pipe/common/src/main/java/com/thhy/general/utils/UUIDUtils.java @@ -46,7 +46,7 @@ public static String createRingNum(Integer num){ StringBuilder sb = new StringBuilder(); - sb.append(addZero(num,6)); + sb.append(addZero(num,4)); return sb.toString(); } @@ -74,7 +74,7 @@ } public static void main(String[] args) { - System.out.println(createSteelNum("001",70)); + System.out.println(createRingNum(5)); } } diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/MixingPlantNewScheduled.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/MixingPlantNewScheduled.java index bcd04d3..c70f37a 100644 --- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/MixingPlantNewScheduled.java +++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/MixingPlantNewScheduled.java @@ -4,6 +4,7 @@ import com.thhy.materials.modules.biz.concret.entity.dto.DicetName; import com.thhy.materials.modules.biz.concret.entity.dto.TMinxingPlant; import com.thhy.materials.modules.biz.concret.entity.dto.WeighDto; +import com.thhy.materials.modules.biz.weigh.entity.TWeighbridge; import com.thhy.materials.modules.biz.weigh.mapper.WeighMapper; import com.thhy.materials.modules.biz.weigh.service.WeighService; import org.redisson.api.RLock; @@ -192,6 +193,50 @@ } + //苏州项目------- 地磅入库 记录,及库存修改 + @Scheduled(fixedRate = 2000000) // 每隔3秒执行一次任务 + public void weighbridge() { + //查询搅拌 所有类型 + List<DicetName> dictList = weighService.dictList(); + List<TWeighbridge> tWeighbridges = weighMapper.weighbridgeListType(); + for (DicetName dicetName : dictList){ + for (TWeighbridge weighbridge :tWeighbridges){ + if(dicetName.getDictName().equals(weighbridge.getMatname())){ + //开始的库存 + Double materialValue = weighMapper.materialStockValue(dicetName.getDictId()); + //净重 + String jweight = weighbridge.getJweight(); + HashMap<String, Object> hashMap = new HashMap<>(); + hashMap.put("id",""); + hashMap.put("type",1); + hashMap.put("opType",1); + hashMap.put("materialName",dicetName.getDictId()); + hashMap.put("materialValue",Double.valueOf(jweight)); + hashMap.put("beforeStock",materialValue); + BigDecimal b1 = new BigDecimal(jweight); + BigDecimal b2 = new BigDecimal(materialValue); + double v1 = b1.add(b2).doubleValue(); + hashMap.put("afterStock",v1); + hashMap.put("companyId","031e3dd577e8ed28e96aa69b"); + RLock lock = redissonclient.getLock("materlock"); + if(!lock.isLocked()) { + lock.lock(10, TimeUnit.SECONDS); + //插入记录表//苏州项目(入库计入增加) + weighMapper.materialStockRecordIns(hashMap); + //更改记录值 + weighMapper.materialStockRecordUp(dicetName.getDictId(),b1.add(b2).doubleValue()); + lock.unlock(); + } + + weighMapper.weighbridgeUpdateType(weighbridge.getWeighbridgeId()); + } + } + + + } + + + } } diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/dto/MinXingPlantDto.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/dto/MinXingPlantDto.java index 05a2dea..965d030 100644 --- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/dto/MinXingPlantDto.java +++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/dto/MinXingPlantDto.java @@ -11,9 +11,10 @@ public class MinXingPlantDto { private String dictId;// 管片原料类型(字典表) private String companyId;//分公司id - private String supplierId;//供应商ID + private String supplierName;//供应商ID private String startTime; private String endTime; private Integer pageNum; private Integer pageSize; + } diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/entity/MinXingPlantVo.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/entity/MinXingPlantVo.java index 145f97a..977222e 100644 --- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/entity/MinXingPlantVo.java +++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/entity/MinXingPlantVo.java @@ -27,7 +27,7 @@ private Integer byId;//序号 @Excel(sort = 1,title = "入库时间") - private String createDate;//字符串的入库时间 + private Date createDate;//字符串的入库时间 @Excel(sort = 2,title = "供应商") private String supplierName;//供应商名称 @@ -43,4 +43,17 @@ @Excel(sort = 6,title = "入库人") private String username; + + + private String id; + private Integer type; + private Integer opType; + private String materialName; + private double materialValue; + private double beforeStock; + private double afterStock; + private String remark; + private String pipeId; + private String pipeNum; + } diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/service/impl/MinXingPlantServiceImpl.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/service/impl/MinXingPlantServiceImpl.java index 869529a..460e94d 100644 --- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/service/impl/MinXingPlantServiceImpl.java +++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/service/impl/MinXingPlantServiceImpl.java @@ -8,6 +8,7 @@ import com.thhy.general.config.SysUserInfo; import com.thhy.general.exception.BasicException; import com.thhy.general.utils.ExcelUtils; +import com.thhy.general.utils.UUIDUtils; import com.thhy.general.utils.UserInfoUtils; import com.thhy.materials.modules.biz.materialsplan.entity.RsbStatDto; import com.thhy.materials.modules.biz.materialsplan.entity.StatResultVo; @@ -59,6 +60,10 @@ String companyId = sysUserInfo.getCompanyId(); minXingPlantVo.setCompanyId(companyId); minXingPlantVo.setCreateUser(sysUserInfo.getUserId()); + minXingPlantVo.setId(UUIDUtils.create()); + minXingPlantVo.setOpType(1); + minXingPlantVo.setMaterialValue(minXingPlantVo.getChangeStock()); + minXingPlantVo.setType(4); minXingPlantMapper.insert(minXingPlantVo); RLock lock = redissonClient.getLock("materlock"); try { diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/entity/dto/ProduceExportDto.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/entity/dto/ProduceExportDto.java index 3eb944c..d1a44e3 100644 --- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/entity/dto/ProduceExportDto.java +++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/entity/dto/ProduceExportDto.java @@ -47,5 +47,7 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String printTime; + private String platUserName; + } diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/service/impl/TSteelProduceServiceImpl.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/service/impl/TSteelProduceServiceImpl.java index fed3638..23e4dbd 100644 --- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/service/impl/TSteelProduceServiceImpl.java +++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/service/impl/TSteelProduceServiceImpl.java @@ -238,7 +238,7 @@ }else { exportDto.setQualityTime(produceDto.getQualityTime().toString()); } - exportDto.setRealName(produceDto.getRealName()); + exportDto.setPlatUserName(produceDto.getPlatUserName()); exportDto.setQualityUserName(produceDto.getQualityUserName()); if(produceDto.getIsQualified()!=null && produceDto.getIsQualified()==1){ @@ -263,7 +263,7 @@ excel.addHeaderAlias("blockName", "块号"); excel.addHeaderAlias("groupName", "生产班组"); excel.addHeaderAlias("printTime", "打印时间"); - excel.addHeaderAlias("realName", "制作人"); + excel.addHeaderAlias("platUserName", "制作人"); excel.addHeaderAlias("qualityUserName", "质检人"); excel.addHeaderAlias("qualityTime", "质检时间"); excel.addHeaderAlias("isQualified", "是否合格"); diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/mapper/WeighMapper.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/mapper/WeighMapper.java index cde8c15..9b87258 100644 --- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/mapper/WeighMapper.java +++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/mapper/WeighMapper.java @@ -73,4 +73,12 @@ void netWeighUpdateNew(@Param("byId") Integer byId,@Param("netWeight") double netWeight); List<TWeighbridge> weighbridgeList(Map<String, Object> values); + + List<TWeighbridge> weighbridgeListType(); + + Double materialStockValue(String dictId); + + void materialStockRecordIns(HashMap<String, Object> hashMap); + + void weighbridgeUpdateType(Integer weighbridgeId); } diff --git a/hd/pipe/materialsManage/src/main/resources/mapping/MinXingPlantMapper.xml b/hd/pipe/materialsManage/src/main/resources/mapping/MinXingPlantMapper.xml index 89404d4..66cddb8 100644 --- a/hd/pipe/materialsManage/src/main/resources/mapping/MinXingPlantMapper.xml +++ b/hd/pipe/materialsManage/src/main/resources/mapping/MinXingPlantMapper.xml @@ -1,125 +1,110 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.thhy.materials.modules.biz.mixingstationstorage.mapper.MinXingPlantMapper"> - <resultMap id="BaseResultMap" type="com.thhy.materials.modules.biz.mixingstationstorage.entity.MinXingPlantVo"> - - <id column="mixing_plant_id" jdbcType="VARCHAR" property="mixingPlantId" /> - <result column="dict_id" jdbcType="VARCHAR" property="dictId" /> - <result column="stock_type" jdbcType="INTEGER" property="stockType" /> - <result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> - <result column="change_stock" jdbcType="DOUBLE" property="changeStock" /> - <result column="supplier_id" jdbcType="VARCHAR" property="supplierId" /> - <result column="is_use" jdbcType="INTEGER" property="isUse" /> - <result column="company_id" jdbcType="VARCHAR" property="companyId" /> - <result column="car_name" jdbcType="VARCHAR" property="carName" /> - <result column="pro_id" jdbcType="VARCHAR" property="proId" /> - <result column="create_user" jdbcType="VARCHAR" property="createUser" /> - <result column="by_id" jdbcType="INTEGER" property="byId" /> - </resultMap> <insert id="insert" > - insert into t_minxing_plant - <trim prefix="(" suffix=")" suffixOverrides=","> - <if test="mixingPlantId != null"> - mixing_plant_id, - </if> - <if test="dictId != null"> - dict_id, - </if> - <if test="stockType != null"> - stock_type, - </if> - <if test="createTime != null"> - create_time, - </if> - <if test="changeStock != null"> - change_stock, - </if> - <if test="supplierId != null"> - supplier_id, - </if> - <if test="isUse != null"> - is_use, - </if> - <if test="companyId != null"> - company_id, - </if> - <if test="carName != null"> - car_name, - </if> - <if test="proId != null"> - pro_id, - </if> - <if test="createUser != null"> - create_user, - </if> - <if test="byId != null"> - by_id, - </if> - </trim> - <trim prefix="values (" suffix=")" suffixOverrides=","> - <if test="mixingPlantId != null"> - #{mixingPlantId}, - </if> - <if test="dictId != null"> - #{dictId}, - </if> - <if test="stockType != null"> - #{stockType}, - </if> - <if test="createTime != null"> - #{createTime}, - </if> - <if test="changeStock != null"> - #{changeStock}, - </if> - <if test="supplierId != null"> - #{supplierId}, - </if> - <if test="isUse != null"> - #{isUse}, - </if> - <if test="companyId != null"> - #{companyId}, - </if> - <if test="carName != null"> - #{carName}, - </if> - <if test="proId != null"> - #{proId}, - </if> - <if test="createUser != null"> - #{createUser}, - </if> - <if test="byId != null"> - #{byId}, - </if> - </trim> + insert into t_material_stock_record + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null"> + id, + </if> + <if test="createDate != null"> + create_date, + </if> + <if test="type != null"> + type, + </if> + <if test="opType != null"> + op_type, + </if> + <if test="dictId != null"> + material_name, + </if> + <if test="materialValue != null"> + material_value, + </if> + <if test="beforeStock != null"> + before_stock, + </if> + <if test="afterStock != null"> + after_stock, + </if> + <if test="companyId != null"> + company_id, + </if> + <if test="remark != null"> + remark, + </if> + <if test="createUser != null"> + create_user, + </if> + <if test="supplierName != null"> + supplier_name, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null"> + #{id}, + </if> + <if test="createDate != null"> + #{createDate}, + </if> + <if test="type != null"> + #{type}, + </if> + <if test="opType != null"> + #{opType}, + </if> + <if test="dictId != null"> + #{dictId}, + </if> + <if test="materialValue != null"> + #{materialValue}, + </if> + <if test="beforeStock != null"> + #{beforeStock}, + </if> + <if test="afterStock != null"> + #{afterStock}, + </if> + <if test="companyId != null"> + #{companyId}, + </if> + <if test="remark != null"> + #{remark}, + </if> + <if test="createUser != null"> + #{createUser}, + </if> + <if test="supplierName != null"> + #{supplierName}, + </if> + </trim> </insert> <select id="selectAllList" parameterType="com.thhy.materials.modules.biz.mixingstationstorage.dto.MinXingPlantDto" resultType="com.thhy.materials.modules.biz.mixingstationstorage.entity.MinXingPlantVo"> - SELECT - DATE_FORMAT(a.create_time, '%Y-%m-%d %H:%i:%S') createDate, - c.supplier_name supplierName, - b.dict_name dictName, - a.change_stock changeStock, - d.real_name username, - '吨' unit - FROM t_minxing_plant a - LEFT JOIN sys_dict b ON b.dict_id = a.dict_id - LEFT JOIN sys_supplier c ON c.id = a.supplier_id - LEFT JOIN sys_users d ON d.user_id = a.create_user - WHERE a.is_use = 1 and company_id = #{companyId} - <if test="dictId != null and dictId != ''"> - AND a.dict_id = #{dictId} - </if> - <if test="supplierId != null and supplierId != ''"> - AND a.supplier_id = #{supplierId} - </if> - <if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> - AND a.create_time BETWEEN #{startTime} AND #{endTime} - </if> - order by a.create_time desc + SELECT + DATE_FORMAT(a.create_date, '%Y-%m-%d %H:%i:%S') createDate, + b.dict_name dictName, + a.material_value changeStock, + d.real_name username, + '吨' unit, + a.supplier_name supplierName + FROM t_material_stock_record a + LEFT JOIN sys_dict b ON b.dict_id = a.material_name + LEFT JOIN sys_users d ON d.user_id = a.create_user + where + a.op_type =1 and a.company_id = #{companyId} + <if test="dictId != null and dictId != ''"> + AND a.material_name = #{dictId} + </if> + <if test="supplierName != null and supplierName != ''"> + AND a.supplier_name regexp #{supplierName} + </if> + <if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> + AND a.create_date BETWEEN #{startTime} AND #{endTime} + </if> + order by a.create_date desc </select> <!-- 库存管理 --> @@ -189,6 +174,9 @@ <if test="createUser != null"> create_user, </if> + <if test="supplierName != null"> + supplier_name, + </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="id != null"> @@ -224,6 +212,9 @@ <if test="createUser != null"> #{createUser}, </if> + <if test="supplierName != null"> + #{supplierName}, + </if> </trim> </insert> <select id="selectInventoryRecordList" parameterType="com.thhy.materials.modules.biz.mixingstationstorage.dto.TMaterialStockRecordDto" resultType="com.thhy.materials.modules.biz.mixingstationstorage.entity.TMaterialStockRecordVo"> diff --git a/hd/pipe/materialsManage/src/main/resources/mapping/TSteelProduceMapper.xml b/hd/pipe/materialsManage/src/main/resources/mapping/TSteelProduceMapper.xml index aeef5b4..4957190 100644 --- a/hd/pipe/materialsManage/src/main/resources/mapping/TSteelProduceMapper.xml +++ b/hd/pipe/materialsManage/src/main/resources/mapping/TSteelProduceMapper.xml @@ -91,6 +91,10 @@ <if test="isModel!=null and isModel!='' "> and tsp.size_id=#{sizeId} </if> + <if test="platUserName!=null and platUserName!='' "> + and spu.real_name regexp #{platUserName} + </if> + order by tsp.produce_number desc </select> <select id="steelProduceInfo" parameterType="java.lang.String" resultType="com.thhy.materials.modules.biz.rebarprint.entity.dto.ProduceDto"> diff --git a/hd/pipe/materialsManage/src/main/resources/mapping/WeighMapper.xml b/hd/pipe/materialsManage/src/main/resources/mapping/WeighMapper.xml index ddadc5f..55cbeb7 100644 --- a/hd/pipe/materialsManage/src/main/resources/mapping/WeighMapper.xml +++ b/hd/pipe/materialsManage/src/main/resources/mapping/WeighMapper.xml @@ -615,4 +615,100 @@ order by weighbridge_id desc </select> + <select id="weighbridgeListType" resultType="com.thhy.materials.modules.biz.weigh.entity.TWeighbridge"> + select + weighbridge_id as weighbridgeId, + id, + code, + orgName, + supplyOrgName, + carNumber, + driverName, + matName, + matModel, + mPoundTime, + mPoundWeight, + mPoundName, + pPoundTime, + pPoundWeight, + pPoundName, + jPoundWeight, + buckleWeight, + mWeight, + pWeight, + jWeight, + wareName, + fileImage, + types + from t_weighbridge where + types=1 + </select> + <select id="materialStockValue" resultType="java.lang.Double"> + select material_value as materialValue + from t_material_stock where material_name=#{dictId} + </select> + + + <insert id="materialStockRecordIns" > + insert into t_material_stock_record + <trim prefix="(" suffix=")" suffixOverrides=","> + id, + <if test="createDate != null"> + create_date, + </if> + <if test="type != null"> + type, + </if> + <if test="opType != null"> + op_type, + </if> + <if test="materialName != null"> + material_name, + </if> + <if test="materialValue != null"> + material_value, + </if> + <if test="beforeStock != null"> + before_stock, + </if> + <if test="afterStock != null"> + after_stock, + </if> + <if test="companyId != null"> + company_id, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + REPLACE(UUID(),'-',''), + <if test="createDate != null"> + #{createDate,jdbcType=TIMESTAMP}, + </if> + <if test="type != null"> + #{type,jdbcType=INTEGER}, + </if> + <if test="opType != null"> + #{opType,jdbcType=INTEGER}, + </if> + <if test="materialName != null"> + #{materialName,jdbcType=VARCHAR}, + </if> + <if test="materialValue != null"> + #{materialValue,jdbcType=DOUBLE}, + </if> + <if test="beforeStock != null"> + #{beforeStock,jdbcType=DOUBLE}, + </if> + <if test="afterStock != null"> + #{afterStock,jdbcType=DOUBLE}, + </if> + <if test="companyId != null"> + #{companyId}, + </if> + </trim> + </insert> + <update id="weighbridgeUpdateType" > + update t_weighbridge set + types=2 + where weighbridge_id=#{weighbridgeId} + </update> </mapper> \ No newline at end of file diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/impl/ModCheckServiceImpl.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/impl/ModCheckServiceImpl.java index ce9a32b..aeb4e33 100644 --- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/impl/ModCheckServiceImpl.java +++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/impl/ModCheckServiceImpl.java @@ -17,6 +17,7 @@ import com.thhy.mobile.modules.biz.pipeinfo.entity.MaterialInfo; import com.thhy.mobile.modules.biz.pipeinfo.entity.PipeInfo; import com.thhy.mobile.modules.biz.pipeinfo.mapper.PipeInfoMapper; +import com.thhy.mobile.modules.biz.steelcheck.entity.SteelStockRecord; import com.thhy.mobile.modules.biz.steelproduce.entity.ProduceDto; import com.thhy.mobile.modules.biz.steelproduce.entity.SteelProduce; import com.thhy.mobile.modules.biz.steelproduce.mapper.SteelProduceMapper; @@ -141,6 +142,10 @@ if(compareResult){//匹配成功 //更改钢筋笼产品入模状态 steelProduceMapper.updateisModel(new ProduceDto(1,modCheckDto.getProduceNumber())); + //钢筋笼库存记录 + SteelStockRecord steelStockRecord = new SteelStockRecord(steelProduce,true); + steelStockRecord.setModCheckId(mouldCheck.getModCheckId()); + steelStockMapper.insertSteelStockRecord(steelStockRecord); //减掉钢筋笼库存 steelStockMapper.updateMinusStock(new SteelStock(steelProduce)); //更新模具循环次数 @@ -199,7 +204,7 @@ String proId = modCheckDto.getProId(); try { - if(ringNum.length()>5){ + if(ringNum.length()>4){ throw new BasicException(BasicStatus.RING_NOT_DIS); } Integer.parseInt(ringNum); @@ -207,7 +212,7 @@ throw new BasicException(BasicStatus.RING_NOT_DIS); } - String newRingNum = UUIDUtils.addZeroNoPlus(Integer.parseInt(ringNum),5); + String newRingNum = UUIDUtils.addZeroNoPlus(Integer.parseInt(ringNum),4); int count = pipeInfoMapper.countByRingNum(newRingNum); if(count>0){ diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeListVo.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeListVo.java index 918c54e..7935835 100644 --- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeListVo.java +++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeListVo.java @@ -66,7 +66,7 @@ //入模人员 private String intoModUser; public String getCheckResultStr() { - return checkResult==1?"合格":checkResult==2?"不合格":"报废"; + return checkResult==1?"合格":checkResult==2?"不合格":checkResult==0?"未质检":"报废"; } private ModIdlThing modIdlThing; diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/entity/SteelStockRecord.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/entity/SteelStockRecord.java new file mode 100644 index 0000000..1dca7a5 --- /dev/null +++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/entity/SteelStockRecord.java @@ -0,0 +1,82 @@ +package com.thhy.mobile.modules.biz.steelcheck.entity; + +import com.thhy.general.annotations.Idkey; +import com.thhy.mobile.modules.biz.steelproduce.entity.SteelProduce; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class SteelStockRecord implements Serializable { + + @Idkey + private String recordId; + + private String steelRecordId; + + private String modCheckId; + + /** + * 块ID + */ + + + private String blockId; + + + + private Date createTime; + + /** + * 项目ID + */ + + + private String proId; + + /** + * 配筋ID + */ + + + private String reinforcementId; + + /** + * 尺寸 + */ + + + private String sizeId; + + /** + * 库存 + */ + + + private double stock; + + private int type; + + + public SteelStockRecord() { + } + + public SteelStockRecord(SteelProduce steelProduce) { + this.proId = steelProduce.getProId(); + this.sizeId = steelProduce.getSizeId(); + this.reinforcementId = steelProduce.getReinforcementId(); + this.blockId = steelProduce.getBlockNum(); + this.type = 1; + this.stock = 1; + } + + public SteelStockRecord(SteelProduce steelProduce,boolean plus) { + this.proId = steelProduce.getProId(); + this.sizeId = steelProduce.getSizeId(); + this.reinforcementId = steelProduce.getReinforcementId(); + this.blockId = steelProduce.getBlockNum(); + this.type = 2; + this.stock = 1; + } +} diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/service/impl/SteelCheckServiceImpl.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/service/impl/SteelCheckServiceImpl.java index 55212f0..3bebac9 100644 --- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/service/impl/SteelCheckServiceImpl.java +++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/service/impl/SteelCheckServiceImpl.java @@ -7,10 +7,7 @@ import com.thhy.general.exception.BasicException; import com.thhy.general.utils.DeepCopyUtils; import com.thhy.general.utils.UserInfoUtils; -import com.thhy.mobile.modules.biz.steelcheck.entity.CheckFile; -import com.thhy.mobile.modules.biz.steelcheck.entity.SteelCheckDto; -import com.thhy.mobile.modules.biz.steelcheck.entity.SteelCheckListVo; -import com.thhy.mobile.modules.biz.steelcheck.entity.UpdateCheckResultDto; +import com.thhy.mobile.modules.biz.steelcheck.entity.*; import com.thhy.mobile.modules.biz.steelcheck.service.SteelCheckService; import com.thhy.mobile.modules.biz.steelcheckrecord.entity.SteelCheckRecord; import com.thhy.mobile.modules.biz.steelcheckrecord.mapper.SteelCheckRecordMapper; @@ -72,7 +69,10 @@ steelCheckRecord.setSteelProduceNum(produceNum); steelCheckRecord.setCreateUser(userInfo.getUserId()); recordMapper.insert(steelCheckRecord); - //增加钢筋笼库存 + //增加钢筋笼库存记录 + SteelStockRecord steelStockRecord = new SteelStockRecord(steelProduce); + steelStockRecord.setSteelRecordId(steelCheckRecord.getCheckId()); + steelStockMapper.insertSteelStockRecord(steelStockRecord); int stockRecord = steelStockMapper.countStockByPSRB(new SteelStock(steelProduce)); if(stockRecord>0){ //增加钢筋笼库存 @@ -137,7 +137,10 @@ } //更新住状态 steelProduceMapper.updateQualified(new SteelProduce(updateCheckResultDto.getSteelProduceNum(), steelCheckRecord.getCheckResult(),userInfo.getUserId())); + //合格状态————————>不合格 if (steelCheckRecord.getCheckResult()!=3) { + //减【钢筋笼】库存就记录删除标志 + steelStockMapper.updateSteelStockRecordByCheckId(2,steelCheckRecord.getCheckId()); //减【钢筋笼】库存 steelStockMapper.updateMinusStock(new SteelStock(steelProduce)); //加【钢筋】库存记录 @@ -150,6 +153,8 @@ } //合格状态————————>报废 if(qualified==1&&updateCheckResultDto.getCheckResult()==3){ + //减【钢筋笼】库存就记录删除标志 + steelStockMapper.updateSteelStockRecordByCheckId(2,steelCheckRecord.getCheckId()); //减【钢筋笼】库存 steelStockMapper.updateMinusStock(new SteelStock(steelProduce)); } @@ -192,6 +197,9 @@ //更新住状态 steelProduceMapper.updateQualified(new SteelProduce(updateCheckResultDto.getSteelProduceNum(), 1,userInfo.getUserId())); + //钢筋笼】库存就记录删除标志改为未删除 + steelStockMapper.updateSteelStockRecordByCheckId(1,steelCheckRecord.getCheckId()); + //加【钢筋笼】库存 steelStockMapper.updatePlusStock(new SteelStock(steelProduce)); //钢筋消耗的理论耗量 List<SteelConsume> steelConsumeList = steelStockMapper.queryByPSRB(new SteelStock(steelProduce)); diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelstock/mapper/SteelStockMapper.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelstock/mapper/SteelStockMapper.java index 2ec8a7c..ee21e0d 100644 --- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelstock/mapper/SteelStockMapper.java +++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelstock/mapper/SteelStockMapper.java @@ -1,8 +1,10 @@ package com.thhy.mobile.modules.biz.steelstock.mapper; +import com.thhy.mobile.modules.biz.steelcheck.entity.SteelStockRecord; import com.thhy.mobile.modules.biz.steelstock.entity.SteelConsume; import com.thhy.mobile.modules.biz.steelstock.entity.SteelStock; import com.thhy.mobile.modules.biz.steelstock.entity.SteelStockListVo; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; import java.io.Serializable; @@ -46,4 +48,8 @@ void updateMinusSteelStock(SteelConsume steelConsume); void updatePlusSteelStock(SteelConsume steelConsume); + + void insertSteelStockRecord(SteelStockRecord steelStockRecord); + + void updateSteelStockRecordByCheckId(@Param("isUse") int isUse,@Param("checkRecordId") String checkRecordId); } diff --git a/hd/pipe/mobile/src/main/resources/mapping/SteelStockMapper.xml b/hd/pipe/mobile/src/main/resources/mapping/SteelStockMapper.xml index 679d0cb..adf1e93 100644 --- a/hd/pipe/mobile/src/main/resources/mapping/SteelStockMapper.xml +++ b/hd/pipe/mobile/src/main/resources/mapping/SteelStockMapper.xml @@ -239,4 +239,76 @@ update sys_steel set stock = (stock+#{needNum}) where steel_id = #{steelId} </update> + <insert id="insertSteelStockRecord"> + insert into t_steel_stock_record + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="recordId !=null and recordId !=''"> + record_id, + </if> + <if test="steelRecordId !=null and steelRecordId !=''"> + check_record_id, + </if> + <if test="modCheckId !=null and modCheckId !=''"> + mod_check_id, + </if> + <if test="proId !=null and proId !=''"> + pro_id, + </if> + <if test="sizeId !=null and sizeId !=''"> + size_id, + </if> + <if test="reinforcementId !=null and reinforcementId !=''"> + reinforcement_id, + </if> + <if test="blockId !=null and blockId !=''"> + block_id, + </if> + <if test="stock !=null and stock !=''"> + stock, + </if> + <if test="createTime !=null and createTime !=''"> + create_time, + </if> + <if test="type !=null"> + type, + </if> + </trim> + <trim prefix=" values (" suffix=")" suffixOverrides=","> + <if test="recordId !=null and recordId !=''"> + #{recordId}, + </if> + <if test="steelRecordId !=null and steelRecordId !=''"> + #{steelRecordId}, + </if> + <if test="modCheckId !=null and modCheckId !=''"> + #{modCheckId}, + </if> + <if test="proId !=null and proId !=''"> + #{proId}, + </if> + <if test="sizeId !=null and sizeId !=''"> + #{sizeId}, + </if> + <if test="reinforcementId !=null and reinforcementId !=''"> + #{reinforcementId}, + </if> + <if test="blockId !=null and blockId !=''"> + #{blockId}, + </if> + <if test="stock !=null and stock !=''"> + #{stock}, + </if> + <if test="createTime !=null and createTime !=''"> + #{createTime}, + </if> + <if test="type !=null"> + #{type}, + </if> + </trim> + </insert> + + <update id="updateSteelStockRecordByCheckId"> + update t_steel_stock_record set is_use = #{isUse} where check_record_id = #{checkRecordId} + </update> + </mapper> diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/controller/ExecProListener.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/controller/ExecProListener.java index e95479a..3051240 100644 --- a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/controller/ExecProListener.java +++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/controller/ExecProListener.java @@ -118,21 +118,7 @@ map1.put("mod",ProListenType.PIPEPLANACTUAL); map1.put("pipePlanActual",yearCountList); mapList.add(map1); - Map<String,Object> map2 = new HashMap<>(); - List<PipeMonthPlanActual> pipeMonthPlanActuals = bigScreenMapper.pipeMonthPlanActual(companyId); - map2.put("mod",ProListenType.PIPEMONTHPLANACTUAL); - map2.put("pipeMonthPlanActual",pipeMonthPlanActuals); - mapList.add(map2); - Map<String,Object> map3 = new HashMap<>(); - List<MaterialWeekAndMonth> materialWeekAndMonths = bigScreenMapper.materialWeekMonth(companyId); - map3.put("mod",ProListenType.MATERIALWEEKANDMONTHS); - map3.put("materialWeekAndMonths",materialWeekAndMonths); - mapList.add(map3); return mapList; - }else if(dataType.equals(ProListenType.MATERIALWEEKANDMONTHS)){ - //原料消耗 周月 - List<MaterialWeekAndMonth> materialWeekAndMonths = bigScreenMapper.materialWeekMonth(companyId); - map.put("materialWeekAndMonths",materialWeekAndMonths); }else if (dataType.equals(ProListenType.PIPEPLANACTUAL)){ //年度生产计划和实际完成 List<PipeYearCount> yearCountList = bigScreenMapper.queryAllProject(companyId); @@ -141,10 +127,6 @@ yc.setPipePlanActual(pipePlanActual); }); map.put("pipePlanActual",yearCountList); - }else if (dataType.equals(ProListenType.PIPEMONTHPLANACTUAL)){ - //月度生产计划和实际完成 - List<PipeMonthPlanActual> pipeMonthPlanActuals = bigScreenMapper.pipeMonthPlanActual(companyId); - map.put("pipeMonthPlanActual",pipeMonthPlanActuals); }else if (dataType.equals(ProListenType.WATERCULINFO)){ //水养池 List<WaterCulInfo> culInfoList = bigScreenMapper.WaterCulInfo(companyId); @@ -167,6 +149,14 @@ mapList.add(map1); mapList.add(map2); return mapList; + }else if (dataType.equals(ProListenType.STEELUSE)){ + //钢筋消耗 + List<HashMap<String,Object>> steelUseList = bigScreenMapper.querySteelMake(); + map.put("steelUse",steelUseList); + }else if (dataType.equals(ProListenType.RESTINFO)){ + //缓存区 + List<HashMap<String,Object>> restInfo = bigScreenMapper.queryRestInfo(); + map.put("restInfo",restInfo); } mapList.add(map); return mapList; diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java index 0a88200..d232ee5 100644 --- a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java +++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java @@ -34,4 +34,8 @@ void insertAudioGroup(AudioGroup audioGroup); List<AudioGroup> queryGroups(); + + List<HashMap<String,Object>> querySteelMake(); + + List<HashMap<String,Object>> queryRestInfo(); } diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/service/impl/ProduceListenServiceImpl.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/service/impl/ProduceListenServiceImpl.java index 22d4968..4f0710d 100644 --- a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/service/impl/ProduceListenServiceImpl.java +++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/service/impl/ProduceListenServiceImpl.java @@ -45,11 +45,17 @@ map.put("pipePlanActual",yearCountList); //月度生产计划和实际完成 - List<PipeMonthPlanActual> pipeMonthPlanActuals = bigScreenMapper.pipeMonthPlanActual(companyId); - map.put("pipeMonthPlanActual",pipeMonthPlanActuals); + //List<PipeMonthPlanActual> pipeMonthPlanActuals = bigScreenMapper.pipeMonthPlanActual(companyId); + //map.put("pipeMonthPlanActual",pipeMonthPlanActuals); //原料消耗 周月 - List<MaterialWeekAndMonth> materialWeekAndMonths = bigScreenMapper.materialWeekMonth(companyId); - map.put("materialWeekAndMonths",materialWeekAndMonths); + //List<MaterialWeekAndMonth> materialWeekAndMonths = bigScreenMapper.materialWeekMonth(companyId); + //map.put("materialWeekAndMonths",materialWeekAndMonths); + //钢筋消耗 + List<HashMap<String,Object>> steelUseList = bigScreenMapper.querySteelMake(); + map.put("steelUse",steelUseList); + //缓存区 + List<HashMap<String,Object>> restInfo = bigScreenMapper.queryRestInfo(); + map.put("restInfo",restInfo); //水养池 List<WaterCulInfo> culInfoList = bigScreenMapper.WaterCulInfo(companyId); map.put("waterCulInfo",culInfoList); diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/utils/AudioUtils.java b/hd/pipe/screen/src/main/java/com/thhy/screen/utils/AudioUtils.java index 9d5d23a..e14b357 100644 --- a/hd/pipe/screen/src/main/java/com/thhy/screen/utils/AudioUtils.java +++ b/hd/pipe/screen/src/main/java/com/thhy/screen/utils/AudioUtils.java @@ -11,7 +11,8 @@ public static void main(String[] args) { //getGroups(); - + //playMusic(); + getItemList(); } public static void login(){ @@ -20,6 +21,12 @@ public static String getGroups(){ String result = HttpUtils.post("GetGroups",new JSONObject()); + System.out.println(result); + return result; + } + + public static String getItemList(){ + String result = HttpUtils.post("GetItemList",new JSONObject()); System.out.println(result); return result; } @@ -38,4 +45,15 @@ System.out.println(result); return result; } + + public static String playMusic(){ + JSONObject jsonObject = new JSONObject(); + String[] ms = new String[]{"https://szpipe.thhy-tj.com/jingbao.mp3"}; + + jsonObject.put("Files",ms); + jsonObject.put("TextCode",1); + String result = HttpUtils.post("PlayMp3",jsonObject); + System.out.println(result); + return result; + } } diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/utils/HttpUtils.java b/hd/pipe/screen/src/main/java/com/thhy/screen/utils/HttpUtils.java index 3534bcb..3212066 100644 --- a/hd/pipe/screen/src/main/java/com/thhy/screen/utils/HttpUtils.java +++ b/hd/pipe/screen/src/main/java/com/thhy/screen/utils/HttpUtils.java @@ -12,7 +12,7 @@ public class HttpUtils { - private static String BaseHost = "http://150.158.37.69:8080/api/"; + private static String BaseHost = "http://58.210.64.90:9199/api/"; private static String token = ""; diff --git a/hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml b/hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml index f5a063c..eae824e 100644 --- a/hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml +++ b/hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml @@ -208,7 +208,7 @@ </select> <insert id="insertAudioGroup"> - INSERT INTO + INSERT INTO t_audio_group <trim suffix=")" prefix="(" suffixOverrides=","> <if test="id != null and id !=null"> id, @@ -237,5 +237,40 @@ select id,group_id as groupId,group_name as groupName from t_audio_groups </select> + <!--钢筋总消耗,周消耗,月消耗--> + <select id="querySteelMake" resultType="hashmap"> + select steel.steel_id,CONCAT(steel.steel_name,'-',steel_model) as steelName, + case when a.totalStock is NULL then 0 else a.totalStock end as totalStock, + case when b.weekStock is NULL then 0 else b.weekStock end as weekStock, + case when c.monthStock is NULL then 0 else c.monthStock end as monthStock + from sys_steel steel + left join + ( + select ssr.steel_id,sum(ssr.change_stock) as totalStock from sys_steel_record ssr + where ssr.stock_type = 2 + group by ssr.steel_id + ) a on steel.steel_id = a.steel_id + + left join + ( + select ssr.steel_id,sum(ssr.change_stock) as weekStock from sys_steel_record ssr + where ssr.stock_type = 2 and YEAR(SYSDATE()) = YEAR(ssr.create_time) and WEEK(sysdate(),1) = WEEK(ssr.create_time,1) + group by ssr.steel_id + ) b on steel.steel_id = b.steel_id + + left join + ( + select ssr.steel_id,sum(ssr.change_stock) as monthStock from sys_steel_record ssr + where ssr.stock_type = 2 and YEAR(SYSDATE()) = YEAR(ssr.create_time) and MONTH(SYSDATE()) = MONTH(ssr.create_time) + group by ssr.steel_id + ) c on steel.steel_id = c.steel_id + </select> + + <!--获取静养区--> + <select id="queryRestInfo" resultType="hashmap"> + select sd.device_id as deviceId,sd.device_name as deviceName,(select tem from t_rest_data trd where trd.device_id = sd.device_id order by check_time desc limit 1) as tem + from sys_device sd where sd.produce_order = '静养' + </select> + </mapper> \ No newline at end of file diff --git a/web/src/api/modules/ductpiecePLM.js b/web/src/api/modules/ductpiecePLM.js index e67479f..68f9630 100644 --- a/web/src/api/modules/ductpiecePLM.js +++ b/web/src/api/modules/ductpiecePLM.js @@ -26,7 +26,6 @@ url: '/m/pipeInfo/findList', data: { proId: params.proId, - segmentId: params.segmentId, ringNum: params.ringNum, groupId: params.groupId, checkResult: params.checkResult, @@ -56,14 +55,17 @@ // 获取全部钢筋笼与模具信息 getAllSteelPipeData: (params) => axios.post('/m/steelProduce/ModSteelPullDown', params), - - /** - * agv监控 - */ + * agv监控 + */ searchAgvLists: (params) => - axios.post('/screen/pl/agv', params), - + axios.post('/screen/pl/agv', params), + // 获取时间信息 + getPipeTimeData: (params) => + axios.post('/m/pipeInfo/updateDateInfo', params), + // 修改时间信息 + updatePipeTimeData: (params) => + axios.post('/m/pipeInfo/updatePipeDate', params), /** * 水养模块接口 * */ @@ -110,6 +112,7 @@ data: { waterCultivatedId: params.waterCultivatedId, ringNum: params.ringNum, + proId:params.proId, blockNum: params.blockNum, reinforcement: params.reinforcement, groutingHoles: params.groutingHoles, @@ -119,6 +122,18 @@ outCulEndTime: params.outCulEndTime } }), + // 根据项目查询环号 + getProjectRingNumData: (params) => + axios.get('/m/waterCultivated/ringNumList', {params}), + // 根据项目 环号查询管片信息 + getProjectRingPipeData: (params) => + axios.post('/m/pipeCultivated/pipeInfoList', params), + // 获取水养池下拉 + getWaterCultivatedData: (params) => + axios.post('/m/waterCultivated/pulldown', params), + // 提交入池 + submitpipeEnterCistern: (params) => + axios.post('/m/pipeCultivated/intowaterWeb', params), /* * 管片蒸养 @@ -207,6 +222,13 @@ //获取所有环号 getAllPipInfos: params => axios.post('/materials/pipeOut/pipeInfoInList', params), + + // 获取堆场下拉信息 + getRepoRecordData: () => + axios.post('/m/repoRecord/repoPullDown'), + // 管片入库 + submitPipePutbankInfo: (params) => + axios.post('/m/repoRecord/intoRepoWeb', params), /** * 发运管理中的GPS设备管理 @@ -288,7 +310,8 @@ pageSize: params.pageSize }, data: { - ringNum: params.ringNum + ringNum: params.ringNum, + proId:params.proId } }), // 获取管片详情 diff --git a/web/src/views/DuctpiecePLM/DuctProduct/ProductIndex.vue b/web/src/views/DuctpiecePLM/DuctProduct/ProductIndex.vue index 3626c63..fc388bb 100644 --- a/web/src/views/DuctpiecePLM/DuctProduct/ProductIndex.vue +++ b/web/src/views/DuctpiecePLM/DuctProduct/ProductIndex.vue @@ -3,12 +3,18 @@ <div class="main_header"> <div class="header_item"> <span class="header_label">项目名称:</span> - <el-select v-model="projectId" clearable placeholder="请选择项目" @change="changeHeaderProject"> + <el-select + v-model="projectId" + clearable + placeholder="请选择项目" + @change="changeHeaderProject" + > <el-option v-for="item in projectData" :key="item.proId" :label="item.proName" - :value="item.proId"> + :value="item.proId" + > </el-option> </el-select> </div> @@ -23,7 +29,8 @@ v-for="item in groupData" :key="item.groupId" :label="item.groupName" - :value="item.groupId"> + :value="item.groupId" + > </el-option> </el-select> </div> @@ -42,7 +49,8 @@ v-for="item in reinforcementData" :key="item.hasSteel" :label="item.dictName" - :value="item.hasSteel"> + :value="item.hasSteel" + > </el-option> </el-select> </div> @@ -53,9 +61,10 @@ v-for="item in groutingHolesData" :key="item.groutingHoles" :label="item.dictName" - :value="item.groutingHoles"> + :value="item.groutingHoles" + > </el-option> - </el-select> + </el-select> </div> <div class="header_item"> <span class="header_label">块号:</span> @@ -64,7 +73,8 @@ v-for="item in blockNumData" :key="item.blockNum" :label="item.dictName" - :value="item.blockNum"> + :value="item.blockNum" + > </el-option> </el-select> </div> @@ -76,7 +86,8 @@ range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" - value-format="yyyy-MM-dd"> + value-format="yyyy-MM-dd" + > </el-date-picker> </div> <!-- <div class="header_item"> @@ -98,51 +109,119 @@ range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" - value-format="yyyy-MM-dd"> + value-format="yyyy-MM-dd" + > </el-date-picker> </div> <div class="header_item"> - <el-button v-if="showButton('search')" icon="el-icon-search" @click="searchDuctpiecePLMList(true)">查询</el-button> - <el-button v-if="showButton('insert')" icon="el-icon-download" @click="propInsert()">新增管片</el-button> - <el-button v-if="showButton('insert')" icon="el-icon-download" @click="exportExcel()">导出Excel</el-button> + <el-button + v-if="showButton('search')" + icon="el-icon-search" + @click="searchDuctpiecePLMList(true)" + >查询</el-button + > + <el-button + v-if="showButton('insert')" + icon="el-icon-download" + @click="propInsert()" + >新增管片</el-button + > + <el-button + v-if="showButton('export')" + icon="el-icon-download" + @click="exportExcel()" + >导出Excel</el-button + > </div> </div> <div class="main_content"> - <el-table - v-loading="loading" - :data="ductpieceList" - height="100%"> + <el-table v-loading="loading" :data="ductpieceList" height="100%"> <el-table-column label="序号" width="60" align="center"> <template #default="scope"> - <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span> + <span>{{ (pageNum - 1) * pageSize + scope.$index + 1 }}</span> </template> </el-table-column> <el-table-column prop="ringNum" label="环号" align="center"></el-table-column> <el-table-column prop="proName" label="项目名称" align="center"></el-table-column> <el-table-column prop="pipeNum" label="管片编号" align="center"></el-table-column> <el-table-column prop="turnName" label="转向" align="center"></el-table-column> - <el-table-column prop="reinforcementName" label="配筋" align="center"></el-table-column> - <el-table-column prop="groutingHolesName" label="注浆孔" align="center"></el-table-column> - <el-table-column prop="blockNumName" label="块号" align="center"></el-table-column> + <el-table-column + prop="reinforcementName" + label="配筋" + align="center" + ></el-table-column> + <el-table-column + prop="groutingHolesName" + label="注浆孔" + align="center" + ></el-table-column> + <el-table-column + prop="blockNumName" + label="块号" + align="center" + ></el-table-column> <el-table-column prop="mouldNum" label="模具" align="center"></el-table-column> - <el-table-column prop="intoModTime" label="入模时间" align="center"></el-table-column> + <el-table-column + prop="intoModTime" + label="入模时间" + align="center" + ></el-table-column> <!-- <el-table-column prop="pouringTime" label="浇筑时间" align="center"></el-table-column> --> - <el-table-column prop="checkTime" label="质检时间" align="center"></el-table-column> - <el-table-column prop="groupName" label="生产班组" align="center"></el-table-column> + <el-table-column + prop="checkTime" + label="质检时间" + align="center" + ></el-table-column> + <el-table-column + prop="groupName" + label="生产班组" + align="center" + ></el-table-column> <el-table-column label="质量标注" align="center"> <template #default="{ row }"> <div> - {{ row.checkResult == 0 ? '未质检' : row.checkResult == 1 ? '合格' : row.checkResult == 2 ? '不合格' : row.checkResult == 3 ? '报废' : ''}} + {{ + row.checkResult == 0 + ? "未质检" + : row.checkResult == 1 + ? "合格" + : row.checkResult == 2 + ? "不合格" + : row.checkResult == 3 + ? "报废" + : "" + }} </div> </template> </el-table-column> <el-table-column label="操作" align="center" width="300"> <template #default="{ row }"> - <template v-if="showButton('update') && row.checkResult !== 1"> - <el-button class="table_btn" size="mini" @click="propIssue(row)">存在问题</el-button> + <template v-if="showButton('update') && [2, 3].includes(row.checkResult)"> + <el-button class="table_btn" size="mini" @click="propIssue(row)" + >存在问题</el-button + > </template> - <el-button class="table_btn" size="mini" v-if="showButton('update') && row.checkResult == 0" @click="propUpdate(row)">修改环号</el-button> - <el-button class="table_btn" size="mini" v-if="showButton('delete')" @click="propCheckHistory(row)">质量追溯</el-button> + <el-button + class="table_btn" + size="mini" + v-if="showButton('update')" + @click="propUpdate(row)" + >修改环号</el-button + > + <el-button + class="table_btn" + size="mini" + v-if="showButton('update')" + @click="propUpdateTime(row)" + >修改时间</el-button + > + <el-button + class="table_btn" + size="mini" + v-if="showButton('delete')" + @click="propCheckHistory(row)" + >质量追溯</el-button + > </template> </el-table-column> </el-table> @@ -156,24 +235,33 @@ :page-sizes="[10, 20, 50, 100]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" - :total="total"> + :total="total" + > </el-pagination> </div> <el-dialog class="prop_dialog" title="存在问题" :visible.sync="asyncDuctPiece" - width="35%"> - <el-form ref="form" :model="formDuctPiece" :rules="rulesDuctPiece" label-width="auto" class="rule_form"> + width="35%" + > + <el-form + ref="form" + :model="formDuctPiece" + :rules="rulesDuctPiece" + label-width="auto" + class="rule_form" + > <el-form-item label="质检结果:"> - <span class="issue_status">{{checkResultStr}}</span> + <span class="issue_status">{{ checkResultStr }}</span> </el-form-item> <el-form-item label="存在问题:"> - <el-input - v-model="formDuctPiece.existProblem" + <el-input + v-model="formDuctPiece.existProblem" type="textarea" disabled - placeholder="请输入存在问题"></el-input> + placeholder="请输入存在问题" + ></el-input> </el-form-item> <el-form-item label="问题图片:"> <div class="problem_content"> @@ -181,25 +269,28 @@ v-for="item in fileList" :key="item.id" class="problem_image" - :src="item.url"> + :src="item.url" + > </el-image> </div> </el-form-item> <el-form-item label="问题处理结果:"> - <el-input - v-model="formDuctPiece.exeProResult" + <el-input + v-model="formDuctPiece.exeProResult" type="textarea" - clearable - placeholder="请输入问题处理结果"></el-input> + clearable + placeholder="请输入问题处理结果" + ></el-input> </el-form-item> <el-form-item label="备注:"> - <el-input - v-model="formDuctPiece.exeProNote" + <el-input + v-model="formDuctPiece.exeProNote" type="textarea" - clearable + clearable placeholder="请输入备注" maxlength="200" - show-word-limit></el-input> + show-word-limit + ></el-input> </el-form-item> </el-form> <div slot="footer"> @@ -212,47 +303,49 @@ class="prop_dialog" title="质量追溯" :visible.sync="asyncRetrospect" - width="70%"> + width="70%" + > <div class="retrospect_content"> - <div class="retrospect_content_title"> - 钢筋笼信息 - </div> + <div class="retrospect_content_title">钢筋笼信息</div> <div class="retrospect_content_table"> - <div - class="table_item" - :style="{width: `calc(100% / ${asyncCageInfo.length})`}" + <div + class="table_item" + :style="{ width: `calc(100% / ${asyncCageInfo.length})` }" v-for="item in asyncCageInfo" - :key="item.id"> - <div class="table_item_chunk table_th">{{item.label}}</div> - <div class="table_item_chunk table_td">{{ - item.value === 'steelCheckResult' ? showCheckResult(retrospectInfo[item.value]) : retrospectInfo[item.value]}} + :key="item.id" + > + <div class="table_item_chunk table_th">{{ item.label }}</div> + <div class="table_item_chunk table_td"> + {{ + item.value === "steelCheckResult" + ? showCheckResult(retrospectInfo[item.value]) + : retrospectInfo[item.value] + }} </div> </div> </div> - <div class="retrospect_content_title"> - 模具信息 - </div> + <div class="retrospect_content_title">模具信息</div> <div class="retrospect_content_table"> - <div - class="table_item" - :style="{width: `calc(100% / ${asyncMouldInfo.length})`}" + <div + class="table_item" + :style="{ width: `calc(100% / ${asyncMouldInfo.length})` }" v-for="item in asyncMouldInfo" - :key="item.id"> - <div class="table_item_chunk table_th">{{item.label}}</div> - <div class="table_item_chunk table_td">{{retrospectInfo[item.value]}}</div> + :key="item.id" + > + <div class="table_item_chunk table_th">{{ item.label }}</div> + <div class="table_item_chunk table_td">{{ retrospectInfo[item.value] }}</div> </div> </div> - <div class="retrospect_content_title"> - 管片信息 - </div> + <div class="retrospect_content_title">管片信息</div> <div class="retrospect_content_table"> - <div - class="table_item" - :style="{width: `calc(100% / ${asyncDuctpieceInfo.length})`}" + <div + class="table_item" + :style="{ width: `calc(100% / ${asyncDuctpieceInfo.length})` }" v-for="item in asyncDuctpieceInfo" - :key="item.id"> - <div class="table_item_chunk table_th">{{item.label}}</div> - <div class="table_item_chunk table_td">{{retrospectInfo[item.value]}}</div> + :key="item.id" + > + <div class="table_item_chunk table_th">{{ item.label }}</div> + <div class="table_item_chunk table_td">{{ retrospectInfo[item.value] }}</div> </div> </div> </div> @@ -261,329 +354,612 @@ class="prop_dialog" :title="asyncTitle ? '新增管片' : '修改环号'" :visible.sync="asyncInsert" - width="35%"> - <el-form ref="formInsert" :model="formInsert" :rules="rulesInsert" label-width="auto" class="rule_form"> - <el-form-item label="项目名称:" prop="proId" v-if="asyncTtile"> - <el-select v-model="formInsert.proId" clearable placeholder="请选择项目信息" @change="getAllSteelPipeData"> + width="35%" + > + <el-form + ref="formInsert" + :model="formInsert" + :rules="rulesInsert" + label-width="auto" + class="rule_form" + > + <el-form-item label="项目名称:" prop="proId" v-if="asyncTitle"> + <el-select + v-model="formInsert.proId" + clearable + placeholder="请选择项目信息" + @change="getAllSteelPipeData" + > <el-option v-for="item in projectData" :key="item.proId" :label="item.proName" - :value="item.proId"> + :value="item.proId" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="配筋:" prop="reinforcementId" v-if="asyncTitle"> + <el-select + v-model="formInsert.reinforcementId" + clearable + placeholder="请选择配筋" + > + <el-option + v-for="item in steelData" + :key="item.hasSteel" + :label="item.dictName" + :value="item.hasSteel" + > </el-option> </el-select> </el-form-item> <el-form-item label="环号:" prop="ringNum"> - <el-input v-model="formInsert.ringNum" clearable placeholder="请输入环号"></el-input> + <el-input + v-model="formInsert.ringNum" + clearable + placeholder="请输入环号" + ></el-input> </el-form-item> </el-form> <div slot="footer"> <el-button @click="asyncInsert = false">取 消</el-button> - <el-button class="submit_btn" @click="asyncTitle ? submitInsertPipe() : submitUpdatePipe()">提 交</el-button> + <el-button + class="submit_btn" + @click="asyncTitle ? submitInsertPipe() : submitUpdatePipe()" + >提 交</el-button + > + </div> + </el-dialog> + + <el-dialog + class="prop_dialog" + title="修改时间" + :visible.sync="asyncTime" + width="35%"> + <el-form + ref="formTime" + :model="formTime" + :rules="rulesTime" + label-width="auto" + class="rule_form"> + <el-form-item label="入模时间:" prop="inModTime"> + <el-date-picker + v-model="formTime.inModTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择入模时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="浇筑时间:" prop="pouringTime"> + <el-date-picker + v-model="formTime.pouringTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择浇筑时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="入窑时间:" prop="placingInTime"> + <el-date-picker + v-model="formTime.placingInTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择入窑时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="出窑时间:" prop="placingOutTime"> + <el-date-picker + v-model="formTime.placingOutTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择出窑时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="出模时间:" prop="outModTime"> + <el-date-picker + v-model="formTime.outModTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择入窑时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="质检时间:" prop="checkTime"> + <el-date-picker + v-model="formTime.checkTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择质检时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="入水养时间:" prop="inWaterTime" v-if="formTime.inWaterTime"> + <el-date-picker + v-model="formTime.inWaterTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择入水养时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="出水养时间:" prop="outWaterTime" v-if="formTime.outWaterTime"> + <el-date-picker + v-model="formTime.outWaterTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择出水养时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="入库时间:" prop="inRepoTime" v-if="formTime.inRepoTime"> + <el-date-picker + v-model="formTime.inRepoTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择入库时间" + > + </el-date-picker> + </el-form-item> + <!-- <el-form-item label="出库时间:" prop="intoModTime"> + <el-date-picker + v-model="formTime.intoModTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择出库时间" + > + </el-date-picker> + </el-form-item> --> + </el-form> + <div slot="footer"> + <el-button @click="asyncTime = false">取 消</el-button> + <el-button + class="submit_btn" + @click="submitUpdateTime()" + >提 交 + </el-button> </div> </el-dialog> </div> </template> <script> -import { cageInfo, mouldInfo, ductpiedceInfo } from '../file/retrospect'; +import { cageInfo, mouldInfo, ductpiedceInfo } from "../file/retrospect"; +import { downLoadFile, throttle } from "../../../plugins/public"; import { buttonPinia } from '../../../pinia'; -import { downLoadFile, throttle } from '../../../plugins/public'; - export default { - data() { - return { - projectId: '', - projectData: [], - ringNum: '', // 环号 - groupId: '', // 班组 - groupData: [], // 班组信息 - checkResult: '', // 质量标注 - reinforcement: '', // 配筋 - reinforcementData: [], // 配筋信息 - groutingHoles: '', // 注浆孔 - groutingHolesData: [], // 注浆孔信息 - blockNum: '', // 块号 - blockNumData: [], // 块号信息 - inModTime: '', // 入模时间 - pouringTime: '', // 浇筑时间 - checkTime: '', // 质检时间 - pageNum: 1, - pageSize: 10, - total: 0, - loading: false, - ductpieceList: [], - asyncDuctPiece: false, // 存在问题弹窗 - formDuctPiece: {}, // 表单信息 - rulesDuctPiece: {}, // 表单校验规则 - issueType: '', - asyncRetrospect: false, // 质量追溯弹窗 - asyncCageInfo: cageInfo, // 钢筋笼信息 - asyncMouldInfo: mouldInfo, // 模具信息 - asyncDuctpieceInfo: ductpiedceInfo, // 管片信息 - retrospectInfo: {},// 质量追溯信息 - pipeId: '', - checkResultStr: '', - asyncTitle: true, - asyncInsert: false, - formInsert: {}, - rulesInsert: { - proId: [{ +export default { + data() { + // const validatePass = (rule, value, callback) => { + // if(value === '') { + // callback(new Error('请再次输入密码')); + // } else if(value < ) { + + // } else { + // callback(); + // } + // } + return { + projectId: "", + projectData: [], + ringNum: "", // 环号 + groupId: "", // 班组 + groupData: [], // 班组信息 + checkResult: "", // 质量标注 + reinforcement: "", // 配筋 + reinforcementData: [], // 配筋信息 + groutingHoles: "", // 注浆孔 + groutingHolesData: [], // 注浆孔信息 + blockNum: "", // 块号 + blockNumData: [], // 块号信息 + inModTime: "", // 入模时间 + pouringTime: "", // 浇筑时间 + checkTime: "", // 质检时间 + pageNum: 1, + pageSize: 10, + total: 0, + loading: false, + ductpieceList: [], + asyncDuctPiece: false, // 存在问题弹窗 + formDuctPiece: {}, // 表单信息 + rulesDuctPiece: {}, // 表单校验规则 + issueType: "", + asyncRetrospect: false, // 质量追溯弹窗 + asyncCageInfo: cageInfo, // 钢筋笼信息 + asyncMouldInfo: mouldInfo, // 模具信息 + asyncDuctpieceInfo: ductpiedceInfo, // 管片信息 + retrospectInfo: {}, // 质量追溯信息 + fileList: [], + pipeId: "", + checkResultStr: "", + asyncTitle: true, + asyncInsert: false, + formInsert: {}, + rulesInsert: { + proId: [ + { required: true, - message: '请选择项目名称', - trigger: 'blur' - }], - ringNum: [{ + message: "请选择项目名称", + trigger: ["blur", "change"], + }, + ], + reinforcementId: [ + { required: true, - message: '请输入环号', - trigger: 'blur' - }], - }, - proData: [], - steelData: [], - mouldData: [], + message: "请选择配筋", + trigger: ["blur", "change"], + }, + ], + ringNum: [ + { + required: true, + message: "请输入环号", + trigger: "blur", + }, + ] + }, + proData: [], + steelData: [], + mouldData: [], + changeTime: false, + asyncTime: false, + formTime: {}, + rulesTime: { + inModTime: [{ + required: true, + message: "请选择入模时间", + trigger: ["blur", "change"], + }], + outModTime: [{ + required: true, + message: "请选择出模时间", + trigger: ["blur", "change"], + }], + pouringTime: [{ + required: true, + message: "请选择浇筑时间", + trigger: ["blur", "change"], + }], + placingInTime: [{ + required: true, + message: "请选择入窑时间", + trigger: ["blur", "change"], + }], + placingOutTime: [{ + required: true, + message: "请选择出窑时间", + trigger: ["blur", "change"], + }], + checkTime: [{ + required: true, + message: "请选择质检时间", + trigger: ["blur", "change"], + }], + inWaterTime: [{ + required: true, + message: "请选择入池时间", + trigger: ["blur", "change"], + }], + outWaterTime: [{ + required: true, + message: "请选择出池时间", + trigger: ["blur", "change"], + }], + inRepoTime: [{ + required: true, + message: "请选择入库时间", + trigger: ["blur", "change"], + }] + } + }; + }, + mounted() { + this.getAllProjects(); + this.getAllGroupData(); + this.searchDuctpiecePLMList(true); + }, + methods: { + // 根据项目获取钢筋笼 模具信息 + async getAllSteelPipeData(proId) { + if (proId) { + this.steelData = []; + const { data } = await this.$api.Basics.getProjectSystemInfoData({ + proId: proId, + }); + this.steelData = data.proHas; + } else { + this.$set(this.formInsert, "reinforcementId", ""); + this.steelData = []; } }, - mounted() { - this.getAllProjects(); - this.getAllGroupData(); - this.searchDuctpiecePLMList(true); + // 获取全部班组 + async getAllGroupData() { + const { data } = await this.$api.DuctpiecePLM.getAllGroupData(); + this.groupData = data; }, - methods: { - // 根据项目获取钢筋笼 模具信息 - async getAllSteelPipeData(proId) { - this.steelData = []; - this.mouldData = []; - const { data } = await this.$api.DuctpiecePLM.getAllSteelPipeData({ - proId: proId - }); - this.steelData = data.steel; - this.mouldData = data.mod; - }, - // 获取全部班组 - async getAllGroupData() { - const { data } = await this.$api.DuctpiecePLM.getAllGroupData(); - this.groupData = data; - }, - // 获取全部项目 - async getAllProjects() { - const { data } = await this.$api.Engineer.getAllProjects(); - this.projectData = data; - }, - // 查询管片信息 - searchDuctpiecePLMList(bol) { - if(bol) { - this.pageNum = 1; - } - this.loading = true; - this.ductpieceList = []; - this.$api.DuctpiecePLM.searchDuctpiecePLMList({ - pageNum: this.pageNum, - pageSize: this.pageSize, - proId: this.projectId, - ringNum: this.ringNum, - groupId: this.groupId, - checkResult: this.checkResult, - reinforcement: this.reinforcement, - groutingHoles: this.groutingHoles, - blockNum: this.blockNum, - inModStartTime: this.inModTime ? this.inModTime[0] + ' 00:00:00' : '', - inModEndTime: this.inModTime ? this.inModTime[1] + ' 23:59:59' : '', - pouringStartTime: this.pouringTime ? this.pouringTime[0] + ' 00:00:00' : '', - pouringEndTime: this.pouringTime ? this.pouringTime[1] + ' 23:59:59' : '', - checkStartTime: this.checkTime ? this.checkTime[0] + ' 00:00:00' : '', - checkEndTime: this.checkTime ? this.checkTime[1] + ' 23:59:59' : '' - }).then((res) => { - if(res.success) { + // 获取全部项目 + async getAllProjects() { + const { data } = await this.$api.Engineer.getAllProjects(); + this.projectData = data; + }, + // 查询管片信息 + searchDuctpiecePLMList(bol) { + if (bol) { + this.pageNum = 1; + } + this.loading = true; + this.ductpieceList = []; + this.$api.DuctpiecePLM.searchDuctpiecePLMList({ + pageNum: this.pageNum, + pageSize: this.pageSize, + proId: this.projectId, + ringNum: this.ringNum, + groupId: this.groupId, + checkResult: this.checkResult, + reinforcement: this.reinforcement, + groutingHoles: this.groutingHoles, + blockNum: this.blockNum, + inModStartTime: this.inModTime ? this.inModTime[0] + " 00:00:00" : "", + inModEndTime: this.inModTime ? this.inModTime[1] + " 23:59:59" : "", + pouringStartTime: this.pouringTime ? this.pouringTime[0] + " 00:00:00" : "", + pouringEndTime: this.pouringTime ? this.pouringTime[1] + " 23:59:59" : "", + checkStartTime: this.checkTime ? this.checkTime[0] + " 00:00:00" : "", + checkEndTime: this.checkTime ? this.checkTime[1] + " 23:59:59" : "", + }) + .then((res) => { + if (res.success) { this.total = res.data.total; this.ductpieceList = res.data.list; } this.loading = false; - }).catch(() => { + }) + .catch(() => { this.loading = false; - }) - }, - // 打开新增管片信息 - propInsert() { - this.asyncTitle = true; - this.asyncInsert = true; - this.getAllProjects(); - }, - // 打开修改环号信息 - propUpdate(row) { - this.asyncTitle = false; - this.asyncInsert = true; - this.$set(this.formInsert, 'pipeNum', row.pipeNum); - this.$set(this.formInsert, 'ringNum', row.ringNum); - }, - // 导出Excel - exportExcel() { - this.$api.System.GETEXPORTTOKENDATA({ - ringNum: this.ringNum, - groupId: this.groupId, - checkResult: this.checkResult, - reinforcement: this.reinforcement, - groutingHoles: this.groutingHoles, - blockNum: this.blockNum, - inModStartTime: this.inModTime[0], - inModEndTime: this.inModTime[1], - pouringStartTime: this.pouringTime[0], - pouringEndTime: this.pouringTime[1], - checkStartTime: this.checkTime[0], - checkEndTime: this.checkTime[1] - }).then((res) => { - if(res.success) { - downLoadFile(res.data, '/m/pipeInfo/export'); - } - }) - }, - // 打开存在问题 - propIssue(row) { - this.pipeId = row.pipeId - this.checkResultStr = row.checkResultStr; - this.issueType = row.type; - this.asyncDuctPiece = true; - this.$api.DuctpiecePLM.getProblemInfo({ - pipeId: row.pipeId - }).then((res) => { - if(res.success) { - this.$set(this.formDuctPiece, 'pipeCheckId', res.data.pipeCheckId); - this.$set(this.formDuctPiece, 'existProblem', res.data.existProblem); - this.$set(this.formDuctPiece, 'exeProResult', res.data.exeProResult); - this.$set(this.formDuctPiece, 'exeProNote', res.data.exeProNote); - this.fileList = res.data.files.map((item, index) => { - return { - id: index + 1, - url: `https://szpipe.thhy-tj.com/${item}` - } - }) - } - }) - }, - // 打开质量追溯 - propCheckHistory(row) { - this.asyncRetrospect = true; - this.retrospectInfo = {}; - this.$api.DuctpiecePLM.getCheckHistoryInfo({ - pipeId: row.pipeId - }).then((res) => { - if(res.success) { - this.retrospectInfo = res.data; - } - }) - }, - // 提交存在问题 - submitInsertForm: throttle(function() { - const params = Object.assign({}, this.formDuctPiece); - params.checkResultStr = this.checkResultStr; - params.pipeId = this.pipeId; - this.$api.DuctpiecePLM.insertIssueInfo(params).then((res) => { - if(res.success) { - this.asyncDuctPiece = false; - this.searchDuctpiecePLMList(true); - this.$message.success('添加成功!'); - } else { - this.$message.warning(res.statusMsg); - } - }) - }, 3000), - // 提交新增管片信息 - submitInsertPipe: throttle(function() { - this.$refs.formInsert.validate((valid) => { - if(valid) { - const params = Object.assign({}, this.formInsert); - this.$api.DuctpiecePLM.insertPipeData(params).then((res) => { - if(res.statusMsg === 'ok') { - this.asyncInsert = false; - this.searchDuctpiecePLMList(true); - this.$message.success('新增成功!'); - } else { - this.$message.warning(res.statusMsg); - } - }) - } - }) - }, 3000), - // 提交修改环号信息 - submitUpdatePipe: throttle(function() { - this.$refs.formInsert.validate((valid) => { - if(valid) { - const params = Object.assign({}, this.formInsert); - this.$api.DuctpiecePLM.updataRingNumData(params).then((res) => { - if(res.statusMsg === 'ok') { - this.asyncInsert = false; - this.searchDuctpiecePLMList(true); - this.$message.success('修改成功!'); - } else { - this.$message.warning(res.statusMsg); - } - }) - } - }) - }, 3000), - // - showCheckResult(value) { - return !value ? '' : value == 1 ? '合格' : '存在问题'; - }, - // 根据项目获取尺寸 配筋 块号信息 - changeHeaderProject(data) { - this.blockNum = ''; - this.reinforcement = ''; - this.groutingHoles = ''; - this.groutingHolesData = []; - this.blockNumData = []; - this.reinforcementData = []; - if(data) { - this.$api.Basics.getProjectSystemInfoData({ - proId: data - }).then((res) => { - this.groutingHolesData = res.data.proGroutings; - this.blockNumData = res.data.proBloks; - this.reinforcementData = res.data.proHas; - }) - } - }, - // 切换页数 - changePageNum(page) { - this.pageNum = page; - this.searchDuctpiecePLMList(); - }, - // 切换每页条数 - changePageSize(size) { - this.pageSize = size; - this.searchDuctpiecePLMList(); - }, - // 判断按钮权限信息 - showButton(str) { - const pinia = buttonPinia(); - return pinia.$state.buttonInfo.includes(str); - }, + }); }, - watch: { - asyncDuctpieceInfo(bol) { - if(!bol) { - this.formDuctPiece = {}; - this.pipeId = ''; - this.checkResultStr = ''; - this.fileList = []; + // 打开新增管片信息 + propInsert() { + this.asyncTitle = true; + this.asyncInsert = true; + this.getAllProjects(); + }, + // 打开修改环号信息 + propUpdate(row) { + this.asyncTitle = false; + this.asyncInsert = true; + this.$set(this.formInsert, "pipeNum", row.pipeNum); + this.$set(this.formInsert, "ringNum", row.ringNum); + }, + // 打开修改时间 + propUpdateTime(row) { + this.asyncTime = true; + this.$set(this.formTime, "pipeNum", row.pipeNum); + this.$set(this.formTime, "ringNum", row.ringNum); + this.$api.DuctpiecePLM.getPipeTimeData({ + pipeNum: row.pipeNum + }).then(res => { + if(res.success) { + this.$set(this.formTime, 'inModTime', res.data.inModTime); + this.$set(this.formTime, 'outModTime', res.data.outModTime); + this.$set(this.formTime, 'pouringTime', res.data.pouringTime); + this.$set(this.formTime, 'placingInTime', res.data.placingInTime); + this.$set(this.formTime, 'placingOutTime', res.data.placingOutTime); + this.$set(this.formTime, 'checkTime', res.data.checkTime); + if(res.data.inWaterFlag) { + this.$set(this.formTime, 'inWaterTime', res.data.inWaterTime); + } + if(res.data.OutWaterFlag) { + this.$set(this.formTime, 'outWaterTime', res.data.outWaterTime); + } + if(res.data.inRepoFlag) { + this.$set(this.formTime, 'inRepoTime', res.data.inRepoTime); + } + // this.$set(this.formInsert, '', res.data.); + } else { + this.$message.warning(res.statusMsg); } - }, - asyncInsert(bol) { - if(!bol) { - this.steelData = []; - this.mouldData = []; - this.formInsert = {}; - this.$refs.formInsert.resetFields(); + }) + }, + // 导出Excel + exportExcel() { + this.$api.System.GETEXPORTTOKENDATA({ + ringNum: this.ringNum, + groupId: this.groupId, + checkResult: this.checkResult, + reinforcement: this.reinforcement, + groutingHoles: this.groutingHoles, + blockNum: this.blockNum, + inModStartTime: this.inModTime[0], + inModEndTime: this.inModTime[1], + pouringStartTime: this.pouringTime[0], + pouringEndTime: this.pouringTime[1], + checkStartTime: this.checkTime[0], + checkEndTime: this.checkTime[1], + }).then((res) => { + if (res.success) { + downLoadFile(res.data, "/m/pipeInfo/export"); } + }); + }, + // 打开存在问题 + propIssue(row) { + this.pipeId = row.pipeId; + this.checkResultStr = row.checkResultStr; + this.issueType = row.type; + this.asyncDuctPiece = true; + this.$api.DuctpiecePLM.getProblemInfo({ + pipeId: row.pipeId, + }).then((res) => { + if (res.success) { + this.$set(this.formDuctPiece, "pipeCheckId", res.data.pipeCheckId); + this.$set(this.formDuctPiece, "existProblem", res.data.existProblem); + this.$set(this.formDuctPiece, "exeProResult", res.data.exeProResult); + this.$set(this.formDuctPiece, "exeProNote", res.data.exeProNote); + this.fileList = res.data.files.map((item, index) => { + return { + id: index + 1, + url: `https://pipe.thhy-tj.com/${item}`, + }; + }); + } + }); + }, + // 打开质量追溯 + propCheckHistory(row) { + this.asyncRetrospect = true; + this.retrospectInfo = {}; + this.$api.DuctpiecePLM.getCheckHistoryInfo({ + pipeId: row.pipeId, + }).then((res) => { + if (res.success) { + this.retrospectInfo = res.data; + } + }); + }, + // 提交存在问题 + submitInsertForm: throttle(function () { + const params = Object.assign({}, this.formDuctPiece); + params.checkResultStr = this.checkResultStr; + params.pipeId = this.pipeId; + this.$api.DuctpiecePLM.insertIssueInfo(params).then((res) => { + if (res.success) { + this.asyncDuctPiece = false; + this.searchDuctpiecePLMList(true); + this.$message.success("添加成功!"); + } else { + this.$message.warning(res.statusMsg); + } + }); + }, 3000), + // 提交新增管片信息 + submitInsertPipe: throttle(function () { + this.$refs.formInsert.validate((valid) => { + if (valid) { + const params = Object.assign({}, this.formInsert); + this.$api.DuctpiecePLM.insertPipeData(params).then((res) => { + if (res.statusMsg === "ok") { + this.asyncInsert = false; + this.searchDuctpiecePLMList(true); + this.$message.success("新增成功!"); + } else { + this.$message.warning(res.statusMsg); + } + }); + } + }); + }, 3000), + // 提交修改环号信息 + submitUpdatePipe: throttle(function () { + this.$refs.formInsert.validate((valid) => { + if (valid) { + const params = Object.assign({}, this.formInsert); + this.$api.DuctpiecePLM.updataRingNumData(params).then((res) => { + if (res.statusMsg === "ok") { + this.asyncInsert = false; + this.searchDuctpiecePLMList(true); + this.$message.success("修改成功!"); + } else { + this.$message.warning(res.statusMsg); + } + }); + } + }); + }, 3000), + // 提交修改时间信息 + submitUpdateTime: throttle(function() { + this.$refs.formTime.validate((valid) => { + if(valid) { + const params = Object.assign({}, this.formTime); + this.$api.DuctpiecePLM.updatePipeTimeData(params).then((res) => { + if (res.statusMsg === "ok") { + this.asyncTime = false; + this.searchDuctpiecePLMList(true); + this.$message.success("修改成功!"); + } else { + this.$message.warning(res.statusMsg); + } + }); + } + }) + }, 3000), + // + showCheckResult(value) { + return !value ? "" : value == 1 ? "合格" : "存在问题"; + }, + // 根据项目获取尺寸 配筋 块号信息 + changeHeaderProject(data) { + this.blockNum = ""; + this.reinforcement = ""; + this.groutingHoles = ""; + this.groutingHolesData = []; + this.blockNumData = []; + this.reinforcementData = []; + if (data) { + this.$api.Basics.getProjectSystemInfoData({ + proId: data, + }).then((res) => { + this.groutingHolesData = res.data.proGroutings; + this.blockNumData = res.data.proBloks; + this.reinforcementData = res.data.proHas; + }); + } + }, + // 转换毫秒 + transitionMsec(time) { + let msec = 0; + const date = Date.parse(new Date(time)); + console.log(date,'==-=-=-') + return msec; + }, + // 切换页数 + changePageNum(page) { + this.pageNum = page; + this.searchDuctpiecePLMList(); + }, + // 切换每页条数 + changePageSize(size) { + this.pageSize = size; + this.searchDuctpiecePLMList(); + }, + // 判断按钮权限信息 + showButton(str) { + const pinia = buttonPinia(); + return pinia.$state.buttonInfo.includes(str); + }, + }, + watch: { + asyncDuctpieceInfo(bol) { + if (!bol) { + this.formDuctPiece = {}; + this.pipeId = ""; + this.checkResultStr = ""; + this.fileList = []; + } + }, + asyncInsert(bol) { + if (!bol) { + this.steelData = []; + this.formInsert = {}; + this.$refs.formInsert.resetFields(); + } + }, + asyncTime(bol) { + if(!bol) { + this.formTime = {}; + this.$refs.formTime.resetFields(); } } - } + }, +}; </script> <style lang="scss" scoped> -@import '../../../style/layout-main.scss'; +@import "../../../style/layout-main.scss"; .issue_status { - color: #F42829; + color: #f42829; } .retrospect_content { @@ -594,7 +970,7 @@ padding: 0 15px 15px; font-size: 16px; font-weight: 600; - color: #FFF; + color: #fff; border-bottom: 1px solid #0d5274; &::before { @@ -605,7 +981,7 @@ transform: translateY(-85%); width: 3px; height: 50%; - background: #18F6F8; + background: #18f6f8; } } @@ -614,22 +990,22 @@ margin: 10px 10px 10px 0; .table_item { - border: 1px solid #1CB7E0; + border: 1px solid #1cb7e0; border-right: none; &:last-child { - border-right: 1px solid #1CB7E0; + border-right: 1px solid #1cb7e0; } .table_item_chunk { padding: 10px; - color: #18F6F8; + color: #18f6f8; text-align: center; } .table_th { - border-bottom: 1px solid #1CB7E0; - background: #082F57; + border-bottom: 1px solid #1cb7e0; + background: #082f57; } } } @@ -649,4 +1025,4 @@ ::v-deep .el-date-editor .el-range-separator { color: #fff !important; } -</style> \ No newline at end of file +</style> diff --git a/web/src/views/DuctpiecePLM/DuctpieceIndex.vue b/web/src/views/DuctpiecePLM/DuctpieceIndex.vue index 643f061..ca0b0ed 100644 --- a/web/src/views/DuctpiecePLM/DuctpieceIndex.vue +++ b/web/src/views/DuctpiecePLM/DuctpieceIndex.vue @@ -3,12 +3,18 @@ <div class="main_header"> <div class="header_item"> <span class="header_label">项目名称:</span> - <el-select v-model="projectId" clearable placeholder="请选择项目" @change="changeHeaderProject"> + <el-select + v-model="projectId" + clearable + placeholder="请选择项目" + @change="changeHeaderProject" + > <el-option v-for="item in projectData" :key="item.proId" :label="item.proName" - :value="item.proId"> + :value="item.proId" + > </el-option> </el-select> </div> @@ -23,7 +29,8 @@ v-for="item in groupData" :key="item.groupId" :label="item.groupName" - :value="item.groupId"> + :value="item.groupId" + > </el-option> </el-select> </div> @@ -42,7 +49,8 @@ v-for="item in reinforcementData" :key="item.hasSteel" :label="item.dictName" - :value="item.hasSteel"> + :value="item.hasSteel" + > </el-option> </el-select> </div> @@ -53,9 +61,10 @@ v-for="item in groutingHolesData" :key="item.groutingHoles" :label="item.dictName" - :value="item.groutingHoles"> + :value="item.groutingHoles" + > </el-option> - </el-select> + </el-select> </div> <div class="header_item"> <span class="header_label">块号:</span> @@ -64,7 +73,8 @@ v-for="item in blockNumData" :key="item.blockNum" :label="item.dictName" - :value="item.blockNum"> + :value="item.blockNum" + > </el-option> </el-select> </div> @@ -76,7 +86,8 @@ range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" - value-format="yyyy-MM-dd"> + value-format="yyyy-MM-dd" + > </el-date-picker> </div> <!-- <div class="header_item"> @@ -98,51 +109,119 @@ range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" - value-format="yyyy-MM-dd"> + value-format="yyyy-MM-dd" + > </el-date-picker> </div> <div class="header_item"> - <el-button v-if="showButton('search')" icon="el-icon-search" @click="searchDuctpiecePLMList(true)">查询</el-button> - <el-button v-if="showButton('insert')" icon="el-icon-download" @click="propInsert()">新增管片</el-button> - <el-button v-if="showButton('insert')" icon="el-icon-download" @click="exportExcel()">导出Excel</el-button> + <el-button + v-if="showButton('search')" + icon="el-icon-search" + @click="searchDuctpiecePLMList(true)" + >查询</el-button + > + <el-button + v-if="showButton('insert')" + icon="el-icon-download" + @click="propInsert()" + >新增管片</el-button + > + <el-button + v-if="showButton('export')" + icon="el-icon-download" + @click="exportExcel()" + >导出Excel</el-button + > </div> </div> <div class="main_content"> - <el-table - v-loading="loading" - :data="ductpieceList" - height="100%"> + <el-table v-loading="loading" :data="ductpieceList" height="100%"> <el-table-column label="序号" width="60" align="center"> <template #default="scope"> - <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span> + <span>{{ (pageNum - 1) * pageSize + scope.$index + 1 }}</span> </template> </el-table-column> <el-table-column prop="ringNum" label="环号" align="center"></el-table-column> <el-table-column prop="proName" label="项目名称" align="center"></el-table-column> <el-table-column prop="pipeNum" label="管片编号" align="center"></el-table-column> <el-table-column prop="turnName" label="转向" align="center"></el-table-column> - <el-table-column prop="reinforcementName" label="配筋" align="center"></el-table-column> - <el-table-column prop="groutingHolesName" label="注浆孔" align="center"></el-table-column> - <el-table-column prop="blockNumName" label="块号" align="center"></el-table-column> + <el-table-column + prop="reinforcementName" + label="配筋" + align="center" + ></el-table-column> + <el-table-column + prop="groutingHolesName" + label="注浆孔" + align="center" + ></el-table-column> + <el-table-column + prop="blockNumName" + label="块号" + align="center" + ></el-table-column> <el-table-column prop="mouldNum" label="模具" align="center"></el-table-column> - <el-table-column prop="intoModTime" label="入模时间" align="center"></el-table-column> + <el-table-column + prop="intoModTime" + label="入模时间" + align="center" + ></el-table-column> <!-- <el-table-column prop="pouringTime" label="浇筑时间" align="center"></el-table-column> --> - <el-table-column prop="checkTime" label="质检时间" align="center"></el-table-column> - <el-table-column prop="groupName" label="生产班组" align="center"></el-table-column> + <el-table-column + prop="checkTime" + label="质检时间" + align="center" + ></el-table-column> + <el-table-column + prop="groupName" + label="生产班组" + align="center" + ></el-table-column> <el-table-column label="质量标注" align="center"> <template #default="{ row }"> <div> - {{ row.checkResult == 0 ? '未质检' : row.checkResult == 1 ? '合格' : row.checkResult == 2 ? '不合格' : row.checkResult == 3 ? '报废' : ''}} + {{ + row.checkResult == 0 + ? "未质检" + : row.checkResult == 1 + ? "合格" + : row.checkResult == 2 + ? "不合格" + : row.checkResult == 3 + ? "报废" + : "" + }} </div> </template> </el-table-column> <el-table-column label="操作" align="center" width="300"> <template #default="{ row }"> - <template v-if="showButton('update') && row.checkResult !== 1"> - <el-button class="table_btn" size="mini" @click="propIssue(row)">存在问题</el-button> + <template v-if="showButton('update') && [2, 3].includes(row.checkResult)"> + <el-button class="table_btn" size="mini" @click="propIssue(row)" + >存在问题</el-button + > </template> - <el-button class="table_btn" size="mini" v-if="showButton('update') && row.checkResult == 0" @click="propUpdate(row)">修改环号</el-button> - <el-button class="table_btn" size="mini" v-if="showButton('delete')" @click="propCheckHistory(row)">质量追溯</el-button> + <el-button + class="table_btn" + size="mini" + v-if="showButton('update')" + @click="propUpdate(row)" + >修改环号</el-button + > + <el-button + class="table_btn" + size="mini" + v-if="showButton('update')" + @click="propUpdateTime(row)" + >修改时间</el-button + > + <el-button + class="table_btn" + size="mini" + v-if="showButton('delete')" + @click="propCheckHistory(row)" + >质量追溯</el-button + > </template> </el-table-column> </el-table> @@ -156,24 +235,33 @@ :page-sizes="[10, 20, 50, 100]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" - :total="total"> + :total="total" + > </el-pagination> </div> <el-dialog class="prop_dialog" title="存在问题" :visible.sync="asyncDuctPiece" - width="35%"> - <el-form ref="form" :model="formDuctPiece" :rules="rulesDuctPiece" label-width="auto" class="rule_form"> + width="35%" + > + <el-form + ref="form" + :model="formDuctPiece" + :rules="rulesDuctPiece" + label-width="auto" + class="rule_form" + > <el-form-item label="质检结果:"> - <span class="issue_status">{{checkResultStr}}</span> + <span class="issue_status">{{ checkResultStr }}</span> </el-form-item> <el-form-item label="存在问题:"> - <el-input - v-model="formDuctPiece.existProblem" + <el-input + v-model="formDuctPiece.existProblem" type="textarea" disabled - placeholder="请输入存在问题"></el-input> + placeholder="请输入存在问题" + ></el-input> </el-form-item> <el-form-item label="问题图片:"> <div class="problem_content"> @@ -181,25 +269,28 @@ v-for="item in fileList" :key="item.id" class="problem_image" - :src="item.url"> + :src="item.url" + > </el-image> </div> </el-form-item> <el-form-item label="问题处理结果:"> - <el-input - v-model="formDuctPiece.exeProResult" + <el-input + v-model="formDuctPiece.exeProResult" type="textarea" - clearable - placeholder="请输入问题处理结果"></el-input> + clearable + placeholder="请输入问题处理结果" + ></el-input> </el-form-item> <el-form-item label="备注:"> - <el-input - v-model="formDuctPiece.exeProNote" + <el-input + v-model="formDuctPiece.exeProNote" type="textarea" - clearable + clearable placeholder="请输入备注" maxlength="200" - show-word-limit></el-input> + show-word-limit + ></el-input> </el-form-item> </el-form> <div slot="footer"> @@ -212,47 +303,49 @@ class="prop_dialog" title="质量追溯" :visible.sync="asyncRetrospect" - width="70%"> + width="70%" + > <div class="retrospect_content"> - <div class="retrospect_content_title"> - 钢筋笼信息 - </div> + <div class="retrospect_content_title">钢筋笼信息</div> <div class="retrospect_content_table"> - <div - class="table_item" - :style="{width: `calc(100% / ${asyncCageInfo.length})`}" + <div + class="table_item" + :style="{ width: `calc(100% / ${asyncCageInfo.length})` }" v-for="item in asyncCageInfo" - :key="item.id"> - <div class="table_item_chunk table_th">{{item.label}}</div> - <div class="table_item_chunk table_td">{{ - item.value === 'steelCheckResult' ? showCheckResult(retrospectInfo[item.value]) : retrospectInfo[item.value]}} + :key="item.id" + > + <div class="table_item_chunk table_th">{{ item.label }}</div> + <div class="table_item_chunk table_td"> + {{ + item.value === "steelCheckResult" + ? showCheckResult(retrospectInfo[item.value]) + : retrospectInfo[item.value] + }} </div> </div> </div> - <div class="retrospect_content_title"> - 模具信息 - </div> + <div class="retrospect_content_title">模具信息</div> <div class="retrospect_content_table"> - <div - class="table_item" - :style="{width: `calc(100% / ${asyncMouldInfo.length})`}" + <div + class="table_item" + :style="{ width: `calc(100% / ${asyncMouldInfo.length})` }" v-for="item in asyncMouldInfo" - :key="item.id"> - <div class="table_item_chunk table_th">{{item.label}}</div> - <div class="table_item_chunk table_td">{{retrospectInfo[item.value]}}</div> + :key="item.id" + > + <div class="table_item_chunk table_th">{{ item.label }}</div> + <div class="table_item_chunk table_td">{{ retrospectInfo[item.value] }}</div> </div> </div> - <div class="retrospect_content_title"> - 管片信息 - </div> + <div class="retrospect_content_title">管片信息</div> <div class="retrospect_content_table"> - <div - class="table_item" - :style="{width: `calc(100% / ${asyncDuctpieceInfo.length})`}" + <div + class="table_item" + :style="{ width: `calc(100% / ${asyncDuctpieceInfo.length})` }" v-for="item in asyncDuctpieceInfo" - :key="item.id"> - <div class="table_item_chunk table_th">{{item.label}}</div> - <div class="table_item_chunk table_td">{{retrospectInfo[item.value]}}</div> + :key="item.id" + > + <div class="table_item_chunk table_th">{{ item.label }}</div> + <div class="table_item_chunk table_td">{{ retrospectInfo[item.value] }}</div> </div> </div> </div> @@ -261,329 +354,612 @@ class="prop_dialog" :title="asyncTitle ? '新增管片' : '修改环号'" :visible.sync="asyncInsert" - width="35%"> - <el-form ref="formInsert" :model="formInsert" :rules="rulesInsert" label-width="auto" class="rule_form"> - <el-form-item label="项目名称:" prop="proId" v-if="asyncTtile"> - <el-select v-model="formInsert.proId" clearable placeholder="请选择项目信息" @change="getAllSteelPipeData"> + width="35%" + > + <el-form + ref="formInsert" + :model="formInsert" + :rules="rulesInsert" + label-width="auto" + class="rule_form" + > + <el-form-item label="项目名称:" prop="proId" v-if="asyncTitle"> + <el-select + v-model="formInsert.proId" + clearable + placeholder="请选择项目信息" + @change="getAllSteelPipeData" + > <el-option v-for="item in projectData" :key="item.proId" :label="item.proName" - :value="item.proId"> + :value="item.proId" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="配筋:" prop="reinforcementId" v-if="asyncTitle"> + <el-select + v-model="formInsert.reinforcementId" + clearable + placeholder="请选择配筋" + > + <el-option + v-for="item in steelData" + :key="item.hasSteel" + :label="item.dictName" + :value="item.hasSteel" + > </el-option> </el-select> </el-form-item> <el-form-item label="环号:" prop="ringNum"> - <el-input v-model="formInsert.ringNum" clearable placeholder="请输入环号"></el-input> + <el-input + v-model="formInsert.ringNum" + clearable + placeholder="请输入环号" + ></el-input> </el-form-item> </el-form> <div slot="footer"> <el-button @click="asyncInsert = false">取 消</el-button> - <el-button class="submit_btn" @click="asyncTitle ? submitInsertPipe() : submitUpdatePipe()">提 交</el-button> + <el-button + class="submit_btn" + @click="asyncTitle ? submitInsertPipe() : submitUpdatePipe()" + >提 交</el-button + > + </div> + </el-dialog> + + <el-dialog + class="prop_dialog" + title="修改时间" + :visible.sync="asyncTime" + width="35%"> + <el-form + ref="formTime" + :model="formTime" + :rules="rulesTime" + label-width="auto" + class="rule_form"> + <el-form-item label="入模时间:" prop="inModTime"> + <el-date-picker + v-model="formTime.inModTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择入模时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="浇筑时间:" prop="pouringTime"> + <el-date-picker + v-model="formTime.pouringTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择浇筑时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="入窑时间:" prop="placingInTime"> + <el-date-picker + v-model="formTime.placingInTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择入窑时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="出窑时间:" prop="placingOutTime"> + <el-date-picker + v-model="formTime.placingOutTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择出窑时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="出模时间:" prop="outModTime"> + <el-date-picker + v-model="formTime.outModTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择入窑时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="质检时间:" prop="checkTime"> + <el-date-picker + v-model="formTime.checkTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择质检时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="入水养时间:" prop="inWaterTime" v-if="formTime.inWaterTime"> + <el-date-picker + v-model="formTime.inWaterTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择入水养时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="出水养时间:" prop="outWaterTime" v-if="formTime.outWaterTime"> + <el-date-picker + v-model="formTime.outWaterTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择出水养时间" + > + </el-date-picker> + </el-form-item> + <el-form-item label="入库时间:" prop="inRepoTime" v-if="formTime.inRepoTime"> + <el-date-picker + v-model="formTime.inRepoTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择入库时间" + > + </el-date-picker> + </el-form-item> + <!-- <el-form-item label="出库时间:" prop="intoModTime"> + <el-date-picker + v-model="formTime.intoModTime" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetime" + placeholder="选择出库时间" + > + </el-date-picker> + </el-form-item> --> + </el-form> + <div slot="footer"> + <el-button @click="asyncTime = false">取 消</el-button> + <el-button + class="submit_btn" + @click="submitUpdateTime()" + >提 交 + </el-button> </div> </el-dialog> </div> </template> <script> -import { cageInfo, mouldInfo, ductpiedceInfo } from './file/retrospect'; +import { cageInfo, mouldInfo, ductpiedceInfo } from "./file/retrospect"; +import { downLoadFile, throttle } from "../../plugins/public"; import { buttonPinia } from '../../pinia'; -import { downLoadFile, throttle } from '../../plugins/public'; - export default { - data() { - return { - projectId: '', - projectData: [], - ringNum: '', // 环号 - groupId: '', // 班组 - groupData: [], // 班组信息 - checkResult: '', // 质量标注 - reinforcement: '', // 配筋 - reinforcementData: [], // 配筋信息 - groutingHoles: '', // 注浆孔 - groutingHolesData: [], // 注浆孔信息 - blockNum: '', // 块号 - blockNumData: [], // 块号信息 - inModTime: '', // 入模时间 - pouringTime: '', // 浇筑时间 - checkTime: '', // 质检时间 - pageNum: 1, - pageSize: 10, - total: 0, - loading: false, - ductpieceList: [], - asyncDuctPiece: false, // 存在问题弹窗 - formDuctPiece: {}, // 表单信息 - rulesDuctPiece: {}, // 表单校验规则 - issueType: '', - asyncRetrospect: false, // 质量追溯弹窗 - asyncCageInfo: cageInfo, // 钢筋笼信息 - asyncMouldInfo: mouldInfo, // 模具信息 - asyncDuctpieceInfo: ductpiedceInfo, // 管片信息 - retrospectInfo: {},// 质量追溯信息 - pipeId: '', - checkResultStr: '', - asyncTitle: true, - asyncInsert: false, - formInsert: {}, - rulesInsert: { - proId: [{ +export default { + data() { + // const validatePass = (rule, value, callback) => { + // if(value === '') { + // callback(new Error('请再次输入密码')); + // } else if(value < ) { + + // } else { + // callback(); + // } + // } + return { + projectId: "", + projectData: [], + ringNum: "", // 环号 + groupId: "", // 班组 + groupData: [], // 班组信息 + checkResult: "", // 质量标注 + reinforcement: "", // 配筋 + reinforcementData: [], // 配筋信息 + groutingHoles: "", // 注浆孔 + groutingHolesData: [], // 注浆孔信息 + blockNum: "", // 块号 + blockNumData: [], // 块号信息 + inModTime: "", // 入模时间 + pouringTime: "", // 浇筑时间 + checkTime: "", // 质检时间 + pageNum: 1, + pageSize: 10, + total: 0, + loading: false, + ductpieceList: [], + asyncDuctPiece: false, // 存在问题弹窗 + formDuctPiece: {}, // 表单信息 + rulesDuctPiece: {}, // 表单校验规则 + issueType: "", + asyncRetrospect: false, // 质量追溯弹窗 + asyncCageInfo: cageInfo, // 钢筋笼信息 + asyncMouldInfo: mouldInfo, // 模具信息 + asyncDuctpieceInfo: ductpiedceInfo, // 管片信息 + retrospectInfo: {}, // 质量追溯信息 + fileList: [], + pipeId: "", + checkResultStr: "", + asyncTitle: true, + asyncInsert: false, + formInsert: {}, + rulesInsert: { + proId: [ + { required: true, - message: '请选择项目名称', - trigger: 'blur' - }], - ringNum: [{ + message: "请选择项目名称", + trigger: ["blur", "change"], + }, + ], + reinforcementId: [ + { required: true, - message: '请输入环号', - trigger: 'blur' - }], - }, - proData: [], - steelData: [], - mouldData: [], + message: "请选择配筋", + trigger: ["blur", "change"], + }, + ], + ringNum: [ + { + required: true, + message: "请输入环号", + trigger: "blur", + }, + ] + }, + proData: [], + steelData: [], + mouldData: [], + changeTime: false, + asyncTime: false, + formTime: {}, + rulesTime: { + inModTime: [{ + required: true, + message: "请选择入模时间", + trigger: ["blur", "change"], + }], + outModTime: [{ + required: true, + message: "请选择出模时间", + trigger: ["blur", "change"], + }], + pouringTime: [{ + required: true, + message: "请选择浇筑时间", + trigger: ["blur", "change"], + }], + placingInTime: [{ + required: true, + message: "请选择入窑时间", + trigger: ["blur", "change"], + }], + placingOutTime: [{ + required: true, + message: "请选择出窑时间", + trigger: ["blur", "change"], + }], + checkTime: [{ + required: true, + message: "请选择质检时间", + trigger: ["blur", "change"], + }], + inWaterTime: [{ + required: true, + message: "请选择入池时间", + trigger: ["blur", "change"], + }], + outWaterTime: [{ + required: true, + message: "请选择出池时间", + trigger: ["blur", "change"], + }], + inRepoTime: [{ + required: true, + message: "请选择入库时间", + trigger: ["blur", "change"], + }] + } + }; + }, + mounted() { + this.getAllProjects(); + this.getAllGroupData(); + this.searchDuctpiecePLMList(true); + }, + methods: { + // 根据项目获取钢筋笼 模具信息 + async getAllSteelPipeData(proId) { + if (proId) { + this.steelData = []; + const { data } = await this.$api.Basics.getProjectSystemInfoData({ + proId: proId, + }); + this.steelData = data.proHas; + } else { + this.$set(this.formInsert, "reinforcementId", ""); + this.steelData = []; } }, - mounted() { - this.getAllProjects(); - this.getAllGroupData(); - this.searchDuctpiecePLMList(true); + // 获取全部班组 + async getAllGroupData() { + const { data } = await this.$api.DuctpiecePLM.getAllGroupData(); + this.groupData = data; }, - methods: { - // 根据项目获取钢筋笼 模具信息 - async getAllSteelPipeData(proId) { - this.steelData = []; - this.mouldData = []; - const { data } = await this.$api.DuctpiecePLM.getAllSteelPipeData({ - proId: proId - }); - this.steelData = data.steel; - this.mouldData = data.mod; - }, - // 获取全部班组 - async getAllGroupData() { - const { data } = await this.$api.DuctpiecePLM.getAllGroupData(); - this.groupData = data; - }, - // 获取全部项目 - async getAllProjects() { - const { data } = await this.$api.Engineer.getAllProjects(); - this.projectData = data; - }, - // 查询管片信息 - searchDuctpiecePLMList(bol) { - if(bol) { - this.pageNum = 1; - } - this.loading = true; - this.ductpieceList = []; - this.$api.DuctpiecePLM.searchDuctpiecePLMList({ - pageNum: this.pageNum, - pageSize: this.pageSize, - proId: this.projectId, - ringNum: this.ringNum, - groupId: this.groupId, - checkResult: this.checkResult, - reinforcement: this.reinforcement, - groutingHoles: this.groutingHoles, - blockNum: this.blockNum, - inModStartTime: this.inModTime ? this.inModTime[0] + ' 00:00:00' : '', - inModEndTime: this.inModTime ? this.inModTime[1] + ' 23:59:59' : '', - pouringStartTime: this.pouringTime ? this.pouringTime[0] + ' 00:00:00' : '', - pouringEndTime: this.pouringTime ? this.pouringTime[1] + ' 23:59:59' : '', - checkStartTime: this.checkTime ? this.checkTime[0] + ' 00:00:00' : '', - checkEndTime: this.checkTime ? this.checkTime[1] + ' 23:59:59' : '' - }).then((res) => { - if(res.success) { + // 获取全部项目 + async getAllProjects() { + const { data } = await this.$api.Engineer.getAllProjects(); + this.projectData = data; + }, + // 查询管片信息 + searchDuctpiecePLMList(bol) { + if (bol) { + this.pageNum = 1; + } + this.loading = true; + this.ductpieceList = []; + this.$api.DuctpiecePLM.searchDuctpiecePLMList({ + pageNum: this.pageNum, + pageSize: this.pageSize, + proId: this.projectId, + ringNum: this.ringNum, + groupId: this.groupId, + checkResult: this.checkResult, + reinforcement: this.reinforcement, + groutingHoles: this.groutingHoles, + blockNum: this.blockNum, + inModStartTime: this.inModTime ? this.inModTime[0] + " 00:00:00" : "", + inModEndTime: this.inModTime ? this.inModTime[1] + " 23:59:59" : "", + pouringStartTime: this.pouringTime ? this.pouringTime[0] + " 00:00:00" : "", + pouringEndTime: this.pouringTime ? this.pouringTime[1] + " 23:59:59" : "", + checkStartTime: this.checkTime ? this.checkTime[0] + " 00:00:00" : "", + checkEndTime: this.checkTime ? this.checkTime[1] + " 23:59:59" : "", + }) + .then((res) => { + if (res.success) { this.total = res.data.total; this.ductpieceList = res.data.list; } this.loading = false; - }).catch(() => { + }) + .catch(() => { this.loading = false; - }) - }, - // 打开新增管片信息 - propInsert() { - this.asyncTitle = true; - this.asyncInsert = true; - this.getAllProjects(); - }, - // 打开修改环号信息 - propUpdate(row) { - this.asyncTitle = false; - this.asyncInsert = true; - this.$set(this.formInsert, 'pipeNum', row.pipeNum); - this.$set(this.formInsert, 'ringNum', row.ringNum); - }, - // 导出Excel - exportExcel() { - this.$api.System.GETEXPORTTOKENDATA({ - ringNum: this.ringNum, - groupId: this.groupId, - checkResult: this.checkResult, - reinforcement: this.reinforcement, - groutingHoles: this.groutingHoles, - blockNum: this.blockNum, - inModStartTime: this.inModTime[0], - inModEndTime: this.inModTime[1], - pouringStartTime: this.pouringTime[0], - pouringEndTime: this.pouringTime[1], - checkStartTime: this.checkTime[0], - checkEndTime: this.checkTime[1] - }).then((res) => { - if(res.success) { - downLoadFile(res.data, '/m/pipeInfo/export'); - } - }) - }, - // 打开存在问题 - propIssue(row) { - this.pipeId = row.pipeId - this.checkResultStr = row.checkResultStr; - this.issueType = row.type; - this.asyncDuctPiece = true; - this.$api.DuctpiecePLM.getProblemInfo({ - pipeId: row.pipeId - }).then((res) => { - if(res.success) { - this.$set(this.formDuctPiece, 'pipeCheckId', res.data.pipeCheckId); - this.$set(this.formDuctPiece, 'existProblem', res.data.existProblem); - this.$set(this.formDuctPiece, 'exeProResult', res.data.exeProResult); - this.$set(this.formDuctPiece, 'exeProNote', res.data.exeProNote); - this.fileList = res.data.files.map((item, index) => { - return { - id: index + 1, - url: `https://szpipe.thhy-tj.com/${item}` - } - }) - } - }) - }, - // 打开质量追溯 - propCheckHistory(row) { - this.asyncRetrospect = true; - this.retrospectInfo = {}; - this.$api.DuctpiecePLM.getCheckHistoryInfo({ - pipeId: row.pipeId - }).then((res) => { - if(res.success) { - this.retrospectInfo = res.data; - } - }) - }, - // 提交存在问题 - submitInsertForm: throttle(function() { - const params = Object.assign({}, this.formDuctPiece); - params.checkResultStr = this.checkResultStr; - params.pipeId = this.pipeId; - this.$api.DuctpiecePLM.insertIssueInfo(params).then((res) => { - if(res.success) { - this.asyncDuctPiece = false; - this.searchDuctpiecePLMList(true); - this.$message.success('添加成功!'); - } else { - this.$message.warning(res.statusMsg); - } - }) - }, 3000), - // 提交新增管片信息 - submitInsertPipe: throttle(function() { - this.$refs.formInsert.validate((valid) => { - if(valid) { - const params = Object.assign({}, this.formInsert); - this.$api.DuctpiecePLM.insertPipeData(params).then((res) => { - if(res.statusMsg === 'ok') { - this.asyncInsert = false; - this.searchDuctpiecePLMList(true); - this.$message.success('新增成功!'); - } else { - this.$message.warning(res.statusMsg); - } - }) - } - }) - }, 3000), - // 提交修改环号信息 - submitUpdatePipe: throttle(function() { - this.$refs.formInsert.validate((valid) => { - if(valid) { - const params = Object.assign({}, this.formInsert); - this.$api.DuctpiecePLM.updataRingNumData(params).then((res) => { - if(res.statusMsg === 'ok') { - this.asyncInsert = false; - this.searchDuctpiecePLMList(true); - this.$message.success('修改成功!'); - } else { - this.$message.warning(res.statusMsg); - } - }) - } - }) - }, 3000), - // - showCheckResult(value) { - return !value ? '' : value == 1 ? '合格' : '存在问题'; - }, - // 根据项目获取尺寸 配筋 块号信息 - changeHeaderProject(data) { - this.blockNum = ''; - this.reinforcement = ''; - this.groutingHoles = ''; - this.groutingHolesData = []; - this.blockNumData = []; - this.reinforcementData = []; - if(data) { - this.$api.Basics.getProjectSystemInfoData({ - proId: data - }).then((res) => { - this.groutingHolesData = res.data.proGroutings; - this.blockNumData = res.data.proBloks; - this.reinforcementData = res.data.proHas; - }) - } - }, - // 切换页数 - changePageNum(page) { - this.pageNum = page; - this.searchDuctpiecePLMList(); - }, - // 切换每页条数 - changePageSize(size) { - this.pageSize = size; - this.searchDuctpiecePLMList(); - }, - // 判断按钮权限信息 - showButton(str) { - const pinia = buttonPinia(); - return pinia.$state.buttonInfo.includes(str); - }, + }); }, - watch: { - asyncDuctpieceInfo(bol) { - if(!bol) { - this.formDuctPiece = {}; - this.pipeId = ''; - this.checkResultStr = ''; - this.fileList = []; + // 打开新增管片信息 + propInsert() { + this.asyncTitle = true; + this.asyncInsert = true; + this.getAllProjects(); + }, + // 打开修改环号信息 + propUpdate(row) { + this.asyncTitle = false; + this.asyncInsert = true; + this.$set(this.formInsert, "pipeNum", row.pipeNum); + this.$set(this.formInsert, "ringNum", row.ringNum); + }, + // 打开修改时间 + propUpdateTime(row) { + this.asyncTime = true; + this.$set(this.formTime, "pipeNum", row.pipeNum); + this.$set(this.formTime, "ringNum", row.ringNum); + this.$api.DuctpiecePLM.getPipeTimeData({ + pipeNum: row.pipeNum + }).then(res => { + if(res.success) { + this.$set(this.formTime, 'inModTime', res.data.inModTime); + this.$set(this.formTime, 'outModTime', res.data.outModTime); + this.$set(this.formTime, 'pouringTime', res.data.pouringTime); + this.$set(this.formTime, 'placingInTime', res.data.placingInTime); + this.$set(this.formTime, 'placingOutTime', res.data.placingOutTime); + this.$set(this.formTime, 'checkTime', res.data.checkTime); + if(res.data.inWaterFlag) { + this.$set(this.formTime, 'inWaterTime', res.data.inWaterTime); + } + if(res.data.OutWaterFlag) { + this.$set(this.formTime, 'outWaterTime', res.data.outWaterTime); + } + if(res.data.inRepoFlag) { + this.$set(this.formTime, 'inRepoTime', res.data.inRepoTime); + } + // this.$set(this.formInsert, '', res.data.); + } else { + this.$message.warning(res.statusMsg); } - }, - asyncInsert(bol) { - if(!bol) { - this.steelData = []; - this.mouldData = []; - this.formInsert = {}; - this.$refs.formInsert.resetFields(); + }) + }, + // 导出Excel + exportExcel() { + this.$api.System.GETEXPORTTOKENDATA({ + ringNum: this.ringNum, + groupId: this.groupId, + checkResult: this.checkResult, + reinforcement: this.reinforcement, + groutingHoles: this.groutingHoles, + blockNum: this.blockNum, + inModStartTime: this.inModTime[0], + inModEndTime: this.inModTime[1], + pouringStartTime: this.pouringTime[0], + pouringEndTime: this.pouringTime[1], + checkStartTime: this.checkTime[0], + checkEndTime: this.checkTime[1], + }).then((res) => { + if (res.success) { + downLoadFile(res.data, "/m/pipeInfo/export"); } + }); + }, + // 打开存在问题 + propIssue(row) { + this.pipeId = row.pipeId; + this.checkResultStr = row.checkResultStr; + this.issueType = row.type; + this.asyncDuctPiece = true; + this.$api.DuctpiecePLM.getProblemInfo({ + pipeId: row.pipeId, + }).then((res) => { + if (res.success) { + this.$set(this.formDuctPiece, "pipeCheckId", res.data.pipeCheckId); + this.$set(this.formDuctPiece, "existProblem", res.data.existProblem); + this.$set(this.formDuctPiece, "exeProResult", res.data.exeProResult); + this.$set(this.formDuctPiece, "exeProNote", res.data.exeProNote); + this.fileList = res.data.files.map((item, index) => { + return { + id: index + 1, + url: `https://pipe.thhy-tj.com/${item}`, + }; + }); + } + }); + }, + // 打开质量追溯 + propCheckHistory(row) { + this.asyncRetrospect = true; + this.retrospectInfo = {}; + this.$api.DuctpiecePLM.getCheckHistoryInfo({ + pipeId: row.pipeId, + }).then((res) => { + if (res.success) { + this.retrospectInfo = res.data; + } + }); + }, + // 提交存在问题 + submitInsertForm: throttle(function () { + const params = Object.assign({}, this.formDuctPiece); + params.checkResultStr = this.checkResultStr; + params.pipeId = this.pipeId; + this.$api.DuctpiecePLM.insertIssueInfo(params).then((res) => { + if (res.success) { + this.asyncDuctPiece = false; + this.searchDuctpiecePLMList(true); + this.$message.success("添加成功!"); + } else { + this.$message.warning(res.statusMsg); + } + }); + }, 3000), + // 提交新增管片信息 + submitInsertPipe: throttle(function () { + this.$refs.formInsert.validate((valid) => { + if (valid) { + const params = Object.assign({}, this.formInsert); + this.$api.DuctpiecePLM.insertPipeData(params).then((res) => { + if (res.statusMsg === "ok") { + this.asyncInsert = false; + this.searchDuctpiecePLMList(true); + this.$message.success("新增成功!"); + } else { + this.$message.warning(res.statusMsg); + } + }); + } + }); + }, 3000), + // 提交修改环号信息 + submitUpdatePipe: throttle(function () { + this.$refs.formInsert.validate((valid) => { + if (valid) { + const params = Object.assign({}, this.formInsert); + this.$api.DuctpiecePLM.updataRingNumData(params).then((res) => { + if (res.statusMsg === "ok") { + this.asyncInsert = false; + this.searchDuctpiecePLMList(true); + this.$message.success("修改成功!"); + } else { + this.$message.warning(res.statusMsg); + } + }); + } + }); + }, 3000), + // 提交修改时间信息 + submitUpdateTime: throttle(function() { + this.$refs.formTime.validate((valid) => { + if(valid) { + const params = Object.assign({}, this.formTime); + this.$api.DuctpiecePLM.updatePipeTimeData(params).then((res) => { + if (res.statusMsg === "ok") { + this.asyncTime = false; + this.searchDuctpiecePLMList(true); + this.$message.success("修改成功!"); + } else { + this.$message.warning(res.statusMsg); + } + }); + } + }) + }, 3000), + // + showCheckResult(value) { + return !value ? "" : value == 1 ? "合格" : "存在问题"; + }, + // 根据项目获取尺寸 配筋 块号信息 + changeHeaderProject(data) { + this.blockNum = ""; + this.reinforcement = ""; + this.groutingHoles = ""; + this.groutingHolesData = []; + this.blockNumData = []; + this.reinforcementData = []; + if (data) { + this.$api.Basics.getProjectSystemInfoData({ + proId: data, + }).then((res) => { + this.groutingHolesData = res.data.proGroutings; + this.blockNumData = res.data.proBloks; + this.reinforcementData = res.data.proHas; + }); + } + }, + // 转换毫秒 + transitionMsec(time) { + let msec = 0; + const date = Date.parse(new Date(time)); + console.log(date,'==-=-=-') + return msec; + }, + // 切换页数 + changePageNum(page) { + this.pageNum = page; + this.searchDuctpiecePLMList(); + }, + // 切换每页条数 + changePageSize(size) { + this.pageSize = size; + this.searchDuctpiecePLMList(); + }, + // 判断按钮权限信息 + showButton(str) { + const pinia = buttonPinia(); + return pinia.$state.buttonInfo.includes(str); + }, + }, + watch: { + asyncDuctpieceInfo(bol) { + if (!bol) { + this.formDuctPiece = {}; + this.pipeId = ""; + this.checkResultStr = ""; + this.fileList = []; + } + }, + asyncInsert(bol) { + if (!bol) { + this.steelData = []; + this.formInsert = {}; + this.$refs.formInsert.resetFields(); + } + }, + asyncTime(bol) { + if(!bol) { + this.formTime = {}; + this.$refs.formTime.resetFields(); } } - } + }, +}; </script> <style lang="scss" scoped> -@import '../../style/layout-main.scss'; +@import "../../style/layout-main.scss"; .issue_status { - color: #F42829; + color: #f42829; } .retrospect_content { @@ -594,7 +970,7 @@ padding: 0 15px 15px; font-size: 16px; font-weight: 600; - color: #FFF; + color: #fff; border-bottom: 1px solid #0d5274; &::before { @@ -605,7 +981,7 @@ transform: translateY(-85%); width: 3px; height: 50%; - background: #18F6F8; + background: #18f6f8; } } @@ -614,22 +990,22 @@ margin: 10px 10px 10px 0; .table_item { - border: 1px solid #1CB7E0; + border: 1px solid #1cb7e0; border-right: none; &:last-child { - border-right: 1px solid #1CB7E0; + border-right: 1px solid #1cb7e0; } .table_item_chunk { padding: 10px; - color: #18F6F8; + color: #18f6f8; text-align: center; } .table_th { - border-bottom: 1px solid #1CB7E0; - background: #082F57; + border-bottom: 1px solid #1cb7e0; + background: #082f57; } } } @@ -649,4 +1025,4 @@ ::v-deep .el-date-editor .el-range-separator { color: #fff !important; } -</style> \ No newline at end of file +</style> -- Gitblit v1.9.3