讲师认证

This commit is contained in:
zhangsir
2024-05-16 17:47:15 +08:00
parent 979c7e6a33
commit 0bce613fda
4 changed files with 71 additions and 54 deletions

View File

@@ -104,13 +104,13 @@
</div>
</div>
<div
v-if="showBottomBar"
v-if="successNum && errfile "
:class="downloadErrUrl == '' ? 'succebox' : 'defeatbox'"
>
<div class="lefimg"></div>
<div class="tacl">
{{ succNum }}条数据导入成功{{
downloadErrUrl == "" ? 0 : errNum
{{ successNum }}条数据导入成功{{
errfile
}}条数据导入失败
</div>
</div>
@@ -180,13 +180,14 @@
</template>
<script>
import { computed, reactive, toRefs } from "vue";
import { computed, reactive, toRefs,ref} from "vue";
import { message } from "ant-design-vue";
import * as api from "../../api/index1";
import { BATCH_IMPORT_SCORE } from "@/api/config";
import { useStore } from "vuex";
import {getCookieForName} from "@/api/method";
import { saveTeacher } from "@/api/examineApi";
import {errorExport} from '@/api/examineApi.js'
export default {
name: "ImpStu",
props: {
@@ -225,15 +226,18 @@ export default {
});
const headers = { token: getCookieForName("token") };
const userInfo = computed(() => store.state.userInfo);
const CountingBar =ref(null)
const successNum =ref(null)
const errfile = ref(null)
const closeDrawer = () => {
saveTeacher({
examineId:props.courseId,
teacherIds:state.successIds
}).then(res=>{
console.log(res,'res')
if(res.code == 200){
ctx.emit("AddImpStuvisibleClose", state.isAddStudent);
}
})
state.successIds = []
@@ -251,12 +255,15 @@ export default {
// 通知父组件重新获取学员列表
// ctx.emit("AddImpStuvisibleClose", state.isAddStudent);
state.isAddStudent = false;
errfile.value= null
successNum.value = null
};
const afterVisibleChange = (bool) => {
console.log("state", bool);
console.log("store", store.state.userInfo);
};
//上传文件
const handleChange = (info) => {
console.log("info", info);
@@ -275,13 +282,18 @@ export default {
// state.addLoading = true;
state.uploadErr = false;
state.uploadpercent = parseInt(info.file.percent);
console.log("我是文件上传的进度---------->", info.file.percent);
const status = info.file.status;
if (status !== "uploading") {
console.log(info.file, info.fileList);
}
if (status === "done") {
console.log("上传成功返回的UUID", info.file.response.data);
console.log("上传成---功返回的UUID", info.file.response.data);
CountingBar.value = info.file.response.data
errfile.value = CountingBar.value.fail
successNum.value = CountingBar.value.success
console.log(CountingBar.value.fail,'sssssssssssssssssssss'); //success
console.log("上传成功返回的UUID----->", info);
console.log("我是导入学员接口传递的参数", {
file: info.file.originFileObj,
@@ -359,6 +371,8 @@ export default {
BATCH_IMPORT_SCORE,
downloadEeeorData,
removeUpload,
successNum,
errfile
};
},
};

View File

@@ -298,6 +298,7 @@ const deleteExamine = async(id)=>{
await delExamine({
id
})
message.success('删除成功')
getlist()
@@ -396,7 +397,7 @@ function handleOper(record, type, status = "") {
:closable="false"
placement="right"
width="726px">
width="70%">
<div class="header">
<div class="headerTitle">线上学习课程设置</div>
<img
@@ -419,11 +420,11 @@ function handleOper(record, type, status = "") {
:row-selection="rowSelection"
:pagination="false"
:row-class-name="(_record, index) => (index % 2 === 1 ? 'table-striped' : null)"
:columns="ViewReviewcolumns"
:data-source="ViewReviewdata"
class="ant-table-striped"
size="middle"
>
<template #action="{ record, column }">
<a-space>
@@ -651,7 +652,7 @@ function handleOper(record, type, status = "") {
}
.filter {
margin-left: 40px;
margin-right: 62px;
margin-right: 40px;
margin-top: 28px;
display: flex;
justify-content: space-between;
@@ -667,38 +668,13 @@ function handleOper(record, type, status = "") {
}
.table {
margin-left: 40px;
margin-right: 62px;
margin-right: 40px;
margin-top: 28px;
display: flex;
flex-direction: column;
}
:deep(.ant-table-container table > thead > tr:first-child th:first-child) {
width: 83px;
}
:deep(.ant-table-container table > thead > tr:first-child th:last-child) {
width: 199px;
text-align: center;
}
:deep(.ant-table-container table > thead > tr:first-child th:last-child) {
width: 199px;
}
:deep(.ant-table-container table > thead > tr:first-child th:nth-last-child(2)) {
width: 143px;
}
:deep(.ant-table-container table > thead > tr:first-child th:nth-last-child(3)) {
width: 113px;
}
:deep(.ant-table-container table > thead > tr:first-child th:nth-last-child(4)) {
width: 326px;
}
:deep(.ant-table-tbody > tr > td ){

View File

@@ -110,7 +110,7 @@ const startReviewSave = async () => {
editreview({
"reviewId": editId.value,
"reviewName": formState.reviewname,
"reviewTime": formState.value,
"reviewTime": formState.time,
"teacherIds": teacherid.value
}).then(res => {
if (res) {
@@ -288,14 +288,25 @@ const onChange3 = (pageNo) => {
}
//结束评审
const qrshow = ref(null)
const finishreview = async () => {
console.log(vwtext.value, 'shcsuchsuchu次就是');
dialog({
content: "是否结束评审?",
ok: () => {
closereview()
}
});
}
const closereview = async () => {
const res = await endreview({
"reviewId": vwtext.value
})
console.log(res, 99999);
qrshow.value = res.data.show
ViewReviewShow.value = false
getReviewList()
}
@@ -342,7 +353,11 @@ const remould = () => {
}
}
}
const getreviewdetail = async (object) => {
//评审按钮显示
const ButtunReviewShow = ref(false)
const getreviewdetail = async (object,examineResult) => {
ButtunReviewShow.value = examineResult
ViewReviewShow.value = true
const res = await reviewdetail(object)
console.log(res, 'cscs成熟市场');
@@ -760,7 +775,9 @@ const show= async (record)=>{
{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',}},
{
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
@@ -843,9 +860,9 @@ const vwtext = ref(null)
<template>
<div style="width: 100%;">
<div class="page-top">
<div>
<div style="margin-top: -16px">
<p>认证项目名称{{ route.query.time }}</p>
<p>具体说明{{ route.query.description }}</p>
<p style="width:80%;line-height: 35px;height: 40px;" v-if="route.query.description">具体说明{{ route.query.description }}</p>
</div>
<div @click="$router.push({ path: '/InstructorCertification' })" style="cursor: pointer;">
@@ -1112,7 +1129,7 @@ const vwtext = ref(null)
<div>
<a style="margin-right: 7px;"
@click='getreviewdetail({ reviewId: record.id, examineId: route.query.id }), vwtext = record.id'>查看</a>
@click='getreviewdetail({ reviewId: record.id, examineId: route.query.id},record.examineResult), vwtext = record.id'>查看</a>
<a @click="editReviewSave(record.reviewName, record.reviewTime, record.id)"
style="margin-right: 7px;">
@@ -1134,7 +1151,7 @@ const vwtext = ref(null)
<!-- 查看评审 -->
<a-drawer v-model:visible="ViewReviewShow" class="custom-class" :closable="false" placement="right"
width="726px">
<div class="header">
<div class="header" style="margin-bottom: 20px;">
<div class="headerTitle">查看评审</div>
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
@click="ViewReviewShow = false" />
@@ -1153,20 +1170,24 @@ const vwtext = ref(null)
</span>
</template>
<template v-else-if="column.key === '认证结果'">
<span>
<!-- <span>
{{ text === 0 ? '通过' : (text === 1 ? '未通过' : (text === 2 ? '进行中' : '已报名')) }}
</span> -->
<span>
{{ text === 0 ? '通过' : (text === 1 ? '未通过' : (null)) }}
</span>
</template>
<template v-else-if="column.key === '平均分'">
<span :style="{ color: text >= 80 ? '#44e778' : (text < 80 ? '#f5222d' : '#3da8f0') }">
{{ text >= 80 ? '已通过' : (text < 80 ? '未通过' : text) }}
<!-- {{ text >= 80 ? '已通过' : (text < 80 ? '未通过' : text) }} -->
{{text}}
</span>
</template>
</template>
</a-table>
</div>
<div style="align-self: center;">
<div v-if="ButtunReviewShow===0" style="align-self: center;">
<div @click="finishreview()"
style=" border-radius: 8px; color: #fff;font-weight: 900;font-size: 16px; display: flex; justify-content: center;align-items: center; width: 176px; height: 55px; margin-top: 36px;background: #3da8f0;">
结束评审并通知结果</div>
@@ -1266,8 +1287,8 @@ const vwtext = ref(null)
<!-- 查看讲师 -->
<a-drawer v-model:visible="showViewInstructor" class="custom-class" :closable="false" placement="right"
width="1248px" @after-visible-change="afterVisible">
<div class="drawerMain">
<div class="header">
<div class="drawerMain" >
<div class="header" style="margin-bottom: 20px;">
<div class="headerTitle">查看讲师</div>
<img
@click="showViewInstructor = false"
@@ -1303,7 +1324,7 @@ const vwtext = ref(null)
</div>
<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;">{{techerDetail?.courseIntroduction}}</div>
<div class="courseIntroduction" style="">{{techerDetail?.courseIntroduction}}</div>
</div>
@@ -1577,4 +1598,10 @@ const vwtext = ref(null)
margin-right: 85px;
}
}
.courseIntroduction{
width: 559px;height: 56px;line-height: 56px;border: 1px solid #F0F6FC;padding-left:16px; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;
}
.courseIntroduction:hover{
overflow: visible;
}
</style>

View File

@@ -195,8 +195,8 @@ import { message } from "ant-design-vue";
const columns = ref([
{
title: "姓名",
dataIndex: "createName",
key: "createName",
dataIndex: "name",
key: "name",
width: 30,
align: "center",
ellipsis: true,