Files
FE_CPONE/test/vuex/hs-registrasi-v5/modules/delivery.js
2026-04-27 10:13:31 +07:00

214 lines
7.2 KiB
JavaScript

// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/delivery.js"
export default {
namespaced: true,
state: {
search_status:0,
search_error_message:'',
deliveries: [],
patient_id: 0,
doctor_id: 0,
order_id: 0,
mou_id: 0,
data_deliveries:[],
selected_data_delivery:[],
checked_id: [],
listmous: [],
xpatientid: 0,
xaddress: '',
xlabel: '',
dialogmou: false
},
mutations: {
update_dialogmou(state, data) {
state.dialogmou = data
},
update_xlabel(state, data) {
state.xlabel = data
},
update_xaddress(state, data) {
state.xaddress = data
},
update_xpatientid(state, data) {
state.xpatientid = data
},
update_listmous(state, data) {
state.listmous = data
},
update_data_deliveries(state,value){
state.data_deliveries = value
},
update_selected_data_delivery(state,value){
state.selected_data_delivery = value
},
update_search_error_message(state,status) {
state.search_error_message = status
},
update_search_status(state,status) {
state.search_status = status
},
update_deliveries(state,data) {
for (var i in data) {
if (state.checked_id.indexOf(data[i].idx) > -1)
data[i].selected = true
else
data[i].selected = false
}
state.deliveries = data
},
update_deliveries_2(state) {
for (var i in state.deliveries) {
if (state.checked_id.indexOf(state.deliveries[i].idx) > -1)
state.deliveries[i].selected = true
else
state.deliveries[i].selected = false
}
// state.deliveries= data
},
update_selected_delivery(state,val) {
state.selected_delivery=val
},
update_params(state, val) {
if (typeof val.p_id !== 'undefined')
state.patient_id = val.p_id;
if (typeof val.o_id !== 'undefined')
state.order_id = val.o_id;
if (typeof val.d_id !== 'undefined')
state.doctor_id = val.d_id;
if (typeof val.m_id !== 'undefined')
state.mou_id = val.m_id;
},
update_checked_id(state, val) {
state.checked_id = val
}
},
actions: {
async search(context) {
console.log(context.rootState.company.selected_company)
context.commit("update_search_status",1)
try {
let resp= await api.search(context.state.order_id,
context.state.patient_id,
context.state.doctor_id,
context.state.mou_id,
context.rootState.company.selected_company.M_CompanyID)
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
}
let deliveries = resp.data.records
if(deliveries.length > 0)
context.commit("update_deliveries",deliveries)
}
} catch(e) {
context.commit("update_search_status",3)
context.commit("update_search_error_message",e.message )
}
},
async search_deliveries(context,prm) {
console.log(context.rootState.company.selected_company)
context.commit("update_search_status",1)
try {
prm.token = one_token()
let resp= await api.search_deliveries(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
}
let deliveries = resp.data.records
/* var existing_deliveries = context.state.data_deliveries
var exclude_type = _.filter(existing_deliveries, function(o) { return o.type !== prm.type })
if(deliveries.length > 0){
deliveries.forEach(function(delivery) {
exclude_type.push(delivery)
})
}
*/
console.log(deliveries)
context.commit("update_data_deliveries",deliveries)
}
} catch(e) {
context.commit("update_search_status",3)
context.commit("update_search_error_message",e.message )
}
},
async listmou(context,prm) {
context.commit("update_search_status",1)
try {
prm.token = one_token()
let resp= await api.listmou(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
}
let deliveries = resp.data.records
/* var existing_deliveries = context.state.data_deliveries
var exclude_type = _.filter(existing_deliveries, function(o) { return o.type !== prm.type })
if(deliveries.length > 0){
deliveries.forEach(function(delivery) {
exclude_type.push(delivery)
})
}
*/
console.log(deliveries)
context.commit("update_listmous",deliveries)
}
} catch(e) {
context.commit("update_search_status",3)
context.commit("update_search_error_message",e.message )
}
},
async add_new(context, prm) {
context.commit("update_search_status",1)
try {
let resp= await api.add_new(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","")
context.dispatch('search_deliveries', {type:'patient',id:prm.patientid})
context.commit("update_dialogmou",false)
// commit("patientaddress/test", "X", { root: true })
}
} catch(e) {
context.commit("update_search_status",3)
context.commit("update_search_error_message",e.message )
}
},
}
}