Sfoglia il codice sorgente

Merge branch 'develop_szhj07' of http://git.chelingzhu.com/jianguan-web/qpls-md-app into develop_szhj07

chenrui 2 anni fa
parent
commit
4f24deafa6

+ 2 - 1
pages.json

@@ -213,7 +213,8 @@
 		        				"text": "\ue64e 待补货" ,//原生标题栏增加分享按钮,点击事件可通过页面的 onNavigationBarButtonTap 函数进行监听u
 		        				"fontSrc": "/static/iconfont/iconfont.ttf",
 		        				"fontSize": "14",
-		        				"width":"100px"
+								"color": "#ffffff",
+		        				"width":"90px"
 		        			}
 		        		]
 		        	}

+ 14 - 1
pages/batchShelves/cartList.vue

@@ -93,7 +93,7 @@
 			</view>
 		</u-popup>
 		<!-- 选择层删除 -->
-		<u-popup mode="center" width="80%" :mask-close-able="false" closeable @close="delLayer=[]" v-model="showDelLay" border-radius="15">
+		<u-popup mode="center" width="80%" :duration="0" :mask-close-able="false" closeable @close="delLayer=[]" v-model="showDelLay" border-radius="15">
 			<view class="layer-content">
 				 <view class="tits">
 					 <view>请选择需要删除的层</view>
@@ -162,6 +162,19 @@
 				this.chooseModal = true
 			})
 		},
