/**
 * inspectionrecord.js 
 * 巡检点工作记录管理界面
 * emial: yaoqiang@chinausky.com
 * create: 2018-12-08
 */
Ext.Loader.setConfig({
    enabled: true
});
Ext.Loader.setPath('Ext.ux', '../../res/extjs/examples/ux');
Ext.require([
    'Ext.grid.*',
    'Ext.data.*',
    'Ext.ux.RowExpander',
    'Ext.selection.CheckboxModel'
]);
var sm = Ext.create('Ext.selection.CheckboxModel');
Ext.define('InspectionRecord',{
	extend: 'Ext.data.Model',
	fields: [
		{name:'id',  type:'string'},
//		{name:'personnel',  type:'string'},
//		{name:'route',  type:'string'},
		{name:'inspection_time',  type:'string'},
//		{name:'point_position',  type:'string'},
		{name:'xjzt',  type:'string'},
		{name:'qk',  type:'string'},
		{name:'equipment_id',  type:'string'},
		{name:'xj_name',  type:'string'},
		{name:'analysis_content',  type:'string'},
		{name:'name',  type:'string'},
		{name:'route_name',  type:'string'},
	]
});
Ext.onReady(function(){  
	var baseUrl = document.getElementById('basePath').value;
	var theme = document.getElementById('theme').value;
	var chkIcon = '
'
	var unchkIcon = '
'
	var countPerPage = 20;
	var maxHeight = 10000;
	
	var chkBoolean = function(flag) {
		if(flag)
			return chkIcon;
		return unchkIcon;
	}
	
		
	var myStore = Ext.create('Ext.data.Store', {
	    model: 'InspectionRecord',
	    pageSize: countPerPage, 
	    proxy: {
	        type: 'ajax',
	        url: baseUrl+'iot/inspectionrecord/getList1',
	        reader: {
	            type: 'json',
	            root: 'RESULT',
	            totalProperty: 'totalCount'
	        }
	    },
	    remoteSort: true
	});
	
	
	var states1 = Ext.create('Ext.data.Store', {
	    fields: ['status', 'name'],
	    data : [
	        {"status":"全选", "name":"全选"},
	        {"status":"正常", "name":"正常"},
	        {"status":"异常", "name":"异常"},
	        {"status":"故障", "name":"故障"},
	    ]
	});
	
	//筛选
	var clear_filter_form = function(){
		Ext.getCmp('ff_name').setValue("");
		Ext.getCmp('ff_xj_name').setValue("");
		Ext.getCmp('ff_equipment_id').setValue("");
		Ext.getCmp('ff_analysis_content').setValue("");
		Ext.getCmp('ff_route_name').setValue("");
//		Ext.getCmp('ff_personnel').setValue("");
//		Ext.getCmp('ff_route').setValue("");
//		Ext.getCmp('ff_point_position').setValue("");
		Ext.getCmp('ff_xjzt').setValue("");
//		Ext.getCmp('ff_qk').setValue("");
		Ext.getCmp('ff_inspection_time').setValue("");
	}
	
	var FilterWin = Ext.create('Ext.form.Panel', {
		id: 'InspectionRecordFilterForm',
		labelWidth: 55,
		defaultType: 'textfield',
		bodyPadding: 15,
		items: [{
			fieldLabel:'巡检人',
			id: 'ff_name',
			name:'name',
			maxLength:30,
			maxLengthText:'长度不得超出{0}',
			value : document.getElementById('name').value,
			anchor:'75%'
		},{
			fieldLabel:'巡检点名称',
			id:'ff_xj_name',
			name:'xj_name',
			maxLength: 50,
			maxLengthText:'长度不得超出{0}',
	        value : document.getElementById('xj_name').value,
	        anchor:'75%'
		},{
			fieldLabel:'巡检点对应的设备',
			id: 'ff_equipment_id',
			name: 'equipment_id',
			maxLength: 250,
			maxLengthText:'长度不得超出{0}',
			value : document.getElementById('equipment_id').value,
			anchor:'95%'
		},{
			fieldLabel:'巡检标签',
			id: 'ff_analysis_content',
			name: 'analysis_content',
			maxLength: 250,
			maxLengthText:'长度不得超出{0}',
			value : document.getElementById('analysis_content').value,
			anchor:'95%'
		},{
			fieldLabel:'巡检路线名称',
			id: 'ff_route_name',
			name: 'route_name',
			maxLength: 250,
			maxLengthText:'长度不得超出{0}',
			value : document.getElementById('route_name').value,
			anchor:'95%'
		},
//		{
//			fieldLabel:'巡检人',
//			id: 'ff_personnel',
//			name:'personnel',
//			maxLength:20,
//			maxLengthText:'长度不得超出{0}',
//			value : document.getElementById('personnel').value,
//			anchor:'75%'
//		},{
//			fieldLabel:'巡检路线',
//			id:'ff_route',
//			name:'route',
//			maxLength: 250,
//			maxLengthText:'长度不得超出{0}',
//	        value : document.getElementById('route').value,
//	        editable : false
//		},{
//			fieldLabel:'巡检标签',
//			id: 'ff_point_position',
//			name: 'point_position',
//			maxLength: 250,
//			maxLengthText:'长度不得超出{0}',
//			value : document.getElementById('point_position').value,
//			anchor:'95%'
//		},
//		{
//			fieldLabel:'巡检状态',
//			id:'ff_xjzt',
//			name:'xjzt',
//			maxLength: 250,
//			maxLengthText:'长度不得超出{0}',
//	        value : document.getElementById('xjzt').value,
//	        editable : false
//		}
		{
			fieldLabel:'巡检状态',
			id:'ff_xjzt',
			name:'xjzt',
			xtype:'combo',
			store:states1,
			displayField : 'name',  
	        valueField : 'status',
	        value : "全选",
	        editable : false
		},{
			fieldLabel:'巡检时间',
			id:'ff_inspection_time',
			name:'inspection_time',
			maxLength: 250,
			maxLengthText:'长度不得超出{0}',
	        value : document.getElementById('inspection_time').value,
	        editable : false
		},
//		{
//			fieldLabel:'巡检情况报说明',
//			id:'ff_qk',
//			name:'qk',
//			xtype: 'textareafield',
//			maxLength: 250,
//			maxLengthText:'长度不得超出{0}',
//	        value : document.getElementById('qk').value,
//	        anchor:'100%',
//	        editable : false
//		},
		{
			id:'ff_queryJson',
			name:'queryJson',
			hidden:true
		}],
		buttons: [{
	        text: '提交',
	        iconCls:'ok_btn',
		    handler: function() {
		        var form = this.up('form').getForm();
		        if (form.isValid()) {
		        	var query = new Object();
		        	if(Ext.getCmp('ff_name').getValue().length>0)
		        		query.name = Ext.getCmp('ff_name').getValue();	        	
		        	if(Ext.getCmp('ff_xj_name').getValue().length>0)
		        		query.xj_name = Ext.getCmp('ff_xj_name').getValue();
		        	if(Ext.getCmp('ff_equipment_id').getValue().length>0)
		        		query.equipment_id = Ext.getCmp('ff_equipment_id').getValue();
		        	if(Ext.getCmp('ff_analysis_content').getValue().length>0)
		        		query.analysis_content = Ext.getCmp('ff_analysis_content').getValue();
		        	if(Ext.getCmp('ff_route_name').getValue().length>0)
			        	query.route_name = Ext.getCmp('ff_route_name').getValue();
//		        	if(Ext.getCmp('ff_personnel').getValue().length>0)
//		        		query.personnel = Ext.getCmp('ff_personnel').getValue();
//		        	if(Ext.getCmp('ff_route').getValue().length>0)
//		        		query.route = Ext.getCmp('ff_route').getValue();	        	
//		        	if(Ext.getCmp('ff_point_position').getValue().length>0)
//		        		query.point_position = Ext.getCmp('ff_point_position').getValue();
		        	if(Ext.getCmp('ff_xjzt').getValue().length>0){
//		        		query.xjzt = Ext.getCmp('ff_xjzt').getValue();
		        		if(Ext.getCmp('ff_xjzt').getValue()=="正常") {
		        			query.xjzt = "0";
		    			}else if(Ext.getCmp('ff_xjzt').getValue()=="异常") {
		    				query.xjzt = "1";
		    			}else if(Ext.getCmp('ff_xjzt').getValue()=="故障") {
		    				query.xjzt = "2";
		    			}else if(Ext.getCmp('ff_xjzt').getValue()=="全选") {
//		    				query.xjzt = null;
		    			}
		        	}
		        			        	
//		        	if(Ext.getCmp('ff_qk').getValue().length>0)
//		        		query.qk = Ext.getCmp('ff_qk').getValue();
		        	if(Ext.getCmp('ff_inspection_time').getValue().length>0)
		        		query.inspection_time = Ext.getCmp('ff_inspection_time').getValue();
		        	
		        	var jsonstr = Ext.JSON.encode(query);
		        	myStore.getProxy().extraParams = {
		        		queryJson : jsonstr
		        	};	
		        	Ext.getCmp('InspectionRecordListPageToolbar').moveFirst();
		        	Ext.getCmp('name').setValue(query.name);
		        	Ext.getCmp('xj_name').setValue(query.xj_name);
		        	Ext.getCmp('equipment_id').setValue(query.equipment_id);
		        	Ext.getCmp('analysis_content').setValue(query.analysis_content);
		        	Ext.getCmp('route_name').setValue(query.route_name);
//		        	Ext.getCmp('personnel').setValue(query.personnel);
//		        	Ext.getCmp('route').setValue(query.route);
//		        	Ext.getCmp('point_position').setValue(query.point_position);
		        	Ext.getCmp('xjzt').setValue(query.xjzt);
//		        	Ext.getCmp('qk').setValue(query.qk);
		        	Ext.getCmp('inspection_time').setValue(query.inspection_time);
//		        	myStore.reload();
		        	clear_filter_form();
		        	this.up('window').hide();
		        }
		    }
		},{
			text: '关闭',
			iconCls: 'cancel_btn',
			handler: function() {
				this.up('window').hide();
			}
		}]
	});
	
	
	
	var filterwin = function() {
		Ext.create('Ext.window.Window',{
			title: '筛选',
			height: 400,
			width: 400,
			layout: 'fit',
			items: FilterWin,
			closeAction: 'hide'
		}).show();
	}
	
	
	Ext.create('Ext.grid.Panel', {
	    title: '巡检点工作记录',
	    id: 'InspectionRecordListPanel',
	    store: myStore,
	    selModel: sm,
	    columns: [
	    	 //{ header: 'ID',  dataIndex: 'UQ_POINT_ID',hidden:true, menuDisabled:true },
		     { header: 'ID',  dataIndex: 'id', width:40, menuDisabled:true },
		     { header: '巡检点名称', dataIndex: 'xj_name', width:120,align:'center', menuDisabled:true },
		     { header: '巡检点对应设备', dataIndex: 'equipment_id', width:120,align:'center', menuDisabled:true },
		     { header: '巡检路线名称', dataIndex: 'route_name', width:160,align:'center', menuDisabled:true },
		     { header: '巡检标签', dataIndex: 'analysis_content', width:120,align:'center', menuDisabled:true },
		     { header: '巡检状态', dataIndex: 'xjzt', width:120,align:'center', menuDisabled:true },
		     { header: '巡检情况说明', dataIndex: 'qk', width:180, menuDisabled:true },
//		     { header: '巡检人', dataIndex: 'personnel', width:120,align:'center', menuDisabled:true },
		     { header: '巡检人', dataIndex: 'name', width:120,align:'center', menuDisabled:true },
//		     { header: '巡检路线', dataIndex: 'route', width:160,align:'center', menuDisabled:true },
//		     { header: '巡检标签', dataIndex: 'point_position', width:120,align:'center', menuDisabled:true },
		     { header: '巡检时间', dataIndex: 'inspection_time', width:160,align:'center', menuDisabled:true },
	    ],
	    columnLines: true,
	    tbar: [
	    	{
				  xtype: 'button', 
				  iconCls:'filter_btn',  
				  text: '筛选',
				  listeners: {
				        click: filterwin
				  }
	    	},'-',
	    	{xtype: 'tbfill'},'-',
    	],
	    height: maxHeight,
	    width: '100%',
	    bbar: new Ext.PagingToolbar({  
            store: myStore,  
            id:'InspectionRecordListPageToolbar',
            displayInfo: true,  
            pageSize: countPerPage,  
            prependButtons: true,  
            displayMsg : '显示第 {0}条到 {1}条记录,总共 {2}条',     
            emptyMsg : "没有记录",  
            firstText: '第一页',
            prevText: '前一页',
            nextText: '后一页',
            lastText: '最后一页',
            refreshText: '刷新',
//            doRefresh:function(start){  
//            	alert(start);
//                relushDataFunction(start); // 调用函数刷新数据  
//                this.cursor = start; // 更新页签  
//            }
        }),
        frame: true,  
        border:false,  
        iconCls: 'icon-grid',
	    renderTo: Ext.getBody()
	});
	myStore.reload();
	maxHeight =  document.documentElement.clientHeight;
	Ext.getCmp('InspectionRecordListPanel').setHeight(maxHeight);
	
});