Files
FE_CPONE/test/vuex/cpone-md-summary-fisik/modules/fisikdetail.js
2026-04-27 10:13:31 +07:00

243 lines
9.4 KiB
JavaScript

// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/fisikdetail.js"
export default {
namespaced: true,
state: {
search_status:0,
search_error_message:'',
summaryfisikdetail:[],
selected_summaryfisikdetail:{},
total_summaryfisikdetails:0,
last_id:-1,
current_page:1,
x_search:'',
autocomplete_status:0,
templatecodes:[],
selected_templatecode:{},
dialog_form_summary_detail:false,
act:'',
errors:[],
detailtype:[{id:'C', name:'Centang'},{id:'V', name:'Value'},{id:'VK', name:'Value Nama Kelainan'}],
selected_detailtype:{},
save_status:0,
save_error_message:'',
alert_success: false,
msg_success: ""
},
mutations: {
update_msg_success(state, val) {
state.msg_success = val
},
update_alert_success(state, val) {
state.alert_success = val
},
update_save_status(state, val) {
state.save_status = val
},
update_save_error_message(state, val) {
state.save_error_message = val
},
update_detailtype(state, val) {
state.detailtype = val
},
update_selected_detailtype(state, val) {
state.selected_detailtype = val
},
update_search_status(state, val) {
state.search_status = val
},
update_search_error_message(state, val) {
state.search_error_message = val
},
update_summaryfisikdetail(state, val) {
state.summaryfisikdetail = val
},
update_selected_summaryfisikdetail(state, val) {
state.selected_summaryfisikdetail = val
},
update_total_summaryfisikdetails(state, val) {
state.total_summaryfisikdetails = val
},
update_last_id(state, val) {
state.last_id = val
},
update_current_page(state, val) {
state.current_page = val
},
update_x_search(state, val) {
state.x_search = val
state.current_page = 1
},
update_autocomplete_status(state, val) {
state.autocomplete_status = val
},
update_templatecodes(state, val) {
state.templatecodes = val
},
update_selected_templatecode(state, val) {
state.selected_templatecode = val
},
update_dialog_form_summary_detail(state, val) {
state.dialog_form_summary_detail = val
},
update_act(state, val) {
state.act = val
},
update_errors(state, val) {
state.errors = val
},
},
actions: {
async deletedetail(context, prm) {
context.commit("update_save_status", 1)
try {
let resp = await api.deletedetail(one_token(), prm.id)
if (resp.status != "OK") {
context.commit("update_save_status", 3)
context.commit("update_save_error_message", resp.message)
} else {
context.commit("update_save_status", 2)
context.commit("update_save_error_message", resp.message)
context.commit("update_alert_success", true)
var msg = "Template Kode " + prm.name +" berhasil di hapus"
context.commit("update_msg_success", msg)
context.commit("update_alert_success", true)
context.commit("update_selected_templatecode", {})
context.commit("update_selected_detailtype", {})
context.dispatch("searchdetail", {
fifiksummaryId: prm.fisiksummaryId,
search: prm.search,
current_page: 1,
last_id: -1
})
}
} catch (e) {
context.commit("update_save_status", 3)
console.log(e)
}
},
async updatedetail(context, prm) {
context.commit("update_save_status", 1)
try {
prm.token = one_token()
let resp = await api.updatedetail(prm)
if (resp.status != "OK") {
context.commit("update_save_status", 3)
context.commit("update_save_error_message", resp.message)
} else {
var data = {
records: resp.data.records,
total: resp.data.total
}
if (data.total !== -1) {
context.commit("update_save_status", 2)
context.commit("update_save_error_message", resp.message)
context.commit("update_dialog_form_summary_detail", false)
var msg = "Template Kode " + prm.name +" berhasil di update"
context.commit("update_msg_success", msg)
context.commit("update_alert_success", true)
context.dispatch("searchdetail", {
fifiksummaryId: prm.fisiksummaryId,
search: prm.search,
current_page: 1,
last_id: -1
})
} else {
context.commit("update_errors", resp.data.errors)
}
}
} catch (e) {
context.commit("update_save_status", 3)
context.commit("update_save_error_message", e.message)
console.log(e)
}
},
async addnewdetail(context, prm) {
context.commit("update_save_status", 1)
try {
prm.token = one_token()
let resp = await api.addnewdetail(prm)
if (resp.status != "OK") {
context.commit("update_save_status", 3)
context.commit("update_save_error_message", resp.message)
} else {
var data = {
records: resp.data.records,
total: resp.data.total
}
if (data.total !== -1) {
context.commit("update_save_status", 2)
context.commit("update_save_error_message", resp.message)
context.commit("update_dialog_form_summary_detail", false)
var msg = "Template Kode " + prm.name + " sudah disimpan dong"
context.commit("update_msg_success", msg)
context.commit("update_alert_success", true)
context.dispatch("searchdetail", {
fifiksummaryId: prm.fisiksummaryId,
search: prm.search,
current_page: 1,
last_id: -1
})
} else {
context.commit("update_errors", resp.data.errors)
}
}
} catch (e) {
context.commit("update_save_status", 3)
context.commit("update_save_error_message", e.message)
console.log(e)
}
},
async searchdetail(context, prm) {
context.commit("update_search_status", 1)
try {
prm.token = one_token()
let resp = await api.searchdetail(prm)
if (resp.status != "OK") {
context.commit("update_search_status", 3)
context.commit("update_search_error_message", resp.message)
} else {
context.commit("update_search_status", 2)
context.commit("update_search_error_message", "")
let data = {
records: resp.data.records,
total: resp.data.total,
total_page: resp.data.total_page
}
context.commit("update_summaryfisikdetail", data.records)
context.commit("update_total_summaryfisikdetails", data.total_page)
}
} catch (e) {
context.commit("update_search_status", 3)
context.commit("update_search_error_message", e.message)
}
},
async searchtemplatecode(context, prm) {
context.commit("update_autocomplete_status", 1)
try {
let resp = await api.searchtemplatecode(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
}
context.commit("update_templatecodes", resp.data.records)
}
} catch (e) {
context.commit("update_autocomplete_status", 3)
}
},
}
}