From 3e473e90358abbf82e7a60b6ed58ca2df02d4ce4 Mon Sep 17 00:00:00 2001 From: liuying <1427574514@qq.com> Date: 周二, 10 12月 2024 13:33:09 +0800 Subject: [PATCH] pda页面 --- LA24030_LuLiPackageLine_Pda/pages/takeMaterial/orderpiece/orderpiece.vue | 1458 ++++++++++----------------------------------------------- 1 files changed, 272 insertions(+), 1,186 deletions(-) diff --git a/LA24030_LuLiPackageLine_Pda/pages/takeMaterial/orderpiece/orderpiece.vue b/LA24030_LuLiPackageLine_Pda/pages/takeMaterial/orderpiece/orderpiece.vue index def461e..4d8b7aa 100644 --- a/LA24030_LuLiPackageLine_Pda/pages/takeMaterial/orderpiece/orderpiece.vue +++ b/LA24030_LuLiPackageLine_Pda/pages/takeMaterial/orderpiece/orderpiece.vue @@ -1,1260 +1,346 @@ <template> - <view class="overflow" style="padding-bottom: 100px"> - <!-- 椤堕儴 --> + <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">NG澶勭悊</block> </cu-custom> - <!-- 閬尅灞� --> - <modal-code - ref="resmodal" - :rescode="rescode" - :resmessage="resmessage" - :showBtn="showBtn" - @goYuKu="goYuKu" - /> - <!-- 鏀惰揣 --> - <view class="" v-if="renameFocus"> - <u-form - labelPosition="left" - label-width="180rpx" - :model="warehouse" - ref="warehouseRef" - > - <u-row - class="margin_top10rpx margin_bottom10rpx padding_left25rpx" - style="background-color: #fff" - > - <u-col span="12"> - <u-form-item required label="鐗╂枡璺熻釜鐮�:" class="uFormItem"> - <u-input - v-model.trim="warehouse.barcodeMy" - placeholder="璇峰綍鍏ユ垨鎵爜" - @focus="warehouse.barcodeMy = ''" - class="width padding_left25rpx" - :focus="true" - @confirm="materialBlur(1)" - > - </u-input> - </u-form-item> - </u-col> - </u-row> - </u-form> - <view style="margin-bottom: 180rpx" v-show="singlist.length > 0"> - <checkbox-group @change="checkboxChange"> - <view - v-for="(item, eindex) in singlist" - :key="eindex" - class="margin_top10rpx" - > - <u-swipe-action - :show="item.show" - :index="eindex" - @click="longpredel" - @open="open" - @close="close" - :options="options" - > - <view - class="fontSize32rpx background_fff padding10" - :class="item.isYueku == '鏄�' ? 'bg_item' : ''" - style="width: 100vw" - > - <u-row> - <u-col span="12"> - <label class="flex align-center"> - <text - class="flex justify-center align-center circkle06" - >{{ eindex + 1 }}</text - > - <view - class="color_f18202 padding_left10rpx" - style="flex: 1; word-break: break-all" - > - {{ item.materialCode }}-{{ item.materialName }} - </view> - </label> - </u-col> - </u-row> - <u-row> - <u-col span="12"> - <view class="padding_left25rpx" style="color: #808080"> - ASN锛歿{ item.asnNo }} - </view> - </u-col> - </u-row> - <u-row> - <u-col span="12"> - <view class="padding_left25rpx" style="color: #808080"> - 渚涘簲鍟嗘壒娆★細{{ item.supplierBatch }} - </view> - </u-col> - </u-row> - <u-row> - <u-col span="7"> - <view class="padding_left25rpx" style="color: #808080"> - 鏈�楂樺簱瀛樻暟锛歿{ Number(item.maxImumqty).toFixed(3) }} - </view> - </u-col> - <u-col span="5"> - <view class="" style="color: #808080"> - 搴撳瓨鏁帮細{{ Number(item.stockQty).toFixed(3) }} - </view> - </u-col> - </u-row> - <u-row> - <u-col span="7"> - <view class="padding_left25rpx" style="color: #808080"> - 琛屽彿锛歿{ item.asnLineNumber }} - </view> - </u-col> - <u-col span="5"> - <view class="" style="color: #808080"> - 杞崲鐜囷細{{ item.translateRate }} - </view> - </u-col> - </u-row> - - <u-row> - <u-col span="7"> - <view class="padding_left25rpx" style="color: #808080"> - 閲囪喘鍗曚綅锛歿{ item.poUnit }} - </view> - </u-col> - <u-col span="5"> - <view class="" style="color: #808080"> - 搴撳瓨鍗曚綅锛歿{ item.materialUnit }} - </view> - </u-col> - </u-row> - - <u-row> - <u-col span="7"> - <view class="padding_left25rpx" style="color: #808080"> - 閲囪喘鏁伴噺锛歿{ Number(item.poQuantity).toFixed(3) }} - </view> - </u-col> - <u-col span="5"> - <view class="" style="color: #f18202"> - 鏀惰揣鏁伴噺锛歿{ Number(item.quantity).toFixed(3) }} - </view> - </u-col> - </u-row> - </view> - </u-swipe-action> - </view> - </checkbox-group> - </view> - <u-popup - v-model="detailshow" - border-radius="14" - @close="detailshow = false" - mode="bottom" - > - <h2 class="text_align_center padding_bottom18 padding15">鐗╂枡淇℃伅</h2> - <!-- <view class="line flex justify-between"> - <text class="text-gray">鎵撳嵃寮犳暟</text> - <text> - <u-input - v-model.trim="contLabel" - placeholder="璇疯緭鍏ユ墦鍗板紶鏁�" - class="width" - @focus="contLabel = ''" - style="font-size: 36rpx; text-align: right" - > - </u-input> - </text> - </view> --> - <!-- <view class="line flex justify-between"> - <text class="text-gray">鎵撳嵃鏀惰揣鏁伴噺</text> - <text> - <u-input - v-model.trim="ermNum" - placeholder="璇疯緭鍏ユ墦鍗版敹璐ф暟閲�" - class="width" - @focus="ermNum = ''" - style="font-size: 36rpx; text-align: right" - > - </u-input> - </text> - </view> --> - - <view class="line flex justify-between"> - <text class="text-gray">鐗╂枡缂栧彿</text> - <text>{{ materlist.materialCode }}</text> - </view> - <view class="line flex justify-between"> - <text class="text-gray">鐗╂枡鍚嶇О</text> - <text>{{ materlist.materialName }}</text> - </view> - <view class="line flex justify-between"> - <text class="text-gray">鏀惰揣鏁伴噺</text> - <text>{{ materlist.quantity }}</text> - </view> - <view class="line flex justify-between"> - <text class="text-gray">搴撳瓨鍗曚綅</text> - <text>{{ materlist.materialUnit }}</text> - </view> - <view class="line flex justify-between"> - <text class="text-gray">閲囪喘鍗曚綅</text> - <text>{{ materlist.poUnit }}</text> - </view> - <view class="line flex justify-between"> - <text class="text-gray">琛屽彿</text> - <text>{{ materlist.asnLineNumber }}</text> - </view> - <!-- <view class="margin_top140rpx"> - <button-modal :subShow='true' garmenTitle='鎵撳嵃' @submit='init' @reset='rest' /> - <button-modal :cleaningShow='true' allTitle='钃濈墮鎵撳嵃' cleaningTitle='鏂戦┈鎵撳嵃' @allsubmit="init(1)" - @submit='init(2)' /> - </view> --> - </u-popup> - <button-modal - :empTytowerShow="true" - cleaningTitle="閲嶇疆" - garmenTitle="涓嬩竴姝�" - @submit="next" - @reset="resthandle" - /> - <!-- <button-modal :issueShow='true' issueTitle="瓒婂簱" subTitle='涓嬩竴姝�' restTiltle='閲嶇疆' @reset='rest' - @submit='next' @issue="goYuKu"/> --> - </view> - <!-- 纭鏀惰揣 --> - <view class="" v-else> - <u-tabs-swiper - ref="tabs" - :current="current" - @change="tabsChange" - bar-width="75" - :list="lists" - :is-scroll="false" - class="margin_bottom10rpx" - active-color="#f18202" - inactive-color="#f18202" - > - </u-tabs-swiper> - <scroll-view scroll-y="true" style="height: 45vh"> - <!-- <view class="margin_top10rpx overflow_auto" style="height:calc(100% - 20rpx)"> --> - <view - v-if="current == 0" - v-for="(item, eindex) in lastlist" - :key="eindex" - style="background-color: #fff" - class="padding10" - > - <u-row class="padding10"> - <u-col span="12" class="flex" style="align-items: flex-start"> - <view - style=" - background-color: #f18202; - color: #fff; - border-radius: 50%; - width: 20px; - height: 20px; - line-height: 20px; - text-align: center; - " - > - {{ eindex + 1 }} - </view> - <view - class="color_f18202 padding_left10rpx" - style="flex: 1; word-break: break-all" - > - {{ item.materialCode }}-{{ item.materialName }} - </view> - </u-col> - </u-row> - <u-row> - <u-col span="12" class="text06"> - <view class="padding_left25rpx"> 鍗曞彿锛歿{ item.asnNo }} </view> - </u-col> - </u-row> - <u-row> - <u-col span="7" class="text06"> - <view class="padding_left25rpx"> - 搴撳瓨鍗曚綅锛歿{ item.materialUnit }} - </view> - </u-col> - <u-col span="5" class="text06"> - <view class="" style="color: #808080"> - 閲囪喘鍗曚綅锛歿{ item.poUnit }} - </view> - </u-col> - </u-row> - <u-row> - <u-col span="7" class="text06"> - <view class="padding_left25rpx"> - 杞崲鐜囷細{{ item.translateRate }} - </view> - </u-col> - <u-col span="5" class="text06"> - 閲囪喘鏁伴噺锛歿{ Number(item.poQuantity).toFixed(3) }} - </u-col> - </u-row> - <u-row class=""> - <u-col span="7" class="text06"> - <view class="padding_left25rpx"> - - </view> - </u-col> - <u-col span="5" class="color_f18202"> - - 鏀惰揣鏁伴噺锛歿{ Number(item.quantity).toFixed(3) }} - </u-col> - </u-row> - </view> - <view - v-if="current == 1" - v-for="(item, eindex) in lacklist" - :key="eindex" - style="background-color: #fff; margin-top: 6rpx" - > - <u-row class="padding10"> - <u-col span="12" class="flex" style="align-items: flex-start"> - <view - style=" - background-color: #f18202; - color: #fff; - border-radius: 50%; - width: 20px; - height: 20px; - line-height: 20px; - text-align: center; - " - > - {{ eindex + 1 }} - </view> - <view - class="color_f18202 padding_left10rpx" - style="flex: 1; word-break: break-all" - > - {{ item.wareMaterialCode }} - </view> - </u-col> - </u-row> - <u-row> - <u-col span="8" class="text06"> 鎵规锛歿{ item.barNo }} </u-col> - <u-col span="4" class="text06 text-right"> - 閲囪喘鏁帮細{{ item.deliveryQuantity }} - </u-col> - </u-row> - <u-row class=""> - <u-col span="4" class="text06"> - 宸叉敹璐ф暟锛歿{ item.goodsQuantity }} - </u-col> - <u-col span="4" class="text06"> - 鏈鏀惰揣鏁帮細{{ item.uncollectedQuantity }} - </u-col> - - </u-row> - </view> - </scroll-view> - <view class="fontSize32rpx"> - <!-- <u-row class="padding15 background_fff" style="margin-bottom: 6rpx"> - <u-col span="6" class="text-gray"> - 閲囪喘鏁�: {{ QuantityTotal }} - </u-col> - <u-col span="6" class="font_weight_bold" style="text-align: right"> - 宸叉敹璐ф暟: {{ collectedTotal }} - </u-col> - </u-row> --> - <u-row class="padding15 background_fff" style="margin-bottom: 6rpx"> - <u-col span="6" class="text-gray"> </u-col> - <u-col - span="6" - class="font_weight_bold color_f18202" - style="text-align: right" - > - 鏈鏀惰揣鏁�: {{ uncollectedTotal }} - <!-- 缂烘枡鎬绘暟: {{ lackTotal }} --> - </u-col> - </u-row> - </view> - - <!-- 鎵归噺鍥剧墖涓婁紶 --> - <view - class="width fixed bottom140 margin_auto background_fff padding15 border_radius margin_bottom10rpx relative box_sizing transition boxImgWrap" - > - <view - class="ImgListBox" - v-for="(item, eindex) in fileListImgSrc" - :key="eindex" - > - <image - class="imgUp" - :src="item.bendiSrc" - mode="" - @click="imgClick(eindex)" - ></image> - <u-icon - @click="delimage(item.resSrc, eindex)" - name="close-circle-fill" - color="red" - size="60" - class="closeIcon" - ></u-icon> - </view> - <view class="addImgBox"> - <u-icon name="plus" @click="upload" size="48"></u-icon> - <text class="fontSize32rpx">閫夋嫨鍥剧墖</text> - </view> - </view> - - <button-modal - :empTytowerShow="true" - cleaningTitle="涓婁竴姝�" - garmenTitle="鏀惰揣瀹屾垚" - @submit="submit" - @reset="reset(1)" - /> - </view> - <u-action-sheet - :list="wolist2" - v-model="modalshow2" - @click="confirm2" - ></u-action-sheet> - - <!-- 娣诲姞鎵规 --> - <u-popup - v-model="detailshowPc" - border-radius="14" - @close="detailshowPc = false" - mode="bottom" + <u-form + labelPosition="left" + label-width="180rpx" + :model="warehouse" + ref="warehouseRef" > - <h2 class="text_align_center padding_bottom18 padding15">鐗╂枡鎵规淇℃伅</h2> - <!-- <view class="line flex justify-between"> - <text class="text-gray">鐗╂枡缂栧彿</text> - <text>{{materlist.wareMaterialCode}}</text> - </view> - <view class="line flex justify-between"> - <text class="text-gray">鐗╂枡鍚嶇О</text> - <text>{{materlist.name}}</text> - </view> --> - <view class="line flex justify-between"> - <text class="text-gray">鎵规</text> - <text> - <u-input - v-model.trim="addBatch" - placeholder="璇疯緭鍏ユ壒娆�" - class="width" - @focus="addBatch = ''" - style="font-size: 36rpx; text-align: right" + <!-- <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> - </text> - </view> - <view class="margin_top140rpx"> - <button-modal :subShow="true" garmenTitle="纭" @submit="submitPc" /> - </view> - </u-popup> + <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 = ''" + @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" /> + + <button-modal + :issueShow="true" + issueTitle="閲嶇疆" + subTitle="纭NG" + restTiltle="鍙栨秷NG" + @reset="submit(2)" + @submit="submit(1)" + @issue="rest" + /> </view> </template> - <script> -import ButtonModal from "../../../components/buttonModal.vue"; -import ModalCode from "../../../components/ModalCode.vue"; -import tkiBarcode from "@/components/tki-barcode/tki-barcode"; -import bluet from "@/components/blue.vue"; -import BluePrint from "@/pages/print/bluePrint.js"; +import ButtonModal from "@/components/buttonModal.vue"; +import ModalCode from "@/components/ModalCode.vue"; import { - getMaterial, - getPurchaseOrderDetail, - addDelivery, - getQhdOrderDetail, - getSapSelect, - addShouhuoJiaoYan, -} from "../../../api/takeMaterial/orderpiece.js"; -import { pathToBase64, base64ToPath } from "image-tools"; -import { addPrintRecord } from "../../../api/print.js"; -import { getAttrValue } from "@/utils/tool.js"; -import { translateapp, translateImg } from "@/utils/compress.js"; -import { deletePicture } from "@/api/deliver.js"; -import printComp from "@/mixins/printPoLabel.js"; -import printBanma from "@/mixins/printBanma.js"; -import mixCheckbox from "@/mixins/checkboxYueKu.js"; + WmsOperationTaskSetNG, + WmsOperationTaskCancelNG, + getBhbMaterialList, + getenumDataList, +} from "@/api/putIn/artificial.js"; export default { - mixins: [printComp, printBanma, mixCheckbox], data() { return { - materialCode: "", //鐗╂枡缂栧彿 - renameFocus: true, - detailshow: false, - rescode: 0, - autoFoucs: true, - resmessage: "", - showBtn: 0, - current: 0, //婊戝潡榛樿鍊� - fileList: [], - fileListImgSrc: [], //涓婁紶鍥剧墖鍒楄〃 - lastlist: [], - overlist: [], //鏀惰揣鍒楄〃 - lacklist: [], //缂烘枡鍒楄〃 - image: "", //褰撳墠鏄剧ず鐨勫浘鐗囧湴鍧� - action: this.$myHOST + "/api/sysFile/uploadFile", - singlist: [], //鐗╂枡璇︽儏 - lists: [ - { - name: "鏀惰揣(0)", - }, - { - name: "", - }, - ], - list: [], - arr: [], - materlist: {}, //鐗╂枡璇︽儏鏁版嵁 + operator: "", warehouse: { - barcodeMy: "", - PageSize: 10000, - PageNo: 1, + packageCode: "", + upi: "", }, - warehouseRules: { - barcodeMy: [ - { - required: true, - message: "鏉$爜涓嶈兘涓虹┖", - trigger: "blur", - }, - ], - }, + singlist: [ ], //璇︽儏鍒楄〃 + ordersId: 0, //褰撳墠瀹瑰櫒缁戝畾鐨勪笂鏋跺崟 + rescode: 0, + resmessage: "", options: [ { - text: "璇︽儏", + text: "鎵撳嵃", style: { backgroundColor: "#fc9f35", }, }, - { - text: "鍒犻櫎", - style: { - backgroundColor: "#fc4b4b", - }, - }, ], - operator: "", - QuantityTotal: 0, //閫佽揣鎬绘暟 - collectedTotal: 0, //宸叉敹璐ф暟 - uncollectedTotal: 0, //鏀惰揣鎬绘暟 - lackTotal: 0, //缂鸿揣鎬绘暟 - code: "", - addForm: { - //鎵撳嵃璁板綍 - code: "", - name: "", - batchNo: "", - specificationModel: "", - }, - lotNo: "", - contLabel: 1, //鎵撳嵃寮犳暟 - ermNum: "", detailshow: false, + materlist: {}, + curFoucus: true, timer: null, - printflag: false, - sapLocate: "", - modalshow2: false, - wolist2: [], - timerT: null, - addBatch: "", - detailshowPc: false, - itemPcAddIndex: "", + timerSm: null, + detailableZb: false, + detailable: false, + gridFocus: false, + gridable: true, + kwbhAllowed: false, + enumList: [], }; }, components: { ButtonModal, ModalCode, - tkiBarcode, - bluet, }, - onLoad(option) { - // 瓒婂簱杩斿洖 鏌ユ暟鎹� - if (option.po) { - this.warehouse.PurchaseNo = option.po; - this.warehouse.asnNo = option.po; - this.materialBlur(); - } + created() { + getenumDataList({ + EnumName: "UpiStatusEnum", + }).then((res) => { + this.enumList = res.result || []; + }); }, - onReady() { - this.$refs.warehouseRef.setRules(this.warehouseRules); - }, - mounted() { + onLoad() { this.operator = JSON.parse(uni.getStorageSync("userInfo")).name; - // this.getVehicleType2() //SAP涓嬫媺 }, + mounted() {}, methods: { - showDetail(item, eindex) { - if (item.WareMaterialCode == "") { - return; - } - item.childen = !item.childen; - if (this.singlist[eindex].SortingOrderDetailsList.length > 0) { - return; - } - getQhdOrderDetail({ - WareMaterialCode: item.wareMaterialCode, - // 'orderType':this.orderType - }).then((res) => { - if (res.code == 200) { - if (Array.isArray(res.data) && res.data.length >= 0) { - if (res.data.length == 0) { - uni.showToast({ - title: "鏆傛棤鍙栬揣鏁版嵁", - icon: "none", - duration: 2000, - }); - return; - } - res.data.forEach((item) => { - item.uncollectedQuantity = ""; - // return item; - }); - this.singlist[eindex].SortingOrderDetailsList = res.data; - } - } - }); + getEnumName(value) { + const name = this.enumList.find((item) => item.value === value); + return name ? name.name : ""; }, - //鑾峰彇print date print time - getCurrentDate() { - let date = new Date(); - let year = date.getFullYear(); //骞� - let month = date.getMonth() + 1; //鏈� - month = month >= 10 ? month : "0" + month; - let day = date.getDate(); //鏃� - day = day >= 10 ? day : "0" + day; - let hour = date.getHours(); //鏃� - hour = hour >= 10 ? hour : "0" + hour; - let min = date.getMinutes(); //鍒� - min = min >= 10 ? min : "0" + min; - let second = date.getSeconds(); //绉� - second = second >= 10 ? second : "0" + second; - return { - date: `${day}.${month}.${year}`, - time: `${hour}:${min}:${second}`, - formate: `${year}/${month}/${day}`, - }; - }, - //鎵撳嵃 - init(param) { - const arr = ["wareMaterialCode", "barNo", "uncollectedQuantity"]; - const arrzw = ["鐗╂枡缂栧彿", "鎵规", "瀹為檯鏀惰揣鏁�"]; - let isAllow = ""; - Object.keys(this.materlist).forEach((item) => { - if (arr.includes(item)) { - if (!this.materlist[item]) { - isAllow = arr.indexOf(item); - return; - } - } - }); - if (isAllow != "") { - this.detailshow = false; - this.rescode = 400; - this.resmessage = `${arrzw[isAllow]}涓虹┖锛屼笉鑳界户缁墦鍗癭; - this.showBtn = 0; - this.$refs.resmodal.show = true; - return; - } - - if (!this.contLabel || !this.ermNum) { + //鑾峰彇鐨勪俊鎭� + getContainerData() { + if (!this.warehouse.upi) { uni.showToast({ - title: "鏁伴噺涓嶈兘涓虹┖涓斿ぇ浜�0", - icon: "none", - }); - return; - } - if (param == 1) { - this.printComp(); - } else { - // 渚涘簲鍟嗙紪鍙� 渚涘簲鍟嗗悕瀛� - if (this.materlist.supplier) { - let arr = this.materlist.supplier.split(" "); - this.materlist.supplier = arr[0]; - this.materlist.supplierName = arr[1]; - } - console.log(this.materlist); - this.printBanma(); - } - }, - //鐗╂枡鏌ヨ - materialBlur(param) { - var pramCd = {}; - if (this.warehouse.barcodeMy && this.warehouse.barcodeMy.length > 0) { - if (this.warehouse.barcodeMy.indexOf(",") != -1) { - pramCd = { - SN_1d: "", - SN_2d: this.warehouse.barcodeMy - }; - } else { - pramCd = { - SN_1d: this.warehouse.barcodeMy, - SN_2d: "", - }; - } - console.log(pramCd) - getPurchaseOrderDetail({ - ...pramCd, - }).then((res) => { - if (res.code == 200) { - var arrList = res.result.items; - if (arrList.length == 0) { - this.resmessage = "鏆傛棤鏁版嵁"; - this.rescode = 400; - this.showBtn = 0; - this.$refs.resmodal.show = true; - } - if (Array.isArray(arrList) && arrList.length >= 1) { - arrList.forEach((item) => { - item.uncollectedQuantity = ""; - item.key = item.id; - }); - var stockQty = arrList[0].stockQty || 0; - var allHe = Number(arrList[0].quantity + stockQty).toFixed(3); - //鏈�楂樺簱瀛榤axImumqty < 鏀惰揣鏁皅uantity + 搴撳瓨鏁皊tockQty - if(arrList[0].maxImumqty && arrList[0].maxImumqty > 0 && - (arrList[0].maxImumqty < allHe)){ - var s1 = `鐗╂枡${arrList[0].materialCode}褰撳墠搴撳瓨${stockQty}鍜屾敹璐ф暟${arrList[0].quantity}涔嬪拰瓒呭嚭鏈�楂樺簱瀛�${arrList[0].maxImumqty}锛屾槸鍚︾户缁敹璐э紵`; - uni.showModal({ - title: "鎻愮ず", - content: s1, - showCancel: true, - cancelColor: "#333333", - success: (res) => { - if (res.confirm) { - arrList.forEach((item) => { - var arrNo = this.singlist.findIndex((v) => v.id == item.id); - if (arrNo == -1) { - this.singlist.unshift(item); - } - }); - } else if (res.cancel) { - } - }, - }); - }else{ - arrList.forEach((item) => { - var arrNo = this.singlist.findIndex((v) => v.id == item.id); - if (arrNo == -1) { - this.singlist.unshift(item); - } - }); - } - } else { - this.resmessage = "鏆傛棤鏁版嵁"; - this.rescode = 400; - this.showBtn = 0; - this.$refs.resmodal.show = true; - } - } - }); - } else { - uni.showToast({ - title: "璇锋壂鐮�", + title: "璇锋壂閮ㄤ欢鏉$爜", icon: "none", duration: 2000, }); + return; } - - }, - //鍒犻櫎璇︽儏 - longpredel(index, eindex) { - if (eindex == 1) { - this.singlist.splice(index, 1); - } else { - this.materlist = this.singlist[index]; - this.detailshow = true; - } - }, - //鍗$墖閫変腑 - click(e) { - e.cardNum = true; - this.$forceUpdate(); + getBhbMaterialList({ + upi: this.warehouse.upi, + }).then((res) => { + const result = res.result; + if (Array.isArray(result) && result.length == 0) { + uni.showToast({ + title: "鏁版嵁涓嶅瓨鍦�", + icon: "none", + duration: 2000, + }); + this.singlist = []; + return; + } + this.singlist = res.result; + }); }, // 濡傛灉鎵撳紑涓�涓殑鏃跺�欙紝涓嶉渶瑕佸叧闂叾浠栵紝鍒欐棤闇�瀹炵幇鏈柟娉� open(index) { // 鍏堝皢姝e湪琚搷浣滅殑swipeAction鏍囪涓烘墦寮�鐘舵�侊紝鍚﹀垯鐢变簬props鐨勭壒鎬ч檺鍒讹紝 // 鍘熸湰涓�'false'锛屽啀娆¤缃负'false'浼氭棤鏁� - this.singlist[index].cardNum = true; this.singlist[index].show = true; this.singlist.map((val, idx) => { if (index != idx) this.singlist[idx].show = false; }); - this.$forceUpdate(); }, close(index) { this.singlist[index].show = false; - this.singlist[index].cardNum = false; - this.$forceUpdate(); }, - // tabs閫氱煡swiper鍒囨崲 - tabsChange(index) { - this.current = index; - }, - //鏀瑰彉鏀惰揣鏁伴噺 - changeNum(val) { - val.cardNum = false; - if (!val.uncollectedQuantity) { - this.rescode = 400; - this.resmessage = "鏀惰揣鏁伴噺涓嶈兘涓虹┖涓斿ぇ浜�0"; - this.showBtn = 0; - this.$refs.resmodal.show = true; - } - // val.uncollectedQuantity = Number(val.uncollectedQuantity.toString().match(/^\d+(?:\.\d{0,2})?/)) //淇濈暀2浣嶅皬鏁� - let num1 = Number( - Number(val.deliveryQuantity) - Number(val.goodsQuantity) - ).toFixed(3); //蹇呴』淇濈暀3浣嶅皬鏁� -鍚﹀垯浼氶�犳垚鍓╀綑鐗╂枡鏄皬鏁扮殑鏃跺��,鏃犳硶鏀惰揣 - if (Number(val.uncollectedQuantity).toFixed(3) > Number(num1)) { - val.uncollectedQuantity = 0; - this.rescode = 400; - this.resmessage = - "鏀惰揣鏁�" + - val.uncollectedQuantity + - "涓嶈兘澶т簬閲囪喘鎬绘暟" + - val.deliveryQuantity + - "鍑忓凡鏀惰揣鏁�" + - val.goodsQuantity; - this.showBtn = 0; - this.$refs.resmodal.show = true; - } - if (val.uncollectedQuantity && val.uncollectedQuantity >= 0) { - val.edit = true; - this.$forceUpdate(); - } + //鐗╂枡璇︽儏 + longpress(index, eindex) { + this.materlist = this.singlist[index]; + this.detailshow = true; }, - changeNumIn(val, valParent) { - if (val.uncollectedQuantity === "" || val.uncollectedQuantity < 0) { - this.rescode = 400; - this.resmessage = "鏀惰揣鏁伴噺涓嶈兘涓虹┖"; - this.showBtn = 0; - this.$refs.resmodal.show = true; - } - val.uncollectedQuantity = Number( - val.uncollectedQuantity.toString().match(/^\d+(?:\.\d{0,3})?/) - ); //淇濈暀2浣嶅皬鏁� - - if (val.uncollectedQuantity > val.quantity) { - val.uncollectedQuantity = 0; - this.rescode = 400; - this.resmessage = "涓嶈兘澶т簬缂烘枡鏁�"; - this.showBtn = 0; - this.$refs.resmodal.show = true; - } - if (val.uncollectedQuantity > valParent.uncollectedQuantity) { - val.uncollectedQuantity = 0; - this.rescode = 400; - this.resmessage = "涓嶈兘澶т簬鏀惰揣鏁�"; - this.showBtn = 0; - this.$refs.resmodal.show = true; - } - }, - upload() { - this.fileList = []; - uni.chooseImage({ - sourceType: ["camera", "album"], - sizeType: "original", //閫夋嫨鍘熷浘 - count: 1, - success: (res) => { - res.tempFilePaths.forEach((item, index) => { - uni.showLoading({ - title: "涓婁紶涓�...", - }); - translateapp(item, 80, (imgUrl) => { - let fileData = [{ uri: imgUrl }]; - uni.uploadFile({ - url: this.action, - files: fileData, //blob: - fileType: "image", - success: (res) => { - uni.hideLoading(); - const resJson = JSON.parse(res.data); - if (resJson.code == 200) { - var jsonImg = resJson.result; - if ( - jsonImg == null || - jsonImg.url == null || - jsonImg.url == "" - ) { - this.image = ""; - this.fileList = []; - this.$u.toast("鍥剧墖涓婁紶鏈嶅姟鍣ㄥけ璐�"); - return; - } - this.fileList.push(jsonImg.url); - this.fileListImgSrc.push({ - resSrc: jsonImg.url, - bendiSrc: item, - }); - } else { - this.$u.toast("鍥剧墖涓婁紶澶辫触"); - this.fileList = []; - this.image = ""; - } - }, - }); - }); - }); - }, - }); - }, - // 鍒犻櫎鍥剧墖 - delimage(filepath, index) { - if (!filepath) { - return; - } - deletePicture({ - id: filepath, - }).then((res) => { - if (res.code == 200) { - this.fileListImgSrc.splice(index, 1); - this.$u.toast("绉婚櫎鍥剧墖鎴愬姛"); - } else { - this.rescode = 400; - this.resmessage = `鍒犻櫎鍥剧墖澶辫触`; - this.$refs.resmodal.show = true; - } - }); - }, - //棰勮鍥剧墖 - imgClick(index) { - var urlsArr = []; - this.fileListImgSrc.forEach((item) => { - urlsArr.push(item.resSrc); - }); - uni.previewImage({ - urls: urlsArr, - current: urlsArr[index], - }); - }, - //鐩戝惉鍘熺敓杩斿洖閿� - onBackPress(e) { - this.delimage(); - }, - //涓嬩竴姝� - next() { - if (this.warehouse.asnNo == "") { - uni.showToast({ - title: "璇疯緭鍏SN鍗曞彿锛�", - icon: "none", - }); - return; - } - this.singlist.forEach((item, index) => { - item.uncollectedQuantity = item.quantity; - }); - // // isBatchMge涓簍rue: 鎵规绠$悊鐨勭墿鏂� 蹇呴』杈撳叆 - // let arrMge = this.singlist.filter((v)=>(v.isBatchMge == 1 && v.barNo==''|| v.isBatchMge == 1 && v.barNo==null)).filter((v2)=>(v2.uncollectedQuantity>0)) - // if(arrMge.length>0){ - // uni.showToast({ - // title: `${arrMge[0].wareMaterialCode}璇峰~鍐欑┖鐨勬壒娆, - // icon:'none' - // }) - // return + //纭 + submit(type) { + // const filterArr = this.singlist.filter((item) => item.checked); + // if (filterArr.length <= 0) { + // this.rescode = 400; + // this.resmessage = "璇烽�夋嫨瑙g粦鐨勭墿鏂欙紒"; + // this.$refs.resmodal.show = true; + // return; // } - this.lastlist = this.singlist.filter((v) => v.uncollectedQuantity > 0); - - this.lacklist = this.singlist.reduce((curr, item) => { - if ( - item.deliveryQuantity - - item.uncollectedQuantity - - item.goodsQuantity > - 0 - ) { - curr.push(item); - } - return curr; - }, []); - - let params2 = []; - - this.lastlist.forEach((item, index) => { - params2.push({ - ...item, - // id: item.id, - // wareMaterialCode: item.wareMaterialCode, - // uncollectedQuantity: item.uncollectedQuantity, - // purchaseNo: this.warehouse.PurchaseNo, - // asnNo: this.warehouse.asnNo,//鍒拌揣鍗曞彿 - // batchNo: item.barNo, - // isCheck: item.isCheck, - // isBatchMge: item.isBatchMge, - // ebelp: item.ebelp, - // sap_Location: item.sap_Location, //sap浣嶇疆 - }); - }); - - // 宸叉敹璐ф暟 - this.QuantityTotal = this.singlist.reduce((prev, next) => { - let num = Number(prev) + Number(next.deliveryQuantity); - return Number(num).toFixed(3); - }, 0); - - this.collectedTotal = this.singlist.reduce((prev, next) => { - let num = Number(prev) + Number(next.goodsQuantity); - return Number(num).toFixed(3); - }, 0); - this.uncollectedTotal = this.singlist.reduce((prev, next) => { - let num = Number(prev) + Number(next.uncollectedQuantity); - return Number(num).toFixed(3); - }, 0); - this.lackTotal = this.singlist.reduce((prev, next) => { - let num = - Number(prev) + - Number(next.deliveryQuantity) - - Number(next.uncollectedQuantity) - - Number(next.goodsQuantity); - return Number(num).toFixed(3); - }, 0); - this.lists[0].name = `鏀惰揣(${this.lastlist.length})`; - // this.lists[1].name = `缂烘枡(${this.lacklist.length})` - this.lists[1].name = ""; - - if (this.uncollectedTotal <= 0) { - uni.showToast({ - title: "鏀惰揣鎬绘暟澶т簬0", - icon: "none", - duration: 2000, - }); + // const warehousOrderDetails = filterArr.reduce((curr, item) => { + // curr.push({ + // ...item, + // }); + // return curr; + // }, []); + var upi = this.singlist[0]?.upi || ""; + if (this.singlist.length != 1 || !upi) { + this.rescode = 400; + this.resmessage = "璇锋壂姝g‘鐨勯儴浠舵潯鐮侊紒"; + this.$refs.resmodal.show = true; return; } - - this.renameFocus = false; - - // addShouhuoJiaoYan(params2).then((res) => { - // if (res.code == 200) { - // if (res.data) { - // uni.showModal({ - // title: '鎻愮ず', - // content: `${res.data}锛岀‘璁や笅涓�姝ワ紵`, - // showCancel: true, - // cancelColor: '#333333', - // success: (res => { - // if (res.confirm) { - // this.renameFocus = false; - // } else if (res.cancel) { - // } - // }) - // }); - // } else { - // this.renameFocus = false - // } - // } - // }) - }, - //纭鏀惰揣 - submit() { - if (this.uncollectedTotal <= 0) { - uni.showToast({ - title: "鏀惰揣鎬绘暟澶т簬0", - icon: "none", - duration: 2000, - }); - return; - } - let params = []; - //鍥剧墖鍦板潃 - let idImg = []; - if (this.fileListImgSrc && this.fileListImgSrc.length > 0) { - this.fileListImgSrc.forEach((item) => { - idImg.push(item.resSrc); + const params = { + Upi: upi, + Reason: "", + }; + if (type == 1) { + uni.showModal({ + title: "NG澶勭悊", + content: "鏄惁纭NG澶勭悊锛�", + showCancel: true, + cancelColor: "#333333", + success: (res) => { + if (res.confirm) { + WmsOperationTaskSetNG(params).then((res) => { + this.rescode = 200; + this.$refs.resmodal.show = true; + this.resmessage = "NG澶勭悊鎴愬姛"; + this.rest(); + }); + } else if (res.cancel) { + } + }, }); } - this.lastlist.forEach((item, index) => { - params.push({ - PDAReceivingActionType: 1, //鏍囧噯鏀惰揣 - OrderAsnDetailsId: item.id, //ASN鍗曟槑缁咺D - createdUserId: JSON.parse(uni.getStorageSync("userInfo")).id, - createdUserName: JSON.parse(uni.getStorageSync("userInfo")).name, - updatedUserId: JSON.parse(uni.getStorageSync("userInfo")).id, - updatedUserName: JSON.parse(uni.getStorageSync("userInfo")).name, - id: item.id, - ...item, - ImageIds: idImg.join(","), //鍥剧墖鍦板潃 + + if (type == 2) { + uni.showModal({ + title: "鍙栨秷NG澶勭悊", + content: "鏄惁纭鍙栨秷NG澶勭悊锛�", + showCancel: true, + cancelColor: "#333333", + success: (res) => { + if (res.confirm) { + WmsOperationTaskCancelNG(params).then((res) => { + this.rescode = 200; + this.$refs.resmodal.show = true; + this.resmessage = "鍙栨秷NG鎴愬姛"; + this.rest(); + }); + } else if (res.cancel) { + } + }, }); - }); - uni.showModal({ - title: "鎻愮ず", - content: "鏄惁纭鏀惰揣锛�", - showCancel: true, - cancelColor: "#333333", - success: (res) => { - if (res.confirm) { - addDelivery(params).then((res) => { - this.rescode = res.code; - this.resmessage = res.message || "鏀惰揣鎴愬姛"; - this.$refs.resmodal.show = true; - if (res.code == 200) { - this.showBtn = 0; - this.renameFocus = true; - this.singlist = []; - this.warehouse.barcodeMy = ""; - this.fileList = []; - this.fileListImgSrc = []; - } else { - this.showBtn = 0; - } - }); - } else if (res.cancel) { - } - }, - }); + } }, - //娓呮閫変腑 - resthandle(parm) { - uni.showModal({ - title: "鎻愮ず", - content: "鏄惁纭閲嶇疆锛�", - showCancel: true, - cancelColor: "#333333", - success: (res) => { - if (res.confirm) { - this.rest(); - } else if (res.cancel) { - } - }, - }); - }, - //娓呮閫変腑 - rest(parm) { - this.warehouse.barcodeMy = ""; - this.autoFoucs = true; + rest() { + this.warehouse.upi = ""; this.singlist = []; - this.asnNo = ""; - this.delimage(); }, - reset(back) { - if (back) { - this.autoFoucs = false; - } - this.renameFocus = true; - }, - //鎵撳嵃 - onPrint() { - let _this = this; - if (!uni.getStorageSync("deviceId")) { - uni.showToast({ - title: "璇疯繛鎺ユ墦鍗版満", - icon: "error", - duration: 2000, - }); - return; - } - this.writeBLECharacteristicValue(); - }, - beforeDestroy() { - // 閿�姣佸畾鏃跺櫒 - if (this.timer) { - clearTimeout(this.timer); - this.timer = null; - } - }, - //绫诲瀷鑱氱劍浜嬩欢 - containerFocus2() { - uni.hideKeyboard(); - this.modalshow2 = true; - }, - getVehicleType2() { - getSapSelect().then((res) => { - if (res.code == 200) { - const dataT = res.data; - if (dataT && dataT.length == 0) { - this.wolist2 = []; - return; - } - let dataDst = []; - dataT.forEach((item) => { - dataDst.push({ - text: item, - id: item, - }); - }); - this.wolist2 = dataDst; - this.sapLocate = dataDst[0].id; - } - }); - }, - //绫诲瀷閫夋嫨 - confirm2(index) { - // this.warehouse.containerCode = this.wolist2[index].text; - // this.warehouse.containerCode = this.wolist2[index].id; - console.log(this.wolist2[index].text); - this.sapLocate = this.wolist2[index].text; - this.singlist.forEach((item) => { - item.sap_Location = this.wolist2[index].text; - }); - console.log(this.singlist); - this.$forceUpdate(); - }, - goYuKu() { - this.$refs.resmodal.show = false; - uni.navigateTo({ - url: - "/pages/takeMaterial/orderpiece/poYueku?po=" + - this.warehouse.PurchaseNo, - }); - // uni.showModal({ - // title: '鎻愮ず', - // content: '鏄惁纭瓒婂簱锛�', - // showCancel: true, - // cancelColor: '#333333', - // success: (res => { - // if (res.confirm) { - // uni.navigateTo({ - // url: '/pages/crossDock/crossDock?ids='+this.arrIds - // }) - // } else if (res.cancel) { - // } - // }) - // }); - }, - // 娣诲姞鎵规 - addBath(index) { - this.itemPcAddIndex = index; - this.detailshowPc = true; - }, - // 纭 娣诲姞鎵规 - submitPc() { - if (!this.addBatch) { - uni.showToast({ - title: "鎵规鍙蜂笉鑳戒负绌猴紒", - icon: "none", - duration: 2000, - }); - return; - } - let itemNow = JSON.parse( - JSON.stringify(this.singlist[this.itemPcAddIndex]) - ); - itemNow.barNo = this.addBatch; - itemNow.uncollectedQuantity = 1; - this.singlist.splice(this.itemPcAddIndex, 0, itemNow); - this.detailshowPc = false; - }, + + }, }; </script> - <style lang="scss"> -.title-wrap { - margin-bottom: 15rpx; - border-bottom: 1px solid #f18202; - border-top: 1px solid #f18202; - padding: 3px; +.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; } - -.qhd_wp { - padding: 0 20rpx; - border-top: 1px solid #f18202; -} - -.detail_btn { - text-align: right; - padding: 10px; -} - - </style> -- Gitblit v1.9.3