/**
* 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();
});