HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/demo-telemedicina.teky.com.co/public/js/clinic_document/attacheds.js
$("#add-attacheds").click(function () {
    $('.obj-anexo').serializeArray().length;

    var lastField = $("#tab-attacheds tr:last");
    var intId = (lastField && lastField.length && lastField.data("idx") + 1) || 5;

    var td=  $("<tr></tr>");
    var sel = '<td><input class="form-control obj-anexo" id="description_'+intId+'"></td> <td><input type="file" name="file-annexes" class="form-control" id="file_'+intId+'"><p id="txt-file_'+intId+'"></p></td> <td><a href="#" onclick=""><i class="fa fa-cloud-upload iconMini a-icon upFile" data-pos="'+intId+'" data-id="file_'+intId+'" id="up-file_'+intId+'"  style="cursor:pointer;"  ></i></a><a href=""  id="btn-file_'+intId+'" target="_blank" style="visibility:hidden;" class="viewFile"><i class="fa fa-eye iconMini  a-icon" style="cursor:pointer;"  ></i></a><a href="#" id="btn-delete-file_'+intId+'" class="deleteFileAnexo" data-id="file_'+intId+'" data-idFile="" ><i class="fa fa-trash iconMini a-icon" style="cursor:pointer;"></i></a> </td>';

    td.data("idx", intId);
    td.append(sel);
    $('#tab-attacheds').append(td);
    addEventUpload();
    removeFileAnexos();
});

function deleteAnexo(evt) {
    $('.obj-anexo').serializeArray().length;
    $(evt).closest('tr').remove();
}

function uploadFileAnexo() {
    if (!$('#codigo').val()) {
        swal("", Lang.get('messages.gineco.attacheds.first_save'), "error");
    }
}

function addEventUpload() {
    $('.upFile').click(function () {
        if(window.isLoading){
            return;
        }
        window.isLoading = true;
        id = $(this).attr('data-id');
        $('#'+id).css('visibility','hidden');
        $('#modalLoader').modal('show');
        var current_id = window.localStorage.getItem('current_id');

        if (!current_id) {
            window.isLoading = false;
            $('#'+id).css('visibility','visible');
            $('#modalLoader').modal('hide');
            swal('', Lang.get('messages.gineco.attacheds.first_save'), 'error');
            return;
        }

        description = $('#description_' + $(this).attr('data-pos')).val();
        pos = $(this).attr('data-pos');
        var file = document.getElementById(id);
        file = file.files[0];
        inputTex= document.getElementById('description_' + $(this).attr('data-pos'));

        if (!file) {
            window.isLoading = false;
            $('#'+id).css('visibility','visible');
            $('#modalLoader').modal('hide');
            swal('', Lang.get('messages.gineco.attacheds.file_missing'), 'error');
            return;
        }

        // validar tama;o de archivo
        var FileSize = file.size / 1024 / 1024; // in MB
        if (FileSize > 15) {
            window.isLoading = false;
            $('#'+id).css('visibility','visible');
            $('#modalLoader').modal('hide');
            swal('', Lang.get('messages.attacheds.max_file_size'), 'warning');
          return;
        }

        var form_data = new FormData();

        form_data.append('file', file);
        form_data.append('description', description ? description : null);
        form_data.append('document', $('#documento').val());
        form_data.append('filename', file.name);
        form_data.append('mimetype', file.type);
        form_data.append('pos', pos ? pos : null);
        form_data.append('clinic_document_id', current_id);

        $.ajax({
            url: '/uploadANX',
            type: 'POST',
            processData: false,
            contentType: false,
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            data: form_data,
            success: function (result) {
                window.isLoading = false;
                $('#modalLoader').modal('hide');
                $('#up-'+id).css('visibility','hidden');
                $('#btn-' + id).css('visibility', 'visible');
                $('#btn-' + id).attr("href", '/attachments/' + result.obj.id);
                $('#btn-delete-' + id).css('visibility', 'visible');
                $('#btn-delete-' + id).attr("data-idFile", result.obj.id);
                $('#txt-'+id).text(result.obj.filename);
                $('#txt-'+id).css('visibility', 'visible');
                $('#'+id).css('visibility','hidden');

                if(inputTex){
                  inputTex.disabled = true;
                }

                swal('Ok', result.message, 'success');
            },
            error: function (data) {
                window.isLoading = false;
                $('#'+id).css('visibility','visible');
                $('#modalLoader').modal('hide');
                swal('Error', data.responseText, 'error');
            }
        });
    });
}

addEventUpload();

$('#btn_fin_consulta').click(function () {
    id = window.localStorage.getItem('current_id');
    rol = JSON.parse(window.localStorage.getItem('rol')).id;

    if (!id) {
        swal(Lang.get('messages.attacheds.error_document'), "Error", "error");
        return;
    }

    if (!(rol == 3 || rol == 6)) {
        swal("Error", Lang.get('messages.gineco.analysis.only_role_medic'), "error");
        return;
      }
    saveDocument(true); // True indica guardado silencioso.
    swal({
        title: Lang.get('messages.gineco.attacheds.finish_consultation'),
        text: Lang.get('messages.gineco.attacheds.finish_consultation_warning'),
        icon: "warning",
        buttons: true,
        dangerMode: false,
      })
      .then(function (gofn) {
        if (gofn) {
            var data = {
                'id': id,
                'rol': rol
            };

            $.ajax({
                url: "/request/end_request",
                type: "POST",
                contentType: 'application/json',
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
                    'Content-Type': 'application/json'
                },
                data: JSON.stringify(data),
                success: function (res) {
                    swal(res.message, "", "success").then(function(){
                        $('#estado').val("Concluido");
                        $('#estado').css('background-color', '#pf42c1');
                        window.location.href = '/control_table';
                    });
                },
                error: function (err) {
                    swal("Error", err.responseJSON.message, "error");
                }
            });
        }
      });
});


function removeFile() {
    $('.deleteFile').click(function () {
        idFile = $(this).attr('data-idFile');
        id = $(this).attr('data-id');

        $.ajax({
            url: "/attach/df/" + idFile,
            type: "DELETE",
            contentType: 'application/json',
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
                'Content-Type': 'application/json'
            },
            success: function (res) {
                swal(res.message, "", "success");
                $('#btn-' + id).css('visibility', 'hidden');
                $('#btn-' + id).attr("href", '');
                $('#btn-delete-' + id).css('visibility', 'hidden');
                $('#btn-delete-' + id).attr("data-idFile", '');
                $('#up-'+id).css('visibility','visible');
                $('#'+id).val('');
                $('#txt-'+id).val('');
                $('#txt-'+id).css('visibility', 'hidden');
                $('#'+id).css('visibility','visible');
                $('#'+id).prop('disabled', false);


            },
            error: function (err) {
                swal(err.message, "Error", "error");
            }
        });
    });
}
removeFile();

function removeFileAnexos(){

   $('.deleteFileAnexo').click(function () {
    idFile = $(this).attr('data-idFile');
    id = $(this).attr('data-id');
    elemento= $(this).get();

    if(idFile){
        $.ajax({
            url: "/attach/df/" + idFile,
            type: "DELETE",
            contentType: 'application/json',
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
                'Content-Type': 'application/json'
            },
            success: function (res) {
                swal(res.message, "", "success");
                deleteAnexo(elemento);


            },
            error: function (err) {
                swal(err.message, "Error", "error");
            }
        });

    }else{
        deleteAnexo(elemento);
    }


});

}