Jelajahi Sumber

新增手动拆包

695593266@qq.com 9 bulan lalu
induk
melakukan
f208f23ae7

+ 337 - 105
pages/pda/jobBooking/components/newPackingBomDetails.vue

@@ -1,130 +1,318 @@
 <template>
   <view>
-    <view class="col userInp" style="display: flex; align-items: center">
-      <text class="label lable150 rx-cc">规格选择:</text>
-      <!-- multiple -->
-      <view>{{ objData.packInfo ? objData.packInfo.specText : "" }}</view>
+    <view>
+      <view class="col userInp" style="display: flex; align-items: center">
+        <text class="label lable150 rx-cc">是否拆包</text>
+        <text
+          v-if="objData.packInfo.isUnpack == '1'"
+          style="color: green; font-size: 12px; margin-left: 15px"
+          >是</text
+        >
+
+        <text
+          style="color: green; font-size: 12px; margin-left: 15px"
+          v-if="objData.packInfo.isNewUnpack == '1'"
+          >手动拆包</text
+        >
+
+        <text v-else style="color: green; font-size: 12px; margin-left: 15px"
+          >否</text
+        >
+      </view>
     </view>
 
-    <view class="col userInp" style="display: flex; align-items: center">
-      <text class="label lable150 rx-cc">包装选择:</text>
-      <!-- multiple -->
-      <zxz-uni-data-select
-        :localdata="warehouseSpecTypeList"
-        v-model="warehouseId"
-        @change="changeWarehouseType"
-        disabled
-      ></zxz-uni-data-select>
-    </view>
+    <view
+      v-if="
+        warehouseId != 1 &&
+        objData.packInfo.isUnpack == '1' &&
+        objData.packInfo.isNewUnpack != 1
+      "
+    >
+      <view class="title_box rx-bc">
+        <view class="name">包装信息</view>
+      </view>
+      <view class="col userInp" style="display: flex; align-items: center">
+        <text class="label lable150 rx-cc">规格选择:</text>
+        <!-- multiple -->
+        <view>{{ objData.packInfo ? objData.packInfo.specText : "" }}</view>
+      </view>
+
+      <view class="col userInp" style="display: flex; align-items: center">
+        <text class="label lable150 rx-cc">包装选择:</text>
+        <!-- multiple -->
+        <zxz-uni-data-select
+          :localdata="warehouseSpecTypeList"
+          v-model="warehouseId"
+          @change="changeWarehouseType"
+          disabled
+        ></zxz-uni-data-select>
+      </view>
 
-    <view v-if="warehouseId != 1">
-      <view v-for="(item, i) in DispositionList" :key="i">
-        <view class="title_box rx-bc">
-          <!-- 最小包装单元 -->
-          <view class="name">{{ item.titel }}</view>
+      <view v-if="warehouseId != 1">
+        <view v-for="(item, i) in DispositionList" :key="i">
+          <view class="title_box rx-bc">
+            <!-- 最小包装单元 -->
+            <view class="name">{{ item.titel }}</view>
 
-          <!-- <view class="btn_box rx-bc" @click="handCancelPacking">
+            <!-- <view class="btn_box rx-bc" @click="handCancelPacking">
 					重置打包
 				</view> -->
-        </view>
-
-        <view class="material">
-          <view class="content_table">
-            <view class="item">
-              <view class="lable rx-cc">包装总数 </view>
-              <view class="content content_num">
-                <input
-                  class="uni-input"
-                  v-model="formedNumLast"
-                  type="number"
-                  disabled
-                  @input="changeinput"
-                />
-                <view class="unit">{{ item.packageUnit }}</view>
-              </view>
-            </view>
+          </view>
 
-            <view class="item rx-sc">
-              <view class="rx ww55">
-                <view class="lable lable150 rx-cc">{{ item.titel }}单元</view>
+          <view class="material">
+            <view class="content_table">
+              <view class="item">
+                <view class="lable rx-cc">包装总数 </view>
                 <view class="content content_num">
                   <input
                     class="uni-input"
-                    v-model="item.packageCell"
+                    v-model="formedNumLast"
+                    type="number"
                     disabled
+                    @input="changeinput"
                   />
-                  <view style="max-width: 100rpx; font-size: 24rpx">{{
-                    item.packageUnit
-                  }}</view>
+                  <view class="unit">{{ item.packageUnit }}</view>
                 </view>
               </view>
 
-              <view class="rx ww45">
-                <view class="rx-cc ww80">
-                  /<view style="max-width: 100rpx; font-size: 24rpx">{{
-                    item.conversionUnit
-                  }}</view>
+              <view class="item rx-sc">
+                <view class="rx ww55">
+                  <view class="lable lable150 rx-cc">{{ item.titel }}单元</view>
+                  <view class="content content_num">
+                    <input
+                      class="uni-input"
+                      v-model="item.packageCell"
+                      disabled
+                    />
+                    <view style="max-width: 100rpx; font-size: 24rpx">{{
+                      item.packageUnit
+                    }}</view>
+                  </view>
                 </view>
-                <view class="content rx-sc">
-                  <!-- <zxz-uni-data-select :localdata="unitList" v-model="unit" dataValue='Key'
+
+                <view class="rx ww45">
+                  <view class="rx-cc ww80">
+                    /<view style="max-width: 100rpx; font-size: 24rpx">{{
+                      item.conversionUnit
+                    }}</view>
+                  </view>
+                  <view class="content rx-sc">
+                    <!-- <zxz-uni-data-select :localdata="unitList" v-model="unit" dataValue='Key'
 									format='{Value}' dataKey="Key" filterable :clear='false'></zxz-uni-data-select> -->
 
-                  <!-- <view class="penalize" @click="handleSplit">确认</view> -->
+                    <!-- <view class="penalize" @click="handleSplit">确认</view> -->
+                  </view>
                 </view>
               </view>
             </view>
-          </view>
 
-          <view class="content_table2" v-if="item.splitList.length">
-            <view class="head row rx-sc">
-              <view class="item ww10">序号</view>
-              <view class="item ww15">数量</view>
-              <view class="item ww20">类型</view>
-              <view class="item ww20">包装层级</view>
-              <!-- <view class="item ww20">计量数</view> -->
-              <view class="item ww40">包装编码</view>
-              <!-- <view class="item ww10 jsColor" @click="calculation()" v-if="clientEnvironmentId != 3">计算</view>
+            <view class="content_table2" v-if="item.splitList.length">
+              <view class="head row rx-sc">
+                <view class="item ww10">序号</view>
+                <view class="item ww15">数量</view>
+                <view class="item ww20">类型</view>
+                <view class="item ww20">包装层级</view>
+                <!-- <view class="item ww20">计量数</view> -->
+                <view class="item ww40">包装编码</view>
+                <!-- <view class="item ww10 jsColor" @click="calculation()" v-if="clientEnvironmentId != 3">计算</view>
 						<view class="item ww10" v-if="clientEnvironmentId == 3"></view> -->
