215 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			215 lines
		
	
	
		
			4.9 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="time-bs">
 | |
| 				<view class="time-box" @click="showStartTime = true">{{form.startTime?form.startTime:'开始日期'}}</view>
 | |
| 				<view class="">-</view>
 | |
| 				<view class="time-box" @click="showEndTime = true">{{form.endTime?form.endTime:'结束日期'}}</view>
 | |
| 			</view>
 | |
| 			<view class="box_" v-for="item,index in listData">
 | |
| 				<view class="top-title">
 | |
| 					<view class="name_">{{item.staffName}}</view>
 | |
| 					<view class="price_">¥{{item.totalPayMoney?item.totalPayMoney:0}}</view>
 | |
| 				</view>
 | |
| 				<view class="time">{{item.startTime}}-{{item.endTime}}</view>
 | |
| 			</view>
 | |
| 			<u-datetime-picker :show="showStartTime" v-model="startTimeValue" mode="datetime" @confirm="clickStart"
 | |
| 				@close="showStartTime = false" @cancel="showStartTime = false"></u-datetime-picker>
 | |
| 
 | |
| 			<u-datetime-picker :show="showEndTime" v-model="endTimeValue" mode="datetime" @confirm="clickEnd"
 | |
| 				@close="showEndTime = false" @cancel="showEndTime = false"></u-datetime-picker>
 | |
| 
 | |
| 		</view>
 | |
| 	</view>
 | |
| </template>
 | |
| 
 | |
| <script>
 | |
| 	import request from "../../utils/request";
 | |
| 
 | |
| 	import headers from '../../components/header/headers.vue'
 | |
| 
 | |
