schangxiang@126.com
2024-12-10 143b8e2ec209a703c21c0f87709e90f0d752f016
LA24030_LuLiPackageLine_Pda/pages/artificial/artificial.vue
@@ -1,799 +1,283 @@
<template>
   <view style="padding-bottom:150px" class="boxTip">
      <cu-custom bgColor="bg-white" :isBack="true">
         <block slot="backText">
         </block>
         <block slot="content">组盘</block>
      </cu-custom>
      <!-- <view class="flex justify-end align-center padding_right30rpx padding_top12rpx">
         <text class="fontSize12rpx"> 操作人:{{operator}} </text>
      </view> -->
      <u-form labelPosition="left" label-width="180rpx" :model="warehouse" ref="warehouseRef">
  <view class="overflow" style="padding-bottom: 150rpx">
    <cu-custom bgColor="bg-white" :isBack="true">
      <block slot="backText"> </block>
      <block slot="content">板件查看</block>
    </cu-custom>
    <u-form
      labelPosition="left"
      label-width="180rpx"
      :model="warehouse"
      ref="warehouseRef"
    >
      <!-- <u-row
        class="border_bottom margin_top10rpx padding_left25rpx"
        style="background-color: #fff"
      >
        <u-col span="12">
          <u-form-item
            label="包装号:"
            prop="packageCode"
            required
            class="uFormItem"
          >
            <u-input
              v-model.trim="warehouse.packageCode"
              @confirm="getContainerData(1)"
              placeholder="请录入或扫码"
              class="width"
              :focus="curFoucus"
            >
            </u-input>
          </u-form-item>
        </u-col>
      </u-row> -->
      <u-row
        class="border_bottom margin_top10rpx padding_left25rpx"
        style="background-color: #fff"
      >
        <u-col span="12">
          <u-form-item label="部件条码:" class="uFormItem">
            <u-input
              v-model="warehouse.upi"
              ref="materialRef"
              placeholder="请扫码录入"
              @focus="warehouse.upi = ''"
            :focus="curFoucus"
              @confirm="getContainerData"
              style="font-weight: bolder; margin-left: 15rpx"
              class="width padding_left25rpx"
            >
            </u-input>
          </u-form-item>
        </u-col>
      </u-row>
    </u-form>
    <!-- 列表 -->
    <view class="margin_top10rpx">
      <u-swipe-action
        :show="item.show"
        :index="eindex"
        v-for="(item, eindex) in singlist"
        :key="eindex"
        :options="options"
        @click="longpress"
        @open="open"
        @close="close"
        class="margin_bottom10rpx"
      >
        <view class="item u-border-bottom">
          <!-- 此层wrap在此为必写的,否则可能会出现标题定位错误 -->
          <view class="title-wrap">
            <view
              :class="item.checked ? 'bg_item' : ''"
              class="fontSize32rpx width margin_auto background_fff padding10 relative box_sizing transition"
            >
              <!-- 部件名称 upi、材料、尺寸,位置、板件状态 -->
              <u-row>
                <u-col span="12" class="flex align-center">
                  <!-- <u-checkbox v-model="item.checked" size="50rpx"></u-checkbox> -->
                  <view
                    class="flex justify-center align-center"
                    style="
                      background-color: #f18202;
                      color: #fff;
                      border-radius: 50vh;
                      width: 40rpx;
                      height: 40rpx;
                    "
                  >
                    {{ eindex + 1 }}
                  </view>
                  <text class="color_f18202 padding_left10rpx">
                    {{ item.upi }}
                  </text>
                </u-col>
              </u-row>
              <u-row>
                <u-col span="8">
                  <text class="color_80 padding_left25rpx">
                    部件名称: {{ item.detailName }}
                  </text>
                </u-col>
                <u-col span="4">
                  <text class="color_80"> 位置:{{ item.location }} </text>
                </u-col>
              </u-row>
              <u-row>
                <u-col span="8">
                  <text class="color_80 padding_left25rpx">
                    材料:{{ item.info18 }}
                  </text>
                </u-col>
                <u-col span="4">
                  <text class="color_80"> 尺寸:{{ item.info16 }} </text>
                </u-col>
              </u-row>
              <u-row>
                <u-col span="8">
                  <text class="color_80 padding_left25rpx">
                    板件状态:{{ getEnumName(item.upiStatus) }}
                  </text>
                </u-col>
                <u-col span="4">
                  <text class="color_80"> 次序:{{ item.shelf }} </text>
                </u-col>
              </u-row>
            </view>
          </view>
        </view>
      </u-swipe-action>
    </view>
    <modal-code :rescode="rescode" :resmessage="resmessage" ref="resmodal" />
         <u-row class="border_bottom margin_top10rpx padding_left25rpx" style="background-color: #fff;">
            <u-col span="12">
               <u-form-item label="容器编号:" prop="containerCode" required class="uFormItem">
                  <u-input :focus="curFoucus" v-model.trim="warehouse.containerCode" @confirm="getMaterialDetails(1)"
                     placeholder="请扫码录入" :disabled="kwbhAllowed" style="font-weight: bolder;margin-left: 15rpx;"
                     class="width padding_left25rpx">
                  </u-input>
               </u-form-item>
            </u-col>
         </u-row>
         <u-row v-if="warehouse.containerCode" class="border_bottom margin_top10rpx padding_left25rpx"
            style="background-color: #fff;">
            <u-col span="12">
               <u-form-item label="物料跟踪码:" class="uFormItem">
                  <u-input v-model="warehouse.snCode" ref="materialRef" placeholder="请扫码录入"
                     @focus="warehouse.snCode = ''" @confirm="getMaterialDetails"
                     style="font-weight: bolder;margin-left: 15rpx;" class="width padding_left25rpx">
                  </u-input>
               </u-form-item>
            </u-col>
         </u-row>
         <u-row class="border_bottom margin_top10rpx  background_fff padding_left25rpx">
            <u-col span="12">
               <u-form-item label="目标库区:" prop="tray" class="uFormItem">
                  <input v-model="warehouse.areaCode" type="select" placeholder="请选择目标库区" @focus="containerFocus"
                     class="width"></input>
                  <u-action-sheet :list="wolist" v-model="modalshow" @click="confirmXl"></u-action-sheet>
                  <!-- <u-select v-model="modalshow" :list="wolist" @confirm="confirm" value-name="id" label-name="name"></u-select> -->
               </u-form-item>
            </u-col>
         </u-row>
         <u-row class="border_bottom margin_top10rpx padding_left25rpx" style="background-color: #fff;">
            <u-col span="10">
               <u-form-item label="目标库位:" class="uFormItem">
                  <u-input v-model="warehouse.placeCode" placeholder="请扫码录入"
                     style="font-weight: bolder;margin-left: 15rpx;" class="width padding_left25rpx">
                  </u-input>
               </u-form-item>
            </u-col>
            <u-col span="2" @tap="containerFocus2">
               <span class="fontSize15rpx">推荐</span>
               <u-icon name="arrow-right" size="14" class="fontSize15rpx"></u-icon>
            </u-col>
            <view class="boxList" v-show="modalshow2" @click="modalshow2 = false" @touchmove.stop>
               <view class="innerWrap">
                  <ul v-for="(item, eindex) in containerList" :key="eindex">
                     <li @click="confirm2(eindex)"> {{ item.text }}</li>
                  </ul>
               </view>
            </view>
         </u-row>
      </u-form>
      <modal-code :rescode='rescode' :resmessage='resmessage' ref="resmodal" />
      <view style="margin-bottom: 200rpx;" class="margin_top10rpx">
         <view v-for="(item, eindex) in singlist" :key="eindex" class="margin_bottom10rpx">
            <u-swipe-action :show="item.show" :index="eindex" @click="longpress" @open="open" @close='close'
               :options="options" style="width: 100vw;">
               <view class="fontSize32rpx background_fff padding10" :class="item.enAbled == 0 ? 'bg_item' : ''">
                  <u-row>
                     <u-col span="12" class="flex">
                        <text class="flex justify-center align-center circkle06">{{ eindex + 1 }}</text>
                        <text class="color_f18202 padding_left10rpx">
                           {{ item.materialCode }}-{{ item.materialName }}
                        </text>
                        <!-- <u-icon name="plus-circle" v-if="item.enAbled!=1"></u-icon> -->
                     </u-col>
                  </u-row>
                  <u-row>
                     <u-col span="12">
                        <text class="color_80 padding_left25rpx">
                           质检状态:{{ item.qcStatusName }}
                        </text>
                     </u-col>
                  </u-row>
                  <u-row>
                     <u-col span="12">
                        <view class="color_80 padding_left25rpx">
                           <text style="display: inline-block">批次:{{ item.batch }}</text>
                        </view>
                     </u-col>
                  </u-row>
                  <u-row>
                     <u-col span="12">
                        <text class="color_80 padding_left25rpx">
                           跟踪码:{{ item.snCode }}
                        </text>
                     </u-col>
                  </u-row>
                  <u-row>
                     <u-col span="8">
                        <text class="color_80 padding_left25rpx">
                        </text>
                     </u-col>
                     <u-col span="4">
                        <text class="color_f18202 ">
                           数量:{{ item.quantity }}
                        </text>
                     </u-col>
                  </u-row>
                  <!-- <u-row>
                     <u-col span="7">
                     </u-col>
                     <u-col span="5" class="flex">
                        <view class="color_80">
                           数量:
                        </view>
                        <input :class="item.enAbled ? '' : 'border_bottom_f18202 inputGray'"
                           class="text-left color_f18202 fontSize32rpx inputGray2" v-model="item.quantity"
                           type="number" :disabled="item.enAbled == 1" @blur="changeNum(item)" @click="clicki(item)"
                           placeholder="0" />
                     </u-col>
                  </u-row> -->
               </view>
            </u-swipe-action>
         </view>
      </view>
      <button-modal :issueShow='true' issueTitle="重置" subTitle='组盘' restTiltle='组盘上架' @reset='goWarhouse' @submit='submit'
         @issue="reset" />
   </view>
    <button-modal
      :subShow="true"
      garmenTitle="重置"
      @submit="rest"
      @reset="rest"
    />
  </view>
