|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <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="containerCode" required class="uFormItem"> | 
|---|
|  |  |  | <u-input v-model.trim="warehouse.containerCode" @confirm="getContainerData(1)" | 
|---|
|  |  |  | :disabled="kwbhAllowed" 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;" | 
|---|
|  |  |  | v-if="warehouse.containerCode"> | 
|---|
|  |  |  | <u-col span="12"> | 
|---|
|  |  |  | <u-form-item label="物料跟踪码:" class="uFormItem"> | 
|---|
|  |  |  | <u-input v-model="warehouse.snCode" ref="materialRef" placeholder="请扫码录入" | 
|---|
|  |  |  | @focus="warehouse.snCode = ''" @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"> | 
|---|
|  |  |  | <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.materialCode }}({{ item.materialName }}) | 
|---|
|  |  |  | </text> | 
|---|
|  |  |  | </u-col> | 
|---|
|  |  |  | </u-row> | 
|---|
|  |  |  | <u-row> | 
|---|
|  |  |  | <u-col span="8"> | 
|---|
|  |  |  | <text class="color_80 padding_left25rpx"> | 
|---|
|  |  |  | 质检状态:{{ item.qcStatusName }} | 
|---|
|  |  |  | </text> | 
|---|
|  |  |  | </u-col> | 
|---|
|  |  |  | <u-col span="4"> | 
|---|
|  |  |  | <text class="color_80"> | 
|---|
|  |  |  | 批次:{{ item.batch }} | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </u-swipe-action> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <modal-code :rescode='rescode' :resmessage='resmessage' ref="resmodal" /> | 
|---|
|  |  |  | <u-popup v-model="detailshow" border-radius="14" @close="detailshow = false" mode="bottom"> | 
|---|
|  |  |  | <!-- <view class="pop "> --> | 
|---|
|  |  |  | <h2 class="text_align_center padding_bottom18 padding15">物料信息</h2> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">物料编号</text> | 
|---|
|  |  |  | <text>{{ this.materlist.materialCode }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">物料名称</text> | 
|---|
|  |  |  | <text>{{ this.materlist.materialName }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">物料小类</text> | 
|---|
|  |  |  | <text>{{ this.materlist.materialTypeName }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">批次</text> | 
|---|
|  |  |  | <text>{{ this.materlist.batchNo }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">物料规格</text> | 
|---|
|  |  |  | <text>{{ this.materlist.specificationModel }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">数量</text> | 
|---|
|  |  |  | <text>{{ this.materlist.unBindQuantity }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- </view> --> | 
|---|
|  |  |  | <view class="margin_top140rpx"> | 
|---|
|  |  |  | <button-modal :subShow='true' garmenTitle='打印' @submit='init' @reset='rest' /> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </u-popup> | 
|---|
|  |  |  | <button-modal :empTytowerShow='true' cleaningTitle="重置" garmenTitle='物料解绑' @submit='submit' @reset='back' /> | 
|---|
|  |  |  | <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="250rpx" | 
|---|
|  |  |  | :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="upi" | 
|---|
|  |  |  | required | 
|---|
|  |  |  | class="uFormItem" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <u-input | 
|---|
|  |  |  | v-model.trim="warehouse.upi" | 
|---|
|  |  |  | @focus="warehouse.upi = ''" | 
|---|
|  |  |  | @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 = ''" | 
|---|
|  |  |  | @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" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <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="12"> | 
|---|
|  |  |  | <text class="color_80 padding_left25rpx"> | 
|---|
|  |  |  | <text class="color_80"> 次序:{{ item.shelf }} </text> | 
|---|
|  |  |  | </text> | 
|---|
|  |  |  | </u-col> | 
|---|
|  |  |  | </u-row> | 
|---|
|  |  |  | <u-row> | 
|---|
|  |  |  | <u-col span="12"> | 
|---|
|  |  |  | <text class="color_80 padding_left25rpx"> | 
|---|
|  |  |  | 部件名称: {{ item.detailName }} | 
|---|
|  |  |  | </text> | 
|---|
|  |  |  | </u-col> | 
|---|
|  |  |  | </u-row> | 
|---|
|  |  |  | <u-row> | 
|---|
|  |  |  | <u-col span="12"> | 
|---|
|  |  |  | <text class="color_80 padding_left25rpx"> | 
|---|
|  |  |  | 位置:{{ getAreaCodeEnumName(item.areaCode) }} | 
|---|
|  |  |  | </text> | 
|---|
|  |  |  | </u-col> | 
|---|
|  |  |  | </u-row> | 
|---|
|  |  |  | <u-row> | 
|---|
|  |  |  | <u-col span="12"> | 
|---|
|  |  |  | <text class="color_80 padding_left25rpx"> | 
|---|
|  |  |  | 材料:{{ item.info18 }} | 
|---|
|  |  |  | </text> | 
|---|
|  |  |  | </u-col> | 
|---|
|  |  |  | </u-row> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <u-row> | 
|---|
|  |  |  | <u-col span="12"> | 
|---|
|  |  |  | <text class="color_80 padding_left25rpx"> | 
|---|
|  |  |  | <text class="color_80"> 尺寸:{{ item.info16 }} </text> | 
|---|
|  |  |  | </text> | 
|---|
|  |  |  | </u-col> | 
|---|
|  |  |  | </u-row> | 
|---|
|  |  |  | <u-row> | 
|---|
|  |  |  | <u-col span="12"> | 
|---|
|  |  |  | <text class="color_80 padding_left25rpx"> | 
|---|
|  |  |  | 板件状态:{{ getEnumName(item.upiStatus) }} | 
|---|
|  |  |  | </text> | 
|---|
|  |  |  | </u-col> | 
|---|
|  |  |  | </u-row> | 
|---|
|  |  |  | <u-row> | 
|---|
|  |  |  | <u-col span="12"> | 
|---|
|  |  |  | <text class="color_80 padding_left25rpx"> | 
|---|
|  |  |  | 标记:{{ getUpiFlagEnumName(item.upiFlag) }} | 
|---|
|  |  |  | </text> | 
|---|
|  |  |  | </u-col> | 
|---|
|  |  |  | </u-row> | 
|---|
|  |  |  | <u-row> | 
|---|
|  |  |  | <u-col span="12"> | 
|---|
|  |  |  | <text class="color_80 padding_left25rpx"> | 
|---|
|  |  |  | <text class="color_80"> 生产单号:{{ item.info5 }} </text> | 
|---|
|  |  |  | </text> | 
|---|
|  |  |  | </u-col> | 
|---|
|  |  |  | </u-row> | 
|---|
|  |  |  | <u-row> | 
|---|
|  |  |  | <u-col span="12"> | 
|---|
|  |  |  | <text class="color_80 padding_left25rpx"> | 
|---|
|  |  |  | <text class="color_80"> | 
|---|
|  |  |  | 包装编号:{{ item.packageCode }}</text | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </text> | 
|---|
|  |  |  | </u-col> | 
|---|
|  |  |  | </u-row> | 
|---|
|  |  |  | <u-row> | 
|---|
|  |  |  | <u-col span="12"> | 
|---|
|  |  |  | <text class="color_80 padding_left25rpx"> | 
|---|
|  |  |  | <text class="color_80"> 批次号:{{ item.planNo }}</text> | 
|---|
|  |  |  | </text> | 
|---|
|  |  |  | </u-col> | 
|---|
|  |  |  | </u-row> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </u-swipe-action> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <modal-code :rescode="rescode" :resmessage="resmessage" ref="resmodal" /> | 
|---|
|  |  |  | <u-popup | 
|---|
|  |  |  | v-model="detailshow" | 
|---|
|  |  |  | border-radius="14" | 
|---|
|  |  |  | @close="detailshow = false" | 
|---|
|  |  |  | mode="bottom" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <h2 class="text_align_center padding_bottom18 padding15">信息</h2> | 
|---|
|  |  |  | <div style="height: 400px; overflow-y: auto; padding: 0 15rpx"> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">订单号</text> | 
|---|
|  |  |  | <text>{{ materlist.orderId }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">长</text> | 
|---|
|  |  |  | <text>{{ materlist.length }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">宽</text> | 
|---|
|  |  |  | <text>{{ materlist.width }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">厚</text> | 
|---|
|  |  |  | <text>{{ materlist.thk }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">行号</text> | 
|---|
|  |  |  | <text>{{ materlist.lineNumber }}</text> | 
|---|
|  |  |  | </view> --> | 
|---|
|  |  |  | <!-- <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">部件纹理</text> | 
|---|
|  |  |  | <text>{{ materlist.Matgrid }}</text> | 
|---|
|  |  |  | </view> --> | 
|---|
|  |  |  | <!-- <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">打孔设备编号</text> | 
|---|
|  |  |  | <text>{{ materlist.DRNum }}</text> | 
|---|
|  |  |  | </view> --> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">锯切图号</text> | 
|---|
|  |  |  | <text>{{ materlist.materialIndex }}</text> | 
|---|
|  |  |  | </view> --> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">包装X坐标</text> | 
|---|
|  |  |  | <text>{{ materlist.machineXCenter }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">包装Y坐标</text> | 
|---|
|  |  |  | <text>{{ materlist.machineYCenter }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">包装Z坐标</text> | 
|---|
|  |  |  | <text>{{ materlist.machineZCenter }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">转向角度</text> | 
|---|
|  |  |  | <text>{{ materlist.rotation }}</text> | 
|---|
|  |  |  | </view> --> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">层数</text> | 
|---|
|  |  |  | <text>{{ materlist.sequence }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">销售合同单号</text> | 
|---|
|  |  |  | <text>{{ materlist.info4 }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">生产单号</text> | 
|---|
|  |  |  | <text>{{ materlist.info5 }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">第几包</text> | 
|---|
|  |  |  | <text>{{ materlist.info6 }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">经销店名称</text> | 
|---|
|  |  |  | <text>{{ materlist.info7 }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">产品名称</text> | 
|---|
|  |  |  | <text>{{ materlist.info8 }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">包装编码</text> | 
|---|
|  |  |  | <text>{{ materlist.info9 }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">客户名称</text> | 
|---|
|  |  |  | <text>{{ materlist.info10 }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">自提或发货</text> | 
|---|
|  |  |  | <text>{{ materlist.info11 }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">包装部件总数量</text> | 
|---|
|  |  |  | <text>{{ materlist.info12 }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">包装面积</text> | 
|---|
|  |  |  | <text>{{ materlist.info13 }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">部件名称</text> | 
|---|
|  |  |  | <text>{{ materlist.info14 }}</text> | 
|---|
|  |  |  | </view> --> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">部件数量</text> | 
|---|
|  |  |  | <text>{{ materlist.info15 }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">部件尺寸</text> | 
|---|
|  |  |  | <text>{{ materlist.info16 }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="line flex justify-between"> | 
|---|
|  |  |  | <text class="text-gray">包装机械手旋转</text> | 
|---|
|  |  |  | <text>{{ materlist.info17 }}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </u-popup> | 
|---|
|  |  |  | <button-modal | 
|---|
|  |  |  | :subShow="true" | 
|---|
|  |  |  | garmenTitle="重置" | 
|---|
|  |  |  | @submit="rest" | 
|---|
|  |  |  | @reset="rest" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import { getContainerMaterial, unbindOrder } from '@/api/putIn/untie.js' | 
|---|
|  |  |  | import BluePrint from '@/pages/print/bluePrint.js' | 
|---|
|  |  |  | import ButtonModal from '../../components/buttonModal.vue' | 
|---|
|  |  |  | import ModalCode from '../../components/ModalCode.vue' | 
|---|
|  |  |  | import { getAttrValue } from '@/utils/tool.js' | 
|---|
|  |  |  | import { getContainDetail, onlyUpdateDutyCycle, getBhbMaterialList } from '../../api/putIn/artificial.js' | 
|---|
|  |  |  | import { getContainerMaterial, unbindOrder } from "@/api/putIn/untie.js"; | 
|---|
|  |  |  | import BluePrint from "@/pages/print/bluePrint.js"; | 
|---|
|  |  |  | import ButtonModal from "../../components/buttonModal.vue"; | 
|---|
|  |  |  | import ModalCode from "../../components/ModalCode.vue"; | 
|---|
|  |  |  | import { getAttrValue } from "@/utils/tool.js"; | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | getContainDetail, | 
|---|
|  |  |  | onlyUpdateDutyCycle, | 
|---|
|  |  |  | getBhbMaterialList, | 
|---|
|  |  |  | getenumDataList, | 
|---|
|  |  |  | } from "../../api/putIn/artificial.js"; | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | operator: '', | 
|---|
|  |  |  | warehouse: { | 
|---|
|  |  |  | containerCode: '', | 
|---|
|  |  |  | materialCode: '', | 
|---|
|  |  |  | dutyCycle: '', | 
|---|
|  |  |  | gridNumber: 1, | 
|---|
|  |  |  | useNumber: 0, | 
|---|
|  |  |  | exitNumber: 0 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | operator: "", | 
|---|
|  |  |  | warehouse: { | 
|---|
|  |  |  | upi: "", | 
|---|
|  |  |  | materialCode: "", | 
|---|
|  |  |  | dutyCycle: "", | 
|---|
|  |  |  | gridNumber: 1, | 
|---|
|  |  |  | useNumber: 0, | 
|---|
|  |  |  | exitNumber: 0, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 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: [], | 
|---|
|  |  |  | areaCodeEnum: [], | 
|---|
|  |  |  | upiFlagEnum: [], | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | components: { | 
|---|
|  |  |  | ButtonModal, | 
|---|
|  |  |  | ModalCode, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | getenumDataList({ | 
|---|
|  |  |  | EnumName: "UpiStatusEnum", | 
|---|
|  |  |  | }).then((res) => { | 
|---|
|  |  |  | this.enumList = res.result || []; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | components: { | 
|---|
|  |  |  | ButtonModal, | 
|---|
|  |  |  | ModalCode | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLoad() { | 
|---|
|  |  |  | this.operator = JSON.parse(uni.getStorageSync('userInfo')).name | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | watch: { | 
|---|
|  |  |  | containerCode(val) { | 
|---|
|  |  |  | if (!val) { | 
|---|
|  |  |  | this.detailable = false; | 
|---|
|  |  |  | this.detailableZb = false; | 
|---|
|  |  |  | this.warehouse.exitNumber = 0 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | // 如果打开一个的时候,不需要关闭其他,则无需实现本方法 | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //标签重新打印 | 
|---|
|  |  |  | init() { | 
|---|
|  |  |  | const arr = ['materialCode', 'unBindQuantity']; | 
|---|
|  |  |  | const arrzw = ['物料编号', '本次解绑数量'] | 
|---|
|  |  |  | let isAllow = '' | 
|---|
|  |  |  | Object.keys(this.materlist).forEach(item => { | 
|---|
|  |  |  | if (arr.includes(item)) { | 
|---|
|  |  |  | if (!this.materlist[item]) { | 
|---|
|  |  |  | isAllow = arr.indexOf(item) | 
|---|
|  |  |  | // this.rescode = 400 | 
|---|
|  |  |  | // this.resmessage = `${arrzw[isAllow]}为空,不能继续打印` | 
|---|
|  |  |  | // this.resmessage = `${item}为空,不能继续打印` | 
|---|
|  |  |  | // this.$refs.resmodal.show = true | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | if (isAllow != '') { | 
|---|
|  |  |  | this.detailshow = false | 
|---|
|  |  |  | this.rescode = 400 | 
|---|
|  |  |  | this.resmessage = `${arrzw[isAllow]}为空,不能继续打印` | 
|---|
|  |  |  | this.$refs.resmodal.show = true | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (this.materlist.unBindQuantity <= 0 || this.materlist.unBindQuantity > this.materlist.quantity) { | 
|---|
|  |  |  | this.detailshow = false | 
|---|
|  |  |  | this.rescode = 400 | 
|---|
|  |  |  | this.resmessage = `数量不符合规范,不能继续打印` | 
|---|
|  |  |  | this.$refs.resmodal.show = true | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!this.materlist.specificationModel) { | 
|---|
|  |  |  | this.materlist.specificationModel = '' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | let ptintContext = [ | 
|---|
|  |  |  | { type: 'text', x: 0, y: 0, text: '', size: 2, rotate: 0, bold: 0, underline: false, reverse: false }, | 
|---|
|  |  |  | { type: 'text', x: 0, y: 0, text: '', size: 2, rotate: 0, bold: 0, underline: false, reverse: false }, | 
|---|
|  |  |  | { type: 'text', x: 0, y: 0, text: '', size: 2, rotate: 0, bold: 0, underline: false, reverse: false }, | 
|---|
|  |  |  | /* 以上空数据,为防止丢包时打印不正常 */ | 
|---|
|  |  |  | { type: 'line', x1: 3, y1: 3, x2: 565, y2: 3, width: 2 }, | 
|---|
|  |  |  | { type: 'line', x1: 3, y1: 3, x2: 3, y2: 345, width: 2 }, | 
|---|
|  |  |  | { type: 'line', x1: 3, y1: 345, x2: 565, y2: 345, width: 2 }, | 
|---|
|  |  |  | { type: 'line', x1: 565, y1: 345, x2: 565, y2: 3, width: 2 }, | 
|---|
|  |  |  | { type: 'text', x: 80, y: 15, text: '牧野汽车装备(武汉)有限公司', size: 3, rotate: 0, bold: 1, underline: false, reverse: false }, | 
|---|
|  |  |  | { type: 'line', x1: 3, y1: 60, x2: 565, y2: 60, width: 2 }, | 
|---|
|  |  |  | { type: 'text', x: 10, y: 75, text: `物料编号: ${this.materlist.materialCode}`, size: 2, rotate: 0, bold: 1, underline: false, reverse: false }, | 
|---|
|  |  |  | { type: 'line', x1: 3, y1: 110, x2: 380, y2: 110, width: 2 }, | 
|---|
|  |  |  | { type: 'text', x: 10, y: 125, text: `物料名称: ${this.materlist.materialTypeName || ''}`, size: 2, rotate: 0, bold: 1, underline: false, reverse: false }, | 
|---|
|  |  |  | { type: 'line', x1: 3, y1: 160, x2: 380, y2: 160, width: 2 }, | 
|---|
|  |  |  | { type: 'text', x: 10, y: 175, text: `批次: ${this.materlist.batchNo}`, size: 2, rotate: 0, bold: 1, underline: false, reverse: false }, | 
|---|
|  |  |  | { type: 'line', x1: 3, y1: 210, x2: 565, y2: 210, width: 2 }, | 
|---|
|  |  |  | { type: 'line', x1: 380, y1: 60, x2: 380, y2: 210, width: 2 }, | 
|---|
|  |  |  | { type: 'qr', x: 410, y: 72, text: `PARTS NUMBER: ${this.materlist.materialCode},SAP: ${this.materlist.sap_Location || ''},BOXNUM: ${this.materlist.boxNo || ''},LOT NO: ${this.materlist.batchNo},QUANTITY: ${this.materlist.unBindQuantity}`, width: 3, level: 1 }, | 
|---|
|  |  |  | { type: 'text', x: 10, y: 225, text: `规格型号: ${this.materlist.specificationModel.length > 32 ? this.materlist.specificationModel.substr(0, 32) : this.materlist.specificationModel}`, size: 2, rotate: 0, bold: 1, underline: false, reverse: false }, | 
|---|
|  |  |  | { type: 'line', x1: 3, y1: 260, x2: 565, y2: 260, width: 2 }, | 
|---|
|  |  |  | { type: 'text', x: 120, y: 290, text: 'MAKINO J(CHINA) CO.LTD', size: 3, rotate: 0, bold: 1, underline: false, reverse: false }, | 
|---|
|  |  |  | ] | 
|---|
|  |  |  | console.log(ptintContext) | 
|---|
|  |  |  | BluePrint.print(this.$store, ptintContext).then(() => { | 
|---|
|  |  |  | // 关闭弹框 并恢复滑动块 | 
|---|
|  |  |  | this.detailshow = false | 
|---|
|  |  |  | this.addForm.code = this.materlist.materlist; | 
|---|
|  |  |  | this.addForm.name = this.materlist.materialName; | 
|---|
|  |  |  | this.addForm.batchNo = this.materlist.batchNo; | 
|---|
|  |  |  | this.addForm.specificationModel = this.materlist.specificationModel; | 
|---|
|  |  |  | addPrintRecord(this.addForm).then(res => { | 
|---|
|  |  |  | console.log(res); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: '打印成功', | 
|---|
|  |  |  | duration: 2000 | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }).catch((err) => { | 
|---|
|  |  |  | // uni.showToast({ | 
|---|
|  |  |  | //    title:'打印失败', | 
|---|
|  |  |  | //    duration: 2000 | 
|---|
|  |  |  | // }) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | materialBlur() { | 
|---|
|  |  |  | clearTimeout(this.timerSm) | 
|---|
|  |  |  | this.timerSm = null | 
|---|
|  |  |  | if (this.warehouse.materialCode == '') { | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | getenumDataList({ | 
|---|
|  |  |  | EnumName: "AreaCodeEnum", | 
|---|
|  |  |  | }).then((res) => { | 
|---|
|  |  |  | this.areaCodeEnum = res.result || []; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | getenumDataList({ | 
|---|
|  |  |  | EnumName: "UpiFlagEnum", | 
|---|
|  |  |  | }).then((res) => { | 
|---|
|  |  |  | this.upiFlagEnum = res.result || []; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLoad() { | 
|---|
|  |  |  | this.operator = JSON.parse(uni.getStorageSync("userInfo")).name; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | mounted() {}, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.timer = setTimeout(() => { //多次触发bug 延迟bug | 
|---|
|  |  |  | //判断当前物料是否在盘点列表中 | 
|---|
|  |  |  | const index = this.singlist.findIndex(item => item.materialCode == this.warehouse.materialCode && item.batchNo == lotNo); | 
|---|
|  |  |  | if (index > -1) { | 
|---|
|  |  |  | this.singlist[index].checked = 1 | 
|---|
|  |  |  | this.singlist.unshift(...this.singlist.splice(index, 1)) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | clearTimeout(this.timer) | 
|---|
|  |  |  | this.timer = null | 
|---|
|  |  |  | this.containerBlur() | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, 100) | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | getEnumName(value) { | 
|---|
|  |  |  | const name = this.enumList.find((item) => item.value === value); | 
|---|
|  |  |  | return name ? name.name : ""; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getAreaCodeEnumName(value) { | 
|---|
|  |  |  | const name = this.areaCodeEnum.find((item) => item.value === value); | 
|---|
|  |  |  | return name ? name.name : ""; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getUpiFlagEnumName(value) { | 
|---|
|  |  |  | const name = this.upiFlagEnum.find((item) => item.value === value); | 
|---|
|  |  |  | return name ? name.name : ""; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | containerBlur() { | 
|---|
|  |  |  | if (this.warehouse.containerCode == '' || this.warehouse.materialCode == '') { | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | getContainerMaterial(this.warehouse).then(res => { | 
|---|
|  |  |  | if (res.data == null || res.data.length == 0) { | 
|---|
|  |  |  | this.rescode = 400 | 
|---|
|  |  |  | this.resmessage = '暂无数据' | 
|---|
|  |  |  | this.$refs.resmodal.show = true | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.warehouse.dutyCycle = res.data[0].dutyCycle || 0; | 
|---|
|  |  |  | //给所有的材料一个未选中的状态 | 
|---|
|  |  |  | res.data.map(item => { | 
|---|
|  |  |  | item.checked = true, | 
|---|
|  |  |  | item.unBindQuantity = '' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | this.singlist.unshift(...res.data) | 
|---|
|  |  |  | this.ordersId = res.data[0].ordersId | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //解绑数量失焦事件 | 
|---|
|  |  |  | changeNum(option) { | 
|---|
|  |  |  | //判断是否勾选,如果勾选了,就要对数量校验 | 
|---|
|  |  |  | if (!option.checked) { | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (option.unBindQuantity == '') { | 
|---|
|  |  |  | this.rescode = 400 | 
|---|
|  |  |  | this.resmessage = '解绑数量不能为空' | 
|---|
|  |  |  | this.$refs.resmodal.show = true | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 如果打开一个的时候,不需要关闭其他,则无需实现本方法 | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (option.unBindQuantity <= 0) { | 
|---|
|  |  |  | this.rescode = 400 | 
|---|
|  |  |  | this.resmessage = '解绑数量必须大于0' | 
|---|
|  |  |  | this.$refs.resmodal.show = true | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (option.unBindQuantity > option.quantity) { | 
|---|
|  |  |  | this.rescode = 400 | 
|---|
|  |  |  | this.resmessage = '解绑数量不能大于库存数量' | 
|---|
|  |  |  | this.$refs.resmodal.show = true | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (this.detailable) { | 
|---|
|  |  |  | let filterHas = this.singlist.filter(item => item.unBindQuantity == Number(item.quantity)); | 
|---|
|  |  |  | if (filterHas.length > 0) { | 
|---|
|  |  |  | this.warehouse.exitNumber = this.warehouse.useNumber - filterHas.length | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //确认解绑 | 
|---|
|  |  |  | submit() { | 
|---|
|  |  |  | const filterArr = this.singlist.filter(item => item.checked); | 
|---|
|  |  |  | if (filterArr.length <= 0) { | 
|---|
|  |  |  | this.rescode = 400 | 
|---|
|  |  |  | this.resmessage = '请选择解绑的物料!' | 
|---|
|  |  |  | this.$refs.resmodal.show = true | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //判断选中的里面是否存在解绑的数量不符合规范的 | 
|---|
|  |  |  | // const index = filterArr.findIndex(item => item.unBindQuantity == '' || item.unBindQuantity <= 0 || item.unBindQuantity > item.quantity) | 
|---|
|  |  |  | // if (index > -1) { | 
|---|
|  |  |  | //    this.rescode = 400 | 
|---|
|  |  |  | //    this.resmessage = '解绑数量不符合要求' | 
|---|
|  |  |  | //    this.$refs.resmodal.show = true | 
|---|
|  |  |  | //    return | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | const warehousOrderDetails = filterArr.reduce((curr, item) => { | 
|---|
|  |  |  | curr.push({ | 
|---|
|  |  |  | ...item | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | return curr; | 
|---|
|  |  |  | }, []) | 
|---|
|  |  |  | const params = { | 
|---|
|  |  |  | flag:3,//3:物料解绑 | 
|---|
|  |  |  | containerCode: this.warehouse.containerCode, | 
|---|
|  |  |  | orderDetails: warehousOrderDetails | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.showModal({ | 
|---|
|  |  |  | title: '解绑', | 
|---|
|  |  |  | content: '是否确认解绑?', | 
|---|
|  |  |  | showCancel: true, | 
|---|
|  |  |  | cancelColor: '#333333', | 
|---|
|  |  |  | success: (res => { | 
|---|
|  |  |  | if (res.confirm) { | 
|---|
|  |  |  | unbindOrder(params).then(res => { | 
|---|
|  |  |  | this.rescode = 200 | 
|---|
|  |  |  | this.$refs.resmodal.show = true; | 
|---|
|  |  |  | this.resmessage = '解绑成功' | 
|---|
|  |  |  | this.back(); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } else if (res.cancel) { | 
|---|
|  |  |  | rest() { | 
|---|
|  |  |  | this.warehouse.upi = ""; | 
|---|
|  |  |  | this.warehouse.upi = ""; | 
|---|
|  |  |  | this.singlist = []; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //检查容器栅格数 | 
|---|
|  |  |  | checkGrid() {}, | 
|---|
|  |  |  | //获取容器的信息 | 
|---|
|  |  |  | getContainerData(param) { | 
|---|
|  |  |  | if (!this.warehouse.upi) { | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: "请扫包装号", | 
|---|
|  |  |  | icon: "none", | 
|---|
|  |  |  | duration: 2000, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | getBhbMaterialList({ | 
|---|
|  |  |  | upi: this.warehouse.upi, | 
|---|
|  |  |  | }).then((res) => { | 
|---|
|  |  |  | const result = res.result; | 
|---|
|  |  |  | if (Array.isArray(result) && result.length == 0) { | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: "没有查到数据", | 
|---|
|  |  |  | icon: "none", | 
|---|
|  |  |  | duration: 5000, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.singlist = []; | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.singlist = result; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | rest() { | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //检查容器栅格数 | 
|---|
|  |  |  | checkGrid() { | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //获取容器的信息 | 
|---|
|  |  |  | getContainerData(param) { | 
|---|
|  |  |  | if (this.warehouse.containerCode == '') { | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: '请扫容器编号', | 
|---|
|  |  |  | icon: 'none', | 
|---|
|  |  |  | duration: 2000 | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // this.kwbhAllowed = false; | 
|---|
|  |  |  | getBhbMaterialList({ | 
|---|
|  |  |  | 'containerCode': this.warehouse.containerCode, | 
|---|
|  |  |  | 'SNCode': this.warehouse.snCode | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | // //debugger | 
|---|
|  |  |  | const result = res.result; | 
|---|
|  |  |  | if (Array.isArray(result) && result.length == 0) { | 
|---|
|  |  |  | uni.showToast({ | 
|---|
|  |  |  | title: '数据不存在', | 
|---|
|  |  |  | icon: 'none', | 
|---|
|  |  |  | duration: 2000 | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | return | 
|---|
|  |  |  | // this.kwbhAllowed = true | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //容器编号入口 | 
|---|
|  |  |  | // if (param == 1) { | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | if(res.result && res.result.length==1){ | 
|---|
|  |  |  | res.result[0].checked=true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.singlist = res.result; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //物料入口 根据id 判断物料是否存在 | 
|---|
|  |  |  | // res.result.forEach(item => { | 
|---|
|  |  |  | //    let index = this.singlist.findIndex(v => v.snCode == item.snCode); | 
|---|
|  |  |  | //    if (index == -1) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //       this.singlist.unshift({ | 
|---|
|  |  |  | //          ...item | 
|---|
|  |  |  | //       }) | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  | // }); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onlyUpdateDutyCycleClick() { | 
|---|
|  |  |  | this.$refs.warehouseRef.setRules(this.warehouseRules) | 
|---|
|  |  |  | this.$refs.warehouseRef.validate(valid => { | 
|---|
|  |  |  | if (valid) { | 
|---|
|  |  |  | //请求参数 | 
|---|
|  |  |  | let params = { | 
|---|
|  |  |  | wareContainerCode: this.warehouse.containerCode, | 
|---|
|  |  |  | dutyCycle: this.warehouse.dutyCycle | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.showModal({ | 
|---|
|  |  |  | title: '提示', | 
|---|
|  |  |  | content: '是否确认仅更新空间占比数据?', | 
|---|
|  |  |  | showCancel: true, | 
|---|
|  |  |  | cancelColor: '#333333', | 
|---|
|  |  |  | success: (res => { | 
|---|
|  |  |  | if (res.confirm) { | 
|---|
|  |  |  | onlyUpdateDutyCycle(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) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | gridBtnClick() { | 
|---|
|  |  |  | this.gridable = !this.gridable | 
|---|
|  |  |  | if (!this.gridable) { | 
|---|
|  |  |  | this.$nextTick(() => { | 
|---|
|  |  |  | this.gridFocus = true; | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.$nextTick(() => { | 
|---|
|  |  |  | this.gridFocus = false; | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | //全部取消 | 
|---|
|  |  |  | back() { | 
|---|
|  |  |  | this.ordersId = 0; | 
|---|
|  |  |  | this.singlist = []; | 
|---|
|  |  |  | this.$refs.warehouseRef.resetFields(); | 
|---|
|  |  |  | this.warehouse.containerCode = '' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | unmounted() { | 
|---|
|  |  |  | if (this.timer) { | 
|---|
|  |  |  | clearTimeout(this.timer) | 
|---|
|  |  |  | this.timer = null | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //全部取消 | 
|---|
|  |  |  | back() { | 
|---|
|  |  |  | this.ordersId = 0; | 
|---|
|  |  |  | this.singlist = []; | 
|---|
|  |  |  | this.$refs.warehouseRef.resetFields(); | 
|---|
|  |  |  | this.warehouse.upi = ""; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <style lang="scss"> | 
|---|
|  |  |  | .content { | 
|---|
|  |  |  | height: 500rpx; | 
|---|
|  |  |  | overflow-y: scroll; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | padding: 15rpx; | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .content-item { | 
|---|
|  |  |  | padding: 15rpx; | 
|---|
|  |  |  | background-color: #fff; | 
|---|
|  |  |  | margin-bottom: 15rpx; | 
|---|
|  |  |  | border-radius: 8rpx; | 
|---|
|  |  |  | font-size: 32rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .bg_item { | 
|---|
|  |  |  | background: #FFEBCD !important; | 
|---|
|  |  |  | background: #ffebcd !important; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|
|  |  |  | </style> | 
|---|