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/artificial/artificial.vue | 1055 +++++--------------- LA24030_LuLiPackageLine_Pda/api/putIn/artificial.js | 14 LA24030_LuLiPackageLine_Pda/pages/untie/untie.vue | 476 -------- LA24030_LuLiPackageLine_Pda/pages/index/index.vue | 2 LA24030_LuLiPackageLine_Pda/pages/takeMaterial/orderpiece/orderpiece.vue | 1458 +++++----------------------- 5 files changed, 590 insertions(+), 2,415 deletions(-) diff --git a/LA24030_LuLiPackageLine_Pda/api/putIn/artificial.js b/LA24030_LuLiPackageLine_Pda/api/putIn/artificial.js index 04ae317..1958638 100644 --- a/LA24030_LuLiPackageLine_Pda/api/putIn/artificial.js +++ b/LA24030_LuLiPackageLine_Pda/api/putIn/artificial.js @@ -225,3 +225,17 @@ }) } +export function WmsOperationTaskSetNG(data){ + return request({ + url: `/api/WmsOperationTask/SetNG`, + method: 'post', + data: data + }) +} +export function WmsOperationTaskCancelNG(data){ + return request({ + url: `/api/WmsOperationTask/CancelNG`, + method: 'post', + data: data + }) +} diff --git a/LA24030_LuLiPackageLine_Pda/pages/artificial/artificial.vue b/LA24030_LuLiPackageLine_Pda/pages/artificial/artificial.vue index 4f70ce6..d238c28 100644 --- a/LA24030_LuLiPackageLine_Pda/pages/artificial/artificial.vue +++ b/LA24030_LuLiPackageLine_Pda/pages/artificial/artificial.vue @@ -1,799 +1,282 @@ <template> - <view style="padding-bottom:150px" class="boxTip"> - <cu-custom bgColor="bg-white" :isBack="true"> - <block slot="backText"> - </block> - <block slot="content">缁勭洏</block> - </cu-custom> - <!-- <view class="flex justify-end align-center padding_right30rpx padding_top12rpx"> - <text class="fontSize12rpx"> 鎿嶄綔浜猴細{{operator}} </text> - </view> --> - <u-form labelPosition="left" label-width="180rpx" :model="warehouse" ref="warehouseRef"> + <view class="overflow" style="padding-bottom: 150rpx"> + <cu-custom bgColor="bg-white" :isBack="true"> + <block slot="backText"> </block> + <block slot="content">鏉夸欢鏌ョ湅</block> + </cu-custom> + <u-form + labelPosition="left" + label-width="180rpx" + :model="warehouse" + ref="warehouseRef" + > + <!-- <u-row + class="border_bottom margin_top10rpx padding_left25rpx" + style="background-color: #fff" + > + <u-col span="12"> + <u-form-item + label="鍖呰鍙�:" + prop="packageCode" + required + class="uFormItem" + > + <u-input + v-model.trim="warehouse.packageCode" + @confirm="getContainerData(1)" + placeholder="璇峰綍鍏ユ垨鎵爜" + class="width" + :focus="curFoucus" + > + </u-input> + </u-form-item> + </u-col> + </u-row> --> + <u-row + class="border_bottom margin_top10rpx padding_left25rpx" + style="background-color: #fff" + > + <u-col span="12"> + <u-form-item label="閮ㄤ欢鏉$爜:" class="uFormItem"> + <u-input + v-model="warehouse.upi" + ref="materialRef" + placeholder="璇锋壂鐮佸綍鍏�" + @focus="warehouse.upi = ''" + @confirm="getContainerData" + style="font-weight: bolder; margin-left: 15rpx" + class="width padding_left25rpx" + > + </u-input> + </u-form-item> + </u-col> + </u-row> + </u-form> + <!-- 鍒楄〃 --> + <view class="margin_top10rpx"> + <u-swipe-action + :show="item.show" + :index="eindex" + v-for="(item, eindex) in singlist" + :key="eindex" + :options="options" + @click="longpress" + @open="open" + @close="close" + class="margin_bottom10rpx" + > + <view class="item u-border-bottom"> + <!-- 姝ゅ眰wrap鍦ㄦ涓哄繀鍐欑殑锛屽惁鍒欏彲鑳戒細鍑虹幇鏍囬瀹氫綅閿欒 --> + <view class="title-wrap"> + <view + :class="item.checked ? 'bg_item' : ''" + class="fontSize32rpx width margin_auto background_fff padding10 relative box_sizing transition" + > + <!-- 閮ㄤ欢鍚嶇О upi銆佹潗鏂欍�佸昂瀵革紝浣嶇疆銆佹澘浠剁姸鎬� --> + <u-row> + <u-col span="12" class="flex align-center"> + <!-- <u-checkbox v-model="item.checked" size="50rpx"></u-checkbox> --> + <view + class="flex justify-center align-center" + style=" + background-color: #f18202; + color: #fff; + border-radius: 50vh; + width: 40rpx; + height: 40rpx; + " + > + {{ eindex + 1 }} + </view> + <text class="color_f18202 padding_left10rpx"> + {{ item.upi }} + </text> + </u-col> + </u-row> + <u-row> + <u-col span="8"> + <text class="color_80 padding_left25rpx"> + 閮ㄤ欢鍚嶇О锛� {{ item.detailName }} + </text> + </u-col> + <u-col span="4"> + <text class="color_80"> 浣嶇疆锛歿{ item.location }} </text> + </u-col> + </u-row> + <u-row> + <u-col span="8"> + <text class="color_80 padding_left25rpx"> + 鏉愭枡锛歿{ item.info18 }} + </text> + </u-col> + <u-col span="4"> + <text class="color_80"> 灏哄锛歿{ item.info16 }} </text> + </u-col> + </u-row> + <u-row> + <u-col span="8"> + <text class="color_80 padding_left25rpx"> + 鏉夸欢鐘舵�侊細{{ getEnumName(item.upiStatus) }} + </text> + </u-col> + <u-col span="4"> + <text class="color_80"> 娆″簭锛歿{ item.shelf }} </text> + </u-col> + </u-row> + </view> + </view> + </view> + </u-swipe-action> + </view> + <modal-code :rescode="rescode" :resmessage="resmessage" ref="resmodal" /> - <u-row class="border_bottom margin_top10rpx padding_left25rpx" style="background-color: #fff;"> - <u-col span="12"> - <u-form-item label="瀹瑰櫒缂栧彿:" prop="containerCode" required class="uFormItem"> - <u-input :focus="curFoucus" v-model.trim="warehouse.containerCode" @confirm="getMaterialDetails(1)" - placeholder="璇锋壂鐮佸綍鍏�" :disabled="kwbhAllowed" style="font-weight: bolder;margin-left: 15rpx;" - class="width padding_left25rpx"> - </u-input> - </u-form-item> - </u-col> - </u-row> - - <u-row v-if="warehouse.containerCode" class="border_bottom margin_top10rpx padding_left25rpx" - style="background-color: #fff;"> - <u-col span="12"> - <u-form-item label="鐗╂枡璺熻釜鐮�:" class="uFormItem"> - <u-input v-model="warehouse.snCode" ref="materialRef" placeholder="璇锋壂鐮佸綍鍏�" - @focus="warehouse.snCode = ''" @confirm="getMaterialDetails" - style="font-weight: bolder;margin-left: 15rpx;" class="width padding_left25rpx"> - </u-input> - </u-form-item> - </u-col> - </u-row> - <u-row class="border_bottom margin_top10rpx background_fff padding_left25rpx"> - <u-col span="12"> - <u-form-item label="鐩爣搴撳尯:" prop="tray" class="uFormItem"> - <input v-model="warehouse.areaCode" type="select" placeholder="璇烽�夋嫨鐩爣搴撳尯" @focus="containerFocus" - class="width"></input> - <u-action-sheet :list="wolist" v-model="modalshow" @click="confirmXl"></u-action-sheet> - <!-- <u-select v-model="modalshow" :list="wolist" @confirm="confirm" value-name="id" label-name="name"></u-select> --> - </u-form-item> - </u-col> - </u-row> - <u-row class="border_bottom margin_top10rpx padding_left25rpx" style="background-color: #fff;"> - <u-col span="10"> - <u-form-item label="鐩爣搴撲綅:" class="uFormItem"> - <u-input v-model="warehouse.placeCode" placeholder="璇锋壂鐮佸綍鍏�" - style="font-weight: bolder;margin-left: 15rpx;" class="width padding_left25rpx"> - </u-input> - </u-form-item> - </u-col> - <u-col span="2" @tap="containerFocus2"> - <span class="fontSize15rpx">鎺ㄨ崘</span> - <u-icon name="arrow-right" size="14" class="fontSize15rpx"></u-icon> - </u-col> - - <view class="boxList" v-show="modalshow2" @click="modalshow2 = false" @touchmove.stop> - <view class="innerWrap"> - <ul v-for="(item, eindex) in containerList" :key="eindex"> - <li @click="confirm2(eindex)"> {{ item.text }}</li> - </ul> - </view> - </view> - - </u-row> - </u-form> - <modal-code :rescode='rescode' :resmessage='resmessage' ref="resmodal" /> - <view style="margin-bottom: 200rpx;" class="margin_top10rpx"> - <view v-for="(item, eindex) in singlist" :key="eindex" class="margin_bottom10rpx"> - <u-swipe-action :show="item.show" :index="eindex" @click="longpress" @open="open" @close='close' - :options="options" style="width: 100vw;"> - <view class="fontSize32rpx background_fff padding10" :class="item.enAbled == 0 ? 'bg_item' : ''"> - <u-row> - <u-col span="12" class="flex"> - <text class="flex justify-center align-center circkle06">{{ eindex + 1 }}</text> - <text class="color_f18202 padding_left10rpx"> - {{ item.materialCode }}-{{ item.materialName }} - </text> - <!-- <u-icon name="plus-circle" v-if="item.enAbled!=1"></u-icon> --> - </u-col> - </u-row> - <u-row> - <u-col span="12"> - <text class="color_80 padding_left25rpx"> - 璐ㄦ鐘舵�侊細{{ item.qcStatusName }} - </text> - </u-col> - </u-row> - <u-row> - <u-col span="12"> - <view class="color_80 padding_left25rpx"> - <text style="display: inline-block">鎵规锛歿{ item.batch }}</text> - </view> - </u-col> - </u-row> - <u-row> - <u-col span="12"> - <text class="color_80 padding_left25rpx"> - 璺熻釜鐮侊細{{ item.snCode }} - </text> - </u-col> - </u-row> - <u-row> - <u-col span="8"> - <text class="color_80 padding_left25rpx"> - - </text> - </u-col> - <u-col span="4"> - <text class="color_f18202 "> - 鏁伴噺锛歿{ item.quantity }} - </text> - </u-col> - </u-row> - <!-- <u-row> - <u-col span="7"> - </u-col> - <u-col span="5" class="flex"> - <view class="color_80"> - 鏁伴噺锛� - </view> - <input :class="item.enAbled ? '' : 'border_bottom_f18202 inputGray'" - class="text-left color_f18202 fontSize32rpx inputGray2" v-model="item.quantity" - type="number" :disabled="item.enAbled == 1" @blur="changeNum(item)" @click="clicki(item)" - placeholder="0" /> - </u-col> - </u-row> --> - </view> - </u-swipe-action> - </view> - </view> - <button-modal :issueShow='true' issueTitle="閲嶇疆" subTitle='缁勭洏' restTiltle='缁勭洏涓婃灦' @reset='goWarhouse' @submit='submit' - @issue="reset" /> - - </view> + <button-modal + :subShow="true" + garmenTitle="閲嶇疆" + @submit="rest" + @reset="rest" + /> + </view> </template> <script> -import ButtonModal from '../../components/buttonModal.vue' -import ModalCode from '../../components/ModalCode.vue' +import ButtonModal from "../../components/buttonModal.vue"; +import ModalCode from "../../components/ModalCode.vue"; import { - getOrderNo, - addGroupDisk, - onlyUpdateDutyCycle, - getareaTypesList, - getContainDetail, - getContainerRecord, - getBhbMaterialList, - PdaBindListForSNCode, - getRecommendList -} from '../../api/putIn/artificial.js' -import { - getDate -} from '../../utils/dateTime.js' -import { - getAttrValue -} from '../../utils/tool.js' -import { - bindputawayConfirm -} from '../../api/putaway/putaway.js' - + getBhbMaterialList, + getenumDataList, +} from "../../api/putIn/artificial.js"; export default { - data() { - return { - containerList: [], - curFoucus: true, - rescode: 0, - resmessage: "", - putCode: '', //瀹瑰櫒浜岀淮鐮� - detailshow: false, - operator: '', - focu: false, //娓呯┖鎸夐挳闅愭樉 - focuM: false, //鐗╂枡闅愭樉鎸夐挳 - Datetime: getDate(), - singlist: [], //鐗╂枡璇︽儏 - wolist: [], - options: [ - // { - // text: '璇︽儏', - // style: { - // backgroundColor: '#fc9f35' - // } - // } - { - text: '鍒犻櫎', - style: { - backgroundColor: '#fc4b4b' - } - } - ], - materlist: {}, - warehouse: { - containerCode: '', - materialCode: '', - storehouseCode: "", - snCode: "", - // gridNumber: 1, - // useNumber: 0, - // exitNumber: 0, - // dutyCycle:1 - }, - modalshow: false, - modalshow2: false, - gridable: true, - gridFocus: false, - detailable: false, - detailableZb: false, - batchNo: '', //鎵爜鍒扮殑褰撳墠鐗╂枡鐨勬壒娆� - warehouseRules: { - containerCode: [{ - required: true, - message: '瀹瑰櫒缂栧彿涓嶈兘涓虹┖', - trigger: 'blur' - }], - materialCode: [{ - required: true, - message: '鐗╂枡缂栧彿涓嶈兘涓虹┖', - trigger: 'blur' - }] - }, - orderType: 1, - warhouseTph: '', - timerPrint: null, - kwbhAllowed: false, //鏄惁绂佺敤搴撲綅缂栧彿 - arrD: [], - statusTp: { - 'tpStatus': '' - } - }; - }, - components: { - ButtonModal, - ModalCode - }, - onLoad(option) { - if (option.orderType) { - this.orderType = option.orderType - } - }, - onReady() { - this.$refs.warehouseRef.setRules(this.warehouseRules) - }, - mounted() { - this.operator = JSON.parse(uni.getStorageSync('userInfo')).name - this.getVehicleType() - }, - computed: { - containerCode() { - return this.warehouse.containerCode - } - }, - watch: { - containerCode(val) { - if (!val) { - this.detailable = false; - this.detailableZb = false; - this.warehouse.exitNumber = 0 - } - }, - singlist(val) { - this.warehouse.exitNumber = val.length - } - }, - methods: { - //瀹瑰櫒绫诲瀷鑱氱劍浜嬩欢 - containerFocus() { - uni.hideKeyboard() - this.modalshow = true - }, - gridBtnClick() { - this.gridable = !this.gridable - if (!this.gridable) { - this.$nextTick(() => { - this.gridFocus = true; - }) - } else { - this.$nextTick(() => { - this.gridFocus = false; - }) - } - }, - //瀹瑰櫒缂栧彿鐐瑰嚮 - containerClick() { - uni.scanCode({ - scanType: ['barCode', 'qrCode'], - autoDecodeCharset: true, - success: (res) => { - this.warehouse.containerCode = res.result - this.containerBlur() - }, - fail: (err) => { - this.rescode = 400 - this.resmessage = `鎵弿澶辫触${err}` - this.$refs.resmodal.show = true - } - }) - }, - //瀹瑰櫒澶辩劍浜嬩欢 - containerBlur() { - Promise.all([this.getContainerRecord(), this.getContainerData()]) - }, - //鑾峰彇褰撳墠瀹瑰櫒涓嬬粍鐩樿褰� - getContainerRecord() { - this.kwbhAllowed = false - //姣忔鏌ヨ缃┖鏉愭枡鍒楄〃 - this.singlist = []; - if (this.warehouse.containerCode == '') { - return - } - getContainerRecord({ - containerCode: this.warehouse.containerCode - }).then(res => { - if (res.code == 200) { - this.kwbhAllowed = true - if (Array.isArray(res.data) && res.data.length > 0) { - if (res.data[0].orderNo) { - this.putCode = res.data[0].orderNo; - } - this.warehouse.dutyCycle = res.data[0].dutyCycle; //搴撳瓨鍗犳瘮 銆怑ditby shaocx,2023-05-22銆� - const recordArr = res.data.reduce((curr, item) => { - curr.push({ - code: item.materialCode, - batchNo: item.batchNo, - quantityNow: item.quantity, - quantity: item.quantity, - materialName: item.materialName, - materialTypeName: item.materialTypeName, - specificationModel: item.specificationModel, - id: '', - unionCode: item.unionCode, - replaceMaterialCode: item.replaceMaterialCode, - stockFlagStatus: item.stockFlagStatus, - show: false, - enAbled: 1 //鎺у埗鏁伴噺鏄惁鍙互杈撳叆 - }) - return curr - }, []) - this.singlist.push(...recordArr) - } - } else { - this.kwbhAllowed = false - } + data() { + return { + operator: "", + warehouse: { + packageCode: "", + upi: "", + }, + singlist: [], //璇︽儏鍒楄〃 + ordersId: 0, //褰撳墠瀹瑰櫒缁戝畾鐨勪笂鏋跺崟 + rescode: 0, + resmessage: "", + options: [ + { + text: "鎵撳嵃", + style: { + backgroundColor: "#fc9f35", + }, + }, + ], + detailshow: false, + materlist: {}, + curFoucus: true, + timer: null, + timerSm: null, + detailableZb: false, + detailable: false, + gridFocus: false, + gridable: true, + kwbhAllowed: false, + enumList: [], + }; + }, + components: { + ButtonModal, + ModalCode, + }, + created() { + getenumDataList({ + EnumName: "UpiStatusEnum", + }).then((res) => { + this.enumList = res.result || []; + }); + }, + onLoad() { + this.operator = JSON.parse(uni.getStorageSync("userInfo")).name; + }, + mounted() {}, - }) + methods: { + getEnumName(value) { + const name = this.enumList.find((item) => item.value === value); + return name ? name.name : ""; + }, + // 濡傛灉鎵撳紑涓�涓殑鏃跺�欙紝涓嶉渶瑕佸叧闂叾浠栵紝鍒欐棤闇�瀹炵幇鏈柟娉� + open(index) { + // 鍏堝皢姝e湪琚搷浣滅殑swipeAction鏍囪涓烘墦寮�鐘舵�侊紝鍚﹀垯鐢变簬props鐨勭壒鎬ч檺鍒讹紝 + // 鍘熸湰涓�'false'锛屽啀娆¤缃负'false'浼氭棤鏁� + this.singlist[index].show = true; + this.singlist.map((val, idx) => { + if (index != idx) this.singlist[idx].show = false; + }); + }, + close(index) { + this.singlist[index].show = false; + }, + //鐗╂枡璇︽儏 + longpress(index, eindex) { + this.materlist = this.singlist[index]; + this.detailshow = true; + }, - }, - //鑾峰彇瀹瑰櫒鐨勪俊鎭� - getContainerData() { - getContainDetail(this.warehouse.containerCode).then(res => { - const result = res.data.rows; - if (Array.isArray(result) && result.length == 1) { - // 铏氭嫙3涓兘涓嶆樉绀猴紱鏂欑锛氭樉绀烘爡鏍硷紱閽㈡墭锛氫笉鏄剧ず绌洪棿鍗犳瘮 - if (res.data.rows[0].isVirtual == 0) { //瀹炵墿 - if (res.data.rows[0].wareContainerType == '299120688255045' || res.data.rows[0] - .wareContainerType == '293486279884869') { // 閽㈠埗瀹瑰櫒 濉戞枡瀹瑰櫒 -鏄剧ず鍗犳瘮 - this.detailableZb = true; - this.detailable = false; - } else { //鏂欑 - 鏄剧ず鏍呮牸鏁� - this.detailableZb = false; - this.detailable = true; - } - } else { - this.detailable = false; - this.detailableZb = false; - } - this.warehouse.gridNumber = res.data.rows[0].gridNumber; - this.warehouse.useNumber = res.data.rows[0].useNumber; - } else { - uni.showToast({ - title: '搴撲綅涓嶅瓨鍦�', - icon: 'none', - duration: 2000 - }); - this.kwbhAllowed = false - } + rest() { + this.warehouse.upi = ""; + this.singlist = []; + }, - }) - }, - - - //鐗╂枡缂栫爜鐐瑰嚮 - materialClick() { - uni.scanCode({ - scanType: ['barCode', 'qrCode'], - autoDecodeCharset: true, - success: (res) => { - this.warehouse.materialCode = getAttrValue(res.result, 'PARTSNUMBER') - this.batchNo = getAttrValue(res.result, 'LOTNO') - this.getMaterialDetails() - }, - fail: (err) => { - this.rescode = 400 - this.resmessage = `鎵弿澶辫触${err}` - this.$refs.resmodal.show = true - } - }) - }, - //鐗╂枡鏌ヨ - getMaterialDetails(pram) { - if (!this.warehouse.containerCode) { - uni.showToast({ - title: '瀹瑰櫒缂栧彿涓嶈兘涓虹┖', - icon: 'none', - duration: 2000 - }) - return - } - //鎵鍣ㄧ紪鍙� 鍔犺浇鎵�鏈夌墿鏂� - if (pram == 1) { - this.singlist = []; - getBhbMaterialList({ - 'containerCode': this.warehouse.containerCode, - 'SNCode': this.warehouse.snCode - }).then((res) => { - if (res.code == 200) { - if (res.result == null) { - this.rescode = 400 - this.resmessage = '鏌ユ棤鏁版嵁' - this.$refs.resmodal.show = true - return - } else { - if (res.result.length == 0) { - console.log("绌烘墭") - this.singlist = []; - return - } else { - console.log("鏈夋枡") - res.result.forEach((item, index) => { - item.notDelete = 1 //宸茬粍鐩樼殑鐗╂枡 涓嶈鍒犻櫎 瑕佸幓瑙g粦椤甸潰瑙g粦 - }) - this.singlist = res.result; - } - } - } else { - this.resmessage = res.message - this.rescode = res.code - this.$refs.resmodal.show = true + //鑾峰彇瀹瑰櫒鐨勪俊鎭� + getContainerData(param) { + if (!this.warehouse.upi) { + uni.showToast({ + title: "璇锋壂閮ㄤ欢鏉$爜", + icon: "none", + duration: 2000, + }); + return; + } + getBhbMaterialList({ + packageCode: this.warehouse.packageCode, + upi: this.warehouse.upi, + }).then((res) => { + const result = res.result; + if (Array.isArray(result) && result.length == 0) { + uni.showToast({ + title: "鏁版嵁涓嶅瓨鍦�", + icon: "none", + duration: 2000, + }); + return; + } + this.singlist = res.result; + }); + }, - } - }) - - } else { - - //鐗╂枡鏌ヨ - PdaBindListForSNCode({ - 'containerCode': this.warehouse.containerCode, - 'SNCode': this.warehouse.snCode - }).then((res) => { - if (res.code == 200) { - if (res.result == null || !res.result.stockQuanOutput) { - this.rescode = 400 - this.resmessage = '鏌ユ棤鏁版嵁' - this.$refs.resmodal.show = true - return - } else { - // 鏍规嵁id 鍒ゆ柇鐗╂枡鏄惁瀛樺湪 - var item = res.result.stockQuanOutput; - //debugger - let index = this.singlist.findIndex(v => v.snCode == item.snCode); - if (index == -1) { - if (!res.result.validateResult && res.result.validateFailReason) { - uni.showModal({ - title: '鎻愮ず', - content: res.result.validateFailReason, - showCancel: true, - cancelColor: '#333333', - success: (res => { - if (res.confirm) { - this.singlist.unshift({ - ...item - }) - } else if (res.cancel) { - - } - }) - }); - } else { - this.singlist.unshift({ - ...item - }) - } - } - } - } else { - this.resmessage = res.message - this.rescode = res.code - this.$refs.resmodal.show = true - } - }) - - } - - }, - //鍒犻櫎璇︽儏 - longpress(index, eindex) { - uni.showModal({ - title: '鎻愮ず', - content: '鏄惁纭鍒犻櫎锛�', - showCancel: true, - cancelColor: '#333333', - success: (res => { - if (res.confirm) { - this.singlist[index].cardNum = true - if (eindex == 0) { //鍒犻櫎 - if(this.singlist[index].notDelete==1){ - uni.showToast({ - title: '宸茬粍鐩樼殑鐗╂枡 涓嶈鍒犻櫎 瑕佸幓瑙g粦椤甸潰瑙g粦', - icon: 'none', - duration: 2000 - }); - return - } - this.singlist.splice(index, 1) - } else { - this.materlist = this.singlist[index] - this.detailshow = true - } - } else if (res.cancel) { - - } - }) - }); - }, - //缂栬緫鐘舵�佹牱寮� - dc(e) { - e.cardNum = true - this.$forceUpdate() - }, - //鍗$墖閫変腑 - clicki(e) { - e.cardNum = true - this.$forceUpdate() - }, - // 濡傛灉鎵撳紑涓�涓殑鏃跺�欙紝涓嶉渶瑕佸叧闂叾浠栵紝鍒欐棤闇�瀹炵幇鏈柟娉� - open(index) { - // 鍏堝皢姝e湪琚搷浣滅殑swipeAction鏍囪涓烘墦寮�鐘舵�侊紝鍚﹀垯鐢变簬props鐨勭壒鎬ч檺鍒讹紝 - // 鍘熸湰涓�'false'锛屽啀娆¤缃负'false'浼氭棤鏁� - this.singlist[index].cardNum = true; - this.$forceUpdate() - this.singlist[index].show = true; - this.singlist.map((val, idx) => { - if (index != idx) this.singlist[idx].show = false; - }) - }, - close(index) { - this.singlist[index].show = false; - this.singlist[index].cardNum = false; - this.$forceUpdate() - }, - //鏀瑰彉缁勭洏鏁伴噺 - changeNum(val) { - val.cardNum = false - if (!val.quantity) { - uni.showModal({ - title: '鎻愮ず', - content: '缁勭洏鏁伴噺涓嶈兘涓虹┖', - showCancel: false - }) - } - if (val.quantity < 0) { - uni.showModal({ - title: '鎻愮ず', - content: '缁勭洏鏁伴噺蹇呴』澶т簬0', - showCancel: false - }) - } - - }, - //鍏ㄩ儴鍙栨秷 - reset() { - this.singlist = []; - this.warehouse.containerCode = '' - this.warehouse.snCode = '' - this.warehouse.areaCode = '' - this.warehouse.placeCode = '' - this.$refs.warehouseRef.resetFields(); - this.$forceUpdate() - this.kwbhAllowed = false - }, - //閲嶇疆椤甸潰淇℃伅 - rest() { - this.reset() - }, - //纭 - submit() { - this.$refs.warehouseRef.setRules(this.warehouseRules) - this.$refs.warehouseRef.validate(valid => { - if (valid) { - - let arrN1 = this.singlist.findIndex((v) => v.quantity == '' || v.quantity <= 0) - if (arrN1 > -1) { - uni.showToast({ - title: '鐗╂枡鏁伴噺闇�瑕佸ぇ浜�0', - icon: 'none', - duration: 2000 - }); - return - } - - //鐗╂枡璇︽儏 - let matatilDetails = this.singlist; - - let arrSub = matatilDetails.filter((v) => v.enAbled != 1) - //璇锋眰鍙傛暟 - /// 鏍囪 - /// 1锛氱墿鏂欑粍鐩� - /// 2锛氬鍣ㄧ粍鐩� - /// 3锛氱墿鏂欒В缁� - /// 4锛氬鍣ㄨВ缁� - let params = { - Flag: 1, - ContainerCode: this.warehouse.containerCode, - orderDetails: arrSub - } - uni.showModal({ - title: '鎻愮ず', - content: '鏄惁纭缁勭洏锛�', - showCancel: true, - cancelColor: '#333333', - success: (res => { - if (res.confirm) { - addGroupDisk(params).then(res => { - this.warhouseTph = this.warehouse.containerCode; - this.rescode = res.code; - this.resmessage = res.message || '缁勭洏鎴愬姛锛�'; - this.$refs.resmodal.show = true; - this.rest(); - }) - } else if (res.cancel) { - - } - }) - }); - } - }) - }, - - // 绉熺洏涓婃灦 - goWarhouse() { - //鐗╂枡璇︽儏 - let matatilDetails = this.singlist; - - let arrSub = matatilDetails.filter((v) => v.enAbled != 1) - - bindputawayConfirm({ - flag:1, // - "ActionType": 3004, //缁勭洏涓婃灦 - "ContainerCode": this.warehouse.containerCode, - "StorehouseCode": this.warehouse.storehouseCode, - "areaCode": this.warehouse.areaCode || '', - "placeCode": this.warehouse.placeCode || '', - "orderDetails": arrSub - }).then(res => { - this.rescode = res.code; - this.resmessage = res.message || '缁勭洏涓婃灦鎴愬姛锛�'; - this.$refs.resmodal.show = true; - this.reset(); - }) - // if(this.warehouse.areaCode==''&&this.warehouse.placeCode){ - // uni.showToast({ - // title: '璇峰~鍐欑洰鏍囧簱鍖烘垨鐩爣搴撲綅锛�', - // icon: 'none', - // duration: 2000 - // }) - // return; - // } - // if (this.warhouseTph == '') { - // uni.showToast({ - // title: '缁勭洏鎴愬姛鍚庯紝鍙叆搴擄紒', - // icon: 'none', - // duration: 2000 - // }) - // return - // } - // uni.navigateTo({ - // url: '/pages/putIn/three/three?type=鍏ュ簱鍗�&containerCode=' + this.warhouseTph - // }) - }, - getVehicleType() { - getareaTypesList().then((res) => { - // if (res.data.rows.length == 0) { - // this.rescode = 400 - // this.resmessage = '鏆傛棤鏁版嵁' - // this.$refs.resmodal.show = true - // return - // } - var arr = res.result.items; - arr.map(item => { - item.text = item.areaCode; - return item; - }) - this.wolist = arr - }) - }, - confirmXl(index) { - this.warehouse.areaCode = this.wolist[index].areaCode; - // this.warehouse.ContainerTypeCode = this.wolist[index].id; - }, - filterMark(stockFlagStatus) { - let str = '' - let arr4 = this.arrD.filter(v => v.value == stockFlagStatus) - if (arr4.length > 0) { - str = arr4[0].title - } - return str - }, - //------鑾峰彇鎺ㄨ崘 - containerFocus2() { - // //debugger - if (!this.warehouse.areaCode) { - uni.showToast({ - title: '璇烽�夋嫨鐩爣搴撳尯锛�', - icon: 'none', - duration: 2000 - }); - return - } - getRecommendList({ - 'containerCode': this.warehouse.containerCode, - 'areaCode': this.warehouse.areaCode - }).then(res => { - this.modalshow2 = true; - - this.containerList = res.result.reduce((curr, item) => { - curr.push({ - text: item.placeCode, - }) - return curr; - }, []) - }) - }, - //------鑾峰彇鎺ㄨ崘绫诲瀷閫夋嫨 - confirm2(index) { - this.warehouse.placeCode = this.containerList[index].text; - }, - } -} + //鍏ㄩ儴鍙栨秷 + back() { + this.ordersId = 0; + this.singlist = []; + this.$refs.warehouseRef.resetFields(); + this.warehouse.packageCode = ""; + }, + }, +}; </script> -<style lang="scss" scoped> +<style lang="scss"> +.content { + height: 500rpx; + overflow-y: scroll; + width: 100%; + padding: 15rpx; + box-sizing: border-box; + + .content-item { + padding: 15rpx; + background-color: #fff; + margin-bottom: 15rpx; + border-radius: 8rpx; + font-size: 32rpx; + } +} + .bg_item { - background: #FFEBCD !important; + background: #ffebcd !important; } - -.inputGray2 { - line-height: 30px; - border-top: 10rpx solid transparent; -} - -.inputGray { - border-top: 0rpx solid transparent; - -} - - - -.boxList { - transition: all ease 2s; - position: fixed; - bottom: 0; - left: 0; - top: 0; - right: 0; - width: 100%; - height: 100%; - z-index: 999; - background: rgba(0, 0, 0, 0.6); - - .innerWrap { - max-height: 50%; - overflow-y: auto; - background: white; - position: absolute; - bottom: 0; - left: 0; - width: 100%; - - ul { - padding: 0; - margin: 0; - - li { - padding: 0; - margin: 0; - border-bottom: 1px solid #e4e7ed; - list-style-type: none; - display: flex; - flex-direction: row; - line-height: 1; - justify-content: center; - align-items: center; - font-size: 13px; - padding: 14px 0; - flex-direction: column; - } - } - } - -} -</style> \ No newline at end of file +</style> diff --git a/LA24030_LuLiPackageLine_Pda/pages/index/index.vue b/LA24030_LuLiPackageLine_Pda/pages/index/index.vue index 5581230..c4da8f4 100644 --- a/LA24030_LuLiPackageLine_Pda/pages/index/index.vue +++ b/LA24030_LuLiPackageLine_Pda/pages/index/index.vue @@ -103,7 +103,7 @@ // 鍙渶閰嶇疆杩欓噷 cleanoutlistForUrl: [ { - name: '鏍囧噯鏀惰揣', + name: 'NG澶勭悊', icon: 'icon-shouhuoguanli', src: '../../static/index/takeMaterial.png', pages: '../takeMaterial/orderpiece/orderpiece' 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> diff --git a/LA24030_LuLiPackageLine_Pda/pages/untie/untie.vue b/LA24030_LuLiPackageLine_Pda/pages/untie/untie.vue index d002003..a9e7d82 100644 --- a/LA24030_LuLiPackageLine_Pda/pages/untie/untie.vue +++ b/LA24030_LuLiPackageLine_Pda/pages/untie/untie.vue @@ -23,6 +23,7 @@ > <u-input v-model.trim="warehouse.packageCode" + @focus="warehouse.packageCode = ''" @confirm="getContainerData(1)" placeholder="璇峰綍鍏ユ垨鎵爜" class="width" @@ -37,7 +38,7 @@ style="background-color: #fff" > <u-col span="12"> - <u-form-item label="鏉夸欢鍙�:" class="uFormItem"> + <u-form-item label="閮ㄤ欢鏉$爜:" class="uFormItem"> <u-input v-model="warehouse.upi" ref="materialRef" @@ -75,7 +76,7 @@ <!-- 閮ㄤ欢鍚嶇О upi銆佹潗鏂欍�佸昂瀵革紝浣嶇疆銆佹澘浠剁姸鎬� --> <u-row> <u-col span="12" class="flex align-center"> - <u-checkbox v-model="item.checked" size="50rpx"></u-checkbox> + <!-- <u-checkbox v-model="item.checked" size="50rpx"></u-checkbox> --> <view class="flex justify-center align-center" style=" @@ -116,7 +117,7 @@ <u-row> <u-col span="8"> <text class="color_80 padding_left25rpx"> - 鏉夸欢鐘舵�侊細{{ item.upiStatus }} + 鏉夸欢鐘舵�侊細{{ getEnumName(item.upiStatus) }} </text> </u-col> <u-col span="4"> @@ -129,54 +130,12 @@ </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="鐗╂枡瑙g粦" - @submit="submit" - @reset="back" + :subShow="true" + garmenTitle="閲嶇疆" + @submit="rest" + @reset="rest" /> </view> </template> @@ -228,24 +187,32 @@ gridFocus: false, gridable: true, kwbhAllowed: false, + enumList: [], }; }, components: { ButtonModal, ModalCode, }, + created() { + getenumDataList({ + EnumName: "UpiStatusEnum", + }).then((res) => { + this.enumList = res.result || []; + }); + }, onLoad() { this.operator = JSON.parse(uni.getStorageSync("userInfo")).name; }, mounted() { - getenumDataList({ - EnumName: "UpiStatusEnum", - }).then((res) => { - this.singlist = res.data.result || []; - }); + }, methods: { + getEnumName(value) { + const name = this.enumList.find((item) => item.value === value); + return name? name.name : ""; + }, // 濡傛灉鎵撳紑涓�涓殑鏃跺�欙紝涓嶉渶瑕佸叧闂叾浠栵紝鍒欐棤闇�瀹炵幇鏈柟娉� open(index) { // 鍏堝皢姝e湪琚搷浣滅殑swipeAction鏍囪涓烘墦寮�鐘舵�侊紝鍚﹀垯鐢变簬props鐨勭壒鎬ч檺鍒讹紝 @@ -263,323 +230,12 @@ this.materlist = this.singlist[index]; this.detailshow = true; }, - //鏍囩閲嶆柊鎵撳嵃 - init() { - const arr = ["materialCode", "unBindQuantity"]; - const arrzw = ["鐗╂枡缂栧彿", "鏈瑙g粦鏁伴噺"]; - 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 - // }) - }); + + rest() { + this.warehouse.upi = ""; + this.warehouse.packageCode = ""; + this.singlist = []; }, - materialBlur() { - clearTimeout(this.timerSm); - this.timerSm = null; - if (this.warehouse.materialCode == "") { - return; - } - - 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); - }, - containerBlur() { - if ( - this.warehouse.packageCode == "" || - 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; - }); - }, - //瑙g粦鏁伴噺澶辩劍浜嬩欢 - changeNum(option) { - //鍒ゆ柇鏄惁鍕鹃�夛紝濡傛灉鍕鹃�変簡锛屽氨瑕佸鏁伴噺鏍¢獙 - if (!option.checked) { - return; - } - if (option.unBindQuantity == "") { - this.rescode = 400; - this.resmessage = "瑙g粦鏁伴噺涓嶈兘涓虹┖"; - this.$refs.resmodal.show = true; - } - - if (option.unBindQuantity <= 0) { - this.rescode = 400; - this.resmessage = "瑙g粦鏁伴噺蹇呴』澶т簬0"; - this.$refs.resmodal.show = true; - } - if (option.unBindQuantity > option.quantity) { - this.rescode = 400; - this.resmessage = "瑙g粦鏁伴噺涓嶈兘澶т簬搴撳瓨鏁伴噺"; - 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; - } - } - }, - //纭瑙g粦 - submit() { - const filterArr = this.singlist.filter((item) => item.checked); - if (filterArr.length <= 0) { - this.rescode = 400; - this.resmessage = "璇烽�夋嫨瑙g粦鐨勭墿鏂欙紒"; - 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 = '瑙g粦鏁伴噺涓嶇鍚堣姹�' - // this.$refs.resmodal.show = true - // return - // } - const warehousOrderDetails = filterArr.reduce((curr, item) => { - curr.push({ - ...item, - }); - return curr; - }, []); - const params = { - flag: 3, //3锛氱墿鏂欒В缁� - packageCode: this.warehouse.packageCode, - orderDetails: warehousOrderDetails, - }; - uni.showModal({ - title: "瑙g粦", - content: "鏄惁纭瑙g粦锛�", - showCancel: true, - cancelColor: "#333333", - success: (res) => { - if (res.confirm) { - unbindOrder(params).then((res) => { - this.rescode = 200; - this.$refs.resmodal.show = true; - this.resmessage = "瑙g粦鎴愬姛"; - this.back(); - }); - } else if (res.cancel) { - } - }, - }); - }, - rest() {}, //妫�鏌ュ鍣ㄦ爡鏍兼暟 checkGrid() {}, //鑾峰彇瀹瑰櫒鐨勪俊鎭� @@ -587,9 +243,9 @@ if (param == 1) { this.warehouse.upi = ""; } - if (this.warehouse.packageCode == "") { + if (!this.warehouse.packageCode) { uni.showToast({ - title: "璇锋壂瀹瑰櫒缂栧彿", + title: "璇锋壂鍖呰鍙�", icon: "none", duration: 2000, }); @@ -599,79 +255,20 @@ 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: "鏁版嵁涓嶅瓨鍦�", + title: "娌℃湁鏌ュ埌鏁版嵁", icon: "none", duration: 2000, }); + this.singlist = []; 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.upi == item.upi); - // if (index == -1) { - - // this.singlist.unshift({ - // ...item - // }) - // } - // }); + this.singlist = result; }); }, - onlyUpdateDutyCycleClick() { - this.$refs.warehouseRef.setRules(this.warehouseRules); - this.$refs.warehouseRef.validate((valid) => { - if (valid) { - //璇锋眰鍙傛暟 - let params = { - warepackageCode: this.warehouse.packageCode, - 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.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; - if (!this.gridable) { - this.$nextTick(() => { - this.gridFocus = true; - }); - } else { - this.$nextTick(() => { - this.gridFocus = false; - }); - } - }, + //鍏ㄩ儴鍙栨秷 back() { this.ordersId = 0; @@ -680,12 +277,7 @@ this.warehouse.packageCode = ""; }, }, - unmounted() { - if (this.timer) { - clearTimeout(this.timer); - this.timer = null; - } - }, + }; </script> <style lang="scss"> -- Gitblit v1.9.3