162 lines
4.3 KiB
JavaScript
162 lines
4.3 KiB
JavaScript
|
import axios from 'axios'
|
||
|
import url from '@/plugins/routes'
|
||
|
|
||
|
const state = {
|
||
|
transactJobs: [],
|
||
|
transactJobsLoading: false,
|
||
|
requestJobs: [],
|
||
|
requestJobsLoading: false
|
||
|
}
|
||
|
|
||
|
const mutations = {
|
||
|
setTransactJobs: (state, data) => {
|
||
|
var list = []
|
||
|
for (var i in data) {
|
||
|
list.push({
|
||
|
date: new Date(
|
||
|
data[i].date.year,
|
||
|
data[i].date.month - 1,
|
||
|
data[i].date.day
|
||
|
),
|
||
|
from_user: data[i].from_user,
|
||
|
to_user: data[i].to_user,
|
||
|
accepted: data[i].accepted,
|
||
|
answerd: data[i].answerd
|
||
|
})
|
||
|
}
|
||
|
state.transactJobs = list
|
||
|
},
|
||
|
setRequestJobs: (state, data) => {
|
||
|
var list = []
|
||
|
for (var i in data) {
|
||
|
list.push({
|
||
|
date: new Date(
|
||
|
data[i].date.year,
|
||
|
data[i].date.month - 1,
|
||
|
data[i].date.day
|
||
|
),
|
||
|
from_user: data[i].from_user,
|
||
|
to_user: data[i].to_user,
|
||
|
accepted: data[i].accepted,
|
||
|
answerd: data[i].answerd
|
||
|
})
|
||
|
}
|
||
|
state.requestJobs = list
|
||
|
},
|
||
|
setTransactJobsLoading: (state, value) => {
|
||
|
state.transactJobsLoading = value
|
||
|
},
|
||
|
setRequestJobsLoading: (state, value) => {
|
||
|
state.requestJobsLoading = value
|
||
|
},
|
||
|
updateRequestJob: (state, data) => {
|
||
|
const date = new Date(data.date.year, data.date.month - 1, data.date.day)
|
||
|
for (var i in state.requestJobs) {
|
||
|
if (
|
||
|
state.requestJobs[i].date - date === 0 &&
|
||
|
state.requestJobs[i].from_user.username === data.from_user.username
|
||
|
) {
|
||
|
state.requestJobs[i].accepted = data.accepted
|
||
|
state.requestJobs[i].answerd = data.answerd
|
||
|
break
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
deleteTransactJobactJob: (state, data) => {
|
||
|
const date = new Date(data.year, data.month - 1, data.day)
|
||
|
var job = state.transactJobs.find(a => {
|
||
|
console.log(a)
|
||
|
console.log(a.date, date)
|
||
|
return a.date - date === 0 && a.to_user.username === data.username
|
||
|
})
|
||
|
console.log(job)
|
||
|
var index = state.transactJobs.indexOf(job)
|
||
|
if (job)
|
||
|
state.transactJobs.splice(index, 1)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const actions = {
|
||
|
async getTransactJobs({ commit, rootState, dispatch }, data) {
|
||
|
commit('setTransactJobsLoading', true)
|
||
|
try {
|
||
|
const response = await axios.post(
|
||
|
url.user.getTransactJobs,
|
||
|
{ ...data },
|
||
|
{ headers: { Token: rootState.login.user.accessToken } }
|
||
|
)
|
||
|
commit('setTransactJobs', response.data)
|
||
|
} catch (e) {
|
||
|
if (e.response)
|
||
|
if (e.response.data === 401) dispatch('logout', null, { root: true })
|
||
|
commit('setTransactJobsLoading', false)
|
||
|
}
|
||
|
commit('setTransactJobsLoading', false)
|
||
|
},
|
||
|
async getRequestJobs({ commit, rootState, dispatch }, data) {
|
||
|
commit('setRequestJobsLoading', true)
|
||
|
try {
|
||
|
const response = await axios.post(
|
||
|
url.user.jobRequests,
|
||
|
{ ...data },
|
||
|
{ headers: { Token: rootState.login.user.accessToken } }
|
||
|
)
|
||
|
commit('setRequestJobs', response.data)
|
||
|
} catch (e) {
|
||
|
if (e.response)
|
||
|
if (e.response.data === 401) dispatch('logout', null, { root: true })
|
||
|
commit('setRequestJobsLoading', false)
|
||
|
}
|
||
|
commit('setRequestJobsLoading', false)
|
||
|
},
|
||
|
async answerTransactJob({ commit, rootState, dispatch }, data) {
|
||
|
try {
|
||
|
const response = await axios.post(
|
||
|
url.user.answerTransactJob,
|
||
|
{ ...data },
|
||
|
{ headers: { Token: rootState.login.user.accessToken } }
|
||
|
)
|
||
|
commit('updateRequestJob', response.data)
|
||
|
} catch (e) {
|
||
|
if (e.response)
|
||
|
if (e.response.data === 401) dispatch('logout', null, { root: true })
|
||
|
}
|
||
|
},
|
||
|
async deleteTransactJob({ commit, rootState, dispatch }, data) {
|
||
|
try {
|
||
|
await axios.post(
|
||
|
url.user.deleteTransactJobs,
|
||
|
{ ...data },
|
||
|
{ headers: { Token: rootState.login.user.accessToken } }
|
||
|
)
|
||
|
commit('deleteTransactJobactJob', data)
|
||
|
} catch (e) {
|
||
|
if (e.response)
|
||
|
if (e.response.data === 401) dispatch('logout', null, { root: true })
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const getters = {
|
||
|
transactJobs: state => {
|
||
|
return state.transactJobs
|
||
|
},
|
||
|
transactJobsLoading: state => {
|
||
|
return state.transactJobsLoading
|
||
|
},
|
||
|
requestJobs: state => {
|
||
|
return state.requestJobs
|
||
|
},
|
||
|
requestJobsLoading: state => {
|
||
|
return state.requestJobsLoading
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export default {
|
||
|
namespaced: true,
|
||
|
state,
|
||
|
mutations,
|
||
|
actions,
|
||
|
getters
|
||
|
}
|