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.
208 lines
7.4 KiB
208 lines
7.4 KiB
2 months ago
|
$(document).ready(function () {
|
||
|
|
||
|
function clear_form(){
|
||
|
$('#telephone').val('');
|
||
|
$('#fio').val('');
|
||
|
$('#dob').val('');
|
||
|
$('#sex').val('');
|
||
|
$('#complaints_input').val('');
|
||
|
$('#anamnesis_input').val('');
|
||
|
$('#short_endo_history').empty();
|
||
|
$('#email').val('');
|
||
|
$('#file_input').val(null);
|
||
|
$('#imgs_preview').empty();
|
||
|
}
|
||
|
|
||
|
function previewIMG(input, preview) {
|
||
|
var reader = new FileReader();
|
||
|
reader.onload = function(e) {
|
||
|
$(preview).attr('src', e.target.result);
|
||
|
}
|
||
|
reader.readAsDataURL(input);
|
||
|
}
|
||
|
|
||
|
$('#add_direction').click(
|
||
|
function(){startLoad(null)}
|
||
|
);
|
||
|
|
||
|
$("#file_input").change(function(){
|
||
|
$('#imgs_preview').empty();
|
||
|
$('#file-input-greenspan').html('');
|
||
|
if ($(this)[0].files[0]) {
|
||
|
$('#pre_load').hide();
|
||
|
$('#file-input-greenspan').html('Загружено снимков: ' + $(this)[0].files.length);
|
||
|
for(i=0;i<$(this)[0].files.length;i++)
|
||
|
{
|
||
|
if (($(this)[0].files[i].type.includes('image')))
|
||
|
{
|
||
|
div = document.createElement('div');
|
||
|
div.setAttribute('class', 'col-3 p-1 m-0');
|
||
|
img = document.createElement('img');
|
||
|
img.setAttribute('class', 'preview_img');
|
||
|
previewIMG($(this)[0].files[i], $(img));
|
||
|
div.appendChild(img);
|
||
|
document.getElementById("imgs_preview").appendChild(div);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
|
||
|
function update_select(profarea_update)
|
||
|
{
|
||
|
var lang = getUrlParameter('lang');
|
||
|
var params = {
|
||
|
clinic_id:$("#clinic_id").val(),
|
||
|
profarea_id:$('#profarea_id').val(),
|
||
|
lang:lang
|
||
|
};
|
||
|
var str_params = jQuery.param( params );
|
||
|
$.ajax({
|
||
|
type:'GET',
|
||
|
url: '/get_doctors_profiles?' + str_params,
|
||
|
processData: false, // tell jQuery not to process the data
|
||
|
contentType: false, // tell jQuery not to set contentType
|
||
|
success: (data) => {
|
||
|
$('#user_id').empty();
|
||
|
if(profarea_update==false)
|
||
|
{
|
||
|
$('#profarea_id').empty();
|
||
|
if(lang=='en')
|
||
|
$('#profarea_id').append('<option value="0">Profile</option>');
|
||
|
else
|
||
|
$('#profarea_id').append('<option value="0">Профиль</option>');
|
||
|
for(pa_i in data['profareas'])
|
||
|
$('#profarea_id').append('<option value="'+data['profareas'][pa_i]['id']+'">'+data['profareas'][pa_i]['name']+'</option>');
|
||
|
}
|
||
|
for(pa_i in data['users'])
|
||
|
$('#user_id').append('<option value="'+data['users'][pa_i]['id']+'">'+data['users'][pa_i]['name']+'</option>');
|
||
|
},
|
||
|
error:function (jqXHR, exception) {
|
||
|
after_error();
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
$("#clinic_id").change(function(){
|
||
|
update_select(false);
|
||
|
});
|
||
|
|
||
|
$("#profarea_id").change(function(){
|
||
|
update_select(true);
|
||
|
});
|
||
|
|
||
|
function getId(str)
|
||
|
{
|
||
|
return(str.replaceAll(' ','').replaceAll(',','').replaceAll('.','').replaceAll(';','').replaceAll(':','').replaceAll('(','').replaceAll(')','').replaceAll('-','').replaceAll('/','').replaceAll('\\',''))
|
||
|
}
|
||
|
|
||
|
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;
|
||
|
};
|
||
|
|
||
|
|
||
|
function startLoad(nic_src){
|
||
|
$('#start_rec').attr("disabled", true);
|
||
|
$('#save_picture').attr("disabled", true);
|
||
|
$('#request_waiting').show();
|
||
|
$('#progress_text').html('Сохранение');
|
||
|
var lang = getUrlParameter('lang');
|
||
|
var fileList = document.getElementById('file_input').files;
|
||
|
var formData = new FormData();
|
||
|
var poll = null;
|
||
|
var i = 0
|
||
|
console.log($('#clinic_id').val())
|
||
|
if ($('#clinic_id').val() == 0 || $('#clinic_id').val() == null){
|
||
|
$('#exception').html('Укажите клинику для направления');
|
||
|
$('#exception').slideDown(500);
|
||
|
$('#exception').delay(2000).slideUp();
|
||
|
return
|
||
|
}
|
||
|
if ($('#profarea_id').val() == 0 || $('#clinic_id').val() == null){
|
||
|
$('#exception').html('Укажите профиль направления');
|
||
|
$('#exception').slideDown(500);
|
||
|
$('#exception').delay(2000).slideUp();
|
||
|
return
|
||
|
}
|
||
|
if ($('#telephone').val() == '' && $('#fio').val() == '' && $('#email').val() == ''){
|
||
|
$('#exception').html('Укажите данные пациента');
|
||
|
$('#exception').slideDown(500);
|
||
|
$('#exception').delay(2000).slideUp();
|
||
|
return
|
||
|
}
|
||
|
for(i=0;i<fileList.length;i++)
|
||
|
{
|
||
|
if (fileList[i].type.includes('image'))
|
||
|
{
|
||
|
formData.append("files", fileList[i]);
|
||
|
i += 1;
|
||
|
}
|
||
|
}
|
||
|
var params = {
|
||
|
telephone:$('#telephone').val(),
|
||
|
fio:$('#fio').val(),
|
||
|
email:$('#email').val(),
|
||
|
dob:$('#dob').val(),
|
||
|
sex:$('#sex').val(),
|
||
|
complaints:$('#complaints_input').val(),
|
||
|
anamnesis:$('#anamnesis_input').val(),
|
||
|
lang:lang,
|
||
|
clinic_id:$('#clinic_id').val(),
|
||
|
profarea_id:$('#profarea_id').val(),
|
||
|
user_id:$('#user_id').val()
|
||
|
};
|
||
|
if (nic_src){
|
||
|
params['src'] = nic_src;
|
||
|
}
|
||
|
var str_params = jQuery.param( params );
|
||
|
|
||
|
|
||
|
$.ajax({
|
||
|
type:'POST',
|
||
|
data: formData,
|
||
|
url: '/save_direction?' + str_params,
|
||
|
processData: false, // tell jQuery not to process the data
|
||
|
contentType: false, // tell jQuery not to set contentType
|
||
|
async: true,
|
||
|
success: (data) => {
|
||
|
$('#success').html('Направление отправлено');
|
||
|
$('#success').slideDown(500);
|
||
|
$('#success').delay(2000).slideUp();
|
||
|
clear_form();
|
||
|
},
|
||
|
error:function (jqXHR, exception) {
|
||
|
// after_error();
|
||
|
$('#exception').html('Не удалось отправить направление');
|
||
|
$('#exception').slideDown(500);
|
||
|
$('#exception').delay(2000).slideUp();
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function getRandomInt(max) {
|
||
|
return Math.floor(Math.random() * Math.floor(max));
|
||
|
}
|
||
|
|
||
|
function makeid(length) {
|
||
|
var result = '';
|
||
|
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
||
|
var charactersLength = characters.length;
|
||
|
for ( var i = 0; i < length; i++ ) {
|
||
|
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
||
|
}
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
});
|