// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/mou.js" export default { namespaced: true, state: { last_id:-1, last_saved_id:-1, x_addr_id:0, act:'edit', act_addr:'new', get_data_status:0, search_mou: 0, search_status: 0, search_error_message: '', statuses:[{label:'Semua', value:'A'},{label:'Expired', value:'Y'},{label:'Coming soon (kurang sebulan)', value:'C'},{label:'Belum Expired', value:'N'}], selected_status:{label:'Semua', value:'A'}, preffix:'', preffix2:'', mou_name:'', suffix:'', suffix2:'', suffix3:'', mous: [], total_mous:0, mou_address: [], sexes:[], selected_sex:{}, religions:[], selected_religion:{}, companys:[], company:{}, fcompanys:[], selected_company:{}, phone:'', hp:'', note:'', email:'', is_default_email:'', pj:'N', pjmcu:'N', dpj:'N', clinic:'N', is_default:'N', marketing_confirm:'N', total_mou: 0, selected_mou: {}, 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:{}, jpas:[], jpa_address:{}, description_address:'', errors:[], current_page:1, open_dialog_info:false, msg_info:'', selected_filter_company:{}, startdate: moment(new Date()).format('DD-MM-YYYY'), enddate: moment(new Date()).format('DD-MM-YYYY'), dialog_form_mou: false, dialog_alert_verif: false, msgalertverif: '' }, mutations: { update_dialog_alert_verif(state, val) { state.dialog_alert_verif = val }, update_msgalertverif(state, val) { state.msgalertverif = val }, update_startdate(state, val) { state.startdate = val }, update_enddate(state, val) { state.enddate = val }, update_dialog_form_mou(state, val) { state.dialog_form_mou = val }, update_selected_filter_company(state, val) { state.selected_filter_company = val }, update_msg_info(state, val) { state.msg_info = val }, update_open_dialog_info(state, val) { state.open_dialog_info = 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_mou(state, mou) { state.search_mou = mou }, update_preffix(state, val) { state.preffix = val }, update_preffix2(state, val) { state.preffix2 = val }, update_mou_name(state, val) { state.mou_name = val }, update_suffix(state, val) { state.suffix = val }, update_suffix2(state, val) { state.suffix2 = val }, update_suffix3(state, val) { state.suffix3 = val }, update_mous(state, data) { state.mous = data }, update_selected_status(state, val) { state.selected_status = val }, update_selected_mou(state, val) { state.selected_mou = 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_companys(state, val) { state.companys = val }, update_company(state, val) { state.company = val }, update_fcompanys(state, val) { state.fcompanys = val }, update_selected_company(state, val) { state.selected_company = val }, update_phone(state, val) { state.phone = val }, update_is_default_email(state, val) { state.is_default_email = val }, update_email(state, val) { state.email = val }, update_hp(state, val) { state.hp = val }, update_note(state, val) { state.note = val }, update_pj(state, val) { state.pj = val }, update_pjmcu(state, val) { state.pjmcu = 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_jpas(state, val) { state.jpas = val }, update_jpa_address(state, val) { state.jpa_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_mou(state, val) { state.total_mou = val }, update_current_page(state, val) { state.current_page = val }, }, actions: { async search(context, prm) { context.commit("update_search_mou", 1) try { prm.token = one_token() let resp = await api.search(prm) if (resp.status != "OK") { context.commit("update_search_mou", 3) context.commit("update_search_error_message", resp.message) } else { context.commit("update_search_mou", 2) context.commit("update_search_error_message", "") let data = { records: resp.data.records, total: resp.data.total } context.commit("update_mous", data.records) console.log(data.total) context.commit("update_total_mou", data.total) context.commit("update_no_save", 0) //context.commit("update_selected_mou",{}) if(data.records.length > 0){ var doc = {} if(prm.lastid === -1){ console.log("minsatu") context.commit("update_selected_mou", data.records[0]) doc = data.records[0] } else{ context.commit("update_selected_mou", data.records[prm.lastid]) doc = data.records[prm.lastid] } context.commit("update_preffix",doc.M_DoctorPrefix) context.commit("update_preffix2",doc.M_DoctorPrefix2) context.commit("update_mou_name",doc.M_DoctorName) context.commit("update_suffix",doc.M_DoctorSufix) context.commit("update_suffix2",doc.M_DoctorSufix2) context.commit("update_suffix3",doc.M_DoctorSufix3) context.commit("update_selected_sex",{M_SexID:doc.M_DoctorM_SexID,m_sexname:doc.M_SexName}) context.commit("update_selected_company",{Nat_StaffID:doc.Nat_StaffID,Nat_StaffNIK:doc.Nat_StaffNIK,Nat_StaffName:doc.Nat_StaffName}) context.commit("update_companys",[{Nat_StaffID:doc.Nat_StaffID,Nat_StaffNIK:doc.Nat_StaffNIK,Nat_StaffName:doc.Nat_StaffName}]) context.commit("update_company",{Nat_StaffID:doc.Nat_StaffID,Nat_StaffNIK:doc.Nat_StaffNIK,Nat_StaffName:doc.Nat_StaffName}) context.commit("update_selected_religion",{M_ReligionID:doc.M_DoctorM_ReligionID,M_ReligionName:doc.M_ReligionName}) context.commit("update_phone",doc.M_DoctorPhone) context.commit("update_email",doc.M_DoctorEmail) context.commit("update_hp",doc.M_DoctorHP) context.commit("update_pj",doc.M_DoctorIsPJ) context.commit("update_pjmcu",doc.M_DoctorIsDefaultMcu) context.commit("update_dpj",doc.M_DoctorIsDefaultPJ) context.commit("update_clinic",doc.M_DoctorIsClinic) context.commit("update_marketing_confirm",doc.M_DoctorIsMarketingConfirm) context.commit("update_is_default",doc.M_DoctorIsDefault) }else{ context.commit("update_preffix",'') context.commit("update_preffix2",'') context.commit("update_mou_name",'') context.commit("update_suffix",'') context.commit("update_suffix2",'') context.commit("update_suffix3",'') context.commit("update_selected_sex",{}) context.commit("update_selected_company",{}) context.commit("update_company",{}) context.commit("update_selected_religion",{}) context.commit("update_phone",'') context.commit("update_email",'') context.commit("update_hp",'') context.commit("update_pj",'N') context.commit("update_pjmcu",'N') context.commit("update_dpj",'N') context.commit("update_clinic",'N') context.commit("update_marketing_confirm",'N') context.commit("update_is_default",'') context.commit("update_addresses",[]) //context.dispatch("getaddress",{id:doc.M_DoctorID}) } } } catch (e) { context.commit("update_search_mou", 3) context.commit("update_search_error_message", e.message) console.log(e) } }, async getsexreg(context,prm) { 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_fcompanys",data.records.companys) context.commit("update_selected_filter_company",data.records.companys[0]) context.commit("update_jpas",data.records.jpas) prm.company = data.records.companys[0].Nat_StaffNIK context.dispatch("search",prm) } } 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_DoctorID) context.commit("update_dialog_success", true) var msg = "Data dokter " + prm.M_DoctorName + " sudah terupdate dong ..." context.commit("update_msg_success", msg) } } catch(e) { context.commit("update_save_status",3) } }, async extendmou(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.extendmou(prm) if (resp.status != "OK") { context.commit("update_save_status",3) var msg = resp.message var str = msg[1].split('[message] =>').splice(1).join('[message] =>') var note = str.replace('\\n)\\n\"}"', '') console.log(note) context.commit("update_msgalertverif", note) context.commit("update_dialog_alert_verif", true) } else { context.commit("update_save_status",2) context.commit("update_last_id", prm.M_DoctorID) context.commit("update_dialog_success", true) var msg = "Periode agremeent " + prm.name + " sudah diubah dong ..." context.commit("update_msg_success", msg) context.commit("update_dialog_form_mou", false) } } catch(e) { context.commit("update_save_status",3) } }, async newmou(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.newmou(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_DoctorName + " 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 dokter " + prm.M_DoctorName + " sudah dihapus dong ..." context.commit("update_msg_success", msg) context.commit("update_preffix",'') context.commit("update_preffix2",'') context.commit("update_mou_name",'') context.commit("update_suffix",'') context.commit("update_suffix2",'') context.commit("update_suffix3",'') context.commit("update_selected_sex",{}) context.commit("update_selected_religion",{}) context.commit("update_selected_company",{}) context.commit("update_phone",'') context.commit("update_email",'') context.commit("update_hp",'') context.commit("update_note",'') context.commit("update_pj",'N') context.commit("update_dpj",'N') context.commit("update_clinic",'N') context.commit("update_marketing_confirm",'N') context.commit("update_is_default",'N') } } 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 searchcompany(context, prm) { context.commit("update_autocomplete_status", 1) try { let resp = await api.searchcompany(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_companys", resp.data.records) } } catch (e) { context.commit("update_autocomplete_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 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 getjpa(context) { context.commit("update_get_data_status",1) try { let resp= await api.getjpa(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_jpas",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_DoctorAddressM_DoctorID) context.commit("update_dialog_success", true) var msg = "Penambahan data alamat dokter " + prm.M_DoctorName + " 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_DoctorAddressM_DoctorID) context.commit("update_dialog_success", true) var msg = "Perubahan data alamat dokter " + prm.M_DoctorName + " 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_DoctorAddressM_DoctorID) context.commit("update_dialog_success", true) var msg = "Penghapusan data alamat "+prm.M_DoctorAddressNote+" dari dokter " + prm.M_DoctorName + " sudah berhasil dong ..." context.commit("update_msg_success", msg) } } catch(e) { context.commit("update_save_status",3) } } } }