<template>
	<view class="content">
	
		<view v-if="pageList.length>0">
			<list-unit v-for="(item,index) in pageList" :key="index" :item="item" :i="index" @goDetail="goDetail"></list-unit>
			
		</view>
		<view v-else-if="!pageData.isLoading" style="height: 100%;">
			<noFound :nodata="pageList.length>0 ? false : true"/>
		</view>
		<view class="load-more" v-if="pageList.length>0">
			<text>{{!pageData.isEnd ? '正在加载,请稍后...':'——— 我是有底线的 ———'}}</text>
		</view>
		
	</view>
</template>

<script>
	import ListUnit from './components/expenseUnit.vue'
	
	export default {
		data() {
			return {
				pageData: {
					pageIndex:1,
					pageSize:10,
					isEnd: false,
					isLoading: true
				},
				pageList:[]
			}
		},
		components:{
			ListUnit
		},
		onLoad() {
			this.pageData.isLoading= true
			uni.showLoading({
				title:'正在加载'
			})
			this.getList()
		},
		methods: {
			getList() {
				let _this = this
				
				_this.$request.$get("GetFinanceFlowList",{
					pageIndex: _this.pageData.pageIndex,
					pageSize: _this.pageData.pageSize
				}).then(res => {
				
					if(!res.ResultCode ||res.ResultCode!='100'){
						
						_this.pageList = []
					}else{
						let list = res.Data.List
						if (list.length > 0) {
							
							
							_this.pageList = this.pageData.pageIndex==1 ? list : _this.pageList.concat(list)
							
						}
						if (list.length < _this.pageData.pageSize) { // 返回条数小于每页条数
							_this.pageData.isEnd = true
						}
						_this.$forceUpdate()
					
					}
					uni.hideLoading()
					setTimeout(function(){
						
						_this.pageData.isLoading = false
					},500)
				})
			},
			loadMore(){
				if(!this.pageData.isEnd) {
					this.pageData.pageIndex += 1
					this.getList()
				}
			},
			goDetail(item) {
				let pageName = ''
				
				switch (item.ACCEPT_TYPE) {
					// 差旅费报销
					case 401202:
						pageName = 'travelExpense'
						break
					// 公务交通费用
					case 401207:
						pageName = 'publicTransportation'
						break;
					// 差旅费超标准
					case 401206:
						pageName = 'travelExcessive'
						break;
					// 行政资产申请
					case 401101:
						pageName = 'administrative'
						break;
					// 公务接待审批
					case 401102:
						pageName = 'officialEntertaining'
						break;
					// 工程款支付
					case 401203:
						pageName = 'engineering'
						break;
					// 经费预算申请
					case 401204:
						pageName = 'budget'
						break;
					// 固定资产处理
					case 401205:
						pageName = 'fixedAssets'
						break;
					// 内部转账审批
					case 401301:
						pageName = 'internalTransfer'
						break;
					//大额支付审批
					case 401302:
						pageName = 'bigPay'
						break;
					// 支票领用审批
					case 401303:
						pageName = 'checkRecipients'
						break;
					// 领付款申请
					case 401304:
						pageName = 'getPayment'
						break;
					case 401201: // 费用报销审批
						pageName = 'reimbursement'
						break
				}
				this.$util.toNextRoute('navigateTo', "/pages/expenseApproval/"+pageName+"?id=" + item.FINANCEPROINST_ID)
				
			},
		},
		onPullDownRefresh() {
			this.pageData.pageIndex = 1
			this.pageData.isEnd = false
			uni.showLoading({
				title:'正在加载'
			})
			this.getList()
			setTimeout(function() {
				uni.stopPullDownRefresh()
			}, 1000)
		},
		onReachBottom(){
			this.loadMore()
		},
		onUnload() {
			this.$util.addUserBehavior()
		},
		onShow() {
			let _this = this
			this.$eventHub.$once('3000', function (data){
				if(data) {
					uni.showLoading({
						title:'正在加载'
					})
					_this.pageData.pageIndex = 1
					_this.pageData.isEnd = false
					_this.getList()
					
				}
			});
		},
		onHide() {
			this.$eventHub.$off('3000', function (data) {
			 	// console.log('scanResult - '+data);
			});
		}
	}
</script>

<style scoped>
	.content {
		display: flex;
		flex-direction: column;
		justify-content: center;
		/* height: 100%; */
	}

</style>
