mirror of
https://github.com/PanJiaChen/vue-element-admin.git
synced 2025-08-14 16:02:34 +08:00
* Cancel sale transaction * minimal change * Copy Order * Copy Line the Order * add Traslation
171 lines
4.1 KiB
JavaScript
171 lines
4.1 KiB
JavaScript
import {
|
|
requestGetOrder,
|
|
requestListOrders
|
|
} from '@/api/ADempiere/form/point-of-sales.js'
|
|
import { isEmptyValue, extractPagingToken } from '@/utils/ADempiere/valueUtils.js'
|
|
import { showMessage } from '@/utils/ADempiere/notification.js'
|
|
|
|
const withoutResponse = {
|
|
isLoaded: false,
|
|
isReload: true,
|
|
recordCount: 0,
|
|
nextPageToken: undefined
|
|
}
|
|
|
|
const ordes = {
|
|
state: {
|
|
order: {},
|
|
findOrder: {},
|
|
listOrder: {
|
|
...withoutResponse,
|
|
isShowPopover: false
|
|
}
|
|
},
|
|
mutations: {
|
|
setOrder(state, order) {
|
|
state.order = order
|
|
},
|
|
setListOrder(state, listOrder) {
|
|
state.listOrder = {
|
|
...state.listOrder,
|
|
...listOrder
|
|
}
|
|
},
|
|
setOrdersListPageNumber(state, pageNumber) {
|
|
state.listOrder.pageNumber = pageNumber
|
|
},
|
|
showListOrders(state, isShow) {
|
|
state.listOrder.isShowPopover = isShow
|
|
},
|
|
setIsReloadListOrders(state) {
|
|
state.listOrder.isReload = true
|
|
},
|
|
currentOrder(state, currentOrder) {
|
|
state.currentOrder = currentOrder
|
|
},
|
|
findOrder(state, findOrder) {
|
|
state.findOrder = findOrder
|
|
}
|
|
},
|
|
actions: {
|
|
/**
|
|
* Set page number of pagination list
|
|
* @param {number} pageNumber
|
|
*/
|
|
setOrdersListPageNumber({ commit, dispatch }, pageNumber) {
|
|
commit('setOrdersListPageNumber', pageNumber)
|
|
dispatch('listOrdersFromServer', {})
|
|
},
|
|
listOrdersFromServer({ state, commit, getters }, {
|
|
posUuid,
|
|
documentNo,
|
|
businessPartnerUuid,
|
|
grandTotal,
|
|
openAmount,
|
|
isPaid,
|
|
isProcessed,
|
|
isAisleSeller,
|
|
isInvoiced,
|
|
dateOrderedFrom,
|
|
dateOrderedTo,
|
|
salesRepresentativeUuid
|
|
}) {
|
|
if (isEmptyValue(posUuid)) {
|
|
posUuid = getters.getPointOfSalesUuid
|
|
}
|
|
|
|
let { pageNumber, token } = state.listOrder
|
|
if (isEmptyValue(pageNumber)) {
|
|
pageNumber = 1
|
|
}
|
|
let pageToken
|
|
if (!isEmptyValue(token)) {
|
|
pageToken = token + '-' + pageNumber
|
|
}
|
|
|
|
requestListOrders({
|
|
posUuid,
|
|
documentNo,
|
|
businessPartnerUuid,
|
|
grandTotal,
|
|
openAmount,
|
|
isPaid,
|
|
isProcessed,
|
|
isAisleSeller,
|
|
isInvoiced,
|
|
dateOrderedFrom,
|
|
dateOrderedTo,
|
|
salesRepresentativeUuid,
|
|
pageToken
|
|
})
|
|
.then(responseOrdersList => {
|
|
if (isEmptyValue(token) || isEmptyValue(pageToken)) {
|
|
token = extractPagingToken(responseOrdersList.nextPageToken)
|
|
}
|
|
|
|
commit('setListOrder', {
|
|
...responseOrdersList,
|
|
isLoaded: true,
|
|
isReload: false,
|
|
posUuid,
|
|
token,
|
|
pageNumber
|
|
})
|
|
})
|
|
.catch(error => {
|
|
console.warn(`listOrdersFromServer: ${error.message}. Code: ${error.code}.`)
|
|
showMessage({
|
|
type: 'info',
|
|
message: error.message,
|
|
showClose: true
|
|
})
|
|
})
|
|
},
|
|
setOrder({ commit }, order) {
|
|
commit('setOrder', order)
|
|
},
|
|
currentOrder({ commit }, findOrder) {
|
|
commit('findOrder', findOrder)
|
|
},
|
|
findOrderServer({ commit }, orderUuid) {
|
|
if (typeof orderUuid === 'string' && !isEmptyValue(orderUuid)) {
|
|
requestGetOrder(orderUuid)
|
|
.then(responseOrder => {
|
|
commit('findOrder', responseOrder)
|
|
})
|
|
.catch(error => {
|
|
console.warn(`findOrderServer: ${error.message}. Code: ${error.code}.`)
|
|
showMessage({
|
|
type: 'info',
|
|
message: error.message,
|
|
showClose: true
|
|
})
|
|
})
|
|
}
|
|
commit('findOrder', {})
|
|
}
|
|
},
|
|
getters: {
|
|
getOrder: (state) => {
|
|
return state.order
|
|
},
|
|
getListOrder: (state) => {
|
|
if (isEmptyValue(state.listOrder)) {
|
|
return {
|
|
...withoutResponse,
|
|
ordersList: []
|
|
}
|
|
}
|
|
return state.listOrder
|
|
},
|
|
getCurrentOrder: (state) => {
|
|
return state.currentOrder
|
|
},
|
|
getFindOrder: (state) => {
|
|
return state.findOrder
|
|
}
|
|
}
|
|
}
|
|
|
|
export default ordes
|