2019-11-23 09:49:18 +00:00
|
|
|
|
$(document).ready(function(){
|
|
|
|
|
$('.cancer_help_btn').append('<i aria-hidden="true" class="fa fa-question"></i>');
|
|
|
|
|
$('.cancer_help_btn').off("click").on('click',function(){
|
|
|
|
|
var modal_head = "";
|
|
|
|
|
try{ modal_head = $(this).parent().find(">label").html()}catch{};
|
|
|
|
|
var modal_body = "";
|
|
|
|
|
try{ modal_body = $(this).parent().find(">input.help_texts").attr('value')}catch{};
|
|
|
|
|
$('#show_help_modal').html("<div class='modal-dialog'><div class='modal-content'><div class='modal-header'><button type='button' aria-hidden='true' class='close'>×</button><h4 class='modal-title'>"+modal_head+"</h4>"+
|
|
|
|
|
"</div><div class='modal-body'>"+modal_body+"</div><div class='modal-footer'><button type='button' class='btn btn-default'>Close</button></div></div></div>")
|
|
|
|
|
$('#show_help_modal').modal('show');
|
|
|
|
|
$('#show_help_modal .close').off("click").on('click',function(){
|
|
|
|
|
$('#show_help_modal').modal('hide');
|
|
|
|
|
});
|
|
|
|
|
$('#show_help_modal .modal-footer button').off("click").on('click',function(){
|
|
|
|
|
$('#show_help_modal').modal('hide');
|
|
|
|
|
});
|
|
|
|
|
});
|
2019-12-03 13:17:09 +00:00
|
|
|
|
$('.btn-add').click(function(){
|
|
|
|
|
$(this).parent().find('.num_only').removeClass('cancertable_empty');
|
|
|
|
|
if($(this).parent().find('.num_only').val()!=""){
|
|
|
|
|
var input_value = Number($(this).parent().find('.num_only').val());
|
|
|
|
|
if(Array.isArray($(this).parent().find('.num_only').data('range'))){
|
|
|
|
|
var compare_value = $(this).parent().find('.num_only').data('range')[1];
|
|
|
|
|
if(compare_value != undefined){
|
|
|
|
|
if(input_value+1 <= Number(compare_value))
|
|
|
|
|
$(this).parent().find('.num_only').val(input_value+1);
|
|
|
|
|
else{
|
|
|
|
|
input_value = $(this).parent().find('.num_only').data('range')[0];
|
|
|
|
|
if(input_value != undefined)
|
|
|
|
|
$(this).parent().find('.num_only').val(input_value);
|
|
|
|
|
};
|
|
|
|
|
}else{
|
|
|
|
|
$(this).parent().find('.num_only').val(input_value+1);
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}else{
|
|
|
|
|
try{
|
|
|
|
|
var input_value = $(this).parent().find('.num_only').data('range')[0];
|
|
|
|
|
if(input_value != undefined)
|
|
|
|
|
$(this).parent().find('.num_only').val(input_value);
|
|
|
|
|
}catch{
|
|
|
|
|
$(this).parent().find('.num_only').val(0);
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
$('.btn-sub').click(function(){
|
|
|
|
|
$(this).parent().find('.num_only').removeClass('cancertable_empty');
|
|
|
|
|
if($(this).parent().find('.num_only').val()!=""){
|
|
|
|
|
var input_value = Number($(this).parent().find('.num_only').val());
|
|
|
|
|
if(Array.isArray($(this).parent().find('.num_only').data('range'))){
|
|
|
|
|
var compare_value = $(this).parent().find('.num_only').data('range')[0];
|
|
|
|
|
if(compare_value != undefined){
|
|
|
|
|
if(input_value-1 >= Number(compare_value))
|
|
|
|
|
$(this).parent().find('.num_only').val(input_value-1);
|
|
|
|
|
else{
|
|
|
|
|
input_value = $(this).parent().find('.num_only').data('range')[1];
|
|
|
|
|
if(input_value != undefined)
|
|
|
|
|
$(this).parent().find('.num_only').val(input_value);
|
|
|
|
|
};
|
|
|
|
|
}else{
|
|
|
|
|
$(this).parent().find('.num_only').val(input_value-1);
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}else{
|
|
|
|
|
try{
|
|
|
|
|
var input_value = $(this).parent().find('.num_only').data('range')[1];
|
|
|
|
|
if(input_value != undefined)
|
|
|
|
|
$(this).parent().find('.num_only').val(input_value);
|
|
|
|
|
}catch{
|
|
|
|
|
$(this).parent().find('.num_only').val(0);
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
});
|
2019-12-07 13:01:52 +00:00
|
|
|
|
$('.cancer_table_btn').off('click').on('click',function(){
|
2019-12-03 13:17:09 +00:00
|
|
|
|
var index = $(this).index()/2;
|
2019-12-07 13:01:52 +00:00
|
|
|
|
try{
|
|
|
|
|
$(this).parent().find('>input').attr('value',0);
|
|
|
|
|
$(this).parent().find('>input').eq(index).attr('value',1);
|
|
|
|
|
$(this).parent().find('>button').removeClass('active');
|
|
|
|
|
$(this).parent().removeClass('cancertable_empty');
|
|
|
|
|
}catch{};
|
2019-12-03 13:17:09 +00:00
|
|
|
|
$(this).addClass('active');
|
|
|
|
|
});
|
|
|
|
|
$('#cancer_table_reset').click(function(){
|
|
|
|
|
$('.cancer_table_btn').removeClass('active');
|
|
|
|
|
$('.cancer-btn-group input').attr('value',0);
|
|
|
|
|
$('.num_only').val('');
|
2019-12-07 13:01:52 +00:00
|
|
|
|
$('#cancer_table .cancer_form_field').removeClass('cancertable_empty');
|
2019-12-03 13:17:09 +00:00
|
|
|
|
});
|
|
|
|
|
$('#cancer_table_submit').click(function(){
|
2019-12-07 04:12:33 +00:00
|
|
|
|
var flag;
|
|
|
|
|
flag = 1;
|
2019-12-07 13:01:52 +00:00
|
|
|
|
for(var i = 0;i < $('#cancer_table .cancer_form_field').length;i++){
|
|
|
|
|
if($('#cancer_table .cancer_form_field').eq(i).hasClass('num_only')){
|
|
|
|
|
if($('#cancer_table .cancer_form_field').eq(i).val()==""){
|
2019-12-03 13:17:09 +00:00
|
|
|
|
flag = 0;
|
2019-12-07 13:01:52 +00:00
|
|
|
|
$('#cancer_table .cancer_form_field').eq(i).addClass('cancertable_empty');
|
2019-12-03 13:17:09 +00:00
|
|
|
|
}else{
|
2019-12-07 13:01:52 +00:00
|
|
|
|
$('#cancer_table .cancer_form_field').eq(i).removeClass('cancertable_empty');
|
2019-12-03 13:17:09 +00:00
|
|
|
|
};
|
|
|
|
|
}else{
|
2019-12-07 13:01:52 +00:00
|
|
|
|
if($('#cancer_table .cancer_form_field').eq(i).find('[value="1"]').length == 0){
|
2019-12-03 13:17:09 +00:00
|
|
|
|
flag = 0;
|
2019-12-07 13:01:52 +00:00
|
|
|
|
$('#cancer_table .cancer_form_field').eq(i).addClass('cancertable_empty');
|
2019-12-03 13:17:09 +00:00
|
|
|
|
}else{
|
2019-12-07 13:01:52 +00:00
|
|
|
|
$('#cancer_table .cancer_form_field').eq(i).removeClass('cancertable_empty');
|
2019-12-03 13:17:09 +00:00
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
if(flag == 1){
|
|
|
|
|
var post_json= {};
|
2019-12-07 13:01:52 +00:00
|
|
|
|
for(var i = 0;i < $('#cancer_table .cancer_form_field').length;i++){
|
|
|
|
|
var name = $('#cancer_table .cancer_form_field').eq(i).attr('id')
|
|
|
|
|
if($('#cancer_table .cancer_form_field').eq(i).hasClass('num_only'))
|
|
|
|
|
post_json[name] = $('#cancer_table .cancer_form_field').eq(i).val();
|
2019-12-03 13:17:09 +00:00
|
|
|
|
else{
|
2019-12-07 13:01:52 +00:00
|
|
|
|
var index = ($('#cancer_table .cancer_form_field').eq(i).find('[value="1"]').index()+1)/2;
|
2019-12-03 13:17:09 +00:00
|
|
|
|
post_json[name] = index;
|
|
|
|
|
};
|
|
|
|
|
};
|
2019-12-08 05:32:03 +00:00
|
|
|
|
post_json['locale'] = I18n.locale;
|
2019-12-07 04:12:33 +00:00
|
|
|
|
var result = $.post("/cancerpredictResult",{"data":post_json});
|
|
|
|
|
result.done(function(){
|
2019-12-07 13:01:52 +00:00
|
|
|
|
var load_heml = $('#result_table_content').html(result.responseJSON.table);
|
|
|
|
|
load_heml.ready(function(){
|
|
|
|
|
$('#result_table_content .cancer_years').eq(0).addClass('active');
|
2019-12-08 05:32:03 +00:00
|
|
|
|
for(var i = 0;i < $('#result_table_content .cancer_years').length;i++){
|
|
|
|
|
$('#result_table_content .cancer_years').eq(i).attr('index',i)
|
|
|
|
|
};
|
|
|
|
|
$('#result_table_content .cancer_years').off('click').on('click',function(){
|
2019-12-07 13:01:52 +00:00
|
|
|
|
try{
|
2019-12-08 05:32:03 +00:00
|
|
|
|
$(this).parent().find('.cancer_years').removeClass('active');
|
|
|
|
|
//$('#result_text_content .cancer_years').eq($(this).attr('index')).click();
|
2019-12-07 13:01:52 +00:00
|
|
|
|
}catch{};
|
|
|
|
|
$(this).addClass('active');
|
2019-12-08 05:32:03 +00:00
|
|
|
|
$('#current_year').attr('index',$(this).attr('index'));
|
|
|
|
|
$('#current_year').attr('value',$(this).html());
|
|
|
|
|
$('#current_year').change();
|
2019-12-07 13:01:52 +00:00
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
load_heml = $('#result_text_content').html(result.responseJSON.texts);
|
|
|
|
|
load_heml.ready(function(){
|
|
|
|
|
$('#result_text_content .cancer_years').eq(0).addClass('active');
|
2019-12-08 05:32:03 +00:00
|
|
|
|
for(var i = 0;i < $('#result_text_content .cancer_years').length;i++){
|
|
|
|
|
$('#result_text_content .cancer_years').eq(i).attr('index',i)
|
|
|
|
|
};
|
|
|
|
|
$('#result_text_content .cancer_years').off('click').on('click',function(){
|
2019-12-07 13:01:52 +00:00
|
|
|
|
try{
|
2019-12-08 05:32:03 +00:00
|
|
|
|
$(this).parent().find('.cancer_years').removeClass('active');
|
|
|
|
|
//$('#result_table_content .cancer_years').eq($(this).attr('index')).click();
|
2019-12-07 13:01:52 +00:00
|
|
|
|
}catch{};
|
|
|
|
|
$(this).addClass('active');
|
2019-12-08 05:32:03 +00:00
|
|
|
|
$('#current_year').attr('value',$(this).html());
|
|
|
|
|
$('#current_year').attr('index',$(this).attr('index'));
|
2019-12-07 13:01:52 +00:00
|
|
|
|
$('.surgery_year').html($(this).html());
|
2019-12-08 05:32:03 +00:00
|
|
|
|
$('#current_year').change();
|
|
|
|
|
});
|
|
|
|
|
var treatmeny_method = result.responseJSON.treatmeny_method;
|
|
|
|
|
var lpv = [0,-0.8397,-0.4147,-0.3203,0.3321];
|
|
|
|
|
var servive_ratio_arr = [result.responseJSON.servive_ratio]
|
|
|
|
|
var yes = (I18n.locale=="zh_tw") ? "是" : "yes";
|
|
|
|
|
var year = $('#current_year').attr('value');
|
|
|
|
|
var active_treatment = ['Surgery_only']
|
|
|
|
|
var lpv_real = [result.responseJSON['lpv']];
|
|
|
|
|
var lpv_dict={}
|
|
|
|
|
var lpv_calc={1:-0.001476145,3:-0.01261639,5:-0.02519608}
|
|
|
|
|
active_treatment.push = function() {
|
|
|
|
|
if(arguments.length == 1){
|
|
|
|
|
var year = $('#current_year').attr('value');
|
|
|
|
|
var lpv_current = lpv_real[lpv_real.length-1]+lpv_dict[arguments[0]];
|
|
|
|
|
lpv_real.push(lpv_current);
|
|
|
|
|
var servive_ratio = (Math.exp(lpv_calc[year])**lpv_current)*100;
|
|
|
|
|
var benefit = servive_ratio - servive_ratio_arr[servive_ratio_arr.legnth - 1];
|
|
|
|
|
servive_ratio_arr.push(servive_ratio);
|
|
|
|
|
$('tr.'+arguments[0]+' td.Overall_Survival').html(servive_ratio);
|
|
|
|
|
$('tr.'+arguments[0]+' td.Additional_Benefit').html(benefit);
|
|
|
|
|
console.log(servive_ratio_arr[servive_ratio_arr.legnth - 1]);
|
|
|
|
|
return Array.prototype.push.apply(this, arguments);
|
|
|
|
|
}else{
|
|
|
|
|
return Array.prototype.push.apply(this, arguments);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
for(var i = 0;i<treatmeny_method.length;i++){
|
|
|
|
|
lpv_dict[treatmeny_method[i]] = lpv[i];
|
|
|
|
|
$('#'+treatmeny_method[i]+' .cancer_table_btn').eq(1).click(function(){
|
|
|
|
|
if(!active_treatment.includes($(this).parent().attr('id'))){
|
|
|
|
|
active_treatment.push($(this).parent().attr('id'))
|
|
|
|
|
console.log($(this).parent().attr('id'))
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
$('#current_year').change(function(){
|
|
|
|
|
$('.surgery_year').html($(this).attr('value'));
|
|
|
|
|
$('.cancer_years').removeClass('active');
|
|
|
|
|
$('#result_text_content .cancer_years').eq($(this).attr("index")).addClass('active');
|
|
|
|
|
$('#result_table_content .cancer_years').eq($(this).attr("index")).addClass('active');
|
|
|
|
|
var year = $(this).attr('value');
|
|
|
|
|
servive_ratio_arr = [];
|
|
|
|
|
for(var i = 0;i<active_treatment.length;i++){
|
|
|
|
|
var servive_ratio = (Math.exp(lpv_calc[year])**lpv_real[i])*100;
|
|
|
|
|
servive_ratio_arr.push(servive_ratio);
|
|
|
|
|
$('tr.'+active_treatment[i]+' td.Overall_Survival').html(servive_ratio);
|
|
|
|
|
}
|
|
|
|
|
$('.'+active_treatment[0]+'.Overall_Survival').html(servive_ratio_arr[0]);
|
|
|
|
|
/*for(var i = 0;i<treatmeny_method.length;i++){
|
|
|
|
|
$('.'+treatmeny_method[i]+'["name='+yes+'"]').attr('value') == 1
|
|
|
|
|
}*/
|
|
|
|
|
$('.survive_person').html(servive_ratio);
|
2019-12-07 13:01:52 +00:00
|
|
|
|
});
|
|
|
|
|
});
|
2019-12-07 04:12:33 +00:00
|
|
|
|
})
|
2019-12-03 13:17:09 +00:00
|
|
|
|
}
|
|
|
|
|
});
|
2019-12-07 04:12:33 +00:00
|
|
|
|
for(var i = 0;i < $('.result_tab').length;i++){
|
|
|
|
|
$('.result_tab').eq(i).attr('index',i)
|
|
|
|
|
};
|
|
|
|
|
for(var i = 0;i < $('.result_content').length;i++){
|
|
|
|
|
$('.result_content').eq(i).attr('index',i)
|
|
|
|
|
};
|
|
|
|
|
$('.result_tab').click(function(){
|
|
|
|
|
var index = $(this).attr('index');
|
2019-12-07 13:01:52 +00:00
|
|
|
|
$('.result_tab').removeClass('active');
|
|
|
|
|
$(this).addClass('active');
|
2019-12-07 04:12:33 +00:00
|
|
|
|
$('.result_content').css('display','none');
|
|
|
|
|
$('.result_content[index="'+index+'"]').css('display','block');
|
|
|
|
|
})
|
2019-12-07 13:01:52 +00:00
|
|
|
|
$('.num_only').keypress(function(event){
|
|
|
|
|
console.log(event.keyCode)
|
|
|
|
|
return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false);
|
|
|
|
|
});
|
|
|
|
|
/*$('.num_only').attr("onpaste","{console.log(clipboardData.getData('text'));return !event.clipboardData.getData('text').match(/\D/)}");*/
|
|
|
|
|
/*$('.num_only').keyup(function(){
|
|
|
|
|
$(this).val($(this).val().replace(/\D/g,''));
|
|
|
|
|
});*/
|
2019-11-28 14:58:03 +00:00
|
|
|
|
for(var i=0;i<$('.num_only').length;i++)
|
|
|
|
|
$('.num_only').eq(i).data('range')
|
2019-11-23 09:49:18 +00:00
|
|
|
|
});
|