1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import Vue from 'vue';
- import Vuex from 'vuex';
- import $axios from '@lib/axios.js';
- const api = {
- catalogueCreate: '/api/journal/catalogue/create',
- catalogueUpdate: '/api/journal/catalogue/update',
- catalogueDelete: '/api/journal/catalogue/delete',
- catalogueQuery: '/api/journal/catalogue/query',
- catalogueFetch: '/api/journal/catalogue/fetch',
- dictQuery: '/api/code/dictionary/query',
- journalQuery: '/api/journal/intact/query',
- userQuery: '/api/reader/user/query'
- };
- Vue.use(Vuex);
- const state = () => ({
- Total: 0,
- catalogueList: [],
- journalList: [],
- dict: {},
- userList: [],
- userTotal: 0
- });
- const actions = {
- async userQuery ({ commit }, { filter, paging } = {}) {
- const res = await $axios.get(api.userQuery, { ...filter, skip: paging.page, limit: paging.size });
- commit('userQuery', res);
- return res;
- },
- async catalogueCreate ({ commit }, payload) {
- const res = await $axios.post(api.catalogueCreate, payload);
- return res;
- },
- async catalogueUpdate ({ commit }, payload) {
- const res = await $axios.post(api.catalogueUpdate, { ...payload, id: payload._id });
- return res;
- },
- async catalogueDelete ({ commit }, { id }) {
- const res = await $axios.delete(`${api.catalogueDelete}/${id}`);
- return res;
- },
- async catalogueQuery ({ commit }, { filter, paging } = {}) {
- const res = await $axios.get(api.catalogueQuery, { ...filter, skip: paging.page, limit: paging.size });
- commit('catalogueQuery', res);
- return res;
- },
- async catalogueFetch ({ commit }, payload) {
- const res = await $axios.get(api.catalogueFetch, payload);
- return res;
- },
- async statusQuery ({ commit }) {
- const res = await $axios.get(api.dictQuery, { parentCode: 'journalStatus' });
- commit('statusQuery', res);
- return res;
- },
- async columnQuery ({ commit }) {
- const res = await $axios.get(api.dictQuery, { parentCode: 'journalcolumn' });
- commit('columnQuery', res);
- return res;
- },
- async journalQuery ({ commit }, payload) {
- const res = await $axios.get(api.journalQuery, payload);
- commit('journalQuery', res);
- return res;
- }
- };
- const mutations = {
- catalogueQuery(state, payload) {
- state.catalogueList = payload.data;
- state.Total = payload.total;
- },
- statusQuery(state, payload) {
- state.dict.journalStatus = payload.data;
- },
- columnQuery(state, payload) {
- state.dict.journalcolumn = payload.data;
- },
- journalQuery(state, payload) {
- payload.data = payload.data.map(e => ({ ...e, code: e._id }));
- state.dict.journalQuery = payload.data;
- state.journalList = payload.data;
- },
- userQuery(state, payload) {
- state.userList = payload.data.map(e => e.userList[0]);
- state.userTotal = payload.total;
- }
- };
- export default new Vuex.Store({
- state,
- actions,
- mutations,
- modules: {}
- });
|