-            </view>
-            <view class="table">
-              <u-list
-                @scrolltolower="scrolltolower"
-                class="z_list"
-                style="height: 100% !important"
-              >
-                <view
-                  class="tr row rx-sc"
-                  v-for="(it, idx) in item.splitList"
-                  :key="idx"
+              </view>
+              <view class="table">
+                <u-list
+                  @scrolltolower="scrolltolower"
+                  class="z_list"
+                  style="height: 100% !important"
                 >
-                  <view class="item ww10 rx-cc">{{ idx + 1 }}</view>
-                  <view class="item ww15 rx-sc">
-                    <view> {{ it.feedQuantity }}</view>
+                  <view
+                    class="tr row rx-sc"
+                    v-for="(it, idx) in item.splitList"
+                    :key="idx"
+                  >
+                    <view class="item ww10 rx-cc">{{ idx + 1 }}</view>
+                    <view class="item ww15 rx-sc">
+                      <view> {{ it.feedQuantity }}</view>
+                    </view>
+                    <view class="item ww20 rx-sc">
+                      <view v-if="it.rootCategoryLevelId == 2">在制品</view>
+                      <view v-else-if="it.rootCategoryLevelId == 23"
+                        >半成品</view
+                      >
+                      <view v-else-if="it.rootCategoryLevelId == 9">产品</view>
+                      <view v-else-if="it.rootCategoryLevelId == 28">废品</view>
+                      <view v-else>{{ "" }}</view>
+                    </view>
+                    <view class="item ww20 rx-cc">
+                      <view v-if="it.packingType == 4">外包装</view>
+                      <view v-else-if="it.packingType == 2">最小包装</view>
+                      <view v-else-if="it.packingType == 3">内包装</view>
+                      <view v-else>计量</view>
+                    </view>
+                    <view class="item ww40">
+                      {{ it.packingCode }}
+                    </view>
                   </view>
-                  <view class="item ww20 rx-sc">
-                    <view v-if="it.rootCategoryLevelId == 2">在制品</view>
-                    <view v-else-if="it.rootCategoryLevelId == 23">半成品</view>
-                    <view v-else-if="it.rootCategoryLevelId == 9">产品</view>
-                    <view v-else-if="it.rootCategoryLevelId == 28">废品</view>
-                    <view v-else>{{ "" }}</view>
+                </u-list>
+              </view>
+            </view>
+          </view>
+        </view>
+      </view>
+    </view>
+
+    <view v-if="warehouseId != 1 && objData.packInfo.isNewUnpack == 1">
+      <view class="title_box rx-bc">
+        <view class="name">包装信息</view>
+      </view>
+      <view class="col userInp" style="display: flex; align-items: center">
+        <text class="label lable150 rx-cc">规格选择:</text>
+        <!-- multiple -->
+        <text style="font-size: 12px; margin-left: 15px">
+          {{ objData.packInfo ? objData.packInfo.specText : "" }}</text
+        >
+      </view>
+
+      <view v-if="warehouseId != 1">
+        <view v-for="(item, i) in DispositionList" :key="i">
+          <view class="material">
+            <view class="content_table">
+              <view class="item">
+                <view class="lable rx-cc">总数</view>
+                <view class="content content_num">
+                  <span>{{ item.formedNumLast }}</span>
+                  <view class="unit">{{ item.packageUnit }}</view>
+                </view>
+              </view>
+            </view>
+          </view>
+
+          <view class="title_box rx-bc">
+            <view class="name">最小包装</view>
+          </view>
+
+          <view class="material">
+            <view class="content_table">
+              <view class="item">
+                <view class="lable rx-cc lable150">包装总数 </view>
+                <view class="content content_num">
+                  <span>{{ item.minimumFormedNumLast }}</span>
+                  <view class="unit">{{ item.minimumConversionUnit }}</view>
+                </view>
+              </view>
+
+              <view class="item rx-sc">
+                <view class="rx ww55">
+                  <view class="lable lable150 rx-cc">最小包装单元</view>
+                  <view class="content content_num">
+                    <span>{{ item.minimumPackageCell }}</span>
+                    <view class="unit">{{ item.minimumPackageUnit }}</view>
+                    /
+                    <view class="unit">{{ item.minimumConversionUnit }}</view>
                   </view>
-                  <view class="item ww20 rx-cc">
-                    <view v-if="it.packingType == 4">外包装</view>
-                    <view v-else-if="it.packingType == 2">最小包装</view>
-                    <view v-else-if="it.packingType == 3">内包装</view>
-                    <view v-else>计量</view>
+                </view>
+              </view>
+            </view>
+
+            <view class="title_box rx-bc">
+              <view class="name">内包装</view>
+            </view>
+
+            <view class="content_table">
+              <view class="item">
+                <view class="lable rx-cc lable150">包装总数 </view>
+                <view class="content content_num">
+                  <span>{{ item.withinFormedNumLast }}</span>
+                  <view class="unit">{{ item.withinConversionUnit }}</view>
+                </view>
+              </view>
+
+              <view class="item rx-sc">
+                <view class="rx ww55">
+                  <view class="lable lable150 rx-cc">内包装单元</view>
+                  <view class="content content_num">
+                    <span>{{ item.withinPackageCell }}</span>
+                    <view class="unit">{{ item.withinPackageUnit }}</view>
+                    /
+                    <view class="unit">{{ item.withinConversionUnit }}</view>
                   </view>
-                  <view class="item ww40">
-                    {{ it.packingCode }}
+                </view>
+              </view>
+            </view>
+
+            <view class="title_box rx-bc">
+              <view class="name">外包装</view>
+            </view>
+
+            <view class="content_table">
+              <view class="item">
+                <view class="lable rx-cc lable150">包装总数 </view>
+                <view class="content content_num">
+                  <span>{{ item.outsideFormedNumLast }}</span>
+                  <view class="unit">{{ item.outsideConversionUnit }}</view>
+                </view>
+              </view>
+
+              <view class="item rx-sc">
+                <view class="rx ww55">
+                  <view class="lable lable150 rx-cc">外包装单元</view>
+                  <view class="content content_num">
+                    <span>{{ item.outsidePackageCell }}</span>
+                    <view class="unit">{{ item.outsidePackageUnit }}</view>
+                    /
+                    <view class="unit">{{ item.outsideConversionUnit }}</view>
                   </view>
                 </view>
