mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-10 03:16:44 +08:00
讲师认证
This commit is contained in:
@@ -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
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
@@ -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 ){
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user