+		onBackPress() {
+			if(this.showLayer || this.showDelLay||this.chooseModal||this.showPrintModal){
+				this.showLayer = false
+				this.showDelLay = false
+				this.chooseModal = false
+				this.showPrintModal = false
+				return true
+			}
+			if(this.showPop){
+				this.showPop = false
+				return true
+			}
+		},
 		onNavigationBarButtonTap(e) {
 			console.log(e)
 			if(this.placeTab.length){

+ 5 - 2
pages/common/commonModal.vue

@@ -49,7 +49,7 @@
 			showTitle:{ //  是否显示标题
 				type: Boolean,
 				default: true
-			}
+			},
 		},
 		data() {
 			return {
@@ -87,9 +87,12 @@
 		width: 100%;
 		height: 100vh;
 		z-index: 10000;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
 		.modal-con{
 			width: 70%;
-			margin: 40vh auto 0;
 			background-color: #fff;
 			border-radius: 24upx;
 			position: relative;

+ 5 - 4
pages/common/partList.vue

@@ -27,7 +27,8 @@
 								</view>
 								<view v-if="pageType=='replenishmentSign'||pageType=='manualPrint'||pageType=='scanCodePrint'">
 									{{item.billState == 'FINISH'?'签收数量':'补货数量'}}:
-									<text class="pnums">{{item.qty||item.qty==0?item.qty:'--'}}{{item.product&&item.product.unit?item.product.unit:'--'}}</text>
+									<text class="pnums" v-if="item.billState == 'FINISH'">{{item.putQty||item.putQty==0?item.putQty:'--'}}{{item.product&&item.product.unit?item.product.unit:'--'}}</text>
+									<text class="pnums" v-else>{{item.qty||item.qty==0?item.qty:'--'}}{{item.product&&item.product.unit?item.product.unit:'--'}}</text>
 								</view>
 								<view v-if="pageType=='replenishmentOut'">
 								   补货数量<text class="pnums">{{item.qty||item.qty==0?item.qty:'--'}}{{item.product&&item.product.unit?item.product.unit:'--'}}</text>
@@ -74,7 +75,7 @@
 					<view class="pcurnums flex align_center" v-if="pageType=='manualPrint'">
 						<text>打印数量</text>
 						<view class="u-ninput">
-							<u-number-box color="#000" :input-height="60" bg-color="#fff" v-model="item.printQty" :min="1" :max="item.confirmQty"></u-number-box>
+							<u-number-box color="#000" :input-height="60" bg-color="#fff" v-model="item.printQty" :min="1" :max="999999"></u-number-box>
 						</view>
 					</view>
 				</view>
@@ -135,10 +136,10 @@
 					}else if(_this.pageType=='replenishmentOut'||_this.pageType=='sendOutGoods'){  // 补货出库
 						this.totalNums = this.totalNums + item.qty
 					}else if(_this.pageType=='manualPrint'){  // 补货-手动打印
-						this.totalNums = this.totalNums + item.qty
+						this.totalNums = this.totalNums + (item.billState == 'FINISH' ? item.putQty : item.qty)
 						item.printQty = item.printQty ? item.printQty : 1
 					}else if(_this.pageType=='scanCodePrint'){  // 补货-扫码打印
-						this.totalNums = this.totalNums + item.qty
+						this.totalNums = this.totalNums + (item.billState == 'FINISH' ? item.putQty : item.qty)
 						item.printQty = item.printQty ? item.printQty : 1
 					}else if(_this.pageType=='replenishmentDetail'){  // 补货详情-已完成
 						this.totalNums = this.totalNums + item.putQty

+ 2 - 2
pages/common/printTag/printTag.vue

@@ -21,7 +21,7 @@
 			<view class="shelf-info-body">
 				<view>产品编码:{{fromPage == 'smdy'?infoData.productCode : infoData.productEntity&&infoData.productEntity.code}}</view>
 				<view>产品名称:{{fromPage == 'smdy'?infoData.productName : infoData.productEntity&&infoData.productEntity.productName}}</view>
-				<view>{{fromPage == 'smdy'?'实发数量':'当前库存'}}:{{fromPage == 'smdy'?infoData.confirmQty : infoData.qty}}{{infoData.productEntity&&infoData.productEntity.unit}}</view>
+				<view>{{fromPage == 'smdy'?'补货数量':'当前库存'}}:{{infoData.qty}}{{infoData.productEntity&&infoData.productEntity.unit}}</view>
 				<view v-if="fromPage == 'bdtq'">最大库容:{{infoData.maxQty}}{{infoData.productEntity&&infoData.productEntity.unit}}</view>
 			</view>
 		</view>
@@ -60,7 +60,7 @@
 			const _this = this
 			_this.fromPage = options.page
 			_this.infoData = options.data ? JSON.parse(options.data) : {};
-			_this.printNum = _this.fromPage == 'smdy' ? _this.infoData.confirmQty : _this.infoData.maxQty
+			_this.printNum = _this.fromPage == 'smdy' ? _this.infoData.qty : _this.infoData.maxQty
 			_this.printNum = _this.printNum||1
 			console.log(_this.infoData)
 			// 保持屏幕常亮

+ 11 - 5
pages/replenishmentManage/detail.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="replenishment-detail-wrap">
 		<u-navbar back-text="补货单详情" :border-bottom="false" :background="{backgroundColor: $config('primaryColor')}" back-icon-color="#fff" :back-text-style="{ color: '#fff' }">
-			<view slot='right' style="padding: 0 30upx;color: #ffffff;" @click="creatSalesOrder" v-if="pageType=='success'">
+			<view slot='right' style="padding: 0 30upx;color: #ffffff;" @click="creatSalesOrder" v-if="pageType=='success'&&totalNums">
 				<u-icon name="chuangjiandingdan" custom-prefix="iscm-icon"></u-icon>
 				<text style="margin-left: 6rpx;">生成销售单</text>
 			</view>
@@ -37,16 +37,16 @@
 			</view>
 		</view>
 		<!-- 生成销售单 -->
-		<common-modal v-if="confirmModal" :showTitle="false" :openModal="confirmModal" @confirm="modalConfirm" @close="confirmModal=false">
+		<common-modal v-if="confirmModal" :top="salesOrderList.length?'20vh':'40vh'" :showTitle="false" :openModal="confirmModal" @confirm="modalConfirm" @close="confirmModal=false">
 			<view style="font-size: 28upx;">
 				<view style="padding: 10upx;margin: 20upx 0;" class="flex align_center justify_between">
 					<view>产品总款数:<text style="color: red;">{{partList.length}}</text></view>
 					<view>产品总件数:<text style="color: red;">{{totalNums}}</text></view>
 				</view>
 				<view v-if="salesOrderList.length">
-					<view style="padding: 0 10upx 10upx;">此补货单已经存在对应的销售单?</view>
+					<view style="padding: 0 10upx 5upx;">此补货单已经存在对应的销售单?</view>
 					<view style="padding: 0 10upx 20upx;">确认再次生成销售单吗?</view>
-					<view>
+					<scroll-view :scroll-y="true" style="max-height: 18vh;">
 						<view 
 						v-for="item in salesOrderList" 
 						:key="item.id"
@@ -59,7 +59,7 @@
 								<u-icon name="arrow-right"></u-icon>
 							</view>
 						</view>
-					</view>
+					</scroll-view>
 				</view>
 				<view v-else>
 					<view style="padding: 0 10upx 20upx;">确认生成销售单?</view>
@@ -113,6 +113,12 @@
 				backgroundColor: this.$config('primaryColor')
 			})
 		},
