diff --git a/resources/views/form/rapport-zenova/1788239728-6f7f3c27-c5dc-4e6e-a042-aefd5681af3a.blade.php b/resources/views/form/rapport-zenova/1788239728-6f7f3c27-c5dc-4e6e-a042-aefd5681af3a.blade.php index 32724a32..cc9303fa 100644 --- a/resources/views/form/rapport-zenova/1788239728-6f7f3c27-c5dc-4e6e-a042-aefd5681af3a.blade.php +++ b/resources/views/form/rapport-zenova/1788239728-6f7f3c27-c5dc-4e6e-a042-aefd5681af3a.blade.php @@ -241,105 +241,144 @@ $('#field-msl_code').val($('option:selected', this).attr('msl_code')) }) - $('#field-contact_id').change(function() { + $('#field-contact_id').change(function() { $('#field-sankalp_lead_received_penvial').val($('option:selected', this).attr('lead_recieved')) }) - $('#field-contact_id').change(function() { - $('#field-sankalp_lead_enrolled_penvial').val($('option:selected', this).attr('lead_enrolled')) - }) + $('#field-contact_id').change(function() { + $('#field-sankalp_lead_enrolled_penvial').val($('option:selected', this).attr('lead_enrolled')) + }) - $('#field-contact_id').change(function() { - $('#field-pmos_dr').val($('option:selected', this).attr('pmos_dr')) - }) + $('#field-contact_id').change(function() { + $('#field-pmos_dr').val($('option:selected', this).attr('pmos_dr')) + }) - $('#field-contact_id').change(function() { - $('#field-qbs_dr').val($('option:selected', this).attr('qbs_dr')) - }) + $('#field-contact_id').change(function() { + $('#field-qbs_dr').val($('option:selected', this).attr('qbs_dr')) + }) - $('#field-contact_id').change(function() { - $('#field-adboard_dr').val($('option:selected', this).attr('adboard_dr')) - }) + $('#field-contact_id').change(function() { + $('#field-adboard_dr').val($('option:selected', this).attr('adboard_dr')) + }) - $('#field-contact_id').change(function() { - $('#field-fb_live_dr').val($('option:selected', this).attr('fb_live_dr')) - }) + $('#field-contact_id').change(function() { + $('#field-fb_live_dr').val($('option:selected', this).attr('fb_live_dr')) + }) - $('#field-contact_id').change(function() { - $('#field-ecme_dr').val($('option:selected', this).attr('ecme_dr')) - }) + $('#field-contact_id').change(function() { + $('#field-ecme_dr').val($('option:selected', this).attr('ecme_dr')) + }) - $('#field-contact_id').change(function() { - $('#field-rtm_dr').val($('option:selected', this).attr('rtm_dr')) - }) + $('#field-contact_id').change(function() { + $('#field-rtm_dr').val($('option:selected', this).attr('rtm_dr')) + }) $('#field-msl_code,#field-speciality').attr('readonly',true); - /* $('#field-pen_rx_count,#field-vial_rx_count,#field-pen_pob_units,#field-vial_pob_units,#field-sankalp_lead_received_penvial,#field-pmos_dr,#field-qbs_dr,#field-adboard_dr,#field-fb_live_dr,#field-ecme_dr,#field-rtm_dr,#field-sankalp_lead_enrolled_penvial').parent().hide(); - $('#field-pen_rx_count,#field-vial_rx_count,#field-pen_pob_units,#field-vial_pob_units,#field-sankalp_lead_received_penvial,#field-pmos_dr,#field-qbs_dr,#field-adboard_dr,#field-fb_live_dr,#field-ecme_dr,#field-rtm_dr,#field-sankalp_lead_enrolled_penvial').prop({"required":false}); - $('#field-rx_count,#field-pob_units,#field-brand_sku').parent().hide(); - $('#field-rx_count,#field-pob_units,#field-brand_sku').prop({"required":false}); - - + + const glipiFields = [ + '#field-pen_rx_count','#field-vial_rx_count','#field-pen_pob_units', + '#field-vial_pob_units','#field-sankalp_lead_received_penvial', + '#field-pmos_dr','#field-qbs_dr','#field-adboard_dr', + '#field-fb_live_dr','#field-ecme_dr','#field-rtm_dr', + '#field-sankalp_lead_enrolled_penvial','#field-upload_glipiq_rxn' + ].join(','); - $('#field-select_brand').on('change',function(){ - let dropDown=$('#field-select_brand').val(); - if(dropDown==='GlipiQ'){ - $('#field-pen_rx_count,#field-vial_rx_count,#field-pen_pob_units,#field-vial_pob_units,#field-sankalp_lead_received_penvial,#field-pmos_dr,#field-qbs_dr,#field-adboard_dr,#field-fb_live_dr,#field-ecme_dr,#field-rtm_dr,#field-sankalp_lead_enrolled_penvial').parent().show(); - $('#field-pen_rx_count,#field-vial_rx_count,#field-pen_pob_units,#field-vial_pob_units,#field-sankalp_lead_received_penvial,#field-pmos_dr,#field-qbs_dr,#field-adboard_dr,#field-fb_live_dr,#field-ecme_dr,#field-rtm_dr,#field-sankalp_lead_enrolled_penvial').prop({"required":true}); - $('#field-rx_count,#field-pob_units,#field-brand_sku').parent().hide(); - $('#field-rx_count,#field-pob_units,#field-brand_sku').prop({"required":false}); + const sitazitFields = [ + '#field-rx_count','#field-pob_units','#field-brand_sku', '#field-upload_sitazit_rxn' + ].join(','); + + function toggleFields(selector, show) { + $(selector).parent().toggle(show); + $(selector).prop('required', show); + } + + // Initial hide + toggleFields(glipiFields, false); + toggleFields(sitazitFields, false); + + $('#field-select_brand').on('change', function () { + const brand = $(this).val(); + console.log("Brand is :",brand); + toggleFields(glipiFields, brand === 'Glipiq'); + toggleFields(sitazitFields, brand === 'Sitazit'); + + if(brand==='Glipiq'){ + $('#report-form').append(''); + $('#report-form').append(''); + $('#report-form').append(''); + $('#report-form').append(''); + + $('#field-conversion_status').on('change',function(){ + let value=$(this).val(); + if(value==='New Conversion'){ + $('#report-form input[name="glipiq_new_conversion"]').val(1); + } + else if(value==='Existing Prescriber'){ + $('#report-form input[name="glipiq_existing_conversion"]').val(1); + + } + }); + + } - else if(dropDown==='Sitazit'){ - $('#field-pen_rx_count,#field-vial_rx_count,#field-pen_pob_units,#field-vial_pob_units,#field-sankalp_lead_received_penvial,#field-pmos_dr,#field-qbs_dr,#field-adboard_dr,#field-fb_live_dr,#field-ecme_dr,#field-rtm_dr,#field-sankalp_lead_enrolled_penvial').parent().hide(); - $('#field-pen_rx_count,#field-vial_rx_count,#field-pen_pob_units,#field-vial_pob_units,#field-sankalp_lead_received_penvial,#field-pmos_dr,#field-qbs_dr,#field-adboard_dr,#field-fb_live_dr,#field-ecme_dr,#field-rtm_dr,#field-sankalp_lead_enrolled_penvial').prop({"required":false}); - $('#field-rx_count,#field-pob_units,#field-brand_sku').parent().show(); - $('#field-rx_count,#field-pob_units,#field-brand_sku').prop({"required":true}); - }else{ - $('#field-pen_rx_count,#field-vial_rx_count,#field-pen_pob_units,#field-vial_pob_units,#field-sankalp_lead_received_penvial,#field-pmos_dr,#field-qbs_dr,#field-adboard_dr,#field-fb_live_dr,#field-ecme_dr,#field-rtm_dr,#field-sankalp_lead_enrolled_penvial').parent().hide(); - $('#field-pen_rx_count,#field-vial_rx_count,#field-pen_pob_units,#field-vial_pob_units,#field-sankalp_lead_received_penvial,#field-pmos_dr,#field-qbs_dr,#field-adboard_dr,#field-fb_live_dr,#field-ecme_dr,#field-rtm_dr,#field-sankalp_lead_enrolled_penvial').prop({"required":false}); - $('#field-rx_count,#field-pob_units,#field-brand_sku').parent().hide(); - $('#field-rx_count,#field-pob_units,#field-brand_sku').prop({"required":false}); + else if(brand==='Sitazit'){ + $('#report-form').append(''); + $('#report-form').append(''); + + $('#field-conversion_status').on('change',function(){ + let value=$(this).val(); + if(value==='New Conversion'){ + $('#report-form input[name="sitazit_new_conversion"]').val(1); + } + else if(value==='Existing Prescriber'){ + $('#report-form input[name="sitazit_existing_conversion"]').val(1); + + } + }); + } + else{ + $('#report-form input[name="glipiq_new_conversion"]').val(0); + $('#report-form input[name="glipiq_existing_conversion"]').val(0); + $('#report-form input[name="sitazit_new_conversion"]').val(0); + $('#report-form input[name="sitazit_existing_conversion"]').val(0); + } - }) */ - - const glipiFields = [ - '#field-pen_rx_count','#field-vial_rx_count','#field-pen_pob_units', - '#field-vial_pob_units','#field-sankalp_lead_received_penvial', - '#field-pmos_dr','#field-qbs_dr','#field-adboard_dr', - '#field-fb_live_dr','#field-ecme_dr','#field-rtm_dr', - '#field-sankalp_lead_enrolled_penvial','#field-upload_glipiq_rxn' -].join(','); - -const sitazitFields = [ - '#field-rx_count','#field-pob_units','#field-brand_sku', '#field-upload_sitazit_rxn' -].join(','); - -function toggleFields(selector, show) { - $(selector).parent().toggle(show); - $(selector).prop('required', show); -} - -// Initial hide -toggleFields(glipiFields, false); -toggleFields(sitazitFields, false); - -$('#field-select_brand').on('change', function () { - const brand = $(this).val(); - - toggleFields(glipiFields, brand === 'Glipiq'); - toggleFields(sitazitFields, brand === 'Sitazit'); -}); + + }) + + - // $('#field-contact_id').append(''); - + $('#field-pen_rx_count,#field-vial_rx_count,#field-pen_pob_units,#field-vial_pob_units').on('change',function(){ + let pen_rx=parseInt($('#field-pen_rx_count').val())||0; + let viral_rx=parseInt($('#field-vial_rx_count').val())||0; + let pen_pob=parseInt($('#field-pen_pob_units').val())||0; + let viral_pob=parseInt($('#field-vial_pob_units').val())||0; + + console.log("pen & viral :",pen_rx,viral_rx); + console.log("pen & viral :",pen_pob,viral_pob); + + let total_rx=pen_rx+viral_rx; + let total_pob=pen_pob+viral_pob; + + $('#report-form input[name="glipiq_rx_total"]').val(total_rx); + + $('#report-form input[name="glipiq_pob_total"]').val(total_pob); + + console.log("Total RX :", total_rx); + console.log("Total POB :", total_pob); + }) + + + + $('#field-file_upload, #field-upload_sitazit_rxn, #field-upload_glipiq_rxn').on('change', function () { @@ -382,338 +421,226 @@ $('#field-select_brand').on('change', function () { {sku_code:'sitazit_d', brand:'SITAZIT', sku:'Sitazit D', material_code:'421112413'}, {sku_code:'sitazit_m', brand:'SITAZIT', sku:'Sitazit M', material_code:'421112413'}, {sku_code:'sitazit_trio', brand:'SITAZIT', sku:'Sitazit Trio', material_code:'421112413'}, - ] $(document).ready(function () { $('#field-select_brand').trigger('change'); }); - /*$('#field-sankalp_lead_received_penvial').on('change', function () { - let value = $(this).val(); - - // Pehle existing hidden input hata do - $('input[name="sankalp_recieved"]').remove(); - - // Sirf Yes pe value bhejo - if (value === 'Yes') { - $('#report-form').append( - '' - ); - } - }); - - $('#field-sankalp_lead_enrolled_penvial').on('change', function () { - let value = $(this).val(); - - // Pehle existing hidden input hata do - $('input[name="sankalp_enrolled"]').remove(); - - // Sirf Yes pe value bhejo - if (value === 'Yes') { - $('#report-form').append( - '' - ); - } - }); - - - $('#field-pmos_dr').on('change', function () { - let value = $(this).val(); - - // Pehle existing hidden input hata do - $('input[name="pmos_dr"]').remove(); - - // Sirf Yes pe value bhejo - if (value === 'Yes') { - $('#report-form').append( - '' - ); - } - }); - - $('#field-qbs_dr').on('change', function () { - let value = $(this).val(); - - // Pehle existing hidden input hata do - $('input[name="qbs_dr"]').remove(); - - // Sirf Yes pe value bhejo - if (value === 'Yes') { - $('#report-form').append( - '' - ); - } - }); - - $('#field-adboard_dr').on('change', function () { - let value = $(this).val(); - - // Pehle existing hidden input hata do - $('input[name="adboard_dr"]').remove(); - - // Sirf Yes pe value bhejo - if (value === 'Yes') { - $('#report-form').append( - '' - ); - } - }); - - $('#field-fb_live_dr').on('change', function () { - let value = $(this).val(); - - // Pehle existing hidden input hata do - $('input[name="fb_live_dr"]').remove(); - - // Sirf Yes pe value bhejo - if (value === 'Yes') { - $('#report-form').append( - '' - ); - } - }); - - $('#field-ecme_dr').on('change', function () { - let value = $(this).val(); - - // Pehle existing hidden input hata do - $('input[name="ecme_dr"]').remove(); - - // Sirf Yes pe value bhejo - if (value === 'Yes') { - $('#report-form').append( - '' - ); - } - }); - - - $('#field-rtm_dr').on('change', function () { - let value = $(this).val(); - - // Pehle existing hidden input hata do - $('input[name="rtm_dr"]').remove(); - - // Sirf Yes pe value bhejo - if (value === 'Yes') { - $('#report-form').append( - '' - ); - } - });*/ + // ===================================================== -// FETCH PREVIOUS SUBMISSION FOR SELECTED DOCTOR -// ONLY FOR THIS FORM -// ===================================================== + // FETCH PREVIOUS SUBMISSION FOR SELECTED DOCTOR + // ONLY FOR THIS FORM + // ===================================================== -const targetFormId = '1788239728-6f7f3c27-c5dc-4e6e-a042-aefd5681af3a'; + const targetFormId = '1788239728-6f7f3c27-c5dc-4e6e-a042-aefd5681af3a'; -$('#field-contact_id').on('change.previousData', function () { + $('#field-contact_id').on('change.previousData', function () { - const currentFormId = $('input[name="form_id"]').val(); + const currentFormId = $('input[name="form_id"]').val(); - // Run only for this form - if (currentFormId !== targetFormId) { - return; - } - - const doctorId = $(this).val(); - - if (!doctorId) { - return; - } - - const userId = $('#field-user_id').val(); - const partition = '{{ $form->partition }}'; - - if (!userId) { - return; - } - - $("#pageloader").fadeIn(); - - $.ajax({ - type: "POST", - url: "/form/getformfielddata", - - data: { - _token: $('input[name="_token"]').val(), - form_id: targetFormId, - user_id: userId, - partition: partition, - - // We are NOT looking for a particular date. - // We want all previous submissions. - record_date: '' - }, - - success: function (response) { - - $("#pageloader").fadeOut(); - - if ( - !response.submissions || - !Array.isArray(response.submissions) - ) { + // Run only for this form + if (currentFormId !== targetFormId) { return; } - // ========================================== - // FIND PREVIOUS SUBMISSIONS FOR THIS DOCTOR - // ========================================== + const doctorId = $(this).val(); - const doctorSubmissions = response.submissions.filter(function (submission) { - - if (!submission.formdata) { - return false; - } - - return String(submission.formdata.contact_id || '') === String(doctorId); - }); - - if (doctorSubmissions.length === 0) { - - // No previous data for this doctor + if (!doctorId) { return; } - // ========================================== - // GET LATEST SUBMISSION - // ========================================== + const userId = $('#field-user_id').val(); + const partition = '{{ $form->partition }}'; - doctorSubmissions.sort(function (a, b) { - - const dateA = new Date( - a.updatedAt || a.createdAt || 0 - ); - - const dateB = new Date( - b.updatedAt || b.createdAt || 0 - ); - - return dateB - dateA; - }); - - const previousData = doctorSubmissions[0].formdata; - - // ========================================== - // AUTO POPULATE ALL PREVIOUS FIELDS - // ========================================== - - Object.keys(previousData).forEach(function (fieldCode) { - - const field = $('#field-' + fieldCode); - - if (!field.length) { - return; - } - - // Don't change the selected doctor - if (fieldCode === 'contact_id') { - return; - } - - // Don't populate file inputs - if (field.attr('type') === 'file') { - return; - } - - const value = previousData[fieldCode]; - - if (value === null || value === undefined) { - return; - } - - field.val(value); - - // Important for dropdowns such as Select Brand - field.trigger('change'); - }); - - }, - - error: function (xhr) { - - $("#pageloader").fadeOut(); - - console.log( - "Failed to fetch previous submission:", - xhr.responseText - ); - } - }); - -}); - - $('#report-form').on('submit', function(event){ - event.preventDefault(); - const formData = new FormData($('#report-form')[0]); - // Log form data to console - for (let [key, value] of formData.entries()) { - console.log(key, value); + if (!userId) { + return; } + $("#pageloader").fadeIn(); - - if ($('#field-select_brand').val() === 'Sitazit') { - $('#report-form').append( - '' - ); + $.ajax({ + type: "POST", + url: "/form/getformfielddata", - $('#report-form').append( - '' - ); + data: { + _token: $('input[name="_token"]').val(), + form_id: targetFormId, + user_id: userId, + partition: partition, - let sku_brand_map = sku_brand_maps.find( - sb => sb.sku_code === $('#field-brand_sku').val() - ); + // We are NOT looking for a particular date. + // We want all previous submissions. + record_date: '' + }, + + success: function (response) { + + $("#pageloader").fadeOut(); + + if ( + !response.submissions || + !Array.isArray(response.submissions) + ) { + return; + } + + // ========================================== + // FIND PREVIOUS SUBMISSIONS FOR THIS DOCTOR + // ========================================== + + const doctorSubmissions = response.submissions.filter(function (submission) { + + if (!submission.formdata) { + return false; + } + + return String(submission.formdata.contact_id || '') === String(doctorId); + }); + + if (doctorSubmissions.length === 0) { + + // No previous data for this doctor + return; + } + + // ========================================== + // GET LATEST SUBMISSION + // ========================================== + + doctorSubmissions.sort(function (a, b) { + + const dateA = new Date( + a.updatedAt || a.createdAt || 0 + ); + + const dateB = new Date( + b.updatedAt || b.createdAt || 0 + ); + + return dateB - dateA; + }); + + const previousData = doctorSubmissions[0].formdata; + + // ========================================== + // AUTO POPULATE ALL PREVIOUS FIELDS + // ========================================== + + Object.keys(previousData).forEach(function (fieldCode) { + + const field = $('#field-' + fieldCode); + + if (!field.length) { + return; + } + + // Don't change the selected doctor + if (fieldCode === 'contact_id') { + return; + } + + // Don't populate file inputs + if (field.attr('type') === 'file') { + return; + } + + const value = previousData[fieldCode]; + + if (value === null || value === undefined) { + return; + } + + field.val(value); + + // Important for dropdowns such as Select Brand + field.trigger('change'); + }); + + }, + + error: function (xhr) { + + $("#pageloader").fadeOut(); + + console.log( + "Failed to fetch previous submission:", + xhr.responseText + ); + } + }); - if (sku_brand_map) { - $('#report-form').append( - '' - ); - } -} - $.ajax({ - type: "POST", - url: '/form/ajaxsubmit', - data: new FormData($('#report-form')[0]), - processData: false, - contentType: false, - success: function( data ) { - $("#pageloader").fadeOut(); - if(data.status == 'success') { - Swal.fire({ - title: 'Great!', - text: 'Your data is successfully submitted!', - icon: 'success' - }).then(() => { - location.reload(); // 🔥 page refresh here - }); - $('#report-form').trigger("reset"); - } else { - Swal.fire({ - icon: 'error', - title: 'Data not submitted', - text: 'Something went wrong, please try again after some time!' - }) - } - }, }); + + $('#report-form').on('submit', function(event){ + event.preventDefault(); + const formData = new FormData($('#report-form')[0]); + // Log form data to console + for (let [key, value] of formData.entries()) { + console.log(key, value); + } + $("#pageloader").fadeIn(); + + if ($('#field-select_brand').val() === 'Sitazit') { + + $('#report-form').append( + '' + ); + + $('#report-form').append( + '' + ); + + let sku_brand_map = sku_brand_maps.find( + sb => sb.sku_code === $('#field-brand_sku').val() + ); + + if (sku_brand_map) { + $('#report-form').append( + '' + ); + } + } + + $.ajax({ + type: "POST", + url: '/form/ajaxsubmit', + data: new FormData($('#report-form')[0]), + processData: false, + contentType: false, + success: function( data ) { + $("#pageloader").fadeOut(); + if(data.status == 'success') { + Swal.fire({ + title: 'Great!', + text: 'Your data is successfully submitted!', + icon: 'success' + }).then(() => { + location.reload(); // 🔥 page refresh here + }); + $('#report-form').trigger("reset"); + } else { + Swal.fire({ + icon: 'error', + title: 'Data not submitted', + text: 'Something went wrong, please try again after some time!' + }) + } + }, + }); + }); + + var today = new Date(); + var dd = String(today.getDate()).padStart(2, '0'); + var mm = String(today.getMonth() + 1).padStart(2, '0'); + var yyyy = today.getFullYear(); + today = yyyy + '-' + mm + '-' + dd; + + var plandateField = document.getElementById('field-record_date'); + + plandateField.setAttribute('max', today); }); - - var today = new Date(); - var dd = String(today.getDate()).padStart(2, '0'); - var mm = String(today.getMonth() + 1).padStart(2, '0'); - var yyyy = today.getFullYear(); - today = yyyy + '-' + mm + '-' + dd; - - var plandateField = document.getElementById('field-record_date'); - - plandateField.setAttribute('max', today); - });