-              </u-list>
+              </view>
+            </view>
+
+            <view class="content_table2" v-if="item.splitList.length">
+              <view class="head row rx-sc">
+                <view class="item ww10">序号</view>
+                <view class="item ww15">数量</view>
+                <view class="item ww20">类型</view>
+                <view class="item ww20">包装规格</view>
+                <!-- <view class="item ww20">计量数</view> -->
+                <view class="item ww40">包装编码</view>
+                <!-- <view class="item ww10 jsColor" @click="calculation()" v-if="clientEnvironmentId != 3">计算</view>
+						<view class="item ww10" v-if="clientEnvironmentId == 3"></view> -->
+              </view>
+              <view class="table">
+                <u-list
+                  @scrolltolower="scrolltolower"
+                  class="z_list"
+                  style="height: 100% !important"
+                >
+                  <view
+                    class="tr row rx-sc"
+                    v-for="(it, idx) in item.splitList"
+                    :key="idx"
+                  >
+                    <view class="item ww10 rx-cc">{{ idx + 1 }}</view>
+                    <view class="item ww15 rx-sc">
+                      <view> {{ it.feedQuantity }}</view>
+                    </view>
+                    <view class="item ww20 rx-sc">
+                      <view v-if="it.rootCategoryLevelId == 2">在制品</view>
+                      <view v-else-if="it.rootCategoryLevelId == 23"
+                        >半成品</view
+                      >
+                      <view v-else-if="it.rootCategoryLevelId == 9">产品</view>
+                      <view v-else-if="it.rootCategoryLevelId == 28">废品</view>
+                      <view v-else>{{ "" }}</view>
+                    </view>
+                    <view class="item ww20 rx-cc">
+                      <view>{{ it.extInfo.packageDisposition }}</view>
+                    </view>
+                    <view class="item ww40">
+                      {{ it.packingCode }}
+                    </view>
+                  </view>
+                </u-list>
+              </view>
             </view>
           </view>
         </view>
       </view>
     </view>
-
     <SearchPopup mode="center" v-if="show">
       <template v-slot:list>
         <view class="search_list">
