user.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435
  1. import { GET_UUIONID_TOKEN,GET_TOKEN,GetInfo,InfoWatch,InfoWatchDay,
  2. InfoWatchMoth,TeacherHomeworkList,TeacherAllotList,
  3. TeacherAllot,UnallotHomeworkList,GetTeacherDetail,
  4. GetStudentDetail,GetManagerDetail,Downgrade,SuperManagerList,
  5. SuperApplyTeacherList,ApplyOperate,GetTeacherSalaryList,
  6. } from '@/api'
  7. import { getToken, setToken, removeToken } from '@/utils/auth'
  8. import axios from '@/axios'
  9. import router from "@/router"
  10. import { Message } from 'element-ui'
  11. const user = {
  12. state: {
  13. token:[],
  14. name: '',
  15. avatar: '',
  16. roles: [],
  17. monitorTeacherList:[],
  18. dayTeacherList:[],
  19. mothTeacherList:[],
  20. TeacherHomeworkList:[],
  21. TeacherAllotList:[],
  22. TeacherAllotstatus:false,
  23. UnallotHomeworkList:[],
  24. GetTeacherDetail:[],
  25. GetStudentDetail:[],
  26. getManagerList:[],
  27. getManagerDetail:{},
  28. applyTeacherList:[],
  29. getTeacherSalaryList:[]
  30. },
  31. mutations: {
  32. SET_TOKEN: (state, token) => {
  33. state.token = token
  34. },
  35. SET_NAME: (state, name) => {
  36. state.name = name
  37. },
  38. SET_AVATAR: (state, avatar) => {
  39. state.avatar = avatar
  40. },
  41. SET_ROLES: (state, roles) => {
  42. state.roles = roles
  43. },
  44. SET_TEACHER: (state, monitorTeacherList) => {
  45. state.monitorTeacherList = monitorTeacherList
  46. },
  47. SET_TEACHER_DAY: (state, dayTeacherList) => {
  48. state.dayTeacherList = dayTeacherList
  49. },
  50. SET_TEACHER_MOTH: (state, mothTeacherList) => {
  51. state.mothTeacherList = mothTeacherList
  52. },
  53. SET_TEACHER_HOMELISt: (state, TeacherHomeworkList) => {
  54. state.TeacherHomeworkList = TeacherHomeworkList
  55. },
  56. SET_TEACHER_ALLOTIST: (state, TeacherAllotList) => {
  57. state.TeacherAllotList = TeacherAllotList
  58. },
  59. SET_ALLOTIST_STATUS: (state, TeacherAllotstatus) => {
  60. state.TeacherAllotstatus = TeacherAllotstatus
  61. },
  62. SET_UNALLOT_HONELIST: (state, UnallotHomeworkList) => {
  63. state.UnallotHomeworkList = UnallotHomeworkList
  64. },
  65. SET_GET_TEACHERDETAIL: (state, GetTeacherDetail) => {
  66. state.GetTeacherDetail = GetTeacherDetail
  67. },
  68. SET_GET_STUDENTDETAIL: (state, GetStudentDetail) => {
  69. state.GetStudentDetail = GetStudentDetail
  70. },
  71. SET_SUPER_MANAGERLIST:(state, getManagerList) => {
  72. state.getManagerList = getManagerList
  73. },
  74. SET_MANAGER_DETAIL:(state, getManagerDetail) => {
  75. state.getManagerDetail = getManagerDetail
  76. },
  77. SET_DOWNGRADE:(state, downgrade) => {
  78. state.downgrade = downgrade
  79. },
  80. SET_APPLY_TEACHER_LIST:(state, applyTeacherList) => {
  81. state.applyTeacherList = applyTeacherList
  82. },
  83. SET_APPLY_OPERATE:(state,applyOperate) => {
  84. state.applyOperate = applyOperate
  85. },
  86. SET_TEACHER_SALARY_LIST:(state,getTeacherSalaryList) => {
  87. state.getTeacherSalaryList = getTeacherSalaryList
  88. },
  89. },
  90. actions: {
  91. // unionid登录
  92. // 获取TOKEN
  93. UnionidLogin({ state, commit, dispatch, getters }, data) {
  94. console.log(data);
  95. // debugger
  96. axios.Tokenpost(GET_UUIONID_TOKEN, data).then(res => {
  97. if (res && res.code == '999') {
  98. const data = res.data
  99. commit('SET_TOKEN', data);
  100. // debugger
  101. sessionStorage.setItem("accessToken",data.accessToken)
  102. Message.success('登录成功')
  103. dispatch('GetInfo').then(res => { // 拉取用户信息
  104. const roles = res.data.role
  105. dispatch('GenerateRoutes', { roles }).then(() => { // 根据roles权限生成可访问的路由表
  106. console.log('addrouters', getters.addRouters)
  107. router.addRoutes(getters.addRouters) // 动态添加可访问路由表
  108. console.log(router)
  109. router.push("/home");
  110. // next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
  111. })
  112. }).catch(() => {
  113. // dispatch('FedLogOut').then(() => {
  114. // Message.error('验证失败,请重新登录')
  115. // next({ path: '/login' })
  116. // console.log('roles====5')
  117. // })
  118. })
  119. } else {
  120. Message.error('验证失败,请重新登录')
  121. router.push("/");
  122. }
  123. })
  124. },
  125. // // 获取tokrn
  126. // UnionidLogin({ commit, state }, data) {
  127. // return new Promise((resolve, reject) => {
  128. // axios.Tokenpost(GET_UUIONID_TOKEN, data).then(response => {
  129. // debugger
  130. // if (response && response.code == '999') {
  131. // const data = response.data
  132. // commit('SET_TOKEN', data);
  133. // sessionStorage.setItem("accessToken",data.accessToken)
  134. // Message.success('登录成功')
  135. // router.push("/home");
  136. // } else {
  137. // Message.error('验证失败,请重新登录')
  138. // router.push("/");
  139. // }
  140. // resolve(response)
  141. // }).catch(error => {
  142. // reject(error)
  143. // })
  144. // })
  145. // },
  146. // 微信授权登陆
  147. //获取TOKEN
  148. GET_TOKEN({ state, commit }, data) {
  149. console.log(data);
  150. axios.get(GET_TOKEN, data).then(res => {
  151. // debugger
  152. if (res && res.code == '999') {
  153. commit('SET_TOKEN', data.data);
  154. sessionStorage.setItem("accessToken",data.data)
  155. // this.$router.push("/home");
  156. } else {
  157. this.$router.push("/");
  158. }
  159. })
  160. },
  161. // 获取用户信息
  162. GetInfo({ commit, state }, data) {
  163. console.log(data)
  164. // debugger
  165. // return new Promise((resolve, reject) => {
  166. // resolve({
  167. // "data": {
  168. // "approveStatus": 0,
  169. // "grade": "一年级,二年级,三年级,四年级,五年级,六年级,七年级,八年级,九年级",
  170. // "imgUrl": "/userimg/2019/03/13/55403363-f5b3-4af8-92e8-69aec41dd6b7.jpg",
  171. // "isFirst": 0,
  172. // "managerId": "",
  173. // "managerList": [],
  174. // "myManager": "",
  175. // "name": "丁颖",
  176. // "period": "",
  177. // "phone": "",
  178. // "role": ['1'],
  179. // "school": "",
  180. // "subject": "语文;数学;英语",
  181. // "wxName": "丁颖"
  182. // }
  183. // })
  184. // })
  185. return new Promise((resolve, reject) => {
  186. axios.post(GetInfo, data).then((response = {}) => {
  187. debugger
  188. const { data, code, msg } = response
  189. const { role, name, imgUrl } = data
  190. commit('SET_ROLES', role)
  191. commit('SET_NAME', name)
  192. commit('SET_AVATAR', imgUrl)
  193. resolve(response)
  194. }).catch(error => {
  195. reject(error)
  196. })
  197. })
  198. },
  199. // GetInfo({ commit, state }, data) {
  200. // console.log(data)
  201. // debugger
  202. // return new Promise((resolve, reject) => {
  203. // axios.post(GetInfo, data).then((response = {}) => {
  204. // debugger
  205. // const { data, code, msg } = response
  206. // const { role, name, imgUrl } = data
  207. // commit('SET_ROLES', role)
  208. // commit('SET_NAME', name)
  209. // commit('SET_AVATAR', imgUrl)
  210. // resolve(response)
  211. // }).catch(error => {
  212. // reject(error)
  213. // })
  214. // })
  215. // },
  216. // 校区管理员数据监控
  217. InfoWatch({ commit, state }, data) {
  218. return new Promise((resolve, reject) => {
  219. axios.post(InfoWatch, data).then(response => {
  220. const data = response.data || {}
  221. commit('SET_TEACHER', data);
  222. resolve(response)
  223. }).catch(error => {
  224. reject(error)
  225. })
  226. })
  227. },
  228. // 校区管理员当月数据
  229. InfoWatchMoth({ commit, state }, data) {
  230. return new Promise((resolve, reject) => {
  231. axios.post(InfoWatchMoth, data).then(response => {
  232. const data = response.data
  233. commit('SET_TEACHER_MOTH', data);
  234. resolve(response)
  235. }).catch(error => {
  236. reject(error)
  237. })
  238. })
  239. },
  240. // 校区管理员当天数据
  241. InfoWatchDay({ commit, state }, data) {
  242. return new Promise((resolve, reject) => {
  243. axios.post(InfoWatchDay, data).then(response => {
  244. const data = response.data
  245. commit('SET_TEACHER_DAY', data);
  246. resolve(response)
  247. }).catch(error => {
  248. reject(error)
  249. })
  250. })
  251. },
  252. // 查看老师批改作业列表
  253. TeacherHomeworkList({ commit, state }, data) {
  254. return new Promise((resolve, reject) => {
  255. axios.post(TeacherHomeworkList, data).then(response => {
  256. const data = response.data || {}
  257. commit('SET_TEACHER_HOMELISt', data);
  258. resolve(response)
  259. }).catch(error => {
  260. reject(error)
  261. })
  262. })
  263. },
  264. // 查看可分配老师列表
  265. TeacherAllotList({ commit, state }, data) {
  266. return new Promise((resolve, reject) => {
  267. axios.post(TeacherAllotList, data).then(response => {
  268. const data = response.data || {}
  269. commit('SET_TEACHER_ALLOTIST', data);
  270. resolve(response)
  271. }).catch(error => {
  272. reject(error)
  273. })
  274. })
  275. },
  276. // 未批改作业列表
  277. UnallotHomeworkList({ commit, state }, data) {
  278. return new Promise((resolve, reject) => {
  279. axios.post(UnallotHomeworkList, data).then(response => {
  280. const data = response.data || {}
  281. commit('SET_UNALLOT_HONELIST', data);
  282. resolve(response)
  283. }).catch(error => {
  284. reject(error)
  285. })
  286. })
  287. },
  288. // 查看老师详情
  289. GetTeacherDetail({ commit, state }, data) {
  290. return new Promise((resolve, reject) => {
  291. axios.post(GetTeacherDetail, data).then(response => {
  292. const data = response.data || {}
  293. commit('SET_GET_TEACHERDETAIL', data);
  294. resolve(response)
  295. }).catch(error => {
  296. reject(error)
  297. })
  298. })
  299. },
  300. // 查看学生详情
  301. GetStudentDetail({ commit, state }, data) {
  302. return new Promise((resolve, reject) => {
  303. axios.post(GetStudentDetail, data).then(response => {
  304. const data = response.data || {}
  305. commit('SET_GET_STUDENTDETAIL', data);
  306. debugger
  307. resolve(response)
  308. }).catch(error => {
  309. reject(error)
  310. })
  311. })
  312. },
  313. // 分配老师
  314. toTeacherAllot({ commit, state }, data) {
  315. return new Promise((resolve, reject) => {
  316. axios.post(TeacherAllot, data).then(response => {
  317. const data = response.data || {}
  318. if (data.code === 999){
  319. Message.success('分配成功')
  320. }
  321. }).catch(error => {
  322. reject(error)
  323. })
  324. })
  325. },
  326. // 登出
  327. // 查看超级管理员校区列表
  328. SuperManagerList({ commit, state }, data) {
  329. return new Promise((resolve, reject) => {
  330. axios.post(SuperManagerList, data).then(response => {
  331. const data = response.data
  332. commit('SET_SUPER_MANAGERLIST', data);
  333. resolve(response)
  334. }).catch(error => {
  335. reject(error)
  336. })
  337. })
  338. },
  339. // 查看校区管理员详情
  340. GetManagerDetail({ commit, state }, data) {
  341. return new Promise((resolve, reject) => {
  342. axios.post(GetManagerDetail, data).then(response => {
  343. const data = response.data
  344. commit('SET_MANAGER_DETAIL', data);
  345. resolve(response)
  346. }).catch(error => {
  347. reject(error)
  348. })
  349. })
  350. },
  351. // 校区管理员降级
  352. Downgrade({ commit, state }, data) {
  353. return new Promise((resolve, reject) => {
  354. axios.post(Downgrade, data).then(response => {
  355. const data = response.data
  356. commit('SET_DOWNGRADE', data);
  357. resolve(response)
  358. }).catch(error => {
  359. reject(error)
  360. })
  361. })
  362. },
  363. //查看申请批改老师列表
  364. SuperApplyTeacherList({ commit, state }, data) {
  365. return new Promise((resolve, reject) => {
  366. axios.post(SuperApplyTeacherList, data).then(response => {
  367. const data = response.data || { }
  368. commit('SET_APPLY_TEACHER_LIST', data);
  369. // debugger
  370. // console.log(data)
  371. resolve(response)
  372. }).catch(error => {
  373. reject(error)
  374. })
  375. })
  376. },
  377. //申请审批操作
  378. ApplyOperate({ commit, state }, data) {
  379. return new Promise((resolve, reject) => {
  380. axios.post(ApplyOperate, data).then(response => {
  381. const data = response.data
  382. commit('SET_APPLY_OPERATE', data);
  383. // debugger
  384. resolve(response)
  385. }).catch(error => {
  386. reject(error)
  387. })
  388. })
  389. },
  390. //老师薪酬列表
  391. GetTeacherSalaryList({ commit, state }, data) {
  392. return new Promise((resolve, reject) => {
  393. axios.post(GetTeacherSalaryList, data).then(response => {
  394. const data = response.data || { }
  395. commit('SET_TEACHER_SALARY_LIST', data);
  396. // debugger
  397. resolve(response)
  398. }).catch(error => {
  399. reject(error)
  400. })
  401. })
  402. },
  403. // 登出getTeacherSalaryList
  404. LogOut({ commit, state }) {
  405. debugger
  406. return new Promise((resolve, reject) => {
  407. logout(state.token).then(() => {
  408. commit('SET_TOKEN', '')
  409. commit('SET_ROLES', [])
  410. Message.success('退出成功')
  411. router.push("/");
  412. resolve()
  413. }).catch(error => {
  414. reject(error)
  415. })
  416. })
  417. },
  418. // 前端 登出
  419. FedLogOut({ commit }) {
  420. return new Promise(resolve => {
  421. commit('SET_TOKEN', '')
  422. removeToken()
  423. resolve()
  424. })
  425. }
  426. }
  427. }
  428. export default user