index.js 6.3 KB

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