瀏覽代碼

最新代码

TheLittlePrince 6 年之前
父節點
當前提交
c4186ef2bd

+ 72 - 10
src/axios/index.js

@@ -19,14 +19,60 @@ axios.interceptors.request.use(resquest => {
 })
 
 // 网络响应后拦截器
-axios.interceptors.response.use(response => {
-    // console.log(response)
-    return response
-}, error => {
-    console.log(error)
-    return Promise.resolve(error.response)
-})
-
+// 响应拦截器
+// axios.interceptors.response.use(
+//     response => {
+//         if (response.status === 200) {
+//             return Promise.resolve(response);
+//         } else {
+//             return Promise.reject(response);
+//         }
+//     },
+//     // 服务器状态码不是200的情况
+//     error => {
+//         if (error.response.status) {
+//             switch (error.response.status) {
+//                 // 401: 未登录
+//                 // 未登录则跳转登录页面,并携带当前页面的路径
+//                 // 在登录成功后返回当前页面,这一步需要在登录页操作。
+//                 case 401:
+//                 Message.error('登陆失效,请重新登录')
+//                    localStorage.removeItem("accessToken")
+//                     router.replace({
+//                         path: '/',
+//                         query: { redirect: router.currentRoute.fullPath }
+//                     });
+//                     break;
+//                 // 403 token过期
+//                 // 登录过期对用户进行提示
+//                 // 清除本地token和清空vuex中token对象
+//                 // 跳转登录页面
+//                 case 403:
+//                 Message.error('登陆失效,请重新登录')
+//                     // 清除token
+//                     localStorage.removeItem("accessToken")
+//                     // 跳转登录页面,并将要浏览的页面fullPath传过去,登录成功后跳转需要访问的页面
+//                     setTimeout(() => {
+//                         router.replace({
+//                             path: '/',
+//                             query: {
+//                                 redirect: router.currentRoute.fullPath
+//                             }
+//                         });
+//                     }, 1000);
+//                     break;
+//                 // 404请求不存在
+//                 case 404:
+//                 Message.error('404 Not Found')
+//                 break;
+//                 // 其他错误,直接抛出错误提示
+//                 default:
+//                 Message.error('网络错误')
+//             }
+//             return Promise.reject(error.response);
+//         }
+//     }
+// );
 // 数据统一处理来自网络及服务器的错误
 function checkStatus (response) {
     if (response && response.status === 200 || response && response.status === 304){
@@ -39,8 +85,24 @@ function checkStatus (response) {
             path: '/' // 到登录页重新获取token
         })
         Message.error('登陆失效,请重新登录')
-    }  else {
-        Message.error('网络错误')
+    }  
+    if (response && response.status === 404){
+        router.replace({
+            path: '*' // 到登录页重新获取token
+        })
+        Message.error('404 Not Found')
+    }
+    if (response && response.status === 500){
+        router.replace({
+            path: '*' // 到登录页重新获取token
+        })
+        Message.error('服务器问题')
+    } else {
+        Message.error('登陆失效,请重新登录')
+        localStorage.removeItem("accessToken")
+        router.replace({
+            path: '/' // 到登录页重新获取token
+        })
         return response && response.statusText || '网络错误'
     }
 }

+ 7 - 6
src/pages/Login.vue

