瀏覽代碼

临配订单

lilei 3 年之前
父節點
當前提交
02a1d2b419

+ 1 - 1
api/request.js

@@ -18,7 +18,7 @@ function request(options) {
 			'USER-TERM-TYPE': 'ipad', // 支付时需要用到 与pad一致
 			'USER-TERM-TYPE': 'ipad', // 支付时需要用到 与pad一致
 			'App-Type': 2,
 			'App-Type': 2,
 			'Version': '',
 			'Version': '',
-			'authorization':'Bearer clz|eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiIxNTA5MTMzMDAwMCIsImF1dGhfdXNlciI6eyJ1c2VyU24iOiIxMDc1OSIsInVzZXJpZCI6IjEwNzU5IiwidXNlcm5hbWUiOiIxNTA5MTMzMDAwMCIsInVzZXJUeXBlIjoiMiIsIm1lcmNoYW50SWQiOiIxMDA0MCIsIm1lcmNoYW50U24iOiIxMDA0MCIsIm9yZ0lkIjoiMTAwMDAiLCJvcmdTbiI6IjEwMDAwIiwib3JnTmFtZSI6Iui9pumihuS4u-aAu-mDqOmXqOW6lyIsIm9yZ1N0YXR1cyI6IjEiLCJvcmdFeHBpcmVEYXRlIjo0MDcwODgwMDAwMDAwLCJvcmdUaGVtZVR5cGUiOiJjaGVsaW5nemh1Iiwicm9vdE9yZ0lkIjoiMTAwMDAiLCJyb290T3JnU24iOiIxMDAwMCIsInJvb3RPcmdOYW1lIjoi6L2m6aKG5Li7Iiwicm9vdE9yZ0V4cGlyZURhdGUiOjQwNzA4ODAwMDAwMDAsInJvb3RPcmdUaGVtZVR5cGUiOiJjaGVsaW5nemh1Iiwicm9vdE9yZ1N0YXR1cyI6IjEiLCJvcmdUeXBlIjoibHMiLCJzY29wZVR5cGUiOiJhbGwiLCJyb290TWVudU1vdWxkSWQiOiIyIiwib3JnTWVudU1vdWxkSWQiOiIyIiwic3VwZXJBZG1pbiI6IjAiLCJ1c2VyTmFtZUNOIjoi5byg5LiJ5LqaIiwibW9iaWxlIjoiMTUwOTEzMzAwMDAiLCJlbWFpbCI6bnVsbCwic2V4IjoiMSIsInBhc3N3b3JkIjoiZmYwM2NhYjkyMGYyYWM3Yjg3NTI1Y2YzOGEyMjIxOWZlMDI2OWYyNGRmOGIxZWE1ZDU4YWI1OTkiLCJzYWx0IjpudWxsLCJhdXRob3JpdGllcyI6bnVsbCwicGVybUNvZGVzIjpudWxsLCJhY2xNYXAiOm51bGwsImFjY291bnROb25FeHBpcmVkIjp0cnVlLCJhY2NvdW50Tm9uTG9ja2VkIjp0cnVlLCJjcmVkZW50aWFsc05vbkV4cGlyZWQiOnRydWUsImVuYWJsZWQiOnRydWUsImFwcE5hbWUiOm51bGwsImV4dGVuZEluZm8iOm51bGwsImV4dEluZm8iOnt9LCJzb3VyY2VGbGFnIjpudWxsLCJjbGllbnRUeXBlIjpudWxsLCJtdXN0Q2hhbmdlUHdkIjpudWxsLCJleHBlY3RUcnVzdCI6ZmFsc2V9LCJzY29wZSI6WyJhbGwiXSwiZXhwIjoxNjU0MTM5NTY2LCJqdGkiOiI0ODE4YWU4ZC1lMjNhLTQyZmItYWRiMS05OTExM2JkYmQzZTYiLCJjbGllbnRfaWQiOiJjbGllbnRfcGFzc3dvcmQiLCJzdGF0dXMiOiIyMDAifQ.fLDpC-HgUnYgHYGnoLLwGu83MAyJiSpfPWTv18iy0sk'
+			'authorization':'Bearer clz|eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiIxNTA5MTMzMDAwMCIsImF1dGhfdXNlciI6eyJ1c2VyU24iOiIxMDc1OSIsInVzZXJpZCI6IjEwNzU5IiwidXNlcm5hbWUiOiIxNTA5MTMzMDAwMCIsInVzZXJUeXBlIjoiMiIsIm1lcmNoYW50SWQiOiIxMDA0MCIsIm1lcmNoYW50U24iOiIxMDA0MCIsIm9yZ0lkIjoiMTAwMDAiLCJvcmdTbiI6IjEwMDAwIiwib3JnTmFtZSI6Iui9pumihuS4u-aAu-mDqOmXqOW6lyIsIm9yZ1N0YXR1cyI6IjEiLCJvcmdFeHBpcmVEYXRlIjo0MDcwODgwMDAwMDAwLCJvcmdUaGVtZVR5cGUiOiJjaGVsaW5nemh1Iiwicm9vdE9yZ0lkIjoiMTAwMDAiLCJyb290T3JnU24iOiIxMDAwMCIsInJvb3RPcmdOYW1lIjoi6L2m6aKG5Li7Iiwicm9vdE9yZ0V4cGlyZURhdGUiOjQwNzA4ODAwMDAwMDAsInJvb3RPcmdUaGVtZVR5cGUiOiJjaGVsaW5nemh1Iiwicm9vdE9yZ1N0YXR1cyI6IjEiLCJvcmdUeXBlIjoibHMiLCJzY29wZVR5cGUiOiJhbGwiLCJyb290TWVudU1vdWxkSWQiOiIyIiwib3JnTWVudU1vdWxkSWQiOiIyIiwic3VwZXJBZG1pbiI6IjAiLCJ1c2VyTmFtZUNOIjoi5byg5LiJ5LqaIiwibW9iaWxlIjoiMTUwOTEzMzAwMDAiLCJlbWFpbCI6bnVsbCwic2V4IjoiMSIsInBhc3N3b3JkIjoiZmYwM2NhYjkyMGYyYWM3Yjg3NTI1Y2YzOGEyMjIxOWZlMDI2OWYyNGRmOGIxZWE1ZDU4YWI1OTkiLCJzYWx0IjpudWxsLCJhdXRob3JpdGllcyI6bnVsbCwicGVybUNvZGVzIjpudWxsLCJhY2xNYXAiOm51bGwsImFjY291bnROb25FeHBpcmVkIjp0cnVlLCJhY2NvdW50Tm9uTG9ja2VkIjp0cnVlLCJjcmVkZW50aWFsc05vbkV4cGlyZWQiOnRydWUsImVuYWJsZWQiOnRydWUsImFwcE5hbWUiOm51bGwsImV4dGVuZEluZm8iOm51bGwsImV4dEluZm8iOnt9LCJzb3VyY2VGbGFnIjpudWxsLCJjbGllbnRUeXBlIjpudWxsLCJtdXN0Q2hhbmdlUHdkIjpudWxsLCJleHBlY3RUcnVzdCI6ZmFsc2V9LCJzY29wZSI6WyJhbGwiXSwiZXhwIjoxNjU0MjI2NzkyLCJqdGkiOiIwYzMwZDBiNS05M2U2LTQ3MDctYjA1OC1mNDI3NWEwYzk0NzMiLCJjbGllbnRfaWQiOiJjbGllbnRfcGFzc3dvcmQiLCJzdGF0dXMiOiIyMDAifQ.tGgwDKem48crIWlKmOGToDyMOakUQcT8PTqd6pXL_kI'
 	}
 	}
 	_obj.header = header
 	_obj.header = header
 	_obj.header['X-HEADER-APPID'] = 'WuyoKG1AcDZzLwxfhOAC+E16SeG3+mDqVYmsa/e5HRE=';
 	_obj.header['X-HEADER-APPID'] = 'WuyoKG1AcDZzLwxfhOAC+E16SeG3+mDqVYmsa/e5HRE=';

