diff --git a/src/api/modules/lecturer.js b/src/api/modules/lecturer.js
index ac1d3aa5..5ff8e194 100644
--- a/src/api/modules/lecturer.js
+++ b/src/api/modules/lecturer.js
@@ -37,6 +37,13 @@ export const secondExamine = function(query) {
return ajax.postJson(baseURL,'/activityApi/certification/secondExamine',query);
}
+export const download = function(data) {
+ return ajax.get(baseURL,'/activityApi/teacher/download?coursewareId='+data.coursewareId);
+}
+
+const exportPdf=function (data){
+ return ajax.getJsonToFile(baseURL,`/activityApi/teacher/download?coursewareId=${data.coursewareId}`);
+}
export default {
pageList,
getTeacherInfo,
@@ -44,5 +51,6 @@ export default {
getCertificationProcess,
setOfflineTutoring,
getReviewResult,
- secondExamine
+ secondExamine,
+ exportPdf
}
diff --git a/src/api/unionAjax.js b/src/api/unionAjax.js
index db21e48c..424c237a 100644
--- a/src/api/unionAjax.js
+++ b/src/api/unionAjax.js
@@ -1,9 +1,10 @@
import axios from 'axios'
import qs from 'qs'
-import { Notification, MessageBox, Message } from 'element-ui'
+import {Notification, MessageBox, Message} from 'element-ui'
import store from '@/store'
-import { getToken } from '@/utils/token'
+import {getToken} from '@/utils/token'
import errorCode from '@/utils/errorCode'
+
/**
*request请求 axios.request(config)
*requestJson请求 axios.request(config)
@@ -19,92 +20,90 @@ import errorCode from '@/utils/errorCode'
// const ReLoginUrl=process.env.VUE_APP_LOGIN_URL;
-const TokenName='token';
+const TokenName = 'token';
/**axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'**/
//只是用于发送json对象数据时使用post,put,patch
/**axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'**/
//只是用于发送json对象数据时使用post,put,patch
//用于普通的发送请求
-const formRequest=axios.create({
- //headers:{'Content-Type':'application/x-www-form-urlencoded'},
- // axios中请求配置有baseURL选项,表示请求URL公共部分
- // baseURL: process.env.VUE_APP_CESOURCE_BASE_API,
- //超时
- timeout: 10000,
- })
- //发送json对象的拦截器
- formRequest.interceptors.request.use(config => {
- //是否需要设置 token
- const isToken = (config.headers || {}).isToken === false
- let curToken=getToken();
- //curToken='eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NzIzMTE2MTIsImV4cCI6MTY3MjMxODgxMiwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.a4f41376e994c5fcd3ab537ce17572ef4c633863f87785cf7b6ffa353e2ed51c';
- if (curToken && !isToken) {
- config.headers[TokenName] = curToken // 让每个请求携带自定义token 请根据实际情况自行修改
+const formRequest = axios.create({
+ //headers:{'Content-Type':'application/x-www-form-urlencoded'},
+ // axios中请求配置有baseURL选项,表示请求URL公共部分
+ // baseURL: process.env.VUE_APP_CESOURCE_BASE_API,
+ //超时
+ timeout: 10000,
+})
+//发送json对象的拦截器
+formRequest.interceptors.request.use(config => {
+ //是否需要设置 token
+ const isToken = (config.headers || {}).isToken === false
+ let curToken = getToken();
+ //curToken='eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NzIzMTE2MTIsImV4cCI6MTY3MjMxODgxMiwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.a4f41376e994c5fcd3ab537ce17572ef4c633863f87785cf7b6ffa353e2ed51c';
+ if (curToken && !isToken) {
+ config.headers[TokenName] = curToken // 让每个请求携带自定义token 请根据实际情况自行修改
+ }
+ return config
+}, error => {
+ console.log(error)
+ Promise.reject(error)
+});
+formRequest.interceptors.response.use(res => {
+ //console.log(res);
+ const code = res.data.status || 200;
+ if (code === 200) {
+ return res.data
+ } else {
+ if (code === 401) {
+ // store.dispatch('LogOut').then(() => {
+ // location.href = this.webBaseUrl + ReLoginUrl;
+ // })
+ console.error('', res.data);
+ return Promise.reject(new Error('接口返回未登录'))
+ } else if (code === 403) {
+ var msg = '当前操作没有权限';
+ Message({message: msg, type: 'error'});
+ return Promise.reject(new Error(msg))
+ } else {
+ //Message({message: res.data.message, type: 'error'});
+ //console.log('err' + res.data.error);
+ return res.data
+ }
}
- return config
- }, error => {
- console.log(error)
- Promise.reject(error)
- });
- formRequest.interceptors.response.use(res => {
- //console.log(res);
- const code = res.data.status || 200;
- if(code===200){
- return res.data
- }else{
- if(code === 401){
- // store.dispatch('LogOut').then(() => {
- // location.href = this.webBaseUrl + ReLoginUrl;
- // })
- console.error('',res.data);
- return Promise.reject(new Error('接口返回未登录'))
- }else if(code===403){
- var msg='当前操作没有权限';
- Message({message: msg, type: 'error'});
- return Promise.reject(new Error(msg))
- }else{
- //Message({message: res.data.message, type: 'error'});
- //console.log('err' + res.data.error);
- return res.data
- }
- }
- },
- error => {
- console.log('err',error)
- let { message } = error;
- if (message == "Network Error") {
- message = "网络异常,请稍后重试";
- }
- else if (message.includes("timeout")) {
- message = "网络异常或接口错误,请求超时";
- }
- else if (message.includes("Request failed with status code")) {
- message = "系统接口" + message.substr(message.length - 3) + "异常";
- }
- Message({
- message: message,
- type: 'error',
- duration: 5 * 1000
- })
- return Promise.reject(error)
+ },
+ error => {
+ console.log('err', error)
+ let {message} = error;
+ if (message == "Network Error") {
+ message = "网络异常,请稍后重试";
+ } else if (message.includes("timeout")) {
+ message = "网络异常或接口错误,请求超时";
+ } else if (message.includes("Request failed with status code")) {
+ message = "系统接口" + message.substr(message.length - 3) + "异常";
}
- )
+ Message({
+ message: message,
+ type: 'error',
+ duration: 5 * 1000
+ })
+ return Promise.reject(error)
+ }
+)
/**
* request请求,可以自定义参数
*/
-const request=formRequest.request;
+const request = formRequest.request;
/**
* get请求 ,只有url
*/
-const get = function(baseURL,url){
- return request({
- baseURL,
- url: url,
- method: 'get',
- headers:{'Content-Type':'application/x-www-form-urlencoded'}
- })
+const get = function (baseURL, url) {
+ return request({
+ baseURL,
+ url: url,
+ method: 'get',
+ headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+ })
}
/**
@@ -112,88 +111,98 @@ const get = function(baseURL,url){
* @param {Object} url
* @param {Object} postData
*/
-const post=function(baseURL,url,postData){
- if(postData){
- postData=qs.stringify(postData);
- }
- return request({
+const post = function (baseURL, url, postData) {
+ if (postData) {
+ postData = qs.stringify(postData);
+ }
+ return request({
baseURL,
- url: url,
- method: 'post',
- data:postData,
- headers:{'Content-Type':'application/x-www-form-urlencoded'}
- })
+ url: url,
+ method: 'post',
+ data: postData,
+ headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+ })
}
//post请求
-const postForm=function(baseURL,url,data){
- return request({
- baseURL,
- url,
- data,
- method: 'post',
- headers:{'Content-Type':'application/x-www-form-urlencoded'}
- });
- }
+const postForm = function (baseURL, url, data) {
+ return request({
+ baseURL,
+ url,
+ data,
+ method: 'post',
+ headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+ });
+}
// const postJson=jsonRequest.post;
-const postJson=function(baseURL,url,postData){
- return request({
+const postJson = function (baseURL, url, postData) {
+ return request({
baseURL,
- url: url,
- method: 'post',
- data:postData,
- headers:{'Content-Type':'application/json;charset=utf-8'},
- })
+ url: url,
+ method: 'post',
+ data: postData,
+ headers: {'Content-Type': 'application/json;charset=utf-8'},
+ })
}
// 导出文件请求定义
-const postJsonToFile=function(baseURL,url,postData){
- return request({
+const postJsonToFile = function (baseURL, url, postData) {
+ return request({
baseURL,
- url: url,
- method: 'post',
- data:postData,
- headers:{'Content-Type':'application/json;charset=utf-8'},
+ url: url,
+ method: 'post',
+ data: postData,
+ headers: {'Content-Type': 'application/json;charset=utf-8'},
responseType: 'blob'
- })
+ })
}
+const getJsonToFile = function (baseURL, url, postData) {
+ return request({
+ baseURL,
+ url: url,
+ method: 'get',
+ data: postData,
+ headers: {'Content-Type': 'application/json;charset=utf-8'},
+ responseType: 'blob'
+ })
+}
/**
* put请求
*/
-const put=function(baseURL,url,data){
- if(data){
- data=qs.stringify(data);
- }
- return request({
+const put = function (baseURL, url, data) {
+ if (data) {
+ data = qs.stringify(data);
+ }
+ return request({
baseURL,
- url: url,
- method: 'put',
- data:data,
- headers:{'Content-Type':'application/x-www-form-urlencoded'}
- })
+ url: url,
+ method: 'put',
+ data: data,
+ headers: {'Content-Type': 'application/x-www-form-urlencoded'}
+ })
}
-const putJson=function(baseURL,url,data){
- return request({
+const putJson = function (baseURL, url, data) {
+ return request({
baseURL,
- url: url,
- method: 'put',
- data:data,
- headers:{'Content-Type':'application/json;charset=utf-8'},
- })
+ url: url,
+ method: 'put',
+ data: data,
+ headers: {'Content-Type': 'application/json;charset=utf-8'},
+ })
}
-
export default {
- tokenName:TokenName,
- request,
- get,
- post,
- postJson,
- postJsonToFile,
- put,
- putJson,
+ tokenName: TokenName,
+ request,
+ get,
+ post,
+ postJson,
+ postJsonToFile,
+ put,
+ putJson,
+ getJsonToFile
}
diff --git a/src/assets/images/certification2.png b/src/assets/images/certification2.png
index ade227ae..c68cfc13 100644
Binary files a/src/assets/images/certification2.png and b/src/assets/images/certification2.png differ
diff --git a/src/assets/images/rightImg.png b/src/assets/images/rightImg.png
new file mode 100644
index 00000000..dab5169e
Binary files /dev/null and b/src/assets/images/rightImg.png differ
diff --git a/src/components/UserCenter/menu.vue b/src/components/UserCenter/menu.vue
index 873debbb..7e8a02ad 100644
--- a/src/components/UserCenter/menu.vue
+++ b/src/components/UserCenter/menu.vue
@@ -198,7 +198,7 @@
-
-
-
-
+
+
-
-
-
+
+
-
+