|  |  |  | 
|---|
|  |  |  | </uni-search-bar> | 
|---|
|  |  |  | <view class="code-title"> | 
|---|
|  |  |  | <view></view> | 
|---|
|  |  |  | <view style="width: 100%;text-align: center;margin: 16rpx;">{{searchValue}} 总数量:- {{total}} -</view> | 
|---|
|  |  |  | <view></view> | 
|---|
|  |  |  | <view style="width: 100%;text-align: center;margin: 16rpx 0;">{{searchValue}} 总数量:- {{total}} -</view> | 
|---|
|  |  |  | <view style="width: 100rpx;margin: 16rpx 0;" @click="filter()">筛选</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <view class="list list-font-color" :class="orderDetl.color" v-for="orderDetl in dataList" > | 
|---|
|  |  |  | <view class="list list-font-color" :class="orderDetl.color" v-for="(orderDetl,index) in dataList" :key="index"> | 
|---|
|  |  |  | <view class="list-left"> | 
|---|
|  |  |  | <view class="detl-threeCode">{{orderDetl.threeCode}}</view> | 
|---|
|  |  |  | <view>主单号:{{orderDetl.orderNo}}</view> | 
|---|
|  |  |  | <view>编号:{{orderDetl.matnr}}</view> | 
|---|
|  |  |  | <view>名称:{{orderDetl.maktx}}</view> | 
|---|
|  |  |  | <view>类型:{{orderDetl.brand}}</view> | 
|---|
|  |  |  | <view>总数量:{{orderDetl.anfme}}</view> | 
|---|
|  |  |  | <view>已入数量:{{orderDetl.qty}}</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="list-right"> | 
|---|
|  |  |  | <view class="list-right" @click="addItem(index)"> | 
|---|
|  |  |  | <uni-icons type="folder-add" size="25"  color="#fff"></uni-icons> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="shop-car"> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <view class="shop-car" @click="orderCar()"> | 
|---|
|  |  |  | <view class="car-left"> | 
|---|
|  |  |  | <uni-icons type="cart-filled" size="35"  color="#fff"></uni-icons> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="car-right"> | 
|---|
|  |  |  | <text>10</text> | 
|---|
|  |  |  | <text>{{orderCarList.length}}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view style="height: 50rpx;"></view> | 
|---|
|  |  |  | <!-- 垫高 --> | 
|---|
|  |  |  | <view style="height: 340rpx;text-align: center;color: #b9b9b9;"> | 
|---|
|  |  |  | - 已经到底了 - | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- 弹窗 --> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <uni-popup ref="addItem" type="dialog"> | 
|---|
|  |  |  | <view class="popup"> | 
|---|
|  |  |  | <!-- 标题 --> | 
|---|
|  |  |  | <view class="title">入库数量</view> | 
|---|
|  |  |  | <view class="popup-item"> | 
|---|
|  |  |  | <uni-number-box :value="count" :step='1' :max="9999999" color="#747474" @change="changeValue" /> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="btn"> | 
|---|
|  |  |  | <view class="btn-left" @click="addClose">取消</view> | 
|---|
|  |  |  | <view class="btn-right" @click="addConfirm()">添加</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <!-- 筛选弹窗 --> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <uni-popup ref="filter" type="dialog"> | 
|---|
|  |  |  | <view class="filter-popup"> | 
|---|
|  |  |  | <!-- 标题 --> | 
|---|
|  |  |  | <view class="title">筛选</view> | 
|---|
|  |  |  | <view class="popup-item" style="background-color: #dfdfdf;"> | 
|---|
|  |  |  | <view class="item-cl"> | 
|---|
|  |  |  | <view>销售订单:</view> | 
|---|
|  |  |  | <input type="text" v-model="searchValue"> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="popup-item" style="background-color: #dfdfdf;"> | 
|---|
|  |  |  | <view class="item-cl"> | 
|---|
|  |  |  | <view>主订单号:</view> | 
|---|
|  |  |  | <input type="text" v-model="orderNo"> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="popup-item" style="background-color: #dfdfdf;"> | 
|---|
|  |  |  | <view class="item-cl"> | 
|---|
|  |  |  | <view>商品编号:</view> | 
|---|
|  |  |  | <input type="text" v-model="matnr"> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="popup-item" style="background-color: #dfdfdf;"> | 
|---|
|  |  |  | <view class="item-cl"> | 
|---|
|  |  |  | <view>商品名称:</view> | 
|---|
|  |  |  | <input type="text" v-model="maktx"> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="popup-item" style="background-color: #dfdfdf;"> | 
|---|
|  |  |  | <view class="item-cl"> | 
|---|
|  |  |  | <view>商品种类:</view> | 
|---|
|  |  |  | <input type="text" v-model="brand"> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="btn filter-btn"> | 
|---|
|  |  |  | <view class="btn-left" @click="filterClose">重置</view> | 
|---|
|  |  |  | <view class="btn-right" @click="filterConfirm()">确认</view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-popup> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | token: '', | 
|---|
|  |  |  | searchValueFocus: true, | 
|---|
|  |  |  | searchValue: '', | 
|---|
|  |  |  | orderNo: '', | 
|---|
|  |  |  | matnr: '', | 
|---|
|  |  |  | maktx: '', | 
|---|
|  |  |  | brand: '', | 
|---|
|  |  |  | total: '', | 
|---|
|  |  |  | dataList: [], | 
|---|
|  |  |  | orderCarList: [], | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | curr: 1, | 
|---|
|  |  |  | limit: 100, | 
|---|
|  |  |  | three_code: '', | 
|---|
|  |  |  | } | 
|---|
|  |  |  | matnr: '', | 
|---|
|  |  |  | maktx: '', | 
|---|
|  |  |  | order_no: '', | 
|---|
|  |  |  | brand: '' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | index: 0, | 
|---|
|  |  |  | count: 0, | 
|---|
|  |  |  | mask: false | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onShow() { | 
|---|
|  |  |  | // 下拉刷新 | 
|---|
|  |  |  | onReachBottom() { | 
|---|
|  |  |  | this.status = 'more'; | 
|---|
|  |  |  | this.getOrderDetlList(this.searchValue,10); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLoad() { | 
|---|
|  |  |  | this.baseUrl = uni.getStorageSync('baseUrl'); | 
|---|
|  |  |  | this.token = uni.getStorageSync('token'); | 
|---|
|  |  |  | this.searchValue = uni.getStorageSync('threeCode'); | 
|---|
|  |  |  | this.getOrderDetlList(this.searchValue,30) | 
|---|
|  |  |  | this.getOrderDetlList(this.searchValue,10) | 
|---|
|  |  |  | console.log("onLoad"); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onShow() { | 
|---|
|  |  |  | console.log(uni.getStorageSync('pakinOrderCar')); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onHide() { | 
|---|
|  |  |  | uni.setStorageSync('pakinOrderCar', this.orderCarList); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | getOrderDetlList(threeCode,limit) { | 
|---|
|  |  |  | uni.showLoading({}) | 
|---|
|  |  |  | let _this = this | 
|---|
|  |  |  | _this.mask = true | 
|---|
|  |  |  | _this.data.three_code = threeCode | 
|---|
|  |  |  | _this.data.limit = limit | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | 
|---|
|  |  |  | data: _this.data, | 
|---|
|  |  |  | method: 'GET', | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | uni.hideLoading() | 
|---|
|  |  |  | res = res.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | for (let k of res.data.records) { | 
|---|
|  |  |  | 
|---|
|  |  |  | k['color'] = 'order-sts-end' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | _this.dataList = res.data.records | 
|---|
|  |  |  | let list = res.data.records | 
|---|
|  |  |  | _this.dataList =  _this.dataList.concat(list); | 
|---|
|  |  |  | _this.data.curr = _this.data.curr + 1 | 
|---|
|  |  |  | // _this.dataList = res.data.records | 
|---|
|  |  |  | _this.total = res.data.total | 
|---|
|  |  |  | } | 
|---|
|  |  |  | _this.mask = false | 
|---|
|  |  |  | } else if (res.code == 403) { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.showToast({ title: res.msg, icon: "error", position: 'top' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | searchValueInput2() { | 
|---|
|  |  |  | this.dataList = [] | 
|---|
|  |  |  | this.data.curr = 1 | 
|---|
|  |  |  | uni.setStorageSync('threeCode', this.searchValue); | 
|---|
|  |  |  | if (this.searchValue.length == 0) { | 
|---|
|  |  |  | this.getOrderDetlList(this.searchValue,30) | 
|---|
|  |  |  | this.getOrderDetlList(this.searchValue,10) | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.getOrderDetlList(this.searchValue,999999) | 
|---|
|  |  |  | this.getOrderDetlList(this.searchValue,10) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | clear() { | 
|---|
|  |  |  | this.getOrderDetlList(this.searchValue,30) | 
|---|
|  |  |  | this.dataList = [] | 
|---|
|  |  |  | this.data.curr = 1 | 
|---|
|  |  |  | setTimeout(()=> { | 
|---|
|  |  |  | this.getOrderDetlList(this.searchValue,10) | 
|---|
|  |  |  | },300) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 添加入库商品至 待组托列表 | 
|---|
|  |  |  | addItem(index) { | 
|---|
|  |  |  | // 判断添加的商品是否和已经添加的重复 | 
|---|
|  |  |  | let dataList = this.dataList | 
|---|
|  |  |  | for (let k of this.orderCarList) { | 
|---|
|  |  |  | if (k.orderNo == dataList[index].orderNo | 
|---|
|  |  |  | && k.threeCode == dataList[index].threeCode | 
|---|
|  |  |  | && k.matnr == dataList[index].matnr) { | 
|---|
|  |  |  | uni.showToast({ title: '请勿重复添加商品!', icon: "none", position: 'top' }) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.index = index | 
|---|
|  |  |  | this.$refs.addItem.open() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | addClose() { | 
|---|
|  |  |  | this.$refs.addItem.close() | 
|---|
|  |  |  | this.count = 0 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | addConfirm() { | 
|---|
|  |  |  | // if (this.count == 0) { | 
|---|
|  |  |  | //    uni.showToast({ title: '入库数量不合法!', icon: "none", position: 'top' }) | 
|---|
|  |  |  | //    return | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | this.dataList[this.index]['used'] = true | 
|---|
|  |  |  | this.dataList[this.index]['pakinQty'] = this.count | 
|---|
|  |  |  | this.orderCarList.push(this.dataList[this.index]) | 
|---|
|  |  |  | this.index = 0 | 
|---|
|  |  |  | this.count = 0 | 
|---|
|  |  |  | this.$refs.addItem.close() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 点击前往 待组托列表 | 
|---|
|  |  |  | orderCar() { | 
|---|
|  |  |  | let _this = this | 
|---|
|  |  |  | if (_this.orderCarList.length === 0) { | 
|---|
|  |  |  | uni.showToast({ title: '请添加入库商品!', icon: "none", position: 'top' }) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.navigateTo({ | 
|---|
|  |  |  | url: './orderCar', | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | res.eventChannel.emit('item', { | 
|---|
|  |  |  | item: _this.orderCarList | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | events: { | 
|---|
|  |  |  | acceptDataFromOpenedPage: function(data) { | 
|---|
|  |  |  | console.log(data); | 
|---|
|  |  |  | if (data.data == 1) { | 
|---|
|  |  |  | _this.orderCarList = [] | 
|---|
|  |  |  | _this.getOrderDetlList(uni.getStorageSync('threeCode'),10) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | changeValue(value) { | 
|---|
|  |  |  | this.count = value | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 筛选 | 
|---|
|  |  |  | filter() { | 
|---|
|  |  |  | this.$refs.filter.open('bottom') | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | filterConfirm() { | 
|---|
|  |  |  | this.dataList = [] | 
|---|
|  |  |  | this.data.curr = 1 | 
|---|
|  |  |  | this.data.maktx = this.maktx | 
|---|
|  |  |  | this.data.matnr = this.matnr | 
|---|
|  |  |  | this.data.order_no = this.order_no | 
|---|
|  |  |  | this.data.brand = this.brand | 
|---|
|  |  |  | this.getOrderDetlList(this.searchValue,10) | 
|---|
|  |  |  | this.$refs.filter.close() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | filterClose() { | 
|---|
|  |  |  | this.dataList = [] | 
|---|
|  |  |  | this.data.curr = 1 | 
|---|
|  |  |  | this.data.maktx = '' | 
|---|
|  |  |  | this.data.matnr = '' | 
|---|
|  |  |  | this.data.order_no = '' | 
|---|
|  |  |  | this.data.brand = '' | 
|---|
|  |  |  | this.getOrderDetlList(this.searchValue,10) | 
|---|
|  |  |  | this.$refs.filter.close() | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .shop-car { | 
|---|
|  |  |  | position: fixed; | 
|---|
|  |  |  | left: 60rpx; | 
|---|
|  |  |  | bottom: 80rpx; | 
|---|
|  |  |  | left: 22rpx; | 
|---|
|  |  |  | bottom: 150rpx; | 
|---|
|  |  |  | background-color: #2299ff; | 
|---|
|  |  |  | width: 260rpx; | 
|---|
|  |  |  | height: 90rpx; | 
|---|
|  |  |  | 
|---|
|  |  |  | .car-right { | 
|---|
|  |  |  | flex: 4; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .mask { | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 100vh; | 
|---|
|  |  |  | z-index: 999; | 
|---|
|  |  |  | top: 0; | 
|---|
|  |  |  | left: 0; | 
|---|
|  |  |  | background-color: rgba(0, 0, 0, .4); | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | font-size: 16px; | 
|---|
|  |  |  | color: #fff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .popup { | 
|---|
|  |  |  | width: 80vw; | 
|---|
|  |  |  | min-height: 100rpx; | 
|---|
|  |  |  | background-color: #FFF; | 
|---|
|  |  |  | border-radius: 25rpx; | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .title { | 
|---|
|  |  |  | height: 100rpx; | 
|---|
|  |  |  | line-height: 100rpx; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | color: #606266; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | font-size: 16px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .popup-item { | 
|---|
|  |  |  | height: 80rpx; | 
|---|
|  |  |  | line-height: 80rpx; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .popup-item-left { | 
|---|
|  |  |  | width: 16vw; | 
|---|
|  |  |  | padding-right: 20rpx; | 
|---|
|  |  |  | text-align: right; | 
|---|
|  |  |  | color: #606266; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .popup-item-right { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | width: 50vw; | 
|---|
|  |  |  | height: 50rpx; | 
|---|
|  |  |  | padding: 2px 5px; | 
|---|
|  |  |  | border: 1px solid #E4E7ED; | 
|---|
|  |  |  | border-radius: 5rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .popup-item-right input{ | 
|---|
|  |  |  | color: #606266; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .btn { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | height: 90rpx; | 
|---|
|  |  |  | margin-top: 20rpx; | 
|---|
|  |  |  | border-top: 1px solid #DCDFE6; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .btn-left { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | color: #606266; | 
|---|
|  |  |  | border-right: 1px solid #DCDFE6; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .btn-right { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | flex: 1; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | color: #409EFF; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .filter-popup { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 80vh; | 
|---|
|  |  |  | background-color: #FFF; | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | border-radius: 30rpx 30rpx 0rpx 0rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .filter-popup-item { | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | background-color: #c9cdd5; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .filter-popup-item-left { | 
|---|
|  |  |  | width: 30%; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | background-color: #DCDFE6; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .item-btn { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 80rpx; | 
|---|
|  |  |  | line-height: 80rpx; | 
|---|
|  |  |  | background-color: #c9cdd5; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .item-btn:checked { | 
|---|
|  |  |  | background-color: #606266; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .filter-btn { | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | left: 0; | 
|---|
|  |  |  | bottom: 0; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | background-color: #FFF; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .item-cl { | 
|---|
|  |  |  | display: flex;align-items: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .item-cl input { | 
|---|
|  |  |  | border-bottom: 1px solid #b9b9b9; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|