/** * 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('MaintenancePlan',{ extend: 'Ext.data.Model', fields: [ {name:'id', type:'int'}, {name:'xh', type:'int'}, {name:'control_room_name', type:'string'}, {name:'control_room_person', type:'string'}, {name:'control_room_address', type:'string'}, {name:'control_room_phone', type:'string'}, {name:'company_name', type:'string'}, {name:'company_code', type:'string'} ] }); Ext.define('MaintenancePlan1',{ extend: 'Ext.data.Model', fields: [ {name:'id', type:'string'}, {name:'spot_name', type:'string'}, {name:'spot_address', type:'string'}, {name:'pd', type:'string'}, ] }); function exportbtn_click(){ baseUrl = document.getElementById('basePath').value; V_LOGINNAME = $("#V_LOGINNAME").val(); plan_name = document.getElementById('plan_name').value; person_liable_id = document.getElementById('person_liable_id').value; var fields = ''; var array = ['xh','plan_name','cycle_name','zxsj','team_name','name']; var name = ['序号','任务名称','周期','执行日期','执行团队','责任人']; for(var i=0;i<6;i++){ if(i>0) fields += ','; fields += '{id:"'+array[i]+'",title:"'+name[i]+'",shown:"'+true+'"}'; } var query = new Object(); query.V_LOGINNAME = V_LOGINNAME; query.plan_name = plan_name; query.person_liable_id = person_liable_id; query.EXPORT_FILE = '消控室管理列表'; query.fields = '['+fields+']'; $.ajax({ type:'POST', url: baseUrl+"iot/excel/view/XjPlanMasterExcel1", data: { queryJson : Ext.JSON.encode(query) }, success: function(result){ var json = eval('(' + result + ')'); if(json.action=='dormExport'){ ConfirmStore = json.RESULT; var elemIF = document.createElement("iframe"); elemIF.src = baseUrl+json.filename; elemIF.style.display = "none"; document.body.appendChild(elemIF); } } }); } 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 states1 = Ext.create('Ext.data.Store', { fields: ['status', 'name'], data : [ // {"status":-1, "name":"全选"}, {"status":"待开通", "name":"待开通"}, {"status":"已开通", "name":"已开通"}, {"status":"已锁定", "name":"已锁定"}, {"status":"注销", "name":"注销"}, ] }); 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 clear_append_form = function (){ Ext.getCmp('fa_patrolplan_name').setValue(""); Ext.getCmp('fa_patrol_team_id').setValue(""); // Ext.getCmp('fa_cycle').setValue(""); Ext.getCmp('fa_patrol_start_date').setValue(""); Ext.getCmp('fa_patrol_end_date').setValue(""); Ext.getCmp('fa_patrol_start_time').setValue(""); Ext.getCmp('fa_patrol_end_time').setValue(""); Ext.getCmp('fa_patrol_company_code').setValue(""); // Ext.getCmp('fa_spot_id').setValue(""); AllSelectedRecords=[]; Ext.getCmp('ControlRoomListPageToolbar').getStore().reload(); } 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: 'MaintenancePlan', pageSize: countPerPage, proxy: { type: 'ajax', url: baseUrl+'iot/patrolplan/getControlList', reader: { type: 'json', root: 'RESULT', totalProperty: 'totalCount' }, extraParams:{ queryJson:Ext.JSON.encode(queryJson) } }, remoteSort: true }); Ext.define('CompanyComboStore',{ extend:'Ext.data.Model', fields: [ {name:'owner_name', type:'string'}, {name:'owner_id',type:'string'} ] }); Ext.define('teamStore',{ extend:'Ext.data.Model', fields: [ {name:'team_name', type:'string'}, {name:'id',type:'string'} ] }); var CompanyStory = Ext.create('Ext.data.Store',{ model: 'CompanyComboStore', proxy: { type: 'ajax', actionMethods: { create : 'POST', read : 'POST', // by default GET update : 'POST', destroy: 'POST' }, url: baseUrl+'iot/company/view/getNameList', reader: { type: 'json', root: 'RESULT', totalProperty: 'totalCount' }, extraParams:{ queryJson:Ext.JSON.encode(queryJson) } } }); var teamStory = Ext.create('Ext.data.Store',{ model: 'teamStore', proxy: { type: 'ajax', actionMethods: { create : 'POST', read : 'POST', // by default GET update : 'POST', destroy: 'POST' }, url: baseUrl+'iot/planteam/getList1', reader: { type: 'json', root: 'RESULT', totalProperty: 'totalCount' }, extraParams:{ queryJson:Ext.JSON.encode(queryJson) } } }); var data =Ext.Date.format(new Date(), 'm/d/Y'); var AppendForm = Ext.create('Ext.form.Panel', { id: 'ControlroomAppendForm', labelWidth: 150, url: baseUrl+'iot/patrolplan/appendControl', defaultType: 'textfield', bodyPadding: 15, items: [{ fieldLabel:'消控室名称', id: 'fa_controlroom_name', name:'name', maxLength:40, maxLengthText:'长度不得超出{0}', anchor:'90%' },{ fieldLabel:'消控室负责人', id: 'fa_controlroom_person', name:'person', xtype:'combo', store:teamStory, displayField : 'team_name', valueField : 'id', editable : false, anchor:'90%' },{ fieldLabel:'联系方式', id: 'fa_controlroom_phone', name: 'phone', maxLength: 40, maxLengthText:'长度不得超出{0}', anchor:'90%' },{ xtype:'combo', fieldLabel:'所属单位', id: 'fa_controlroom_company_code', name:'company_code', displayField : 'owner_name', valueField : 'owner_id', editable : false, store:CompanyStory, anchor:'90%' },{ xtype:'textareafield', grow:true, height: 80, id: 'fa_controlroom_address', name:'address', fieldLabel:'消控室地址', maxLength: 50, maxLengthText:'长度不得超出{0}', anchor:'90%' },{ id:'fa_controlroom_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_LOGINNAME = V_LOGINNAME; query.control_room_name = Ext.getCmp('fa_controlroom_name').getValue(); query.control_room_person = Ext.getCmp('fa_controlroom_person').getValue(); query.control_room_address = Ext.getCmp('fa_controlroom_address').getValue(); query.control_room_phone = Ext.getCmp('fa_controlroom_phone').getValue(); query.company_code = Ext.getCmp('fa_controlroom_company_code').getValue(); var jsonstr = Ext.JSON.encode(query); Ext.getCmp('fa_controlroom_queryJson').setValue(jsonstr); form.submit({ method:'post', success: function(form, action) { Ext.Msg.alert('操作成功', '已保存', function(btn,txt){ Ext.getCmp('ControlroomAppendForm').getForm().reset(); Ext.getCmp('ControlRoomListPageToolbar').moveFirst(); }); }, failure: function(form, action) { Ext.Msg.alert('操作失败', action.Msg , function(btn,txt){ }); } }); } } },{ text: '关闭', iconCls: 'cancel_btn', handler: function() { this.up('window').hide(); } }] }); var appendwin = function(){ Ext.create('Ext.window.Window', { title: '新增', height: 350, width: 400, modal: true, layout: 'fit', items: AppendForm, closeAction: 'hide' }).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.control_room_name+' 消控室?',function(btn){ if(btn=='yes'){ $.ajax({ type:'POST', url: baseUrl+"iot/planmaster/del", data: { queryJson : jsonstr }, success: function(result){ var json = eval('(' + result + ')'); if(json.action=='deletePlanMaster'){ if(json.success==true){ Ext.Msg.alert('操作成功', json.MSG , function(btn,txt){ Ext.getCmp('PatrolPlanListPanel').getStore().reload(); }); }else{ Ext.Msg.alert('操作失败', json.MSG , function(btn,txt){ Ext.getCmp('PatrolPlanListPanel').getStore().reload(); }); } } } }); } },this); }else{ if(sm.getCount()>1){ var query = new Object(); var list = new Array(); for(var i=0;i0){ query.control_room_name = maintenancePlan_title2_input; $("#control_room_name").val(maintenancePlan_title2_input); } if(maintenancePlan_title3_input1.length>0){ query.control_room_person = maintenancePlan_title3_input1; $("#control_room_person").val(maintenancePlan_title3_input1); } query.V_LOGINNAME = V_LOGINNAME; query.V_PASSWORD = V_PASSWORD; var jsonstr = Ext.JSON.encode(query); myStore.getProxy().extraParams = { queryJson : jsonstr }; Ext.getCmp('ControlRoomListPageToolbar').moveFirst(); } var reset1 = function(){ document.getElementById('controlRoom2_input').value = ''; document.getElementById('controlRoom3_input1').value = ''; $("#plan_name").val(''); $("#person_liable_id").val(''); show_page(); } mouseon = function(obj){ var id = obj.id; $("#"+id).removeClass(id); $("#"+id).addClass(id+'_on'); } mouseoff = function(obj){ var mid = "controlRoom_"; for(var i=1;i<7;i++){ var id = "controlRoom_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'); } else if(menuidx=='m6'){ mid += 'title6_div'; $("#"+mid).removeClass(mid); $("#"+mid).addClass(mid+'_on'); } } menu_click = function(obj){ var id = obj.id; if(id=='controlRoom_title1_div'){ menuidx = 'm1'; show_page(); } else if(id=='controlRoom_title2_div'){ menuidx = 'm2'; reset1(); } else if(id=='controlRoom_title3_div'){ menuidx = 'm3'; exportbtn_click(); } else if(id=='controlRoom_title4_div'){ menuidx = 'm4'; del_sm(); } else if(id=='controlRoom_title5_div'){ menuidx = 'm5'; appendwin(); } else if(id=='controlRoom_title6_div'){ menuidx = 'm6'; chk_sm(); } } var piedarHtml = function() { var maintenancePlanHtml = document.getElementById('controlRoomHtml'); var divhiddle = document.createElement('div'); divhiddle.id='div26_id_patrolPlanPanel3'; divhiddle.setAttribute('class','SpringHandleHtml3DivHiddle'); maintenancePlanHtml.appendChild(divhiddle); var title = document.createElement('div'); title.setAttribute('class','MaintenancePersonTitle'); title.innerHTML='消控室管理'; maintenancePlanHtml.appendChild(title); var title2 = document.createElement('div'); title2.setAttribute('class','title2_div'); title2.innerHTML='消控室名称'; maintenancePlanHtml.appendChild(title2); var input = document.createElement('input'); input.setAttribute('class','input_class'); input.setAttribute('id','controlRoom2_input'); input.setAttribute('type','text'); input.setAttribute('value',''); maintenancePlanHtml.appendChild(input); var title3 = document.createElement('div'); title3.setAttribute('class','title3_div'); title3.innerHTML='负责人'; maintenancePlanHtml.appendChild(title3); // var input1 = document.createElement('input'); // input1.setAttribute('class','input1_class'); // input1.setAttribute('id','maintenancePlan_title3_input1'); // input1.setAttribute('type','text'); // input1.setAttribute('value',''); // maintenancePlanHtml.appendChild(input1); var select = document.createElement('select'); select.setAttribute('class','input1_class'); select.setAttribute('id','controlRoom3_input1'); maintenancePlanHtml.appendChild(select); var option2 = document.createElement('option'); option2.innerHTML='所有人'; option2.setAttribute('value','所有人'); 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: 'ID', dataIndex: 'id',hidden:true, menuDisabled:true }, { header: '单位编号', dataIndex: 'company_code',hidden:true, menuDisabled:true }, { header: '序号', dataIndex: 'xh', width:77, menuDisabled:true }, { header: '所属单位', dataIndex: 'company_name', width:250,align:'center', menuDisabled:true }, { header: '消控室名称', dataIndex: 'control_room_name', width:400,align:'center', menuDisabled:true }, { header: '消控室负责人', dataIndex: 'control_room_person', width:300,align:'center', menuDisabled:true }, { header: '消控室地址', dataIndex: 'control_room_address',width:330, align:'center', menuDisabled:true }, { header: '联系方式', dataIndex: 'control_room_phone', width:280, align:'center', menuDisabled:true }, ], columnLines: true, height: maxHeight, width: '100%', bbar: new Ext.PagingToolbar({ store: myStore, id:'ControlRoomListPageToolbar', 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:'controlRoomHtml', width:'100%', height:188, region:'north', layout:'form', defaults:{ border:false } // items: [childPanel1] }); // var PatrolPlanTab=Ext.create('Ext.tab.Panel', { // id: 'PatrolPlanTab', // activeTab: 0, // items: [ // { // title: '巡检点位', // items : [MaintenancePlanPanel1] // } // ] // }); new Ext.create('Ext.panel.Panel',{ width:'100%', id: 'PatrolPlanPiebar', layout:'border', items:[ piebar,MaintenancePlanPanel ], renderTo: Ext.getBody() }); myStore.reload(); myStore.addListener('load',function(store,record,opts){ piedarHtml_fun(); }); $(window).resize(function(){ body_resize(); }); body_resize(); });