Files
2026-05-25 20:01:37 +07:00

677 lines
26 KiB
JavaScript

// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/doctor.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_doctor: 0,
search_status: 0,
search_error_message: '',
statuses:[{label:'Belum dikonfirmasi marketing', value:'N'},{label:'Sudah dikonfirmasi marketing', value:'Y'}],
selected_status:{label:'Belum dikonfirmasi marketing', value:'N'},
preffix:'',
preffix2:'',
doctor_name:'',
suffix:'',
suffix2:'',
suffix3:'',
doctors: [],
total_doctors:0,
doctor_address: [],
sexes:[],
selected_sex:{},
religions:[],
selected_religion:{},
staffs:[],
staff:{},
fstaffs:[],
selected_staff:{},
phone:'',
hp:'',
note:'',
email:'',
is_default_email:'',
pj:'N',
pjmcu:'N',
dpj:'N',
clinic:'N',
is_default:'N',
marketing_confirm:'N',
total_doctor: 0,
selected_doctor: {},
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_staff:{},
dob:'',
specialistes:[],
selected_specialist:{}
},
mutations: {
update_dob(state, val) {
state.dob = val
},
update_specialistes(state, val) {
state.specialistes = val
},
update_selected_specialist(state, val) {
state.selected_specialist = val
},
update_selected_filter_staff(state, val) {
state.selected_filter_staff = 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_doctor(state, doctor) {
state.search_doctor = doctor
},
update_preffix(state, val) {
state.preffix = val
},
update_preffix2(state, val) {
state.preffix2 = val
},
update_doctor_name(state, val) {
state.doctor_name = val
},
update_suffix(state, val) {
state.suffix = val
},
update_suffix2(state, val) {
state.suffix2 = val
},
update_suffix3(state, val) {
state.suffix3 = val
},
update_doctors(state, data) {
state.doctors = data
},
update_selected_status(state, val) {
state.selected_status = val
},
update_selected_doctor(state, val) {
state.selected_doctor = 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_staffs(state, val) {
state.staffs = val
},
update_staff(state, val) {
state.staff = val
},
update_fstaffs(state, val) {
state.fstaffs = val
},
update_selected_staff(state, val) {
state.selected_staff = 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_doctor(state, val) {
state.total_doctor = val
},
update_current_page(state, val) {
state.current_page = val
},
},
actions: {
async search(context, prm) {
context.commit("update_search_doctor", 1)
try {
prm.token = one_token()
let resp = await api.search(prm)
if (resp.status != "OK") {
context.commit("update_search_doctor", 3)
context.commit("update_search_error_message", resp.message)
} else {
context.commit("update_search_doctor", 2)
context.commit("update_search_error_message", "")
let data = {
records: resp.data.records,
total: resp.data.total
}
context.commit("update_doctors", data.records)
console.log(data.total)
context.commit("update_total_doctor", data.total)
context.commit("update_no_save", 0)
//context.commit("update_selected_doctor",{})
if(data.records.length > 0){
var doc = {}
if(prm.lastid === -1){
console.log("minsatu")
context.commit("update_selected_doctor", data.records[0])
doc = data.records[0]
}
else{
context.commit("update_selected_doctor", data.records[prm.lastid])
doc = data.records[prm.lastid]
}
context.commit("update_act", 'edit')
context.commit("update_preffix",doc.M_DoctorPrefix)
context.commit("update_preffix2",doc.M_DoctorPrefix2)
context.commit("update_doctor_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_staff",{Nat_StaffID:doc.Nat_StaffID,Nat_StaffNIK:doc.Nat_StaffNIK,Nat_StaffName:doc.Nat_StaffName})
context.commit("update_staffs",[{Nat_StaffID:doc.Nat_StaffID,Nat_StaffNIK:doc.Nat_StaffNIK,Nat_StaffName:doc.Nat_StaffName}])
context.commit("update_staff",{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)
context.commit("update_dob",doc.M_DoctorDOB)
context.commit("update_selected_specialist",{id:doc.M_DoctorM_SpecialistID,name:doc.M_SpecialistName})
context.dispatch("getaddress",{id:doc.M_DoctorID})
}else{
context.commit("update_act", 'new')
context.commit("update_preffix",'')
context.commit("update_preffix2",'')
context.commit("update_doctor_name",'')
context.commit("update_suffix",'')
context.commit("update_suffix2",'')
context.commit("update_suffix3",'')
context.commit("update_selected_sex",{})
context.commit("update_selected_staff",{})
context.commit("update_staff",{})
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.commit("update_dob",'')
context.commit("update_selected_specialist",{})
//context.dispatch("getaddress",{id:doc.M_DoctorID})
}
}
} catch (e) {
context.commit("update_search_doctor", 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_specialistes",data.records.specialistes)
context.commit("update_religions",data.records.religions)
context.commit("update_fstaffs",data.records.staffs)
context.commit("update_selected_filter_staff",data.records.staffs[0])
context.commit("update_jpas",data.records.jpas)
prm.staff = data.records.staffs[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 newdoctor(context,prm) {
context.commit("update_save_status",1)
try {
prm.token = one_token()
let resp= await api.newdoctor(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_doctor_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_staff",{})
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 searchstaff(context, prm) {
context.commit("update_autocomplete_status", 1)
try {
let resp = await api.searchstaff(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_staffs", 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)
}
}
}
}