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