Initial import

This commit is contained in:
sas.fajri
2026-05-25 20:01:37 +07:00
commit 710d7c1b97
10371 changed files with 2381698 additions and 0 deletions

View File

@@ -0,0 +1,229 @@
// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/area.js"
window.api = api
export default {
namespaced: true,
state: {
search: '',
search_status:0,
search_error_message:'',
search_dialog_is_active: false,
provinces: [],
cities: [],
districts: [],
villages: [],
total_provinces: 0,
total_cities: 0,
total_districts: 0,
total_villages: 0,
total_display: 0,
selected_province: {},
selected_city: {},
selected_district: {},
selected_village: {}
},
mutations: {
update_search_dialog_is_active(state,status) {
state.search_dialog_is_active = status
},
update_search_error_message(state,status) {
state.search_error_message = status
},
update_search(state,val) {
state.search=val
},
update_search_status(state,status) {
state.search_status = status
},
update_area(state, data) {
state[data.type] = data.records
state['total_'+data.type] = data.total
state.total_display = data.total_display
if (["provinces", "districts", "villages"].indexOf(data.type) > -1)
state['selected_'+ data.type.substring(0, data.type.length-1) ] = null
else if (data.type == "cities")
state['selected_city'] = null
for (let i in data.records) {
if (data.records[i].is_default == "Y") {
if (["provinces", "districts", "villages"].indexOf(data.type) > -1)
state['selected_'+ data.type.substring(0, data.type.length-1) ] = data.records[i]
else if (data.type == "cities")
state['selected_city'] = data.records[i]
}
}
},
update_selected_area(state, val) {
state['selected_'+val.type] = val.val
}
},
actions: {
async search_province(context) {
context.commit("update_search_status", 1)
context.commit("update_area", {records:[], total:0, total_display:0, type:'city'})
context.commit("update_area", {records:[], total:0, total_display:0, type:'district'})
context.commit("update_area", {records:[], total:0, total_display:0, type:'village'})
context.commit("update_selected_area", {type:'city',val:null})
context.commit("update_selected_area", {type:'district',val:null})
context.commit("update_selected_area", {type:'village',val:null})
try {
let resp = await api.search_province(context.state.search)
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_display: resp.data.total_display,
type: 'provinces'
}
// EDIT DATA
if (context.rootState.patient.edit) {
let pid = context.rootState.patient.selected_patient.M_ProvinceID
for (let i in data.records)
if (data.records[i].M_ProvinceID == pid) data.records[i].is_default = "Y"
else data.records[i].is_default = "N"
}
context.commit("update_area", data)
context.dispatch("search_city")
}
} catch(e) {
context.commit("update_search_status",3)
context.commit("update_search_error_message",e.message )
}
},
async search_city(context) {
// City
context.commit("update_search_status", 1)
context.commit("update_area", {records:[], total:0, total_display:0, type:'district'})
context.commit("update_area", {records:[], total:0, total_display:0, type:'village'})
context.commit("update_selected_area", {type:'district',val:null})
context.commit("update_selected_area", {type:'village',val:null})
try {
let resp = await api.search_city(context.state.selected_province.M_ProvinceID, context.state.search)
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_display: resp.data.total_display,
type: 'cities'
}
// EDIT DATA
if (context.rootState.patient.edit) {
let pid = context.rootState.patient.selected_patient.M_CityID
for (let i in data.records)
if (data.records[i].M_CityID == pid) data.records[i].is_default = "Y"
else data.records[i].is_default = "N"
}
context.commit("update_area", data)
context.commit("update_search_status", 1)
context.dispatch("search_district")
}
} catch(e) {
context.commit("update_search_status",3)
context.commit("update_search_error_message", e.message )
}
},
async search_district(context) {
// City
context.commit("update_search_status", 1)
context.commit("update_area", {records:[], total:0, total_display:0, type:'village'})
context.commit("update_selected_area", {type:'village',val:null})
try {
let resp = await api.search_district(context.state.selected_city.M_CityID, context.state.search)
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_display: resp.data.total_display,
type: 'districts'
}
// EDIT DATA
if (context.rootState.patient.edit) {
let pid = context.rootState.patient.selected_patient.M_DistrictID
for (let i in data.records)
if (data.records[i].M_DistrictID == pid) data.records[i].is_default = "Y"
else data.records[i].is_default = "N"
}
context.commit("update_area", data)
context.commit("update_search_status", 1)
context.dispatch("search_kelurahan")
}
} catch(e) {
context.commit("update_search_status",3)
context.commit("update_search_error_message", e.message )
}
},
async search_kelurahan(context) {
// City
context.commit("update_search_status", 1)
try {
let resp = await api.search_kelurahan(context.state.selected_district.M_DistrictID, context.state.search)
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_display: resp.data.total_display,
type: 'villages'
}
// EDIT DATA
if (context.rootState.patient.edit) {
let pid = context.rootState.patient.selected_patient.M_KelurahanID
for (let i in data.records)
if (data.records[i].M_KelurahanID == pid) data.records[i].is_default = "Y"
else data.records[i].is_default = "N"
}
context.commit("update_area", data)
context.commit("update_search_status", 1)
}
} catch(e) {
context.commit("update_search_status",3)
context.commit("update_search_error_message", e.message )
}
}
}
}

