| New file |
| | |
| | | <template> |
| | | <view class="has-foot"> |
| | | <form > |
| | | <view class="cu-form-group " v-show="!isconfirm"> |
| | | <view class="title">盘点单</view> |
| | | <input placeholder="请扫描盘点单号" v-model="barcode" @input="search()" focus></input> |
| | | <text class='cuIcon-close text-gray margin-right-xs' v-show="barcode!==''" @click="clearCode"></text> |
| | | </view> |
| | | |
| | | </form> |
| | | |
| | | |
| | | |
| | | <view class="cu-list det menu sm-border padding"> |
| | | <block v-for="(item, index) in list" :key="index"> |
| | | <view class="cu-list det menu " @click="clickTaskItem(index)"> |
| | | |
| | | |
| | | <view class="cu-bar bg-white solid-bottom margin-top-sm"> |
| | | <view class="action"> |
| | | <view class="index"> |
| | | {{index+1}} |
| | | </view> |
| | | </view> |
| | | <view class="content2"> |
| | | <text class="text-gray"><text class="text-black ">{{item.exceStatus$}}</text></text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">盘点差异单:<text class="text-black ">{{item.orderCode}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">创建时间:<text class="text-black ">{{item.createTime$}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">库存数量:<text class="text-black ">{{item.anfme}}</text></text> |
| | | </view> |
| | | <view class="content"> |
| | | <text class="text-gray">盘点数量:<text class="text-black ">{{item.checkQty}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">盘点类型:<text class="text-black ">{{item.checkType$}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <progress :percent="Math.trunc((item.checkQty/item.anfme)*100) " show-info stroke-width="3" /> |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | </block> |
| | | </view> |
| | | |
| | | |
| | | <view class="text-blue text-right padding-lr" v-show="isconfirm"> |
| | | 本次收货总数量:{{allCount}} |
| | | </view> |
| | | |
| | | <view class="cu-form-group " v-show="isconfirm"> |
| | | <view class="title">收货区</view> |
| | | <uni-data-select v-model="whAreaId" :localdata="range" placement="top" |
| | | @change="selChange"></uni-data-select> |
| | | </view> |
| | | |
| | | <view class="cu-bar btn-group foot" v-show="!isconfirm"> |
| | | <button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button> |
| | | <button class="cu-btn bg-blue shadow-blur" @click="next">下一步</button> |
| | | </view> |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | request |
| | | } from '../../common/request.js' |
| | | import { |
| | | mapState, |
| | | mapMutations, |
| | | mapActions, |
| | | mapGetters |
| | | } from 'vuex'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | isClickItem:false, |
| | | clickItem:'', |
| | | QRbarcode:null, |
| | | barcode: '', |
| | | whAreaId: '', |
| | | list: [], |
| | | range: [], |
| | | isconfirm: false, |
| | | itemStyle: { |
| | | backgroundColor: '#42b983', |
| | | borderColor: '#42b983' |
| | | }, |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState('user', ['dynamicFields']), |
| | | allCount() { |
| | | return this.list.reduce((acc, row) => +row.receiptQty + acc, 0) |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | clickTaskItem(index){ |
| | | let that = this |
| | | uni.navigateTo({ |
| | | url: "./checkOrderItem", |
| | | // 通过eventChannel向被打开页面传送数据 |
| | | success: function(res) { |
| | | res.eventChannel.emit('checkItem', { |
| | | data: that.list[index] |
| | | }) |
| | | } |
| | | |
| | | }); |
| | | }, |
| | | typeChange(e){ |
| | | this.typeSelect = e.value |
| | | this.search() |
| | | }, |
| | | async search() { |
| | | this.list = [] |
| | | // if(this.barcode === '' || this.barcode ===null){ |
| | | // return ; |
| | | // } |
| | | const { |
| | | code, |
| | | data, |
| | | msg |
| | | } = await request('/getCheckList',{ |
| | | code:this.barcode |
| | | } |
| | | ) |
| | | if (code === 200) { |
| | | if (Object.keys(data).length === 0){ |
| | | uni.showToast({ |
| | | title: "未查询到波次数据", |
| | | icon: "none", |
| | | position: 'top' |
| | | }) |
| | | } |
| | | this.list.push(...data) |
| | | |
| | | }else if(code == 401){ |
| | | setTimeout(() => { |
| | | uni.removeStorageSync('token'); |
| | | uni.reLaunch({ |
| | | url: "/pages/login/login" |
| | | }); |
| | | }, 1000); |
| | | }else { |
| | | uni.showToast({ |
| | | title: msg, |
| | | icon: "none", |
| | | position: 'top' |
| | | }) |
| | | } |
| | | |
| | | |
| | | }, |
| | | clearCode() { |
| | | this.barcode = '' |
| | | }, |
| | | remove(index) { |
| | | this.list.splice(index, 1); |
| | | }, |
| | | clear() { |
| | | this.list = [] |
| | | this.barcode = '' |
| | | }, |
| | | next() { |
| | | if (this.list.length) { |
| | | this.isconfirm = true |
| | | } else { |
| | | uni.showToast({ |
| | | icon: "none", |
| | | title: '未选物料标签' |
| | | }) |
| | | } |
| | | }, |
| | | prev() { |
| | | this.isconfirm = false |
| | | }, |
| | | selChange(val) { |
| | | uni.setStorageSync('whAreaId', val) |
| | | }, |
| | | async confirm() { |
| | | const newArr = this.list.map(item => { |
| | | return { |
| | | ...item, |
| | | receiptQty: item.receiptQty === null ? 0 : +item.receiptQty |
| | | }; |
| | | }); |
| | | if (this.whAreaId === '') { |
| | | uni.showToast({ |
| | | icon: "none", |
| | | title: '请选择收货区' |
| | | }) |
| | | } else { |
| | | const { |
| | | code, |
| | | data, |
| | | msg |
| | | } = await request('/orders/confirm', { |
| | | receipts: newArr, |
| | | whAreaId: this.whAreaId |
| | | }) |
| | | if (code === 200) { |
| | | uni.showToast({ |
| | | title: '收货成功' |
| | | }) |
| | | this.list = [] |
| | | this.barcode = '' |
| | | this.isconfirm = false |
| | | } else { |
| | | uni.showToast({ |
| | | title: msg, |
| | | icon: "none", |
| | | position: 'top' |
| | | }) |
| | | } |
| | | |
| | | } |
| | | }, |
| | | |
| | | DateChange(e, item) { |
| | | item.prodTime = e.detail.value |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | .index { |
| | | border: 1px solid #e54d42; |
| | | color: #e54d42; |
| | | border-radius: 50%; |
| | | display: block; |
| | | width: 50rpx; |
| | | height: 50rpx; |
| | | line-height: 48rpx; |
| | | text-align: center; |
| | | margin-right: 20rpx; |
| | | font-size: 30rpx; |
| | | } |
| | | |
| | | .text-blue { |
| | | color: #0081ff !important; |
| | | |
| | | } |
| | | |
| | | .item { |
| | | position: relative; |
| | | display: flex; |
| | | min-height: 80upx; |
| | | align-items: center; |
| | | } |
| | | .content2 { |
| | | /* background-color: coral; */ |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | margin-right: 10px; |
| | | color: #0081ff; |
| | | } |
| | | </style> |
| | |
| | | const token = uni.getStorageSync('token');
|
| | | // const URL = 'http://47.76.147.249:8080/rsf-server/pda' + url;
|
| | | // const URL = 'http://test.zoneyung.net:8080/rsf-server/pda' + url;
|
| | | const URL = 'http://192.168.51.35:8085/rsf-server/pda' + url;
|
| | | const URL = 'http://127.0.0.1:8085/rsf-server/pda' + url;
|
| | | uni.request({
|
| | | url: URL,
|
| | | data: postData,
|
| | |
| | | "style": {
|
| | | "navigationBarTitleText": "波次拣货"
|
| | | }
|
| | | }, |
| | | { |
| | | "path": "pages/outbound/PickItemDetl", |
| | | "style": { |
| | | "navigationBarTitleText": "拣货明细" |
| | | } |
| | | },
|
| | | {
|
| | | "path": "pages/rece/standard",
|
| | |
| | | <template> |
| | | <view class="has-foot"> |
| | | <form > |
| | | <form> |
| | | <view class="cu-form-group " v-show="!isconfirm"> |
| | | <view class="title">盘点单</view> |
| | | <input placeholder="请扫描盘点单号" v-model="barcode" @input="search()" focus></input> |
| | |
| | | </view> |
| | | |
| | | </form> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <view class="cu-list det menu sm-border padding"> |
| | | <block v-for="(item, index) in list" :key="index"> |
| | | <view class="cu-list det menu " @click="clickTaskItem(index)"> |
| | | |
| | | |
| | | <view class="cu-bar bg-white solid-bottom margin-top-sm"> |
| | | <view class="action"> |
| | | <view class="index"> |
| | | {{index+1}} |
| | | <block v-for="(item, index) in list" :key="index"> |
| | | <view class="cu-list det menu " @click="clickTaskItem(index)"> |
| | | <view class="cu-bar bg-white solid-bottom margin-top-sm"> |
| | | <view class="action"> |
| | | <view class="index"> |
| | | {{index+1}} |
| | | </view> |
| | | </view> |
| | | <view class="content2"> |
| | | <text class="text-gray"><text class="text-black ">{{item.exceStatus$}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="content2"> |
| | | <text class="text-gray"><text class="text-black ">{{item.exceStatus$}}</text></text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">盘点差异单:<text class="text-black ">{{item.orderCode}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">创建时间:<text class="text-black ">{{item.createTime$}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">库存数量:<text class="text-black ">{{item.anfme}}</text></text> |
| | | </view> |
| | | <view class="content"> |
| | | <text class="text-gray">盘点数量:<text class="text-black ">{{item.checkQty}}</text></text> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">盘点差异单:<text class="text-black ">{{item.orderCode}}</text></text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">盘点类型:<text class="text-black ">{{item.checkType$}}</text></text> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">创建时间:<text class="text-black ">{{item.createTime$}}</text></text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <progress :percent="Math.trunc((item.checkQty/item.anfme)*100) " show-info stroke-width="3" /> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">库存数量:<text class="text-black ">{{item.anfme}}</text></text> |
| | | </view> |
| | | <view class="content"> |
| | | <text class="text-gray">盘点数量:<text class="text-black ">{{item.checkQty}}</text></text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">盘点类型:<text class="text-black ">{{item.checkType$}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <progress :percent="Math.trunc((item.checkQty/item.anfme)*100) " show-info |
| | | stroke-width="3" /> |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | </block> |
| | | </view> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | isClickItem:false, |
| | | clickItem:'', |
| | | QRbarcode:null, |
| | | isClickItem: false, |
| | | clickItem: '', |
| | | QRbarcode: null, |
| | | barcode: '', |
| | | whAreaId: '', |
| | | list: [], |
| | | range: [], |
| | | isconfirm: false, |
| | | isconfirm: false, |
| | | itemStyle: { |
| | | backgroundColor: '#42b983', |
| | | borderColor: '#42b983' |
| | | backgroundColor: '#42b983', |
| | | borderColor: '#42b983' |
| | | }, |
| | | } |
| | | }, |
| | |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | clickTaskItem(index){ |
| | | clickTaskItem(index) { |
| | | let that = this |
| | | uni.navigateTo({ |
| | | url: "./checkOrderItem", |
| | |
| | | data: that.list[index] |
| | | }) |
| | | } |
| | | |
| | | }); |
| | | |
| | | }); |
| | | }, |
| | | typeChange(e){ |
| | | typeChange(e) { |
| | | this.typeSelect = e.value |
| | | this.search() |
| | | }, |
| | |
| | | code, |
| | | data, |
| | | msg |
| | | } = await request('/getCheckList',{ |
| | | code:this.barcode |
| | | } |
| | | ) |
| | | if (code === 200) { |
| | | if (Object.keys(data).length === 0){ |
| | | } = await request('/getCheckList', { |
| | | code: this.barcode |
| | | }) |
| | | if (code === 200) { |
| | | if (Object.keys(data).length === 0) { |
| | | uni.showToast({ |
| | | title: "未查询到波次数据", |
| | | icon: "none", |
| | |
| | | }) |
| | | } |
| | | this.list.push(...data) |
| | | |
| | | }else if(code == 401){ |
| | | |
| | | } else if (code == 401) { |
| | | setTimeout(() => { |
| | | uni.removeStorageSync('token'); |
| | | uni.reLaunch({ |
| | | url: "/pages/login/login" |
| | | }); |
| | | }, 1000); |
| | | }else { |
| | | } else { |
| | | uni.showToast({ |
| | | title: msg, |
| | | icon: "none", |
| | |
| | | |
| | | } |
| | | }, |
| | | |
| | | |
| | | DateChange(e, item) { |
| | | item.prodTime = e.detail.value |
| | | } |
| | |
| | | min-height: 80upx; |
| | | align-items: center; |
| | | } |
| | | .content2 { |
| | | |
| | | .content2 { |
| | | /* background-color: coral; */ |
| | | width: 100%; |
| | | display: flex; |
| | |
| | | onLoad() { |
| | | let that = this |
| | | const eventChannel = this.getOpenerEventChannel(); |
| | | |
| | | eventChannel.on('checkItem', function(data) { |
| | | that.check = data.data |
| | | |
| | | }) |
| | | |
| | | }, |
| | | methods: { |
| | | sureAdd(){ |
| | |
| | | <view class="search-bar"> |
| | | <uni-search-bar v-model="condition" placeholder=" 输入批次/编码/单号" bgColor="#EEEEEE" @confirm="search()"/> |
| | | </view> |
| | | |
| | | |
| | | <view> |
| | | <view class="padding-lr margin-top-sm"> |
| | | <block v-for="(item, index) in matList" :key="index"> |
| | |
| | | <text class="text-grey ">{{item.asnCode}}</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">供应商批次:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey ">{{item.splrBatch}}</text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">现品票号:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey ">{{item.extendFields.crushNo}}</text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | |
| | | matnrCode: this.condition, |
| | | asnCode: this.condition, |
| | | code: this.condition, |
| | | fieldsIndex: this.condition, |
| | | batch: this.condition |
| | | } |
| | | this.getDet(req); |
| | |
| | | back() { |
| | | for (var i = 0; i < this.matList.length; i++) { |
| | | if(this.matList[i].selected === true){ |
| | | this.matList[i].receiptQty = this.matList[i].anfme - this.matList[i].workQty |
| | | this.selectedList.push(this.matList[i]) |
| | | } |
| | | } |
| | |
| | | matnrCode: req.matnrCode, |
| | | asnCode: req.asnCode, |
| | | code: req.code, |
| | | fieldsIndex: req.fieldsIndex, |
| | | batch: req.batch |
| | | }, "post") |
| | | if (code === 200) { |
| | |
| | | <template> |
| | | <view class="has-foot"> |
| | | <view> |
| | | |
| | | <form> |
| | | <view class="cu-form-group margin-top"> |
| | | <view class="title">容器号</view> |
| | | <input placeholder="请扫描容器号" v-model="container" focus></input> |
| | | <text class='cuIcon-search text-blue' @click="getList"></text> |
| | | </view> |
| | | <view class="cu-form-group"> |
| | | <view class="title">物料编码</view> |
| | | <input placeholder="请扫描物料编码" v-model="matnrCode"></input> |
| | | <text class='cuIcon-search text-blue' @click="search"></text> |
| | | <form> |
| | | <view class="cu-form-group margin-top"> |
| | | <view class="title">容器号</view> |
| | | <input placeholder="请扫描容器号" v-model="container" focus></input> |
| | | <text class='cuIcon-search text-blue' @click="getList"></text> |
| | | </view> |
| | | <view class="cu-form-group"> |
| | | <view class="title">物料编码</view> |
| | | <input placeholder="请扫描物料编码" v-model="matnrCode"></input> |
| | | <text class='cuIcon-search text-blue' @click="search"></text> |
| | | </view> |
| | | <view class="cu-form-group"> |
| | | <view class="title">票号</view> |
| | | <input placeholder="请扫描现品票号" v-model="fieldsIndex"></input> |
| | | <text class='cuIcon-search text-blue' @click="search"></text> |
| | | </view> |
| | | <view class="cu-form-group"> |
| | | <view class="title">ASN单号</view> |
| | | <input placeholder="请输入ASN单号" v-model="asnCode"></input> |
| | | </view> |
| | | </form> |
| | | <view class="flex solid-bottom padding-sm justify-between"> |
| | | <view class="text-blue">物料总类:{{list.length}}</view> |
| | | <view class="text-blue">组盘总数:{{allCount}}</view> |
| | | </view> |
| | | <view class="cu-form-group"> |
| | | <view class="title">ASN单号</view> |
| | | <input placeholder="请输入ASN单号" v-model="asnCode"></input> |
| | | </view> |
| | | </form> |
| | | |
| | | <view class="flex solid-bottom padding-sm justify-between"> |
| | | <view class="text-blue">物料总类:{{list.length}}</view> |
| | | <view class="text-blue">组盘总数:{{allCount}}</view> |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | <view class="padding-lr margin-top-sm"> |
| | | <block v-for="(item, index) in list" :key="index"> |
| | | <view class="cu-list det menu sm-border margin-bottom-sm " :class="[item.trackCode===barcode&&'act']" |
| | |
| | | {{index+1}} |
| | | </view> |
| | | <view class="text-blue"> |
| | | 编码: |
| | | 编码: |
| | | {{`${item.matnrCode}`}} |
| | | </view> |
| | | </view> |
| | |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">物料编码:</text> |
| | | <text class="text-black">物料编码:</text> |
| | | <text class="text-grey ">{{item.maktx}}</text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">ASN:</text> |
| | | <text class="text-black">单号:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey ">{{item.asnCode}}</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">供应商批次:</text> |
| | | <text class="text-black">供应商批次:</text> |
| | | </view> |
| | | <view class="action"> |
| | | <text class="text-grey ">{{item.splrBatch}}</text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">质检结果: <text class="text-grey ">{{item.inspect}}</text></text> |
| | | <text class="text-black">票号:<text class="text-grey ">{{item.crushNo}}</text></text> |
| | | </view> |
| | | </view> |
| | | <!-- <view class="cu-item"> |
| | |
| | | |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">库存单位: <text class="text-grey ">{{item.stockUnit}}</text></text> |
| | | <text class="text-black">库存单位: <text class="text-grey ">{{item.stockUnit}}</text></text> |
| | | </view> |
| | | <view class="content"> |
| | | <text class="text-black">收货数量: <text class="text-grey ">{{item.anfme}}</text></text> |
| | | <text class="text-black">收货数量: <text class="text-grey ">{{item.anfme}}</text></text> |
| | | </view> |
| | | <view class="content"> |
| | | <text class="text-black">已上架数量: <text |
| | | <text class="text-black">已上架数量: <text |
| | | class="text-grey ">{{item.workQty + item.qty}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-black">可组盘数量: <text |
| | | <text class="text-black">可组盘数量:<text |
| | | class="text-grey ">{{item.anfme - item.workQty - item.qty}}</text></text> |
| | | </view> |
| | | |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <view class="cu-form-group padding-lr-0"> |
| | | <view class="title text-blue"><text |
| | | class="text-red text-xl vertical-middle">*</text>组盘数量: |
| | | class="text-red text-xl vertical-middle">*</text>组盘数量: |
| | | </view> |
| | | <uni-number-box style="width: 70%;" :min="0" :max="max" :decimal="2" :step="0.01" v-model="item.receiptQty" |
| | | ></uni-number-box> |
| | | <uni-number-box style="width: 70%;" :min="0" :max="max" :decimal="2" :step="0.01" |
| | | v-model="item.receiptQty"></uni-number-box> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | range: [], |
| | | asnCode: '', |
| | | repeatClick: false, |
| | | isconfirm: false, |
| | | matnrCode:'', |
| | | fieldsIndex: null, |
| | | isconfirm: false, |
| | | matnrCode: '', |
| | | max: 99999999, |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState('user', ['dynamicFields']), |
| | | allCount() { |
| | | return this.list.reduce((acc, row) => +row.anfme + acc, 0) || 0 |
| | | return this.list.reduce((acc, row) => + (row.anfme + acc).toFixed(2), 0) || 0 |
| | | } |
| | | }, |
| | | mounted() {}, |
| | | methods: { |
| | | methods: { |
| | | async search() { |
| | | const find = this.list.find(el => el.trackCode === this.barcode); |
| | | find ? this.scrollTo() : this.getDet(); |
| | | |
| | | }, |
| | | getDet() { |
| | | let that = this; |
| | | uni.navigateTo({ |
| | | url: "../listing/itemSelect", |
| | | success: function(res) { |
| | | // 通过eventChannel向被打开页面传送数据 向另外一个页面传递值的 |
| | | res.eventChannel.emit('data', { |
| | | matnrCode: that.matnrCode, |
| | | asnCode: that.asnCode |
| | | }) |
| | | }, |
| | | events: { |
| | | // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 另外一个页面传过来的 |
| | | backData: function(data) { |
| | | that.showBackData(data.data) |
| | | }, |
| | | }, |
| | | |
| | | |
| | | }); |
| | | let param = { |
| | | matnrCode: that.matnrCode.trim(), |
| | | asnCode: that.asnCode.trim(), |
| | | fieldsIndex: that.fieldsIndex.trim() |
| | | } |
| | | that.getDetl(param); |
| | | }, |
| | | // async getDet() { |
| | | // let that = this; |
| | | // const { |
| | | // code, |
| | | // data, |
| | | // msg |
| | | // } = await request('/asnOrderItem/trackCode', { |
| | | // matnrCode: that.matnrCode, |
| | | // asnCode: that.asnCode |
| | | // }, "post") |
| | | // if (code === 200) { |
| | | // data.map(item => { |
| | | // item.receiptQty = 0; |
| | | // item.selected = false; |
| | | // }) |
| | | // // for (var i = 0; i < data.length; i++) { |
| | | // // data[i].receiptQty =1; |
| | | // // data[i].selected = false; |
| | | // // } |
| | | // if(data !== [] || data !== null){ |
| | | // uni.navigateTo({ |
| | | // url: "../listing/itemSelect", |
| | | // success: function(res) { |
| | | // // 通过eventChannel向被打开页面传送数据 向另外一个页面传递值的 |
| | | // res.eventChannel.emit('data', { |
| | | // item: data |
| | | // }) |
| | | // }, |
| | | // events: { |
| | | // // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 另外一个页面传过来的 |
| | | // backData: function(data) { |
| | | // that.showBackData(data.data) |
| | | // }, |
| | | // }, |
| | | |
| | | |
| | | // }); |
| | | |
| | | // } |
| | | |
| | | // // this.list = data |
| | | // } else { |
| | | // uni.showToast({ |
| | | // title: msg, |
| | | // icon: "none", |
| | | // position: 'top' |
| | | // }) |
| | | // } |
| | | // }, |
| | | |
| | | async getDetl(req) { |
| | | let that = this; |
| | | // uni.showLoading({ |
| | | // title: '加载中...' |
| | | // }) |
| | | const { code, data, msg } = await request('/asnOrderItem/trackCode', { |
| | | matnrCode: that.matnrCode, |
| | | asnCode: that.asnCode, |
| | | code: that.asnCode, |
| | | fieldsIndex: that.fieldsIndex, |
| | | batch: req.batch |
| | | }, "post") |
| | | if (code === 200) { |
| | | for (var i = 0; i < data.length; i++) { |
| | | data[i].receiptQty = data[i].anfme - data[i].workQty; |
| | | data[i].crushNo = that.fieldsIndex; |
| | | data[i].selected = true; |
| | | } |
| | | that.fieldsIndex = null; |
| | | that.showBackData(data) |
| | | } else { |
| | | uni.showToast({ |
| | | title: msg, |
| | | icon: "none", |
| | | position: 'top' |
| | | }) |
| | | } |
| | | // uni.hideLoading(); |
| | | }, |
| | | |
| | | async getList() { |
| | | if(this.container === '' || this.container === null){ |
| | | if (this.container === '' || this.container === null) { |
| | | uni.showToast({ |
| | | title: "容器码为空", |
| | | icon: "none", |
| | | position: 'top' |
| | | }) |
| | | return ; |
| | | return; |
| | | } |
| | | const { |
| | | code, |
| | | data, |
| | | msg |
| | | } = await request('/asnOrderItem/container', { |
| | | const { code, data, msg } = await request('/asnOrderItem/container', { |
| | | barcode: this.container |
| | | }) |
| | | if (code === 200) { |
| | |
| | | }) |
| | | } |
| | | }, |
| | | showBackData(data){ |
| | | let status ; |
| | | data.map(item => { |
| | | showBackData(data) { |
| | | let status; |
| | | data.map(item => { |
| | | this.list.push(item) |
| | | }) |
| | | }) |
| | | let oldLength = this.list.length |
| | | this.list = this.list.filter((item, index, self) => |
| | | self.findIndex(i => ( |
| | |
| | | )) === index && item.isptResult === self[0].isptResult |
| | | ); |
| | | let newLength = this.list.length |
| | | |
| | | if(oldLength > newLength){ |
| | | |
| | | if (oldLength > newLength) { |
| | | this.showMsg("新明细被过滤,请检查状态") |
| | | |
| | | } |
| | | |
| | | }, |
| | | showMsg(msg){ |
| | | showMsg(msg) { |
| | | setTimeout(function() { |
| | | uni.showToast({ |
| | | icon: "none", |
| | | position: 'top', |
| | | title: msg, |
| | | duration:2000, |
| | | }) |
| | | uni.showToast({ |
| | | icon: "none", |
| | | position: 'top', |
| | | title: msg, |
| | | duration: 2000, |
| | | }) |
| | | }, 200); |
| | | |
| | | |
| | | }, |
| | | scrollTo() { |
| | | const ref = this.$refs[`${this.barcode}ref`][0]; |
| | |
| | | this.isconfirm = false |
| | | }, |
| | | async confirm() { |
| | | if(this.container === '' || this.container === null){ |
| | | if (this.container === '' || this.container === null) { |
| | | uni.showToast({ |
| | | title: "容器码为空", |
| | | icon: "none", |
| | | position: 'top' |
| | | }) |
| | | return ; |
| | | return; |
| | | } |
| | | if(this.list.length ===0 || this.list === null){ |
| | | if (this.list.length === 0 || this.list === null) { |
| | | uni.showToast({ |
| | | title: "未添加明细", |
| | | icon: "none", |
| | | position: 'top' |
| | | }) |
| | | return ; |
| | | return; |
| | | } |
| | | this.repeatClick = true |
| | | this.repeatClick = true |
| | | const newArr = this.list.map(item => { |
| | | |
| | | |
| | | return { |
| | | ...item, |
| | | anfme: item.anfme === null ? 0 : +item.anfme, |
| | | anfme: item.anfme === null ? 0 : +item.anfme, |
| | | }; |
| | | }); |
| | | |
| | |
| | | msg |
| | | } = await request('/waitPakin/merge', { |
| | | items: newArr, |
| | | barcode: this.container, |
| | | barcode: this.container, |
| | | }) |
| | | if (code === 200) { |
| | | uni.showToast({ |
| New file |
| | |
| | | <template> |
| | | <view class="has-foot"> |
| | | <view class="cu-list det menu sm-border"> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">订单号:<text class="text-black ">{{orderDetl.poCode}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">容器号:<text class="text-black ">{{orderDetl.barcode}}</text></text> |
| | | </view> |
| | | </view> |
| | | <form> |
| | | <view class="cu-form-group" v-show="!isconfirm"> |
| | | <view class="title">票号:</view> |
| | | <input placeholder="请扫描票号" v-model="fieldsIndex" focus></input> |
| | | <text class='cuIcon-close text-gray margin-right-xs' v-show="fieldsIndex!==''" @click="clearCode"></text> |
| | | <text class='cuIcon-search text-blue' @click="search"></text> |
| | | </view> |
| | | </form> |
| | | </view> |
| | | <view class="cu-list det menu sm-border"> |
| | | <view class="cu-list det menu noMargin cyan" v-for="(item2,index2) in list" > |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">{{index2+1}}.</text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">品种号码:<text class="text-black ">{{item2.matnrCode}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">品种名称:<text class="text-black ">{{item2.maktx}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item" v-show="!isconfirm"> |
| | | <view class="content"> |
| | | <view class="cu-form-group padding-lr-0"> |
| | | <view class="title text-blue"><text class="text-red text-xl vertical-middle">*</text>票号: |
| | | </view> |
| | | <input type="input" v-model="item2.extendFields.crushNo" class="text-black"> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item" v-show="item2.anfme !== item2.qty"> |
| | | <view class="content"> |
| | | <view class="cu-form-group padding-lr-0"> |
| | | <view class="title text-blue"><text class="text-red text-xl vertical-middle">*</text>拣: |
| | | </view> |
| | | <uni-number-box style="width: 70%;" :max="max" v-model="item2.anfme" |
| | | :step='0.01'></uni-number-box> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="cu-bar btn-group foot" v-show="!isconfirm"> |
| | | <button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button> |
| | | <button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="complete">拣货完成</button> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | request |
| | | } from '../../common/request.js' |
| | | import { |
| | | mapState, |
| | | mapMutations, |
| | | mapActions, |
| | | mapGetters |
| | | } from 'vuex'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | wave: '', |
| | | list: [], |
| | | isconfirm: false, |
| | | fieldsIndex: '', |
| | | max: 99999999, |
| | | orderDetl: {}, |
| | | repeatClick: false, |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState('user', ['dynamicFields']), |
| | | ...mapState('user', { |
| | | dynFields: state => state.dynamicFields |
| | | }), |
| | | // allCount() { |
| | | // return this.list.reduce((acc, row) => +row.receiptQty + acc, 0) |
| | | // }, |
| | | }, |
| | | mounted() { |
| | | |
| | | }, |
| | | onLoad() { |
| | | let that = this |
| | | const eventChannel = this.getOpenerEventChannel(); |
| | | eventChannel.on('pickItemDetl', function(data) { |
| | | that.orderDetl = data.data |
| | | }) |
| | | }, |
| | | methods: { |
| | | clear() { |
| | | this.fieldsIndex = '' |
| | | this.list = [] |
| | | }, |
| | | clearCode() { |
| | | this.fieldsIndex = '' |
| | | }, |
| | | async search() { |
| | | let that = this; |
| | | // if(this.barcode === '' || this.barcode ===null){ |
| | | // return ; |
| | | // } |
| | | const { code, data, msg } = await request('/wave/order/items', { |
| | | barcode: this.orderDetl.barcode, |
| | | orderId: that.orderDetl.orderId, |
| | | fieldsIndex: that.fieldsIndex |
| | | }) |
| | | if (code === 200) { |
| | | if (Object.keys(data).length === 0) { |
| | | uni.showToast({ |
| | | title: "该标签未查询到数据", |
| | | icon: "none", |
| | | position: 'top' |
| | | }) |
| | | } |
| | | that.list.push(data) |
| | | that.fieldsIndex = null; |
| | | } else if (code == 401) { |
| | | setTimeout(() => { |
| | | uni.removeStorageSync('token'); |
| | | uni.reLaunch({ |
| | | url: "/pages/login/login" |
| | | }); |
| | | }, 1000); |
| | | } else { |
| | | uni.showToast({ |
| | | title: msg, |
| | | icon: "none", |
| | | position: 'top' |
| | | }) |
| | | } |
| | | |
| | | }, |
| | | async complete() { |
| | | let that = this |
| | | if (that.barcode === '' || that.barcode === null) { |
| | | uni.showToast({ |
| | | title: "容器号为空", |
| | | icon: "error", |
| | | }) |
| | | return; |
| | | } |
| | | if (that.list === [] || that.list.length === 0) { |
| | | uni.showToast({ |
| | | title: "拣货明细为空", |
| | | icon: "error", |
| | | }) |
| | | return; |
| | | } |
| | | this.repeatClick = true |
| | | const { code, data, msg } = await request('/wave/pick/item', { |
| | | barcode: that.orderDetl.barcode, |
| | | orderId: that.orderDetl.orderId, |
| | | taskItems: that.list |
| | | }) |
| | | if (code === 200) { |
| | | uni.showToast({ |
| | | title: msg, |
| | | icon: "none", |
| | | }) |
| | | that.clear() |
| | | } else { |
| | | uni.showToast({ |
| | | title: msg, |
| | | icon: "none", |
| | | }) |
| | | } |
| | | this.repeatClick = false |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | .index { |
| | | border: 1px solid #e54d42; |
| | | color: #e54d42; |
| | | border-radius: 50%; |
| | | display: block; |
| | | width: 50rpx; |
| | | height: 50rpx; |
| | | line-height: 48rpx; |
| | | text-align: center; |
| | | margin-right: 20rpx; |
| | | font-size: 30rpx; |
| | | } |
| | | |
| | | .text-blue { |
| | | color: #0081ff !important; |
| | | |
| | | } |
| | | |
| | | .item { |
| | | position: relative; |
| | | display: flex; |
| | | min-height: 80upx; |
| | | align-items: center; |
| | | } |
| | | |
| | | .content2 { |
| | | /* background-color: coral; */ |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | margin-right: 10px; |
| | | color: #0081ff; |
| | | } |
| | | |
| | | .noMargin { |
| | | margin-top: 0px; |
| | | padding: 5px; |
| | | } |
| | | </style> |
| | |
| | | </view> --> |
| | | <view class="cu-form-group" v-show="!isconfirm"> |
| | | <view class="title">容器号</view> |
| | | <input placeholder="请扫描容器号" v-model="barcode" focus></input> |
| | | <input placeholder="请扫描容器号" v-model="barcode" focus></input> |
| | | <text class='cuIcon-close text-gray margin-right-xs' v-show="barcode!==''" @click="clearCode"></text> |
| | | <text class='cuIcon-search text-blue' @click="search"></text> |
| | | </view> |
| | | </form> |
| | | <view class="cu-list det menu sm-border padding"> |
| | | <block v-for="(item, index) in list"> |
| | | <view class="cu-list det menu "> |
| | | |
| | | <view class="cu-bar bg-white solid-bottom margin-top-sm"> |
| | | <view class="action"> |
| | | <view class="index"> |
| | | {{index+1}} |
| | | </view> |
| | | </view> |
| | | <view class="content2"> |
| | | <text class="text-gray"><text class="text-black ">{{item.exceStatus$}}</text></text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="cu-list det menu sm-border"> |
| | | <view class="cu-list det menu noMargin cyan" v-for="(item2,index2) in list" @click="clickTaskItem(index2)"> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">物料编码:<text class="text-black ">{{item.taskItem.matnrCode}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">物料名称:<text class="text-black ">{{item.taskItem.maktx}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">总数量:<text class="text-black ">{{item.taskItem.anfme}}</text></text> |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | <view class="cu-list det menu noMargin " v-for="(item2,index2) in item.wkOrderItems"> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">{{index2+1}}.</text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">订单号:<text class="text-black ">{{item2.orderCode}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">需求数量:<text class="text-black ">{{item2.anfme}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">已拣数量:<text class="text-black ">{{item2.qty}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <view class="cu-form-group padding-lr-0"> |
| | | <view class="title text-blue"><text |
| | | class="text-red text-xl vertical-middle">*</text>票号: </view> |
| | | <input type="input" v-model="item2.fieldsIndex" class="text-black"> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <!-- <view class="cu-item grid col-2" v-if="item2.extendFields"> |
| | | <view class="item" v-for="el in dynamicFields" :key="el.id"> |
| | | <text class="text-black">{{el.fieldsAlise}}: |
| | | <text class="text-grey ">{{item.extendFields[el.fields]}}</text></text> |
| | | </view> |
| | | </view> --> |
| | | <view class="cu-item" v-show="item2.anfme !== item2.qty"> |
| | | <view class="content"> |
| | | <view class="cu-form-group padding-lr-0"> |
| | | <view class="title text-blue"><text |
| | | class="text-red text-xl vertical-middle">*</text>拣:</view> |
| | | <uni-number-box style="width: 70%;" :max="max" v-model="item2.demandQty" |
| | | :step='0.01' ></uni-number-box> |
| | | </view> |
| | | </view> |
| | | <text class="text-gray">{{index2+1}}.</text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">本次拣货数量:<text class="text-black ">{{item.wkOrderItems.reduce((total, item) => total + (Number(item.demandQty) ||0 ) , 0)}}</text></text> |
| | | </view> |
| | | <text class="text-gray">出库单号:<text class="text-black ">{{item2.orderCode}}</text></text> |
| | | </view> |
| | | </view> |
| | | </block> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">DO单号:<text class="text-black ">{{item2.poCode}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">品种号码:<text class="text-black ">{{item2.matnrCode}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">品种名称:<text class="text-black ">{{item2.maktx}}</text></text> |
| | | </view> |
| | | </view> |
| | | <view class="cu-item"> |
| | | <view class="content"> |
| | | <text class="text-gray">需求数量:<text class="text-black ">{{item2.anfme}}</text></text> |
| | | </view> |
| | | <view class="content"> |
| | | <text class="text-gray">已拣数量:<text class="text-black ">{{item2.qty}}</text></text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="cu-bar btn-group foot" v-show="!isconfirm"> |
| | | <button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button> |
| | | <button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="complete">拣货完成</button> |
| | | <!-- <button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button> --> |
| | | <button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="complete">完成</button> |
| | | </view> |
| | | </view> |
| | | </template> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | wave:'', |
| | | list: [], |
| | | wave: '', |
| | | list: [], |
| | | isconfirm: false, |
| | | barcode:'', |
| | | barcode: '', |
| | | max: 99999999, |
| | | repeatClick:false, |
| | | repeatClick: false, |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState('user', ['dynamicFields']), |
| | | ...mapState('user', { |
| | | dynFields: state => state.dynamicFields |
| | | dynFields: state => state.dynamicFields |
| | | }), |
| | | allCount() { |
| | | return this.list.reduce((acc, row) => + row.receiptQty + acc, 0) |
| | | }, |
| | | // allCount() { |
| | | // return this.list.reduce((acc, row) => +row.receiptQty + acc, 0) |
| | | // }, |
| | | }, |
| | | mounted() { |
| | | console.log(dynamicFields); |
| | | |
| | | }, |
| | | onLoad() { |
| | | let that = this |
| | | const eventChannel = this.getOpenerEventChannel(); |
| | | |
| | | eventChannel.on('waveItem', function(data) { |
| | | that.wave = data.data |
| | | |
| | | }) |
| | | |
| | | |
| | | }, |
| | | methods: { |
| | | //点击事件 |
| | | clickTaskItem(index) { |
| | | let that = this |
| | | uni.navigateTo({ |
| | | url: "./PickItemDetl", |
| | | // 通过eventChannel向被打开页面传送数据 |
| | | success: function(res) { |
| | | res.eventChannel.emit('pickItemDetl', { |
| | | data: { |
| | | ...that.list[index], |
| | | barcode: that.barcode, |
| | | } |
| | | }) |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | clear() { |
| | | this.barcode = '' |
| | | this.list = [] |
| | | }, |
| | | clearCode() { |
| | | this.barcode = '' |
| | | this.barcode = '' |
| | | }, |
| | | async search() { |
| | | let that = this; |
| | | this.list = [] |
| | | // if(this.barcode === '' || this.barcode ===null){ |
| | | // return ; |
| | |
| | | code, |
| | | data, |
| | | msg |
| | | } = await request('/getContainerWaveList',{ |
| | | barcode:this.barcode |
| | | } |
| | | ) |
| | | if (code === 200) { |
| | | if (Object.keys(data).length === 0){ |
| | | } = await request('/getContainerWaveList', { |
| | | barcode: this.barcode |
| | | }) |
| | | if (code === 200) { |
| | | if (Object.keys(data).length === 0) { |
| | | uni.showToast({ |
| | | title: "该标签未查询到数据", |
| | | icon: "none", |
| | | position: 'top' |
| | | }) |
| | | } |
| | | this.list.push(...data) |
| | | |
| | | }else if(code == 401){ |
| | | that.list.push(...data) |
| | | console.log(that.list); |
| | | |
| | | } else if (code == 401) { |
| | | setTimeout(() => { |
| | | uni.removeStorageSync('token'); |
| | | uni.reLaunch({ |
| | | url: "/pages/login/login" |
| | | }); |
| | | }, 1000); |
| | | }else { |
| | | } else { |
| | | uni.showToast({ |
| | | title: msg, |
| | | icon: "none", |
| | | position: 'top' |
| | | }) |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | }, |
| | | async complete() { |
| | | let that = this |
| | | if(that.barcode === '' || that.barcode === null){ |
| | | if (that.barcode === '' || that.barcode === null) { |
| | | uni.showToast({ |
| | | title: "容器号为空", |
| | | icon: "error", |
| | | }) |
| | | return ; |
| | | return; |
| | | } |
| | | if(that.list === [] || that.list.length === 0){ |
| | | if (that.list === [] || that.list.length === 0) { |
| | | uni.showToast({ |
| | | title: "拣货明细为空", |
| | | icon: "error", |
| | | }) |
| | | return ; |
| | | return; |
| | | } |
| | | this.repeatClick = true |
| | | const { |
| | | code, |
| | | data, |
| | | msg |
| | | } = await request('/saveWavePick',{ |
| | | container:that.barcode, |
| | | containerWaveDtos:that.list |
| | | } = await request('/saveWavePick', { |
| | | container: that.barcode, |
| | | containerWaveDtos: that.list |
| | | }) |
| | | if (code === 200) { |
| | | uni.showToast({ |
| | |
| | | min-height: 80upx; |
| | | align-items: center; |
| | | } |
| | | .content2 { |
| | | |
| | | .content2 { |
| | | /* background-color: coral; */ |
| | | width: 100%; |
| | | display: flex; |
| | |
| | | margin-right: 10px; |
| | | color: #0081ff; |
| | | } |
| | | .noMargin{ |
| | | |
| | | .noMargin { |
| | | margin-top: 0px; |
| | | padding: 5px; |
| | | } |