+		onBackPress() {
+			if(this.showModal){
+				this.showModal = false
+				return true
+			}
+		},
 		onLoad(option) {
 			this.replenishBillSn = option.sn
 			this.pageType = option.type

+ 2 - 4
pages/replenishmentManage/manualPrint.vue

@@ -89,11 +89,9 @@
 					if(res.status == 200 && res.data){
 						res.data.map(item =>{
 							if(item.billState == 'FINISH'){
-								item.confirmQty = item.putQty ? Number(item.putQty) : 0
-								item.printQty = item.confirmQty ? Number(item.confirmQty) : 0
+								item.printQty = item.putQty ? Number(item.putQty) : 0
 							}else{
-								item.confirmQty = item.confirmQty ? Number(item.confirmQty) : 0
-								item.printQty = item.confirmQty ? Number(item.confirmQty) : 0
+								item.printQty = item.qty ? Number(item.qty) : 0
 							}
 						})
 						this.partList = res.data || []

+ 11 - 5
pages/replenishmentManage/outWarehousing.vue

@@ -6,7 +6,7 @@
 				<text style="margin-left: 6rpx;">生成销售单</text>
 			</view>
 		</u-navbar>
-		<view class="replenishment-outWarehousing-body">
+		<view class="replenishment-outWarehousing-body" :style="`backgroundImage:linear-gradient(180deg, ${$config('primaryColor')}, #F5F6F7 12%)`">
 			<view class="head-info" v-if="basicInfoData">
 				<view class="states">
 					<view>
@@ -44,9 +44,9 @@
 					<view>产品总件数:<text style="color: red;">{{totalNums}}</text></view>
 				</view>
 				<view v-if="salesOrderList.length">
-					<view style="padding: 0 10upx 10upx;">此补货单已经存在对应的销售单?</view>
+					<view style="padding: 0 10upx 5upx;">此补货单已经存在对应的销售单?</view>
 					<view style="padding: 0 10upx 20upx;">确认再次生成销售单吗?</view>
-					<view>
+					<scroll-view :scroll-y="true" style="max-height: 18vh;">
 						<view 
 						v-for="item in salesOrderList" 
 						:key="item.id"
@@ -59,7 +59,7 @@
 								<u-icon name="arrow-right"></u-icon>
 							</view>
 						</view>
-					</view>
+					</scroll-view>
 				</view>
 				<view v-else>
 					<view style="padding: 0 10upx 20upx;">确认生成销售单?</view>
@@ -115,6 +115,12 @@
 				backgroundColor: this.$config('primaryColor')
 			})
 		},