@@ -31,12 +31,12 @@ export default {
   },
   methods: {
     WxLoginCtl() {
-      this.$router.push({
-        path: "/aikmt/Redirect_uri",
-        query: {
-          unionid: "oPHg8wXraekgH5YKVHvD3H7Ujynw"
-        }
-      });
+      // this.$router.push({
+      //   path: "/aikmt/Redirect_uri",
+      //   query: {
+      //     unionid: "oPHg8wXraekgH5YKVHvD3H7Ujynw"
+      //   }
+      // });
     },
     async getTKByUnionid() {
       if (window.location.href.indexOf("unionid") >= 0) {
@@ -45,6 +45,7 @@ export default {
         unionid = unionid.substring(8);
         let WxCode = unionid;
         this.WxCode = WxCode;
+        localStorage.setItem("unionid",this.WxCode)
         this.$store.dispatch("UnionidLogin", {
          unionid: this.WxCode
       });

+ 1 - 0
src/pages/aikmt/Redirect_uri.vue

@@ -45,6 +45,7 @@ export default {
         unionid = unionid.substring(8);
         let WxCode = unionid;
         this.WxCode = WxCode;
+         localStorage.setItem("unionid",this.WxCode)
         this.$store.dispatch("UnionidLogin", {
           unionid: this.WxCode         
         });

+ 20 - 5
src/pages/home/SchoolManager.vue

@@ -149,7 +149,7 @@
                     <div v-if="v.status === 2" class="tr-seconds width40" style="color:#FFC303">批改中</div>
                     <div v-if="v.status === 3" class="tr-seconds width40">已批改</div>
                     <div class="tr-sw180" v-if="v.status === 1">
-                     <el-button type="" plain><a style="text-decoration:none;color:#52cc60;" :href="'https://kmt.sharingschool.com/aijia/kmt/index.html?homeworkId='+v.homeworkId+'&accessToken='+accessToken+'&state='+1">去批改</a></el-button>
+                     <el-button type="" plain @click="ToAppovalOline(v)">去批改</el-button>
                       <el-button @click="isShow(v,1)" type="success">去分配</el-button>
                     </div>
                     <div class="tr-sw180" v-if="v.status === 3 && v.isCheck ===1">
@@ -157,7 +157,8 @@
                       <span style="color:red;font-size:12px;">报错{{v.wrongCount}}</span>
                     </div>
                     <div class="tr-sw180" v-if="v.status === 3 && v.isCheck ===0">
-                     <el-button type="warning" plain><a style="text-decoration:none;color:#52cc60;" :href="'http://120.77.207.0:8081/kmt/index.html?homeworkId='+v.homeworkId+'&accessToken='+accessToken+'&state='+2">去检查</a></el-button>
+                      <el-button type="" plain @click="ToAppovalOline(v)">去批改</el-button>
+                     <!-- <el-button type="warning" plain><a style="text-decoration:none;color:#52cc60;" :href="'http://120.77.207.0:8081/kmt/index.html?homeworkId='+v.homeworkId+'&unionid='+unionid+'&teacherId='+homeworkLIst.teacherId+'&state='+2">去检查</a></el-button> -->
                     </div>
                   </div>
                      <!-- 分页显示 -->
@@ -491,7 +492,7 @@
             <div v-if="v.status === 2" class="tr-secon">批改中</div>
             <div v-if="v.status === 3" class="tr-secon">已批改</div>
             <div class="tr-s">
-              <el-button type="success" plain>去批改</el-button>
+              <el-button type="success" plain><a style="text-decoration:none;color:#52cc60;" :href="'http://120.77.207.0:8081/kmt/index.html?homeworkId='+v.homeworkId+'&unionid='+unionid+'&teacherId='+homeworkLIst.teacherId+'&state='+1">去批改</a></el-button>
               <el-button type="success">去分配</el-button>
             </div>
           </div>
@@ -584,8 +585,10 @@ export default {
   props: {},
   data() {
     return {
+       unionid:localStorage.getItem("unionid"),
       accessToken:localStorage.getItem("accessToken"), //token
       managerId:"",// 超级管理员登陆ID
+      ApporhomeworkId:"",
       // BASE_URL:'https://img.sharingschool.com',
       BASE_URL: "https://xt.sharingschool.com/upload/",
       isDownindex: "",
@@ -725,6 +728,9 @@ export default {
         getTeacherIdStatus(val, oldVal){ //普通的watch监听
          this.InfoWatch();
         },
+           BeforetoTeacherAllotCode(val, oldVal){ //普通的watch监听
+          window.open('http://120.77.207.0:8081/kmt/index.html?homeworkId=' + this.ApporhomeworkId + '&unionid=' + this.unionid + '&teacherId=' + this.homeworkLIst.teacherId + '&state=' + 1)
+        },
     },
   computed: {
     ...mapGetters([
@@ -738,12 +744,21 @@ export default {
       "UnallotHomeworkInfo",
       "GetTeacherDetail",
       "GetStudentDetail",
-      "getTeacherIdStatus"
+      "getTeacherIdStatus",
+      "BeforetoTeacherAllotCode"
     ])
   },
   methods: {
     ...mapActions(["setUser"]),
-
+       // 去批改前分配老师
+    async ToAppovalOline(v) {
+      let ApporhomeworkId = v.homeworkId
+      this.ApporhomeworkId = ApporhomeworkId
+      this.$store.dispatch("BeforetoTeacherAllot", {
+        teacherId: localStorage.getItem("unionid"),
+        homeworkId: v.homeworkId
+      });
+    },
     // 点击下拉
     dropDown(v, k) {
       this.isDown = !this.isDown;

+ 3 - 2
src/pages/super/SchoolManager.vue

@@ -156,7 +156,7 @@
                       <span style="color:red;font-size:12px;">报错{{v.wrongCount}}</span>
                     </div>
                     <div class="tr-sw180" v-if="v.status === 3 && v.isCheck ===0">
-                      <el-button type="warning" plain><a style="text-decoration:none;color:#52cc60;" :href="'http://120.77.207.0:8081/kmt/index.html?homeworkId='+v.homeworkId+'&accessToken='+accessToken+'&state='+2">去检查</a></el-button>
+                      <el-button type="warning" plain><a style="text-decoration:none;color:#52cc60;" :href="'http://120.77.207.0:8081/kmt/index.html?homeworkId='+v.homeworkId+'&unionid='+unionid+'&teacherId='+homeworkLIst.teacherId+'&state='+2">去检查</a></el-button>
                     </div>
                   </div>
                   <!-- 分页显示 -->
@@ -503,7 +503,7 @@
             <div v-if="v.status === 2" class="tr-secon">批改中</div>
             <div v-if="v.status === 3" class="tr-secon">已批改</div>
             <div class="tr-s">
-              <el-button type="success" plain>去批改</el-button>
+                 <el-button type="success" plain><a style="text-decoration:none;color:#52cc60;" :href="'http://120.77.207.0:8081/kmt/index.html?homeworkId='+v.homeworkId+'&unionid='+unionid+'&teacherId='+homeworkLIst.teacherId+'&state='+1">去批改</a></el-button>
               <el-button type="success">去分配</el-button>
             </div>
           </div>
@@ -715,6 +715,7 @@ export default {
   props: {},
   data() {
     return {
+      unionid:localStorage.getItem("unionid"),
       accessToken:localStorage.getItem("accessToken"), //token
       managerId: "", // 超级管理员登陆ID
       // BASE_URL:'https://img.sharingschool.com',

+ 2 - 0
src/store/getters.js

@@ -23,6 +23,8 @@ const getters = {
   getTeacherSalaryList: state => state.user.getTeacherSalaryList,
   getTeacherIdStatus: state => state.user.getTeacherIdStatus,
   getAllotManagerList: state => state.user.getAllotManagerList,
+  BeforetoTeacherAllotCode: state => state.user.BeforetoTeacherAllotCode,
+  SuperBeforetoTeacherAllotCode :state => state.user.SuperBeforetoTeacherAllotCode,
   
 }
 export default getters

+ 26 - 4
src/store/modules/user.js

@@ -29,7 +29,8 @@ const user = {
     applyTeacherList:[],
     getTeacherSalaryList:[],
     getTeacherIdStatus:"",
-    getAllotManagerList:""
+    getAllotManagerList:"",
+    BeforetoTeacherAllotCode:""
   },
 
   mutations: {
@@ -96,6 +97,9 @@ const user = {
     SET_MANAGERLIST_ALLOTIST:(state,getAllotManagerList) => {
       state.getAllotManagerList = getAllotManagerList
     },
+    SET_GET_SUCCESS_CODE:(state,BeforetoTeacherAllotCode) => {
+      state.BeforetoTeacherAllotCode = BeforetoTeacherAllotCode
+    },
   },
 
   actions: {
@@ -107,16 +111,19 @@ const user = {
           if (res && res.code == '999') {
             const data = res.data
             const accessToken = data.accessToken
+            const unionid = localStorage.getItem("unionid")
             commit('SET_TOKEN', data);
             localStorage.setItem("accessToken",data.accessToken)
                    dispatch('GetInfo').then(res => { // 拉取用户信息
-                        const roles = res.data.role 
+                        const roles = res.data.role
+                        const userId = res.data.userId 
+                        localStorage.setItem("userId",userId)
                         if (roles == 0) {
                           Message.error('无用户角色')
                         }
                         if (roles == 1) {
                           Message.success('在线批改老师角色登录成功')
-                          window.open('http://120.77.207.0:8081/kmt/index.html?accessToken=' + accessToken);
+                          window.open('http://120.77.207.0:8081/kmt/index.html?unionid=' + unionid);
                         }
                         if (roles == 2) {
                           Message.success('校区管理员角色登录成功')
@@ -144,6 +151,7 @@ const user = {
           if (res && res.code == '999') {
             const data = res.data
             const accessToken = data.accessToken
+            const unionid = localStorage.getItem("unionid")
             commit('SET_TOKEN', data);
             localStorage.setItem("accessToken",data.accessToken)
                    dispatch('GetInfo').then(res => { // 拉取用户信息
@@ -153,7 +161,7 @@ const user = {
                         }
                         if (roles == 1) {
                           Message.success('在线批改老师角色登录成功')
-                          window.open('http://120.77.207.0:8081/kmt/index.html?accessToken=' + accessToken);
+                          window.open('http://120.77.207.0:8081/kmt/index.html?unionid=' + unionid);
                         }
                         if (roles == 2) {
                           Message.success('校区管理员角色登录成功')
@@ -324,6 +332,20 @@ const user = {
             })
           })
         },
+            // 校区管理员去批改前分配老师
+            BeforetoTeacherAllot({ commit, state }, data) {
+              return new Promise((resolve, reject) => {
+                axios.post(TeacherAllot, data).then(response => {
+                  const data = response || {}
+                  if (data.code === '999'){
+                    commit('SET_GET_SUCCESS_CODE',new Date());
+                    Message.success('分配成功')
+                  }
+                }).catch(error => {
+                  reject(error)
+                })
+              })
+            },
     // 登出
     // 查看超级管理员校区列表
     SuperManagerList({ commit, state }, data) {