mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-11 11:56:44 +08:00
修改bug2.0
This commit is contained in:
@@ -37,6 +37,13 @@ export const secondExamine = function(query) {
|
|||||||
return ajax.postJson(baseURL,'/activityApi/certification/secondExamine',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 {
|
export default {
|
||||||
pageList,
|
pageList,
|
||||||
getTeacherInfo,
|
getTeacherInfo,
|
||||||
@@ -44,5 +51,6 @@ export default {
|
|||||||
getCertificationProcess,
|
getCertificationProcess,
|
||||||
setOfflineTutoring,
|
setOfflineTutoring,
|
||||||
getReviewResult,
|
getReviewResult,
|
||||||
secondExamine
|
secondExamine,
|
||||||
|
exportPdf
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import qs from 'qs'
|
import qs from 'qs'
|
||||||
import { Notification, MessageBox, Message } from 'element-ui'
|
import {Notification, MessageBox, Message} from 'element-ui'
|
||||||
import store from '@/store'
|
import store from '@/store'
|
||||||
import { getToken } from '@/utils/token'
|
import {getToken} from '@/utils/token'
|
||||||
import errorCode from '@/utils/errorCode'
|
import errorCode from '@/utils/errorCode'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*request请求 axios.request(config)
|
*request请求 axios.request(config)
|
||||||
*requestJson请求 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 ReLoginUrl=process.env.VUE_APP_LOGIN_URL;
|
||||||
const TokenName='token';
|
const TokenName = 'token';
|
||||||
/**axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'**/
|
/**axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'**/
|
||||||
//只是用于发送json对象数据时使用post,put,patch
|
//只是用于发送json对象数据时使用post,put,patch
|
||||||
/**axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'**/
|
/**axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'**/
|
||||||
//只是用于发送json对象数据时使用post,put,patch
|
//只是用于发送json对象数据时使用post,put,patch
|
||||||
//用于普通的发送请求
|
//用于普通的发送请求
|
||||||
const formRequest=axios.create({
|
const formRequest = axios.create({
|
||||||
//headers:{'Content-Type':'application/x-www-form-urlencoded'},
|
//headers:{'Content-Type':'application/x-www-form-urlencoded'},
|
||||||
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
||||||
// baseURL: process.env.VUE_APP_CESOURCE_BASE_API,
|
// baseURL: process.env.VUE_APP_CESOURCE_BASE_API,
|
||||||
//超时
|
//超时
|
||||||
timeout: 10000,
|
timeout: 10000,
|
||||||
})
|
})
|
||||||
//发送json对象的拦截器
|
//发送json对象的拦截器
|
||||||
formRequest.interceptors.request.use(config => {
|
formRequest.interceptors.request.use(config => {
|
||||||
//是否需要设置 token
|
//是否需要设置 token
|
||||||
const isToken = (config.headers || {}).isToken === false
|
const isToken = (config.headers || {}).isToken === false
|
||||||
let curToken=getToken();
|
let curToken = getToken();
|
||||||
//curToken='eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NzIzMTE2MTIsImV4cCI6MTY3MjMxODgxMiwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.a4f41376e994c5fcd3ab537ce17572ef4c633863f87785cf7b6ffa353e2ed51c';
|
//curToken='eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NzIzMTE2MTIsImV4cCI6MTY3MjMxODgxMiwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.a4f41376e994c5fcd3ab537ce17572ef4c633863f87785cf7b6ffa353e2ed51c';
|
||||||
if (curToken && !isToken) {
|
if (curToken && !isToken) {
|
||||||
config.headers[TokenName] = curToken // 让每个请求携带自定义token 请根据实际情况自行修改
|
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 => {
|
error => {
|
||||||
console.log(error)
|
console.log('err', error)
|
||||||
Promise.reject(error)
|
let {message} = error;
|
||||||
});
|
if (message == "Network Error") {
|
||||||
formRequest.interceptors.response.use(res => {
|
message = "网络异常,请稍后重试";
|
||||||
//console.log(res);
|
} else if (message.includes("timeout")) {
|
||||||
const code = res.data.status || 200;
|
message = "网络异常或接口错误,请求超时";
|
||||||
if(code===200){
|
} else if (message.includes("Request failed with status code")) {
|
||||||
return res.data
|
message = "系统接口" + message.substr(message.length - 3) + "异常";
|
||||||
}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)
|
|
||||||
}
|
}
|
||||||
)
|
Message({
|
||||||
|
message: message,
|
||||||
|
type: 'error',
|
||||||
|
duration: 5 * 1000
|
||||||
|
})
|
||||||
|
return Promise.reject(error)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* request请求,可以自定义参数
|
* request请求,可以自定义参数
|
||||||
*/
|
*/
|
||||||
const request=formRequest.request;
|
const request = formRequest.request;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get请求 ,只有url
|
* get请求 ,只有url
|
||||||
*/
|
*/
|
||||||
const get = function(baseURL,url){
|
const get = function (baseURL, url) {
|
||||||
return request({
|
return request({
|
||||||
baseURL,
|
baseURL,
|
||||||
url: url,
|
url: url,
|
||||||
method: 'get',
|
method: 'get',
|
||||||
headers:{'Content-Type':'application/x-www-form-urlencoded'}
|
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -112,88 +111,98 @@ const get = function(baseURL,url){
|
|||||||
* @param {Object} url
|
* @param {Object} url
|
||||||
* @param {Object} postData
|
* @param {Object} postData
|
||||||
*/
|
*/
|
||||||
const post=function(baseURL,url,postData){
|
const post = function (baseURL, url, postData) {
|
||||||
if(postData){
|
if (postData) {
|
||||||
postData=qs.stringify(postData);
|
postData = qs.stringify(postData);
|
||||||
}
|
}
|
||||||
return request({
|
return request({
|
||||||
baseURL,
|
baseURL,
|
||||||
url: url,
|
url: url,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data:postData,
|
data: postData,
|
||||||
headers:{'Content-Type':'application/x-www-form-urlencoded'}
|
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
//post请求
|
//post请求
|
||||||
const postForm=function(baseURL,url,data){
|
const postForm = function (baseURL, url, data) {
|
||||||
return request({
|
return request({
|
||||||
baseURL,
|
baseURL,
|
||||||
url,
|
url,
|
||||||
data,
|
data,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
headers:{'Content-Type':'application/x-www-form-urlencoded'}
|
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// const postJson=jsonRequest.post;
|
// const postJson=jsonRequest.post;
|
||||||
|
|
||||||
const postJson=function(baseURL,url,postData){
|
const postJson = function (baseURL, url, postData) {
|
||||||
return request({
|
return request({
|
||||||
baseURL,
|
baseURL,
|
||||||
url: url,
|
url: url,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data:postData,
|
data: postData,
|
||||||
headers:{'Content-Type':'application/json;charset=utf-8'},
|
headers: {'Content-Type': 'application/json;charset=utf-8'},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出文件请求定义
|
// 导出文件请求定义
|
||||||
const postJsonToFile=function(baseURL,url,postData){
|
const postJsonToFile = function (baseURL, url, postData) {
|
||||||
return request({
|
return request({
|
||||||
baseURL,
|
baseURL,
|
||||||
url: url,
|
url: url,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data:postData,
|
data: postData,
|
||||||
headers:{'Content-Type':'application/json;charset=utf-8'},
|
headers: {'Content-Type': 'application/json;charset=utf-8'},
|
||||||
responseType: 'blob'
|
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请求
|
* put请求
|
||||||
*/
|
*/
|
||||||
const put=function(baseURL,url,data){
|
const put = function (baseURL, url, data) {
|
||||||
if(data){
|
if (data) {
|
||||||
data=qs.stringify(data);
|
data = qs.stringify(data);
|
||||||
}
|
}
|
||||||
return request({
|
return request({
|
||||||
baseURL,
|
baseURL,
|
||||||
url: url,
|
url: url,
|
||||||
method: 'put',
|
method: 'put',
|
||||||
data:data,
|
data: data,
|
||||||
headers:{'Content-Type':'application/x-www-form-urlencoded'}
|
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const putJson=function(baseURL,url,data){
|
const putJson = function (baseURL, url, data) {
|
||||||
return request({
|
return request({
|
||||||
baseURL,
|
baseURL,
|
||||||
url: url,
|
url: url,
|
||||||
method: 'put',
|
method: 'put',
|
||||||
data:data,
|
data: data,
|
||||||
headers:{'Content-Type':'application/json;charset=utf-8'},
|
headers: {'Content-Type': 'application/json;charset=utf-8'},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
tokenName:TokenName,
|
tokenName: TokenName,
|
||||||
request,
|
request,
|
||||||
get,
|
get,
|
||||||
post,
|
post,
|
||||||
postJson,
|
postJson,
|
||||||
postJsonToFile,
|
postJsonToFile,
|
||||||
put,
|
put,
|
||||||
putJson,
|
putJson,
|
||||||
|
getJsonToFile
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 3.9 KiB |
BIN
src/assets/images/rightImg.png
Normal file
BIN
src/assets/images/rightImg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 890 B |
@@ -198,7 +198,7 @@
|
|||||||
<template slot="title">
|
<template slot="title">
|
||||||
<svg-icon icon-class="lecturer" style="font-size:16px"></svg-icon>
|
<svg-icon icon-class="lecturer" style="font-size:16px"></svg-icon>
|
||||||
<span>讲师认证</span>
|
<span>讲师认证</span>
|
||||||
<div v-if="instructor!=0" style="position: absolute;right: 70px;top: 0;background-color: red;width: 15px;height: 15px;color: #fff;border-radius: 50%;display: flex;justify-content: center;align-items: center">
|
<div v-if="instructor!=0" style="position: absolute;right: 60px;top: 0;background-color: red;width: 20px;height: 20px;color: #fff;border-radius: 50%;display: flex;justify-content: center;align-items: center">
|
||||||
{{ instructor }}</div>
|
{{ instructor }}</div>
|
||||||
</template>
|
</template>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
|
|||||||
@@ -6,14 +6,15 @@ export default {
|
|||||||
data(){
|
data(){
|
||||||
return{
|
return{
|
||||||
status:{
|
status:{
|
||||||
draftStatus:0,
|
secondResult:1,
|
||||||
onlineLearning:0,
|
draftStatus:1,
|
||||||
offlineTutoring:0,
|
onlineLearning:1,
|
||||||
endStatus:0,
|
offlineTutoring:1,
|
||||||
reviewResult:0,
|
endStatus:1,
|
||||||
offlineTutoring1:0,
|
reviewResult:2,
|
||||||
endStatus1:0,
|
offlineTutoring1:1,
|
||||||
reviewResult1:0,
|
endStatus1:1,
|
||||||
|
reviewResult1:2,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -72,7 +73,19 @@ export default {
|
|||||||
endStatus1:1,
|
endStatus1:1,
|
||||||
reviewResult1:2,
|
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={
|
this.status={
|
||||||
secondResult:1,
|
secondResult:1,
|
||||||
draftStatus:0,
|
draftStatus:0,
|
||||||
@@ -154,7 +167,7 @@ export default {
|
|||||||
reviewResult:2,
|
reviewResult:2,
|
||||||
offlineTutoring1:1,
|
offlineTutoring1:1,
|
||||||
endStatus1:1,
|
endStatus1:1,
|
||||||
reviewResult1:2,
|
reviewResult1:3,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,51 +182,55 @@ export default {
|
|||||||
<div class="process">
|
<div class="process">
|
||||||
<img src="../assets/images/first_draft.png" alt="" v-if="status.draftStatus==1">
|
<img src="../assets/images/first_draft.png" alt="" v-if="status.draftStatus==1">
|
||||||
<img src="../assets/images/first_draft1.png" alt="" v-if="status.draftStatus==0">
|
<img src="../assets/images/first_draft1.png" alt="" v-if="status.draftStatus==0">
|
||||||
<div>{{status.draftStatus==1?'初稿未上传':'初稿已上传'}}</div>
|
<div :class="status.draftStatus==1?'tim1':'tim'">{{status.draftStatus==1?'初稿未上传':'初稿已上传'}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line"></div>
|
<div :class="status.draftStatus==1?'line1':'line'"></div>
|
||||||
<div class="process">
|
<div class="process">
|
||||||
<img src="../assets/images/E-learning1.png" alt="" v-if="status.onlineLearning==0">
|
<img src="../assets/images/E-learning1.png" alt="" v-if="status.onlineLearning==0">
|
||||||
<img src="../assets/images/E-learning.png" alt="" v-if="status.onlineLearning==1">
|
<img src="../assets/images/E-learning.png" alt="" v-if="status.onlineLearning==1">
|
||||||
<div>{{status.onlineLearning==1?'线上学习未完成':'线上学习已完成'}}</div>
|
<div :class="status.onlineLearning==1?'tim1':'tim'">{{status.onlineLearning==1?'线上学习未完成':'线上学习已完成'}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line"></div>
|
<div :class="status.onlineLearning==1?'line1':'line'"></div>
|
||||||
<div class="process">
|
<div class="process">
|
||||||
<img src="../assets/images/tutoring1.png" alt="" v-if="status.offlineTutoring==0">
|
<img src="../assets/images/tutoring1.png" alt="" v-if="status.offlineTutoring==0">
|
||||||
<img src="../assets/images/tutoring.png" alt="" v-if="status.offlineTutoring==1">
|
<img src="../assets/images/tutoring.png" alt="" v-if="status.offlineTutoring==1">
|
||||||
<div>{{status.offlineTutoring==1?'线下辅导未完成':'线下辅导已完成'}}</div>
|
<div :class="status.offlineTutoring==1?'tim1':'tim'">{{status.offlineTutoring==1?'线下辅导未完成':'线下辅导已完成'}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line"></div>
|
<div :class="status.offlineTutoring==1?'line1':'line'"></div>
|
||||||
<div class="process">
|
<div class="process">
|
||||||
<img src="../assets/images/final_draft1.png" alt="" v-if="status.endStatus==0">
|
<img src="../assets/images/final_draft1.png" alt="" v-if="status.endStatus==0">
|
||||||
<img src="../assets/images/final_draft.png" alt="" v-if="status.endStatus==1">
|
<img src="../assets/images/final_draft.png" alt="" v-if="status.endStatus==1">
|
||||||
<div>{{status.endStatus==1?'终稿未上传':'终稿已上传'}}</div>
|
<div :class="status.endStatus==1?'tim1':'tim'">{{status.endStatus==1?'终稿未上传':'终稿已上传'}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line"></div>
|
<div :class="status.endStatus==1?'line1':'line'"></div>
|
||||||
<div class="process">
|
<div class="process">
|
||||||
<img src="../assets/images/certification.png" alt="" v-if="status.reviewResult==2">
|
<img src="../assets/images/certification.png" alt="" v-if="status.reviewResult==3">
|
||||||
|
<img src="../assets/images/certification2.png" alt="" v-if="status.reviewResult==2">
|
||||||
<img src="../assets/images/certification3.png" alt="" v-if="status.reviewResult==1">
|
<img src="../assets/images/certification3.png" alt="" v-if="status.reviewResult==1">
|
||||||
<img src="../assets/images/certification1.png" alt="" v-if="status.reviewResult==0">
|
<img src="../assets/images/certification1.png" alt="" v-if="status.reviewResult==0">
|
||||||
<div>{{status.reviewResult==0?'认证通过':status.reviewResult==1?'认证失败':'未认证'}}</div>
|
<div :class="status.reviewResult==3?'tim1':status.reviewResult==2?'tim3':status.reviewResult==1?'tim2':'tim'">
|
||||||
|
{{status.reviewResult==3?'未认证':status.reviewResult==2?'认证中':status.reviewResult==1?'认证未通过':'认证通过'}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line" v-if="status.secondResult==0"></div>
|
<div :class="status.reviewResult==3?'line1':status.reviewResult==2?'line3':status.reviewResult==1?'line2':'line'" v-if="status.secondResult==0"></div>
|
||||||
<div class="process" v-if="status.secondResult==0">
|
<div class="process" v-if="status.secondResult==0">
|
||||||
<img src="../assets/images/tutoring1.png" alt="" v-if="status.offlineTutoring1==0">
|
<img src="../assets/images/tutoring1.png" alt="" v-if="status.offlineTutoring1==0">
|
||||||
<img src="../assets/images/tutoring.png" alt="" v-if="status.offlineTutoring1==1">
|
<img src="../assets/images/tutoring.png" alt="" v-if="status.offlineTutoring1==1">
|
||||||
<div>{{status.offlineTutoring1==1?'线下辅导未完成':'线下辅导已完成'}}</div>
|
<div :class="status.offlineTutoring1==1?'tim1':'tim'">{{status.offlineTutoring1==1?'线下辅导未完成':'线下辅导已完成'}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line" v-if="status.secondResult==0"></div>
|
<div :class="status.offlineTutoring1==1?'line1':'line'"v-if="status.secondResult==0"></div>
|
||||||
<div class="process" v-if="status.secondResult==0">
|
<div class="process" v-if="status.secondResult==0">
|
||||||
<img src="../assets/images/final_draft1.png" alt="" v-if="status.endStatus1==0">
|
<img src="../assets/images/final_draft1.png" alt="" v-if="status.endStatus1==0">
|
||||||
<img src="../assets/images/final_draft.png" alt="" v-if="status.endStatus1==1">
|
<img src="../assets/images/final_draft.png" alt="" v-if="status.endStatus1==1">
|
||||||
<div>{{status.endStatus1==1?'终稿未上传':'终稿已上传'}}</div>
|
<div :class="status.endStatus1==1?'tim1':'tim'">{{status.endStatus1==1?'终稿未上传':'终稿已上传'}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line" v-if="status.secondResult==0"></div>
|
<div :class="status.endStatus1==1?'line1':'line'" v-if="status.secondResult==0"></div>
|
||||||
<div class="process" v-if="status.secondResult==0">
|
<div class="process" v-if="status.secondResult==0">
|
||||||
<img src="../assets/images/certification.png" alt="" v-if="status.reviewResult1==2">
|
<img src="../assets/images/certification.png" alt="" v-if="status.reviewResult1==3">
|
||||||
|
<img src="../assets/images/certification2.png" alt="" v-if="status.reviewResult1==2">
|
||||||
<img src="../assets/images/certification3.png" alt="" v-if="status.reviewResult1==1">
|
<img src="../assets/images/certification3.png" alt="" v-if="status.reviewResult1==1">
|
||||||
<img src="../assets/images/certification1.png" alt="" v-if="status.reviewResult1==0">
|
<img src="../assets/images/certification1.png" alt="" v-if="status.reviewResult1==0">
|
||||||
<div>{{status.reviewResult1==0?'认证通过':status.reviewResult1==1?'认证失败':'未认证'}}</div>
|
<div :class="status.reviewResult1==3?'tim1':status.reviewResult1==2?'tim3':status.reviewResult1==1?'tim2':'tim'">
|
||||||
|
{{status.reviewResult1==3?'未认证':status.reviewResult1==2?'认证中':status.reviewResult1==1?'认证未通过':'认证通过'}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -236,13 +253,34 @@ export default {
|
|||||||
height: 46px;
|
height: 46px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div {
|
.tim {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #409EFF;
|
color: #409EFF;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
margin-top: 12px;
|
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 {
|
.line {
|
||||||
@@ -251,4 +289,22 @@ export default {
|
|||||||
border: 1px solid #409EFF;
|
border: 1px solid #409EFF;
|
||||||
margin: 0 8px 30px 8px;
|
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;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<script>
|
<script>
|
||||||
import {addTeacher, getCertificationProcess, getProgress, getTeacherInfo} from "@/api/modules/lecturer";
|
import lecturer, {addTeacher, getCertificationProcess, getProgress, getTeacherInfo} from "@/api/modules/lecturer";
|
||||||
import processStatus from "@/components/processStatus.vue";
|
import processStatus from "@/components/processStatus.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -16,7 +16,8 @@ export default {
|
|||||||
progressData: {},
|
progressData: {},
|
||||||
fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL,
|
fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
statusInfo: ''
|
statusInfo: '',
|
||||||
|
teacherInfo:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -35,6 +36,8 @@ export default {
|
|||||||
},
|
},
|
||||||
baseInfo() {
|
baseInfo() {
|
||||||
getTeacherInfo({teacherId: this.teacherId}).then(res => {
|
getTeacherInfo({teacherId: this.teacherId}).then(res => {
|
||||||
|
this.teacherInfo=res.data[0]
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
||||||
* courseIntroduction:课程简介
|
* courseIntroduction:课程简介
|
||||||
@@ -78,8 +81,24 @@ export default {
|
|||||||
},
|
},
|
||||||
toCaseData(courseId){
|
toCaseData(courseId){
|
||||||
this.$router.push("/course/studyindex?id=" + courseId);
|
this.$router.push("/course/studyindex?id=" + courseId);
|
||||||
|
},
|
||||||
|
downloadFile(){
|
||||||
|
lecturer.exportPdf({coursewareId:this.teacherInfo.examineCourseware.id}).then(res=>{
|
||||||
|
if(res.status) {
|
||||||
|
this.$message.error('导出失败');
|
||||||
|
} else {
|
||||||
|
const link = document.createElement('a');// 创建a标签
|
||||||
|
let blob = new Blob([res],{type: 'application/vnd.;charset=UTF-8'}); // 设置文件类型
|
||||||
|
link.style.display = "none";
|
||||||
|
link.href = URL.createObjectURL(blob); // 创建URL
|
||||||
|
link.setAttribute("download", this.teacherInfo.examineCourseware.coursewareName);
|
||||||
|
document.body.appendChild(link);
|
||||||
|
link.click();
|
||||||
|
document.body.removeChild(link);
|
||||||
|
this.dialogVisible = false;
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -131,7 +150,7 @@ export default {
|
|||||||
{{ form.courseIntroduction }}
|
{{ form.courseIntroduction }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="初稿课件:" prop="courseIntroduction">
|
<el-form-item label="初稿课件:" prop="courseIntroduction">
|
||||||
{{ form.coursewareName }} <span style="color: #1378f6;display: inline-block;margin-left: 16px">查看</span>
|
{{ form.coursewareName }} <span style="color: #1378f6;display: inline-block;margin-left: 16px;cursor: pointer;" @click="downloadFile">查看</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@@ -145,7 +164,7 @@ export default {
|
|||||||
</div>
|
</div>
|
||||||
<div class="courseName">{{ item.courseName }}</div>
|
<div class="courseName">{{ item.courseName }}</div>
|
||||||
<div class="smallTitle">当前进度</div>
|
<div class="smallTitle">当前进度</div>
|
||||||
<el-progress :percentage="parseInt(item.progress)"></el-progress>
|
<el-progress :percentage="parseInt(item.progress)" :color="parseInt(item.progress)=='100'?'#31AF0D':'#FFA050'"></el-progress>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
@@ -168,7 +187,7 @@ export default {
|
|||||||
<div class="tip">
|
<div class="tip">
|
||||||
提示:您已完成线下辅导,快去进行下一步吧!
|
提示:您已完成线下辅导,快去进行下一步吧!
|
||||||
</div>
|
</div>
|
||||||
<el-button type="primary" style="margin-top: 20px;margin-left: 80px" @click="getJump()">下一步</el-button>
|
<el-button type="primary" style="margin-top: 20px;" @click="getJump()">下一步</el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -218,14 +237,23 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.tip {
|
.tip {
|
||||||
color: #7d7c7c;
|
color: #333333;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
::v-deep .el-progress-bar__outer{
|
::v-deep .el-progress-bar__outer{
|
||||||
background-color: rgba(255, 160, 80, 0.2);
|
background-color: rgba(255, 160, 80, 0.2);
|
||||||
}
|
}
|
||||||
::v-deep .el-progress-bar__inner{
|
::v-deep .el-form-item__label{
|
||||||
background-color: rgba(255, 160, 80, 1);
|
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;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<script>
|
<script>
|
||||||
import {
|
import lecturer, {
|
||||||
addTeacher,
|
addTeacher,
|
||||||
getCertificationProcess,
|
getCertificationProcess,
|
||||||
getProgress,
|
getProgress,
|
||||||
@@ -11,107 +11,133 @@ import processStatus from "@/components/processStatus.vue";
|
|||||||
export default {
|
export default {
|
||||||
name: "FinalSuccess",
|
name: "FinalSuccess",
|
||||||
components: {processStatus},
|
components: {processStatus},
|
||||||
data(){
|
data() {
|
||||||
return{
|
return {
|
||||||
teacherId:'',
|
teacherId: '',
|
||||||
form:{
|
form: {
|
||||||
teacherName:'',
|
teacherName: '',
|
||||||
teacherNo:'',
|
teacherNo: '',
|
||||||
orgName:''
|
orgName: ''
|
||||||
},
|
},
|
||||||
progressData:{},
|
progressData: {},
|
||||||
fileBaseUrl:process.env.VUE_APP_BOE_MOBILE_URL,
|
fileBaseUrl: process.env.VUE_APP_BOE_MOBILE_URL,
|
||||||
disabled:false,
|
disabled: false,
|
||||||
statusInfo:'',
|
statusInfo: '',
|
||||||
result:'',
|
result: '',
|
||||||
newTeacherId:'',
|
newTeacherId: '',
|
||||||
isFalse: true,
|
isFalse: true,
|
||||||
|
teacherInfo: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
//读取路由参数
|
//读取路由参数
|
||||||
this.teacherId=this.$route.query.teacherId
|
this.teacherId = this.$route.query.teacherId
|
||||||
//获取教师基本信息
|
//获取教师基本信息
|
||||||
this.baseInfo()
|
this.baseInfo()
|
||||||
this.getStatus()
|
this.getStatus()
|
||||||
this.getReviewResult()
|
this.getReviewResult()
|
||||||
},
|
},
|
||||||
methods:{
|
methods: {
|
||||||
//前往二次认证
|
//前往二次认证
|
||||||
getoFactor(second){
|
getoFactor(second) {
|
||||||
secondExamine({teacherId:this.teacherId,second,}).then(res=>{
|
secondExamine({teacherId: this.teacherId, second,}).then(res => {
|
||||||
this.newTeacherId=res.data.replace(/[^0-9]/ig,'')
|
this.newTeacherId = res.data.replace(/[^0-9]/ig, '')
|
||||||
if (res.code==200){
|
if (res.code == 200) {
|
||||||
if(second==1){
|
if (second == 1) {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path:'/need/twoathentication',
|
path: '/need/twoathentication',
|
||||||
query:{teacherId:this.newTeacherId}
|
query: {teacherId: this.newTeacherId}
|
||||||
})
|
})
|
||||||
}else{
|
} else {
|
||||||
this.isFalse = false
|
this.isFalse = false
|
||||||
}
|
}
|
||||||
|
}else {
|
||||||
|
this.$message({
|
||||||
|
message: res.msg,
|
||||||
|
type: 'error'
|
||||||
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//获取认证结果
|
//获取认证结果
|
||||||
getReviewResult(){
|
getReviewResult() {
|
||||||
getReviewResult({teacherId:this.teacherId}).then(res=>{
|
getReviewResult({teacherId: this.teacherId}).then(res => {
|
||||||
this.result=res.data
|
this.result = res.data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//获取教师认证状态
|
//获取教师认证状态
|
||||||
getStatus(){
|
getStatus() {
|
||||||
getCertificationProcess({teacherId:this.teacherId}).then(res=>{
|
getCertificationProcess({teacherId: this.teacherId}).then(res => {
|
||||||
this.statusInfo=res.data
|
this.statusInfo = res.data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
baseInfo(){
|
baseInfo() {
|
||||||
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
getTeacherInfo({teacherId: this.teacherId}).then(res => {
|
||||||
|
this.teacherInfo = res.data[0]
|
||||||
/*
|
/*
|
||||||
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
||||||
* courseIntroduction:课程简介
|
* courseIntroduction:课程简介
|
||||||
* */
|
* */
|
||||||
this.form.teacherName=res.data[0].teacherName
|
this.form.teacherName = res.data[0].teacherName
|
||||||
this.form.teacherNo=res.data[0].teacherNo
|
this.form.teacherNo = res.data[0].teacherNo
|
||||||
this.form.orgName=res.data[0].orgName
|
this.form.orgName = res.data[0].orgName
|
||||||
this.form.positionName=res.data[0].positionName
|
this.form.positionName = res.data[0].positionName
|
||||||
this.form.bandCode=res.data[0].bandCode
|
this.form.bandCode = res.data[0].bandCode
|
||||||
this.form.courseName=res.data[0].courseName
|
this.form.courseName = res.data[0].courseName
|
||||||
this.form.courseContent=res.data[0].courseContent
|
this.form.courseContent = res.data[0].courseContent
|
||||||
this.form.courseIntroduction=res.data[0].courseIntroduction
|
this.form.courseIntroduction = res.data[0].courseIntroduction
|
||||||
this.form.coursewareName=res.data[0].examineCourseware.coursewareName
|
this.form.coursewareName = res.data[0].examineCourseware.coursewareName
|
||||||
this.form.tutor=res.data[0].tutor.split(',')
|
this.form.tutor = res.data[0].tutor.split(',')
|
||||||
this.form.tutorTime=res.data[0].tutorTime
|
this.form.tutorTime = res.data[0].tutorTime
|
||||||
//获取学习进度
|
//获取学习进度
|
||||||
this.addTeacher()
|
this.addTeacher()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
addTeacher(){
|
addTeacher() {
|
||||||
addTeacher({pageNo:1,pageSize:10,keyword:this.form.teacherNo}).then(res=>{
|
addTeacher({pageNo: 1, pageSize: 10, keyword: this.form.teacherNo}).then(res => {
|
||||||
this.getProgress(res.data[0].id)
|
this.getProgress(res.data[0].id)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getProgress(id){
|
getProgress(id) {
|
||||||
getProgress({teacherId:id}).then(res=>{
|
getProgress({teacherId: id}).then(res => {
|
||||||
this.progressData=res.data
|
this.progressData = res.data
|
||||||
res.data.forEach((item,index)=>{
|
res.data.forEach((item, index) => {
|
||||||
if (item.progress!=100){
|
if (item.progress != 100) {
|
||||||
this.disabled=true
|
this.disabled = true
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getJump(){
|
getJump() {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path:'/need/final',
|
path: '/need/final',
|
||||||
query:{teacherId:this.teacherId}
|
query: {teacherId: this.teacherId}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
toCaseData(courseId){
|
toCaseData(courseId) {
|
||||||
this.$router.push("/course/studyindex?id=" + courseId);
|
this.$router.push("/course/studyindex?id=" + courseId);
|
||||||
|
},
|
||||||
|
downloadFile() {
|
||||||
|
lecturer.exportPdf({coursewareId: this.teacherInfo.examineCourseware.id}).then(res => {
|
||||||
|
if (res.status) {
|
||||||
|
this.$message.error('导出失败');
|
||||||
|
} else {
|
||||||
|
const link = document.createElement('a');// 创建a标签
|
||||||
|
let blob = new Blob([res], {type: 'application/vnd.;charset=UTF-8'}); // 设置文件类型
|
||||||
|
link.style.display = "none";
|
||||||
|
link.href = URL.createObjectURL(blob); // 创建URL
|
||||||
|
link.setAttribute("download", this.teacherInfo.examineCourseware.coursewareName);
|
||||||
|
document.body.appendChild(link);
|
||||||
|
link.click();
|
||||||
|
document.body.removeChild(link);
|
||||||
|
this.dialogVisible = false;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getJumplist(){
|
||||||
|
this.$router.push('/need/lecturer')
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -126,50 +152,52 @@ export default {
|
|||||||
<div>
|
<div>
|
||||||
<el-col :span="11">
|
<el-col :span="11">
|
||||||
<el-form-item label="姓名:">
|
<el-form-item label="姓名:">
|
||||||
{{form.teacherName}}
|
{{ form.teacherName }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="11" :offset="2">
|
<el-col :span="11" :offset="2">
|
||||||
<el-form-item label="工号:">
|
<el-form-item label="工号:">
|
||||||
{{form.teacherNo}}
|
{{ form.teacherNo }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<el-col :span="11">
|
<el-col :span="11">
|
||||||
<el-form-item label="组织:">
|
<el-form-item label="组织:">
|
||||||
{{form.orgName}}
|
{{ form.orgName }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="11" :offset="2">
|
<el-col :span="11" :offset="2">
|
||||||
<el-form-item label="岗位:">
|
<el-form-item label="岗位:">
|
||||||
{{form.positionName}}
|
{{ form.positionName }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<el-col :span="11">
|
<el-col :span="11">
|
||||||
<el-form-item label="认证课程名称:" prop="courseName">
|
<el-form-item label="认证课程名称:" prop="courseName">
|
||||||
{{form.courseName}}
|
{{ form.courseName }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="11" :offset="2">
|
<el-col :span="11" :offset="2">
|
||||||
<el-form-item label="课程内容分类:" prop="courseContent">
|
<el-form-item label="课程内容分类:" prop="courseContent">
|
||||||
{{form.courseContent}}
|
{{ form.courseContent }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</div>
|
</div>
|
||||||
<el-form-item label="课程简介:" prop="courseIntroduction">
|
<el-form-item label="课程简介:" prop="courseIntroduction">
|
||||||
{{form.courseIntroduction}}
|
{{ form.courseIntroduction }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="初稿课件:" prop="courseIntroduction">
|
<el-form-item label="终稿课件:" prop="courseIntroduction">
|
||||||
{{form.coursewareName}} <span style="color: #1378f6;display: inline-block;margin-left: 16px">查看</span>
|
{{ form.coursewareName }} <span
|
||||||
|
style="color: #1378f6;display: inline-block;margin-left: 16px;cursor: pointer;"
|
||||||
|
@click="downloadFile">查看</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
</el-container>
|
</el-container>
|
||||||
<div class="title" style="margin-top: 20px">线上课程</div>
|
<div class="title" style="margin-top: 20px">线上课程</div>
|
||||||
<div class="progress" >
|
<div class="progress">
|
||||||
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
||||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||||
<img style="width: 100%;" v-if="item.courseImage!=''" :src="item.courseImage">
|
<img style="width: 100%;" v-if="item.courseImage!=''" :src="item.courseImage">
|
||||||
@@ -177,7 +205,8 @@ export default {
|
|||||||
</div>
|
</div>
|
||||||
<div class="courseName">{{ item.courseName }}</div>
|
<div class="courseName">{{ item.courseName }}</div>
|
||||||
<div class="smallTitle">当前进度</div>
|
<div class="smallTitle">当前进度</div>
|
||||||
<el-progress :percentage="parseInt(item.progress)"></el-progress>
|
<el-progress :percentage="parseInt(item.progress)"
|
||||||
|
:color="parseInt(item.progress)=='100'?'#31AF0D':'#FFA050'"></el-progress>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
@@ -186,10 +215,11 @@ export default {
|
|||||||
<div class="form-table">
|
<div class="form-table">
|
||||||
<el-form>
|
<el-form>
|
||||||
<el-form-item label="辅导老师:">
|
<el-form-item label="辅导老师:">
|
||||||
<span v-for="(item,index) in form.tutor" :key="item" style="display: inline-block;margin-right: 20px">{{item}}</span>
|
<span v-for="(item,index) in form.tutor" :key="item"
|
||||||
|
style="display: inline-block;margin-right: 20px">{{ item }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="辅导时间:">
|
<el-form-item label="辅导时间:">
|
||||||
{{form.tutorTime}}
|
{{ form.tutorTime }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@@ -197,84 +227,154 @@ export default {
|
|||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="title" style="margin-top: 20px">认证结果</div>
|
<div class="title" style="margin-top: 20px">认证结果</div>
|
||||||
<div v-if="statusInfo.reviewResult==2" class="score" style="color: #797979">请您耐心等待线下认证安排!</div>
|
<div v-if="statusInfo.reviewResult==2" class="score">请您耐心等待线下认证安排!</div>
|
||||||
<div v-if="statusInfo.reviewResult==0" class="score" style="color: #4b7900;">恭喜您,您的认证分数为{{ result.avgScore }}分,已经通过认证!</div>
|
<div v-if="statusInfo.reviewResult==0" class="score" style="color: #4b7900;">
|
||||||
<div v-if="statusInfo.reviewResult==1" class="score" style="color: #ff0000">很遗憾,您的认证分数为{{ result.avgScore }}分,没有通过认证!</div>
|
恭喜您,您的认证分数为{{ result.avgScore }}分,已经通过认证!
|
||||||
|
</div>
|
||||||
|
<div v-if="statusInfo.reviewResult==1" class="score" style="color: #ff0000">
|
||||||
|
很遗憾,您的认证分数为{{ result.avgScore }}分,没有通过认证!
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="twoFactorAuthentication" v-if="statusInfo.reviewResult==1&&isFalse&&statusInfo.second!=2">
|
<div class="twoFactorAuthentication" v-if="statusInfo.reviewResult==1&&isFalse&&statusInfo.second!=2">
|
||||||
<div class="remind">是否进行二次认证?</div>
|
<img src="../../assets/images/rightImg.png" alt="">
|
||||||
<div style="display: flex;justify-content: center;align-items: center">
|
<div class="titleAuthentication">是否进行二次认证?</div>
|
||||||
<el-button type="primary" @click="getoFactor(1)">是</el-button>
|
<div class="yes" @click="getoFactor(1)">是</div>
|
||||||
<el-button @click="getoFactor(2)">否</el-button>
|
<div class="no" @click="getJumplist">否</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.title{
|
.title {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
border-bottom: 1px solid rgba(153, 153, 153, 0.2);
|
border-bottom: 1px solid rgba(153, 153, 153, 0.2);
|
||||||
padding: 2px 2px 20px 2px;
|
padding: 2px 2px 20px 2px;
|
||||||
}
|
}
|
||||||
.form-table{
|
|
||||||
|
.form-table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
.progress{
|
|
||||||
|
.progress {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
|
|
||||||
}
|
}
|
||||||
.progress>div{
|
|
||||||
|
.progress > div {
|
||||||
width: 300px;
|
width: 300px;
|
||||||
margin-right: 30px;
|
margin-right: 30px;
|
||||||
}
|
}
|
||||||
.courseName{
|
|
||||||
|
.courseName {
|
||||||
font-weight: 650;
|
font-weight: 650;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
}
|
}
|
||||||
.smallTitle{
|
|
||||||
color:#134054;
|
.smallTitle {
|
||||||
font-size:12px;
|
color: #134054;
|
||||||
|
font-size: 12px;
|
||||||
margin-top: 7px;
|
margin-top: 7px;
|
||||||
}
|
}
|
||||||
::v-deep .el-form-item__content{
|
|
||||||
|
::v-deep .el-form-item__content {
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
::v-deep .el-form-item{
|
|
||||||
|
::v-deep .el-form-item {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.tip{
|
|
||||||
|
.tip {
|
||||||
color: #7d7c7c;
|
color: #7d7c7c;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
.score{
|
|
||||||
margin-top: 28px;
|
|
||||||
font-size: 20px;
|
|
||||||
|
|
||||||
|
.score {
|
||||||
|
margin-top: 28px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333333;
|
||||||
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
.twoFactorAuthentication{
|
|
||||||
width: 344px;
|
.twoFactorAuthentication {
|
||||||
height: 135px;
|
width: 100%;
|
||||||
padding: 2px 2px 2px 2px;
|
height: 56px;
|
||||||
border: 1px solid #d7d7d7;
|
background: #F0F6FC;
|
||||||
background-color: #ffffff;
|
margin-top: 20px;
|
||||||
box-sizing: border-box;
|
border-radius: 6px;
|
||||||
margin-top: 20px;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
img{
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
margin-left: 23px;
|
||||||
|
}
|
||||||
|
.titleAuthentication{
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #333333;
|
||||||
|
margin-left: 16px;
|
||||||
|
}
|
||||||
|
.yes{
|
||||||
|
width: 64px;
|
||||||
|
height: 24px;
|
||||||
|
background: #409EFF;
|
||||||
|
border: 1px solid #409EFF;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin-left: 20px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.no{
|
||||||
|
width: 64px;
|
||||||
|
height: 24px;
|
||||||
|
background:rgba(64,158,255,0.1);
|
||||||
|
border: 1px solid #409EFF;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #409EFF;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin-left: 16px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.remind {
|
.remind {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
color: #797979;
|
color: #797979;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
::v-deep .el-progress-bar__outer {
|
||||||
|
background-color: rgba(255, 160, 80, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
::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;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -39,14 +39,14 @@ export default {
|
|||||||
rules: {
|
rules: {
|
||||||
courseName: [
|
courseName: [
|
||||||
{required: true, message: '请输入认证课程名称', trigger: 'change'},
|
{required: true, message: '请输入认证课程名称', trigger: 'change'},
|
||||||
{ min: 1, max: 50, message: '最多五十字', trigger: 'blur' }
|
{ min: 1, max: 30, message: '最多30字', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
courseContent_1: [
|
courseContent_1: [
|
||||||
{required: true, message: '请选择课程分类', trigger: 'change'}
|
{required: true, message: '请选择课程分类', trigger: 'change'}
|
||||||
],
|
],
|
||||||
courseIntroduction: [
|
courseIntroduction: [
|
||||||
{required: true, message: '请输入课程简介', trigger: 'change'},
|
{required: true, message: '请输入课程简介', trigger: 'change'},
|
||||||
{ min: 1, max: 500, message: '最多五百字', trigger: 'blur' }
|
{ min: 1, max: 150, message: '最多150字', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ export default {
|
|||||||
<div class="zan-wu">暂无数据</div>
|
<div class="zan-wu">暂无数据</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex;justify-content:space-between;position: relative;" v-if="this.couresList.length!=0">
|
<div style="display: flex;justify-content:space-between;position: relative;">
|
||||||
<div style="display: flex;justify-content: flex-start; padding: 12px 32px 10px 12px;">
|
<div style="display: flex;justify-content: flex-start; padding: 12px 32px 10px 12px;">
|
||||||
<div style="margin-left:10px"><el-input v-model="params.courseName" placeholder="请输入认证课程名称" clearable ></el-input></div>
|
<div style="margin-left:10px"><el-input v-model="params.courseName" placeholder="请输入认证课程名称" clearable ></el-input></div>
|
||||||
<div style="padding-left: 10px;"><el-button type="primary" icon="el-icon-search" @click="getList">搜索</el-button></div>
|
<div style="padding-left: 10px;"><el-button type="primary" icon="el-icon-search" @click="getList">搜索</el-button></div>
|
||||||
@@ -187,7 +187,7 @@ export default {
|
|||||||
margin: 40px;
|
margin: 40px;
|
||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
.ybm {
|
.ytg {
|
||||||
color: #2ab28b;
|
color: #2ab28b;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
@@ -200,7 +200,7 @@ export default {
|
|||||||
color: #1378f6;
|
color: #1378f6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ytg {
|
.ybm {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
color: #1378f6;
|
color: #1378f6;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import {addTeacher, getCertificationProcess, getProgress, getTeacherInfo} from "@/api/modules/lecturer";
|
import {addTeacher, getProgress, getTeacherInfo} from "@/api/modules/lecturer";
|
||||||
|
import lecturer from "@/api/modules/lecturer";
|
||||||
import processStatus from "@/components/processStatus.vue";
|
import processStatus from "@/components/processStatus.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -16,7 +17,8 @@ export default {
|
|||||||
progressData:{},
|
progressData:{},
|
||||||
fileBaseUrl:process.env.VUE_APP_BOE_MOBILE_URL,
|
fileBaseUrl:process.env.VUE_APP_BOE_MOBILE_URL,
|
||||||
disabled:false,
|
disabled:false,
|
||||||
statusInfo:''
|
statusInfo:'',
|
||||||
|
teacherInfo:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -28,6 +30,7 @@ export default {
|
|||||||
methods:{
|
methods:{
|
||||||
baseInfo(){
|
baseInfo(){
|
||||||
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
||||||
|
this.teacherInfo=res.data[0]
|
||||||
/*
|
/*
|
||||||
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
||||||
* courseIntroduction:课程简介
|
* courseIntroduction:课程简介
|
||||||
@@ -61,7 +64,6 @@ export default {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
getJump(){
|
getJump(){
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path:'/need/coaching',
|
path:'/need/coaching',
|
||||||
@@ -70,6 +72,23 @@ export default {
|
|||||||
},
|
},
|
||||||
toCaseData(courseId){
|
toCaseData(courseId){
|
||||||
this.$router.push("/course/studyindex?id=" + courseId);
|
this.$router.push("/course/studyindex?id=" + courseId);
|
||||||
|
},
|
||||||
|
downloadFile(){
|
||||||
|
lecturer.exportPdf({coursewareId:this.teacherInfo.examineCourseware.id}).then(res=>{
|
||||||
|
if(res.status) {
|
||||||
|
this.$message.error('导出失败');
|
||||||
|
} else {
|
||||||
|
const link = document.createElement('a');// 创建a标签
|
||||||
|
let blob = new Blob([res],{type: 'application/vnd.;charset=UTF-8'}); // 设置文件类型
|
||||||
|
link.style.display = "none";
|
||||||
|
link.href = URL.createObjectURL(blob); // 创建URL
|
||||||
|
link.setAttribute("download", this.teacherInfo.examineCourseware.coursewareName);
|
||||||
|
document.body.appendChild(link);
|
||||||
|
link.click();
|
||||||
|
document.body.removeChild(link);
|
||||||
|
this.dialogVisible = false;
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -122,7 +141,7 @@ export default {
|
|||||||
{{form.courseIntroduction}}
|
{{form.courseIntroduction}}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="初稿课件:" prop="courseIntroduction">
|
<el-form-item label="初稿课件:" prop="courseIntroduction">
|
||||||
{{form.coursewareName}} <span style="color: #1378f6;display: inline-block;margin-left: 16px">查看</span>
|
{{form.coursewareName}} <span style="color: #1378f6;display: inline-block;margin-left: 16px; cursor: pointer;" @click="downloadFile">查看</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@@ -136,9 +155,13 @@ export default {
|
|||||||
</div>
|
</div>
|
||||||
<div class="courseName">{{ item.courseName }}</div>
|
<div class="courseName">{{ item.courseName }}</div>
|
||||||
<div class="smallTitle">当前进度</div>
|
<div class="smallTitle">当前进度</div>
|
||||||
<el-progress :percentage="parseInt(item.progress)"></el-progress>
|
<el-progress :percentage="parseInt(item.progress)" :color="parseInt(item.progress)=='100'?'#31AF0D':'#FFA050'"></el-progress>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="tip">
|
||||||
|
{{ disabled==false?'提示:您的线上课程已经学习完毕,快去进行下一步吧':'提示:您的课程还未学习完毕,不能进行下一步!'}}
|
||||||
|
</div>
|
||||||
|
<el-button type="primary" :disabled="disabled" style="margin-top: 20px;" @click="getJump()">下一步</el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -185,14 +208,25 @@ export default {
|
|||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.tip{
|
.tip{
|
||||||
color: #7d7c7c;
|
color: #333333;
|
||||||
|
font-weight: 400;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
::v-deep .el-progress-bar__outer{
|
::v-deep .el-progress-bar__outer{
|
||||||
background-color: rgba(255, 160, 80, 0.2);
|
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;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,14 +1,16 @@
|
|||||||
<script>
|
<script>
|
||||||
import {
|
import lecturer, {
|
||||||
addTeacher,
|
addTeacher,
|
||||||
getCertificationProcess,
|
getCertificationProcess,
|
||||||
getProgress,
|
getProgress,
|
||||||
getReviewResult,
|
getReviewResult,
|
||||||
getTeacherInfo, secondExamine
|
getTeacherInfo, secondExamine
|
||||||
} from "@/api/modules/lecturer";
|
} from "@/api/modules/lecturer";
|
||||||
|
import processStatus from "@/components/processStatus.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "TwoAthentication",
|
name: "TwoAthentication",
|
||||||
|
components: {processStatus},
|
||||||
data(){
|
data(){
|
||||||
return{
|
return{
|
||||||
teacherId:'',
|
teacherId:'',
|
||||||
@@ -24,10 +26,11 @@ export default {
|
|||||||
result:'',
|
result:'',
|
||||||
newTeacherId:'',
|
newTeacherId:'',
|
||||||
pid:'',
|
pid:'',
|
||||||
statusInfo1:''
|
statusInfo1:'',
|
||||||
|
teacherInfo:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
created() {
|
||||||
//读取路由参数
|
//读取路由参数
|
||||||
this.teacherId=this.$route.query.teacherId
|
this.teacherId=this.$route.query.teacherId
|
||||||
//获取教师基本信息
|
//获取教师基本信息
|
||||||
@@ -35,12 +38,6 @@ export default {
|
|||||||
// this.getReviewResult()
|
// this.getReviewResult()
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
//前往二次认证
|
|
||||||
getoFactor(){
|
|
||||||
secondExamine({teacherId:this.teacherId}).then(res=>{
|
|
||||||
this.newTeacherId=res.data.replace(/[^0-9]/ig,'')
|
|
||||||
})
|
|
||||||
},
|
|
||||||
//获取认证结果
|
//获取认证结果
|
||||||
getReviewResult(){
|
getReviewResult(){
|
||||||
getReviewResult({teacherId:this.pid}).then(res=>{
|
getReviewResult({teacherId:this.pid}).then(res=>{
|
||||||
@@ -58,24 +55,27 @@ export default {
|
|||||||
},
|
},
|
||||||
baseInfo(){
|
baseInfo(){
|
||||||
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
||||||
|
this.pid=res.data[0].pid
|
||||||
|
getTeacherInfo({teacherId:res.data[0].pid}).then(resquest=>{
|
||||||
|
this.teacherInfo = resquest.data[0]
|
||||||
|
this.form.teacherName=resquest.data[0].teacherName
|
||||||
|
this.form.teacherNo=resquest.data[0].teacherNo
|
||||||
|
this.form.orgName=resquest.data[0].orgName
|
||||||
|
this.form.positionName=resquest.data[0].positionName
|
||||||
|
this.form.bandCode=resquest.data[0].bandCode
|
||||||
|
this.form.courseName=resquest.data[0].courseName
|
||||||
|
this.form.courseContent=resquest.data[0].courseContent
|
||||||
|
this.form.courseIntroduction=resquest.data[0].courseIntroduction
|
||||||
|
this.form.coursewareName=resquest.data[0].examineCourseware.coursewareName
|
||||||
|
//获取学习进度
|
||||||
|
this.getReviewResult()
|
||||||
|
this.addTeacher()
|
||||||
|
this.getStatus()
|
||||||
|
})
|
||||||
/*
|
/*
|
||||||
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
||||||
* courseIntroduction:课程简介
|
* courseIntroduction:课程简介
|
||||||
* */
|
* */
|
||||||
this.form.teacherName=res.data[0].teacherName
|
|
||||||
this.form.teacherNo=res.data[0].teacherNo
|
|
||||||
this.form.orgName=res.data[0].orgName
|
|
||||||
this.form.positionName=res.data[0].positionName
|
|
||||||
this.form.bandCode=res.data[0].bandCode
|
|
||||||
this.form.courseName=res.data[0].courseName
|
|
||||||
this.form.courseContent=res.data[0].courseContent
|
|
||||||
this.form.courseIntroduction=res.data[0].courseIntroduction
|
|
||||||
this.form.coursewareName=res.data[0].examineCourseware.coursewareName
|
|
||||||
this.pid=res.data[0].pid
|
|
||||||
//获取学习进度
|
|
||||||
this.getReviewResult()
|
|
||||||
this.addTeacher()
|
|
||||||
this.getStatus()
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
addTeacher(){
|
addTeacher(){
|
||||||
@@ -105,77 +105,98 @@ export default {
|
|||||||
},
|
},
|
||||||
toCaseData(courseId){
|
toCaseData(courseId){
|
||||||
this.$router.push("/course/studyindex?id=" + courseId);
|
this.$router.push("/course/studyindex?id=" + courseId);
|
||||||
|
},
|
||||||
|
downloadFile() {
|
||||||
|
lecturer.exportPdf({coursewareId: this.teacherInfo.examineCourseware.id}).then(res => {
|
||||||
|
if (res.status) {
|
||||||
|
this.$message.error('导出失败');
|
||||||
|
} else {
|
||||||
|
const link = document.createElement('a');// 创建a标签
|
||||||
|
let blob = new Blob([res], {type: 'application/vnd.;charset=UTF-8'}); // 设置文件类型
|
||||||
|
link.style.display = "none";
|
||||||
|
link.href = URL.createObjectURL(blob); // 创建URL
|
||||||
|
link.setAttribute("download", this.teacherInfo.examineCourseware.coursewareName);
|
||||||
|
document.body.appendChild(link);
|
||||||
|
link.click();
|
||||||
|
document.body.removeChild(link);
|
||||||
|
this.dialogVisible = false;
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
|
<process-status :teacherId="teacherId"></process-status>
|
||||||
<div class="title">基本信息</div>
|
<div class="title">基本信息</div>
|
||||||
<el-container>
|
<el-container>
|
||||||
<div class="form-table">
|
<div class="form-table">
|
||||||
<el-form label-width="140px">
|
<el-form>
|
||||||
<div>
|
<div>
|
||||||
<el-col :span="10">
|
<el-col :span="11">
|
||||||
<el-form-item label="姓名:">
|
<el-form-item label="姓名:">
|
||||||
{{form.teacherName}}
|
{{ form.teacherName }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="10" :offset="4">
|
<el-col :span="11" :offset="2">
|
||||||
<el-form-item label="工号:">
|
<el-form-item label="工号:">
|
||||||
{{form.teacherNo}}
|
{{ form.teacherNo }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</div>
|
</div>
|
||||||
<el-form-item label="组织:">
|
|
||||||
{{form.orgName}}
|
|
||||||
</el-form-item>
|
|
||||||
<div>
|
<div>
|
||||||
<el-col :span="10">
|
<el-col :span="11">
|
||||||
<el-form-item label="岗位:">
|
<el-form-item label="组织:">
|
||||||
{{form.positionName}}
|
{{ form.orgName }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="10" :offset="4">
|
<el-col :span="11" :offset="2">
|
||||||
<el-form-item label="职级:">
|
<el-form-item label="岗位:">
|
||||||
{{form.bandCode}}
|
{{ form.positionName }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-col :span="11">
|
||||||
|
<el-form-item label="认证课程名称:" prop="courseName">
|
||||||
|
{{ form.courseName }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="11" :offset="2">
|
||||||
|
<el-form-item label="课程内容分类:" prop="courseContent">
|
||||||
|
{{ form.courseContent }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</div>
|
</div>
|
||||||
<el-form-item label="认证课程名称:" prop="courseName">
|
|
||||||
{{form.courseName}}
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="课程内容分类:" prop="courseContent">
|
|
||||||
{{form.courseContent}}
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="课程简介:" prop="courseIntroduction">
|
<el-form-item label="课程简介:" prop="courseIntroduction">
|
||||||
{{form.courseIntroduction}}
|
{{ form.courseIntroduction }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="初稿课件:" prop="courseIntroduction">
|
<el-form-item label="终稿课件:" prop="courseIntroduction">
|
||||||
{{form.coursewareName}} <span style="color: #1378f6;display: inline-block;margin-left: 16px">查看</span>
|
{{ form.coursewareName }} <span
|
||||||
|
style="color: #1378f6;display: inline-block;margin-left: 16px;cursor: pointer;"
|
||||||
|
@click="downloadFile">查看</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
</el-container>
|
</el-container>
|
||||||
<div class="title" style="margin-top: 20px">线上课程</div>
|
<div class="title" style="margin-top: 20px">线上课程</div>
|
||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div v-for="(item,index) in progressData" :key="item">
|
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
||||||
<div class="progress-item" @click="toCaseData(item.courseId)">
|
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
<img style="width: 100%;" v-if="item.courseImage!=''" :src="item.courseImage">
|
||||||
<img style="width: 100%;" v-if="item.courseImage!=''" :src="item.courseImage">
|
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
||||||
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
|
||||||
</div>
|
|
||||||
<div class="courseName">{{item.courseName}}</div>
|
|
||||||
<div class="smallTitle">当前进度</div>
|
|
||||||
<el-progress :percentage="item.progress" :format="format"></el-progress>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="courseName">{{ item.courseName }}</div>
|
||||||
|
<div class="smallTitle">当前进度</div>
|
||||||
|
<el-progress :percentage="parseInt(item.progress)"
|
||||||
|
:color="parseInt(item.progress)=='100'?'#31AF0D':'#FFA050'"></el-progress>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="title" style="margin-top: 20px">认证结果</div>
|
<div class="title" style="margin-top: 20px">认证结果</div>
|
||||||
<div v-if="statusInfo1.reviewResult==2" class="score" style="color: #797979">请您耐心等待线下认证安排!</div>
|
<div v-if="statusInfo1.reviewResult==2" class="score">请您耐心等待线下认证安排!</div>
|
||||||
<div v-if="statusInfo1.reviewResult==0" class="score" style="color: #4b7900;">恭喜您,您的认证分数为{{ result.avgScore }}分,已经通过认证!</div>
|
<div v-if="statusInfo1.reviewResult==0" class="score" style="color: #4b7900;">恭喜您,您的认证分数为{{ result.avgScore }}分,已经通过认证!</div>
|
||||||
<div v-if="statusInfo1.reviewResult==1" class="score" style="color: #ff0000">很遗憾,您的认证分数为{{ result.avgScore }}分,没有通过认证!</div>
|
<div v-if="statusInfo1.reviewResult==1" class="score" style="color: #ff0000">很遗憾,您的认证分数为{{ result.avgScore }}分,没有通过认证!</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -191,26 +212,21 @@ export default {
|
|||||||
.title{
|
.title{
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
width: 850px;
|
border-bottom: 1px solid rgba(153, 153, 153, 0.2);
|
||||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
|
||||||
padding: 2px 2px 20px 2px;
|
padding: 2px 2px 20px 2px;
|
||||||
}
|
}
|
||||||
.form-table{
|
.form-table{
|
||||||
width: 850px;
|
width: 100%;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
.progress{
|
.progress {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.progress-item{
|
margin-top: 20px;
|
||||||
margin-top: 10px;
|
|
||||||
margin-right: 10px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.progress>div{
|
.progress > div {
|
||||||
max-width: 250px;
|
width: 300px;
|
||||||
margin-right: 20px;
|
margin-right: 30px;
|
||||||
}
|
}
|
||||||
.courseName{
|
.courseName{
|
||||||
font-weight: 650;
|
font-weight: 650;
|
||||||
@@ -230,14 +246,15 @@ export default {
|
|||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.tip{
|
.tip{
|
||||||
color: #7d7c7c;
|
color: #333333;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
.score{
|
.score {
|
||||||
margin-top: 28px;
|
margin-top: 28px;
|
||||||
font-size: 20px;
|
font-size: 14px;
|
||||||
|
color: #333333;
|
||||||
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
.twoFactorAuthentication{
|
.twoFactorAuthentication{
|
||||||
width: 344px;
|
width: 344px;
|
||||||
@@ -257,4 +274,21 @@ export default {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
color: #797979;
|
color: #797979;
|
||||||
}
|
}
|
||||||
|
::v-deep .el-progress-bar__outer {
|
||||||
|
background-color: rgba(255, 160, 80, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
::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;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,18 +1,19 @@
|
|||||||
<script>
|
<script>
|
||||||
import {addTeacher, getCertificationProcess, setOfflineTutoring} from "@/api/modules/lecturer";
|
import {addTeacher, getCertificationProcess, setOfflineTutoring} from "@/api/modules/lecturer";
|
||||||
|
import processStatus from "@/components/processStatus.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "TwoCoaching",
|
name: "TwoCoaching",
|
||||||
|
components: {processStatus},
|
||||||
data(){
|
data(){
|
||||||
return{
|
return{
|
||||||
|
|
||||||
options: [],
|
options: [],
|
||||||
value: '',
|
value: '',
|
||||||
value2:'',
|
value2:'',
|
||||||
teacherId:''
|
teacherId:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
created() {
|
||||||
//读取路由参数
|
//读取路由参数
|
||||||
this.teacherId=this.$route.query.teacherId
|
this.teacherId=this.$route.query.teacherId
|
||||||
//获取老师列表
|
//获取老师列表
|
||||||
@@ -55,11 +56,12 @@ export default {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="title">线下辅导</div>
|
<process-status :teacherId="teacherId"></process-status>
|
||||||
|
<div class="title">二次线下辅导</div>
|
||||||
<el-container>
|
<el-container>
|
||||||
<div class="form-table">
|
<div class="form-table">
|
||||||
<div class="tip" style="margin-bottom: 20px;color: #d7d7d7;margin-left: 50px">您还未完成线下辅导,快去约辅导老师辅导课件吧!</div>
|
<div class="tip" style="margin-bottom: 20px;color: #d7d7d7;">您还未完成线下辅导,快去约辅导老师辅导课件吧!</div>
|
||||||
<el-form label-width="140px" >
|
<el-form>
|
||||||
<el-form-item required label="辅导老师:">
|
<el-form-item required label="辅导老师:">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="value"
|
v-model="value"
|
||||||
@@ -83,13 +85,13 @@ export default {
|
|||||||
v-model="value2"
|
v-model="value2"
|
||||||
type="date"
|
type="date"
|
||||||
placeholder="选择日期"
|
placeholder="选择日期"
|
||||||
format="yyyy 年 MM 月 dd 日"
|
format="yyyy-MM-dd HH:mm:ss"
|
||||||
value-format="yyyy-MM-dd HH:mm:ss">
|
value-format="yyyy-MM-dd HH:mm:ss">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-button type="primary" size="medium" style="margin-top: 20px;margin-left: 120px" @click="getJump()">已完成</el-button>
|
<el-button type="primary" size="medium" style="margin-top: 20px;margin-left: 70px" @click="getJump()">已完成</el-button>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div class="tip" style="margin-bottom: 20px;margin-left: 50px;color: #797979;margin-top: 24px">提示:如若未完成线下辅导,请勿点击已完成!</div>
|
<div class="tip" style="margin-bottom: 20px;margin-top: 24px;font-size: 14px;color: #333333">提示:如若未完成线下辅导,请勿点击已完成!</div>
|
||||||
</div>
|
</div>
|
||||||
</el-container>
|
</el-container>
|
||||||
|
|
||||||
@@ -99,13 +101,12 @@ export default {
|
|||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.title{
|
.title{
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 800;
|
|
||||||
width: 850px;
|
width: 850px;
|
||||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
border-bottom: 1px solid rgba(153, 153, 153, 0.2);
|
||||||
padding: 2px 2px 20px 2px;
|
padding: 2px 2px 20px 2px;
|
||||||
}
|
}
|
||||||
.form-table{
|
.form-table{
|
||||||
width: 850px;
|
width: 100%;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,100 +1,101 @@
|
|||||||
<script>
|
<script>
|
||||||
import {
|
import lecturer, {
|
||||||
addTeacher,
|
addTeacher,
|
||||||
getCertificationProcess,
|
getCertificationProcess,
|
||||||
getProgress,
|
getProgress,
|
||||||
getReviewResult,
|
getReviewResult,
|
||||||
getTeacherInfo, secondExamine
|
getTeacherInfo, secondExamine
|
||||||
} from "@/api/modules/lecturer";
|
} from "@/api/modules/lecturer";
|
||||||
|
import processStatus from "@/components/processStatus.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "TwoCos",
|
name: "TwoCos",
|
||||||
data(){
|
components: {processStatus},
|
||||||
return{
|
data() {
|
||||||
teacherId:'',
|
return {
|
||||||
form:{
|
teacherId: '',
|
||||||
teacherName:'',
|
form: {
|
||||||
teacherNo:'',
|
teacherName: '',
|
||||||
orgName:''
|
teacherNo: '',
|
||||||
|
orgName: ''
|
||||||
},
|
},
|
||||||
progressData:{},
|
progressData: {},
|
||||||
fileBaseUrl:process.env.VUE_APP_BOE_MOBILE_URL,
|
fileBaseUrl: process.env.VUE_APP_BOE_MOBILE_URL,
|
||||||
disabled:false,
|
disabled: false,
|
||||||
statusInfo:'',
|
statusInfo: '',
|
||||||
statusInfo1:'',
|
statusInfo1: '',
|
||||||
result:'',
|
result: '',
|
||||||
newTeacherId:'',
|
newTeacherId: '',
|
||||||
pid:'',
|
pid: '',
|
||||||
|
teacherInfo: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
created() {
|
||||||
//读取路由参数
|
//读取路由参数
|
||||||
this.teacherId=this.$route.query.teacherId
|
this.teacherId = this.$route.query.teacherId
|
||||||
//获取教师基本信息
|
//获取教师基本信息
|
||||||
this.baseInfo()
|
this.baseInfo()
|
||||||
},
|
},
|
||||||
methods:{
|
methods: {
|
||||||
//前往二次认证
|
|
||||||
getoFactor(){
|
|
||||||
secondExamine({teacherId:this.teacherId}).then(res=>{
|
|
||||||
this.newTeacherId=res.data.replace(/[^0-9]/ig,'')
|
|
||||||
|
|
||||||
})
|
|
||||||
},
|
|
||||||
//获取认证结果
|
//获取认证结果
|
||||||
getReviewResult(){
|
getReviewResult() {
|
||||||
getReviewResult({teacherId:this.pid}).then(res=>{
|
getReviewResult({teacherId: this.pid}).then(res => {
|
||||||
this.result=res.data
|
this.result = res.data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//获取教师认证状态
|
//获取教师认证状态
|
||||||
getStatus(){
|
getStatus() {
|
||||||
getCertificationProcess({teacherId:this.teacherId}).then(res=>{
|
getCertificationProcess({teacherId: this.teacherId}).then(res => {
|
||||||
this.statusInfo=res.data
|
this.statusInfo = res.data
|
||||||
})
|
})
|
||||||
getCertificationProcess({teacherId:this.pid}).then(res=>{
|
getCertificationProcess({teacherId: this.pid}).then(res => {
|
||||||
this.statusInfo1=res.data
|
this.statusInfo1 = res.data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
baseInfo(){
|
baseInfo() {
|
||||||
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
getTeacherInfo({teacherId: this.teacherId}).then(res => {
|
||||||
|
this.pid = res.data[0].pid
|
||||||
|
this.form.tutor = res.data[0].tutor.split(',')
|
||||||
|
this.form.tutorTime = res.data[0].tutorTime
|
||||||
|
getTeacherInfo({teacherId: res.data[0].pid}).then(resquest => {
|
||||||
|
this.teacherInfo = resquest.data[0]
|
||||||
|
this.form.teacherName = resquest.data[0].teacherName
|
||||||
|
this.form.teacherNo = resquest.data[0].teacherNo
|
||||||
|
this.form.orgName = resquest.data[0].orgName
|
||||||
|
this.form.positionName = resquest.data[0].positionName
|
||||||
|
this.form.bandCode = resquest.data[0].bandCode
|
||||||
|
this.form.courseName = resquest.data[0].courseName
|
||||||
|
this.form.courseContent = resquest.data[0].courseContent
|
||||||
|
this.form.courseIntroduction = resquest.data[0].courseIntroduction
|
||||||
|
if (res.data[0].examineCourseware == '' || resquest.data[0].examineCourseware == null) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.form.coursewareName = resquest.data[0].examineCourseware.coursewareName
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取学习进度
|
||||||
|
this.addTeacher()
|
||||||
|
this.getStatus()
|
||||||
|
this.getReviewResult()
|
||||||
|
})
|
||||||
/*
|
/*
|
||||||
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
||||||
* courseIntroduction:课程简介
|
* courseIntroduction:课程简介
|
||||||
* */
|
* */
|
||||||
this.form.teacherName=res.data[0].teacherName
|
|
||||||
this.form.teacherNo=res.data[0].teacherNo
|
|
||||||
this.form.orgName=res.data[0].orgName
|
|
||||||
this.form.positionName=res.data[0].positionName
|
|
||||||
this.form.bandCode=res.data[0].bandCode
|
|
||||||
this.form.courseName=res.data[0].courseName
|
|
||||||
this.form.courseContent=res.data[0].courseContent
|
|
||||||
this.form.courseIntroduction=res.data[0].courseIntroduction
|
|
||||||
if (res.data[0].examineCourseware==''||res.data[0].examineCourseware==null){
|
|
||||||
|
|
||||||
}else {
|
|
||||||
this.form.coursewareName=res.data[0].examineCourseware.coursewareName
|
|
||||||
}
|
|
||||||
this.form.tutor=res.data[0].tutor.split(',')
|
|
||||||
this.form.tutorTime=res.data[0].tutorTime
|
|
||||||
this.pid=res.data[0].pid
|
|
||||||
//获取学习进度
|
|
||||||
this.addTeacher()
|
|
||||||
this.getStatus()
|
|
||||||
this.getReviewResult()
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
addTeacher(){
|
addTeacher() {
|
||||||
addTeacher({pageNo:1,pageSize:10,keyword:this.form.teacherNo}).then(res=>{
|
addTeacher({pageNo: 1, pageSize: 10, keyword: this.form.teacherNo}).then(res => {
|
||||||
this.getProgress(res.data[0].id)
|
this.getProgress(res.data[0].id)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getProgress(id){
|
getProgress(id) {
|
||||||
getProgress({teacherId:id}).then(res=>{
|
getProgress({teacherId: id}).then(res => {
|
||||||
this.progressData=res.data
|
this.progressData = res.data
|
||||||
res.data.forEach((item,index)=>{
|
res.data.forEach((item, index) => {
|
||||||
if (item.progress!=100){
|
if (item.progress != 100) {
|
||||||
this.disabled=true
|
this.disabled = true
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -103,98 +104,126 @@ export default {
|
|||||||
format(percentage) {
|
format(percentage) {
|
||||||
return percentage === 100 ? '满' : `${percentage}%`;
|
return percentage === 100 ? '满' : `${percentage}%`;
|
||||||
},
|
},
|
||||||
getJump(){
|
getJump() {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path:'/need/twofinal',
|
path: '/need/twofinal',
|
||||||
query:{teacherId:this.teacherId}
|
query: {teacherId: this.teacherId}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
toCaseData(courseId){
|
toCaseData(courseId) {
|
||||||
this.$router.push("/course/studyindex?id=" + courseId);
|
this.$router.push("/course/studyindex?id=" + courseId);
|
||||||
|
},
|
||||||
|
downloadFile() {
|
||||||
|
lecturer.exportPdf({coursewareId: this.teacherInfo.examineCourseware.id}).then(res => {
|
||||||
|
if (res.status) {
|
||||||
|
this.$message.error('导出失败');
|
||||||
|
} else {
|
||||||
|
const link = document.createElement('a');// 创建a标签
|
||||||
|
let blob = new Blob([res], {type: 'application/vnd.;charset=UTF-8'}); // 设置文件类型
|
||||||
|
link.style.display = "none";
|
||||||
|
link.href = URL.createObjectURL(blob); // 创建URL
|
||||||
|
link.setAttribute("download", this.teacherInfo.examineCourseware.coursewareName);
|
||||||
|
document.body.appendChild(link);
|
||||||
|
link.click();
|
||||||
|
document.body.removeChild(link);
|
||||||
|
this.dialogVisible = false;
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
|
<process-status :teacherId="teacherId"></process-status>
|
||||||
<div class="title">基本信息</div>
|
<div class="title">基本信息</div>
|
||||||
<el-container>
|
<el-container>
|
||||||
<div class="form-table">
|
<div class="form-table">
|
||||||
<el-form label-width="140px">
|
<el-form>
|
||||||
<div>
|
<div>
|
||||||
<el-col :span="10">
|
<el-col :span="11">
|
||||||
<el-form-item label="姓名:">
|
<el-form-item label="姓名:">
|
||||||
{{form.teacherName}}
|
{{ form.teacherName }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="10" :offset="4">
|
<el-col :span="11" :offset="2">
|
||||||
<el-form-item label="工号:">
|
<el-form-item label="工号:">
|
||||||
{{form.teacherNo}}
|
{{ form.teacherNo }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</div>
|
</div>
|
||||||
<el-form-item label="组织:">
|
|
||||||
{{form.orgName}}
|
|
||||||
</el-form-item>
|
|
||||||
<div>
|
<div>
|
||||||
<el-col :span="10">
|
<el-col :span="11">
|
||||||
<el-form-item label="岗位:">
|
<el-form-item label="组织:">
|
||||||
{{form.positionName}}
|
{{ form.orgName }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="10" :offset="4">
|
<el-col :span="11" :offset="2">
|
||||||
<el-form-item label="职级:">
|
<el-form-item label="岗位:">
|
||||||
{{form.bandCode}}
|
{{ form.positionName }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-col :span="11">
|
||||||
|
<el-form-item label="认证课程名称:" prop="courseName">
|
||||||
|
{{ form.courseName }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="11" :offset="2">
|
||||||
|
<el-form-item label="课程内容分类:" prop="courseContent">
|
||||||
|
{{ form.courseContent }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</div>
|
</div>
|
||||||
<el-form-item label="认证课程名称:" prop="courseName">
|
|
||||||
{{form.courseName}}
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="课程内容分类:" prop="courseContent">
|
|
||||||
{{form.courseContent}}
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="课程简介:" prop="courseIntroduction">
|
<el-form-item label="课程简介:" prop="courseIntroduction">
|
||||||
{{form.courseIntroduction}}
|
{{ form.courseIntroduction }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="初稿课件:" prop="courseIntroduction">
|
<el-form-item label="终稿课件:" prop="courseIntroduction">
|
||||||
{{form.coursewareName}} <span style="color: #1378f6;display: inline-block;margin-left: 16px">查看</span>
|
{{ form.coursewareName }} <span
|
||||||
|
style="color: #1378f6;display: inline-block;margin-left: 16px;cursor: pointer;"
|
||||||
|
@click="downloadFile">查看</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
</el-container>
|
</el-container>
|
||||||
<div class="title" style="margin-top: 20px">线上课程</div>
|
<div class="title" style="margin-top: 20px">线上课程</div>
|
||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div v-for="(item,index) in progressData" :key="item">
|
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
||||||
<div class="progress-item" @click="toCaseData(item.courseId)">
|
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
<img style="width: 100%;" v-if="item.courseImage!=''" :src="item.courseImage">
|
||||||
<img style="width: 100%;" v-if="item.courseImage!=''" :src="item.courseImage">
|
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
||||||
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
|
||||||
</div>
|
|
||||||
<div class="courseName">{{item.courseName}}</div>
|
|
||||||
<div class="smallTitle">当前进度</div>
|
|
||||||
<el-progress :percentage="item.progress" :format="format"></el-progress>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="courseName">{{ item.courseName }}</div>
|
||||||
|
<div class="smallTitle">当前进度</div>
|
||||||
|
<el-progress :percentage="parseInt(item.progress)"
|
||||||
|
:color="parseInt(item.progress)=='100'?'#31AF0D':'#FFA050'"></el-progress>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="title" style="margin-top: 20px">认证结果</div>
|
<div class="title" style="margin-top: 20px">认证结果</div>
|
||||||
<div v-if="result.reviewResult==2" class="score" style="color: #797979">请您耐心等待线下认证安排!</div>
|
<div v-if="result.reviewResult==2" class="score" style="color: #797979">请您耐心等待线下认证安排!</div>
|
||||||
<div v-if="result.reviewResult==0" class="score" style="color: #4b7900;">恭喜您,您的认证分数为{{ result.avgScore }}分,已经通过认证!</div>
|
<div v-if="result.reviewResult==0" class="score" style="color: #4b7900;">恭喜您,您的认证分数为{{
|
||||||
<div v-if="result.reviewResult==1" class="score" style="color: #ff0000">很遗憾,您的认证分数为{{ result.avgScore }}分,没有通过认证!</div>
|
result.avgScore
|
||||||
|
}}分,已经通过认证!
|
||||||
|
</div>
|
||||||
|
<div v-if="result.reviewResult==1" class="score" style="color: #ff0000">很遗憾,您的认证分数为{{
|
||||||
|
result.avgScore
|
||||||
|
}}分,没有通过认证!
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="title" style="margin-top: 20px">二次线下辅导</div>
|
<div class="title" style="margin-top: 20px">二次线下辅导</div>
|
||||||
<el-container>
|
<el-container>
|
||||||
<div class="form-table">
|
<div class="form-table">
|
||||||
<el-form label-width="140px">
|
<el-form>
|
||||||
<el-form-item label="辅导老师:">
|
<el-form-item label="辅导老师:">
|
||||||
<span v-for="(item,index) in form.tutor" :key="item" style="display: inline-block;margin-right: 20px">{{item}}</span>
|
<span v-for="(item,index) in form.tutor" :key="item"
|
||||||
|
style="display: inline-block;margin-right: 20px">{{ item }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="辅导时间:">
|
<el-form-item label="辅导时间:">
|
||||||
{{form.tutorTime}}
|
{{ form.tutorTime }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@@ -204,63 +233,69 @@ export default {
|
|||||||
<div class="tip">
|
<div class="tip">
|
||||||
提示:您已完成线下辅导,快去进行下一步吧!
|
提示:您已完成线下辅导,快去进行下一步吧!
|
||||||
</div>
|
</div>
|
||||||
<el-button type="primary" style="margin-top: 20px;margin-left: 80px" @click="getJump()">下一步</el-button>
|
<el-button type="primary" style="margin-top: 20px;" @click="getJump()">下一步</el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.title{
|
.title {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
width: 850px;
|
border-bottom: 1px solid rgba(153, 153, 153, 0.2);
|
||||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
|
||||||
padding: 2px 2px 20px 2px;
|
padding: 2px 2px 20px 2px;
|
||||||
}
|
}
|
||||||
.form-table{
|
|
||||||
width: 850px;
|
.form-table {
|
||||||
|
width: 100%;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
.progress{
|
|
||||||
|
.progress {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.progress-item{
|
margin-top: 20px;
|
||||||
margin-top: 10px;
|
|
||||||
margin-right: 10px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.progress>div{
|
|
||||||
max-width: 250px;
|
.progress > div {
|
||||||
margin-right: 20px;
|
width: 300px;
|
||||||
|
margin-right: 30px;
|
||||||
}
|
}
|
||||||
.courseName{
|
|
||||||
|
.courseName {
|
||||||
font-weight: 650;
|
font-weight: 650;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
}
|
}
|
||||||
.smallTitle{
|
|
||||||
color:#134054;
|
.smallTitle {
|
||||||
font-size:12px;
|
color: #134054;
|
||||||
|
font-size: 12px;
|
||||||
margin-top: 7px;
|
margin-top: 7px;
|
||||||
}
|
}
|
||||||
::v-deep .el-form-item__content{
|
|
||||||
|
::v-deep .el-form-item__content {
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
::v-deep .el-form-item{
|
|
||||||
|
::v-deep .el-form-item {
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.tip{
|
|
||||||
color: #7d7c7c;
|
.tip {
|
||||||
|
color: #333333;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
.score{
|
|
||||||
margin-top: 28px;
|
|
||||||
font-size: 20px;
|
|
||||||
|
|
||||||
|
.score {
|
||||||
|
margin-top: 28px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333333;
|
||||||
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
.twoFactorAuthentication{
|
|
||||||
|
.twoFactorAuthentication {
|
||||||
width: 344px;
|
width: 344px;
|
||||||
height: 135px;
|
height: 135px;
|
||||||
padding: 2px 2px 2px 2px;
|
padding: 2px 2px 2px 2px;
|
||||||
@@ -273,9 +308,27 @@ export default {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.remind {
|
.remind {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
color: #797979;
|
color: #797979;
|
||||||
}
|
}
|
||||||
|
::v-deep .el-progress-bar__outer {
|
||||||
|
background-color: rgba(255, 160, 80, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
::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;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
<script>
|
<script>
|
||||||
import {mapActions, mapGetters} from "vuex";
|
import {mapActions, mapGetters} from "vuex";
|
||||||
import {getCertificationProcess, getTeacherInfo, setOfflineTutoring, treeList} from "@/api/modules/lecturer"
|
import {getCertificationProcess, getTeacherInfo, setOfflineTutoring, treeList} from "@/api/modules/lecturer"
|
||||||
|
import processStatus from "@/components/processStatus.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "TwoFinal",
|
name: "TwoFinal",
|
||||||
|
components: {processStatus},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(['userInfo'])
|
...mapGetters(['userInfo'])
|
||||||
},
|
},
|
||||||
@@ -36,14 +38,14 @@ export default {
|
|||||||
rules: {
|
rules: {
|
||||||
courseName: [
|
courseName: [
|
||||||
{required: true, message: '请输入认证课程名称', trigger: 'change'},
|
{required: true, message: '请输入认证课程名称', trigger: 'change'},
|
||||||
{ min: 1, max: 50, message: '最多五十字', trigger: 'blur' }
|
{ min: 1, max: 30, message: '最多30字', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
courseContent_1: [
|
courseContent_1: [
|
||||||
{required: true, message: '请选择课程分类', trigger: 'change'}
|
{required: true, message: '请选择课程分类', trigger: 'change'}
|
||||||
],
|
],
|
||||||
courseIntroduction: [
|
courseIntroduction: [
|
||||||
{required: true, message: '请输入课程简介', trigger: 'change'},
|
{required: true, message: '请输入课程简介', trigger: 'change'},
|
||||||
{ min: 1, max: 500, message: '最多五百字', trigger: 'blur' }
|
{ min: 1, max: 150, message: '最多150字', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -143,7 +145,7 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
created() {
|
||||||
//获取基本信息
|
//获取基本信息
|
||||||
this.teacherId=this.$route.query.teacherId
|
this.teacherId=this.$route.query.teacherId
|
||||||
this.baseInfo()
|
this.baseInfo()
|
||||||
@@ -157,7 +159,8 @@ export default {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="title">上传初稿</div>
|
<process-status :teacherId="teacherId"></process-status>
|
||||||
|
<div class="title">二次认证-上传终稿</div>
|
||||||
<el-container>
|
<el-container>
|
||||||
<div class="form-table">
|
<div class="form-table">
|
||||||
<el-form ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="140px">
|
<el-form ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="140px">
|
||||||
@@ -192,12 +195,12 @@ export default {
|
|||||||
<el-input v-model="form.courseName" placeholder="请输入认证课程名称"></el-input>
|
<el-input v-model="form.courseName" placeholder="请输入认证课程名称"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="课程内容分类:" prop="courseContent_1">
|
<el-form-item label="课程内容分类:" prop="courseContent_1">
|
||||||
<el-cascader placeholder="选择内容分类" style="width: 90%;" clearable v-model="form.courseContent_1" :props="sysProps" :options="sysTypeListMap"></el-cascader>
|
<el-cascader placeholder="选择内容分类" style="width: 100%;" clearable v-model="form.courseContent_1" :props="sysProps" :options="sysTypeListMap"></el-cascader>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="课程简介:" prop="courseIntroduction">
|
<el-form-item label="课程简介:" prop="courseIntroduction">
|
||||||
<el-input type="textarea" v-model="form.courseIntroduction"></el-input>
|
<el-input type="textarea" rows="5" v-model="form.courseIntroduction"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<div style="margin-left: 140px;margin-bottom: 20px">
|
<el-form-item label="上传终稿:" required>
|
||||||
<el-upload
|
<el-upload
|
||||||
class="upload-demo"
|
class="upload-demo"
|
||||||
drag
|
drag
|
||||||
@@ -212,7 +215,7 @@ export default {
|
|||||||
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
||||||
<div class="el-upload__tip" slot="tip">请上传解密后的文件,仅支持上传ppt,pptx,pdf格式文件</div>
|
<div class="el-upload__tip" slot="tip">请上传解密后的文件,仅支持上传ppt,pptx,pdf格式文件</div>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</div>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="onSubmit('form')">提交</el-button>
|
<el-button type="primary" @click="onSubmit('form')">提交</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -226,12 +229,11 @@ export default {
|
|||||||
.title{
|
.title{
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
width: 850px;
|
border-bottom: 1px solid rgba(153, 153, 153, 0.2);
|
||||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
|
||||||
padding: 2px 2px 20px 2px;
|
padding: 2px 2px 20px 2px;
|
||||||
}
|
}
|
||||||
.form-table{
|
.form-table{
|
||||||
width: 850px;
|
width: 100%;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
.iconImg{
|
.iconImg{
|
||||||
|
|||||||
@@ -1,14 +1,16 @@
|
|||||||
<script>
|
<script>
|
||||||
import {
|
import lecturer, {
|
||||||
addTeacher,
|
addTeacher,
|
||||||
getCertificationProcess,
|
getCertificationProcess,
|
||||||
getProgress,
|
getProgress,
|
||||||
getReviewResult,
|
getReviewResult,
|
||||||
getTeacherInfo, secondExamine
|
getTeacherInfo, secondExamine
|
||||||
} from "@/api/modules/lecturer";
|
} from "@/api/modules/lecturer";
|
||||||
|
import processStatus from "@/components/processStatus.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "TwoFinals",
|
name: "TwoFinals",
|
||||||
|
components: {processStatus},
|
||||||
data(){
|
data(){
|
||||||
return{
|
return{
|
||||||
teacherId:'',
|
teacherId:'',
|
||||||
@@ -26,21 +28,16 @@ export default {
|
|||||||
result1:'',
|
result1:'',
|
||||||
newTeacherId:'',
|
newTeacherId:'',
|
||||||
pid:'',
|
pid:'',
|
||||||
|
teacherInfo:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
created() {
|
||||||
//读取路由参数
|
//读取路由参数
|
||||||
this.teacherId=this.$route.query.teacherId
|
this.teacherId=this.$route.query.teacherId
|
||||||
//获取教师基本信息
|
//获取教师基本信息
|
||||||
this.baseInfo()
|
this.baseInfo()
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
//前往二次认证
|
|
||||||
getoFactor(){
|
|
||||||
secondExamine({teacherId:this.teacherId}).then(res=>{
|
|
||||||
this.newTeacherId=res.data.replace(/[^0-9]/ig,'')
|
|
||||||
})
|
|
||||||
},
|
|
||||||
//获取认证结果
|
//获取认证结果
|
||||||
getReviewResult(){
|
getReviewResult(){
|
||||||
getReviewResult({teacherId:this.teacherId}).then(res=>{
|
getReviewResult({teacherId:this.teacherId}).then(res=>{
|
||||||
@@ -61,6 +58,7 @@ export default {
|
|||||||
},
|
},
|
||||||
baseInfo(){
|
baseInfo(){
|
||||||
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
||||||
|
this.teacherInfo = res.data[0]
|
||||||
/*
|
/*
|
||||||
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
||||||
* courseIntroduction:课程简介
|
* courseIntroduction:课程简介
|
||||||
@@ -114,6 +112,23 @@ export default {
|
|||||||
},
|
},
|
||||||
toCaseData(courseId){
|
toCaseData(courseId){
|
||||||
this.$router.push("/course/studyindex?id=" + courseId);
|
this.$router.push("/course/studyindex?id=" + courseId);
|
||||||
|
},
|
||||||
|
downloadFile() {
|
||||||
|
lecturer.exportPdf({coursewareId: this.teacherInfo.examineCourseware.id}).then(res => {
|
||||||
|
if (res.status) {
|
||||||
|
this.$message.error('导出失败');
|
||||||
|
} else {
|
||||||
|
const link = document.createElement('a');// 创建a标签
|
||||||
|
let blob = new Blob([res], {type: 'application/vnd.;charset=UTF-8'}); // 设置文件类型
|
||||||
|
link.style.display = "none";
|
||||||
|
link.href = URL.createObjectURL(blob); // 创建URL
|
||||||
|
link.setAttribute("download", this.teacherInfo.examineCourseware.coursewareName);
|
||||||
|
document.body.appendChild(link);
|
||||||
|
link.click();
|
||||||
|
document.body.removeChild(link);
|
||||||
|
this.dialogVisible = false;
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -122,69 +137,74 @@ export default {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
|
<process-status :teacherId="teacherId"></process-status>
|
||||||
<div class="title">基本信息</div>
|
<div class="title">基本信息</div>
|
||||||
<el-container>
|
<el-container>
|
||||||
<div class="form-table">
|
<div class="form-table">
|
||||||
<el-form label-width="140px">
|
<el-form>
|
||||||
<div>
|
<div>
|
||||||
<el-col :span="10">
|
<el-col :span="11">
|
||||||
<el-form-item label="姓名:">
|
<el-form-item label="姓名:">
|
||||||
{{form.teacherName}}
|
{{ form.teacherName }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="10" :offset="4">
|
<el-col :span="11" :offset="2">
|
||||||
<el-form-item label="工号:">
|
<el-form-item label="工号:">
|
||||||
{{form.teacherNo}}
|
{{ form.teacherNo }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</div>
|
</div>
|
||||||
<el-form-item label="组织:">
|
|
||||||
{{form.orgName}}
|
|
||||||
</el-form-item>
|
|
||||||
<div>
|
<div>
|
||||||
<el-col :span="10">
|
<el-col :span="11">
|
||||||
<el-form-item label="岗位:">
|
<el-form-item label="组织:">
|
||||||
{{form.positionName}}
|
{{ form.orgName }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="10" :offset="4">
|
<el-col :span="11" :offset="2">
|
||||||
<el-form-item label="职级:">
|
<el-form-item label="岗位:">
|
||||||
{{form.bandCode}}
|
{{ form.positionName }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-col :span="11">
|
||||||
|
<el-form-item label="认证课程名称:" prop="courseName">
|
||||||
|
{{ form.courseName }}
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="11" :offset="2">
|
||||||
|
<el-form-item label="课程内容分类:" prop="courseContent">
|
||||||
|
{{ form.courseContent }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</div>
|
</div>
|
||||||
<el-form-item label="认证课程名称:" prop="courseName">
|
|
||||||
{{form.courseName}}
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="课程内容分类:" prop="courseContent">
|
|
||||||
{{form.courseContent}}
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="课程简介:" prop="courseIntroduction">
|
<el-form-item label="课程简介:" prop="courseIntroduction">
|
||||||
{{form.courseIntroduction}}
|
{{ form.courseIntroduction }}
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="初稿课件:" prop="courseIntroduction">
|
<el-form-item label="终稿课件:" prop="courseIntroduction">
|
||||||
{{form.coursewareName}} <span style="color: #1378f6;display: inline-block;margin-left: 16px">查看</span>
|
{{ form.coursewareName }} <span
|
||||||
|
style="color: #1378f6;display: inline-block;margin-left: 16px;cursor: pointer;"
|
||||||
|
@click="downloadFile">查看</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
</el-container>
|
</el-container>
|
||||||
<div class="title" style="margin-top: 20px">线上课程</div>
|
<div class="title" style="margin-top: 20px">线上课程</div>
|
||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div v-for="(item,index) in progressData" :key="item">
|
<div v-for="(item,index) in progressData" :key="index" @click="toCaseData(item.courseId)">
|
||||||
<div class="progress-item" @click="toCaseData(item.courseId)">
|
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
<img style="width: 100%;" v-if="item.courseImage!=''" :src="item.courseImage">
|
||||||
<img style="width: 100%;" v-if="item.courseImage!=''" :src="item.courseImage">
|
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
||||||
<img style="width: 100%;" v-else :src="fileBaseUrl+'/pc/images/bgimg/course.png'">
|
|
||||||
</div>
|
|
||||||
<div class="courseName">{{item.courseName}}</div>
|
|
||||||
<div class="smallTitle">当前进度</div>
|
|
||||||
<el-progress :percentage="item.progress" :format="format"></el-progress>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="courseName">{{ item.courseName }}</div>
|
||||||
|
<div class="smallTitle">当前进度</div>
|
||||||
|
<el-progress :percentage="parseInt(item.progress)"
|
||||||
|
:color="parseInt(item.progress)=='100'?'#31AF0D':'#FFA050'"></el-progress>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="title" style="margin-top: 20px">认证结果</div>
|
<div class="title" style="margin-top: 20px">认证结果</div>
|
||||||
<div v-if="result1.reviewResult==2" class="score" style="color: #797979">请您耐心等待线下认证安排!</div>
|
<div v-if="result1.reviewResult==2" class="score">请您耐心等待线下认证安排!</div>
|
||||||
<div v-if="result1.reviewResult==0" class="score" style="color: #4b7900;">恭喜您,您的认证分数为{{ result1.avgScore }}分,已经通过认证!</div>
|
<div v-if="result1.reviewResult==0" class="score" style="color: #4b7900;">恭喜您,您的认证分数为{{ result1.avgScore }}分,已经通过认证!</div>
|
||||||
<div v-if="result1.reviewResult==1" class="score" style="color: #ff0000">很遗憾,您的认证分数为{{ result1.avgScore }}分,没有通过认证!</div>
|
<div v-if="result1.reviewResult==1" class="score" style="color: #ff0000">很遗憾,您的认证分数为{{ result1.avgScore }}分,没有通过认证!</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -192,7 +212,7 @@ export default {
|
|||||||
<div class="title" style="margin-top: 20px">二次线下辅导</div>
|
<div class="title" style="margin-top: 20px">二次线下辅导</div>
|
||||||
<el-container>
|
<el-container>
|
||||||
<div class="form-table">
|
<div class="form-table">
|
||||||
<el-form label-width="140px">
|
<el-form>
|
||||||
<el-form-item label="辅导老师:">
|
<el-form-item label="辅导老师:">
|
||||||
<span v-for="(item,index) in form.tutor" :key="item" style="display: inline-block;margin-right: 20px">{{item}}</span>
|
<span v-for="(item,index) in form.tutor" :key="item" style="display: inline-block;margin-right: 20px">{{item}}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -205,7 +225,7 @@ export default {
|
|||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="title" style="margin-top: 20px">二次认证结果</div>
|
<div class="title" style="margin-top: 20px">二次认证结果</div>
|
||||||
<div v-if="result.reviewResult==2" class="score" style="color: #797979">请您耐心等待线下认证安排!</div>
|
<div v-if="result.reviewResult==2" class="score">请您耐心等待线下认证安排!</div>
|
||||||
<div v-if="result.reviewResult==0" class="score" style="color: #4b7900;">恭喜您,您的认证分数为{{ result.avgScore }}分,已经通过认证!</div>
|
<div v-if="result.reviewResult==0" class="score" style="color: #4b7900;">恭喜您,您的认证分数为{{ result.avgScore }}分,已经通过认证!</div>
|
||||||
<div v-if="result.reviewResult==1" class="score" style="color: #ff0000">很遗憾,您的认证分数为{{ result.avgScore }}分,没有通过认证!</div>
|
<div v-if="result.reviewResult==1" class="score" style="color: #ff0000">很遗憾,您的认证分数为{{ result.avgScore }}分,没有通过认证!</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -216,26 +236,21 @@ export default {
|
|||||||
.title{
|
.title{
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
width: 850px;
|
border-bottom: 1px solid rgba(153, 153, 153, 0.2);
|
||||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
|
||||||
padding: 2px 2px 20px 2px;
|
padding: 2px 2px 20px 2px;
|
||||||
}
|
}
|
||||||
.form-table{
|
.form-table{
|
||||||
width: 850px;
|
width: 100%;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
.progress{
|
.progress {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.progress-item{
|
margin-top: 20px;
|
||||||
margin-top: 10px;
|
|
||||||
margin-right: 10px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.progress>div{
|
.progress > div {
|
||||||
max-width: 250px;
|
width: 300px;
|
||||||
margin-right: 20px;
|
margin-right: 30px;
|
||||||
}
|
}
|
||||||
.courseName{
|
.courseName{
|
||||||
font-weight: 650;
|
font-weight: 650;
|
||||||
@@ -255,14 +270,15 @@ export default {
|
|||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
.tip{
|
.tip{
|
||||||
color: #7d7c7c;
|
color: #333333;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
.score{
|
.score {
|
||||||
margin-top: 28px;
|
margin-top: 28px;
|
||||||
font-size: 20px;
|
font-size: 14px;
|
||||||
|
color: #333333;
|
||||||
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
.twoFactorAuthentication{
|
.twoFactorAuthentication{
|
||||||
width: 344px;
|
width: 344px;
|
||||||
@@ -282,4 +298,21 @@ export default {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
color: #797979;
|
color: #797979;
|
||||||
}
|
}
|
||||||
|
::v-deep .el-progress-bar__outer {
|
||||||
|
background-color: rgba(255, 160, 80, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
::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;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user