فهرست منبع

补货单详情:已完成、已取消

chenrui 3 سال پیش
والد
کامیت
cc9f2ee4d7

+ 8 - 0
pages.json

@@ -101,6 +101,14 @@
 				"navigationBarTitleText": "补货签收",
 				"enablePullDownRefresh": false
 			}
+		},
+		{
+			"path" : "pages/replenishmentManage/detail",
+			"style" :
+			{
+				"navigationBarTitleText": "补货单详情",
+				"enablePullDownRefresh": false
+			}
 		}
         ,{
             "path" : "pages/common/printTag/printTag",

+ 19 - 4
pages/common/partList.vue

@@ -13,15 +13,24 @@
 							<u-image :src="item.product&&item.product.productMsg?item.product.productMsg:`../../static/${theme}/def_img@2x.png`" width="128" height="128" border-radius="10"></u-image>
 						</view>
 						<view class="pinfo">
-							<view class="pname" v-if="pageType=='replenishmentSign'">{{item.product&&item.product.name?item.product.name:'--'}}</view>
+							<view class="pname" v-if="pageType=='replenishmentSign'||pageType=='replenishmentDetail'||pageType=='replenishmentDetailc'">{{item.product&&item.product.name?item.product.name:'--'}}</view>
 							<view class="pname" v-else>{{item.productName}}</view>
 							<view class="ptxt flex align_center justify_between">
 								<view>
-									<text class="pcode" v-if="pageType=='replenishmentSign'">{{item.product&&item.product.code?item.product.code:'--'}}</text>
+									<text class="pcode" v-if="pageType=='replenishmentSign'||pageType=='replenishmentDetail'||pageType=='replenishmentDetailc'">{{item.product&&item.product.code?item.product.code:'--'}}</text>
 									<text class="pcode" v-else>{{item.productCode}}</text>
 								</view>
 								<view v-if="pageType=='replenishmentSign'">
-								  实发数量:<text class="pnums">{{item.confirmQty}}个</text>
+									实发数量:<text class="pnums">{{item.confirmQty||item.confirmQty==0?item.confirmQty:'--'}}{{item.product&&item.product.unit?item.product.unit:'--'}}</text>
+								</view>
+								<view v-if="pageType=='replenishmentDetail'">
+									应发<text class="pnums">{{item.qty||item.qty==0?item.qty:'--'}}</text>
+									实发<text class="pnums">{{item.confirmQty||item.confirmQty==0?item.confirmQty:'--'}}</text>
+									签收<text class="pnums">{{item.putQty||item.putQty==0?item.putQty:'--'}}</text>
+								</view>
+								<view v-if="pageType=='replenishmentDetailc'">
+									<text class="pnums">{{item.qty||item.qty==0?item.qty:'--'}}</text>
+									{{item.product&&item.product.unit?item.product.unit:'--'}}
 								</view>
 								<view v-if="pageType=='recall'">
 								  调回数量:<text class="pnums">{{item.qty}}个</text>
@@ -86,7 +95,7 @@
 				type: String,
 				default: 'checkbox'
 			},
