/**
*
*/
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 StatusStore;
var baseUrl;
var centerLng;
var centerLat;
var company_code;
var theme;
var dwtype;
var ConfirmStore;
var pieWidth;
var showAlarm = null;
var pieMask;
var V_LOGINNAME = '', V_PASSWORD = '';
var maxHeight = 10000;
var maxWidth = 10000;
var companyName = null;
var sm = Ext.create('Ext.selection.CheckboxModel');
Ext.define('VRtuOption', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int'},
{name: 'orderIdx', type: 'int'},
{name: 'device_code', type: 'string'},
{name: 'company_code', type: 'string'},
{name: 'company_name', type: 'string'},
{name: 'fullname', type: 'string'},
{name: 'time', type: 'string'},
{name: 'ncmd', type: 'string'},
{name: 'name', type: 'string'},
{name: 'status', type: 'string'},
{name: 'data', type: 'string'},
{name: 'data4', type: 'string'},
{name: 'clzt', type: 'string'},
{name: 'clr_name', type: 'string'},
{name: 'clsj', type: 'string'},
{name: 'clnr', type: 'string'},
{name: 'dwtype', type: 'string'},
{name: 'clwb', type: 'string'}
]
});
Ext.define('CompanyComboStore', {
extend: 'Ext.data.Model',
fields: [
{name: 'owner_name', type: 'string'},
{name: 'owner_id', type: 'string'}
]
});
var drawDevices = function () {
// alert('get device info');
if (StatusStore.length > 0) {
var current_device_id = '';
var device_count = 0;
var fire_device_count = 0;
var water_device_count = 0;
var rtu_device_count = 0;
var other_device_count = 0;
var fire_device_out = 0;
var water_device_out = 0;
var rtu_device_out = 0;
var other_device_out = 0;
var fire_device_alarm = 0;
var water_device_alarm = 0;
var rtu_device_alarm = 0;
var other_device_alarm = 0;
var fire_device_normal = 0;
var water_device_normal = 0;
var rtu_device_normal = 0;
var other_device_normal = 0;
var total_normal = 0;
var mark_array = new Array();
for (var i = 0; i < StatusStore.length; i++) {
if ((StatusStore[i].point_list != null)
&& (StatusStore[i].point_list != undefined)
&& (StatusStore[i].point_list.length > 0)) {
for (var j = 0; j < StatusStore[i].point_list.length; j++) {
if (StatusStore[i].point_list[j].device_id != current_device_id) {
current_device_id = StatusStore[i].point_list[j].device_id;
device_count++;
if ((StatusStore[i].point_list[j].dwtype == '1')
|| (StatusStore[i].point_list[j].dwtype == 1))
fire_device_count++;
else if ((StatusStore[i].point_list[j].dwtype == '2')
|| (StatusStore[i].point_list[j].dwtype == 2))
water_device_count++;
else if ((StatusStore[i].point_list[j].dwtype == '3')
|| (StatusStore[i].point_list[j].dwtype == 3))
other_device_count++;
else if ((StatusStore[i].point_list[j].dwtype == '4')
|| (StatusStore[i].point_list[j].dwtype == 4))
water_device_count++;
else if ((StatusStore[i].point_list[j].dwtype == '5')
|| (StatusStore[i].point_list[j].dwtype == 5))
water_device_count++;
else if ((StatusStore[i].point_list[j].dwtype == '6')
|| (StatusStore[i].point_list[j].dwtype == 6))
rtu_device_count++;
else
other_device_count++;
}
if ((StatusStore[i].point_list[j].point_code == '0')
|| (StatusStore[i].point_list[j].point_code == 0)) {
if ((StatusStore[i].point_list[j].point_data != '0')
&& (StatusStore[i].point_list[j].point_data != 0)) {
if ((StatusStore[i].point_list[j].dwtype == '1')
|| (StatusStore[i].point_list[j].dwtype == 1))
fire_device_alarm++;
else if ((StatusStore[i].point_list[j].dwtype == '2')
|| (StatusStore[i].point_list[j].dwtype == 2)) {
if ((StatusStore[i].point_list[j].point_data == '4')
|| (StatusStore[i].point_list[j].point_data == 4))
water_device_out++;
else
water_device_alarm++;
}
else if ((StatusStore[i].point_list[j].dwtype == '3')
|| (StatusStore[i].point_list[j].dwtype == 3))
other_device_out++;
else if ((StatusStore[i].point_list[j].dwtype == '4')
|| (StatusStore[i].point_list[j].dwtype == 4))
if ((StatusStore[i].point_list[j].point_data == '4')
|| (StatusStore[i].point_list[j].point_data == 4))
water_device_out++;
else
water_device_alarm++;
else if ((StatusStore[i].point_list[j].dwtype == '5')
|| (StatusStore[i].point_list[j].dwtype == 5))
if ((StatusStore[i].point_list[j].point_data == '4')
|| (StatusStore[i].point_list[j].point_data == 4))
water_device_out++;
else
water_device_alarm++;
else if ((StatusStore[i].point_list[j].dwtype == '6')
|| (StatusStore[i].point_list[j].dwtype == 6))
rtu_device_out++;
else
other_device_out++;
}
}
}
}
}
fire_device_normal = fire_device_count - fire_device_out - fire_device_alarm;
water_device_normal = water_device_count - water_device_out - water_device_alarm;
rtu_device_normal = rtu_device_count - rtu_device_out - rtu_device_alarm;
other_device_normal = other_device_count - other_device_out - other_device_alarm;
total_normal = fire_device_normal + water_device_normal + rtu_device_normal + other_device_normal;
var themecolor = ((theme == '') || (theme == 'access')) ? '#ffffff' : '#000000';
draw_cycle_icon('firePie1', '设备在线
监控总数:' + rtu_device_count + '
在线总数:' + (rtu_device_count - rtu_device_out) + '
离线线总数:' + rtu_device_out + '
在线率:', rtu_device_count, (rtu_device_count - rtu_device_out), themecolor);
draw_cycle_icon('firePie2', '状态正常
在线总数:' + (rtu_device_count - rtu_device_out) + '
正常总数:' + rtu_device_normal + '
告警总数:' + rtu_device_alarm + '
正常率:', (rtu_device_count - rtu_device_out), rtu_device_normal, themecolor);
}
}
var draw_confirm = function () {
var themecolor = ((theme == '') || (theme == 'access')) ? '#ffffff' : '#000000';
if (companyName != null)
$("#RtuPiePanel_title_string").html(companyName + '视频监控报告列表');
else
$("#RtuPiePanel_title_string").html('视频监控报告列表');
for (var i = 0; i < ConfirmStore.length; i++) {
if (ConfirmStore[i].id == 'rtu_alarm') {
var mColor = '#34abf5';//[ '#DDDF0D','#f66167', '#34abf5']
var percent = 100;
if (ConfirmStore[i].count > 0)
percent = Number(((ConfirmStore[i].sum * 100) / ConfirmStore[i].count).toString().match(/^\d+(?:\.\d{0,2})?/));
if (percent < 60)
mColor = '#f66167';
else if (percent < 80)
mColor = '#DDDF0D';
$("#operation_num_1").html(ConfirmStore[i].count);
$("#operation_num_2").html(ConfirmStore[i].sum);
$("#operation_num_3").html(ConfirmStore[i].count - ConfirmStore[i].sum);
$("#operation_num_4").html(percent);
// draw_cycle_icon('firePie3','告警处理情况
告警总数:'+ConfirmStore[i].count+'
已处理:'+ConfirmStore[i].sum+'
未处理:'+(ConfirmStore[i].count-ConfirmStore[i].sum)+'
处理率:',ConfirmStore[i].count,ConfirmStore[i].sum,themecolor);
Highcharts.getOptions().colors = Highcharts.map(['#DDDF0D', mColor], function (color) {
return {
radialGradient: {cx: 0.5, cy: 0.3, r: 0.7},
stops: [
[0, color],
[1, Highcharts.Color(color).brighten(-0.3).get('rgb')] // darken
]
};
});
Highcharts.chart('operation_pie', {
chart: {
type: 'solidgauge',
height: '100%',
backgroundColor: 'rgba(0,0,0,0)',
animation: false
},
title: {
text: percent + '%',
floating: true,
y: 90,
style: {fontSize: '16px', color: themecolor, fontWeight: 'bold'}
},
exporting: {
enabled: false
},
credits: {
enabled: false
},
tooltip: {
enabled: false
},
pane: {
startAngle: 0,
background: [{
outerRadius: '110%',
innerRadius: '55%',
backgroundColor: 'rgba(0,0,0,0)',
borderWidth: 0
}]
},
yAxis: {
min: 0,
max: 100,
lineWidth: 0,
tickPositions: []
},
plotOptions: {
solidgauge: {
dataLabels: {
enabled: false
},
linecap: 'square',
stickyTracking: false,
rounded: false,
warp: false
},
series: {
animation: false
}
},
series: [{
name: name,
data: [{
color: 'rgba(0,0,0,0.3)',
radius: '110%',
innerRadius: '60%',
y: 100
}, {
color: (Highcharts.theme && Highcharts.theme.contrastTextColor),
radius: '110%',
innerRadius: '60%',
y: percent
}]
}]
});
Highcharts.getOptions().colors = Highcharts.map(['#f66167', '#34abf5'], function (color) {
return {
linearGradient: {x1: 0, x2: 0, y1: 0, y2: 1},
stops: [
[0, color],
[1, Highcharts.Color(color).setOpacity(0).get('rgb')] // darken
]
};
});
Highcharts.chart('operation_area', {
chart: {
type: 'area',
// zoomType: 'x',
backgroundColor: 'rgba(0,0,0,0)'
},
color: ['#f66167', '#34abf5'],
title: {
text: (companyName != null) ? companyName + '.视频监控告警处理情况跟踪' : '视频监控告警处理情况跟踪',
float: true,
style: {fontSize: '14px', color: themecolor, fontWeight: 'bold'},
enabled: false
},
legend: {
// enabled:false,
floating: true,
x: 410,
y: -230,
itemStyle: {fontSize: '12px', color: themecolor, fontWeight: 'bold'}
},
// colors:['#f66167', '#34abf5'],
exporting: {
enabled: false
},
credits: {
enabled: false
},
xAxis: {
categories: ConfirmStore[i].day_list,
tickmarkPlacement: 'on',
gridLineWidth: 0,
labels: {
enabled: false,
style: {fontSize: '10px', color: themecolor, fontWeight: 'bold'}
},
title: {
enabled: false
}
},
yAxis: {
title: {
enabled: false,
text: '次',
style: {fontSize: '10px', color: themecolor, fontWeight: 'bold'}
},
gridLineWidth: 1,
gridLineColor: 'rgba(0,0,0,0.2)',
labels: {
// enabled:false,
formatter: this.value,
style: {fontSize: '10px', color: themecolor, fontWeight: 'bold'}
}
},
plotOptions: {
area: {
stackiung: 'normal',
// fillOpacity:0.1,
// lineColor:'#666666',
// lineWidth:1,
marker: {
lineWidth: 0,
enabled: false,
radius: 0
// lineColor:'#666666'
}
}
},
series: [
{
name: '告警次数',
data: ConfirmStore[i].count_list,
lineWidth: 1,
lineColor: '#f66167',
fillColor: {
linearGradient: {
x1: 0,
y1: 0,
x2: 0,
y2: 1
},
stops: [
[0, '#f66167'],
[1, Highcharts.Color('#f66167').setOpacity(0.3).get('rgba')]
]
}
}, {
name: '处理次数',
data: ConfirmStore[i].sum_list,
lineWidth: 1,
lineColor: '#34abf5',
fillColor: {
linearGradient: {
x1: 0,
y1: 0,
x2: 0,
y2: 1
},
stops: [
[0, '#34abf5'],
[1, Highcharts.Color('#34abf5').setOpacity(0.3).get('rgba')]
]
},
}
]
});
}
}
}
var draw_cycle_icon = function (icon_id, name, total, num, themecolor) {
var mColor = '#34abf5';//[ '#DDDF0D','#f66167', '#34abf5']
var percent = 100;
if (total > 0)
percent = Number(((num * 100) / total).toString().match(/^\d+(?:\.\d{0,2})?/));
if (percent < 60)
mColor = '#f66167';
else if (percent < 80)
mColor = '#DDDF0D';
$("#" + icon_id + "Title").html('
' + name + percent + '%');
Highcharts.getOptions().colors = Highcharts.map(['#000000', mColor, mColor], function (color) {
return {
radialGradient: {cx: 0.5, cy: 0.3, r: 0.7},
stops: [
[0, color],
[1, Highcharts.Color(color).brighten(-0.3).get('rgb')] // darken
]
};
});
Highcharts.chart(icon_id, {
chart: {
type: 'solidgauge',
height: '85%',
backgroundColor: 'rgba(0,0,0,0)',
reflow: true,
marginTop: 0
},
title: {
text: percent + '%',
floating: true,
y: (pieWidth * 2 / 5),
style: {fontSize: '21px', color: themecolor, fontWeight: 'bold'}
},
exporting: {
enabled: false
},
credits: {
enabled: false
},
tooltip: {
enabled: false
},
pane: {
startAngle: -90,
endAngle: 270,
background: [{
outerRadius: '90%',
innerRadius: '60%',
backgroundColor: 'rgba(0,0,0,0)',
borderWidth: 0
}]
},
yAxis: {
min: 0,
max: 100,
lineWidth: 0,
tickPositions: []
},
plotOptions: {
solidgauge: {
dataLabels: {
enabled: false
},
linecap: 'square',
stickyTracking: false,
rounded: false,
warp: false
}
},
series: [{
name: '',
data: [{
color: Highcharts.Color(mColor)
.setOpacity(0.2)
.get(),
radius: '110%',
innerRadius: '80%',
y: 100
}, {
color: (Highcharts.theme && Highcharts.theme.contrastTextColor),
radius: '110%',
innerRadius: '80%',
y: percent
}, {
color: (Highcharts.theme && Highcharts.theme.contrastTextColor),
radius: '60%',
innerRadius: '0%',
y: 100
}]
}]
});
if ((theme == 'access') || (theme == '')) {
$('#' + icon_id).addClass('shadow_black');
} else {
$('#' + icon_id).addClass('shadow_white');
}
}
var getCurrentData = function () {
var query = new Object();
// query.V_LOGINNAME = V_LOGINNAME;
// query.V_PASSWORD = V_PASSWORD;
query.dwtype = '16';
query.COMMSTATUS = 'NO';
if ((company_code != null) && (company_code != 'null') && (company_code.length > 0))
query.company_code = company_code;
pieMask.show();
$.ajax({
type: 'POST',
url: baseUrl + "iot/alarm/view/getConfirmStatusByDays",
data: {
queryJson: Ext.JSON.encode(query)
},
success: function (result) {
var json = eval('(' + result + ')');
if (json.action == 'getConfirmStatusByDays') {
if (json.check == 'true') {
ConfirmStore = json.RESULT;
if (json.company_name != null)
companyName = json.company_name;
else
companyName = null;
draw_confirm();
} else {
Ext.Msg.alert('错误信息', '访问权限错误,请重新登录', function () {
window.parent.document.location = baseUrl;
});
}
}
pieMask.hide();
}
});
}
var body_resize = function () {
maxHeight = document.documentElement.clientHeight;
maxWidth = document.documentElement.clientWidth;
Ext.getCmp('RtuAlarmPanel').setHeight(maxHeight);
// Ext.getCmp('RtuAlarmPanel').setWidtht(maxWidth);
}
function exportbtn_click() {
V_LOGINNAME = $("#V_LOGINNAME").val();
company_code = document.getElementById('company_code').value;
clzt = document.getElementById('clzt').value;
time_start = document.getElementById('time_start').value;
time_end = document.getElementById('time_end').value;
var fields = '';
var array = ['id', 'company_name', 'device_code', 'name', 'ncmd', 'clr', 'clnr', 'clwb', 'clzt', 'time', 'clsj','data2'];
var name = ['编号', '公司名称', '设备编号', '设备名称', '告警截图', '告警类型', '处理内容', '是否误报', '处理状态', '报警时间', '处理时间','处理人'];
for (var i = 0; i < 12; i++) {
if (i > 0)
fields += ',';
fields += '{id:"' + array[i] + '",title:"' + name[i] + '",shown:"' + true + '"}';
}
var query = new Object();
// query.V_LOGINNAME = V_LOGINNAME;
query.company_code = company_code;
query.clzt = clzt;
query.time_start = time_start;
query.time_end = time_end;
query.COMMSTATUS = 'NO';
query.EXPORT_FILE = '视频告警数据列表';
query.fields = '[' + fields + ']';
$.ajax({
type: 'POST',
url: baseUrl + "iot/excel/view/VideoAlarmExcel",
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);
}
}
});
}
Ext.onReady(function () {
baseUrl = document.getElementById('basePath').value;
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'));
V_LOGINNAME = $("#V_LOGINNAME").val();
V_PASSWORD = $("#V_PASSWORD").val();
var currentWidth = document.documentElement.clientWidth;
pieWidth = currentWidth / 7;
var chkIcon = '
'
var unchkIcon = '
'
var countPerPage = 20;
var chkBoolean = function (flag) {
if (flag)
return chkIcon;
return unchkIcon;
}
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: 'VRtuOption',
pageSize: countPerPage,
proxy: {
type: 'ajax',
actionMethods: {
create: 'POST',
read: 'POST', // by default GET
update: 'POST',
destroy: 'POST'
},
url: baseUrl + 'iot/alarm/view/getVideoLists',
reader: {
type: 'json',
root: 'RESULT',
totalProperty: 'totalCount'
},
extraParams: {
queryJson: Ext.JSON.encode(queryJson)
}
},
sorters: [{
property: 'time',
direction: 'DESC'
}],
remoteSort: true
});
myStore.on("load", function (myStore) {
getCurrentData();
//do something
});
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 ClztStory = Ext.create('Ext.data.Store', {
fields: ['abbr', 'name'],
data: [
{'abbr': '0', 'name': '未处理'},
{'abbr': '1', 'name': '已处理'}
]
});
var FilterForm = Ext.create('Ext.form.Panel', {
id: 'VRtuOptionFilterForm',
labelWidth: 55,
defaultType: 'textfield',
bodyPadding: 15,
items: [{
xtype: 'combo',
fieldLabel: '单位名称',
id: 'ff_company_code',
name: 'ff_company_code',
displayField: 'owner_name',
valueField: 'owner_id',
editable: false,
width: 330,
store: CompanyStory
}, {
xtype: 'datefield',
fieldLabel: "开始日期",
minValue: '07/07/2017',
minText: "当前日期选择应大于当天日期",
format: "Y-m-d",
columnWidth: 0.5,
id: 'ff_start_data',
name: "ff_start_data",
editable: false,//只读约束
width: 330
}, {
xtype: 'datefield',
fieldLabel: "结束日期",
minValue: '07/07/2017',
minText: "当前日期选择应大于当天日期",
format: "Y-m-d",
columnWidth: 0.5,
id: 'ff_end_data',
name: "ff_end_data",
editable: false,//只读约束
width: 330,
listeners: {
//添加日期选择事件
"select": function (time) {
var start = Ext.getCmp('ff_start_data').getValue()
var end = Ext.getCmp('ff_end_data').getValue()
if(start === null || start === ""){
Ext.Msg.alert('操作失败', '请选择开始时间后再次选择!' , function(btn,txt){
Ext.getCmp('ff_end_data').setValue('');
});
}else{
if((end.valueOf() - start.valueOf()) < 0){
Ext.Msg.alert('操作失败', '开始日期不能选择在结束日期后!' , function(btn,txt){
Ext.getCmp('ff_end_data').setValue('');
});
}
}
},
}
}, {
xtype: 'combo',
fieldLabel: '处理状态',
id: 'ff_clzt',
name: 'ff_clzt',
displayField: 'name',
valueField: 'abbr',
editable: false,
width: 330,
store: ClztStory
}],
buttons: [{
text: '筛选',
iconCls: 'ok_btn',
handler: function () {
var form = this.up('form').getForm();
if (form.isValid()) {
var query = new Object();
// var tmp = Ext.getCmp('ff_company_code');
if (Ext.getCmp('ff_company_code').getValue()) {
query.company_code = Ext.getCmp('ff_company_code').getValue();
$("#company_code").val(query.company_code);
company_code = query.company_code;
$("#RtuPiePanel_title_string").html(Ext.getCmp('ff_company_code').getRawValue() + '.视频报告列表');
} else {
$("#company_code").val('');
$("#RtuPiePanel_title_string").html('视频报告列表');
company_code = null;
}
if (Ext.getCmp('ff_clzt').getValue()) {
query.clzt = Ext.getCmp('ff_clzt').getValue();
$("#clzt").val(query.clzt);
} else {
$("#clzt").val('');
}
if (Ext.getCmp('ff_start_data').getValue()) {
query.time_start = Ext.getCmp('ff_start_data').getValue();
var datetime = query.time_start.getFullYear() + '-' + (query.time_start.getMonth() + 1) + '-' + query.time_start.getDate() + ' ' + query.time_start.getHours() + ':' + query.time_start.getMinutes() + ':' + query.time_start.getSeconds();
$("#time_start").val(datetime);
} else {
$("#time_start").val('');
}
if (Ext.getCmp('ff_end_data').getValue()) {
query.time_end = Ext.getCmp('ff_end_data').getValue();
var datetime1 = query.time_end.getFullYear() + '-' + (query.time_end.getMonth() + 1) + '-' + query.time_end.getDate() + ' ' + query.time_end.getHours() + ':' + query.time_end.getMinutes() + ':' + query.time_end.getSeconds();
$("#time_end").val(datetime1);
} else {
$("#time_end").val('');
}
// query.clzt = Ext.getCmp('ff_clzt').getValue()==null?"":Ext.getCmp('ff_clzt').getValue();
// query.V_LOGINNAME = V_LOGINNAME;
// query.V_PASSWORD = V_PASSWORD;
query.COMMSTATUS = 'NO';
var jsonstr = Ext.JSON.encode(query);
myStore.getProxy().extraParams = {
queryJson: jsonstr
};
Ext.getCmp('VRtuOptionListPageToolbar').moveFirst();
Ext.getCmp('ff_company_code').setValue('');
Ext.getCmp('ff_clzt').setValue('');
Ext.getCmp('ff_start_data').setValue('');
Ext.getCmp('ff_end_data').setValue('');
Ext.getCmp('VRtuOptionFilterWin').hide();
// getCurrentData();
}
}
}, {
text: '关闭',
iconCls: 'cancel_btn',
handler: function () {
Ext.getCmp('VRtuOptionFilterWin').hide();
}
}]
});
var filterwin = function () {
Ext.create('Ext.window.Window', {
id: 'VRtuOptionFilterWin',
title: '视频报告筛选',
height: 210,
width: 400,
layout: 'fit',
items: FilterForm,
closable: false,
modal: true,
closeAction: 'hide'
}).show();
CompanyStory.reload();
}
var radiogroup = new Ext.create('Ext.form.RadioGroup', {
fieldLabel: '误报',
id: 'uf_r_clwb',
width: 300,
items: [{
name: 'uf_r_clwb',
inputValue: '1',
boxLabel: '是'
}, {
name: 'uf_r_clwb',
inputValue: '0',
boxLabel: '否',
checked: true
}]
});
var radiogroup2 = new Ext.create('Ext.form.RadioGroup', {
fieldLabel: '处理范围',
id: 'uf_r_clfw',
width: 300,
items: [{
name: 'uf_r_clfw',
inputValue: '1',
boxLabel: '批量'
}, {
name: 'uf_r_clfw',
inputValue: '0',
boxLabel: '单一',
checked: true
}]
});
var clear_modify_form = function () {
Ext.getCmp('uf_company_name').setValue('');
Ext.getCmp('uf_name').setValue('');
Ext.getCmp('uf_device_code').setValue('');
Ext.getCmp('uf_id').setValue('');
Ext.getCmp('uf_status').setValue('');
Ext.getCmp('uf_fullname').setValue('');
Ext.getCmp('uf_clwb').setValue('');
Ext.getCmp('uf_clr').setValue('');
Ext.getCmp('uf_clsj').setValue('');
Ext.getCmp('uf_clnr').setValue('');
}
/* var rtuInfoForm = Ext.create('Ext.form.Panel', {
id: 'rtuInfoForm',
labelWidth: 55,
url: baseUrl + 'iot/alarm/view/updateVideo',
defaultType: 'textfield',
bodyPadding: 15,
items: [{
fieldLabel: '单位名称',
id: 'uf_company_name',
name: 'uf_company_name',
anchor: '90%'
}, {
fieldLabel: '监控设备',
id: 'uf_name',
name: 'uf_name',
anchor: '100%'
}, {
fieldLabel: '设备编号',
id: 'uf_device_code',
name: 'uf_device_code',
hidden: true
}, {
fieldLabel: '记录编号',
id: 'uf_id',
name: 'uf_id',
hidden: true
}, {
fieldLabel: '设备编号',
id: 'uf_status',
name: 'uf_status',
hidden: true
}, {
fieldLabel: '报告信息',
id: 'uf_fullname',
name: 'uf_fullname',
xtype: 'textareafield',
maxLength: 250,
cols: 4,
anchor: '100%'
}, {
fieldLabel: '误报',
id: 'uf_clwb',
name: 'uf_clwb',
maxLength: 200,
anchor: '65%'
}, radiogroup, radiogroup2, {
fieldLabel: '处理人',
id: 'uf_clr',
name: 'uf_clr',
maxLength: 120,
anchor: '65%'
}, {
fieldLabel: '处理时间',
id: 'uf_clsj',
name: 'uf_clsj',
maxLength: 200,
anchor: '80%'
}, {
fieldLabel: '处理内容',
id: 'uf_clnr',
name: 'uf_clnr',
xtype: 'textareafield',
maxLength: 250,
cols: 4,
anchor: '100%'
}, {
id: 'fm_queryJson',
name: 'queryJson',
hidden: true
}],
buttons: [{
text: '处理',
id: 'confirmBtn',
iconCls: 'ok_btn',
handler: function () {
var form = this.up('form').getForm();
if (form.isValid()) {
var queryJson = new Object();
queryJson.V_LOGINNAME = V_LOGINNAME;
queryJson.V_PASSWORD = V_PASSWORD;
queryJson.id = Ext.getCmp('uf_id').getValue();
queryJson.status = Ext.getCmp('uf_status').getValue();
queryJson.name = Ext.getCmp('uf_name').getValue();
queryJson.device_code = Ext.getCmp('uf_device_code').getValue();
queryJson.confirmAll = Ext.getCmp('uf_r_clfw').getChecked()[0].boxLabel == '单一' ? '0' : '1';
queryJson.clwb = Ext.getCmp('uf_r_clwb').getChecked()[0].boxLabel == '否' ? '0' : '1';
queryJson.clnr = Ext.getCmp('uf_clnr').getValue();
var jsonstr = Ext.JSON.encode(queryJson);
Ext.getCmp('fm_queryJson').setValue(jsonstr);
form.submit({
method: 'post',
success: function (form, action) {
Ext.Msg.alert('操作成功', '已确认' + action.result.activerow + '条记录', function (btn, txt) {
clear_modify_form();
myStore.reload();
// getCurrentData();
});
},
failure: function (form, action) {
Ext.Msg.alert('操作失败', action.Msg, function (btn, txt) {
clear_modify_form();
myStore.reload();
// getCurrentData();
});
}
});
this.up('window').close();
}
}
}, {
text: '关闭',
iconCls: 'cancel_btn',
handler: function () {
this.up('window').close();
}
}]
});*/
var alarmInfoForm = Ext.create('Ext.form.Panel', {
id: 'alarmInfoForm',
// width:400,
labelWidth: 55,
url: baseUrl+'iot/alarm/view/updateVideo',
region:'center',
defaultType: 'textfield',
bodyPadding: 15,
items: [{
fieldLabel:'单位名称',
id: 'uf_company_name',
name: 'uf_company_name',
anchor:'90%'
},{
fieldLabel:'监控设备',
id:'uf_name',
name:'uf_name',
anchor:'100%'
},{
fieldLabel:'设备编号',
id:'uf_device_code',
name:'uf_device_code',
hidden: true
},{
fieldLabel:'记录编号',
id:'uf_id',
name:'uf_id',
hidden: true
},{
fieldLabel:'设备编号',
id:'uf_status',
name:'uf_status',
hidden: true
},{
fieldLabel:'设备类型',
id:'uf_dwtype',
name:'uf_dwtype',
hidden: true
},{
fieldLabel:'报告信息',
id: 'uf_fullname',
name:'uf_fullname',
xtype: 'textareafield',
maxLength: 250,
cols:4,
anchor:'100%'
},{
fieldLabel:'误报',
id: 'uf_clwb',
name:'uf_clwb',
maxLength: 200,
anchor:'65%'
},radiogroup,radiogroup2,{
fieldLabel:'处理人',
id: 'uf_clr',
name:'uf_clr',
maxLength: 120,
anchor:'65%'
},{
fieldLabel:'处理时间',
id: 'uf_clsj',
name:'uf_clsj',
maxLength: 200,
anchor:'80%'
},{
fieldLabel:'处理内容',
id: 'uf_clnr',
name:'uf_clnr',
xtype: 'textareafield',
maxLength: 250,
cols:4,
anchor:'100%'
},{
id:'fm_queryJson',
name:'queryJson',
hidden:true
}],
buttons: [{
text: '处理',
id:'confirmBtn',
disabled:(V_LOGINNAME=='guest'?true:false),
iconCls:'ok_btn',
handler: function() {
var form = this.up('form').getForm();
if (form.isValid()) {
var queryJson = new Object();
// queryJson.V_LOGINNAME = V_LOGINNAME;
// queryJson.V_PASSWORD = V_PASSWORD;
queryJson.dwtype = Ext.getCmp('uf_dwtype').getValue();;
queryJson.id = Ext.getCmp('uf_id').getValue();
queryJson.status = Ext.getCmp('uf_status').getValue();
queryJson.name = Ext.getCmp('uf_name').getValue();
queryJson.device_code = Ext.getCmp('uf_device_code').getValue();
queryJson.confirmAll = Ext.getCmp('uf_r_clfw').getChecked()[0].boxLabel=='单一'?'0':'1';
queryJson.clwb = Ext.getCmp('uf_r_clwb').getChecked()[0].boxLabel=='否'?'0':'1';
queryJson.clnr = Ext.getCmp('uf_clnr').getValue();
var jsonstr = Ext.JSON.encode(queryJson);
Ext.getCmp('fm_queryJson').setValue(jsonstr);
form.submit({
method:'post',
success: function(form, action) {
Ext.Msg.alert('操作成功', '已确认'+action.result.activerow+'条记录', function(btn,txt){
clear_modify_form();
var div = window.top.$("#history_alarm_list").content;
div.storeReload2();
});
},
failure: function(form, action) {
Ext.Msg.alert('操作失败', action.Msg , function(btn,txt){
clear_modify_form();
});
}
});
this.up('window').close();
}
}
},{
text: '关闭',
iconCls: 'cancel_btn',
handler: function() {
this.up('window').close();
}
}]
});
/* var vRtuInfoWin = Ext.create('Ext.window.Window', {
id: 'VRtuInfoWin',
title: '详细信息: ',
width: 400,
layout: 'fit',
closable: false,
modal: true,
closeAction: 'hide',
items: rtuInfoForm
}).hide();*/
var vAlarmInfoWin = Ext.create('Ext.window.Window',{
id:'VAlarmInfoWin',
title:'详细信息: ',
height:400,
width:400,
layout:'border',
closable:false,
modal:true,
closeAction:'hide',
items:[{
id:'picPanel',
region:'west',
width:300,
html:''
},alarmInfoForm]
}).hide();
// TODO
/* var showRtuInfoWin = function (record) {
alarmInfoForm.show();
$("#VInfoWin_Title").html(record.get('data'));
Ext.getCmp('uf_company_name').setValue(record.get('company_name'));
Ext.getCmp('uf_name').setValue(record.get('name'));
Ext.getCmp('uf_device_code').setValue(record.get('device_code'));
Ext.getCmp('uf_fullname').setValue(record.get('fullname'));
Ext.getCmp('uf_clr').setValue(record.get('clr_name'));
Ext.getCmp('uf_clsj').setValue(record.get('clsj'));
Ext.getCmp('uf_clnr').setValue(record.get('clnr'));
Ext.getCmp('uf_id').setValue(record.get('id'));
Ext.getCmp('uf_clwb').setValue(record.get('clwb') == '1' ? '误报' : '告警');
Ext.getCmp('uf_status').setValue(record.get('status'));
if (record.get('clzt') == '已处理') {
Ext.getCmp('uf_clwb').setVisible(true);
Ext.getCmp('uf_r_clwb').setVisible(false);
Ext.getCmp('uf_r_clfw').setVisible(false);
Ext.getCmp('confirmBtn').setVisible(false);
Ext.getCmp('uf_clr').setVisible(true);
Ext.getCmp('uf_clsj').setVisible(true);
} else {
Ext.getCmp('uf_clwb').setVisible(false);
Ext.getCmp('uf_r_clwb').setVisible(true);
Ext.getCmp('uf_r_clfw').setVisible(true);
Ext.getCmp('confirmBtn').setVisible(true);
Ext.getCmp('uf_clr').setVisible(false);
Ext.getCmp('uf_clsj').setVisible(false);
}
}*/
var show_alarm_info = function (dwtype, status, id, name, device_code, company_code, company_name, fullname, time, data, data2, clzt, clwb, clr_name, clnr, clsj){
vAlarmInfoWin.show();
if((dwtype=='YTVA')||(dwtype=='16')){
vAlarmInfoWin.setWidth(780);
Ext.getCmp('picPanel').setWidth(360);
Ext.getCmp('picPanel').setHeight(270);
var img = document.createElement('img');
img.width=360;
img.height=270;
img.src = data2;
var alarm_pic = document.getElementById('alarm_pic');
alarm_pic.innerHTML='';
alarm_pic.appendChild(img);
}else{
vAlarmInfoWin.setWidth(780);
Ext.getCmp('picPanel').setWidth(360);
Ext.getCmp('picPanel').setHeight(270);
var img = document.createElement('img');
img.width=360;
img.height=270;
img.src = data;
var alarm_pic = document.getElementById('alarm_pic');
alarm_pic.innerHTML='';
alarm_pic.appendChild(img);
/* vAlarmInfoWin.setWidth(400);
Ext.getCmp('picPanel').setWidth(0);
Ext.getCmp('picPanel').setHeight(0);*/
}
$("#VInfoWin_Title").html(data);
Ext.getCmp('uf_company_name').setValue(company_name);
Ext.getCmp('uf_name').setValue(name);
Ext.getCmp('uf_device_code').setValue(device_code);
Ext.getCmp('uf_fullname').setValue(fullname);
Ext.getCmp('uf_clr').setValue(clr_name);
Ext.getCmp('uf_clsj').setValue(clsj);
Ext.getCmp('uf_clnr').setValue(clnr);
Ext.getCmp('uf_id').setValue(id);
Ext.getCmp('uf_clwb').setValue(clwb=='1'?'误报':'告警');
Ext.getCmp('uf_status').setValue(status);
Ext.getCmp('uf_dwtype').setValue(dwtype);
if(clzt=='已处理'){
vAlarmInfoWin.setHeight(460);
Ext.getCmp('uf_clwb').setVisible(true);
Ext.getCmp('uf_r_clwb').setVisible(false);
Ext.getCmp('uf_r_clfw').setVisible(false);
Ext.getCmp('confirmBtn').setVisible(false);
Ext.getCmp('uf_clr').setVisible(true);
Ext.getCmp('uf_clsj').setVisible(true);
if(dwtype=='YTVA')
vAlarmInfoWin.setPosition(
($(document).innerWidth()-780)/2,
($(document).innerHeight()-460)/2);
else
vAlarmInfoWin.setPosition(
($(document).innerWidth()-400)/2,
($(document).innerHeight()-460)/2);
}else{
vAlarmInfoWin.setHeight(400);
Ext.getCmp('uf_clwb').setVisible(false);
Ext.getCmp('uf_r_clwb').setVisible(true);
Ext.getCmp('uf_r_clfw').setVisible(true);
Ext.getCmp('confirmBtn').setVisible(true);
Ext.getCmp('uf_clr').setVisible(false);
Ext.getCmp('uf_clsj').setVisible(false);
if((dwtype=='YTVA')||(dwtype=='16'))
vAlarmInfoWin.setPosition(
($(document).innerWidth()-780)/2,
($(document).innerHeight()-400)/2);
else
vAlarmInfoWin.setPosition(
($(document).innerWidth()-400)/2,
($(document).innerHeight()-400)/2);
}
}
var RtuOptionPanel = Ext.create('Ext.grid.Panel', {
// title: 'RTU报告列表',
header: {
height: 0,
border: '0px solid #000000'
},
titleCollapse: true,
id: 'VRtuOptionListPanel',
region: 'center',
store: myStore,
// selModel: sm,
columns: [
{header: 'id', dataIndex: 'id', hidden: true, menuDisabled: true},
{header: '序号', dataIndex: 'orderIdx', width: 50, menuDisabled: true},
{header: '单位名称', dataIndex: 'company_name', width: 240, menuDisabled: true},
{header: '报告时间', dataIndex: 'time', width: 160, menuDisabled: true},
{header: '报告数据', dataIndex: 'data4', width: 140, menuDisabled: true},
{header: '报告内容', dataIndex: 'fullname', width: 900, minWidth: 400, maxWidth: 1600, menuDisabled: true},
{header: '处理状态', dataIndex: 'clzt', width: 100, menuDisabled: true},
{header: '处理人', dataIndex: 'clr_name', width: 150, menuDisabled: true},
{header: '处理时间', dataIndex: 'clsj', width: 160, menuDisabled: true}
],
columnLines: true,
height: maxHeight,
width: '100%',
tbar: new Ext.create('Ext.toolbar.Toolbar', {
items: [{
html: '视频监控报告列表'
}, '->', {
xtype: 'button',
iconCls: 'back_btn',
text: '返回',
listeners: {
click: function () {
location.href = baseUrl + 'view/frontpage/map.jsp?&theme=' + theme + '&company_code=' + company_code;
}
}
}, '-',
{
xtype: 'button',
iconCls: 'filter_btn',
text: '筛选',
listeners: {
click: filterwin
}
}, '-',
{
xtype: 'button',
iconCls: 'filter_btn',
text: '导出',
listeners: {
click: exportbtn_click
}
}, '-']
}),
bbar: new Ext.PagingToolbar({
store: myStore,
id: 'VRtuOptionListPageToolbar',
displayInfo: true,
pageSize: countPerPage,
prependButtons: true,
displayMsg: '显示第 {0}条到 {1}条记录,总共 {2}条',
emptyMsg: "没有记录",
firstText: '第一页',
prevText: '前一页',
nextText: '后一页',
lastText: '最后一页',
refreshText: '刷新'
}),
frame: true,
border: false,
iconCls: 'icon-grid',
listeners: {
'celldblclick': function (grid, td, cellIndex, record, tr, rowIndex, e, eOpts) {
// alert(record.get('company_name')+','+record.get('id'));
show_alarm_info(dwtype,
record.data.status,
record.data.id,
record.data.name,
record.data.device_code,
record.data.company_code,
record.data.company_name,
record.data.fullname,
record.data.time,
record.data.data,
record.data.data2,
record.data.clzt,
record.data.clwb,
record.data.clr_name,
record.data.clnr,
record.data.clsj);
}
}
});
var piebar = Ext.create('Ext.panel.Panel', {
id: 'FirePiePanel',
width: '100%',
height: 498,
region: 'north',
layout: 'border',
defaults: {
border: false
},
html: '' +
'
' +
'
' +
'

' +
'
视频监控告警处理情况
' +
'
总数
' +
'
已处理
' +
'
未处理
' +
'
处置率
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
处置率
' +
'
' +
'
'
});
pieMask = new Ext.LoadMask(piebar, {msg: "Loading..."});
new Ext.create('Ext.panel.Panel', {
width: '100%',
id: 'RtuAlarmPanel',
layout: 'border',
items: [
piebar, RtuOptionPanel
],
renderTo: Ext.getBody()
});
myStore.reload();
// getCurrentData();
// maxHeight = document.documentElement.clientHeight;
// Ext.getCmp('RtuAlarmPanel').setHeight(maxHeight);
/* vAlarmInfoWin = Ext.create('Ext.window.Window',{
id:'VAlarmInfoWin',
title:'详细信息: ',
height:400,
width:400,
layout:'border',
closable:false,
modal:true,
closeAction:'hide',
items:[{
id:'picPanel',
region:'west',
width:300,
html:''
},alarmInfoForm]
}).hide();
getCompanyInfo();*/
$(window).resize(function () {
body_resize();
});
body_resize();
});