Files
FE_CPONE/test/vuex/one-fo-klinik-setting/modules/setting.js
2026-04-27 10:13:31 +07:00

182 lines
6.8 KiB
JavaScript

// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/setting.js"
export default {
namespaced: true,
state: {
mous: [],
loading: false,
error: "",
// search_mou: "",
selected_mou: {},
errors: [],
save_status: 2,
error_message: "",
alert_error: false,
dialog_error: false,
msg_success: "",
alert_success: false,
errors: [],
companys: [],
// search_company: "",
selected_company: {},
price:''
},
mutations: {
update_price(state, val) {
state.price = val
},
update_mous(state, val) {
state.mous = val
},
update_loading(state,val) {
state.loading = val
},
update_error(state,val) {
state.error = val
},
update_selected_mou(state, val) {
if (state.selected_company === undefined) {
state.selected_mou = {}
} else {
state.selected_mou = val
}
},
update_errors(state, val) {
state.errors = val
},
update_save_status(state, val) {
state.save_status = val
},
update_error_message(state, val) {
state.error_message = val
},
update_alert_error(state, val) {
state.alert_error = val;
},
update_dialog_error(state, val) {
state.dialog_error = val
},
update_msg_success(state, val) {
state.msg_success = val
},
update_alert_success(state, val) {
state.alert_success = val;
},
update_errors(state, val) {
state.errors = val
},
update_companys(state, val) {
state.companys = val
},
update_selected_company(state, val) {
state.selected_company = val
}
},
actions: {
async searchmou(context, {companyid, search}) {
context.commit("update_loading", true)
try {
let resp= await api.searchmou(one_token(), companyid, search)
if (resp.status != "OK") {
context.commit("update_loading", false)
context.commit("update_error", resp.message)
} else {
context.commit("update_loading",false)
context.commit("update_error","")
let data = {
records: resp.data.records,
total: resp.data.total
}
context.commit("update_mous", resp.data.records)
}
} catch(e) {
context.commit("update_loading",false)
context.commit("update_error",e.message )
}
},
async savesetting(context, prm) {
context.commit("update_save_status", 1)
try {
prm.token = one_token()
let resp = await api.savesetting(prm)
if (resp.status != "OK") {
context.commit("update_save_status", 3)
context.commit("update_error_message", resp.message)
context.commit("update_alert_error", true)
context.commit("update_dialog_error", true)
} else {
var data = {
records: resp.data.records,
total: resp.data.total
}
if (data.total !== -1){
context.commit("update_save_status", 2)
context.commit("update_error_message", "")
context.commit("update_dialog_error", false)
let data = resp.data
var msg = "Berhasil disimpan"
context.commit("update_msg_success", msg)
context.commit("update_alert_success", true)
context.commit("update_dialog_error", true)
} else {
context.commit("update_errors", resp.data.errors)
}
}
} catch (e) {
context.commit("update_save_status", 3)
context.commit("update_error_message", e.message)
context.commit("update_alert_error", true)
}
},
async searchcompany(context, {search}) {
context.commit("update_loading", true)
try {
let resp= await api.searchcompany(one_token(), search)
if (resp.status != "OK") {
context.commit("update_loading", false)
context.commit("update_error", resp.message)
} else {
context.commit("update_loading",false)
context.commit("update_error","")
let data = {
records: resp.data.records,
total: resp.data.total
}
context.commit("update_companys", resp.data.records)
}
} catch(e) {
context.commit("update_loading",false)
context.commit("update_error",e.message )
}
},
async get_data(context) {
context.commit("update_loading", true)
try {
var prm = {}
prm.token = one_token()
let resp= await api.get_data(prm)
if (resp.status != "OK") {
context.commit("update_loading", false)
context.commit("update_error", resp.message)
} else {
context.commit("update_loading",false)
context.commit("update_error","")
let rst = resp.data.records
context.commit("update_selected_mou",{M_MouID:rst.settingM_MouID,M_MouName:rst.M_MouName})
context.commit("update_mous",[{M_MouID:rst.settingM_MouID,M_MouName:rst.M_MouName}])
context.commit("update_selected_company",{M_CompanyID:rst.M_CompanyID,M_CompanyName:rst.M_CompanyName})
context.commit("update_companys",[{M_CompanyID:rst.M_CompanyID,M_CompanyName:rst.M_CompanyName}])
context.commit("update_price",rst.settingPriceDefault)
}
} catch(e) {
context.commit("update_loading",false)
context.commit("update_error",e.message )
}
},
}
}