-			// 那个功能页面调用,展示不同的字段,recall: 调回单,replenishmentSign:补货签收
+			// 那个功能页面调用,展示不同的字段,recall: 调回单,replenishmentSign:补货签收,replenishmentDetail:补货详情-已完成,replenishmentDetailc:补货详情-已取消
 			fromPage: {
 				type: String,
 				default: ''
@@ -95,9 +104,14 @@
 		watch: {
 			list(newValue, oldValue) {
 				const _this = this
+				this.totalNums = 0
 				newValue.map(item => {
 					if(_this.pageType=='replenishmentSign'){  // 补货签收
 						this.totalNums = this.totalNums + item.putQty
+					}else if(_this.pageType=='replenishmentDetail'){  // 补货详情-已完成
+						this.totalNums = this.totalNums + item.putQty
+					}else if(_this.pageType=='replenishmentDetailc'){  // 补货详情-已取消
+						this.totalNums = this.totalNums + item.qty
 					}else{
 						this.totalNums = this.totalNums + item.qty
 					}
@@ -206,6 +220,7 @@
 					color: #999;
 					.pnums{
 						color: #222;
+						padding: 0 4upx;
 					}
 				}
 			}

+ 164 - 0
pages/replenishmentManage/detail.vue

@@ -0,0 +1,164 @@
+<template>
+	<view class="replenishment-detail-wrap" :style="`backgroundImage:linear-gradient(180deg, ${$config('primaryColor')}, #F5F6F7 12%)`">
+		<view class="replenishment-detail-body">
+			<view class="head-info" v-if="basicInfoData">
+				<view class="states">
+					<view>
+						<u-icon :name="pageType=='success'?'icon_complete':'icon_cancel'" custom-prefix="iscm-icon" size="48"></u-icon>
+						<text>{{pageType=='success'?'已完成':'已取消'}}</text>
+					</view>
+				</view>
+				<view>
+					<view class="label"><u-icon name="icon_order" custom-prefix="iscm-icon" size="32"></u-icon><text>补货单号</text></view>
+					<view>{{basicInfoData.replenishBillNo || '--'}}</view>
+				</view>
+				<view>
+					<view class="label"><u-icon name="ison_shelf" custom-prefix="iscm-icon" size="32"></u-icon><text>货架名称</text></view>
+					<view>{{basicInfoData.shelfName || '--'}}</view>
+				</view>
+				<view v-if="pageType=='success'">
+					<view class="label"><u-icon name="icon_delivery" custom-prefix="iscm-icon" size="32"></u-icon><text>配送方式</text></view>
+					<view>{{basicInfoData.dispatchTypeDictValue || '--'}}</view>
+				</view>
+				<view v-if="pageType=='success'">
+					<view class="label"><u-icon name="icon_remark" custom-prefix="iscm-icon" size="32"></u-icon><text>出库备注</text></view>
+					<view class="info-txt">{{basicInfoData.remarks || '--'}}</view>
+				</view>
+			</view>
+			<view class="part-list">
+				<!-- 补货产品 -->
+				<partList :list="partList" title="补货产品" model="view" :fromPage="pageType=='success'?'replenishmentDetail':'replenishmentDetailc'" ref="partList" noDataText="暂无产品"></partList>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import { shelfReplenishDetail, shelfReplenishDetailList, shelfReplenishPutStock } from '@/api/shelfReplenish'
+	import partList from '@/pages/common/partList.vue'
+	export default {
+		components: { partList },
+		data() {
+			return {
+				replenishBillSn: '',
+				basicInfoData:null,
+				partList: [],
+				customStyle: {
+					borderRadius:'100rpx',
+					fontSize:'30rpx',
+					background: '#0485F6'
+				},
+				pageType: ''
+			}
+		},
+		onReady() {
+			uni.setNavigationBarColor({
+				frontColor: '#ffffff',
+				backgroundColor: this.$config('primaryColor')
+			})
+		},
+		onLoad(option) {
+			this.replenishBillSn = option.replenishBillSn
+			this.pageType = option.type
+			this.getDetail()
+			this.getPartList()
+		},
+		methods: {
+			// 查询详情
+			getDetail(){
+				shelfReplenishDetail({ sn: this.replenishBillSn }).then(res => {
+					if(res.status == 200){
+						this.basicInfoData = res.data || null
+					}else{
+						this.basicInfoData = null
+					}
+				})
+			},
+			// 查询列表
+			getPartList(){
+				const _this = this
+				shelfReplenishDetailList({ replenishBillSn: this.replenishBillSn }).then(res => {
+					if(res.status == 200 && res.data){
+						res.data.map(item =>{
+							item.confirmQty = item.confirmQty ? Number(item.confirmQty) : 0
+							item.putQty = item.confirmQty ? Number(item.confirmQty) : 0
+						})
+						this.partList = res.data || []
+					}else{
+						this.partList = []
+					}
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="less">
+.replenishment-detail-wrap{
+	position: relative;
+	width: 100%;
+	height: 100%;
+	overflow: hidden;
+	.replenishment-detail-body{
+		padding: 0 30rpx;
+		height: 100%;
+		overflow: auto;
+		> view{
+			padding: 10rpx 25rpx;
+			background-color: #fff;
+			margin-bottom: 20rpx;
+			border-radius: 25rpx;
+			box-shadow: 2rpx 3rpx 5rpx #eee;
+		}
+		.head-info{
+			.states{
+				border: 0;
+				padding: 20rpx 0;
+				> view{
+					color: #191919;
+					text-align: center;
+					font-size: 40rpx;
+					text{
+						margin-left: 20rpx;
+					}
+				}
+			}
+			.info-txt{
+				word-break: break-word;
+			}
+			font-size: 30rpx;
+			> view{
+				display: flex;
+				border-bottom: 2rpx solid #f5f5f5;
+				padding: 20rpx 0;
+				> view:last-child{
+					flex-grow: 1;
+					width: 80%;
+				}
+				&:last-child{
+					border:0;
+				}
+			}
+			.label{
+				display: flex;
+				align-items: center;
+				width: 220rpx;
+				height: 44rpx;
+				color: #7C7D7E;
+				text{
+					margin-left: 10rpx;
+				}
+			}
+		}
+	}
+	.replenishment-detail-footer{
+		padding: 26upx 32upx 30upx;
+		background-color: #fff;
+		position: fixed;
+		left: 0;
+		bottom: 0;
+		width: 100%;
+		box-shadow: 3px 1px 7px #eee;
+	}
+}
+</style>

+ 4 - 2
pages/replenishmentManage/replenishmentList.vue

@@ -178,8 +178,10 @@
 					uni.navigateTo({ url: "/pages/replenishmentManage/replenishmentList?sn="+item.replenishBillSn })
 				}else if(item.billState=='WAIT_CHECK'){ // 待签收
 					uni.navigateTo({ url: "/pages/replenishmentManage/signWarehousing?sn="+item.replenishBillSn })
-				}else{
-					uni.navigateTo({ url: "/pages/replenishmentManage/replenishmentList?sn="+item.replenishBillSn })
+				}else if(item.billState=='FINISH'){ // 已完成
+					uni.navigateTo({ url: "/pages/replenishmentManage/detail?sn="+item.replenishBillSn+"&type=success" })
+				}else if(item.billState=='CANCEL'){ // 已取消
+					uni.navigateTo({ url: "/pages/replenishmentManage/detail?sn="+item.replenishBillSn+"&type=cancel" })
 				}
 			}
 		}

+ 0 - 1
pages/replenishmentManage/signWarehousing.vue

@@ -38,7 +38,6 @@
 		components: { partList, commonModal },
 		data() {
 			return {
-				allChecked: false,
 				replenishBillSn: '',
 				basicInfoData:null,
 				partList: [],