index.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import { login, queryFloor, queryfmapID } from '@/api/login.js'
  4. import { queryBrand } from '@/api/public.js'
  5. import axios from 'axios'
  6. import router from '../router'
  7. Vue.use(Vuex)
  8. export default new Vuex.Store({
  9. state: {
  10. // ssoToken: 'admin:lengqiang',
  11. ssoToken: null,
  12. isPreview: false,
  13. lastRoute: '',
  14. isrequestAuth: true, // 是否请求登录校验接口
  15. permissions: [], //权限信息 "GLSMS_VIEW":"说明书查看"、"GLSMS_SYMBOL_MANAGE": "图例库管理"、 "GLSMS_PLANARGRAPH_MANAGE":"平面图维护"
  16. plazas: [], //项目列表
  17. userInfo: {
  18. employeename: '', //用户名称:艾宇;
  19. orgCode: '',
  20. username: 'lengqiang', //账户名称
  21. },
  22. plazaId: '1000423', //项目Id
  23. projectName: '', //全局项目名称
  24. floorsArr: [], //楼层数组
  25. floorSelect: [], //楼层下拉框
  26. fmapID: '',
  27. haveFengMap: false, //是否有蜂鸟地图的数据
  28. isMessage: true, //是否有发布的图
  29. scpzTable: [], //土建系统图例展示
  30. legendTable: [], //除土建系统图例展示
  31. remarksText: '', //备注
  32. bunkObj: {}, // 铺位名称
  33. currentFloor: {}, //当前选中的楼层信息
  34. },
  35. getters: {
  36. isPreview: (state) => state.isPreview,
  37. ssoToken: (state) => state.ssoToken,
  38. lastRoute: (state) => state.lastRoute,
  39. floorsArr: (state) => state.floorsArr,
  40. floorSelect: (state) => state.floorSelect,
  41. plazaId: (state) => state.plazaId,
  42. plazas: (state) => state.plazas,
  43. fmapID: (state) => state.fmapID,
  44. haveFengMap: (state) => state.haveFengMap,
  45. isMessage: (state) => state.isMessage,
  46. scpzTable: (state) => state.scpzTable,
  47. legendTable: (state) => state.legendTable,
  48. remarksText: (state) => state.remarksText,
  49. bunkObj: (state) => state.bunkObj,
  50. },
  51. mutations: {
  52. SETISPREVIEW(state, data) {
  53. state.isPreview = data
  54. },
  55. SETSSOTOKEN(state, data) {
  56. state.ssoToken = data
  57. },
  58. // 设置是否登陆校验
  59. SETISREQUESTtAUTH(state, palyload) {
  60. state.isrequestAuth = palyload
  61. },
  62. SETLASTROUTER(state, data) {
  63. state.lastRoute = data
  64. },
  65. // 设置相关权限信息
  66. SETAUTHMSG(state, palyload) {
  67. state.permissions = palyload.permissions
  68. state.plazas = palyload.plazas
  69. state.userInfo.employeename = palyload.employeename
  70. state.userInfo.orgCode = palyload.orgCode
  71. state.userInfo.username = palyload.username
  72. },
  73. SETISMESSAGE(state, data) {
  74. state.isMessage = data
  75. },
  76. SETFLOORS(state, data) {
  77. state.floorsArr = data
  78. if (data.length > 0) {
  79. data.forEach((e) => {
  80. let obj = {
  81. id: e.gname,
  82. name: e.code,
  83. }
  84. state.floorSelect.push(obj)
  85. })
  86. }
  87. },
  88. SETMAPID(state, data) {
  89. state.fmapID = data
  90. },
  91. SETHAVEFENGMAP(state) {
  92. state.haveFengMap = true
  93. },
  94. // 土建的图例
  95. SETSCPZTABLE(state, data) {
  96. state.scpzTable = data
  97. },
  98. SETLEGENDTABLE(state, data) {
  99. state.legendTable = data
  100. },
  101. SETREMARKSTEXT(state, data) {
  102. state.remarksText = data
  103. },
  104. SETBUNKOBJ(state, data) {
  105. state.bunkObj = data
  106. },
  107. SETCURRENTFLOOR(state, data) {
  108. state.currentFloor = data
  109. },
  110. },
  111. actions: {
  112. // 获取项目列表、userId
  113. async getUserInfo({ commit }, palyload) {
  114. await login({}).then((res) => {
  115. if (res.result == 'success') {
  116. // token校验成功 拿到权限
  117. commit('SETISREQUESTtAUTH', true)
  118. if (res.permissions.length == 0) {
  119. router.push('/404')
  120. }
  121. commit('SETAUTHMSG', res)
  122. } else {
  123. commit('SETISREQUESTtAUTH', false)
  124. router.push('/404')
  125. }
  126. })
  127. },
  128. getFloors(context) {
  129. queryFloor({
  130. plazaId: context.state.plazaId,
  131. }).then((res) => {
  132. if (res.result == 'success') {
  133. context.commit('SETFLOORS', res.data)
  134. }
  135. })
  136. },
  137. async getfmapID(context) {
  138. await queryfmapID({
  139. mapId: context.state.plazaId,
  140. }).then((res) => {
  141. context.commit('SETMAPID', `${context.state.plazaId}_${res.mapVersion}`)
  142. })
  143. },
  144. async getBrand(context) {
  145. let data = {
  146. plazaId: context.state.plazaId,
  147. }
  148. await queryBrand({
  149. data,
  150. }).then((res) => {
  151. let obj = {}
  152. if (res.data.data) {
  153. let Data = res.data.data
  154. Data.forEach((i) => {
  155. obj[i.bunkdesc] = i
  156. })
  157. }
  158. context.commit('SETBUNKOBJ', obj)
  159. })
  160. },
  161. },
  162. modules: {},
  163. })