@@ -287,22 +475,66 @@ export default {
     // this.formedNumLast = this.objData.product[0].feedQuantity;
     console.log(this.objData, "我是阿打啥啊电话");
     // this.byCode();
-    this.packageDispositionFn();
+    // this.packageDispositionFn();
     if (this.objData.packInfo) {
       this.warehouseId = this.objData.packInfo.tier;
-      this.DispositionList.push({
-        titel: "最小包装",
-        splitList: this.objData.packInfo.minimumPackage,
-        packageCell: this.objData.packInfo.minimumPackageCell,
-        packageUnit: this.objData.packInfo.minimumPackageUnit,
-        conversionUnit: this.objData.packInfo.minimumConversionUnit,
-      });
-      this.formedNumLast = this.objData.packInfo.minimumPackage.reduce(
-        (acc, pro) => {
-          return pro.feedQuantity ? acc + Number(pro.feedQuantity) : acc;
-        },
-        0
-      );
+      if (this.objData.packInfo.isUnpack == "1") {
+        this.DispositionList.push({
+          titel: "最小包装",
+          splitList: this.objData.packInfo.minimumPackage,
+          packageCell: this.objData.packInfo.minimumPackageCell,
+          packageUnit: this.objData.packInfo.minimumPackageUnit,
+          conversionUnit: this.objData.packInfo.minimumConversionUnit,
+        });
+      } else if (this.objData.packInfo.isNewUnpack == 1) {
+        this.DispositionList.push({
+          titel: "",
+          splitList:
+            this.objData.packInfo.minimumPackage.length != 0
+              ? this.objData.packInfo.minimumPackage
+              : this.objData.packInfo.withinPackage.length != 0
+              ? this.objData.packInfo.withinPackage
+              : this.objData.packInfo.outsidePackage.length != 0
+              ? this.objData.packInfo.outsidePackage
+              : [],
+          minimumPackageCell: this.objData.packInfo.minimumPackageCell,
+          minimumPackageUnit: this.objData.packInfo.minimumPackageUnit,
+          minimumConversionUnit: this.objData.packInfo.minimumConversionUnit,
+          minimumFormedNumLast: this.objData.packInfo.minimumFormedNumLast,
+          withinPackageCell: this.objData.packInfo.withinPackageCell,
+          withinPackageUnit: this.objData.packInfo.withinPackageUnit,
+          withinConversionUnit: this.objData.packInfo.withinConversionUnit,
+          withinFormedNumLast: this.objData.packInfo.withinFormedNumLast,
+          outsidePackageCell: this.objData.packInfo.outsidePackageCell,
+          outsidePackageUnit: this.objData.packInfo.outsidePackageUnit,
+          outsideConversionUnit: this.objData.packInfo.outsideConversionUnit,
+          outsideFormedNumLast: this.objData.packInfo.outsideFormedNumLast,
+          formedNumLast: this.objData.formingNum,
+          packageUnit: this.objData.unit,
+        });
+      }
+
+      // this.formedNumLast = this.objData.packInfo.minimumPackage.reduce(
+      //   (acc, pro) => {
+      //     return pro.feedQuantity ? acc + Number(pro.feedQuantity) : acc;
+      //   },
+      //   0
+      // );
+    }
+
+    if (this.objData.product && this.objData.product.length != 0) {
+      this.formedNumLast = this.objData.product.reduce((acc, pro) => {
+        return pro.feedQuantity ? acc + Number(pro.feedQuantity) : acc;
+      }, 0);
+    }
+
+    if (
+      this.objData.semiProductList &&
+      this.objData.semiProductList.length != 0
+    ) {
+      this.formedNumLast = this.objData.semiProductList.reduce((acc, pro) => {
+        return pro.feedQuantity ? acc + Number(pro.feedQuantity) : acc;
+      }, 0);
     }
 
     // this.getPackingDetails()

+ 671 - 181
pages/pda/jobBooking/components/packingBom.vue

@@ -1,90 +1,321 @@
 <template>
   <view>
-    <view class="col userInp" style="display: flex; align-items: center">
-      <text class="label lable150 rx-cc">规格选择:</text>
-      <!-- multiple -->
-      <zxz-uni-data-select
-        :localdata="localdataList"
-        v-model="Usertype"
-        @change="changeUserType"
-      ></zxz-uni-data-select>
+    <view>
+      <view class="col userInp" style="display: flex; align-items: center">
+        <text class="label lable150 rx-cc">是否拆包</text>
+        <text
+          v-if="objData.isUnpack == '1' || isNewUnpack == 1"
+          style="
+            color: green;
+            font-size: 14px;
+            font-weight: 700;
+            margin-left: 15px;
+          "
+          >是</text
+        >
+        <text
+          v-else
+          style="
+            color: green;
+            font-size: 14px;
+            font-weight: 700;
+            margin-left: 15px;
+          "
+          >否</text
+        >
+
+        <u-button
+          size="small"
+          class="u-reset-button"
+          type="primary"
+          style="margin-left: 40px; width: 80px"
+          @click="checkUnpack"
+          v-if="objData.isUnpack != '1'"
+          >手动拆包</u-button
+        >
+      </view>
     </view>
 
-    <view class="col userInp" style="display: flex; align-items: center">
-      <text class="label lable150 rx-cc">包装选择:</text>
-      <!-- multiple -->
-      <zxz-uni-data-select
-        :localdata="warehouseSpecTypeList"
-        v-model="warehouseId"
-        @change="changeWarehouseType"
-        disabled
-      ></zxz-uni-data-select>
-    </view>
+    <view v-if="objData.isUnpack == '1' && (isNewUnpack == 0 || !isNewUnpack)">
+      <view class="col userInp" style="display: flex; align-items: center">
+        <text class="label lable150 rx-cc">规格选择:</text>
+        <!-- multiple -->
+        <zxz-uni-data-select
+          :localdata="localdataList"
+          v-model="Usertype"
+          @change="changeUserType"
+        ></zxz-uni-data-select>
+      </view>
 
-    <view v-if="warehouseId != 1">
-      <view v-for="(item, i) in DispositionList" :key="i">
-        <view class="title_box rx-bc">
-          <!-- 最小包装单元 -->
-          <view class="name">{{ item.titel }}</view>
+      <view class="col userInp" style="display: flex; align-items: center">
+        <text class="label lable150 rx-cc">包装选择:</text>
+        <!-- multiple -->
+        <zxz-uni-data-select
+          :localdata="warehouseSpecTypeList"
+          v-model="warehouseId"
+          @change="changeWarehouseType"
+          disabled
+        ></zxz-uni-data-select>
+      </view>
 
-          <!-- <view class="btn_box rx-bc" @click="handCancelPacking">
+      <view v-if="warehouseId != 1">
+        <view v-for="(item, i) in DispositionList" :key="i">
+          <view class="title_box rx-bc">
+            <!-- 最小包装单元 -->
+            <view class="name">{{ item.titel }}</view>
+
+            <!-- <view class="btn_box rx-bc" @click="handCancelPacking">
 					重置打包
 				</view> -->
+          </view>
+
+          <view class="material">
+            <view class="content_table">
+              <view class="item">
+                <view class="lable rx-cc">包装总数 </view>
+                <view class="content content_num">
+                  <input
+                    class="uni-input"
+                    v-model="formedNumLast"
+                    type="number"
+                    disabled
+                    @input="changeinput"
+                  />
+                  <view class="unit">{{ item.packageUnit }}</view>
+                </view>
+              </view>
+
+              <view class="item rx-sc">
+                <view class="rx ww55">
+                  <view class="lable lable150 rx-cc">{{ item.titel }}单元</view>
+                  <view class="content content_num">
+                    <input
+                      class="uni-input"
+                      v-model="item.packageCell"
+                      disabled
+                    />
+                    <view style="max-width: 100rpx; font-size: 24rpx">{{
+                      item.packageUnit
+                    }}</view>
+                  </view>
+                </view>
+
+                <view class="rx ww45">
+                  <view class="rx-cc ww80">
+                    /<view style="max-width: 100rpx; font-size: 24rpx">{{
+                      item.conversionUnit
+                    }}</view>
+                  </view>
+                  <view class="content rx-sc">
+                    <!-- <zxz-uni-data-select :localdata="unitList" v-model="unit" dataValue='Key'
+									format='{Value}' dataKey="Key" filterable :clear='false'></zxz-uni-data-select> -->
+
+                    <!-- <view class="penalize" @click="handleSplit">确认</view> -->
+                  </view>
+                </view>
+              </view>
+            </view>
+
+            <view class="content_table2" v-if="item.splitList.length">
+              <view class="head row rx-sc">
+                <view class="item ww10">序号</view>
+                <view class="item ww15">数量</view>
+                <view class="item ww20">类型</view>
+                <view class="item ww20">包装层级</view>
+                <!-- <view class="item ww20">计量数</view> -->
+                <view class="item ww40">包装编码</view>
+                <!-- <view class="item ww10 jsColor" @click="calculation()" v-if="clientEnvironmentId != 3">计算</view>
+						<view class="item ww10" v-if="clientEnvironmentId == 3"></view> -->
+              </view>
+              <view class="table">
+                <u-list
+                  @scrolltolower="scrolltolower"
+                  class="z_list"
+                  style="height: 100% !important"
+                >
+                  <view
+                    class="tr row rx-sc"
+                    v-for="(it, idx) in item.splitList"
+                    :key="idx"
+                  >
+                    <view class="item ww10 rx-cc">{{ idx + 1 }}</view>
+                    <view class="item ww15 rx-sc">
+                      <view> {{ it.feedQuantity }}</view>
+                    </view>
+                    <view class="item ww20 rx-sc">
+                      <view v-if="it.rootCategoryLevelId == 2">在制品</view>
+                      <view v-else-if="it.rootCategoryLevelId == 23"
+                        >半成品</view
+                      >
+                      <view v-else-if="it.rootCategoryLevelId == 9">产品</view>
+                      <view v-else-if="it.rootCategoryLevelId == 28">废品</view>
+                      <view v-else>{{ "" }}</view>
+                    </view>
+                    <view class="item ww20 rx-cc">
+                      <view v-if="it.packingType == 4">外包装</view>
+                      <view v-else-if="it.packingType == 2">最小包装</view>
+                      <view v-else-if="it.packingType == 3">内包装</view>
+                      <view v-else>计量</view>
+                    </view>
+                    <view class="item ww40">
+                      {{ it.packingCode }}
+                    </view>
+                  </view>
+                </u-list>
+              </view>
+            </view>
+          </view>
         </view>
+      </view>
 
-        <view class="material">
-          <view class="content_table">
-            <view class="item">
-              <view class="lable rx-cc">包装总数 </view>
-              <view class="content content_num">
+      <SearchPopup mode="center" v-if="show">
+        <template v-slot:list>
+          <view class="search_list">
+            <u-form
+              labelPosition="left"
+              :model="formData"
+              labelWidth="180"
+              labelAlign="left"
+              class="baseForm"
+            >
+              <u-form-item
+                label="外包装数:"
+                class="required-form"
+                borderBottom
+                prop="assetType"
+              >
                 <input
                   class="uni-input"
-                  v-model="formedNumLast"
-                  type="number"
-                  disabled
-                  @input="changeinput"
+                  v-model="formData.wPackNum"
+                  style="width: 280rpx"
+                  placeholder="外包装数"
                 />
-                <view class="unit">{{ item.packageUnit }}</view>
-              </view>
+                / {{ splitList[0].unit }}
+              </u-form-item>
+            </u-form>
+          </view>
+        </template>
+
+        <template v-slot:operate>
+          <view class="operate_box rx-bc">
+            <u-button
+              size="small"
+              class="u-reset-button"
+              @click="calculationClose()"
+            >
+              取消
+            </u-button>
+
+            <u-button
+              type="success"
+              size="small"
+              class="u-reset-button"
+              @click="calculationReset()"
+            >
+              重置
+            </u-button>
+
+            <u-button
+              type="success"
+              size="small"
+              class="u-reset-button"
+              @click="calculationSave()"
+            >
+              确定
+            </u-button>
+          </view>
+        </template>
+      </SearchPopup>
+    </view>
+
+    <view v-if="isNewUnpack == 1">
+      <view class="col userInp" style="display: flex; align-items: center">
+        <text class="label lable150 rx-cc">规格选择:</text>
+        <!-- multiple -->
+        <zxz-uni-data-select
+          :localdata="localdataList"
+          v-model="Usertype"
+          @change="changeUserType"
+        ></zxz-uni-data-select>
+      </view>
+
+      <view class="material">
+        <view class="content_table">
+          <view class="item">
+            <view class="lable rx-cc">总数</view>
+            <view class="content content_num">
+              <input
+                class="uni-el-input"
+                v-model="formedNumLast"
+                type="number"
+                @input="changeinput"
+                disabled
+                style="width: 200px"
+              />
+              {{ packageUnit }}
             </view>
+          </view>
+        </view>
+      </view>
+
+      <view v-if="warehouseId != 1">
+        <view v-for="(item, i) in DispositionList" :key="i">
+          <view class="title_box rx-bc">
+            <!-- 最小包装单元 -->
+            <view class="name">{{ item.titel }}</view>
+          </view>
 
-            <view class="item rx-sc">
-              <view class="rx ww55">
-                <view class="lable lable150 rx-cc">{{ item.titel }}单元</view>
+          <view class="material">
+            <view class="content_table">
+              <view class="item rx-sc">
+                <view class="lable rx-cc lable150">包装总数 </view>
                 <view class="content content_num">
                   <input
                     class="uni-input"
-                    v-model="item.packageCell"
+                    v-model="item.formedNumLast"
+                    type="number"
                     disabled
+                    @input="changeinput"
                   />
-                  <view style="max-width: 100rpx; font-size: 24rpx">{{
-                    item.packageUnit
-                  }}</view>
+                  <view class="unit">{{ item.conversionUnit }}</view>
                 </view>
               </view>
 
-              <view class="rx ww45">
-                <view class="rx-cc ww80">
-                  /<view style="max-width: 100rpx; font-size: 24rpx">{{
-                    item.conversionUnit
-                  }}</view>
+              <view class="item rx-sc">
+                <view class="rx ww55">
+                  <view class="lable lable150 rx-cc">{{ item.titel }}单元</view>
+                  <view class="content content_num">
+                    <input
+                      class="uni-input"
+                      v-model="item.packageCell"
+                      @input="changeInputPack(item, i)"
+                      :disabled="!item.conversionUnit"
+                    />
+                    <view style="max-width: 100rpx; font-size: 24rpx">{{
+                      item.packageUnit
+                    }}</view>
+                  </view>
                 </view>
-                <view class="content rx-sc">
-                  <!-- <zxz-uni-data-select :localdata="unitList" v-model="unit" dataValue='Key'
-									format='{Value}' dataKey="Key" filterable :clear='false'></zxz-uni-data-select> -->
 
-                  <!-- <view class="penalize" @click="handleSplit">确认</view> -->
+                <view class="rx ww45">
+                  <view class="rx-cc ww80">
+                    /<view style="max-width: 100rpx; font-size: 24rpx">{{
+                      item.conversionUnit
+                    }}</view>
+                  </view>
                 </view>
               </view>
             </view>
           </view>
+        </view>
 
-          <view class="content_table2" v-if="item.splitList.length">
+        <view v-for="item in DispositionList" :key="item.id">
+          <view class="content_table2" v-if="item.splitList.length != 0">
             <view class="head row rx-sc">
               <view class="item ww10">序号</view>
               <view class="item ww15">数量</view>
               <view class="item ww20">类型</view>
-              <view class="item ww20">包装层级</view>
+              <view class="item ww20">包装规格</view>
               <!-- <view class="item ww20">计量数</view> -->
               <view class="item ww40">包装编码</view>
               <!-- <view class="item ww10 jsColor" @click="calculation()" v-if="clientEnvironmentId != 3">计算</view>
@@ -113,10 +344,7 @@
                     <view v-else>{{ "" }}</view>
                   </view>
                   <view class="item ww20 rx-cc">
-                    <view v-if="it.packingType == 4">外包装</view>
-                    <view v-else-if="it.packingType == 2">最小包装</view>
-                    <view v-else-if="it.packingType == 3">内包装</view>
-                    <view v-else>计量</view>
+                    <view>{{ packageDispositionData }}</view>
                   </view>
                   <view class="item ww40">
                     {{ it.packingCode }}
@@ -129,64 +357,19 @@
       </view>
     </view>
 
-    <SearchPopup mode="center" v-if="show">
-      <template v-slot:list>
-        <view class="search_list">
-          <u-form
-            labelPosition="left"
-            :model="formData"
-            labelWidth="180"
-            labelAlign="left"
-            class="baseForm"
-          >
-            <u-form-item
-              label="外包装数:"
-              class="required-form"
-              borderBottom
-              prop="assetType"
-            >
-              <input
-                class="uni-input"
-                v-model="formData.wPackNum"
-                style="width: 280rpx"
-                placeholder="外包装数"
-              />
-              / {{ splitList[0].unit }}
-            </u-form-item>
-          </u-form>
-        </view>
-      </template>
-
-      <template v-slot:operate>
-        <view class="operate_box rx-bc">
-          <u-button
-            size="small"
-            class="u-reset-button"
-            @click="calculationClose()"
-          >
-            取消
-          </u-button>
-
-          <u-button
-            type="success"
-            size="small"
-            class="u-reset-button"
-            @click="calculationReset()"
-          >
-            重置
-          </u-button>
-
-          <u-button
-            type="success"
-            size="small"
-            class="u-reset-button"
-            @click="calculationSave()"
-          >
-            确定
-          </u-button>
-        </view>
-      </template>
-    </SearchPopup>
+    <view>
+      <uni-popup ref="alertDialog" type="dialog">
+        <uni-popup-dialog
+          type="warn"
+          cancelText="取消"
+          confirmText="确定"
+          title="提示"
+          content="此操作将进行拆包, 是否继续?"
+          @confirm="dialogConfirm"
+          @close="dialogClose"
+        ></uni-popup-dialog>
+      </uni-popup>
+    </view>
   </view>
 </template>
 
@@ -276,7 +459,14 @@ export default {
           value: 4,
         },
       ],