View File

@@ -0,0 +1,67 @@
// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/doctor.js"
export default {
namespaced: true,
state: {
search : '',
search_status: 0,
search_error_message: "",
doctors: [],
total_doctor: 0,
selected_doctor: {},
mounted: 0
},
mutations: {
update_search(state,val) {
state.search=val
},
update_search_error_message(state,status) {
state.search_error_message = status
},
update_search_status(state,status) {
state.search_status = status
},
update_doctors(state,data) {
state.doctors = data.records
state.total_doctor= data.total
},
update_selected_doctor(state,doc) {
state.selected_doctor= doc
if (!doc) return
state.selected_address = {}
if (doc.address)
if (doc.address.length> 0)
state.selected_address = doc.address[0]
}
},
actions: {
async search(context) {
context.commit("update_search_status",1)
try {
let resp= await api.search(context.state.search)
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 = {
total : resp.data.total,
records : resp.data.records
}
context.commit("update_doctors",data)
}
} catch(e) {
context.commit("update_search_status",3)
context.commit("update_search_error_message",e.message )
}
}
}
}

View File

@@ -0,0 +1,138 @@
// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/order.js"
export default {
namespaced: true,
state: {
order_id: 0,
payment_id: 0,
queue: '',
finish_dialog_is_active: false,
order: {
doctor_id: 0,
complaint: "",
number: ""
},
print_dialog_is_active: false,
rpt_url: ''
},
mutations: {
update_finish_dialog_is_active(state, val) {
state.finish_dialog_is_active = val
},
update_order(state, val) {
state.order = val
},
update_order_from_save(state, val) {
let o = state.order
o.number = val.number
state.order_id = val.id
state.order = o
},
update_complaint(state, v) {
state.order.complaint = v
},
update_queue(state, v) {
state.queue = v
},
update_print_dialog_is_active(state, v) {
state.print_dialog_is_active = v
},
update_rpt_url(state, v) {
state.rpt_url = v
},
update_payment_id(state, v) {
state.payment_id = v
}
},
actions: {
async save (context) {
var order_id = 0;
var payment = [];
var header = {
patient_id: context.rootState.patient.selected_patient.M_PatientID,
age: context.rootState.patient.selected_patient.patient_age,
doctor_id: context.rootState.doctor.selected_doctor.M_DoctorID,
complaint: context.rootState.order.order.complaint,
total: context.rootState.payment.order_total,
queue: context.state.queue
};
payment = context.rootState.payment.payments
let pym = []
for (let i in payment) {
if (payment[i].payment_enable == 'Y')
pym.push(payment[i])
}
payment = pym
try {
let resp= await api.save(0, header, payment, one_token())
if (resp.status != "200") {
// context.commit("update_search_status",3)
// context.commit("update_search_error_message",resp.message)
alert('error')
} else {
context.commit("update_order_from_save", resp.data.data)
context.commit('update_finish_dialog_is_active', true)
context.dispatch("reset_form")
context.commit("update_payment_id", resp.data.data.payment_id)
// context.commit('payment/update_order_id', resp.data.data.id, {root:true})
// context.dispatch('payment/get_order', resp.data.data.id, {root:true})
}
} catch(e) {
// context.commit("update_search_status",3)
// context.commit("update_search_error_message",e.message )
}
},
async reset_form (context) {
context.commit("patient/reset_patient", null, {root:true})
context.dispatch("payment/search", null, {root:true})
context.commit("payment/reset_payment", null, {root:true})
context.commit("doctor/update_selected_doctor", {}, {root:true})
context.commit("update_complaint", "")
},
async print_receipt (context) {
context.commit("update_rpt_url", BASE_URL + "/birt/run?__report=report/one/klinik/rpt_c_003.rptdesign&__format=pdf&username=admin%20&PID=" + context.state.payment_id)
context.commit("update_print_dialog_is_active", true)
try {
let resp= await api.log_nota(one_token(), context.state.order_id, 0)
if (resp.status != "200") {
// context.commit("update_search_status",3)
// context.commit("update_search_error_message",resp.message)
alert('error')
} else {
console.log(resp.data)
// context.commit('payment/update_order_id', resp.data.data.id, {root:true})
// context.dispatch('payment/get_order', resp.data.data.id, {root:true})
}
} catch(e) {
// context.commit("update_search_status",3)
// context.commit("update_search_error_message",e.message )
}
}
}
}

