mirror of
https://github.com/PanJiaChen/vue-element-admin.git
synced 2025-08-17 01:09:48 +08:00
121 lines
2.9 KiB
JavaScript
121 lines
2.9 KiB
JavaScript
import { isEmptyValue, extractPagingToken } from '@/utils/ADempiere/valueUtils.js'
|
|
import { requestListBusinessPartner } from '@/api/ADempiere/system-core.js'
|
|
import { showMessage } from '@/utils/ADempiere/notification.js'
|
|
|
|
const withoutResponse = {
|
|
isLoaded: false,
|
|
isReload: true,
|
|
recordCount: 0,
|
|
nextPageToken: undefined
|
|
}
|
|
|
|
const businessPartner = {
|
|
state: {
|
|
businessPartner: {
|
|
...withoutResponse,
|
|
isShowList: false, // popover with records list
|
|
isShowCreate: false, // popover with create form
|
|
businessPartnersList: []
|
|
}
|
|
},
|
|
mutations: {
|
|
setBusinessPartnersList(state, businessPartners) {
|
|
state.businessPartner = {
|
|
...state.businessPartner,
|
|
...businessPartners
|
|
}
|
|
},
|
|
setBPartnerPageNumber(state, pageNumber) {
|
|
state.businessPartner.pageNumber = pageNumber
|
|
}
|
|
},
|
|
actions: {
|
|
listBPartnerFromServer({ state, commit }, {
|
|
searchValue,
|
|
value,
|
|
name,
|
|
contactName,
|
|
eMail,
|
|
postalCode,
|
|
phone,
|
|
// Query
|
|
criteria,
|
|
pageNumber
|
|
}) {
|
|
let pageToken, token
|
|
if (isEmptyValue(pageNumber)) {
|
|
pageNumber = state.businessPartner.pageNumber
|
|
if (isEmptyValue(pageNumber)) {
|
|
pageNumber = 1 // default page is 1
|
|
}
|
|
|
|
token = state.businessPartner.token
|
|
if (!isEmptyValue(token)) {
|
|
pageToken = token + '-' + pageNumber
|
|
}
|
|
}
|
|
|
|
return requestListBusinessPartner({
|
|
searchValue,
|
|
value,
|
|
name,
|
|
contactName,
|
|
eMail,
|
|
postalCode,
|
|
phone,
|
|
// Query
|
|
criteria,
|
|
pageToken
|
|
})
|
|
.then(responseBusinessPartnerList => {
|
|
if (isEmptyValue(token) || isEmptyValue(pageToken)) {
|
|
token = extractPagingToken(responseBusinessPartnerList.nextPageToken)
|
|
}
|
|
|
|
commit('setBusinessPartnersList', {
|
|
...responseBusinessPartnerList,
|
|
isLoaded: true,
|
|
isReload: false,
|
|
token,
|
|
pageNumber
|
|
})
|
|
|
|
return responseBusinessPartnerList.businessPartnersList
|
|
})
|
|
.catch(error => {
|
|
console.warn(error)
|
|
showMessage({
|
|
type: 'info',
|
|
message: error.message
|
|
})
|
|
})
|
|
},
|
|
setBPartnerPageNumber({ commit, dispatch }, pageNumber) {
|
|
commit('setBPartnerPageNumber', pageNumber)
|
|
dispatch('listBPartnerFromServer', {
|
|
// posUuid: getters.getPointOfSalesUuid
|
|
})
|
|
}
|
|
},
|
|
getters: {
|
|
getBusinessPartner: (state) => {
|
|
const bp = state.businessPartner
|
|
if (isEmptyValue(bp)) {
|
|
return {
|
|
...withoutResponse
|
|
}
|
|
}
|
|
return bp
|
|
},
|
|
getBusinessPartnersList: (state) => {
|
|
const list = state.businessPartner.businessPartnersList
|
|
if (isEmptyValue(list)) {
|
|
return []
|
|
}
|
|
return list
|
|
}
|
|
}
|
|
}
|
|
|
|
export default businessPartner
|