user.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395
  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. } 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 }, data) {
  94. console.log(data);
  95. axios.Tokenpost(GET_UUIONID_TOKEN, data).then(res => {
  96. if (res && res.code == '999') {
  97. const data = res.data
  98. commit('SET_TOKEN', data);
  99. localStorage.setItem("accessToken",data.accessToken)
  100. Message.success('登录成功')
  101. dispatch('GetInfo').then(res => { // 拉取用户信息
  102. const roles = res.data.role
  103. if (roles == 1) {
  104. router.push("/Onteacher");
  105. }
  106. if (roles == 2) {
  107. router.push("/home");
  108. }
  109. if (roles == 3) {
  110. router.push("/super");
  111. }
  112. }).catch(() => {
  113. Message.error('用户信息验证失败,请重新登录')
  114. })
  115. } else {
  116. Message.error('验证失败,请重新登录')
  117. router.push("/");
  118. }
  119. })
  120. },
  121. // 微信授权登陆
  122. //获取TOKEN
  123. GET_TOKEN({ state, commit, dispatch }, data) {
  124. console.log(data);
  125. axios.Tokenpost(GET_TOKEN, data).then(res => {
  126. if (res && res.code == '999') {
  127. const data = res.data
  128. commit('SET_TOKEN', data);
  129. localStorage.setItem("accessToken",data.accessToken)
  130. Message.success('登录成功')
  131. dispatch('GetInfo').then(res => { // 拉取用户信息
  132. const roles = res.data.role
  133. if (roles == 2) {
  134. router.push("/home");
  135. }
  136. if (roles == 3) {
  137. router.push("/super");
  138. }
  139. }).catch(() => {
  140. Message.error('用户信息验证失败,请重新登录')
  141. })
  142. } else {
  143. Message.error('验证失败,请重新登录')
  144. router.push("/");
  145. }
  146. })
  147. },
  148. // 获取用户信息
  149. GetInfo({ commit, state }, data) {
  150. return new Promise((resolve, reject) => {
  151. axios.post(GetInfo, data).then((response = {}) => {
  152. const { data, code, msg } = response
  153. const { role, name, imgUrl } = data
  154. commit('SET_ROLES', role)
  155. commit('SET_NAME', name)
  156. commit('SET_AVATAR', imgUrl)
  157. resolve(response)
  158. }).catch(error => {
  159. reject(error)
  160. })
  161. })
  162. },
  163. // 校区管理员数据监控
  164. InfoWatch({ commit, state }, data) {
  165. return new Promise((resolve, reject) => {
  166. axios.post(InfoWatch, data).then(response => {
  167. const data = response.data || {}
  168. commit('SET_TEACHER', data);
  169. resolve(response)
  170. }).catch(error => {
  171. reject(error)
  172. })
  173. })
  174. },
  175. // 校区管理员当月数据
  176. InfoWatchMoth({ commit, state }, data) {
  177. return new Promise((resolve, reject) => {
  178. axios.post(InfoWatchMoth, data).then(response => {
  179. const data = response.data || {}
  180. commit('SET_TEACHER_MOTH', data);
  181. resolve(response)
  182. }).catch(error => {
  183. reject(error)
  184. })
  185. })
  186. },
  187. // 校区管理员当天数据
  188. InfoWatchDay({ commit, state }, data) {
  189. return new Promise((resolve, reject) => {
  190. axios.post(InfoWatchDay, data).then(response => {
  191. const data = response.data || {}
  192. commit('SET_TEACHER_DAY', data);
  193. resolve(response)
  194. }).catch(error => {
  195. reject(error)
  196. })
  197. })
  198. },
  199. // 查看老师批改作业列表
  200. TeacherHomeworkList({ commit, state }, data) {
  201. return new Promise((resolve, reject) => {
  202. axios.post(TeacherHomeworkList, data).then(response => {
  203. const data = response.data || {}
  204. commit('SET_TEACHER_HOMELISt', data);
  205. resolve(response)
  206. }).catch(error => {
  207. reject(error)
  208. })
  209. })
  210. },
  211. // 查看可分配老师列表
  212. TeacherAllotList({ commit, state }, data) {
  213. return new Promise((resolve, reject) => {
  214. axios.post(TeacherAllotList, data).then(response => {
  215. const data = response.data || {}
  216. commit('SET_TEACHER_ALLOTIST', data);
  217. resolve(response)
  218. }).catch(error => {
  219. reject(error)
  220. })
  221. })
  222. },
  223. // 未批改作业列表
  224. UnallotHomeworkList({ commit, state }, data) {
  225. return new Promise((resolve, reject) => {
  226. axios.post(UnallotHomeworkList, data).then(response => {
  227. const data = response.data || {}
  228. commit('SET_UNALLOT_HONELIST', data);
  229. resolve(response)
  230. }).catch(error => {
  231. reject(error)
  232. })
  233. })
  234. },
  235. // 查看老师详情
  236. GetTeacherDetail({ commit, state }, data) {
  237. return new Promise((resolve, reject) => {
  238. axios.post(GetTeacherDetail, data).then(response => {
  239. const data = response.data || {}
  240. commit('SET_GET_TEACHERDETAIL', data);
  241. resolve(response)
  242. }).catch(error => {
  243. reject(error)
  244. })
  245. })
  246. },
  247. // 查看学生详情
  248. GetStudentDetail({ commit, state }, data) {
  249. return new Promise((resolve, reject) => {
  250. axios.post(GetStudentDetail, data).then(response => {
  251. const data = response.data || {}
  252. commit('SET_GET_STUDENTDETAIL', data);
  253. resolve(response)
  254. }).catch(error => {
  255. reject(error)
  256. })
  257. })
  258. },
  259. // 分配老师
  260. toTeacherAllot({ commit, state }, data) {
  261. return new Promise((resolve, reject) => {
  262. axios.post(TeacherAllot, data).then(response => {
  263. const data = response.data || {}
  264. if (data.code === 999){
  265. Message.success('分配成功')
  266. }
  267. }).catch(error => {
  268. reject(error)
  269. })
  270. })
  271. },
  272. // 登出
  273. // 查看超级管理员校区列表
  274. SuperManagerList({ commit, state }, data) {
  275. return new Promise((resolve, reject) => {
  276. axios.post(SuperManagerList, data).then(response => {
  277. const data = response.data || {}
  278. commit('SET_SUPER_MANAGERLIST', data);
  279. resolve(response)
  280. }).catch(error => {
  281. reject(error)
  282. })
  283. })
  284. },
  285. // 查看校区管理员详情
  286. GetManagerDetail({ commit, state }, data) {
  287. return new Promise((resolve, reject) => {
  288. axios.post(GetManagerDetail, data).then(response => {
  289. const data = response.data || {}
  290. commit('SET_MANAGER_DETAIL', data);
  291. resolve(response)
  292. }).catch(error => {
  293. reject(error)
  294. })
  295. })
  296. },
  297. // 处理在线批改老师(升级或封号或解封)
  298. DealCorrectTeacher({ commit, state }, data) {
  299. return new Promise((resolve, reject) => {
  300. axios.post(DealCorrectTeacher, data).then(response => {
  301. const data = response.data
  302. commit('SET_DOWNGRADE', data);
  303. resolve(response)
  304. }).catch(error => {
  305. reject(error)
  306. })
  307. })
  308. },
  309. // 校区管理员降级
  310. Downgrade({ commit, state }, data) {
  311. return new Promise((resolve, reject) => {
  312. axios.post(Downgrade, data).then(response => {
  313. const data = response.data
  314. commit('SET_DOWNGRADE', data);
  315. resolve(response)
  316. }).catch(error => {
  317. reject(error)
  318. })
  319. })
  320. },
  321. //查看申请批改老师列表
  322. SuperApplyTeacherList({ commit, state }, data) {
  323. return new Promise((resolve, reject) => {
  324. axios.post(SuperApplyTeacherList, data).then(response => {
  325. const data = response.data || { }
  326. commit('SET_APPLY_TEACHER_LIST', data);
  327. // debugger
  328. // console.log(data)
  329. resolve(response)
  330. }).catch(error => {
  331. reject(error)
  332. })
  333. })
  334. },
  335. //申请审批操作
  336. ApplyOperate({ commit, state }, data) {
  337. return new Promise((resolve, reject) => {
  338. axios.post(ApplyOperate, data).then(response => {
  339. const data = response.data
  340. commit('SET_APPLY_OPERATE', data);
  341. // debugger
  342. resolve(response)
  343. }).catch(error => {
  344. reject(error)
  345. })
  346. })
  347. },
  348. //老师薪酬列表
  349. GetTeacherSalaryList({ commit, state }, data) {
  350. return new Promise((resolve, reject) => {
  351. axios.post(GetTeacherSalaryList, data).then(response => {
  352. const data = response.data || { }
  353. commit('SET_TEACHER_SALARY_LIST', data);
  354. // debugger
  355. resolve(response)
  356. }).catch(error => {
  357. reject(error)
  358. })
  359. })
  360. },
  361. // 登出getTeacherSalaryList
  362. LogOut({ commit, state }) {
  363. // debugger
  364. commit('SET_TOKEN', '')
  365. commit('SET_ROLES', [])
  366. Message.success('退出成功')
  367. router.push("/");
  368. // return new Promise((resolve, reject) => {
  369. // logout(state.token).then(() => {
  370. // commit('SET_TOKEN', '')
  371. // commit('SET_ROLES', [])
  372. // Message.success('退出成功')
  373. // router.push("/");
  374. // resolve()
  375. // }).catch(error => {
  376. // reject(error)
  377. // })
  378. // })
  379. },
  380. // 前端 登出
  381. FedLogOut({ commit }) {
  382. return new Promise(resolve => {
  383. commit('SET_TOKEN', '')
  384. removeToken()
  385. resolve()
  386. })
  387. }
  388. }
  389. }
  390. export default user