foto lahan
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
@push('style')
|
||||
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.4/leaflet.draw.css" />
|
||||
<link rel="stylesheet" href="https://unpkg.com/dropzone@5/dist/min/dropzone.min.css" type="text/css" />
|
||||
|
||||
<style>
|
||||
#map {
|
||||
@@ -41,7 +42,8 @@
|
||||
|
||||
|
||||
<div class="col-12 col-lg-10 col-md-9 pt-6 pt-lg-0">
|
||||
<form id="petani-lahan-tanaman" method="POST" action="{{ route('petani.lahan-tanaman.store', ['petani' => $petani->id, 'lahanSelected' => null]) }}">
|
||||
<form id="petani-lahan-tanaman" method="POST" enctype="multipart/form-data"
|
||||
action="{{ route('petani.lahan-tanaman.store', ['petani' => $petani->id, 'lahanSelected' => null]) }}">
|
||||
@csrf
|
||||
<input type="hidden" name="status_kepemilikan" value="sendiri">
|
||||
<div class="row">
|
||||
@@ -221,14 +223,33 @@
|
||||
|
||||
<div id="map" class="border rounded shadow-sm"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-12 text-end">
|
||||
<a href="{{ route('petani.index') }}" class="btn btn-secondary me-2 wave-effect wave-light">Kembali</a>
|
||||
<button type="submit" class="btn btn-success data-submit wave-effect wave-light"><i class="ti tabler-device-floppy me-2"></i> Simpan Lahan</button>
|
||||
<hr class="my-4">
|
||||
<div class="row">
|
||||
<div class="col-12 mb-4">
|
||||
<h6 class="mb-0">Foto</h6>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12 mb-3 form-control-validation">
|
||||
<div id="dropzone-foto" class="needsclick">
|
||||
<div class="dz-message needsclick">
|
||||
Drop foto di sini atau klik untuk memilih
|
||||
</div>
|
||||
</div>
|
||||
<input type="file" id="foto-input" name="foto[]" multiple hidden>
|
||||
@error('file')<div class="error invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-12 text-end">
|
||||
<a href="{{ route('petani.index') }}" class="btn btn-secondary me-2 wave-effect wave-light">Kembali</a>
|
||||
<button type="submit" class="btn btn-success data-submit wave-effect wave-light"><i class="ti tabler-device-floppy me-2"></i> Simpan Lahan</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@@ -242,6 +263,7 @@
|
||||
@push('scripts')
|
||||
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.4/leaflet.draw.js"></script>
|
||||
<script src="https://unpkg.com/dropzone@5/dist/min/dropzone.min.js"></script>
|
||||
|
||||
<script>
|
||||
'use strict';
|
||||
@@ -483,6 +505,35 @@
|
||||
$('#luas_lahan').val(area.toFixed(2));
|
||||
}
|
||||
|
||||
// DROPZONE
|
||||
const previewTemplate = `<div class="dz-preview dz-file-preview">
|
||||
<div class="dz-details">
|
||||
<div class="dz-thumbnail">
|
||||
<img data-dz-thumbnail>
|
||||
<span class="dz-nopreview">No preview</span>
|
||||
<div class="dz-success-mark"></div>
|
||||
<div class="dz-error-mark"></div>
|
||||
<div class="dz-error-message"><span data-dz-errormessage></span></div>
|
||||
<div class="progress">
|
||||
<div class="progress-bar progress-bar-primary" role="progressbar" aria-valuemin="0" aria-valuemax="100" data-dz-uploadprogress></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dz-filename" data-dz-name></div>
|
||||
<div class="dz-size" data-dz-size></div>
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
|
||||
Dropzone.autoDiscover = false;
|
||||
const dropzoneFoto = $("#dropzone-foto").addClass("dropzone").dropzone({
|
||||
url: "/",
|
||||
previewTemplate: previewTemplate,
|
||||
parallelUploads: 1,
|
||||
maxFilesize: 5,
|
||||
addRemoveLinks: true,
|
||||
acceptedFiles: "image/jpeg,image/jpg,image/png",
|
||||
});
|
||||
|
||||
// FORM
|
||||
|
||||
$('#petani-lahan-tanaman').validate({
|
||||
@@ -524,6 +575,28 @@
|
||||
},
|
||||
unhighlight: function (element) {
|
||||
$(element).removeClass('is-invalid');
|
||||
},
|
||||
submitHandler: function (form) {
|
||||
const formData = new FormData(form);
|
||||
|
||||
const dz = $("#dropzone-foto")[0].dropzone;
|
||||
|
||||
dz.getAcceptedFiles().forEach(function(file) {
|
||||
formData.append("foto[]", file);
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: form.action,
|
||||
type: "POST",
|
||||
data: formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function(res) {
|
||||
console.log(res);
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@@ -240,11 +240,13 @@
|
||||
<div id="map" class="border rounded shadow-sm"></div>
|
||||
</div>
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-12 text-end">
|
||||
<a href="{{ route('petani.index') }}" class="btn btn-secondary me-2 wave-effect wave-light">Kembali</a>
|
||||
<button type="submit" class="btn btn-success data-submit wave-effect wave-light"><i class="ti tabler-device-floppy me-2"></i> Simpan Lahan</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-12 text-end">
|
||||
<a href="{{ route('petani.index') }}" class="btn btn-secondary me-2 wave-effect wave-light">Kembali</a>
|
||||
<button type="submit" class="btn btn-success data-submit wave-effect wave-light"><i class="ti tabler-device-floppy me-2"></i> Simpan Lahan</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@@ -252,10 +254,13 @@
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-2 col-md-3">
|
||||
</div>
|
||||
<div class="col-12 col-lg-10 col-md-9">
|
||||
<hr class="my-4">
|
||||
<h6 class="mb-3">Tanaman</h6>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover table-sm" id="table-tanaman">
|
||||
<thead class="border-top">
|
||||
|
||||
Reference in New Issue
Block a user