/**
 * author: dabao
 */
var VUE = null
window.addEventListener("load", function() {
	VUE = new Vue({
		el: '#app',
		data() {
			return {
				addBtnText: '新增',
				value: '',
				list: [],
				loading: false,
				finished: false,
				page: 0,
				size: 9999,
				total: 0
			}
		},
		mounted() {
			this.getList()
		},
		methods: {
			add(){
				gemhoUtil.setCookie('uploading', 'N')
				gemhoUtil.navigatePage('./dw-list-detail.html?type=add')
			},
			detail(item){
				gemhoUtil.setCookie('uploading', 'N')
				gemhoUtil.navigatePage('./dw-list-detail.html?dwId='+item.id+'&type=detail')
			},
			edit(item){
				gemhoUtil.setCookie('uploading', 'N')
				gemhoUtil.navigatePage('./dw-list-detail.html?dwId='+item.id+'&type=edit')
			},
			getList(){
				vant.Toast.loading({
					message: '正在加载...',
					forbidClick: true,
					loadingType: 'spinner',
				});
				setTimeout(() => {
					http2.post({
						serviceId: API_KEY_MAP["dw-list"]['id'],
						interfacePublicKey: API_KEY_MAP["dw-list"]["publicKey"],
						interfacePrivateKey: API_KEY_MAP["dw-list"]["privateKey"],
						reqParams: {
							page: this.page++,// 每次请求增加下一页
							size: this.size,
							sort: 'id,desc',
						}
					}, (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)
							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)
			}
		},
	});
});