| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539 | /** * Point.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('Point',{	extend: 'Ext.data.Model',	fields: [		//{name:'I_POINTVER_ID',  type:'int'},		{name:'UQ_POINT_ID',  type:'string'},		{name:'I_ORDER_IDX',  type:'int'},		{name:'V_POINT_ADDRESS',  type:'string'},		{name:'I_FLOOR',  type:'int'},		{name:'F_HEIGHT',  type:'string'},		//{name:'V_COMMENT',  type:'string'},		//{name:'UQ_ADMIN_ID',  type:'string'},		{name:'I_VERSION',  type:'int'},		{name:'D_STORETIME',  type:'string'},	]});Ext.onReady(function(){  	var baseUrl = document.getElementById('basePath').value;	var theme = document.getElementById('theme').value;	var chkIcon = '<img src="'+baseUrl+'res/img/common/check.gif"/>'	var unchkIcon = '<img src="'+baseUrl+'res/img/common/uncheck.gif"/>'	var countPerPage = 20;	var maxHeight = 10000;		var chkBoolean = function(flag) {		if(flag)			return chkIcon;		return unchkIcon;	}		var states1 = Ext.create('Ext.data.Store', {	    fields: ['status', 'name'],	    data : [	       // {"status":-1, "name":"全选"},	        {"status":"待开通", "name":"待开通"},	        {"status":"已开通", "name":"已开通"},	        {"status":"已锁定", "name":"已锁定"},	        {"status":"注销", "name":"注销"},	    ]	});	var clear_append_form = function (){		Ext.getCmp('fa_V_POINT_ADDRESS').setValue("");		Ext.getCmp('fa_I_FLOOR').setValue("");		Ext.getCmp('fa_F_HEIGHT').setValue("");		Ext.getCmp('fa_UQ_ADMIN_ID').setValue("");				Ext.getCmp('fa_V_COMMENT').setValue("");		Ext.getCmp('PointListPanel').getStore().reload();	}			var myStore = Ext.create('Ext.data.Store', {	    model: 'Point',	    pageSize: countPerPage, 	    proxy: {	        type: 'ajax',	        url: baseUrl+'iot/point/getList',	        reader: {	            type: 'json',	            root: 'RESULT',	            totalProperty: 'totalCount'	        }	    },	    remoteSort: true	});		var AppendForm = Ext.create('Ext.form.Panel', {		id: 'pointAppendForm',		labelWidth: 55,		url: baseUrl+'iot/point/append',		defaultType: 'textfield',		bodyPadding: 15,		items: [{			fieldLabel:'点位地址',			id: 'fa_V_POINT_ADDRESS',			name:'V_POINT_ADDRESS',			maxLength:20,			maxLengthText:'长度不得超出{0}',			anchor:'75%'		},{			fieldLabel:'楼层',			id: 'fa_I_FLOOR',			name: 'I_FLOOR',			maxLength: 250,			maxLengthText:'长度不得超出{0}',			anchor:'95%'		},{			fieldLabel:'点位部署垂直高度',			id: 'fa_F_HEIGHT',			name: 'F_HEIGHT',			maxLength: 250,			maxLengthText:'长度不得超出{0}',			anchor:'95%'		},{			fieldLabel:'信息录入人ID',			id: 'fa_UQ_ADMIN_ID',			name:'UQ_ADMIN_ID',			maxLength: 30,			maxLengthText:'长度不得超出{0}',			anchor:'95%'		},{			fieldLabel:'新增说明',			id: 'fa_V_COMMENT',			name:'V_COMMENT',			xtype: 'textareafield',			maxLength: 250,			maxLengthText:'长度不得超出{0}',			anchor:'100%'		},{			id:'fa_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();		        	query.V_POINT_ADDRESS = Ext.getCmp('fa_V_POINT_ADDRESS').getValue();		        	query.I_FLOOR = Ext.getCmp('fa_I_FLOOR').getValue();		        	query.F_HEIGHT = Ext.getCmp('fa_F_HEIGHT').getValue();		        	query.UQ_ADMIN_ID = Ext.getCmp('fa_UQ_ADMIN_ID').getValue();		        	query.V_COMMENT = Ext.getCmp('fa_V_COMMENT').getValue();		        	var jsonstr = Ext.JSON.encode(query);		        	Ext.getCmp('fa_queryJson').setValue(jsonstr);		            form.submit({		            	method:'post',		                success: function(form, action) {		                   Ext.Msg.alert('操作成功', '新增点位地址已保存', function(btn,txt){		                	   clear_append_form();		                   });		                },		                failure: function(form, action) {		                   Ext.Msg.alert('操作失败', action.Msg , function(btn,txt){		                	   clear_append_form();		                   });		                }		            });		        }		    }		},{			text: '关闭',			iconCls: 'cancel_btn',			handler: function() {				this.up('window').hide();			}		}]	});		var appendwin = function(){		Ext.create('Ext.window.Window', {		    title: '新增',		    height: 350,		    width: 400,		    layout: 'fit',		    items:  AppendForm,		    closeAction: 'hide'		}).show();	}		//筛选	var states2 = Ext.create('Ext.data.Store', {	    fields: ['status', 'name'],	    data : [	        {"status":10, "name":"全选"},	        {"status":0, "name":"待开通"},	        {"status":1, "name":"已开通"},	        {"status":2, "name":"已锁定"},	        {"status":3, "name":"注销"},	    ]	});		var clear_filter_form = function(){		Ext.getCmp('ff_V_POINT_ADDRESS').setValue("");		Ext.getCmp('ff_I_FLOOR').setValue("");		Ext.getCmp('ff_F_HEIGHT').setValue("");		Ext.getCmp('ff_UQ_ADMIN_ID').setValue("");				Ext.getCmp('ff_V_COMMENT').setValue("");	}		var states = Ext.create('Ext.data.Store', {	    fields: ['status', 'name'],	    data : [	        {"status":-1, "name":"全选"},	        {"status":0, "name":"无效"},	        {"status":1, "name":"有效"}	    ]	});		var FilterWin = Ext.create('Ext.form.Panel', {		id: 'PointFilterForm',		labelWidth: 55,		defaultType: 'textfield',		bodyPadding: 15,		items: [{			fieldLabel:'点位地址',			id: 'ff_V_POINT_ADDRESS',			name:'V_POINT_ADDRESS',			maxLength:20,			maxLengthText:'长度不得超出{0}',			value : document.getElementById('vPointAddress').value,			anchor:'75%'		},{			fieldLabel:'楼层',			id:'ff_I_FLOOR',			name:'I_FLOOR',			maxLength: 250,			maxLengthText:'长度不得超出{0}',	        value : document.getElementById('iFloor').value,	        editable : false		},//		{//			fieldLabel:'点位部署垂直高度',//			id: 'ff_F_HEIGHT',//			name: 'F_HEIGHT',//			maxLength: 250,//			maxLengthText:'长度不得超出{0}',//			value : document.getElementById('fHelght').value,//			anchor:'95%'//		},		{			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_V_POINT_ADDRESS').getValue().length>0)		        		query.V_POINT_ADDRESS = Ext.getCmp('ff_V_POINT_ADDRESS').getValue();		        	if(Ext.getCmp('ff_I_FLOOR').getValue().length>0)		        		query.I_FLOOR = Ext.getCmp('ff_I_FLOOR').getValue();	        	//		        	if(Ext.getCmp('ff_F_HEIGHT').getValue().length>0)//		        		query.F_HEIGHT = Ext.getCmp('ff_F_HEIGHT').getValue();		        	var jsonstr = Ext.JSON.encode(query);		        	myStore.getProxy().extraParams = {		        		queryJson : jsonstr		        	};			        	Ext.getCmp('PointListPageToolbar').moveFirst();		        	Ext.getCmp('vPointAddress').setValue(query.V_POINT_ADDRESS);		        	Ext.getCmp('iFloor').setValue(query.I_FLOOR);		        	//Ext.getCmp('fHelght').setValue(query.F_HEIGHT);//		        	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: 300,			width: 350,			layout: 'fit',			items: FilterWin,			closeAction: 'hide'		}).show();	}		var clear_modify_form = function (){		Ext.getCmp('fm_V_POINT_ADDRESS').setValue("");		Ext.getCmp('fm_I_FLOOR').setValue("");		Ext.getCmp('fm_F_HEIGHT').setValue("");		Ext.getCmp('fm_UQ_ADMIN_ID').setValue("");				Ext.getCmp('fm_V_COMMENT').setValue("");		Ext.getCmp('PointListPanel').getStore().reload();	}				var ModifyForm = Ext.create('Ext.form.Panel', {		id: 'PointEditForm',		labelWidth: 55,		url: baseUrl+'iot/point/update',		defaultType: 'textfield',		bodyPadding: 15,		items: [{				fieldLabel:'点位地址',				id: 'fm_V_POINT_ADDRESS',				name:'V_POINT_ADDRESS',				maxLength:20,				maxLengthText:'长度不得超出{0}',				anchor:'75%'			},{				fieldLabel:'楼层',				id: 'fm_I_FLOOR',				name: 'I_FLOOR',				maxLength: 250,				maxLengthText:'长度不得超出{0}',				anchor:'95%'			},{				fieldLabel:'点位部署垂直高度',				id: 'fm_F_HEIGHT',				name: 'F_HEIGHT',				maxLength: 250,				maxLengthText:'长度不得超出{0}',				anchor:'95%'			},{				fieldLabel:'信息录入人ID',				id: 'fm_UQ_ADMIN_ID',				name:'UQ_ADMIN_ID',				maxLength: 30,				value:"0000-0000-0000",				maxLengthText:'长度不得超出{0}',				anchor:'95%'			},{				fieldLabel:'修改说明',				id: 'fm_V_COMMENT',				name:'V_COMMENT',				xtype: 'textareafield',				maxLength: 250,				maxLengthText:'长度不得超出{0}',				anchor:'100%'			},{			id: 'fm_UQ_POINT_ID',			name:'UQ_POINT_ID',			hidden:true		},{			id:'fm_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();		        	query.UQ_POINT_ID = Ext.getCmp('fm_UQ_POINT_ID').getValue();		        	query.V_POINT_ADDRESS = Ext.getCmp('fm_V_POINT_ADDRESS').getValue();		        	query.I_FLOOR = Ext.getCmp('fm_I_FLOOR').getValue();		        	query.F_HEIGHT = Ext.getCmp('fm_F_HEIGHT').getValue();		        	query.UQ_ADMIN_ID = Ext.getCmp('fm_UQ_ADMIN_ID').getValue();		        	query.V_COMMENT = Ext.getCmp('fm_V_COMMENT').getValue();		        	var jsonstr = Ext.JSON.encode(query);		        	Ext.getCmp('fm_queryJson').setValue(jsonstr);		            form.submit({		            	method:'post',		                success: function(form, action) {		                   Ext.Msg.alert('操作成功', '已修改', function(btn,txt){		                	   clear_modify_form();		                   });		                },		                failure: function(form, action) {		                   Ext.Msg.alert('操作失败', action.Msg , function(btn,txt){		                	   clear_modify_form();		                   });		                }		            });		            this.up('window').hide();		        }		    }		},{			text: '关闭',			iconCls: 'cancel_btn',			handler: function() {				this.up('window').hide();			}		}]	});		var modifywin = function(){		Ext.create('Ext.window.Window', {		    title: '修改',		    height: 350,		    width: 400,		    layout: 'fit',		    items:  ModifyForm,		    closeAction: 'hide'		}).show();	}			var chk_sm = function() {		if(sm.getCount()==1){			modifywin();			var selected = sm.getSelection( );			Ext.getCmp('fm_UQ_POINT_ID').setValue(selected[0].raw.UQ_POINT_ID);			Ext.getCmp('fm_V_POINT_ADDRESS').setValue(selected[0].raw.V_POINT_ADDRESS);			Ext.getCmp('fm_I_FLOOR').setValue(selected[0].raw.I_FLOOR);			Ext.getCmp('fm_F_HEIGHT').setValue(selected[0].raw.F_HEIGHT);		}else{			Ext.Msg.alert('请先选择','请先选择一条记录,再点击修改');		}	}	//	//	var deletewin = function() {//		window.alert("无此功能");//		//	}		Ext.create('Ext.grid.Panel', {	    title: '点位地址管理',	    id: 'PointListPanel',	    store: myStore,	    selModel: sm,	    columns: [	    	 //{ header: 'ID',  dataIndex: 'UQ_POINT_ID',hidden:true, menuDisabled:true },		     { header: '序号',  dataIndex: 'I_ORDER_IDX', width:40, menuDisabled:true },		     { header: '点位地址', dataIndex: 'V_POINT_ADDRESS', width:120,align:'center', menuDisabled:true },		     { header: '楼层', dataIndex: 'I_FLOOR', width:160,align:'center', menuDisabled:true },		     { header: '点位部署垂直高度', dataIndex: 'F_HEIGHT', width:120,align:'center', menuDisabled:true },		     { header: '保存时间', dataIndex: 'D_STORETIME',width:160, align:'center', menuDisabled:true },		     { header: '记录版本', dataIndex: 'I_VERSION', width:120, align:'center', menuDisabled:true },		     { 	        	xtype : 'actioncolumn',	        	width:20,	        	sortable:false,	        		        		        	//这里	        	align:'center',	        	menuDisabled:true,	        	items:[{	        		icon: '../../res/img/common/forum.gif',	        		tooltip: '版本记录',	        		handler: function(grid, rowIndex, colIndex) {	                    var rec = grid.getStore().getAt(rowIndex);	        			window.location = 'version.jsp?theme='+theme+'&pointId='+rec.get('UQ_POINT_ID');	                }	        	}]    		}	    ],	    columnLines: true,	    tbar: [	    	{				  xtype: 'button', 				  iconCls:'filter_btn',  				  text: '筛选',				  listeners: {				        click: filterwin				  }	    	},'-',	    	{xtype: 'tbfill'},'-',			{ 				  xtype: 'button', 				  iconCls:'append_btn',  				  text: '新增',				  listeners: {				        click: appendwin				  }			},			{ 				xtype: 'button', 				iconCls:'modify_btn', 				text: '修改',				listeners: {					click: chk_sm				}			},//			{ //				xtype: 'button',//				iconCls:'delete_btn',//				text: '注销',//				listeners: {//					click: deletewin//				}//			}//			,{ //				xtype: 'button',//				iconCls:'delete_btn',//				text: '导出',//				listeners: {//					click: export_sj//				}//			}			    	],	    height: maxHeight,	    width: '100%',	    bbar: new Ext.PagingToolbar({              store: myStore,              id:'PointListPageToolbar',            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('PointListPanel').setHeight(maxHeight);	});
 |