View File

@@ -0,0 +1,161 @@
// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/other.js"
export default {
namespaced: true,
state: {
search : '',
search_status: 0,
search_error_message: "",
sex: [],
total_sex: 0,
selected_sex: {},
title: [],
total_title: 0,
selected_title: {},
banks: [],
accounts: [],
religions: [],
total_religion: 0,
selected_religion: {},
mounted: 0
},
mutations: {
update_search(state, val) {
state.search=val
},
update_search_error_message(state,status) {
state.search_error_message = status
},
update_search_status(state,status) {
state.search_status = status
},
update_sex(state, data) {
state.sex = data.records
state.total_sex = data.total
},
update_selected_sex(state, doc) {
state.selected_sex = doc
if (doc.title) {
state.title = doc.title
} else {
state.title = []
}
},
update_selected_title(state, doc) {
state.selected_title = doc
},
update_banks(state, d) {
state.banks = d.records
},
update_accounts(state, d) {
state.accounts = d.records
},
update_religion(state, data) {
state.religions = data.records
state.total_religion = data.total
},
update_selected_religion(state, doc) {
state.selected_religion = doc
}
},
actions: {
async search_sex(context) {
context.commit("update_search_status", 1)
try {
let resp= await api.search_sex(context.state.search)
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 = {
total : resp.data.total,
records : resp.data.records
}
context.commit("update_sex", data)
}
} catch(e) {
context.commit("update_search_status",3)
context.commit("update_search_error_message",e.message )
}
},
async search_bank(context) {
context.commit("update_search_status", 1)
try {
let resp= await api.search_bank(context.state.search)
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
}
context.commit("update_banks", data)
}
} catch(e) {
context.commit("update_search_status",3)
context.commit("update_search_error_message",e.message )
}
},
async search_accounts(context) {
context.commit("update_search_status", 1)
try {
let resp= await api.search_accounts(context.state.search)
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
}
context.commit("update_accounts", data)
}
} catch(e) {
context.commit("update_search_status",3)
context.commit("update_search_error_message",e.message )
}
},
async search_religion(context) {
context.commit("update_search_status", 1)
try {
let resp= await api.search_religion(context.state.search)
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 = {
total : resp.data.total,
records : resp.data.records
}
context.commit("update_religion", data)
}
} catch(e) {
context.commit("update_search_status",3)
context.commit("update_search_error_message",e.message )
}
}
}
}

View File

