Старт
This commit is contained in:
262
observation/index.js
Normal file
262
observation/index.js
Normal file
@ -0,0 +1,262 @@
|
||||
|
||||
/**
|
||||
* Igor Ivanov irigm@mail.ru
|
||||
* [^\x00-\x7F]
|
||||
*/
|
||||
|
||||
this.divsh=document.createElement('div'); //Shadow
|
||||
divsh.style.cssText="display: none; position: fixed; z-index: 1000; top:0; left:0; height: 100%; width: 100%; background: rgba(0,0,0,0.3);";
|
||||
|
||||
var g_count=0;
|
||||
var g_winCntMsg=null;
|
||||
var g_events=null;
|
||||
|
||||
//Произграть музыку
|
||||
function beep()
|
||||
{
|
||||
var audio = new Audio('/resources/sound/dilin.mp3');
|
||||
audio.play();
|
||||
}
|
||||
|
||||
//Назначить новое сообщение текущему пользователю (события разбиты по приоритету 0 низкий приоритет > 0 самый высокий)
|
||||
function takeMessage()
|
||||
{
|
||||
g_winCntMsg.showProgressBar();
|
||||
|
||||
var data = {
|
||||
test: ''
|
||||
};
|
||||
|
||||
var req=createRequestObject();
|
||||
req.onreadystatechange = function(thiz)
|
||||
{
|
||||
return function(){
|
||||
if(req.readyState === 4){
|
||||
var data=null;
|
||||
try {
|
||||
data = JSON.parse(req.responseText);
|
||||
} catch (e) {
|
||||
alert(e.message);
|
||||
return;
|
||||
}
|
||||
if(data!=null)
|
||||
{
|
||||
if(data.errorCode=='0')
|
||||
{
|
||||
alert('Вам присвоено событие для обработки.'); //: "'+data.id+'"
|
||||
}else
|
||||
{
|
||||
alert('Error: '+data.errorMessage);
|
||||
}
|
||||
}
|
||||
g_winCntMsg.hideProgressBar();
|
||||
}
|
||||
};
|
||||
}(this);
|
||||
|
||||
req.open("POST", '/monitoring/pscripts/messages.php?fn=2', true);
|
||||
req.setRequestHeader("Content-type", "text/plain");
|
||||
req.send(JSON.stringify(data));
|
||||
}
|
||||
|
||||
//Выбор даты времени по щелчке на изображении
|
||||
function setCalendar(field,img,day)
|
||||
{
|
||||
if (typeof field === 'string' || field instanceof String)
|
||||
field=document.getElementById(field);
|
||||
if (typeof img === 'string' || img instanceof String)
|
||||
img=document.getElementById(img);
|
||||
|
||||
//Если задано смещение в датах то вставляем эту дату
|
||||
if(typeof day === 'number')
|
||||
{
|
||||
var d = new Date();
|
||||
d.setDate(d.getDate()+day);
|
||||
field.value=d.toString();
|
||||
}
|
||||
|
||||
new Calendar({
|
||||
inputField: field,
|
||||
dateFormat: "%Y-%m-%d %H:%M:%S",
|
||||
trigger: img,
|
||||
align: "Bl",
|
||||
bottomBar: false,
|
||||
showTime: true,
|
||||
//singleClick: true,
|
||||
onSelect: function(){ this.hide(); }
|
||||
});
|
||||
}
|
||||
|
||||
//Показать окно настроек (смена подложки и пароля)
|
||||
function showConfigWidget()
|
||||
{
|
||||
this.win=new TWin();
|
||||
this.win.BuildGUI(10,10);
|
||||
this.win.setCaption(trt('Settings'));
|
||||
|
||||
let str='<div style="width: 100%; height: 100%; padding: 3px; text-align: left;">\n\
|
||||
<div style="position: relative; padding-bottom:10px;">\n\
|
||||
<b style="text-align:left; font-weight:bold;">'+trt('Substrate')+'</b>\n\
|
||||
<table border="0" style="width: 100%;"><tr><td style="padding: 2px;">\n\
|
||||
<select id="SubstrateID" style="width:100%;" onchange="changeMap();"><option value="OpenStreetMap">OpenStreetMap</option><option value="BingAerial">Bing aerial</option><option value="StamenTerrain">Stamen.com terrain</option><option value="GoogleMaps">Google maps</option><option value="GoogleMapsHybrid">Google maps hybrid</option><option value="yandex">Yandex maps</option></select>\n\
|
||||
</td><td style="padding: 2px; width: 30px;">\n\
|
||||
<button class="button-secondary" style="width:30px;" onclick="openLayoutsWin();">...</button><br>\n\
|
||||
</td></tr></table>\n\
|
||||
</div>\n\
|
||||
<hr>\n\
|
||||
<a href="#" id="call_change_pass">'+trt('Change_password')+'</a>\n\
|
||||
</div>';
|
||||
|
||||
this.win.setContent(str);
|
||||
this.win.setSize("420px","140px");
|
||||
this.win.setCenter();
|
||||
this.win.shadow=true;
|
||||
this.win.hide(false);
|
||||
|
||||
document.getElementById('call_change_pass').onclick=function(){return function(){
|
||||
g_user.changePassword();
|
||||
};}();
|
||||
|
||||
//document.getElementById('id_exit_pass').onclick=function(win){return function(){win.Close();};}(win);
|
||||
}
|
||||
|
||||
//Customize the visual elements on the access level.
|
||||
function configGUIbyAccessLevel()
|
||||
{
|
||||
g_user.loadAccess();
|
||||
g_user.onUpdate=function(user)
|
||||
{
|
||||
if(user.getAccess("Carrier")) //Если это перевозчик
|
||||
{
|
||||
deleteHTML('btnTerminalsModels');
|
||||
deleteHTML('btnRoutes');
|
||||
deleteHTML('btnRoutesCompanies');
|
||||
|
||||
//Скрываю "Сообщения"
|
||||
//deleteHTML('lblMessages');
|
||||
deleteHTML('btnMessages');
|
||||
deleteHTML('btnMessagesUsers');
|
||||
|
||||
//Скрываю "Администрирование"
|
||||
deleteHTML('lblAdministration');
|
||||
deleteHTML('btnActions');
|
||||
deleteHTML('btnAccess');
|
||||
deleteHTML('btnGroups');
|
||||
deleteHTML('btnUsers');
|
||||
deleteHTML('btnHistory');
|
||||
deleteHTML('btnMetadata');
|
||||
|
||||
//Скрываю "Компании"
|
||||
deleteHTML('lblCompanies');
|
||||
deleteHTML('btnCompanies');
|
||||
deleteHTML('btnCompaniesTypes');
|
||||
|
||||
//Скрываю "Язык"
|
||||
deleteHTML('lblLanguage');
|
||||
deleteHTML('btnLanguage');
|
||||
deleteHTML('btnTranslation');
|
||||
}
|
||||
|
||||
//Если это автобусная станция то скрываем мониторинг
|
||||
if(user.getAccess("Station")) //Если это перевозчик
|
||||
{
|
||||
//Скрываю "Администрирование"
|
||||
deleteHTML('lblAdministration');
|
||||
deleteHTML('btnActions');
|
||||
deleteHTML('btnAccess');
|
||||
deleteHTML('btnGroups');
|
||||
deleteHTML('btnUsers');
|
||||
deleteHTML('btnHistory');
|
||||
deleteHTML('btnMetadata');
|
||||
|
||||
//Скрываю "Язык"
|
||||
deleteHTML('lblLanguage');
|
||||
deleteHTML('btnLanguage');
|
||||
deleteHTML('btnTranslation');
|
||||
|
||||
//Скрываю вкладку мониторинг
|
||||
//g_tab.delTab(g_tb_monitoring);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Запросить данные для заполнения в всплывающее окно которое отображается при щелчке на значке на карте
|
||||
function callObjectData(object_id)
|
||||
{
|
||||
$.ajax({
|
||||
url: '/transit/object.php?object_id='+object_id,
|
||||
type: "POST",
|
||||
dataType: "text",
|
||||
success: function(thiz){return function(data,status){
|
||||
if(status=='success')
|
||||
{
|
||||
//alert('data = '+data);
|
||||
|
||||
m_winPP.hideProgressBar();
|
||||
m_winPP.setContent(data);
|
||||
|
||||
}else
|
||||
{
|
||||
alert(status);
|
||||
}
|
||||
|
||||
}}(this)
|
||||
});
|
||||
}
|
||||
|
||||
//Стиль для иконок пломб
|
||||
function createFatypeStyleDel(feature,red)
|
||||
{
|
||||
return function(){
|
||||
var zoom = g_map.getView().getZoom();
|
||||
var text = zoom > 6 ? feature.get('name') : '';
|
||||
var iconStyleG;
|
||||
|
||||
|
||||
iconStyleG = new ol.style.Style({
|
||||
image: new ol.style.Icon(({
|
||||
anchor: [0.5, 25],
|
||||
anchorXUnits: 'fraction',
|
||||
anchorYUnits: 'pixels',
|
||||
opacity: 0.75,
|
||||
src: '../resources/data/icons/'+feature.get('icon_name')
|
||||
})),
|
||||
text: new ol.style.Text({
|
||||
font: '12px helvetica,sans-serif',
|
||||
text: text,
|
||||
fill: new ol.style.Fill({color: '#000'}),
|
||||
stroke: new ol.style.Stroke({color: '#fff', width: 2})
|
||||
})
|
||||
});
|
||||
return iconStyleG;
|
||||
}
|
||||
}
|
||||
|
||||
//Стиль для иконок пломб
|
||||
function createFatypeStyleEvent(feature,red)
|
||||
{
|
||||
return function(){
|
||||
var zoom = g_map.getView().getZoom();
|
||||
//var text = zoom > 6 ? feature.get('name') : '';
|
||||
var iconStyleG;
|
||||
|
||||
|
||||
iconStyleG = new ol.style.Style({
|
||||
image: new ol.style.Icon(({
|
||||
anchor: [0.5, 25],
|
||||
anchorXUnits: 'fraction',
|
||||
anchorYUnits: 'pixels',
|
||||
opacity: 0.75,
|
||||
src: '../resources/data/icons/'+feature.get('icon_name')
|
||||
})),
|
||||
text: new ol.style.Text({
|
||||
font: '12px helvetica,sans-serif',
|
||||
//text: text,
|
||||
fill: new ol.style.Fill({color: '#000'}),
|
||||
stroke: new ol.style.Stroke({color: '#fff', width: 2})
|
||||
})
|
||||
});
|
||||
return iconStyleG;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user