| 	export default {
 | |
| 		data() {
 | |
| 			return {
 | |
| 				titles: "交班记录",
 | |
| 				show: false,
 | |
| 				value1: Number(new Date()),
 | |
| 				listData: [],
 | |
| 				dateRange: [],
 | |
| 				startTime: "",
 | |
| 				endTime: "",
 | |
| 				startTimeValue: "",
 | |
| 				endTimeValue: "",
 | |
| 				showStartTime: false,
 | |
| 				showEndTime: false,
 | |
| 				form: {
 | |
| 					page: 1,
 | |
| 					pageSize: 10000,
 | |
| 
 | |
| 					startTime: '',
 | |
| 					endTime: ''
 | |
| 				}
 | |
| 			}
 | |
| 		},
 | |
| 		onShow() {
 | |
| 			// this.actList = ["1", "1", "1", "1", "1", ]
 | |
| 			// this.status = "nomore" 底部刷新结束
 | |
| 			this.getIndexData()
 | |
| 		},
 | |
| 		onPullDownRefresh() {
 | |
| 			console.log("刷新");
 | |
| 			uni.stopPullDownRefresh()
 | |
| 		},
 | |
| 		onReachBottom() {
 | |
| 			// this.show = true
 | |
| 			setTimeout(() => {
 | |
| 				console.log("加载执行");
 | |
| 			}, 2000)
 | |
| 		},
 | |
| 		components: {
 | |
| 			headers
 | |
| 		},
 | |
| 		methods: {
 | |
| 			goback() {
 | |
| 				uni.navigateBack()
 | |
| 			},
 | |
| 			clickStartTime(e) {
 | |
| 				this.showStartTime = true
 | |
| 				console.log(123, e)
 | |
| 				// const date = new Date(timestamp);
 | |
| 
 | |
| 			},
 | |
| 			clickEndTime(e) {
 | |
| 				this.showEndTime = true
 | |
| 
 | |
| 			},
 | |
| 			clickStart(e) {
 | |
| 				console.log('123123', e)
 | |
| 				this.showStartTime = false
 | |
| 				this.form.startTime = this.formatDateToYYMMDDHHMM(new Date(e.value));
 | |
| 
 | |
| 				this.getIndexData();
 | |
| 
 | |
| 			},
 | |
| 			clickEnd(e) {
 | |
| 				this.showEndTime = false
 | |
| 				this.form.endTime = this.formatDateToYYMMDDHHMM(new Date(e.value));
 | |
| 
 | |
| 				this.getIndexData();
 | |
| 			},
 | |
| 
 | |
| 
 | |
| 			// 获取销售数据
 | |
| 			getIndexData() {
 | |
| 				if (this.form.startTime && this.form.endTime) {
 | |
| 					this.form.params = {
 | |
| 						beginTime: this.form.startTime,
 | |
| 						endTime: this.form.endTime
 | |
| 					}
 | |
| 				}
 | |
| 
 | |
| 
 | |
| 				request({
 | |
| 					url: 'business/handoverRecord/queryByPage',
 | |
| 					method: 'get',
 | |
| 					params: this.form
 | |
| 				}).then((res) => {
 | |
| 					if (res.code == 200) {
 | |
| 						this.listData = res.data.records
 | |
| 					} else {
 | |
| 						uni.showToast({
 | |
| 							title: res.data,
 | |
| 							icon: "none"
 | |
| 						})
 | |
| 					}
 | |
| 				})
 | |
| 			},
 | |
| 			formatDateToYYMMDDHHMM(date) {
 | |
| 				const year = String(date.getFullYear()); // 获取两位数的年份
 | |
| 				const month = String(date.getMonth() + 1).padStart(2, '0'); // 获取月份,并确保是两位数
 | |
| 				const day = String(date.getDate()).padStart(2, '0'); // 获取日期,并确保是两位数
 | |
| 				const hours = String(date.getHours()).padStart(2, '0'); // 获取小时,并确保是两位数
 | |
| 				const minutes = String(date.getMinutes()).padStart(2, '0'); // 获取分钟,并确保是两位数
 | |
| 
 | |
| 				// return `${year}/${month}/${day} ${hours}:${minutes}`;
 | |
| 				return `${year}/${month}/${day}`;
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| </script>
 | |
| 
 | |
| <style scoped lang="scss">
 | |
| 	.content {
 | |
| 		background: #f8f8f8;
 | |
| 		// 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: #f8f8f8;
 | |
| 		box-sizing: border-box;
 | |
| 		padding-top: 88px;
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 	.box_ {
 | |
| 		width: 95%;
 | |
| 		background: #FFFFFF;
 | |
| 		border-radius: 8px;
 | |
| 		box-sizing: border-box;
 | |
| 		margin: 10px auto;
 | |
| 		box-sizing: border-box;
 | |
| 		padding: 15px;
 | |
| 	}
 | |
| 
 | |
| 	.top-title {
 | |
| 		width: 100%;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: space-between;
 | |
| 	}
 | |
| 
 | |
| 	.name_ {
 | |
| 		font-weight: bold;
 | |
| 		font-size: 16px;
 | |
| 		color: #333333;
 | |
| 	}
 | |
| 
 | |
| 	.price_ {
 | |
| 		font-weight: bold;
 | |
| 		font-size: 16px;
 | |
| 		color: #0864E9;
 | |
| 	}
 | |
| 
 | |
| 	.time {
 | |
| 		font-weight: 500;
 | |
| 		font-size: 14px;
 | |
| 		color: #333333;
 | |
| 		margin: 0px auto;
 | |
| 		margin-top: 15px;
 | |
| 	}
 | |
| 
 | |
| 	.time-bs {
 | |
| 		width: 100%;
 | |
| 		box-sizing: border-box;
 | |
| 		background: #FFFFFF;
 | |
| 		padding: 15px;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: space-around;
 | |
| 	}
 | |
| 
 | |
| 	.time-box {
 | |
| 		border: 1px solid #0864E9;
 | |
| 		box-sizing: border-box;
 | |
| 		padding: 5px 15px;
 | |
| 		border-radius: 8px;
 | |
| 		font-size: 14px;
 | |
| 		color: #333;
 | |
| 		display: flex;
 | |
| 		align-items: center;
 | |
| 		justify-content: center;
 | |
| 	}
 | |
| </style> |