|
@@ -6,240 +6,247 @@
|
|
|
* @Description: In User Settings Edit
|
|
|
* @FilePath: \vue-manage-system-master\src\store\store.js
|
|
|
*/
|
|
|
-import Vue from "vue";
|
|
|
-import Vuex from "vuex";
|
|
|
+import Vue from 'vue';
|
|
|
+import Vuex from 'vuex';
|
|
|
+import router from '../router';
|
|
|
|
|
|
Vue.use(Vuex);
|
|
|
|
|
|
const store = new Vuex.Store({
|
|
|
- state: {
|
|
|
- token: "",
|
|
|
- collapse: false,//控制面板是否显示
|
|
|
- tagsList: [],//标签页所显示的内容
|
|
|
- // 新弹窗
|
|
|
- modalParams: {},
|
|
|
- // 权限列表
|
|
|
- permissionList: [],
|
|
|
- //菜单列表
|
|
|
- menuList: [],
|
|
|
- // 当前登录用户信息
|
|
|
- cruUserInfo: {},
|
|
|
- thisDetai: {},
|
|
|
- //查询是否有未读消息
|
|
|
- messageNumber: false,
|
|
|
- //最近消息列表集合
|
|
|
- messageList: [],
|
|
|
- //记录消息的状态
|
|
|
- messageStatus: 2,
|
|
|
- // 弹窗集合
|
|
|
- popups: '',
|
|
|
- theme: 'light',//控制界面的颜色,
|
|
|
- // 查询的点的坐标
|
|
|
- searchPointInfo: {},
|
|
|
- //所有社区下拉
|
|
|
- areaSelect: [],
|
|
|
- //所有民族
|
|
|
- nationArray: [],
|
|
|
- //所有籍贯
|
|
|
- nativeArray: [],
|
|
|
- //公司部门
|
|
|
- companyArray: [],
|
|
|
- departmentArray: [],
|
|
|
- communityArray: [],
|
|
|
- },
|
|
|
- getters: {
|
|
|
- getTheme(state) {
|
|
|
- return state.theme
|
|
|
- },
|
|
|
- getPopups(state) {
|
|
|
- return state.popups || [];
|
|
|
- },
|
|
|
- getToken(state) {
|
|
|
- return state.token;
|
|
|
- },
|
|
|
- getSearchPointInfo(state) {
|
|
|
- return state.searchPointInfo;
|
|
|
- },
|
|
|
- getCollapse(state) {
|
|
|
- return state.collapse;
|
|
|
- },
|
|
|
- getTagsList(state) {
|
|
|
- return state.tagsList;
|
|
|
- },
|
|
|
- getModalParams(state) {
|
|
|
- return state.modalParams;
|
|
|
- },
|
|
|
- // 判断按钮是否有权限
|
|
|
- hasPermission: (state) => (role) => {
|
|
|
- if (state.permissionList.size) {
|
|
|
- return state.permissionList.has(role)
|
|
|
- } else {
|
|
|
- return false
|
|
|
- }
|
|
|
- },
|
|
|
- //获取菜单列表
|
|
|
- getMenuList(state) {
|
|
|
- return state.menuList;
|
|
|
- },
|
|
|
- // 获取当前登录用户信息
|
|
|
- getCruUserInfo(state) {
|
|
|
- return state.cruUserInfo;
|
|
|
- },
|
|
|
- getThisDetai(state) {
|
|
|
- return state.thisDetai
|
|
|
- },
|
|
|
- getAreaSelect(state) {
|
|
|
- return state.areaSelect;
|
|
|
- },
|
|
|
- getNationArray(state) {
|
|
|
- return state.nationArray
|
|
|
- },
|
|
|
- getNativeArray(state) {
|
|
|
- return state.nativeArray
|
|
|
- },
|
|
|
- getCompanyArray(state) {
|
|
|
- return state.companyArray
|
|
|
- },
|
|
|
- getDepartmentArray(state) {
|
|
|
- return state.departmentArray
|
|
|
- },
|
|
|
- getCommunityArray(state) {
|
|
|
- return state.communityArray
|
|
|
- }
|
|
|
-
|
|
|
- },
|
|
|
- mutations: {
|
|
|
- setSearchPointInfo(state, data) {
|
|
|
- state.searchPointInfo = data;
|
|
|
- },
|
|
|
- setPopups(state, data) {
|
|
|
- state.popups = data;
|
|
|
- },
|
|
|
- setToken(state, data) {
|
|
|
- state.token = data;
|
|
|
- },
|
|
|
- setCollapse(state, data) {
|
|
|
- state.collapse = data;
|
|
|
- },
|
|
|
- setTagList(state, data) {
|
|
|
- state.tagsList = data;
|
|
|
- },
|
|
|
- setModalParams(state, data) {
|
|
|
- state.modalParams = data;
|
|
|
- },
|
|
|
- setPermissionList(state, data) {
|
|
|
- state.permissionList = data;
|
|
|
- },
|
|
|
- setMenuList(state, data) {
|
|
|
- state.menuList = data;
|
|
|
- },
|
|
|
- setcCruUserInfo(state, data) {
|
|
|
- state.cruUserInfo = data;
|
|
|
- },
|
|
|
- setThisDetai(state, data) {
|
|
|
- state.thisDetai = data;
|
|
|
- },
|
|
|
- setmessageNumber(state, data) {
|
|
|
- state.messageNumber = data;
|
|
|
- },
|
|
|
- setmessageList(state, data) {
|
|
|
- state.messageList = data;
|
|
|
- },
|
|
|
- setmessageStatus(state, data) {
|
|
|
- state.messageStatus = data;
|
|
|
- },
|
|
|
- setTheme(state, data) {
|
|
|
- state.theme = data
|
|
|
- },
|
|
|
- setAreaSelect(state, data) {
|
|
|
- state.areaSelect = data
|
|
|
- },
|
|
|
- setNationArray(state, data) {
|
|
|
- state.nationArray = data
|
|
|
- },
|
|
|
- setNativeArray(state, data) {
|
|
|
- state.nativeArray = data
|
|
|
- },
|
|
|
- setCompanyArray(state, data) {
|
|
|
- state.companyArray = data
|
|
|
- },
|
|
|
- setDepartmentArray(state, data) {
|
|
|
- state.departmentArray = data
|
|
|
- },
|
|
|
- setCommunityArray(state, data) {
|
|
|
- state.communityArray = data
|
|
|
- }
|
|
|
- },
|
|
|
- actions: {
|
|
|
- tags(ctx, data) {
|
|
|
- ctx.commit("setTagList", data)
|
|
|
- },
|
|
|
- /**
|
|
|
- * @description: 打开弹窗
|
|
|
- * @param {type} ctx vuex的上下文
|
|
|
- * @param {object} args {
|
|
|
- * id: 唯一标识,必须
|
|
|
- * url: 打开的组件url地址,必须
|
|
|
- * params: 传递给弹出组件的参数,
|
|
|
- * notip: 是否显示*为填项必内容,为true时不显示
|
|
|
- * backgroud: 是否强制显示底部透明背景色,默认第二个弹出层时不显示透明底色,为true时一定显示
|
|
|
- * full: 是否为全屏展示,true为全屏
|
|
|
- * }
|
|
|
- * @return {null} null:
|
|
|
- */
|
|
|
- addPopup(ctx, args) {
|
|
|
- const params = { ...args };
|
|
|
- const list = ctx.getters.getPopups;
|
|
|
- params.id = 'modal_' + (+new Date())
|
|
|
- import(/* webpackChunkName: "[request]" */ `@/views${params.url}`).then((res) => {
|
|
|
- params.component = res.default;
|
|
|
- params.show = true;
|
|
|
- list.push(params);
|
|
|
- ctx.commit('setPopups', list);
|
|
|
- // ctx.commit('setalertModalParams', params);
|
|
|
- }).catch((err) => {
|
|
|
- if (err.message.indexOf("Loading chunk") == 0) {
|
|
|
- ELEMENT.Message.info("版本已更新,请刷新页面重试");
|
|
|
- } else {
|
|
|
- ELEMENT.Message.info(err.message);
|
|
|
+ state: {
|
|
|
+ token: '',
|
|
|
+ collapse: false, //控制面板是否显示
|
|
|
+ tagsList: [], //标签页所显示的内容
|
|
|
+ // 新弹窗
|
|
|
+ modalParams: {},
|
|
|
+ // 权限列表
|
|
|
+ permissionList: [],
|
|
|
+ //菜单列表
|
|
|
+ menuList: [],
|
|
|
+ // 当前登录用户信息
|
|
|
+ cruUserInfo: {},
|
|
|
+ thisDetai: {},
|
|
|
+ //查询是否有未读消息
|
|
|
+ messageNumber: false,
|
|
|
+ //最近消息列表集合
|
|
|
+ messageList: [],
|
|
|
+ //记录消息的状态
|
|
|
+ messageStatus: 2,
|
|
|
+ // 弹窗集合
|
|
|
+ popups: '',
|
|
|
+ theme: 'light', //控制界面的颜色,
|
|
|
+ // 查询的点的坐标
|
|
|
+ searchPointInfo: {},
|
|
|
+ //所有社区下拉
|
|
|
+ areaSelect: [],
|
|
|
+ //所有民族
|
|
|
+ nationArray: [],
|
|
|
+ //所有籍贯
|
|
|
+ nativeArray: [],
|
|
|
+ //公司部门
|
|
|
+ companyArray: [],
|
|
|
+ departmentArray: [],
|
|
|
+ communityArray: []
|
|
|
+ },
|
|
|
+ getters: {
|
|
|
+ getTheme(state) {
|
|
|
+ return state.theme;
|
|
|
+ },
|
|
|
+ getPopups(state) {
|
|
|
+ return state.popups || [];
|
|
|
+ },
|
|
|
+ getToken(state) {
|
|
|
+ return state.token;
|
|
|
+ },
|
|
|
+ getSearchPointInfo(state) {
|
|
|
+ return state.searchPointInfo;
|
|
|
+ },
|
|
|
+ getCollapse(state) {
|
|
|
+ return state.collapse;
|
|
|
+ },
|
|
|
+ getTagsList(state) {
|
|
|
+ return state.tagsList;
|
|
|
+ },
|
|
|
+ getModalParams(state) {
|
|
|
+ return state.modalParams;
|
|
|
+ },
|
|
|
+ // 判断按钮是否有权限
|
|
|
+ hasPermission: (state) => (role) => {
|
|
|
+ if (state.permissionList.size) {
|
|
|
+ return state.permissionList.has(role);
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //获取菜单列表
|
|
|
+ getMenuList(state) {
|
|
|
+ return state.menuList;
|
|
|
+ },
|
|
|
+ // 获取当前登录用户信息
|
|
|
+ getCruUserInfo(state) {
|
|
|
+ return state.cruUserInfo;
|
|
|
+ },
|
|
|
+ getThisDetai(state) {
|
|
|
+ return state.thisDetai;
|
|
|
+ },
|
|
|
+ getAreaSelect(state) {
|
|
|
+ return state.areaSelect;
|
|
|
+ },
|
|
|
+ getNationArray(state) {
|
|
|
+ return state.nationArray;
|
|
|
+ },
|
|
|
+ getNativeArray(state) {
|
|
|
+ return state.nativeArray;
|
|
|
+ },
|
|
|
+ getCompanyArray(state) {
|
|
|
+ return state.companyArray;
|
|
|
+ },
|
|
|
+ getDepartmentArray(state) {
|
|
|
+ return state.departmentArray;
|
|
|
+ },
|
|
|
+ getCommunityArray(state) {
|
|
|
+ return state.communityArray;
|
|
|
}
|
|
|
- });
|
|
|
},
|
|
|
- delPopup(ctx, id) {
|
|
|
- // let id=id;
|
|
|
- // ctx.commit('setalertModalParams', { show: false});
|
|
|
- const list = ctx.getters.getPopups;
|
|
|
- list.every((item, index) => {
|
|
|
- if (item.id === id) {
|
|
|
- list.splice(index, 1);
|
|
|
- ctx.commit('setPopups', list);
|
|
|
- // 解决弹窗关闭,滚动条没有关闭的情况
|
|
|
- // const $bar = document.querySelector('.dmp-scroll-bar')
|
|
|
- // if ($bar) {
|
|
|
- // document.body.removeChild(document.querySelector('.dmp-scroll-bar'))
|
|
|
- // }
|
|
|
- return false;
|
|
|
+ mutations: {
|
|
|
+ setSearchPointInfo(state, data) {
|
|
|
+ state.searchPointInfo = data;
|
|
|
+ },
|
|
|
+ setPopups(state, data) {
|
|
|
+ state.popups = data;
|
|
|
+ },
|
|
|
+ setToken(state, data) {
|
|
|
+ state.token = data;
|
|
|
+ },
|
|
|
+ setCollapse(state, data) {
|
|
|
+ state.collapse = data;
|
|
|
+ },
|
|
|
+ setTagList(state, data) {
|
|
|
+ state.tagsList = data;
|
|
|
+ },
|
|
|
+ setModalParams(state, data) {
|
|
|
+ state.modalParams = data;
|
|
|
+ },
|
|
|
+ setPermissionList(state, data) {
|
|
|
+ state.permissionList = data;
|
|
|
+ },
|
|
|
+ setMenuList(state, data) {
|
|
|
+ state.menuList = data;
|
|
|
+ },
|
|
|
+ setcCruUserInfo(state, data) {
|
|
|
+ state.cruUserInfo = data;
|
|
|
+ },
|
|
|
+ setThisDetai(state, data) {
|
|
|
+ state.thisDetai = data;
|
|
|
+ },
|
|
|
+ setmessageNumber(state, data) {
|
|
|
+ state.messageNumber = data;
|
|
|
+ },
|
|
|
+ setmessageList(state, data) {
|
|
|
+ state.messageList = data;
|
|
|
+ },
|
|
|
+ setmessageStatus(state, data) {
|
|
|
+ state.messageStatus = data;
|
|
|
+ },
|
|
|
+ setTheme(state, data) {
|
|
|
+ state.theme = data;
|
|
|
+ },
|
|
|
+ setAreaSelect(state, data) {
|
|
|
+ state.areaSelect = data;
|
|
|
+ },
|
|
|
+ setNationArray(state, data) {
|
|
|
+ state.nationArray = data;
|
|
|
+ },
|
|
|
+ setNativeArray(state, data) {
|
|
|
+ state.nativeArray = data;
|
|
|
+ },
|
|
|
+ setCompanyArray(state, data) {
|
|
|
+ state.companyArray = data;
|
|
|
+ },
|
|
|
+ setDepartmentArray(state, data) {
|
|
|
+ state.departmentArray = data;
|
|
|
+ },
|
|
|
+ setCommunityArray(state, data) {
|
|
|
+ state.communityArray = data;
|
|
|
}
|
|
|
- return true
|
|
|
- });
|
|
|
- },
|
|
|
- collapse(ctx, data) {
|
|
|
- ctx.commit("setCollapse", data);
|
|
|
- },
|
|
|
- openModal(ctx, args) {
|
|
|
- const params = { ...args };
|
|
|
- params.id = 'modal_' + (+new Date())
|
|
|
- import(/* webpackChunkName: "[request]" */ `@/views${params.url}`).then((res) => {
|
|
|
- params.component = res.default;
|
|
|
- params.show = true;
|
|
|
- ctx.commit('setModalParams', params);
|
|
|
- }).catch(err => {
|
|
|
- ELEMENT.Message.error(`${err.message},请刷新页面重试`);
|
|
|
- });
|
|
|
},
|
|
|
- closeModal(ctx) {
|
|
|
- ctx.commit('setModalParams', { show: false });
|
|
|
+ actions: {
|
|
|
+ tags(ctx, data) {
|
|
|
+ ctx.commit('setTagList', data);
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @description: 打开弹窗
|
|
|
+ * @param {type} ctx vuex的上下文
|
|
|
+ * @param {object} args {
|
|
|
+ * id: 唯一标识,必须
|
|
|
+ * url: 打开的组件url地址,必须
|
|
|
+ * params: 传递给弹出组件的参数,
|
|
|
+ * notip: 是否显示*为填项必内容,为true时不显示
|
|
|
+ * backgroud: 是否强制显示底部透明背景色,默认第二个弹出层时不显示透明底色,为true时一定显示
|
|
|
+ * full: 是否为全屏展示,true为全屏
|
|
|
+ * }
|
|
|
+ * @return {null} null:
|
|
|
+ */
|
|
|
+ addPopup(ctx, args) {
|
|
|
+ console.log('ctx', ctx);
|
|
|
+ console.log('args', args);
|
|
|
+ const params = { ...args };
|
|
|
+ const list = ctx.getters.getPopups;
|
|
|
+ params.id = 'modal_' + +new Date();
|
|
|
+ import(/* webpackChunkName: "[request]" */ `@/views${params.url}`)
|
|
|
+ .then((res) => {
|
|
|
+ params.component = res.default;
|
|
|
+ params.show = true;
|
|
|
+ list.push(params);
|
|
|
+ ctx.commit('setPopups', list);
|
|
|
+
|
|
|
+ // ctx.commit('setalertModalParams', params);
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ if (err.message.indexOf('Loading chunk') == 0) {
|
|
|
+ ELEMENT.Message.info('版本已更新,请刷新页面重试');
|
|
|
+ } else {
|
|
|
+ ELEMENT.Message.info(err.message);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ delPopup(ctx, id) {
|
|
|
+ // let id=id;
|
|
|
+ // ctx.commit('setalertModalParams', { show: false});
|
|
|
+ const list = ctx.getters.getPopups;
|
|
|
+ list.every((item, index) => {
|
|
|
+ if (item.id === id) {
|
|
|
+ list.splice(index, 1);
|
|
|
+ ctx.commit('setPopups', list);
|
|
|
+ // 解决弹窗关闭,滚动条没有关闭的情况
|
|
|
+ // const $bar = document.querySelector('.dmp-scroll-bar')
|
|
|
+ // if ($bar) {
|
|
|
+ // document.body.removeChild(document.querySelector('.dmp-scroll-bar'))
|
|
|
+ // }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ collapse(ctx, data) {
|
|
|
+ ctx.commit('setCollapse', data);
|
|
|
+ },
|
|
|
+ openModal(ctx, args) {
|
|
|
+ const params = { ...args };
|
|
|
+ params.id = 'modal_' + +new Date();
|
|
|
+ import(/* webpackChunkName: "[request]" */ `@/views${params.url}`)
|
|
|
+ .then((res) => {
|
|
|
+ params.component = res.default;
|
|
|
+ params.show = true;
|
|
|
+ ctx.commit('setModalParams', params);
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ ELEMENT.Message.error(`${err.message},请刷新页面重试`);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ closeModal(ctx) {
|
|
|
+ ctx.commit('setModalParams', { show: false });
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
-})
|
|
|
+});
|
|
|
export default store;
|