-
+      isNewUnpack: 0,
+      packageCell: "",
+      packageUnit: "",
+      packageOneCell: "",
+      packageOneUnit: "",
+      packageTwoCell: "",
+      packageTwoUnit: "",
+      packageDispositionData: "",
       show: false,
       formData: {
         wPackNum: null,
@@ -318,7 +508,11 @@ export default {
         } else {
           this.formedNumLast = 0;
         }
-        this.packageDispositionFn();
+
+        if (newVal.isUnpack == "1") {
+          this.packageDispositionFn();
+        }
+        // this.packageDispositionFn();
         //
       },
       deep: true,
@@ -412,7 +606,6 @@ export default {
         this.outsideUnit = v[2].conversionUnit; //外包装单位
         this.minimumUnit = v[0].conversionUnit;
       }
-      console.log("几次", v);
       this.handleSplit(v[0]);
     },
 
@@ -702,70 +895,78 @@ export default {
         return !e.parentId;
       });
 
-      console.log(this.DispositionList);
-
-      // let packInfo = {
-      // this.DispositionList[0]
-
-      // specText: this.text,
-      // specValue: this.value,
-      // minimumPackage: this.minimumPackage, // 最小包装
-      // minimumPackageCell: this.DispositionList[0].packageCell, // 最小包装
-      // minimumPackageUnit: this.DispositionList[0].packageUnit, // 最小包装单位
-      // minimumConversionUnit: this.DispositionList[0].conversionUnit, // 最小包装单位
-      // minimumFormedNumLast: this.DispositionList[0].formedNumLast, // 总包装数量
-
-      // withinPackage: this.withinPackage, // 内包装
-
-      // withinPackageCell: this.DispositionList[1].packageCell, // 最小包装名称
-      // withinPackageUnit: this.DispositionList[1].packageUnit, // 最小包装单位
-      // withinConversionUnit: this.DispositionList[1].conversionUnit, // 最小包装单位
-      // withinFormedNumLast: this.DispositionList[1].formedNumLast, // 总包装数量
-      // // packingReportList: this.packTwoList,
-      // // packingReportMarginList: _packingReportMarginList,
-      // outsidePackage: this.outsidePackage, //外包装
-      // outsidePackageCell: this.DispositionList[2].packageCell, // 最小包装名称
-      // outsidePackageUnit: this.DispositionList[2].packageUnit, // 最小包装单位
-      // outsideConversionUnit: this.DispositionList[2].conversionUnit, // 最小包装单位
-      // outsideFormedNumLast: this.DispositionList[2].formedNumLast, // 总包装数量
-      // };
-
       let packInfo = {};
