ajaxform_onkoweb_medrf
Это старая версия документа!
Проверка заполнения полей формы AJAX
$(function(){
//Фамилия с большой буквы
$('input[name="new_patient_surname"]').keyup(function(evt){
var txt = $(this).val();
// Regex taken from php.js (http://phpjs.org/functions/ucwords:569)
$(this).val(txt.replace(/^(.)|\s(.)/g, function($1){ return $1.toUpperCase( ); }));
});
//Имя с большой буквы
$('input[name="new_patient_firstname"]').keyup(function(evt){
var txt = $(this).val();
// Regex taken from php.js (http://phpjs.org/functions/ucwords:569)
$(this).val(txt.replace(/^(.)|\s(.)/g, function($1){ return $1.toUpperCase( ); }));
});
//Отчество с большой буквы
$('input[name="new_patient_middlename"]').keyup(function(evt){
var txt = $(this).val();
// Regex taken from php.js (http://phpjs.org/functions/ucwords:569)
$(this).val(txt.replace(/^(.)|\s(.)/g, function($1){ return $1.toUpperCase( ); }));
});
$('#shs_jqGrid_table').jqGrid({
url:'index.php', // Скрипт - обработчик ваших запросов
//postData: $("#myForm").serialize(),
datatype: 'json',
mtype: 'POST',
postData:{"action": "report_ajax"},
colNames:['Обзвон','Дата направления', 'Пациент', 'Врач','ЛПУ', '№','Диагноз','Консультация','КТ','МРТ'],
colModel :[
{name:'obzvon_001', index:'obzvon_001', width: 52,
editable: true,
edittype: 'checkbox', editoptions: { value: "True:False" },
formatter: "checkbox", formatoptions: { disabled: true}
},
/*
{name:'obzvon_001', index:'obzvon_001', width: 24}
*/
{name:'date_napravleniya', index:'date_napravleniya', width:137},
{name:'fio', index:'fio_patient', width:224},
{name:'doctor', index:'doctor', width:222},
{name:'lpu', index:'lpu', width:196},
{name:'number', index:'number', width:32},
{name:'diagnoz', index:'diagnoz', width:110},
{name:'konsultaciya', index:'konsultaciya_info', width:110},
{name:'kt_info', index:'kt_info', width:110},
{name:'mrt_info', index:'mrt_info', width:110},
],
pager: $('#shs_jdGrid_Paginate'),
rowNum:10, /*эта опция больше 10 глючит (пропадают\неотображаются пациенты)*/
height: '100%',
rowList:[10,30,100],
sortname: 'date_napravleniya',
sortorder: 'DESC',
onSelectRow: function(id){
var url = 'index.php?p_uid='+id+'&action=show_patient';
window.open(url);
},
/*
loadComplete: function() {
var rowIDs = jQuery("#shs_jqGrid_table").getDataIDs();
for (var i=0;i<rowIDs.length;i=i+1){
rowData=jQuery("#shs_jqGrid_table").getRowData(rowIDs[i]);
var trElement = jQuery("#"+ rowIDs[i],jQuery('#shs_jqGrid_table'));
if (rowData.obzvon_001 > 0) {
trElement.removeClass('ui-widget-content');
trElement.addClass('rowColorGREEN');
}else{
if (rowData.obzvon_001 == ''){
trElement.removeClass('ui-widget-content');
trElement.addClass('rowColorRED');
}
}
}
}
*/
loadComplete: function() {
var checkboxFix = [];
$("#shs_jqGrid_table td[aria-describedby='obzvon_001'] input").each(function () {
checkboxFix.push($(this).prop('checked'));
});
},
/*
afterInsertRow : function(rowId, rowData)
{
var rowData = $('#shs_jqGrid_table').jqGrid('getRowData', rowId);
rowData.obzvon_001 = '12321';
$('#shs_jqGrid_table').jqGrid('setRowData', rowId, rowData);
}
*/
afterInsertRow: function(row_id, row_data) {
var str = row_data.obzvon_001;
if (str == null) {
var n = '';
}
else {
var n = str.length;
}
/*
Почему-то работает, хз почему. Добавляет недостающие галочки.
*/
if (n > 0) {
//$(this).attr('checked',!($(this).attr('checked')));
//$('#shs_jqGrid_table').jqGrid('setCell', row_id, 'obzvon_001', '', {'background': 'green'});
$('#shs_jqGrid_table').jqGrid('setCell', row_id, 'obzvon_001', ' ');
}else if (n == ''){
//$(this).attr('checked',!($(this).attr('checked')));
//$(this).attr('checked',!($(this).attr('checked')));
//$('#shs_jqGrid_table').jqGrid('setCell', row_id, 'obzvon_001', '', {'background': 'red'});
}
}
});
$("button[id='jqgrid_btn']").click(function(){
var stat_vrach_only = $("select[name='stat_vrach_only']").val();
var stat_vrach = $("input[name='stat_vrach']").val();
var stat_diagnoz_mkb10 = $("input[name='stat_diagnoz_mkb10']").val();
var stat_lpu = $("select[name='stat_lpu']").val();
var stat_date = $("input[name='reservation']").val();
$('#shs_jqGrid_table').jqGrid('setGridParam',{url:"index.php", page:1, postData:{"action":"report_ajax", "doctor_mask":stat_vrach, "doctor_mask1":stat_vrach_only, "diagnoz_mask":stat_diagnoz_mkb10, "lpu_mask":stat_lpu, "date_mask":stat_date}}).trigger("reloadGrid");
//$('#shs_jqGrid_table').jqGrid('setGridParam',{url:encodeURI("index.php?action=report_ajax&doctor_mask="+stat_vrach+"&diagnoz_mask="+stat_diagnoz_mkb10+"&lpu_mask="+stat_lpu+"&date_mask="+stat_date), page:1}).trigger("reloadGrid");
});
//DataTables
/*
var oTable = $('#example').dataTable( {
"oLanguage": {
"sUrl": "http://amd123.ru/clinic/js/datatables/examples/ajax/sources/dataTables.rus.txt"
},
"bProcessing": true,
"sAjaxSource": "http://amd123.ru/clinic/js/datatables/examples/ajax/sources/arrays.txt",
//"sDom": '<"top"iflp<"clear">>rt<"bottom"iflp<"clear">>',
//"sPaginationType": "full_numbers",
//"sScrollY": 200,
} );
*/
$('#reservationtime').daterangepicker({
//timePicker: false,
//timePickerIncrement: 30,
format: 'DD-MM-YYYY',
locale: {
applyLabel: 'Ok',
fromLabel: 'С',
toLabel: 'ПО',
customRangeLabel: 'Custom Range',
daysOfWeek: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт','Сб'],
monthNames: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
firstDay: 1
}
});
$('#search_patient .typeahead').typeahead({
name: "p-uid",
remote: {
url: 'index.php',
/*
replace: function () {
var q = 'index.php?action=typeahead&query=';
if ($('.typeahead').val()) {
q += encodeURIComponent($('.typeahead').val());
}
return q;
},
*/
replace: function (url, uriEncodedQuery){
return url + "#" + uriEncodedQuery;
},
beforeSend: function (jqXhr, settings){
jqXhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
settings.type = 'POST';
settings.hasContent = true;
settings.data = $.param({query: $('.typeahead').val(), action: "typeahead"});
}
},
cache: false,
limit: 20,
allowDuplicates: true,
valueKey: "name",
template: '<p class="tt-p_custom"><strong>{{name}}</strong> <span>({{year}} г.р.)</span></p>',
engine: Hogan
}).on("typeahead:selected typeahead:autocompleted",
function(e, datum) {
$("#p_uid").val(datum.uid);
}
);
$("button[name='new_patient_button_next']").click(function(){
myFunction();
$('.nav-tabs > .active').next('li').find('a').trigger('click');
/*
var result = myFunction();
// если поле с мобильным телефоном заполнено
if(result == true) {
$("button[name='new_patient_button_next']").removeClass('disabled');
$('.nav-tabs > .active').next('li').find('a').trigger('click');
}
if(result == false) {
$('#new_patient_tab a:first').tab('show');
}
else {
$("button[name='new_patient_button_next']").css({"border":"1px solid green", "color":"green"});
//$('.nav-tabs > .active').next('li').find('a').trigger('click');
//$("button[name='new_patient_button_next']").addClass('disabled');
}
*/
});
function myFunction_block_tab (){
// Проверка заполнения поля "Мобильный тел." после загрузки документа
$('#new_patient_tab a:first').tab('show');
//
// Берем значение поля «Ваш номер телефона»
var phoneV = $('input[name=new_patient_phone_mobile]').val();
// Определяем длину значения поля
var phoneLngth = phoneV.length;
if (phoneLngth != 18) {
//$('#new_patient_tab li:eq(2) a').tab('show') // Select third tab (0-indexed)
$('#new_patient_tab li:eq(1) a').removeAttr("data-toggle");
$('#new_patient_tab li:eq(2) a').removeAttr("data-toggle");
}
else {
$('#new_patient_tab li:eq(1) a').attr("data-toggle","tab");
$('#new_patient_tab li:eq(2) a').attr("data-toggle","tab");
}
};
//проверяем существование элемента, запускаем проверку заполненности поля "Мобильный тел."
var $resForm = $('input[name=new_patient_phone_mobile]');
if ($resForm.length > 0) {
myFunction_block_tab();
} else {
// Нет, такого элемента у нас нет.
};
// Функция, может срабатывать по событию .hover и т.д
function myFunction(){
// Убираем все классы с поля «Ваш номер телефона»
$('input[name=new_patient_phone_mobile]').removeClass();
// Берем значение поля «Ваш номер телефона»
var phoneV = $('input[name=new_patient_phone_mobile]').val();
// Определяем длину значения поля
var phoneLngth = phoneV.length;
if (phoneLngth <= 17) {
// Проверяем чтобы длина номера телефона была не менее 18 символов
// ***********************************************************
// Здесь мы пишем что должно быть, если ввод НЕ корректен
// ***********************************************************
// Удаляем атрибут data-toggle, делаем НЕ активными вкладки "Предварительное лечение", "Диагноз"
// Блокируем нажатие на кнопку "Далее"
$('#new_patient_tab li:eq(1) a').removeAttr("data-toggle");
$('#new_patient_tab li:eq(2) a').removeAttr("data-toggle");
$('input[name=new_patient_phone_mobile]').css({"border":"1px solid red", "color":"red"})
// отфильтровать span'ы, оставив только те, которые лежат внутри параграфов
var $spans = $('.error');
$("div.form-group").find( $spans ).text('Пожалуйста, введите номер телефона');
//$(this).next(".error").text('Введите пожалуйста ваш номер телефона');
} else {
// *******************************************************
// Здесь мы пишем что должно быть, если все введено верно
// *******************************************************
$("button[name='new_patient_button_next']").removeClass('disabled');
//myFunction_block_tab();
//$('input[name=new_patient_phone_mobile]').addClass('valid');
$('input[name=new_patient_phone_mobile]').css({"border":"1px solid green", "color":"green"})
var $spans = $('.error');
//$("div.form-group").find( $spans ).css('color','green');
$("div.form-group").find( $spans ).text('');
//$(this).next().text('');
// добавляем атрибуты вкладкам, делающих их активными
// this.setAttribute("data-toggle","tab");
//$(this).attr("data-toggle","tab");
$('#new_patient_tab li:eq(1) a').attr("data-toggle","tab");
$('#new_patient_tab li:eq(2) a').attr("data-toggle","tab");
}
};
//$('input[name=new_patient_phone_mobile]').keyup();
$('input[name=new_patient_phone_mobile]').on('blur', myFunction);
$('input[name=new_patient_phone_mobile]').on('click', myFunction);
$('input[name=new_patient_phone_mobile]').on('keyup', myFunction);
$("button[name='new_patient_button_prev']").click(function(){
$('.nav-tabs > .active').prev('li').find('a').trigger('click');
});
$("input:radio[name='new_patient_pred_lech_radio']").change(function() {
if (this.value == "yes") {
$('#new_patient_pred_lech').prop('disabled', false);
$('#new_patient_pred_lech_cont').show(300);
}
else {
$('#new_patient_pred_lech').val('');
$('#new_patient_pred_lech').prop('disabled', true);
$('#new_patient_pred_lech_cont').hide(300);
}
});
/*
$("select[name='new_napravlenie_sel']").change(function() {
if (this.value != "3") {
$('[id^="new_napravlenie_fg_"]').show(300);
}
else {
$('[id^="new_napravlenie_fg_"]').hide(300);
$("input:checkbox[name^=new_napravlenie_]").prop('checked', false);
$('[id^=new_napravlenie_][id$=_type] select').prop('selectedIndex',0);
$('[id^=new_napravlenie_][id$=_type]').hide(300);
$('[name^=new_napravlenie_][name$=_type]').prop('disabled', true);
}
});
$("input:checkbox[name^=new_napravlenie_]").change(function() {
var name = $(this).attr('name');
if ($(this).prop('checked')) {
$("select[name='"+name+"_type']").prop('disabled', false);
$('#'+name+'_type').show(300);
}
else {
$('#'+name+'_type select').prop('selectedIndex',0);
$("select[name='"+name+"_type']").prop('disabled', true);
$('#'+name+'_type').hide(300);
}
});
*/
$("select[name='new_napravlenie_sel']").change(function() {
if (this.value == "1") {
$('[id^="new_napravlenie_fg_1"]').show(300);
$('[id^="new_napravlenie_fg_2"]').hide(300);
$('[id^="new_napravlenie_fg_3"]').hide(300);
//$('[id^=new_napravlenie_other_2][id$=_comment]').hide(300);
}
else if (this.value == "2") {
$('[id^="new_napravlenie_fg_2"]').show(300);
$('[id^="new_napravlenie_fg_1"]').hide(300);
$('[id^="new_napravlenie_fg_3"]').hide(300);
}
else if (this.value == "3") {
$('[id^="new_napravlenie_fg_3"]').show(300);
$('[id^="new_napravlenie_fg_1"]').hide(300);
$('[id^="new_napravlenie_fg_2"]').hide(300);
}
/*
else {
$('[id^="new_napravlenie_fg_"]').hide(300);
$("input:checkbox[name^=new_napravlenie_]").prop('checked', false);
$('[id^=new_napravlenie_][id$=_type] select').prop('selectedIndex',0);
$('[id^=new_napravlenie_][id$=_type]').hide(300);
$('[name^=new_napravlenie_][name$=_type]').prop('disabled', true);
$('[id^=new_napravlenie_other_2][id$=_comment]').show(300);
}
*/
});
/*
$("input:checkbox[name^=new_napravlenie_]").change(function() {
var name = $(this).attr('name');
if ($(this).prop('checked')) {
$("select[name='"+name+"_type']").prop('disabled', false);
$('#'+name+'_type').show(300);
}
else {
$('#'+name+'_type select').prop('selectedIndex',0);
$("select[name='"+name+"_type']").prop('disabled', true);
$('#'+name+'_type').hide(300);
}
});
*/
$("input:checkbox[name^=new_napravlenie_]").change(function() {
var name = $(this).attr('name');
if ($(this).prop('checked')) {
$("select[name='"+name+"_type']").prop('disabled', false);
$('#'+name+'_type').show(300);
//для контраст-контраст
$( "input[name='"+name+"_contrast']" ).prop('disabled', false);
$( "input[name='"+name+"_contrast']" ).show(300);
$( "div[id='"+name+"_contrast']" ).show(300);
}
else {
$('#'+name+'_type select').prop('selectedIndex',0);
$("select[name='"+name+"_type']").prop('disabled', true);
$('#'+name+'_type').hide(300);
//для контраст-контраст
$( "input[name='"+name+"_contrast']" ).prop('disabled', true);
$( "input[name='"+name+"_contrast']" ).hide(300);
$( "div[id='"+name+"_contrast']" ).hide(300);
}
});
$("#mkb10-tree").dynatree({
fx: { height: "toggle", duration: 200 },
autoCollapse: true,
initAjax: {
url: "mkb10-data.json"
},
onActivate: function(node) {
$("#new_patient_mkb10").val(node.data.key);
},
onDeactivate: function(node) {
$("#new_patient_mkb10").val("");
}
});
$('#mkb10-tree-edit').dynatree({
fx: { height: "toggle", duration: 200 },
autoCollapse: true,
initAjax: {
url: "mkb10-data.json"
},
onActivate: function(node) {
if(node.data.isFolder == false){
$("#mkb10_code").val(node.data.key);
$("#mkb10").val(node.data.title);
$('#mkb10-alert').hide(300);
$('#mkb10').show(300);
}
}
});
$('#mkb10').click(function(){
$('#mkb10').hide(300);
$('#mkb10-alert').show(300);
});
$('#stat_diagnoz').popover({
html: true,
trigger: 'manual',
placement: 'bottom',
template: '<div class="popover popover-mkb10"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>',
content: '<div id="mkb10-tree-popover" name="mkb10-tree-popover"></div>'
}).click(function(e) {
$(this).popover('toggle');
$("#mkb10-tree-popover").dynatree({
fx: { height: "toggle", duration: 200 },
autoCollapse: true,
initAjax: {
url: "mkb10-data.json"
},
onActivate: function(node) {
if(node.data.isFolder == false){
$("#stat_diagnoz_mkb10").val(node.data.key);
$("#stat_diagnoz").val(node.data.title);
$("#stat_diagnoz").popover('toggle');
}
},
onDeactivate: function(node) {
$("#stat_diagnoz_mkb10").val("");
$("#stat_diagnoz").val("");
}
});
});
$("button[name='print_napravlenie']").click(function(){
var id = $(this).closest("form").find("input[name='napravlenie_id']").val();
var url = 'index.php?action=print_napravlenie&id='+id;
window.open(url);
});
$('#new_patient, #edit_patient').on('keydown', 'input', function (event) {
if (event.which == 13) {
event.preventDefault();
var $this = $(event.target);
var index = parseFloat($this.attr('data-index'));
$('[data-index="' + (index + 1).toString() + '"]').focus();
}
});
$(".oms_input").bind("input", function() {
var $this = $(this);
setTimeout(function() {
if ( $this.val().length >= parseInt($this.attr("maxlength"),10) )
$this.next("input").focus();
},0);
});
});
function doClearForm() {
$('.form-horizontal')[0].reset();
$('#stat_diagnoz_mkb10').val('');
$( "button[id='jqgrid_btn']" ).click();
}
ajaxform_onkoweb_medrf.1597312124.txt.gz · Последнее изменение: (внешнее изменение)
