index.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import { login, queryFloor, queryfmapID } from '@/api/login.js'
  4. Vue.use(Vuex)
  5. export default new Vuex.Store({
  6. state: {
  7. isrequestAuth: false, // 是否请求登录校验接口
  8. permissions: [], //权限信息 "GLSMS_VIEW":"说明书查看"、"GLSMS_SYMBOL_MANAGE": "图例库管理"、 "GLSMS_PLANARGRAPH_MANAGE":"平面图维护"
  9. plazas: [], //项目列表
  10. userInfo: {
  11. employeename: '', //用户名称:艾宇;
  12. orgCode: '',
  13. username: 'lengqiang', //账户名称
  14. },
  15. plazaId: '1000423', //项目Id
  16. projectName: '', //全局项目名称
  17. floorsArr: [], //楼层数组
  18. floorSelect: [], //楼层下拉框
  19. fmapID: '',
  20. haveFengMap: false, //是否有蜂鸟地图的数据
  21. isMessage: true, //是否有发布的图
  22. scpzTable: [], //土建系统图例展示
  23. legendTable: [], //除土建系统图例展示
  24. },
  25. getters: {
  26. floorsArr: (state) => state.floorsArr,
  27. floorSelect: (state) => state.floorSelect,
  28. plazaId: (state) => state.plazaId,
  29. plazas: (state) => state.plazas,
  30. fmapID: (state) => state.fmapID,
  31. haveFengMap: (state) => state.haveFengMap,
  32. isMessage: (state) => state.isMessage,
  33. scpzTable: (state) => state.scpzTable,
  34. legendTable: (state) => state.legendTable,
  35. },
  36. mutations: {
  37. // 设置是否登陆校验
  38. SETISREQUESTtAUTH(state, palyload) {
  39. state.isrequestAuth = palyload
  40. },
  41. // 设置相关权限信息
  42. SETAUTHMSG(state, palyload) {
  43. state.permissions = palyload.permissions
  44. state.plazas = palyload.plazas
  45. state.userInfo.employeename = palyload.employeename
  46. state.userInfo.orgCode = palyload.orgCode
  47. state.userInfo.username = palyload.username
  48. },
  49. SETISMESSAGE(state, data) {
  50. state.isMessage = data
  51. },
  52. SETFLOORS(state, data) {
  53. state.floorsArr = data
  54. if (data.length > 0) {
  55. data.forEach((e) => {
  56. let obj = {
  57. id: e.gname,
  58. name: e.code,
  59. }
  60. state.floorSelect.push(obj)
  61. })
  62. }
  63. },
  64. SETMAPID(state, data) {
  65. state.fmapID = data
  66. },
  67. SETHAVEFENGMAP(state) {
  68. state.haveFengMap = true
  69. },
  70. // 土建的图例
  71. SETSCPZTABLE(state, data) {
  72. state.scpzTable = data
  73. },
  74. SETLEGENDTABLE(state, data) {
  75. state.legendTable = data
  76. },
  77. },
  78. actions: {
  79. // 获取项目列表、userId
  80. async getUserInfo({ commit }, palyload) {
  81. await login({
  82. username: palyload,
  83. }).then((res) => {
  84. if (res.result == 'success') {
  85. commit('SETISREQUESTtAUTH', true)
  86. commit('SETAUTHMSG', res)
  87. } else {
  88. console.log('接口报错!!')
  89. commit('SETISREQUESTtAUTH', false)
  90. }
  91. })
  92. },
  93. getFloors(context) {
  94. queryFloor({ plazaId: context.state.plazaId }).then((res) => {
  95. if (res.result == 'success') {
  96. context.commit('SETFLOORS', res.data)
  97. }
  98. })
  99. },
  100. async getfmapID(context) {
  101. await queryfmapID({
  102. mapId: context.state.plazaId,
  103. }).then((res) => {
  104. context.commit('SETMAPID', `${context.state.plazaId}_${res.mapVersion}`)
  105. })
  106. },
  107. },
  108. modules: {},
  109. })