@@ -0,0 +1,180 @@
// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/patient.js"
window.api = api
export default {
namespaced: true,
state: {
noreg:'',
search: '',
search_status:0,
search_error_message:'',
search_dialog_is_active: false,
patients: [],
total_patient: 0,
total_display: 0,
selected_patient: {},
patient_new: {},
patient_new_dialog_is_active: false,
idtypes: [],
selected_idtype: {},
edit: false
},
mutations: {
update_search_dialog_is_active(state,status) {
state.search_dialog_is_active = status
},
update_search_error_message(state,status) {
state.search_error_message = status
},
update_noreg(state, val) {
state.noreg = val
},
update_search(state, val) {
state.search = val
},
update_search_status(state,status) {
state.search_status = status
},
update_patients(state, data) {
state.patients= data.records
state.total_patient = data.total
state.total_display = data.total_display
},
update_selected_patient(state, val) {
var now = moment(new Date())
var dob = moment(new Date(val.M_PatientDOB))
var year = now.diff(dob,'years')
dob.add(year,'years')
var month = now.diff(dob,'months')
dob.add(month,'months')
var day = now.diff(dob,'days')
if (isNaN(year)) val.patient_age = ''
else val.patient_age = `${year} tahun ${month} bulan ${day} hari`
state.selected_patient=val
// store.state.patientaddress.patient_id = val.M_PatientID
},
reset_patient(state) {
state.selected_patient = {"M_PatientID":0,"M_PatientNoReg":"-","M_PatientName":"",
"M_PatientHP":"","M_PatientDOB":"","M_PatientNote":"","M_PatientAddress":"",
"patient_age":""}
},
update_patient_new(state, v) {
state.patient_new = v
},
update_patient_new_dialog_is_active(state, v) {
state.patient_new_dialog_is_active = v
},
update_idtypes(state, v) {
state.idtypes = v.records
},
update_selected_idtype(state, v) {
state.selected_idtype = v
},
update_edit(state, v) {
state.edit = v
}
},
actions: {
async search(context, prm) {
context.commit("update_search_status",1)
try {
let resp= await api.search(context.state.noreg, context.state.search)
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_display: resp.data.total_display
}
context.commit("update_patients", data)
if (prm)
if (prm.use) {
let pat = context.state.patients[prm.use_idx]
context.commit('update_selected_patient', pat)
context.commit('order/update_patient_note', pat.M_PatientNote, {root:true})
context.commit('photo/update_patient_id', pat.M_PatientID, {root: true})
}
// commit("patientaddress/test", "X", { root: true })
}
} 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
if (context.state.edit)
resp = await api.edit(prm, context.state.selected_patient.M_PatientID)
else
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","")
if (prm.use) {
context.commit('update_noreg', resp.data.noreg)
context.commit('update_search', '')
context.dispatch('search', {use:true, use_idx:0})
}
// commit("patientaddress/test", "X", { root: true })
}
} catch(e) {
context.commit("update_search_status",3)
context.commit("update_search_error_message",e.message )
}
},
async search_idtype(context) {
context.commit("update_search_status",1)
try {
let resp= await api.search_idtype()
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
}
context.commit("update_idtypes", data)
}
} catch(e) {
context.commit("update_search_status",3)
context.commit("update_search_error_message",e.message )
}
}
}
}

View File