-      if (this.warehouseId == 2) {
-        packInfo = {
-          // this.DispositionList[0]
-
-          specText: this.text,
-          specValue: this.value,
-          minimumPackage: this.minimumPackage, // 最小包装
-          tier: this.warehouseId,
-          minimumPackageCell: this.DispositionList[0].packageCell, // 最小包装
-          minimumPackageUnit: this.DispositionList[0].packageUnit, // 最小包装单位
-          minimumConversionUnit: this.DispositionList[0].conversionUnit, // 最小包装单位
-          minimumFormedNumLast: this.DispositionList[0].formedNumLast, // 总包装数量
-        };
-      } else if (this.warehouseId == 3) {
-        packInfo = {
-          specText: this.text,
-          specValue: this.value,
-          withinPackage: this.withinPackage, // 内包装
-          tier: this.warehouseId,
-          withinPackageCell: this.DispositionList[0].packageCell, // 最小包装名称
-          withinPackageUnit: this.DispositionList[0].packageUnit, // 最小包装单位
-          withinConversionUnit: this.DispositionList[0].conversionUnit, // 最小包装单位
-          withinFormedNumLast: this.DispositionList[0].formedNumLast,
-        }; // 总包装数量
-      } else if (this.warehouseId == 4) {
-        packInfo = {
-          specText: this.text,
-          specValue: this.value,
-          outsidePackage: this.outsidePackage, //外包装
-          tier: this.warehouseId,
-          outsidePackageCell: this.DispositionList[0].packageCell, // 最小包装名称
-          outsidePackageUnit: this.DispositionList[0].packageUnit, // 最小包装单位
-          outsideConversionUnit: this.DispositionList[0].conversionUnit, // 最小包装单位
-          outsideFormedNumLast: this.DispositionList[0].formedNumLast,
-        }; // 总包装数量
+
+      if (this.isNewUnpack == 1) {
+        if (this.DispositionList && this.DispositionList.length != 0) {
+          packInfo = {
+            // this.DispositionList[0]
+
+            specText: this.text,
+            specValue: this.value,
+            minimumPackage: this.minimumPackage, // 最小包装
+            withinPackage: this.withinPackage,
+            outsidePackage: this.outsidePackage,
+            tier: this.warehouseId,
+            isUnpack: this.objData.isUnpack,
+            packageUnit: this.packageUnit,
+            formedNumLast: this.formedNumLast,
+            minimumPackageCell: this.DispositionList[0].packageCell, // 最小包装
+            minimumPackageUnit: this.DispositionList[0].packageUnit, // 最小包装单位
+            minimumConversionUnit: this.DispositionList[0].conversionUnit, // 最小包装单位
+            minimumFormedNumLast: this.DispositionList[0].formedNumLast, // 总包装数量
+            withinPackageCell: this.DispositionList[1].packageCell, // 最小包装名称
+            withinPackageUnit: this.DispositionList[1].packageUnit, // 最小包装单位
+            withinConversionUnit: this.DispositionList[1].conversionUnit, // 最小包装单位
+            withinFormedNumLast: this.DispositionList[1].formedNumLast, // 总包装数量
+            outsidePackageCell: this.DispositionList[2].packageCell, // 最小包装名称
+            outsidePackageUnit: this.DispositionList[2].packageUnit, // 最小包装单位
+            outsideConversionUnit: this.DispositionList[2].conversionUnit, // 最小包装单位
+            outsideFormedNumLast: this.DispositionList[2].formedNumLast,
+            isNewUnpack: this.isNewUnpack,
+          };
+        } else {
+          packInfo = {
+            isUnpack: this.objData.isUnpack,
+          };
+        }
+      } else {
+        if (this.warehouseId == 2) {
+          packInfo = {
+            // this.DispositionList[0]
+
+            specText: this.text,
+            specValue: this.value,
+            minimumPackage: this.minimumPackage, // 最小包装
+            tier: this.warehouseId,
+            minimumPackageCell: this.DispositionList[0].packageCell, // 最小包装
+            minimumPackageUnit: this.DispositionList[0].packageUnit, // 最小包装单位
+            minimumConversionUnit: this.DispositionList[0].conversionUnit, // 最小包装单位
+            minimumFormedNumLast: this.DispositionList[0].formedNumLast, // 总包装数量
+          };
+        } else if (this.warehouseId == 3) {
+          packInfo = {
+            specText: this.text,
+            specValue: this.value,
+            withinPackage: this.withinPackage, // 内包装
+            tier: this.warehouseId,
+            withinPackageCell: this.DispositionList[1].packageCell, // 最小包装名称
+            withinPackageUnit: this.DispositionList[1].packageUnit, // 最小包装单位
+            withinConversionUnit: this.DispositionList[1].conversionUnit, // 最小包装单位
+            withinFormedNumLast: this.DispositionList[1].formedNumLast,
+          }; // 总包装数量
+        } else if (this.warehouseId == 4) {
+          packInfo = {
+            specText: this.text,
+            specValue: this.value,
+            outsidePackage: this.outsidePackage, //外包装
+            tier: this.warehouseId,
+            outsidePackageCell: this.DispositionList[2].packageCell, // 最小包装名称
+            outsidePackageUnit: this.DispositionList[2].packageUnit, // 最小包装单位
+            outsideConversionUnit: this.DispositionList[2].conversionUnit, // 最小包装单位
+            outsideFormedNumLast: this.DispositionList[2].formedNumLast,
+          }; // 总包装数量
+        }
       }
 
       return packInfo;
@@ -815,6 +1016,295 @@ export default {
     changeWarehouseType() {
       this.packageDispositionFn();
     },
+
+    checkUnpack() {
+      this.$refs.alertDialog.open();
+    },
+
+    dialogConfirm() {
+      this.isNewUnpack = 1;
+      this.getPackingData();
+    },
+
+    async getPackingData() {
+      console.log(this.newCategoryId, "555555555555");
+      let that = this;
+      const res = await packageDisposition(this.newCategoryId);
+
+      if (res.length) {
+        res.shift();
+        let data = JSON.parse(JSON.stringify(res));
+        let list = this.groupBy(data, "code");
+        this.localdataList = [];
+        Object.entries(list).forEach(([key, value]) => {
+          let obj = {
+            text: value[0].name,
+            arr: value,
+            value: key,
+          };
+          this.localdataList.push(obj);
+        });
+
+        this.Usertype = this.localdataList[0].value;
+        this.text = this.localdataList[0].text;
+        this.value = this.localdataList[0].value;
+        res.map((v) => {
+          v.splitList = [];
+        });
+        this.newDispositionList = res;
+        this.selectList = res;
+
+        this.initFn1(this.localdataList[0].arr);
+      }
+    },
+
+    initFn1(v) {
+      if (v.length) {
+        this.withinQuantity = v[1].packageCell; //内包装数量
+        this.withinUnit = v[1].conversionUnit; //内包装单位
+        this.outsideQuantity = v[2].packageCell; //外包装数量
+        this.outsideUnit = v[2].conversionUnit; //外包装单位
+        this.minimumUnit = v[0].conversionUnit;
+      }
+      this.handleSplit1(v[0]);
+    },
+
+    handleSplit1(v) {
+      if (this.splitList.length) {
+        uni.showToast({
+          title: "产品已分包",
+          icon: "none",
+        });
+        return false;
+      }
+
+      if (!v.packageCell) {
+        uni.showToast({
+          title: "内包装单元数量不能为空",
+          icon: "none",
+        });
+        return false;
+      }
+
+      if (!v.packageUnit) {
+        uni.showToast({
+          title: "请选择包装单位",
+          icon: "none",
+        });
+        return false;
+      }
+
+      this.packageCell = this.formedNumLast;
+      this.packageUnit = v.packageUnit;
+
+      let param = {
+        workOrderId: this.workOrderId, //工单id
+        taskId: this.taskId,
+        tier: this.warehouseId,
+        totalQuantity: this.formedNumLast, //总数量
+        quantity: v.packageCell, //数量
+        unit: v.packageUnit, //单位
+        minimumUnit: this.minimumUnit, //最小包装单位
+        withinQuantity: this.withinQuantity, //内包装数量
+        withinUnit: this.withinUnit, //内包装单位
+        outsideQuantity: this.outsideQuantity, //外包装数量
+        outsideUnit: this.outsideUnit, //外包装单位
+        packageUnit: v.conversionUnit,
+        isNewUnpack: this.isNewUnpack,
+      };
+
+      if (this.warehouseId != 1) {
+        getPackingList(param).then((res) => {
+          this.listFn1(res);
+        });
+      }
+    },
+
+    async listFn1(res) {
+      let {
+        minimumPackage,
+        withinQuantity,
+        outsidePackage,
+        outsideQuantity,
+        withinPackage,
+        minimumQuantity,
+      } = res;
+      let textList = ["最小包装", "内包装", "外包装"];
+      let arr = [
+        { list: minimumPackage, num: minimumQuantity },
+        { list: withinPackage, num: withinQuantity },
+        { list: outsidePackage, num: outsideQuantity },
+      ];
+
+      this.minimumPackage = minimumPackage; // 最小包装
+      this.withinPackage = withinPackage; // 内包装
+      this.outsidePackage = outsidePackage; //外包装
+
+      this.newDispositionList.map((v, i) => {
+        v.splitList = arr[i].list;
+        v.titel = textList[i];
+        // if (i == 0) {
+        //   v.formedNumLast = this.formedNumLast;
+        // } else {
+        v.formedNumLast = arr[i].num;
+        // }
+      });
+
+      this.$nextTick(() => {
+        this.newDispositionList.forEach((item, index) => {
+          if (index == 0) {
+            this.packageCell = item.formedNumLast ? item.formedNumLast : "";
+            this.packageUnit = item.packageUnit ? item.packageUnit : "";
+            this.conversionUnit = item.conversionUnit
+              ? item.conversionUnit
+              : "";
+          } else if (index == 1) {
+            this.packageOneCell = item.formedNumLast ? item.formedNumLast : "";
+            this.packageOneUnit = item.packageUnit ? item.packageUnit : "";
+            this.conversionOneUnit = item.conversionUnit
+              ? item.conversionUnit
+              : "";
+          } else if (index == 2) {
+            this.packageTwoCell = item.formedNumLast ? item.formedNumLast : "";
+            this.packageTwoUnit = item.packageUnit ? item.packageUnit : "";
+            this.conversionTwoUnit = item.conversionUnit
+              ? item.conversionUnit
+              : "";
+          }
+        });
+        this.packageDispositionData = `${this.formedNumLast}${this.packageUnit}/${this.packageCell}${this.conversionUnit}/${this.packageOneCell}${this.conversionOneUnit}/${this.packageTwoCell}${this.conversionTwoUnit}`;
+        this.newDispositionList.forEach((item, index) => {
+          if (item.splitList.length != 0) {
+            item.splitList[0].extInfo.packageDisposition =
+              this.packageDispositionData;
+            if (index == 0) {
+              this.warehouseId = 2;
+            } else if (index == 1) {
+              this.warehouseId = 3;
+            } else if (index == 2) {
+              this.warehouseId = 4;
+            }
+          }
+        });
+        this.$set(this, "DispositionList", this.newDispositionList);
+        this.$forceUpdate();
+      });
+    },
+
+    changeInputPack(item, index) {
+      setTimeout(() => {
+        if (this.DispositionList[index]) {
+          if (!this.DispositionList[index].packageCell) {
+            if (index <= this.DispositionList.length - 1) {
+              this.DispositionList[index].formedNumLast = "";
+
+              if (index + 1 <= this.DispositionList.length - 1) {
+                this.DispositionList[index + 1].formedNumLast = "";
+              }
+
+              if (index + 2 <= this.DispositionList.length - 1) {
+                this.DispositionList[index + 2].formedNumLast = "";
+              }
+            }
+
+            this.newDispositionList.forEach((item, index) => {
+              if (index == 0) {
+                this.packageCell = item.formedNumLast ? item.formedNumLast : "";
+                this.packageUnit = item.packageUnit ? item.packageUnit : "";
+                this.conversionUnit = item.conversionUnit
+                  ? item.conversionUnit
+                  : "";
+              } else if (index == 1) {
+                this.packageOneCell = item.formedNumLast
+                  ? item.formedNumLast
+                  : "";
+                this.packageOneUnit = item.packageUnit ? item.packageUnit : "";
+                this.conversionOneUnit = item.conversionUnit
+                  ? item.conversionUnit
+                  : "";
+              } else if (index == 2) {
+                this.packageTwoCell = item.formedNumLast
+                  ? item.formedNumLast
+                  : "";
+                this.packageTwoUnit = item.packageUnit ? item.packageUnit : "";
+                this.conversionTwoUnit = item.conversionUnit
+                  ? item.conversionUnit
+                  : "";
+              }
+            });
+            this.packageDispositionData = `${this.formedNumLast}${this.packageUnit}/${this.packageCell}${this.conversionUnit}/${this.packageOneCell}${this.conversionOneUnit}/${this.packageTwoCell}${this.conversionTwoUnit}`;
+
+            this.DispositionList.forEach((item, index) => {
+              if (item.splitList.length != 0) {
+                this.DispositionList[
+                  index
+                ].splitList[0].extInfo.packageDisposition =
+                  this.packageDispositionData;
+              }
+            });
+            this.$forceUpdate();
+            return;
+          }
+        }
+
+        if (this.DispositionList[index]) {
+          if (this.DispositionList[index].titel == "最小包装") {
+            if (
+              this.DispositionList[index].formedNumLast &&
+              Number(this.DispositionList[index].packageCell) >
+                Number(this.formedNumLast)
+            ) {
+              this.DispositionList[index].packageCell = Number(
+                this.formedNumLast
+              );
+            }
+          } else if (this.DispositionList[index].titel == "内包装") {
+            if (
+              this.DispositionList[index - 1].formedNumLast &&
+              Number(this.DispositionList[index].packageCell) >
+                Number(this.DispositionList[index - 1].formedNumLast)
+            ) {
+              this.DispositionList[index].packageCell = Number(
+                this.DispositionList[index - 1].formedNumLast
+              );
+            }
+          } else if (this.DispositionList[index].titel == "外包装") {
+            if (
+              this.DispositionList[index - 1].formedNumLast &&
+              Number(this.DispositionList[index].packageCell) >
+                Number(this.DispositionList[index - 1].formedNumLast)
+            ) {
+              this.DispositionList[index].packageCell = Number(
+                this.DispositionList[index - 1].formedNumLast
+              );
+            }
+          }
+        }
+
+        console.log(this.DispositionList, "返回的数据");
+        this.initFn1(this.DispositionList);
+      }, 500);
+    },
+
+    dialogClose() {
+      console.log("窗口关闭了");
+    },
+
+    deepCopy(obj, hash = new WeakMap()) {
+      if (obj === null) return null;
+      if (obj instanceof Date) return new Date(obj);
+      if (obj instanceof RegExp) return new RegExp(obj);
+      if (typeof obj !== "object" && typeof obj !== "function") return obj;
+      if (hash.has(obj)) return hash.get(obj); // 处理循环引用
+
+      const result = Array.isArray(obj) ? [] : {};
+      hash.set(obj, result); // 存储原始对象和其副本的映射关系
+
+      return Object.keys(obj).reduce((acc, key) => {
+        acc[key] = this.deepCopy(obj[key], hash);
+        return acc;
+      }, result);
+    },
   },
 };
 </script>

