<template>
	<view class="excalation_body">
		<view class="excalation_body_card">
			<view class="card_item">
				<view class="tip"></view>
				<view class="excalation_body_card_title_text">{{accountName}}</view>
			</view>
			<view class="card_item">
				<view class="fh">¥</view>
				<input type="number" @input="chenkFn" v-model="money" class="card_item_input" placeholder="请输入当前油站金额" />
			</view>
			<view class="card_item " style="display: flex;">
				<text>余额结余时间:</text>
				<text style="color: #FE0505;">{{single?single:'请选择余额结余时间'}}</text>
				<uni-datetime-picker :start="start " type='datetime' v-model="single">
					<uni-icons size="18" style="margin-left: 45rpx;" type="calendar"></uni-icons>
					</uni-datetime-picker>
				
			</view>
			<button :disabled="disabled" @click="submit" class="card_butten">上报</button>
		</view>
		<scroll-view :scroll-top='scrollTop' @scroll='scroll' class="excalation_body_list" style="height: 100%;" scroll-y="true" @scrolltolower='scrolltolower'>
			<view v-for="(item,index) in list" class="excalation_body_list_item list_item">
				<view class="excalation_body_list_item_left">
					<view class="small_text">
						<text>{{userName}}</text>
						<text class="text_spacing">{{pnone}}</text>
					</view>
					<view class="tip_text">
						<text>上报时间</text>
						<text class="text_spacing">{{item.reportTime}}</text>
					</view>
				</view>
				<view class="excalation_body_list_item_right">
					<text>¥</text>
					<text>{{Number(item.balance).toFixed(2)}}</text>
				</view>
			
			</view>
		</scroll-view>
	<!-- 	<view class="excalation_body_list">
			<view v-for="(item,index) in list" class="excalation_body_list_item list_item">
				<view class="excalation_body_list_item_left">
					<view class="small_text">
						<text>{{userName}}</text>
						<text class="text_spacing">{{pnone}}</text>
					</view>
					<view class="tip_text">
						<text>上报时间</text>
						<text class="text_spacing">{{item.reportTime}}</text>
					</view>
				</view>
				<view class="excalation_body_list_item_right">
					<text>¥</text>
					<text>{{Number(item.balance).toFixed(2)}}</text>
				</view>
			</view>
		</view> -->
		<uni-popup ref="popup">
			<view class="popup_card">
				<view class="popup_card_title">是否确认上报</view>
				<view class="popup_card_from">
					<view class="popup_card_from_item">
						<view class="popup_card_from_item_left_text">上报人油站:</view>
						<view class="popup_card_from_item_right_text"> {{accountName}}</view>
					</view>
					<view class="popup_card_from_item">
						<view class="popup_card_from_item_left_text">上报金额:</view>
						<view class="popup_card_from_item_right_text"> {{money}}</view>
					</view>
					<view class="popup_card_from_item">
						<view class="popup_card_from_item_left_text">上报人:</view>
						<view class="popup_card_from_item_right_text"> {{userName}}</view>
					</view>
					<view class="popup_card_from_item">
						<view class="popup_card_from_item_left_text">上报时间:</view>
						<view class="popup_card_from_item_right_text"> {{date}}</view>
					</view>
				</view>
				<view class="popup_card_bottom">
					<button @click="$refs.popup.close()" class="popup_card_bottom_close">取消</button>
					<button @click="report" class="popup_card_bottom_submit">确认</button>
				</view>
			</view>
		</uni-popup>
	</view>
</template>