@@ -0,0 +1,204 @@
// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/payment.js"
export default {
namespaced: true,
state: {
order_id: 0,
selected_patient: {
order_no: '-',
order_date: '-',
order_mou: '-',
order_company: '-',
patient_name: '-',
patient_mr: '-',
doctor_sender: '-',
doctor_pj: '-'
},
order_detail: [
// { n:1, d_id:1, t_id:1, t_name:'SGOT', t_price:80000, t_disctotal:7000, t_total:73000 },
// { n:2, d_id:2, t_id:2, t_name:'SGPT', t_price:75000, t_disctotal:8000, t_total:67000 }
],
order_total: 0,
payments: [],
payment_total: 0,
payment_id: 0,
payment_number: '',
finish_dialog_is_active: false,
paid: false
},
mutations: {
update_order (state, data) {
state.selected_patient = data.order_header
state.order_detail = data.order_detail
state.order_subtotal = data.order_header.order_subtotal
state.order_rounding = data.order_header.order_rounding
state.order_total = data.order_header.order_total
},
update_order_id (state, id) {
state.order_id = id
},
update_payment(state, o) {
if (o.type == 'cash')
state.payment_cash_amount = o.amount
if (o.type == 'debit')
state.payment_debit_amount = o.amount
if (o.type == 'credit')
state.payment_credit_amount = o.amount
},
update_payments(state, o) {
state.payments = o
// Total payments
let total = 0
for (let i in o) {
o[i].payment_actual = Math.round(o[i].payment_actual)
total += o[i].payment_actual
}
state.payment_total = total
// Calculate change
for (let i in o) {
o[i].payment_amount = o[i].payment_actual
if (o[i].payment_type_code == 'CASH') {
o[i].payment_change = 0
let chg = total - state.order_total;
if (chg > o[i].payment_actual)
chg = o[i].payment_actual
if (chg < 0)
chg = 0
o[i].payment_change = chg
// re-calculate payment amount
o[i].payment_amount = o[i].payment_actual - o[i].payment_change
state.payment_total -= chg
}
}
state.payments = o
},
reset_payment(state) {
state.payment_total = 0
},
update_finish_dialog_is_active(state, val) {
state.finish_dialog_is_active = val
},
update_payment_number(state, val) {
state.payment_number = val
},
update_payment_id(state, val) {
state.payment_id = val
},
update_paid(state, val) {
state.paid = val
},
update_order_company(state, val) {
state.order_company = val
}
},
actions: {
async get_order(context, prm) {
// context.commit("update_search_status",1)
try {
let resp= await api.get_order(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 = resp.data.data
context.commit("update_order", data)
// commit("patientaddress/test", "X", { root: true })
}
} catch(e) {
// context.commit("update_search_status",3)
// context.commit("update_search_error_message",e.message )
}
},
async search(context, prm) {
// context.commit("update_search_status",1)
try {
let resp= await api.search(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 = resp.data
context.commit("update_payments", data)
// commit("patientaddress/test", "X", { root: true })
}
} catch(e) {
// context.commit("update_search_status",3)
// context.commit("update_search_error_message",e.message )
}
},
async save(context) {
var order_id = context.state.order_id;
let payments = []
let p = context.state.payments
for (let i in context.state.payments) {
payments.push({
type: p[i].payment_type_id,
amount: p[i].payment_amount,
actual: p[i].payment_actual,
changes: p[i].payment_change,
note: p[i].payment_note,
card: p[i].payment_card_id,
edc: p[i].payment_edc_id,
account: p[i].payment_account_id
})
}
console.log(payments)
// context.commit("update_search_status",1)
try {
let resp= await api.save(order_id, payments)
if (resp.status != "200") {
// context.commit("update_search_status",3)
// context.commit("update_search_error_message",resp.message)
alert('error')
} else {
context.commit('update_payment_number', resp.data.data.payment_number)
context.commit('update_payment_id', resp.data.data.payment_id)
context.commit('update_finish_dialog_is_active', true)
context.commit('update_paid', true)
}
} catch(e) {
// context.commit("update_search_status",3)
// context.commit("update_search_error_message",e.message )
}
}
}
}

View File

@@ -0,0 +1,51 @@
// 1 => LOADING
// 2 => DONE
// 3 => ERROR
import * as api from "../api/photo.js"
window.api = api
export default {
namespaced: true,
state: {
dialog_photo: false,
photo_64: '',
photo_url: 'https://www.sgm-inc.com/wp-content/uploads/2014/06/no-profile-male-img.gif',
default_photo_url: 'https://www.sgm-inc.com/wp-content/uploads/2014/06/no-profile-male-img.gif',
patient_id: 0
},
mutations: {
update_dialog_photo (state, v) {
state.dialog_photo = v
},
update_photo_64 (state, data) {
state.photo_64 = data
},
update_photo_url (state, data) {
state.photo_url = data
},
update_patient_id (state, id) {
state.patient_id = id
}
},
actions: {
async upload(context) {
try {
let resp = await api.upload(one_token(), context.state.patient_id, context.state.photo_64)
if (resp.status != "OK") {
} else {
context.commit('update_photo_url', resp.data.photo_url);
context.commit('update_dialog_photo', false)
}
} catch(e) {
console.log(e)
}
}
}
}