index.js 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  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:chuyushu',
  11. // ssoToken: '',
  12. // ssoToken: null,
  13. plazaName: '',
  14. isPreview: false,
  15. lastRoute: '',
  16. isrequestAuth: null, // 是否请求登录校验接口
  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: -1, //是否有蜂鸟地图的数据 -1为等待 0 为失败 1 为成功
  30. isMessage: true, //是否有发布的图
  31. scpzTable: [], //土建装饰图例展示
  32. legendTable: [], //除土建装饰图例展示
  33. remarksText: '', //备注
  34. // defaultComment: '',
  35. bunkObj: {}, // 铺位名称
  36. currentFloor: {}, //当前选中的楼层信息
  37. accessLevel: -1, // 权限级别
  38. showView: 1,
  39. categoryId: 'GDXT', //当前选中的系统
  40. isGetmap: false, //是否可以请求底图(在项目中方可请求)
  41. planNum: '', //主要设备房 展示备注需要
  42. typeNum: '', //图例数量 展示备注需要
  43. },
  44. getters: {
  45. plazaName: (state) => state.plazaName,
  46. accessLevel: (state) => state.accessLevel,
  47. isPreview: (state) => state.isPreview,
  48. ssoToken: (state) => state.ssoToken,
  49. lastRoute: (state) => state.lastRoute,
  50. floorsArr: (state) => state.floorsArr,
  51. floorSelect: (state) => state.floorSelect,
  52. plazaId: (state) => state.plazaId,
  53. plazas: (state) => state.plazas,
  54. fmapID: (state) => state.fmapID,
  55. haveFengMap: (state) => state.haveFengMap,
  56. isMessage: (state) => state.isMessage,
  57. scpzTable: (state) => state.scpzTable,
  58. legendTable: (state) => state.legendTable,
  59. remarksText: (state) => state.remarksText,
  60. bunkObj: (state) => state.bunkObj,
  61. showView: (state) => state.showView,
  62. isGetmap: (state) => state.isGetmap,
  63. planNum: (state) => state.planNum,
  64. typeNum: (state) => state.typeNum,
  65. },
  66. mutations: {
  67. SETPLAZENAME(state, data) {
  68. state.plazaName = data
  69. },
  70. SETSHOWVIEW(state, data) {
  71. state.showView = data
  72. },
  73. SETISPREVIEW(state, data) {
  74. state.isPreview = data
  75. },
  76. SETSSOTOKEN(state, data) {
  77. state.ssoToken = data
  78. },
  79. // 设置是否登陆校验
  80. SETISREQUESTtAUTH(state, palyload) {
  81. state.isrequestAuth = palyload
  82. },
  83. SETLASTROUTER(state, data) {
  84. state.lastRoute = data
  85. },
  86. // 设置相关权限信息
  87. SETAUTHMSG(state, palyload) {
  88. state.permissions = palyload.permissions
  89. state.plazas = palyload.plazas
  90. state.userInfo.employeename = palyload.employeename
  91. state.userInfo.orgCode = palyload.orgCode
  92. state.userInfo.username = palyload.username
  93. },
  94. SETISMESSAGE(state, data) {
  95. state.isMessage = data
  96. },
  97. SETFLOORS(state, data) {
  98. state.floorSelect = []
  99. state.floorsArr = data
  100. if (data.length > 0) {
  101. data.forEach((e) => {
  102. let obj = {
  103. id: e.gname,
  104. name: e.code,
  105. }
  106. state.floorSelect.push(obj)
  107. })
  108. }
  109. },
  110. SETMAPID(state, data) {
  111. state.fmapID = data
  112. },
  113. SETHAVEFENGMAP(state, data) {
  114. state.haveFengMap = data
  115. },
  116. // 土建的图例
  117. SETSCPZTABLE(state, data) {
  118. state.scpzTable = data
  119. },
  120. SETLEGENDTABLE(state, data) {
  121. state.legendTable = data
  122. },
  123. SETREMARKSTEXT(state, data) {
  124. state.remarksText = data
  125. },
  126. SETBUNKOBJ(state, data) {
  127. state.bunkObj = data
  128. },
  129. SETCURRENTFLOOR(state, data) {
  130. state.currentFloor = data
  131. },
  132. STOREACCESSLEVEL(state, data) {
  133. state.accessLevel = data
  134. },
  135. STOREPLAZAID(state, id) {
  136. state.plazaId = id
  137. if (id) {
  138. state.isGetmap = true
  139. } else {
  140. state.isGetmap = false
  141. }
  142. },
  143. /**
  144. * 修改 categoryId
  145. */
  146. SETCATEGORYID(state, data) {
  147. state.categoryId = data
  148. },
  149. SETISGETMAP(state, data) {
  150. state.isGetmap = data
  151. },
  152. SETPLANNUM(state, data) {
  153. state.planNum = data
  154. },
  155. SETTYPENUM(state, data) {
  156. state.typeNum = data
  157. },
  158. },
  159. actions: {
  160. // 获取项目列表、userId
  161. async getUserInfo({ commit }, palyload) {
  162. await login({
  163. returnTree: true,
  164. })
  165. .then((res) => {
  166. // 获取用户当前权限
  167. console.log(res.result)
  168. if (res.result === 'success') {
  169. commit('STOREACCESSLEVEL', res.level)
  170. let level = res.level
  171. if (window.opener) {
  172. let data = window.opener.__fromGroupPage
  173. level = data.level
  174. commit('SETPLAZENAME', data.plazaName)
  175. localStorage.setItem('PLAZAID', data.plazaId)
  176. commit('STOREPLAZAID', data.plazaId)
  177. router.push({
  178. path: './home/homepage',
  179. })
  180. } else {
  181. if (level === 0) {
  182. if (res.treeData[0].ccode) {
  183. localStorage.setItem('PLAZAID', res.treeData[0].ccode)
  184. commit('STOREPLAZAID', res.treeData[0].ccode)
  185. commit('SETPLAZENAME', res.treeData[0].cname)
  186. }
  187. router.push({
  188. path: './home/homepage',
  189. })
  190. } else {
  191. router.push({
  192. path: './group',
  193. })
  194. }
  195. }
  196. // commit('SETISREQUESTtAUTH', false)
  197. // commit('SETISREQUESTtAUTH', false)
  198. } else {
  199. router.push({
  200. path: '/404',
  201. })
  202. commit('SETISREQUESTtAUTH', res)
  203. }
  204. })
  205. .catch((err) => {
  206. router.push({
  207. path: '/404',
  208. })
  209. commit('SETISREQUESTtAUTH', err)
  210. })
  211. },
  212. getFloors(context) {
  213. queryFloor({
  214. plazaId: localStorage.getItem('PLAZAID') || context.state.plazaId,
  215. }).then((res) => {
  216. if (res.result == 'success') {
  217. context.commit('SETFLOORS', res.data)
  218. }
  219. })
  220. },
  221. async getfmapID(context) {
  222. await queryfmapID({
  223. mapId: localStorage.getItem('PLAZAID') || context.state.plazaId,
  224. }).then((res) => {
  225. context.commit('SETMAPID', `${localStorage.getItem('PLAZAID') || context.state.plazaId}_${res.mapVersion}`)
  226. })
  227. },
  228. async getBrand(context) {
  229. let data = {
  230. plazaId: `${localStorage.getItem('PLAZAID') || context.state.plazaId}`,
  231. }
  232. await queryBrand({
  233. data,
  234. }).then((res) => {
  235. let obj = {}
  236. if (res.data.data) {
  237. let Data = res.data.data
  238. Data.forEach((i) => {
  239. obj[i.bunkdesc] = i
  240. })
  241. }
  242. context.commit('SETBUNKOBJ', obj)
  243. })
  244. },
  245. },
  246. modules: {},
  247. })