import { LOGIN,GET_TOKEN,GetInfo,InfoWatch,InfoWatchDay, InfoWatchMoth,TeacherHomeworkList,TeacherAllotList, TeacherAllot,UnallotHomeworkList,GetTeacherDetail, GetStudentDetail,GetManagerDetail,Downgrade, SuperApplyTeacherList,ApplyOperate,GetTeacherSalaryList } from '@/api' import { getToken, setToken, removeToken } from '@/utils/auth' import axios from '@/axios' import { Message } from 'element-ui' const user = { state: { token: getToken(), name: '', avatar: '', roles: [], monitorTeacherList:[], dayTeacherList:[], mothTeacherList:[], TeacherHomeworkList:[], TeacherAllotList:[], TeacherAllotstatus:false, UnallotHomeworkList:[], GetTeacherDetail:[], GetStudentDetail:[], getManagerList:[], getManagerDetail:{}, applyTeacherList:[], getTeacherSalaryList:[] }, mutations: { SET_TOKEN: (state, token) => { state.token = token }, SET_NAME: (state, name) => { state.name = name }, SET_AVATAR: (state, avatar) => { state.avatar = avatar }, SET_ROLES: (state, roles) => { state.roles = roles }, SET_TEACHER: (state, monitorTeacherList) => { state.monitorTeacherList = monitorTeacherList }, SET_TEACHER_DAY: (state, dayTeacherList) => { state.dayTeacherList = dayTeacherList }, SET_TEACHER_MOTH: (state, mothTeacherList) => { state.mothTeacherList = mothTeacherList }, SET_TEACHER_HOMELISt: (state, TeacherHomeworkList) => { state.TeacherHomeworkList = TeacherHomeworkList }, SET_TEACHER_ALLOTIST: (state, TeacherAllotList) => { state.TeacherAllotList = TeacherAllotList }, SET_ALLOTIST_STATUS: (state, TeacherAllotstatus) => { state.TeacherAllotstatus = TeacherAllotstatus }, SET_UNALLOT_HONELIST: (state, UnallotHomeworkList) => { state.UnallotHomeworkList = UnallotHomeworkList }, SET_GET_TEACHERDETAIL: (state, GetTeacherDetail) => { state.GetTeacherDetail = GetTeacherDetail }, SET_GET_STUDENTDETAIL: (state, GetStudentDetail) => { state.GetStudentDetail = GetStudentDetail }, SET_SUPER_MANAGERLIST:(state, getManagerList) => { state.getManagerList = getManagerList }, SET_MANAGER_DETAIL:(state, getManagerDetail) => { state.getManagerDetail = getManagerDetail }, SET_DOWNGRADE:(state, downgrade) => { state.downgrade = downgrade }, SET_APPLY_TEACHER_LIST:(state, applyTeacherList) => { state.applyTeacherList = applyTeacherList }, SET_APPLY_OPERATE:(state,applyOperate) => { state.applyOperate = applyOperate }, SET_TEACHER_SALARY_LIST:(state,getTeacherSalaryList) => { state.getTeacherSalaryList = getTeacherSalaryList }, }, actions: { // 登录 Login({ commit }, userInfo) { const username = userInfo.username.trim() return new Promise((resolve, reject) => { login(username, userInfo.password).then(response => { const data = response.data setToken(data.token) commit('SET_TOKEN', data.token) resolve() }).catch(error => { reject(error) }) }) }, //获取TOKEN GET_TOKEN({ state, commit }, data) { console.log(data); axios.post(GET_TOKEN, data).then(res => { // debugger if (res && res.code == '999') { commit('SET_TOKEN', data.data); sessionStorage.setItem("accessToken",data.data) this.$router.push("/home"); } else { this.$router.push("/"); } }) }, // 获取用户信息 GetInfo({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(GetInfo, data).then(response => { const data = response.data commit('SET_ROLES', data.role) commit('SET_NAME', data.name) commit('SET_AVATAR', data.imgUrl) resolve(response) }).catch(error => { reject(error) }) }) }, // 校区管理员数据监控 InfoWatch({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(InfoWatch, data).then(response => { const data = response.data || {} commit('SET_TEACHER', data); resolve(response) }).catch(error => { reject(error) }) }) }, // 校区管理员当月数据 InfoWatchMoth({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(InfoWatchMoth, data).then(response => { const data = response.data commit('SET_TEACHER_MOTH', data); resolve(response) }).catch(error => { reject(error) }) }) }, // 校区管理员当天数据 InfoWatchDay({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(InfoWatchDay, data).then(response => { const data = response.data commit('SET_TEACHER_DAY', data); resolve(response) }).catch(error => { reject(error) }) }) }, // 查看老师批改作业列表 TeacherHomeworkList({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(TeacherHomeworkList, data).then(response => { const data = response.data || {} commit('SET_TEACHER_HOMELISt', data); resolve(response) }).catch(error => { reject(error) }) }) }, // 查看可分配老师列表 TeacherAllotList({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(TeacherAllotList, data).then(response => { const data = response.data || {} commit('SET_TEACHER_ALLOTIST', data); resolve(response) }).catch(error => { reject(error) }) }) }, // 未批改作业列表 UnallotHomeworkList({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(UnallotHomeworkList, data).then(response => { const data = response.data || {} commit('SET_UNALLOT_HONELIST', data); resolve(response) }).catch(error => { reject(error) }) }) }, // 查看老师详情 GetTeacherDetail({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(GetTeacherDetail, data).then(response => { const data = response.data || {} commit('SET_GET_TEACHERDETAIL', data); resolve(response) }).catch(error => { reject(error) }) }) }, // 查看学生详情 GetStudentDetail({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(GetStudentDetail, data).then(response => { const data = response.data || {} commit('SET_GET_STUDENTDETAIL', data); debugger resolve(response) }).catch(error => { reject(error) }) }) }, // 分配老师 toTeacherAllot({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(TeacherAllot, data).then(response => { const data = response.data || {} if (data.code === 999){ Message.success('分配成功') } }).catch(error => { reject(error) }) }) }, // 登出 // 查看超级管理员校区列表 SuperManagerList({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(SuperManagerList, data).then(response => { const data = response.data commit('SET_SUPER_MANAGERLIST', data); resolve(response) }).catch(error => { reject(error) }) }) }, // 查看校区管理员详情 GetManagerDetail({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(GetManagerDetail, data).then(response => { const data = response.data commit('SET_MANAGER_DETAIL', data); resolve(response) }).catch(error => { reject(error) }) }) }, // 校区管理员降级 Downgrade({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(Downgrade, data).then(response => { const data = response.data commit('SET_DOWNGRADE', data); resolve(response) }).catch(error => { reject(error) }) }) }, //查看申请批改老师列表 SuperApplyTeacherList({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(SuperApplyTeacherList, data).then(response => { const data = response.data || { } commit('SET_APPLY_TEACHER_LIST', data); // debugger console.log(data) resolve(response) }).catch(error => { reject(error) }) }) }, //申请审批操作 ApplyOperate({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(ApplyOperate, data).then(response => { const data = response.data commit('SET_APPLY_OPERATE', data); // debugger resolve(response) }).catch(error => { reject(error) }) }) }, //老师薪酬列表 GetTeacherSalaryList({ commit, state }, data) { return new Promise((resolve, reject) => { axios.post(GetTeacherSalaryList, data).then(response => { const data = response.data commit('SET_TEACHER_SALARY_LIST', data); // debugger resolve(response) }).catch(error => { reject(error) }) }) }, // 登出getTeacherSalaryList // LogOut({ commit, state }) { // return new Promise((resolve, reject) => { // logout(state.token).then(() => { // commit('SET_TOKEN', '') // commit('SET_ROLES', []) // removeToken() // resolve() // }).catch(error => { // reject(error) // }) // }) // }, // 前端 登出 FedLogOut({ commit }) { return new Promise(resolve => { commit('SET_TOKEN', '') removeToken() resolve() }) } } } export default user