+		onBackPress() {
+			if(this.showModal){
+				this.showModal = false
+				return true
+			}
+		},
 		onLoad(option) {
 			this.replenishBillSn = option.sn
 			this.getDetail()
@@ -238,7 +244,7 @@
 	width: 100%;
 	height: 100%;
 	overflow: hidden;
-	padding-bottom: 136upx;
+	padding-bottom: 280upx;
 	.replenishment-outWarehousing-body{
 		padding: 0 30rpx;
 		height: 100%;

+ 6 - 0
pages/replenishmentManage/replenishmentList.vue

@@ -122,6 +122,12 @@
 			// 跳到指定tab
 			uni.$on('refreshBhList',this.refreshBhList)
 		},
+		onReady() {
+			uni.setNavigationBarColor({
+				frontColor: '#ffffff',
+				backgroundColor: this.$config('primaryColor')
+			})
+		},
 		onUnload() {
 			uni.$off('refreshBL')
 		},

+ 3 - 3
pages/replenishmentManage/scanCodePrint.vue

@@ -98,9 +98,9 @@
 					if(res.status == 200 && res.data){
 						res.data.map(item =>{
 							if(item.billState == 'FINISH'){
-								item.confirmQty = item.putQty ? Number(item.putQty) : 0
+								item.qty = item.putQty ? Number(item.putQty) : 0
 							}else{
-								item.confirmQty = item.confirmQty ? Number(item.confirmQty) : 0
+								item.qty = item.qty ? Number(item.qty) : 0
 							}
 						})
 						this.partList = res.data || []
@@ -130,7 +130,7 @@
 							productName: res.data&&res.data[0]&&res.data[0].product&&res.data[0].product.name,
 							productCode: res.data&&res.data[0]&&res.data[0].product&&res.data[0].product.code,
 							productSn: res.data&&res.data[0]&&res.data[0].product&&res.data[0].product.productSn,
-							confirmQty: res.data&&res.data[0]&&res.data[0].confirmQty,
+							qty: res.data&&res.data[0]&&res.data[0].qty,
 							shelfSn: res.data&&res.data[0]&&res.data[0].shelfSn,
 							replenishBillDetailSn: res.data&&res.data[0]&&res.data[0].replenishBillDetailSn,
 							shelfPlaceCode: res.data&&res.data[0]&&res.data[0].shelfPlaceCode,

+ 0 - 3
pages/replenishmentManage/sendOutGoods.vue

@@ -193,9 +193,6 @@
 				console.log(qrCode,pa)
 				shelfReplenishDetailOutScan({
 					replenishBillSn: _this.replenishBillSn,
-					// shelfSn: getQueryString('&'+qrCode, 'shelfSn'),
-					// shelfPlaceSn: getQueryString('&'+qrCode, 'shelfPlaceSn'),
-					// productSn: getQueryString('&'+qrCode, 'productSn')
 					shelfSn: pa[0],
 					shelfPlaceSn: pa[3],
 					productSn: pa[2]

+ 14 - 9
pages/replenishmentManage/signWarehousing.vue

@@ -6,7 +6,7 @@
 				<text style="margin-left: 6rpx;">生成销售单</text>
 			</view>
 		</u-navbar>
-		<view class="replenishment-putWarehousing-body">
+		<view class="replenishment-putWarehousing-body" :style="`backgroundImage:linear-gradient(180deg, ${$config('primaryColor')}, #F5F6F7 12%)`">
 			<view class="head-info" v-if="basicInfoData">
 				<view class="states">
 					<view>
@@ -45,9 +45,9 @@
 					<view>产品总件数:<text style="color: red;">{{totalNums}}</text></view>
 				</view>
 				<view v-if="salesOrderList.length">
-					<view style="padding: 0 10upx 10upx;">此补货单已经存在对应的销售单?</view>
+					<view style="padding: 0 10upx 5upx;">此补货单已经存在对应的销售单?</view>
 					<view style="padding: 0 10upx 20upx;">确认再次生成销售单吗?</view>
-					<view>
+					<scroll-view :scroll-y="true" style="max-height: 18vh;">
 						<view 
 						v-for="item in salesOrderList" 
 						:key="item.id"
@@ -60,7 +60,7 @@
 								<u-icon name="arrow-right"></u-icon>
 							</view>
 						</view>
-					</view>
+					</scroll-view>
 				</view>
 				<view v-else>
 					<view style="padding: 0 10upx 20upx;">确认生成销售单?</view>
@@ -111,6 +111,12 @@
 				backgroundColor: this.$config('primaryColor')
 			})
 		},
+		onBackPress() {
+			if(this.showModal){
+				this.showModal = false
+				return true
+			}
+		},
 		onLoad(option) {
 			this.replenishBillSn = option.sn
 			this.getDetail()
@@ -147,10 +153,9 @@
 						_this.totalQty = 0
 						_this.confirmQty = 0
 						res.data.map(item =>{
-							item.confirmQty = item.confirmQty ? Number(item.confirmQty) : 0
-							item.putQty = item.confirmQty ? Number(item.confirmQty) : 0
-							if(item.confirmQty && Number(item.confirmQty)){
-								_this.totalQty += Number(item.confirmQty)
+							item.putQty = item.qty ? Number(item.qty) : 0
+							if(item.qty && Number(item.qty)){
+								_this.totalQty += Number(item.qty)
 							}
 							if(item.putQty && Number(item.putQty)){
 								_this.confirmQty += Number(item.putQty)
@@ -253,7 +258,7 @@ page{
 	width: 100%;
 	height: 100%;
 	overflow: hidden;
-	padding-bottom: 136upx;
+	padding-bottom: 280upx;
 	.replenishment-putWarehousing-body{
 		padding: 0 30rpx;
 		height: 100%;

+ 10 - 4
pages/sales/chooseCustomer.vue

@@ -35,10 +35,13 @@
 				<view class="picker-main-item" v-for="(item, index) in listData" :key="item.id" @click="chooseItem(item)">
 					<view class="item-name">{{item.customerName}}</view>
 				</view>
-				<view v-if="listData&&listData.length>=20" style="color:#999;font-size: 26upx;text-align: center;padding: 10upx;">最多显示前20条匹配客户,请尝试输入更多内容</view>
-				<view v-if="listData && listData.length == 0">
+				<view v-if="listData&&listData.length>=20 && !loading" style="color:#999;font-size: 26upx;text-align: center;padding: 10upx;">最多显示前20条匹配客户,请尝试输入更多内容</view>
+				<view v-if="listData && listData.length == 0 && !loading">
 					<u-empty text="暂无匹配客户" mode="list" :img-width="200" :margin-top="60"></u-empty>
 				</view>
+				<view v-if="loading">
+					<u-loadmore :load-text="$config('loadText')" status="loading" />
+				</view>
 			</view>
 		</scroll-view>
 	</view>
@@ -49,6 +52,7 @@
 	export default{
 		data(){
 			return{
+				loading: false,
 				listData:[],
 				queryWord:'',
 				pageSize:20,
@@ -96,14 +100,16 @@
 			},
 			getData(){
 				console.log('调用')
-				uni.showLoading({title:'加载中...',mask:true})
+				// uni.showLoading({title:'加载中...',mask:true})
+				this.loading = true
 				customerList({queryWord:this.queryWord,pageNo:this.pageNo,pageSize:this.pageSize}).then(res => {
 					if(res.status == 200 && res.data){
-						uni.hideLoading({})
 						this.listData = res.data.list
 					}else{
 						this.listData = []
 					}
+					// uni.hideLoading()
+					this.loading = false
 				})
 			},
 			// 搜索品牌

+ 10 - 6
pages/shelfSetting/shelfSet.vue

@@ -66,13 +66,16 @@
 			</view>
 		</view>
 		<view v-else>
-			<view class="nodata">
+			<view class="nodata" v-if="!loading">
 				暂无货位信息,请点击 
 				<view>
 					<text @click="toPlRacking">批量上架</text>
 					<u-badge :offset="[-6,-10]" v-if="showDot" :is-dot="true" size="mini" type="error"></u-badge>
 				</view>
 			</view>
+			<view class="nodata" v-else>
+				<u-loadmore :load-text="$config('loadText')" status="loading" />
+			</view>
 		</view>
 	</view>
 </template>
@@ -86,6 +89,7 @@
 		},
 		data() {
 			return {
+				loading: false,
 				shelfSn: null,
 				detailData: null,
 				switchVal: false,
@@ -124,9 +128,11 @@
 			this.isLoad = true
 			this.webView = this.$mp.page.$getAppWebview(); 
 			uni.$on("editCustome",(data)=>{
+				this.isLoad = true
 				this.saveShelf(data,0)
 			})
 			uni.$on("editShelfName",(data)=>{
+				this.isLoad = true
 				this.saveShelf(data,1)
 			})
 			
@@ -149,6 +155,7 @@
 			// 刷新货位
 			updateHw(){
 				this.placeTab = []
+				this.shelfPlaceList = null
 				this.getShelfPlace(true)
 			},
 			// 批量上架
@@ -343,12 +350,8 @@
 				})
 			},
 			getShelfPlace(flag){
-				// uni.showLoading({
-				// 	mask: true,
-				// 	title: '正在查询...'
-				// })
+				this.loading = true
 				getProductPlace({ shelfSn: this.shelfSn }).then(res => {
-				  uni.hideLoading()
 				  if (res.status == 200 && res.data) {
 				    this.shelfPlaceList = res.data
 					// 获取层
@@ -371,6 +374,7 @@
 				  // 是否有已录入的产品
 				  this.getHasCartNotEmpty()
 				  this.isLoad = false
+				  this.loading = false
 				})
 			},
 			tabChange(item){

+ 23 - 9
pages/soldOut/creatOrder.vue

@@ -26,14 +26,14 @@
 			</view>
 		</view>
 		<view class="check-list">
-			<productList ref="productList" noDataText="暂无产品" @allChecked="allCheckedCallback"></productList>
+			<productList ref="productList" noDataText="暂无产品" @updateNums="updateNums" @allChecked="allCheckedCallback"></productList>
 		</view>
 		<!-- 底部栏 -->
 		<view class="footer-bar flex align_center">
 			<view class="f-left">
 				<u-checkbox size="40" @change="allCheckeChange" v-model="allChecked" shape="circle">{{allChecked?'取消全选':'全选'}}</u-checkbox>
 			</view>
-			<view class="f-mid flex align_center" @click="openCart">
+			<view class="f-mid" @click="openCart">
 				<view>
 					已选<text>{{totalCategory}}</text>款/<text>{{totalQty}}</text>件
 				</view>
@@ -134,7 +134,7 @@
 				</view>
 				<view class="btns">
 					<u-button class="handle-btn" shape="circle" size="medium" hover-class="none" @click="handleClear">重置</u-button>
-					<u-button class="handle-btn" shape="circle" size="medium" hover-class="none" :custom-style="customBtnStyle" @click="clearSearch">查询</u-button>
+					<u-button class="handle-btn" shape="circle" size="medium" hover-class="none" :custom-style="customBtnStyle" @click="changeSearch">查询</u-button>
 				</view>
 			</view>
 		</u-popup>
@@ -231,6 +231,9 @@
 			allCheckeChange(e){
 				this.$refs.productList.allSelect(e.value)
 				this.chooseList = this.$refs.productList.getAllChecked()
+				if(!e.value){
+					this.showCart = false
+				}
 			},
 			allCheckedCallback(val){
 				this.allChecked = val
@@ -296,19 +299,25 @@
 				this.chooseList = []
 				this.showCart = false
 				this.allChecked = false
-				this.$refs.productList.allSelect(false)
+				if(this.$refs.productList){
+					this.$refs.productList.allSelect(false)
+				}
+			},
+			updateNums(){
+				this.chooseList = this.$refs.productList.getAllChecked()
 			},
 			// 修改数量
 			cartChangeNums(v){
 				this.$refs.productList.changeNums(v.index.split('_')[1],v.value)
+				this.chooseList.splice()
+			},
+			clearSearch(){
+				this.queryWord = ''
+				this.changeSearch()
 			},
 			handleClear(){
 				this.stockStateList = []
 				this.queryKeys.map(item => item.checked = false)
-				this.clearSearch()
-			},
-			clearSearch(){
-				this.queryWord = ''
 				this.changeSearch()
 			},
 			changeSearch(){
@@ -324,6 +333,9 @@
 					queryWord: this.queryWord,
 					stockStateList: this.stockStateList
 				}
+				_this.clearChoose()
+				_this.partList = []
+				_this.$refs.productList && _this.$refs.productList.setData(_this.partList)
 				_this.status = 'loading'
 				uni.showLoading({
 					mask:true,
@@ -489,7 +501,6 @@
 		}
 		.f-mid{
 			flex-grow: 1;
-			font-size: 0.8rem;
 			color: #666;
 			> view{
 				padding: 0 5upx;
@@ -498,6 +509,9 @@
 						color: red;
 					}
 				}
+				&:last-child{
+					font-size: 0.8rem;
+				}
 			}
 		}
 		.f-btns{

+ 18 - 6
pages/soldOut/productList.vue

@@ -23,9 +23,9 @@
 				</view>
 				<view class="ptxt flex align_center justify_end">
 					<view>
-					最大库容:<text class="pnums">{{item.maxQty}}</text>
-					当前库存:<text class="pnums">{{item.qty}}</text>
-					补货在途:<text class="pnums">{{item.replenishBillQty||0}}</text>
+					最大库容:<text class="pnums">{{item.maxQty||0}}</text>
+					货架库存:<text class="pnums">{{item.qty||0}}</text>
+					门店库存:<text class="pnums">{{item.qplsStockQty||0}}</text>
 					</view>
 				</view>
 				<view class="ptools flex align_center justify_between">
@@ -40,7 +40,16 @@
 					<view class="pcurnums flex align_center flex">
 						<text>补货数量</text>
 						<view class="u-ninput">
-							<u-number-box color="#000" :long-press="false" :input-height="60" bg-color="#fff" v-model="item.replenishQty" :min="1"></u-number-box>
+							<u-number-box 
+							color="#000" 
+							@minus="updateNums" 
+							@plus="updateNums" 
+							@blur="updateNums" 
+							:long-press="false" 
+							:input-height="60" 
+							bg-color="#fff" 
+							v-model="item.replenishQty" 
+							:min="1"></u-number-box>
 						</view>
 					</view>
 				</view>
@@ -125,6 +134,9 @@
 			getAllData(){
 				return this.partList
 			},
+			updateNums(e){
+				this.$emit("updateNums",e)
+			},
 			// 更新数量
 			changeNums(id,val){
 				const row = this.partList.find(item => item.id == id)
@@ -170,7 +182,7 @@
 					}
 				}
 				.pname1{
-					font-size: 26rpx;
+					font-size: 28rpx;
 				}
 			}
 		}
@@ -184,7 +196,7 @@
 		}
 		.ptools{
 			font-size: 26rpx;
-			margin-top: 20rpx;
+			margin-top: 10rpx;
 			color: #999;
 			.pnums{
 				color: #ff5500;

+ 3 - 3
pages/userCenter/index.vue

@@ -17,7 +17,7 @@
 			</view>
 		</view>
 		<!-- 列表 -->
-		<view class="user-list">
+		<view class="user-list" :style="`backgroundImage:linear-gradient(180deg, ${$config('primaryColor')}, #F5F6F7 30%)`">
 			<u-cell-group>
 				<u-cell-item icon="volume" icon-size="36" :icon-style="{color:'#00aaff'}" index="3" @click="toPage(3)" title="消息">
 					<u-badge :count="noReadNums" :absolute="false" slot="right-icon"></u-badge>
@@ -245,7 +245,7 @@
 		.user-head{
 			display: flex;
 			align-items: center;
-			padding: 80rpx 35rpx;
+			padding: 50rpx 35rpx;
 			.user-photo{
 				flex-shrink: 0;
 				margin-right: 5rpx;
@@ -271,7 +271,7 @@
 		.user-list{
 			padding: 0 20upx;
 			> view{
-				margin: 20upx 0;
+				margin-bottom: 20upx;
 				border-radius: 15upx;
 				box-shadow: 0upx 3upx 6upx #eee;
 				overflow: hidden;