| | |
| | | <template> |
| | | <view class="overflow" style="padding-bottom: 150rpx"> |
| | | <cu-custom bgColor="bg-white" :isBack="true"> |
| | | <block slot="backText"> |
| | | </block> |
| | | <block slot="content">物料解绑</block> |
| | | <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-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-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;" |
| | | v-if="warehouse.containerCode"> |
| | | <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.snCode" ref="materialRef" placeholder="请扫码录入" |
| | | @focus="warehouse.snCode = ''" @confirm="getContainerData" |
| | | style="font-weight: bolder;margin-left: 15rpx;" class="width padding_left25rpx"> |
| | | <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"> |
| | | <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"> |
| | | <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;"> |
| | | <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 }}) |
| | | {{ item.upi }} |
| | | </text> |
| | | </u-col> |
| | | </u-row> |
| | | <u-row> |
| | | <u-col span="8"> |
| | | <text class="color_80 padding_left25rpx"> |
| | | 质检状态:{{ item.qcStatusName }} |
| | | 部件名称: {{ item.detailName }} |
| | | </text> |
| | | </u-col> |
| | | <u-col span="4"> |
| | | <text class="color_80"> |
| | | 批次:{{ item.batch }} |
| | | </text> |
| | | <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_f18202"> |
| | | 数量:{{ item.quantity }} |
| | | <text class="color_80"> 尺寸:{{ item.info16 }} </text> |
| | | </u-col> |
| | | </u-row> |
| | | <u-row> |
| | | <u-col span="8"> |
| | | <text class="color_80 padding_left25rpx"> |
| | | 板件状态:{{ item.upiStatus }} |
| | | </text> |
| | | </u-col> |
| | | <u-col span="4"> |
| | | <text class="color_80"> 次序:{{ item.shelf }} </text> |
| | | </u-col> |
| | | </u-row> |
| | | </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"> |
| | | <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"> |
| | |
| | | </view> |
| | | <!-- </view> --> |
| | | <view class="margin_top140rpx"> |
| | | <button-modal :subShow='true' garmenTitle='打印' @submit='init' @reset='rest' /> |
| | | <button-modal |
| | | :subShow="true" |
| | | garmenTitle="打印" |
| | | @submit="init" |
| | | @reset="rest" |
| | | /> |
| | | </view> |
| | | </u-popup> |
| | | <button-modal :empTytowerShow='true' cleaningTitle="重置" garmenTitle='物料解绑' @submit='submit' @reset='back' /> |
| | | |
| | | <button-modal |
| | | :empTytowerShow="true" |
| | | cleaningTitle="重置" |
| | | garmenTitle="物料解绑" |
| | | @submit="submit" |
| | | @reset="back" |
| | | /> |
| | | </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: '', |
| | | operator: "", |
| | | warehouse: { |
| | | containerCode: '', |
| | | materialCode: '', |
| | | dutyCycle: '', |
| | | packageCode: "", |
| | | materialCode: "", |
| | | dutyCycle: "", |
| | | gridNumber: 1, |
| | | useNumber: 0, |
| | | exitNumber: 0 |
| | | exitNumber: 0, |
| | | }, |
| | | singlist: [ |
| | | // {} |
| | | ], //详情列表 |
| | | ordersId: 0, //当前容器绑定的上架单 |
| | | rescode: 0, |
| | | resmessage: '', |
| | | options: [{ |
| | | text: '打印', |
| | | resmessage: "", |
| | | options: [ |
| | | { |
| | | text: "打印", |
| | | style: { |
| | | backgroundColor: '#fc9f35' |
| | | } |
| | | } |
| | | backgroundColor: "#fc9f35", |
| | | }, |
| | | }, |
| | | ], |
| | | detailshow: false, |
| | | materlist: {}, |
| | |
| | | detailable: false, |
| | | gridFocus: false, |
| | | gridable: true, |
| | | kwbhAllowed: false |
| | | } |
| | | |
| | | kwbhAllowed: false, |
| | | }; |
| | | }, |
| | | components: { |
| | | ButtonModal, |
| | | ModalCode |
| | | ModalCode, |
| | | }, |
| | | onLoad() { |
| | | this.operator = JSON.parse(uni.getStorageSync('userInfo')).name |
| | | this.operator = JSON.parse(uni.getStorageSync("userInfo")).name; |
| | | }, |
| | | watch: { |
| | | containerCode(val) { |
| | | if (!val) { |
| | | this.detailable = false; |
| | | this.detailableZb = false; |
| | | this.warehouse.exitNumber = 0 |
| | | } |
| | | } |
| | | mounted() { |
| | | getenumDataList({ |
| | | EnumName: "UpiStatusEnum", |
| | | }).then((res) => { |
| | | this.singlist = res.data.result || []; |
| | | }); |
| | | }, |
| | | |
| | | methods: { |
| | | // 如果打开一个的时候,不需要关闭其他,则无需实现本方法 |
| | | open(index) { |
| | |
| | | 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 |
| | | this.materlist = this.singlist[index]; |
| | | this.detailshow = true; |
| | | }, |
| | | //标签重新打印 |
| | | init() { |
| | | const arr = ['materialCode', 'unBindQuantity']; |
| | | const arrzw = ['物料编号', '本次解绑数量'] |
| | | let isAllow = '' |
| | | Object.keys(this.materlist).forEach(item => { |
| | | 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) |
| | | isAllow = arr.indexOf(item); |
| | | // this.rescode = 400 |
| | | // this.resmessage = `${arrzw[isAllow]}为空,不能继续打印` |
| | | // this.resmessage = `${item}为空,不能继续打印` |
| | | // this.$refs.resmodal.show = true |
| | | return |
| | | return; |
| | | } |
| | | } |
| | | }) |
| | | if (isAllow != '') { |
| | | this.detailshow = false |
| | | this.rescode = 400 |
| | | this.resmessage = `${arrzw[isAllow]}为空,不能继续打印` |
| | | 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.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 = '' |
| | | 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: "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(() => { |
| | | { 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.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 => { |
| | | addPrintRecord(this.addForm).then((res) => { |
| | | console.log(res); |
| | | }) |
| | | }); |
| | | uni.showToast({ |
| | | title: '打印成功', |
| | | duration: 2000 |
| | | title: "打印成功", |
| | | duration: 2000, |
| | | }); |
| | | }) |
| | | }).catch((err) => { |
| | | .catch((err) => { |
| | | // uni.showToast({ |
| | | // title:'打印失败', |
| | | // duration: 2000 |
| | | // }) |
| | | }) |
| | | }); |
| | | }, |
| | | materialBlur() { |
| | | clearTimeout(this.timerSm) |
| | | this.timerSm = null |
| | | if (this.warehouse.materialCode == '') { |
| | | return |
| | | clearTimeout(this.timerSm); |
| | | this.timerSm = null; |
| | | if (this.warehouse.materialCode == "") { |
| | | return; |
| | | } |
| | | |
| | | this.timer = setTimeout(() => { //多次触发bug 延迟bug |
| | | this.timer = setTimeout(() => { |
| | | //多次触发bug 延迟bug |
| | | //判断当前物料是否在盘点列表中 |
| | | const index = this.singlist.findIndex(item => item.materialCode == this.warehouse.materialCode && item.batchNo == lotNo); |
| | | 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 |
| | | this.singlist[index].checked = 1; |
| | | this.singlist.unshift(...this.singlist.splice(index, 1)); |
| | | return; |
| | | } else { |
| | | clearTimeout(this.timer) |
| | | this.timer = null |
| | | this.containerBlur() |
| | | clearTimeout(this.timer); |
| | | this.timer = null; |
| | | this.containerBlur(); |
| | | } |
| | | }, 100) |
| | | }, 100); |
| | | }, |
| | | containerBlur() { |
| | | if (this.warehouse.containerCode == '' || this.warehouse.materialCode == '') { |
| | | return |
| | | if ( |
| | | this.warehouse.packageCode == "" || |
| | | this.warehouse.materialCode == "" |
| | | ) { |
| | | return; |
| | | } |
| | | getContainerMaterial(this.warehouse).then(res => { |
| | | getContainerMaterial(this.warehouse).then((res) => { |
| | | if (res.data == null || res.data.length == 0) { |
| | | this.rescode = 400 |
| | | this.resmessage = '暂无数据' |
| | | this.$refs.resmodal.show = true |
| | | 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 |
| | | }) |
| | | 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 |
| | | return; |
| | | } |
| | | if (option.unBindQuantity == '') { |
| | | this.rescode = 400 |
| | | this.resmessage = '解绑数量不能为空' |
| | | this.$refs.resmodal.show = true |
| | | if (option.unBindQuantity == "") { |
| | | this.rescode = 400; |
| | | this.resmessage = "解绑数量不能为空"; |
| | | this.$refs.resmodal.show = true; |
| | | } |
| | | |
| | | if (option.unBindQuantity <= 0) { |
| | | this.rescode = 400 |
| | | this.resmessage = '解绑数量必须大于0' |
| | | this.$refs.resmodal.show = true |
| | | 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 |
| | | this.rescode = 400; |
| | | this.resmessage = "解绑数量不能大于库存数量"; |
| | | this.$refs.resmodal.show = true; |
| | | } |
| | | if (this.detailable) { |
| | | let filterHas = this.singlist.filter(item => item.unBindQuantity == Number(item.quantity)); |
| | | let filterHas = this.singlist.filter( |
| | | (item) => item.unBindQuantity == Number(item.quantity) |
| | | ); |
| | | if (filterHas.length > 0) { |
| | | this.warehouse.exitNumber = this.warehouse.useNumber - filterHas.length |
| | | this.warehouse.exitNumber = |
| | | this.warehouse.useNumber - filterHas.length; |
| | | } |
| | | } |
| | | }, |
| | | //确认解绑 |
| | | submit() { |
| | | const filterArr = this.singlist.filter(item => item.checked); |
| | | const filterArr = this.singlist.filter((item) => item.checked); |
| | | if (filterArr.length <= 0) { |
| | | this.rescode = 400 |
| | | this.resmessage = '请选择解绑的物料!' |
| | | this.$refs.resmodal.show = true |
| | | return |
| | | 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) |
| | |
| | | // } |
| | | const warehousOrderDetails = filterArr.reduce((curr, item) => { |
| | | curr.push({ |
| | | ...item |
| | | }) |
| | | ...item, |
| | | }); |
| | | return curr; |
| | | }, []) |
| | | }, []); |
| | | const params = { |
| | | flag:3,//3:物料解绑 |
| | | containerCode: this.warehouse.containerCode, |
| | | orderDetails: warehousOrderDetails |
| | | } |
| | | packageCode: this.warehouse.packageCode, |
| | | orderDetails: warehousOrderDetails, |
| | | }; |
| | | uni.showModal({ |
| | | title: '解绑', |
| | | content: '是否确认解绑?', |
| | | title: "解绑", |
| | | content: "是否确认解绑?", |
| | | showCancel: true, |
| | | cancelColor: '#333333', |
| | | success: (res => { |
| | | cancelColor: "#333333", |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | unbindOrder(params).then(res => { |
| | | this.rescode = 200 |
| | | unbindOrder(params).then((res) => { |
| | | this.rescode = 200; |
| | | this.$refs.resmodal.show = true; |
| | | this.resmessage = '解绑成功' |
| | | this.resmessage = "解绑成功"; |
| | | this.back(); |
| | | }) |
| | | }); |
| | | } else if (res.cancel) { |
| | | |
| | | } |
| | | }) |
| | | }, |
| | | }); |
| | | }, |
| | | rest() { |
| | | }, |
| | | rest() {}, |
| | | //检查容器栅格数 |
| | | checkGrid() { |
| | | }, |
| | | checkGrid() {}, |
| | | //获取容器的信息 |
| | | getContainerData(param) { |
| | | if (this.warehouse.containerCode == '') { |
| | | uni.showToast({ |
| | | title: '请扫容器编号', |
| | | icon: 'none', |
| | | duration: 2000 |
| | | }); |
| | | return |
| | | if (param == 1) { |
| | | this.warehouse.upi = ""; |
| | | } |
| | | // this.kwbhAllowed = false; |
| | | if (this.warehouse.packageCode == "") { |
| | | uni.showToast({ |
| | | title: "请扫容器编号", |
| | | icon: "none", |
| | | duration: 2000, |
| | | }); |
| | | return; |
| | | } |
| | | getBhbMaterialList({ |
| | | 'containerCode': this.warehouse.containerCode, |
| | | 'SNCode': this.warehouse.snCode |
| | | }).then(res => { |
| | | packageCode: this.warehouse.packageCode, |
| | | upi: this.warehouse.upi, |
| | | }).then((res) => { |
| | | // //debugger |
| | | const result = res.result; |
| | | if (Array.isArray(result) && result.length == 0) { |
| | | uni.showToast({ |
| | | title: '数据不存在', |
| | | icon: 'none', |
| | | duration: 2000 |
| | | title: "数据不存在", |
| | | icon: "none", |
| | | duration: 2000, |
| | | }); |
| | | return |
| | | return; |
| | | // this.kwbhAllowed = true |
| | | } |
| | | //容器编号入口 |
| | |
| | | |
| | | //物料入口 根据id 判断物料是否存在 |
| | | // res.result.forEach(item => { |
| | | // let index = this.singlist.findIndex(v => v.snCode == item.snCode); |
| | | // let index = this.singlist.findIndex(v => v.upi == item.upi); |
| | | // if (index == -1) { |
| | | |
| | | // this.singlist.unshift({ |
| | |
| | | // }) |
| | | // } |
| | | // }); |
| | | }) |
| | | }); |
| | | }, |
| | | onlyUpdateDutyCycleClick() { |
| | | this.$refs.warehouseRef.setRules(this.warehouseRules) |
| | | this.$refs.warehouseRef.validate(valid => { |
| | | this.$refs.warehouseRef.setRules(this.warehouseRules); |
| | | this.$refs.warehouseRef.validate((valid) => { |
| | | if (valid) { |
| | | //请求参数 |
| | | let params = { |
| | | wareContainerCode: this.warehouse.containerCode, |
| | | dutyCycle: this.warehouse.dutyCycle |
| | | } |
| | | warepackageCode: this.warehouse.packageCode, |
| | | dutyCycle: this.warehouse.dutyCycle, |
| | | }; |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '是否确认仅更新空间占比数据?', |
| | | title: "提示", |
| | | content: "是否确认仅更新空间占比数据?", |
| | | showCancel: true, |
| | | cancelColor: '#333333', |
| | | success: (res => { |
| | | 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() |
| | | }) |
| | | onlyUpdateDutyCycle(params).then((res) => { |
| | | this.warhouseTph = this.warehouse.packageCode; |
| | | this.rescode = res.code; |
| | | this.resmessage = res.message; |
| | | this.$refs.resmodal.show = true; |
| | | this.rest(); |
| | | }); |
| | | } else if (res.cancel) { |
| | | |
| | | } |
| | | }) |
| | | }, |
| | | }); |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | gridBtnClick() { |
| | | this.gridable = !this.gridable |
| | | this.gridable = !this.gridable; |
| | | if (!this.gridable) { |
| | | this.$nextTick(() => { |
| | | this.gridFocus = true; |
| | | }) |
| | | }); |
| | | } else { |
| | | this.$nextTick(() => { |
| | | this.gridFocus = false; |
| | | }) |
| | | }); |
| | | } |
| | | }, |
| | | //全部取消 |
| | |
| | | this.ordersId = 0; |
| | | this.singlist = []; |
| | | this.$refs.warehouseRef.resetFields(); |
| | | this.warehouse.containerCode = '' |
| | | } |
| | | this.warehouse.packageCode = ""; |
| | | }, |
| | | }, |
| | | unmounted() { |
| | | if (this.timer) { |
| | | clearTimeout(this.timer) |
| | | this.timer = null |
| | | clearTimeout(this.timer); |
| | | this.timer = null; |
| | | } |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss"> |
| | | .content { |
| | |
| | | } |
| | | |
| | | .bg_item { |
| | | background: #FFEBCD !important; |
| | | background: #ffebcd !important; |
| | | } |
| | | </style> |