/** * patrolplan.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'); //var sm1 = Ext.create('Ext.selection.CheckboxModel'); var menuidx = ''; var mouseon; var mouseoff; var menu_click; var AllSelectedRecords = []; var sm1; var initflag = false; Ext.define('companyxx',{ extend: 'Ext.data.Model', fields: [ {name:'id', type:'string'}, {name:'xh', type:'int'}, {name:'username', type:'string'}, {name:'bjhm', type:'string'}, {name:'bjxh', type:'string'}, {name:'zed', type:'string'}, {name:'krq', type:'string'}, {name:'jrq', type:'string'}, {name:'pzlb', type:'string'}, {name:'zq', type:'string'}, {name:'sbtype', type:'string'}, {name:'sbtype_name_list', type:'string'}, {name:'company_name', type:'string'}, {name:'name', type:'string'}, {name:'czccs', type:'int'}, ] }); var body_resize = function(){ maxHeight = document.documentElement.clientHeight; maxWidth = document.documentElement.clientWidth; Ext.getCmp('PatrolPlanPiebar').setHeight(maxHeight); Ext.getCmp('PatrolPlanPiebar').setWidth(maxWidth); } Ext.onReady(function(){ var baseUrl = document.getElementById('basePath').value; var theme = document.getElementById('theme').value; company_code = document.getElementById('company_code').value; $("#V_LOGINNAME").val(sessionStorage.getItem('V_LOGINNAME')); $("#V_PASSWORD").val(sessionStorage.getItem('V_PASSWORD')); var V_LOGINNAME = $("#V_LOGINNAME").val(); var V_PASSWORD = $("#V_PASSWORD").val(); var chkIcon = '' var unchkIcon = '' var countPerPage = 15; var maxHeight = 10000; var chkBoolean = function(flag) { if(flag) return chkIcon; return unchkIcon; } var deselect_fun = function(record){ var index = AllSelectedRecords.indexOf(record.get("id")); if (index > -1) { AllSelectedRecords.splice(index, 1); return AllSelectedRecords; } } sm1 = Ext.create('Ext.selection.CheckboxModel',{ mode: "MULTI", listeners: { deselect: function (me, record, index, opts) { if(initflag){ // alert("初始化"); }else{ deselect_fun(record); } }, select: function (me, record, index, opts) { var index = AllSelectedRecords.indexOf(record.get("id")); if (index > -1) { return AllSelectedRecords; }else{ AllSelectedRecords.push(record.get("id")); return AllSelectedRecords; } } } }); var queryJson = new Object(); // queryJson.V_LOGINNAME = V_LOGINNAME; // queryJson.V_PASSWORD = V_PASSWORD; queryJson.COMMSTATUS = 'NO'; if((company_code!=null)&&(company_code!='null')&&(company_code.length>0)) queryJson.company_code = company_code; var myStore = Ext.create('Ext.data.Store', { model: 'companyxx', pageSize: countPerPage, proxy: { type: 'ajax', url: baseUrl+'iot/pzb/getCompanyxxList', reader: { type: 'json', root: 'RESULT', totalProperty: 'totalCount' }, extraParams:{ queryJson:Ext.JSON.encode(queryJson) } }, remoteSort: true }); Ext.define('xhxx',{ extend:'Ext.data.Model', fields: [ {name:'xh', type:'string'}, {name:'id',type:'int'} ] }); var getXhList = Ext.create('Ext.data.Store',{ model: 'xhxx', proxy: { type: 'ajax', actionMethods: { create : 'POST', read : 'POST', // by default GET update : 'POST', destroy: 'POST' }, url: baseUrl+'iot/pzb/getXhList', reader: { type: 'json', root: 'RESULT', totalProperty: 'totalCount' }, extraParams:{ queryJson:Ext.JSON.encode(queryJson) } } }); var states = Ext.create('Ext.data.Store', { fields: ['status', 'name'], data : [ {"status":"0", "name":"天"}, {"status":"1", "name":"月"}, {"status":"2", "name":"年"}, ] }); var clear_append_form = function (){ Ext.getCmp('fa_company_name').setValue(""); Ext.getCmp('fa_name').setValue(""); Ext.getCmp('fa_bjhm').setValue(""); Ext.getCmp('fa_bjxh').setValue(""); Ext.getCmp('fa_pzlb').setValue(""); Ext.getCmp('fa_lbsl').setValue(""); Ext.getCmp('fa_username').setValue(""); Ext.getCmp('fa_sbtype').setValue(""); Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload(); } var AppendForm = Ext.create('Ext.form.Panel', { id: 'companyxxAppendForm1', labelWidth: 55, url: baseUrl+'iot/pzb/appendCompanyxx', defaultType: 'textfield', bodyPadding: 15, items: [{ fieldLabel:'单位名称', id: 'fa_company_name', name:'company_name', maxLength:20, maxLengthText:'长度不得超出{0}', anchor:'75%' },{ fieldLabel:'责任人姓名', id: 'fa_name', name:'name', maxLength:20, maxLengthText:'长度不得超出{0}', anchor:'75%' },{ fieldLabel:'责任人手机号', id: 'fa_bjhm', name:'bjhm', maxLength:20, maxLengthText:'长度不得超出{0}', anchor:'75%' },{ fieldLabel:'显号', id:'fa_bjxh', name:'bjxh', xtype:'combo', store:getXhList, displayField : 'xh', valueField : 'id', editable : false, anchor:'75%' },{ fieldLabel:'周期', id:'fa_pzlb', name:'pzlb', xtype:'combo', store:states, displayField : 'name', valueField : 'status', editable : false, anchor:'75%', },{ fieldLabel:'周期次数', id: 'fa_lbsl', name:'lbsl', maxLength:20, maxLengthText:'长度不得超出{0}', anchor:'75%', },{ fieldLabel:'用户名', id: 'fa_username', name:'username', maxLength:20, maxLengthText:'长度不得超出{0}', anchor:'75%' },{ xtype: 'checkboxgroup', fieldLabel: '报警类型', id:"fa_sbtype", listeners:{ change:function(gp,nv,ov,eOpts){ var i=0; if(nv.all && !ov.all){ Ext.getCmp('fa_all_checkbox').setValue(true); Ext.getCmp('fa_monday_checkbox').setValue(true); Ext.getCmp('fa_tuesday_checkbox').setValue(true); Ext.getCmp('fa_wednesday_checkbox').setValue(true); Ext.getCmp('fa_thursday_checkbox').setValue(true); Ext.getCmp('fa_friday_checkbox').setValue(true); Ext.getCmp('fa_saturday_checkbox').setValue(true); Ext.getCmp('fa_sunday_checkbox').setValue(true); return true; } if(ov.all && !nv.all && nv.monday && nv.tuesday && nv.wednesday && nv.thursday && nv.friday && nv.saturday && nv.sunday){ Ext.getCmp('fa_all_checkbox').setValue(false); Ext.getCmp('fa_monday_checkbox').setValue(false); Ext.getCmp('fa_tuesday_checkbox').setValue(false); Ext.getCmp('fa_wednesday_checkbox').setValue(false); Ext.getCmp('fa_thursday_checkbox').setValue(false); Ext.getCmp('fa_friday_checkbox').setValue(false); Ext.getCmp('fa_saturday_checkbox').setValue(false); Ext.getCmp('fa_sunday_checkbox').setValue(false); return true; } if(nv.monday && nv.tuesday && nv.wednesday && nv.thursday && nv.friday && nv.saturday && nv.sunday){ Ext.getCmp('fa_all_checkbox').setValue(true); return true; }else{ Ext.getCmp('fa_all_checkbox').setValue(false); return true; } } }, columns: 3, items: [ {boxLabel: '全选', name: 'all',inputValue:"0",id:"fa_all_checkbox"}, {boxLabel: '火警', name: 'monday',inputValue:"1",id:"fa_monday_checkbox"}, {boxLabel: '消防水', name: 'tuesday',inputValue:"2",id:"fa_tuesday_checkbox"}, {boxLabel: '烟感', name: 'wednesday',inputValue:"3",id:"fa_wednesday_checkbox"}, {boxLabel: '液位', name: 'thursday',inputValue:"5",id:"fa_thursday_checkbox"}, {boxLabel: 'RTU', name: 'friday',inputValue:"6",id:"fa_friday_checkbox"}, {boxLabel: '电气火灾', name: 'saturday',inputValue:"7",id:"fa_saturday_checkbox"}, {boxLabel: '离线', name: 'sunday',inputValue:"8",id:"fa_sunday_checkbox"} ]},{ id:'fa_Inspectors_queryJson1', 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_LOGINNAME = $("#V_LOGINNAME").val(); query.username = Ext.getCmp('fa_username').getValue(); query.bjxh = Ext.getCmp('fa_bjxh').getValue(); query.bjhm = Ext.getCmp('fa_bjhm').getValue(); query.pzlb = Ext.getCmp('fa_pzlb').getValue(); query.lbsl = Ext.getCmp('fa_lbsl').getValue(); query.company_name = Ext.getCmp('fa_company_name').getValue(); query.name = Ext.getCmp('fa_name').getValue(); var sbtypeValue = Ext.getCmp('fa_sbtype').getChecked(); var fa_sbtype1=''; Ext.Array.each(sbtypeValue, function(item){ fa_sbtype1 +=item.inputValue+','; }); query.sbtype = fa_sbtype1; var jsonstr = Ext.JSON.encode(query); Ext.getCmp('fa_Inspectors_queryJson1').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.result.Msg , function(btn,txt){ clear_append_form(); }); } }); } } },{ text: '关闭', iconCls: 'cancel_btn', handler: function() { this.up('window').hide(); clear_append_form } }] }); var appendwin = function(){ var zfappendwin = Ext.getCmp('zfappendwin1'); if(zfappendwin==undefined) Ext.create('Ext.window.Window', { id:'zfappendwin1', title: '新增', height: 400, width: 450, modal: true, layout: 'fit', items: AppendForm, closeAction: 'hide' }).show(); else zfappendwin.show(); } var del_sm = function() { if(sm.getCount()==1){ var selected = sm.getSelection( ); var query = new Object(); var list = new Array(); var o = new Object(); o.id = selected[0].raw.id; list.push(o); query.ID_LIST = list; var jsonstr= Ext.JSON.encode(query); Ext.MessageBox.confirm('注销单位信息','是否注销'+selected[0].raw.username+' 单位信息?',function(btn){ if(btn=='yes'){ $.ajax({ type:'POST', url: baseUrl+"iot/pzb/delCompanyxx", data: { queryJson : jsonstr }, success: function(result){ var json = eval('(' + result + ')'); if(json.action=='deleteCompanyxx'){ if(json.success==true){ Ext.Msg.alert('操作成功', json.MSG , function(btn,txt){ // Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload(); Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload(); }); }else{ Ext.Msg.alert('操作失败', json.MSG , function(btn,txt){ Ext.getCmp('PatrolPlanListPageToolbar').getStore().reload(); }); } } } }); } },this); }else{ if(sm.getCount()>1){ var query = new Object(); var list = new Array(); for(var i=0;i0){ query.company_name = company_name; $("#company_name").val(company_name); } if(name.length>0){ query.name = name; $("#name").val(name); } if(bjhm.length>0){ query.bjhm = bjhm; $("#bjhm").val(bjhm); } if(bjxh.length>0){ query.bjxh = bjxh; $("#bjxh").val(bjxh); } // query.V_LOGINNAME = V_LOGINNAME; // query.V_PASSWORD = V_PASSWORD; var jsonstr = Ext.JSON.encode(query); myStore.getProxy().extraParams = { queryJson : jsonstr }; Ext.getCmp('PatrolPlanListPageToolbar').moveFirst(); } var reset1 = function(){ document.getElementById('companyxx_title2_input').value = ''; document.getElementById('companyxx_title3_input1').value = ''; document.getElementById('companyxx_title88_input1').value = ''; document.getElementById('companyxx_title89_input1').value = ''; $("#company_name").val(''); $("#name").val(''); $("#bjxh").val(''); $("#bjhm").val(''); show_page(); } mouseon = function(obj){ var id = obj.id; $("#"+id).removeClass(id); $("#"+id).addClass(id+'_on'); } mouseoff = function(obj){ var mid = "companyxx_"; for(var i=1;i<6;i++){ var id = "companyxx_title"+i+"_div"; $("#"+id).removeClass(id+'_on'); $("#"+id).addClass(id); } if(menuidx=='m1'){ mid += 'title1_div'; $("#"+mid).removeClass(mid); $("#"+mid).addClass(mid+'_on'); } else if(menuidx=='m2'){ mid += 'title2_div'; $("#"+mid).removeClass(mid); $("#"+mid).addClass(mid+'_on'); } else if(menuidx=='m3'){ mid += 'title3_div'; $("#"+mid).removeClass(mid); $("#"+mid).addClass(mid+'_on'); } else if(menuidx=='m4'){ mid += 'title4_div'; $("#"+mid).removeClass(mid); $("#"+mid).addClass(mid+'_on'); } else if(menuidx=='m5'){ mid += 'title5_div'; $("#"+mid).removeClass(mid); $("#"+mid).addClass(mid+'_on'); } } menu_click = function(obj){ var id = obj.id; if(id=='companyxx_title1_div'){ menuidx = 'm1'; show_page(); } else if(id=='companyxx_title2_div'){ menuidx = 'm2'; reset1(); } else if(id=='companyxx_title3_div'){ menuidx = 'm3'; del_sm(); } else if(id=='companyxx_title4_div'){ menuidx = 'm4'; appendwin(); } else if(id=='companyxx_title5_div'){ menuidx = 'm5'; chk_sm(); } } var piedarHtml = function() { var maintenancePlanHtml = document.getElementById('patrolPlanHtml'); var divhiddle = document.createElement('div'); divhiddle.id='pzd_div_1'; divhiddle.setAttribute('class','pzdHandleHtml3DivHiddle'); maintenancePlanHtml.appendChild(divhiddle); var title = document.createElement('div'); title.setAttribute('class','companyxx_Title'); title.innerHTML='参数配置'; maintenancePlanHtml.appendChild(title); var title2 = document.createElement('div'); title2.setAttribute('class','companyxx1_title2_div'); title2.innerHTML='单位名称'; maintenancePlanHtml.appendChild(title2); var input = document.createElement('input'); input.setAttribute('class','companyxx_input_class'); input.setAttribute('id','companyxx_title2_input'); input.setAttribute('type','text'); input.setAttribute('value',''); maintenancePlanHtml.appendChild(input); var title3 = document.createElement('div'); title3.setAttribute('class','companyxx1_title3_div'); title3.innerHTML='责任人'; maintenancePlanHtml.appendChild(title3); var input66 = document.createElement('input'); input66.setAttribute('class','companyxx_input1_class'); input66.setAttribute('id','companyxx_title3_input1'); input66.setAttribute('type','text'); input66.setAttribute('value',''); maintenancePlanHtml.appendChild(input66); var title88 = document.createElement('div'); title88.setAttribute('class','companyxx_title88_div'); title88.innerHTML='责任人手机号'; maintenancePlanHtml.appendChild(title88); var input88 = document.createElement('input'); input88.setAttribute('class','companyxx_input88_class'); input88.setAttribute('id','companyxx_title88_input1'); input88.setAttribute('type','text'); input88.setAttribute('value',''); maintenancePlanHtml.appendChild(input88); var title89 = document.createElement('div'); title89.setAttribute('class','companyxx_title89_div'); title89.innerHTML='显号'; maintenancePlanHtml.appendChild(title89); var select = document.createElement('select'); select.setAttribute('class','xhinput1_class'); select.setAttribute('id','companyxx_title89_input1'); maintenancePlanHtml.appendChild(select); var option2 = document.createElement('option'); option2.innerHTML='所有'; option2.setAttribute('value','0'); select.appendChild(option2); for(var i=0;i' // }).show(); // var query = new Object(); // query.V_LOGINNAME = $("#V_LOGINNAME").val(); // query.V_PASSWORD = $("#V_PASSWORD").val(); // query.id = spot_id; // $.ajax({ // type:'POST', // url: baseUrl+"iot/inspectionpoints/getList", // data: { // queryJson : Ext.JSON.encode(query) // }, // success: function(result){ // var json = eval('(' + result + ')'); // if(json.action=='getInspectionPointsList'){ // ConfirmStore = json.RESULT; // maintenancedevice(ConfirmStore); // // } // } // }); // } var MaintenancePlanPanel =Ext.create('Ext.grid.Panel', { header :{ height:0, border:'0px solid #000000' }, id: 'PatrolPlanListPanel', store: myStore, selModel: sm, columns: [ { header: '', dataIndex: 'pzlb_name',hidden:true, menuDisabled:true }, { header: '显号ID', dataIndex: 'bjxh_id',hidden:true, menuDisabled:true }, { header: 'ID', dataIndex: 'id',hidden:true, menuDisabled:true }, { header: '序号', dataIndex: 'xh', width:77, menuDisabled:true }, { header: '单位名称', dataIndex: 'company_name', width:190,align:'center', menuDisabled:true }, { header: '责任人姓名', dataIndex: 'name', width:180,align:'center', menuDisabled:true }, { header: '责任人手机是', dataIndex: 'bjhm', width:200,align:'center', menuDisabled:true }, { header: '显号', dataIndex: 'bjxh',width:200, align:'center', menuDisabled:true }, { header: '余额(次数)', dataIndex: 'zed', width:120, align:'center', menuDisabled:true }, { header: '个/时间', dataIndex: 'zq', width:120, align:'center', menuDisabled:true }, { header: '报警类型', dataIndex: 'sbtype_name_list', width:350, align:'center', menuDisabled:true }, ], columnLines: true, height: maxHeight, width: '100%', bbar: new Ext.PagingToolbar({ store: myStore, id:'PatrolPlanListPageToolbar', displayInfo: true, pageSize: countPerPage, prependButtons: true, displayMsg : '显示第 {0}条到 {1}条记录,总共 {2}条', emptyMsg : "没有记录", firstText: '第一页', prevText: '前一页', nextText: '后一页', lastText: '最后一页', refreshText: '刷新', }), // frame: true, border:false, iconCls: 'icon-grid' // renderTo: Ext.getBody() }); var piebar = Ext.create('Ext.panel.Panel',{ id:'patrolPlanHtml', width:'100%', height:188, region:'north', layout:'form', defaults:{ border:false } // items: [childPanel1] }); new Ext.create('Ext.panel.Panel',{ width:'100%', id: 'PatrolPlanPiebar', layout:'border', items:[ piebar,MaintenancePlanPanel ], renderTo: Ext.getBody() }); // piedarHtml(); myStore.reload(); myStore.addListener('load',function(store,record,opts){ piedarHtml_fun(); // if(document.getElementById('pzd_div_1')==undefined) // piedarHtml(); }); $(window).resize(function(){ body_resize(); }); body_resize(); });