提交讲师
@@ -24,7 +24,7 @@ VUE_APP_BOE_MOBILE_URL = 'https://u-pre.boe.com'
|
||||
|
||||
# File路径的基础url
|
||||
# VUE_APP_FILE_BASE_URL = 'http://127.0.0.1:9090/cdn/upload'
|
||||
VUE_APP_FILE_BASE_URL='https://u-pre.boe.com/upload'
|
||||
VUE_APP_FILE_BASE_URL='https://pretest.zcwytd.com/upload'
|
||||
|
||||
# File路径的基础url的相对路径,加此项是为了不影响之前的路径配置
|
||||
VUE_APP_FILE_RELATIVE_PATH = '/upload'
|
||||
|
||||
184
package-lock.json
generated
@@ -1877,18 +1877,63 @@
|
||||
"webpack-merge": "^4.2.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"color-convert": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"big.js": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
|
||||
"integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
|
||||
"dev": true
|
||||
},
|
||||
"chalk": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
|
||||
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"color-name": "~1.1.4"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"emojis-list": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
|
||||
"integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==",
|
||||
"dev": true
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"html-webpack-plugin": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz",
|
||||
@@ -1921,6 +1966,63 @@
|
||||
"json5": "^0.5.0",
|
||||
"object-assign": "^4.0.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"vue-loader-v16": {
|
||||
"version": "npm:vue-loader@16.8.3",
|
||||
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
|
||||
"integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"chalk": "^4.1.0",
|
||||
"hash-sum": "^2.0.0",
|
||||
"loader-utils": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"big.js": {
|
||||
"version": "5.2.2",
|
||||
"resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz",
|
||||
"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"emojis-list": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz",
|
||||
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"json5": {
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz",
|
||||
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"loader-utils": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
|
||||
"integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"big.js": "^5.2.2",
|
||||
"emojis-list": "^3.0.0",
|
||||
"json5": "^2.1.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2711,6 +2813,11 @@
|
||||
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
|
||||
"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
|
||||
},
|
||||
"bignumber.js": {
|
||||
"version": "9.1.2",
|
||||
"resolved": "https://registry.npmmirror.com/bignumber.js/-/bignumber.js-9.1.2.tgz",
|
||||
"integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug=="
|
||||
},
|
||||
"binary-extensions": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
|
||||
@@ -7252,6 +7359,14 @@
|
||||
"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
|
||||
"dev": true
|
||||
},
|
||||
"json-bigint": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/json-bigint/-/json-bigint-1.0.0.tgz",
|
||||
"integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
|
||||
"requires": {
|
||||
"bignumber.js": "^9.0.0"
|
||||
}
|
||||
},
|
||||
"json-parse-better-errors": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
|
||||
@@ -12565,75 +12680,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"vue-loader-v16": {
|
||||
"version": "npm:vue-loader@16.8.3",
|
||||
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
|
||||
"integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"chalk": "^4.1.0",
|
||||
"hash-sum": "^2.0.0",
|
||||
"loader-utils": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"color-convert": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
||||
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"color-name": "~1.1.4"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"vue-pdf": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/vue-pdf/-/vue-pdf-4.3.0.tgz",
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
"fuse.js": "^6.4.6",
|
||||
"image-conversion": "^2.1.1",
|
||||
"jsencrypt": "^3.2.1",
|
||||
"json-bigint": "^1.0.0",
|
||||
"mockjs": "^1.1.0",
|
||||
"moment": "^2.29.1",
|
||||
"nprogress": "^0.2.0",
|
||||
|
||||
48
src/api/modules/lecturer.js
Normal file
@@ -0,0 +1,48 @@
|
||||
import ajax from '../unionAjax.js';
|
||||
const baseURL = '';
|
||||
|
||||
export const pageList = function(query) {
|
||||
return ajax.postJson(baseURL,'/activityApi/certification/list',query);
|
||||
}
|
||||
|
||||
export const getTeacherInfo = function(query) {
|
||||
return ajax.postJson(baseURL,'/activityApi/teacher/getTeacherInfo',query);
|
||||
}
|
||||
|
||||
export const getProgress = function(query) {
|
||||
return ajax.postJson(baseURL,'/activityApi/certification/getProgress',query);
|
||||
}
|
||||
export const addTeacher = function(query) {
|
||||
return ajax.postJson(baseURL,'/activityApi/teacher/addTeacher',query);
|
||||
}
|
||||
|
||||
export const getCertificationProcess = function(query) {
|
||||
return ajax.postJson(baseURL,'/activityApi/teacher/getCertificationProcess',query);
|
||||
}
|
||||
|
||||
export const setOfflineTutoring = function(query) {
|
||||
return ajax.postJson(baseURL,'/activityApi/certification/setOfflineTutoring',query);
|
||||
}
|
||||
|
||||
|
||||
export const treeList = function() {
|
||||
return ajax.get(baseURL,'/systemapi/xboe/type/tree-list?sysResType=1&status=1');
|
||||
}
|
||||
|
||||
export const getReviewResult = function(query) {
|
||||
return ajax.postJson(baseURL,'/activityApi/certification/getReviewResult',query);
|
||||
}
|
||||
|
||||
export const secondExamine = function(query) {
|
||||
return ajax.postJson(baseURL,'/activityApi/certification/secondExamine',query);
|
||||
}
|
||||
|
||||
export default {
|
||||
pageList,
|
||||
getTeacherInfo,
|
||||
treeList,
|
||||
getCertificationProcess,
|
||||
setOfflineTutoring,
|
||||
getReviewResult,
|
||||
secondExamine
|
||||
}
|
||||
BIN
src/assets/images/authentication.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
src/assets/images/authentication1.png
Normal file
|
After Width: | Height: | Size: 9.0 KiB |
BIN
src/assets/images/authentication2.png
Normal file
|
After Width: | Height: | Size: 9.0 KiB |
BIN
src/assets/images/coaching.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/images/coaching1.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/images/coaching2.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/images/draft.png
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
BIN
src/assets/images/draft1.png
Normal file
|
After Width: | Height: | Size: 9.6 KiB |
BIN
src/assets/images/draft2.png
Normal file
|
After Width: | Height: | Size: 9.6 KiB |
BIN
src/assets/images/firstDraft.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
src/assets/images/firstDraft1.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
src/assets/images/firstDraft2.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
src/assets/images/learn.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/images/learn1.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/images/learn2.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
@@ -14,7 +14,7 @@
|
||||
:default-active="activeMenu"
|
||||
router
|
||||
active-text-color="#3379FB"
|
||||
:default-openeds="['manageTodo','manageFinish','teacherTodo','teacherFinish','myqa','notice','mystudy', 'course', 'exam', 'u001', 'u002', 'u003', 'u004','mylecnotes','mycaseRecord']"
|
||||
:default-openeds="['manageTodo','manageFinish','teacherTodo','teacherFinish','lecturer','myqa','notice','mystudy', 'course', 'exam', 'u001', 'u002', 'u003', 'u004','mylecnotes','mycaseRecord']"
|
||||
class="el-menu-vertical"
|
||||
@open="handleOpen"
|
||||
@close="handleClose"
|
||||
@@ -166,7 +166,6 @@
|
||||
<span slot="title" class="textl">已审核的课程</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="/need/qafinish">
|
||||
<!-- <i class="el-icon-menu"></i> -->
|
||||
<span slot="title" class="textl">已回答问题</span>
|
||||
</el-menu-item>
|
||||
</el-submenu>
|
||||
@@ -195,10 +194,13 @@
|
||||
</el-menu-item>
|
||||
-->
|
||||
</el-submenu>
|
||||
<!-- <el-menu-item index="/user/tools" v-show="curIdentity == 2">
|
||||
<i class="el-icon-menu"></i>
|
||||
<span slot="title">功能百宝箱</span>
|
||||
</el-menu-item> -->
|
||||
<el-menu-item index="/need/lecturer" v-show="curIdentity == 2">
|
||||
<template slot="title">
|
||||
<svg-icon icon-class="lecturer" style="font-size:16px"></svg-icon>
|
||||
<span>讲师认证</span>
|
||||
<div v-if="instructor==''" 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">1</div>
|
||||
</template>
|
||||
</el-menu-item>
|
||||
<el-submenu index="u004" v-show="curIdentity == 2">
|
||||
<template slot="title">
|
||||
<i class="el-icon-s-grid" style="color:#0165FF"></i>
|
||||
@@ -381,6 +383,7 @@
|
||||
import { mapGetters } from 'vuex';
|
||||
import apiCourse from '../../api/modules/course.js';
|
||||
import apicourseStudy from "../../api/modules/courseStudy.js"
|
||||
import pageList from "../../api/modules/lecturer.js"
|
||||
import courseImage from "@/components/Course/courseImage.vue"
|
||||
import testUser from '@/utils/testUsers.js'
|
||||
export default {
|
||||
@@ -409,13 +412,16 @@ export default {
|
||||
badge: 0,
|
||||
isCollapse: false,
|
||||
lastStudy:{},
|
||||
overlayShow: false
|
||||
overlayShow: false,
|
||||
instructor:''
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.$store.dispatch('refrashReviewed');
|
||||
this.$store.dispatch('refrashStudyTaskCount');
|
||||
this.getLastStudy();
|
||||
//获取讲师认证中条数
|
||||
this.instructorCertification()
|
||||
},
|
||||
mounted() {
|
||||
//console.log(this.userInfo.loginName,'this.userInfo.loginName');
|
||||
@@ -428,6 +434,12 @@ export default {
|
||||
// }
|
||||
},
|
||||
methods: {
|
||||
//讲师认证条数
|
||||
instructorCertification(){
|
||||
pageList({ teacherNo:'',courseName:'', pageIndex: 1, pageSize: 1}).then(res=>{
|
||||
this.instructor=res.data.count
|
||||
})
|
||||
},
|
||||
toCourseDetail(item){
|
||||
if(isNaN(item.courseType)){
|
||||
return `${this.webBaseUrl}/course/boeframe?id=${item.courseId}&type=${item.courseId}`;
|
||||
|
||||
@@ -50,7 +50,6 @@ export const pages=[
|
||||
{title:'考试管理',path:'list',component:'exam/ExamList',hidden:false},
|
||||
{title:'我的考试待办',path:'mytask',component:'exam/MyExamTask',hidden:false},
|
||||
{title:'我的考试已办',path:'myfinish',component:'exam/MyExamFinish',hidden:false},
|
||||
|
||||
]},
|
||||
{title:'待办',path:'/need',hidden:false,children:[
|
||||
{title:'待回答问题',path:'qareply',component:'qa/NeedReplys',hidden:false},
|
||||
@@ -60,6 +59,18 @@ export const pages=[
|
||||
// {title:'我的案例记录',path:'mycaseRecord',component:'course/MycaseRecord',hidden:false},
|
||||
{title:'待审核的课程',path:'waitaudit',component:'course/WaitAudit',hidden:true},
|
||||
{title:'已审核的课程',path:'waitaudited',component:'course/WaitAudited',hidden:true},
|
||||
{title:'讲师认证',path:'lecturer',component:'lecturer/Index',hidden:true},
|
||||
{title:'上传初稿',path:'draft',component:'lecturer/FirstDraft',hidden:true},
|
||||
{title:'线上学习',path:'onlinelearning',component:'lecturer/OnlineLearning',hidden:true},
|
||||
{title:'线下辅导',path:'coaching',component:'lecturer/CoachingPage',hidden:true},
|
||||
{title:'线下辅导完成',path:'coachingsuccess',component:'lecturer/CoachingSuccess',hidden:true},
|
||||
{title:'上传终稿',path:'final',component:'lecturer/FinalDraft',hidden:true},
|
||||
{title:'终稿成功',path:'finalsuccess',component:'lecturer/FinalSuccess',hidden:true},
|
||||
{title:'二次认证',path:'twoauthentication',component:'lecturer/TwoAthentication',hidden:true},
|
||||
{title:'二次辅导',path:'twocoaching',component:'lecturer/TwoCoaching',hidden:true},
|
||||
{title:'二次辅导成功',path:'twocoachingsuccess',component:'lecturer/TwoCos',hidden:true},
|
||||
{title:'二次终稿',path:'twofinal',component:'lecturer/TwoFinal',hidden:true},
|
||||
{title:'二次终稿成功',path:'twofinals',component:'lecturer/TwoFinals',hidden:true},
|
||||
]},
|
||||
{title:'教师教学',path:'/teaching',hidden:false,children:[
|
||||
{title:'授课记录',path:'course',component:'teacher/TeachingCourse',hidden:false},
|
||||
|
||||
1
src/icons/svg/lecturer.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg t="1715160530343" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="15057" width="256" height="256"><path d="M1009.336 639.683c-17.473-14.8-43.641-12.653-58.44 4.829L733.248 901.416l-93.729-86.876c-16.795-15.58-43.034-14.558-58.593 2.227-15.569 16.794-14.567 43.023 2.227 58.593L708.68 991.704a41.435 41.435 0 0 0 28.183 11.055c0.83 0 1.66-0.021 2.5-0.071a41.465 41.465 0 0 0 29.135-14.587l245.668-289.977c14.799-17.473 12.643-43.641-4.83-58.441z" fill="#1378f6" p-id="15058"></path><path d="M574.355 911.854H83.151c0.253-16.177 0.668-33.487 1.053-49.685 0.395-16.339 0.75-31.442 0.881-43.114 6.813-11.358 23.05-18.07 52.721-28.355 10.437-3.613 21.228-7.349 32.05-11.925 18.495-7.795 37.77-16.085 57.216-24.447 29.023-12.472 59.007-25.358 86.795-36.787l37.911-10.356a41.397 41.397 0 0 0 12.573-5.841c21.967-15.113 36.96-44.876 51.628-76.642l1.853-4.009c7.046-15.155 4.302-33.063-6.955-45.423-49.623-54.432-79.254-131.833-79.254-207.048 0-236.678 101.829-264.051 178.431-264.051 76.592 0 178.42 27.373 178.42 264.051 0 75.215-29.62 152.617-79.244 207.058a41.456 41.456 0 0 0-6.934 45.463l1.983 4.263c14.648 31.635 29.61 61.274 51.497 76.338a41.38 41.38 0 0 0 12.572 5.841l37.901 10.356c27.839 11.439 57.874 24.356 86.938 36.858 4.899 2.105 36.251-46.688 61.619-63.796-9.526-4.08-19.173-8.23-28.861-12.391-30.207-12.988-61.437-26.422-90.581-38.367a43.68 43.68 0 0 0-4.859-1.649l-29.944-8.18c-3.594-4.95-7.886-12.826-11.773-20.54 52.772-67.704 82.615-154.104 82.615-241.254 0-286.778-142.118-346.98-261.349-346.98s-261.358 60.202-261.358 346.98c0 87.15 29.843 173.561 82.624 241.254-3.877 7.693-8.179 15.6-11.763 20.55l-29.944 8.17a43.062 43.062 0 0 0-4.859 1.649c-29.083 11.925-60.272 25.339-90.429 38.296-19.274 8.281-38.377 16.49-56.72 24.234-8.311 3.514-17.371 6.651-26.947 9.972-38.984 13.504-87.504 30.319-106.171 84.406a41.526 41.526 0 0 0-2.268 13.524c0 11.794-0.436 29.895-0.921 49.907-0.77 32.202-1.64 68.686-1.144 93.953 0.446 22.574 18.87 40.645 41.455 40.645H657.54c-45.03-11.743-78.487-43.944-83.185-82.928z" fill="#1378f6" p-id="15059"></path></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -25,6 +25,7 @@ import 'swiper/dist/css/swiper.css';
|
||||
Vue.use(VueAwesomeSwiper)
|
||||
import watermark from './utils/warterMark.js'
|
||||
import Bus from './utils/bus.js'
|
||||
|
||||
Vue.prototype.$bus = Bus
|
||||
|
||||
Vue.prototype.$watermark = watermark
|
||||
|
||||
@@ -19,27 +19,27 @@ export const constantRoutes = [{
|
||||
path: '',
|
||||
redirect: '/study'
|
||||
},
|
||||
{
|
||||
{
|
||||
path: '/loading',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/Loading'], resolve),
|
||||
name: 'loading',
|
||||
meta: { title: '正在进入学习中心', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '正在进入学习中心', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/login',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/Login'], resolve),
|
||||
name: 'login',
|
||||
meta: { title: '京东方大学堂登录', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '京东方大学堂登录', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/index',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/Index'], resolve),
|
||||
name: 'index',
|
||||
meta: { title: '首页', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
meta: {title: '首页', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
// {
|
||||
// path: '/grateful/index',
|
||||
// hidden: true,
|
||||
@@ -47,7 +47,7 @@ export const constantRoutes = [{
|
||||
// name: 'gratefulIndex',
|
||||
// meta: { title: '感恩教师首页', icon: 'dashboard', noCache: true, affix: false },
|
||||
// },
|
||||
{
|
||||
{
|
||||
path: '/grateful',
|
||||
component: Grateful,
|
||||
redirect: '/grateful/index',
|
||||
@@ -57,221 +57,222 @@ export const constantRoutes = [{
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/grateful/GratefulHomePage'], resolve),
|
||||
name: 'GratefulHomePage',
|
||||
meta: { title: '感恩教师首页', icon: 'dashboard', noCache: true, affix: true, hidden:false }
|
||||
meta: {title: '感恩教师首页', icon: 'dashboard', noCache: true, affix: true, hidden: false}
|
||||
},
|
||||
{
|
||||
path: 'teacherEmpowerment',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/grateful/TeacherEmpowerment'], resolve),
|
||||
name: 'TeacherEmpowerment',
|
||||
meta: { title: '教师赋能', icon: 'dashboard', noCache: true, affix: true, hidden:true }
|
||||
meta: {title: '教师赋能', icon: 'dashboard', noCache: true, affix: true, hidden: true}
|
||||
},
|
||||
{
|
||||
path: 'toolDown',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/grateful/ToolDown'], resolve),
|
||||
name: 'ToolDown',
|
||||
meta: { title: '工具下载', icon: 'dashboard', noCache: true, affix: true, hidden:true }
|
||||
meta: {title: '工具下载', icon: 'dashboard', noCache: true, affix: true, hidden: true}
|
||||
},
|
||||
{
|
||||
path: 'gratefulNotice',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/grateful/GratefulNotice'], resolve),
|
||||
name: 'GratefulNotice',
|
||||
meta: { title: '通知列表', icon: 'dashboard', noCache: true, affix: true, hidden:true }
|
||||
meta: {title: '通知列表', icon: 'dashboard', noCache: true, affix: true, hidden: true}
|
||||
},
|
||||
{
|
||||
path: 'noticeDetail',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/grateful/NoticeDetail'], resolve),
|
||||
name: 'NoticeDetail',
|
||||
meta: { title: '通知详情', icon: 'dashboard', noCache: true, affix: true, hidden:true }
|
||||
meta: {title: '通知详情', icon: 'dashboard', noCache: true, affix: true, hidden: true}
|
||||
},
|
||||
{
|
||||
path: 'teacherOpinion',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/grateful/TeacherOpinion'], resolve),
|
||||
name: 'TeacherOpinion',
|
||||
meta: { title: '师资大全', icon: 'dashboard', noCache: true, affix: true, hidden:true }
|
||||
meta: {title: '师资大全', icon: 'dashboard', noCache: true, affix: true, hidden: true}
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
path: '/forward',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/Forward'], resolve),
|
||||
name: 'forward',
|
||||
meta: { title: '详细信息', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '详细信息', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/course',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/course/Index'], resolve),
|
||||
name: 'course',
|
||||
meta: { title: '课程', keepAlive: true, icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '课程', keepAlive: true, icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/courseRecommended',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/course/CourseRecommended'], resolve),
|
||||
name: 'courseRecommended',
|
||||
meta: { title: '推荐课程', keepAlive: true, icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '推荐课程', keepAlive: true, icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/courseSeries',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/course/CourseSeries'], resolve),
|
||||
name: 'courseSeries',
|
||||
meta: { title: '系列课程', keepAlive: true, icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '系列课程', keepAlive: true, icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/course/micro',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/course/Micro'], resolve),
|
||||
name: 'courseDetailMicro',
|
||||
meta: { title: '课程详情', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '课程详情', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/course/detail',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/course/Detail'], resolve),
|
||||
name: 'courseDetail',
|
||||
meta: { title: '课程详情', keepAlive: true, icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
meta: {title: '课程详情', keepAlive: true, icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
// 课程预览
|
||||
{
|
||||
{
|
||||
path: '/course/microPreview',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/course/microPreview'], resolve),
|
||||
name: 'microPreview',
|
||||
meta: { title: '课程预览', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '课程预览', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/course/rePreview',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/course/rePreview'], resolve),
|
||||
name: 'courseRePreview',
|
||||
meta: { title: '课程预览', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
meta: {title: '课程预览', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
//
|
||||
// 外来链接
|
||||
{
|
||||
{
|
||||
path: '/course/boeframe',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/boeframe'], resolve),
|
||||
name: 'courseBoeframe',
|
||||
meta: { title: '课程预览', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
meta: {title: '课程预览', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
//外来链接
|
||||
{
|
||||
{
|
||||
path: '/course/recorded',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/course/Recorded'], resolve),
|
||||
name: 'courseDetailRecorded',
|
||||
meta: { title: '课程详情', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '课程详情', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
//此页面需要指定课程的参数
|
||||
path: '/course/studyindex',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/study/coursenew'], resolve),
|
||||
name: 'courseStudyIndex',
|
||||
meta: { title: '课程学习', keepAlive: true, icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '课程学习', keepAlive: true, icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
//讲师认证
|
||||
{
|
||||
path: '/case',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/case/Index'], resolve),
|
||||
name: 'case',
|
||||
meta: { title: '案例', keepAlive: true, icon: 'dashboard', noCache: false, affix: true },
|
||||
},
|
||||
{
|
||||
meta: {title: '案例', keepAlive: true, icon: 'dashboard', noCache: false, affix: true},
|
||||
},
|
||||
{
|
||||
path: '/case/detail',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/case/Detail'], resolve),
|
||||
name: 'caseDetail',
|
||||
meta: { title: '案例详情', keepAlive: true, icon: 'dashboard', noCache: false, affix: true },
|
||||
},
|
||||
{
|
||||
meta: {title: '案例详情', keepAlive: true, icon: 'dashboard', noCache: false, affix: true},
|
||||
},
|
||||
{
|
||||
path: '/article',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/article/Index'], resolve),
|
||||
name: 'article',
|
||||
meta: { title: '文章', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '文章', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/article/detail',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/article/Detail'], resolve),
|
||||
name: 'articleDetail',
|
||||
meta: { title: '文章详情', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '文章详情', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/article/add',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/article/Add'], resolve),
|
||||
name: 'articleAdd',
|
||||
meta: { title: '发布文章', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '发布文章', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/qa',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/qa/Index'], resolve),
|
||||
name: 'qa',
|
||||
meta: { title: '问答', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '问答', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/message',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/user/Message'], resolve),
|
||||
name: 'userMsg',
|
||||
meta: { title: '我的消息', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '我的消息', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/home',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/homepage/Index'], resolve),
|
||||
name: 'homePage',
|
||||
redirect: '/home/:id',
|
||||
meta: { title: '个人主页', icon: 'dashboard', noCache: true, affix: false },
|
||||
meta: {title: '个人主页', icon: 'dashboard', noCache: true, affix: false},
|
||||
children: [{
|
||||
path: ':id',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/homepage/page'], resolve),
|
||||
name: 'page',
|
||||
meta: { title: '个人主页', icon: 'dashboard', noCache: true, affix: true }
|
||||
meta: {title: '个人主页', icon: 'dashboard', noCache: true, affix: true}
|
||||
},
|
||||
{
|
||||
path: ':id/leaving',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/homepage/leavingMessage'], resolve),
|
||||
name: 'leavingMessage',
|
||||
meta: { title: '留言', icon: 'dashboard', noCache: true, affix: true }
|
||||
meta: {title: '留言', icon: 'dashboard', noCache: true, affix: true}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
path: '/comments',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/Comments'], resolve),
|
||||
name: 'commentReply',
|
||||
meta: { title: '评论回复', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '评论回复', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/qa/answer',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/qa/Answer'], resolve),
|
||||
name: 'qaAnswer',
|
||||
meta: { title: '写回答', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '写回答', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/follow',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/follow'], resolve),
|
||||
name: 'follow',
|
||||
meta: { title: '我的关注', icon: 'dashboard', noCache: true, affix: false },
|
||||
},
|
||||
{
|
||||
meta: {title: '我的关注', icon: 'dashboard', noCache: true, affix: false},
|
||||
},
|
||||
{
|
||||
path: '/study',
|
||||
component: Layout,
|
||||
redirect: '/study/index',
|
||||
@@ -280,10 +281,10 @@ export const constantRoutes = [{
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/StudyIndex'], resolve),
|
||||
name: 'studyIndex',
|
||||
meta: { title: '首页', icon: 'dashboard', noCache: true, affix: true }
|
||||
meta: {title: '首页', icon: 'dashboard', noCache: true, affix: true}
|
||||
}]
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
path: '/teacher',
|
||||
component: Layout,
|
||||
children: [{
|
||||
@@ -291,10 +292,10 @@ export const constantRoutes = [{
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/TeacherIndex'], resolve),
|
||||
name: 'teacherIndex',
|
||||
meta: { title: '教师个人中心', icon: 'dashboard', noCache: true, affix: true }
|
||||
meta: {title: '教师个人中心', icon: 'dashboard', noCache: true, affix: true}
|
||||
}]
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
path: '/manager',
|
||||
component: Layout,
|
||||
children: [{
|
||||
@@ -302,38 +303,38 @@ export const constantRoutes = [{
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/ManageIndex'], resolve),
|
||||
name: 'managerIndex',
|
||||
meta: { title: '管理员个人中心', icon: 'dashboard', noCache: true, affix: true }
|
||||
meta: {title: '管理员个人中心', icon: 'dashboard', noCache: true, affix: true}
|
||||
}]
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
path: '/exam/test',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/exam/Test'], resolve),
|
||||
name: 'test',
|
||||
meta: { title: '京东方大学堂考试', icon: 'dashboard', noCache: true, affix: true },
|
||||
},
|
||||
{
|
||||
meta: {title: '京东方大学堂考试', icon: 'dashboard', noCache: true, affix: true},
|
||||
},
|
||||
{
|
||||
path: '/video/test',
|
||||
hidden: true,
|
||||
component: (resolve) => require(['@/views/portal/course/video'], resolve),
|
||||
name: 'videotest',
|
||||
meta: { title: '课程视频测试', icon: 'dashboard', noCache: true, affix: true },
|
||||
},
|
||||
{
|
||||
meta: {title: '课程视频测试', icon: 'dashboard', noCache: true, affix: true},
|
||||
},
|
||||
{
|
||||
path: '/404',
|
||||
component: (resolve) => require(['@/views/error/404'], resolve),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
path: '/401',
|
||||
component: (resolve) => require(['@/views/error/401'], resolve),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
path: '/500',
|
||||
component: (resolve) => require(['@/views/error/500'], resolve),
|
||||
hidden: true
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
const router = new VueRouter({
|
||||
@@ -344,7 +345,7 @@ const router = new VueRouter({
|
||||
if (saveTop) {
|
||||
return saveTop;
|
||||
} else {
|
||||
return { x: 0, y: 0 }
|
||||
return {x: 0, y: 0}
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -58,7 +58,7 @@ router.beforeEach((to, from, next) => {
|
||||
console.log(err);
|
||||
store.commit('app/SET_INITDATA',false);
|
||||
//如果初始化错误,就不再执行了,不然会一直循环下去
|
||||
next({ path: '/500' })
|
||||
// next({ path: '/500' })
|
||||
//NProgress.done();
|
||||
})
|
||||
} else {
|
||||
|
||||
111
src/views/lecturer/CoachingPage.vue
Normal file
@@ -0,0 +1,111 @@
|
||||
<script>
|
||||
import {addTeacher, getCertificationProcess, setOfflineTutoring} from "@/api/modules/lecturer";
|
||||
|
||||
export default {
|
||||
name: "",
|
||||
data(){
|
||||
return{
|
||||
|
||||
options: [],
|
||||
value: '',
|
||||
value2:'',
|
||||
teacherId:''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
//读取路由参数
|
||||
this.teacherId=this.$route.query.teacherId
|
||||
//获取老师列表
|
||||
this.getTeacherList()
|
||||
},
|
||||
methods:{
|
||||
getTeacherList() {
|
||||
addTeacher({pageNo:1,pageSize:100,keyword:''}).then(res=>{
|
||||
this.options = res.data.map(item => {
|
||||
return { value: item.realName, label: item.realName };
|
||||
});
|
||||
})
|
||||
},
|
||||
getCoachingTeacher(){
|
||||
console.log(this.value)
|
||||
},
|
||||
|
||||
getJump(){
|
||||
let tutor=this.value.join(',')
|
||||
let tutorTime=this.value2
|
||||
if (tutor==''||tutorTime==''){
|
||||
this.$message({
|
||||
message: '请填写必填信息',
|
||||
type: 'error'
|
||||
});
|
||||
}else {
|
||||
setOfflineTutoring({teacherId:this.teacherId,tutor,tutorTime}).then(res=>{
|
||||
this.$router.push({
|
||||
path:'/need/coachingsuccess',
|
||||
query:{
|
||||
teacherId:this.teacherId
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="title">线下辅导</div>
|
||||
<el-container>
|
||||
<div class="form-table">
|
||||
<div class="tip" style="margin-bottom: 20px;color: #d7d7d7;margin-left: 50px">您还未完成线下辅导,快去约辅导老师辅导课件吧!</div>
|
||||
<el-form label-width="140px" >
|
||||
<el-form-item required label="辅导老师:">
|
||||
<el-select
|
||||
v-model="value"
|
||||
multiple
|
||||
filterable
|
||||
remote
|
||||
reserve-keyword
|
||||
placeholder="请输入辅导老师姓名"
|
||||
@change="getCoachingTeacher"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item required label="辅导时间:">
|
||||
<el-date-picker
|
||||
v-model="value2"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
format="yyyy 年 MM 月 dd 日"
|
||||
value-format="yyyy-MM-dd HH:mm:ss">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-button type="primary" size="medium" style="margin-top: 20px;margin-left: 120px" @click="getJump()">已完成</el-button>
|
||||
</el-form>
|
||||
<div class="tip" style="margin-bottom: 20px;margin-left: 50px;color: #797979;margin-top: 24px">提示:如若未完成线下辅导,请勿点击已完成!</div>
|
||||
</div>
|
||||
</el-container>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.title{
|
||||
font-size: 16px;
|
||||
font-weight: 800;
|
||||
width: 850px;
|
||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
||||
padding: 2px 2px 20px 2px;
|
||||
}
|
||||
.form-table{
|
||||
width: 850px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
</style>
|
||||
199
src/views/lecturer/CoachingSuccess.vue
Normal file
@@ -0,0 +1,199 @@
|
||||
<script>
|
||||
import {addTeacher, getCertificationProcess, getProgress, getTeacherInfo} from "@/api/modules/lecturer";
|
||||
|
||||
export default {
|
||||
name: "",
|
||||
data(){
|
||||
return{
|
||||
teacherId:'',
|
||||
form:{
|
||||
teacherName:'',
|
||||
teacherNo:'',
|
||||
orgName:''
|
||||
},
|
||||
progressData:{},
|
||||
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||
disabled:true,
|
||||
statusInfo:''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
//读取路由参数
|
||||
this.teacherId=this.$route.query.teacherId
|
||||
//获取教师基本信息
|
||||
this.baseInfo()
|
||||
this.getStatus()
|
||||
},
|
||||
methods:{
|
||||
//获取教师认证状态
|
||||
getStatus(){
|
||||
getCertificationProcess({teacherId:this.teacherId}).then(res=>{
|
||||
this.statusInfo=res.data
|
||||
})
|
||||
},
|
||||
baseInfo(){
|
||||
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
||||
/*
|
||||
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
||||
* 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.form.tutor=res.data[0].tutor.split(',')
|
||||
this.form.tutorTime=res.data[0].tutorTime
|
||||
//获取学习进度
|
||||
this.addTeacher()
|
||||
})
|
||||
},
|
||||
addTeacher(){
|
||||
addTeacher({pageNo:1,pageSize:10,keyword:this.form.teacherNo}).then(res=>{
|
||||
this.getProgress(res.data[0].id)
|
||||
})
|
||||
},
|
||||
getProgress(id){
|
||||
getProgress({teacherId:id}).then(res=>{
|
||||
this.progressData=res.data[0]
|
||||
if (this.progressData.progress==100){
|
||||
this.disabled=false
|
||||
}
|
||||
})
|
||||
},
|
||||
format(percentage) {
|
||||
return percentage === 100 ? '满' : `${percentage}%`;
|
||||
},
|
||||
getJump(){
|
||||
this.$router.push({
|
||||
path:'/need/final',
|
||||
query:{teacherId:this.teacherId}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="title">基本信息</div>
|
||||
<el-container>
|
||||
<div class="form-table">
|
||||
<el-form label-width="140px">
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="姓名:">
|
||||
{{form.teacherName}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="工号:">
|
||||
{{form.teacherNo}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
<el-form-item label="组织:">
|
||||
{{form.orgName}}
|
||||
</el-form-item>
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="岗位:">
|
||||
{{form.positionName}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="职级:">
|
||||
{{form.bandCode}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</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">
|
||||
{{form.courseIntroduction}}
|
||||
</el-form-item>
|
||||
<el-form-item label="初稿课件:" prop="courseIntroduction">
|
||||
{{form.coursewareName}} <span style="color: #1378f6;display: inline-block;margin-left: 16px">查看</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-container>
|
||||
<div class="title" style="margin-top: 20px">线上课程</div>
|
||||
<div class="progress">
|
||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||
<img :src="fileBaseUrl +progressData.courseImage">
|
||||
</div>
|
||||
<div class="courseName">{{progressData.courseName}}</div>
|
||||
<div class="smallTitle">当前进度</div>
|
||||
<el-progress :percentage="progressData.progress" :format="format"></el-progress>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title" style="margin-top: 20px">线下辅导</div>
|
||||
<el-container>
|
||||
<div class="form-table">
|
||||
<el-form label-width="140px">
|
||||
<el-form-item label="辅导老师:">
|
||||
<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 label="辅导时间:">
|
||||
{{form.tutorTime}}
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-container>
|
||||
</div>
|
||||
|
||||
<div class="tip">
|
||||
提示:您已完成线下辅导,快去进行下一步吧!
|
||||
</div>
|
||||
<el-button type="primary" style="margin-top: 20px;margin-left: 80px" @click="getJump()">下一步</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.title{
|
||||
font-size: 16px;
|
||||
font-weight: 800;
|
||||
width: 850px;
|
||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
||||
padding: 2px 2px 20px 2px;
|
||||
}
|
||||
.form-table{
|
||||
width: 850px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.progress{
|
||||
max-width: 250px;
|
||||
}
|
||||
.courseName{
|
||||
font-weight: 650;
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
margin-top: 12px;
|
||||
}
|
||||
.smallTitle{
|
||||
color:#134054;
|
||||
font-size:12px;
|
||||
margin-top: 7px;
|
||||
}
|
||||
::v-deep .el-form-item__content{
|
||||
font-weight: 500;
|
||||
}
|
||||
::v-deep .el-form-item{
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.tip{
|
||||
color: #7d7c7c;
|
||||
font-size: 14px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
</style>
|
||||
280
src/views/lecturer/FinalDraft.vue
Normal file
@@ -0,0 +1,280 @@
|
||||
<script>
|
||||
import {mapActions, mapGetters} from "vuex";
|
||||
import {getCertificationProcess, getTeacherInfo, setOfflineTutoring, treeList} from "@/api/modules/lecturer"
|
||||
export default {
|
||||
name: "",
|
||||
computed: {
|
||||
...mapGetters(['userInfo'])
|
||||
},
|
||||
|
||||
data(){
|
||||
return{
|
||||
disabled:false,
|
||||
//状态信息
|
||||
statusInfo:{},
|
||||
sysType: [],
|
||||
sysProps: {
|
||||
value: "name",
|
||||
label: "name"
|
||||
},
|
||||
sysTypeListMap:[],
|
||||
//教师id
|
||||
teacherId:'',
|
||||
labelPosition:'right',
|
||||
form: {
|
||||
teacherName: '董兆星',
|
||||
teacherNo: '10010908',
|
||||
orgName: '后台(业务支援体系)/BOEU/企划中心/数据资产部数据资产部',
|
||||
positionName: '产品企划岗',
|
||||
bandCode: 'Band7',
|
||||
courseName:'',
|
||||
courseContent:'',
|
||||
courseIntroduction:'',
|
||||
coursewareUrl:'',
|
||||
courseContent_1:''
|
||||
},
|
||||
rules: {
|
||||
courseName: [
|
||||
{required: true, message: '请输入认证课程名称', trigger: 'change'},
|
||||
{ min: 1, max: 50, message: '最多五十字', trigger: 'blur' }
|
||||
],
|
||||
courseContent_1: [
|
||||
{required: true, message: '请选择课程分类', trigger: 'change'}
|
||||
],
|
||||
courseIntroduction: [
|
||||
{required: true, message: '请输入课程简介', trigger: 'change'},
|
||||
{ min: 1, max: 500, message: '最多五百字', trigger: 'blur' }
|
||||
],
|
||||
}
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
...mapActions({
|
||||
getResOwnerTree:'resOwner/getResOwnerTree',
|
||||
loadResOwners:'resOwner/loadResOwners',
|
||||
getSysTypeTree:'sysType/getSysTypeTree',
|
||||
loadSysTypes:'sysType/loadSysTypes'
|
||||
}),
|
||||
//获取教师认证状态
|
||||
getStatus(){
|
||||
getCertificationProcess({teacherId:this.teacherId}).then(res=>{
|
||||
this.statusInfo=res.data
|
||||
if (this.statusInfo.draftStatus==0){
|
||||
this.disabled=true
|
||||
}
|
||||
})
|
||||
},
|
||||
baseInfo(){
|
||||
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
||||
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
|
||||
})
|
||||
},
|
||||
onSubmit(formName){
|
||||
this.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.form.coursewareUrl==''){
|
||||
this.$message({
|
||||
message: '未上传文件',
|
||||
type: 'error'
|
||||
});
|
||||
return
|
||||
}else {
|
||||
this.form.courseContent = this.form.courseContent_1.join('/');
|
||||
setOfflineTutoring(
|
||||
{teacherId:this.teacherId,
|
||||
courseName:this.form.courseName,
|
||||
courseContent:this.form.courseContent,
|
||||
courseIntroduction:this.form.courseIntroduction,
|
||||
coursewareUrl:this.form.coursewareUrl,
|
||||
coursewareName:this.form.coursewareName,
|
||||
version:1
|
||||
}).then(res=>{
|
||||
if (res.code==200){
|
||||
this.$message({
|
||||
message: '设置成功',
|
||||
type: 'success'
|
||||
});
|
||||
this.$router.push({
|
||||
path:'/need/finalsuccess',
|
||||
query:{teacherId:this.teacherId}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
handRemove(file){
|
||||
this.form.coursewareUrl=''
|
||||
this.form.coursewareName=''
|
||||
},
|
||||
handlSuccess(response, file, fileList){
|
||||
if (response.code==200){
|
||||
this.form.coursewareUrl=response.data.coursewareUrl
|
||||
this.form.coursewareName=response.data.coursewareName
|
||||
this.$message({
|
||||
message: '上传成功',
|
||||
type: 'success'
|
||||
});
|
||||
}
|
||||
},
|
||||
handlError(response, file, fileList){
|
||||
this.$message({
|
||||
message: '上传失败',
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
//获取基本信息
|
||||
this.teacherId=this.$route.query.teacherId
|
||||
this.baseInfo()
|
||||
this.getStatus()
|
||||
this.getSysTypeTree().then(rs=>{
|
||||
this.sysTypeListMap=rs;
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="title">上传初稿</div>
|
||||
<el-container>
|
||||
<div class="form-table">
|
||||
<el-form ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="140px">
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="姓名:">
|
||||
<el-input type="text" :disabled="true" v-model="form.teacherName"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="工号:">
|
||||
<el-input type="text" :disabled="true" v-model="form.teacherNo"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
<el-form-item label="组织:">
|
||||
<el-input v-model="form.orgName" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="岗位:">
|
||||
<el-input type="text" :disabled="true" v-model="form.positionName"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="职级:">
|
||||
<el-input type="text" :disabled="true" v-model="form.bandCode"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
<el-form-item label="认证课程名称:" prop="courseName">
|
||||
<el-input v-model="form.courseName" placeholder="请输入认证课程名称"></el-input>
|
||||
</el-form-item>
|
||||
<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-form-item>
|
||||
<el-form-item label="课程简介:" prop="courseIntroduction">
|
||||
<el-input type="textarea" v-model="form.courseIntroduction"></el-input>
|
||||
</el-form-item>
|
||||
<div style="margin-left: 140px;margin-bottom: 20px">
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
drag
|
||||
action="/activityApi/certification/uploadCourseware"
|
||||
accept=".ppt,.pptx,.pdf"
|
||||
:on-success="handlSuccess"
|
||||
:on-error="handlError"
|
||||
:limit="1"
|
||||
:on-remove="handRemove"
|
||||
multiple>
|
||||
<i class="el-icon-upload"></i>
|
||||
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
||||
<div class="el-upload__tip" slot="tip">请上传解密后的文件,仅支持上传ppt,pptx,pdf格式文件</div>
|
||||
</el-upload>
|
||||
</div>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit('form')">提交</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-container>
|
||||
<div style="height: 600px;position: absolute;right: 60px;top: 40px">
|
||||
<div style="display: flex;justify-content: center;align-items: center;flex-direction: column">
|
||||
<div class="iconImg">
|
||||
<img src="../../assets/images/firstDraft.png" alt="" v-if="statusInfo.draftStatus==1">
|
||||
<img src="../../assets/images/firstDraft1.png" alt="" v-if="statusInfo.draftStatus==0">
|
||||
<div class="iconName">{{ statusInfo.draftStatus==0?'初稿已上传':'初稿未上传' }}</div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<div class="iconImg">
|
||||
<img src="../../assets/images/learn.png" alt="" v-if="statusInfo.onlineLearning==1">
|
||||
<img src="../../assets/images/learn1.png" alt="" v-if="statusInfo.onlineLearning==0">
|
||||
<div class="iconName">线上学习未开始</div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<div class="iconImg">
|
||||
<img src="../../assets/images/coaching.png" alt="" v-if="statusInfo.offlineTutoring==1">
|
||||
<img src="../../assets/images/coaching1.png" alt="" v-if="statusInfo.offlineTutoring==0">
|
||||
<div class="iconName">线下辅导未完成</div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<div class="iconImg">
|
||||
<img src="../../assets/images/draft.png" alt="" v-if="statusInfo.endStatus==1">
|
||||
<img src="../../assets/images/draft1.png" alt="" v-if="statusInfo.endStatus==0">
|
||||
<div class="iconName">终稿未上传</div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<div class="iconImg">
|
||||
<img src="../../assets/images/authentication.png" alt="" v-if="statusInfo.reviewResult!=0">
|
||||
<img src="../../assets/images/authentication1.png" alt="" v-if="statusInfo.reviewResult==0">
|
||||
<div class="iconName">认证</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.title{
|
||||
font-size: 16px;
|
||||
font-weight: 800;
|
||||
width: 850px;
|
||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
||||
padding: 2px 2px 20px 2px;
|
||||
}
|
||||
.form-table{
|
||||
width: 850px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.iconImg{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
}
|
||||
.iconImg>img{
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.line{
|
||||
width: 2px;
|
||||
height: 100px;
|
||||
background-color: #d7d7d7;
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
257
src/views/lecturer/FinalSuccess.vue
Normal file
@@ -0,0 +1,257 @@
|
||||
<script>
|
||||
import {
|
||||
addTeacher,
|
||||
getCertificationProcess,
|
||||
getProgress,
|
||||
getReviewResult,
|
||||
getTeacherInfo, secondExamine
|
||||
} from "@/api/modules/lecturer";
|
||||
|
||||
export default {
|
||||
name: "",
|
||||
data(){
|
||||
return{
|
||||
teacherId:'',
|
||||
form:{
|
||||
teacherName:'',
|
||||
teacherNo:'',
|
||||
orgName:''
|
||||
},
|
||||
progressData:{},
|
||||
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||
disabled:true,
|
||||
statusInfo:'',
|
||||
result:'',
|
||||
newTeacherId:'',
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
//读取路由参数
|
||||
this.teacherId=this.$route.query.teacherId
|
||||
//获取教师基本信息
|
||||
this.baseInfo()
|
||||
this.getStatus()
|
||||
this.getReviewResult()
|
||||
},
|
||||
methods:{
|
||||
//前往二次认证
|
||||
getoFactor(){
|
||||
secondExamine({teacherId:this.teacherId}).then(res=>{
|
||||
this.newTeacherId=res.data.replace(/[^0-9]/ig,'')
|
||||
if (res.code==200){
|
||||
this.$router.push({
|
||||
path:'/need/twoauthentication',
|
||||
query:{teacherId:this.newTeacherId}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
//获取认证结果
|
||||
getReviewResult(){
|
||||
getReviewResult({teacherId:this.teacherId}).then(res=>{
|
||||
this.result=res.data
|
||||
})
|
||||
},
|
||||
//获取教师认证状态
|
||||
getStatus(){
|
||||
getCertificationProcess({teacherId:this.teacherId}).then(res=>{
|
||||
this.statusInfo=res.data
|
||||
})
|
||||
},
|
||||
baseInfo(){
|
||||
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
||||
/*
|
||||
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
||||
* 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.form.tutor=res.data[0].tutor.split(',')
|
||||
this.form.tutorTime=res.data[0].tutorTime
|
||||
//获取学习进度
|
||||
this.addTeacher()
|
||||
})
|
||||
},
|
||||
addTeacher(){
|
||||
addTeacher({pageNo:1,pageSize:10,keyword:this.form.teacherNo}).then(res=>{
|
||||
this.getProgress(res.data[0].id)
|
||||
})
|
||||
},
|
||||
getProgress(id){
|
||||
getProgress({teacherId:id}).then(res=>{
|
||||
this.progressData=res.data[0]
|
||||
if (this.progressData.progress==100){
|
||||
this.disabled=false
|
||||
}
|
||||
})
|
||||
},
|
||||
format(percentage) {
|
||||
return percentage === 100 ? '满' : `${percentage}%`;
|
||||
},
|
||||
getJump(){
|
||||
this.$router.push({
|
||||
path:'/need/final',
|
||||
query:{teacherId:this.teacherId}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="title">基本信息</div>
|
||||
<el-container>
|
||||
<div class="form-table">
|
||||
<el-form label-width="140px">
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="姓名:">
|
||||
{{form.teacherName}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="工号:">
|
||||
{{form.teacherNo}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
<el-form-item label="组织:">
|
||||
{{form.orgName}}
|
||||
</el-form-item>
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="岗位:">
|
||||
{{form.positionName}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="职级:">
|
||||
{{form.bandCode}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</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">
|
||||
{{form.courseIntroduction}}
|
||||
</el-form-item>
|
||||
<el-form-item label="初稿课件:" prop="courseIntroduction">
|
||||
{{form.coursewareName}} <span style="color: #1378f6;display: inline-block;margin-left: 16px">查看</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-container>
|
||||
<div class="title" style="margin-top: 20px">线上课程</div>
|
||||
<div class="progress">
|
||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||
<img :src="fileBaseUrl +progressData.courseImage">
|
||||
</div>
|
||||
<div class="courseName">{{progressData.courseName}}</div>
|
||||
<div class="smallTitle">当前进度</div>
|
||||
<el-progress :percentage="progressData.progress" :format="format"></el-progress>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title" style="margin-top: 20px">线下辅导</div>
|
||||
<el-container>
|
||||
<div class="form-table">
|
||||
<el-form label-width="140px">
|
||||
<el-form-item label="辅导老师:">
|
||||
<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 label="辅导时间:">
|
||||
{{form.tutorTime}}
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-container>
|
||||
</div>
|
||||
<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==0" class="score" style="color: #4b7900;">恭喜您,您的认证分数为{{ result.avgScore }}分,已经通过认证!</div>
|
||||
<div v-if="statusInfo.reviewResult==1" class="score" style="color: #ff0000">很遗憾,您的认证分数为{{ result.avgScore }}分,没有通过认证!</div>
|
||||
</div>
|
||||
<div class="twoFactorAuthentication" v-if="statusInfo.reviewResult==1">
|
||||
<div class="remind">是否进行二次认证?</div>
|
||||
<div style="display: flex;justify-content: center;align-items: center">
|
||||
<el-button type="primary" @click="getoFactor">是</el-button>
|
||||
<el-button>否</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.title{
|
||||
font-size: 16px;
|
||||
font-weight: 800;
|
||||
width: 850px;
|
||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
||||
padding: 2px 2px 20px 2px;
|
||||
}
|
||||
.form-table{
|
||||
width: 850px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.progress{
|
||||
max-width: 250px;
|
||||
}
|
||||
.courseName{
|
||||
font-weight: 650;
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
margin-top: 12px;
|
||||
}
|
||||
.smallTitle{
|
||||
color:#134054;
|
||||
font-size:12px;
|
||||
margin-top: 7px;
|
||||
}
|
||||
::v-deep .el-form-item__content{
|
||||
font-weight: 500;
|
||||
}
|
||||
::v-deep .el-form-item{
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.tip{
|
||||
color: #7d7c7c;
|
||||
font-size: 14px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.score{
|
||||
margin-top: 28px;
|
||||
font-size: 20px;
|
||||
|
||||
}
|
||||
.twoFactorAuthentication{
|
||||
width: 344px;
|
||||
height: 135px;
|
||||
padding: 2px 2px 2px 2px;
|
||||
border: 1px solid #d7d7d7;
|
||||
background-color: #ffffff;
|
||||
box-sizing: border-box;
|
||||
margin-top: 20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.remind {
|
||||
margin-bottom: 20px;
|
||||
box-sizing: border-box;
|
||||
color: #797979;
|
||||
}
|
||||
</style>
|
||||
280
src/views/lecturer/FirstDraft.vue
Normal file
@@ -0,0 +1,280 @@
|
||||
<script>
|
||||
import {mapActions, mapGetters} from "vuex";
|
||||
import {getCertificationProcess, getTeacherInfo, setOfflineTutoring, treeList} from "@/api/modules/lecturer"
|
||||
export default {
|
||||
name: "",
|
||||
computed: {
|
||||
...mapGetters(['userInfo'])
|
||||
},
|
||||
|
||||
data(){
|
||||
return{
|
||||
disabled:false,
|
||||
//状态信息
|
||||
statusInfo:{},
|
||||
sysType: [],
|
||||
sysProps: {
|
||||
value: "name",
|
||||
label: "name"
|
||||
},
|
||||
sysTypeListMap:[],
|
||||
//教师id
|
||||
teacherId:'',
|
||||
labelPosition:'right',
|
||||
form: {
|
||||
teacherName: '董兆星',
|
||||
teacherNo: '10010908',
|
||||
orgName: '后台(业务支援体系)/BOEU/企划中心/数据资产部数据资产部',
|
||||
positionName: '产品企划岗',
|
||||
bandCode: 'Band7',
|
||||
courseName:'',
|
||||
courseContent:'',
|
||||
courseIntroduction:'',
|
||||
coursewareUrl:'',
|
||||
courseContent_1:''
|
||||
},
|
||||
rules: {
|
||||
courseName: [
|
||||
{required: true, message: '请输入认证课程名称', trigger: 'change'},
|
||||
{ min: 1, max: 50, message: '最多五十字', trigger: 'blur' }
|
||||
],
|
||||
courseContent_1: [
|
||||
{required: true, message: '请选择课程分类', trigger: 'change'}
|
||||
],
|
||||
courseIntroduction: [
|
||||
{required: true, message: '请输入课程简介', trigger: 'change'},
|
||||
{ min: 1, max: 500, message: '最多五百字', trigger: 'blur' }
|
||||
],
|
||||
}
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
...mapActions({
|
||||
getResOwnerTree:'resOwner/getResOwnerTree',
|
||||
loadResOwners:'resOwner/loadResOwners',
|
||||
getSysTypeTree:'sysType/getSysTypeTree',
|
||||
loadSysTypes:'sysType/loadSysTypes'
|
||||
}),
|
||||
//获取教师认证状态
|
||||
getStatus(){
|
||||
getCertificationProcess({teacherId:this.teacherId}).then(res=>{
|
||||
this.statusInfo=res.data
|
||||
if (this.statusInfo.draftStatus==0){
|
||||
this.disabled=true
|
||||
}
|
||||
})
|
||||
},
|
||||
baseInfo(){
|
||||
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
||||
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
|
||||
})
|
||||
},
|
||||
onSubmit(formName){
|
||||
this.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.form.coursewareUrl==''){
|
||||
this.$message({
|
||||
message: '未上传文件',
|
||||
type: 'error'
|
||||
});
|
||||
return
|
||||
}else {
|
||||
this.form.courseContent = this.form.courseContent_1.join('/');
|
||||
setOfflineTutoring(
|
||||
{teacherId:this.teacherId,
|
||||
courseName:this.form.courseName,
|
||||
courseContent:this.form.courseContent,
|
||||
courseIntroduction:this.form.courseIntroduction,
|
||||
coursewareUrl:this.form.coursewareUrl,
|
||||
coursewareName:this.form.coursewareName,
|
||||
version:0
|
||||
}).then(res=>{
|
||||
if (res.code==200){
|
||||
this.$message({
|
||||
message: '设置成功',
|
||||
type: 'success'
|
||||
});
|
||||
this.$router.push({
|
||||
path:'/need/onlinelearning',
|
||||
query:{teacherId:this.teacherId}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
handRemove(file){
|
||||
this.form.coursewareUrl=''
|
||||
this.form.coursewareName=''
|
||||
},
|
||||
handlSuccess(response, file, fileList){
|
||||
if (response.code==200){
|
||||
this.form.coursewareUrl=response.data.coursewareUrl
|
||||
this.form.coursewareName=response.data.coursewareName
|
||||
this.$message({
|
||||
message: '上传成功',
|
||||
type: 'success'
|
||||
});
|
||||
}
|
||||
},
|
||||
handlError(response, file, fileList){
|
||||
this.$message({
|
||||
message: '上传失败',
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
//获取基本信息
|
||||
this.teacherId=this.$route.query.teacherId
|
||||
this.baseInfo()
|
||||
this.getStatus()
|
||||
this.getSysTypeTree().then(rs=>{
|
||||
this.sysTypeListMap=rs;
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="title">上传初稿</div>
|
||||
<el-container>
|
||||
<div class="form-table">
|
||||
<el-form ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="140px">
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="姓名:">
|
||||
<el-input type="text" :disabled="true" v-model="form.teacherName"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="工号:">
|
||||
<el-input type="text" :disabled="true" v-model="form.teacherNo"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
<el-form-item label="组织:">
|
||||
<el-input v-model="form.orgName" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="岗位:">
|
||||
<el-input type="text" :disabled="true" v-model="form.positionName"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="职级:">
|
||||
<el-input type="text" :disabled="true" v-model="form.bandCode"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
<el-form-item label="认证课程名称:" prop="courseName">
|
||||
<el-input v-model="form.courseName" placeholder="请输入认证课程名称"></el-input>
|
||||
</el-form-item>
|
||||
<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-form-item>
|
||||
<el-form-item label="课程简介:" prop="courseIntroduction">
|
||||
<el-input type="textarea" v-model="form.courseIntroduction"></el-input>
|
||||
</el-form-item>
|
||||
<div style="margin-left: 140px;margin-bottom: 20px">
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
drag
|
||||
action="/activityApi/certification/uploadCourseware"
|
||||
accept=".ppt,.pptx,.pdf"
|
||||
:on-success="handlSuccess"
|
||||
:on-error="handlError"
|
||||
:limit="1"
|
||||
:on-remove="handRemove"
|
||||
multiple>
|
||||
<i class="el-icon-upload"></i>
|
||||
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
||||
<div class="el-upload__tip" slot="tip">请上传解密后的文件,仅支持上传ppt,pptx,pdf格式文件</div>
|
||||
</el-upload>
|
||||
</div>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit('form')" disabled="disabled">提交</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-container>
|
||||
<div style="height: 600px;position: absolute;right: 60px;top: 40px">
|
||||
<div style="display: flex;justify-content: center;align-items: center;flex-direction: column">
|
||||
<div class="iconImg">
|
||||
<img src="../../assets/images/firstDraft.png" alt="" v-if="statusInfo.draftStatus==1">
|
||||
<img src="../../assets/images/firstDraft1.png" alt="" v-if="statusInfo.draftStatus==0">
|
||||
<div class="iconName">{{ statusInfo.draftStatus==0?'初稿已上传':'初稿未上传' }}</div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<div class="iconImg">
|
||||
<img src="../../assets/images/learn.png" alt="" v-if="statusInfo.onlineLearning==1">
|
||||
<img src="../../assets/images/learn1.png" alt="" v-if="statusInfo.onlineLearning==0">
|
||||
<div class="iconName">线上学习未开始</div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<div class="iconImg">
|
||||
<img src="../../assets/images/coaching.png" alt="" v-if="statusInfo.offlineTutoring==1">
|
||||
<img src="../../assets/images/coaching1.png" alt="" v-if="statusInfo.offlineTutoring==0">
|
||||
<div class="iconName">线下辅导未完成</div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<div class="iconImg">
|
||||
<img src="../../assets/images/draft.png" alt="" v-if="statusInfo.endStatus==1">
|
||||
<img src="../../assets/images/draft1.png" alt="" v-if="statusInfo.endStatus==0">
|
||||
<div class="iconName">终稿未上传</div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<div class="iconImg">
|
||||
<img src="../../assets/images/authentication.png" alt="" v-if="statusInfo.reviewResult!=0">
|
||||
<img src="../../assets/images/authentication1.png" alt="" v-if="statusInfo.reviewResult==0">
|
||||
<div class="iconName">认证</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.title{
|
||||
font-size: 16px;
|
||||
font-weight: 800;
|
||||
width: 850px;
|
||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
||||
padding: 2px 2px 20px 2px;
|
||||
}
|
||||
.form-table{
|
||||
width: 850px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.iconImg{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
}
|
||||
.iconImg>img{
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.line{
|
||||
width: 2px;
|
||||
height: 100px;
|
||||
background-color: #d7d7d7;
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
240
src/views/lecturer/Index.vue
Normal file
@@ -0,0 +1,240 @@
|
||||
<script>
|
||||
import {mapGetters} from "vuex";
|
||||
import courseImage from "@/components/Course/courseImage.vue";
|
||||
import {getCertificationProcess, pageList} from "@/api/modules/lecturer"
|
||||
export default {
|
||||
name: "index",
|
||||
components: {courseImage},
|
||||
data(){
|
||||
return{
|
||||
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||
params: { teacherNo:'',courseName:'', pageIndex: 1, pageSize: 10, },
|
||||
total:'',
|
||||
// reviewResult 0-通过,1-未通过,2-进行中 3-已报名
|
||||
couresList:[
|
||||
{
|
||||
coverImg:'',
|
||||
reviewResult:'3',
|
||||
name:'《2024.06认证》',
|
||||
courseIntroduction:'这是2024年关于XX的讲师认证活动的具体说明',
|
||||
createTime:'2024.03.20 18:00'
|
||||
},
|
||||
{
|
||||
coverImg:'',
|
||||
reviewResult:'2',
|
||||
name:'《关于自我能力提升》',
|
||||
courseIntroduction:'1、掌握用PPT高效制作工作报告的流程步骤;2、应用金字塔原理、美化设计原则来制作PPT工作报告;3、学会应用演示小技巧完成一个工作报告的演示汇报',
|
||||
createTime:'2024.03.20 18:00'
|
||||
},
|
||||
{
|
||||
coverImg:'',
|
||||
reviewResult:'0',
|
||||
name:'《BOEU-线上TTT系列学习之《如何讲好一门课》》',
|
||||
courseIntroduction:'1、掌握用PPT高效制作工作报告的流程步骤;2、应用金字塔原理、美化设计原则来制作PPT工作报告;3、学会应用演示小技巧完成一个工作报告的演示汇报',
|
||||
createTime:'2024.04.18 14:00'
|
||||
},
|
||||
{
|
||||
coverImg:'',
|
||||
reviewResult:'1',
|
||||
name:'《互动教学设计》',
|
||||
courseIntroduction:'1、掌握用PPT高效制作工作报告的流程步骤;2、应用金字塔原理、美化设计原则来制作PPT工作报告;3、学会应用演示小技巧完成一个工作报告的演示汇报',
|
||||
createTime:'2024.04.10 14:00'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['userInfo'])
|
||||
},
|
||||
mounted() {
|
||||
this.getList();
|
||||
},
|
||||
methods:{
|
||||
|
||||
jumpRouter(teacherId){
|
||||
this.$router.push({
|
||||
path:'/need/draft',
|
||||
query:{teacherId:teacherId}
|
||||
})
|
||||
},
|
||||
//列表
|
||||
getList(){
|
||||
this.params.teacherNo=this.userInfo.userNo
|
||||
pageList(this.params).then(res=>{
|
||||
this.couresList=res.data.page.records
|
||||
this.total=res.data.page.total
|
||||
})
|
||||
},
|
||||
//重置
|
||||
closePageFind(){
|
||||
this.params.courseName = '';
|
||||
this.params.pageIndex = 1;
|
||||
this.getList();
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.params.pageSize = val;
|
||||
this.getList();
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.params.pageIndex = val;
|
||||
this.getList();
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div v-if="this.couresList.length==0">
|
||||
<div>
|
||||
<div class="zan-wu">暂无数据</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: 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="padding-left: 10px;"><el-button type="primary" icon="el-icon-search" @click="getList">搜索</el-button></div>
|
||||
<div style="padding: 0px 5px;"><el-button icon="el-icon-refresh-right" type="primary" @click="closePageFind">重置</el-button></div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="this.couresList.length!=0">
|
||||
<div class="uc-course" v-for="(item, idx) in couresList" :key="idx" >
|
||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||
<!-- <course-image :course="item"></course-image>-->
|
||||
<img :src="fileBaseUrl + item.cover.match(/\upload(\S*)/)[1]">
|
||||
</div>
|
||||
<div class="uc-course-info">
|
||||
<div class="uc-course-name">
|
||||
<span class="ytg" v-if="item.reviewResult == 0">【已通过】</span>
|
||||
<span class="wtg" v-if="item.reviewResult == 1">【未通过】</span>
|
||||
<span class="jxz" v-if="item.reviewResult == 2">【认证中】</span>
|
||||
<span class="ybm" v-if="item.reviewResult == 3">【已报名】</span>
|
||||
<!-- <a :href="`${webBaseUrl}/course/detail?id=${item.id}`" target="_blank"> {{item.name}}</a> -->
|
||||
<span style="font-size:18px;color:#333">{{ item.draftStatus==1?item.examineName:item.courseName }}</span>
|
||||
</div>
|
||||
<div class="summary-item">
|
||||
<div>{{ item.draftStatus==1?item.description:item.courseIntroduction }}</div>
|
||||
</div>
|
||||
<div class="uc-course-text">
|
||||
{{ item.reviewResult==3||item.reviewResult==1?'报名时间':'认证时间' }}:{{ item.reviewResult==3||item.reviewResult==1?item.createTime:item.reviewTime }}
|
||||
<span type="text" style="margin-left:10px;font-size:14px;cursor: pointer;color:#b6b6b6" v-if="item.reviewResult==1||item.reviewResult==0">查看认证记录</span>
|
||||
<span type="text" style="margin-left:10px;font-size:14px;cursor: pointer;color:#3da8f0" v-if="item.reviewResult==3" @click="jumpRouter(item.teacherId)">填写信息</span>
|
||||
<span type="text" style="margin-left:10px;font-size:14px;cursor: pointer;color:#3da8f0" v-if="item.reviewResult==2">查看</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="couresList.length > 0" style="text-align: center; margin-top:57px;">
|
||||
<el-pagination
|
||||
background
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="params.pageIndex"
|
||||
:page-sizes="[10, 20, 30, 40]"
|
||||
:page-size="params.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="total"
|
||||
></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.list-wu{
|
||||
text-align: center;
|
||||
margin: 40px;
|
||||
color: #333;
|
||||
}
|
||||
.ybm {
|
||||
color: #2ab28b;
|
||||
font-size: 18px;
|
||||
}
|
||||
.wtg {
|
||||
color: #fd0000;
|
||||
font-size: 18px;
|
||||
}
|
||||
.jxz {
|
||||
font-size: 18px;
|
||||
color: #1378f6;
|
||||
}
|
||||
|
||||
.ytg {
|
||||
font-size: 18px;
|
||||
color: #1378f6;
|
||||
}
|
||||
|
||||
.Create-coures {
|
||||
position: absolute;
|
||||
right: 32px;
|
||||
}
|
||||
.uc-badge {
|
||||
margin-top: 10px;
|
||||
margin-right: 40px;
|
||||
}
|
||||
.uc-course {
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
border-bottom: 1px solid #e8e8e8;
|
||||
padding: 20px 0px 15px 0px;
|
||||
margin: 0 32px 0 22px;
|
||||
::v-deep .uc-course-img {
|
||||
width: 212px;
|
||||
img {
|
||||
width: 212px;height:119px;
|
||||
border: 1px solid #f4f4f5;
|
||||
}
|
||||
}
|
||||
.uc-course-info {
|
||||
flex: 1;
|
||||
line-height: 28px;
|
||||
padding: 0px 10px;
|
||||
.summary-item {
|
||||
padding-top: 10px;
|
||||
height: 40px;
|
||||
line-height: 15px;
|
||||
color: #7d7d7d;
|
||||
font-size: 14px;
|
||||
overflow: hidden;
|
||||
width: 90%;
|
||||
word-break:break-all;
|
||||
display: -webkit-box;
|
||||
// overflow: hidden;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
}
|
||||
.uc-course-name {
|
||||
font-size: 16px;
|
||||
display: -webkit-box;
|
||||
white-space:pre-wrap;
|
||||
// word-wrap: break-word;
|
||||
overflow: hidden;
|
||||
text-overflow:ellipsis;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 1;
|
||||
word-break:break-all;
|
||||
// font-weight: 700;
|
||||
}
|
||||
.uc-course-text {
|
||||
color: #666;
|
||||
margin-top: 28px;
|
||||
}
|
||||
}
|
||||
.uc-course-btns {
|
||||
|
||||
text-align: right;
|
||||
.btn1 {
|
||||
height: 44px;
|
||||
padding: 10px 15px;
|
||||
}
|
||||
.btn2 {
|
||||
height: 44px;
|
||||
padding: 10px 15px;
|
||||
}
|
||||
.btn {
|
||||
height: 44px;
|
||||
padding: 10px 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
174
src/views/lecturer/OnlineLearning.vue
Normal file
@@ -0,0 +1,174 @@
|
||||
<script>
|
||||
import {addTeacher, getCertificationProcess, getProgress, getTeacherInfo} from "@/api/modules/lecturer";
|
||||
|
||||
export default {
|
||||
name: "",
|
||||
data(){
|
||||
return{
|
||||
teacherId:'',
|
||||
form:{
|
||||
teacherName:'',
|
||||
teacherNo:'',
|
||||
orgName:''
|
||||
},
|
||||
progressData:{},
|
||||
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||
disabled:true,
|
||||
statusInfo:''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
//读取路由参数
|
||||
this.teacherId=this.$route.query.teacherId
|
||||
//获取教师基本信息
|
||||
this.baseInfo()
|
||||
},
|
||||
methods:{
|
||||
baseInfo(){
|
||||
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
||||
/*
|
||||
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
||||
* 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.addTeacher()
|
||||
})
|
||||
},
|
||||
addTeacher(){
|
||||
addTeacher({pageNo:1,pageSize:10,keyword:this.form.teacherNo}).then(res=>{
|
||||
this.getProgress(res.data[0].id)
|
||||
})
|
||||
},
|
||||
getProgress(id){
|
||||
getProgress({teacherId:id}).then(res=>{
|
||||
this.progressData=res.data[0]
|
||||
if (this.progressData.progress==100){
|
||||
this.disabled=false
|
||||
}
|
||||
})
|
||||
},
|
||||
format(percentage) {
|
||||
return percentage === 100 ? '满' : `${percentage}%`;
|
||||
},
|
||||
getJump(){
|
||||
this.$router.push({
|
||||
path:'/need/coaching',
|
||||
query:{teacherId:this.teacherId}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="title">基本信息</div>
|
||||
<el-container>
|
||||
<div class="form-table">
|
||||
<el-form label-width="140px">
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="姓名:">
|
||||
{{form.teacherName}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="工号:">
|
||||
{{form.teacherNo}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
<el-form-item label="组织:">
|
||||
{{form.orgName}}
|
||||
</el-form-item>
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="岗位:">
|
||||
{{form.positionName}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="职级:">
|
||||
{{form.bandCode}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</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">
|
||||
{{form.courseIntroduction}}
|
||||
</el-form-item>
|
||||
<el-form-item label="初稿课件:" prop="courseIntroduction">
|
||||
{{form.coursewareName}} <span style="color: #1378f6;display: inline-block;margin-left: 16px">查看</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-container>
|
||||
<div class="title" style="margin-top: 20px">线上课程</div>
|
||||
<div class="progress">
|
||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||
<img :src="fileBaseUrl +progressData.courseImage">
|
||||
</div>
|
||||
<div class="courseName">{{progressData.courseName}}</div>
|
||||
<div class="smallTitle">当前进度</div>
|
||||
<el-progress :percentage="progressData.progress" :format="format"></el-progress>
|
||||
</div>
|
||||
<div class="tip">
|
||||
提示:您的课程还未学习完毕,不能进行下一步!
|
||||
</div>
|
||||
<el-button type="primary" :disabled="disabled" style="margin-top: 20px;margin-left: 80px" @click="getJump()">下一步</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.title{
|
||||
font-size: 16px;
|
||||
font-weight: 800;
|
||||
width: 850px;
|
||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
||||
padding: 2px 2px 20px 2px;
|
||||
}
|
||||
.form-table{
|
||||
width: 850px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.progress{
|
||||
max-width: 250px;
|
||||
}
|
||||
.courseName{
|
||||
font-weight: 650;
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
margin-top: 12px;
|
||||
}
|
||||
.smallTitle{
|
||||
color:#134054;
|
||||
font-size:12px;
|
||||
margin-top: 7px;
|
||||
}
|
||||
::v-deep .el-form-item__content{
|
||||
font-weight: 500;
|
||||
}
|
||||
::v-deep .el-form-item{
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.tip{
|
||||
color: #7d7c7c;
|
||||
font-size: 14px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
</style>
|
||||
235
src/views/lecturer/TwoAthentication.vue
Normal file
@@ -0,0 +1,235 @@
|
||||
<script>
|
||||
import {
|
||||
addTeacher,
|
||||
getCertificationProcess,
|
||||
getProgress,
|
||||
getReviewResult,
|
||||
getTeacherInfo, secondExamine
|
||||
} from "@/api/modules/lecturer";
|
||||
|
||||
export default {
|
||||
name: "",
|
||||
data(){
|
||||
return{
|
||||
teacherId:'',
|
||||
form:{
|
||||
teacherName:'',
|
||||
teacherNo:'',
|
||||
orgName:''
|
||||
},
|
||||
progressData:{},
|
||||
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||
disabled:true,
|
||||
statusInfo:'',
|
||||
result:'',
|
||||
newTeacherId:'',
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
//读取路由参数
|
||||
this.teacherId=this.$route.query.teacherId
|
||||
//获取教师基本信息
|
||||
this.baseInfo()
|
||||
this.getStatus()
|
||||
this.getReviewResult()
|
||||
},
|
||||
methods:{
|
||||
//前往二次认证
|
||||
getoFactor(){
|
||||
secondExamine({teacherId:this.teacherId}).then(res=>{
|
||||
this.newTeacherId=res.data.replace(/[^0-9]/ig,'')
|
||||
|
||||
})
|
||||
},
|
||||
//获取认证结果
|
||||
getReviewResult(){
|
||||
getReviewResult({teacherId:this.teacherId}).then(res=>{
|
||||
this.result=res.data
|
||||
})
|
||||
},
|
||||
//获取教师认证状态
|
||||
getStatus(){
|
||||
getCertificationProcess({teacherId:this.teacherId}).then(res=>{
|
||||
this.statusInfo=res.data
|
||||
})
|
||||
},
|
||||
baseInfo(){
|
||||
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
||||
/*
|
||||
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
||||
* 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.form.tutor=res.data[0].tutor.split(',')
|
||||
this.form.tutorTime=res.data[0].tutorTime
|
||||
//获取学习进度
|
||||
this.addTeacher()
|
||||
})
|
||||
},
|
||||
addTeacher(){
|
||||
addTeacher({pageNo:1,pageSize:10,keyword:this.form.teacherNo}).then(res=>{
|
||||
this.getProgress(res.data[0].id)
|
||||
})
|
||||
},
|
||||
getProgress(id){
|
||||
getProgress({teacherId:id}).then(res=>{
|
||||
this.progressData=res.data[0]
|
||||
if (this.progressData.progress==100){
|
||||
this.disabled=false
|
||||
}
|
||||
})
|
||||
},
|
||||
format(percentage) {
|
||||
return percentage === 100 ? '满' : `${percentage}%`;
|
||||
},
|
||||
getJump(){
|
||||
this.$router.push({
|
||||
path:'/need/twocoaching',
|
||||
query:{teacherId:this.teacherId}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="title">基本信息</div>
|
||||
<el-container>
|
||||
<div class="form-table">
|
||||
<el-form label-width="140px">
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="姓名:">
|
||||
{{form.teacherName}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="工号:">
|
||||
{{form.teacherNo}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
<el-form-item label="组织:">
|
||||
{{form.orgName}}
|
||||
</el-form-item>
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="岗位:">
|
||||
{{form.positionName}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="职级:">
|
||||
{{form.bandCode}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</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">
|
||||
{{form.courseIntroduction}}
|
||||
</el-form-item>
|
||||
<el-form-item label="初稿课件:" prop="courseIntroduction">
|
||||
{{form.coursewareName}} <span style="color: #1378f6;display: inline-block;margin-left: 16px">查看</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-container>
|
||||
<div class="title" style="margin-top: 20px">线上课程</div>
|
||||
<div class="progress">
|
||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||
<img :src="fileBaseUrl +progressData.courseImage">
|
||||
</div>
|
||||
<div class="courseName">{{progressData.courseName}}</div>
|
||||
<div class="smallTitle">当前进度</div>
|
||||
<el-progress :percentage="progressData.progress" :format="format"></el-progress>
|
||||
</div>
|
||||
<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==0" class="score" style="color: #4b7900;">恭喜您,您的认证分数为{{ result.avgScore }}分,已经通过认证!</div>
|
||||
<div v-if="statusInfo.reviewResult==1" class="score" style="color: #ff0000">很遗憾,您的认证分数为{{ result.avgScore }}分,没有通过认证!</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title" style="margin-top: 20px">线下辅导</div>
|
||||
<div class="tip">提示:您的线上课程已经学习完毕,快去进行下一步吧!</div>
|
||||
</div>
|
||||
<el-button type="primary" style="margin-top: 20px;margin-left: 80px" @click="getJump()">下一步</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.title{
|
||||
font-size: 16px;
|
||||
font-weight: 800;
|
||||
width: 850px;
|
||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
||||
padding: 2px 2px 20px 2px;
|
||||
}
|
||||
.form-table{
|
||||
width: 850px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.progress{
|
||||
max-width: 250px;
|
||||
}
|
||||
.courseName{
|
||||
font-weight: 650;
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
margin-top: 12px;
|
||||
}
|
||||
.smallTitle{
|
||||
color:#134054;
|
||||
font-size:12px;
|
||||
margin-top: 7px;
|
||||
}
|
||||
::v-deep .el-form-item__content{
|
||||
font-weight: 500;
|
||||
}
|
||||
::v-deep .el-form-item{
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.tip{
|
||||
color: #7d7c7c;
|
||||
font-size: 14px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.score{
|
||||
margin-top: 28px;
|
||||
font-size: 20px;
|
||||
|
||||
}
|
||||
.twoFactorAuthentication{
|
||||
width: 344px;
|
||||
height: 135px;
|
||||
padding: 2px 2px 2px 2px;
|
||||
border: 1px solid #d7d7d7;
|
||||
background-color: #ffffff;
|
||||
box-sizing: border-box;
|
||||
margin-top: 20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.remind {
|
||||
margin-bottom: 20px;
|
||||
box-sizing: border-box;
|
||||
color: #797979;
|
||||
}
|
||||
</style>
|
||||
111
src/views/lecturer/TwoCoaching.vue
Normal file
@@ -0,0 +1,111 @@
|
||||
<script>
|
||||
import {addTeacher, getCertificationProcess, setOfflineTutoring} from "@/api/modules/lecturer";
|
||||
|
||||
export default {
|
||||
name: "",
|
||||
data(){
|
||||
return{
|
||||
|
||||
options: [],
|
||||
value: '',
|
||||
value2:'',
|
||||
teacherId:''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
//读取路由参数
|
||||
this.teacherId=this.$route.query.teacherId
|
||||
//获取老师列表
|
||||
this.getTeacherList()
|
||||
},
|
||||
methods:{
|
||||
getTeacherList() {
|
||||
addTeacher({pageNo:1,pageSize:100,keyword:''}).then(res=>{
|
||||
this.options = res.data.map(item => {
|
||||
return { value: item.realName, label: item.realName };
|
||||
});
|
||||
})
|
||||
},
|
||||
getCoachingTeacher(){
|
||||
console.log(this.value)
|
||||
},
|
||||
|
||||
getJump(){
|
||||
let tutor=this.value.join(',')
|
||||
let tutorTime=this.value2
|
||||
if (tutor==''||tutorTime==''){
|
||||
this.$message({
|
||||
message: '请填写必填信息',
|
||||
type: 'error'
|
||||
});
|
||||
}else {
|
||||
setOfflineTutoring({teacherId:this.teacherId,tutor,tutorTime}).then(res=>{
|
||||
this.$router.push({
|
||||
path:'/need/twocoachingsuccess',
|
||||
query:{
|
||||
teacherId:this.teacherId
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="title">线下辅导</div>
|
||||
<el-container>
|
||||
<div class="form-table">
|
||||
<div class="tip" style="margin-bottom: 20px;color: #d7d7d7;margin-left: 50px">您还未完成线下辅导,快去约辅导老师辅导课件吧!</div>
|
||||
<el-form label-width="140px" >
|
||||
<el-form-item required label="辅导老师:">
|
||||
<el-select
|
||||
v-model="value"
|
||||
multiple
|
||||
filterable
|
||||
remote
|
||||
reserve-keyword
|
||||
placeholder="请输入辅导老师姓名"
|
||||
@change="getCoachingTeacher"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item required label="辅导时间:">
|
||||
<el-date-picker
|
||||
v-model="value2"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
format="yyyy 年 MM 月 dd 日"
|
||||
value-format="yyyy-MM-dd HH:mm:ss">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-button type="primary" size="medium" style="margin-top: 20px;margin-left: 120px" @click="getJump()">已完成</el-button>
|
||||
</el-form>
|
||||
<div class="tip" style="margin-bottom: 20px;margin-left: 50px;color: #797979;margin-top: 24px">提示:如若未完成线下辅导,请勿点击已完成!</div>
|
||||
</div>
|
||||
</el-container>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.title{
|
||||
font-size: 16px;
|
||||
font-weight: 800;
|
||||
width: 850px;
|
||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
||||
padding: 2px 2px 20px 2px;
|
||||
}
|
||||
.form-table{
|
||||
width: 850px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
</style>
|
||||
254
src/views/lecturer/TwoCos.vue
Normal file
@@ -0,0 +1,254 @@
|
||||
<script>
|
||||
import {
|
||||
addTeacher,
|
||||
getCertificationProcess,
|
||||
getProgress,
|
||||
getReviewResult,
|
||||
getTeacherInfo, secondExamine
|
||||
} from "@/api/modules/lecturer";
|
||||
|
||||
export default {
|
||||
name: "",
|
||||
data(){
|
||||
return{
|
||||
teacherId:'',
|
||||
form:{
|
||||
teacherName:'',
|
||||
teacherNo:'',
|
||||
orgName:''
|
||||
},
|
||||
progressData:{},
|
||||
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||
disabled:true,
|
||||
statusInfo:'',
|
||||
result:'',
|
||||
newTeacherId:'',
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
//读取路由参数
|
||||
this.teacherId=this.$route.query.teacherId
|
||||
//获取教师基本信息
|
||||
this.baseInfo()
|
||||
this.getStatus()
|
||||
this.getReviewResult()
|
||||
},
|
||||
methods:{
|
||||
//前往二次认证
|
||||
getoFactor(){
|
||||
secondExamine({teacherId:this.teacherId}).then(res=>{
|
||||
this.newTeacherId=res.data.replace(/[^0-9]/ig,'')
|
||||
|
||||
})
|
||||
},
|
||||
//获取认证结果
|
||||
getReviewResult(){
|
||||
getReviewResult({teacherId:this.teacherId}).then(res=>{
|
||||
this.result=res.data
|
||||
})
|
||||
},
|
||||
//获取教师认证状态
|
||||
getStatus(){
|
||||
getCertificationProcess({teacherId:this.teacherId}).then(res=>{
|
||||
this.statusInfo=res.data
|
||||
})
|
||||
},
|
||||
baseInfo(){
|
||||
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
||||
/*
|
||||
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
||||
* 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.addTeacher()
|
||||
})
|
||||
},
|
||||
addTeacher(){
|
||||
addTeacher({pageNo:1,pageSize:10,keyword:this.form.teacherNo}).then(res=>{
|
||||
this.getProgress(res.data[0].id)
|
||||
})
|
||||
},
|
||||
getProgress(id){
|
||||
getProgress({teacherId:id}).then(res=>{
|
||||
this.progressData=res.data[0]
|
||||
if (this.progressData.progress==100){
|
||||
this.disabled=false
|
||||
}
|
||||
})
|
||||
},
|
||||
format(percentage) {
|
||||
return percentage === 100 ? '满' : `${percentage}%`;
|
||||
},
|
||||
getJump(){
|
||||
this.$router.push({
|
||||
path:'/need/twofinal',
|
||||
query:{teacherId:this.teacherId}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="title">基本信息</div>
|
||||
<el-container>
|
||||
<div class="form-table">
|
||||
<el-form label-width="140px">
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="姓名:">
|
||||
{{form.teacherName}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="工号:">
|
||||
{{form.teacherNo}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
<el-form-item label="组织:">
|
||||
{{form.orgName}}
|
||||
</el-form-item>
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="岗位:">
|
||||
{{form.positionName}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="职级:">
|
||||
{{form.bandCode}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</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">
|
||||
{{form.courseIntroduction}}
|
||||
</el-form-item>
|
||||
<el-form-item label="初稿课件:" prop="courseIntroduction">
|
||||
{{form.coursewareName}} <span style="color: #1378f6;display: inline-block;margin-left: 16px">查看</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-container>
|
||||
<div class="title" style="margin-top: 20px">线上课程</div>
|
||||
<div class="progress">
|
||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||
<img :src="fileBaseUrl +progressData.courseImage">
|
||||
</div>
|
||||
<div class="courseName">{{progressData.courseName}}</div>
|
||||
<div class="smallTitle">当前进度</div>
|
||||
<el-progress :percentage="progressData.progress" :format="format"></el-progress>
|
||||
</div>
|
||||
<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==0" class="score" style="color: #4b7900;">恭喜您,您的认证分数为{{ result.avgScore }}分,已经通过认证!</div>
|
||||
<div v-if="statusInfo.reviewResult==1" class="score" style="color: #ff0000">很遗憾,您的认证分数为{{ result.avgScore }}分,没有通过认证!</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title" style="margin-top: 20px">二次线下辅导</div>
|
||||
<el-container>
|
||||
<div class="form-table">
|
||||
<el-form label-width="140px">
|
||||
<el-form-item label="辅导老师:">
|
||||
<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 label="辅导时间:">
|
||||
{{form.tutorTime}}
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-container>
|
||||
</div>
|
||||
|
||||
<div class="tip">
|
||||
提示:您已完成线下辅导,快去进行下一步吧!
|
||||
</div>
|
||||
<el-button type="primary" style="margin-top: 20px;margin-left: 80px" @click="getJump()">下一步</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.title{
|
||||
font-size: 16px;
|
||||
font-weight: 800;
|
||||
width: 850px;
|
||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
||||
padding: 2px 2px 20px 2px;
|
||||
}
|
||||
.form-table{
|
||||
width: 850px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.progress{
|
||||
max-width: 250px;
|
||||
}
|
||||
.courseName{
|
||||
font-weight: 650;
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
margin-top: 12px;
|
||||
}
|
||||
.smallTitle{
|
||||
color:#134054;
|
||||
font-size:12px;
|
||||
margin-top: 7px;
|
||||
}
|
||||
::v-deep .el-form-item__content{
|
||||
font-weight: 500;
|
||||
}
|
||||
::v-deep .el-form-item{
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.tip{
|
||||
color: #7d7c7c;
|
||||
font-size: 14px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.score{
|
||||
margin-top: 28px;
|
||||
font-size: 20px;
|
||||
|
||||
}
|
||||
.twoFactorAuthentication{
|
||||
width: 344px;
|
||||
height: 135px;
|
||||
padding: 2px 2px 2px 2px;
|
||||
border: 1px solid #d7d7d7;
|
||||
background-color: #ffffff;
|
||||
box-sizing: border-box;
|
||||
margin-top: 20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.remind {
|
||||
margin-bottom: 20px;
|
||||
box-sizing: border-box;
|
||||
color: #797979;
|
||||
}
|
||||
</style>
|
||||
247
src/views/lecturer/TwoFinal.vue
Normal file
@@ -0,0 +1,247 @@
|
||||
<script>
|
||||
import {mapActions, mapGetters} from "vuex";
|
||||
import {getCertificationProcess, getTeacherInfo, setOfflineTutoring, treeList} from "@/api/modules/lecturer"
|
||||
export default {
|
||||
name: "",
|
||||
computed: {
|
||||
...mapGetters(['userInfo'])
|
||||
},
|
||||
|
||||
data(){
|
||||
return{
|
||||
disabled:false,
|
||||
//状态信息
|
||||
statusInfo:{},
|
||||
sysType: [],
|
||||
sysProps: {
|
||||
value: "name",
|
||||
label: "name"
|
||||
},
|
||||
sysTypeListMap:[],
|
||||
//教师id
|
||||
teacherId:'',
|
||||
labelPosition:'right',
|
||||
form: {
|
||||
teacherName: '董兆星',
|
||||
teacherNo: '10010908',
|
||||
orgName: '后台(业务支援体系)/BOEU/企划中心/数据资产部数据资产部',
|
||||
positionName: '产品企划岗',
|
||||
bandCode: 'Band7',
|
||||
courseName:'',
|
||||
courseContent:'',
|
||||
courseIntroduction:'',
|
||||
coursewareUrl:'',
|
||||
courseContent_1:''
|
||||
},
|
||||
rules: {
|
||||
courseName: [
|
||||
{required: true, message: '请输入认证课程名称', trigger: 'change'},
|
||||
{ min: 1, max: 50, message: '最多五十字', trigger: 'blur' }
|
||||
],
|
||||
courseContent_1: [
|
||||
{required: true, message: '请选择课程分类', trigger: 'change'}
|
||||
],
|
||||
courseIntroduction: [
|
||||
{required: true, message: '请输入课程简介', trigger: 'change'},
|
||||
{ min: 1, max: 500, message: '最多五百字', trigger: 'blur' }
|
||||
],
|
||||
}
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
...mapActions({
|
||||
getResOwnerTree:'resOwner/getResOwnerTree',
|
||||
loadResOwners:'resOwner/loadResOwners',
|
||||
getSysTypeTree:'sysType/getSysTypeTree',
|
||||
loadSysTypes:'sysType/loadSysTypes'
|
||||
}),
|
||||
//获取教师认证状态
|
||||
getStatus(){
|
||||
getCertificationProcess({teacherId:this.teacherId}).then(res=>{
|
||||
this.statusInfo=res.data
|
||||
if (this.statusInfo.draftStatus==0){
|
||||
this.disabled=true
|
||||
}
|
||||
})
|
||||
},
|
||||
baseInfo(){
|
||||
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
||||
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
|
||||
})
|
||||
},
|
||||
onSubmit(formName){
|
||||
this.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.form.coursewareUrl==''){
|
||||
this.$message({
|
||||
message: '未上传文件',
|
||||
type: 'error'
|
||||
});
|
||||
return
|
||||
}else {
|
||||
this.form.courseContent = this.form.courseContent_1.join('/');
|
||||
setOfflineTutoring(
|
||||
{teacherId:this.teacherId,
|
||||
courseName:this.form.courseName,
|
||||
courseContent:this.form.courseContent,
|
||||
courseIntroduction:this.form.courseIntroduction,
|
||||
coursewareUrl:this.form.coursewareUrl,
|
||||
coursewareName:this.form.coursewareName,
|
||||
version:1
|
||||
}).then(res=>{
|
||||
if (res.code==200){
|
||||
this.$message({
|
||||
message: '设置成功',
|
||||
type: 'success'
|
||||
});
|
||||
this.$router.push({
|
||||
path:'/need/twofinals',
|
||||
query:{teacherId:this.teacherId}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
handRemove(file){
|
||||
this.form.coursewareUrl=''
|
||||
this.form.coursewareName=''
|
||||
},
|
||||
handlSuccess(response, file, fileList){
|
||||
if (response.code==200){
|
||||
this.form.coursewareUrl=response.data.coursewareUrl
|
||||
this.form.coursewareName=response.data.coursewareName
|
||||
this.$message({
|
||||
message: '上传成功',
|
||||
type: 'success'
|
||||
});
|
||||
}
|
||||
},
|
||||
handlError(response, file, fileList){
|
||||
this.$message({
|
||||
message: '上传失败',
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
//获取基本信息
|
||||
this.teacherId=this.$route.query.teacherId
|
||||
this.baseInfo()
|
||||
this.getStatus()
|
||||
this.getSysTypeTree().then(rs=>{
|
||||
this.sysTypeListMap=rs;
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="title">上传初稿</div>
|
||||
<el-container>
|
||||
<div class="form-table">
|
||||
<el-form ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="140px">
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="姓名:">
|
||||
<el-input type="text" :disabled="true" v-model="form.teacherName"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="工号:">
|
||||
<el-input type="text" :disabled="true" v-model="form.teacherNo"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
<el-form-item label="组织:">
|
||||
<el-input v-model="form.orgName" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="岗位:">
|
||||
<el-input type="text" :disabled="true" v-model="form.positionName"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="职级:">
|
||||
<el-input type="text" :disabled="true" v-model="form.bandCode"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
<el-form-item label="认证课程名称:" prop="courseName">
|
||||
<el-input v-model="form.courseName" placeholder="请输入认证课程名称"></el-input>
|
||||
</el-form-item>
|
||||
<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-form-item>
|
||||
<el-form-item label="课程简介:" prop="courseIntroduction">
|
||||
<el-input type="textarea" v-model="form.courseIntroduction"></el-input>
|
||||
</el-form-item>
|
||||
<div style="margin-left: 140px;margin-bottom: 20px">
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
drag
|
||||
action="/activityApi/certification/uploadCourseware"
|
||||
accept=".ppt,.pptx,.pdf"
|
||||
:on-success="handlSuccess"
|
||||
:on-error="handlError"
|
||||
:limit="1"
|
||||
:on-remove="handRemove"
|
||||
multiple>
|
||||
<i class="el-icon-upload"></i>
|
||||
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
||||
<div class="el-upload__tip" slot="tip">请上传解密后的文件,仅支持上传ppt,pptx,pdf格式文件</div>
|
||||
</el-upload>
|
||||
</div>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit('form')">提交</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-container>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.title{
|
||||
font-size: 16px;
|
||||
font-weight: 800;
|
||||
width: 850px;
|
||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
||||
padding: 2px 2px 20px 2px;
|
||||
}
|
||||
.form-table{
|
||||
width: 850px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.iconImg{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
}
|
||||
.iconImg>img{
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.line{
|
||||
width: 2px;
|
||||
height: 100px;
|
||||
background-color: #d7d7d7;
|
||||
margin-top: 3px;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
255
src/views/lecturer/TwoFinals.vue
Normal file
@@ -0,0 +1,255 @@
|
||||
<script>
|
||||
import {
|
||||
addTeacher,
|
||||
getCertificationProcess,
|
||||
getProgress,
|
||||
getReviewResult,
|
||||
getTeacherInfo, secondExamine
|
||||
} from "@/api/modules/lecturer";
|
||||
|
||||
export default {
|
||||
name: "",
|
||||
data(){
|
||||
return{
|
||||
teacherId:'',
|
||||
form:{
|
||||
teacherName:'',
|
||||
teacherNo:'',
|
||||
orgName:''
|
||||
},
|
||||
progressData:{},
|
||||
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||
disabled:true,
|
||||
statusInfo:'',
|
||||
result:'',
|
||||
newTeacherId:'',
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
//读取路由参数
|
||||
this.teacherId=this.$route.query.teacherId
|
||||
//获取教师基本信息
|
||||
this.baseInfo()
|
||||
this.getStatus()
|
||||
this.getReviewResult()
|
||||
},
|
||||
methods:{
|
||||
//前往二次认证
|
||||
getoFactor(){
|
||||
secondExamine({teacherId:this.teacherId}).then(res=>{
|
||||
this.newTeacherId=res.data.replace(/[^0-9]/ig,'')
|
||||
|
||||
})
|
||||
},
|
||||
//获取认证结果
|
||||
getReviewResult(){
|
||||
getReviewResult({teacherId:this.teacherId}).then(res=>{
|
||||
this.result=res.data
|
||||
})
|
||||
},
|
||||
//获取教师认证状态
|
||||
getStatus(){
|
||||
getCertificationProcess({teacherId:this.teacherId}).then(res=>{
|
||||
this.statusInfo=res.data
|
||||
})
|
||||
},
|
||||
baseInfo(){
|
||||
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
|
||||
/*
|
||||
* teacherName:教师姓名 teacherNo:教师工号 orgName:组织 positionName:岗位 bandCode:职级 courseName:认证课程名称 courseContent课程内容分类
|
||||
* 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.addTeacher()
|
||||
})
|
||||
},
|
||||
addTeacher(){
|
||||
addTeacher({pageNo:1,pageSize:10,keyword:this.form.teacherNo}).then(res=>{
|
||||
this.getProgress(res.data[0].id)
|
||||
})
|
||||
},
|
||||
getProgress(id){
|
||||
getProgress({teacherId:id}).then(res=>{
|
||||
this.progressData=res.data[0]
|
||||
if (this.progressData.progress==100){
|
||||
this.disabled=false
|
||||
}
|
||||
})
|
||||
},
|
||||
format(percentage) {
|
||||
return percentage === 100 ? '满' : `${percentage}%`;
|
||||
},
|
||||
getJump(){
|
||||
this.$router.push({
|
||||
path:'/need/twofinal',
|
||||
query:{teacherId:this.teacherId}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="title">基本信息</div>
|
||||
<el-container>
|
||||
<div class="form-table">
|
||||
<el-form label-width="140px">
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="姓名:">
|
||||
{{form.teacherName}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="工号:">
|
||||
{{form.teacherNo}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
<el-form-item label="组织:">
|
||||
{{form.orgName}}
|
||||
</el-form-item>
|
||||
<div>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="岗位:">
|
||||
{{form.positionName}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10" :offset="4">
|
||||
<el-form-item label="职级:">
|
||||
{{form.bandCode}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</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">
|
||||
{{form.courseIntroduction}}
|
||||
</el-form-item>
|
||||
<el-form-item label="初稿课件:" prop="courseIntroduction">
|
||||
{{form.coursewareName}} <span style="color: #1378f6;display: inline-block;margin-left: 16px">查看</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-container>
|
||||
<div class="title" style="margin-top: 20px">线上课程</div>
|
||||
<div class="progress">
|
||||
<div class="uc-course-img" style="width: 212px;height:119px">
|
||||
<img :src="fileBaseUrl +progressData.courseImage">
|
||||
</div>
|
||||
<div class="courseName">{{progressData.courseName}}</div>
|
||||
<div class="smallTitle">当前进度</div>
|
||||
<el-progress :percentage="progressData.progress" :format="format"></el-progress>
|
||||
</div>
|
||||
<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==0" class="score" style="color: #4b7900;">恭喜您,您的认证分数为{{ result.avgScore }}分,已经通过认证!</div>
|
||||
<div v-if="statusInfo.reviewResult==1" class="score" style="color: #ff0000">很遗憾,您的认证分数为{{ result.avgScore }}分,没有通过认证!</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title" style="margin-top: 20px">二次线下辅导</div>
|
||||
<el-container>
|
||||
<div class="form-table">
|
||||
<el-form label-width="140px">
|
||||
<el-form-item label="辅导老师:">
|
||||
<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 label="辅导时间:">
|
||||
{{form.tutorTime}}
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-container>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title" style="margin-top: 20px">二次认证结果</div>
|
||||
<div v-if="statusInfo.secondResult==2" class="score" style="color: #797979">请您耐心等待线下认证安排!</div>
|
||||
<div v-if="statusInfo.secondResult==0" class="score" style="color: #4b7900;">恭喜您,您的认证分数为{{ result.avgScore }}分,已经通过认证!</div>
|
||||
<div v-if="statusInfo.secondResult==1" class="score" style="color: #ff0000">很遗憾,您的认证分数为{{ result.avgScore }}分,没有通过认证!</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.title{
|
||||
font-size: 16px;
|
||||
font-weight: 800;
|
||||
width: 850px;
|
||||
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
|
||||
padding: 2px 2px 20px 2px;
|
||||
}
|
||||
.form-table{
|
||||
width: 850px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.progress{
|
||||
max-width: 250px;
|
||||
}
|
||||
.courseName{
|
||||
font-weight: 650;
|
||||
color: #333333;
|
||||
font-size: 14px;
|
||||
margin-top: 12px;
|
||||
}
|
||||
.smallTitle{
|
||||
color:#134054;
|
||||
font-size:12px;
|
||||
margin-top: 7px;
|
||||
}
|
||||
::v-deep .el-form-item__content{
|
||||
font-weight: 500;
|
||||
}
|
||||
::v-deep .el-form-item{
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.tip{
|
||||
color: #7d7c7c;
|
||||
font-size: 14px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.score{
|
||||
margin-top: 28px;
|
||||
font-size: 20px;
|
||||
|
||||
}
|
||||
.twoFactorAuthentication{
|
||||
width: 344px;
|
||||
height: 135px;
|
||||
padding: 2px 2px 2px 2px;
|
||||
border: 1px solid #d7d7d7;
|
||||
background-color: #ffffff;
|
||||
box-sizing: border-box;
|
||||
margin-top: 20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.remind {
|
||||
margin-bottom: 20px;
|
||||
box-sizing: border-box;
|
||||
color: #797979;
|
||||
}
|
||||
</style>
|
||||
@@ -128,7 +128,8 @@ module.exports = {
|
||||
proxy: {
|
||||
'/manageApi': {
|
||||
// 目标代理服务器地址
|
||||
target: 'https://u-pre.boe.com',
|
||||
// target: 'https://u-pre.boe.com',
|
||||
target: 'https://pretest.zcwytd.com',
|
||||
changeOrigin: true,
|
||||
secure: false,
|
||||
pathRewrite: {
|
||||
@@ -138,7 +139,8 @@ module.exports = {
|
||||
'/systemapi': {
|
||||
// 目标代理服务器地址
|
||||
// target: 'http://127.0.0.1:9090',
|
||||
target: 'https://u-pre.boe.com',
|
||||
// target: 'https://u-pre.boe.com',
|
||||
target: 'https://pretest.zcwytd.com',
|
||||
changeOrigin: true,
|
||||
logLevel:'debug',
|
||||
secure: false,
|
||||
@@ -148,7 +150,8 @@ module.exports = {
|
||||
},
|
||||
'/uboeApi': {
|
||||
// 目标代理服务器地址
|
||||
target: 'https://u-pre.boe.com',
|
||||
// target: 'https://u-pre.boe.com',
|
||||
target: 'https://pretest.zcwytd.com',
|
||||
changeOrigin: true,
|
||||
secure: false,
|
||||
pathRewrite: {
|
||||
@@ -157,7 +160,8 @@ module.exports = {
|
||||
},
|
||||
'/userbasic': {
|
||||
// 目标代理服务器地址
|
||||
target: 'https://u-pre.boe.com',
|
||||
// target: 'https://u-pre.boe.com',
|
||||
target: 'https://pretest.zcwytd.com',
|
||||
changeOrigin: true,
|
||||
secure: false,
|
||||
pathRewrite: {
|
||||
@@ -167,7 +171,8 @@ module.exports = {
|
||||
'/statApi': {
|
||||
// 目标代理服务器地址
|
||||
// target: 'http://127.0.0.1:9080',
|
||||
target: 'https://u-pre.boe.com',
|
||||
// target: 'https://u-pre.boe.com',
|
||||
target: 'https://pretest.zcwytd.com',
|
||||
changeOrigin: true,
|
||||
logLevel:'debug',
|
||||
secure: false,
|
||||
@@ -178,7 +183,8 @@ module.exports = {
|
||||
'/socialApi': {
|
||||
// 目标代理服务器地址
|
||||
// target: 'http://127.0.0.1:9081',
|
||||
target: 'https://u-pre.boe.com',
|
||||
// target: 'https://u-pre.boe.com',
|
||||
target: 'https://pretest.zcwytd.com',
|
||||
changeOrigin: true,
|
||||
logLevel:'debug',
|
||||
secure: false,
|
||||
@@ -188,7 +194,8 @@ module.exports = {
|
||||
},
|
||||
'/report': {
|
||||
// 目标代理服务器地址
|
||||
target: 'https://u-pre.boe.com',
|
||||
// target: 'https://u-pre.boe.com',
|
||||
target: 'https://pretest.zcwytd.com',
|
||||
changeOrigin: true,
|
||||
secure: false,
|
||||
pathRewrite: {
|
||||
@@ -197,13 +204,15 @@ module.exports = {
|
||||
},
|
||||
'/infrasApi': {
|
||||
// 目标代理服务器地址
|
||||
target: 'https://u-pre.boe.com',
|
||||
// target: 'https://u-pre.boe.com',
|
||||
target: 'https://pretest.zcwytd.com',
|
||||
changeOrigin: true,
|
||||
secure: false,
|
||||
},
|
||||
'/activityApi': {
|
||||
// 目标代理服务器地址
|
||||
target: 'https://u-pre.boe.com',
|
||||
// target: 'https://u-pre.boe.com',
|
||||
target: 'https://pretest.zcwytd.com',
|
||||
changeOrigin: true,
|
||||
secure: false,
|
||||
},
|
||||
|
||||