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 @@ diff --git a/src/components/processStatus.vue b/src/components/processStatus.vue index c48829f4..71d0b3b0 100644 --- a/src/components/processStatus.vue +++ b/src/components/processStatus.vue @@ -6,14 +6,15 @@ export default { data(){ return{ status:{ - draftStatus:0, - onlineLearning:0, - offlineTutoring:0, - endStatus:0, - reviewResult:0, - offlineTutoring1:0, - endStatus1:0, - reviewResult1:0, + secondResult:1, + draftStatus:1, + onlineLearning:1, + offlineTutoring:1, + endStatus:1, + reviewResult:2, + offlineTutoring1:1, + endStatus1:1, + reviewResult1:2, } } }, @@ -72,7 +73,19 @@ export default { endStatus1:1, reviewResult1:2, } - }else if (data.secondResult==1 && data.reviewResult==0){ + }else if (data.secondResult==0 && data.reviewResult==2){ + this.status={ + secondResult:0, + draftStatus:0, + onlineLearning:0, + offlineTutoring:0, + endStatus:0, + reviewResult:1, + offlineTutoring1:1, + endStatus1:1, + reviewResult1:2, + } + } else if (data.secondResult==1 && data.reviewResult==0){ this.status={ secondResult:1, draftStatus:0, @@ -154,7 +167,7 @@ export default { reviewResult:2, offlineTutoring1:1, endStatus1:1, - reviewResult1:2, + reviewResult1:3, } } @@ -169,51 +182,55 @@ export default {
-
{{status.draftStatus==1?'初稿未上传':'初稿已上传'}}
+
{{status.draftStatus==1?'初稿未上传':'初稿已上传'}}
-
+
-
{{status.onlineLearning==1?'线上学习未完成':'线上学习已完成'}}
+
{{status.onlineLearning==1?'线上学习未完成':'线上学习已完成'}}
-
+
-
{{status.offlineTutoring==1?'线下辅导未完成':'线下辅导已完成'}}
+
{{status.offlineTutoring==1?'线下辅导未完成':'线下辅导已完成'}}
-
+
-
{{status.endStatus==1?'终稿未上传':'终稿已上传'}}
+
{{status.endStatus==1?'终稿未上传':'终稿已上传'}}
-
+
- + + -
{{status.reviewResult==0?'认证通过':status.reviewResult==1?'认证失败':'未认证'}}
+
+ {{status.reviewResult==3?'未认证':status.reviewResult==2?'认证中':status.reviewResult==1?'认证未通过':'认证通过'}}
-
+
-
{{status.offlineTutoring1==1?'线下辅导未完成':'线下辅导已完成'}}
+
{{status.offlineTutoring1==1?'线下辅导未完成':'线下辅导已完成'}}
-
+
-
{{status.endStatus1==1?'终稿未上传':'终稿已上传'}}
+
{{status.endStatus1==1?'终稿未上传':'终稿已上传'}}
-
+
- + + -
{{status.reviewResult1==0?'认证通过':status.reviewResult1==1?'认证失败':'未认证'}}
+
+ {{status.reviewResult1==3?'未认证':status.reviewResult1==2?'认证中':status.reviewResult1==1?'认证未通过':'认证通过'}}
@@ -236,13 +253,34 @@ export default { height: 46px; } - div { + .tim { font-weight: 400; font-size: 14px; color: #409EFF; line-height: 20px; margin-top: 12px; } + .tim1 { + font-weight: 400; + font-size: 14px; + color: #979797; + line-height: 20px; + margin-top: 12px; + } + .tim2 { + font-weight: 400; + font-size: 14px; + color: #FF4040; + line-height: 20px; + margin-top: 12px; + } + .tim3 { + font-weight: 400; + font-size: 14px; + color: #ffa050; + line-height: 20px; + margin-top: 12px; + } } .line { @@ -251,4 +289,22 @@ export default { border: 1px solid #409EFF; margin: 0 8px 30px 8px; } +.line1 { + width: 81px; + height: 1px; + border: 1px solid #DEDEDE; + margin: 0 8px 30px 8px; +} +.line2 { + width: 81px; + height: 1px; + border: 1px solid #FF4040; + margin: 0 8px 30px 8px; +} +.line3 { + width: 81px; + height: 1px; + border: 1px solid #ffa050; + margin: 0 8px 30px 8px; +} diff --git a/src/views/lecturer/CoachingSuccess.vue b/src/views/lecturer/CoachingSuccess.vue index cddfab22..ed29b975 100644 --- a/src/views/lecturer/CoachingSuccess.vue +++ b/src/views/lecturer/CoachingSuccess.vue @@ -1,5 +1,5 @@ @@ -131,7 +150,7 @@ export default { {{ form.courseIntroduction }} - {{ form.coursewareName }} 查看 + {{ form.coursewareName }} 查看 @@ -145,7 +164,7 @@ export default {
{{ item.courseName }}
当前进度
- +
@@ -168,7 +187,7 @@ export default {
提示:您已完成线下辅导,快去进行下一步吧!
- 下一步 + 下一步
@@ -218,14 +237,23 @@ export default { } .tip { - color: #7d7c7c; + color: #333333; font-size: 14px; margin-top: 20px; } ::v-deep .el-progress-bar__outer{ background-color: rgba(255, 160, 80, 0.2); } -::v-deep .el-progress-bar__inner{ - background-color: rgba(255, 160, 80, 1); +::v-deep .el-form-item__label{ + font-weight: 400; + font-size: 14px; + color: #333333; + line-height: 40px; +} +::v-deep .el-form-item__content{ + font-weight: 400; + font-size: 14px; + color: #333333; + line-height: 40px; } diff --git a/src/views/lecturer/FinalSuccess.vue b/src/views/lecturer/FinalSuccess.vue index 0cf34132..21d071a3 100644 --- a/src/views/lecturer/FinalSuccess.vue +++ b/src/views/lecturer/FinalSuccess.vue @@ -1,5 +1,5 @@ @@ -126,50 +152,52 @@ export default {
- {{form.teacherName}} + {{ form.teacherName }} - {{form.teacherNo}} + {{ form.teacherNo }}
- {{form.orgName}} + {{ form.orgName }} - {{form.positionName}} + {{ form.positionName }}
- - {{form.courseName}} + + {{ form.courseName }} - {{form.courseContent}} + {{ form.courseContent }}
- {{form.courseIntroduction}} + {{ form.courseIntroduction }} - - {{form.coursewareName}} 查看 + + {{ form.coursewareName }} 查看
线上课程
-
+
@@ -177,7 +205,8 @@ export default {
{{ item.courseName }}
当前进度
- +
@@ -186,10 +215,11 @@ export default {
- {{item}} + {{ item }} - {{form.tutorTime}} + {{ form.tutorTime }}
@@ -197,84 +227,154 @@ export default {
认证结果
-
请您耐心等待线下认证安排!
-
恭喜您,您的认证分数为{{ result.avgScore }}分,已经通过认证!
-
很遗憾,您的认证分数为{{ result.avgScore }}分,没有通过认证!
+
请您耐心等待线下认证安排!
+
+ 恭喜您,您的认证分数为{{ result.avgScore }}分,已经通过认证! +
+
+ 很遗憾,您的认证分数为{{ result.avgScore }}分,没有通过认证! +
-
是否进行二次认证?
-
- - -
+ +
是否进行二次认证?
+
+
diff --git a/src/views/lecturer/FirstDraft.vue b/src/views/lecturer/FirstDraft.vue index 138bc1a5..626bc36d 100644 --- a/src/views/lecturer/FirstDraft.vue +++ b/src/views/lecturer/FirstDraft.vue @@ -39,14 +39,14 @@ export default { rules: { courseName: [ {required: true, message: '请输入认证课程名称', trigger: 'change'}, - { min: 1, max: 50, message: '最多五十字', trigger: 'blur' } + { min: 1, max: 30, message: '最多30字', trigger: 'blur' } ], courseContent_1: [ {required: true, message: '请选择课程分类', trigger: 'change'} ], courseIntroduction: [ {required: true, message: '请输入课程简介', trigger: 'change'}, - { min: 1, max: 500, message: '最多五百字', trigger: 'blur' } + { min: 1, max: 150, message: '最多150字', trigger: 'blur' } ], } } diff --git a/src/views/lecturer/Index.vue b/src/views/lecturer/Index.vue index c1840e81..2b743dd8 100644 --- a/src/views/lecturer/Index.vue +++ b/src/views/lecturer/Index.vue @@ -134,7 +134,7 @@ export default {
暂无数据
-
+
搜索
@@ -187,7 +187,7 @@ export default { margin: 40px; color: #333; } -.ybm { +.ytg { color: #2ab28b; font-size: 18px; } @@ -200,7 +200,7 @@ export default { color: #1378f6; } -.ytg { +.ybm { font-size: 18px; color: #1378f6; } diff --git a/src/views/lecturer/OnlineLearning.vue b/src/views/lecturer/OnlineLearning.vue index 1a03bf7d..f2c4c9a7 100644 --- a/src/views/lecturer/OnlineLearning.vue +++ b/src/views/lecturer/OnlineLearning.vue @@ -1,5 +1,6 @@