This commit is contained in:
李志发
2024-05-17 09:27:15 +08:00
parent c1dd6426c7
commit c3d34b0c66
27 changed files with 500 additions and 245 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -1,11 +0,0 @@
<script setup>
</script>
<template>
<div>2222</div>
</template>
<style scoped lang="scss">
</style>

View File

@@ -198,7 +198,8 @@
<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>
<div v-if="instructor!=0" style="position: absolute;right: 70px;top: 0;background-color: red;width: 15px;height: 15px;color: #fff;border-radius: 50%;display: flex;justify-content: center;align-items: center">
{{ instructor }}</div>
</template>
</el-menu-item>
<el-submenu index="u004" v-show="curIdentity == 2">
@@ -381,9 +382,8 @@
<script>
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 {pageList} from "@/api/modules/lecturer"
import courseImage from "@/components/Course/courseImage.vue"
import testUser from '@/utils/testUsers.js'
export default {
@@ -413,7 +413,7 @@ export default {
isCollapse: false,
lastStudy:{},
overlayShow: false,
instructor:''
instructor:0
};
},
created() {
@@ -436,7 +436,7 @@ export default {
methods: {
//讲师认证条数
instructorCertification(){
pageList({ teacherNo:'',courseName:'', pageIndex: 1, pageSize: 1}).then(res=>{
pageList({ teacherNo:this.userInfo.userNo,courseName:'', pageNo: 1, pageSize: 10}).then(res=>{
this.instructor=res.data.count
})
},

View File

@@ -0,0 +1,254 @@
<script setup>
import {getCertificationProcess} from "@/api/modules/lecturer";
export default {
props: ['teacherId'],
data(){
return{
status:{
draftStatus:0,
onlineLearning:0,
offlineTutoring:0,
endStatus:0,
reviewResult:0,
offlineTutoring1:0,
endStatus1:0,
reviewResult1:0,
}
}
},
mounted() {
this.getCertificationProcess()
},
methods:{
getCertificationProcess(){
getCertificationProcess({teacherId:this.teacherId}).then(res=>{
let data=res.data
if (data.secondResult==0 && data.reviewResult==0){
this.status={
secondResult:0,
draftStatus:0,
onlineLearning:0,
offlineTutoring:0,
endStatus:0,
reviewResult:1,
offlineTutoring1:0,
endStatus1:0,
reviewResult1:0,
}
}else if (data.secondResult==0 && data.reviewResult==1){
this.status={
secondResult:0,
draftStatus:0,
onlineLearning:0,
offlineTutoring:0,
endStatus:0,
reviewResult:1,
offlineTutoring1:0,
endStatus1:0,
reviewResult1:1,
}
}else if (data.secondResult==0 && data.endStatus==0){
this.status={
secondResult:0,
draftStatus:0,
onlineLearning:0,
offlineTutoring:0,
endStatus:0,
reviewResult:1,
offlineTutoring1:0,
endStatus1:0,
reviewResult1:2,
}
}else if (data.secondResult==0 && data.offlineTutoring==0){
this.status={
secondResult:0,
draftStatus:0,
onlineLearning:0,
offlineTutoring:0,
endStatus:0,
reviewResult:1,
offlineTutoring1:0,
endStatus1:1,
reviewResult1:2,
}
}else if (data.secondResult==1 && data.reviewResult==0){
this.status={
secondResult:1,
draftStatus:0,
onlineLearning:0,
offlineTutoring:0,
endStatus:0,
reviewResult:0,
offlineTutoring1:1,
endStatus1:1,
reviewResult1:2,
}
}else if (data.secondResult==1 && data.reviewResult==1){
this.status={
secondResult:1,
draftStatus:0,
onlineLearning:0,
offlineTutoring:0,
endStatus:0,
reviewResult:1,
offlineTutoring1:1,
endStatus1:1,
reviewResult1:2,
}
}else if (data.secondResult==1 && data.endStatus==0){
this.status={
secondResult:1,
draftStatus:0,
onlineLearning:0,
offlineTutoring:0,
endStatus:0,
reviewResult:2,
offlineTutoring1:1,
endStatus1:1,
reviewResult1:2,
}
}else if (data.secondResult==1 && data.offlineTutoring==0){
this.status={
secondResult:1,
draftStatus:0,
onlineLearning:0,
offlineTutoring:0,
endStatus:1,
reviewResult:2,
offlineTutoring1:1,
endStatus1:1,
reviewResult1:2,
}
}else if (data.secondResult==1 && data.onlineLearning==0){
this.status={
secondResult:1,
draftStatus:0,
onlineLearning:0,
offlineTutoring:1,
endStatus:1,
reviewResult:2,
offlineTutoring1:1,
endStatus1:1,
reviewResult1:2,
}
}else if (data.secondResult==1 && data.draftStatus==0){
this.status={
secondResult:1,
draftStatus:0,
onlineLearning:1,
offlineTutoring:1,
endStatus:1,
reviewResult:2,
offlineTutoring1:1,
endStatus1:1,
reviewResult1:2,
}
}else{
this.status={
secondResult:1,
draftStatus:1,
onlineLearning:1,
offlineTutoring:1,
endStatus:1,
reviewResult:2,
offlineTutoring1:1,
endStatus1:1,
reviewResult1:2,
}
}
})
}
}
};
</script>
<template>
<div class="main">
<div class="process">
<img src="../assets/images/first_draft.png" alt="" v-if="status.draftStatus==1">
<img src="../assets/images/first_draft1.png" alt="" v-if="status.draftStatus==0">
<div>{{status.draftStatus==1?'初稿未上传':'初稿已上传'}}</div>
</div>
<div class="line"></div>
<div class="process">
<img src="../assets/images/E-learning1.png" alt="" v-if="status.onlineLearning==0">
<img src="../assets/images/E-learning.png" alt="" v-if="status.onlineLearning==1">
<div>{{status.onlineLearning==1?'线上学习未完成':'线上学习已完成'}}</div>
</div>
<div class="line"></div>
<div class="process">
<img src="../assets/images/tutoring1.png" alt="" v-if="status.offlineTutoring==0">
<img src="../assets/images/tutoring.png" alt="" v-if="status.offlineTutoring==1">
<div>{{status.offlineTutoring==1?'线下辅导未完成':'线下辅导已完成'}}</div>
</div>
<div class="line"></div>
<div class="process">
<img src="../assets/images/final_draft1.png" alt="" v-if="status.endStatus==0">
<img src="../assets/images/final_draft.png" alt="" v-if="status.endStatus==1">
<div>{{status.endStatus==1?'终稿未上传':'终稿已上传'}}</div>
</div>
<div class="line"></div>
<div class="process">
<img src="../assets/images/certification.png" alt="" v-if="status.reviewResult==2">
<img src="../assets/images/certification3.png" alt="" v-if="status.reviewResult==1">
<img src="../assets/images/certification1.png" alt="" v-if="status.reviewResult==0">
<div>{{status.reviewResult==0?'认证通过':status.reviewResult==1?'认证失败':'未认证'}}</div>
</div>
<div class="line" v-if="status.secondResult==0"></div>
<div class="process" v-if="status.secondResult==0">
<img src="../assets/images/tutoring1.png" alt="" v-if="status.offlineTutoring1==0">
<img src="../assets/images/tutoring.png" alt="" v-if="status.offlineTutoring1==1">
<div>{{status.offlineTutoring1==1?'线下辅导未完成':'线下辅导已完成'}}</div>
</div>
<div class="line" v-if="status.secondResult==0"></div>
<div class="process" v-if="status.secondResult==0">
<img src="../assets/images/final_draft1.png" alt="" v-if="status.endStatus1==0">
<img src="../assets/images/final_draft.png" alt="" v-if="status.endStatus1==1">
<div>{{status.endStatus1==1?'终稿未上传':'终稿已上传'}}</div>
</div>
<div class="line" v-if="status.secondResult==0"></div>
<div class="process" v-if="status.secondResult==0">
<img src="../assets/images/certification.png" alt="" v-if="status.reviewResult1==2">
<img src="../assets/images/certification3.png" alt="" v-if="status.reviewResult1==1">
<img src="../assets/images/certification1.png" alt="" v-if="status.reviewResult1==0">
<div>{{status.reviewResult1==0?'认证通过':status.reviewResult1==1?'认证失败':'未认证'}}</div>
</div>
</div>
</template>
<style scoped lang="scss">
.main {
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 20px;
}
.process {
display: flex;
flex-direction: column;
align-items: center;
img {
width: 46px;
height: 46px;
}
div {
font-weight: 400;
font-size: 14px;
color: #409EFF;
line-height: 20px;
margin-top: 12px;
}
}
.line {
width: 81px;
height: 1px;
border: 1px solid #409EFF;
margin: 0 8px 30px 8px;
}
</style>

View File

@@ -1,8 +1,10 @@
<script>
import {addTeacher, getCertificationProcess, setOfflineTutoring} from "@/api/modules/lecturer";
import processStatus from "@/components/processStatus.vue";
export default {
name: "CoachingPage",
components: {processStatus},
data(){
return{
@@ -12,7 +14,7 @@ export default {
teacherId:''
}
},
mounted() {
created() {
//读取路由参数
this.teacherId=this.$route.query.teacherId
//获取老师列表
@@ -55,11 +57,12 @@ export default {
<template>
<div>
<process-status :teacherId="teacherId"></process-status>
<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" >
<div class="tip" style="margin-bottom: 20px;color: #d7d7d7;">您还未完成线下辅导快去约辅导老师辅导课件吧</div>
<el-form >
<el-form-item required label="辅导老师:">
<el-select
v-model="value"
@@ -83,13 +86,13 @@ export default {
v-model="value2"
type="date"
placeholder="选择日期"
format="yyyy 年 MM 月 dd 日"
format="yyyy-MM-dd HH:mm:ss"
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-button type="primary" size="medium" style="margin-top: 20px;margin-left: 70px" @click="getJump()">已完成</el-button>
</el-form>
<div class="tip" style="margin-bottom: 20px;margin-left: 50px;color: #797979;margin-top: 24px">提示如若未完成线下辅导请勿点击已完成</div>
<div class="tip" style="margin-bottom: 20px;color: #797979;margin-top: 24px">提示如若未完成线下辅导请勿点击已完成</div>
</div>
</el-container>
@@ -100,12 +103,11 @@ export default {
.title{
font-size: 16px;
font-weight: 800;
width: 850px;
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
border-bottom: 1px solid rgba(153, 153, 153, 0.2);
padding: 2px 2px 20px 2px;
}
.form-table{
width: 850px;
width: 100%;
margin-top: 20px;
}
</style>

View File

@@ -1,80 +1,79 @@
<script>
import {addTeacher, getCertificationProcess, getProgress, getTeacherInfo} from "@/api/modules/lecturer";
import processStatus from "@/components/processStatus.vue";
export default {
name: "CoachingSuccess",
data(){
return{
teacherId:'',
form:{
teacherName:'',
teacherNo:'',
orgName:''
components: {processStatus},
data() {
return {
teacherId: '',
form: {
teacherName: '',
teacherNo: '',
orgName: ''
},
progressData:{},
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
disabled:false,
statusInfo:''
progressData: {},
fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL,
disabled: false,
statusInfo: ''
}
},
mounted() {
created() {
//读取路由参数
this.teacherId=this.$route.query.teacherId
this.teacherId = this.$route.query.teacherId
//获取教师基本信息
this.baseInfo()
this.getStatus()
},
methods:{
methods: {
//获取教师认证状态
getStatus(){
getCertificationProcess({teacherId:this.teacherId}).then(res=>{
this.statusInfo=res.data
getStatus() {
getCertificationProcess({teacherId: this.teacherId}).then(res => {
this.statusInfo = res.data
})
},
baseInfo(){
getTeacherInfo({teacherId:this.teacherId}).then(res=>{
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.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=>{
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
res.data.forEach((item,index)=>{
if (item.progress!=100){
this.disabled=true
getProgress(id) {
getProgress({teacherId: id}).then(res => {
this.progressData = res.data
res.data.forEach((item, index) => {
if (item.progress != 100) {
this.disabled = true
return
}
})
})
},
format(percentage) {
return percentage === 100 ? '满' : `${percentage}%`;
},
getJump(){
getJump() {
this.$router.push({
path:'/need/final',
query:{teacherId:this.teacherId}
path: '/need/final',
query: {teacherId: this.teacherId}
})
}
@@ -84,73 +83,78 @@ export default {
<template>
<div>
<process-status :teacherId="teacherId"></process-status>
<div class="title">基本信息</div>
<el-container>
<div class="form-table">
<el-form label-width="140px">
<el-form>
<div>
<el-col :span="10">
<el-col :span="11">
<el-form-item label="姓名:">
{{form.teacherName}}
{{ form.teacherName }}
</el-form-item>
</el-col>
<el-col :span="10" :offset="4">
<el-col :span="11" :offset="2">
<el-form-item label="工号:">
{{form.teacherNo}}
{{ 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-col :span="11">
<el-form-item label="组织">
{{ form.orgName }}
</el-form-item>
</el-col>
<el-col :span="10" :offset="4">
<el-form-item label="职级">
{{form.bandCode}}
<el-col :span="11" :offset="2">
<el-form-item label="岗位">
{{ form.positionName }}
</el-form-item>
</el-col>
</div>
<div>
<el-col :span="11">
<el-form-item label="认证课程名称:" prop="courseName">
{{ form.courseName }}
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="课程内容分类:" prop="courseContent">
{{ form.courseContent }}
</el-form-item>
</el-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}}
{{ form.courseIntroduction }}
</el-form-item>
<el-form-item label="初稿课件:" prop="courseIntroduction">
{{form.coursewareName}} <span style="color: #1378f6;display: inline-block;margin-left: 16px">查看</span>
{{ form.coursewareName }} <span style="color: #1378f6;display: inline-block;margin-left: 16px">查看</span>
</el-form-item>
</el-form>
</div>
</el-container>
<div class="title" style="margin-top: 20px">线上课程</div>
<div class="progress">
<div v-for="(item,index) in progressData" :key="item">
<div v-for="(item,index) in progressData" :key="index">
<div class="uc-course-img" style="width: 212px;height:119px">
<img :src="item.courseImage">
</div>
<div class="courseName">{{item.courseName}}</div>
<div class="courseName">{{ item.courseName }}</div>
<div class="smallTitle">当前进度</div>
<el-progress :percentage="item.progress" :format="format"></el-progress>
<el-progress :percentage="parseInt(item.progress)"></el-progress>
</div>
</div>
<div>
<div class="title" style="margin-top: 20px">线下辅导</div>
<el-container>
<div class="form-table">
<el-form label-width="140px">
<el-form>
<el-form-item label="辅导老师:">
<span v-for="(item,index) in form.tutor" :key="item" style="display: inline-block;margin-right: 20px">{{item}}</span>
<span v-for="(item,index) in form.tutor" :key="item"
style="display: inline-block;margin-right: 20px">{{ item }}</span>
</el-form-item>
<el-form-item label="辅导时间:">
{{form.tutorTime}}
{{ form.tutorTime }}
</el-form-item>
</el-form>
</div>
@@ -165,45 +169,58 @@ export default {
</template>
<style scoped lang="scss">
.title{
.title {
font-size: 16px;
font-weight: 800;
width: 850px;
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
border-bottom: 1px solid rgba(153, 153, 153, 0.2);
padding: 2px 2px 20px 2px;
}
.form-table{
width: 850px;
.form-table {
width: 100%;
margin-top: 20px;
}
.progress{
display: flex;
align-items: center;
margin-top: 20px;
}
.progress>div{
max-width: 250px;
margin-right: 20px;
width: 300px;
margin-right: 30px;
}
.courseName{
.courseName {
font-weight: 650;
color: #333333;
font-size: 14px;
margin-top: 12px;
}
.smallTitle{
color:#134054;
font-size:12px;
.smallTitle {
color: #134054;
font-size: 12px;
margin-top: 7px;
}
::v-deep .el-form-item__content{
::v-deep .el-form-item__content {
font-weight: 500;
}
::v-deep .el-form-item{
::v-deep .el-form-item {
margin-bottom: 0px;
}
.tip{
.tip {
color: #7d7c7c;
font-size: 14px;
margin-top: 20px;
}
::v-deep .el-progress-bar__outer{
background-color: rgba(255, 160, 80, 0.2);
}
::v-deep .el-progress-bar__inner{
background-color: rgba(255, 160, 80, 1);
}
</style>

View File

@@ -1,8 +1,10 @@
<script>
import {mapActions, mapGetters} from "vuex";
import {getCertificationProcess, getTeacherInfo, setOfflineTutoring, treeList} from "@/api/modules/lecturer"
import processStatus from "@/components/processStatus.vue";
export default {
name: "FinalDraft",
components: {processStatus},
computed: {
...mapGetters(['userInfo'])
},
@@ -74,10 +76,6 @@ export default {
this.form.orgName=res.data[0].orgName
this.form.positionName=res.data[0].positionName
this.form.bandCode=res.data[0].bandCode
//获取初始值
this.form.courseNameOne=res.data[0].courseName
this.form.courseIntroductionOne=res.data[0].courseIntroduction
this.form.courseContent_2=res.data[0].courseContent
})
},
onSubmit(formName){
@@ -93,9 +91,9 @@ export default {
this.form.courseContent = this.form.courseContent_1.join('/');
setOfflineTutoring(
{teacherId:this.teacherId,
courseName:this.form.courseNameOne==this.form.courseName?null:this.form.courseName,
courseContent:this.form.courseContent_2==this.form.courseContent?null:this.form.courseContent,
courseIntroduction:this.form.courseIntroductionOne==this.form.courseIntroduction?null:this.form.courseIntroduction,
courseName:this.form.courseName,
courseContent:this.form.courseContent,
courseIntroduction:this.form.courseIntroduction,
coursewareUrl:this.form.coursewareUrl,
coursewareName:this.form.coursewareName,
version:1
@@ -109,6 +107,11 @@ export default {
path:'/need/finalsuccess',
query:{teacherId:this.teacherId}
})
}else {
this.$message({
message: res.msg,
type: 'error'
});
}
})
}
@@ -138,7 +141,7 @@ export default {
});
}
},
mounted() {
created() {
//获取基本信息
this.teacherId=this.$route.query.teacherId
this.baseInfo()
@@ -152,6 +155,7 @@ export default {
<template>
<div>
<process-status :teacherId="teacherId"></process-status>
<div class="title">上传终稿</div>
<el-container>
<div class="form-table">
@@ -186,13 +190,13 @@ export default {
<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 label="课程内容分类:" prop="courseContent_1">
<el-cascader placeholder="选择内容分类" style="width:100%" 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-input type="textarea" rows="5" v-model="form.courseIntroduction"></el-input>
</el-form-item>
<div style="margin-left: 140px;margin-bottom: 20px">
<el-form-item label="上传终稿:" required>
<el-upload
class="upload-demo"
drag
@@ -207,46 +211,13 @@ export default {
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
<div class="el-upload__tip" slot="tip">请上传解密后的文件仅支持上传pptpptxpdf格式文件</div>
</el-upload>
</div>
</el-form-item>
<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>
@@ -254,12 +225,11 @@ export default {
.title{
font-size: 16px;
font-weight: 800;
width: 850px;
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
border-bottom: 1px solid rgba(153, 153, 153, 0.2);
padding: 2px 2px 20px 2px;
}
.form-table{
width: 850px;
width: 100%;
margin-top: 20px;
}
.iconImg{

View File

@@ -40,7 +40,7 @@ export default {
this.newTeacherId=res.data.replace(/[^0-9]/ig,'')
if (res.code==200){
this.$router.push({
path:'/need/twoauthentication',
path:'/need/twoathentication',
query:{teacherId:this.newTeacherId}
})
}

View File

@@ -1,12 +1,15 @@
<script>
import {mapActions, mapGetters} from "vuex";
import {getCertificationProcess, getTeacherInfo, setOfflineTutoring, treeList} from "@/api/modules/lecturer"
import processStatus from '@/components/processStatus.vue';
export default {
name: "FirstDraft",
computed: {
...mapGetters(['userInfo'])
},
components:{
processStatus
},
data(){
return{
disabled:false,
@@ -47,6 +50,15 @@ export default {
],
}
}
},
created() {
//获取基本信息
this.teacherId=this.$route.query.teacherId
this.baseInfo()
this.getStatus()
this.getSysTypeTree().then(rs=>{
this.sysTypeListMap=rs;
})
},
methods:{
...mapActions({
@@ -74,46 +86,46 @@ export default {
})
},
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 {
this.$message({
message:res.msg,
type: 'error'
});
}
})
}
} else {
return false;
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 {
this.$message({
message:res.msg,
type: 'error'
});
}
})
}
});
} else {
return false;
}
});
},
handRemove(file){
this.form.coursewareUrl=''
@@ -136,20 +148,13 @@ export default {
});
}
},
mounted() {
//获取基本信息
this.teacherId=this.$route.query.teacherId
this.baseInfo()
this.getStatus()
this.getSysTypeTree().then(rs=>{
this.sysTypeListMap=rs;
})
}
}
</script>
<template>
<div>
<process-status :teacherId="teacherId"></process-status>
<div class="title">上传初稿</div>
<el-container>
<div class="form-table">
@@ -219,12 +224,11 @@ export default {
.title{
font-size: 16px;
font-weight: 800;
width: 850px;
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
border-bottom: 1px solid rgba(153, 153, 153, 0.2);
padding: 2px 2px 20px 2px;
}
.form-table{
width: 850px;
width: 100%;
margin-top: 20px;
}
.iconImg{

View File

@@ -112,6 +112,16 @@ export default {
})
}
})
},
//控制跳转
getJump(item){
if (item.reviewResult==1 || item.reviewResult==0){
this.getRecording(item)
}else if (item.reviewResult==2){
this.getView(item)
}else if (item.reviewResult==3){
this.jumpRouter(item.teacherId)
}
}
}
}
@@ -132,9 +142,8 @@ export default {
</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" v-for="(item, idx) in couresList" :key="idx" @click="getJump(item)">
<div class="uc-course-img" style="width: 212px;height:119px">
<!-- <course-image :course="item"></course-image>-->
<img :src="item.cover">
</div>
<div class="uc-course-info">
@@ -150,9 +159,9 @@ export default {
</div>
<div class="uc-course-text">
{{ item.reviewResult==3||item.reviewResult==2?'报名时间':'认证时间' }}{{ item.reviewResult==3||item.reviewResult==2?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" @click="getRecording(item)">查看认证记录</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" @click="getView(item)">查看</span>
<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">填写信息</span>
<span type="text" style="margin-left:10px;font-size:14px;cursor: pointer;color:#3da8f0" v-if="item.reviewResult==2">查看</span>
</div>
</div>
</div>

View File

@@ -1,8 +1,10 @@
<script>
import {addTeacher, getCertificationProcess, getProgress, getTeacherInfo} from "@/api/modules/lecturer";
import processStatus from "@/components/processStatus.vue";
export default {
name: "OnlineLearning",
components: {processStatus},
data(){
return{
teacherId:'',
@@ -17,7 +19,7 @@ export default {
statusInfo:''
}
},
mounted() {
created() {
//读取路由参数
this.teacherId=this.$route.query.teacherId
//获取教师基本信息
@@ -59,9 +61,7 @@ export default {
})
})
},
format(percentage) {
return percentage === 100 ? '满' : `${percentage}%`;
},
getJump(){
this.$router.push({
path:'/need/coaching',
@@ -75,43 +75,47 @@ export default {
<template>
<div>
<process-status :teacherId="teacherId"></process-status>
<div class="title">基本信息</div>
<el-container>
<div class="form-table">
<el-form label-width="140px">
<el-form>
<div>
<el-col :span="10">
<el-col :span="11">
<el-form-item label="姓名:">
{{form.teacherName}}
</el-form-item>
</el-col>
<el-col :span="10" :offset="4">
<el-col :span="11" :offset="2">
<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-col :span="11">
<el-form-item label="组织:">
{{form.orgName}}
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="岗位:">
{{form.positionName}}
</el-form-item>
</el-col>
<el-col :span="10" :offset="4">
<el-form-item label="职级:">
{{form.bandCode}}
</div>
<div>
<el-col :span="11">
<el-form-item label="认证课程名称:" prop="courseName">
{{form.courseName}}
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="课程内容分类:" prop="courseContent">
{{form.courseContent}}
</el-form-item>
</el-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>
@@ -123,13 +127,13 @@ export default {
</el-container>
<div class="title" style="margin-top: 20px">线上课程</div>
<div class="progress">
<div v-for="(item,index) in progressData" :key="item">
<div v-for="(item,index) in progressData" :key="index">
<div class="uc-course-img" style="width: 212px;height:119px">
<img :src="item.courseImage">
</div>
<div class="courseName">{{item.courseName}}</div>
<div class="smallTitle">当前进度</div>
<el-progress :percentage="item.progress" :format="format"></el-progress>
<el-progress :percentage="parseInt(item.progress)"></el-progress>
</div>
</div>
<div class="tip">
@@ -143,21 +147,21 @@ export default {
.title{
font-size: 16px;
font-weight: 800;
width: 850px;
border-bottom: 1px solid rgba(215, 215, 215, 0.66);
border-bottom: 1px solid rgba(153, 153, 153, 0.2);
padding: 2px 2px 20px 2px;
}
.form-table{
width: 850px;
width: 100%;
margin-top: 20px;
}
.progress{
display: flex;
align-items: center;
margin-top: 20px;
}
.progress>div{
max-width: 250px;
margin-right: 20px;
width: 300px;
margin-right: 30px;
}
.courseName{
font-weight: 650;
@@ -181,4 +185,10 @@ export default {
font-size: 14px;
margin-top: 20px;
}
::v-deep .el-progress-bar__outer{
background-color: rgba(255, 160, 80, 0.2);
}
::v-deep .el-progress-bar__inner{
background-color: rgba(255, 160, 80, 1);
}
</style>