Advertisement
vitareinforce

form skenario

Dec 13th, 2020
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.03 KB | None | 0 0
  1. <template>
  2. <div class="container">
  3. <div class="form-group">
  4. <label>Nama</label>
  5. <input type="text" class="form-control" v-model="skenario.nama">
  6. </div>
  7. <div class="form-group">
  8. <label>Deskripsi</label>
  9. <input type="text" class="form-control" v-model="skenario.deskripsi">
  10. </div>
  11. <div class="form-group">
  12. <label>Tahun Awal</label>
  13. <input type="number" class="form-control" v-model="skenario.tahun_awal">
  14. </div>
  15. <div class="form-group">
  16. <label>Tahun Akhir</label>
  17. <input type="number" class="form-control" v-model="skenario.tahun_akhir">
  18. </div>
  19. <div class="form-group">
  20. <label>Skenario Tsunami?</label>
  21. <b-form-checkbox
  22. id="checkbox-1"
  23. v-model="skenario.tsunami"
  24. name="tsunami"
  25. value="true"
  26. unchecked-value="false">
  27. </b-form-checkbox>
  28. </div>
  29. <div v-show="skenario.tsunami" class="form-group">
  30. <label>Upload Raster Peta Tsunami</label>
  31. <br />
  32. <b-form-file
  33. v-model="files.tinggi_tsunami"
  34. placeholder="Upload File Raster disini"
  35. drop-placeholder="Lepas file di sini..."
  36. accept=".tif"
  37. ></b-form-file>
  38. </div>
  39. <div class="form-group">
  40. <label>Upload Raster Peta Administrasi Daerah</label>
  41. <br />
  42. <b-form-file
  43. v-model="files.administrasi_daerah"
  44. placeholder="Upload File Raster disini"
  45. drop-placeholder="Lepas file di sini..."
  46. accept=".tif"
  47. ></b-form-file>
  48. </div>
  49. <div class="form-group">
  50. <label>Upload Raster Peta Kemiringan</label>
  51. <br />
  52. <b-form-file
  53. v-model="files.kemiringan"
  54. placeholder="Upload File Raster disini"
  55. drop-placeholder="Lepas file di sini..."
  56. accept=".tif"
  57. ></b-form-file>
  58. </div>
  59. <div class="form-group">
  60. <label>Upload Raster Peta Rencana Detail Tata Ruang</label>
  61. <br />
  62. <b-form-file
  63. v-model="files.rdtr"
  64. placeholder="Upload File Raster disini"
  65. drop-placeholder="Lepas file di sini..."
  66. accept=".tif"
  67. ></b-form-file>
  68. </div>
  69. <div class="form-group">
  70. <label>Upload Raster Land Use</label>
  71. <div v-for="(item, index) in ((skenario.tahun_akhir - skenario.tahun_awal) + 1)" :key="index" class="form-group">
  72. <hr />
  73. <label>Tahun {{ skenario.tahun_awal + index }}</label>
  74. <br />
  75. <b-form-file
  76. v-model="files.land_use[index]"
  77. placeholder="Upload File Raster disini"
  78. drop-placeholder="Lepas file di sini..."
  79. accept=".tif"
  80. ></b-form-file>
  81. </div>
  82. </div>
  83. <button @click="save()" class="btn btn-primary">Submit</button>
  84. </div>
  85. </template>
  86.  
  87. <style scoped>
  88. body {
  89. background: #eee !important;
  90. }
  91. </style>
  92.  
  93. <script>
  94. import Skenario from '@/api/skenario'
  95.  
  96. // @ is an alias to /src
  97. export default {
  98. name: 'Skenario.form',
  99. beforeUpdate: function() {
  100. this.skenario.params.administrasi_daerah = this.files.administrasi_daerah.name
  101. this.skenario.params.kemiringan = this.files.kemiringan.name
  102. this.skenario.params.rencana_detail_tata_ruang = this.files.rencana_detail_tata_ruang.name
  103. this.skenario.params.tinggi_tsunami = this.files.tinggi_tsunami.name
  104. },
  105. data () {
  106. return {
  107. skenario: {
  108. nama: null,
  109. deskripsi: null,
  110. tahun_awal: 2018,
  111. tahun_akhir: 2019,
  112. tsunami: false,
  113. params: {
  114. administrasi_daerah: null,
  115. kemiringan: null,
  116. rencana_detail_tata_ruang: null,
  117. tinggi_tsunami: null
  118. },
  119. },
  120. files: {
  121. tinggi_tsunami: null,
  122. administrasi_daerah: null,
  123. kemiringan: null,
  124. rdtr: null,
  125. land_use: []
  126. }
  127. }
  128. },
  129. mounted: function() {
  130. this.init()
  131. },
  132. methods: {
  133. init: async function() {
  134. if(this.$route.params.id) {
  135. let skenario = await Skenario.show(this.$$route.params.id)
  136. this.skenario = skenario.data.data
  137. }
  138. },
  139. save: async function() {
  140. try {
  141. const submit = await Skenario.create(this.skenario)
  142. if (submit.data.status == true) {
  143. alert("Input Sukses")
  144. this.$router.push({ name: 'skenario.index'})
  145. } else {
  146. alert("Input Gagal")
  147. }
  148. } catch (e) {
  149. alert("Input Gagal")
  150. console.log(e)
  151. }
  152. }
  153. }
  154. }
  155. </script>
  156.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement