index.js 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import {
  4. login,
  5. queryFloor,
  6. queryfmapID
  7. } from '@/api/login.js'
  8. import {
  9. queryBrand
  10. } from '@/api/public.js'
  11. import axios from 'axios'
  12. import router from '../router'
  13. Vue.use(Vuex)
  14. export default new Vuex.Store({
  15. state: {
  16. // ssoToken: 'admin:lengqiang',
  17. ssoToken: 'admin:chuyushu',
  18. // ssoToken: null,
  19. plazaName: '',
  20. isPreview: false,
  21. lastRoute: '',
  22. isrequestAuth: true, // 是否请求登录校验接口
  23. permissions: [], //权限信息 "GLSMS_VIEW":"说明书查看"、"GLSMS_SYMBOL_MANAGE": "图例库管理"、 "GLSMS_PLANARGRAPH_MANAGE":"平面图维护"
  24. plazas: [], //项目列表
  25. userInfo: {
  26. employeename: '', //用户名称:艾宇;
  27. orgCode: '',
  28. username: 'lengqiang', //账户名称
  29. },
  30. plazaId: '', //项目Id
  31. projectName: '', //全局项目名称
  32. floorsArr: [], //楼层数组
  33. floorSelect: [], //楼层下拉框
  34. fmapID: '',
  35. haveFengMap: false, //是否有蜂鸟地图的数据
  36. isMessage: true, //是否有发布的图
  37. scpzTable: [], //土建装饰图例展示
  38. legendTable: [], //除土建装饰图例展示
  39. remarksText: '', //备注
  40. bunkObj: {}, // 铺位名称
  41. currentFloor: {}, //当前选中的楼层信息
  42. accessLevel: -1, // 权限级别
  43. showView: 1,
  44. categoryId: 'GDXT', //当前选中的系统
  45. isGetmap: false, //是否可以请求底图(在项目中方可请求)
  46. },
  47. getters: {
  48. plazaName: (state) => state.plazaName,
  49. accessLevel: (state) => state.accessLevel,
  50. isPreview: (state) => state.isPreview,
  51. ssoToken: (state) => state.ssoToken,
  52. lastRoute: (state) => state.lastRoute,
  53. floorsArr: (state) => state.floorsArr,
  54. floorSelect: (state) => state.floorSelect,
  55. plazaId: (state) => state.plazaId,
  56. plazas: (state) => state.plazas,
  57. fmapID: (state) => state.fmapID,
  58. haveFengMap: (state) => state.haveFengMap,
  59. isMessage: (state) => state.isMessage,
  60. scpzTable: (state) => state.scpzTable,
  61. legendTable: (state) => state.legendTable,
  62. remarksText: (state) => state.remarksText,
  63. bunkObj: (state) => state.bunkObj,
  64. showView: (state) => state.showView,
  65. isGetmap: (state) => state.isGetmap,
  66. },
  67. mutations: {
  68. SETPLAZENAME(state, data) {
  69. state.plazaName = data
  70. },
  71. SETSHOWVIEW(state, data) {
  72. state.showView = data
  73. },
  74. SETISPREVIEW(state, data) {
  75. state.isPreview = data
  76. },
  77. SETSSOTOKEN(state, data) {
  78. state.ssoToken = data
  79. },
  80. // 设置是否登陆校验
  81. SETISREQUESTtAUTH(state, palyload) {
  82. state.isrequestAuth = palyload
  83. },
  84. SETLASTROUTER(state, data) {
  85. state.lastRoute = data
  86. },
  87. // 设置相关权限信息
  88. SETAUTHMSG(state, palyload) {
  89. state.permissions = palyload.permissions
  90. state.plazas = palyload.plazas
  91. state.userInfo.employeename = palyload.employeename
  92. state.userInfo.orgCode = palyload.orgCode
  93. state.userInfo.username = palyload.username
  94. },
  95. SETISMESSAGE(state, data) {
  96. state.isMessage = data
  97. },
  98. SETFLOORS(state, data) {
  99. state.floorSelect = []
  100. state.floorsArr = data
  101. if (data.length > 0) {
  102. data.forEach((e) => {
  103. let obj = {
  104. id: e.gname,
  105. name: e.code,
  106. }
  107. state.floorSelect.push(obj)
  108. })
  109. }
  110. },
  111. SETMAPID(state, data) {
  112. state.fmapID = data
  113. },
  114. SETHAVEFENGMAP(state, data = true) {
  115. state.haveFengMap = data
  116. },
  117. // 土建的图例
  118. SETSCPZTABLE(state, data) {
  119. state.scpzTable = data
  120. },
  121. SETLEGENDTABLE(state, data) {
  122. state.legendTable = data
  123. },
  124. SETREMARKSTEXT(state, data) {
  125. state.remarksText = data
  126. },
  127. SETBUNKOBJ(state, data) {
  128. state.bunkObj = data
  129. },
  130. SETCURRENTFLOOR(state, data) {
  131. state.currentFloor = data
  132. },
  133. STOREACCESSLEVEL(state, data) {
  134. state.accessLevel = data
  135. },
  136. STOREPLAZAID(state, id) {
  137. state.plazaId = id
  138. if (id) {
  139. state.isGetmap = true
  140. } else {
  141. state.isGetmap = false
  142. }
  143. },
  144. /**
  145. * 修改 categoryId
  146. */
  147. SETCATEGORYID(state, data) {
  148. state.categoryId = data
  149. },
  150. SETISGETMAP(state, data) {
  151. state.isGetmap = data
  152. },
  153. },
  154. actions: {
  155. // 获取项目列表、userId
  156. async getUserInfo({
  157. commit
  158. }, palyload) {
  159. await login({
  160. returnTree: true
  161. }).then((res) => {
  162. // 获取用户当前权限
  163. if (res.result === 'success') {
  164. commit('STOREACCESSLEVEL', res.level)
  165. let level = res.level
  166. if (window.opener) {
  167. let data = window.opener.__fromGroupPage
  168. level = data.level
  169. commit('SETPLAZENAME', data.plazaName)
  170. localStorage.setItem('PLAZAID', data.plazaId)
  171. commit('STOREPLAZAID', data.plazaId)
  172. router.push({
  173. path: './home/homepage'
  174. })
  175. } else {
  176. if (level === 0) {
  177. if (res.treeData[0].ccode) {
  178. localStorage.setItem('PLAZAID', res.treeData[0].ccode)
  179. commit('STOREPLAZAID', res.treeData[0].ccode)
  180. commit('SETPLAZENAME', res.treeData[0].cname)
  181. }
  182. router.push({
  183. path: './home/homepage'
  184. })
  185. } else {
  186. router.push({
  187. path: './group'
  188. })
  189. }
  190. }
  191. // commit('SETISREQUESTtAUTH', false)
  192. // commit('SETISREQUESTtAUTH', false)
  193. }
  194. })
  195. },
  196. getFloors(context) {
  197. queryFloor({
  198. plazaId: localStorage.getItem('PLAZAID') || context.state.plazaId,
  199. }).then((res) => {
  200. if (res.result == 'success') {
  201. context.commit('SETFLOORS', res.data)
  202. }
  203. })
  204. },
  205. async getfmapID(context) {
  206. await queryfmapID({
  207. mapId: localStorage.getItem('PLAZAID') || context.state.plazaId,
  208. }).then((res) => {
  209. context.commit('SETMAPID', `${localStorage.getItem('PLAZAID') || context.state.plazaId}_${res.mapVersion}`)
  210. })
  211. },
  212. async getBrand(context) {
  213. let data = {
  214. plazaId: `${localStorage.getItem('PLAZAID') || context.state.plazaId}`,
  215. }
  216. await queryBrand({
  217. data,
  218. }).then((res) => {
  219. let obj = {}
  220. if (res.data.data) {
  221. let Data = res.data.data
  222. Data.forEach((i) => {
  223. obj[i.bunkdesc] = i
  224. })
  225. }
  226. context.commit('SETBUNKOBJ', obj)
  227. })
  228. },
  229. },
  230. modules: {},
  231. })