Initial import
This commit is contained in:
487
one-ui/agreement/one-md-price-edit/modules/price.js
Normal file
487
one-ui/agreement/one-md-price-edit/modules/price.js
Normal file
@@ -0,0 +1,487 @@
|
||||
// 1 => LOADING
|
||||
// 2 => DONE
|
||||
// 3 => ERROR
|
||||
import * as api from "../api/price.js"
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state: {
|
||||
|
||||
search_status: 0,
|
||||
search_error_message: '',
|
||||
|
||||
companies: [],
|
||||
selected_company: {},
|
||||
total_company: 0,
|
||||
query_company:'',
|
||||
|
||||
query_mou: '',
|
||||
mous: [],
|
||||
selected_mou: {},
|
||||
total_mou: 0,
|
||||
|
||||
query_price: '',
|
||||
prices: [],
|
||||
selected_price: {},
|
||||
total_price: 0,
|
||||
total_price_page: 0,
|
||||
curr_price_page: 1,
|
||||
new_price: {amount:0, disc:0, discrp:0, sub_total:0, other:0, total:0, cito:'N'},
|
||||
edit_price: false,
|
||||
|
||||
packets: [],
|
||||
selected_packet: {},
|
||||
total_packet: 0,
|
||||
total_packet_page: 0,
|
||||
curr_packet_page: 1,
|
||||
|
||||
query_px: '',
|
||||
pxs: [],
|
||||
selected_px: {},
|
||||
total_px: 0,
|
||||
|
||||
query_addon: '',
|
||||
addons: [],
|
||||
selected_addon: {},
|
||||
total_addon: 0,
|
||||
new_addon_name: '',
|
||||
|
||||
// others: [{id:1, name:'Jasa Dokter', price:10000}, {id:2, name:'Lain - lain', price:5000}],
|
||||
others: [],
|
||||
selected_other: {},
|
||||
total_other: 0,
|
||||
|
||||
dialog_px_new: false,
|
||||
dialog_addon_new: false
|
||||
},
|
||||
mutations: {
|
||||
|
||||
update_search_error_message(state, patient) {
|
||||
state.search_error_message = patient
|
||||
},
|
||||
|
||||
// MOU
|
||||
update_query_mou(state, q) {
|
||||
state.query_mou = q
|
||||
},
|
||||
|
||||
update_mous(state, d) {
|
||||
state.mous = d.records
|
||||
state.total_mou = d.total
|
||||
},
|
||||
|
||||
update_selected_mou(state, d) {
|
||||
state.selected_mou = d
|
||||
},
|
||||
|
||||
// COMPANY
|
||||
update_companies(state, d) {
|
||||
state.companies = d.records
|
||||
state.total_company = d.total
|
||||
},
|
||||
|
||||
update_selected_company(state, d) {
|
||||
state.selected_company = d
|
||||
},
|
||||
|
||||
update_query_company(state, q) {
|
||||
state.query_company = q
|
||||
},
|
||||
|
||||
// PRICE
|
||||
update_query_price(state, q) {
|
||||
state.query_price = q
|
||||
},
|
||||
|
||||
update_prices(state, d) {
|
||||
state.prices = d.records
|
||||
state.total_price = d.total
|
||||
state.total_price_page = d.total_page
|
||||
},
|
||||
|
||||
update_curr_price_page(state, data) {
|
||||
state.curr_price_page = data
|
||||
},
|
||||
|
||||
update_selected_price(state, d) {
|
||||
state.selected_price = d
|
||||
},
|
||||
|
||||
update_new_price(state, d) {
|
||||
state.new_price = d
|
||||
},
|
||||
|
||||
update_edit_price(state, d) {
|
||||
state.edit_price = d
|
||||
},
|
||||
|
||||
// PX
|
||||
update_query_px(state, q) {
|
||||
state.query_px = q
|
||||
},
|
||||
|
||||
update_pxs(state, d) {
|
||||
state.pxs = d.records
|
||||
state.total_px = d.total
|
||||
},
|
||||
|
||||
update_selected_px(state, d) {
|
||||
state.selected_px = d
|
||||
},
|
||||
|
||||
// ADDON
|
||||
update_addons(state, d) {
|
||||
state.addons = d.records
|
||||
state.total_addon = d.total
|
||||
},
|
||||
|
||||
update_selected_addon(state, d) {
|
||||
state.selected_addon = d
|
||||
},
|
||||
|
||||
// OTHER
|
||||
update_others(state, d) {
|
||||
state.others = d.records
|
||||
state.total_other = d.total
|
||||
},
|
||||
|
||||
update_selected_other(state, d) {
|
||||
state.selected_other = d
|
||||
},
|
||||
|
||||
add_other(state) {
|
||||
let x = state.selected_addon
|
||||
let y = state.others
|
||||
y.push({id:x.T_AddonID, name:x.T_AddonName, price:0})
|
||||
|
||||
state.others = y
|
||||
},
|
||||
|
||||
remove_other(state, item) {
|
||||
// console.log('np')
|
||||
// console.log(state.new_price)
|
||||
|
||||
let x = state.others
|
||||
for (let i in x)
|
||||
if (x[i].id == item.id)
|
||||
{
|
||||
x.splice(i, 1)
|
||||
// x[i].disabled = true
|
||||
let y = state.new_price
|
||||
// console.log('y1')
|
||||
// console.log(y)
|
||||
|
||||
|
||||
y.other = Math.round(y.other) - Math.round(item.price)
|
||||
y.total = Math.round(y.sub_total) + Math.round(y.other)
|
||||
|
||||
|
||||
state.new_price = y
|
||||
}
|
||||
|
||||
state.others = x
|
||||
},
|
||||
|
||||
update_other_price(state, d) {
|
||||
let x = state.others
|
||||
x[d.idx].price = d.price
|
||||
|
||||
state.others = x
|
||||
let y = state.new_price
|
||||
y.other = 0
|
||||
for (let i in state.others)
|
||||
y.other = Math.round(y.other) + Math.round(state.others[i].price)
|
||||
|
||||
y.total = Math.round(y.sub_total) + Math.round(y.other)
|
||||
state.new_price = y
|
||||
|
||||
},
|
||||
|
||||
update_search_status(state, val) {
|
||||
state.search_status = val
|
||||
},
|
||||
|
||||
update_errors(state, val) {
|
||||
state.errors = val
|
||||
},
|
||||
|
||||
update_dialog_px_new(state, val) {
|
||||
state.dialog_px_new = val
|
||||
},
|
||||
|
||||
update_dialog_addon_new(state, val) {
|
||||
state.dialog_addon_new = val
|
||||
},
|
||||
|
||||
update_new_addon_name(state, val) {
|
||||
state.new_addon_name = val
|
||||
},
|
||||
|
||||
// PACKET
|
||||
update_packets(state, d) {
|
||||
state.packets = d.records
|
||||
state.total_packet = d.total
|
||||
state.total_packet_page = d.total_page
|
||||
},
|
||||
|
||||
update_curr_packet_page(state, data) {
|
||||
state.curr_packet_page = data
|
||||
},
|
||||
|
||||
update_selected_packet(state, d) {
|
||||
state.selected_packet = d
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
async search_company(context) {
|
||||
|
||||
try {
|
||||
let resp = await api.search_company(one_token(), context.state.query_company)
|
||||
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
|
||||
}
|
||||
|
||||
context.commit("update_companies", data)
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("update_search_status", 3)
|
||||
context.commit("update_search_error_message", e.message)
|
||||
}
|
||||
},
|
||||
|
||||
async search_mou(context) {
|
||||
|
||||
try {
|
||||
let resp = await api.search_mou(one_token(), context.state.selected_company.M_CompanyID, context.state.query_mou)
|
||||
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
|
||||
}
|
||||
|
||||
context.commit("update_mous", data)
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("update_search_status", 3)
|
||||
context.commit("update_search_error_message", e.message)
|
||||
}
|
||||
},
|
||||
|
||||
async search_price(context) {
|
||||
|
||||
try {
|
||||
let resp = await api.search_price(one_token(), context.state.selected_mou.M_MouID, context.state.query_price, context.state.curr_price_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
|
||||
}
|
||||
|
||||
context.commit("update_prices", data)
|
||||
context.dispatch("search_price_packet")
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("update_search_status", 3)
|
||||
context.commit("update_search_error_message", e.message)
|
||||
}
|
||||
},
|
||||
|
||||
async del_price(context, id) {
|
||||
|
||||
try {
|
||||
let resp = await api.del_price(one_token(), id)
|
||||
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_price')
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("update_search_status", 3)
|
||||
context.commit("update_search_error_message", e.message)
|
||||
}
|
||||
},
|
||||
|
||||
async search_px(context) {
|
||||
|
||||
try {
|
||||
let mou_id = context.state.selected_mou.M_MouID;
|
||||
let cito = context.state.new_price.cito
|
||||
let resp = await api.search_px(one_token(), context.state.query_px,mou_id,cito)
|
||||
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
|
||||
}
|
||||
|
||||
context.commit("update_pxs", data)
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("update_search_status", 3)
|
||||
context.commit("update_search_error_message", e.message)
|
||||
}
|
||||
},
|
||||
|
||||
async save_px(context, price_id) {
|
||||
|
||||
try {
|
||||
let c = context.state.new_price
|
||||
let data = {
|
||||
test_id: context.state.selected_px.T_TestID,
|
||||
mou_id: context.state.selected_mou.M_MouID,
|
||||
price: c.amount,
|
||||
disc: c.disc,
|
||||
disc_rp: c.discrp,
|
||||
other: c.other,
|
||||
sub_total: c.sub_total,
|
||||
total: c.total,
|
||||
cito: c.cito
|
||||
}
|
||||
if (price_id) data.id = price_id
|
||||
|
||||
let resp = await api.save_px(one_token(), JSON.stringify(data), JSON.stringify(context.state.others))
|
||||
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_price")
|
||||
context.commit("update_dialog_px_new", false)
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("update_search_status", 3)
|
||||
context.commit("update_search_error_message", e.message)
|
||||
}
|
||||
},
|
||||
|
||||
async search_addon(context) {
|
||||
|
||||
try {
|
||||
let resp = await api.search_addon(one_token(), context.state.query_adddon)
|
||||
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
|
||||
}
|
||||
|
||||
context.commit("update_addons", data)
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("update_search_status", 3)
|
||||
context.commit("update_search_error_message", e.message)
|
||||
}
|
||||
},
|
||||
|
||||
async save_addon(context) {
|
||||
|
||||
try {
|
||||
let resp = await api.save_addon(one_token(), context.state.new_addon_name)
|
||||
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
|
||||
// }
|
||||
|
||||
context.dispatch("search_addon")
|
||||
context.commit('update_dialog_addon_new', false)
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("update_search_status", 3)
|
||||
context.commit("update_search_error_message", e.message)
|
||||
}
|
||||
},
|
||||
|
||||
async search_single_company(context, id) {
|
||||
|
||||
try {
|
||||
let resp = await api.search_single_company(one_token(), id)
|
||||
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
|
||||
}
|
||||
|
||||
context.commit("update_query_company", data.records[0].M_CompanyName)
|
||||
context.commit("update_companies", data.records)
|
||||
context.commit("update_selected_company", data.records[0])
|
||||
|
||||
context.commit('update_mous', {records:data.records[0].mou, total:1})
|
||||
context.commit('update_selected_mou', data.records[0].mou[0])
|
||||
context.commit('update_query_mou', data.records[0].mou[0].M_MouName)
|
||||
context.dispatch('search_price')
|
||||
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("update_search_status", 3)
|
||||
context.commit("update_search_error_message", e.message)
|
||||
}
|
||||
},
|
||||
|
||||
async search_price_packet(context) {
|
||||
|
||||
try {
|
||||
let resp = await api.search_price_packet(one_token(), context.state.selected_mou.M_MouID, context.state.query_price, context.state.curr_packet_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
|
||||
}
|
||||
|
||||
context.commit("update_packets", data)
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("update_search_status", 3)
|
||||
context.commit("update_search_error_message", e.message)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
241
one-ui/agreement/one-md-price-edit/modules/price_copy.js
Normal file
241
one-ui/agreement/one-md-price-edit/modules/price_copy.js
Normal file
@@ -0,0 +1,241 @@
|
||||
// 1 => LOADING
|
||||
// 2 => DONE
|
||||
// 3 => ERROR
|
||||
import * as api from "../api/price.js"
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state: {
|
||||
|
||||
search_status: 0,
|
||||
search_error_message: '',
|
||||
|
||||
query_company: '',
|
||||
companies: [],
|
||||
selected_company: {},
|
||||
total_company: 0,
|
||||
default_company: {},
|
||||
|
||||
query_mou: '',
|
||||
mous: [],
|
||||
selected_mou: null,
|
||||
total_mou: 0,
|
||||
default_mou: {},
|
||||
|
||||
dialog_copy: false,
|
||||
target_disc: 0,
|
||||
jpagroups:[],
|
||||
selected_jpagroup:{},
|
||||
selected_transaction:{},
|
||||
open_dialog_info:false,
|
||||
msg_info:'',
|
||||
copyall:'N'
|
||||
},
|
||||
mutations: {
|
||||
update_copyall(state, value){
|
||||
state.copyall = value
|
||||
},
|
||||
update_open_dialog_info(state, value){
|
||||
state.open_dialog_info = value
|
||||
},
|
||||
update_msg_info(state, value){
|
||||
state.msg_info = value
|
||||
},
|
||||
update_selected_transaction(state, value){
|
||||
state.selected_transaction = value
|
||||
},
|
||||
update_jpagroups(state, value) {
|
||||
state.jpagroups = value
|
||||
},
|
||||
update_selected_jpagroup(state, value) {
|
||||
state.selected_jpagroup = value
|
||||
},
|
||||
update_search_error_message(state, patient) {
|
||||
state.search_error_message = patient
|
||||
},
|
||||
|
||||
// MOU
|
||||
update_query_mou(state, q) {
|
||||
state.query_mou = q
|
||||
},
|
||||
|
||||
update_mous(state, d) {
|
||||
state.mous = d.records
|
||||
state.total_mou = d.total
|
||||
},
|
||||
|
||||
update_selected_mou(state, d) {
|
||||
state.selected_mou = d
|
||||
},
|
||||
|
||||
// COMPANY
|
||||
update_query_company(state, q) {
|
||||
state.query_company = q
|
||||
},
|
||||
|
||||
update_companies(state, d) {
|
||||
state.companies = d.records
|
||||
state.total_company = d.total
|
||||
},
|
||||
|
||||
update_selected_company(state, d) {
|
||||
state.selected_company = d
|
||||
|
||||
// update mous
|
||||
if (d) {
|
||||
state.mous = d.mou
|
||||
state.selected_mou = {}
|
||||
state.total_mou = d.mou.length
|
||||
} else {
|
||||
state.mous = []
|
||||
state.selected_mou = {}
|
||||
state.total_mou = 0
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
update_search_status(state, val) {
|
||||
state.search_status = val
|
||||
},
|
||||
|
||||
update_errors(state, val) {
|
||||
state.errors = val
|
||||
},
|
||||
|
||||
update_dialog_copy(state, val) {
|
||||
state.dialog_copy = val
|
||||
},
|
||||
|
||||
update_target_disc(state, val) {
|
||||
state.target_disc = val
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
async search_company(context,prm) {
|
||||
|
||||
try {
|
||||
prm.token = one_token()
|
||||
prm.query = context.state.query_company
|
||||
let resp = await api.search_company_2(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
|
||||
}
|
||||
|
||||
context.commit("update_companies", data)
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("update_search_status", 3)
|
||||
context.commit("update_search_error_message", e.message)
|
||||
}
|
||||
},
|
||||
|
||||
async search_mou(context) {
|
||||
|
||||
try {
|
||||
let resp = await api.search_mou(one_token(), context.state.selected_company.M_CompanyID, context.state.query_mou)
|
||||
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
|
||||
}
|
||||
|
||||
context.commit("update_mous", data)
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("update_search_status", 3)
|
||||
context.commit("update_search_error_message", e.message)
|
||||
}
|
||||
},
|
||||
|
||||
async search_price(context) {
|
||||
|
||||
try {
|
||||
let resp = await api.search_price(one_token(), context.state.selected_mou.M_MouID, context.rootState.packet.selected_price.T_priceType, context.state.query_price, true)
|
||||
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
|
||||
}
|
||||
|
||||
context.commit("update_prices", data)
|
||||
|
||||
// Auto selected after save
|
||||
if (context.state.auto_selected_price_id) {
|
||||
for(let i in data.records)
|
||||
if (data.records[i].T_priceID == context.state.auto_selected_price_id)
|
||||
context.commit('update_selected_price', data.records[i])
|
||||
}
|
||||
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("update_search_status", 3)
|
||||
context.commit("update_search_error_message", e.message)
|
||||
}
|
||||
},
|
||||
|
||||
async save_copy(context,prm) {
|
||||
|
||||
try {
|
||||
prm.company_target_id = context.rootState.price.selected_company.M_CompanyID
|
||||
prm.target_id = context.rootState.price.selected_mou.M_MouID
|
||||
prm.source_id = context.state.selected_mou.M_MouID
|
||||
prm.token = one_token()
|
||||
|
||||
let resp = await api.copy_price(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('price/search_price', null, {root:true})
|
||||
context.commit('update_dialog_copy', false)
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("update_search_status", 3)
|
||||
context.commit("update_search_error_message", e.message)
|
||||
}
|
||||
},
|
||||
async getjpagroups(context) {
|
||||
|
||||
try {
|
||||
let resp = await api.getjpagroups(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", "")
|
||||
let data = {
|
||||
records: resp.data.records,
|
||||
total: resp.data.total
|
||||
}
|
||||
|
||||
context.commit("update_jpagroups", data.records)
|
||||
context.commit("update_selected_jpagroup", data.records[0])
|
||||
}
|
||||
} catch (e) {
|
||||
context.commit("update_search_status", 3)
|
||||
context.commit("update_search_error_message", e.message)
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user