This commit is contained in:
zhangsir
2024-05-21 15:43:48 +08:00
parent b6f36e7955
commit 502064dcf2
4 changed files with 80 additions and 116 deletions

View File

@@ -17,6 +17,7 @@
<img :src="types[type]" alt=""/>
</div>
<span>提示</span>
<div class="close_exit" @click="close"></div>
</div>
<div class="body">
<div><span>{{ content }}</span></div>

View File

@@ -114,62 +114,13 @@
}}条数据导入失败
</div>
</div>
<!-- <div class="loadborder">
<div class="content">
<div class="img"></div>
<div class="timebox">
<div class="timetop">
<div class="tit">{{ fileName }}</div>
<div class="statedefeat">上传失败</div>
</div>
<div class="prog">
<div class="inprogdefeat"></div>
</div>
</div>
<div class="curloading">
<div class="cur">55%</div>
<div class="cancel" style="margin-left: 20px">重传</div>
<div class="cancel" style="margin-left: 15px">取消</div>
</div>
<div class="defeat">
<div class="detext">下载失败数据</div>
</div>
</div>
</div>
<div class="defeatbox">
<div class="lefimg"></div>
<div class="tacl">20条数据导入成功5条数据导入失败</div>
</div>
<div class="loadborder">
<div class="content">
<div class="img"></div>
<div class="timebox">
<div class="timetop">
<div class="tit">{{ fileName }}</div>
<div class="statesucce">上传成功</div>
</div>
<div class="prog">
<div class="inprogsucce"></div>
</div>
</div>
<div class="curloading">
<div class="cur">55%</div>
<div class="cancel" style="margin-left: 20px">删除</div>
</div>
</div>
</div>
<div class="succebox">
<div class="lefimg"></div>
<div class="tacl">20条数据导入成功5条数据导入失败</div>
</div> -->
</div>
</div>
</div>
</div>
<div class="btnn">
<button class="btn2" @click="closeDrawer">取消</button>
<button class="btn2" @click="closeDrawer">确定</button>
<button class="btn2" @click="closeDrawerTrue">确定</button>
</div>
</div>
<!-- 加载动画 -->
@@ -240,7 +191,11 @@ export default {
state.courseList = res.data.map(item => item.courseId)
})
}
const closeDrawer = () => {
const closeDrawerTrue = () => {
if(state.errorIds.length==0&&state.successIds.length==0){
message.warning("请导入数据");
return
}
if(state.successIds.length!=0){
getTeacherId({ids:state.successIds.join(',')}).then(res=>{
state.studentLists = res.data
@@ -271,6 +226,10 @@ export default {
}
})
closeDrawer()
}
const closeDrawer = () => {
state.successIds = []
state.errorIds = []
// clearInterval(state.timers);
@@ -334,36 +293,6 @@ export default {
state.errorIds = info.file.response.data.failIds
state.fileName = info.file.name;
let i = 0;
// state.timers = setInterval(() => {
// let uid = info.file.response.data;
// api
// .getImportStatus(uid)
// .then((res) => {
// console.log("查询导入状态", res);
// if (res.data.code === 200) {
// if (res.data.data.status !== "START") {
// i++;
// if (i === 1) {
// message.destroy();
// message.success(`${info.file.name}上传成功`);
// state.showBottomBar = true;
// state.addLoading = false;
// state.isAddStudent = true;
// }
// state.succNum = res.data.data.successNum;
// state.errNum = res.data.data.failedNum;
// state.downloadErrUrl = res.data.data.url;
// clearInterval(state.timers);
// }
// }
// })
// .catch((err) => {
// clearInterval(state.timers);
// state.showBottomBar = true;
// state.addLoading = false;
// console.log("查询导入状态失败", err);
// });
// }, 500);
} else if (status === "error") {
state.addLoading = false;
state.uploadErr = true;
@@ -389,6 +318,10 @@ export default {
state.succNum = 0;
state.errNum = 0;
state.downloadErrUrl = "";
successNum.value = null
errfile.value = null
state.successIds = []
state.errorIds = []
};
return {
@@ -396,6 +329,7 @@ export default {
afterVisibleChange,
userInfo,
closeDrawer,
closeDrawerTrue,
// change,
headers,
handleChange,

View File

@@ -49,6 +49,8 @@ const columns = [
{
title: '操作',
key: 'action',
fixed: "right",
width: 250,
},
];
const ViewReviewcolumns =[
@@ -58,6 +60,7 @@ const ViewReviewcolumns =[
dataIndex: 'courseName',
key: 'id',
ellipsis: true,
width: 400,
},
{
title: "创建人",
@@ -65,6 +68,7 @@ const ViewReviewcolumns =[
dataIndex: 'createName',
key: 'id',
align: "center",
width: 150,
},
{
title: "发布时间",
@@ -73,6 +77,7 @@ const ViewReviewcolumns =[
key: 'id',
align: "center",
ellipsis: true,
width: 150,
},
{
title: "操作",
@@ -81,6 +86,7 @@ const ViewReviewcolumns =[
key: "id",
fixed: 'right',
align: "center",
width: 150,
slots: { customRender: "action" },
},
]
@@ -407,7 +413,7 @@ function handleOper(record, type, status = "") {
:row-selection="rowSelection"
:pagination="false"
:scroll="{ x: 'max-content' }"
:scroll="{ x: 1000 }"
:columns="ViewReviewcolumns"
:data-source="ViewReviewdata"
@@ -528,28 +534,21 @@ function handleOper(record, type, status = "") {
<a-modal v-model:visible="visible" :title="editId?'编辑认证':'创建认证'" @ok="!editId?handleOk():handleEdit()" width="610px">
<a-form class="form_item">
<a-form-item :rules="[{ required: true, message: 'Please input your password!' }]" label="认证项目名称" style="width: 381px;margin-left: 32px;margin-top: 24px">
<a-input :showCount="true" :maxlength="50" v-model:value="createParam.name" placeholder="认证项目名称" style="border-radius: 8px;" />
<a-form-item :rules="[{ required: true, message: 'Please input your password!' }]" label="认证项目名称" style="margin-left: 32px;margin-top: 24px">
<a-input :showCount="true" :maxlength="50" v-model:value="createParam.name" placeholder="认证项目名称" style="border-radius: 8px;width: 410px;height: 36px;" />
</a-form-item>
<a-form-item :rules="[{ required: true, message: 'Please input your password!' }]" label="封面图" style="width: 560px;margin-left: 32px;margin-top: 24px;">
<!-- <img style="width: 127px; height: 70px;margin-bottom: 13px;" src="../../assets/50.png" alt=""> -->
<!-- <a-image style="width: 127px; height: 70px;margin-bottom: 13px;" src="../../assets/50.png"></a-image> -->
<!-- <img style="width: 127px; height: 70px;margin-bottom: 13px;margin-left: 15px" src="../../assets/39.png" alt="">
<img style="width: 127px; height: 70px;margin-bottom: 13px;margin-left: 15px" src="../../assets/46.png" alt="">
<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=""> -->
<a-form-item :rules="[{ required: true, message: 'Please input your password!' }]" label="封面图" style="width: 560px;margin-left: 73px;margin-top: 24px;">
<div class="img_box_item" @click="imgClick(item)" v-for="(item,index) in imageList" :key="index">
<img :style="createParam?.cover==item.value?{border:'3px solid rgba(78, 166, 255, 1)'}:{border:'1px solid #ccc'}" style="width: 127px; height: 70px;" :src="item.value" alt="">
</div>
</a-form-item>
<a-form-item style="margin-left: 32px;margin-top: 24px" label="具体说明">
<a-form-item style="margin-left: 71px;margin-top: 24px" label="具体说明">
<a-textarea
style="width: 408px;"
style="width: 410px;"
:maxlength="150"
:showCount="true"
v-model:value="createParam.description"
:auto-size="{ minRows: 2, maxRows: 5 }"
:auto-size="{ minRows: 4,}"
/>
</a-form-item>
</a-form>

View File

@@ -36,6 +36,8 @@ const CancelReview = ()=>{
formState.reviewname = ''
formState.time = ''
InitiateReviewShow.value = false;
teacherNames.value = []
teacherid.value = []
}
const namelist = ref([])
//表格点击时间
@@ -55,6 +57,8 @@ const InitReview = () => {
formState.reviewname = ''
formState.time = ''
rwname.value = null
teacherNames.value = []
teacherid.value = []
addTeacherList()
}
const teacherid = ref(null)
@@ -187,30 +191,40 @@ const reviewcolumn = [
name: 'Name',
dataIndex: 'name',
key: 'name',
width: 100,
},
{
title: '评审名称',
dataIndex: 'reviewName',
key: 'reviewName',
width: 190,
ellipsis: true,
},
{
title: '认证讲师',
dataIndex: 'teacherName',
key: 'teacherName',
ellipsis: true,
width: 500,
},
{
title: '认证时间',
title: '评审时间',
key: 'reviewTime',
dataIndex: 'reviewTime',
width: 200,
ellipsis: true,
},
{
title: '认证状态',
key: 'reviewResult',
dataIndex: 'reviewResult',
width: 100,
},
{
title: '操作',
key: 'action',
width: 200,
fixed: 'right',
},
];
const columnsTeacher = [
@@ -316,7 +330,7 @@ const getReviewList = async () => {
const res = await getReview({
examineId:route.query.id,
pageNo: ReviewPageNo.value,
pageSize: 15,
pageSize: 10,
reviewName: ""
})
console.log(res, 'pings');
@@ -418,7 +432,7 @@ const searchReview = async () => {
const res = await getReview({
examineId:route.query.id,
pageNo: ReviewPageNo.value,
pageSize: 15,
pageSize: 10,
reviewName: reviewValue.value
})
@@ -454,6 +468,7 @@ const delteacherIdList = async () => {
current1.value = current1.value - 1
}
console.log(data.value.length,'sha c sss');
current1.value = 1
getTeacher()
getTeacher2()
}
@@ -492,7 +507,7 @@ function handleOper(record, type, status = "") {
const SearchTeachers =async()=>{
const res = await getTeacherList({
pageNo: 1,
pageSize: 8,
pageSize: 15,
examineId: route.query.id,
secondResult: value2.value==null?'1':value2.value,
reviewResult:value.value,
@@ -542,14 +557,13 @@ const data = ref([])
const current1 = ref(1);
const onChangeTeacher = (pageNo, pageSize) => {
current1.value = pageNo
console.log(pageNo, 1111);
getTeacher()
};
//教师列表
const getTeacher =async()=>{
const res = await getTeacherList({
pageNo: current1.value,
pageSize: 8,
pageSize: 15,
examineId: route.query.id.toString(),
secondResult: "1"
})
@@ -890,8 +904,8 @@ const vwtext = ref(null)
<div style="width: 100%;">
<div class="page-top">
<div style="margin-top: -16px">
<p>认证项目名称{{ route.query.time }}</p>
<p style="width:80%;line-height: 35px;height: 40px;" v-if="route.query.description">具体说明{{ route.query.description }}</p>
<p class="title" :title="route.query.time">认证项目名称{{ route.query.time }}</p>
<p class="item" :title="route.query.description" 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;">
@@ -916,6 +930,7 @@ const vwtext = ref(null)
</div>
<div class="select" style="margin-left: 15px;">
<a-select v-model:value="value" style="width: 270px; border-radius: 8px" placeholder="请选择认证结果">
<a-select-option value="3">已报名</a-select-option>
<a-select-option value="2">认证中</a-select-option>
<a-select-option value="1">未通过</a-select-option>
<a-select-option value="0">已通过</a-select-option>
@@ -981,7 +996,7 @@ const vwtext = ref(null)
<template v-else-if="column.key === 'draftStatus'">
<span>
{{ text===1?'未开始':(text===2?'进行中':'已完成') }}
{{ text===1?'未上传':(text===2?'已退回':'已上传') }}
</span>
</template>
<template v-else-if="column.key === 'onlineLearning'">
@@ -994,12 +1009,12 @@ const vwtext = ref(null)
</span>
</template> <template v-else-if="column.key === 'endStatus'">
<span>
{{ text===1?'未开始':(text===2?'进行中':'已完成') }}
{{ text===1?'未上传':(text===2?'已退回':'已上传') }}
</span>
</template>
<template v-else-if="column.key === 'reviewResult'">
<span>
{{ text===1?'未开始':(text===2?'进行中':'已报名') }}
{{ text===1?'未通过':(text===2?'进行中':text==3?'已报名':'通过') }}
</span>
</template>
<template v-else-if="column.key === 'second'">
@@ -1048,7 +1063,7 @@ const vwtext = ref(null)
<template v-else-if="column.key === 'draftStatus'">
<span>
{{ text===1?'未开始':(text===2?'进行中':'已完成') }}
{{ text===1?'未上传':(text===2?'已退回':'已上传') }}
</span>
</template>
<template v-else-if="column.key === 'onlineLearning'">
@@ -1165,11 +1180,11 @@ const vwtext = ref(null)
<a style="margin-right: 7px;"
@click='getreviewdetail({ reviewId: record.id, examineId: route.query.id},record.examineResult), vwtext = record.id'>查看</a>
<a v-if="record.examineResult === 0&&uploadAdmin('examine-admin')" @click="editReviewSave(record.reviewName, record.reviewTime, record.id)"
<a v-if="record.examineResult === 0" @click="editReviewSave(record.reviewName, record.reviewTime, record.id)"
style="margin-right: 7px;">
编辑
</a>
<a v-if="record.examineResult === 0&&uploadAdmin('examine-admin')" @click="handleOperReview(record.id)" style="color: #de2139">删除</a>
<a v-if="record.examineResult === 0||uploadAdmin('examine-admin')" @click="handleOperReview(record.id)" style="color: #de2139">删除</a>
</div>
</span>
</div>
@@ -1207,8 +1222,8 @@ const vwtext = ref(null)
<!-- <span>
{{ text === 0 ? '通过' : (text === 1 ? '未通过' : (text === 2 ? '进行中' : '已报名')) }}
</span> -->
<span>
{{ record.平均分 >= 80 ? '通过' : (record.平均分 < 80 ? '未通过' : (null)) }}
<span :style="{ color: text >= 80 ? '#44e778' : (text < 80 ? '#f5222d' : '#3da8f0') }">
{{ record.平均分==null?'': record.平均分 >= 80 ? '通过' : (record.平均分 < 80 ? '未通过' : (null)) }}
</span>
</template>
<template v-else-if="column.key === '平均分'">
@@ -1259,8 +1274,8 @@ const vwtext = ref(null)
</a-form-item>
<a-form-item label="评审时间" :rules="[{ required: true, message: '请填写评审时间' }]">
<a-date-picker v-model:value="formState.time" placeholder="请选择评审时间" :show-time="{ format: 'HH:mm:ss' }"
:format="['YYYY-MM-DD HH:mm:ss']" valueFormat="YYYY-MM-DD HH:mm:ss" @change="timeChangeEnd" />
<a-date-picker v-model:value="formState.time" placeholder="请选择评审时间" :show-time="{ format: 'HH:mm' }"
:format="['YYYY-MM-DD HH:mm']" valueFormat="YYYY-MM-DD HH:mm" @change="timeChangeEnd" />
</a-form-item>
<div>选择讲师</div>
<div style="width: 430px; height: 1px;background-color: #e2e0e0;margin-top: 8px;"></div>
@@ -1398,9 +1413,9 @@ const vwtext = ref(null)
</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>
<div v-if="techerDetail?.secondList" style="font-size: 14px;margin-bottom: 19px;margin-top: 40px;font-size: 18px;font-weight: 500;">二次认证</div>
<div v-if="techerDetail?.secondList" style="font-size: 14px;margin-bottom: 15px;">评委打分信息表</div>
<div v-if="techerDetail?.secondList">
<a-table :columns="twiceolumnsTwo" :data-source="techerDetail?.secondList" :scroll="{ x: 1000 }" :pagination="false">
<template #footer>
<div v-if="techerDetail?.secondList" class="footer_table">
@@ -1455,6 +1470,21 @@ const vwtext = ref(null)
padding-right: 33px;
// flex-direction: row;
.title{
width: 600px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.item{
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
box-sizing: border-box;
word-break: break-word;
}
}
.boundary {