Merge branch 'master' of http://111.30.93.211:10101/r/supipe
| | |
| | | |
| | | 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"; |
| | | |
| | |
| | | |
| | | public static String createRingNum(Integer num){ |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.append(addZero(num,6)); |
| | | sb.append(addZero(num,4)); |
| | | return sb.toString(); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | System.out.println(createSteelNum("001",70)); |
| | | System.out.println(createRingNum(5)); |
| | | } |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | |
| | | } |
| | | |
| | | //苏州项目------- 地磅入库 记录,及库存修改 |
| | | @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()); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | 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; |
| | | |
| | | } |
| | |
| | | private Integer byId;//序号 |
| | | |
| | | @Excel(sort = 1,title = "入库时间") |
| | | private String createDate;//字符串的入库时间 |
| | | private Date createDate;//字符串的入库时间 |
| | | |
| | | @Excel(sort = 2,title = "供应商") |
| | | private String supplierName;//供应商名称 |
| | |
| | | |
| | | @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; |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | 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 { |
| | |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private String printTime; |
| | | |
| | | private String platUserName; |
| | | |
| | | |
| | | } |
| | |
| | | }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){ |
| | |
| | | excel.addHeaderAlias("blockName", "块号"); |
| | | excel.addHeaderAlias("groupName", "生产班组"); |
| | | excel.addHeaderAlias("printTime", "打印时间"); |
| | | excel.addHeaderAlias("realName", "制作人"); |
| | | excel.addHeaderAlias("platUserName", "制作人"); |
| | | excel.addHeaderAlias("qualityUserName", "质检人"); |
| | | excel.addHeaderAlias("qualityTime", "质检时间"); |
| | | excel.addHeaderAlias("isQualified", "是否合格"); |
| | |
| | | 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); |
| | | } |
| | |
| | | <?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> |
| | | |
| | | <!-- 库存管理 --> |
| | |
| | | <if test="createUser != null"> |
| | | create_user, |
| | | </if> |
| | | <if test="supplierName != null"> |
| | | supplier_name, |
| | | </if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | |
| | | <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"> |
| | |
| | | <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"> |
| | |
| | | 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> |
| | |
| | | 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; |
| | |
| | | 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)); |
| | | //更新模具循环次数 |
| | |
| | | String proId = modCheckDto.getProId(); |
| | | |
| | | try { |
| | | if(ringNum.length()>5){ |
| | | if(ringNum.length()>4){ |
| | | throw new BasicException(BasicStatus.RING_NOT_DIS); |
| | | } |
| | | Integer.parseInt(ringNum); |
| | |
| | | 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){ |
| | |
| | | //入模人员 |
| | | private String intoModUser; |
| | | public String getCheckResultStr() { |
| | | return checkResult==1?"合格":checkResult==2?"不合格":"报废"; |
| | | return checkResult==1?"合格":checkResult==2?"不合格":checkResult==0?"未质检":"报废"; |
| | | } |
| | | |
| | | private ModIdlThing modIdlThing; |
对比新文件 |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | 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){ |
| | | //增加钢筋笼库存 |
| | |
| | | } |
| | | //更新住状态 |
| | | steelProduceMapper.updateQualified(new SteelProduce(updateCheckResultDto.getSteelProduceNum(), steelCheckRecord.getCheckResult(),userInfo.getUserId())); |
| | | //合格状态————————>不合格 |
| | | if (steelCheckRecord.getCheckResult()!=3) { |
| | | //减【钢筋笼】库存就记录删除标志 |
| | | steelStockMapper.updateSteelStockRecordByCheckId(2,steelCheckRecord.getCheckId()); |
| | | //减【钢筋笼】库存 |
| | | steelStockMapper.updateMinusStock(new SteelStock(steelProduce)); |
| | | //加【钢筋】库存记录 |
| | |
| | | } |
| | | //合格状态————————>报废 |
| | | if(qualified==1&&updateCheckResultDto.getCheckResult()==3){ |
| | | //减【钢筋笼】库存就记录删除标志 |
| | | steelStockMapper.updateSteelStockRecordByCheckId(2,steelCheckRecord.getCheckId()); |
| | | //减【钢筋笼】库存 |
| | | steelStockMapper.updateMinusStock(new SteelStock(steelProduce)); |
| | | } |
| | |
| | | //更新住状态 |
| | | 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)); |
| | |
| | | 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; |
| | |
| | | void updateMinusSteelStock(SteelConsume steelConsume); |
| | | |
| | | void updatePlusSteelStock(SteelConsume steelConsume); |
| | | |
| | | void insertSteelStockRecord(SteelStockRecord steelStockRecord); |
| | | |
| | | void updateSteelStockRecordByCheckId(@Param("isUse") int isUse,@Param("checkRecordId") String checkRecordId); |
| | | } |
| | |
| | | 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> |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | 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; |
| | |
| | | void insertAudioGroup(AudioGroup audioGroup); |
| | | |
| | | List<AudioGroup> queryGroups(); |
| | | |
| | | List<HashMap<String,Object>> querySteelMake(); |
| | | |
| | | List<HashMap<String,Object>> queryRestInfo(); |
| | | } |
| | |
| | | |
| | | 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); |
| | |
| | | |
| | | public static void main(String[] args) { |
| | | //getGroups(); |
| | | |
| | | //playMusic(); |
| | | getItemList(); |
| | | } |
| | | |
| | | public static void login(){ |
| | |
| | | |
| | | 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; |
| | | } |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | |
| | | 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 = ""; |
| | | |
| | |
| | | </select> |
| | | |
| | | <insert id="insertAudioGroup"> |
| | | INSERT INTO |
| | | INSERT INTO t_audio_group |
| | | <trim suffix=")" prefix="(" suffixOverrides=","> |
| | | <if test="id != null and id !=null"> |
| | | id, |
| | |
| | | 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> |
| | |
| | | url: '/m/pipeInfo/findList', |
| | | data: { |
| | | proId: params.proId, |
| | | segmentId: params.segmentId, |
| | | ringNum: params.ringNum, |
| | | groupId: params.groupId, |
| | | checkResult: params.checkResult, |
| | |
| | | // 获取全部钢筋笼与模具信息 |
| | | 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), |
| | | /** |
| | | * 水养模块接口 |
| | | * */ |
| | |
| | | data: { |
| | | waterCultivatedId: params.waterCultivatedId, |
| | | ringNum: params.ringNum, |
| | | proId:params.proId, |
| | | blockNum: params.blockNum, |
| | | reinforcement: params.reinforcement, |
| | | groutingHoles: params.groutingHoles, |
| | |
| | | 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), |
| | | |
| | | /* |
| | | * 管片蒸养 |
| | |
| | | //获取所有环号 |
| | | getAllPipInfos: params => |
| | | axios.post('/materials/pipeOut/pipeInfoInList', params), |
| | | |
| | | // 获取堆场下拉信息 |
| | | getRepoRecordData: () => |
| | | axios.post('/m/repoRecord/repoPullDown'), |
| | | // 管片入库 |
| | | submitPipePutbankInfo: (params) => |
| | | axios.post('/m/repoRecord/intoRepoWeb', params), |
| | | |
| | | /** |
| | | * 发运管理中的GPS设备管理 |
| | |
| | | pageSize: params.pageSize |
| | | }, |
| | | data: { |
| | | ringNum: params.ringNum |
| | | ringNum: params.ringNum, |
| | | proId:params.proId |
| | | } |
| | | }), |
| | | // 获取管片详情 |
| | |
| | | <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> |
| | |
| | | v-for="item in groupData" |
| | | :key="item.groupId" |
| | | :label="item.groupName" |
| | | :value="item.groupId"> |
| | | :value="item.groupId" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | v-for="item in reinforcementData" |
| | | :key="item.hasSteel" |
| | | :label="item.dictName" |
| | | :value="item.hasSteel"> |
| | | :value="item.hasSteel" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | 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> |
| | |
| | | v-for="item in blockNumData" |
| | | :key="item.blockNum" |
| | | :label="item.dictName" |
| | | :value="item.blockNum"> |
| | | :value="item.blockNum" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | value-format="yyyy-MM-dd"> |
| | | value-format="yyyy-MM-dd" |
| | | > |
| | | </el-date-picker> |
| | | </div> |
| | | <!-- <div class="header_item"> |
| | |
| | | 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> |
| | |
| | | :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"> |
| | |
| | | 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"> |
| | |
| | | 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> |
| | |
| | | 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 { |
| | |
| | | padding: 0 15px 15px; |
| | | font-size: 16px; |
| | | font-weight: 600; |
| | | color: #FFF; |
| | | color: #fff; |
| | | border-bottom: 1px solid #0d5274; |
| | | |
| | | &::before { |
| | |
| | | transform: translateY(-85%); |
| | | width: 3px; |
| | | height: 50%; |
| | | background: #18F6F8; |
| | | background: #18f6f8; |
| | | } |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | |
| | | ::v-deep .el-date-editor .el-range-separator { |
| | | color: #fff !important; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | <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> |
| | |
| | | v-for="item in groupData" |
| | | :key="item.groupId" |
| | | :label="item.groupName" |
| | | :value="item.groupId"> |
| | | :value="item.groupId" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | v-for="item in reinforcementData" |
| | | :key="item.hasSteel" |
| | | :label="item.dictName" |
| | | :value="item.hasSteel"> |
| | | :value="item.hasSteel" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | 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> |
| | |
| | | v-for="item in blockNumData" |
| | | :key="item.blockNum" |
| | | :label="item.dictName" |
| | | :value="item.blockNum"> |
| | | :value="item.blockNum" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | value-format="yyyy-MM-dd"> |
| | | value-format="yyyy-MM-dd" |
| | | > |
| | | </el-date-picker> |
| | | </div> |
| | | <!-- <div class="header_item"> |
| | |
| | | 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> |
| | |
| | | :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"> |
| | |
| | | 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"> |
| | |
| | | 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> |
| | |
| | | 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 { |
| | |
| | | padding: 0 15px 15px; |
| | | font-size: 16px; |
| | | font-weight: 600; |
| | | color: #FFF; |
| | | color: #fff; |
| | | border-bottom: 1px solid #0d5274; |
| | | |
| | | &::before { |
| | |
| | | transform: translateY(-85%); |
| | | width: 3px; |
| | | height: 50%; |
| | | background: #18F6F8; |
| | | background: #18f6f8; |
| | | } |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | |
| | | ::v-deep .el-date-editor .el-range-separator { |
| | | color: #fff !important; |
| | | } |
| | | </style> |
| | | </style> |