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