From 111a401f033749c965f02f58c586a8feafd9afd1 Mon Sep 17 00:00:00 2001
From: 叶松 <2217086471@qq.com>
Date: 星期一, 27 十一月 2023 11:23:46 +0800
Subject: [PATCH] Merge branch 'master' of http://111.30.93.211:10101/r/supipe

---
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/concret/controller/MixingPlantNewScheduled.java                |   45 
 hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelstock/mapper/SteelStockMapper.java                                    |    6 
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/entity/MinXingPlantVo.java                |   15 
 hd/pipe/screen/src/main/java/com/thhy/screen/utils/HttpUtils.java                                                                   |    2 
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/service/impl/MinXingPlantServiceImpl.java |    5 
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/mixingstationstorage/dto/MinXingPlantDto.java                  |    3 
 hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/entity/SteelStockRecord.java                                    |   82 +
 web/src/api/modules/ductpiecePLM.js                                                                                                 |   39 
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/entity/dto/ProduceExportDto.java                    |    2 
 hd/pipe/screen/src/main/java/com/thhy/screen/utils/AudioUtils.java                                                                  |   20 
 hd/pipe/materialsManage/src/main/resources/mapping/MinXingPlantMapper.xml                                                           |  219 ++--
 hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/steelcheck/service/impl/SteelCheckServiceImpl.java                         |   18 
 hd/pipe/common/src/main/java/com/thhy/general/common/enums/ProListenType.java                                                       |    4 
 web/src/views/DuctpiecePLM/DuctpieceIndex.vue                                                                                       | 1106 ++++++++++++++-------
 hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java                                      |    4 
 hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/mouldcheck/service/impl/ModCheckServiceImpl.java                           |    9 
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/service/impl/TSteelProduceServiceImpl.java          |    4 
 hd/pipe/materialsManage/src/main/resources/mapping/TSteelProduceMapper.xml                                                          |    4 
 hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/controller/ExecProListener.java                                  |   26 
 hd/pipe/mobile/src/main/resources/mapping/SteelStockMapper.xml                                                                      |   72 +
 hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/service/impl/ProduceListenServiceImpl.java                       |   14 
 hd/pipe/materialsManage/src/main/resources/mapping/WeighMapper.xml                                                                  |   96 +
 hd/pipe/common/src/main/java/com/thhy/general/utils/UUIDUtils.java                                                                  |    4 
 web/src/views/DuctpiecePLM/DuctProduct/ProductIndex.vue                                                                             | 1106 ++++++++++++++-------
 hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/weigh/mapper/WeighMapper.java                                  |    8 
 hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeListVo.java                                            |    2 
 hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml                                                                       |   37 
 27 files changed, 2,059 insertions(+), 893 deletions(-)

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

--
Gitblit v1.9.3