// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/re_patient.js" window.api = api export default { namespaced: true, state: { order_id:0, search: '', nolab: '', sdate: moment(new Date()).format('YYYY-MM-DD'), edate: null, search_status:0, search_error_message:'', search_dialog_is_active: false, patients: [], total_patient: 0, total_patient_page: 0, curr_patient_page: 1, selected_patient: { }, total_day:0, total_susulan:0, // PX total_px: 0, pxs: [], // Print print_dialog: false, rpt_url: '', dialog_req: false, info_req: {req_fo:[],req_spec_col:[],req_spec_ver:[],req_samp_ver:[],req_pre_an:[]}, url_print:'', deliveries:[], selected_delivery:{id:'0',name:'Semua'}, bar_chx_all:false, indeterminatex:false, current_page:1, selected_patients:[], snackbar:{status:false,color:'success',timeout:3000,text:""}, groups:[], selected_group:{}, open_dialog_info:false, msg_info:'', print_count:0, dialog_alert: false, notes:{note:'',user:''}, alert_doctor:{}, switch_exclude:false, open_print:false, check_qrcode:false, disable_btn:false, status_payment:'X' }, mutations: { update_status_payment(state,val) { state.status_payment=val }, update_disable_btn(state,val) { state.disable_btn=val }, update_open_print(state,val) { state.open_print=val }, update_check_qrcode(state,val) { state.check_qrcode=val }, update_switch_exclude(state,val) { state.switch_exclude=val }, update_alert_doctor(state,val) { state.alert_doctor=val }, update_notes(state,val) { state.notes=val }, update_dialog_alert(state,val) { state.dialog_alert=val }, update_print_count(state,val) { state.print_count=val }, update_open_dialog_info(state,val) { state.open_dialog_info=val }, update_msg_info(state,val) { state.msg_info=val }, update_selected_group(state,val) { state.selected_group=val }, update_groups(state,val) { state.groups=val }, update_snackbar(state,val) { state.snackbar=val }, update_selected_patients(state,val) { state.selected_patients=val }, update_total_day(state,val) { state.total_day=val }, update_total_susulan(state,val) { state.total_susulan=val }, update_current_page(state,val) { state.current_page=val }, update_indeterminatex(state,val) { state.indeterminatex=val }, update_bar_chx_all(state,val) { state.bar_chx_all=val }, update_deliveries(state,val) { state.deliveries=val }, update_selected_delivery(state,val) { state.selected_delivery=val }, update_url_print(state,val) { state.url_print=val }, 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_nolab(state, val) { state.nolab = 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_patient_page = data.total_page }, update_curr_patient_page(state, data) { state.curr_patient_page = data }, update_selected_patient(state,val) { state.selected_patient=val }, update_id(state, id) { state.order_id = id }, update_pxs(state, pxs) { state.pxs = pxs.records }, update_sdate(state, date) { state.sdate = date }, update_edate(state, date) { state.edate = date }, update_print_dialog(state, v) { state.print_dialog = v }, update_rpt_url(state, v) { let user = window.one_user() state.rpt_url = '/birt/frameset?__report=report/one/lab/rpt_test.rptdesign&__format=pdf&username='+user.M_UserUsername+'%20&PID='+v+'&ts='+Math.floor(Date.now() / 1000) }, update_info_req(state, v) { state.info_req = v }, update_dialog_req(state, v) { state.dialog_req = v } }, actions: { async search(context) { context.commit("update_search_status", 1) try { let inp_no = context.state.search let company_id = 0 let mou_id = 0 if (context.rootState.company.company) company_id = context.rootState.company.company.M_CompanyID if (context.rootState.company.agreement) mou_id = context.rootState.company.agreement.M_MouID let resp= await api.search(context.state.switch_exclude,one_token(), context.state.sdate, inp_no , context.state.curr_patient_page, company_id,mou_id,context.state.selected_delivery.id,context.state.current_page) 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 } //console.log(resp.data.notes) context.commit("update_patients", data) context.commit("update_total_day", resp.data.total_day) context.commit("update_total_susulan", resp.data.total_susulan) if (data.records.length < 1) { context.commit('update_selected_patient', null) //context.commit('re_px/update_pxs', [], {root:true}) } else { context.commit('update_selected_patient', data.records[0]) context.commit('re_px/update_id', data.records[0].T_OrderHeaderID, {root:true}) //let user = one_user() let item = data.records[0] //let rpt = "rpt_test" //if(item.ready_print === 'N') //rpt = "rpt_test_not_print" //var xurl = "/birt/frameset?__report=report/one/lab/"+rpt+".rptdesign&__format=pdf&username="+user.M_UserUsername+"&PID="+item.T_OrderHeaderID+"&tm="+Date.now() //context.commit('update_url_print', xurl) var xrecords = data.records xrecords.forEach((el)=>{ if(context.state.bar_chx_all == true) el.chex = true else{ el.chex = false } }) var xdata = { records:xrecords, total:resp.data.total, total_page:resp.data.total_page } context.commit("update_patients", xdata) context.dispatch('getdeliveries',{id:item.T_OrderHeaderID,promise_date:item.T_OrderPromiseDateTime}) } } } catch(e) { context.commit("update_search_status",3) context.commit("update_search_error_message",e.message ) } }, async info_req(context) { context.commit("update_search_status", 1) try { let resp= await api.info_req(one_token(), context.state.selected_patient.T_OrderHeaderID) 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.commit('update_info_req', resp.data) } } catch(e) { context.commit("update_search_status", 3) context.commit("update_search_error_message", e.message ) } }, async releaseresult(context) { context.commit("update_search_status", 1) try { // console.log(prm) let resp= await api.releaseresult(one_token(),context.state.sdate,context.state.selected_patients,context.state.bar_chx_all,context.state.selected_delivery) 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.commit("update_bar_chx_all", false) var snackbar = {status:true,color:"success",timeout:3000,text:"Laporan berhasil diserahkan"} context.commit("update_snackbar",snackbar) context.dispatch("search") } } catch(e) { context.commit("update_search_status", 3) context.commit("update_search_error_message", e.message ) } }, async get_deliverytype(context) { context.commit("update_search_status", 1) try { let resp= await api.getdeliverytype(one_token()) 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.commit('update_deliveries', resp.data.records) context.commit('update_selected_delivery', resp.data.records[0]) context.dispatch("search") } } catch(e) { context.commit("update_search_status", 3) context.commit("update_search_error_message", e.message ) } }, async getdeliveries(context,prm) { context.commit("update_search_status", 1) try { prm.token = one_token() let resp= await api.getdeliveries(prm) if (resp.status != "OK") { context.commit("update_search_status", 3) context.commit("update_search_error_message", resp.message) } else { context.commit("update_open_print",false) context.commit("update_check_qrcode",false) context.commit("update_search_status",2) context.commit("update_search_error_message","") context.commit("update_notes",resp.data.notes) context.commit("update_alert_doctor",resp.data.alert_doctor) context.commit('update_deliveries', resp.data.records['deliveries']) context.commit('update_groups', resp.data.records['groups']) context.commit('update_print_count', resp.data.records['print_count']) context.commit('update_status_payment', resp.data.records['status_payment']) if(resp.data.records['groups'].length > 0){ var selected_group = resp.data.records['groups'][0] context.commit('update_selected_group', selected_group) if(selected_group.type === 'rpt'){ let user = one_user() var rptname = selected_group.rpt console.log(context.state.check_qrcode) if(context.state.check_qrcode) rptname = selected_group.rptqrcode var atr_print = 'frameset' if(selected_group.group_name == 'Preparasi Sperma' && selected_group.group_name == 'DFI'){ atr_print = 'run' } var xurl = "/birt/"+atr_print+"?__report=report/one/lab/"+rptname+".rptdesign&__format=pdf&username="+user.M_StaffName+"&PID="+prm.id+"&tm="+Date.now() console.log(xurl) console.log(rptname+'bxbbxb') console.log(selected_group.group_name ) console.log(atr_print) context.commit('update_url_print', xurl) console.log("dasdsa") } } else{ let msg = "
Sebenarnya sudah ada rencana buat ke semeru, semakin hari malah terlupakan
Sudah dicari kemana-mana tidak ketemu, maaf ayem sori tiada hasil yang ditampilkan
" context.commit("update_msg_info",msg) context.commit("update_open_dialog_info", true) } //context.dispatch("search") } } catch(e) { context.commit("update_search_status", 3) context.commit("update_search_error_message", e.message ) } }, async print_count(context,prm) { context.commit("update_search_status", 1) try { prm.token = one_token() let resp= await api.printcount(prm) if (resp.status != "OK") { context.commit("update_search_status", 3) context.commit("update_search_error_message", resp.message) } else { context.commit("update_disable_btn",false) context.commit("update_open_print",true) context.commit("update_search_status",2) context.commit("update_search_error_message","") var rpt_groups = context.state.groups var selected_group = rpt_groups[0] if(selected_group.type === 'rpt'){ let user = one_user() var rptname = selected_group.rpt if(context.state.check_qrcode) rptname = selected_group.rptqrcode var xurl = "/birt/frameset?__report=report/one/lab/"+rptname+".rptdesign&__format=pdf&username="+user.M_StaffName+"&PID="+prm.orderid+"&tm="+Date.now() context.commit('update_url_print', xurl) context.commit("update_open_print",true) } var patients = context.state.patients var selpat = context.state.selected_patient var idx = _.findIndex(patients, function(o) { return o.T_OrderHeaderID == selpat.T_OrderHeaderID }) console.log(idx) patients[idx].count_print = resp.data.records['print_count'] var r_patients = {} r_patients.records= patients r_patients.total_patient = context.state.total r_patients.total_patient_page = context.state.total_page console.log(r_patients) context.commit('update_patients', r_patients) selpat.count_print = resp.data.records['print_count'] context.commit('update_selected_patient', selpat) context.commit('update_print_count', resp.data.records['print_count']) //context.commit('update_status_payment', resp.data.records['status_payment']) } //context.dispatch("search") } catch(e) { context.commit("update_search_status", 3) context.commit("update_search_error_message", e.message ) } } } }