mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-31 21:51:10 -04:00
build version 400
This commit is contained in:
@ -1,31 +1,146 @@
|
||||
import * as types from './mutation-types'
|
||||
import * as currencyTypes from './modules/currency/mutation-types'
|
||||
import * as userTypes from './modules/user/mutation-types'
|
||||
import * as companyTypes from './modules/company/mutation-types'
|
||||
import * as preferencesTypes from './modules/settings/preferences/mutation-types'
|
||||
import * as taxTypeTypes from './modules/tax-type/mutation-types'
|
||||
import * as itemTypes from './modules/item/mutation-types'
|
||||
import * as paymentModes from './modules/payment/mutation-types'
|
||||
|
||||
export default {
|
||||
bootstrap ({ commit, dispatch, state }) {
|
||||
bootstrap({ commit, dispatch, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get('/api/bootstrap').then((response) => {
|
||||
commit('company/' + companyTypes.BOOTSTRAP_COMPANIES, response.data.companies)
|
||||
commit('company/' + companyTypes.SET_SELECTED_COMPANY, response.data.company)
|
||||
commit('currency/' + currencyTypes.BOOTSTRAP_CURRENCIES, response.data)
|
||||
commit('currency/' + currencyTypes.SET_DEFAULT_CURRENCY, response.data)
|
||||
commit('user/' + userTypes.BOOTSTRAP_CURRENT_USER, response.data.user)
|
||||
commit('taxType/' + taxTypeTypes.BOOTSTRAP_TAX_TYPES, response.data.taxTypes)
|
||||
commit('preferences/' + preferencesTypes.SET_MOMENT_DATE_FORMAT, response.data.moment_date_format)
|
||||
commit('preferences/' + preferencesTypes.SET_LANGUAGE_FORMAT, response.data.default_language)
|
||||
commit('item/' + itemTypes.SET_ITEM_UNITS, response.data.units)
|
||||
commit('payment/' + paymentModes.SET_PAYMENT_MODES, response.data.paymentMethods)
|
||||
commit(types.UPDATE_APP_LOADING_STATUS, true)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get('/api/v1/bootstrap')
|
||||
.then((response) => {
|
||||
commit('user/' + userTypes.BOOTSTRAP_CURRENT_USER, response.data.user)
|
||||
|
||||
commit(
|
||||
'company/' + companyTypes.SET_SELECTED_COMPANY,
|
||||
response.data.company
|
||||
)
|
||||
|
||||
commit('company/' + companyTypes.SET_DEFAULT_CURRENCY, response.data)
|
||||
|
||||
commit(
|
||||
'user/' + userTypes.SET_DEFAULT_LANGUAGE,
|
||||
response.data.default_language
|
||||
)
|
||||
|
||||
commit(
|
||||
'company/' + companyTypes.SET_MOMENT_DATE_FORMAT,
|
||||
response.data.moment_date_format
|
||||
)
|
||||
|
||||
commit(
|
||||
'company/' + companyTypes.SET_CARBON_DATE_FORMAT,
|
||||
response.data.carbon_date_format
|
||||
)
|
||||
|
||||
commit(
|
||||
'company/' + companyTypes.SET_DEFAULT_FISCAL_YEAR,
|
||||
response.data.fiscal_year
|
||||
)
|
||||
|
||||
commit(
|
||||
'company/' + companyTypes.SET_DEFAULT_TIME_ZONE,
|
||||
response.data.time_zone
|
||||
)
|
||||
|
||||
commit(types.SET_CURRENCIES, response.data.currencies)
|
||||
|
||||
commit(types.SET_COUNTRIES, response.data.countries)
|
||||
|
||||
commit(types.UPDATE_APP_LOADING_STATUS, true)
|
||||
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
fetchLanguages({ commit, dispatch, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get('/api/v1/languages')
|
||||
.then((response) => {
|
||||
commit(types.SET_LANGUAGES, response.data.languages)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
fetchCurrencies({ commit, dispatch, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get('/api/v1/currencies')
|
||||
.then((response) => {
|
||||
commit(types.SET_CURRENCIES, response.data.currencies)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
fetchDateFormats({ commit, dispatch, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get('/api/v1/date/formats')
|
||||
.then((response) => {
|
||||
commit(types.SET_DATE_FORMATS, response.data.date_formats)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
fetchFiscalYears({ commit, dispatch, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get('/api/v1/fiscal/years')
|
||||
.then((response) => {
|
||||
commit(types.SET_FISCAL_YEARS, response.data.fiscal_years)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
fetchTimeZones({ commit, dispatch, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get('/api/v1/timezones')
|
||||
.then((response) => {
|
||||
commit(types.SET_TIMEZONES, response.data.time_zones)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
fetchCountries({ commit, dispatch, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get('/api/v1/countries')
|
||||
.then((response) => {
|
||||
commit(types.SET_COUNTRIES, response.data.countries)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
toggleSidebar({ commit }) {
|
||||
commit(types.TOGGLE_SIDEBAR)
|
||||
},
|
||||
}
|
||||
|
||||
@ -1 +1,15 @@
|
||||
export const isAppLoaded = (state) => state.isAppLoaded
|
||||
|
||||
export const languages = (state) => state.languages
|
||||
|
||||
export const currencies = (state) => state.currencies
|
||||
|
||||
export const timeZones = (state) => state.timeZones
|
||||
|
||||
export const dateFormats = (state) => state.dateFormats
|
||||
|
||||
export const fiscalYears = (state) => state.fiscalYears
|
||||
|
||||
export const countries = (state) => state.countries
|
||||
|
||||
export const isSidebarOpen = (state) => state.isSidebarOpen
|
||||
|
||||
@ -10,28 +10,41 @@ import user from './modules/user'
|
||||
import category from './modules/category'
|
||||
import customer from './modules/customer'
|
||||
import company from './modules/company'
|
||||
import companyInfo from './modules/settings/company-info'
|
||||
import dashboard from './modules/dashboard'
|
||||
import estimate from './modules/estimate'
|
||||
import expense from './modules/expense'
|
||||
import invoice from './modules/invoice'
|
||||
import userProfile from './modules/settings/user-profile'
|
||||
import payment from './modules/payment'
|
||||
import preferences from './modules/settings/preferences'
|
||||
import item from './modules/item'
|
||||
import modal from './modules/modal'
|
||||
import currency from './modules/currency'
|
||||
import general from './modules/settings/general'
|
||||
import customFields from './modules/custom-field'
|
||||
import taxType from './modules/tax-type'
|
||||
import profitLossReport from './modules/reports/profit-loss'
|
||||
import salesReport from './modules/reports/sales'
|
||||
import ExpensesReport from './modules/reports/expense'
|
||||
import TaxReport from './modules/reports/tax'
|
||||
import users from './modules/users'
|
||||
import backup from './modules/backup'
|
||||
import disks from './modules/disk'
|
||||
import estimateTemplate from './modules/estimate-template'
|
||||
import invoiceTemplate from './modules/invoice-template'
|
||||
import search from './modules/search'
|
||||
import notes from './modules/notes'
|
||||
|
||||
Vue.use(Vuex)
|
||||
|
||||
const initialState = {
|
||||
isAppLoaded: false
|
||||
languages: [],
|
||||
|
||||
timeZones: [],
|
||||
|
||||
dateFormats: [],
|
||||
|
||||
fiscalYears: [],
|
||||
|
||||
currencies: [],
|
||||
|
||||
countries: [],
|
||||
|
||||
isAppLoaded: false,
|
||||
|
||||
isSidebarOpen: false,
|
||||
}
|
||||
|
||||
export default new Vuex.Store({
|
||||
@ -46,7 +59,6 @@ export default new Vuex.Store({
|
||||
user,
|
||||
category,
|
||||
company,
|
||||
companyInfo,
|
||||
customer,
|
||||
dashboard,
|
||||
estimate,
|
||||
@ -54,15 +66,15 @@ export default new Vuex.Store({
|
||||
invoice,
|
||||
expense,
|
||||
modal,
|
||||
userProfile,
|
||||
currency,
|
||||
customFields,
|
||||
payment,
|
||||
preferences,
|
||||
general,
|
||||
taxType,
|
||||
profitLossReport,
|
||||
salesReport,
|
||||
ExpensesReport,
|
||||
TaxReport
|
||||
}
|
||||
users,
|
||||
backup,
|
||||
disks,
|
||||
estimateTemplate,
|
||||
invoiceTemplate,
|
||||
search,
|
||||
notes,
|
||||
},
|
||||
})
|
||||
|
||||
@ -1,74 +1,63 @@
|
||||
import Ls from '@/services/ls'
|
||||
import * as types from './mutation-types'
|
||||
import * as userTypes from '../user/mutation-types'
|
||||
import * as rootTypes from '../../mutation-types'
|
||||
import router from '@/router.js'
|
||||
|
||||
export const login = ({ commit, dispatch, state }, data) => {
|
||||
let loginData = {
|
||||
username: data.email,
|
||||
password: data.password
|
||||
}
|
||||
export const login = ({ commit }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios.post('/api/auth/login', loginData).then((response) => {
|
||||
let token = response.data.access_token
|
||||
Ls.set('auth.token', token)
|
||||
window.axios.get('/sanctum/csrf-cookie').then((response) => {
|
||||
window.axios
|
||||
.post('/login', data)
|
||||
.then((response) => {
|
||||
commit(types.SET_LOGOUT, false)
|
||||
commit('user/' + userTypes.RESET_CURRENT_USER, null, { root: true })
|
||||
commit(rootTypes.UPDATE_APP_LOADING_STATUS, false, { root: true })
|
||||
|
||||
commit('user/' + userTypes.RESET_CURRENT_USER, null, { root: true })
|
||||
commit(rootTypes.UPDATE_APP_LOADING_STATUS, false, { root: true })
|
||||
|
||||
commit(types.AUTH_SUCCESS, token)
|
||||
window.toastr['success']('Login Successful')
|
||||
resolve(response)
|
||||
}).catch(err => {
|
||||
commit(types.AUTH_ERROR, err.response)
|
||||
Ls.remove('auth.token')
|
||||
reject(err)
|
||||
window.toastr['success']('Login Successful')
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
commit(types.AUTH_ERROR, err.response)
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const refreshToken = ({ commit, dispatch, state }) => {
|
||||
export const setLogoutFalse = ({ state, commit }) => {
|
||||
commit(types.SET_LOGOUT, false)
|
||||
}
|
||||
|
||||
export const logout = ({ state, commit }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
let data = {
|
||||
token: Ls.get('auth.token')
|
||||
if (state.isLoggedOut) {
|
||||
resolve()
|
||||
return true
|
||||
}
|
||||
console.log('REFRESH ACTION')
|
||||
axios.post('/api/auth/refresh_token', data).then((response) => {
|
||||
let token = response.data.data.token
|
||||
Ls.set('auth.token', token)
|
||||
commit(types.REFRESH_SUCCESS, token)
|
||||
resolve(response)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
commit(types.SET_LOGOUT, true)
|
||||
|
||||
window.axios
|
||||
.get('/auth/logout')
|
||||
.then(() => {
|
||||
router.push('/login')
|
||||
window.toastr['success']('Logged out!', 'Success')
|
||||
})
|
||||
.catch((err) => {
|
||||
router.push('/login')
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const logout = ({ commit, dispatch, state }, noRequest = false) => {
|
||||
if (noRequest) {
|
||||
commit(types.AUTH_LOGOUT)
|
||||
Ls.remove('auth.token')
|
||||
router.push('/login')
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
export const checkMail = ({ commit }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios.get('/api/auth/logout').then((response) => {
|
||||
commit(types.AUTH_LOGOUT)
|
||||
Ls.remove('auth.token')
|
||||
router.push('/login')
|
||||
window.toastr['success']('Logged out!', 'Success')
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
commit(types.AUTH_LOGOUT)
|
||||
Ls.remove('auth.token')
|
||||
router.push('/login')
|
||||
})
|
||||
window.axios
|
||||
.post('/api/v1/is-registered', data)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const loginOnBoardingUser = ({ commit, dispatch, state }, token) => {
|
||||
commit(types.AUTH_SUCCESS, token)
|
||||
}
|
||||
|
||||
@ -1,2 +1 @@
|
||||
export const isAuthenticated = (state) => !!state.token
|
||||
export const authStatus = (state) => state.status
|
||||
export const isLoggedOut = (state) => state.isLoggedOut
|
||||
|
||||
@ -1,13 +1,10 @@
|
||||
import mutations from './mutations'
|
||||
import * as actions from './actions'
|
||||
import * as getters from './getters'
|
||||
import Ls from '@/services/ls'
|
||||
|
||||
const initialState = {
|
||||
token: Ls.get('auth.token'),
|
||||
status: '',
|
||||
validateTokenError: '',
|
||||
validateTokenSuccess: ''
|
||||
isLoggedOut: false,
|
||||
}
|
||||
|
||||
export default {
|
||||
@ -19,5 +16,5 @@ export default {
|
||||
|
||||
actions: actions,
|
||||
|
||||
mutations: mutations
|
||||
mutations: mutations,
|
||||
}
|
||||
|
||||
@ -2,3 +2,4 @@ export const AUTH_SUCCESS = 'AUTH_SUCCESS'
|
||||
export const AUTH_LOGOUT = 'AUTH_LOGOUT'
|
||||
export const AUTH_ERROR = 'AUTH_ERROR'
|
||||
export const REFRESH_SUCCESS = 'REFRESH_SUCCESS'
|
||||
export const SET_LOGOUT = 'SET_LOGOUT'
|
||||
|
||||
@ -1,22 +1,22 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.AUTH_SUCCESS] (state, token) {
|
||||
[types.AUTH_SUCCESS](state, token) {
|
||||
state.token = token
|
||||
state.status = 'success'
|
||||
},
|
||||
|
||||
[types.AUTH_LOGOUT] (state) {
|
||||
state.token = null
|
||||
[types.SET_LOGOUT](state, data) {
|
||||
state.isLoggedOut = data
|
||||
},
|
||||
|
||||
[types.AUTH_ERROR] (state, errorResponse) {
|
||||
[types.AUTH_ERROR](state, errorResponse) {
|
||||
state.token = null
|
||||
state.status = 'error'
|
||||
},
|
||||
|
||||
[types.REFRESH_SUCCESS] (state, token) {
|
||||
[types.REFRESH_SUCCESS](state, token) {
|
||||
state.token = token
|
||||
state.status = 'success'
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
41
resources/assets/js/store/modules/backup/actions.js
Normal file
41
resources/assets/js/store/modules/backup/actions.js
Normal file
@ -0,0 +1,41 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export const fetchBackups = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get(`/api/v1/backups`, { params })
|
||||
.then((response) => {
|
||||
commit(types.SET_BACKUPS, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const createBackup = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.post(`/api/v1/backups`, data)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const removeBackup = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.delete(`/api/v1/backups/${params.disk}`, { params })
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
3
resources/assets/js/store/modules/backup/getters.js
Normal file
3
resources/assets/js/store/modules/backup/getters.js
Normal file
@ -0,0 +1,3 @@
|
||||
export const getBackups = (state) => state.backups
|
||||
export const getBackupDisks = (state) => state.backupDisks
|
||||
export const getBackupDisksInfo = (state) => state.backupDisksInfo
|
||||
21
resources/assets/js/store/modules/backup/index.js
Normal file
21
resources/assets/js/store/modules/backup/index.js
Normal file
@ -0,0 +1,21 @@
|
||||
import mutations from './mutations'
|
||||
import * as actions from './actions'
|
||||
import * as getters from './getters'
|
||||
|
||||
const initialState = {
|
||||
backups: [],
|
||||
backupDisks: [],
|
||||
backupDisksInfo: [],
|
||||
}
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
|
||||
state: initialState,
|
||||
|
||||
getters: getters,
|
||||
|
||||
actions: actions,
|
||||
|
||||
mutations: mutations,
|
||||
}
|
||||
@ -0,0 +1,4 @@
|
||||
export const SET_BACKUPS = 'SET_BACKUPS'
|
||||
export const ADD_BACKUPS = 'ADD_BACKUPS'
|
||||
export const DELETE_BACKUPS = 'DELETE_BACKUPS'
|
||||
export const SET_BACKUP_DISKS = 'SET_BACKUP_DISKS'
|
||||
21
resources/assets/js/store/modules/backup/mutations.js
Normal file
21
resources/assets/js/store/modules/backup/mutations.js
Normal file
@ -0,0 +1,21 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.SET_BACKUPS](state, data) {
|
||||
state.backups = data.backups
|
||||
state.backupDisks = data.disks
|
||||
},
|
||||
|
||||
[types.SET_BACKUP_DISKS](state, data) {
|
||||
state.backupDisksInfo = data.disks
|
||||
},
|
||||
|
||||
[types.ADD_BACKUPS](state, data) {
|
||||
state.backups.push(data.backup)
|
||||
},
|
||||
|
||||
[types.DELETE_BACKUPS](state, id) {
|
||||
let index = state.backups.findIndex((backup) => backup.id === id)
|
||||
state.backups.splice(index, 1)
|
||||
},
|
||||
}
|
||||
@ -1,57 +1,72 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export const fetchCategories = ({ commit, dispatch, state }, data) => {
|
||||
export const fetchCategories = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/categories`).then((response) => {
|
||||
commit(types.SET_CATEGORIES, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/categories`, { params })
|
||||
.then((response) => {
|
||||
commit(types.SET_CATEGORIES, response.data.categories.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchCategory = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/categories/${id}/edit`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/categories/${id}`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const addCategory = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post('/api/categories', data).then((response) => {
|
||||
commit(types.ADD_CATEGORY, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post('/api/v1/categories', data)
|
||||
.then((response) => {
|
||||
commit(types.ADD_CATEGORY, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const updateCategory = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.put(`/api/categories/${data.id}`, data).then((response) => {
|
||||
commit(types.UPDATE_CATEGORY, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.put(`/api/v1/categories/${data.id}`, data)
|
||||
.then((response) => {
|
||||
commit(types.UPDATE_CATEGORY, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteCategory = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.delete(`/api/categories/${id}`).then((response) => {
|
||||
if (response.data.success) {
|
||||
commit(types.DELETE_CATEGORY, id)
|
||||
}
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.delete(`/api/v1/categories/${id}`)
|
||||
.then((response) => {
|
||||
if (response.data.success) {
|
||||
commit(types.DELETE_CATEGORY, id)
|
||||
}
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@ import * as actions from './actions'
|
||||
import * as getters from './getters'
|
||||
|
||||
const initialState = {
|
||||
categories: []
|
||||
categories: [],
|
||||
}
|
||||
|
||||
export default {
|
||||
@ -15,5 +15,5 @@ export default {
|
||||
|
||||
actions: actions,
|
||||
|
||||
mutations: mutations
|
||||
mutations: mutations,
|
||||
}
|
||||
|
||||
@ -1,21 +1,23 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.SET_CATEGORIES] (state, data) {
|
||||
state.categories = data.categories
|
||||
[types.SET_CATEGORIES](state, categories) {
|
||||
state.categories = categories
|
||||
},
|
||||
|
||||
[types.ADD_CATEGORY] (state, data) {
|
||||
[types.ADD_CATEGORY](state, data) {
|
||||
state.categories.push(data.category)
|
||||
},
|
||||
|
||||
[types.UPDATE_CATEGORY] (state, data) {
|
||||
let pos = state.categories.findIndex(category => category.id === data.category.id)
|
||||
Object.assign(state.categories[pos], {...data.category})
|
||||
[types.UPDATE_CATEGORY](state, data) {
|
||||
let pos = state.categories.findIndex(
|
||||
(category) => category.id === data.category.id
|
||||
)
|
||||
Object.assign(state.categories[pos], { ...data.category })
|
||||
},
|
||||
|
||||
[types.DELETE_CATEGORY] (state, id) {
|
||||
let pos = state.categories.findIndex(category => category.id === id)
|
||||
[types.DELETE_CATEGORY](state, id) {
|
||||
let pos = state.categories.findIndex((category) => category.id === id)
|
||||
state.categories.splice(pos, 1)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
@ -3,3 +3,121 @@ import * as types from './mutation-types'
|
||||
export const setSelectedCompany = ({ commit, dispatch, state }, data) => {
|
||||
commit(types.SET_SELECTED_COMPANY, data)
|
||||
}
|
||||
|
||||
export const updateCompany = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.put('/api/v1/company', data)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const updateCompanyLogo = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.post('/api/v1/company/upload-logo', data)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchCompanySettings = ({ commit, dispatch, state }, settings) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get('/api/v1/company/settings', {
|
||||
params: {
|
||||
settings,
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const updateCompanySettings = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.post('/api/v1/company/settings', data)
|
||||
.then((response) => {
|
||||
commit(types.SET_CARBON_DATE_FORMAT, data.settings.carbon_date_format)
|
||||
commit(types.SET_MOMENT_DATE_FORMAT, data.settings.moment_date_format)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const setItemDiscount = ({ commit, dispatch, state }) => {
|
||||
commit(types.SET_ITEM_DISCOUNT)
|
||||
}
|
||||
|
||||
export const fetchMailDrivers = ({ commit, dispatch, state }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get('/api/v1/mail/drivers')
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchMailConfig = ({ commit, dispatch, state }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get('/api/v1/mail/config')
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const updateMailConfig = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.post('/api/v1/mail/config', data)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const sendTestMail = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.post('/api/v1/mail/test', data)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const setDefaultCurrency = ({ commit, dispatch, state }, data) => {
|
||||
commit(types.SET_DEFAULT_CURRENCY, { default_currency: data })
|
||||
}
|
||||
|
||||
@ -1,2 +1,33 @@
|
||||
export const getSelectedCompany = (state) => state.selectedCompany
|
||||
export const getCompanies = (state) => state.companies
|
||||
|
||||
export const getMomentDateFormat = (state) => state.momentDateFormat
|
||||
|
||||
export const getCarbonDateFormat = (state) => state.carbonDateFormat
|
||||
|
||||
export const itemDiscount = (state) => state.item_discount
|
||||
|
||||
export const defaultFiscalYear = (state) => state.defaultFiscalYear
|
||||
|
||||
export const defaultTimeZone = (state) => state.defaultTimeZone
|
||||
|
||||
export const defaultCurrency = (state) => state.defaultCurrency
|
||||
|
||||
export const defaultCurrencyForInput = (state) => {
|
||||
if (state.defaultCurrency) {
|
||||
return {
|
||||
decimal: state.defaultCurrency.decimal_separator,
|
||||
thousands: state.defaultCurrency.thousand_separator,
|
||||
prefix: state.defaultCurrency.symbol + ' ',
|
||||
precision: state.defaultCurrency.precision,
|
||||
masked: false,
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
decimal: '.',
|
||||
thousands: ',',
|
||||
prefix: '$ ',
|
||||
precision: 2,
|
||||
masked: false,
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,8 +3,23 @@ import * as actions from './actions'
|
||||
import * as getters from './getters'
|
||||
|
||||
const initialState = {
|
||||
companies: [],
|
||||
|
||||
selectedCompany: null,
|
||||
companies: []
|
||||
|
||||
company: null,
|
||||
|
||||
momentDateFormat: null,
|
||||
|
||||
carbonDateFormat: null,
|
||||
|
||||
item_discount: false,
|
||||
|
||||
defaultFiscalYear: null,
|
||||
|
||||
defaultTimeZone: null,
|
||||
|
||||
defaultCurrency: null,
|
||||
}
|
||||
|
||||
export default {
|
||||
@ -16,5 +31,5 @@ export default {
|
||||
|
||||
actions: actions,
|
||||
|
||||
mutations: mutations
|
||||
mutations: mutations,
|
||||
}
|
||||
|
||||
@ -1,2 +1,15 @@
|
||||
export const BOOTSTRAP_COMPANIES = 'BOOTSTRAP_COMPANIES'
|
||||
|
||||
export const SET_SELECTED_COMPANY = 'SET_SELECTED_COMPANY'
|
||||
|
||||
export const SET_MOMENT_DATE_FORMAT = 'SET_MOMENT_DATE_FORMAT'
|
||||
|
||||
export const SET_CARBON_DATE_FORMAT = 'SET_CARBON_DATE_FORMAT'
|
||||
|
||||
export const SET_DEFAULT_FISCAL_YEAR = 'SET_DEFAULT_FISCAL_YEAR'
|
||||
|
||||
export const SET_DEFAULT_TIME_ZONE = 'SET_DEFAULT_TIME_ZONE'
|
||||
|
||||
export const SET_ITEM_DISCOUNT = 'SET_ITEM_DISCOUNT'
|
||||
|
||||
export const SET_DEFAULT_CURRENCY = 'SET_DEFAULT_CURRENCY'
|
||||
|
||||
@ -2,12 +2,32 @@ import * as types from './mutation-types'
|
||||
import Ls from '@/services/ls'
|
||||
|
||||
export default {
|
||||
[types.BOOTSTRAP_COMPANIES] (state, companies) {
|
||||
state.companies = companies
|
||||
state.selectedCompany = companies[0]
|
||||
},
|
||||
[types.SET_SELECTED_COMPANY] (state, company) {
|
||||
[types.SET_SELECTED_COMPANY](state, company) {
|
||||
Ls.set('selectedCompany', company.id)
|
||||
state.selectedCompany = company
|
||||
}
|
||||
},
|
||||
|
||||
[types.SET_MOMENT_DATE_FORMAT](state, data) {
|
||||
state.momentDateFormat = data
|
||||
},
|
||||
|
||||
[types.SET_CARBON_DATE_FORMAT](state, data) {
|
||||
state.carbonDateFormat = data
|
||||
},
|
||||
|
||||
[types.SET_ITEM_DISCOUNT](state) {
|
||||
state.item_discount = true
|
||||
},
|
||||
|
||||
[types.SET_DEFAULT_FISCAL_YEAR](state, data) {
|
||||
state.defaultFiscalYear = data
|
||||
},
|
||||
|
||||
[types.SET_DEFAULT_TIME_ZONE](state, data) {
|
||||
state.defaultTimeZone = data
|
||||
},
|
||||
|
||||
[types.SET_DEFAULT_CURRENCY](state, data) {
|
||||
state.defaultCurrency = data.default_currency
|
||||
},
|
||||
}
|
||||
|
||||
@ -1,70 +0,0 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
// export const indexLoadData = ({ commit, dispatch, state }) => {
|
||||
// return new Promise((resolve, reject) => {
|
||||
// window.axios.get('/api/settings/currencies').then((response) => {
|
||||
// commit(types.BOOTSTRAP_CURRENCIES, response.data)
|
||||
// resolve(response)
|
||||
// }).catch((err) => {
|
||||
// reject(err)
|
||||
// })
|
||||
// })
|
||||
// }
|
||||
|
||||
// export const loadData = ({ commit, dispatch, state }, id) => {
|
||||
// return new Promise((resolve, reject) => {
|
||||
// window.axios.get(`/api/settings/currencies/${id}/edit`).then((response) => {
|
||||
// resolve(response)
|
||||
// }).catch((err) => {
|
||||
// reject(err)
|
||||
// })
|
||||
// })
|
||||
// }
|
||||
|
||||
// export const addCurrency = ({ commit, dispatch, state }, data) => {
|
||||
// return new Promise((resolve, reject) => {
|
||||
// window.axios.post('/api/settings/currencies', data).then((response) => {
|
||||
// commit(types.ADD_CURRENCY, response.data)
|
||||
// resolve(response)
|
||||
// }).catch((err) => {
|
||||
// reject(err)
|
||||
// })
|
||||
// })
|
||||
// }
|
||||
|
||||
// export const editCurrency = ({ commit, dispatch, state }, data) => {
|
||||
// return new Promise((resolve, reject) => {
|
||||
// window.axios.put('/api/settings/currency_setting', data).then((response) => {
|
||||
// resolve(response)
|
||||
// }).catch((err) => {
|
||||
// reject(err)
|
||||
// })
|
||||
// })
|
||||
// }
|
||||
|
||||
// export const removeItem = ({ commit, dispatch, state }, id) => {
|
||||
// return new Promise((resolve, reject) => {
|
||||
// window.axios.delete(`/api/settings/currencies/${id}`).then((response) => {
|
||||
// resolve(response)
|
||||
// }).catch((err) => {
|
||||
// reject(err)
|
||||
// })
|
||||
// })
|
||||
// }
|
||||
|
||||
// export const selectCurrency = ({ commit, dispatch, state }) => {
|
||||
// return new Promise((resolve, reject) => {
|
||||
// let data = {
|
||||
// currency: state.currencyId
|
||||
// }
|
||||
// window.axios.delete(`/api/settings/currency_setting`, data).then((response) => {
|
||||
// resolve(response)
|
||||
// }).catch((err) => {
|
||||
// reject(err)
|
||||
// })
|
||||
// })
|
||||
// }
|
||||
|
||||
export const setDefaultCurrency = ({ commit, dispatch, state }, data) => {
|
||||
commit(types.SET_DEFAULT_CURRENCY, { default_currency: data })
|
||||
}
|
||||
@ -1,21 +0,0 @@
|
||||
export const currencies = (state) => state.currencies
|
||||
export const defaultCurrency = (state) => state.defaultCurrency
|
||||
export const defaultCurrencyForInput = (state) => {
|
||||
if (state.defaultCurrency) {
|
||||
return {
|
||||
decimal: state.defaultCurrency.decimal_separator,
|
||||
thousands: state.defaultCurrency.thousand_separator,
|
||||
prefix: state.defaultCurrency.symbol + ' ',
|
||||
precision: state.defaultCurrency.precision,
|
||||
masked: false
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
decimal: '.',
|
||||
thousands: ',',
|
||||
prefix: '$ ',
|
||||
precision: 2,
|
||||
masked: false
|
||||
}
|
||||
}
|
||||
@ -1,5 +0,0 @@
|
||||
export const BOOTSTRAP_CURRENCIES = 'BOOTSTRAP_CURRENCIES'
|
||||
export const SET_DEFAULT_CURRENCY = 'SET_DEFAULT_CURRENCY'
|
||||
export const ADD_CURRENCY = 'ADD_CURRENCY'
|
||||
export const UPDATE_CURRENCY = 'UPDATE_CURRENCY'
|
||||
export const DELETE_CURRENCY = 'DELETE_CURRENCY'
|
||||
@ -1,16 +0,0 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.BOOTSTRAP_CURRENCIES] (state, data) {
|
||||
state.currencies = data.currencies
|
||||
state.currencyId = data.currencyId
|
||||
},
|
||||
|
||||
[types.SET_DEFAULT_CURRENCY] (state, data) {
|
||||
state.defaultCurrency = data.default_currency
|
||||
},
|
||||
|
||||
[types.ADD_CURRENCY] (state, data) {
|
||||
state.currencies.push(data)
|
||||
}
|
||||
}
|
||||
91
resources/assets/js/store/modules/custom-field/actions.js
Normal file
91
resources/assets/js/store/modules/custom-field/actions.js
Normal file
@ -0,0 +1,91 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export const fetchCustomFields = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get(`/api/v1/custom-fields`, { params })
|
||||
.then((response) => {
|
||||
commit(types.SET_CUSTOM_FIELDS, response.data.customFields.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchNoteCustomFields = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (state.isRequestOngoing) {
|
||||
resolve({ requestOnGoing: true })
|
||||
return true
|
||||
}
|
||||
commit(types.SET_REQUEST_STATE, true)
|
||||
window.axios
|
||||
.get(`/api/v1/custom-fields`, { params })
|
||||
.then((response) => {
|
||||
commit(types.SET_CUSTOM_FIELDS, response.data.customFields.data)
|
||||
commit(types.SET_REQUEST_STATE, false)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
commit(types.SET_REQUEST_STATE, false)
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchCustomField = ({ commit, dispatch }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get(`/api/v1/custom-fields/${id}`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const addCustomField = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.post(`/api/v1/custom-fields`, params)
|
||||
.then((response) => {
|
||||
commit(types.ADD_CUSTOM_FIELDS, response.data.customField)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const updateCustomField = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.put(`/api/v1/custom-fields/${params.id}`, params)
|
||||
.then((response) => {
|
||||
commit(types.UPDATE_CUSTOM_FIELDS, params)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteCustomFields = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.delete(`/api/v1/custom-fields/${id}`)
|
||||
.then((response) => {
|
||||
commit(types.DELETE_CUSTOM_FIELDS, id)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
@ -0,0 +1 @@
|
||||
export const getCustomFields = (state) => state.customFields
|
||||
@ -3,8 +3,8 @@ import * as actions from './actions'
|
||||
import * as getters from './getters'
|
||||
|
||||
const initialState = {
|
||||
currencies: [],
|
||||
defaultCurrency: null
|
||||
customFields: [],
|
||||
isRequestOngoing: false,
|
||||
}
|
||||
|
||||
export default {
|
||||
@ -16,5 +16,5 @@ export default {
|
||||
|
||||
actions: actions,
|
||||
|
||||
mutations: mutations
|
||||
mutations: mutations,
|
||||
}
|
||||
@ -0,0 +1,5 @@
|
||||
export const SET_CUSTOM_FIELDS = 'SET_CUSTOM_FIELDS'
|
||||
export const ADD_CUSTOM_FIELDS = 'ADD_CUSTOM_FIELDS'
|
||||
export const UPDATE_CUSTOM_FIELDS = 'UPDATE_CUSTOM_FIELDS'
|
||||
export const DELETE_CUSTOM_FIELDS = 'DELETE_CUSTOM_FIELDS'
|
||||
export const SET_REQUEST_STATE = 'SET_REQUEST_STATE'
|
||||
42
resources/assets/js/store/modules/custom-field/mutations.js
Normal file
42
resources/assets/js/store/modules/custom-field/mutations.js
Normal file
@ -0,0 +1,42 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.SET_CUSTOM_FIELDS](state, fields) {
|
||||
state.customFields = fields
|
||||
},
|
||||
|
||||
[types.ADD_CUSTOM_FIELDS](state, field) {
|
||||
field = {
|
||||
...field,
|
||||
options: field.options.map((option) => {
|
||||
return { name: option ? option : '' }
|
||||
}),
|
||||
}
|
||||
|
||||
state.customFields = [...state.customFields, field]
|
||||
},
|
||||
|
||||
[types.UPDATE_CUSTOM_FIELDS](state, field) {
|
||||
field = {
|
||||
...field,
|
||||
options: field.options.map((option) => {
|
||||
return { name: option ? option : '' }
|
||||
}),
|
||||
}
|
||||
|
||||
let pos = state.customFields.findIndex((_f) => _f.id === field.id)
|
||||
|
||||
if (state.customFields[pos]) {
|
||||
state.customFields[pos] = field
|
||||
}
|
||||
},
|
||||
|
||||
[types.DELETE_CUSTOM_FIELDS](state, id) {
|
||||
let index = state.customFields.findIndex((field) => field.id === id)
|
||||
state.customFields.splice(index, 1)
|
||||
},
|
||||
|
||||
[types.SET_REQUEST_STATE](state, flag) {
|
||||
state.isRequestOngoing = flag
|
||||
},
|
||||
}
|
||||
@ -1,70 +1,108 @@
|
||||
import * as types from './mutation-types'
|
||||
import * as searchTypes from '../search/mutation-types'
|
||||
|
||||
export const fetchCustomers = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/customers`, {params}).then((response) => {
|
||||
commit(types.BOOTSTRAP_CUSTOMERS, response.data.customers.data)
|
||||
commit(types.SET_TOTAL_CUSTOMERS, response.data.customers.total)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/customers`, { params })
|
||||
.then((response) => {
|
||||
commit(types.BOOTSTRAP_CUSTOMERS, response.data.customers.data)
|
||||
commit(types.SET_TOTAL_CUSTOMERS, response.data.customerTotalCount)
|
||||
commit(
|
||||
'search/' + searchTypes.SET_CUSTOMER_LISTS,
|
||||
response.data.customers.data,
|
||||
{ root: true }
|
||||
)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchCustomer = ({ commit, dispatch }, id) => {
|
||||
export const fetchCustomer = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/customers/${id}/edit`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/customers/${params.id}`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchViewCustomer = ({ commit, dispatch }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get(`/api/v1/customers/${params.id}/stats`, { params })
|
||||
.then((response) => {
|
||||
commit(types.SET_SELECTED_VIEW_CUSTOMER, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const addCustomer = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post('/api/customers', data).then((response) => {
|
||||
commit(types.ADD_CUSTOMER, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post('/api/v1/customers', data)
|
||||
.then((response) => {
|
||||
commit(types.ADD_CUSTOMER, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const updateCustomer = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.put(`/api/customers/${data.id}`, data).then((response) => {
|
||||
if(response.data.success){
|
||||
commit(types.UPDATE_CUSTOMER, response.data)
|
||||
}
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.put(`/api/v1/customers/${data.id}`, data)
|
||||
.then((response) => {
|
||||
if (response.data.success) {
|
||||
commit(types.UPDATE_CUSTOMER, response.data)
|
||||
}
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteCustomer = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.delete(`/api/customers/${id}`).then((response) => {
|
||||
commit(types.DELETE_CUSTOMER, id)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/customers/delete`, id)
|
||||
.then((response) => {
|
||||
commit(types.DELETE_CUSTOMER, id)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteMultipleCustomers = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/customers/delete`, {'id': state.selectedCustomers}).then((response) => {
|
||||
commit(types.DELETE_MULTIPLE_CUSTOMERS, state.selectedCustomers)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/customers/delete`, { ids: state.selectedCustomers })
|
||||
.then((response) => {
|
||||
commit(types.DELETE_MULTIPLE_CUSTOMERS, state.selectedCustomers)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@ -77,7 +115,7 @@ export const selectAllCustomers = ({ commit, dispatch, state }) => {
|
||||
commit(types.SET_SELECTED_CUSTOMERS, [])
|
||||
commit(types.SET_SELECT_ALL_STATE, false)
|
||||
} else {
|
||||
let allCustomerIds = state.customers.map(cust => cust.id)
|
||||
let allCustomerIds = state.customers.map((cust) => cust.id)
|
||||
commit(types.SET_SELECTED_CUSTOMERS, allCustomerIds)
|
||||
commit(types.SET_SELECT_ALL_STATE, true)
|
||||
}
|
||||
|
||||
@ -2,3 +2,8 @@ export const customers = (state) => state.customers
|
||||
export const selectAllField = (state) => state.selectAllField
|
||||
export const selectedCustomers = (state) => state.selectedCustomers
|
||||
export const totalCustomers = (state) => state.totalCustomers
|
||||
export const getCustomer = (state) => (id) => {
|
||||
let CstId = parseInt(id)
|
||||
return state.customers.find((customer) => customer.id === CstId)
|
||||
}
|
||||
export const selectedViewCustomer = (state) => state.selectedViewCustomer
|
||||
|
||||
@ -6,7 +6,8 @@ const initialState = {
|
||||
customers: [],
|
||||
totalCustomers: 0,
|
||||
selectAllField: false,
|
||||
selectedCustomers: []
|
||||
selectedCustomers: [],
|
||||
selectedViewCustomer: {},
|
||||
}
|
||||
|
||||
export default {
|
||||
@ -18,5 +19,5 @@ export default {
|
||||
|
||||
actions: actions,
|
||||
|
||||
mutations: mutations
|
||||
mutations: mutations,
|
||||
}
|
||||
|
||||
@ -7,3 +7,4 @@ export const SET_SELECTED_CUSTOMERS = 'SET_SELECTED_CUSTOMERS'
|
||||
export const SET_TOTAL_CUSTOMERS = 'SET_TOTAL_CUSTOMERS'
|
||||
export const RESET_SELECTED_CUSTOMER = 'RESET_SELECTED_CUSTOMER'
|
||||
export const SET_SELECT_ALL_STATE = 'SET_SELECT_ALL_STATE'
|
||||
export const SET_SELECTED_VIEW_CUSTOMER = 'SET_SELECTED_VIEW_CUSTOMER'
|
||||
|
||||
@ -1,48 +1,53 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.BOOTSTRAP_CUSTOMERS] (state, customers) {
|
||||
[types.BOOTSTRAP_CUSTOMERS](state, customers) {
|
||||
state.customers = customers
|
||||
},
|
||||
|
||||
[types.SET_TOTAL_CUSTOMERS] (state, totalCustomers) {
|
||||
[types.SET_TOTAL_CUSTOMERS](state, totalCustomers) {
|
||||
state.totalCustomers = totalCustomers
|
||||
},
|
||||
|
||||
[types.ADD_CUSTOMER] (state, data) {
|
||||
[types.ADD_CUSTOMER](state, data) {
|
||||
state.customers.push(data.customer)
|
||||
},
|
||||
|
||||
[types.UPDATE_CUSTOMER] (state, data) {
|
||||
let pos = state.customers.findIndex(customer => customer.id === data.customer.id)
|
||||
[types.UPDATE_CUSTOMER](state, data) {
|
||||
let pos = state.customers.findIndex(
|
||||
(customer) => customer.id === data.customer.id
|
||||
)
|
||||
|
||||
state.customers[pos] = data.customer
|
||||
},
|
||||
|
||||
[types.DELETE_CUSTOMER] (state, id) {
|
||||
let index = state.customers.findIndex(customer => customer.id === id)
|
||||
[types.DELETE_CUSTOMER](state, id) {
|
||||
let index = state.customers.findIndex((customer) => customer.id === id)
|
||||
state.customers.splice(index, 1)
|
||||
},
|
||||
|
||||
[types.DELETE_MULTIPLE_CUSTOMERS] (state, selectedCustomers) {
|
||||
[types.DELETE_MULTIPLE_CUSTOMERS](state, selectedCustomers) {
|
||||
selectedCustomers.forEach((customer) => {
|
||||
let index = state.customers.findIndex(_cust => _cust.id === customer.id)
|
||||
let index = state.customers.findIndex((_cust) => _cust.id === customer.id)
|
||||
state.customers.splice(index, 1)
|
||||
})
|
||||
|
||||
state.selectedCustomers = []
|
||||
},
|
||||
|
||||
[types.SET_SELECTED_CUSTOMERS] (state, data) {
|
||||
[types.SET_SELECTED_CUSTOMERS](state, data) {
|
||||
state.selectedCustomers = data
|
||||
},
|
||||
|
||||
[types.RESET_SELECTED_CUSTOMER] (state, data) {
|
||||
[types.RESET_SELECTED_CUSTOMER](state, data) {
|
||||
state.selectedCustomer = null
|
||||
},
|
||||
|
||||
[types.SET_SELECT_ALL_STATE] (state, data) {
|
||||
[types.SET_SELECT_ALL_STATE](state, data) {
|
||||
state.selectAllField = data
|
||||
}
|
||||
},
|
||||
|
||||
[types.SET_SELECTED_VIEW_CUSTOMER](state, selectedViewCustomer) {
|
||||
state.selectedViewCustomer = selectedViewCustomer
|
||||
},
|
||||
}
|
||||
|
||||
@ -1,21 +1,23 @@
|
||||
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export const loadData = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/dashboard`, { params }).then((response) => {
|
||||
commit(types.SET_INITIAL_DATA, response.data)
|
||||
commit(types.GET_INITIAL_DATA, true)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/dashboard`, { params })
|
||||
.then((response) => {
|
||||
commit(types.SET_INITIAL_DATA, response.data)
|
||||
commit(types.SET_DASHBOARD_DATA_LOADED_STATE, true)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// export const getChart = ({ commit, dispatch, state }) => {
|
||||
// return new Promise((resolve, reject) => {
|
||||
// window.axios.get(`/api/dashboard/expense/chart`).then((response) => {
|
||||
// window.axios.get(`/api/v1/dashboard/expense/chart`).then((response) => {
|
||||
// commit(types.SET_INITIAL_DATA, response.data)
|
||||
// resolve(response)
|
||||
// }).catch((err) => {
|
||||
|
||||
@ -9,7 +9,7 @@ export const getTotalDueAmount = (state) => state.totalDueAmount
|
||||
export const getDueInvoices = (state) => state.dueInvoices
|
||||
export const getRecentEstimates = (state) => state.recentEstimates
|
||||
|
||||
export const getLoadedData = (state) => state.isDataLoaded
|
||||
export const getDashboardDataLoaded = (state) => state.isDashboardDataLoaded
|
||||
|
||||
export const getWeeklyInvoicesCounter = (state) => state.weeklyInvoices.counter
|
||||
export const getWeeklyInvoicesDays = (state) => state.weeklyInvoices.days
|
||||
|
||||
@ -8,11 +8,11 @@ const initialState = {
|
||||
estimates: 0,
|
||||
expenses: 0,
|
||||
totalDueAmount: [],
|
||||
isDataLoaded: false,
|
||||
isDashboardDataLoaded: false,
|
||||
|
||||
weeklyInvoices: {
|
||||
days: [],
|
||||
counter: []
|
||||
counter: [],
|
||||
},
|
||||
|
||||
chartData: {
|
||||
@ -20,7 +20,7 @@ const initialState = {
|
||||
invoiceTotals: [],
|
||||
expenseTotals: [],
|
||||
netProfits: [],
|
||||
receiptTotals: []
|
||||
receiptTotals: [],
|
||||
},
|
||||
|
||||
salesTotal: null,
|
||||
@ -30,7 +30,7 @@ const initialState = {
|
||||
|
||||
dueInvoices: [],
|
||||
recentEstimates: [],
|
||||
newContacts: []
|
||||
newContacts: [],
|
||||
}
|
||||
|
||||
export default {
|
||||
@ -42,5 +42,5 @@ export default {
|
||||
|
||||
actions: actions,
|
||||
|
||||
mutations: mutations
|
||||
mutations: mutations,
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
export const SET_INITIAL_DATA = 'SET_INITIAL_DATA'
|
||||
export const GET_INITIAL_DATA = 'GET_INITIAL_DATA'
|
||||
export const SET_DASHBOARD_DATA_LOADED_STATE = 'SET_DASHBOARD_DATA_LOADED_STATE'
|
||||
export const DELETE_INVOICE = 'DELETE_INVOICE'
|
||||
export const UPDATE_INVOICE_STATUS = 'UPDATE_INVOICE_STATUS'
|
||||
export const DELETE_ESTIMATE = 'DELETE_ESTIMATE'
|
||||
export const UPDATE_ESTIMATE_STATUS = 'UPDATE_ESTIMATE_STATUS'
|
||||
export const UPDATE_ESTIMATE_STATUS = 'UPDATE_ESTIMATE_STATUS'
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.SET_INITIAL_DATA] (state, data) {
|
||||
[types.SET_INITIAL_DATA](state, data) {
|
||||
state.contacts = data.customersCount
|
||||
state.invoices = data.invoicesCount
|
||||
state.estimates = data.estimatesCount
|
||||
@ -30,33 +30,39 @@ export default {
|
||||
state.netProfit = data.netProfit
|
||||
},
|
||||
|
||||
[types.GET_INITIAL_DATA] (state, data) {
|
||||
state.isDataLoaded = data
|
||||
[types.SET_DASHBOARD_DATA_LOADED_STATE](state, data) {
|
||||
state.isDashboardDataLoaded = data
|
||||
},
|
||||
|
||||
[types.UPDATE_INVOICE_STATUS] (state, data) {
|
||||
let pos = state.dueInvoices.findIndex(invoice => invoice.id === data.id)
|
||||
[types.UPDATE_INVOICE_STATUS](state, data) {
|
||||
let pos = state.dueInvoices.findIndex((invoice) => invoice.id === data.id)
|
||||
|
||||
if (state.dueInvoices[pos]) {
|
||||
state.dueInvoices[pos].status = data.status
|
||||
}
|
||||
},
|
||||
|
||||
[types.DELETE_INVOICE] (state, id) {
|
||||
let index = state.dueInvoices.findIndex(invoice => invoice.id === id)
|
||||
[types.DELETE_INVOICE](state, data) {
|
||||
let index = state.dueInvoices.findIndex(
|
||||
(invoice) => invoice.id === data.ids[0]
|
||||
)
|
||||
state.dueInvoices.splice(index, 1)
|
||||
},
|
||||
|
||||
[types.DELETE_ESTIMATE] (state, id) {
|
||||
let index = state.recentEstimates.findIndex(estimate => estimate.id === id)
|
||||
[types.DELETE_ESTIMATE](state, data) {
|
||||
let index = state.recentEstimates.findIndex(
|
||||
(estimate) => estimate.id === data.ids[0]
|
||||
)
|
||||
state.recentEstimates.splice(index, 1)
|
||||
},
|
||||
|
||||
[types.UPDATE_ESTIMATE_STATUS] (state, data) {
|
||||
let pos = state.recentEstimates.findIndex(estimate => estimate.id === data.id)
|
||||
[types.UPDATE_ESTIMATE_STATUS](state, data) {
|
||||
let pos = state.recentEstimates.findIndex(
|
||||
(estimate) => estimate.id === data.id
|
||||
)
|
||||
|
||||
if (state.recentEstimates[pos]) {
|
||||
state.recentEstimates[pos].status = data.status
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
84
resources/assets/js/store/modules/disk/actions.js
Normal file
84
resources/assets/js/store/modules/disk/actions.js
Normal file
@ -0,0 +1,84 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export const fetchDisks = ({ commit }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get(`/api/v1/disks`, { params })
|
||||
.then((response) => {
|
||||
commit(types.SET_DISKS, response.data.disks.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchDiskDrivers = ({ commit }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get(`/api/v1/disk/drivers`)
|
||||
.then((response) => {
|
||||
commit(types.SET_DISK_DRIVER, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchDiskEnv = ({ commit }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get(`/api/v1/disks/${data.disk}`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const createDisk = ({ commit }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.post(`/api/v1/disks`, data)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const updateDisk = ({ commit }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.put(`/api/v1/disks/${data.id}`, data)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteFileDisk = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.delete(`/api/v1/disks/${id}`)
|
||||
.then((response) => {
|
||||
if (response.data.success) {
|
||||
commit(types.DELETE_DISK, id)
|
||||
}
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
2
resources/assets/js/store/modules/disk/getters.js
Normal file
2
resources/assets/js/store/modules/disk/getters.js
Normal file
@ -0,0 +1,2 @@
|
||||
export const getDisks = (state) => state.disks
|
||||
export const getDiskDrivers = (state) => state.diskDrivers
|
||||
@ -3,7 +3,8 @@ import * as actions from './actions'
|
||||
import * as getters from './getters'
|
||||
|
||||
const initialState = {
|
||||
report: null
|
||||
disks: [],
|
||||
diskDrivers: [],
|
||||
}
|
||||
|
||||
export default {
|
||||
@ -15,5 +16,5 @@ export default {
|
||||
|
||||
actions: actions,
|
||||
|
||||
mutations: mutations
|
||||
mutations: mutations,
|
||||
}
|
||||
4
resources/assets/js/store/modules/disk/mutation-types.js
Normal file
4
resources/assets/js/store/modules/disk/mutation-types.js
Normal file
@ -0,0 +1,4 @@
|
||||
export const SET_DISKS = 'SET_DISKS'
|
||||
export const SET_DISK_DRIVER = 'SET_DISK_DRIVER'
|
||||
export const ADD_DISKS = 'ADD_DISKS'
|
||||
export const DELETE_DISK = 'DELETE_DISK'
|
||||
20
resources/assets/js/store/modules/disk/mutations.js
Normal file
20
resources/assets/js/store/modules/disk/mutations.js
Normal file
@ -0,0 +1,20 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.SET_DISKS](state, disks) {
|
||||
state.disks = disks
|
||||
},
|
||||
|
||||
[types.SET_DISK_DRIVER](state, data) {
|
||||
state.diskDrivers = data.drivers
|
||||
},
|
||||
|
||||
[types.ADD_DISKS](state, data) {
|
||||
state.disks.push(data.disk)
|
||||
},
|
||||
|
||||
[types.DELETE_DISK](state, id) {
|
||||
let pos = state.disks.findIndex((disk) => disk.id === id)
|
||||
state.disks.splice(pos, 1)
|
||||
},
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export const fetchEstimateTemplates = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get(`/api/v1/estimates/templates`, { params })
|
||||
.then((response) => {
|
||||
commit(types.SET_ESTIMATE_TEMPLATES, response.data.templates)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
@ -0,0 +1 @@
|
||||
export const getEstimateTemplates = (state) => state.estimateTemplates
|
||||
@ -3,7 +3,7 @@ import * as actions from './actions'
|
||||
import * as getters from './getters'
|
||||
|
||||
const initialState = {
|
||||
estimates: []
|
||||
estimateTemplates: [],
|
||||
}
|
||||
|
||||
export default {
|
||||
@ -15,5 +15,5 @@ export default {
|
||||
|
||||
actions: actions,
|
||||
|
||||
mutations: mutations
|
||||
mutations: mutations,
|
||||
}
|
||||
@ -0,0 +1 @@
|
||||
export const SET_ESTIMATE_TEMPLATES = 'SET_ESTIMATE_TEMPLATES'
|
||||
@ -0,0 +1,7 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.SET_ESTIMATE_TEMPLATES](state, templates) {
|
||||
state.estimateTemplates = templates
|
||||
},
|
||||
}
|
||||
@ -3,170 +3,249 @@ import * as dashboardTypes from '../dashboard/mutation-types'
|
||||
|
||||
export const fetchEstimates = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/estimates`, {params}).then((response) => {
|
||||
commit(types.SET_ESTIMATES, response.data.estimates.data)
|
||||
commit(types.SET_TOTAL_ESTIMATES, response.data.estimateTotalCount)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/estimates`, { params })
|
||||
.then((response) => {
|
||||
commit(types.SET_ESTIMATES, response.data.estimates.data)
|
||||
commit(types.SET_TOTAL_ESTIMATES, response.data.estimateTotalCount)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const getRecord = ({ commit, dispatch, state }, record) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/estimates/records?record=${record}`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/estimates/records?record=${record}`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchCreateEstimate = ({ commit, dispatch, state }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/estimates/create`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/estimates`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const getEstimateNumber = ({ commit, dispatch, state }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get(`/api/v1/next-number?key=estimate`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchEstimate = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/estimates/${id}/edit`).then((response) => {
|
||||
commit(types.SET_TEMPLATE_ID, response.data.estimate.estimate_template_id)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/estimates/${id}`)
|
||||
.then((response) => {
|
||||
commit(
|
||||
types.SET_TEMPLATE_ID,
|
||||
response.data.estimate.estimate_template_id
|
||||
)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchViewEstimate = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/estimates/${id}`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/estimates/${id}`)
|
||||
.then((response) => {
|
||||
commit(types.VIEW_ESTIMATE, response.data.estimate)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const sendEmail = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/estimates/send`, data).then((response) => {
|
||||
if (response.data.success) {
|
||||
commit(types.UPDATE_ESTIMATE_STATUS, {id: data.id, status: 'SENT'})
|
||||
commit('dashboard/' + dashboardTypes.UPDATE_ESTIMATE_STATUS, { id: data.id, status: 'SENT' }, { root: true })
|
||||
}
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/estimates/${data.id}/send`, data)
|
||||
.then((response) => {
|
||||
if (response.data.success) {
|
||||
commit(types.UPDATE_ESTIMATE_STATUS, { id: data.id, status: 'SENT' })
|
||||
commit(types.VIEW_ESTIMATE)
|
||||
commit(
|
||||
'dashboard/' + dashboardTypes.UPDATE_ESTIMATE_STATUS,
|
||||
{ id: data.id, status: 'SENT' },
|
||||
{ root: true }
|
||||
)
|
||||
}
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const addEstimate = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post('/api/estimates', data).then((response) => {
|
||||
commit(types.ADD_ESTIMATE, response.data.estimate)
|
||||
window.axios
|
||||
.post('/api/v1/estimates', data)
|
||||
.then((response) => {
|
||||
commit(types.ADD_ESTIMATE, response.data.estimate)
|
||||
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteEstimate = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.delete(`/api/estimates/${id}`).then((response) => {
|
||||
commit(types.DELETE_ESTIMATE, id)
|
||||
commit('dashboard/' + dashboardTypes.DELETE_ESTIMATE, id, { root: true })
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/estimates/delete`, id)
|
||||
.then((response) => {
|
||||
commit(types.DELETE_ESTIMATE, id)
|
||||
commit('dashboard/' + dashboardTypes.DELETE_ESTIMATE, id, {
|
||||
root: true,
|
||||
})
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteMultipleEstimates = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/estimates/delete`, {'id': state.selectedEstimates}).then((response) => {
|
||||
commit(types.DELETE_MULTIPLE_ESTIMATES, state.selectedEstimates)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/estimates/delete`, { ids: state.selectedEstimates })
|
||||
.then((response) => {
|
||||
commit(types.DELETE_MULTIPLE_ESTIMATES, state.selectedEstimates)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const updateEstimate = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.put(`/api/estimates/${data.id}`, data).then((response) => {
|
||||
commit(types.UPDATE_ESTIMATE, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.put(`/api/v1/estimates/${data.id}`, data)
|
||||
.then((response) => {
|
||||
commit(types.UPDATE_ESTIMATE, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const markAsAccepted = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/estimates/accept`, data).then((response) => {
|
||||
commit('dashboard/' + dashboardTypes.UPDATE_ESTIMATE_STATUS, { id: data.id, status: 'ACCEPTED' }, { root: true })
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/estimates/${data.id}/status`, data)
|
||||
.then((response) => {
|
||||
commit(
|
||||
'dashboard/' + dashboardTypes.UPDATE_ESTIMATE_STATUS,
|
||||
{ id: data.id, status: 'ACCEPTED' },
|
||||
{ root: true }
|
||||
)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const markAsRejected = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/estimates/reject`, data).then((response) => {
|
||||
commit('dashboard/' + dashboardTypes.UPDATE_ESTIMATE_STATUS, { id: data.id, status: 'REJECTED' }, { root: true })
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/estimates/${data.id}/status`, data)
|
||||
.then((response) => {
|
||||
commit(
|
||||
'dashboard/' + dashboardTypes.UPDATE_ESTIMATE_STATUS,
|
||||
{ id: data.id, status: 'REJECTED' },
|
||||
{ root: true }
|
||||
)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const markAsSent = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/estimates/mark-as-sent`, data).then((response) => {
|
||||
commit(types.UPDATE_ESTIMATE_STATUS, {id: data.id, status: 'SENT'})
|
||||
commit('dashboard/' + dashboardTypes.UPDATE_ESTIMATE_STATUS, { id: data.id, status: 'SENT' }, { root: true })
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/estimates/${data.id}/status`, data)
|
||||
.then((response) => {
|
||||
commit(types.UPDATE_ESTIMATE_STATUS, { id: data.id, status: 'SENT' })
|
||||
commit(
|
||||
'dashboard/' + dashboardTypes.UPDATE_ESTIMATE_STATUS,
|
||||
{ id: data.id, status: 'SENT' },
|
||||
{ root: true }
|
||||
)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const convertToInvoice = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/estimates/${id}/convert-to-invoice`).then((response) => {
|
||||
// commit(types.UPDATE_INVOICE, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/estimates/${id}/convert-to-invoice`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const searchEstimate = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/estimates?${data}`).then((response) => {
|
||||
// commit(types.UPDATE_INVOICE, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/estimates?${data}`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@ -188,7 +267,7 @@ export const selectAllEstimates = ({ commit, dispatch, state }) => {
|
||||
commit(types.SET_SELECTED_ESTIMATES, [])
|
||||
commit(types.SET_SELECT_ALL_STATE, false)
|
||||
} else {
|
||||
let allEstimateIds = state.estimates.map(estimt => estimt.id)
|
||||
let allEstimateIds = state.estimates.map((estimt) => estimt.id)
|
||||
commit(types.SET_SELECTED_ESTIMATES, allEstimateIds)
|
||||
commit(types.SET_SELECT_ALL_STATE, true)
|
||||
}
|
||||
@ -225,16 +304,28 @@ export const setTemplate = ({ commit, dispatch, state }, data) => {
|
||||
|
||||
export const selectCustomer = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/customers/${id}`).then((response) => {
|
||||
commit(types.RESET_SELECTED_CUSTOMER)
|
||||
commit(types.SELECT_CUSTOMER, response.data.customer)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/customers/${id}`)
|
||||
.then((response) => {
|
||||
commit(types.RESET_SELECTED_CUSTOMER)
|
||||
commit(types.SELECT_CUSTOMER, response.data.customer)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const resetSelectedCustomer = ({ commit, dispatch, state }, data) => {
|
||||
commit(types.RESET_SELECTED_CUSTOMER)
|
||||
}
|
||||
|
||||
export const selectNote = ({ commit, dispatch, state }, data) => {
|
||||
commit(types.RESET_SELECTED_NOTE)
|
||||
commit(types.SET_SELECTED_NOTE, data.notes)
|
||||
}
|
||||
|
||||
export const resetSelectedNote = ({ commit, dispatch, state }, data) => {
|
||||
commit(types.RESET_SELECTED_NOTE)
|
||||
}
|
||||
|
||||
@ -4,7 +4,8 @@ export const getTemplateId = (state) => state.estimateTemplateId
|
||||
export const selectedEstimates = (state) => state.selectedEstimates
|
||||
export const totalEstimates = (state) => state.totalEstimates
|
||||
export const selectedCustomer = (state) => state.selectedCustomer
|
||||
export const selectedNote = (state) => state.selectedNote
|
||||
export const getEstimate = (state) => (id) => {
|
||||
let invId = parseInt(id)
|
||||
return state.estimates.find(estimate => estimate.id === invId)
|
||||
return state.estimates.find((estimate) => estimate.id === invId)
|
||||
}
|
||||
|
||||
@ -8,7 +8,9 @@ const initialState = {
|
||||
selectAllField: false,
|
||||
selectedEstimates: [],
|
||||
totalEstimates: 0,
|
||||
selectedCustomer: null
|
||||
selectedCustomer: null,
|
||||
selectedEstimate: null,
|
||||
selectedNote: null,
|
||||
}
|
||||
|
||||
export default {
|
||||
@ -20,5 +22,5 @@ export default {
|
||||
|
||||
actions: actions,
|
||||
|
||||
mutations: mutations
|
||||
mutations: mutations,
|
||||
}
|
||||
|
||||
@ -15,3 +15,7 @@ export const RESET_SELECTED_CUSTOMER = 'RESET_SELECTED_CUSTOMER'
|
||||
export const SET_SELECT_ALL_STATE = 'SET_SELECT_ALL_STATE'
|
||||
export const RESET_SELECTED_ESTIMATES = 'RESET_SELECTED_ESTIMATES'
|
||||
export const UPDATE_ESTIMATE_STATUS = 'UPDATE_ESTIMATE_STATUS'
|
||||
export const VIEW_ESTIMATE = 'VIEW_ESTIMATE'
|
||||
|
||||
export const SET_SELECTED_NOTE = 'SET_SELECTED_NOTE'
|
||||
export const RESET_SELECTED_NOTE = 'RESET_SELECTED_NOTE'
|
||||
|
||||
@ -1,68 +1,82 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.SET_ESTIMATES] (state, data) {
|
||||
[types.SET_ESTIMATES](state, data) {
|
||||
state.estimates = data
|
||||
},
|
||||
|
||||
[types.SET_TOTAL_ESTIMATES] (state, totalEstimates) {
|
||||
[types.SET_TOTAL_ESTIMATES](state, totalEstimates) {
|
||||
state.totalEstimates = totalEstimates
|
||||
},
|
||||
|
||||
[types.ADD_ESTIMATE] (state, data) {
|
||||
[types.ADD_ESTIMATE](state, data) {
|
||||
state.estimates = [...state.estimates, data]
|
||||
},
|
||||
|
||||
[types.DELETE_ESTIMATE] (state, id) {
|
||||
let index = state.estimates.findIndex(estimate => estimate.id === id)
|
||||
[types.DELETE_ESTIMATE](state, id) {
|
||||
let index = state.estimates.findIndex((estimate) => estimate.id === id)
|
||||
state.estimates.splice(index, 1)
|
||||
},
|
||||
|
||||
[types.SET_SELECTED_ESTIMATES] (state, data) {
|
||||
[types.SET_SELECTED_ESTIMATES](state, data) {
|
||||
state.selectedEstimates = data
|
||||
},
|
||||
|
||||
[types.DELETE_MULTIPLE_ESTIMATES] (state, selectedEstimates) {
|
||||
[types.DELETE_MULTIPLE_ESTIMATES](state, selectedEstimates) {
|
||||
selectedEstimates.forEach((estimate) => {
|
||||
let index = state.estimates.findIndex(_est => _est.id === estimate.id)
|
||||
let index = state.estimates.findIndex((_est) => _est.id === estimate.id)
|
||||
state.estimates.splice(index, 1)
|
||||
})
|
||||
|
||||
state.selectedEstimates = []
|
||||
},
|
||||
|
||||
[types.UPDATE_ESTIMATE] (state, data) {
|
||||
let pos = state.estimates.findIndex(estimate => estimate.id === data.estimate.id)
|
||||
[types.UPDATE_ESTIMATE](state, data) {
|
||||
let pos = state.estimates.findIndex(
|
||||
(estimate) => estimate.id === data.estimate.id
|
||||
)
|
||||
|
||||
state.estimates[pos] = data.estimate
|
||||
},
|
||||
|
||||
[types.UPDATE_ESTIMATE_STATUS] (state, data) {
|
||||
let pos = state.estimates.findIndex(estimate => estimate.id === data.id)
|
||||
|
||||
[types.UPDATE_ESTIMATE_STATUS](state, data) {
|
||||
let pos = state.estimates.findIndex((estimate) => estimate.id === data.id)
|
||||
if (state.estimates[pos]) {
|
||||
// state.estimates[pos] = { ...state.estimates[pos], status: data.status }
|
||||
state.estimates[pos].status = data.status
|
||||
}
|
||||
},
|
||||
|
||||
[types.RESET_SELECTED_ESTIMATES] (state, data) {
|
||||
[types.RESET_SELECTED_ESTIMATES](state, data) {
|
||||
state.selectedEstimates = []
|
||||
state.selectAllField = false
|
||||
},
|
||||
|
||||
[types.SET_TEMPLATE_ID] (state, templateId) {
|
||||
[types.SET_TEMPLATE_ID](state, templateId) {
|
||||
state.estimateTemplateId = templateId
|
||||
},
|
||||
|
||||
[types.SELECT_CUSTOMER] (state, data) {
|
||||
[types.SELECT_CUSTOMER](state, data) {
|
||||
state.selectedCustomer = data
|
||||
},
|
||||
|
||||
[types.RESET_SELECTED_CUSTOMER] (state, data) {
|
||||
[types.RESET_SELECTED_CUSTOMER](state, data) {
|
||||
state.selectedCustomer = null
|
||||
},
|
||||
|
||||
[types.SET_SELECT_ALL_STATE] (state, data) {
|
||||
[types.SET_SELECT_ALL_STATE](state, data) {
|
||||
state.selectAllField = data
|
||||
}
|
||||
},
|
||||
|
||||
[types.VIEW_ESTIMATE](state, estimate) {
|
||||
state.selectedEstimate = estimate
|
||||
},
|
||||
|
||||
[types.SET_SELECTED_NOTE](state, data) {
|
||||
state.selectedNote = data
|
||||
},
|
||||
|
||||
[types.RESET_SELECTED_NOTE](state, data) {
|
||||
state.selectedNote = null
|
||||
},
|
||||
}
|
||||
|
||||
@ -2,77 +2,111 @@ import * as types from './mutation-types'
|
||||
|
||||
export const fetchExpenses = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/expenses`, {params}).then((response) => {
|
||||
commit(types.SET_EXPENSES, response.data.expenses.data)
|
||||
commit(types.SET_TOTAL_EXPENSES, response.data.expenses.total)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchCreateExpense = ({ commit, dispatch, state }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/expenses/create`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/expenses`, { params })
|
||||
.then((response) => {
|
||||
commit(types.SET_EXPENSES, response.data.expenses.data)
|
||||
commit(types.SET_TOTAL_EXPENSES, response.data.expenseTotalCount)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchExpense = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/expenses/${id}/edit`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/expenses/${id}`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const getExpenseReceipt = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get(`/api/v1/expenses/${id}/show/receipt`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const uploadExpenseReceipt = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.post(`/api/v1/expenses/${data.id}/upload/receipts`, data)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const addExpense = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post('/api/expenses', data).then((response) => {
|
||||
// commit(types.ADD_EXPENSE, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post('/api/v1/expenses', data)
|
||||
.then((response) => {
|
||||
commit(types.ADD_EXPENSE, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const updateExpense = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/expenses/${data.id}`, data.editData).then((response) => {
|
||||
commit(types.UPDATE_EXPENSE, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/expenses/${data.id}`, data.editData)
|
||||
.then((response) => {
|
||||
commit(types.UPDATE_EXPENSE, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteExpense = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.delete(`/api/expenses/${id}`).then((response) => {
|
||||
commit(types.DELETE_EXPENSE, id)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/expenses/delete`, id)
|
||||
.then((response) => {
|
||||
commit(types.DELETE_EXPENSE, id)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteMultipleExpenses = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/expenses/delete`, {'id': state.selectedExpenses}).then((response) => {
|
||||
commit(types.DELETE_MULTIPLE_EXPENSES, state.selectedExpenses)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/expenses/delete`, { ids: state.selectedExpenses })
|
||||
.then((response) => {
|
||||
commit(types.DELETE_MULTIPLE_EXPENSES, state.selectedExpenses)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@ -85,7 +119,7 @@ export const selectAllExpenses = ({ commit, dispatch, state }) => {
|
||||
commit(types.SET_SELECTED_EXPENSES, [])
|
||||
commit(types.SET_SELECT_ALL_STATE, false)
|
||||
} else {
|
||||
let allExpenseIds = state.expenses.map(cust => cust.id)
|
||||
let allExpenseIds = state.expenses.map((cust) => cust.id)
|
||||
commit(types.SET_SELECTED_EXPENSES, allExpenseIds)
|
||||
commit(types.SET_SELECT_ALL_STATE, true)
|
||||
}
|
||||
|
||||
@ -0,0 +1,15 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export const fetchInvoiceTemplates = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get(`/api/v1/invoices/templates`, { params })
|
||||
.then((response) => {
|
||||
commit(types.SET_INVOICE_TEMPLATES, response.data.invoiceTemplates)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
@ -0,0 +1 @@
|
||||
export const getInvoiceTemplates = (state) => state.invoiceTemplates
|
||||
@ -3,7 +3,7 @@ import * as actions from './actions'
|
||||
import * as getters from './getters'
|
||||
|
||||
const initialState = {
|
||||
invoices: []
|
||||
invoiceTemplates: [],
|
||||
}
|
||||
|
||||
export default {
|
||||
@ -15,5 +15,5 @@ export default {
|
||||
|
||||
actions: actions,
|
||||
|
||||
mutations: mutations
|
||||
mutations: mutations,
|
||||
}
|
||||
@ -0,0 +1 @@
|
||||
export const SET_INVOICE_TEMPLATES = 'SET_INVOICE_TEMPLATES'
|
||||
@ -0,0 +1,7 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.SET_INVOICE_TEMPLATES](state, templates) {
|
||||
state.invoiceTemplates = templates
|
||||
},
|
||||
}
|
||||
@ -3,156 +3,181 @@ import * as dashboardTypes from '../dashboard/mutation-types'
|
||||
|
||||
export const fetchInvoices = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/invoices`, {params}).then((response) => {
|
||||
commit(types.SET_INVOICES, response.data.invoices.data)
|
||||
commit(types.SET_TOTAL_INVOICES, response.data.invoiceTotalCount)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchCreateInvoice = ({ commit, dispatch, state }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/invoices/create`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/invoices`, { params })
|
||||
.then((response) => {
|
||||
commit(types.SET_INVOICES, response.data.invoices.data)
|
||||
commit(types.SET_TOTAL_INVOICES, response.data.invoiceTotalCount)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchInvoice = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/invoices/${id}/edit`).then((response) => {
|
||||
commit(types.SET_TEMPLATE_ID, response.data.invoice.invoice_template_id)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchViewInvoice = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/invoices/${id}`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/invoices/${id}`)
|
||||
.then((response) => {
|
||||
commit(types.SET_TEMPLATE_ID, response.data.invoice.invoice_template_id)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const sendEmail = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/invoices/send`, data).then((response) => {
|
||||
if (response.data.success) {
|
||||
commit(types.UPDATE_INVOICE_STATUS, {id: data.id, status: 'SENT'})
|
||||
commit('dashboard/' + dashboardTypes.UPDATE_INVOICE_STATUS, {id: data.id, status: 'SENT'}, { root: true })
|
||||
}
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/invoices/${data.id}/send`, data)
|
||||
.then((response) => {
|
||||
if (response.data.success) {
|
||||
commit(types.UPDATE_INVOICE_STATUS, { id: data.id, status: 'SENT' })
|
||||
commit(
|
||||
'dashboard/' + dashboardTypes.UPDATE_INVOICE_STATUS,
|
||||
{ id: data.id, status: 'SENT' },
|
||||
{ root: true }
|
||||
)
|
||||
}
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// export const SentEmail = ({ commit, dispatch, state }, invoiceId) => {
|
||||
// return new Promise((resolve, reject) => {
|
||||
// window.axios.post(`/api/invoices/sent/${invoiceId}`).then((response) => {
|
||||
// resolve(response)
|
||||
// }).catch((err) => {
|
||||
// reject(err)
|
||||
// })
|
||||
// })
|
||||
// }
|
||||
|
||||
export const addInvoice = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post('/api/invoices', data).then((response) => {
|
||||
commit(types.ADD_INVOICE, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post('/api/v1/invoices', data)
|
||||
.then((response) => {
|
||||
commit(types.ADD_INVOICE, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteInvoice = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.delete(`/api/invoices/${id}`).then((response) => {
|
||||
if (response.data.error) {
|
||||
resolve(response)
|
||||
} else {
|
||||
commit(types.DELETE_INVOICE, id)
|
||||
commit('dashboard/' + dashboardTypes.DELETE_INVOICE, id, { root: true })
|
||||
resolve(response)
|
||||
}
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/invoices/delete`, id)
|
||||
.then((response) => {
|
||||
if (response.data.error) {
|
||||
resolve(response)
|
||||
} else {
|
||||
commit(types.DELETE_INVOICE, id)
|
||||
commit('dashboard/' + dashboardTypes.DELETE_INVOICE, id, {
|
||||
root: true,
|
||||
})
|
||||
resolve(response)
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteMultipleInvoices = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/invoices/delete`, {'id': state.selectedInvoices}).then((response) => {
|
||||
if (response.data.error) {
|
||||
resolve(response)
|
||||
} else {
|
||||
commit(types.DELETE_MULTIPLE_INVOICES, state.selectedInvoices)
|
||||
resolve(response)
|
||||
}
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/invoices/delete`, { ids: state.selectedInvoices })
|
||||
.then((response) => {
|
||||
if (response.data.error) {
|
||||
resolve(response)
|
||||
} else {
|
||||
commit(types.DELETE_MULTIPLE_INVOICES, state.selectedInvoices)
|
||||
resolve(response)
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const updateInvoice = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.put(`/api/invoices/${data.id}`, data).then((response) => {
|
||||
if (response.data.invoice) {
|
||||
commit(types.UPDATE_INVOICE, response.data)
|
||||
}
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.put(`/api/v1/invoices/${data.id}`, data)
|
||||
.then((response) => {
|
||||
if (response.data.invoice) {
|
||||
commit(types.UPDATE_INVOICE, response.data)
|
||||
}
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const markAsSent = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/invoices/mark-as-sent`, data).then((response) => {
|
||||
commit(types.UPDATE_INVOICE_STATUS, {id: data.id, status: 'SENT'})
|
||||
commit('dashboard/' + dashboardTypes.UPDATE_INVOICE_STATUS, {id: data.id, status: 'SENT'}, { root: true })
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/invoices/${data.id}/status`, data)
|
||||
.then((response) => {
|
||||
commit(types.UPDATE_INVOICE_STATUS, { id: data.id, status: 'SENT' })
|
||||
commit(
|
||||
'dashboard/' + dashboardTypes.UPDATE_INVOICE_STATUS,
|
||||
{ id: data.id, status: 'SENT' },
|
||||
{
|
||||
root: true,
|
||||
}
|
||||
)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const cloneInvoice = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/invoices/clone`, data).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/invoices/${data.id}/clone`, data)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const searchInvoice = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/invoices?${data}`).then((response) => {
|
||||
// commit(types.UPDATE_INVOICE, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/invoices?${data}`)
|
||||
.then((response) => {
|
||||
// commit(types.UPDATE_INVOICE, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const getInvoiceNumber = ({ commit, dispatch, state }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get(`/api/v1/next-number?key=invoice`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@ -174,7 +199,7 @@ export const selectAllInvoices = ({ commit, dispatch, state }) => {
|
||||
commit(types.SET_SELECTED_INVOICES, [])
|
||||
commit(types.SET_SELECT_ALL_STATE, false)
|
||||
} else {
|
||||
let allInvoiceIds = state.invoices.map(inv => inv.id)
|
||||
let allInvoiceIds = state.invoices.map((inv) => inv.id)
|
||||
commit(types.SET_SELECTED_INVOICES, allInvoiceIds)
|
||||
commit(types.SET_SELECT_ALL_STATE, true)
|
||||
}
|
||||
@ -201,16 +226,37 @@ export const setTemplate = ({ commit, dispatch, state }, data) => {
|
||||
|
||||
export const selectCustomer = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/customers/${id}`).then((response) => {
|
||||
commit(types.RESET_SELECTED_CUSTOMER)
|
||||
commit(types.SELECT_CUSTOMER, response.data.customer)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/customers/${id}`)
|
||||
.then((response) => {
|
||||
commit(types.RESET_SELECTED_CUSTOMER)
|
||||
commit(types.SELECT_CUSTOMER, response.data.customer)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const resetSelectedCustomer = ({ commit, dispatch, state }, data) => {
|
||||
commit(types.RESET_SELECTED_CUSTOMER)
|
||||
}
|
||||
|
||||
export const setItem = ({ commit, dispatch, state }, data) => {
|
||||
commit(types.RESET_ITEM)
|
||||
commit(types.SET_ITEM, data)
|
||||
}
|
||||
|
||||
export const resetItem = ({ commit, dispatch, state }) => {
|
||||
commit(types.RESET_ITEM)
|
||||
}
|
||||
|
||||
export const selectNote = ({ commit, dispatch, state }, data) => {
|
||||
commit(types.RESET_SELECTED_NOTE)
|
||||
commit(types.SET_SELECTED_NOTE, data.notes)
|
||||
}
|
||||
|
||||
export const resetSelectedNote = ({ commit, dispatch, state }, data) => {
|
||||
commit(types.RESET_SELECTED_NOTE)
|
||||
}
|
||||
|
||||
@ -4,7 +4,9 @@ export const getTemplateId = (state) => state.invoiceTemplateId
|
||||
export const selectedInvoices = (state) => state.selectedInvoices
|
||||
export const totalInvoices = (state) => state.totalInvoices
|
||||
export const selectedCustomer = (state) => state.selectedCustomer
|
||||
export const selectedNote = (state) => state.selectedNote
|
||||
export const selectedItem = (state) => state.selectedItem
|
||||
export const getInvoice = (state) => (id) => {
|
||||
let invId = parseInt(id)
|
||||
return state.invoices.find(invoice => invoice.id === invId)
|
||||
return state.invoices.find((invoice) => invoice.id === invId)
|
||||
}
|
||||
|
||||
@ -8,7 +8,9 @@ const initialState = {
|
||||
selectedInvoices: [],
|
||||
selectAllField: false,
|
||||
totalInvoices: 0,
|
||||
selectedCustomer: null
|
||||
selectedCustomer: null,
|
||||
selectedNote: null,
|
||||
selectedItem: null,
|
||||
}
|
||||
|
||||
export default {
|
||||
@ -20,5 +22,5 @@ export default {
|
||||
|
||||
actions: actions,
|
||||
|
||||
mutations: mutations
|
||||
mutations: mutations,
|
||||
}
|
||||
|
||||
@ -5,13 +5,21 @@ export const DELETE_INVOICE = 'DELETE_INVOICE'
|
||||
export const DELETE_MULTIPLE_INVOICES = 'DELETE_MULTIPLE_INVOICES'
|
||||
export const SET_SELECTED_INVOICES = 'SET_SELECTED_INVOICES'
|
||||
export const SET_TOTAL_INVOICES = 'SET_TOTAL_INVOICES'
|
||||
|
||||
export const RESET_CUSTOMER = 'RESET_CUSTOMER'
|
||||
export const RESET_ITEM = 'RESET_ITEM'
|
||||
export const SET_CUSTOMER = 'SET_CUSTOMER'
|
||||
|
||||
export const RESET_ITEM = 'RESET_ITEM'
|
||||
export const SET_ITEM = 'SET_ITEM'
|
||||
|
||||
export const SET_TEMPLATE_ID = 'SET_TEMPLATE_ID'
|
||||
|
||||
export const SELECT_CUSTOMER = 'SELECT_CUSTOMER'
|
||||
export const RESET_SELECTED_CUSTOMER = 'RESET_SELECTED_CUSTOMER'
|
||||
|
||||
export const SET_SELECT_ALL_STATE = 'SET_SELECT_ALL_STATE'
|
||||
export const RESET_SELECTED_INVOICES = 'RESET_SELECTED_INVOICES'
|
||||
export const UPDATE_INVOICE_STATUS = 'UPDATE_INVOICE_STATUS'
|
||||
|
||||
export const RESET_SELECTED_NOTE = 'RESET_SELECTED_NOTE'
|
||||
export const SET_SELECTED_NOTE = 'SET_SELECTED_NOTE'
|
||||
|
||||
@ -1,67 +1,85 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.SET_INVOICES] (state, invoices) {
|
||||
[types.SET_INVOICES](state, invoices) {
|
||||
state.invoices = invoices
|
||||
},
|
||||
|
||||
[types.SET_TOTAL_INVOICES] (state, totalInvoices) {
|
||||
[types.SET_TOTAL_INVOICES](state, totalInvoices) {
|
||||
state.totalInvoices = totalInvoices
|
||||
},
|
||||
|
||||
[types.ADD_INVOICE] (state, data) {
|
||||
[types.ADD_INVOICE](state, data) {
|
||||
state.invoices.push(data)
|
||||
},
|
||||
|
||||
[types.DELETE_INVOICE] (state, id) {
|
||||
let index = state.invoices.findIndex(invoice => invoice.id === id)
|
||||
[types.DELETE_INVOICE](state, data) {
|
||||
let index = state.invoices.findIndex((invoice) => invoice.id === data.id)
|
||||
state.invoices.splice(index, 1)
|
||||
},
|
||||
|
||||
[types.SET_SELECTED_INVOICES] (state, data) {
|
||||
[types.SET_SELECTED_INVOICES](state, data) {
|
||||
state.selectedInvoices = data
|
||||
},
|
||||
|
||||
[types.UPDATE_INVOICE] (state, data) {
|
||||
let pos = state.invoices.findIndex(invoice => invoice.id === data.invoice.id)
|
||||
[types.UPDATE_INVOICE](state, data) {
|
||||
let pos = state.invoices.findIndex(
|
||||
(invoice) => invoice.id === data.invoice.id
|
||||
)
|
||||
|
||||
state.invoices[pos] = data.invoice
|
||||
},
|
||||
|
||||
[types.UPDATE_INVOICE_STATUS] (state, data) {
|
||||
let pos = state.invoices.findIndex(invoice => invoice.id === data.id)
|
||||
[types.UPDATE_INVOICE_STATUS](state, data) {
|
||||
let pos = state.invoices.findIndex((invoice) => invoice.id === data.id)
|
||||
|
||||
if (state.invoices[pos]) {
|
||||
state.invoices[pos].status = data.status
|
||||
}
|
||||
},
|
||||
|
||||
[types.RESET_SELECTED_INVOICES] (state, data) {
|
||||
[types.RESET_SELECTED_INVOICES](state, data) {
|
||||
state.selectedInvoices = []
|
||||
state.selectAllField = false
|
||||
},
|
||||
|
||||
[types.DELETE_MULTIPLE_INVOICES] (state, selectedInvoices) {
|
||||
[types.DELETE_MULTIPLE_INVOICES](state, selectedInvoices) {
|
||||
selectedInvoices.forEach((invoice) => {
|
||||
let index = state.invoices.findIndex(_inv => _inv.id === invoice.id)
|
||||
let index = state.invoices.findIndex((_inv) => _inv.id === invoice.id)
|
||||
state.invoices.splice(index, 1)
|
||||
})
|
||||
state.selectedInvoices = []
|
||||
},
|
||||
|
||||
[types.SET_TEMPLATE_ID] (state, templateId) {
|
||||
[types.SET_TEMPLATE_ID](state, templateId) {
|
||||
state.invoiceTemplateId = templateId
|
||||
},
|
||||
|
||||
[types.SELECT_CUSTOMER] (state, data) {
|
||||
[types.SELECT_CUSTOMER](state, data) {
|
||||
state.selectedCustomer = data
|
||||
},
|
||||
|
||||
[types.RESET_SELECTED_CUSTOMER] (state, data) {
|
||||
[types.RESET_SELECTED_CUSTOMER](state, data) {
|
||||
state.selectedCustomer = null
|
||||
},
|
||||
|
||||
[types.SET_SELECT_ALL_STATE] (state, data) {
|
||||
[types.SET_SELECT_ALL_STATE](state, data) {
|
||||
state.selectAllField = data
|
||||
}
|
||||
},
|
||||
|
||||
[types.RESET_SELECTED_NOTE](state, data) {
|
||||
state.selectedNote = null
|
||||
},
|
||||
|
||||
[types.SET_SELECTED_NOTE](state, data) {
|
||||
state.selectedNote = data
|
||||
},
|
||||
|
||||
[types.RESET_ITEM](state, data) {
|
||||
state.selectedItem = null
|
||||
},
|
||||
|
||||
[types.SET_ITEM](state, data) {
|
||||
state.selectedItem = data
|
||||
},
|
||||
}
|
||||
|
||||
@ -2,67 +2,85 @@ import * as types from './mutation-types'
|
||||
|
||||
export const fetchItems = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/items`, {params}).then((response) => {
|
||||
commit(types.BOOTSTRAP_ITEMS, response.data.items.data)
|
||||
commit(types.SET_TOTAL_ITEMS, response.data.items.total)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/items`, { params })
|
||||
.then((response) => {
|
||||
commit(types.BOOTSTRAP_ITEMS, response.data.items.data)
|
||||
commit(types.SET_TOTAL_ITEMS, response.data.itemTotalCount)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchItem = ({ commit, dispatch }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/items/${id}/edit`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/items/${id}`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const addItem = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post('/api/items', data).then((response) => {
|
||||
commit(types.ADD_ITEM, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post('/api/v1/items', data)
|
||||
.then((response) => {
|
||||
commit(types.ADD_ITEM, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const updateItem = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.put(`/api/items/${data.id}`, data).then((response) => {
|
||||
commit(types.UPDATE_ITEM, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.put(`/api/v1/items/${data.id}`, data)
|
||||
.then((response) => {
|
||||
commit(types.UPDATE_ITEM, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteItem = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.delete(`/api/items/${id}`).then((response) => {
|
||||
commit(types.DELETE_ITEM, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/items/delete`, id)
|
||||
.then((response) => {
|
||||
commit(types.DELETE_ITEM, id)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteMultipleItems = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/items/delete`, {'id': state.selectedItems}).then((response) => {
|
||||
commit(types.DELETE_MULTIPLE_ITEMS, state.selectedItems)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/items/delete`, { ids: state.selectedItems })
|
||||
.then((response) => {
|
||||
commit(types.DELETE_MULTIPLE_ITEMS, state.selectedItems)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@ -75,7 +93,7 @@ export const selectAllItems = ({ commit, dispatch, state }) => {
|
||||
commit(types.SET_SELECTED_ITEMS, [])
|
||||
commit(types.SET_SELECT_ALL_STATE, false)
|
||||
} else {
|
||||
let allItemIds = state.items.map(item => item.id)
|
||||
let allItemIds = state.items.map((item) => item.id)
|
||||
commit(types.SET_SELECTED_ITEMS, allItemIds)
|
||||
commit(types.SET_SELECT_ALL_STATE, true)
|
||||
}
|
||||
@ -92,56 +110,71 @@ export const selectItem = ({ commit, dispatch, state }, data) => {
|
||||
|
||||
export const addItemUnit = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/units`, data).then((response) => {
|
||||
commit(types.ADD_ITEM_UNIT, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/units`, data)
|
||||
.then((response) => {
|
||||
commit(types.ADD_ITEM_UNIT, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const updateItemUnit = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.put(`/api/units/${data.id}`, data).then((response) => {
|
||||
commit(types.UPDATE_ITEM_UNIT, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.put(`/api/v1/units/${data.id}`, data)
|
||||
.then((response) => {
|
||||
commit(types.UPDATE_ITEM_UNIT, response.data.unit)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchItemUnits = ({ commit, dispatch, state }) => {
|
||||
export const fetchItemUnits = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/units`).then((response) => {
|
||||
commit(types.SET_ITEM_UNITS, response.data.units)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/units`, { params })
|
||||
.then((response) => {
|
||||
commit(types.SET_ITEM_UNITS, response.data.units.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fatchItemUnit = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/units/${id}`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/units/${id}`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteItemUnit = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.delete(`/api/units/${id}`).then((response) => {
|
||||
if (!response.data.error) {
|
||||
commit(types.DELETE_ITEM_UNIT, id)
|
||||
}
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.delete(`/api/v1/units/${id}`)
|
||||
.then((response) => {
|
||||
if (!response.data.error) {
|
||||
commit(types.DELETE_ITEM_UNIT, id)
|
||||
}
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@ -1,62 +1,61 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.BOOTSTRAP_ITEMS] (state, items) {
|
||||
[types.BOOTSTRAP_ITEMS](state, items) {
|
||||
state.items = items
|
||||
},
|
||||
|
||||
[types.SET_TOTAL_ITEMS] (state, totalItems) {
|
||||
[types.SET_TOTAL_ITEMS](state, totalItems) {
|
||||
state.totalItems = totalItems
|
||||
},
|
||||
|
||||
[types.ADD_ITEM] (state, data) {
|
||||
[types.ADD_ITEM](state, data) {
|
||||
state.items.push(data.item)
|
||||
},
|
||||
|
||||
[types.UPDATE_ITEM] (state, data) {
|
||||
let pos = state.items.findIndex(item => item.id === data.item.id)
|
||||
[types.UPDATE_ITEM](state, data) {
|
||||
let pos = state.items.findIndex((item) => item.id === data.item.id)
|
||||
|
||||
state.items[pos] = data.item
|
||||
},
|
||||
|
||||
[types.DELETE_ITEM] (state, id) {
|
||||
let index = state.items.findIndex(item => item.id === id)
|
||||
[types.DELETE_ITEM](state, id) {
|
||||
let index = state.items.findIndex((item) => item.id === id)
|
||||
state.items.splice(index, 1)
|
||||
},
|
||||
|
||||
[types.DELETE_MULTIPLE_ITEMS] (state, selectedItems) {
|
||||
[types.DELETE_MULTIPLE_ITEMS](state, selectedItems) {
|
||||
selectedItems.forEach((item) => {
|
||||
let index = state.items.findIndex(_item => _item.id === item.id)
|
||||
let index = state.items.findIndex((_item) => _item.id === item.id)
|
||||
state.items.splice(index, 1)
|
||||
})
|
||||
|
||||
state.selectedItems = []
|
||||
},
|
||||
|
||||
[types.SET_SELECTED_ITEMS] (state, data) {
|
||||
[types.SET_SELECTED_ITEMS](state, data) {
|
||||
state.selectedItems = data
|
||||
},
|
||||
|
||||
[types.SET_SELECT_ALL_STATE] (state, data) {
|
||||
[types.SET_SELECT_ALL_STATE](state, data) {
|
||||
state.selectAllField = data
|
||||
},
|
||||
|
||||
[types.ADD_ITEM_UNIT] (state, data) {
|
||||
state.itemUnits = [data.unit, ...state.itemUnits]
|
||||
[types.ADD_ITEM_UNIT](state, data) {
|
||||
state.itemUnits.push(data.unit)
|
||||
},
|
||||
|
||||
[types.SET_ITEM_UNITS] (state, data) {
|
||||
state.itemUnits = data
|
||||
[types.SET_ITEM_UNITS](state, itemUnits) {
|
||||
state.itemUnits = itemUnits
|
||||
},
|
||||
|
||||
[types.DELETE_ITEM_UNIT] (state, id) {
|
||||
let index = state.itemUnits.findIndex(unit => unit.id === id)
|
||||
[types.DELETE_ITEM_UNIT](state, id) {
|
||||
let index = state.itemUnits.findIndex((unit) => unit.id === id)
|
||||
state.itemUnits.splice(index, 1)
|
||||
},
|
||||
|
||||
[types.UPDATE_ITEM_UNIT] (state, data) {
|
||||
let pos = state.itemUnits.findIndex(unit => unit.id === data.unit.id)
|
||||
state.itemUnits.splice(pos, 1)
|
||||
state.itemUnits = [data.unit, ...state.itemUnits]
|
||||
}
|
||||
[types.UPDATE_ITEM_UNIT](state, unit) {
|
||||
let pos = state.itemUnits.findIndex((unit) => unit.id === unit.id)
|
||||
state.itemUnits[pos] = unit
|
||||
},
|
||||
}
|
||||
|
||||
@ -13,6 +13,14 @@ export const openModal = ({ commit, dispatch, state }, payload) => {
|
||||
commit(types.SET_DATA, payload.data)
|
||||
}
|
||||
|
||||
if (payload.refreshData) {
|
||||
commit(types.SET_REFRESH_DATA, payload.refreshData)
|
||||
}
|
||||
|
||||
if (payload.variant) {
|
||||
commit(types.SET_VARIANT, payload.variant)
|
||||
}
|
||||
|
||||
if (payload.size) {
|
||||
commit(types.SET_SIZE, payload.size)
|
||||
}
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
export const modalActive = state => state.active
|
||||
export const modalTitle = state => state.title
|
||||
export const componentName = state => state.componentName
|
||||
export const modalDataID = state => state.id
|
||||
export const modalData = state => state.data
|
||||
export const modalSize = state => state.size
|
||||
export const modalActive = (state) => state.active
|
||||
export const modalTitle = (state) => state.title
|
||||
export const componentName = (state) => state.componentName
|
||||
export const modalDataID = (state) => state.id
|
||||
export const modalData = (state) => state.data
|
||||
export const modalSize = (state) => state.size
|
||||
export const refreshData = (state) => state.refreshData
|
||||
export const variant = (state) => state.variant
|
||||
|
||||
@ -9,7 +9,9 @@ const initialState = {
|
||||
componentName: '',
|
||||
id: '',
|
||||
size: 'md',
|
||||
data: null
|
||||
data: null,
|
||||
refreshData: null,
|
||||
variant: '',
|
||||
}
|
||||
|
||||
export default {
|
||||
@ -21,5 +23,5 @@ export default {
|
||||
|
||||
actions: actions,
|
||||
|
||||
mutations: mutations
|
||||
mutations: mutations,
|
||||
}
|
||||
|
||||
@ -6,3 +6,5 @@ export const SET_ID = 'SET_ID'
|
||||
export const SET_SIZE = 'SET_SIZE'
|
||||
export const SET_DATA = 'SET_DATA'
|
||||
export const RESET_DATA = 'RESET_DATA'
|
||||
export const SET_REFRESH_DATA = 'SET_REFRESH_DATA'
|
||||
export const SET_VARIANT = 'SET_VARIANT'
|
||||
|
||||
@ -1,40 +1,48 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.SHOW_MODAL] (state, data) {
|
||||
[types.SHOW_MODAL](state, data) {
|
||||
state.active = data
|
||||
},
|
||||
|
||||
[types.HIDE_MODAL] (state, data) {
|
||||
[types.HIDE_MODAL](state, data) {
|
||||
state.active = data
|
||||
},
|
||||
|
||||
[types.SET_TITLE] (state, data) {
|
||||
[types.SET_TITLE](state, data) {
|
||||
state.title = data
|
||||
},
|
||||
|
||||
[types.SET_COMPONENT_NAME] (state, data) {
|
||||
[types.SET_COMPONENT_NAME](state, data) {
|
||||
state.componentName = data
|
||||
},
|
||||
|
||||
[types.SET_ID] (state, data) {
|
||||
[types.SET_ID](state, data) {
|
||||
state.id = data
|
||||
},
|
||||
|
||||
[types.SET_DATA] (state, data) {
|
||||
[types.SET_DATA](state, data) {
|
||||
state.data = data
|
||||
},
|
||||
|
||||
[types.SET_SIZE] (state, size) {
|
||||
[types.SET_SIZE](state, size) {
|
||||
state.size = size
|
||||
},
|
||||
|
||||
[types.RESET_DATA] (state) {
|
||||
state.active = false
|
||||
[types.SET_REFRESH_DATA](state, refreshData) {
|
||||
state.refreshData = refreshData
|
||||
},
|
||||
|
||||
[types.RESET_DATA](state) {
|
||||
state.content = ''
|
||||
state.title = ''
|
||||
state.componentName = ''
|
||||
state.id = ''
|
||||
state.data = null
|
||||
}
|
||||
state.refreshData = null
|
||||
},
|
||||
|
||||
[types.SET_VARIANT](state, data) {
|
||||
state.variant = data
|
||||
},
|
||||
}
|
||||
|
||||
70
resources/assets/js/store/modules/notes/actions.js
Normal file
70
resources/assets/js/store/modules/notes/actions.js
Normal file
@ -0,0 +1,70 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export const fetchNotes = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get(`/api/v1/notes`, { params })
|
||||
.then((response) => {
|
||||
commit(types.BOOTSTRAP_NOTES, response.data.notes.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchNote = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.get(`/api/v1/notes/${id}`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const addNote = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.post('/api/v1/notes', data)
|
||||
.then((response) => {
|
||||
commit(types.ADD_NOTE, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const updateNote = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.put(`/api/v1/notes/${data.id}`, data)
|
||||
.then((response) => {
|
||||
commit(types.UPDATE_NOTE, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteNote = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.delete(`/api/v1/notes/${id}`)
|
||||
.then((response) => {
|
||||
commit(types.DELETE_NOTE, id)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
1
resources/assets/js/store/modules/notes/getters.js
Normal file
1
resources/assets/js/store/modules/notes/getters.js
Normal file
@ -0,0 +1 @@
|
||||
export const notes = (state) => state.notes
|
||||
@ -3,7 +3,7 @@ import * as actions from './actions'
|
||||
import * as getters from './getters'
|
||||
|
||||
const initialState = {
|
||||
report: []
|
||||
notes: [],
|
||||
}
|
||||
|
||||
export default {
|
||||
@ -15,5 +15,5 @@ export default {
|
||||
|
||||
actions: actions,
|
||||
|
||||
mutations: mutations
|
||||
mutations: mutations,
|
||||
}
|
||||
@ -0,0 +1,4 @@
|
||||
export const BOOTSTRAP_NOTES = 'BOOTSTRAP_NOTES'
|
||||
export const ADD_NOTE = 'ADD_NOTE'
|
||||
export const UPDATE_NOTE = 'UPDATE_NOTE'
|
||||
export const DELETE_NOTE = 'DELETE_NOTE'
|
||||
22
resources/assets/js/store/modules/notes/mutations.js
Normal file
22
resources/assets/js/store/modules/notes/mutations.js
Normal file
@ -0,0 +1,22 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.BOOTSTRAP_NOTES](state, notes) {
|
||||
state.notes = notes
|
||||
},
|
||||
|
||||
[types.ADD_NOTE](state, data) {
|
||||
state.notes.push(data.note)
|
||||
},
|
||||
|
||||
[types.UPDATE_NOTE](state, data) {
|
||||
let pos = state.notes.findIndex((note) => note.id === data.note.id)
|
||||
|
||||
state.notes[pos] = data.note
|
||||
},
|
||||
|
||||
[types.DELETE_NOTE](state, id) {
|
||||
let index = state.notes.findIndex((note) => note.id === id)
|
||||
state.notes.splice(index, 1)
|
||||
},
|
||||
}
|
||||
@ -2,53 +2,42 @@ import * as types from './mutation-types'
|
||||
|
||||
export const fetchPayments = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/payments`, {params}).then((response) => {
|
||||
commit(types.SET_PAYMENTS, response.data.payments.data)
|
||||
commit(types.SET_TOTAL_PAYMENTS, response.data.payments.total)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/payments`, { params })
|
||||
.then((response) => {
|
||||
commit(types.SET_PAYMENTS, response.data.payments.data)
|
||||
commit(types.SET_TOTAL_PAYMENTS, response.data.paymentTotalCount)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchPayment = ({ commit, dispatch }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/payments/${id}`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchEditPaymentData = ({ commit, dispatch }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/payments/${id}/edit`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchCreatePayment = ({ commit, dispatch }, page) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/payments/create`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/payments/${id}`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const addPayment = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post('/api/payments', data).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post('/api/v1/payments', data)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@ -67,33 +56,42 @@ export const selectPayment = ({ commit, dispatch, state }, data) => {
|
||||
|
||||
export const updatePayment = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.put(`/api/payments/${data.id}`, data.editData).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deletePayment = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.delete(`/api/payments/${id}`).then((response) => {
|
||||
commit(types.DELETE_PAYMENT, id)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.put(`/api/v1/payments/${data.id}`, data.editData)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deleteMultiplePayments = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/payments/delete`, {'id': state.selectedPayments}).then((response) => {
|
||||
commit(types.DELETE_MULTIPLE_PAYMENTS, state.selectedPayments)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/payments/delete`, { ids: state.selectedPayments })
|
||||
.then((response) => {
|
||||
commit(types.DELETE_MULTIPLE_PAYMENTS, state.selectedPayments)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deletePayment = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios
|
||||
.post(`/api/v1/payments/delete`, id)
|
||||
.then((response) => {
|
||||
commit(types.DELETE_PAYMENT, id)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@ -102,7 +100,7 @@ export const selectAllPayments = ({ commit, dispatch, state }) => {
|
||||
commit(types.SET_SELECTED_PAYMENTS, [])
|
||||
commit(types.SET_SELECT_ALL_STATE, false)
|
||||
} else {
|
||||
let allPaymentIds = state.payments.map(pay => pay.id)
|
||||
let allPaymentIds = state.payments.map((pay) => pay.id)
|
||||
commit(types.SET_SELECTED_PAYMENTS, allPaymentIds)
|
||||
commit(types.SET_SELECT_ALL_STATE, true)
|
||||
}
|
||||
@ -110,77 +108,107 @@ export const selectAllPayments = ({ commit, dispatch, state }) => {
|
||||
|
||||
export const addPaymentMode = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/payment-methods`, data).then((response) => {
|
||||
commit(types.ADD_PAYMENT_MODE, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/payment-methods`, data)
|
||||
.then((response) => {
|
||||
commit(types.ADD_PAYMENT_MODE, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const updatePaymentMode = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.put(`/api/payment-methods/${data.id}`, data).then((response) => {
|
||||
commit(types.UPDATE_PAYMENT_MODE, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.put(`/api/v1/payment-methods/${data.id}`, data)
|
||||
.then((response) => {
|
||||
commit(types.UPDATE_PAYMENT_MODE, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchPaymentModes = ({ commit, dispatch, state }, data) => {
|
||||
export const fetchPaymentModes = ({ commit, dispatch, state }, params) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/payment-methods`, data).then((response) => {
|
||||
commit(types.SET_PAYMENT_MODES, response.data.paymentMethods)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/payment-methods`, { params })
|
||||
.then((response) => {
|
||||
commit(types.SET_PAYMENT_MODES, response.data.paymentMethods.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const fetchPaymentMode = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/payment-methods/${data.id}`, data).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/payment-methods/${data.id}`, data)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const deletePaymentMode = ({ commit, dispatch, state }, id) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.delete(`/api/payment-methods/${id}`).then((response) => {
|
||||
if (!response.data.error) {
|
||||
commit(types.DELETE_PAYMENT_MODE, id)
|
||||
}
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.delete(`/api/v1/payment-methods/${id}`)
|
||||
.then((response) => {
|
||||
if (!response.data.error) {
|
||||
commit(types.DELETE_PAYMENT_MODE, id)
|
||||
}
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const sendEmail = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post(`/api/payments/send`, data).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.post(`/api/v1/payments/${data.id}/send`, data)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const searchPayment = ({ commit, dispatch, state }, data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/payments?${data}`).then((response) => {
|
||||
// commit(types.UPDATE_INVOICE, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
window.axios
|
||||
.get(`/api/v1/payments?${data}`)
|
||||
.then((response) => {
|
||||
// commit(types.UPDATE_INVOICE, response.data)
|
||||
resolve(response)
|
||||
})
|
||||
.catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const selectNote = ({ commit, dispatch, state }, data) => {
|
||||
commit(types.RESET_SELECTED_NOTE)
|
||||
commit(types.SET_SELECTED_NOTE, data.notes)
|
||||
}
|
||||
|
||||
export const resetSelectedNote = ({ commit, dispatch, state }, data) => {
|
||||
commit(types.RESET_SELECTED_NOTE)
|
||||
}
|
||||
|
||||
@ -3,3 +3,4 @@ export const selectedPayments = (state) => state.selectedPayments
|
||||
export const selectAllField = (state) => state.selectAllField
|
||||
export const totalPayments = (state) => state.totalPayments
|
||||
export const paymentModes = (state) => state.paymentModes
|
||||
export const selectedNote = (state) => state.selectedNote
|
||||
|
||||
@ -7,7 +7,8 @@ const initialState = {
|
||||
totalPayments: 0,
|
||||
selectAllField: false,
|
||||
selectedPayments: [],
|
||||
paymentModes: []
|
||||
paymentModes: [],
|
||||
selectedNote: null,
|
||||
}
|
||||
|
||||
export default {
|
||||
@ -19,5 +20,5 @@ export default {
|
||||
|
||||
actions: actions,
|
||||
|
||||
mutations: mutations
|
||||
mutations: mutations,
|
||||
}
|
||||
|
||||
@ -10,3 +10,6 @@ export const ADD_PAYMENT_MODE = 'ADD_PAYMENT_MODE'
|
||||
export const DELETE_PAYMENT_MODE = 'DELETE_PAYMENT_MODE'
|
||||
export const SET_PAYMENT_MODES = 'SET_PAYMENT_MODES'
|
||||
export const UPDATE_PAYMENT_MODE = 'UPDATE_PAYMENT_MODE'
|
||||
|
||||
export const RESET_SELECTED_NOTE = 'RESET_SELECTED_NOTE'
|
||||
export const SET_SELECTED_NOTE = 'SET_SELECTED_NOTE'
|
||||
|
||||
@ -1,56 +1,67 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.SET_PAYMENTS] (state, payments) {
|
||||
[types.SET_PAYMENTS](state, payments) {
|
||||
state.payments = payments
|
||||
},
|
||||
|
||||
[types.SET_TOTAL_PAYMENTS] (state, totalPayments) {
|
||||
[types.SET_TOTAL_PAYMENTS](state, totalPayments) {
|
||||
state.totalPayments = totalPayments
|
||||
},
|
||||
|
||||
[types.ADD_PAYMENT] (state, data) {
|
||||
[types.ADD_PAYMENT](state, data) {
|
||||
state.payments.push(data)
|
||||
},
|
||||
|
||||
[types.DELETE_PAYMENT] (state, id) {
|
||||
let index = state.payments.findIndex(payment => payment.id === id)
|
||||
[types.DELETE_PAYMENT](state, id) {
|
||||
let index = state.payments.findIndex((payment) => payment.id === id)
|
||||
state.payments.splice(index, 1)
|
||||
},
|
||||
|
||||
[types.DELETE_MULTIPLE_PAYMENTS] (state, selectedPayments) {
|
||||
[types.DELETE_MULTIPLE_PAYMENTS](state, selectedPayments) {
|
||||
selectedPayments.forEach((payment) => {
|
||||
let index = state.payments.findIndex(_inv => _inv.id === payment.id)
|
||||
let index = state.payments.findIndex((_inv) => _inv.id === payment.id)
|
||||
state.payments.splice(index, 1)
|
||||
})
|
||||
|
||||
state.selectedPayments = []
|
||||
},
|
||||
|
||||
[types.SET_SELECTED_PAYMENTS] (state, data) {
|
||||
[types.SET_SELECTED_PAYMENTS](state, data) {
|
||||
state.selectedPayments = data
|
||||
},
|
||||
|
||||
[types.SET_SELECT_ALL_STATE] (state, data) {
|
||||
[types.SET_SELECT_ALL_STATE](state, data) {
|
||||
state.selectAllField = data
|
||||
},
|
||||
|
||||
[types.SET_PAYMENT_MODES] (state, data) {
|
||||
[types.SET_PAYMENT_MODES](state, data) {
|
||||
state.paymentModes = data
|
||||
},
|
||||
|
||||
[types.ADD_PAYMENT_MODE] (state, data) {
|
||||
[types.ADD_PAYMENT_MODE](state, data) {
|
||||
state.paymentModes = [data.paymentMethod, ...state.paymentModes]
|
||||
},
|
||||
|
||||
[types.DELETE_PAYMENT_MODE] (state, id) {
|
||||
let index = state.paymentModes.findIndex(paymentMethod => paymentMethod.id === id)
|
||||
[types.DELETE_PAYMENT_MODE](state, id) {
|
||||
let index = state.paymentModes.findIndex(
|
||||
(paymentMethod) => paymentMethod.id === id
|
||||
)
|
||||
state.paymentModes.splice(index, 1)
|
||||
},
|
||||
|
||||
[types.UPDATE_PAYMENT_MODE] (state, data) {
|
||||
let pos = state.paymentModes.findIndex(paymentMethod => paymentMethod.id === data.paymentMethod.id)
|
||||
state.paymentModes.splice(pos, 1)
|
||||
state.paymentModes = [data.paymentMethod, ...state.paymentModes]
|
||||
}
|
||||
[types.UPDATE_PAYMENT_MODE](state, data) {
|
||||
let pos = state.paymentModes.findIndex(
|
||||
(paymentMethod) => paymentMethod.id === data.paymentMethod.id
|
||||
)
|
||||
state.paymentModes[pos] = data.paymentMethod
|
||||
},
|
||||
|
||||
[types.RESET_SELECTED_NOTE](state, data) {
|
||||
state.selectedNote = null
|
||||
},
|
||||
|
||||
[types.SET_SELECTED_NOTE](state, data) {
|
||||
state.selectedNote = data
|
||||
},
|
||||
}
|
||||
|
||||
@ -1,12 +0,0 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export const loadEstimateData = ({ commit, dispatch, state }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get('/api/report/estimate').then((response) => {
|
||||
commit(types.SET_ESTIMATES, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
@ -1 +0,0 @@
|
||||
export const estimates = (state) => state.estimates
|
||||
@ -1 +0,0 @@
|
||||
export const SET_ESTIMATES = 'SET_ESTIMATES'
|
||||
@ -1,7 +0,0 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.SET_ESTIMATES] (state, data) {
|
||||
state.estimates = data.estimates
|
||||
}
|
||||
}
|
||||
@ -1,11 +0,0 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export const loadExpensesLink = ({ commit, dispatch, state }, url) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/reports/expenses/link`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
@ -1,5 +0,0 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
|
||||
}
|
||||
@ -1,12 +0,0 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export const loadInvoiceData = ({ commit, dispatch, state },data) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.post('/api/report/invoice', data).then((response) => {
|
||||
commit(types.SET_INVOICES, response.data)
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
@ -1 +0,0 @@
|
||||
export const invoices = (state) => state.invoices
|
||||
@ -1 +0,0 @@
|
||||
export const SET_INVOICES = 'SET_INVOICES'
|
||||
@ -1,7 +0,0 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
[types.SET_INVOICES] (state, data) {
|
||||
state.invoices = data.invoices
|
||||
}
|
||||
}
|
||||
@ -1,11 +0,0 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export const loadProfitLossLink = ({ commit, dispatch, state }, url) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/reports/profit-loss/link`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
@ -1,5 +0,0 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export default {
|
||||
|
||||
}
|
||||
@ -1,21 +0,0 @@
|
||||
import * as types from './mutation-types'
|
||||
|
||||
export const loadLinkByCustomer = ({ commit, dispatch, state }, url) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/reports/sales/customers/link`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const loadLinkByItems = ({ commit, dispatch, state }, url) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
window.axios.get(`/api/reports/sales/items/link`).then((response) => {
|
||||
resolve(response)
|
||||
}).catch((err) => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user