讲师认证管理认证

This commit is contained in:
zhangsir
2024-05-14 13:41:42 +08:00
parent 3d0915f7ec
commit 17a5e51ee0
6 changed files with 89 additions and 88 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -98,10 +98,12 @@ const createParam = ref({
name: '',
description: '',
cover: '',
index:''
})
const imgClick = (url) => {
const imgClick = (item) => {
console.log(url,'url')
createParam.value.cover = url
createParam.value.cover = item.url
createParam.value.index = item.id
}
//创建认证确定
const handleOk = async () => {
@@ -478,7 +480,7 @@ function handleOper(record, type, status = "") {
<img style="width: 127px; height: 70px;margin-bottom: 13px;" src="../../assets/33.png" alt="">
<img style="width: 127px; height: 70px;margin-bottom: 13px;margin-left: 15px" src="../../assets/47.png" alt="">
<img style="width: 127px; height: 70px;margin-bottom: 13px;margin-left: 15px" src="../../assets/49.png" alt=""> -->
<div class="img_box_item" @click="imgClick(item.img)" v-for="(item,index) in imgData" :key="index">
<div class="img_box_item" :style="createParam?.index==item.id?{border:'1px solid #4ea6ff'}:{}" @click="imgClick(item)" v-for="(item,index) in imgData" :key="index">
<img style="width: 127px; height: 70px;" :src="require(`../../assets/${item.img}`)" alt="">
</div>
</a-form-item>

View File

@@ -302,20 +302,26 @@ const getReviewList = async () => {
//查看评审
const ViewReList = ref()
const arrayLists = ref([])
const remould = () => {
console.log(2222);
console.log(ViewReList.value)
let newData = ViewReList.value["认证结果"].map((res, index) => ({
"认证结果": res,
"姓名": ViewReList.value["姓名"][index],
// "评委-黄盛发10867418": ViewReList.value["评委-黄盛发10867418"][index],
"工号": ViewReList.value["工号"][index],
"平均分": ViewReList.value["平均分"][index]
}));
console.log(99999999);
ViewReviewdata.value = newData
console.log(newData, '基础上九四');
let keys = Object.keys(ViewReList.value);
arrayLists.value = keys.filter(key => Array.isArray(ViewReList.value[key]));
arrayLists.value.forEach(arrayKey => {
if (!ViewReviewcolumns.some(column => column.key === arrayKey)) {
ViewReviewcolumns.push({
title: arrayKey,
key: arrayKey,
dataIndex: arrayKey,
});
}
});
ViewReviewdata.value = arrayLists.value.map((key, index) => {
return Object.fromEntries([key, ViewReList.value[key][index]]);
});
console.log(ViewReviewdata.value, '基础上九四');
}
const getreviewdetail = async (object) => {
ViewReviewShow.value = true
@@ -692,6 +698,8 @@ const showViewInstructor =ref(false)
const techerDetail = ref(null)
const processData = ref()
const attestation = ref([])
const scoreTwo = ref()
const scoreOne = ref()
const show= async (record)=>{
showViewInstructor.value=true
await getDataById({teacherId:record.teacherId}).then(res=>{
@@ -699,44 +707,48 @@ const show= async (record)=>{
if(res.code == 200){
console.log(res.data,'data')
techerDetail.value = res.data
if(techerDetail.value.firstList){
const totalScore = techerDetail.value.firstList.reduce((acc, item) => acc + item.score, 0);
// 计算平均分
const averageScore = totalScore / techerDetail.value.firstList.length;
scoreOne.value = averageScore.toFixed(2)
}
if(techerDetail.value.secondList){
const totalScore = techerDetail.value.secondList.reduce((acc, item) => acc + item.score, 0);
// 计算平均分
const averageScore = totalScore / techerDetail.value.secondList.length;
scoreTwo.value = averageScore.toFixed(2)
}
}
})
await getCertificationProcess({teacherId:record.teacherId}).then(res=>{
console.log(res,'getCertificationProcess')
processData.value = res.data
//认证流程
attestation.value =[
//0: 已上传 1: 未上传 2:已退回
{name:{0:'初稿已上传',1:'初稿未上传',2:'初稿已退回'},status:processData?.value.draftStatus,images:{
0:'su3.png',
1:'su3.png',
2:''
}},
{name:{0:'线上学习已完成',1:'线上学习未完成',2:'线上学习已退回'},status:processData?.value.onlineLearning,images:{
0:'su4.png',
1:'s1.png',
2:''
}},
{name:{0:'线下辅导已完成',1:'线上辅导未完成',2:'线上辅导已退回'},status:processData?.value.offlineTutoring,images:{
0:'su5.png',
1:'s2.png',
2:''
}},
{name:{0:'终稿已上传',1:'终稿未上传',2:'终稿已退回'},status:processData?.value.endStatus,images:{
0:'su1.png',
1:'s3.png',
2:''
}},
{name:{0:'认证已通过',1:'认证未通过',2:'认证进行中',3:'认证已报名'},status:processData?.value.reviewResult,images:{
0:'su2.png',
1:'s4.png',
2:'e1.png',
3:'e1.png',
}},
// {name:'线下辅导已完成',success:'su5.png',error:'',initial:'s2.png'},
// {name:'终稿已上传',success:'su1.png',error:'',initial:'s3.png'},
// {name:'认证',success:'su2.png',error:'e1.png',initial:'s4.png'},
{name:{0:'初稿已上传',1:'初稿未上传',2:'初稿已退回'},status:processData?.value.draftStatus,images:{0:'su1.png',1:'s1.png',2:'e2.png'}},
{name:{0:'线上学习已完成',1:'线上学习未完成',2:'线上学习已退回'},status:processData?.value.onlineLearning,images:{0:'su2.png',1:'s2.png',2:''}},
{name:{0:'线下辅导已完成',1:'线上辅导未完成',2:'线上辅导已退回'},status:processData?.value.offlineTutoring,images:{0:'su3.png',1:'s3.png',2:''}},
{name:{0:'终稿已上传',1:'终稿未上传',2:'终稿已退回'},status:processData?.value.endStatus,images:{0:'su4.png',1:'s4.png',2:'e3.png'}},
{name:{0:'认证已通过',1:'认证未通过',2:'认证进行中',3:'认证已报名'},status:processData?.value.reviewResult,images:{0:'su5.png',2:'su5.png',1:'e1.png',3:'success.png',}},
]
if(processData.value.secondResult == '0'){
processData.value.draftStatus = 0
processData.value.onlineLearning = 0
processData.value.offlineTutoringOne = 0
processData.value.endStatusOne = 0
processData.value.reviewResultOne = 1
attestation.value = [
{name:{0:'初稿已上传',1:'初稿未上传',2:'初稿已退回'},status:processData?.value.draftStatus,images:{0:'su1.png',1:'s1.png',2:'e2.png'}},
{name:{0:'线上学习已完成',1:'线上学习未完成',2:'线上学习已退回'},status:processData?.value.onlineLearning,images:{0:'su2.png',1:'s2.png',2:''}},
{name:{0:'线下辅导已完成',1:'线上辅导未完成',2:'线上辅导已退回'},status:processData?.value.offlineTutoringOne,images:{0:'su3.png',1:'s3.png',2:''}},
{name:{0:'终稿已上传',1:'终稿未上传',2:'终稿已退回'},status:processData?.value.endStatusOne,images:{0:'su4.png',1:'s4.png',2:'e3.png'}},
{name:{0:'认证已通过',1:'认证未通过',2:'认证进行中',3:'认证已报名'},status:processData?.value.reviewResultOne,images:{0:'su5.png',2:'su5.png',1:'e1.png',3:'success.png',}},
{name:{0:'线下辅导已完成',1:'线下辅导未通过',2:'线下辅导已退回'},status:processData?.value.offlineTutoring,images:{0:'su3.png',1:'s3.png',2:''}},
{name:{0:'终稿已上传',1:'终稿未上传',2:'终稿已退回'},status:processData?.value.endStatus,images:{0:'su4.png',1:'s4.png',2:'e3.png'}},
{name:{0:'认证已通过',1:'认证未通过',2:'认证进行中',3:'认证已报名'},status:processData?.value.reviewResult,images:{0:'su5.png',2:'su5.png',1:'e1.png',3:'success.png',}},
]
}
console.log(attestation.value,'value')
})
}
@@ -979,13 +991,13 @@ const vwtext = ref(null)
<template v-else-if="column.key === 'action'">
<span style="text-align: center;">
<a style="margin-right: 7px;">
<a style="margin-right: 7px;" @click="show(record)">
查看
</a>
<a v-if="record.draftStatus == 0" style="margin-right: 7px;" @click="returnPageTwo(record)">
退回终稿
</a>
<a style="color: #de2139">删除</a>
<a style="color: #de2139" @click="handleOper(record, 'del')">删除</a>
</span>
</template>
</template>
@@ -1253,9 +1265,9 @@ const vwtext = ref(null)
<div style="display:flex;">
<div style="padding-left:16px; width: 136px;height: 56px;background: #FFFFFF;border: 1px solid #F0F6FC;line-height: 56px;">课程终稿</div>
<div style="width: 559px;height: 56px;line-height: 56px;border: 1px solid #F0F6FC;padding-left:16px;">
<img src="" alt="">
<img src="../../assets/images/gratefulteacher/ppt.png" alt="">
学习能力提升课件.pptx
<span style="" @click="downLoadCoures(techerDetail?.coursewareId)">下载</span>
<span style="color:#3da8f0" @click="downLoadCoures(techerDetail?.coursewareId)">下载</span>
</div>
<div style="width: 136px;height: 56px;line-height: 56px;background: #FFFFFF;border: 1px solid #F0F6FC;padding-left:16px;">上传时间</div>
<div style="width: 342px;height: 56px;line-height: 56px;border: 1px solid #F0F6FC;padding-left:16px;">{{techerDetail?.uploadTime}}</div>
@@ -1270,59 +1282,33 @@ const vwtext = ref(null)
<div class="step_box" v-for="(item,index) in attestation" :key="index">
<div v-if="index != 0" style="height: 1px;width: 81px;background-color: #DEDEDE;"></div>
<div style="display: flex;width: 70px;height: 78px;flex-direction: column;align-items: center">
<img :src="require(`../../assets/images/gratefulteacher/${item.images[item.status]}`)" alt="">
<img style="width: 46px;height: 46px;" :src="require(`../../assets/images/gratefulteacher/${item.images[item.status]}`)" alt="">
<div style="color: #409EFF;font-size: 14px;">{{item.name[item.status]}}</div>
</div>
</div>
<!-- <div style="display: flex;width: 70px;height: 78px;flex-direction: column;align-items: center">
<img src="../../assets/8.png" alt="">
<div style="color: #409EFF;font-size: 14px;">初稿已上传</div>
</div>
<div style="height: 1px;width: 81px;background-color: #DEDEDE;"></div>
<div style="display: flex;width: 70px;height: 78px;flex-direction: column;align-items: center">
<img src="../../assets/8.png" alt="">
<div style="color: #409EFF;font-size: 14px;">初稿已上传</div>
</div>
<div style="height: 1px;width: 81px;background-color: #DEDEDE;"></div>
<div style="display: flex;width: 70px;height: 78px;flex-direction: column;align-items: center">
<img src="../../assets/8.png" alt="">
<div style="color: #409EFF;font-size: 14px;">初稿已上传</div>
</div>
<div style="height: 1px;width: 81px;background-color: #DEDEDE;"></div>
<div style="display: flex;width: 70px;height: 78px;flex-direction: column;align-items: center">
<img src="../../assets/8.png" alt="">
<div style="color: #409EFF;font-size: 14px;">初稿已上传</div>
</div>
<div style="height: 1px;width: 81px;background-color: #DEDEDE;"></div>
<div style="display: flex;width: 70px;height: 78px;flex-direction: column;align-items: center">
<img src="../../assets/8.png" alt="">
<div style="color: #409EFF;font-size: 14px;">初稿已上传</div>
</div>
<div style="height: 1px;width: 81px;background-color: #DEDEDE;"></div>
<div style="display: flex;width: 70px;height: 78px;flex-direction: column;align-items: center">
<img src="../../assets/8.png" alt="">
<div style="color: #409EFF;font-size: 14px;">初稿已上传</div>
</div>
<div style="height: 1px;width: 81px;background-color: #DEDEDE;"></div>
<div style="display: flex;width: 70px;height: 78px;flex-direction: column;align-items: center">
<img src="../../assets/8.png" alt="">
<div style="color: #409EFF;font-size: 14px;">初稿已上传</div>
</div> -->
</div>
<div style="font-size: 14px;margin-bottom: 15px;">评委打分信息表</div>
<div>
<a-table :columns="twiceolumnsOne" :data-source="techerDetail?.firstList" :scroll="{ x: 1000 }" :pagination="false">
</a-table>
<template #footer="{ record }">
<div v-if="techerDetail?.firstList" class="footer_table">
<div class="footer_left">平均分</div>
<div class="footer_right">{{ scoreOne }}</div>
</div>
</template>
</a-table>
</div>
<div style="font-size: 14px;margin-bottom: 19px;margin-top: 40px;font-size: 18px;font-weight: 500;">二次认证</div>
<div style="font-size: 14px;margin-bottom: 15px;">评委打分信息表</div>
<div>
<a-table :columns="twiceolumnsTwo" :data-source="techerDetail?.secondList" :scroll="{ x: 1000 }" :pagination="false">
</a-table>
<template #footer>
<div v-if="techerDetail?.secondList" class="footer_table">
<div class="footer_left">平均分</div>
<div class="footer_right">{{scoreTwo}}</div>
</div>
</template>
</a-table>
</div>
<div>
@@ -1532,4 +1518,17 @@ const vwtext = ref(null)
justify-content: center;
align-items: center;
}
::v-deep .ant-table-footer{
background-color: #ffffff,
}
.footer_table{
display: flex;
justify-content: space-between;
.footer_left{
margin-left: 84px;
}
.footer_right{
margin-right: 85px;
}
}
</style>