123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- import frameworkApi from '@/api/framework'
- import storage from '@/framework/utils/storage'
- import lStorage from '@/utils/localStorage'
- import project from "./project";
- const KEY_MENU_SELECTED = 'menu_selected'
- const KEY_PROJECT_SELECTED = 'global_project_selected'
- const KEY_PAGE_BRANDCRUMB = 'page_brandcrumb'
- export default {
- namespaced: true,
- state: {
- sidebarClosed: false,
- sidebarSelected: '', // sidebar选中的选项
- // userInfo: null, //{ username: 'admin' },
- userInfo: {
- userName: 'yanruolan',
- userId: '06328a53c69a41bb8f5bb1a552c6e8d6'
- },
- permissions: {
- "system:role:delete": true,
- "system:role:create": true,
- "system:role:query": true,
- "system:role:setOpts": true
- },
- projectId: 'Pj1101051029',
- group_code: '',
- projects: project["14"],
- breadcrumb: [],
- uploaderList: [], //当前上传文件列表
- secret: "saga123456", //项目密码
- userId: "06328a53c69a41bb8f5bb1a552c6e8d6", //用户id
- rowEdit: false,//表格数据变化
- errorReport: [],//扫楼错误报告
- },
- getters: {
- sidebarClosed: state => state.sidebarClosed,
- secret: state => state.secret,
- userId: state => state.userId,
- sidebarSelected: state => {
- // if (!state.pageSidebarSelected) {
- // let menu = storage.get(KEY_MENU_SELECTED)
- // if (menu) {
- // state.pageSidebarSelected = menu
- // }
- // }
- // return state.pageSidebarSelected
- return state.sidebarSelected
- },
- userInfo: state => state.userInfo,
- permissions: state => state.permissions,
- projects: state => state.projects,
- uploaderList: state => state.uploaderList,
- projectId: state => {
- if (!state.projectId) {
- let pid = storage.get(KEY_PROJECT_SELECTED)
- if (pid) {
- state.projectId = pid
- }
- }
- return state.projectId
- },
- group_code: state => state.group_code,
- breadcrumb: state => {
- if (!state.breadcrumb) {
- let arr = storage.get(KEY_PAGE_BRANDCRUMB)
- if (arr) {
- state.breadcrumb = arr
- }
- }
- return state.breadcrumb
- }
- },
- mutations: {
- setRowEdit: (state, val) => (state.rowEdit = val),
- setErrorReport: (state, val) => (state.errorReport = val),
- setSidebarClosed: (state, val) => (state.sidebarClosed = val),
- setSidebarSelected: (state, val) => {
- state.sidebarSelected = val
- storage.set(KEY_MENU_SELECTED, val)
- lStorage.set('screen_data', {path: val, data: {}})
- },
- setprojectId: (state, val) => {
- lStorage.remove('cacheInfo') //待删除(删除用户浏览器无用缓存)
- let cacheInfo = lStorage.get('historyInfo') ? lStorage.get('historyInfo') : {}
- state.projectId = val
- localStorage.setItem('projectId', val)
- if (cacheInfo[state.userInfo.userName]) {
- // cacheInfo[state.userInfo.userName].projectId = val
- cacheInfo[state.userInfo.userName] = [...new Set([val, ...cacheInfo[state.userInfo.userName]])].slice(0, 3)
- lStorage.set('historyInfo', cacheInfo)
- } else {
- cacheInfo[state.userInfo.userName] = [val]
- lStorage.set('historyInfo', cacheInfo)
- }
- storage.set(KEY_PROJECT_SELECTED, val)
- state.projects.map((item) => {
- if (item.id == val) {
- state.secret = item.pwd
- state.group_code = item.group_code
- localStorage.setItem('group_code', item.group_code)
- localStorage.setItem('secret', item.pwd)
- }
- })
- },
- setUploaderList: (state, val) => {
- state.uploaderList = val ? val : []
- },
- },
- actions: {
- setRowEdit(contentx, value) {
- contentx.commit('setRowEdit', value)
- },
- setErrorReport(contentx, value) {
- contentx.commit('setErrorReport', value)
- },
- loadUserInfo({state}) {
- console.log(state)
- // 获取 userInfo 信息
- return new Promise((resolve, reject) => {
- frameworkApi.loadUserInfo().then(resp => {
- console.log(resp)
- if (resp.Result == 'success' && resp.UserId) {
- state.userInfo = {userName: resp.Username, userId: resp.UserId}
- state.userId = resp.UserId
- storage.set('user_name', resp.Username)
- storage.set('user_id', resp.UserId)
- state.permissions = {}
- if (resp.Permissions) {
- resp.Permissions.forEach(p => (state.permissions[p] = true))
- }
- state.projects = []
- if (resp.Projects) {
- if (resp.Projects[0] && resp.Projects[0].ProjId) {
- state.projectId = resp.Projects[0].ProjId
- state.secret = resp.Projects[0].Secret ? resp.Projects[0].Secret : ""
- }
- resp.Projects.forEach(proj =>
- state.projects.push({
- id: proj.ProjId,
- name: proj.ProjLocalName,
- pwd: proj.Secret ? proj.Secret : "",
- // group_code
- })
- )
- }
- } else {
- state.userInfo = null
- }
- resolve(resp)
- })
- })
- },
- setBreadcrumb: {
- root: true,
- handler({state, commit}, val) {
- let label = val[0].label;
- if (label === "消息中心") {
- commit("setSidebarSelected", "message"); // 当进入消息中心页面的时候不选中导航栏
- }
- state.breadcrumb = []
- state.breadcrumb = val
- storage.set(KEY_PAGE_BRANDCRUMB, val)
- }
- }
- }
- }
|