diff --git a/test/vuex/cpone-mcu-generate-summaries/api/patient.js b/test/vuex/cpone-mcu-generate-summaries/api/patient.js new file mode 100644 index 0000000..9e779f8 --- /dev/null +++ b/test/vuex/cpone-mcu-generate-summaries/api/patient.js @@ -0,0 +1,786 @@ +const URL = "/one-api/mcusummaries/"; + +export async function getmgmmcu(prm) { + try { + var resp = await axios.post(URL + 'generatedata/getmgmmcu', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + } +} + +export async function search(prm) { + try { + var resp = await axios.post(URL + 'generatedata/search', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + } +} + +export async function generatesetup(prm) { + try { + var resp = await axios.post(URL + 'generatedata/generatesetup', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + } +} + +export async function getsexreg(token) { + try { + var resp = await axios.post(URL + 'generatedata/getsexreg',{token:token}); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + } +} + +export async function savecsv(prm) { + try { + var resp = await axios.post(URL + 'generatedata/savecsv',prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + } +} + +export async function newpatient(prm) { + try { + var resp = await axios.post(URL + 'generatedata/newpatient',prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + } +} + +export async function xdelete(prm) { + try { + var resp = await axios.post(URL + 'generatedata/deletepatient',prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + } +} + +export async function getaddress(prm) { + try { + var resp = await axios.post(URL + 'generatedata/getaddress',prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + } +} + +export async function searchcity(token,prm) { + try { + var resp = await axios.post(URL + 'generatedata/searchcity',{token:token,search:prm}); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch(e) { + return { + status: "ERR", + message: e.message + }; + } + } + + export async function getdistrict(token,prm) { + try { + var resp = await axios.post(URL + 'generatedata/getdistrict',{id:prm.M_CityID,token:token}); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch(e) { + return { + status: "ERR", + message: e.message + }; + } + } + + export async function getkelurahan(token,prm) { + try { + var resp = await axios.post(URL + 'generatedata/getkelurahan',{token:token,id:prm.M_DistrictID}); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch(e) { + return { + status: "ERR", + message: e.message + }; + } + } + + +export async function savenewaddress(prm) { + try { + var resp = await axios.post(URL + 'generatedata/savenewaddress',prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + } +} + +export async function saveeditaddress(prm) { + try { + var resp = await axios.post(URL + 'generatedata/saveeditaddress',prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + } +} + +export async function deleteaddress(prm) { + try { + var resp = await axios.post(URL + 'generatedata/deleteaddress',prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + } +} + + +export async function searchdoctor(prm) { + try { + console.log('aye') + console.log(prm) + var resp = await axios.post(URL + 'generatedata/searchdoctor',prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch(e) { + return { + status: "ERR", + message: e.message + }; + } + } + + export async function searchcompany(prm) { + try { + var resp = await axios.post(URL + 'generatedata/searchcompany',prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch(e) { + return { + status: "ERR", + message: e.message + }; + } +} + +export async function getmou(prm) { + try { + var resp = await axios.post(URL + 'generatedata/getmou',prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch(e) { + return { + status: "ERR", + message: e.message + }; + } + } + + export async function savegeneratedata(prm) { + try { + var resp = await axios.post(URL + 'generatedata/savegeneratedata',prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch(e) { + return { + status: "ERR", + message: e.message + }; + } + } + + export async function gotoreg(prm) { + try { + var resp = await axios.post(URL + 'generatedata/gotoreg',prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch(e) { + return { + status: "ERR", + message: e.message + }; + } + } + +export async function generatecountkelainan(prm) { + const params = new URLSearchParams(); + for (const key in prm) { + params.append(key, prm[key]); + } + try { + var resp = await axios.post('/one-api/summarydashboard/sqlgenerator/get_count_kelainan', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } + +} + +export async function savekelainanselection(prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/sqlgenerator/save_kelainan_selection',prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } + + +} + +export async function getKelainanSelected(prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/sqlgenerator/get_kelainan_selected', prm); + if (resp.status != 200) { + return { status: false, message: resp.statusText }; + } + let data = resp.data; + return data; + } catch (e) { + return { status: false, message: e.message }; + } +} + +export async function downloadDatabase(prm) { + try { + var resp = await axios.get('/one-api/summarydashboard/sqlgenerator/download', { + responseType: 'blob', + params: prm + }); + + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText, + data: null + }; + } + + return resp; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + } + +} + + +export async function truncateDatabase(prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/sqlgenerator/truncate_corporate_tables', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + } +} + +// 1. Generate Table Setup +export async function generateTable(prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/generatedata/generate_table_setup', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } +} + +// 2. Generate Kelainan Lab +export async function generateKelainanLab(prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/generatedata/generate_kelainan_lab', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } +} + + +// 3. Generate Kelainan Non-Lab +export async function generateKelainanNonLab(prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/generatedata/generate_kelainan_nonlab', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } +} + +// 4. Generate Kelainan Fisik +export async function generateKelainanFisik(prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/generatedata/generate_kelainan_fisik', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } +} + +// 5. Generate Kelainan Summary +export async function generateKelainanSummary(prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/generatedata/summary_kelainan_sepuluh', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } +} + +// 6. Generate Result McuLab +export async function generateKelainanResultMcuLab(prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/generatedata/generate_result_mcu_lab', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } +} + +// 7. Generate Kelainan Result McuNonLab +export async function generateKelainanResultMcuNonLab(prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/generatedata/generate_result_mcu_nonlab', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } +} + +// 8. Generate Result Mcu Kenal Warna +export async function generateResultMcuKenalWarna (prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/generatedata/generate_result_mcu_kenal_warna', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } +} + +// 9. Generate generate_result_mcu_visus +export async function generateResultMcuVisus (prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/generatedata/generate_result_mcu_visus', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } +} + +// 10. Generate generate_result_mcu_status_gizi +export async function generateResultStatusGizi (prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/generatedata/generate_result_mcu_status_gizi', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } +} + +// 11. generate_result_mcu_bodyfatmonitoring +export async function generateResultMcuBodyFatMonitoring (prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/generatedata/generate_result_mcu_bodyfatmonitoring', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } +} + +// 12. generate_result_mcu_fisik +export async function generateResultMcuFisik (prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/generatedata/generate_result_mcu_fisik', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } +} + +// 13. generate_all_results +export async function generateAllResult (prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/generatedata/generate_all_results', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } +} + +// 14. Generate Encrypt Key +export async function generateEncryptKey (prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/sqlgenerator/create_encrypt_key', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } +} + +export async function getActiveEncryptKey (prm) { + try { + var resp = await axios.post('/one-api/summarydashboard/sqlgenerator/get_active_encrypt_key', prm); + if (resp.status != 200) { + return { + status: "ERR", + message: resp.statusText + }; + } + let data = resp.data; + return data; + } catch (e) { + return { + status: "ERR", + message: e.message + }; + + } +} diff --git a/test/vuex/cpone-mcu-generate-summaries/components/VueCsvImport.vue b/test/vuex/cpone-mcu-generate-summaries/components/VueCsvImport.vue new file mode 100644 index 0000000..a21896a --- /dev/null +++ b/test/vuex/cpone-mcu-generate-summaries/components/VueCsvImport.vue @@ -0,0 +1,293 @@ + + + diff --git a/test/vuex/cpone-mcu-generate-summaries/components/oneMdPatientAddress.vue b/test/vuex/cpone-mcu-generate-summaries/components/oneMdPatientAddress.vue new file mode 100644 index 0000000..7a6b1f4 --- /dev/null +++ b/test/vuex/cpone-mcu-generate-summaries/components/oneMdPatientAddress.vue @@ -0,0 +1,397 @@ + + + + + diff --git a/test/vuex/cpone-mcu-generate-summaries/components/oneMdPatientDetail.vue b/test/vuex/cpone-mcu-generate-summaries/components/oneMdPatientDetail.vue new file mode 100644 index 0000000..9c590fc --- /dev/null +++ b/test/vuex/cpone-mcu-generate-summaries/components/oneMdPatientDetail.vue @@ -0,0 +1,277 @@ + + + + + \ No newline at end of file diff --git a/test/vuex/cpone-mcu-generate-summaries/components/oneMdPatientList.vue b/test/vuex/cpone-mcu-generate-summaries/components/oneMdPatientList.vue new file mode 100644 index 0000000..5f62b37 --- /dev/null +++ b/test/vuex/cpone-mcu-generate-summaries/components/oneMdPatientList.vue @@ -0,0 +1,389 @@ + + + + \ No newline at end of file diff --git a/test/vuex/cpone-mcu-generate-summaries/csv-mcu.csv b/test/vuex/cpone-mcu-generate-summaries/csv-mcu.csv new file mode 100644 index 0000000..50c9710 --- /dev/null +++ b/test/vuex/cpone-mcu-generate-summaries/csv-mcu.csv @@ -0,0 +1,3 @@ +PID,NAMA,TANGGAL_LAHIR,JENIS_KELAMIN,NIK,JABATAN,EMAIL,HP,LOKASI,JOB,KEDUDUKAN +,AA,12-09-2001,P,,GURU,,,,, +,BB,14-01-1994,L,12.14.44.55,DIRKEU,,,,, diff --git a/test/vuex/cpone-mcu-generate-summaries/csv-mcu.xls b/test/vuex/cpone-mcu-generate-summaries/csv-mcu.xls new file mode 100644 index 0000000..e6ea410 Binary files /dev/null and b/test/vuex/cpone-mcu-generate-summaries/csv-mcu.xls differ diff --git a/test/vuex/cpone-mcu-generate-summaries/csv-mcu.xlsx b/test/vuex/cpone-mcu-generate-summaries/csv-mcu.xlsx new file mode 100644 index 0000000..b131b5a Binary files /dev/null and b/test/vuex/cpone-mcu-generate-summaries/csv-mcu.xlsx differ diff --git a/test/vuex/cpone-mcu-generate-summaries/index.php b/test/vuex/cpone-mcu-generate-summaries/index.php new file mode 100644 index 0000000..25cae5e --- /dev/null +++ b/test/vuex/cpone-mcu-generate-summaries/index.php @@ -0,0 +1,118 @@ + + + + + + + + One + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/test/vuex/cpone-mcu-generate-summaries/mcu_template.xlsx b/test/vuex/cpone-mcu-generate-summaries/mcu_template.xlsx new file mode 100644 index 0000000..53151a5 Binary files /dev/null and b/test/vuex/cpone-mcu-generate-summaries/mcu_template.xlsx differ diff --git a/test/vuex/cpone-mcu-generate-summaries/mcu_template_default.xlsx b/test/vuex/cpone-mcu-generate-summaries/mcu_template_default.xlsx new file mode 100644 index 0000000..d5e7d8d Binary files /dev/null and b/test/vuex/cpone-mcu-generate-summaries/mcu_template_default.xlsx differ diff --git a/test/vuex/cpone-mcu-generate-summaries/mcu_template_west.xlsx b/test/vuex/cpone-mcu-generate-summaries/mcu_template_west.xlsx new file mode 100644 index 0000000..085b986 Binary files /dev/null and b/test/vuex/cpone-mcu-generate-summaries/mcu_template_west.xlsx differ diff --git a/test/vuex/cpone-mcu-generate-summaries/modules/patient.js b/test/vuex/cpone-mcu-generate-summaries/modules/patient.js new file mode 100644 index 0000000..c7d6ebb --- /dev/null +++ b/test/vuex/cpone-mcu-generate-summaries/modules/patient.js @@ -0,0 +1,1051 @@ +// 1 => LOADING +// 2 => DONE +// 3 => ERROR +import * as api from "../api/patient.js" + +export default { + namespaced: true, + state: { + lookup_status: 0, + mgmmcu: [], + selected_mgmmcu: {}, + error_identifier: [], + // cpone + last_id: -1, + last_saved_id: -1, + x_addr_id: 0, + act: 'edit', + act_addr: 'new', + get_data_status: 0, + search_patient: 0, + search_status: 0, + search_error_message: '', + norm: '', + patient_prefix: '', + patient_name: '', + patient_suffix: '', + titles: [], + selected_title: {}, + dob: '', + patients: [], + total_patients: 0, + patient_address: [], + sexes: [], + selected_sex: {}, + religions: [], + selected_religion: {}, + phone: '', + hp: '', + email: '', + pob: '', + kartuidentitass: [], + selected_kartuidentitas: {}, + noidentitas: '', + note: '', + nik: '', + jabatan: '', + kedudukan: '', + pj: '', + location: '', + job: '', + total_patient: 0, + selected_patient: {}, + save_status: 0, + btn_save_seen: true, + pgrs_save: false, + save_error_message: '', + no_save: 0, + open_alert_confirmation: false, + alert_success: false, + msg_success: "", + dialog_success: false, + dialog_confirmation_delete: false, + msg_confirmation_delete: "", + dialog_confirmation_delete_addr: false, + msg_confirmation_delete_addr: "", + autocomplete_status: 0, + dialog_form_address: false, + label_address: '', + addresses: [], + cities: [], + city_address: {}, + companies:[], + company:{}, + mous:[], + mou:{}, + doctors:[], + doctor:{}, + districts: [], + district_address: {}, + kelurahans: [], + kelurahan_address: {}, + description_address: '', + errors: [], + current_page:1, + autocomplete_status:0, + status:{id:"N",name:"Belum di download"}, + start_date:moment(new Date()).format('YYYY-MM-DD'), + end_date:moment(new Date()).format('YYYY-MM-DD'), + selected_mous:[], + selected_doctors:[], + xid:-1, + csv_json:[], + data_setup:{}, + default_mu :{}, + default_doctor:{}, + setupcode:'', + search:'', + loading_save:false, + open_dialog_info: false, + msg_info: '', + loading_generate: false, + kelainan_count: [], + loading_create_db: false, + pre_selected_kelainan: [], + create_db_progress: 0, + create_db_message: '', + selected_mgm_mcu_id: 0, + dialog_confirm_create_db: false, + active_encrypt_key: '', + selectedKelainan: [], + savedKelainan: [] + }, + mutations: { + update_open_dialog_info(state, val) { + state.open_dialog_info = val + }, + update_msg_info(state, val) { + state.msg_info = val + }, + update_lookup_status(state, val) { + state.lookup_status = val + }, + update_mgmmcu(state, val) { + state.mgmmcu = val + }, + update_selected_mgmmcu(state, val) { + state.selected_mgmmcu = val + }, + update_error_identifier(state, val) { + state.error_identifier = val + }, + // cpone + update_search(state,val){ + state.search = val + }, + update_setupcode(state,val){ + state.setupcode = val + }, + update_default_mu(state,val){ + state.default_mu = val + }, + update_default_doctor(state,val){ + state.default_doctor = val + }, + update_data_setup(state,val){ + state.data_setup = val + }, + update_csv_json(state,val){ + state.csv_json = val + }, + update_xid(state,val){ + state.xid = val + }, + update_selected_doctors(state,val){ + state.selected_doctors = val + }, + update_selected_mous(state,val){ + state.selected_mous = val + }, + update_companies(state,val){ + state.companies = val + }, + update_company(state,val){ + state.company = val + }, + update_mous(state,val){ + state.mous = val + }, + update_mou(state,val){ + state.mou = val + }, + update_doctors(state,val){ + state.doctors = val + }, + update_doctor(state,val){ + state.doctor = val + }, + update_autocomplete_status(state,val){ + state.autocomplete_status = val + }, + update_start_date(state, val) { + state.start_date = val + }, + update_end_date(state, val) { + state.end_date = val + }, + update_status(state, val) { + state.status = val + }, + update_current_page(state, val) { + state.current_page = val + }, + update_x_addr_id(state, val) { + state.x_addr_id = val + }, + update_last_id(state, val) { + state.last_id = val + }, + update_last_saved_id(state, val) { + state.last_saved_id = val + }, + update_act(state, val) { + state.act = val + }, + update_act_addr(state, val) { + state.act_addr = val + }, + update_get_data_status(state, val) { + state.get_data_status = val + }, + update_search_error_message(state, patient) { + state.search_error_message = patient + }, + update_search_patient(state, patient) { + state.search_patient = patient + }, + update_dob(state, val) { + state.dob = val + }, + update_patient_prefix(state, val) { + state.patient_prefix= val + }, + update_patient_name(state, val) { + state.patient_name = val + }, + update_patient_suffix(state, val) { + state.patient_suffix = val + }, + update_norm(state, val) { + state.norm = val + }, + update_titles(state, val) { + state.titles = val + }, + update_selected_title(state, val) { + state.selected_title = val + }, + update_patients(state, data) { + state.patients = data + }, + update_selected_patient(state, val) { + state.selected_patient = val + }, + update_sexes(state, val) { + state.sexes = val + }, + update_selected_sex(state, val) { + state.selected_sex = val + }, + update_religions(state, val) { + state.religions = val + }, + update_selected_religion(state, val) { + state.selected_religion = val + }, + update_phone(state, val) { + state.phone = val + }, + update_email(state, val) { + state.email = val + }, + update_pob(state, val) { + state.pob = val + }, + update_hp(state, val) { + state.hp = val + }, + update_kartuidentitass(state, val) { + state.kartuidentitass = val + }, + update_selected_kartuidentitas(state, val) { + state.selected_kartuidentitas = val + }, + update_noidentitas(state, val) { + state.noidentitas = val + }, + update_note(state, val) { + state.note = val + }, + update_nik(state, val) { + state.nik = val + }, + update_jabatan(state, val) { + state.jabatan = val + }, + update_kedudukan(state, val) { + state.kedudukan = val + }, + update_pj(state, val) { + state.pj = val + }, + update_location(state, val) { + state.location = val + }, + update_job(state, val) { + state.job = val + }, + update_save_status(state, val) { + state.save_status = val + }, + update_btn_save_seen(state, val) { + state.btn_save_seen = val + }, + update_pgrs_save(state, val) { + state.pgrs_save = val + }, + update_save_error_message(state, msg) { + state.save_error_message = '' + }, + update_no_save(state, val) { + state.no_save = val + }, + update_open_alert_confirmation(state, val) { + state.open_alert_confirmation = val + }, + update_alert_success(state, val) { + state.alert_success = val + }, + update_msg_success(state, val) { + state.msg_success = val + }, + update_dialog_success(state, val) { + state.dialog_success = val + }, + update_dialog_confirmation_delete(state, val) { + state.dialog_confirmation_delete = val + }, + update_msg_confirmation_delete(state, val) { + state.msg_confirmation_delete = val + }, + update_dialog_confirmation_delete_addr(state, val) { + state.dialog_confirmation_delete_addr = val + }, + update_msg_confirmation_delete_addr(state, val) { + state.msg_confirmation_delete_addr = val + }, + update_addresses(state, val) { + state.addresses = val + }, + update_autocomplete_status(state, val) { + state.autocomplete_status = val + }, + update_dialog_form_address(state, val) { + state.dialog_form_address = val + }, + update_label_address(state, val) { + state.label_address = val + }, + update_cities(state, val) { + state.cities = val + }, + update_city_address(state, val) { + state.city_address = val + }, + update_districts(state, val) { + state.districts = val + }, + update_district_address(state, val) { + state.district_address = val + }, + update_kelurahans(state, val) { + state.kelurahans = val + }, + update_kelurahan_address(state, val) { + state.kelurahan_address = val + }, + update_description_address(state, val) { + state.description_address = val + }, + update_search_status(state, val) { + state.search_status = val + }, + update_errors(state, val) { + state.errors = val + }, + update_total_patients(state, val) { + state.total_patients = val + }, + update_total_patient(state, val) { + state.total_patient = val + }, + update_save_status(state, val) { + state.save_status = val + }, + update_loading_save(state, val) { + state.loading_save = val + }, + update_loading_generate(state, val) { + state.loading_generate = val + }, + update_kelainan_count(state, data) { + state.kelainan_count = data + }, + update_pre_selected_kelainan(state, data) { + state.pre_selected_kelainan = data + }, + update_selected_mgm_mcu_id(state, val) { + state.selected_mgm_mcu_id = val + }, + update_loading_create_db(state, val) { + state.loading_create_db = val; + }, + update_create_db_progress(state, val) { + state.create_db_progress = val; + }, + update_create_db_message(state, val) { + state.create_db_message = val; + }, + update_dialog_confirm_create_db(state, val) { + state.dialog_confirm_create_db = val; + }, + update_active_encrypt_key(state, val) { + state.active_encrypt_key = val; + }, + update_selected_kelainan(state, val) { + state.selectedKelainan = val; + }, + update_saved_kelainan(state, val) { + state.savedKelainan = val; + } + }, + actions: { + async getmgmmcu(context) { + context.commit("update_lookup_status", 1) + try { + var prm = {token: one_token()} + let resp = await api.getmgmmcu(prm) + if (resp.status != "OK") { + context.commit("update_lookup_status", 3) + } else { + context.commit("update_lookup_status", 2) + let data = { + records: resp.data.records, + } + context.commit("update_mgmmcu", resp.data.records) + } + } catch (e) { + context.commit("update_lookup_status", 3) + } + }, + + async generatesetup(context, prm) { + context.commit("update_get_data_status", 1) + try { + prm.token = one_token() + let resp = await api.generatesetup(prm) + if (resp.status != "OK") { + context.commit("update_get_data_status", 3) + } else { + context.commit("update_get_data_status", 2) + + let setupData = resp.data.records; + console.log("DEBUG DATA SETUP:", setupData); + + context.commit("update_data_setup", setupData) + context.commit("update_setupcode", '') + context.commit("update_current_page", 1) + + if (context.state.selected_mgmmcu && context.state.selected_mgmmcu.Mgm_McuID) { + context.dispatch("getcountkelainan", { + Mgm_McuID: context.state.selected_mgmmcu.Mgm_McuID + }); + } + + context.dispatch("search", { + search: '', + xid: setupData.McuOfflinePrepareID, + current_page: 1, + lastid: -1 + }) + } + } catch (e) { + context.commit("update_get_data_status", 3) + } + }, + + async getsexreg(context) { + context.commit("update_get_data_status", 1) + try { + let resp = await api.getsexreg(one_token()) + if (resp.status != "OK") { + context.commit("update_get_data_status", 3) + } else { + context.commit("update_get_data_status", 2) + let data = { + records: resp.data.records, + total: resp.data.total + } + context.commit("update_sexes", data.records.sexes) + context.commit("update_religions", data.records.religions) + context.commit("update_titles", data.records.titles) + context.commit("update_kartuidentitass", data.records.kartuidentitass) + } + } catch (e) { + context.commit("update_get_data_status", 3) + } + }, + + async savecsv(context, prm) { + context.commit("update_save_status", 1) + try { + context.commit("update_loading_save", true) + prm.token = one_token() + let resp = await api.savecsv(prm) + if (resp.status != "OK") { + context.commit("update_loading_save", false) + context.commit("update_save_status", 3) + context.commit("update_open_dialog_info", true) + context.commit("update_msg_info", resp.message) + } else { + context.commit("update_loading_save", false) + context.commit("update_save_status", 2) + + context.dispatch("search", { + search: '', + current_page: 1, + lastid: -1 + }) + + + if (context.state.selected_mgmmcu && context.state.selected_mgmmcu.Mgm_McuID) { + context.dispatch("getcountkelainan", { + mgm_mcu_id: context.state.selected_mgmmcu.Mgm_McuID + }) + } + } + } catch (e) { + context.commit("update_loading_save", false) + context.commit("update_save_status", 3) + } + }, + + async gotoreg(context, prm) { + context.commit("update_save_status", 1) + try { + prm.token = one_token() + let resp = await api.gotoreg(prm) + if (resp.status != "OK") { + context.commit("update_save_status", 3) + } else { + context.commit("update_save_status", 2) + var pre_id = prm.Mcu_PreregisterDetailsID + location.replace("/one-ui/test/vuex/one-fo-registration-v8/" + "?pre_id=" +pre_id) + } + } catch (e) { + context.commit("update_save_status", 3) + } + }, + async newpatient(context, prm) { + context.commit("update_save_status", 1) + try { + prm.token = one_token() + let resp = await api.newpatient(prm) + if (resp.status != "OK") { + context.commit("update_save_status", 3) + } else { + context.commit("update_save_status", 2) + console.log(resp.data.id) + context.commit("update_last_id", resp.data.id) + context.commit("update_dialog_success", true) + var msg = "Data pasien " + prm.M_PatientName + " sudah tersimpan dong ..." + context.commit("update_msg_success", msg) + + } + } catch (e) { + context.commit("update_save_status", 3) + } + }, + async delete(context, prm) { + context.commit("update_save_status", 1) + try { + prm.token = one_token() + let resp = await api.xdelete(prm) + if (resp.status != "OK") { + context.commit("update_save_status", 3) + } else { + context.commit("update_save_status", 2) + context.commit("update_last_id", 0) + context.commit("update_dialog_confirmation_delete", false) + context.commit("update_dialog_success", true) + var msg = "Data setup " + prm.code + " sudah dihapus dong ..." + context.commit("update_msg_success", msg) + context.commit("update_company", {}) + context.commit("update_selected_mous", []) + context.commit("update_mou", {}) + context.commit("update_selected_doctors", []) + context.commit("update_start_date", moment(new Date()).format('YYYY-MM-DD')) + context.commit("update_end_date", moment(new Date()).format('YYYY-MM-DD')) + context.commit("update_default_mou", {}) + context.commit("update_default_doctor", {}) + } + } catch (e) { + context.commit("update_save_status", 3) + } + }, + async getaddress(context, prm) { + context.commit("update_save_status", 1) + try { + prm.token = one_token() + let resp = await api.getaddress(prm) + if (resp.status != "OK") { + context.commit("update_save_status", 3) + } else { + context.commit("update_save_status", 2) + let data = { + records: resp.data.records, + total: resp.data.total + } + context.commit("update_addresses", data.records) + } + } catch (e) { + context.commit("update_save_status", 3) + } + }, + async savesetup(context, prm) { + context.commit("update_save_status", 1) + try { + prm.token = one_token() + let resp = await api.savesetup(prm) + if (resp.status != "OK") { + context.commit("update_save_status", 3) + } else { + context.commit("update_save_status", 2) + let data = { + records: resp.data.records, + total: resp.data.total + } + context.commit("update_company", {}) + context.commit("update_selected_mous", []) + context.commit("update_mou", {}) + context.commit("update_selected_doctors", []) + context.commit("update_start_date", moment(new Date()).format('YYYY-MM-DD')) + context.commit("update_end_date", moment(new Date()).format('YYYY-MM-DD')) + context.commit("update_default_mou", {}) + context.commit("update_default_doctor", {}) + context.commit("update_dialog_success", true) + if(context.state.act === 'new') + var msg = "Pembuatan setup nomor " + resp.data.records.xnumber + " sudah berhasil dong ..." + else + var msg = "Perubahan setup nomor " + resp.data.records.xnumber + " sudah berhasil dong ..." + + context.commit("update_msg_success", msg) + } + } catch (e) { + context.commit("update_save_status", 3) + } + }, + async searchcity(context, prm) { + context.commit("update_autocomplete_status", 1) + try { + let resp = await api.searchcity(one_token(), prm) + if (resp.status != "OK") { + context.commit("update_autocomplete_status", 3) + } else { + context.commit("update_autocomplete_status", 2) + let data = { + records: resp.data.records, + total: resp.data.total + } + context.commit("update_cities", resp.data.records) + } + } catch (e) { + context.commit("update_autocomplete_status", 3) + } + }, + async searchdoctor(context,prm) { + context.commit("update_autocomplete_status",1) + try { + var xpar = {} + xpar.search = prm + xpar.token = one_token() + let resp= await api.searchdoctor(xpar) + if (resp.status != "OK") { + context.commit("update_autocomplete_status",3) + } else { + context.commit("update_autocomplete_status",2) + let data = { + records : resp.data.records, + total: resp.data.total + } + var arr = resp.data.records + var xsel = context.state.selected_doctors + var filtered = arr.filter(o1 => xsel.filter(o2 => o2.id === o1.id).length === 0) + context.commit("update_doctors",filtered) + } + } catch(e) { + context.commit("update_autocomplete_status",3) + } + }, + async searchcompany(context,prm) { + context.commit("update_autocomplete_status",1) + try { + prm.token = one_token() + + let resp= await api.searchcompany(prm) + if (resp.status != "OK") { + context.commit("update_autocomplete_status",3) + } else { + context.commit("update_autocomplete_status",2) + let data = { + records : resp.data.records, + total: resp.data.total + } + context.commit("update_companies",resp.data.records) + } + } catch(e) { + context.commit("update_autocomplete_status",3) + } + }, + async getdistrict(context, prm) { + context.commit("update_get_data_status", 1) + try { + let resp = await api.getdistrict(one_token(), prm) + if (resp.status != "OK") { + context.commit("update_get_data_status", 3) + } else { + context.commit("update_get_data_status", 2) + let data = { + records: resp.data.records, + total: resp.data.total + } + context.commit("update_districts", resp.data.records) + } + } catch (e) { + context.commit("update_get_data_status", 3) + } + }, + async getkelurahan(context, prm) { + context.commit("update_get_data_status", 1) + try { + let resp = await api.getkelurahan(one_token(), prm) + if (resp.status != "OK") { + context.commit("update_get_data_status", 3) + } else { + context.commit("update_get_data_status", 2) + let data = { + records: resp.data.records, + total: resp.data.total + } + context.commit("update_kelurahans", resp.data.records) + } + } catch (e) { + context.commit("update_get_data_status", 3) + } + }, + async savenewaddress(context, prm) { + context.commit("update_save_status", 1) + try { + prm.token = one_token() + let resp = await api.savenewaddress(prm) + if (resp.status != "OK") { + context.commit("update_save_status", 3) + } else { + context.commit("update_save_status", 2) + context.commit("update_dialog_form_address", false) + context.commit("update_last_id", prm.M_PatientAddressM_PatientID) + context.commit("update_dialog_success", true) + var msg = "Penambahan data alamat pasien " + prm.M_PatientName + " sudah berhasil dong ..." + context.commit("update_msg_success", msg) + + } + } catch (e) { + context.commit("update_save_status", 3) + } + }, + async saveeditaddress(context, prm) { + context.commit("update_save_status", 1) + try { + prm.token = one_token() + let resp = await api.saveeditaddress(prm) + if (resp.status != "OK") { + context.commit("update_save_status", 3) + } else { + context.commit("update_save_status", 2) + context.commit("update_dialog_form_address", false) + context.commit("update_last_id", prm.M_PatientAddressM_PatientID) + context.commit("update_dialog_success", true) + var msg = "Perubahan data alamat pasien " + prm.M_PatientName + " sudah berhasil dong ..." + context.commit("update_msg_success", msg) + + } + } catch (e) { + context.commit("update_save_status", 3) + } + }, + async deleteaddress(context, prm) { + context.commit("update_save_status", 1) + try { + prm.token = one_token() + let resp = await api.deleteaddress(prm) + if (resp.status != "OK") { + context.commit("update_save_status", 3) + } else { + context.commit("update_save_status", 2) + context.commit("update_dialog_confirmation_delete_addr", false) + context.commit("update_last_id", prm.M_PatientAddressM_PatientID) + context.commit("update_dialog_success", true) + var msg = "Penghapusan data alamat " + prm.M_PatientAddressNote + " dari pasien " + prm.M_PatientName + " sudah berhasil dong ..." + context.commit("update_msg_success", msg) + + } + } catch (e) { + context.commit("update_save_status", 3) + } + }, + async getmou(context,prm) { + context.commit("update_lookup_order",1) + try { + prm.token = one_token() + let resp= await api.getmou(prm) + if (resp.status != "OK") { + context.commit("update_lookup_order",3) + } else { + context.commit("update_lookup_order",2) + let data = { + records : resp.data.records, + total: resp.data.total + } + context.commit("update_mous",resp.data.records) + context.commit("update_mou",{}) + context.commit("update_selected_mous",[]) + } + } catch(e) { + context.commit("update_lookup_order",3) + } + }, + async getcountkelainan(context, prm) { + context.commit("update_get_data_status", 1) + try { + prm.token = one_token() + console.log("Sending request to get_count_kelainan with params:", prm) + let resp = await api.generatecountkelainan(prm) + + console.log("Response from get_count_kelainan:", resp) + + if (resp.status != "OK") { + console.error("Error status:", resp.status, resp.message) + context.commit("update_get_data_status", 3) + } else { + console.log("Success! Data:", resp.data.data) + context.commit("update_get_data_status", 2) + context.commit("update_kelainan_count", resp.data.data); + + // Filter dan simpan kelainan yang sudah terpilih sebelumnya + const preSelected = resp.data.data.filter(item => item.is_selected); + context.commit("update_pre_selected_kelainan", preSelected); + } + } catch (e) { + console.error("Exception in getcountkelainan:", e) + context.commit("update_get_data_status", 3) + } + }, + + async savekelainanselection(context, prm) { + context.commit("update_loading_save", true) + try { + prm.token = one_token() + let resp = await api.savekelainanselection(prm) + + if (resp.status != "OK") { + context.commit("update_save_status", 3) + context.commit("update_msg_info", resp.message) + context.commit("update_open_dialog_info", true) + return false; + } else { + context.commit("update_save_status", 2) + context.commit("update_msg_success", "Data kelainan berhasil disimpan") + context.commit("update_dialog_success", true) + context.commit("update_saved_kelainan", prm.selected_kelainan.map(i => i.id)); + return true; + } + } catch (e) { + context.commit("update_save_status", 3) + return false; + } finally { + context.commit("update_loading_save", false) + } + }, + + async generateDatabase(context, prm) { + context.commit("update_loading_generate", true); + try { + // Panggil API untuk generate, enkripsi, dan download file + const downloadPrm = { + db_name: "cpone_corporate", // Sesuai dengan logika backend + Mgm_McuID: prm.mgm_mcu_id, + }; + const resp = await api.downloadDatabase(downloadPrm); + + if (resp.status === 200 && resp.data) { + // Membuat URL dari blob untuk diunduh + const url = window.URL.createObjectURL(new Blob([resp.data])); + const link = document.createElement('a'); + link.href = url; + + // Menentukan nama file dari header atau generate nama baru + const contentDisposition = resp.headers['content-disposition']; + let filename = `dump_cpone_corporate.dat`; // Default filename + if (contentDisposition) { + const filenameMatch = contentDisposition.match(/filename="?([^"]+)"?/); + if (filenameMatch && filenameMatch.length > 1) { + filename = filenameMatch[1]; + } + } + link.setAttribute('download', filename); + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + window.URL.revokeObjectURL(url); + } else { + throw new Error(resp.message || "Gagal mengunduh file terenkripsi."); + } + } catch (e) { + console.error("Error generating database dump:", e); + } finally { + context.commit("update_loading_generate", false); + } + }, + + async truncateDatabaseAction(context, prm) { + context.commit("update_loading_create_db", true); + context.commit("update_create_db_message", "Menghapus data lama..."); + try { + const apiParams = { + Mgm_McuID: prm.mgm_mcu_id, + confirm_truncate: prm.confirm_truncate, + token: one_token() + }; + const resp = await api.truncateDatabase(apiParams); + if (resp.status !== "OK") { + throw new Error(`Gagal menghapus data lama: ${resp.message}`); + } + return true; + } catch (e) { + console.error("Error during truncate operation:", e); + context.commit("update_msg_info", e.message); + context.commit("update_open_dialog_info", true); + context.commit("update_loading_create_db", false); + return false; + } + }, + + async createDatabase(context, prm) { + // context.commit("update_loading_create_db", true); + context.commit("update_create_db_progress", 0); + const apiCalls = [ + { func: api.generateTable, name: "Table Setup" }, + { func: api.generateKelainanLab, name: "Kelainan Lab" }, + { func: api.generateKelainanNonLab, name: "Kelainan Non-Lab" }, + { func: api.generateKelainanFisik, name: "Kelainan Fisik" }, + { func: api.generateKelainanSummary, name: "Kelainan Summary" }, + { func: api.generateKelainanResultMcuLab, name: "Result MCU Lab" }, + { func: api.generateKelainanResultMcuNonLab, name: "Result MCU Non-Lab" }, + { func: api.generateResultMcuKenalWarna, name: "Result MCU Kenal Warna" }, + { func: api.generateResultMcuVisus, name: "Result MCU Visus" }, + { func: api.generateResultStatusGizi, name: "Result Status Gizi" }, + { func: api.generateResultMcuBodyFatMonitoring, name: "Result Body Fat Monitoring" }, + { func: api.generateResultMcuFisik, name: "Result MCU Fisik" }, + { func: api.generateAllResult, name: "All Results" }, + { func: api.generateEncryptKey, name: "Encrypt Key" } + ]; + + try { + let lastCallResp = null; // Variabel untuk menyimpan response terakhir + for (let i = 0; i < apiCalls.length; i++) { + const call = apiCalls[i]; + const progressMessage = `Step ${i + 1}/${apiCalls.length}: Generating ${call.name}...`; + + context.commit("update_create_db_message", progressMessage); + context.commit("update_create_db_progress", ((i + 1) / apiCalls.length) * 100); + + const apiParams = { + Mgm_McuID: prm.mgm_mcu_id, + token: one_token() + }; + const resp = await call.func(apiParams); + lastCallResp = resp; + + if (resp.status !== "OK") { + if (resp.message === "No data found") { + console.warn(`Skipping step ${i + 1} (${call.name}): No data found.`); + } else { + throw new Error(`Failed at step ${i + 1} (${call.name}): ${resp.message}`); + } + } + } + + // Ambil response dari panggilan API terakhir (generateEncryptKey) + let successMessage = "Database berhasil dibuat ulang."; + // Perbaikan: Akses new_key dari dalam objek 'data' + if (lastCallResp && lastCallResp.status === "OK" && lastCallResp.data && lastCallResp.data.new_key) { + successMessage += ` Kunci Enkripsi Baru berhasil di-generate.`; + } + context.commit("update_msg_success", successMessage); + context.commit("update_dialog_success", true); + + // Panggil getcountkelainan dan getActiveEncryptKey untuk refresh data di UI + context.dispatch("getcountkelainan", { Mgm_McuID: prm.mgm_mcu_id }); + context.dispatch("getActiveEncryptKey", { Mgm_McuID: prm.mgm_mcu_id }); + + } catch (e) { + console.error("Error during database creation:", e); + context.commit("update_msg_info", e.message); + context.commit("update_open_dialog_info", true); + } finally { + context.commit("update_loading_create_db", false); + context.commit("update_create_db_progress", 0); + context.commit("update_create_db_message", ""); + } + }, + + async getActiveEncryptKey(context, prm) { + context.commit("update_active_encrypt_key", ''); // Reset dulu + try { + prm.token = one_token(); + const resp = await api.getActiveEncryptKey(prm); + + if (resp.status === "OK" && resp.data && resp.data.active_key) { + context.commit("update_active_encrypt_key", resp.data.active_key); + } else { + // Jika tidak ada key, tidak perlu menampilkan error, cukup kosongkan saja + console.warn(resp.message || "No active key found"); + context.commit("update_active_encrypt_key", ''); + } + } catch (e) { + console.error("Error fetching active encrypt key:", e); + context.commit("update_active_encrypt_key", ''); + } + }, + + async getKelainanSelected(context, prm) { + context.commit("update_selected_kelainan", []); // Reset UI selection + context.commit("update_saved_kelainan", []); // Reset saved selection + try { + prm.token = one_token(); + const resp = await api.getKelainanSelected(prm); + + if (resp.status && resp.data && resp.data.selected) { + const selectedIds = resp.data.selected.map(i => i.id); + context.commit("update_selected_kelainan", selectedIds); + context.commit("update_saved_kelainan", selectedIds); + } else { + console.warn(resp.message || "No selected 'kelainan' found"); + } + } catch (e) { + console.error("Error fetching selected 'kelainan':", e); + } + } + + } +} \ No newline at end of file diff --git a/test/vuex/cpone-mcu-generate-summaries/store.js b/test/vuex/cpone-mcu-generate-summaries/store.js new file mode 100644 index 0000000..61cf2a1 --- /dev/null +++ b/test/vuex/cpone-mcu-generate-summaries/store.js @@ -0,0 +1,27 @@ +// State +// data ... +// Mutations +// +// +// Actions +import patient from "./modules/patient.js"; +import system from "../../../apps/modules/system/system.js"; +export const store = new Vuex.Store({ + modules: { + patient: patient, + system: system + }, + state: { + tab_selected: 'pasien-dokter' + }, + mutations: { + change_tab(state, ntab) { + state.tab_selected = ntab + } + }, + actions: { + change_tab(context, ntab) { + context.commit('change_tab', ntab) + } + } +}); \ No newline at end of file