274 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			274 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <template>
 | |
| 	<view class="content">
 | |
| 		<view class="container">
 | |
| 			<headers :titles="titles"><u-icon name="arrow-left" color="#fff" size="22"></u-icon></headers>
 | |
| 			<view class="lan-box">
 | |
| 				<view class="">收银员:{{ handoverList && handoverList.baseInfo ? handoverList.baseInfo.realName : '未知姓名' }}
 | |
| 				</view>
 | |
| 				<view class="b-ss">
 | |
| 					<view class="">今日累计:¥{{indexData.totalPayMoney?indexData.totalPayMoney:0}}</view>
 | |
| 					<view class="d-s" @click="jump()">
 | |
| 						<view class="">交班记录</view>
 | |
| 						<u-icon name="arrow-right" color="#fff" size="18"></u-icon>
 | |
| 					</view>
 | |
| 				</view>
 | |
| 			</view>
 | |
| 
 | |
| 
 | |
| 			<view class="box_">
 | |
| 				<view class="top-box">
 | |
| 					员工交接单
 | |
| 				</view>
 | |
| 				<view class="h-box">门店:{{handoverList && handoverList.baseInfo ? handoverList.baseInfo.storeName : '-'}}
 | |
| 				</view>
 | |
| 				<view class="h-box">
 | |
| 					上班时间:{{ handoverList && handoverList.baseInfo ? handoverList.baseInfo.startTime : '-' }}</view>
 | |
| 				<view class="h-box">
 | |
| 					下班时间:{{ handoverList && handoverList.baseInfo ? handoverList.baseInfo.endTime : '-' }}</view>
 | |
| 
 | |
| 				<view class="h-box">
 | |
| 					订单金额:{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.oilOrder : 0+ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardOrder : 0 }}
 | |
| 				</view>
 | |
| 				<view class="h-box">
 | |
| 					优惠金额:{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.oilDiacount : 0 }}
 | |
| 				</view>
 | |
| 				<view class="h-box">
 | |
| 					会员充值:{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardPaid : 0 }}
 | |
| 				</view>
 | |
| 				<view class="h-box">
 | |
| 					退款金额:{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.oilRefund : 0 + handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardRefund : 0 }}
 | |
| 				</view>
 | |
| 				<view class="h-box">
 | |
| 					实收金额:{{ (Number)(handoverList && handoverList.orderSummary ? handoverList.orderSummary.oilPaid : 0) + (Number)(handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardPaid : 0) }}
 | |
| 				</view>
 | |
| 			</view>
 | |
| 			<view style="width: 100%; height: 78px; "></view>
 | |
| 			<view class="bottom-d" @click="showModal = true">
 | |
| 				<view class="anniu">
 | |
| 					交班
 | |
| 				</view>
 | |
| 			</view>
 | |
| 			<u-modal :show="showModal" showCancelButton content='是否确定交班' @confirm="shift()"
 | |
| 				@cancel="showModal = false"></u-modal>
 | |
| 			<u-loading-page :loading="showLoading"></u-loading-page>
 | |
| 
 | |
| 		</view>
 | |
| 	</view>
 | |
| </template>
 | |
| 
 | |
| <script>
 | |
| 	import request from "../../utils/request";
 | |
| 
 | |
| 	import headers from '../../components/header/headers.vue'
 | |
| 
 | |
