|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <!-- 搜索栏 --> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <view class="cu-bar bg-white search"> | 
|---|
|  |  |  | <view class="search-form radius"> | 
|---|
|  |  |  | <text class="cuIcon-search"></text> | 
|---|
|  |  |  | <input v-model="orderNo" :adjust-position="false" type="text" placeholder="扫码 / 输入 (单据编号)" confirm-type="search" @input="search()"></input> | 
|---|
|  |  |  | <text class="cuIcon-close" @click="reset()"></text> | 
|---|
|  |  |  | <scroll-view scroll-y> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <view class="search-box"> | 
|---|
|  |  |  | <view class="search-area"> | 
|---|
|  |  |  | <view class="search-icon"><uni-icons type="search" size="25" color="#a5a5a5"></uni-icons></view> | 
|---|
|  |  |  | <input type="text" v-model="orderNo" placeholder="扫码 / 输入(订单编号)" @input="search()"/> | 
|---|
|  |  |  | <view class="close-icon" @click="reset()"><uni-icons type="closeempty" size="25" color="#a5a5a5"></uni-icons></view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="action"> | 
|---|
|  |  |  | <button class="cu-btn bg-yellow" style="color: #fff;">搜 索</button> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view class="margin-top"> | 
|---|
|  |  |  | <uni-table border stripe type="selection" emptyText="没有更多数据"> | 
|---|
|  |  |  | <!-- 表头 --> | 
|---|
|  |  |  | <uni-tr > | 
|---|
|  |  |  | <uni-th align="center" width="200">订单</uni-th> | 
|---|
|  |  |  | <uni-th align="center">应入库量</uni-th> | 
|---|
|  |  |  | <uni-th align="center">已入库量</uni-th> | 
|---|
|  |  |  | <uni-th align="center" width="200">商品编码</uni-th> | 
|---|
|  |  |  | <uni-th align="center">商品名称</uni-th> | 
|---|
|  |  |  | <uni-th align="center">订单状态</uni-th> | 
|---|
|  |  |  | <uni-th align="center"width="200">操作</uni-th> | 
|---|
|  |  |  | </uni-tr> | 
|---|
|  |  |  | <!-- 表体 --> | 
|---|
|  |  |  | <uni-tr v-for="(item, index) in tabData" :key="index"> | 
|---|
|  |  |  | <uni-td align="center">{{item.orderNo}}</uni-td> | 
|---|
|  |  |  | <uni-td align="center">{{item.anfme}}</uni-td> | 
|---|
|  |  |  | <uni-td align="center">{{item.inQty}}</uni-td> | 
|---|
|  |  |  | <uni-td align="center">{{item.matnr}}</uni-td> | 
|---|
|  |  |  | <uni-td align="center">{{item.maktx}}</uni-td> | 
|---|
|  |  |  | <uni-td align="center">{{item.state$}}</uni-td> | 
|---|
|  |  |  | <uni-td> | 
|---|
|  |  |  | <view class="flex justify-around"> | 
|---|
|  |  |  | <button class="cu-btn bg-orange sm">上 架</button> | 
|---|
|  |  |  | <button class="cu-btn bg-red sm">撤销上架</button> | 
|---|
|  |  |  | <checkbox-group @change="checkbox"> | 
|---|
|  |  |  | <label v-for="(item,index) in data" :key="index" class="demo-list bg-false" :class="'bg-'+item.checked" > | 
|---|
|  |  |  | <view class="demo-list-left"> | 
|---|
|  |  |  | <checkbox :value="item.id+''" :checked="item.checked" style="display: block;" /> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </uni-td> | 
|---|
|  |  |  | </uni-tr> | 
|---|
|  |  |  | </uni-table> | 
|---|
|  |  |  | <view class="demo-list-right"> | 
|---|
|  |  |  | <!-- <view><text style="font-weight: bold;">序号:{{index+1}}</text></view> --> | 
|---|
|  |  |  | <view class="order-ditel"><text class="index">No.{{index+1}}</text><text class="orderNo">{{item.orderNo}}</text></view> | 
|---|
|  |  |  | <view><text style="width: 400rpx;">商品编码:{{item.matnr}}</text></view> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <text>应入数量:{{item.anfme}}</text> | 
|---|
|  |  |  | <text>商品名称:{{item.maktx}}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | <view> | 
|---|
|  |  |  | <text>已入数量:{{item.inQty}}</text> | 
|---|
|  |  |  | <text style="width: auto;">订单状态:</text><text :class="state$"> {{item.state$}}</text> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </label> | 
|---|
|  |  |  | </checkbox-group> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </scroll-view> | 
|---|
|  |  |  | <view class="footer flex justify-around"> | 
|---|
|  |  |  | <label class="label-btn" style="width: 150rpx;"> | 
|---|
|  |  |  | <checkbox :checked="check" @click="allChecked()">{{checkText}}</checkbox> | 
|---|
|  |  |  | </label> | 
|---|
|  |  |  | <label class="label-btn" style="width: 100rpx;"> | 
|---|
|  |  |  | <text  @click="reChecked()">反选</text> | 
|---|
|  |  |  | </label> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <label class="label-btn" style="width: 170rpx;"> | 
|---|
|  |  |  | <button class="cu-btn bg-red ">撤销上架</button> | 
|---|
|  |  |  | </label> | 
|---|
|  |  |  | <label class="label-btn"> | 
|---|
|  |  |  | <button class="cu-btn bg-blue " @click="shangjia()">上架</button> | 
|---|
|  |  |  | </label> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </view> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | tabData: [], | 
|---|
|  |  |  | searchData: {}, | 
|---|
|  |  |  | orderNo: '', | 
|---|
|  |  |  | data: [ | 
|---|
|  |  |  | {orderNo:"特种机9270成品系列",matnr:"1100758-10005",anfme:"58",inQty:"21",maktx:"JK-T9270D",state$:"已入库"}, | 
|---|
|  |  |  | {orderNo:"包缝电脑车二线系列",matnr:"14356-10003",anfme:"36",inQty:"0",maktx:"C4-02×250",state$:"未入库"}, | 
|---|
|  |  |  | {orderNo:"模板机成品系列",matnr:"21366-10002",anfme:"50",inQty:"50",maktx:"BRC-T120",state$:"已入库"}, | 
|---|
|  |  |  | {orderNo:"工艺模板机成品系列",matnr:"15070-10004",anfme:"50",inQty:"21",maktx:"MG(下压)",state$:"已入库"}, | 
|---|
|  |  |  | {orderNo:"工艺模板机成品系列",matnr:"15070-10005",anfme:"50",inQty:"50",maktx:"MG(下压)",state$:"已入库"}, | 
|---|
|  |  |  | {orderNo:"工艺模板机成品系列",matnr:"15070-10006",anfme:"50",inQty:"35",maktx:"MGX(下压)",state$:"已入库"}, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | orderNo:'', | 
|---|
|  |  |  | needData:{}, | 
|---|
|  |  |  | check:false, | 
|---|
|  |  |  | checkText:'全选', | 
|---|
|  |  |  | checkedData:[], | 
|---|
|  |  |  | state$:'', | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | mounted(){ | 
|---|
|  |  |  | mounted() { | 
|---|
|  |  |  | const UIP = uni.getStorageSync('UIP'); | 
|---|
|  |  |  | this.baseIP = UIP; | 
|---|
|  |  |  | const UPORT = uni.getStorageSync('UPORT'); | 
|---|
|  |  |  | this.basePORT = UPORT; | 
|---|
|  |  |  | this.render("AT-20220322180534") | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | onLoad() { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.render() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | // 搜索 | 
|---|
|  |  |  | search() { | 
|---|
|  |  |  | let that = this; | 
|---|
|  |  |  | that.tabData.forEach(function(e){ | 
|---|
|  |  |  | that.searchData = e.orderNo | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // that.tabData.forEach(function(e){ | 
|---|
|  |  |  | //    that.searchData = e.orderNo | 
|---|
|  |  |  | // }) | 
|---|
|  |  |  | this.render(that.orderNo) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 重置 | 
|---|
|  |  |  | reset() { | 
|---|
|  |  |  | let that = this; | 
|---|
|  |  |  | that.orderNo = '' | 
|---|
|  |  |  | if (that.orderNo == '') { | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | uni.vibrateLong(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | that.orderNo = ''; | 
|---|
|  |  |  | that.needData['order_no'] = ''; | 
|---|
|  |  |  | that.getData(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 表格加载 | 
|---|
|  |  |  | render(param) { | 
|---|
|  |  |  | let that = this; | 
|---|
|  |  |  | let data = new Object(); | 
|---|
|  |  |  | if(param) { | 
|---|
|  |  |  | data['order_no'] = param; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/receiveDetl/list/auth", | 
|---|
|  |  |  | header:{'token':uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: data, | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | var res = res.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | that.tabData = res.data.records | 
|---|
|  |  |  | } | 
|---|
|  |  |  | that.needData['order_no'] = param; | 
|---|
|  |  |  | that.getData(); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | that.getData(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getData() { | 
|---|
|  |  |  | let that = this | 
|---|
|  |  |  | uni.request({ | 
|---|
|  |  |  | url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/receiveDetl/list/auth", | 
|---|
|  |  |  | header:{'token':uni.getStorageSync('token')}, | 
|---|
|  |  |  | data: that.needData, | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | var res = res.data | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | that.data = res.data.records | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (var i = 0; i < that.data.length; i++) { | 
|---|
|  |  |  | if (that.data[i].state$ == "未入库") { | 
|---|
|  |  |  | that.state$ = 'color-red' | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | console.log(2) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | checkbox: function (e) { | 
|---|
|  |  |  | var items = this.data, | 
|---|
|  |  |  | values = e.detail.value; | 
|---|
|  |  |  | for (var i = 0, lenI = items.length; i < lenI; ++i) { | 
|---|
|  |  |  | const item = items[i] | 
|---|
|  |  |  | item.id = item.id + '' | 
|---|
|  |  |  | if(values.indexOf(item.id) >= 0){ | 
|---|
|  |  |  | this.$set(item,'checked',true) | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | this.$set(item,'checked',false) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (values.length == items.length) { | 
|---|
|  |  |  | this.check = true | 
|---|
|  |  |  | this.checkText = "取消全选" | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.check = false | 
|---|
|  |  |  | this.checkText = "全选" | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | reChecked() { // 反选 | 
|---|
|  |  |  | var checkArr = [] | 
|---|
|  |  |  | for (var i = 0; i < this.data.length;i++) { | 
|---|
|  |  |  | if (this.data[i].checked == true) { | 
|---|
|  |  |  | this.$set(this.data[i],'checked',false) | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | this.$set(this.data[i],'checked',true) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (this.data[i].checked == true) { | 
|---|
|  |  |  | checkArr.push(this.data[i].checked) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (checkArr.length == this.data.length) { | 
|---|
|  |  |  | this.check = true | 
|---|
|  |  |  | this.checkText = "取消全选" | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.check = false | 
|---|
|  |  |  | this.checkText = "全选" | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | allChecked(e){ // 全选 | 
|---|
|  |  |  | if (this.check == true) { | 
|---|
|  |  |  | for (var i = 0; i < this.data.length;i++) { | 
|---|
|  |  |  | this.$set(this.data[i],'checked',false) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.check = false | 
|---|
|  |  |  | this.checkText = "全选" | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | for (var i = 0; i < this.data.length;i++) { | 
|---|
|  |  |  | this.$set(this.data[i],'checked',true) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.check = true | 
|---|
|  |  |  | this.checkText = "取消全选" | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | shangjia() { | 
|---|
|  |  |  | this.checkedData = [] | 
|---|
|  |  |  | for (var i = 0; i < this.data.length; i++) { | 
|---|
|  |  |  | if (this.data[i].checked == true) { | 
|---|
|  |  |  | this.checkedData.push(this.data[i]) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | uni.vibrateShort(); | 
|---|
|  |  |  | console.log(this.checkedData) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style> | 
|---|
|  |  |  | .search-box { | 
|---|
|  |  |  | position: fixed; | 
|---|
|  |  |  | left: 0; | 
|---|
|  |  |  | top: 0; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 100rpx; | 
|---|
|  |  |  | background-color: #FFF; | 
|---|
|  |  |  | border-bottom: 1px solid #d8d8d8; | 
|---|
|  |  |  | border-radius: 0 0 20rpx 20rpx; | 
|---|
|  |  |  | z-index: 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /*#ifdef H5 */ | 
|---|
|  |  |  | .search-box { | 
|---|
|  |  |  | position: fixed; | 
|---|
|  |  |  | left: 0; | 
|---|
|  |  |  | top: 60rpx; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 100rpx; | 
|---|
|  |  |  | background-color: #ffffff; | 
|---|
|  |  |  | border-bottom: 1px solid #d8d8d8; | 
|---|
|  |  |  | border-radius: 0 0 20rpx 20rpx; | 
|---|
|  |  |  | z-index: 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /* #endif */ | 
|---|
|  |  |  | .search-area { | 
|---|
|  |  |  | background-color: #F1F1F1; | 
|---|
|  |  |  | width: 96%; | 
|---|
|  |  |  | height: 70%; | 
|---|
|  |  |  | margin: 15rpx; | 
|---|
|  |  |  | border-radius: 15rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .search-area input { | 
|---|
|  |  |  | display: inline-block; | 
|---|
|  |  |  | height: 70rpx; | 
|---|
|  |  |  | width: 70%; | 
|---|
|  |  |  | line-height: 70rpx; | 
|---|
|  |  |  | font-size: 25rpx; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .search-icon { | 
|---|
|  |  |  | display: inline-block; | 
|---|
|  |  |  | float: left; | 
|---|
|  |  |  | width: 70rpx; | 
|---|
|  |  |  | height: 70rpx; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | line-height: 70rpx; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .close-icon { | 
|---|
|  |  |  | display: inline-block; | 
|---|
|  |  |  | float: right; | 
|---|
|  |  |  | width: 70rpx; | 
|---|
|  |  |  | height: 70rpx; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | line-height: 70rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .bg-false { | 
|---|
|  |  |  | background-color: #FFFFFF; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .bg-true { | 
|---|
|  |  |  | background-color: #ebebeb; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .demo-list { | 
|---|
|  |  |  | border-bottom: 1px solid #d8d8d8; | 
|---|
|  |  |  | height: 180rpx; | 
|---|
|  |  |  | margin: 15rpx; | 
|---|
|  |  |  | border-radius: 20rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .demo-list:first-child { | 
|---|
|  |  |  | margin-top: 120rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .demo-list:last-child { | 
|---|
|  |  |  | margin-bottom: 120rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | label { | 
|---|
|  |  |  | display: block; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .demo-list-left { | 
|---|
|  |  |  | display: inline-block; | 
|---|
|  |  |  | float: left; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | width: 100rpx; | 
|---|
|  |  |  | height: 180rpx; | 
|---|
|  |  |  | line-height: 180rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .demo-list-right { | 
|---|
|  |  |  | display: inline-block; | 
|---|
|  |  |  | float: left; | 
|---|
|  |  |  | height: 180rpx; | 
|---|
|  |  |  | color: #828282; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .order-ditel { | 
|---|
|  |  |  | height: 60rpx; | 
|---|
|  |  |  | width: 600rpx; | 
|---|
|  |  |  | line-height: 60rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .demo-list-right .index { | 
|---|
|  |  |  | width: 120rpx; | 
|---|
|  |  |  | height: 25rpx; | 
|---|
|  |  |  | line-height: 25rpx; | 
|---|
|  |  |  | font-size: 40rpx; | 
|---|
|  |  |  | border-right: 4rpx solid #6f6f6f; | 
|---|
|  |  |  | padding-left: 0px; | 
|---|
|  |  |  | padding-right: 10rpx; | 
|---|
|  |  |  | color: #3b3b3b; | 
|---|
|  |  |  | /* background-color: #007AFF; */ | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .demo-list-right .orderNo { | 
|---|
|  |  |  | padding-left: 30rpx; | 
|---|
|  |  |  | font-size: 35rpx; | 
|---|
|  |  |  | width: 400rpx; | 
|---|
|  |  |  | color: #3b3b3b; | 
|---|
|  |  |  | /* background-color: #0A98D5; */ | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .demo-list-right .vertical-bar { // 竖杠 | 
|---|
|  |  |  | /* background-color: #6739B6; */ | 
|---|
|  |  |  | width: 50rpx; | 
|---|
|  |  |  | font-size: 30rpx; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .demo-list-right text { | 
|---|
|  |  |  | display: inline-block; | 
|---|
|  |  |  | width: 250rpx; | 
|---|
|  |  |  | font-size: 25rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .color-red { | 
|---|
|  |  |  | width: auto; | 
|---|
|  |  |  | font-weight: 700; | 
|---|
|  |  |  | color: #e74f4f; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .label-btn { | 
|---|
|  |  |  | width: 150rpx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | checkbox { | 
|---|
|  |  |  | /* transform:scale(0.7) */ | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </style> | 
|---|