+ 40 - 3
pages/pda/jobBooking/index/index.vue

@@ -93,6 +93,20 @@
             @modeNum="modeNum"
           ></batchJobBom>
 
+          <!-- <batchJobBom
+            v-if="
+              objData.currentTaskDiagram &&
+              objData.currentTaskDiagram.type &&
+              objData.singleReport == 0
+            "
+            :item="objData"
+            ref="jobRef"
+            :notFormed="objData.notFormedList"
+            :currentTask="objData.currentTaskDiagram"
+            @penalize="penalize"
+            @modeNum="modeNum"
+          ></batchJobBom> -->
+
           <palletBom
             v-if="objData.palletList.length != 0"
             :palletList="objData.palletList"
@@ -111,7 +125,7 @@
           <!--  -->
           <!-- 报工信息 列表 -->
           <view
-            v-if="clientEnvironmentId == 3 || this.objData.singleReport !== 1"
+            v-if="clientEnvironmentId == 3 || this.objData.singleReport != 1"
           >
             <semiProductJobBom
               v-if="
@@ -233,8 +247,27 @@
             </packingBom>
           </view>
 
+          <div
+            v-if="
+              objData &&
+              taskType == 4 &&
+              clientEnvironmentId == 3 &&
+              objData.singleReport == 0
+            "
+          >
+            <packingBom
+              :taskId="taskId"
+              :workOrderId="id"
+              :objData="objData"
+              ref="packRef"
+              v-if="taskType == 4 && objData"
+              :categoryId="categoryId"
+            >
+            </packingBom>
+          </div>
+
           <!-- 碳谷 包装扫码  -->
-          <packingTgBom
+          <!-- <packingTgBom
             v-if="
               objData.pickOutInList &&
               objData.pickOutInList.length != 0 &&
@@ -244,7 +277,7 @@
             :list="objData.pickOutInList"
             :objData="objData"
             :item="objData"
-          ></packingTgBom>
+          ></packingTgBom> -->
 
           <view class="operate_box rx-sc">
             <u-button
@@ -713,6 +746,10 @@ export default {
             this.objData.semiProductList = this.objData.pickOutInList;
           }
 
+          if (this.taskType == 4 && this.clientEnvironmentId == 3) {
+            this.objData.semiProductList = this.objData.pickOutInList;
+          }
+
           // if (this.taskId == 6 || this.isOutsource == 1) {
           //   this.objData.product = this.objData.pickOutInList;
           // }