WIP 2025-01-16 ConstructionConsent Rimo Plan

This commit is contained in:
Frank Schubert
2025-01-17 13:48:50 +01:00
parent e3f1fe07ad
commit 27cc45e23c
4 changed files with 368 additions and 8 deletions
+61 -5
View File
@@ -154,8 +154,24 @@
<hr />
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="name">Planskizze / Bilddatei</label>
<label class="col-lg-2 col-form-label">Planskizze / Bilddatei</label>
<div class="col-lg-10">
<label for="plan_adb_hausnummer_id">Plan aus Rimo holen</label>
<select class="form-control" name="plan_adb_hausnummer_id" id="plan_adb_hausnummer_id">
<?php if(isset($item) && $item->plan_adb_hausnummer_id): ?>
<option value="<?=$item->plan_adb_hausnummer_id?>" selected="selected"><?=$item->plan_adb_hausnummer->street->name?> <?=$item->plan_adb_hausnummer->hausnummer?>, <?=$item->plan_adb_hausnummer->street->gemeinde->name?></option>
<?php endif; ?>
</select>
Vorschau:
<div class="card">
<div class="card-body" id="rimo-plan-container">
<img id="plan_preview" style="max-width: 1200px;" />
</div>
</div>
<label>Oder Plan hochladen</label>
<input type="file" class="form-control" name="consent_plan_image" id="consent_plan_image" />
</div>
</div>
@@ -222,11 +238,51 @@
placeholder: "Suche nach Straße",
allowClear: true
});
$('#adb_strasse_id').on('select2:close', function(e) {
if(!$('#adb_strasse_id').val()) {
$('#new-address-toggle').show();
}
$('#plan_adb_hausnummer_id').select2({
ajax: {
url: '<?=self::getUrl("ConstructionConsent", "api")?>',
data: (params) => {
return {
q: params.term,
do: "findAddress",
project_id: $("#constructionconsentproject_id :selected").val()
}
},
delay: 250,
dataType: 'json'
},
minimumInputLength: 2,
placeholder: "Suche nach Adresse",
allowClear: true
});
$('#plan_adb_hausnummer_id').change( async () => {
if(!$("#plan_adb_hausnummer_id").val()) return;
var building_id = $('#plan_adb_hausnummer_id').val();
// get plan image preview
try {
var response = await fetch('<?=self::getUrl("ConstructionConsent", "Api", ["do" => "getRimoPlanPreview"])?>&building_id=' + building_id);
if (!response.ok) {
return false;
}
var resp_json = await response.json();
var plan_data = resp_json.result;
var img_mimetype = plan_data.image_mimetype;
var img_base64 = plan_data.image_base64;
$("#plan_preview").attr("src" ,"data:" + img_mimetype + ";base64," + img_base64);
} catch (error) {
console.log("Exception fetching plan preview:");
console.log(error);
return false;
}
});
$("#constructionconsentproject_id").change(() => {
$("#adb_strasse_id").val("").change();