Kaynağa Gözat

修复pda的bug

695593266@qq.com 1 yıl önce
ebeveyn
işleme
f9c0c46298

+ 73 - 7
pages/pda/feeding/components/semiProductBom.vue

@@ -115,14 +115,49 @@
             >
           </view>
 
-          <view
+          <view class="item rx-sc">
+            <view class="rx">
+              <view class="lable lable150 rx-cc">型号</view>
+              <view class="content rx-sc">
+                <view>{{ mate.modelType }}</view>
+              </view>
+            </view>
+          </view>
+
+          <view class="item rx-sc">
+            <view class="rx">
+              <view class="lable lable150 rx-cc">规格</view>
+              <view class="content rx-sc">
+                <view>{{ mate.specification }}</view>
+              </view>
+            </view>
+          </view>
+
+          <view class="item rx-sc">
+            <view class="rx ww50">
+              <view class="lable lable150 rx-cc">批次号</view>
+              <view class="content content_num">
+                <view v-if="isDetails">{{ mate.batchNo }}</view>
+                <input class="uni-input" v-else v-model="mate.batchNo" />
+              </view>
+            </view>
+
+            <view class="rx ww50">
+              <view class="lable lable150 rx-cc">牌号</view>
+              <view class="content content_num">
+                <view>{{ mate.brandNum }}</view>
+              </view>
+            </view>
+          </view>
+
+          <!-- <view
             class="item"
             v-for="(itm, index) in tableH(mate.rootCategoryLevelId)"
             :key="index"
           >
             <view class="lable rx-cc">{{ itm.label }}</view>
             <view class="content">{{ mate[itm.prop] }}</view>
-          </view>
+          </view> -->
 
           <!-- <view class="item" v-if='mate.isConsumable == 1'>
 						<view class="lable rx-cc">包装库存</view>
@@ -158,7 +193,12 @@
               <view class="lable ww80 rx-cc">刻码</view>
               <!-- <view class="content">{{ mate.extInfo.engrave }}</view> -->
               <view class="content content_num">
-                <input class="uni-input" v-model="mate.extInfo.engrave" />
+                <view v-if="isDetails">{{ mate.extInfo.engrave }}</view>
+                <input
+                  class="uni-input"
+                  v-else
+                  v-model="mate.extInfo.engrave"
+                />
               </view>
             </view>
           </view>
@@ -166,8 +206,10 @@
             <view class="rx ww50">
               <view class="lable rx-cc">序列号</view>
               <view class="content content_num">
+                <view v-if="isDetails">{{ mate.extInfo.productSequence }}</view>
                 <input
                   class="uni-input"
+                  v-else
                   v-model="mate.extInfo.productSequence"
                 />
               </view>
@@ -177,7 +219,12 @@
               <view class="lable rx-cc">物料代号</view>
               <!-- <view class="content">{{ mate.extInfo.materielCode }}</view> -->
               <view class="content content_num">
-                <input class="uni-input" v-model="mate.extInfo.materielCode" />
+                <view v-if="isDetails">{{ mate.extInfo.materielCode }}</view>
+                <input
+                  class="uni-input"
+                  v-else
+                  v-model="mate.extInfo.materielCode"
+                />
               </view>
             </view>
           </view>
@@ -186,14 +233,24 @@
             <view class="rx ww50">
               <view class="lable rx-cc">报工重量</view>
               <view class="content content_num">
-                <input class="uni-input" v-model="mate.extInfo.reportWeight" />
+                <view v-if="isDetails">{{ mate.extInfo.reportWeight }}</view>
+                <input
+                  class="uni-input"
+                  v-else
+                  v-model="mate.extInfo.reportWeight"
+                />
               </view>
             </view>
 
             <view class="rx ww50">
               <view class="lable rx-cc">客户代号</view>
               <view class="content content_num">
-                <input class="uni-input" v-model="mate.extInfo.clientCode" />
+                <view v-if="isDetails">{{ mate.extInfo.clientCode }}</view>
+                <input
+                  class="uni-input"
+                  v-else
+                  v-model="mate.extInfo.clientCode"
+                />
               </view>
             </view>
           </view>
@@ -222,7 +279,9 @@
             <view class="rx ww30">
               <view class="lable rx-cc ww80">炉次号</view>
               <view class="content content_num">
+                <view v-if="isDetails">{{ mate.extInfo.heatNumber }}</view>
                 <input
+                  v-else
                   class="uni-input"
                   style="width: 120rpx"
                   v-model="mate.extInfo.heatNumber"
@@ -245,14 +304,21 @@
             <view class="rx ww50">
               <view class="lable rx-cc">位置</view>
               <view class="content content_num">
-                <input class="uni-input" v-model="mate.extInfo.position" />
+                <view v-if="isDetails">{{ mate.extInfo.position }}</view>
+                <input
+                  v-else
+                  class="uni-input"
+                  v-model="mate.extInfo.position"
+                />
               </view>
             </view>
 
             <view class="rx ww50">
               <view class="lable rx-cc ww80">数量</view>
               <view class="content content_num">
+                <view v-if="isDetails">{{ mate.feedQuantity }}</view>
                 <input
+                  v-else
                   class="uni-input"
                   style="width: 160rpx"
                   v-model="mate.feedQuantity"

+ 1 - 0
pages/pda/feeding/details.vue

@@ -225,6 +225,7 @@ export default {
       operateBtn: true,
       cloneListNum: "",
       feedNeedEquipment: null, ////投料是否要添加生产设备1是0否
+      taskType: "",
     };
   },
   onLoad(options) {

+ 86 - 40
pages/pda/jobBooking/components/batchJobBom.vue

@@ -125,7 +125,7 @@
                 v-model="item.workReportInfo.notFormedNum"
                 type="digit"
                 :disabled="isDetails"
-                @input="changeNum"
+                @input="changeNum(item.workReportInfo.notFormedNum)"
               />
 
               <view class="unit">{{ item.unit }}</view>
@@ -181,9 +181,11 @@
             v-if="
               item.currentTaskDiagram &&
               item.currentTaskDiagram.isFirstTask == 1 &&
-              clientEnvironmentId != 3
+              clientEnvironmentId != 3 &&
+              item.product &&
+              item.product.length == 0
             "
-            >确认</view
+            >创建在制品</view
           >
 
           <view
@@ -192,14 +194,16 @@
             v-if="
               item.currentTaskDiagram &&
               item.currentTaskDiagram.isFirstTask == 1 &&
-              clientEnvironmentId == 3
+              clientEnvironmentId == 3 &&
+              item.semiProductList &&
+              item.semiProductList.length == 0
             "
-            >确认</view
+            >创建在制品</view
           >
         </view>
       </view>
       <view class="content_table">
-        <batchProductJobBom
+        <!-- <batchProductJobBom
           v-if="
             item.product &&
             item.product.length &&
@@ -212,9 +216,31 @@
           :equipmentList="item.equipmentList"
           @countNumPl="countNumPl"
         >
-        </batchProductJobBom>
+        </batchProductJobBom> -->
 
         <batchProductJobBom
+          v-if="clientEnvironmentId != 3 && item.product && item.product.length"
+          :item="item"
+          :list="item.product"
+          :equipmentList="item.equipmentList"
+          @countNumPl="countNumPl"
+        >
+        </batchProductJobBom>
+
+        <!-- <semiProductJobBomPL
+          v-if="
+            clientEnvironmentId == 3 &&
+            item.semiProductList &&
+            item.semiProductList.length
+          "
+          :item="item"
+          :list="item.semiProductList"
+          :equipmentList="item.equipmentList"
+          @countNumPl="countNumPl"
+        >
+        </semiProductJobBomPL> -->
+
+        <!-- <batchProductJobBom
           v-if="
             item.product &&
             item.product.length &&
@@ -229,7 +255,7 @@
           :equipmentList="item.equipmentList"
           @countNumPl="countNumPl"
         >
-        </batchProductJobBom>
+        </batchProductJobBom> -->
       </view>
     </view>
   </view>
@@ -322,7 +348,7 @@ export default {
     };
   },
   created() {
-    console.log(this.item, "item1313");
+    console.log(this.item, "item13131223223");
     // this.item.product = this.item.pickOutInList;
     let newList = [];
     if (
@@ -375,7 +401,7 @@ export default {
         }
       });
       this.$set(this.item.workReportInfo, "formedNum", adultCount);
-      this.$set(this.notFormedList[0], "notFormedNum", noAdultCount);
+      this.$set(this.item.workReportInfo, "notFormedNum", noAdultCount);
       // this.tableData = this.notFormedList;
       if (!(this.clientEnvironmentId == 3 || this.item.singleReport !== 1)) {
         this.item.semiProductList = tableData;
@@ -410,7 +436,7 @@ export default {
 
       console.log(adultCount, noAdultCount);
       this.$set(this.item.workReportInfo, "formedNum", adultCount);
-      this.$set(this.notFormedList[0], "notFormedNum", noAdultCount);
+      this.$set(this.item.workReportInfo, "notFormedNum", noAdultCount);
     },
 
     getByCode() {
@@ -462,18 +488,18 @@ export default {
           icon: "none",
           title: "请输入合格品数",
         });
-      if (
-        this.notFormedList[0].notFormedNum == "" ||
-        this.notFormedList[0].notFormedNum == null
-      )
-        return uni.showToast({
-          icon: "none",
-          title: "请输入不合格品数",
-        });
+      // if (
+      //   !this.item.workReportInfo.notFormedNum ||
+      //   this.item.workReportInfo.notFormedNum != 0
+      // )
+      //   return uni.showToast({
+      //     icon: "none",
+      //     title: "请输入不合格品数",
+      //   });
 
       const req = {
         formedNum: this.item.workReportInfo.formedNum,
-        notFormedNum: this.notFormedList[0].notFormedNum,
+        notFormedNum: this.item.workReportInfo.notFormedNum || 0,
         taskId: this.item.workReportInfo.taskId,
         workOrderId: this.item.workReportInfo.workOrderId,
       };
@@ -498,18 +524,18 @@ export default {
           icon: "none",
           title: "请输入合格品数",
         });
-      if (
-        this.notFormedList[0].notFormedNum == "" ||
-        this.notFormedList[0].notFormedNum == null
-      )
-        return uni.showToast({
-          icon: "none",
-          title: "请输入不合格品数",
-        });
+      // if (
+      //   !this.item.workReportInfo.notFormedNum ||
+      //   this.item.workReportInfo.notFormedNum != 0
+      // )
+      //   return uni.showToast({
+      //     icon: "none",
+      //     title: "请输入不合格品数",
+      //   });
 
       const req = {
         formedNum: this.item.workReportInfo.formedNum,
-        notFormedNum: this.notFormedList[0].notFormedNum,
+        notFormedNum: this.item.workReportInfo.notFormedNum || 0,
         taskId: this.item.workReportInfo.taskId,
         workOrderId: this.item.workReportInfo.workOrderId,
       };
