mirror of
https://github.com/devcode-it/openstamanager.git
synced 2024-12-27 16:23:19 +01:00
Aggiunta visualizzazione mappa all'aggiunta attività
This commit is contained in:
parent
ddfaf6c23d
commit
b1cb2492f9
@ -25,7 +25,42 @@ switch ($resource) {
|
||||
case 'clienti':
|
||||
$id_azienda = setting('Azienda predefinita');
|
||||
|
||||
$query = "SELECT an_anagrafiche.idanagrafica AS id, is_bloccata, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(an_anagrafiche.deleted_at IS NULL, '', ' (".tr('eliminata').")'), IF(is_bloccata = 1, CONCAT(' (', an_relazioni.descrizione, ')'), '') ) AS descrizione, idtipointervento_default AS idtipointervento, in_tipiintervento.descrizione AS idtipointervento_descrizione, an_anagrafiche.idzona, contratto.id AS id_contratto, contratto.descrizione AS descrizione_contratto, co_pagamenti.id AS id_pagamento, co_pagamenti.descrizione AS desc_pagamento, banca_vendite.id AS id_banca_vendite, CONCAT(banca_vendite.nome, ' - ', banca_vendite.iban) AS descrizione_banca_vendite FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica LEFT JOIN in_tipiintervento ON an_anagrafiche.idtipointervento_default=in_tipiintervento.idtipointervento LEFT JOIN an_relazioni ON an_anagrafiche.idrelazione=an_relazioni.id LEFT JOIN (SELECT co_contratti.id, idanagrafica, CONCAT('Contratto ', numero, ' del ', DATE_FORMAT(data_bozza, '%d/%m/%Y'), ' - ', co_contratti.nome, ' [', `co_staticontratti`.`descrizione` , ']') AS descrizione FROM co_contratti LEFT JOIN co_staticontratti ON co_contratti.idstato=co_staticontratti.id WHERE co_contratti.predefined=1 AND is_pianificabile=1) AS contratto ON an_anagrafiche.idanagrafica=contratto.idanagrafica LEFT JOIN co_pagamenti ON an_anagrafiche.idpagamento_vendite=co_pagamenti.id LEFT JOIN co_banche banca_vendite ON co_pagamenti.idconto_vendite = banca_vendite.id_pianodeiconti3 AND banca_vendite.id_anagrafica = ".prepare($id_azienda)." AND banca_vendite.deleted_at IS NULL AND banca_vendite.predefined = 1 |where| ORDER BY ragione_sociale";
|
||||
$query = "SELECT
|
||||
an_anagrafiche.idanagrafica AS id,
|
||||
an_anagrafiche.lat,
|
||||
an_anagrafiche.lng,
|
||||
is_bloccata,
|
||||
CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(an_anagrafiche.deleted_at IS NULL, '', ' (".tr('eliminata').")'), IF(is_bloccata = 1, CONCAT(' (', an_relazioni.descrizione, ')'), '') ) AS descrizione,
|
||||
idtipointervento_default AS idtipointervento,
|
||||
in_tipiintervento.descrizione AS idtipointervento_descrizione,
|
||||
an_anagrafiche.idzona,
|
||||
contratto.id AS id_contratto,
|
||||
contratto.descrizione AS descrizione_contratto,
|
||||
co_pagamenti.id AS id_pagamento,
|
||||
co_pagamenti.descrizione AS desc_pagamento,
|
||||
banca_vendite.id AS id_banca_vendite,
|
||||
CONCAT(banca_vendite.nome, ' - ', banca_vendite.iban) AS descrizione_banca_vendite
|
||||
FROM
|
||||
an_anagrafiche
|
||||
INNER JOIN (an_tipianagrafiche_anagrafiche
|
||||
INNER JOIN an_tipianagrafiche
|
||||
ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica)
|
||||
ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica LEFT JOIN in_tipiintervento ON an_anagrafiche.idtipointervento_default=in_tipiintervento.idtipointervento
|
||||
LEFT JOIN
|
||||
an_relazioni
|
||||
ON an_anagrafiche.idrelazione=an_relazioni.id
|
||||
LEFT JOIN
|
||||
(SELECT co_contratti.id, idanagrafica, CONCAT('Contratto ', numero, ' del ', DATE_FORMAT(data_bozza, '%d/%m/%Y'), ' - ', co_contratti.nome, ' [', `co_staticontratti`.`descrizione` , ']') AS descrizione FROM co_contratti LEFT JOIN co_staticontratti ON co_contratti.idstato=co_staticontratti.id WHERE co_contratti.predefined=1 AND is_pianificabile=1) AS contratto
|
||||
ON an_anagrafiche.idanagrafica=contratto.idanagrafica
|
||||
LEFT JOIN
|
||||
co_pagamenti
|
||||
ON an_anagrafiche.idpagamento_vendite=co_pagamenti.id
|
||||
LEFT JOIN
|
||||
co_banche banca_vendite
|
||||
ON co_pagamenti.idconto_vendite = banca_vendite.id_pianodeiconti3 AND banca_vendite.id_anagrafica = ".prepare($id_azienda)." AND banca_vendite.deleted_at IS NULL AND banca_vendite.predefined = 1
|
||||
|where|
|
||||
ORDER BY
|
||||
ragione_sociale";
|
||||
|
||||
foreach ($elements as $element) {
|
||||
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
|
||||
@ -267,7 +302,24 @@ switch ($resource) {
|
||||
*/
|
||||
case 'sedi':
|
||||
if (isset($superselect['idanagrafica'])) {
|
||||
$query = "SELECT * FROM (SELECT '0' AS id, (SELECT idzona FROM an_anagrafiche |where|) AS idzona, CONCAT_WS(' - ', \"".tr('Sede legale')."\" , (SELECT CONCAT (citta, IF(indirizzo!='',CONCAT(' (', indirizzo, ')'), ''), ' (',ragione_sociale,')') FROM an_anagrafiche |where|)) AS descrizione UNION SELECT id, idzona, CONCAT_WS(' - ', nomesede, CONCAT(citta, IF(indirizzo!='',CONCAT(' (', indirizzo, ')'), '')) ) FROM an_sedi |where|) AS tab HAVING descrizione LIKE ".prepare('%'.$search.'%').' ORDER BY descrizione';
|
||||
$query = "
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
(SELECT '0' AS id, (SELECT lat FROM an_anagrafiche |where|) AS lat, (SELECT lng FROM an_anagrafiche |where|) AS lng, (SELECT idzona FROM an_anagrafiche |where|) AS idzona, CONCAT_WS(' - ', \"".tr('Sede legale')."\" , (SELECT CONCAT (citta, IF(indirizzo!='',CONCAT(' (', indirizzo, ')'), ''), ' (',ragione_sociale,')') FROM an_anagrafiche |where|)) AS descrizione
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
id,
|
||||
lat,
|
||||
lng,
|
||||
idzona,
|
||||
CONCAT_WS(' - ', nomesede, CONCAT(citta, IF(indirizzo!='',CONCAT(' (', indirizzo, ')'), '')) ) FROM an_sedi |where|) AS tab
|
||||
HAVING
|
||||
descrizione LIKE ".prepare('%'.$search.'%').'
|
||||
ORDER BY
|
||||
descrizione';
|
||||
|
||||
foreach ($elements as $element) {
|
||||
$filter[] = 'id='.prepare($element);
|
||||
|
@ -218,6 +218,30 @@ echo '
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
|
||||
$api_key = setting('Google Maps API key');
|
||||
$map_load_message = tr('Clicca per visualizzare');
|
||||
|
||||
if (!empty($api_key)) {
|
||||
echo '
|
||||
<!-- POSIZIONE -->
|
||||
<div class="box box-info collapsable collapsed-box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">'.tr('Posizione').'</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<button type="button" class="btn btn-box-tool" data-widget="collapse" onclick="autoload_mappa=true; caricaMappa(current_lat, current_lng);">
|
||||
<i class="fa fa-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box-body">
|
||||
<div id="map-edit" style="height: 300px;width: 100%;display: flex;align-items: center;justify-content: center;"></div>
|
||||
</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
|
||||
$espandi_dettagli = setting('Espandi automaticamente la sezione "Dettagli aggiuntivi"');
|
||||
echo '
|
||||
<!-- DATI AGGIUNTIVI -->
|
||||
@ -443,6 +467,7 @@ echo '
|
||||
var ordine = input("idordine");
|
||||
var referente = input("idreferente");
|
||||
var cliente_finale = input("idclientefinale");
|
||||
var autoload_mappa = false;
|
||||
|
||||
$(document).ready(function() {
|
||||
if(!anagrafica.get()){
|
||||
@ -531,6 +556,8 @@ echo '
|
||||
input("idcontratto").getElement()
|
||||
.selectSetNew(data.id_contratto, data.descrizione_contratto);
|
||||
}
|
||||
|
||||
caricaMappa(data.lat, data.lng);
|
||||
}
|
||||
|
||||
if (data !== undefined) {
|
||||
@ -574,6 +601,8 @@ echo '
|
||||
if (data) {
|
||||
input("idzona").set(data.idzona ? data.idzona : "");
|
||||
// session_set("superselect,idzona", $(this).selectData().idzona, 0);
|
||||
|
||||
caricaMappa(data.lat, data.lng);
|
||||
}
|
||||
});
|
||||
|
||||
@ -727,4 +756,54 @@ echo '
|
||||
$("#data_fine_ricorrenza").attr("required", false);
|
||||
}
|
||||
});
|
||||
|
||||
var marker = null;
|
||||
var position = null;
|
||||
var map = null;
|
||||
var current_lat = null;
|
||||
var current_lng = null;
|
||||
|
||||
function caricaMappa(lat, lng) {
|
||||
current_lat = lat;
|
||||
current_lng = lng;
|
||||
|
||||
if (!autoload_mappa){
|
||||
return false;
|
||||
}
|
||||
|
||||
const map_div = $("#map-edit");
|
||||
|
||||
if (input("idanagrafica").getData("select-options")) {
|
||||
if (map === null) {
|
||||
if (lat || lng) {
|
||||
$.getScript("//maps.googleapis.com/maps/api/js?libraries=places&key='.$api_key.'", function() {
|
||||
const map_element = map_div[0];
|
||||
position = new google.maps.LatLng(lat, lng);
|
||||
|
||||
// Create a Google Maps native view under the map_canvas div.
|
||||
map = new google.maps.Map(map_element, {
|
||||
zoom: 14,
|
||||
scrollwheel: false,
|
||||
mapTypeControl: true,
|
||||
mapTypeId: "roadmap",
|
||||
mapTypeControlOptions: {
|
||||
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU,
|
||||
mapTypeIds: ["roadmap", "terrain"],
|
||||
}
|
||||
});
|
||||
|
||||
map.setCenter(position);
|
||||
marker = new google.maps.Marker({
|
||||
position: position,
|
||||
map: map,
|
||||
});
|
||||
});
|
||||
}
|
||||
} else {
|
||||
position = new google.maps.LatLng(lat, lng);
|
||||
marker.setPosition(position);
|
||||
map.setCenter(position);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>';
|
||||
|
Loading…
Reference in New Issue
Block a user