/**
* v_alarmInfo.js
* Version: 0.1
* User: wy
* Date: 2017-09-06
* Copyright(c)  2017. U-GEN Tech.Co,Ltd. All Rights Reserved.
* 报警信息页面
*/

import moment from 'moment';
import {iot, uPublic, uComponents} from '../../public/public.js';
const PAGE_SIZE = 10;

iot.ready(init);
function init() {
    //通用 list、dialog、loading组件
    uPublic.componentsInit(['u-list','u-dialog','u-loading']);
    const app = new Vue({
        data:{            
            //配置组件
            componentsConfig: initComponentsConfig(),
            list:[],
            startId: 0,
            deviceId: null,
        },
        mounted(){      
        	resolve(this);
        },
        methods:{
        	getList(){
        		return this.list;
        	},
        	setList(list){
        		this.list = list;
        	},
        	getStartId(){
        		return this.startId;
        	},
        	setStartId(id){
        		this.startId = id;
        	},
        	getDeviceId(){
        		return this.deviceId;
        	},
        	setDeviceId(id){
        		this.deviceId = id;
        	},
        	onListLoadTap(){
        		listLoadTap(this);
        	},
            //tap <
            onBackTap(){
                backTap();
            }                    
        }   
    }).$mount('#app');
}

//配置组件参数
function initComponentsConfig() {
    return {
        alarmInfoList:{   
            initParam: {
                class: 'custom-list',
//              list: [
//                  {value: 1, leftImage: '../../resources/image/green_alarmInfo0_icon.png', title:'', subtitle:'禁试报警', rightText: '2017.06.2315:56:26'},
//                  {value: 2, leftImage: '../../resources/image/green_alarmInfo1_icon.png', title:'', subtitle:'防撬报警', rightText: '2017.06.2315:01:01'},
//                  {value: 3, leftImage: '../../resources/image/green_alarmInfo2_icon.png', title:'', subtitle:'欠电报警', rightText: '2017.05.2315:56:26'},
//                  {value: 4, leftImage: '../../resources/image/green_alarmInfo3_icon.png', title:'', subtitle:'假锁报警', rightText: '2017.03.2315:01:01'}
//              ],
				list: [],
                tip: Vue.t('alarmInfo.noInfoTip')
            }
        },
        dialog: {
            initParam: {
                class: 'custom-dialog'
            }
        },
        loading: {
            initParam: {
                class: 'custom-loading'
            }
        }                
    }
}

	 function resolve(self) {
	  	self.setDeviceId(iot.navigator.getExtras().deviceId);
		uComponents.showLoading(self);
    	iot.business.api.sendCustom('lock/getHistoryRecord',
		{
			data: {
				device_id: self.getDeviceId(),
				action: 2,
				start_id: self.getStartId(),
				page_size: PAGE_SIZE
			},
			success: (response) => {
				console.log(response);
				let data = uPublic.checkResponseData(response.data);
				if(data){
					let list = [];
					let record = data.record;
					for(let i=0; i<record.length; i++){
						list[i] = {
							value: record[i].openId,
							leftImage: '../../resources/image/green_alarmInfo'+record[i].mode+'_icon.png',
							subtitle: Vue.t('alarmInfo.mode_'+record[i].mode+''),
							rightText: moment(record[i].time).format("YYYY.MM.DD HH:mm:ss")
						};
					}
					self.setList(self.getList().concat(list));
					if(record.length > 0){
						self.setStartId(record[record.length-1].id);
					}
					//更新列表数据
		            uComponents.changeList(self, self.getList());
				}else{
				}
				uComponents.hideLoading(self);
			},
			error: (err) => {
	           	uPublic.openRequestErrorAlert(self);
				console.log(err); 
			},
			complete: () => {
				uComponents.hideLoading(self);
			}
		});
    }

//tap <
function backTap(){
    iot.navigator.back();
}

//tap 点击加载更多
function listLoadTap(self) {
	resolve(self);
}