· 6 years ago · Feb 25, 2020, 12:24 PM
1<template>
2 <div class="row">
3 <div class="col-lg-12">
4 <b-tabs pills card>
5 <b-tab title="Data Barang" active>
6 <!-- <b-alert
7 :show="dismissCountDown"
8 dismissible
9 variant="warning"
10 @dismissed="dismissCountDown=0"
11 @dismiss-count-down="countDownChanged"
12 >
13 This alert will dismiss after {{ dismissCountDown }} seconds...
14 </b-alert> -->
15 <div v-if="loading && !$route.name.includes('.create')" class="d-flex justify-content-center mb-3">
16 <b-spinner label="Loading..."></b-spinner>
17 </div>
18 <div v-if="$route.name.includes('.detail')" class="row">
19 <div class="col-lg-12 button-back-div">
20 <router-link :to="{ name: 'InventoryManagement.index' }" class="btn btn-primary">Kembali</router-link>
21 </div>
22 </div>
23 <div class="row">
24 <div class="col-lg-12" style="padding-left: 30px; padding-right: 40px;">
25 <div class="row">
26 <!-- Nomor Barang field -->
27 <div class="col-lg-6">
28 <div class="form-group form-float">
29 <label class="form-label" style="color: black;">Nomor Barang</label>
30 <input v-model="inventory.Code" :disabled="$route.name.includes('.detail')" placeholder="Ketik nomor barang..." type="text" required maxlength="32" minlength="2" class="validate form-control" style="border: 1px solid black;">
31 </div>
32 </div>
33 <!-- Nama Bendera - Cabang field -->
34 <div class="col-lg-6">
35 <div class="form-group form-float">
36 <label for="legalEntityName" class="form-label" style="color: black;">Bendera</label>
37 <vue-select :disabled="$route.name.includes('.detail')" v-model="selectedLegalEntity" class="vue-select2" name="role" :options="legalEntity" label="Name"></vue-select>
38 </div>
39 </div>
40
41 <!-- Nama Bendera - Cabang field -->
42 <div class="col-lg-6">
43 <div class="form-group form-float">
44 <label for="branchName" class="form-label" style="color: black;">Cabang</label>
45 <vue-select :disabled="$route.name.includes('.detail')" v-model="selectedBranch" class="vue-select2" name="role" :options="branch" label="Name"></vue-select>
46 </div>
47 </div>
48
49 <!-- Nama Barang field -->
50 <div class="col-lg-6">
51 <div class="form-group form-float">
52 <label class="form-label" style="color: black;">Nama Barang</label>
53 <input :disabled="$route.name.includes('.detail')" placeholder="Masukkan nama barang..." type="text" v-model="inventory.Name" name="ProductName" required maxlength="32" minlength="2" class="validate form-control" style="border: 1px solid black;">
54 </div>
55 </div>
56
57 <!-- Kategori Barang field -->
58 <div class="col-lg-6">
59 <div class="form-group form-float">
60 <label for="branchName" class="form-label" style="color: black;">Kategori Barang</label>
61 <vue-select :disabled="$route.name.includes('.detail')" v-model="inventory.Category" class="vue-select2" name="role" :options="category" label="Name"></vue-select>
62 </div>
63 </div>
64
65 <!-- Kategori Gudang field -->
66 <div class="col-lg-6">
67 <div class="form-group form-float">
68 <label for="branchName" class="form-label" style="color: black;">Kategori Gudang</label>
69 <vue-select :disabled="$route.name.includes('.detail')" v-model="inventory.WarehouseCategory" class="vue-select2" name="role" :options="warehouseCategory"></vue-select>
70 </div>
71 </div>
72
73 <!-- Perakitan field -->
74 <!-- <div class="col-lg-6">
75 <div class="form-group form-float">
76 <label for="branchName" class="form-label" style="color: black;">Perakitan</label>
77 <vue-select :disabled="$route.name.includes('.detail')" v-model="inventory.isAssembly" class="vue-select2" name="role" :options="assemblyOptions"></vue-select>
78 </div>
79 </div> -->
80
81 <!-- Perakitan field -->
82 <div class="col-lg-6">
83 <div class="form-group form-float">
84 <label for="branchName" class="form-label" style="color: black;">Maintenance dan Repair</label>
85 <vue-select :disabled="$route.name.includes('.detail')" v-model="inventory.IsMaintenance" class="vue-select2" name="role" :options="maintenanceOptions"></vue-select>
86 </div>
87 </div>
88 </div>
89
90 <hr />
91
92 <div class="row">
93 <!-- Jumlah Barang field -->
94 <div class="col-lg-6">
95 <div class="form-group form-float">
96 <label for="oneHundredCondition" class="form-label" style="color: black;">Jumlah Barang</label>
97 <input disabled placeholder="Masukkan jumlah barang..." id="oneHundredCondition" type="text" v-model="inventory.TotalQuantity" name="OneHundredCondition" required maxlength="32" minlength="2" class="validate form-control" style="border: 1px solid black;">
98 </div>
99 </div>
100
101 <!-- Jumlah Point field -->
102 <div class="col-lg-6">
103 <div class="form-group form-float">
104 <label for="oneHundredCondition" class="form-label" style="color: black;">Jumlah Point</label>
105 <input :disabled="$route.name.includes('.detail')" placeholder="Masukkan point..." id="oneHundredCondition" type="text" v-model="inventory.Point" name="OneHundredCondition" required maxlength="32" minlength="2" class="validate form-control" style="border: 1px solid black;">
106 </div>
107 </div>
108
109 <!-- Jumlah Barang Kondisi 100% field -->
110 <div class="col-lg-6">
111 <div class="form-group form-float">
112 <label for="oneHundredCondition" class="form-label" style="color: black;">Jumlah Barang Kondisi 100%</label>
113 <input :disabled="$route.name.includes('.detail')" placeholder="Masukkan jumlah barang..." id="oneHundredCondition" type="text" v-model="inventory.Quantity100" name="OneHundredCondition" required maxlength="32" minlength="2" class="validate form-control" style="border: 1px solid black;">
114 </div>
115 </div>
116
117 <!-- Harga Barang Kondisi 100% field -->
118 <div class="col-lg-6">
119 <div class="form-group form-float">
120 <label for="oneHundredPrice" class="form-label" style="color: black;">Harga Barang Kondisi 100% (Rp)</label>
121 <input v-if="!$route.name.includes('.detail')" placeholder="Masukkan harga barang..." id="oneHundredPrice" type="text" v-model="inventory.Price100" name="OneHundredPrice" required maxlength="32" minlength="2" class="validate form-control" style="border: 1px solid black;">
122 <div v-if="$route.name.includes('.detail')" class="form-control disabled-field">{{ inventory.Price100 | currency }}</div>
123 </div>
124 </div>
125
126 <!-- Jumlah Barang Kondisi 90% field -->
127 <div class="col-lg-6">
128 <div class="form-group form-float">
129 <label for="sixtyCondition" class="form-label" style="color: black;">Jumlah Barang Kondisi 90%</label>
130 <input :disabled="$route.name.includes('.detail')" placeholder="Masukkan jumlah barang..." id="sixtyCondition" type="text" v-model="inventory.Quantity90" name="SixtyCondition" required maxlength="32" minlength="2" class="validate form-control" style="border: 1px solid black;">
131 </div>
132 </div>
133
134 <!-- Harga Barang Kondisi 90% field -->
135 <div class="col-lg-6">
136 <div class="form-group form-float">
137 <label for="sixtyPrice" class="form-label" style="color: black;">Harga Barang Kondisi 90% (Rp)</label>
138 <input v-if="!$route.name.includes('.detail')" placeholder="Masukkan harga barang..." id="sixtyPrice" type="text" v-model="inventory.Price90" name="SixtyPrice" required maxlength="32" minlength="2" class="validate form-control" style="border: 1px solid black;">
139 <div v-if="$route.name.includes('.detail')" class="form-control disabled-field">{{ inventory.Price90 | currency }}</div>
140 </div>
141 </div>
142
143 <!-- Jumlah Barang Kondisi 60% field -->
144 <div class="col-lg-6">
145 <div class="form-group form-float">
146 <label for="thirtyCondition" class="form-label" style="color: black;">Jumlah Barang Kondisi 60%</label>
147 <input :disabled="$route.name.includes('.detail')" placeholder="Masukkan jumlah barang..." id="thirtyCondition" type="text" v-model="inventory.Quantity60" name="ThirtyCondition" required maxlength="32" minlength="2" class="validate form-control" style="border: 1px solid black;">
148 </div>
149 </div>
150
151 <!-- Harga Barang Kondisi 60% field -->
152 <div class="col-lg-6">
153 <div class="form-group form-float">
154 <label for="thirtyPrice" class="form-label" style="color: black;">Harga Barang Kondisi 60% (Rp)</label>
155 <input v-if="!$route.name.includes('.detail')" placeholder="Masukkan harga barang..." id="thirtyPrice" type="text" v-model="inventory.Price60" name="ThirtyPrice" required maxlength="32" minlength="2" class="validate form-control" style="border: 1px solid black;">
156 <div v-if="$route.name.includes('.detail')" class="form-control disabled-field">{{ inventory.Price60 | currency }}</div>
157 </div>
158 </div>
159
160 <!-- Jumlah Barang Kondisi dibawah 30% field -->
161 <div class="col-lg-6">
162 <div class="form-group form-float">
163 <label for="belowThirtyCondition" class="form-label" style="color: black;">Jumlah Barang Kondisi dibawah 30%</label>
164 <input :disabled="$route.name.includes('.detail')" placeholder="Masukkan jumlah barang..." id="belowThirtyCondition" type="text" v-model="inventory.Quantity30" name="BelowThirtyCondition" required maxlength="32" minlength="2" class="validate form-control" style="border: 1px solid black;">
165 </div>
166 </div>
167 <div class="col-lg-6">
168 <div class="form-group form-float">
169 <label for="belowThirtyCondition" class="form-label" style="color: black;">Jumlah Barang Rekondisi</label>
170 <input :disabled="$route.name.includes('.detail')" placeholder="Masukkan jumlah barang..." id="belowThirtyCondition" type="text" v-model="inventory.RefurbishQuantity" name="BelowThirtyCondition" required maxlength="32" minlength="2" class="validate form-control" style="border: 1px solid black;">
171 </div>
172 </div>
173 </div>
174 </div>
175
176
177
178 <div class="col-lg-12" style="padding-left: 30px; padding-right: 40px;">
179
180 <hr />
181
182 <div class="row">
183 <!-- Lokasi field -->
184 <div class="col-lg-6">
185 <div class="form-group form-float">
186 <label for="safetyStockLimit" class="form-label" style="color: black;">Lokasi</label>
187 <input :disabled="$route.name.includes('.detail')" placeholder="Masukkan lokasi / blok..." id="safetyStockLimit" type="text" v-model="inventory.Location" name="safetyStockLimit" required maxlength="32" minlength="2" class="validate form-control" style="border: 1px solid black;">
188 </div>
189 </div>
190 <!-- Batas Safety Stock field -->
191 <div class="col-lg-6">
192 <div class="form-group form-float">
193 <label for="safetyStockLimit" class="form-label" style="color: black;">Safety Stock</label>
194 <input :disabled="$route.name.includes('.detail')" placeholder="Masukkan jumlah barang..." id="safetyStockLimit" type="text" v-model="inventory.SafetyStockLimit" name="safetyStockLimit" required maxlength="32" minlength="2" class="validate form-control" style="border: 1px solid black;">
195 </div>
196 </div>
197 </div>
198 <!-- <div class="col-lg-12" v-if="!$route.name.includes('.create')"> -->
199
200 <hr />
201
202 <div class="row">
203 <div class="col-lg-12">
204 <div class="row">
205 <div class="col-lg-6">
206 <!-- Nama Supplier Field -->
207 <div class="form-group form-float">
208 <label class="form-label" style="color: black;">Suppliers</label>
209 <vue-select :disabled="$route.name.includes('.detail')" v-model="selectedSupplier" class="vue-select2" name="role" :options="supplier" label="Name"></vue-select>
210 </div>
211 </div>
212 <div class="col-lg-6">
213 <div class="form-group form-float">
214 <label for="productPriceHPP" class="form-label" style="color: black;">Harga Barang (HPP) dalam Rp</label>
215 <input v-if="!$route.name.includes('.detail')" placeholder="Masukkan harga barang..." id="safetyStockLimit" type="text" v-model="inventory.BuyingPrice" name="safetyStockLimit" required maxlength="32" minlength="2" class="validate form-control" style="border: 1px solid black;">
216 <div v-if="$route.name.includes('.detail')" class="form-control disabled-field">{{ inventory.BuyingPrice | currency }}</div>
217 </div>
218 </div>
219 </div>
220 </div>
221 <div class="col-lg-12">
222 <hr />
223 <div class="row" style="margin-top: 30px;">
224 <div class="col-lg-6">
225 <div class="form-group form-float">
226 <!-- Foto field -->
227 <label class="form-label" style="color: black;">Foto 1</label>
228 <br />
229 <img v-if="!$route.name.includes('.create')" :src="'data:image/jpeg;base64,' + inventory.Picture1" class="img-fluid img-thumbnail w100" />
230 <base64-upload v-if="!$route.name.includes('.detail')" class="img-fluid img-thumbnail" imageSrc="/img/uploads.png" @change="onChangeImage1" style="width: 50%;">Upload photo</base64-upload>
231 </div>
232 </div>
233 <div class="col-lg-6">
234 <div class="form-group form-float">
235 <!-- Foto field -->
236 <label class="form-label" style="color: black;">Foto 2</label>
237 <br />
238 <img v-if="!$route.name.includes('.create')" :src="'data:image/jpeg;base64,' + inventory.Picture2" class="img-fluid img-thumbnail w100" />
239 <base64-upload v-if="!$route.name.includes('.detail')" class="img-fluid img-thumbnail" imageSrc="/img/uploads.png" @change="onChangeImage2" style="width: 50%;">Upload photo</base64-upload>
240 </div>
241 </div>
242 </div>
243 </div>
244 </div>
245 </div>
246 </div>
247 <div v-if="!$route.name.includes('.detail')" class="row">
248 <div class="col-lg-12 button-div">
249 <button v-on:click="save()" class="btn btn-success">Simpan</button>
250 <router-link :to="{ name: 'InventoryManagement.index' }" class="btn btn-default">Batal</router-link>
251 </div>
252 </div>
253
254 </b-tab>
255 <b-tab v-if="$route.name.includes('.detail')" title="Riwayat Harga" style="height: 70px;">
256 <div class="row">
257 <div v-if="loading" class="d-flex justify-content-center mb-3">
258 <b-spinner label="Loading..."></b-spinner>
259 </div>
260 </div>
261 <div v-if="$route.name.includes('.detail')" class="row">
262 <div class="col-lg-12 button-back-div">
263 <router-link :to="{ name: 'InventoryManagement.index' }" class="btn btn-primary">Kembali</router-link>
264 </div>
265 </div>
266 <div class="row history-stock-row">
267 <div class="col-lg-7 stock-in-history">
268 <h5>Histori Barang Masuk</h5>
269 <b-table striped hover
270 id="history"
271 :items="filtered"
272 :fields="historyStockInFields"
273 class="table table-hover table-striped"
274 style="margin-top: 10px;">
275 <template v-slot:cell(EmployeeId)="data">
276 {{ employee[data.item.EmployeeId].Name }}
277 </template>
278 <template v-slot:cell(SupplierId)="data">
279 {{ supplierLookup[data.item.SupplierId].Name }}
280 </template>
281 <template v-slot:cell(BuyingPrice)="data">
282 {{ data.item.BuyingPrice | currency }}
283 </template>
284 <template v-slot:cell(SellingPrice)="data">
285 {{ data.item.SellingPrice | currency }}
286 </template>
287 </b-table>
288 </div>
289 <div class="col-lg-5 stock-out-history">
290 <h5>Histori Barang Keluar</h5>
291 <b-table striped hover
292 id="history"
293 :items="filtered"
294 :fields="historyStockOutFields"
295 class="table table-hover table-striped"
296 style="margin-top: 10px;">
297 <template v-slot:cell(EmployeeId)="data">
298 {{ employee[data.item.EmployeeId].Name }}
299 </template>
300 <template v-slot:cell(SupplierId)="data">
301 {{ supplierLookup[data.item.SupplierId].Name }}
302 </template>
303 <template v-slot:cell(BuyingPrice)="data">
304 {{ data.item.BuyingPrice | currency }}
305 </template>
306 <template v-slot:cell(SellingPrice)="data">
307 {{ data.item.SellingPrice | currency }}
308 </template>
309 </b-table>
310 </div>
311 </div>
312
313 </b-tab>
314 </b-tabs>
315 </div>
316 </div>
317</template>
318
319<style>
320.card-header {
321 width: 100% !important;
322 height: 70px;
323 background-color: #20c197;
324 border-radius: 0px !important;
325 padding-left: 10px;
326 padding-top: 0px;
327 padding-right: 0px;
328 padding-bottom: 0px;
329}
330
331.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
332 color: black;
333 height: 70px;
334 width: 200px;
335 padding-top: 16px;
336 text-align: center;
337 font-size: 20px;
338 background-color: #f8f8ff;
339 border-radius: 0px;
340 border-bottom: 3px solid #0059aa;
341}
342
343.button-div {
344 text-align: right;
345 margin-top: 30px;
346}
347
348.btn-success {
349 width: 132px;
350 background-color: #20c197;
351 border: none;
352}
353
354.btn-danger {
355 width: 132px;
356 margin-left: 15px;
357 border: none;
358}
359
360.disabled-field {
361 background-color: #E9ECEF;
362 border: 1px solid black;
363}
364
365.history-stock-row {
366 margin-top: 30px;
367}
368
369.stock-in-history {
370 padding-right: 30px;
371 border-right: 1px solid #000000
372}
373
374.stock-out-history {
375 padding-left: 30px;
376}
377</style>
378
379
380<script>
381// Plugins
382import moment from 'moment'
383import $ from 'jquery'
384import VueSelect from 'vue-select'
385import 'vue-select/dist/vue-select.css'
386import Base64Upload from 'vue-base64-upload'
387
388// API
389import LegalEntity from '@/services/Companies/LegalEntities'
390import Branch from '@/services/Companies/Branches'
391import Suppliers from '@/services/Inventories/Supplier'
392import Inventories from '@/services/Inventories/Inventory'
393import Employees from '@/services/Employees/Employees'
394
395export default {
396 name: 'InventoryManagement.create',
397 components: {
398 VueSelect,
399 Base64Upload
400 },
401 computed: {
402 filtered: function () {
403 return this.inventoryHistory.filter(i => i.ItemId == this.inventory.Id)
404 }
405 },
406 data () {
407 return {
408 //Loading
409 loading: true,
410 // Scope, Sama kyk vm.users , vm.employee dkk
411 userData: {},
412
413 historyStockInFields: [
414 { key: 'created_at', label: 'Tanggal', sortable: true },
415 { key: 'EmployeeId', label: 'Nama Editor' },
416 { key: 'SupplierId', label: 'Nama Supplier' },
417 { key: 'BuyingPrice', label: 'Harga Beli Barang' },
418 { key: 'TotalQuantity', label: 'Jumlah Barang Masuk' },
419 ],
420 historyStockOutFields: [
421 { key: 'created_at', label: 'Tanggal', sortable: true },
422 { key: 'EmployeeId', label: 'Nama Editor' },
423 { key: 'SellingPrice', label: 'Harga Jual Barang' },
424 { key: 'SellingQuantity', label: 'Jumlah Barang Keluar' },
425 ],
426 inventory: {
427 Quantity100: 0,
428 Price100: 0,
429 Quantity90: 0,
430 Price90: 0,
431 Quantity60: 0,
432 Price60: 0,
433 Quantity30: 0,
434 RefurbishQuantity: 0,
435 BuyingPrice: 0
436 },
437 inventoryHistory: [],
438 legalEntity: {},
439 branch: {},
440 supplier: {},
441 supplierLookup: [],
442 employee: [],
443 selectedLegalEntity: {},
444 selectedBranch: {},
445 selectedSupplier: {},
446 assemblyOptions: ['Perlu Dirakit','Tidak Perlu Dirakit'],
447 category: ['-','Barang Inti', 'Barang Hadiah'],
448 warehouseCategory: ['Alat Tulis', 'Barang Siap Jual'],
449 maintenanceOptions: ['Perlu Maintenance dan Repair','Tidak Perlu Maintenance dan Repair']
450 }
451 },
452 beforeUpdate: function () {
453 // Ngeassign variable pada saat proses update, misal kyk dropdown
454 this.inventory.SellingPrice = this.inventory.Price100
455 this.inventory.LegalEntityId = this.selectedLegalEntity.Id
456 this.inventory.BranchId = this.selectedBranch.Id
457 this.inventory.SupplierId = this.selectedSupplier.Id
458 //this.inventory.BuyingPrice = this.selectedSupplier.ItemPrice
459 this.inventory.TotalQuantity = parseInt(this.inventory.Quantity100)
460 + parseInt(this.inventory.Quantity90)
461 + parseInt(this.inventory.Quantity60)
462 + parseInt(this.inventory.Quantity30)
463 },
464 mounted: function () {
465 // Sama dengan document.ready
466 window.$ = $
467 if(localStorage.userData !== undefined) {
468 this.userData = JSON.parse(localStorage.userData)
469 this.userData.Permissions = JSON.parse(this.userData.Permissions)
470 } else {
471 this.$router.push({ name: 'home' })
472 location.reload()
473 }
474 this.init()
475 },
476 methods: {
477 // Kumpulan Fungsi disini
478 init: async function() {
479 // Ngeload Data Dari API
480 let legalEntity = await LegalEntity.index()
481 let branch = await Branch.index()
482 let supplier = await Suppliers.index()
483 let employee = await Employees.index()
484
485 // Assign data ke Scope
486 this.legalEntity = legalEntity.data
487 this.branch = branch.data
488 this.supplier = supplier.data
489 this.supplierLookup = this.itemLookup(supplier.data)
490 this.employee = this.itemLookup(employee.data)
491
492 //for edit mode
493 if(this.$route.params.id) {
494 let edit = await Inventories.detail(this.$route.params.id)
495 let history = await Inventories.getHistory()
496 this.inventory = edit.data
497 this.inventoryHistory = history.data
498
499 this.selectedLegalEntity = this.lookupData(legalEntity.data, edit.data.LegalEntityId)
500 this.selectedBranch = this.lookupData(branch.data, edit.data.BranchId)
501 this.selectedSupplier = this.lookupData(supplier.data, edit.data.SupplierId)
502
503 if(this.inventory.IsMaintenance == 1) {
504 this.inventory.IsMaintenance = 'Perlu Maintenance dan Repair'
505 }
506 if(this.inventory.IsMaintenance == 0) {
507 this.inventory.IsMaintenance ='Tidak Perlu Maintenance dan Repair'
508 }
509
510 if(this.inventory.isAssembly == 1) {
511 this.inventory.isAssembly = 'Perlu Dirakit'
512 }
513 if(this.inventory.isAssembly == 0) {
514 this.inventory.isAssembly ='Tidak Perlu Dirakit'
515 }
516 }
517
518 this.loading = false
519 },
520 save: async function() {
521 // Fungsi Save Data
522 this.inventory.IsDeleted = false
523 this.inventory.CreationTime = new Date()
524 this.inventory.CreatorUserId = this.userData.Id
525 this.inventory.IsAssembly = (this.inventory.IsAssembly == 'true')
526 this.inventory.IsRefurbish = false
527 this.inventory.UnasemblyQuantity = 0
528 this.inventory.AssemblyQuantity = 0
529 this.inventory.StockOpnameQuantity = 0
530 this.inventory.RefurbishQuantity = 0
531
532 if(this.inventory.IsMaintenance == 'Perlu Maintenance dan Repair') {
533 this.inventory.IsMaintenance = 1
534 }
535 if(this.inventory.IsMaintenance == 'Tidak Perlu Maintenance dan Repair') {
536 this.inventory.IsMaintenance = 0
537 }
538
539 if(this.inventory.isAssembly == 'Perlu Dirakit') {
540 this.inventory.isAssembly = 1
541 }
542 if(this.inventory.isAssembly == 'Tidak Perlu Dirakit') {
543 this.inventory.isAssembly = 0
544 }
545
546 console.log(this.inventory)
547 try {
548 let result
549 let itemIds
550 if(this.$route.params.id) {
551 result = await Inventories.edit(this.$route.params.id, this.inventory)
552 itemIds = this.$route.params.id
553 }
554 if(!this.$route.params.id) {
555 //this.inventory.BuyingPrice = 0
556 console.log("create mode")
557 result = await Inventories.create(this.inventory)
558 }
559 if(result.status == 200) {
560 console.log(result.data)
561 //set history
562 if(!this.$route.params.id) {
563 itemIds = result.data.id
564 }
565
566 let historyData = {
567 ItemId: itemIds,
568 EmployeeId: this.userData.EmployeeId,
569 SupplierId: this.inventory.SupplierId,
570 BuyingPrice: this.inventory.BuyingPrice,
571 TotalQuantity: this.inventory.TotalQuantity,
572 SellingPrice: this.inventory.SellingPrice,
573 SellingQuantity: 0
574 }
575
576 let resultHistory = await Inventories.setHistory(historyData)
577
578 if(resultHistory.status == 200) {
579 this.$fire({
580 title: "Sukses",
581 text: "Input Data Sukses",
582 // icon: "success",
583 // type: "success",
584 showConfirmButton: false
585 })
586
587 // alert(result.data.message)
588 // alert(resultHistory.data.message)
589 // setTimeout(function(){alert(result.data.message);}, 2500)
590 // setTimeout(function(){alert(resultHistory.data.message);}, 2500)
591 this.$router.push({ name: 'InventoryManagement.index' })
592 location.reload()
593 }
594
595 } else {
596 this.$fire({
597 title: "Error",
598 text: "Input Data Gagal",
599 showConfirmButton: false
600 // icon: "error",
601 // type: "error"
602 })
603 // alert("Registrasi Gagal")
604 // this.dismissCountDown = this.dismissSecs
605 console.log(result)
606 }
607 } catch (error) {
608 this.$fire({
609 title: 'Error',
610 text: error,
611 icon: 'info'
612 })
613 // alert("Error : " + error)
614 // this.dismissCountDown = this.dismissSecs
615 }
616 // this.dismissCountDown = this.dismissSecs
617 },
618 countDownChanged(dismissCountDown) {
619 this.dismissCountDown = dismissCountDown
620 },
621 onChangeImage1(file) {
622 this.inventory.Picture1 = file.base64
623 },
624 onChangeImage2(file) {
625 this.inventory.Picture2 = file.base64
626 },
627 itemLookup: function (json) {
628 let data = []
629 for(var i = 0; i< json.length; i++) {
630 data[json[i].Id] = json[i]
631 }
632 return data
633 },
634 lookupData (json, id) {
635 let data = []
636 for(var i = 0; i < json.length; i++) {
637 data[json[i].Id] = json[i]
638 }
639 return data[id]
640 },
641 formatDate(time) {
642 // Format Tanggal
643 var formattedTime = moment(time).format('DD MMMM YYYY HH:mm')
644 if(formattedTime == 'Invalid date') {
645 formattedTime = '-'
646 }
647 return formattedTime
648 }
649 }
650}
651</script>