+ 25 - 0
api/shelf.js

@@ -194,4 +194,29 @@ export const shelfGetTotalWaitQty = (params) => {
 	data: params,
 	data: params,
     method: 'post'
     method: 'post'
   })
   })
+}
+
+// 库存查询
+export const getShelfProductStockList = (params) => {
+  return request({
+    url: `shelfProduct/queryDepot/${params.pageNo}/${params.pageSize}`,
+    data: params,
+    method: 'post'
+  })
+}
+
+// 临配订单
+export const getShelfTempBillList = (params) => {
+  return request({
+    url: `shelfTempBill/queryPage/${params.pageNo}/${params.pageSize}`,
+    data: params,
+    method: 'post'
+  })
+}
+// 临配订单详情
+export const getShelfTempBillDetail = (params) => {
+  return request({
+    url: `shelfTempBill/findBySn/${params.sn}`,
+    method: 'get'
+  })
 }
 }

+ 9 - 0
pages.json

@@ -236,6 +236,15 @@
 		    }
 		    }
 		    
 		    
 		}
 		}
+        ,{
+            "path" : "pages/digitalShelf/tempOrderList/tempOrderList",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "临配订单",
+                "enablePullDownRefresh": false
+            }
+            
+        }
     ],
     ],
 	"globalStyle": {
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
 		"navigationBarTextStyle": "black",

+ 1 - 12
pages/digitalShelf/orderList.vue

@@ -46,8 +46,8 @@
 									 </view>
 									 </view>
 								 </view>
 								 </view>
 							 </view>
 							 </view>
-							 <u-empty :src="`/static/def_imgs.png`" icon-size="240" :text="noDataText" img-width="120" v-if="list.length==0 && status!='loading'" mode="list"></u-empty>
 							 <view style="padding: 20upx;">
 							 <view style="padding: 20upx;">
+								 <u-empty :src="`/static/nodata.png`" icon-size="180" :text="noDataText" img-width="120" v-if="list.length==0 && status!='loading'" mode="list"></u-empty>
 								 <u-loadmore v-if="(total>=list.length&&list.length)||status=='loading'" :status="status" />
 								 <u-loadmore v-if="(total>=list.length&&list.length)||status=='loading'" :status="status" />
 							 </view>
 							 </view>
 						</scroll-view>
 						</scroll-view>
@@ -125,7 +125,6 @@
 				this.total = 0
 				this.total = 0
 				this.pageNo = 1
 				this.pageNo = 1
 				this.getRow()
 				this.getRow()
-				// this.shelfGetTotalWaitQty()
 			},
 			},
 			// tabs通知swiper切换
 			// tabs通知swiper切换
 			tabsChange(index) {
 			tabsChange(index) {
@@ -169,15 +168,6 @@
 			  }
 			  }
 				return 0
 				return 0
 			},
 			},
