user.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549
  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,DealCorrectTeacher,
  6. GetAllotManagerList,AllotTeacherToManager,HomeworkRecoveryList
  7. } from '@/api'
  8. import { getToken, setToken, removeToken } from '@/utils/auth'
  9. import axios from '@/axios'
  10. import router from "@/router"
  11. import { Message } from 'element-ui'
  12. const user = {
  13. state: {
  14. token:[],
  15. name: '',
  16. avatar: '',
  17. roles: [],
  18. monitorTeacherList:[],
  19. dayTeacherList:[],
  20. mothTeacherList:[],
  21. TeacherHomeworkList:[],
  22. TeacherAllotList:[],
  23. TeacherAllotstatus:false,
  24. UnallotHomeworkList:[],
  25. GetTeacherDetail:[],
  26. GetStudentDetail:[],
  27. getManagerList:[],
  28. getManagerDetail:{},
  29. applyTeacherList:[],
  30. getTeacherSalaryList:[],
  31. getTeacherIdStatus:"",
  32. getAllotManagerList:"",
  33. homeworkRecoveryList:[],
  34. BeforetoTeacherAllotCode:"",
  35. BeforetoTeacherstatues:""
  36. },
  37. mutations: {
  38. SET_TOKEN: (state, token) => {
  39. state.token = token
  40. },
  41. SET_NAME: (state, name) => {
  42. state.name = name
  43. },
  44. SET_AVATAR: (state, avatar) => {
  45. state.avatar = avatar
  46. },
  47. SET_ROLES: (state, roles) => {
  48. state.roles = roles
  49. },
  50. SET_TEACHER: (state, monitorTeacherList) => {
  51. state.monitorTeacherList = monitorTeacherList
  52. },
  53. SET_TEACHER_DAY: (state, dayTeacherList) => {
  54. state.dayTeacherList = dayTeacherList
  55. },
  56. SET_TEACHER_MOTH: (state, mothTeacherList) => {
  57. state.mothTeacherList = mothTeacherList
  58. },
  59. SET_TEACHER_HOMELISt: (state, TeacherHomeworkList) => {
  60. state.TeacherHomeworkList = TeacherHomeworkList
  61. },
  62. SET_TEACHER_ALLOTIST: (state, TeacherAllotList) => {
  63. state.TeacherAllotList = TeacherAllotList
  64. },
  65. SET_ALLOTIST_STATUS: (state, TeacherAllotstatus) => {
  66. state.TeacherAllotstatus = TeacherAllotstatus
  67. },
  68. SET_UNALLOT_HONELIST: (state, UnallotHomeworkList) => {
  69. state.UnallotHomeworkList = UnallotHomeworkList
  70. },
  71. SET_GET_TEACHERDETAIL: (state, GetTeacherDetail) => {
  72. state.GetTeacherDetail = GetTeacherDetail
  73. },
  74. SET_GET_STUDENTDETAIL: (state, GetStudentDetail) => {
  75. state.GetStudentDetail = GetStudentDetail
  76. },
  77. SET_SUPER_MANAGERLIST:(state, getManagerList) => {
  78. state.getManagerList = getManagerList
  79. },
  80. SET_MANAGER_DETAIL:(state, getManagerDetail) => {
  81. state.getManagerDetail = getManagerDetail
  82. },
  83. SET_DOWNGRADE:(state, downgrade) => {
  84. state.downgrade = downgrade
  85. },
  86. SET_APPLY_TEACHER_LIST:(state, applyTeacherList) => {
  87. state.applyTeacherList = applyTeacherList
  88. },
  89. SET_APPLY_OPERATE:(state,applyOperate) => {
  90. state.applyOperate = applyOperate
  91. },
  92. SET_TEACHER_SALARY_LIST:(state,getTeacherSalaryList) => {
  93. state.getTeacherSalaryList = getTeacherSalaryList
  94. },
  95. SET_CLOSE_OR_OPENID:(state,getTeacherIdStatus) => {
  96. state.getTeacherIdStatus = getTeacherIdStatus
  97. },
  98. SET_MANAGERLIST_ALLOTIST:(state,getAllotManagerList) => {
  99. state.getAllotManagerList = getAllotManagerList
  100. },
  101. SET_GET_SUCCESS_CODE:(state,BeforetoTeacherAllotCode) => {
  102. state.BeforetoTeacherAllotCode = BeforetoTeacherAllotCode
  103. },
  104. SET_GET_SUCCESS_TEACHER:(state,BeforetoTeacherstatues) => {
  105. state.BeforetoTeacherstatues = BeforetoTeacherstatues
  106. },
  107. },
  108. actions: {
  109. // unionid登录
  110. // 获取TOKEN
  111. UnionidLogin({ state, commit, dispatch }, data) {
  112. console.log(data);
  113. axios.Tokenpost(GET_UUIONID_TOKEN, data).then(res => {
  114. if (res && res.code == '999') {
  115. const data = res.data
  116. const accessToken = data.accessToken
  117. const unionid = localStorage.getItem("unionid")
  118. commit('SET_TOKEN', data);
  119. localStorage.setItem("accessToken",data.accessToken)
  120. dispatch('GetInfo').then(res => { // 拉取用户信息
  121. // debugger
  122. const roles = res.data.role
  123. const isBanned = res.data.isBanned
  124. const userId = res.data.userId
  125. localStorage.setItem("userId",userId)
  126. if (isBanned == 0) {
  127. if (roles == 0) {
  128. Message.error('无用户角色')
  129. }
  130. if (roles == 1) {
  131. Message.success('在线批改老师角色登录成功')
  132. window.open('http://120.77.207.0:8081/kmt/index.html?unionid=' + unionid);
  133. }
  134. if (roles == 2) {
  135. Message.success('校区管理员角色登录成功')
  136. router.push("/home");
  137. }
  138. if (roles == 3) {
  139. Message.success('超级管理员角色登录成功')
  140. router.push("/super");
  141. }
  142. } if (isBanned == 1) {
  143. Message.error('您已被封号')
  144. router.push("/");
  145. }
  146. }).catch(() => {
  147. Message.error('用户信息验证失败,请重新登录')
  148. })
  149. } else {
  150. Message.error('验证失败,请重新登录')
  151. router.push("/");
  152. }
  153. })
  154. },
  155. // 微信授权登陆
  156. //获取TOKEN
  157. GET_TOKEN({ state, commit, dispatch }, data) {
  158. console.log(data);
  159. axios.Tokenpost(GET_TOKEN, data).then(res => {
  160. if (res && res.code == '999') {
  161. const data = res.data
  162. console.log("获取Code" + data)
  163. const accessToken = data.accessToken
  164. commit('SET_TOKEN', data);
  165. localStorage.setItem("accessToken",data.accessToken)
  166. dispatch('GetInfo').then(res => { // 拉取用户信息
  167. console.log("获取Code拉取用户信息" + res)
  168. const roles = res.data.role
  169. const userId = res.data.userId
  170. const isBanned = res.data.isBanned
  171. const unionid = res.data.unionid
  172. localStorage.setItem("userId",userId)
  173. if (isBanned == 0) {
  174. if (roles == 0) {
  175. Message.error('无用户角色')
  176. }
  177. if (roles == 1) {
  178. Message.success('在线批改老师角色登录成功')
  179. window.open('http://120.77.207.0:8081/kmt/index.html?unionid=' + unionid);
  180. }
  181. if (roles == 2) {
  182. Message.success('校区管理员角色登录成功')
  183. router.push("/home");
  184. }
  185. if (roles == 3) {
  186. Message.success('超级管理员角色登录成功')
  187. router.push("/super");
  188. }
  189. } if (isBanned == 1) {
  190. Message.error('您已被封号')
  191. router.push("/");
  192. }
  193. }).catch(() => {
  194. Message.error('用户信息验证失败,请重新登录')
  195. })
  196. } else {
  197. Message.error('验证失败,请重新登录')
  198. router.push("/");
  199. }
  200. })
  201. },
  202. // 获取用户信息
  203. GetInfo({ commit, state }, data) {
  204. return new Promise((resolve, reject) => {
  205. axios.post(GetInfo, data).then((response = {}) => {
  206. const { data, code, msg } = response
  207. const { role, name, imgUrl } = data
  208. commit('SET_ROLES', role)
  209. commit('SET_NAME', name)
  210. commit('SET_AVATAR', imgUrl)
  211. resolve(response)
  212. }).catch(error => {
  213. reject(error)
  214. })
  215. })
  216. },
  217. // 校区管理员数据监控
  218. InfoWatch({ commit, state }, data) {
  219. return new Promise((resolve, reject) => {
  220. axios.post(InfoWatch, data).then(response => {
  221. const data = response.data || {}
  222. commit('SET_TEACHER', data);
  223. resolve(response)
  224. }).catch(error => {
  225. reject(error)
  226. })
  227. })
  228. },
  229. // 校区管理员当月数据
  230. InfoWatchMoth({ commit, state }, data) {
  231. return new Promise((resolve, reject) => {
  232. axios.post(InfoWatchMoth, data).then(response => {
  233. const data = response.data || {}
  234. commit('SET_TEACHER_MOTH', data);
  235. resolve(response)
  236. }).catch(error => {
  237. reject(error)
  238. })
  239. })
  240. },
  241. // 校区管理员当天数据
  242. InfoWatchDay({ commit, state }, data) {
  243. return new Promise((resolve, reject) => {
  244. axios.post(InfoWatchDay, data).then(response => {
  245. const data = response.data || {}
  246. commit('SET_TEACHER_DAY', data);
  247. resolve(response)
  248. }).catch(error => {
  249. reject(error)
  250. })
  251. })
  252. },
  253. // 查看老师批改作业列表
  254. TeacherHomeworkList({ commit, state }, data) {
  255. return new Promise((resolve, reject) => {
  256. axios.post(TeacherHomeworkList, data).then(response => {
  257. const data = response.data || {}
  258. commit('SET_TEACHER_HOMELISt', data);
  259. resolve(response)
  260. }).catch(error => {
  261. reject(error)
  262. })
  263. })
  264. },
  265. // 查看可分配老师列表
  266. TeacherAllotList({ commit, state }, data) {
  267. return new Promise((resolve, reject) => {
  268. axios.post(TeacherAllotList, data).then(response => {
  269. const data = response.data || {}
  270. commit('SET_TEACHER_ALLOTIST', data);
  271. resolve(response)
  272. }).catch(error => {
  273. reject(error)
  274. })
  275. })
  276. },
  277. // 查看可分配小组列表
  278. GetAllotManagerList({ commit, state }, data) {
  279. return new Promise((resolve, reject) => {
  280. axios.post(GetAllotManagerList, data).then(response => {
  281. const data = response.data || {}
  282. commit('SET_MANAGERLIST_ALLOTIST', data);
  283. resolve(response)
  284. }).catch(error => {
  285. reject(error)
  286. })
  287. })
  288. },
  289. // 分配老师到管理员名下
  290. AllotTeacherToManager({ commit, state }, data) {
  291. return new Promise((resolve, reject) => {
  292. axios.post(AllotTeacherToManager, data).then(response => {
  293. const data = response || {}
  294. if (data.code === "999"){
  295. // debugger
  296. commit('SET_CLOSE_OR_OPENID', new Date());
  297. Message.success('分配成功')
  298. }
  299. // resolve(response)
  300. }).catch(error => {
  301. reject(error)
  302. })
  303. })
  304. },
  305. // 未批改作业列表
  306. UnallotHomeworkList({ commit, state }, data) {
  307. return new Promise((resolve, reject) => {
  308. axios.post(UnallotHomeworkList, data).then(response => {
  309. const data = response.data || {}
  310. commit('SET_UNALLOT_HONELIST', data);
  311. resolve(response)
  312. }).catch(error => {
  313. reject(error)
  314. })
  315. })
  316. },
  317. // 查看老师详情
  318. GetTeacherDetail({ commit, state }, data) {
  319. return new Promise((resolve, reject) => {
  320. axios.post(GetTeacherDetail, data).then(response => {
  321. const data = response.data || {}
  322. commit('SET_GET_TEACHERDETAIL', data);
  323. resolve(response)
  324. }).catch(error => {
  325. reject(error)
  326. })
  327. })
  328. },
  329. // 查看学生详情
  330. GetStudentDetail({ commit, state }, data) {
  331. return new Promise((resolve, reject) => {
  332. axios.post(GetStudentDetail, data).then(response => {
  333. const data = response.data || {}
  334. commit('SET_GET_STUDENTDETAIL', data);
  335. resolve(response)
  336. }).catch(error => {
  337. reject(error)
  338. })
  339. })
  340. },
  341. // 分配老师
  342. toTeacherAllot({ commit, state }, data) {
  343. return new Promise((resolve, reject) => {
  344. axios.post(TeacherAllot, data).then(response => {
  345. const data = response || {}
  346. if (data.code === '999'){
  347. // debugger
  348. commit('SET_GET_SUCCESS_TEACHER',new Date());
  349. resolve(response)
  350. Message.success('分配成功')
  351. }
  352. }).catch(error => {
  353. reject(error)
  354. })
  355. })
  356. },
  357. // 校区管理员去批改前分配老师
  358. BeforetoTeacherAllot({ commit, state }, data) {
  359. return new Promise((resolve, reject) => {
  360. axios.post(TeacherAllot, data).then(response => {
  361. const data = response || {}
  362. if (data.code === '999'){
  363. commit('SET_GET_SUCCESS_CODE',new Date());
  364. Message.success('分配成功')
  365. }
  366. }).catch(error => {
  367. reject(error)
  368. })
  369. })
  370. },
  371. // 登出
  372. // 查看超级管理员校区列表
  373. SuperManagerList({ commit, state }, data) {
  374. return new Promise((resolve, reject) => {
  375. axios.post(SuperManagerList, data).then(response => {
  376. const data = response.data || {}
  377. commit('SET_SUPER_MANAGERLIST', data);
  378. resolve(response)
  379. }).catch(error => {
  380. reject(error)
  381. })
  382. })
  383. },
  384. // 查看校区管理员详情
  385. GetManagerDetail({ commit, state }, data) {
  386. return new Promise((resolve, reject) => {
  387. axios.post(GetManagerDetail, data).then(response => {
  388. const data = response.data || {}
  389. commit('SET_MANAGER_DETAIL', data);
  390. resolve(response)
  391. }).catch(error => {
  392. reject(error)
  393. })
  394. })
  395. },
  396. // 处理在线批改老师(解封)
  397. OpenIdTeacher({ commit, state }, data) {
  398. return new Promise((resolve, reject) => {
  399. axios.post(DealCorrectTeacher, data).then(response => {
  400. const data = response || {}
  401. if (data.code === "999"){
  402. commit('SET_CLOSE_OR_OPENID', new Date());
  403. Message.success(data.msg)
  404. }
  405. else {
  406. Message.error("出错了")
  407. }
  408. resolve(response)
  409. }).catch(error => {
  410. reject(error)
  411. })
  412. })
  413. },
  414. // 处理在线批改老师(升级)
  415. RepushTeacher({ commit, state }, data) {
  416. return new Promise((resolve, reject) => {
  417. axios.post(DealCorrectTeacher, data).then(response => {
  418. const data = response || {}
  419. if (data.code === "999"){
  420. commit('SET_CLOSE_OR_OPENID', new Date());
  421. Message.success(data.msg)
  422. }
  423. else {
  424. Message.error("出错了")
  425. }
  426. resolve(response)
  427. }).catch(error => {
  428. reject(error)
  429. })
  430. })
  431. },
  432. // 处理在线批改老师(封号)
  433. CloseIdTeacher({ commit, state }, data) {
  434. return new Promise((resolve, reject) => {
  435. axios.post(DealCorrectTeacher, data).then(response => {
  436. const data = response || {}
  437. if (data.code === "999"){
  438. commit('SET_CLOSE_OR_OPENID', new Date());
  439. Message.success(data.msg)
  440. }
  441. else {
  442. Message.error("出错了")
  443. }
  444. resolve(response)
  445. }).catch(error => {
  446. reject(error)
  447. })
  448. })
  449. },
  450. // 校区管理员降级
  451. Downgrade({ commit, state }, data) {
  452. return new Promise((resolve, reject) => {
  453. axios.post(Downgrade, data).then(response => {
  454. const data = response.data
  455. commit('SET_DOWNGRADE', data);
  456. resolve(response)
  457. }).catch(error => {
  458. reject(error)
  459. })
  460. })
  461. },
  462. //查看申请批改老师列表
  463. SuperApplyTeacherList({ commit, state }, data) {
  464. return new Promise((resolve, reject) => {
  465. axios.post(SuperApplyTeacherList, data).then(response => {
  466. const data = response.data || { }
  467. commit('SET_APPLY_TEACHER_LIST', data);
  468. // debugger
  469. // console.log(data)
  470. resolve(response)
  471. }).catch(error => {
  472. reject(error)
  473. })
  474. })
  475. },
  476. //申请审批操作
  477. ApplyOperate({ commit, state }, data) {
  478. return new Promise((resolve, reject) => {
  479. axios.post(ApplyOperate, data).then(response => {
  480. const data = response.data
  481. commit('SET_APPLY_OPERATE', data);
  482. // debugger
  483. resolve(response)
  484. }).catch(error => {
  485. reject(error)
  486. })
  487. })
  488. },
  489. //老师薪酬列表
  490. GetTeacherSalaryList({ commit, state }, data) {
  491. return new Promise((resolve, reject) => {
  492. axios.post(GetTeacherSalaryList, data).then(response => {
  493. const data = response.data || { }
  494. commit('SET_TEACHER_SALARY_LIST', data);
  495. // debugger
  496. resolve(response)
  497. }).catch(error => {
  498. reject(error)
  499. })
  500. })
  501. },
  502. //作业回收站列表
  503. HomeworkRecoveryList({ commit, state }, data) {
  504. return new Promise((resolve, reject) => {
  505. axios.post(HomeworkRecoveryList, data).then(response => {
  506. const data = response.data || { }
  507. commit('SET_HOMEWORK_RECOVERY_LIST', data);
  508. // debugger
  509. resolve(response)
  510. }).catch(error => {
  511. reject(error)
  512. })
  513. })
  514. },
  515. // 登出getTeacherSalaryList
  516. LogOut({ commit, state }) {
  517. // debugger
  518. commit('SET_TOKEN', '')
  519. commit('SET_ROLES', [])
  520. Message.success('退出成功')
  521. router.push("/");
  522. // return new Promise((resolve, reject) => {
  523. // logout(state.token).then(() => {
  524. // commit('SET_TOKEN', '')
  525. // commit('SET_ROLES', [])
  526. // Message.success('退出成功')
  527. // router.push("/");
  528. // resolve()
  529. // }).catch(error => {
  530. // reject(error)
  531. // })
  532. // })
  533. },
  534. // 前端 登出
  535. FedLogOut({ commit }) {
  536. return new Promise(resolve => {
  537. commit('SET_TOKEN', '')
  538. removeToken()
  539. resolve()
  540. })
  541. }
  542. }
  543. }
  544. export default user