<script>
	import finance from '@/api/oil-finance.js'
	export default {
		data() {
			return {
				start:'',
				single:'',
				scrollTop:0,
				load:true,
				list: [],
				pnone: uni.getStorageSync('user').userPhone,
				page: {
					pageSize: 15, // 每页显示条数
					currentPage: 1, // 默认页
					params: {
						siteId: uni.getStorageSync('oilSitePriceId')
					}, // 查询参数
					sorted: {},
					columns: []
				},
				disabled: true,
				money: '',
				accountName: uni.getStorageSync('siteOli'),
				userName: uni.getStorageSync('loginUser').name,
				date: null
			}
		},
		watch: {
			money: function(n) {
				if (n !== '' && Number(n) !== 0) {
					this.disabled = false
				} else {
					this.disabled = true
				}
			}

		},
		onShow() {
			this.start = this.datefn();
			this.single = this.datefn()
			this.getByPage()
		},
		methods: {
			scroll(e){
				this.scrollTop = e.detail.scrollTop
			},
			scrolltolower(){
				this.$nextTick(function(){
					this.scrollTop = this.scrollTop -80;
					this.page.currentPage+=1
					this.getByPage()
				})
			},
			getByPage() {
				finance.getByPage(this.page).then(res => {
					if(this.page.currentPage>1){
						this.list = this.list.concat(res.data.list)
					}else{
						this.list = res.data.list
					}
					console.log(this.list)
				})
			},
			report() {
				finance.report({
					siteId: uni.getStorageSync('oilSitePriceId'),
					userId: uni.getStorageSync('user').id,
					reportTime:this.single,
					balance: this.money
				}).then(res => {
					if (res.code == 20000) {
						uni.showToast({
							title: '上报成功',
							icon: 'success'
						});
						this.$refs.popup.close();
						this.page.currentPage=1
						this.getByPage()
					}
				})
			},
			chenkFn() {
				let chenk = /^\d+(.\d{1,2})?$/
				if (!chenk.test(Number(this.money))) {
					this.$nextTick(function() {
						this.money = this.money.slice(0, this.money.length - 1);
						console.log(this.money.length - 1, )
					})
				} else {
					if (this.money.indexOf('.') !== -1 && this.money.split('.')[1].length > 2) {
						this.$nextTick(function() {
							this.money = Number(this.money).toFixed(2);
						})
					}
				}
			},
			datefn() {
				let a = new Date();
				return `${a.getFullYear()}-${a.getMonth()+1}-${a.getDay()} ${a.getHours()}:${a.getMinutes()}:${a.getSeconds()}`
			},
			submit() {
				this.$refs.popup.open('center')
				this.date = this.datefn();
			}
		}
	}
</script>

<style>
	.popup_card_bottom {
		display: flex;
		justify-content: center;
		margin-top: 68rpx;
	}

	.popup_card_bottom_submit {
		background: #FE0505;
		color: #ffffff;
		font-size: 25rpx;
		width: 240rpx;
	}

	.popup_card_bottom_close {
		background: #FFFFFF;
		font-size: 25rpx;
		width: 240rpx;
	}

	.popup_card_from_item_right_text {
		font-size: 24rpx;
		color: #000000;
		max-width: 50%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		margin-right: 25rpx;

	}

	.popup_card_from_item_left_text {
		font-size: 24rpx;
		color: #666666;
	}

	.popup_card_from_item {
		display: flex;
		justify-content: space-between;
		margin-bottom: 40rpx;
	}

	.popup_card_title {
		text-align: center;
		font-weight: 500;
		color: #000000;
		font-size: 36rpx;
		margin-bottom: 80rpx;
	}

	.popup_card {

		width: 681rpx;
		height: 628rpx;
		background: #FFFFFF;
		border-radius: 15px;
		padding: 64rpx;
	}

	.tip_text {
		font-size: 22rpx;
		color: #999999;
		margin-top: 12rpx;
	}

	.text_spacing {
		margin-left: 15rpx;
	}

	.small_text {
		font-size: 28rpx;
	}

	.card_item_input {
		margin-left: 27rpx;
	}

	.fh {
		font-size: 60rpx;
	}

	.excalation_body_list_item_right {
		min-width: 143rpx;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.excalation_body_list_item_left {
		flex: 1;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		margin-right: 25rpx;
	}

	.excalation_body_list_item {
		display: flex;
	}

	.excalation_body_list {
		margin-top: 32rpx;
		flex: 1;
		background-color: white;
		padding: 22rpx;
		overflow-x: hidden;
		overflow-y: auto;
	}

	.card_butten {
		background-color: #FE0505;
		color: white;
		font-size: 36rpx;
	}

	.excalation_body_card_title_text {
		flex: 1;
		margin-left: 27rpx;
		text-overflow: ellipsis;
		overflow: hidden;
		white-space: nowrap;
	}

	.tip {
		width: 8rpx;
		height: 36rpx;
		background-color: #FE0505;
		display: inline-block;
	}

	.list_item {
		border-bottom: 1rpx solid #F1F2F7;
		padding-bottom: 30rpx;
		display: flex;
		align-items: center;
		margin-bottom: 30rpx;
	}

	.card_item {
		border-bottom: 1rpx solid #F1F2F7;
		padding-bottom: 30rpx;
		display: flex;
		align-items: center;
		margin-bottom: 30rpx;
	}

	.excalation_body_card_title {
		border-bottom: 1rpx solid #F1F2F7;
		padding-bottom: 40rpx;
		display: flex;
		align-items: center;
	}

	.excalation_body_card {
		height: 490rpx;
		background-color: #ffffff;
		padding: 40rpx;
		box-sizing: border-box;
	}

	.excalation_body {
		background-color: #f1f2f7;
		height: 100vh;
		display: flex;
		flex-direction: column;
		padding: 20rpx;
		font-size: 28rpx;
	}
</style>