You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

318 lines
12 KiB

$(document).ready(function () {
$('#nic_new_img_btn').click(function(){
$('#nic_new_img_modal').modal('show');
get_new_db_images();
$('#nic_images_to_visit').attr("disabled", false);
$('#nic_images_to_exam').attr("disabled", false);
});
$('.close').click(function(){
$('#' + $(this).data('target')).hide();
});
var cookie_life = new Date();
cookie_life.setTime(cookie_life.getTime() + (20 * 60 * 1000));
$.cookie('images_timestamp', null, { expires: 0 });
check_cookies();
setInterval(() => check_cookies(), 5000);
function check_cookies()
{
if (!document.hidden) {
if ($('#nic_saving').length == 0)
{
var url = '/new_images_monitoring'
if ($.cookie('images_timestamp'))
url = '/new_images_monitoring?timestamp='+$.cookie('images_timestamp')
$.ajax({
type:'GET',
url: url,
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
success: (data) => {
for (msg_num in data['result'])
{
if (data['result'][msg_num]['timestamp'] > $.cookie('images_timestamp'))
{
startRemoteUnvRec(data['result'][msg_num]['src']);
}
if($.cookie('images_timestamp') == null)
{
startRemoteUnvRec(data['result'][msg_num]['src']);
}
}
$.cookie('images_timestamp', data['timestamp'], { expires: cookie_life });
if (data['length'] > 0)
{
$('#nic_new_img_btn').show();
}
else
{
$('#nic_new_img_btn').hide();
}
},
error:function (jqXHR, exception) {
after_error();
}
});
}
}
}
function startRemoteUnvRec(src){
// console.log('start_remote_unvisit_image_diagnostics');
var message = {
src: src
}
lang = getUrlParameter('lang');
$.ajax({
type:'POST',
data: JSON.stringify(message),
url: '/start_remote_unvisit_image_diagnostics'+'?lang='+lang,
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
success: (data) => {
//Если модалка активна
if($('#nic_new_img_modal').hasClass('show'))
{
get_new_db_images();
}
},
error:function (jqXHR, exception) {
}
});
}
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = window.location.search.substring(1),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return typeof sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
}
}
return false;
};
$('#nic_images_to_exam').click(function(){
$('#nic_images_to_exam').attr("disabled", true);
var image_ids = [];
$.each($('.img-checkbox'), function(e) {
if($(this).is(':checked'))
image_ids.push($(this).data('id'));
});
var message = {
'image_ids': image_ids
}
lang = getUrlParameter('lang');
$.ajax({
type:'POST',
data: JSON.stringify(message),
url: '/nic_images_to_exam'+'?lang='+lang,
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
success: (data) => {
if(data['success'] == true)
{
if(lang == 'en')
window.location.href = '/med_exam?visit_id='+data['visit_id']+'&lang=en';
else
window.location.href = '/med_exam?visit_id='+data['visit_id']+'&lang=ru';
}
else
$('#nic_images_to_exam').attr("disabled", false);
},
error:function (jqXHR, exception) {
$('#nic_images_to_exam').attr("disabled", false);
}
});
});
$('#nic_images_to_visit').click(function(){
$('#nic_images_to_visit').attr("disabled", true);
var image_ids = [];
$.each($('.img-checkbox'), function(e) {
if($(this).is(':checked'))
image_ids.push($(this).data('id'));
});
var message = {
'image_ids': image_ids
}
lang = getUrlParameter('lang');
$.ajax({
type:'POST',
data: JSON.stringify(message),
url: '/nic_images_to_visit'+'?lang='+lang,
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
success: (data) => {
if(data['success'] == true)
{
// if(lang == 'en')
// window.location.href = '/visit/'+data['patient_id']+'?lang=en&nic_visit=true';
// else
// window.location.href = '/visit/'+data['patient_id']+'?nic_visit=true';
if(lang == 'en')
window.location.href = '/visit/new_visit'+'?lang=en&nic_visit=true&visit_id='+data['visit_id'];
else
window.location.href = '/visit/new_visit'+'?nic_visit=true&visit_id='+data['visit_id'];
}
else
$('#nic_images_to_visit').attr("disabled", false);
},
error:function (jqXHR, exception) {
$('#nic_images_to_visit').attr("disabled", false);
}
});
});
$('#nic_remove_images').click(function(){
var image_ids = [];
$.each($('.img-checkbox'), function(e) {
if($(this).is(':checked'))
image_ids.push($(this).data('id'));
});
var message = {
'image_ids': image_ids
}
$.ajax({
type:'POST',
data: JSON.stringify(message),
url: '/remove_nic_images',
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
success: (data) => {
get_new_db_images();
},
error:function (jqXHR, exception) {
}
});
});
function get_new_db_images(){
// Доделать чекбоксы для
$('#new_images_selector').empty();
lang = getUrlParameter('lang');
$.ajax({
type:'GET',
url: '/get_new_db_images'+'?lang='+lang,
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
success: (data) => {
$('#new_images_selector').empty();
for(i in data['result']['groups'])
{
form_check = document.createElement('div');
form_check.setAttribute('class', 'form_check');
checkbox = document.createElement('input');
checkbox.setAttribute('type', 'checkbox');
checkbox.setAttribute('class', 'form-check-input check-group me-2');
checkbox.setAttribute('data-id', 'group_' + data['result']['groups'][i]);
checkbox.setAttribute('data-group', data['result']['groups'][i]);
label = document.createElement('label');
label.setAttribute('for', 'group_' + data['result']['groups'][i]);
label.setAttribute('class', 'form-check-label');
h3 = document.createElement('h3');
h3.innerHTML = data['result']['groups'][i]
label.appendChild(h3);
form_check.appendChild(checkbox);
form_check.appendChild(label);
document.getElementById("new_images_selector").appendChild(form_check);
pics = data['result'][data['result']['groups'][i]];
for(j in pics){
var pic = pics[j];
div = document.createElement('div');
div.setAttribute('class', 'col-xs-4 col-md-3 col-lg-2 col-4 p-1 m-0');
custom_control = document.createElement('div');
custom_control.setAttribute('class', 'custom-control custom-checkbox image-checkbox');
checkbox = document.createElement('input');
checkbox.setAttribute('type', 'checkbox');
checkbox.setAttribute('class', 'custom-control-input img-checkbox');
checkbox.setAttribute('id', 'chk' + pic['id']);
checkbox.setAttribute('data-id', pic['id']);
checkbox.setAttribute('data-group', data['result']['groups'][i]);
label = document.createElement('label');
label.setAttribute('for', 'chk' + pic['id']);
label.setAttribute('class', 'custom-control-label image-checkbox-label');
img = document.createElement('img');
img.setAttribute('class', 'img-fluid');
img.setAttribute('alt', '#');
img.setAttribute('src', '/img/'+pic['hash_name']);
label.appendChild(img);
custom_control.appendChild(checkbox);
custom_control.appendChild(label);
div.appendChild(custom_control);
document.getElementById("new_images_selector").appendChild(div);
}
$('#new_images_selector').append('<hr>');
}
$('.check-group').click(function(){
var group = $(this).data('group');
if($(this).is(':checked'))
$.each($('.img-checkbox'), function(e) {
if($(this).data('group') == group)
$(this).prop('checked', true);
});
else
$.each($('.img-checkbox'), function(e) {
if($(this).data('group') == group)
$(this).prop('checked', false);
});
});
$('.img-checkbox').click(function(){
var group = $(this).data('group');
var all_checked = true;
if($(this).is(':checked'))
$.each($('.img-checkbox'), function(e) {
if($(this).data('group') == group)
if($(this).is(':checked') == false)
{
all_checked = false
}
});
else
{
$.each($('.check-group'), function(e) {
if($(this).data('group') == group)
$(this).prop('checked', false);
});
all_checked = false
}
if (all_checked == true)
{
$.each($('.check-group'), function(e) {
if($(this).data('group') == group)
$(this).prop('checked', true);
});
}
})
},
error:function (jqXHR, exception) {
}
});
}
});