diff --git a/v1/js/master_data.js b/v1/js/master_data.js index 09f57e8..223c810 100644 --- a/v1/js/master_data.js +++ b/v1/js/master_data.js @@ -50,35 +50,57 @@ document.addEventListener('alpine:init', () => { namaPemeriksaan: 'Darah Lengkap', harga: '50.000', pemeriksaanStr: 'Xn500, HCB, WBC, RBC, PLT', - dataAssay: [ + dataDetail: [ { - idAssay: 1, - namaAssay: 'Xn500' + idDetail: 1, + dataAlat: { + idAlat: 1, + namaAlat: 'Hema 01', + }, + dataAssay: [ + { + idAssay: 1, + namaAssay: 'Xn500' + }, + { + idAssay: 2, + namaAssay: 'HGB' + }, + ], }, { - idAssay: 2, - namaAssay: 'HGB' - }, - { - idAssay: 3, - namaAssay: 'WBC' - }, - { - idAssay: 4, - namaAssay: 'RBC' - }, - { - idAssay: 5, - namaAssay: 'PLT' - }, + idDetail: 2, + dataAlat: { + idAlat: 3, + namaAlat: 'Cobas C311', + }, + dataAssay: [ + { + idAssay: 3, + namaAssay: 'WBC' + }, + { + idAssay: 4, + namaAssay: 'RBC' + }, + { + idAssay: 5, + namaAssay: 'PLT' + }, + ], + } ], }, ], showDialogAdd: false, kodeAdd: '', + e_kode: '', namaAdd: '', + e_nama: '', hargaAdd: '', + e_harga: '', formAddArray: [], + formEditArray: [], showDialogEdit: false, objForm: { nama: '', @@ -91,64 +113,123 @@ document.addEventListener('alpine:init', () => { nama: '', kode: '', harga: '', - dataAssay: [], + alat: {}, + assay: [] }, // 1. Inisialisasi End // 2. Fungsi Start - formAddDetail() { - const lastId = this.formAddArray.length; - this.formAddArray.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) { - let formId = formItem.idForm - // console.log('formItem ',formItem) - let targetForm = this.formAddArray.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); + formDetail(action) { + if (action === 'add') { + const lastId = this.formAddArray.length; + this.formAddArray.push({ + idForm: lastId + 1, + openAlat: false, + dataAlatForm: this.dataAlat, + selectedAlat: { + idAlat: -1, + namaAlat: 'Alat' + }, + selectedAssay: [], + searchAssay: "", + filterItemAssay: this.dataAssay, + dataAssayForm: this.dataAssay, + openAssayAdd: false, + }) } else { - console.warn('Tidak match ID Form nya'); + 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 === 'add') { + let formId = formItem.idForm + // console.log('formItem ',formItem) + let targetForm = this.formAddArray.find(e => e.idForm === formId); - addItemAssayToForm(item, idForm) { - let form = this.formAddArray.find(f => f.idForm === idForm); + if (targetForm) { + targetForm.openAssayAdd = true + let searchTerm = targetForm.searchAssay ? targetForm.searchAssay.toLowerCase() : ""; + targetForm.filterItemAssay = targetForm.dataAssayForm.filter(item => + item.namaAssay.toLowerCase().includes(searchTerm) + ); - if (form) { - let exists = form.selectedAssay.some(a => a.idAssay === item.idAssay); - if (!exists) { - form.selectedAssay.push(item); + // targetForm.dataAssayForm = targetForm.filterItemAssay + console.log('Filtered Assay:', targetForm.filterItemAssay); } else { - console.warn("Item sudah dipilih:", item); + console.warn('Tidak match ID Form nya'); + } + } else { + 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'); } } }, - removeItemAssayToForm(idForm, index) { - let form = this.formAddArray.find(f => f.idForm === idForm); - if (!form) return; + addItemAssayToForm(item, idForm, action) { + if (action === 'add') { + let form = this.formAddArray.find(f => f.idForm === idForm); - form.selectedAssay.splice(index, 1); + 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); + } + } + } else { + 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 === 'add') { + let form = this.formAddArray.find(f => f.idForm === idForm); + if (!form) return; + + form.selectedAssay.splice(index, 1); + } else { + let form = this.formEditArray.find(f => f.idForm === idForm); + if (!form) return; + + form.selectedAssay.splice(index, 1); + } }, closeDialog() { this.formAddArray = [] @@ -169,20 +250,38 @@ document.addEventListener('alpine:init', () => { console.log('Data yang disimpan:', this.objForm); }, - onChangeInstrument(item, idForm) { - let form = this.formAddArray.find(f => f.idForm === idForm); - if (!form) return; + saveE() { + this.objFormEdit.alat = this.formEditArray.map(form => form.selectedAlat); + this.objFormEdit.assay = this.formEditArray.map(form => form.selectedAssay); - form.selectedAlat = { - idAlat: item.idAlat, - namaAlat: item.namaAlat + console.log('Data Edit yang disimpan:', this.objFormEdit); + }, + deleteData(){ + console.log('hapus record ke database') + }, + onChangeInstrument(item, idForm, action) { + if (action === 'add') { + let form = this.formAddArray.find(f => f.idForm === idForm); + if (!form) return; + + form.selectedAlat = { + idAlat: item.idAlat, + namaAlat: item.namaAlat + } + + form.openAlat = false + } else { + let form = this.formEditArray.find(f => f.idForm === idForm); + if (!form) return; + + form.selectedAlat = { + idAlat: item.idAlat, + namaAlat: item.namaAlat + } + + form.openAlat = false } - form.openAlat = false - }, - onChangeInstrumentEdit(item) { - this.openInstrument = false; - this.selectedInstrumentEdit = item; }, onChangeNamaAdd() { this.objForm.nama = this.namaAdd; @@ -203,28 +302,45 @@ document.addEventListener('alpine:init', () => { this.objFormEdit.harga = this.e_harga; }, openModalEdit(item) { - // mrn - this.e_mrn = item.mrn + console.log('edit item', item) + this.e_harga = item.harga + this.e_kode = item.kode + this.e_nama = item.namaPemeriksaan - // sid - this.e_sid = item.sid + this.formEditArray = []; + item.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, + }); + }) - // name - this.e_name = item.name - - // multiple pemeriksaan - this.e_selectedPemeriksaan = [...item.dataPemeriksaan]; - this.e_filteredPemeriksaan = [...this.dataPemeriksaan]; + console.log('formEditArray', this.formEditArray); this.showDialogEdit = !this.showDialogEdit; }, closeDialogEdit() { - this.showDialogEdit = !this.showDialogEdit; - }, - editMobilePage(item) { - var json = JSON.stringify(item); - localStorage.setItem('itemEditMobile', json) - window.location.href = "order_mobile_edit.html"; + this.formEditArray = [] + this.e_harga = '' + this.e_kode = '' + this.e_nama = '' + this.objFormEdit = { + nama: '', + kode: '', + harga: '', + dataAssay: [], + } + this.showDialogEdit = false }, // 2. Fungsi End })) diff --git a/v1/master_data.html b/v1/master_data.html index fd6381f..eddd4c9 100644 --- a/v1/master_data.html +++ b/v1/master_data.html @@ -258,7 +258,7 @@
| Alat | +Assay | +
+ |
+
|---|---|---|
|
+
+
+
+
+
+
+
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tidak ada
+ hasil
+
+
+
@@ -380,18 +589,18 @@
-
-
|