-			// 待取货数量合计
-			shelfGetTotalWaitQty(){
-				shelfGetTotalWaitQty({billState:'WAIT'}).then(res => {
-					console.log(res)
-					if(res.status == 200){
-						this.tabList[0].count = res.data<=99?res.data:'99+'
-					}
-				})
-			},
 			// 查询列表
 			// 查询列表
 			getRow (pageNo) {
 			getRow (pageNo) {
 			  let _this = this
 			  let _this = this
@@ -226,7 +216,6 @@
 					console.log(res)
 					console.log(res)
 					if(res.status == 200){
 					if(res.status == 200){
 						this.list.splice(index,1)
 						this.list.splice(index,1)
-						// this.shelfGetTotalWaitQty()
 						if(this.current == 0){
 						if(this.current == 0){
 							this.tabList[0].count = this.tabList[0].count - 1
 							this.tabList[0].count = this.tabList[0].count - 1
 						}
 						}

+ 385 - 0
pages/digitalShelf/tempOrderList/tempOrderList.vue

@@ -0,0 +1,385 @@
+<template>
+	<view class="digitShelf-pagesCons">
+		<view class="tab-body">
+			    <view>
+					<u-tabs-swiper ref="uTabs" :list="tabList" :offset="[5,40]" bar-width='100' active-color="#1283d4" name="dispName" :current="current" @change="tabsChange" :is-scroll="false"
+					 swiperWidth="750"></u-tabs-swiper>
+				</view>
+				<swiper class="check-list" :current="swiperCurrent" @transition="transition" @change="swiperChange" @animationfinish="animationfinish">
+					<swiper-item class="swiper-item" style="height: 100%;width: 100%;overflow: hidden;" v-for="(tabs, indexs) in tabList" :key="indexs">
+						<scroll-view scroll-y style="height: 100%;width: 100%;overflow: auto;" @scrolltolower="onreachBottom">
+							<view  
+							class="check-order-list" 
+							v-for="(item,index) in list" 
+							:key="item.id" 
+							 @click="viewRow(item)"
+							>
+								<view class="check-row align-center justify_between">
+									<view class="orderNo">{{item.tempNo}}</view>
+									<view class="times">{{item.createDate}}</view>
+								</view>
+								 <view class="check-row flex align-center">
+									 <view class="carImage flex align-center">
+										 <u-image :src="item.vehicleLogo" border-radius="30" width="100" height="100" bg-color="#EBEBEB" ></u-image> 
+									 </view>
+									 <view>
+										 <view class="carModel flex align-center" v-if="item.vehicleNumber" >
+										 	<view><carNo color="#0055ff" :val="item.vehicleNumber"></carNo></view>
+											<text style="margin-left: 20rpx;" v-if="item.vehicleModel">{{item.vehicleModel.split(' ')[0]}}</text>
+										 </view>
+										  <view class="carModel flex" v-if="!item.vehicleNumber" >
+											 <text>{{item.vehicleModel}}</text>
+										  </view>
+										  <view class="carVin flex align-center">
+											  VIN码:{{item.vin||'暂无'}}
+											  <text v-if="item.vin" @click.stop="copyVin(item.vin)">复制</text>
+										  </view>
+									 </view>
+								 </view>
+								 <view class="check-row">
+									 <view class="nums">
+										 {{item.totalQty}}件商品
+									 </view>
+									 <view style="text-align: right;">
+										 {{tabList[current]['dispName']}}
+									 </view>
+								 </view>
+							 </view>
+							 <view style="padding: 20upx;">
+								 <u-empty :src="`/static/nodata.png`" icon-size="180" :text="noDataText" img-width="120" v-if="list.length==0 && status!='loading'" mode="list"></u-empty>
+								 <u-loadmore v-if="(total>=list.length&&list.length)||status=='loading'" :status="status" />
+							 </view>
+						</scroll-view>
+					</swiper-item>
+				</swiper>
+		</view>
+	</view>
+</template>
+
+<script>
+	import carNo from '@/components/carNo.vue'
+	import { getShelfTempBillList, shelfGetTotalWaitQty } from '@/api/shelf.js'
+	import { clzConfirm } from '@/libs/tools.js'
+	import clipboard from "@/js_sdk/dc-clipboard/clipboard.js"
+	import moment from 'moment'
+	export default {
+		components: {carNo},
+		data() {
+			return {
+				theme:'',
+				status: 'loading',
+				noDataText: '暂无数据',
+				tabList: [
+					  {
+						  dispName: '全部',
+						  typeId: 1,
+						  count: 0
+					   },
+					  {
+					    dispName: '待收货',
+					  	typeId: 2,
+						count: 0
+					  },
+					  {
+					    dispName: '已完结',
+					  	typeId: 3,
+						count: 0
+					  },
+				  ],
+				current: 0,
+				swiperCurrent: 0,
+				// 查询条件
+				pageNo: 1,
+				pageSize: 10,
+				list: [],
+				total: 0,
+			}
+		},
+		onLoad() {
+			let _this = this
+			_this.pageInit()
+			_this.theme = getApp().globalData.theme
+			uni.$on('refreshOrder',function(data){
+				 _this.list = []
+				 _this.status = "loading"
+			     _this.pageInit()
+			})
+		},
+		methods:{
+			// 复制
+			copyVin(vin){
+				clipboard.setText(vin);
+				uni.showToast({
+					icon: 'none',
+					title: 'vin码已复制成功'
+				})
+			},
+			message(title){
+				uni.showToast({
+					icon:'none',
+					title: title
+				})
+			},
+			pageInit(){
+				this.total = 0
+				this.pageNo = 1
+				this.getRow()
+			},
+			// tabs通知swiper切换
+			tabsChange(index) {
+				this.swiperCurrent = index;
+			},
+			swiperChange(event){
+				console.log(event.detail)
+				this.list = []
+				this.status = "loading"
+			},
+			// swiper-item左右移动,通知tabs的滑块跟随移动
+			transition(e) {
+				let dx = e.detail.dx;
+				this.$refs.uTabs.setDx(dx);
+			},
+			// 由于swiper的内部机制问题,快速切换swiper不会触发dx的连续变化,需要在结束时重置状态
+			// swiper滑动结束,分别设置tabs和swiper的状态
+			animationfinish(e) {
+				let current = e.detail.current;
+				if(current != this.current){
+					this.$refs.uTabs.setFinishCurrent(current);
+					this.swiperCurrent = current;
+					this.current = current;
+					this.pageInit()
+				}
+			},
+			// scroll-view到底部加载更多
+			onreachBottom() {
+				console.log(this.list.length, this.total)
+				if(this.list.length < this.total){
+					this.pageNo += 1
+					this.getRow()
+				}else{
+					this.status = "nomore"
+				}
+			},
+			checkNums (states, i){
+			  if(states){
+				  let arr = states.split(',')
+				  return arr[i]
+			  }
+				return 0
+			},
+			// 查询列表
+			getRow (pageNo) {
+			  let _this = this
+			  if (pageNo) {
+			    this.pageNo = pageNo
+			  }
+			  // 状态条件
+			  const state = ['','WAIT','FINISH']
+			  let params = {
+			    pageNo: this.pageNo,
+			    pageSize: this.pageSize,
+				billState: state[this.swiperCurrent]
+			  }
+			  this.status = "loading"
+			  getShelfTempBillList(params).then(res => {
+				  console.log(res,'++++++++++')
+				if (res.code == 200 || res.status == 204 || res.status == 200) {
+				  if(_this.pageNo>1){
+					  _this.list = _this.list.concat(res.data.list || [])
+				  }else{
+					  _this.list = res.data.list || []
+				  }
+				  _this.total = res.data.count || 0
+				  if(this.current == 0){
+					  _this.tabList[0].count = _this.total
+				  }
+				} else {
+				  _this.list = []
+				  _this.total = 0
+				  _this.noDataText = res.message
+				}
+				_this.status = _this.total>=_this.list.length ? "nomore" : 'loadmore'
+			  })
+			},
+			// 详细页
+			viewRow(item){
+				uni.navigateTo({
+					url: "/pages/digitalShelf/orderDetail?shelfOrderSn="+item.shelfOrderSn
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	page{
+		height: 100%;
+	}
+	.digitShelf-pagesCons{
+		height: 100%;
+		display: flex;
+		flex-direction: column;
+		.tab-body{
+			.check-list{
+				height: calc(100vh - 44px);
+			}
+			.check-order-list{
+				background: #ffffff;
+				padding: 10upx 20upx;
+				margin: 25upx;
+				border-radius: 30upx;
+				box-shadow: 1px 1px 3px #EEEEEE;
+				.check-row{
+					display: flex;
+					padding: 20upx 10upx;
+					font-size: 28upx;
+					&:first-child{
+						color: #666E75;
+						font-size: 24upx;
+						padding-bottom: 10upx;
+						.orderNo{
+							font-size: 30upx;
+							color: #222222;
+							margin-top: -6upx;
+							flex-grow: 1;
+						}
+						.times{
+							text-align: right;
+						}
+						border-bottom: 2upx solid #f5f5f5;
+					}
+					&:last-child{
+						align-items: center;
+						justify-content: space-between;
+						.nums{
+							font-size: 32upx;
+							color: #033692;
+						}
+					}
+					> view{
+						.carModel{
+							color: #222222;
+							font-size: 32upx;
+							font-weight: bold;
+							line-height: normal;
+							margin-bottom: 10rpx;
+						}
+						.carVin{
+							color: #666E75;
+							font-size: 24upx;
+							text{
+								background-color: #EBEBEB;
+								border-radius: 100rpx;
+								padding: 0 20rpx;
+								color: #033692;
+								font-size: 20rpx;
+								display: flex;
+								align-items: center;
+								justify-content: center;
+								margin-left: 20rpx;
+							}
+						}
+					}
+					.carImage{
+						padding-right: 20rpx;
+					}
+					.action{
+						padding: 0 30rpx;
+						color: #fff;
+						border-radius: 100rpx;
+						margin-left: 25upx;
+						font-size: 24upx;
+						&:after{
+							border: 0;
+						}
+						&:active{
+							opacity: 0.5;
+						}
+					}
+					 
+					.finish{
+						background-color: #2d8cf0;
+					}
+					.del{
+						color: #666;
+						border:2rpx solid #EDEDED;
+						background: none;
+					}
+				}
+			}
+		}
+	}
+    
+	.search-popup{
+		.search-title{
+			text-align: center;
+			padding: 20upx;
+			color: #333;
+			border-bottom: 1px solid #eee;
+		}
+		.uni-list{
+			padding:10upx 20upx;
+			margin: 0;
+			border-bottom: 1px solid #EEEEEE;
+			.uni-list-cell{
+				border: 0;
+				.uni-list-cell-db{
+					flex: 1;
+					width: 100%;
+				}
+				.uni-input{
+					height: 2.5em;
+					line-height: 2.5em;
+					font-size: 28upx;
+					display: flex;
+					align-items: center;
+					> view{
+						&:first-child{
+							flex-grow: 1;
+							color: #666;
+						}
+						&:last-child{
+							color: #999;
+						}
+					}
+				}
+				.item-icon{
+					margin-left: 10upx;
+				}
+			}
+		}
+		.uni-list-btns{
+			display: flex;
+			padding: 50upx 20upx;
+			uni-button{
+				font-size: 28upx;
+				margin: 0 30upx;
+				flex:1;
+				border-radius: 100upx;
+				&:after{
+					border: 0;
+				}
+			}
+		}
+		.checkbox-items{
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+			.checkbox{
+				width: 24%;
+				background: #F8F8F8;
+				text-align: center;
+				margin: 20upx 0;
+				padding: 10upx 0;
+				border-radius: 50upx;
+				font-size: 24upx;
+				border:1upx solid #eee;
+			}
+			.checked{
+				background: rgba(4, 133, 246, 0.15);
+				border-color: rgba(4, 133, 246, 0.5);
+				color: rgba(4, 133, 246, 1);
+			}
+		}
+	}
+</style>

+ 1 - 1
pages/morePage/morePage.vue

@@ -21,7 +21,7 @@
 				<u-cell-item title="货架订单" @click="toPage('/pages/digitalShelf/orderList')" :title-style="{fontSize:'1em'}">
 				<u-cell-item title="货架订单" @click="toPage('/pages/digitalShelf/orderList')" :title-style="{fontSize:'1em'}">
 					<text slot="icon"></text>
 					<text slot="icon"></text>
 				</u-cell-item>
 				</u-cell-item>
-				<u-cell-item title="临配订单" :title-style="{fontSize:'1em'}">
+				<u-cell-item title="临配订单" @click="toPage('/pages/digitalShelf/tempOrderList/tempOrderList')" :title-style="{fontSize:'1em'}">
 					<text slot="icon"></text>
 					<text slot="icon"></text>
 				</u-cell-item>
 				</u-cell-item>
 			</u-cell-group>
 			</u-cell-group>

+ 84 - 22
pages/stockQuery/stockQuery.vue

@@ -1,39 +1,100 @@
 <template>
 <template>
 	<view class="sockQuery flex flex_column">
 	<view class="sockQuery flex flex_column">
 		<view class="search-box">
 		<view class="search-box">
-			<u-search placeholder="请输入货位号/产品编码/产品名称搜索" v-model="queryWord"></u-search>
-		</view>
-		<view class="list-box">
-			<view class="list-item flex align_center justify_between" v-for="item in 35">
-				<view>
-					<u-image src="@/static/def_imgs.png" width='120' height="120"></u-image>
-				</view>
-				<view>
-					<view class="flex align_center justify_between">
-						<view class="vin-text">
-							<text class="hj-no">A01</text>
-							<text>JO-21026E</text>
-						</view>
-						<view class="time-text">
-							库存:<text>3个</text>
-						</view>
-					</view>
-					<view>箭牌机油滤清器 10款进口大众途锐 5.0L V10 TDI</view>
-				</view>
-			</view>
+			<u-search placeholder="请输入货位号/产品编码/产品名称搜索" @search="pageInit()" @custom="pageInit()" v-model="queryWord"></u-search>
 		</view>
 		</view>
+		<swiper class="list-box">
+			<swiper-item class="swiper-item" style="height: 100%;width: 100%;overflow: hidden;">
+				<scroll-view scroll-y style="height: 100%;width: 100%;overflow: auto;" @scrolltolower="onreachBottom">
+					 <view class="list-item flex align_center justify_between" v-for="item in list" :key="item.id">
+					 	<view>
+					 		<u-image :src="item.images||'@/static/def_imgs.png'" width='120' height="120"></u-image>
+					 	</view>
+					 	<view>
+					 		<view class="flex align_center justify_between">
+					 			<view class="vin-text">
+					 				<text class="hj-no">{{item.shelfPlaceCode}}</text>
+					 				<text>{{item.code}}</text>
+					 			</view>
+					 			<view class="time-text">
+					 				库存:<text>{{item.qty}}个</text>
+					 			</view>
+					 		</view>
+					 		<view>{{item.productName}}</view>
+					 	</view>
+					 </view>
+					 <view style="padding: 20upx;">
+						 <u-empty :src="`/static/nodata.png`" icon-size="180" :text="noDataText" img-width="120" v-if="list.length==0 && status!='loading'" mode="list"></u-empty>
+						 <u-loadmore v-if="(total>=list.length&&list.length)||status=='loading'" :status="status" />
+					 </view>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
 	</view>
 	</view>
 </template>
 </template>
 
 
 <script>
 <script>
+	import { getShelfProductStockList } from '@/api/shelf.js'
 	export default {
 	export default {
 		data() {
 		data() {
 			return {
 			return {
-				queryWord: ""
+				status: 'loading',
+				noDataText: '暂无数据',
+				pageNo: 1,
+				pageSize: 10,
+				total: 0,
+				queryWord: "",
+				list: []
 			}
 			}
 		},
 		},
+		onLoad() {
+			this.getList()
+		},
 		methods: {
 		methods: {
-			
+			pageInit(){
+				this.total = 0
+				this.pageNo = 1
+				this.list = []
+				this.getList()
+			},
+			// 查询列表
+			getList (pageNo) {
+			  let _this = this
+			  if (pageNo) {
+			    this.pageNo = pageNo
+			  }
+			  // 状态条件
+			  let params = {
+			    pageNo: this.pageNo,
+			    pageSize: this.pageSize,
+				queryWord: this.queryWord
+			  }
+			  this.status = "loading"
+			  getShelfProductStockList(params).then(res => {
+				if (res.code == 200 || res.status == 204 || res.status == 200) {
+				  if(_this.pageNo>1){
+					  _this.list = _this.list.concat(res.data.list || [])
+				  }else{
+					  _this.list = res.data.list || []
+				  }
+				  _this.total = res.data.count || 0
+				} else {
+				  _this.list = []
+				  _this.total = 0
+				  _this.noDataText = res.message
+				}
+				_this.status = _this.total>=_this.list.length ? "nomore" : 'loadmore'
+			  })
+			},
+			// scroll-view到底部加载更多
+			onreachBottom() {
+				if(this.list.length < this.total){
+					this.pageNo += 1
+					this.getList()
+				}else{
+					this.status = "nomore"
+				}
+			},
 		}
 		}
 	}
 	}
 </script>
 </script>
@@ -60,6 +121,7 @@
 		> view{
 		> view{
 			padding: 0 10rpx;
 			padding: 0 10rpx;
 			&:last-child{
 			&:last-child{
+				flex-grow: 1;
 				>view{
 				>view{
 					padding: 10rpx 0;
 					padding: 10rpx 0;
 				}
 				}