// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/samplesend.js" export default { namespaced: true, state: { last_id:-1, last_saved_id:-1, x_addr_id:0, btn_hide:false, act:'edit', act_addr:'new', act_search:false, get_data_status:0, search_patient: 0, search_status: 0, search_error_message: '', preffix:'', patient_name:'', suffix:'', patients: [], selected_patient: [], sampletypes:[], selected_sampletype:{}, total_patients:0, patient_address: [], stations:[], selected_station:{}, statuses:[], selected_status:{}, transaction_date:moment(new Date()).format('DD-MM-YYYY'), transaction_time:moment(new Date()).format("hh:mm"), phone:'', hp:'', email:'', pj:'N', dpj:'N', clinic:'N', is_default:'N', marketing_confirm:'N', 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:{}, districts:[], district_address:{}, kelurahans:[], kelurahan_address:{}, description_address:'', errors:[], dialog_action:false, msg_action:'', current_page:1, total_page:1, dialog_doctor:false, requirements:[], selected_sample:{}, open_dialog_info:false, msg_info:'', name:'', nolab:'', information_bahan:[], staff:{id:0,code:'',name:'BELUM ADA STAF',code:'',userid:''}, bar_chx_all:false, indeterminatex:false, filter_sampletype:[], selected_filter_sampletype:{id:-1,name:'-'} }, mutations: { update_filter_sampletype(state, val) { state.filter_sampletype = val }, update_selected_filter_sampletype(state, val) { console.log(val) state.selected_filter_sampletype = val }, update_act_search(state, val) { state.act_search = val }, update_bar_chx_all(state, val) { state.bar_chx_all = val }, update_indeterminatex(state, val) { state.indeterminatex = val }, update_btn_hide(state, val) { state.btn_hide = val }, update_staff(state, val) { state.staff = val }, update_information_bahan(state, val) { state.information_bahan = val }, update_name(state, val) { state.name = val }, update_nolab(state, val) { state.nolab = val }, update_open_dialog_info(state, val) { state.open_dialog_info = val }, update_msg_info(state, val) { state.msg_info = val }, update_selected_sample(state, val) { state.selected_sample = val }, update_requirements(state, val) { state.requirements = val }, update_dialog_doctor(state, val) { state.dialog_doctor = val }, update_total_page(state, val) { state.total_page = 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_preffix(state, val) { state.preffix = val }, update_patient_name(state, val) { state.patient_name = val }, update_suffix(state, val) { state.suffix = val }, update_patients(state, data) { state.patients = data }, update_selected_patient(state, val) { state.selected_patient = val }, update_sampletypes(state, data) { state.sampletypes = data }, update_selected_sampletype(state, val) { state.selected_sampletype = val }, update_stations(state, val) { state.stations = val }, update_selected_station(state, val) { state.selected_station = val }, update_statuses(state, val) { state.statuses = val }, update_selected_status(state, val) { state.selected_status = val }, update_phone(state, val) { state.phone = val }, update_email(state, val) { state.email = val }, update_hp(state, val) { state.hp = val }, update_pj(state, val) { state.pj = val }, update_dpj(state, val) { state.dpj = val }, update_clinic(state, val) { state.clinic = val }, update_marketing_confirm(state, val) { state.marketing_confirm = val }, update_is_default(state, val) { state.is_default = 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_dialog_action(state, val) { state.dialog_action = val }, update_msg_action(state, val) { state.msg_action = val } }, actions: { async search(context, prm) { context.commit("update_search_patient", 1) try { prm.token = one_token() let resp = await api.search(prm) if (resp.status != "OK") { context.commit("update_search_patient", 3) context.commit("update_search_error_message", resp.message) } else { context.commit("update_search_patient", 2) context.commit("update_search_error_message", "") let data = { records: resp.data.records, total: resp.data.total } context.commit("update_selected_patient", []) context.commit("update_bar_chx_all",false) context.commit("update_indeterminatex",false) context.commit("update_patients", data.records) context.commit("update_total_patients", data.total) if(data.records.length > 0 && context.state.act_search){ context.commit("update_bar_chx_all",true) context.commit("update_indeterminatex",false) var patients = data.records patients.forEach((el)=>{el.chex = true}) context.commit("update_patients", patients) context.commit("update_act_search",false) context.commit("update_selected_patient",patients) } //context.commit("update_total_page", data.total) context.commit("update_no_save", 0) } } catch (e) { context.commit("update_search_patient", 3) context.commit("update_search_error_message", e.message) console.log(e) } }, async getstationstatus(context,prm) { context.commit("update_get_data_status",1) try { let resp= await api.getstationstatus(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_stations",data.records.stations) context.commit("update_selected_station",data.records.stations[0]) context.commit("update_statuses",data.records.statuses) context.commit("update_selected_status",data.records.statuses[0]) context.commit("update_filter_sampletype",data.records.sampletypes) context.commit("update_selected_filter_sampletype",data.records.sampletypes[0]) //prm.stationid = data.records.stations[0].id //prm.statusid = data.records.statuses[0].id prm.nolab = '' //prm.sampletypeid = -1 if(data.records.sampletypes.length > 0){ var idx_sampletypeid = _.findIndex(data.records.sampletypes, function(o) { return o.id === prm.sampletypeid }) if(idx_sampletypeid === -1){ prm.sampletypeid = data.records.sampletypes[0].id context.commit("update_selected_filter_sampletype",data.records.sampletypes[0]) } else context.commit("update_selected_filter_sampletype",data.records.sampletypes[idx_sampletypeid]) } context.dispatch("search",prm) } } catch(e) { context.commit("update_get_data_status",3) } }, async getrequirements(context,prm) { context.commit("update_get_data_status",1) try { prm.token = one_token() let resp= await api.getrequirements(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_requirements",data.records) context.commit("update_dialog_doctor",true) } } catch(e) { context.commit("update_get_data_status",3) } }, async save(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.save(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) context.commit("update_last_id", prm.M_patientID) context.commit("update_dialog_success", true) var msg = "Data dokter " + prm.M_patientName + " sudah terupdate dong ..." context.commit("update_msg_success", msg) } } catch(e) { context.commit("update_save_status",3) } }, async receivesample(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.doaction(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) prm.search.lastid = -1 context.dispatch("search",prm.search) } } catch(e) { context.commit("update_save_status",3) } }, async saverequirement(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.saverequirement(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) context.commit("update_dialog_doctor", false) } } 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 dokter " + prm.M_patientName + " sudah tersimpan 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 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 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 search_staff(context,prm) { context.commit("update_get_data_status",1) try { prm.token = one_token() let resp= await api.search_staff(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 } if(data.records) context.commit("update_staff",resp.data.records) else{ context.commit("update_staff",{id:0,code:'',name:'STAF TIDAK DITEMUKAN',code:'',userid:''}) } } } catch(e) { context.commit("update_get_data_status",3) } }, /*async search_patient(context,prm) { context.commit("update_get_data_status",1) try { prm.token = one_token() prm.stationid = context.state.selected_station.id prm.statusid = context.state.selected_status.id let resp= await api.search_patient(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.rootState.px.req_status var rst = data.records if(rst){ console.log(rst) context.commit("update_nolab",prm.search) context.commit("update_patients",rst) context.commit("update_bar_chx_all",true) context.commit("update_indeterminatex",false) context.commit("update_selected_patient",rst) } else{ var msg = "Naik angkot ketemu si marni, "+prm.search+" maaf sample-nya belum sampai di sini" context.commit("update_msg_info",msg) context.commit("update_open_dialog_info",true) } } } catch(e) { context.commit("update_get_data_status",3) } },*/ search_patient(context,prm) { context.commit("update_get_data_status",1) context.commit("update_act_search",true) //context.commit("update_get_data_status",1) prm.token = one_token() context.commit("update_nolab",prm.search) var serach = prm.search prm.stationid = context.state.selected_station.id //prm.statusid = context.state.selected_status.id prm.nolab = serach prm.searchx = serach prm.lastid = -1 window.key_enter = '' console.log(prm) context.dispatch("search",prm) }, 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 dokter " + 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 dokter " + 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 dokter " + prm.M_patientName + " sudah berhasil dong ..." context.commit("update_msg_success", msg) } } catch(e) { context.commit("update_save_status",3) } }, async getsampletypes(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.getsampletypes(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_sampletypes",data.records['sampletypes']) context.commit("update_information_bahan",data.records['information_bahan']) } } catch(e) { context.commit("update_save_status",3) } }, async doaction(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.doaction(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_act",'-') context.commit("update_btn_hide",false) if(data.records['status'] === 'OK'){ prm.nolab = context.state.noleb prm.sampletypeid = context.state.selected_filter_sampletype.id context.dispatch("search",prm) var xprm = {} xprm.nolab = '' //xprm.name = '' xprm.sampletypeid = context.rootState.samplecall.selected_filter_sampletype.id xprm.lastid = -1 context.dispatch("samplecall/search",xprm,{root:true}) } } } catch(e) { context.commit("update_save_status",3) } } } }