/**
 * author: dabao
 */
var VUE = null
window.addEventListener("load", function() {
	VUE = new Vue({
		el: '#app',
		data() {
			return {
				planName: '',
				list: [],
				loading: false,
				finished: false,
				page: 0,
				size: 9999,
				total: 0
			}
		},
		mounted() {
			this.getList()
		},
		methods: {
			detail(item) {
				gemhoUtil.navigatePage('./emergency-detail.html?planId=' + item.id)
			},
			resetSearchForm() {
				this.page = 0
				this.size = 9999
				this.total = 0
				this.list = []
				this.finished = false;
			},
			onClear() {
				this.resetSearchForm()
				this.getList()
			},
			onSearch(val) {
				this.resetSearchForm()
				console.log('search', val)
				this.getList()
			},
			getList() {
				vant.Toast.loading({
					message: '正在加载...',
					forbidClick: true,
					loadingType: 'spinner',
				});
				setTimeout(() => {
					http2.post({
						serviceId: API_KEY_MAP["emergency"]['id'],
						interfacePublicKey: API_KEY_MAP["emergency"][
							"publicKey"
						],
						interfacePrivateKey: API_KEY_MAP["emergency"][
							"privateKey"
						],
						reqParams: {
							page: this.page++, // 每次请求增加下一页
							size: this.size,
							planName: this.planName,
						}
					}, (res) => {
						if(!res){ // 中台返回为undefined 重新请求
							vant.Toast.clear()
							this.page = this.page - 1 // 重新请求后，分页数恢复上一次请求的值
							setTimeout(() => {
								this.getList()
							}, 0);
							return
						}	
						if (res) {
							// console.log('接口回调数据', JSON.parse(res))

							var result = JSON.parse(res).body
							this.loading = false; // 加载状态结束
							this.list.push(...result.content);
							this.total = result.totalElements

							if (this.page * this.size >= this.total) {
								this.finished = true; // 下滑不在刷新数据
							}
						}
						this.loading = false
						setTimeout(() => {
							this.$nextTick(()=>{
								vant.Toast.clear()
							})
						}, 0);
						this.$nextTick(()=>{
							// 滚动条跳转位置
							window.scrollTo(0, gemhoUtil.getCookie('scrollPosition'));
						})
					})
				}, 0)
			}
		},
	});
});