| 	export default {
 | |
| 		data() {
 | |
| 			return {
 | |
| 				titles: "交接班",
 | |
| 				showModal: false,
 | |
| 				showLoading: false,
 | |
| 				handoverList: "",
 | |
| 				indexData: {
 | |
| 					totalPayMoney: '0',
 | |
| 					totalCount: '0',
 | |
| 					totalRefund: '0',
 | |
| 				},
 | |
| 				form: {}
 | |
| 			}
 | |
| 		},
 | |
| 		onShow() {
 | |
| 			// this.actList = ["1", "1", "1", "1", "1", ]
 | |
| 			// this.status = "nomore" 底部刷新结束
 | |
| 			this.handoverByPos()
 | |
| 			this.getIndexData()
 | |
| 		},
 | |
| 		onPullDownRefresh() {
 | |
| 			console.log("刷新");
 | |
| 			uni.stopPullDownRefresh()
 | |
| 		},
 | |
| 		onReachBottom() {
 | |
| 			// this.show = true
 | |
| 			setTimeout(() => {
 | |
| 				console.log("加载执行");
 | |
| 			}, 2000)
 | |
| 		},
 | |
| 		components: {
 | |
| 			headers
 | |
| 		},
 | |
| 		methods: {
 | |
| 			goback() {
 | |
| 				uni.navigateBack()
 | |
| 			},
 | |
| 			//交班信息
 | |
| 			handoverByPos() {
 | |
| 				request({
 | |
| 					url: 'business/handoverRecord/handoverByPos',
 | |
| 					method: 'get',
 | |
| 					params: this.form
 | |
| 				}).then((res) => {
 | |
| 					if (res.code == 200) {
 | |
| 						this.handoverList = res.data;
 | |
| 					} else {
 | |
| 						uni.showToast({
 | |
| 							title: res.data,
 | |
| 							icon: "none"
 | |
| 						})
 | |
| 					}
 | |
| 				})
 | |
| 			},
 | |
| 			jump() {
 | |
| 				uni.navigateTo({
 | |
| 					url: '/pagesHome/changeShifts/list'
 | |
| 				})
 | |
| 			},
 | |
| 			// 获取销售数据
 | |
| 			getIndexData() {
 | |
| 				request({
 | |
| 					url: 'business/allOrderInfo/getIndexData4Pos',
 | |
| 					method: 'get',
 | |
| 					params: this.form
 | |
| 				}).then((res) => {
 | |
| 					if (res.code == 200) {
 | |
| 						this.indexData = res.data
 | |
| 					} else {
 | |
| 						uni.showToast({
 | |
| 							title: res.data,
 | |
| 							icon: "none"
 | |
| 						})
 | |
| 					}
 | |
| 				})
 | |
| 			},
 | |
| 			// 获取销售数据
 | |
| 			shift() {
 | |
| 				this.showModal = false
 | |
| 				this.showLoading = true
 | |
| 				let recordData = this.handoverList
 | |
| 
 | |
| 				let handoverRecord = {
 | |
| 					startTime: this.handoverList.baseInfo.startTime,
 | |
| 					recordData: JSON.stringify(recordData),
 | |
| 					type: 0,
 | |
| 					status: this.handoverList.baseInfo.handoverType,
 | |
| 				}
 | |
| 				request({
 | |
| 					url: 'business/handoverRecord/addByPos',
 | |
| 					method: 'post',
 | |
| 					data: handoverRecord
 | |
| 				}).then((res) => {
 | |
| 					if (res.code == 200) {
 | |
| 						this.indexData = res.data
 | |
| 						this.handoverByPos()
 | |
| 						this.showLoading = false
 | |
| 
 | |
| 						// 交班成功
 | |
| 						uni.showToast({
 | |
| 							title: "交班成功!",
 | |
| 							icon: "none"
 | |
| 						})
 | |
| 					} else {
 | |
| 						uni.showToast({
 | |
| 							title: res.data,
 | |
| 							icon: "none"
 | |
| 						})
 | |
| 					}
 | |
| 					this.showLoading = false
 | |
| 
 | |
| 				})
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| </script>
 | |
| 
 | |
| <style scoped lang="scss">
 | |
| 	.content {
 | |
| 		background: #fff;
 | |
| 		// background: linear-gradient(180deg, #B2D2FC 0%, #B2D2FC 14%, rgba(255, 255, 255, 0.84) 24%, rgba(255, 255, 255, 0.84) 100%);
 | |
| 		height: 100vh;
 | |
| 	}
 | |
| 
 | |
| 	.container {
 | |
| 		width: 100%;
 | |
| 		background: #fff;
 | |
| 		box-sizing: border-box;
 | |
| 		padding-top: 88px;
 | |
| 	}
 | |
| 
 | |
| 	.img-box {
 | |
| 		image {
 | |
| 			width: 100%;
 | |
| 			height: 100%;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	.lan-box {
 | |
| 		width: 100%;
 | |
| 		height: 100px;
 | |
| 		background: #0864e9;
 | |
| 		box-sizing: border-box;
 | |
| 		padding: 15px;
 | |
| 		color: #fff;
 | |
| 		font-weight: bold;
 | |
| 	}
 | |
| 
 | |
| 	.b-ss {
 | |
| 		width: 100%;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: space-between;
 | |
| 		margin: 15px auto;
 | |
| 	}
 | |
| 
 | |
| 	.d-s {
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 	.box_ {
 | |
| 		width: 95%;
 | |
| 		border-radius: 8px;
 | |
| 		box-sizing: border-box;
 | |
| 		padding: 15px;
 | |
| 		border: 1px solid #0864e9;
 | |
| 		margin: 15px auto;
 | |
| 	}
 | |
| 
 | |
| 	.top-box {
 | |
| 		width: 100%;
 | |
| 		border-bottom: 1px solid #F0F0F0;
 | |
| 		box-sizing: border-box;
 | |
| 		padding-bottom: 15px;
 | |
| 		font-weight: bold;
 | |
| 		font-size: 16px;
 | |
| 		color: #0864E9;
 | |
| 	}
 | |
| 
 | |
| 	.h-box {
 | |
| 		font-weight: 500;
 | |
| 		font-size: 14px;
 | |
| 		color: #333333;
 | |
| 		margin: 15px auto;
 | |
| 	}
 | |
| 
 | |
| 	.bottom-d {
 | |
| 		width: 100%;
 | |
| 		position: fixed;
 | |
| 		bottom: 0px;
 | |
| 		left: 0px;
 | |
| 		height: 98px;
 | |
| 		background: #FFFFFF;
 | |
| 		box-shadow: 0px -1px 4px 0px rgba(67, 104, 212, 0.1);
 | |
| 	}
 | |
| 
 | |
| 	.anniu {
 | |
| 		width: 265px;
 | |
| 		height: 48px;
 | |
| 		background: #0864E9;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: center;
 | |
| 		color: #fff;
 | |
| 		border-radius: 50px;
 | |
| 		margin: 10px auto;
 | |
| 	}
 | |
| </style> |