</template>
<script>
import ButtonModal from '../../components/buttonModal.vue'
import ModalCode from '../../components/ModalCode.vue'
import ButtonModal from "../../components/buttonModal.vue";
import ModalCode from "../../components/ModalCode.vue";
import {
   getOrderNo,
   addGroupDisk,
   onlyUpdateDutyCycle,
   getareaTypesList,
   getContainDetail,
   getContainerRecord,
   getBhbMaterialList,
   PdaBindListForSNCode,
   getRecommendList
} from '../../api/putIn/artificial.js'
import {
   getDate
} from '../../utils/dateTime.js'
import {
   getAttrValue
} from '../../utils/tool.js'
import {
   bindputawayConfirm
} from '../../api/putaway/putaway.js'
  getBhbMaterialList,
  getenumDataList,
} from "../../api/putIn/artificial.js";
export default {
   data() {
      return {
         containerList: [],
         curFoucus: true,
         rescode: 0,
         resmessage: "",
         putCode: '', //容器二维码
         detailshow: false,
         operator: '',
         focu: false, //清空按钮隐显
         focuM: false, //物料隐显按钮
         Datetime: getDate(),
         singlist: [], //物料详情
         wolist: [],
         options: [
            // {
            //    text: '详情',
            //    style: {
            //       backgroundColor: '#fc9f35'
            //    }
            // }
            {
               text: '删除',
               style: {
                  backgroundColor: '#fc4b4b'
               }
            }
         ],
         materlist: {},
         warehouse: {
            containerCode: '',
            materialCode: '',
            storehouseCode: "",
            snCode: "",
            // gridNumber: 1,
            // useNumber: 0,
            // exitNumber: 0,
            // dutyCycle:1
         },
         modalshow: false,
         modalshow2: false,
         gridable: true,
         gridFocus: false,
         detailable: false,
         detailableZb: false,
         batchNo: '', //扫码到的当前物料的批次
         warehouseRules: {
            containerCode: [{
               required: true,
               message: '容器编号不能为空',
               trigger: 'blur'
            }],
            materialCode: [{
               required: true,
               message: '物料编号不能为空',
               trigger: 'blur'
            }]
         },
         orderType: 1,
         warhouseTph: '',
         timerPrint: null,
         kwbhAllowed: false, //是否禁用库位编号
         arrD: [],
         statusTp: {
            'tpStatus': ''
         }
      };
   },
   components: {
      ButtonModal,
      ModalCode
   },
   onLoad(option) {
      if (option.orderType) {
         this.orderType = option.orderType
      }
   },
   onReady() {
      this.$refs.warehouseRef.setRules(this.warehouseRules)
   },
   mounted() {
      this.operator = JSON.parse(uni.getStorageSync('userInfo')).name
      this.getVehicleType()
   },
   computed: {
      containerCode() {
         return this.warehouse.containerCode
      }
   },
   watch: {
      containerCode(val) {
         if (!val) {
            this.detailable = false;
            this.detailableZb = false;
            this.warehouse.exitNumber = 0
         }
      },
      singlist(val) {
         this.warehouse.exitNumber = val.length
      }
   },
   methods: {
      //容器类型聚焦事件
      containerFocus() {
         uni.hideKeyboard()
         this.modalshow = true
      },
      gridBtnClick() {
         this.gridable = !this.gridable
         if (!this.gridable) {
            this.$nextTick(() => {
               this.gridFocus = true;
            })
         } else {
            this.$nextTick(() => {
               this.gridFocus = false;
            })
         }
      },
      //容器编号点击
      containerClick() {
         uni.scanCode({
            scanType: ['barCode', 'qrCode'],
            autoDecodeCharset: true,
            success: (res) => {
               this.warehouse.containerCode = res.result
               this.containerBlur()
            },
            fail: (err) => {
               this.rescode = 400
               this.resmessage = `扫描失败${err}`
               this.$refs.resmodal.show = true
            }
         })
      },
      //容器失焦事件
      containerBlur() {
         Promise.all([this.getContainerRecord(), this.getContainerData()])
      },
      //获取当前容器下组盘记录
      getContainerRecord() {
         this.kwbhAllowed = false
         //每次查询置空材料列表
         this.singlist = [];
         if (this.warehouse.containerCode == '') {
            return
         }
         getContainerRecord({
            containerCode: this.warehouse.containerCode
         }).then(res => {
            if (res.code == 200) {
               this.kwbhAllowed = true
               if (Array.isArray(res.data) && res.data.length > 0) {
                  if (res.data[0].orderNo) {
                     this.putCode = res.data[0].orderNo;
                  }
                  this.warehouse.dutyCycle = res.data[0].dutyCycle; //库存占比 【Editby shaocx,2023-05-22】
                  const recordArr = res.data.reduce((curr, item) => {
                     curr.push({
                        code: item.materialCode,
                        batchNo: item.batchNo,
                        quantityNow: item.quantity,
                        quantity: item.quantity,
                        materialName: item.materialName,
                        materialTypeName: item.materialTypeName,
                        specificationModel: item.specificationModel,
                        id: '',
                        unionCode: item.unionCode,
                        replaceMaterialCode: item.replaceMaterialCode,
                        stockFlagStatus: item.stockFlagStatus,
                        show: false,
                        enAbled: 1 //控制数量是否可以输入
                     })
                     return curr
                  }, [])
                  this.singlist.push(...recordArr)
               }
            } else {
               this.kwbhAllowed = false
            }
  data() {
    return {
      operator: "",
      warehouse: {
        packageCode: "",
        upi: "",
      },
      singlist: [], //详情列表
      ordersId: 0, //当前容器绑定的上架单
      rescode: 0,
      resmessage: "",
      options: [
        {
          text: "打印",
          style: {
            backgroundColor: "#fc9f35",
          },
        },
      ],
      detailshow: false,
      materlist: {},
      curFoucus: true,
      timer: null,
      timerSm: null,
      detailableZb: false,
      detailable: false,
      gridFocus: false,
      gridable: true,
      kwbhAllowed: false,
      enumList: [],
    };
  },
  components: {
    ButtonModal,
    ModalCode,
  },
  created() {
    getenumDataList({
      EnumName: "UpiStatusEnum",
    }).then((res) => {
      this.enumList = res.result || [];
    });
  },
  onLoad() {
    this.operator = JSON.parse(uni.getStorageSync("userInfo")).name;
  },
  mounted() {},
         })
  methods: {
    getEnumName(value) {
      const name = this.enumList.find((item) => item.value === value);
      return name ? name.name : "";
    },
    // 如果打开一个的时候,不需要关闭其他,则无需实现本方法
    open(index) {
      // 先将正在被操作的swipeAction标记为打开状态,否则由于props的特性限制,
      // 原本为'false',再次设置为'false'会无效
      this.singlist[index].show = true;
      this.singlist.map((val, idx) => {
        if (index != idx) this.singlist[idx].show = false;
      });
    },
    close(index) {
      this.singlist[index].show = false;
    },
    //物料详情
    longpress(index, eindex) {
      this.materlist = this.singlist[index];
      this.detailshow = true;
    },
      },
      //获取容器的信息
      getContainerData() {
         getContainDetail(this.warehouse.containerCode).then(res => {
            const result = res.data.rows;
            if (Array.isArray(result) && result.length == 1) {
               // 虚拟3个都不显示;料箱:显示栅格;钢托:不显示空间占比
               if (res.data.rows[0].isVirtual == 0) { //实物
                  if (res.data.rows[0].wareContainerType == '299120688255045' || res.data.rows[0]
                     .wareContainerType == '293486279884869') { // 钢制容器 塑料容器 -显示占比
                     this.detailableZb = true;
                     this.detailable = false;
                  } else { //料箱 - 显示栅格数
                     this.detailableZb = false;
                     this.detailable = true;
                  }
               } else {
                  this.detailable = false;
                  this.detailableZb = false;
               }
               this.warehouse.gridNumber = res.data.rows[0].gridNumber;
               this.warehouse.useNumber = res.data.rows[0].useNumber;
            } else {
               uni.showToast({
                  title: '库位不存在',
                  icon: 'none',
                  duration: 2000
               });
               this.kwbhAllowed = false
            }
    rest() {
      this.warehouse.upi = "";
      this.singlist = [];
    },
         })
      },
      //物料编码点击
      materialClick() {
         uni.scanCode({
            scanType: ['barCode', 'qrCode'],
            autoDecodeCharset: true,
            success: (res) => {
               this.warehouse.materialCode = getAttrValue(res.result, 'PARTSNUMBER')
               this.batchNo = getAttrValue(res.result, 'LOTNO')
               this.getMaterialDetails()
            },
            fail: (err) => {
               this.rescode = 400
               this.resmessage = `扫描失败${err}`
               this.$refs.resmodal.show = true
            }
         })
      },
      //物料查询
      getMaterialDetails(pram) {
         if (!this.warehouse.containerCode) {
            uni.showToast({
               title: '容器编号不能为空',
               icon: 'none',
               duration: 2000
            })
            return
         }
         //扫容器编号 加载所有物料
         if (pram == 1) {
            this.singlist = [];
            getBhbMaterialList({
               'containerCode': this.warehouse.containerCode,
               'SNCode': this.warehouse.snCode
            }).then((res) => {
               if (res.code == 200) {
                  if (res.result == null) {
                     this.rescode = 400
                     this.resmessage = '查无数据'
                     this.$refs.resmodal.show = true
                     return
                  } else {
                     if (res.result.length == 0) {
                        console.log("空托")
                        this.singlist = [];
                        return
                     } else {
                        console.log("有料")
                        res.result.forEach((item, index) => {
                           item.notDelete = 1 //已组盘的物料 不许删除 要去解绑页面解绑
                        })
                        this.singlist = res.result;
                     }
                  }
               } else {
                  this.resmessage = res.message
                  this.rescode = res.code
                  this.$refs.resmodal.show = true
    //获取容器的信息
    getContainerData(param) {
      if (!this.warehouse.upi) {
        uni.showToast({
          title: "请扫部件条码",
          icon: "none",
          duration: 2000,
        });
        return;
      }
      getBhbMaterialList({
        packageCode: this.warehouse.packageCode,
        upi: this.warehouse.upi,
      }).then((res) => {
        const result = res.result;
        if (Array.isArray(result) && result.length == 0) {
          uni.showToast({
            title: "数据不存在",
            icon: "none",
            duration: 2000,
          });
          return;
        }
        this.singlist = res.result;
      });
    },
               }
            })
         } else {
            //物料查询
            PdaBindListForSNCode({
               'containerCode': this.warehouse.containerCode,
               'SNCode': this.warehouse.snCode
            }).then((res) => {
               if (res.code == 200) {
                  if (res.result == null || !res.result.stockQuanOutput) {
                     this.rescode = 400
                     this.resmessage = '查无数据'
                     this.$refs.resmodal.show = true
                     return
                  } else {
                     // 根据id 判断物料是否存在
                     var item = res.result.stockQuanOutput;
                     //debugger
                     let index = this.singlist.findIndex(v => v.snCode == item.snCode);
                     if (index == -1) {
                        if (!res.result.validateResult && res.result.validateFailReason) {
                           uni.showModal({
                              title: '提示',
                              content: res.result.validateFailReason,
                              showCancel: true,
                              cancelColor: '#333333',
                              success: (res => {
                                 if (res.confirm) {
                                    this.singlist.unshift({
                                       ...item
                                    })
                                 } else if (res.cancel) {
                                 }
                              })
                           });
                        } else {
                           this.singlist.unshift({
                              ...item
                           })
                        }
                     }
                  }
               } else {
                  this.resmessage = res.message
                  this.rescode = res.code
                  this.$refs.resmodal.show = true
               }
            })
         }
      },
      //删除详情
      longpress(index, eindex) {
         uni.showModal({
            title: '提示',
            content: '是否确认删除?',
            showCancel: true,
            cancelColor: '#333333',
            success: (res => {
               if (res.confirm) {
                  this.singlist[index].cardNum = true
                  if (eindex == 0) { //删除
                     if(this.singlist[index].notDelete==1){
                        uni.showToast({
                           title: '已组盘的物料 不许删除 要去解绑页面解绑',
                           icon: 'none',
                           duration: 2000
                        });
                        return
                     }
                     this.singlist.splice(index, 1)
                  } else {
                     this.materlist = this.singlist[index]
                     this.detailshow = true
                  }
               } else if (res.cancel) {
               }
            })
         });
      },
      //编辑状态样式
      dc(e) {
         e.cardNum = true
         this.$forceUpdate()
      },
      //卡片选中
      clicki(e) {
         e.cardNum = true
         this.$forceUpdate()
      },
      // 如果打开一个的时候,不需要关闭其他,则无需实现本方法
      open(index) {
         // 先将正在被操作的swipeAction标记为打开状态,否则由于props的特性限制,
         // 原本为'false',再次设置为'false'会无效
         this.singlist[index].cardNum = true;
         this.$forceUpdate()
         this.singlist[index].show = true;
         this.singlist.map((val, idx) => {
            if (index != idx) this.singlist[idx].show = false;
         })
      },
      close(index) {
         this.singlist[index].show = false;
         this.singlist[index].cardNum = false;
         this.$forceUpdate()
      },
      //改变组盘数量
      changeNum(val) {
         val.cardNum = false
         if (!val.quantity) {
            uni.showModal({
               title: '提示',
               content: '组盘数量不能为空',
               showCancel: false
            })
         }
         if (val.quantity < 0) {
            uni.showModal({
               title: '提示',
               content: '组盘数量必须大于0',
               showCancel: false
            })
         }
      },
      //全部取消
      reset() {
         this.singlist = [];
         this.warehouse.containerCode = ''
         this.warehouse.snCode = ''
         this.warehouse.areaCode = ''
         this.warehouse.placeCode = ''
         this.$refs.warehouseRef.resetFields();
         this.$forceUpdate()
         this.kwbhAllowed = false
      },
      //重置页面信息
      rest() {
         this.reset()
      },
      //确认
      submit() {
         this.$refs.warehouseRef.setRules(this.warehouseRules)
         this.$refs.warehouseRef.validate(valid => {
            if (valid) {
               let arrN1 = this.singlist.findIndex((v) => v.quantity == '' || v.quantity <= 0)
               if (arrN1 > -1) {
                  uni.showToast({
                     title: '物料数量需要大于0',
                     icon: 'none',
                     duration: 2000
                  });
                  return
               }
               //物料详情
               let matatilDetails = this.singlist;
               let arrSub = matatilDetails.filter((v) => v.enAbled != 1)
               //请求参数
               /// 标记
               /// 1:物料组盘
               /// 2:容器组盘
               /// 3:物料解绑
               /// 4:容器解绑
               let params = {
                  Flag: 1,
                  ContainerCode: this.warehouse.containerCode,
                  orderDetails: arrSub
               }
               uni.showModal({
                  title: '提示',
                  content: '是否确认组盘?',
                  showCancel: true,
                  cancelColor: '#333333',
                  success: (res => {
                     if (res.confirm) {
                        addGroupDisk(params).then(res => {
                           this.warhouseTph = this.warehouse.containerCode;
                           this.rescode = res.code;
                           this.resmessage = res.message || '组盘成功!';
                           this.$refs.resmodal.show = true;
                           this.rest();
                        })
                     } else if (res.cancel) {
                     }
                  })
               });
            }
         })
      },
      // 租盘上架
      goWarhouse() {
         //物料详情
         let matatilDetails = this.singlist;
         let arrSub = matatilDetails.filter((v) => v.enAbled != 1)
         bindputawayConfirm({
            flag:1, //
            "ActionType": 3004, //组盘上架
            "ContainerCode": this.warehouse.containerCode,
            "StorehouseCode": this.warehouse.storehouseCode,
            "areaCode": this.warehouse.areaCode || '',
            "placeCode": this.warehouse.placeCode || '',
            "orderDetails": arrSub
         }).then(res => {
            this.rescode = res.code;
            this.resmessage = res.message || '组盘上架成功!';
            this.$refs.resmodal.show = true;
            this.reset();
         })
         // if(this.warehouse.areaCode==''&&this.warehouse.placeCode){
         //    uni.showToast({
         //       title: '请填写目标库区或目标库位!',
         //       icon: 'none',
         //       duration: 2000
         //    })
         //    return;
         // }
         // if (this.warhouseTph == '') {
         //    uni.showToast({
         //       title: '组盘成功后,可入库!',
         //       icon: 'none',
         //       duration: 2000
         //    })
         //    return
         // }
         // uni.navigateTo({
         //    url: '/pages/putIn/three/three?type=入库单&containerCode=' + this.warhouseTph
         // })
      },
      getVehicleType() {
         getareaTypesList().then((res) => {
            // if (res.data.rows.length == 0) {
            //    this.rescode = 400
            //    this.resmessage = '暂无数据'
            //    this.$refs.resmodal.show = true
            //    return
            // }
            var arr = res.result.items;
            arr.map(item => {
               item.text = item.areaCode;
               return item;
            })
            this.wolist = arr
         })
      },
      confirmXl(index) {
         this.warehouse.areaCode = this.wolist[index].areaCode;
         // this.warehouse.ContainerTypeCode =  this.wolist[index].id;
      },
      filterMark(stockFlagStatus) {
         let str = ''
         let arr4 = this.arrD.filter(v => v.value == stockFlagStatus)
         if (arr4.length > 0) {
            str = arr4[0].title
         }
         return str
      },
      //------获取推荐
      containerFocus2() {
         // //debugger
         if (!this.warehouse.areaCode) {
            uni.showToast({
               title: '请选择目标库区!',
               icon: 'none',
               duration: 2000
            });
            return
         }
         getRecommendList({
            'containerCode': this.warehouse.containerCode,
            'areaCode': this.warehouse.areaCode
         }).then(res => {
            this.modalshow2 = true;
            this.containerList = res.result.reduce((curr, item) => {
               curr.push({
                  text: item.placeCode,
               })
               return curr;
            }, [])
         })
      },
      //------获取推荐类型选择
      confirm2(index) {
         this.warehouse.placeCode = this.containerList[index].text;
      },
   }
}
    //全部取消
    back() {
      this.ordersId = 0;
      this.singlist = [];
      this.$refs.warehouseRef.resetFields();
      this.warehouse.packageCode = "";
    },
  },
};
</script>
<style lang="scss" scoped>
<style lang="scss">
.content {
  height: 500rpx;
  overflow-y: scroll;
  width: 100%;
  padding: 15rpx;
  box-sizing: border-box;
  .content-item {
    padding: 15rpx;
    background-color: #fff;
    margin-bottom: 15rpx;
    border-radius: 8rpx;
    font-size: 32rpx;
  }
}
.bg_item {
   background: #FFEBCD !important;
  background: #ffebcd !important;
}
.inputGray2 {
   line-height: 30px;
   border-top: 10rpx solid transparent;
}
.inputGray {
   border-top: 0rpx solid transparent;
}
.boxList {
   transition: all ease 2s;
   position: fixed;
   bottom: 0;
   left: 0;
   top: 0;
   right: 0;
   width: 100%;
   height: 100%;
   z-index: 999;
   background: rgba(0, 0, 0, 0.6);
   .innerWrap {
      max-height: 50%;
      overflow-y: auto;
      background: white;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      ul {
         padding: 0;
         margin: 0;
         li {
            padding: 0;
            margin: 0;
            border-bottom: 1px solid #e4e7ed;
            list-style-type: none;
            display: flex;
            flex-direction: row;
            line-height: 1;
            justify-content: center;
            align-items: center;
            font-size: 13px;
            padding: 14px 0;
            flex-direction: column;
         }
      }
   }
}
</style>
</style>