@@ -520,11 +546,31 @@ export default {
 
           res.map((v) => {
             v.selected = true;
+            v.extInfo.batchReportInfo = [
+              {
+                allFeedQuantity: "",
+                allReportWeight: "",
+                taskId: "",
+                taskName: "",
+              },
+            ];
+
+            v.extInfo.notBatchReportInfo = [
+              {
+                allFeedQuantity: "",
+                notType: "",
+                taskId: "",
+                taskName: "",
+                notReason: "",
+              },
+            ];
           });
-          this.tableData = res;
-          this.item.product = res;
+          this.list = res;
+          this.item.semiProductList = res;
         }
       });
+
+      // console.log(this.item, "this.itemthis.itemthis.itemthis.item12121");
     },
 
     /**
@@ -594,7 +640,7 @@ export default {
             "workReportInfo",
             this.item.formingNum
           );
-          this.$set(this.notFormedList[0], "notFormedNum", 0);
+          this.$set(this.item.workReportInfo, "notFormedNum", 0);
           this.notForme();
           return uni.showToast({
             icon: "none",
@@ -611,7 +657,7 @@ export default {
 
           if (value.formedNum > feedNumber) {
             this.$set(this.item.workReportInfo, "formedNum", feedNumber);
-            this.$set(this.notFormedList[0], "notFormedNum", 0);
+            this.$set(this.item.workReportInfo, "notFormedNum", 0);
             return uni.showToast({
               icon: "none",
               title: "合格品数量不能大于投料数量",
@@ -670,7 +716,7 @@ export default {
 
       total =
         Number(this.item.workReportInfo.formedNum) +
-        Number(this.notFormedList[0].notFormedNum);
+        Number(this.item.workReportInfo.notFormedNum);
 
       console.log(total);
 
@@ -681,7 +727,7 @@ export default {
 
     notForme() {
       let weight =
-        Number(this.notFormedList[0].notFormedNum) *
+        Number(this.item.workReportInfo.notFormedNum) *
         Number(this.item.singleWeight) *
         Number(this.item.weightMultiple);
       if (
@@ -693,7 +739,7 @@ export default {
       } else {
         weight = parseFloat(weight.toFixed(2));
       }
-      this.$set(this.notFormedList[0], "notFormedWeight", weight);
+      this.$set(this.item.workReportInfo, "notFormedWeight", weight);
 
       // if (
       //   this.item.product[0] &&
@@ -728,7 +774,7 @@ export default {
 
     changeNum(value) {
       // 不合格数量
-      let val = value.notFormedNum;
+      let val = value;
       //匹配非数字
       let reg = new RegExp("([^0-9]*)", "g");
       let ma = val.match(reg);
@@ -746,14 +792,14 @@ export default {
       }
 
       // this.$set(this.item.workReportInfo, 'formedNum', val)
-      value.notFormedNum = val;
+      value = val;
 
       console.log(Number(this.item.workReportInfo.formedNum), 1);
-      console.log(Number(this.notFormedList[0].notFormedNum), 2);
+      console.log(Number(this.item.workReportInfo.notFormedNum), 2);
 
       let total =
         Number(this.item.workReportInfo.formedNum) +
-        Number(this.notFormedList[0].notFormedNum);
+        Number(this.item.workReportInfo.notFormedNum);
 
       console.log(total);
 

+ 1 - 1
pages/pda/jobBooking/components/jobBom.vue

@@ -156,7 +156,7 @@
               item.currentTaskDiagram &&
               item.currentTaskDiagram.isFirstTask == 1
             "
-            >确认</view
+            >创建在制品</view
           >
         </view>
       </view>

+ 1109 - 954
pages/pda/jobBooking/components/semiProductJobBomPL.vue

@@ -1,63 +1,95 @@
 <template>
-	<view>
-		<view class="title_box rx-bc">
-			<view class="name"> 报工信息: ({{list.length || 0}})个</view>
-		</view>
-
-
-		<view :class="['material', it.extInfo.reportWeight && it.extInfo.reportWeight && 'materialBor']"
-			v-for="(it, idx) in list" :key="it.id + idx">
-
-
-			<view class="content_table">
-
-				<view class="item rx-sc">
-					<view class="rx">
-						<view class="lable lable190 rx-cc " @click="getDelete2(idx)">
-							<view class="round">{{idx + 1}}</view>
-							<uni-icons custom-prefix="iconfont" type="icon-shanchu" size="16"
-								color="#fa3534"></uni-icons>
-							物料编码
-
-						</view>
-						<view class="content rx-bc">
-							<view>{{it.code}} </view>
-							<view class="tag_box"
-								v-if="Object.prototype.hasOwnProperty.call(it, 'extInfo')  && Object.prototype.hasOwnProperty.call(it.extInfo, 'productionTimes') &&  Object.prototype.hasOwnProperty.call(it.extInfo.productionTimes,item.currentTaskDiagram.taskId) ">
-								{{ it.extInfo.productionTimes[item.currentTaskDiagram.taskId]}}
-							</view>
-
-
-						</view>
-					</view>
-				</view>
-
-				<view class="item rx-sc">
-					<view class="rx">
-						<view class="lable lable150 rx-cc ">名称</view>
-						<view class="content rx-bc">
-
-							<view>{{it.name}} <text v-if="[2, 23,9,28].includes(Number(it.rootCategoryLevelId))">
-									({{it.rootCategoryLevelId == 2 ? '在制品' :  it.rootCategoryLevelId == 23 ? '半成品' :  it.rootCategoryLevelId == 9 ? '产品' :   it.rootCategoryLevelId == 28 ? '废品' : '' }})
-								</text> </view>
-
-							<view class="tag_box " v-if="it.isCache" style="margin-right: -36rpx;">缓</view>
-						</view>
-					</view>
-				</view>
-
-				<view class="item rx-sc">
-					<view class="rx">
-						<view class="lable lable150 rx-cc ">型号</view>
-						<view class="content rx-sc">
-							<view>{{it.modelType}}</view>
-						</view>
-					</view>
-				</view>
-
-
-
-				<!-- <view class="item rx-sc">
+  <view>
+    <view class="title_box rx-bc">
+      <view class="name"> 报工信息: ({{ list.length || 0 }})个</view>
+    </view>
+
+    <view
+      :class="[
+        'material',
+        it.extInfo.reportWeight && it.extInfo.reportWeight && 'materialBor',
+      ]"
+      v-for="(it, idx) in list"
+      :key="it.id + idx"
+    >
+      <view class="content_table">
+        <view class="item rx-sc">
+          <view class="rx">
+            <view class="lable lable190 rx-cc" @click="getDelete2(idx)">
+              <view class="round">{{ idx + 1 }}</view>
+              <uni-icons
+                custom-prefix="iconfont"
+                type="icon-shanchu"
+                size="16"
+                color="#fa3534"
+              ></uni-icons>
+              物料编码
+            </view>
+            <view class="content rx-bc">
+              <view>{{ it.code }} </view>
+              <view
+                class="tag_box"
+                v-if="
+                  Object.prototype.hasOwnProperty.call(it, 'extInfo') &&
+                  Object.prototype.hasOwnProperty.call(
+                    it.extInfo,
+                    'productionTimes'
+                  ) &&
+                  Object.prototype.hasOwnProperty.call(
+                    it.extInfo.productionTimes,
+                    item.currentTaskDiagram.taskId
+                  )
+                "
+              >
+                {{ it.extInfo.productionTimes[item.currentTaskDiagram.taskId] }}
+              </view>
+            </view>
+          </view>
+        </view>
+
+        <view class="item rx-sc">
+          <view class="rx">
+            <view class="lable lable150 rx-cc">名称</view>
+            <view class="content rx-bc">
+              <view
+                >{{ it.name }}
+                <text
+                  v-if="[2, 23, 9, 28].includes(Number(it.rootCategoryLevelId))"
+                >
+                  ({{
+                    it.rootCategoryLevelId == 2
+                      ? "在制品"
+                      : it.rootCategoryLevelId == 23
+                      ? "半成品"
+                      : it.rootCategoryLevelId == 9
+                      ? "产品"
+                      : it.rootCategoryLevelId == 28
+                      ? "废品"
+                      : ""
+                  }})
+                </text>
+              </view>
+
+              <view
+                class="tag_box"
+                v-if="it.isCache"
+                style="margin-right: -36rpx"
+                >缓</view
+              >
+            </view>
+          </view>
+        </view>
+
+        <view class="item rx-sc">
+          <view class="rx">
+            <view class="lable lable150 rx-cc">型号</view>
+            <view class="content rx-sc">
+              <view>{{ it.modelType }}</view>
+            </view>
+          </view>
+        </view>
+
+        <!-- <view class="item rx-sc">
 					<view class="rx ww50">
 						<view class="lable lable150 rx-cc ">设备</view>
 						<view class="content rx-sc">
@@ -77,904 +109,1027 @@
 
 				</view> -->
 
-
-				<view class="item rx-sc">
-					<view class="rx">
-						<view class="lable lable190 rx-cc ">{{ it.extInfo.newWeight ? '上道工序总重量' : '物料总重量' }}(
-							{{it.extInfo.weightUnit}})
-						</view>
-						<view class="content content_num rx-sc">
-
-							<view v-if="it.extInfo.newWeight">{{it.extInfo.newWeight }}
-							</view>
-							<input v-else class="uni-input" size="mini" v-model="it.extInfo.weight"></input>
-						</view>
-					</view>
-				</view>
-
-				<view class="item rx-sc">
-
-
-					<view class="rx ww50">
-						<view class="lable lable150  rx-cc ">投料数量</view>
-						<view class="content content_num ">
-							<view style="color:#157A2C;">{{it.feedQuantity }}</view>
-						</view>
-
-					</view>
-
-					<view class="rx ww50">
-						<view class="lable lable150 rx-cc ">投料类型</view>
-						<view class="content rx-sc" style="color:#157A2C;">
-							<view>批量投料</view>
-						</view>
-					</view>
-
-
-				</view>
-
-			</view>
-			
-			<view class="content_table2">
-				<view class="head row rx-sc">
-					<view class="item ww15" style="font-size: 20rpx;">
-						合格品数量
-					</view>
-					<view class="item ww25">报工总重量/{{it.extInfo.weightUnit}} </view>
-					<view class="item ww20" style="font-size: 20rpx;">
-						设备
-					</view>
-					<view class="item ww20" style="font-size: 20rpx;">
-						炉次号
-					</view>
-					<view class="item ww20 rx-bc">
-						<text>处置</text>
-						<image v-if='!isDetails' class="icon" @click="handAddListPL(it, idx)"
-							src="~@/static/pda/add.svg" style="width: 46rpx;height: 46rpx;margin-right: 12rpx;"></image>
-
-					</view>
-					<view class="item ww10 ">
-						操作
-					</view>
-				</view>
-
-				<view class="table">
-					<view class="tr row rx-sc" v-for="(yy, yyIdx) in it.extInfo.batchReportInfo">
-						<view class="item ww15 content_num">
-							<view v-if='isDetails'>{{yy.allFeedQuantity }}</view>
-							<input class="uni-input" v-else v-model="yy.allFeedQuantity"
-								@input="blurNum($event,idx, yyIdx)" type='number' v-show="keyYes"></input>
-						</view>
-						<view class="item ww25 content_num">
-							<view v-if='isDetails'>{{yy.allReportWeight }}</view>
-							<input class="uni-input" v-else v-model="yy.allReportWeight" type='digit' @input="blurWeight(it, idx, yyIdx)"></input>
-						</view>
-						<view class="item ww20 content_num">
-							<view v-if='isDetails'>{{yy.deviceName }}</view>
-							<zxz-uni-data-select v-else :localdata="deviceList" v-model="yy.deviceId" dataValue='instanceId'
-									format='{name}' dataKey="instanceId" filterable
-								@change=" e => selectValBatch(e, it, idx, yyIdx)" :clear='false'></zxz-uni-data-select>
-						</view>
-						<view class="item ww20 content_num">
-							<view v-if='isDetails'>{{yy.heatNumber }}</view>
-							<input class="uni-input" v-else v-model="yy.heatNumber" type='digit'></input>
-						</view>
-
-
-
-						<view class="item ww20" v-if='isDetails'>
-							{{ yy.taskName}}
-						</view>
-
-						<view class="item ww20" v-else>
-							<zxz-uni-data-select :localdata="stepsList" v-model="yy.taskId" dataValue='taskId'
-								format='{taskTypeName}' dataKey="taskId" filterable
-								@change=" e => yy.taskName = e.taskTypeName" :clear='false'></zxz-uni-data-select>
-						</view>
-
-						<view class="item ww10">
-							<uni-icons v-if='!isDetails' custom-prefix="iconfont" type="icon-shanchu" size="16"
-								@click="handDel3(idx, yyIdx)" color="#fa3534"></uni-icons>
-						</view>
-
-
-					</view>
-
-				</view>
-
-			</view>
-
-
-
-
-
-			<view class="content_table2">
-				<view class="head row rx-sc">
-					<view class="item ww10" style="font-size: 20rpx;">
-						不合格数
-					</view>
-					
-					<view class="item ww10" style="font-size: 20rpx;">
-						重量
-					</view>
-					
-					<view class="item ww15">类型</view>
-					<view class="item ww15" style="font-size: 20rpx;">
-						设备
-					</view>
-					<view class="item ww15" style="font-size: 20rpx;">
-						炉次号
-					</view>
-					<view class="item ww25 rx-bc">
-						<text>处置/原因</text>
-						<image v-if='!isDetails' class="icon" @click="handAddListPL4(it, idx)"
-							src="~@/static/pda/add.svg" style="width: 46rpx;height: 46rpx;margin-right: 12rpx;"></image>
-
-					</view>
-					<view class="item ww10 ">
-						操作
-					</view>
-				</view>
-
-				<view class="table">
-					<view class="tr row rx-sc" v-for="(yy, yyIdx) in it.extInfo.notBatchReportInfo" :key="'not'+ idx + yyIdx">
-						<view class="item ww10 content_num">
-							<view v-if='isDetails'>{{yy.allFeedQuantity }}</view>
-							<input class="uni-input" v-else v-model="yy.allFeedQuantity"
-								@input="blurNum2($event,idx, yyIdx)" type='number' v-show="keyNo"></input>
-						</view>
-						
-						<view class="item ww10 content_num">
-							<view v-if='isDetails'>{{yy.allReportWeight }}</view>
-							<input class="uni-input" v-else v-model="yy.allReportWeight"
-								 type='number' @input="blurWeight2(it, idx, yyIdx)" ></input>
-						</view>
-						
-						<view class="item ww15 content_num">
-							<zxz-uni-data-select :localdata="notTypeList" v-model="yy.notType" dataValue='code'
-								format='{name}' dataKey="code" filterable :disabled="isDetails" @change="handLoad()"
-								:clear='false'></zxz-uni-data-select>
-						</view>
-						
-						<view class="item ww15 content_num">
-							<view v-if='isDetails'>{{yy.deviceName }}</view>
-							<zxz-uni-data-select :localdata="deviceList" v-model="yy.deviceId" dataValue='instanceId'
-									format='{name}' dataKey="instanceId" filterable
-								@change=" e => selectValNoBatch(e, it, idx, yyIdx)" :clear='false'></zxz-uni-data-select>
-						</view>
-						<view class="item ww15 content_num">
-							<view v-if='isDetails'>{{yy.heatNumber }}</view>
-							<input class="uni-input" v-else v-model="yy.heatNumber" ></input>
-						</view>
-						
-                       <view class="item ww25" v-if='isDetails'>
-							{{ yy.notType == 5 ? yy.taskName : yy.notReason}}
-						</view>
-
-						<view class="item ww25 content_num" v-if="!isDetails && yy.notType == 5">
-
-							<zxz-uni-data-select :localdata="stepsList" v-model="yy.taskId" dataValue='taskId'
-								format='{taskTypeName}' dataKey="taskId" filterable
-								@change=" e => yy.taskName = e.taskTypeName" :clear='false'></zxz-uni-data-select>
-
-
-						</view>
-						<view class="item ww25 content_num" v-if="!isDetails && yy.notType != 5">
-							<input class="uni-input" v-if="yy.notType != 5 " v-model="yy.notReason"></input>
-						</view>
-
-						<view class="item ww10">
-							<uni-icons v-if='!isDetails' custom-prefix="iconfont" type="icon-shanchu" size="16"
-								@click="handDel4(idx, yyIdx)" color="#fa3534"></uni-icons>
-						</view>
-
-
-					</view>
-
-				</view>
-
-			</view>
-
-
-
-		</view>
-
-
-
-
-
-
-	</view>
+        <view class="item rx-sc">
+          <view class="rx">
+            <view class="lable lable190 rx-cc"
+              >{{ it.extInfo.newWeight ? "上道工序总重量" : "物料总重量" }}(
+              {{ it.extInfo.weightUnit }})
+            </view>
+            <view class="content content_num rx-sc">
+              <view v-if="it.extInfo.newWeight"
+                >{{ it.extInfo.newWeight }}
+              </view>
+              <input
+                v-else
+                class="uni-input"
+                size="mini"
+                v-model="it.extInfo.weight"
+              />
+            </view>
+          </view>
+        </view>
+
+        <view class="item rx-sc">
+          <view class="rx ww50">
+            <view class="lable lable150 rx-cc">投料数量</view>
+            <view class="content content_num">
+              <view style="color: #157a2c">{{ it.feedQuantity }}</view>
+            </view>
+          </view>
+
+          <view class="rx ww50">
+            <view class="lable lable150 rx-cc">投料类型</view>
+            <view class="content rx-sc" style="color: #157a2c">
+              <view>批量投料</view>
+            </view>
+          </view>
+        </view>
+      </view>
+
+      <view class="content_table2">
+        <view class="head row rx-sc">
+          <view class="item ww15" style="font-size: 20rpx"> 合格品数量 </view>
+          <view class="item ww25">报工总重量/{{ it.extInfo.weightUnit }} </view>
+          <view class="item ww20" style="font-size: 20rpx"> 设备 </view>
+          <view class="item ww20" style="font-size: 20rpx"> 炉次号 </view>
+          <view class="item ww20 rx-bc">
+            <text>处置</text>
+            <image
+              v-if="!isDetails"
+              class="icon"
+              @click="handAddListPL(it, idx)"
+              src="~@/static/pda/add.svg"
+              style="width: 46rpx; height: 46rpx; margin-right: 12rpx"
+            ></image>
+          </view>
+          <view class="item ww10"> 操作 </view>
+        </view>
+
+        <view class="table">
+          <view
+            class="tr row rx-sc"
+            v-for="(yy, yyIdx) in it.extInfo.batchReportInfo"
+          >
+            <view class="item ww15 content_num">
+              <view v-if="isDetails">{{ yy.allFeedQuantity }}</view>
+              <input
+                class="uni-input"
+                v-else
+                v-model="yy.allFeedQuantity"
+                @input="blurNum($event, idx, yyIdx)"
+                type="number"
+                v-show="keyYes"
+              />
+            </view>
+            <view class="item ww25 content_num">
+              <view v-if="isDetails">{{ yy.allReportWeight }}</view>
+              <input
+                class="uni-input"
+                v-else
+                v-model="yy.allReportWeight"
+                type="digit"
+                @input="blurWeight(it, idx, yyIdx)"
+              />
+            </view>
+            <view class="item ww20 content_num">
+              <view v-if="isDetails">{{ yy.deviceName }}</view>
+              <zxz-uni-data-select
+                v-else
+                :localdata="deviceList"
+                v-model="yy.deviceId"
+                dataValue="instanceId"
+                format="{name}"
+                dataKey="instanceId"
+                filterable
+                @change="(e) => selectValBatch(e, it, idx, yyIdx)"
+                :clear="false"
+              ></zxz-uni-data-select>
+            </view>
+            <view class="item ww20 content_num">
+              <view v-if="isDetails">{{ yy.heatNumber }}</view>
+              <input
+                class="uni-input"
+                v-else
+                v-model="yy.heatNumber"
+                type="digit"
+              />
+            </view>
+
+            <view class="item ww20" v-if="isDetails">
+              {{ yy.taskName }}
+            </view>
+
+            <view class="item ww20" v-else>
+              <zxz-uni-data-select
+                :localdata="stepsList"
+                v-model="yy.taskId"
+                dataValue="taskId"
+                format="{taskTypeName}"
+                dataKey="taskId"
+                filterable
+                @change="(e) => (yy.taskName = e.taskTypeName)"
+                :clear="false"
+              ></zxz-uni-data-select>
+            </view>
+
+            <view class="item ww10">
+              <uni-icons
+                v-if="!isDetails"
+                custom-prefix="iconfont"
+                type="icon-shanchu"
+                size="16"
+                @click="handDel3(idx, yyIdx)"
+                color="#fa3534"
+              ></uni-icons>
+            </view>
+          </view>
+        </view>
+      </view>
+
+      <view class="content_table2">
+        <view class="head row rx-sc">
+          <view class="item ww15" style="font-size: 20rpx"> 不合格数 </view>
+
+          <view class="item ww10" style="font-size: 20rpx"> 重量 </view>
+
+          <view class="item ww15">类型</view>
+          <view class="item ww15" style="font-size: 20rpx"> 设备 </view>
+          <view class="item ww15" style="font-size: 20rpx"> 炉次号 </view>
+          <view class="item ww25 rx-bc">
+            <text>处置/原因</text>
+            <image
+              v-if="!isDetails"
+              class="icon"
+              @click="handAddListPL4(it, idx)"
+              src="~@/static/pda/add.svg"
+              style="width: 46rpx; height: 46rpx; margin-right: 12rpx"
+            ></image>
+          </view>
+          <view class="item ww10"> 操作 </view>
+        </view>
+
+        <view class="table">
+          <view
+            class="tr row rx-sc"
+            v-for="(yy, yyIdx) in it.extInfo.notBatchReportInfo"
+            :key="'not' + idx + yyIdx"
+          >
+            <view class="item ww10 content_num">
+              <view v-if="isDetails">{{ yy.allFeedQuantity }}</view>
+              <input
+                class="uni-input"
+                v-else
+                v-model="yy.allFeedQuantity"
+                @input="blurNum2($event, idx, yyIdx)"
+                type="number"
+                v-show="keyNo"
+              />
+            </view>
+
+            <view class="item ww10 content_num">
+              <view v-if="isDetails">{{ yy.allReportWeight }}</view>
+              <input
+                class="uni-input"
+                v-else
+                v-model="yy.allReportWeight"
+                type="number"
+                @input="blurWeight2(it, idx, yyIdx)"
+              />
+            </view>
+
+            <view class="item ww15 content_num">
+              <zxz-uni-data-select
+                :localdata="notTypeList"
+                v-model="yy.notType"
+                dataValue="code"
+                format="{name}"
+                dataKey="code"
+                filterable
+                :disabled="isDetails"
+                @change="handLoad()"
+                :clear="false"
+              ></zxz-uni-data-select>
+            </view>
+
+            <view class="item ww15 content_num">
+              <view v-if="isDetails">{{ yy.deviceName }}</view>
+              <zxz-uni-data-select
+                :localdata="deviceList"
+                v-model="yy.deviceId"
+                dataValue="instanceId"
+                format="{name}"
+                dataKey="instanceId"
+                filterable
+                @change="(e) => selectValNoBatch(e, it, idx, yyIdx)"
+                :clear="false"
+              ></zxz-uni-data-select>
+            </view>
+            <view class="item ww15 content_num">
+              <view v-if="isDetails">{{ yy.heatNumber }}</view>
+              <input class="uni-input" v-else v-model="yy.heatNumber" />
+            </view>
+
+            <view class="item ww25" v-if="isDetails">
+              {{ yy.notType == 5 ? yy.taskName : yy.notReason }}
+            </view>
+
+            <view
+              class="item ww25 content_num"
+              v-if="!isDetails && yy.notType == 5"
+            >
+              <zxz-uni-data-select
+                :localdata="stepsList"
+                v-model="yy.taskId"
+                dataValue="taskId"
+                format="{taskTypeName}"
+                dataKey="taskId"
+                filterable
+                @change="(e) => (yy.taskName = e.taskTypeName)"
+                :clear="false"
+              ></zxz-uni-data-select>
+            </view>
+            <view
+              class="item ww25 content_num"
+              v-if="!isDetails && yy.notType != 5"
+            >
+              <input
+                class="uni-input"
+                v-if="yy.notType != 5"
+                v-model="yy.notReason"
+              />
+            </view>
+
+            <view class="item ww10">
+              <uni-icons
+                v-if="!isDetails"
+                custom-prefix="iconfont"
+                type="icon-shanchu"
+                size="16"
+                @click="handDel4(idx, yyIdx)"
+                color="#fa3534"
+              ></uni-icons>
+            </view>
+          </view>
+        </view>
+      </view>
+    </view>
+  </view>
 </template>
 
 <script>
-	import {
-		getTaskInstanceList
-	} from '@/api/pda/workOrder.js'
-
-
-	export default {
-		props: {
-			item: {
-				type: Object,
-				default: () => {}
-			},
-
-			list: {
-				type: Array,
-				default: () => []
-			},
-
-			isDetails: {
-				type: Boolean,
-				default: false
-
-			},
-
-			equipmentList: {
-				type: Array,
-				default: () => []
-			},
-
-
-		},
-
-		watch: {
-			equipmentList: {
-				immediate: true,
-				deep: true,
-				handler(newVal) {
-					// this.deviceList = newVal
-					//设备下拉框数据来源
-					let newData=JSON.parse(JSON.stringify(newVal))
-					if(this.isDetails){
-						this.deviceList = newData;
-					}else{
-						this.deviceArr(newData)
-					}
-					
-					this.changeHeatNumber()
-				}
-			},
-		},
-
-
-		data() {
-			return {
-
-
-
-				stepsList: [],
-
-
-
-
-				deviceList: [],
-
-				notTypeList: [{
-						code: "1",
-						name: '返工'
-					},
-					{
-						code: "2",
-						name: '返修'
-					},
-					{
-						code: "3",
-						name: '报废'
-					},
-					{
-						code: '4',
-						name: '降级使用'
-					},
-					{
-						code: "5",
-						name: '让步接收'
-					}
-				],
-				keyNo:'1',
-				keyYes:'1'
-
-
-
-
-
-
-			}
-		},
-		created() {
-
-			this.getSteps()
-
-			console.log(this.list)
-
-		},
-		mounted(){
-		    this.theFirst()
-		},
-		methods: {
-			theFirst(){
-				if(this.deviceList.length>0){
-				  let obj = this.deviceList[0];
-				 
-				 this.list.map((item,index)=>{
-				   this.$set(this.list[index].extInfo.batchReportInfo[0],'deviceName',obj.name)
-				   this.$set(this.list[index].extInfo.batchReportInfo[0], 'heatNumber',obj.extInfo.heatNumber)
-				   this.$set(this.list[index].extInfo.batchReportInfo[0],'deviceId',obj.instanceId)
-				   this.$set(this.list[index].extInfo.notBatchReportInfo[0],'deviceName',obj.name)
-				   this.$set(this.list[index].extInfo.notBatchReportInfo[0], 'heatNumber',obj.extInfo.heatNumber)
-				   this.$set(this.list[index].extInfo.notBatchReportInfo[0],'deviceId',obj.instanceId)
-				 
-				 })
-				}
-		  },
-			getSteps() {
-				getTaskInstanceList(this.item.workOrderId).then(res => {
-					if (this.item.singleReport == 1) {
-						this.stepsList = res
-					} else {
-						this.stepsList = res.filter(f => f.type != 6);
-					}
-
-				})
-			},
-			deviceArr(data){
-				data.forEach((o,i) => {
-					o.id=o.id ? o.id.toString()+'/'+i : '';
-					o.instanceId=o.instanceId ? o.instanceId.toString()+'/'+i : '';
-				})
-		
-				this.deviceList = data;
-				if (this.deviceList.length == 0) {
-					this.list.forEach((o,index) => {
-					  //碳谷合格分批设备炉次号
-					  o.extInfo.batchReportInfo.map((report,ridx)=>{
-						this.$set(this.list[index].extInfo.batchReportInfo[ridx],'deviceName',this.deviceList[0].name)
-						this.$set(this.list[index].extInfo.batchReportInfo[ridx],'deviceId',this.deviceList[0].id||this.deviceList[0].instanceId)
-						//炉次号
-						this.$set(this.list[index].extInfo.batchReportInfo[ridx], 'heatNumber',this.deviceList[0].extInfo.heatNumber)
-					  })
-					  o.extInfo.notBatchReportInfo.map((noReport,noidx)=>{
-						this.$set(this.list[index].extInfo.notBatchReportInfo[noidx],'deviceName',this.deviceList[0].name)
-						this.$set(this.list[index].extInfo.notBatchReportInfo[noidx],'deviceId',this.deviceList[0].id||this.deviceList[0].instanceId)
-						//炉次号
-						this.$set(this.list[index].extInfo.notBatchReportInfo[noidx], 'heatNumber',this.deviceList[0].extInfo.heatNumber)
-					  })
-					  //碳谷合格分批设备炉次号
-					  this.$forceUpdate();
-					
-					})
-				  }
-			},
-
-
-			handAddListPL(it, idx) {
-				let deviceid=''
-				if(this.deviceList.length>0){
-				    deviceid=this.deviceList[0].id||this.deviceList[0].instanceId
-				}
-				this.list[idx].extInfo.batchReportInfo.push({
-					allFeedQuantity: '',
-					allReportWeight: '',
-					taskId: '',
-					taskName: '',
-					deviceId: deviceid?deviceid:'',
-					deviceName:this.deviceList.length>0?this.deviceList[0].deviceName:'',
-					heatNumber: this.deviceList.length>0?this.deviceList[0].extInfo.heatNumber:'',
-				})
-				this.$forceUpdate()
-			},
-
-			handDel3(idx, yyIdx) {
-				this.list[idx].extInfo.batchReportInfo.splice(yyIdx, 1)
-			},
-
-			blurNum(event, idx, yyIdx) {
-
-				let value = event.target.value;
-				value = value.replace(/\./g, '');
-				this.$set(this.list[idx].extInfo.batchReportInfo[yyIdx], 'allFeedQuantity', value);
-
-				let count = 0
-				this.list[idx].extInfo.batchReportInfo.forEach(m => {
-					count = count + Number(m.allFeedQuantity || 0)
-				})
-				
-					let count2 = 0
-				this.list[idx].extInfo.notBatchReportInfo.forEach(m => {
-					count2 = count2 + Number(m.allFeedQuantity || 0)
-				})
-				
-                this.keyYes=false;
-				if (Number(count + count2) > this.list[idx].feedQuantity) {
-					this.$set(this.list[idx].extInfo.batchReportInfo[yyIdx], 'allFeedQuantity', 0)
-					this.$forceUpdate()
-					this.keyYes=true;
-					uni.showToast({
-						title: `投料数不能大于投料数量`,
-						icon: 'none'
-					})
-				   this.$emit('countNumPl',this.list,idx)
-				}else{
-					this.keyYes=true;
-					this.$emit('countNumPl',this.list,idx)
-				}
-			},
-			blurWeight(it, idx, yyIdx) {
-				this.$emit('countNumPl',this.list,idx)
-			  },
-			  blurWeight2(it, idx, yyIdx) {
-				  this.$emit('countNumPl',this.list,idx)
-				},
-			
-			
-			blurNum2(event, idx, yyIdx) {
-			
-				// let value = event.target.value;
-				// value = value.replace(/\./g, '');
-				// this.$set(this.list[idx].extInfo.notBatchReportInfo[yyIdx], 'allFeedQuantity', value);
-			
-				let count = 0
-				this.list[idx].extInfo.batchReportInfo.forEach(m => {
-					count = count + Number(m.allFeedQuantity || 0)
-				})
-				
-					let count2 = 0
-				this.list[idx].extInfo.notBatchReportInfo.forEach(m => {
-					count2 = count2 + Number(m.allFeedQuantity || 0)
-				})
-				
-			    this.keyNo=false;
-				if (Number(count + count2) > this.list[idx].feedQuantity) {
-				   this.$set(this.list[idx].extInfo.notBatchReportInfo[yyIdx], 'allFeedQuantity', 0)
-			       this.$nextTick(()=>{
-					   // this.$set(this.list[idx].extInfo.notBatchReportInfo[yyIdx], 'allFeedQuantity', 0)
-				   })
-				   this.keyNo=true;
-				    this.$forceUpdate()
-			
-					uni.showToast({
-						title: `投料数不能大于投料数量`,
-						icon: 'none'
-					})
-					this.$emit('countNumPl',this.list,idx)
-				}else{
-					this.keyNo=true;
-					this.$emit('countNumPl',this.list,idx)
-				}
-			},
-
-
-			getDelete2(idx) {
-				uni.showModal({
-					title: '删除',
-					content: '是否确实删除此物料!',
-					confirmText: '确认', //这块是确定按钮的文字
-					success: rr => {
-						if (rr.confirm) {
-							this.list.splice(idx, 1)
-						}
-
-					}
-				})
-			},
-			
-			selectValBatch(e, item, idx,bidx){
-				 let obj = this.deviceList.find((f) => f.id||f.instanceId == e.instanceId);
-				 //设备名称
-				 this.$set(this.list[idx].extInfo.batchReportInfo[bidx],'deviceName',obj.name)
-				 //炉次号
-				 this.$set(this.list[idx].extInfo.batchReportInfo[bidx], 'heatNumber',obj.extInfo.heatNumber)
-				 //设备id
-				 this.$set(this.list[idx].extInfo.batchReportInfo[bidx],'deviceId',obj.id||obj.instanceId)
-				 this.$forceUpdate();
-			},
-			selectValNoBatch(e, item, idx,bidx){
-			    let obj = this.deviceList.find((f) => f.id||f.instanceId == e.instanceId);
-			    //设备名称
-			    this.$set(this.list[idx].extInfo.notBatchReportInfo[bidx],'deviceName',obj.name)
-			    //炉次号
-			    this.$set(this.list[idx].extInfo.notBatchReportInfo[bidx], 'heatNumber',obj.extInfo.heatNumber)
-			    //设备id
-			    this.$set(this.list[idx].extInfo.notBatchReportInfo[bidx],'deviceId',obj.id||obj.instanceId)
-				console.log('456',this.list[idx].extInfo.notBatchReportInfo[bidx])
-				this.$forceUpdate();
-			},
-			
-	
-			handAddListPL4(it, idx) {
-				let deviceid=''
-				if(this.deviceList.length>0){
-				     deviceid=this.deviceList[0].id||this.deviceList[0].instanceId
-				}
-				this.list[idx].extInfo.notBatchReportInfo.push({
-					allFeedQuantity: '',
-					allReportWeight: '',
-					notType: '',
-					taskId: '',
-					taskName: '',
-					notReason: '',
-					deviceId: deviceid?deviceid:'',
-					deviceName:this.deviceList.length>0?this.deviceList[0].deviceName:'',
-					heatNumber: this.deviceList.length>0?this.deviceList[0].extInfo.heatNumber:''
-				})
-				this.$forceUpdate()
-			},
-
-			handDel4(idx, yyIdx) {
-				this.list[idx].extInfo.notBatchReportInfo.splice(yyIdx, 1)
-				this.$forceUpdate()
-			},
-
-			handLoad() {
-				this.$forceUpdate()
-			},
-
-
-
-			changeHeatNumber() {
-				this.deviceList.forEach((f) => {
-				          this.list.forEach((o,index) => {
-				            //  o.deviceId &&
-				            //   f.instanceId == o.deviceId &&
-				            if (
-				              this.deviceList.length > 1
-				            ) {
-				              // o.extInfo.heatNumber = f.extInfo.heatNumber;
-				              this.$set(this.list[index].extInfo,'heatNumber',f.extInfo.heatNumber)
-				
-				              //碳谷合格分批设备炉次号
-				              o.extInfo.batchReportInfo.map((report,ridx)=>{
-				                if(report.deviceId==f.instanceId){
-				                   this.$set(this.list[index].extInfo.batchReportInfo[ridx],'heatNumber',f.extInfo.heatNumber)
-				                }
-				              })
-				              o.extInfo.notBatchReportInfo.map((noReport,noidx)=>{
-				                if(noReport.deviceId==f.instanceId){
-				                   this.$set(this.list[index].extInfo.notBatchReportInfo[noidx],'heatNumber',f.extInfo.heatNumber)
-				                }
-				              })
-				              this.$forceUpdate();
-				              
-				            } else if (this.deviceList.length == 1) {
-				              o['deviceId'] = this.deviceList[0].id;
-				              // o.extInfo.heatNumber = this.deviceList[0].extInfo.heatNumber;
-				              this.$set(this.list[index].extInfo,'heatNumber',this.deviceList[0].extInfo.heatNumber)
-				              
-				               //碳谷合格分批设备炉次号
-				              o.extInfo.batchReportInfo.map((report,ridx)=>{
-				                this.$set(this.list[index].extInfo.batchReportInfo[ridx],'deviceId',this.deviceList[0].instanceId)
-				                this.$set(this.list[index].extInfo.batchReportInfo[ridx],'heatNumber',this.deviceList[0].extInfo.heatNumber)
-				                this.$set(this.list[index].extInfo.batchReportInfo[ridx],'deviceName',this.deviceList[0].extInfo.name)
-				              })
-				              //碳谷合格分批设备炉次号
-				              o.extInfo.notBatchReportInfo.map((noReport,noidx)=>{
-				                this.$set(this.list[index].extInfo.notBatchReportInfo[noidx],'deviceId',this.deviceList[0].instanceId)
-				                this.$set(this.list[index].extInfo.notBatchReportInfo[noidx],'heatNumber',this.deviceList[0].extInfo.heatNumber)
-				                this.$set(this.list[index].extInfo.notBatchReportInfo[noidx],'deviceName',this.deviceList[0].extInfo.name)
-				              })
-				
-				              this.$forceUpdate();
-				            }
-				          });
-				        });
-			},
-
-			toFixedFn(weight, num) {
-				let total = Number(weight) * Number(num)
-				return total.toFixed(2)
-			}
-
-		}
-	}
+import { getTaskInstanceList } from "@/api/pda/workOrder.js";
+
+export default {
+  props: {
+    item: {
+      type: Object,
+      default: () => {},
+    },
+
+    list: {
+      type: Array,
+      default: () => [],
+    },
+
+    isDetails: {
+      type: Boolean,
+      default: false,
+    },
+
+    equipmentList: {
+      type: Array,
+      default: () => [],
+    },
+  },
+
+  watch: {
+    equipmentList: {
+      immediate: true,
+      deep: true,
+      handler(newVal) {
+        // this.deviceList = newVal
+        //设备下拉框数据来源
+        let newData = JSON.parse(JSON.stringify(newVal));
+        if (this.isDetails) {
+          this.deviceList = newData;
+        } else {
+          this.deviceArr(newData);
+        }
+
+        this.changeHeatNumber();
+      },
+    },
+  },
+
+  data() {
+    return {
+      stepsList: [],
+
+      deviceList: [],
+
+      notTypeList: [
+        {
+          code: "1",
+          name: "返工",
+        },
+        {
+          code: "2",
+          name: "返修",
+        },
+        {
+          code: "3",
+          name: "报废",
+        },
+        {
+          code: "4",
+          name: "降级使用",
+        },
+        {
+          code: "5",
+          name: "让步接收",
+        },
+      ],
+      keyNo: "1",
+      keyYes: "1",
+    };
+  },
+  created() {
+    this.getSteps();
+
+    console.log(this.list);
+  },
+  mounted() {
+    this.theFirst();
+  },
+  methods: {
+    theFirst() {
+      if (this.deviceList.length > 0) {
+        let obj = this.deviceList[0];
+
+        this.list.map((item, index) => {
+          this.$set(
+            this.list[index].extInfo.batchReportInfo[0],
+            "deviceName",
+            obj.name
+          );
+          this.$set(
+            this.list[index].extInfo.batchReportInfo[0],
+            "heatNumber",
+            obj.extInfo.heatNumber
+          );
+          this.$set(
+            this.list[index].extInfo.batchReportInfo[0],
+            "deviceId",
+            obj.instanceId
+          );
+          this.$set(
+            this.list[index].extInfo.notBatchReportInfo[0],
+            "deviceName",
+            obj.name
+          );
+          this.$set(
+            this.list[index].extInfo.notBatchReportInfo[0],
+            "heatNumber",
+            obj.extInfo.heatNumber
+          );
+          this.$set(
+            this.list[index].extInfo.notBatchReportInfo[0],
+            "deviceId",
+            obj.instanceId
+          );
+        });
+      }
+    },
+    getSteps() {
+      getTaskInstanceList(this.item.workOrderId).then((res) => {
+        if (this.item.singleReport == 1) {
+          this.stepsList = res;
+        } else {
+          this.stepsList = res.filter((f) => f.type != 6);
+        }
+      });
+    },
+    deviceArr(data) {
+      data.forEach((o, i) => {
+        o.id = o.id ? o.id.toString() + "/" + i : "";
+        o.instanceId = o.instanceId ? o.instanceId.toString() + "/" + i : "";
+      });
+
+      this.deviceList = data;
+      if (this.deviceList.length == 0) {
+        this.list.forEach((o, index) => {
+          //碳谷合格分批设备炉次号
+          o.extInfo.batchReportInfo.map((report, ridx) => {
+            this.$set(
+              this.list[index].extInfo.batchReportInfo[ridx],
+              "deviceName",
+              this.deviceList[0].name
+            );
+            this.$set(
+              this.list[index].extInfo.batchReportInfo[ridx],
+              "deviceId",
+              this.deviceList[0].id || this.deviceList[0].instanceId
+            );
+            //炉次号
+            this.$set(
+              this.list[index].extInfo.batchReportInfo[ridx],
+              "heatNumber",
+              this.deviceList[0].extInfo.heatNumber
+            );
+          });
+          o.extInfo.notBatchReportInfo.map((noReport, noidx) => {
+            this.$set(
+              this.list[index].extInfo.notBatchReportInfo[noidx],
+              "deviceName",
+              this.deviceList[0].name
+            );
+            this.$set(
+              this.list[index].extInfo.notBatchReportInfo[noidx],
+              "deviceId",
+              this.deviceList[0].id || this.deviceList[0].instanceId
+            );
+            //炉次号
+            this.$set(
+              this.list[index].extInfo.notBatchReportInfo[noidx],
+              "heatNumber",
+              this.deviceList[0].extInfo.heatNumber
+            );
+          });
+          //碳谷合格分批设备炉次号
+          this.$forceUpdate();
+        });
+      }
+    },
+
+    handAddListPL(it, idx) {
+      let deviceid = "";
+      if (this.deviceList.length > 0) {
+        deviceid = this.deviceList[0].id || this.deviceList[0].instanceId;
+      }
+      this.list[idx].extInfo.batchReportInfo.push({
+        allFeedQuantity: "",
+        allReportWeight: "",
+        taskId: "",
+        taskName: "",
+        deviceId: deviceid ? deviceid : "",
+        deviceName:
+          this.deviceList.length > 0 ? this.deviceList[0].deviceName : "",
+        heatNumber:
+          this.deviceList.length > 0
+            ? this.deviceList[0].extInfo.heatNumber
+            : "",
+      });
+      this.$forceUpdate();
+    },
+
+    handDel3(idx, yyIdx) {
+      this.list[idx].extInfo.batchReportInfo.splice(yyIdx, 1);
+    },
+
+    blurNum(event, idx, yyIdx) {
+      let value = event.target.value;
+      value = value.replace(/\./g, "");
+      this.$set(
+        this.list[idx].extInfo.batchReportInfo[yyIdx],
+        "allFeedQuantity",
+        value
+      );
+
+      let count = 0;
+      this.list[idx].extInfo.batchReportInfo.forEach((m) => {
+        count = count + Number(m.allFeedQuantity || 0);
+      });
+
+      let count2 = 0;
+      this.list[idx].extInfo.notBatchReportInfo.forEach((m) => {
+        count2 = count2 + Number(m.allFeedQuantity || 0);
+      });
+
+      this.keyYes = false;
+      if (Number(count + count2) > this.list[idx].feedQuantity) {
+        this.$set(
+          this.list[idx].extInfo.batchReportInfo[yyIdx],
+          "allFeedQuantity",
+          0
+        );
+        this.$forceUpdate();
+        this.keyYes = true;
+        uni.showToast({
+          title: `投料数不能大于投料数量`,
+          icon: "none",
+        });
+        this.$emit("countNumPl", this.list, idx);
+      } else {
+        this.keyYes = true;
+        this.$emit("countNumPl", this.list, idx);
+      }
+    },
+    blurWeight(it, idx, yyIdx) {
+      this.$emit("countNumPl", this.list, idx);
+    },
+    blurWeight2(it, idx, yyIdx) {
+      this.$emit("countNumPl", this.list, idx);
+    },
+
+    blurNum2(event, idx, yyIdx) {
+      // let value = event.target.value;
+      // value = value.replace(/\./g, '');
+      // this.$set(this.list[idx].extInfo.notBatchReportInfo[yyIdx], 'allFeedQuantity', value);
+
+      let count = 0;
+      this.list[idx].extInfo.batchReportInfo.forEach((m) => {
+        count = count + Number(m.allFeedQuantity || 0);
+      });
+
+      let count2 = 0;
+      this.list[idx].extInfo.notBatchReportInfo.forEach((m) => {
+        count2 = count2 + Number(m.allFeedQuantity || 0);
+      });
+
+      this.keyNo = false;
+      if (Number(count + count2) > this.list[idx].feedQuantity) {
+        this.$set(
+          this.list[idx].extInfo.notBatchReportInfo[yyIdx],
+          "allFeedQuantity",
+          0
+        );
+        this.$nextTick(() => {
+          // this.$set(this.list[idx].extInfo.notBatchReportInfo[yyIdx], 'allFeedQuantity', 0)
+        });
+        this.keyNo = true;
+        this.$forceUpdate();
+
+        uni.showToast({
+          title: `投料数不能大于投料数量`,
+          icon: "none",
+        });
+        this.$emit("countNumPl", this.list, idx);
+      } else {
+        this.keyNo = true;
+        this.$emit("countNumPl", this.list, idx);
+      }
+    },
+
+    getDelete2(idx) {
+      uni.showModal({
+        title: "删除",
+        content: "是否确实删除此物料!",
+        confirmText: "确认", //这块是确定按钮的文字
+        success: (rr) => {
+          if (rr.confirm) {
+            this.list.splice(idx, 1);
+          }
+        },
+      });
+    },
+
+    selectValBatch(e, item, idx, bidx) {
+      let obj = this.deviceList.find(
+        (f) => f.id || f.instanceId == e.instanceId
+      );
+      //设备名称
+      this.$set(
+        this.list[idx].extInfo.batchReportInfo[bidx],
+        "deviceName",
+        obj.name
+      );
+      //炉次号
+      this.$set(
+        this.list[idx].extInfo.batchReportInfo[bidx],
+        "heatNumber",
+        obj.extInfo.heatNumber
+      );
+      //设备id
+      this.$set(
+        this.list[idx].extInfo.batchReportInfo[bidx],
+        "deviceId",
+        obj.id || obj.instanceId
+      );
+      this.$forceUpdate();
+    },
+    selectValNoBatch(e, item, idx, bidx) {
+      let obj = this.deviceList.find(
+        (f) => f.id || f.instanceId == e.instanceId
+      );
+      //设备名称
+      this.$set(
+        this.list[idx].extInfo.notBatchReportInfo[bidx],
+        "deviceName",
+        obj.name
+      );
+      //炉次号
+      this.$set(
+        this.list[idx].extInfo.notBatchReportInfo[bidx],
+        "heatNumber",
+        obj.extInfo.heatNumber
+      );
+      //设备id
+      this.$set(
+        this.list[idx].extInfo.notBatchReportInfo[bidx],
+        "deviceId",
+        obj.id || obj.instanceId
+      );
+      console.log("456", this.list[idx].extInfo.notBatchReportInfo[bidx]);
+      this.$forceUpdate();
+    },
+
+    handAddListPL4(it, idx) {
+      let deviceid = "";
+      if (this.deviceList.length > 0) {
+        deviceid = this.deviceList[0].id || this.deviceList[0].instanceId;
+      }
+      this.list[idx].extInfo.notBatchReportInfo.push({
+        allFeedQuantity: "",
+        allReportWeight: "",
+        notType: "",
+        taskId: "",
+        taskName: "",
+        notReason: "",
+        deviceId: deviceid ? deviceid : "",
+        deviceName:
+          this.deviceList.length > 0 ? this.deviceList[0].deviceName : "",
+        heatNumber:
+          this.deviceList.length > 0
+            ? this.deviceList[0].extInfo.heatNumber
+            : "",
+      });
+      this.$forceUpdate();
+    },
+
+    handDel4(idx, yyIdx) {
+      this.list[idx].extInfo.notBatchReportInfo.splice(yyIdx, 1);
+      this.$forceUpdate();
+    },
+
+    handLoad() {
+      this.$forceUpdate();
+    },
+
+    changeHeatNumber() {
+      console.log(this.list, "PLList22222");
+      this.deviceList.forEach((f) => {
+        this.list.forEach((o, index) => {
+          //  o.deviceId &&
+          //   f.instanceId == o.deviceId &&
+          if (this.deviceList.length > 1) {
+            // o.extInfo.heatNumber = f.extInfo.heatNumber;
+            this.$set(
+              this.list[index].extInfo,
+              "heatNumber",
+              f.extInfo.heatNumber
+            );
+
+            //碳谷合格分批设备炉次号
+            o.extInfo.batchReportInfo.map((report, ridx) => {
+              if (report.deviceId == f.instanceId) {
+                this.$set(
+                  this.list[index].extInfo.batchReportInfo[ridx],
+                  "heatNumber",
+                  f.extInfo.heatNumber
+                );
+              }
+            });
+            o.extInfo.notBatchReportInfo.map((noReport, noidx) => {
+              if (noReport.deviceId == f.instanceId) {
+                this.$set(
+                  this.list[index].extInfo.notBatchReportInfo[noidx],
+                  "heatNumber",
+                  f.extInfo.heatNumber
+                );
+              }
+            });
+            this.$forceUpdate();
+          } else if (this.deviceList.length == 1) {
+            o["deviceId"] = this.deviceList[0].id;
+            // o.extInfo.heatNumber = this.deviceList[0].extInfo.heatNumber;
+            this.$set(
+              this.list[index].extInfo,
+              "heatNumber",
+              this.deviceList[0].extInfo.heatNumber
+            );
+
+            //碳谷合格分批设备炉次号
+            o.extInfo.batchReportInfo.map((report, ridx) => {
+              this.$set(
+                this.list[index].extInfo.batchReportInfo[ridx],
+                "deviceId",
+                this.deviceList[0].instanceId
+              );
+              this.$set(
+                this.list[index].extInfo.batchReportInfo[ridx],
+                "heatNumber",
+                this.deviceList[0].extInfo.heatNumber
+              );
+              this.$set(
+                this.list[index].extInfo.batchReportInfo[ridx],
+                "deviceName",
+                this.deviceList[0].extInfo.name
+              );
+            });
+            //碳谷合格分批设备炉次号
+            o.extInfo.notBatchReportInfo.map((noReport, noidx) => {
+              this.$set(
+                this.list[index].extInfo.notBatchReportInfo[noidx],
+                "deviceId",
+                this.deviceList[0].instanceId
+              );
+              this.$set(
+                this.list[index].extInfo.notBatchReportInfo[noidx],
+                "heatNumber",
+                this.deviceList[0].extInfo.heatNumber
+              );
+              this.$set(
+                this.list[index].extInfo.notBatchReportInfo[noidx],
+                "deviceName",
+                this.deviceList[0].extInfo.name
+              );
+            });
+
+            this.$forceUpdate();
+          }
+        });
+      });
+    },
+
+    toFixedFn(weight, num) {
+      let total = Number(weight) * Number(num);
+      return total.toFixed(2);
+    },
+  },
+};
 </script>
 
 <style lang="scss" scoped>
-	.title_box {
-		margin-top: 20rpx;
-
-		.name {
-			font-size: 28rpx;
-			font-style: normal;
-			font-weight: 400;
-			color: $theme-color;
-			padding-left: 20rpx;
-
-			position: relative;
-
-			&:before {
-				position: absolute;
-				content: '';
-				left: 0rpx;
-				top: 0rpx;
-				bottom: 0rpx;
-				width: 4rpx;
-				height: 28rpx;
-				background: $theme-color;
-				margin: auto;
-			}
-
-
-		}
-
-		.btn_box {
-
-			.btn {
-				padding: 0 18rpx;
-				height: 50rpx;
-				line-height: 50rpx;
-				background: $theme-color;
-				font-size: 26rpx;
-				font-style: normal;
-				font-weight: 400;
-				font-size: 24rpx;
-				color: #fff;
-				border-radius: 4rpx;
-				margin-left: 24rpx;
-			}
-		}
-
-
-
-	}
-
-
-
-
-	.material {
-		margin-top: 16rpx;
-		border: 1rpx solid transparent;
-
-
-		.content_table {
-			width: 100%;
-			border: 2rpx solid $border-color;
-
-			box-sizing: border-box;
-
-			.item {
-				display: flex;
-				border-bottom: 2rpx solid $border-color;
-
-				.lable {
-					width: 132rpx;
-					text-align: center;
-					background-color: #F7F9FA;
-					font-size: 26rpx;
-					border-right: 2rpx solid $border-color;
-					flex-shrink: 0;
-				}
-
-				.lable150 {
-					width: 156rpx !important;
-					font-size: 24rpx;
-				}
-
-				.lable190 {
-					width: 230rpx !important;
-					font-size: 24rpx;
-				}
-
-				.ww80 {
-					width: 80rpx;
-				}
-
-				.content {
-					width: 500rpx;
-					min-height: 64rpx;
-					font-size: 28rpx;
-					line-height: 28rpx;
-					font-style: normal;
-					font-weight: 400;
-					padding: 18rpx 8rpx;
-					box-sizing: border-box;
-					word-wrap: break-word;
-					flex-grow: 1 !important;
-
-
-					.unit {
-						padding: 0 4rpx;
-						font-size: 24rpx;
-						color: #404446;
-					}
-
-					.penalize {
-						width: 160rpx;
-						line-height: 60rpx;
-						background: $theme-color;
-						font-size: 24rpx;
-						text-align: center;
-						color: #fff;
-					}
-
-				}
-
-
-
-				.content_H {
-					min-height: 92rpx;
-				}
-
-				.pd4 {
-					padding: 4rpx 8rpx;
-				}
-
-
-
-				&:last-child {
-					border-bottom: none;
-				}
-			}
-
-			.ww55 {
-				width: 55%;
-			}
-
-			.ww10 {
-				width: 10%;
-			}
-
-			.ww40 {
-				width: 40%;
-			}
-
-			.ww50 {
-				width: 50%;
-			}
-
-			.ww45 {
-				width: 45%;
-			}
-
-			.tag_box {
-				padding: 2rpx 10rpx;
-				margin-right: 12rpx;
-				background: #E6A23C;
-				font-size: 22rpx;
-				color: #fff;
-				border-radius: 4rpx;
-			}
-		}
-	}
-
-
-	.materialBor {
-		border: 1rpx solid #157A2C
-	}
-
-
-	.content_table2 {
-		width: 100%;
-
-
-		.row {
-			width: 100%;
-
-
-			.item {
-
-				color: #404446;
-				font-size: 28rpx;
-				padding-left: 12rpx;
-
-			}
-
-			.color157 {
-				color: $theme-color;
-			}
-
-
-			.ww30 {
-				width: 30%;
-			}
-
-			.ww20 {
-				width: 20%;
-			}
-
-			.ww15 {
-				width: 15%;
-			}
-
-			.ww25 {
-				width: 25%;
-			}
-
-        	.ww35 {
-				width: 35%;
-			}
-			
-			.ww50 {
-				width: 50%;
-			}
-
-
-			.ww10 {
-				width: 10%;
-			}
-
-			.ww40 {
-				width: 40%;
-			}
-
-		}
-
-		.head {
-			height: 64rpx;
-			background: #F7F9FA;
-			// border-top: 2rpx solid #E3E5E5;
-			border-left: 2rpx solid #E3E5E5;
-			box-sizing: border-box;
-
-			.item {
-				height: 64rpx;
-				line-height: 64rpx;
-				border-right: 2rpx solid #E3E5E5;
-				box-sizing: border-box;
-				font-size: 22rpx;
-			}
-		}
-
-
-
-		.tr {
-			border-top: 2rpx solid #E3E5E5;
-			border-left: 2rpx solid #E3E5E5;
-
-
-			.item {
-				font-size: 24rpx;
-				min-height: 74rpx;
-				display: flex;
-				align-items: center;
-				border-right: 2rpx solid #E3E5E5;
-				box-sizing: border-box;
-				white-space: normal;
-				word-break: break-all;
-
-			}
-
-
-			&:last-child {
-				border-bottom: 2rpx solid #E3E5E5;
-
-			}
-
-			.numerate {
-				font-size: 22rpx;
-				color: $theme-color;
-			}
-		}
-	}
-
-	.content_num {
-		display: flex;
-		align-items: center;
-		padding: 0 4rpx;
-
-		/deep/ .uni-input-input {
-			border: 2rpx solid #F0F8F2;
-			box-sizing: border-box;
-			background: #F0F8F2;
-			color: $theme-color;
-		}
-
-
-	}
-
-	.round {
-		width: 32rpx;
-		height: 32rpx;
-		line-height: 30rpx;
-		text-align: center;
-		border-radius: 50%;
-		background: $theme-color;
-		font-size: 24rpx;
-		font-style: normal;
-		font-weight: 400;
-		color: #fff;
-		margin-right: 10rpx;
-
-	}
-	
-</style>
+.title_box {
+  margin-top: 20rpx;
+
+  .name {
+    font-size: 28rpx;
+    font-style: normal;
+    font-weight: 400;
+    color: $theme-color;
+    padding-left: 20rpx;
+
+    position: relative;
+
+    &:before {
+      position: absolute;
+      content: "";
+      left: 0rpx;
+      top: 0rpx;
+      bottom: 0rpx;
+      width: 4rpx;
+      height: 28rpx;
+      background: $theme-color;
+      margin: auto;
+    }
+  }
+
+  .btn_box {
+    .btn {
+      padding: 0 18rpx;
+      height: 50rpx;
+      line-height: 50rpx;
+      background: $theme-color;
+      font-size: 26rpx;
+      font-style: normal;
+      font-weight: 400;
+      font-size: 24rpx;
+      color: #fff;
+      border-radius: 4rpx;
+      margin-left: 24rpx;
+    }
+  }
+}
+
+.material {
+  margin-top: 16rpx;
+  border: 1rpx solid transparent;
+
+  .content_table {
+    width: 100%;
+    border: 2rpx solid $border-color;
+
+    box-sizing: border-box;
+
+    .item {
+      display: flex;
+      border-bottom: 2rpx solid $border-color;
+
+      .lable {
+        width: 132rpx;
+        text-align: center;
+        background-color: #f7f9fa;
+        font-size: 26rpx;
+        border-right: 2rpx solid $border-color;
+        flex-shrink: 0;
+      }
+
+      .lable150 {
+        width: 156rpx !important;
+        font-size: 24rpx;
+      }
+
+      .lable190 {
+        width: 230rpx !important;
+        font-size: 24rpx;
+      }
+
+      .ww80 {
+        width: 80rpx;
+      }
+
+      .content {
+        width: 500rpx;
+        min-height: 64rpx;
+        font-size: 28rpx;
+        line-height: 28rpx;
+        font-style: normal;
+        font-weight: 400;
+        padding: 18rpx 8rpx;
+        box-sizing: border-box;
+        word-wrap: break-word;
+        flex-grow: 1 !important;
+
+        .unit {
+          padding: 0 4rpx;
+          font-size: 24rpx;
+          color: #404446;
+        }
+
+        .penalize {
+          width: 160rpx;
+          line-height: 60rpx;
+          background: $theme-color;
+          font-size: 24rpx;
+          text-align: center;
+          color: #fff;
+        }
+      }
+
+      .content_H {
+        min-height: 92rpx;
+      }
+
+      .pd4 {
+        padding: 4rpx 8rpx;
+      }
+
+      &:last-child {
+        border-bottom: none;
+      }
+    }
+
+    .ww55 {
+      width: 55%;
+    }
+
+    .ww10 {
+      width: 10%;
+    }
+
+    .ww40 {
+      width: 40%;
+    }
+
+    .ww50 {
+      width: 50%;
+    }
+
+    .ww45 {
+      width: 45%;
+    }
+
+    .tag_box {
+      padding: 2rpx 10rpx;
+      margin-right: 12rpx;
+      background: #e6a23c;
+      font-size: 22rpx;
+      color: #fff;
+      border-radius: 4rpx;
+    }
+  }
+}
+
+.materialBor {
+  border: 1rpx solid #157a2c;
+}
+
+.content_table2 {
+  width: 100%;
+
+  .row {
+    width: 100%;
+
+    .item {
+      color: #404446;
+      font-size: 28rpx;
+      padding-left: 12rpx;
+    }
+
+    .color157 {
+      color: $theme-color;
+    }
+
+    .ww30 {
+      width: 30%;
+    }
+
+    .ww20 {
+      width: 20%;
+    }
+
+    .ww15 {
+      width: 15%;
+    }
+
+    .ww25 {
+      width: 25%;
+    }
+
+    .ww35 {
+      width: 35%;
+    }
+
+    .ww50 {
+      width: 50%;
+    }
+
+    .ww10 {
+      width: 10%;
+    }
+
+    .ww40 {
+      width: 40%;
+    }
+  }
+
+  .head {
+    height: 64rpx;
+    background: #f7f9fa;
+    // border-top: 2rpx solid #E3E5E5;
+    border-left: 2rpx solid #e3e5e5;
+    box-sizing: border-box;
+
+    .item {
+      height: 64rpx;
+      line-height: 64rpx;
+      border-right: 2rpx solid #e3e5e5;
+      box-sizing: border-box;
+      font-size: 22rpx;
+    }
+  }
+
+  .tr {
+    border-top: 2rpx solid #e3e5e5;
+    border-left: 2rpx solid #e3e5e5;
+
+    .item {
+      font-size: 24rpx;
+      min-height: 74rpx;
+      display: flex;
+      align-items: center;
+      border-right: 2rpx solid #e3e5e5;
+      box-sizing: border-box;
+      white-space: normal;
+      word-break: break-all;
+    }
+
+    &:last-child {
+      border-bottom: 2rpx solid #e3e5e5;
+    }
+
+    .numerate {
+      font-size: 22rpx;
+      color: $theme-color;
+    }
+  }
+}
+
+.content_num {
+  display: flex;
+  align-items: center;
+  padding: 0 4rpx;
+
+  /deep/ .uni-input-input {
+    border: 2rpx solid #f0f8f2;
+    box-sizing: border-box;
+    background: #f0f8f2;
+    color: $theme-color;
+  }
+}
+
+.round {
+  width: 32rpx;
+  height: 32rpx;
+  line-height: 30rpx;
+  text-align: center;
+  border-radius: 50%;
+  background: $theme-color;
+  font-size: 24rpx;
+  font-style: normal;
+  font-weight: 400;
+  color: #fff;
+  margin-right: 10rpx;
+}
+</style>

+ 37 - 35
pages/pda/jobBooking/components/singleJobBom.vue

@@ -7,14 +7,14 @@
 
     <view class="material">
       <view class="content_table">
-        <view class="item rx-sc">
+        <!-- <view class="item rx-sc">
           <view class="rx">
             <view class="lable lable150 rx-cc">报工数量</view>
             <view class="content">
               {{ tableData.length || 0 }}
             </view>
           </view>
-        </view>
+        </view> -->
 
         <view class="item rx-sc">
           <view class="rx ww55">
@@ -73,7 +73,7 @@
                 v-model="item.workReportInfo.notFormedNum"
                 type="digit"
                 :disabled="isDetails"
-                @input="changeNum"
+                @input="changeNum(item.workReportInfo.notFormedNum)"
               />
 
               <view class="unit">{{ item.unit }}</view>
@@ -305,7 +305,7 @@ export default {
         }
       });
       this.$set(this.item.workReportInfo, "formedNum", adultCount);
-      this.$set(this.notFormedList[0], "notFormedNum", noAdultCount);
+      this.$set(this.item.workReportInfo, "notFormedNum", noAdultCount);
       // this.tableData = this.notFormedList;
       if (!(this.clientEnvironmentId == 3 || this.item.singleReport !== 1)) {
         this.item.semiProductList = tableData;
@@ -324,7 +324,7 @@ export default {
 
       console.log(adultCount, noAdultCount);
       this.$set(this.item.workReportInfo, "formedNum", adultCount);
-      this.$set(this.notFormedList[0], "notFormedNum", noAdultCount);
+      this.$set(this.item.workReportInfo, "notFormedNum", noAdultCount);
     },
 
     getByCode() {
@@ -376,18 +376,18 @@ export default {
           icon: "none",
           title: "请输入合格品数",
         });
-      if (
-        this.notFormedList[0].notFormedNum == "" ||
-        this.notFormedList[0].notFormedNum == null
-      )
-        return uni.showToast({
-          icon: "none",
-          title: "请输入不合格品数",
-        });
+      // if (
+      //   !this.item.workReportInfo.notFormedNum ||
+      //   this.item.workReportInfo.notFormedNum != 0
+      // )
+      //   return uni.showToast({
+      //     icon: "none",
+      //     title: "请输入不合格品数",
+      //   });
 
       const req = {
         formedNum: this.item.workReportInfo.formedNum,
-        notFormedNum: this.notFormedList[0].notFormedNum,
+        notFormedNum: this.item.workReportInfo.notFormedNum || 0,
         taskId: this.item.workReportInfo.taskId,
         workOrderId: this.item.workReportInfo.workOrderId,
       };
@@ -413,18 +413,18 @@ export default {
           icon: "none",
           title: "请输入合格品数",
         });
-      if (
-        this.notFormedList[0].notFormedNum == "" ||
-        this.notFormedList[0].notFormedNum == null
-      )
-        return uni.showToast({
-          icon: "none",
-          title: "请输入不合格品数",
-        });
+      // if (
+      //   !this.item.workReportInfo.notFormedNum ||
+      //   this.item.workReportInfo.notFormedNum != 0
+      // )
+      //   return uni.showToast({
+      //     icon: "none",
+      //     title: "请输入不合格品数",
+      //   });
 
       const req = {
         formedNum: this.item.workReportInfo.formedNum,
-        notFormedNum: this.notFormedList[0].notFormedNum,
+        notFormedNum: this.item.workReportInfo.notFormedNum || 0,
         taskId: this.item.workReportInfo.taskId,
         workOrderId: this.item.workReportInfo.workOrderId,
       };
@@ -509,7 +509,7 @@ export default {
             "workReportInfo",
             this.item.formingNum
           );
-          this.$set(this.notFormedList[0], "notFormedNum", 0);
+          this.$set(this.item.workReportInfo, "notFormedNum", 0);
           this.notForme();
           return uni.showToast({
             icon: "none",
@@ -525,7 +525,7 @@ export default {
               "workReportInfo",
               this.item.product[0].feedQuantity
             );
-            this.$set(this.notFormedList[0], "notFormedNum", 0);
+            this.$set(this.item.workReportInfo, "notFormedNum", 0);
             this.notForme();
             return uni.showToast({
               icon: "none",
@@ -541,7 +541,7 @@ export default {
         Number(this.item.workReportInfo.formedNum)
       ) {
         this.$set(
-          this.notFormedList[0],
+          this.item.workReportInfo,
           "notFormedNum",
           this.item.product[0].feedQuantity -
             Number(this.item.workReportInfo.formedNum)
@@ -564,7 +564,7 @@ export default {
 
       total =
         Number(this.item.workReportInfo.formedNum) +
-        Number(this.notFormedList[0].notFormedNum);
+        Number(this.item.workReportInfo.notFormedNum);
 
       console.log(total);
 
@@ -575,7 +575,7 @@ export default {
 
     notForme() {
       let weight =
-        Number(this.notFormedList[0].notFormedNum) *
+        Number(this.item.workReportInfo.notFormedNum) *
         Number(this.item.singleWeight) *
         Number(this.item.weightMultiple);
       if (
@@ -587,18 +587,18 @@ export default {
       } else {
         weight = parseFloat(weight.toFixed(2));
       }
-      this.$set(this.notFormedList[0], "notFormedWeight", weight);
+      this.$set(this.item.workReportInfo, "notFormedWeight", weight);
 
       if (
         this.item.product[0] &&
         this.item.product[0].feedQuantity > 0 &&
-        Number(this.notFormedList[0].notFormedNum)
+        Number(this.item.workReportInfo.notFormedNum)
       ) {
         this.$set(
           this.item.workReportInfo,
           "formedNum",
           this.item.product[0].feedQuantity -
-            Number(this.notFormedList[0].notFormedNum)
+            Number(this.item.workReportInfo.notFormedNum)
         );
 
         let weight =
@@ -622,9 +622,11 @@ export default {
 
     changeNum(value) {
       // 不合格数量
-      let val = value.notFormedNum;
+      let val = value;
       //匹配非数字
       let reg = new RegExp("([^0-9]*)", "g");
+
+      console.log(val, "changeNumchangeNumchangeNum");
       let ma = val.match(reg);
       //如果有非数字,替换成""
       if (ma.length > 0) {
@@ -640,14 +642,14 @@ export default {
       }
 
       // this.$set(this.item.workReportInfo, 'formedNum', val)
-      value.notFormedNum = val;
+      value = val;
 
       console.log(Number(this.item.workReportInfo.formedNum), 1);
-      console.log(Number(this.notFormedList[0].notFormedNum), 2);
+      console.log(Number(this.item.workReportInfo.notFormedNum), 2);
 
       let total =
         Number(this.item.workReportInfo.formedNum) +
-        Number(this.notFormedList[0].notFormedNum);
+        Number(this.item.workReportInfo.notFormedNum);
 
       console.log(total);
 

+ 17 - 0
pages/pda/jobBooking/components/singleProductJobBom.vue

@@ -102,6 +102,23 @@
           </view>
         </view>
 
+        <view class="item rx-sc">
+          <view class="rx ww50">
+            <view class="lable lable150 rx-cc">批次号</view>
+            <view class="content content_num">
+              <view v-if="isDetails">{{ it.batchNo }}</view>
+              <input class="uni-input" v-else v-model="it.batchNo" />
+            </view>
+          </view>
+
+          <view class="rx ww50">
+            <view class="lable lable150 rx-cc">牌号</view>
+            <view class="content content_num">
+              <view>{{ it.brandNum }}</view>
+            </view>
+          </view>
+        </view>
+
         <view class="item rx-sc">
           <view class="rx ww50">
             <view class="lable lable150 rx-cc">物料代号</view>

+ 45 - 9
pages/pda/jobBooking/index/index.vue

@@ -86,7 +86,7 @@
               objData.singleReport == 0
             "
             :item="objData"
-            ref="jobReftg"
+            ref="jobRef"
             :notFormed="objData.notFormedList"
             :currentTask="objData.currentTaskDiagram"
             @penalize="penalize"
@@ -139,7 +139,8 @@
               objData.semiProductList.length != 0 &&
               taskType != 4 &&
               taskType != 6 &&
-              objData.singleReport == 0
+              objData.singleReport == 0 &&
+              clientEnvironmentId == 3
             "
             :item="objData"
             :list="objData.semiProductList"
@@ -486,6 +487,7 @@ export default {
     };
   },
   onLoad(options) {
+    console.log(options, "optionsoptions");
     this.info = options.info;
     this.title = options.taskName ? options.taskName + "-报工" : "报工";
     this.taskType = options.taskType;
@@ -821,6 +823,32 @@ export default {
             },
           ];
 
+          this.objData.semiProductList = this.objData.semiProductList.map(
+            (item) => {
+              if (this.taskType != 6) {
+                if (item["extInfo"]?.reportWeight) {
+                  item["extInfo"].reportWeight = "";
+                }
+              }
+              item.confirm = 0;
+
+              console.log(item, "item");
+              return item;
+            }
+          );
+
+          this.objData.product = this.objData.product.map((item) => {
+            if (this.taskType != 6) {
+              if (item["extInfo"]?.reportWeight) {
+                item["extInfo"].reportWeight = "";
+              }
+            }
+            item.confirm = 0;
+
+            console.log(item, "item");
+            return item;
+          });
+
           if (this.objData.semiProductList.length > 0) {
             // 预制体报工
 
@@ -849,6 +877,8 @@ export default {
 
           this.paramDetailList = res.paramDetailList;
 
+          console.log(this.objData, "this.objDatathis.objDatathis.objData");
+
           // this.paramDetailList = res.paramDetailList.map((m) => {
           //   if (m.extInfo.textType == 5) {
           //     this.remainingTime = m.extInfo.remainingTime;
@@ -1203,16 +1233,22 @@ export default {
         this.objData.packInfo = packInfo;
         this.objData.taskType = this.taskType;
 
-        const formedNumLast = this.objData.product.reduce((acc, pro) => {
-          return pro.extInfo.sourceQuantity
-            ? acc + Number(pro.extInfo.sourceQuantity)
-            : acc;
-        }, 0);
+        let formedNumLast = 0;
+
+        if (this.objData.singleReport == 1) {
+          formedNumLast = this.objData.semiProductList.reduce((acc, pro) => {
+            return pro.feedQuantity ? acc + Number(pro.feedQuantity) : acc;
+          }, 0);
+        } else if (this.objData.singleReport == 0) {
+          formedNumLast = this.objData.product.reduce((acc, pro) => {
+            return pro.feedQuantity ? acc + Number(pro.feedQuantity) : acc;
+          }, 0);
+        }
 
         if (
           formedNumLast !=
           Number(this.objData.workReportInfo["formedNum"]) +
-            Number(this.objData.notFormedList[0].notFormedNum)
+            Number(this.objData.workReportInfo.notFormedNum)
         ) {
           uni.hideLoading();
           uni.showModal({
@@ -1238,7 +1274,7 @@ export default {
         if (
           this.objData.formedNumLast !=
           Number(this.objData.workReportInfo["formedNum"]) +
-            Number(this.objData.notFormedList[0].notFormedNum)
+            Number(this.objData.workReportInfo.notFormedNum)
         ) {
           uni.showModal({
             title: "提示",

+ 19 - 8
pages/pda/warehousing/index.vue

@@ -70,19 +70,19 @@
           </view>
           <view v-else>
             <view v-if="clientEnvironmentId != 3 && objData.singleReport !== 1">
-              <view class="list_box" v-for="(item, index) in List" :key="index">
-                <view class="time" style="margin-bottom: 10rpx"
-                  >打包时间: {{ item.createTime }}</view
-                >
-                <!-- :item="item"
+              <!-- <view class="list_box" v-for="(item, index) in List" :key="index"> -->
+              <!-- <view class="time" style="margin-bottom: 10rpx"
+                >打包时间: {{ item.createTime }}</view
+              > -->
+              <!-- :item="item"
           :list="item.product"
           :equipmentList="item.equipmentList"
           @countNumPl="countNumPl" -->
-                <!-- <packingBom
+              <!-- <packingBom
                   :objData="item.extInfo"
                   :measuringUnit="item.measuringUnit"
                 ></packingBom> -->
-              </view>
+              <!-- </view> -->
               <batchProductJobBom
                 :item="objData"
                 :list="objData.product"
@@ -91,6 +91,17 @@
             </view>
 
             <view v-else>
+              <!-- <view class="list_box" v-for="(it, index) in List" :key="index">
+                <view class="time">打包时间: {{ it.createTime }}</view> -->
+              <batchProductJobBom
+                :item="objData"
+                :list="objData.semiProductList"
+                :equipmentList="objData.equipmentList"
+              ></batchProductJobBom>
+              <!-- </view> -->
+            </view>
+
+            <!-- <view v-else>
               <view class="list_box" v-for="(it, index) in List" :key="index">
                 <view class="time">打包时间: {{ it.createTime }}</view>
                 <packingQtBom
@@ -100,7 +111,7 @@
                   :objData="objData"
                 ></packingQtBom>
               </view>
-            </view>
+            </view> -->
           </view>
         </view>
       </u-list>

+ 2 - 2
pages/pda/workOrder/extrusionMolding/index.vue

@@ -445,7 +445,7 @@ export default {
               _arr
             )}&taskId=${taskId}&taskName=${taskName}&type=${type}&feedNeedEquipment=${
               this.feedNeedEquipment
-            }`;
+            }&taskType=${this.currentType}`;
           } else {
             // 首工序
             url = "/pages/pda/feeding/details";
@@ -454,7 +454,7 @@ export default {
               _arr
             )}&taskId=${taskId}&taskName=${taskName}&type=${type}&feedNeedEquipment=${
               this.feedNeedEquipment
-            }`;
+            }&taskType=${this.currentType}`;
           }
         }
         uni.navigateTo({