Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 
 

196 righe
12 KiB

<?php
use App\WGS\Utils\Dto\ProvinceDistrictCellDto\DistrictCellDto;
use App\WGS\Utils\Dto\ProvinceDistrictCellDto\ProvinceCellDto;
use App\WGS\Utils\Enum\InputFieldType;
$applicant = isset($districtProvinceApplicant)
? (is_array($districtProvinceApplicant) && !empty($districtProvinceApplicant)
? (isset($districtProvinceApplicant[0]) ? $districtProvinceApplicant[0] : null)
: (is_object($districtProvinceApplicant) ? $districtProvinceApplicant : null))
: null;
$province = $applicant ? ($applicant->province ?? null) : null;
$district = $applicant ? ($applicant->district ?? null) : null;
?>
<div class="applicant_item_block" data-id="<?= $applicant_item_block ?>">
<div class="row">
<div class="col-md-12">
<h3><?= $applicant_item_block == 0 ? __("Concessionario principale") : __("Concessionario aggiuntivo") ?></h3>
</div>
<?php
if (!isset($is_view)) :
?>
<div class="col-md-11" id="select2-applicant-div-<?= $applicant_item_block ?>">
<?= $this->Form->control('select2applicants-' . $applicant_item_block, ['id' => 'select2applicants-' . $applicant_item_block, 'label' => __('Ricerca concessionario'), 'type' => 'select', 'options' => (isset($applicant) ? [$applicant->id => $applicant->tax_code . ' - ' . $applicant->name . ' ' . $applicant->surname] : []), 'empty' => true, 'style' => 'width:50%;']) ?>
</div>
<div class="col-md-1">
<a onclick="resetFields(<?= $applicant_item_block ?>)" style="margin-top:2rem" id="remove-selection-<?= $applicant_item_block ?>" class="btn btn-danger">RESET</a>
</div>
<?php
endif;
?>
<?= $this->Form->hidden('applicants.' . $applicant_item_block . '.id', ['id' => 'applicants-' . $applicant_item_block . '-id', 'readonly' => true, 'disabled' => (!isset($applicant)), 'type' => 'number']) ?>
<?= $this->Form->hidden('applicants.' . $applicant_item_block . '._joinData.is_primary_applicant', ['value' => ($applicant_item_block == 0 ? 1 : 0)]) ?>
<?php
if (!isset($water_drawing_paperwork_status_id) || $water_drawing_paperwork_status_id > 5): ?>
<div class="col-md-6">
<?= $this->Form->hidden('applicants.' . $applicant_item_block . '.id', ['id' => 'applicants-' . $applicant_item_block . '-id', 'readonly' => true, 'disabled' => (!isset($applicant)), 'type' => 'number']) ?>
<?= $this->Form->hidden('applicants.' . $applicant_item_block . '._joinData.is_primary_applicant', ['value' => ($applicant_item_block == 0 ? 1 : 0)]) ?>
<?= $this->Form->control('applicants.' . $applicant_item_block . '.name', ['label' => __('Nome'), 'disabled' => (isset($is_view) || isset($applicant->id)), 'type' => ((!isset($water_drawing_paperwork_status_id) || $water_drawing_paperwork_status_id > 5) ? 'text' : 'hidden'), 'required' => true]) ?>
</div>
<?php
endif;
if (!isset($water_drawing_paperwork_status_id) || $water_drawing_paperwork_status_id > 5):
?>
<div class="col-md-6">
<?= $this->Form->control('applicants.' . $applicant_item_block . '.surname', ['label' => __('Cognome'), 'disabled' => (isset($is_view) || isset($applicant->id)), 'type' => ((!isset($water_drawing_paperwork_status_id) || $water_drawing_paperwork_status_id > 5) ? 'text' : 'hidden'), 'required' => true]) ?>
</div>
<?php
endif;
?>
<div class="col-md-6">
<?= $this->Form->control('applicants.' . $applicant_item_block . '.tax_code', ['label' => __('Codice fiscale'), 'disabled' => (isset($is_view) || isset($applicant->id)), 'type' => 'text', 'required' => true]) ?>
</div>
<?php
if (!isset($water_drawing_paperwork_status_id) || $water_drawing_paperwork_status_id > 5):
?><div class="col-md-6">
<?= $this->Form->control('applicants.' . $applicant_item_block . '.company_name', ['label' => __('Ragione sociale'), 'disabled' => (isset($is_view) || isset($applicant->id)), 'type' => ((!isset($water_drawing_paperwork_status_id) || $water_drawing_paperwork_status_id > 5) ? 'text' : 'hidden')]) ?>
</div>
<?php
endif;
?>
<div class="col-md-6">
<?= $this->Form->control('applicants.' . $applicant_item_block . '.vat_number', ['label' => __('Partita IVA'), 'disabled' => (isset($is_view) || isset($applicant->id)), 'type' => 'text']) ?>
</div>
<?php
if (!isset($water_drawing_paperwork_status_id) || $water_drawing_paperwork_status_id > 5):
?>
<div class="col-md-6">
<?= $this->Form->control('applicants.' . $applicant_item_block . '.address', ['label' => __('Indirizzo'), 'disabled' => (isset($is_view) || isset($applicant->id)), 'type' => ((!isset($water_drawing_paperwork_status_id) || $water_drawing_paperwork_status_id > 5) ? 'text' : 'hidden'), 'required' => true]) ?>
</div>
<?php
endif;
if (!isset($water_drawing_paperwork_status_id) || $water_drawing_paperwork_status_id > 5):
?>
<?= $this->Cell("DistrictProvince", [
new ProvinceCellDto(
fieldId: 'applicants-' . $applicant_item_block . '-province',
fieldName: 'applicants.' . $applicant_item_block . '.province',
formContext: $formContext ?? null,
fieldRequired: true,
disabled: (isset($is_view) || isset($applicant->id)),
fieldType: ((!isset($water_drawing_paperwork_status_id) || $water_drawing_paperwork_status_id > 5) ? InputFieldType::SELECT : InputFieldType::HIDDEN),
fieldValue: $province
),
new DistrictCellDto(
fieldId: 'applicants-' . $applicant_item_block . '-district',
fieldName: 'applicants.' . $applicant_item_block . '.district',
provinceFieldId: 'applicants-' . $applicant_item_block . '-province',
fieldRequired: true,
disabled: (isset($is_view) || isset($applicant->id)),
fieldType: ((!isset($water_drawing_paperwork_status_id) || $water_drawing_paperwork_status_id > 5) ? InputFieldType::SELECT : InputFieldType::HIDDEN),
fieldValue: $district,
entity: $applicant
)
]
) ?>
<?php
endif;
if (!isset($water_drawing_paperwork_status_id) || $water_drawing_paperwork_status_id > 5):
?>
<div class="col-md-6">
<?= $this->Form->control('applicants.' . $applicant_item_block . '.pec_address', ['label' => __('Indirizzo PEC'), 'disabled' => (isset($is_view) || isset($applicant->id)), 'type' => ((!isset($water_drawing_paperwork_status_id) || $water_drawing_paperwork_status_id > 5) ? 'text' : 'hidden')]) ?>
</div>
<?php
endif;
if (!isset($water_drawing_paperwork_status_id) || $water_drawing_paperwork_status_id > 5):
?>
<div class="col-md-6">
<?= $this->Form->control('applicants.' . $applicant_item_block . '.email_address', ['label' => __('Indirizzo email'), 'disabled' => (isset($is_view) || isset($applicant->id)), 'type' => ((!isset($water_drawing_paperwork_status_id) || $water_drawing_paperwork_status_id > 5) ? 'text' : 'hidden')]) ?>
</div>
<?php
endif;
?>
<div class="col-sm-12">
<?php if ($applicant_item_block > 0 && !(isset($is_view))) : ?>
<a style="float: right;" onclick="confirm('<?= __('Rimuovere questo elemento ?') ?>') && this.parentNode.parentNode.parentNode.remove() && resetFields(<?= $applicant_item_block ?>)" class="btn btn-danger"><i class="fa fa-times" aria-hidden="true"></i></a>
<?php endif; ?>
<a class="btn btn-info" onclick="editApplicant(<?= $applicant_item_block ?>)" id="edit-applicant-<?= $applicant_item_block ?>" style="<?= isset($applicant->id) ? 'float: right;margin-right: 1rem;' : 'float: right;margin-right: 1rem;display:none' ?>" target="_blank">Modifica</a>
</div>
</div>
</div>
<script>
window.addEventListener('DOMContentLoaded', function() {
$("#select2applicants-<?= $applicant_item_block ?>").select2({
minimumInputLength: 3,
width: '100%',
language: {
inputTooShort: function(input_params) {
return (input_params.input.length === 0 ? 'Digitare almeno ' : 'Digitare altri ') + (input_params.minimum - input_params.input.length) + ' caratteri';
},
noResults: function() {
return 'Nessun risultato!';
},
searching: function() {
return 'Caricamento...';
},
},
ajax: {
url: '/applicants/search_applicants',
dataType: 'json',
delay: 500,
data: function(params) {
return params;
},
processResults: function(data) {
var result = Object.keys(data['applicants']).map((key) => data['applicants'][key]);
return {
results: result,
};
},
},
});
if ($('#applicants-<?= $applicant_item_block ?>-tax-code').val() != '') {
const xhr = new XMLHttpRequest();
// Imposta l'handler per la risposta della chiamata AJAX
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
// La risposta è stata ricevuta correttamente
const data = JSON.parse(xhr.responseText); // Parsa la risposta come JSON
var result = Object.keys(data['applicants']).map((key) => data['applicants'][key]);
var newOption = new Option(result[0].text, result[0].id, false, false);
$("#select2applicants-<?= $applicant_item_block ?>").append(newOption).trigger('change');
$("#select2applicants-<?= $applicant_item_block ?>").val(result[0].id);
$("#select2applicants-<?= $applicant_item_block ?>").trigger('change');
} else {
console.error("Errore nella chiamata AJAX:", xhr.status);
}
}
};
// Definisci l'URL della chiamata AJAX con il parametro (se necessario)
const parametro1 = "valore1";
const url = '/applicants/search_applicants?term=' + $('#applicants-<?= $applicant_item_block ?>-tax-code').val() + '&_type=query';
// Effettua la chiamata AJAX GET
xhr.open("GET", url, true);
xhr.setRequestHeader("Accept", "application/json"); // Imposta l'header per ricevere la risposta come JSON
xhr.send();
}
$('#select2applicants-<?= $applicant_item_block ?>').on('select2:select', function(e) {
if (($('#select2applicants-<?= $applicant_item_block ?>').val())) {
searchApplicant(<?= $applicant_item_block ?>);
}
});
});
function editApplicant(id) {
if (document.getElementById("applicants-" + id + "-id").value != '') {
window.open('/applicants/edit/' + document.getElementById("applicants-" + id + "-id").value + <?= isset($water_drawing_paperwork_id) ? "'/ $water_drawing_paperwork_id'" : "''" ?>, '_blank');
resetFields(id);
}
}
</script>