index.js 6.9 KB

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