diff --git a/v1/js/master_data_mobile_edit.js b/v1/js/master_data_mobile_edit.js index e69de29..567145a 100644 --- a/v1/js/master_data_mobile_edit.js +++ b/v1/js/master_data_mobile_edit.js @@ -0,0 +1,195 @@ +document.addEventListener('alpine:init', () => { + Alpine.data('masterDataPageMobileEdit', () => ({ + // 0. Init dijalankan sebelum inisialisasi + init() { + let itemEdit = localStorage.getItem('itemEditMobile'); + if (itemEdit) { + let json = JSON.parse(itemEdit); + + this.e_harga = json.harga + this.e_kode = json.kode + this.e_nama = json.namaPemeriksaan + + this.formEditArray = []; + json.dataDetail.forEach((detail, index) => { + this.formEditArray.push({ + idForm: detail.idDetail, + openAlat: false, + dataAlatForm: this.dataAlat, + selectedAlat: { + idAlat: detail.dataAlat.idAlat, + namaAlat: detail.dataAlat.namaAlat, + }, + selectedAssay: detail.dataAssay, + searchAssay: "", + filterItemAssay: [...this.dataAssay], + dataAssayForm: [...this.dataAssay], + openAssayAdd: false, + }); + }) + + console.log('formEditArray', this.formEditArray); + } + }, + // 1. Inisialisasi Start + dataAssay: [ + { + idAssay: 1, + namaAssay: 'Xn500' + }, + { + idAssay: 2, + namaAssay: 'HGB' + }, + { + idAssay: 3, + namaAssay: 'WBC' + }, + { + idAssay: 4, + namaAssay: 'RBC' + }, + { + idAssay: 5, + namaAssay: 'PLT' + }, + ], + dataAlat: [ + { + idAlat: 1, + namaAlat: 'Hema 01', + }, + { + idAlat: 2, + namaAlat: 'Axsym', + }, + { + idAlat: 3, + namaAlat: 'Cobas C311', + }, + ], + e_kode: '', + e_nama: '', + e_harga: '', + formEditArray: [], + objFormEdit: { + nama: '', + kode: '', + harga: '', + alat: {}, + assay: [] + }, + // 1. Inisialisasi End + // 2. Fungsi Start + formDetail(action) { + if (action === 'edit') { + const lastId = this.formEditArray.length; + this.formEditArray.push({ + idForm: lastId + 1, + openAlat: false, + dataAlatForm: this.dataAlat, + selectedAlat: { + idAlat: -1, + namaAlat: 'Alat' + }, + selectedAssay: [], + searchAssay: "", + filterItemAssay: this.dataAssay, + dataAssayForm: this.dataAssay, + openAssayAdd: false, + }) + } + }, + filterItemAssay(idx, formItem, action) { + if (action === 'edit') { + let formId = formItem.idForm + // console.log('formItem ',formItem) + let targetForm = this.formEditArray.find(e => e.idForm === formId); + + if (targetForm) { + targetForm.openAssayAdd = true + let searchTerm = targetForm.searchAssay ? targetForm.searchAssay.toLowerCase() : ""; + targetForm.filterItemAssay = targetForm.dataAssayForm.filter(item => + item.namaAssay.toLowerCase().includes(searchTerm) + ); + + // targetForm.dataAssayForm = targetForm.filterItemAssay + console.log('Filtered Assay:', targetForm.filterItemAssay); + } else { + console.warn('Tidak match ID Form nya'); + } + } + }, + + addItemAssayToForm(item, idForm, action) { + if (action === 'edit') { + let form = this.formEditArray.find(f => f.idForm === idForm); + + if (form) { + let exists = form.selectedAssay.some(a => a.idAssay === item.idAssay); + if (!exists) { + form.selectedAssay.push(item); + } else { + console.warn("Item sudah dipilih:", item); + } + } + } + }, + + removeItemAssayToForm(idForm, index, action) { + if (action === 'edit') { + let form = this.formEditArray.find(f => f.idForm === idForm); + if (!form) return; + + form.selectedAssay.splice(index, 1); + } + }, + + saveE() { + this.objFormEdit.alat = this.formEditArray.map(form => form.selectedAlat); + this.objFormEdit.assay = this.formEditArray.map(form => form.selectedAssay); + + console.log('Data Edit yang disimpan:', this.objFormEdit); + }, + + deleteData() { + console.log('hapus record ke database') + }, + + onChangeInstrument(item, idForm, action) { + if (action === 'edit') { + let form = this.formEditArray.find(f => f.idForm === idForm); + if (!form) return; + + form.selectedAlat = { + idAlat: item.idAlat, + namaAlat: item.namaAlat + } + + form.openAlat = false + } + }, + onChangeNamaEdit() { + this.objFormEdit.nama = this.e_nama; + }, + onChangeKodeEdit() { + this.objFormEdit.kode = this.e_kode; + }, + onChangeHargaEdit() { + this.objFormEdit.harga = this.e_harga; + }, + closeDialogEdit() { + this.formEditArray = [] + this.e_harga = '' + this.e_kode = '' + this.e_nama = '' + this.objFormEdit = { + nama: '', + kode: '', + harga: '', + dataAssay: [], + } + this.showDialogEdit = false + }, + })) +}) \ No newline at end of file diff --git a/v1/master_data_mobile_edit.html b/v1/master_data_mobile_edit.html index e69de29..578163b 100644 --- a/v1/master_data_mobile_edit.html +++ b/v1/master_data_mobile_edit.html @@ -0,0 +1,225 @@ + + + + + + + Master Data XPORT + + + + + + + + + + + +
+ + + + + +

Edit

+
+ + + +
+ +
+ + + + +
+ + + + + +
+ + + + + +
+ + +
+
+

Alat & Assay

+
+ +
+
+
+ +
+
+ + + +
+ + +
+ + + +
+ + +
+ + + + \ No newline at end of file