// 1 => LOADING // 2 => DONE // 3 => ERROR import * as api from "../api/samplecall.js" export default { namespaced: true, state: { trx_id:0, trx_numbering:'NO.TRANSAKSI', last_id:-1, last_saved_id:-1, x_addr_id:0, act:'edit', act_addr:'new', get_data_status:0, search_transaction: 0, search_status: 0, search_error_message: '', preffix:'', transaction_name:'', suffix:'', transactions: [], selected_transaction: {}, companies:[], selected_company:{}, filter_companies:[], filter_selected_company:{id:0,name:'Semua Perusahaan'}, sampletypes:[], selected_sampletype:{}, total_transactions:0, transaction_address: [], stations:[], selected_station:{}, statuses:[], selected_status:{}, transaction_date:moment(new Date()).format('DD-MM-YYYY'), transaction_time:moment(new Date()).format("hh:mm"), phone:'', hp:'', email:'', pj:'N', dpj:'N', clinic:'N', is_default:'N', marketing_confirm:'N', save_status: 0, btn_save_seen: true, pgrs_save: false, save_error_message: '', no_save: 0, open_alert_confirmation:false, alert_success: false, msg_success: "", dialog_success: false, dialog_confirmation_delete: false, msg_confirmation_delete: "", dialog_confirmation_delete_addr: false, msg_confirmation_delete_addr: "", autocomplete_status:0, dialog_form_address: false, label_address:'', addresses:[], cities:[], city_address:{}, districts:[], district_address:{}, kelurahans:[], kelurahan_address:{}, description_address:'', errors:[], dialog_action:false, msg_action:'', current_page:1, total_page:1, autocomplete_status:0, agreement_types:[], selected_agreement_type:{}, mou:[], selected_mou:{}, company_cpname:"", company_cphp:"", participants:"", resulttype_report:"", special_requirement:"", implementation_date:"", implementation_time:"", implementation_place:"", setupinstrument_time:"", normal_price:"", agreement_price:"", discount_price:"", billing_system:"", duedate:"", sendresult_date:"", sendresult_place:"", sendresult_cpname:"", sendresult_cphp:"", marketing_staff:"", notes:"", foods:"", selected_month: { id: 1, name: "Januari" }, selected_week: { id: 1, name: "Pertama" }, selected_day: { id: 1, name: "Minggu" }, xmonth:0, xweek:0, xday:0, xhour:"", flagattime:false, attime:"12:00", readonlyattime:true, readonlyhour:false, formulas:[{'code':'BMI','fx':'count_bmi'}], start_date:moment(new Date()).format('YYYY-MM-DD'), end_date:moment(new Date()).format('YYYY-MM-DD'), }, mutations: { update_formulas(state,val){ state.formulas = val }, update_xmonth(state,val){ state.xmonth = val }, update_xmonth(state,val){ state.xmonth = val }, update_xweek(state,val){ state.xweek = val }, update_xday(state,val){ state.xday = val }, update_xhour(state,val){ state.xhour = val }, update_flagattime(state,val){ state.flagattime = val }, update_attime(state,val){ state.attime = val }, update_readonlyattime(state,val){ state.readonlyattime = val }, update_readonlyhour(state,val){ state.readonlyhour = val }, update_selected_month(state,val){ state.selected_month = val }, update_selected_week(state,val){ state.selected_week = val }, update_selected_day(state,val){ state.selected_day = val }, update_trx_id(state,val){ state.trx_id = val }, update_trx_numbering(state,val){ state.trx_numbering = val }, update_foods(state,val){ state.foods = val }, update_notes(state,val){ state.notes = val }, update_marketing_staff(state,val){ state.marketing_staff = val }, update_sendresult_cphp(state,val){ state.sendresult_cphp = val }, update_sendresult_cpname(state,val){ state.sendresult_cpname = val }, update_sendresult_place(state,val){ state.sendresult_place = val }, update_sendresult_date(state,val){ state.sendresult_date = val }, update_duedate(state,val){ state.duedate = val }, update_billing_system(state,val){ state.billing_system = val }, update_discount_price(state,val){ state.discount_price = val }, update_agreement_price(state,val){ state.agreement_price = val }, update_normal_price(state,val){ state.normal_price = val }, update_setupinstrument_time(state,val){ state.setupinstrument_time = val }, update_implementation_place(state,val){ state.implementation_place = val }, update_implementation_time(state,val){ state.implementation_time = val }, update_implementation_date(state,val){ state.implementation_date = val }, update_special_requirement(state,val){ state.special_requirement = val }, update_resulttype_report(state,val){ state.resulttype_report = val }, update_participants(state,val){ state.participants = val }, update_company_cphp(state,val){ state.company_cphp = val }, update_company_cpname(state,val){ state.company_cpname = val }, update_mou(state,val){ state.mou = val }, update_selected_mou(state,val){ state.selected_mou = val }, update_agreement_types(state,val){ state.agreement_types = val }, update_selected_agreement_type(state,val){ state.selected_agreement_type = val }, update_autocomplete_status(state,val){ state.autocomplete_status = val }, update_companies(state, val) { state.companies = val }, update_selected_company(state, val) { state.selected_company = val }, update_filter_companies(state, val) { state.filter_companies = val }, update_filter_selected_company(state, val) { state.filter_selected_company = val }, update_total_page(state, val) { state.total_page = val }, update_current_page(state, val) { state.current_page = val }, update_x_addr_id(state, val) { state.x_addr_id = val }, update_last_id(state, val) { state.last_id = val }, update_last_saved_id(state, val) { state.last_saved_id = val }, update_act(state, val) { state.act = val }, update_act_addr(state, val) { state.act_addr = val }, update_get_data_status(state, val) { state.get_data_status = val }, update_search_error_message(state, transaction) { state.search_error_message = transaction }, update_search_transaction(state, transaction) { state.search_transaction = transaction }, update_preffix(state, val) { state.preffix = val }, update_transaction_name(state, val) { state.transaction_name = val }, update_suffix(state, val) { state.suffix = val }, update_transactions(state, data) { state.transactions = data }, update_selected_transaction(state, val) { state.selected_transaction = val }, update_sampletypes(state, data) { state.sampletypes = data }, update_selected_sampletype(state, val) { state.selected_sampletype = val }, update_stations(state, val) { state.stations = val }, update_selected_station(state, val) { state.selected_station = val }, update_statuses(state, val) { state.statuses = val }, update_selected_status(state, val) { state.selected_status = val }, update_phone(state, val) { state.phone = val }, update_email(state, val) { state.email = val }, update_hp(state, val) { state.hp = val }, update_pj(state, val) { state.pj = val }, update_dpj(state, val) { state.dpj = val }, update_clinic(state, val) { state.clinic = val }, update_marketing_confirm(state, val) { state.marketing_confirm = val }, update_is_default(state, val) { state.is_default = val }, update_save_status(state, val) { state.save_status = val }, update_btn_save_seen(state, val) { state.btn_save_seen = val }, update_pgrs_save(state, val) { state.pgrs_save = val }, update_save_error_message(state, msg) { state.save_error_message = '' }, update_no_save(state, val) { state.no_save = val }, update_open_alert_confirmation(state, val) { state.open_alert_confirmation = val }, update_alert_success(state, val) { state.alert_success = val }, update_msg_success(state, val) { state.msg_success = val }, update_dialog_success(state, val) { state.dialog_success = val }, update_dialog_confirmation_delete(state, val) { state.dialog_confirmation_delete = val }, update_msg_confirmation_delete(state, val) { state.msg_confirmation_delete = val }, update_dialog_confirmation_delete_addr(state, val) { state.dialog_confirmation_delete_addr = val }, update_msg_confirmation_delete_addr(state, val) { state.msg_confirmation_delete_addr = val }, update_addresses(state, val) { state.addresses = val }, update_autocomplete_status(state,val){ state.autocomplete_status = val }, update_dialog_form_address(state, val) { state.dialog_form_address = val }, update_label_address(state, val) { state.label_address = val }, update_cities(state, val) { state.cities = val }, update_city_address(state, val) { state.city_address = val }, update_districts(state, val) { state.districts = val }, update_district_address(state, val) { state.district_address = val }, update_kelurahans(state, val) { state.kelurahans = val }, update_kelurahan_address(state, val) { state.kelurahan_address = val }, update_description_address(state, val) { state.description_address = val }, update_search_status(state, val) { state.search_status = val }, update_errors(state, val) { state.errors = val }, update_total_transactions(state, val) { state.total_transactions = val }, update_dialog_action(state, val) { state.dialog_action = val }, update_msg_action(state, val) { state.msg_action = val }, update_start_date(state, val) { state.start_date = val }, update_end_date(state, val) { state.end_date = val }, }, actions: { async search(context, prm) { context.commit("update_search_transaction", 1) try { prm.token = one_token() let resp = await api.search(prm) if (resp.status != "OK") { context.commit("update_search_transaction", 3) context.commit("update_search_error_message", resp.message) } else { context.commit("update_search_transaction", 2) context.commit("update_search_error_message", "") let data = { records: resp.data.records, total: resp.data.total } context.commit("update_transactions", data.records) context.commit("update_total_transactions", data.total) //context.commit("update_total_page", data.total) context.commit("update_no_save", 0) if(prm.lastid === -1){ var pat = data.records[0] if(data.records.length === 0){ context.commit("update_selected_transaction",{}) context.commit("update_trx_id",'0') context.commit("update_trx_numbering","NO.TRANSAKSI") context.commit("update_companies",[]) context.commit("update_selected_company", {}) context.commit("update_selected_agreement_type", {}) context.commit("update_mou", []) context.commit("update_selected_mou", {}) context.commit("update_company_cpname", "") context.commit("update_company_cphp", "") context.commit("update_participants", "") context.commit("update_resulttype_report", "") context.commit("update_special_requirement", "") context.commit("update_implementation_date", "") context.commit("update_implementation_time", "") context.commit("update_implementation_place", "") context.commit("update_setupinstrument_time","") context.commit("update_normal_price", "") context.commit("update_agreement_price","") context.commit("update_discount_price","") context.commit("update_duedate", "") context.commit("update_billing_system","") context.commit("update_sendresult_date","") context.commit("update_sendresult_place","") context.commit("update_sendresult_cpname","") context.commit("update_sendresult_cphp", "") context.commit("update_marketing_staff", "") context.commit("update_notes","") context.commit("update_foods", "") context.commit("update_xmonth", 0) context.commit("update_xweek", 0) context.commit("update_xday", 0) context.commit("update_flagattime", false) context.commit("update_attime","12:00") context.commit("update_start_date",moment(new Date()).format('YYYY-MM-DD') ) context.commit("update_end_date",moment(new Date()).format('YYYY-MM-DD')) }else{ var trx = data.records[0] context.commit("update_selected_transaction",trx) context.commit("update_trx_numbering",trx.trx_numbering) context.commit("update_trx_id",trx.trx_id) context.commit("update_companies",[{id:trx.Mcu_AgreementCustomerM_CompanyID,name:trx.M_CompanyName}]) context.commit("update_selected_company", {id:trx.Mcu_AgreementCustomerM_CompanyID,name:trx.M_CompanyName}) context.commit("update_selected_agreement_type", {id:trx.Mcu_AgreementScopeWorkMcu_AgreementTypeID,name:trx.Mcu_AgreementTypeName}) context.commit("update_mou", trx.mou) context.commit("update_selected_mou", {id:trx.Mcu_AgreementCustomerM_MouID,name:trx.M_MouName}) context.commit("update_company_cpname", trx.Mcu_AgreementCustomerCpName) context.commit("update_company_cphp", trx.Mcu_AgreementCustomerCpHp) context.commit("update_participants", trx.Mcu_AgreementScopeWorkParticipants) context.commit("update_resulttype_report", trx.Mcu_AgreementScopeWorkResultTypeReport) context.commit("update_special_requirement", trx.Mcu_AgreementScopeWorkSpecialRequirements) context.commit("update_implementation_date", trx.Mcu_AgreementImplementationDate) context.commit("update_implementation_time", trx.Mcu_AgreementImplementationTime) context.commit("update_implementation_place", trx.Mcu_AgreementImplementationPlace) context.commit("update_setupinstrument_time", trx.Mcu_AgreementImplementationSetupInstumentTime) context.commit("update_normal_price", trx.Mcu_AgreementPriceNormalPrice) context.commit("update_agreement_price", trx.Mcu_AgreementPriceAgreementPrice) context.commit("update_discount_price", trx.Mcu_AgreementPriceDiscount) context.commit("update_duedate", trx.Mcu_AgreementPriceDueDate) context.commit("update_billing_system", trx.Mcu_AgreementPriceBillingSystem) context.commit("update_sendresult_date", trx.Mcu_AgreementSendResultDate) context.commit("update_sendresult_place", trx.Mcu_AgreementSendResultPlace) context.commit("update_sendresult_cpname", trx.Mcu_AgreementSendResultCPName) context.commit("update_sendresult_cphp", trx.Mcu_AgreementSendResultCPHP) context.commit("update_marketing_staff", trx.Mcu_AgreementMarketingName) context.commit("update_notes", trx.Mcu_AgrrementNotesValue) context.commit("update_foods", trx.Mcu_AgreementFacilityFood) var flag_attime = trx.Mcu_AgreementPromiseFlagAtTime === 'N'?false:true var xattime = trx.promise_time context.commit("update_xmonth", trx.Mcu_AgreementPromiseMonth) context.commit("update_xweek", trx.Mcu_AgreementPromiseWeek) context.commit("update_xday", trx.Mcu_AgreementPromiseDay) context.commit("update_flagattime", flag_attime) context.commit("update_attime", xattime) context.commit("update_start_date",trx.Mcu_AgreementPromiseStartDate ) context.commit("update_end_date",trx.Mcu_AgreementPromiseEndDate) } } else{ context.commit("update_selected_transaction", data.records[prm.lastid]) var pat = data.records[prm.lastid] context.dispatch("getsampletypes",{ orderid:pat.T_OrderHeaderID, stationid: pat.T_SampleStationID, statusid: pat.statusid }) } } } catch (e) { context.commit("update_search_transaction", 3) context.commit("update_search_error_message", e.message) console.log(e) } }, async getstationstatus(context,prm) { context.commit("update_get_data_status",1) try { let resp= await api.getstationstatus(one_token()) if (resp.status != "OK") { context.commit("update_get_data_status",3) } else { context.commit("update_get_data_status",2) let data = { records : resp.data.records, total: resp.data.total } context.commit("update_stations",data.records.stations) context.commit("update_selected_station",data.records.stations[0]) context.commit("update_statuses",data.records.statuses) context.commit("update_selected_status",data.records.statuses[0]) prm.stationid = data.records.stations[0].id prm.statusid = data.records.statuses[0].id console.log(prm) context.dispatch("search",prm) } } catch(e) { context.commit("update_get_data_status",3) } }, async getagreementtype(context,prm) { context.commit("update_get_data_status",1) try { let resp= await api.getagreementtype(one_token()) if (resp.status != "OK") { context.commit("update_get_data_status",3) } else { context.commit("update_get_data_status",2) let data = { records : resp.data.records, total: resp.data.total } context.commit("update_agreement_types",data.records) } } catch(e) { context.commit("update_get_data_status",3) } }, async getmou(context,prm) { context.commit("update_get_data_status",1) try { prm.token = one_token() let resp= await api.getmou(prm) if (resp.status != "OK") { context.commit("update_get_data_status",3) } else { context.commit("update_get_data_status",2) let data = { records : resp.data.records, total: resp.data.total } context.commit("update_mou",data.records) context.commit("update_selected_mou",{}) } } catch(e) { context.commit("update_get_data_status",3) } }, async save(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.save(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) context.commit("update_last_id", prm.M_transactionID) context.commit("update_dialog_success", true) var msg = "Data dokter " + prm.M_transactionName + " sudah terupdate dong ..." context.commit("update_msg_success", msg) } } catch(e) { context.commit("update_save_status",3) } }, async saveagreement(context,prm){ context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.saveagreement(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) let data = { records : resp.data.records, total: resp.data.total } //context.commit("update_last_id", prm.M_transactionID) var msg = "Data transaksi " + data.records.numbering + " sudah tersimpan dong ..." context.commit("update_msg_success", msg) context.commit("update_dialog_success", true) } } catch(e) { context.commit("update_save_status",3) } }, async searchcompany(context,prm) { context.commit("update_autocomplete_status",1) try { let resp= await api.searchcompany(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, total: resp.data.total } context.commit("update_companies",resp.data.records) } } catch(e) { context.commit("update_autocomplete_status",3) } }, async filtersearchcompany(context,prm) { context.commit("update_autocomplete_status",1) try { let resp= await api.searchcompany(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, total: resp.data.total } context.commit("update_filter_companies",resp.data.records) } } catch(e) { context.commit("update_autocomplete_status",3) } }, async newtransaction(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.newtransaction(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) console.log(resp.data.id) context.commit("update_last_id", resp.data.id) context.commit("update_dialog_success", true) var msg = "Data dokter " + prm.M_transactionName + " sudah tersimpan dong ..." context.commit("update_msg_success", msg) } } catch(e) { context.commit("update_save_status",3) } }, async delete(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.xdelete(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) context.commit("update_last_id", 0) context.commit("update_dialog_confirmation_delete",false) context.commit("update_dialog_success", true) var msg = "Data dokter " + prm.M_transactionName + " sudah dihapus dong ..." context.commit("update_msg_success", msg) context.commit("update_preffix",'') context.commit("update_transaction_name",'') context.commit("update_suffix",'') context.commit("update_selected_sex",{}) context.commit("update_selected_religion",{}) context.commit("update_phone",'') context.commit("update_email",'') context.commit("update_hp",'') context.commit("update_pj",'N') context.commit("update_dpj",'N') context.commit("update_clinic",'N') context.commit("update_marketing_confirm",'N') context.commit("update_is_default",'N') } } catch(e) { context.commit("update_save_status",3) } }, async getaddress(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.getaddress(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) let data = { records : resp.data.records, total: resp.data.total } context.commit("update_addresses",data.records) } } catch(e) { context.commit("update_save_status",3) } }, async searchcity(context,prm) { context.commit("update_autocomplete_status",1) try { let resp= await api.searchcity(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, total: resp.data.total } context.commit("update_cities",resp.data.records) } } catch(e) { context.commit("update_autocomplete_status",3) } }, async getdistrict(context,prm) { context.commit("update_get_data_status",1) try { let resp= await api.getdistrict(one_token(),prm) if (resp.status != "OK") { context.commit("update_get_data_status",3) } else { context.commit("update_get_data_status",2) let data = { records : resp.data.records, total: resp.data.total } context.commit("update_districts",resp.data.records) } } catch(e) { context.commit("update_get_data_status",3) } }, async getkelurahan(context,prm) { context.commit("update_get_data_status",1) try { let resp= await api.getkelurahan(one_token(),prm) if (resp.status != "OK") { context.commit("update_get_data_status",3) } else { context.commit("update_get_data_status",2) let data = { records : resp.data.records, total: resp.data.total } context.commit("update_kelurahans",resp.data.records) } } catch(e) { context.commit("update_get_data_status",3) } }, async savenewaddress(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.savenewaddress(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) context.commit("update_dialog_form_address",false) context.commit("update_last_id", prm.M_transactionAddressM_transactionID) context.commit("update_dialog_success", true) var msg = "Penambahan data alamat dokter " + prm.M_transactionName + " sudah berhasil dong ..." context.commit("update_msg_success", msg) } } catch(e) { context.commit("update_save_status",3) } }, async saveeditaddress(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.saveeditaddress(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) context.commit("update_dialog_form_address",false) context.commit("update_last_id", prm.M_transactionAddressM_transactionID) context.commit("update_dialog_success", true) var msg = "Perubahan data alamat dokter " + prm.M_transactionName + " sudah berhasil dong ..." context.commit("update_msg_success", msg) } } catch(e) { context.commit("update_save_status",3) } }, async deleteaddress(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.deleteaddress(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) context.commit("update_dialog_confirmation_delete_addr",false) context.commit("update_last_id", prm.M_transactionAddressM_transactionID) context.commit("update_dialog_success", true) var msg = "Penghapusan data alamat "+prm.M_transactionAddressNote+" dari dokter " + prm.M_transactionName + " sudah berhasil dong ..." context.commit("update_msg_success", msg) } } catch(e) { context.commit("update_save_status",3) } }, async getsampletypes(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.getsampletypes(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) let data = { records : resp.data.records, total: resp.data.total } context.commit("update_sampletypes",data.records) } } catch(e) { context.commit("update_save_status",3) } }, async doaction(context,prm) { context.commit("update_save_status",1) try { prm.token = one_token() let resp= await api.doaction(prm) if (resp.status != "OK") { context.commit("update_save_status",3) } else { context.commit("update_save_status",2) context.commit("update_act",'-') context.commit("update_dialog_action",false) prm.lastid = -1 context.dispatch("search",prm) } } catch(e) { context.commit("update_save_status",3) } } } }