1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- const defaultPages = [{ name: 'BaggageManagement' }]
- const savedPages = JSON.parse(sessionStorage.getItem('keepAlivePages'))
- const state = {
- keepAlivePages: savedPages || defaultPages,
- clickedCells: JSON.parse(sessionStorage.getItem('clickedCells')) || []
- }
- const mutations = {
- ADD_PAGE(state, { name, fullPath }) {
- if (state.keepAlivePages.every(page => page.name !== name)) {
- state.keepAlivePages = [...state.keepAlivePages, { name, fullPath }]
- }
- sessionStorage.setItem('keepAlivePages', JSON.stringify(state.keepAlivePages))
- },
- EDIT_PAGE(state, { name, fullPath }) {
- state.keepAlivePages = state.keepAlivePages.map(page => {
- if (page.name === name) {
- page.fullPath = fullPath
- }
- return page
- })
- sessionStorage.setItem('keepAlivePages', JSON.stringify(state.keepAlivePages))
- },
- DELETE_PAGE(state, { name }) {
- const index = state.keepAlivePages.findIndex(page => page.name === name)
- if (index > -1) {
- state.keepAlivePages = state.keepAlivePages.slice(0, index + 1)
- } else {
- state.keepAlivePages = defaultPages
- }
- sessionStorage.setItem('keepAlivePages', JSON.stringify(state.keepAlivePages))
- },
- ADD_CLICKED_CELL(state, cell) {
- state.clickedCells.some(item =>
- Object.keys(item).every(key => {
- item[key] === cell[key]
- })
- ) || (state.clickedCells.push(cell), sessionStorage.setItem('clickedCells', JSON.stringify(state.clickedCells)))
- }
- }
- const actions = {
- addPage({ commit }, page) {
- commit('ADD_PAGE', page)
- },
- deletePage({ commit }, page) {
- commit('DELETE_PAGE', page)
- },
- editPage({ commit }, page) {
- commit('EDIT_PAGE', page)
- },
- addClickedCell({ commit }, cell) {
- commit('ADD_CLICKED_CELL', cell)
- }
- }
- export default {
- namespaced: true,
- state,
- mutations,
- actions
- }
|