讲师认证管理认证

This commit is contained in:
zhangsir
2024-05-13 18:50:27 +08:00
parent a4001cfcf2
commit 9ead7c7f4d
18 changed files with 194 additions and 110 deletions

View File

@@ -121,4 +121,9 @@ export const deleteCourse = (data) => http.post('/activityApi/examine/deleteCour
export const addCourse = (data) => http.post('/activityApi/examine/addCourse',data) export const addCourse = (data) => http.post('/activityApi/examine/addCourse',data)
//保存导入的教师信息 //保存导入的教师信息
export const saveTeacher = (data) => http.post('/activityApi/teacher/saveTeacher',data) export const saveTeacher = (data) => http.post('/activityApi/teacher/saveTeacher',data)
//退回初稿或终稿
export const backDraft = (data) => http.post('/activityApi/examine/rejected',data)
//获取教师详情
export const getDataById = (data) => http.post('/activityApi/teacher/getDataById',data)
//获取认证状态
export const getCertificationProcess = (data) => http.post('/activityApi/teacher/getCertificationProcess',data)

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -96,7 +96,7 @@
</div> </div>
<div class="cancel" style="margin-left: 15px"></div> <div class="cancel" style="margin-left: 15px"></div>
</div> </div>
<div class="defeat"> <div class="defeat" v-if="errorIds.length > 0">
<div class="detext" @click="downloadEeeorData"> <div class="detext" @click="downloadEeeorData">
下载失败数据 下载失败数据
</div> </div>
@@ -232,6 +232,9 @@ export default {
teacherIds:state.successIds teacherIds:state.successIds
}).then(res=>{ }).then(res=>{
console.log(res,'res') console.log(res,'res')
if(res.code == 200){
ctx.emit("AddImpStuvisibleClose", state.isAddStudent);
}
}) })
state.successIds = [] state.successIds = []
state.errorIds = [] state.errorIds = []
@@ -246,7 +249,7 @@ export default {
state.downloadErrUrl = ""; state.downloadErrUrl = "";
ctx.emit("update:AddImpStuvisible", false); ctx.emit("update:AddImpStuvisible", false);
// 通知父组件重新获取学员列表 // 通知父组件重新获取学员列表
ctx.emit("AddImpStuvisibleClose", state.isAddStudent); // ctx.emit("AddImpStuvisibleClose", state.isAddStudent);
state.isAddStudent = false; state.isAddStudent = false;
}; };
@@ -327,8 +330,8 @@ export default {
// 下载失败数据 // 下载失败数据
const downloadEeeorData = () => { const downloadEeeorData = () => {
if (state.downloadErrUrl !== "") { if (state.errorIds.length !== 0) {
window.open(`/activityApi/teacher/errorExport?ids=${state.errorIds}`); window.open(`/activityApi/teacher/errorExport?ids=${state.errorIds.join(',')}`);
} }
}; };

View File

@@ -128,6 +128,15 @@ const OnlineLearning = async () => {
} }
}) })
} }
//创建认证
const createData = () => {
createParam.value = {
name: '',
description: '',
cover: '',
}
visible.value = true
}
//删除数据 //删除数据
const deleteReview = (record) =>{ const deleteReview = (record) =>{
dialog({ dialog({
@@ -202,6 +211,7 @@ console.log(999);
} }
//重置 //重置
const handleRest = ()=>{ const handleRest = ()=>{
searchValue.value = null
getlist() getlist()
} }
@@ -362,7 +372,7 @@ function handleOper(record, type, status = "") {
<div class="btns" @click="centerDialogVisible=true"> <div class="btns" @click="centerDialogVisible=true">
<div class="btn btn3"> <div class="btn btn3">
<div class="search"></div> <div class="search"></div>
<div class="btnText" @click="visible=true">创建认证</div> <div class="btnText" @click="createData">创建认证</div>
</div> </div>
</div> </div>

View File

@@ -4,7 +4,7 @@ import { message } from 'ant-design-vue';
import AddInstructor from './AddInstructor.vue' import AddInstructor from './AddInstructor.vue'
import LeadInstructor from './LeadInstructor.vue' import LeadInstructor from './LeadInstructor.vue'
import { useRoute, useRouter } from 'vue-router' import { useRoute, useRouter } from 'vue-router'
import {getTeacherList,deleTeTeacher,getReview,delreview,reviewdetail,reviewSave,endreview,addTeacher,editreview} from '@/api/examineApi.js' import {getTeacherList,deleTeTeacher,getReview,delreview,reviewdetail,reviewSave,endreview,addTeacher,editreview,backDraft,getDataById,getCertificationProcess} from '@/api/examineApi.js'
import dialog from "@/utils/dialog"; import dialog from "@/utils/dialog";
// import QrCode from './QrCode.vue' // import QrCode from './QrCode.vue'
import ViewReview from './ViewReview.vue' import ViewReview from './ViewReview.vue'
@@ -139,6 +139,17 @@ const columnsTeacher = [
dataIndex: 'reviewTime', dataIndex: 'reviewTime',
}, },
] ]
//认证流程
const attestation = [
{name:'初稿已上传',success:'su3.png',error:'',initial:''},
{name:'线上学习已完成',success:'su4.png',error:'',initial:'s1.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:'线下辅导已完成',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'},
]
//老师重置 //老师重置
const resetTeacher = ()=>{ const resetTeacher = ()=>{
addTeacherList() addTeacherList()
@@ -317,18 +328,34 @@ function handleOper(record, type, status = "") {
//搜索教师 //搜索教师
const SearchTeachers =async()=>{ const SearchTeachers =async()=>{
const res = await getTeacherList({ const res = await getTeacherList({
PageNo: 1, pageNo: 1,
PageSize: 8, pageSize: 8,
examineId: route.query.id.toString(), examineId: route.query.id,
secondResult: value2.value.toString(), secondResult: value2.value,
reviewResult:value.value.toString(), reviewResult:value.value,
keyWord:value3.value.toString() keyWord:value3.value
}) })
total.value = res.data.total
data.value = res.data.records
if(value2.value=='1'){
getTeacher2()
}
} }
//重置教师 //重置教师
const handleRest=()=>{ const handleRest=()=>{
value2.value = null
value.value = null
value3.value = null
getTeacher() getTeacher()
getTeacher2()
}
//刷新列表
const translateTeacher = (flag) => {
handleRest()
}
const translate = (flag) => {
handleRest()
} }
//2次认证 //2次认证
const total2 = ref(null) const total2 = ref(null)
@@ -336,11 +363,12 @@ const data2 = ref([])
//教师列表2 //教师列表2
const getTeacher2 =async()=>{ const getTeacher2 =async()=>{
const res = await getTeacherList({ const res = await getTeacherList({
PageNo: 1, pageNo: 1,
PageSize: 8, pageSize: 8,
examineId: route.query.id.toString(), examineId: route.query.id.toString(),
secondResult: '0', secondResult: '1',
reviewResult:value.value,
keyWord:value3.value
}) })
console.log(res,'resaaaa') console.log(res,'resaaaa')
total2.value = res.data.total total2.value = res.data.total
@@ -358,8 +386,8 @@ const onChangeTeacher = (pageNo,pageSize) => {
//教师列表 //教师列表
const getTeacher =async()=>{ const getTeacher =async()=>{
const res = await getTeacherList({ const res = await getTeacherList({
PageNo: current1.value, pageNo: current1.value,
PageSize: 8, pageSize: 8,
examineId: route.query.id.toString(), examineId: route.query.id.toString(),
secondResult: "0" secondResult: "0"
}) })
@@ -383,7 +411,7 @@ onMounted(()=>{
} }
getTeacher() getTeacher()
getReviewList() getReviewList()
// getTeacher2() getTeacher2()
}) })
const activeName = ref('first') const activeName = ref('first')
const ViewReviewShow =ref(null) const ViewReviewShow =ref(null)
@@ -481,6 +509,52 @@ const twiceolumns = [
key: 'action', key: 'action',
}, },
]; ];
const twiceolumnsOne = [
{
title: '序号',
dataIndex: 'index',
key: 'index',
customRender: ({ text,record,index }) => index + 1
},
{
title: '评委姓名',
dataIndex: 'judgesName',
key: 'judgesName',
},
{
title: '评委工号',
dataIndex: 'judgesWorkNum',
key: 'judgesWorkNum',
},
{
title: '评分',
dataIndex: 'score',
key: 'score',
},
];
const twiceolumnsTwo = [
{
title: '序号',
dataIndex: 'index',
key: 'index',
customRender: ({ text,record,index }) => index + 1
},
{
title: '评委姓名',
dataIndex: 'judgesName',
key: 'judgesName',
},
{
title: '评委工号',
dataIndex: 'judgesWorkNum',
key: 'judgesWorkNum',
},
{
title: '评分',
dataIndex: 'score',
key: 'score',
},
]
const selectedRowKeysList = ref(null) const selectedRowKeysList = ref(null)
const rowSelection = { const rowSelection = {
onChange: async(selectedRowKeys, selectedRows) => { onChange: async(selectedRowKeys, selectedRows) => {
@@ -514,9 +588,48 @@ const delVisible = ref(false)
const activeKey = ref('1'); const activeKey = ref('1');
const showViewInstructor =ref(false) const showViewInstructor =ref(false)
const show= ()=>{ const techerDetail = ref(null)
const processData = ref()
const show= async (record)=>{
showViewInstructor.value=true showViewInstructor.value=true
await getDataById({teacherId:record.teacherId}).then(res=>{
console.log(res,'res')
if(res.code == 200){
console.log(res.data,'data')
techerDetail.value = res.data
}
})
await getCertificationProcess({teacherId:record.teacherId}).then(res=>{
console.log(res,'getCertificationProcess')
processData = res.data
})
}
const returnPage = (record) => {
console.log(record,'record')
dialog({
content: "确定退回初稿吗?",
ok:()=>{
backDraft({
teacherId:record.id,
version:0
}).then(res=>{
console.log(res,'res')
})
}
});
}
const returnPageTwo = (record) => {
dialog({
content: "确定退回初稿吗?",
ok:()=>{
backDraft({
teacherId:record.id,
version:1
}).then(res=>{
console.log(res,'res')
})
}
});
} }
const InitiateReviewShow = ref(false) const InitiateReviewShow = ref(false)
//二维码显示 //二维码显示
@@ -604,7 +717,7 @@ const options1 = ref([{
<div style="display: flex; align-items: center; margin-top: 15px;margin-bottom: 15px;"> <div style="display: flex; align-items: center; margin-top: 15px;margin-bottom: 15px;">
<div class="btns" style="margin-left: 15px;"> <div class="btns" style="margin-left: 15px;">
<proj-check-ship> <proj-check-ship @finash="translate">
<div class="btn btn3"> <div class="btn btn3">
<div class="search"></div> <div class="search"></div>
<div class="btnText" @click="Tecvisible=true">添加讲师</div> <div class="btnText" @click="Tecvisible=true">添加讲师</div>
@@ -618,7 +731,7 @@ const options1 = ref([{
<div class="btnText" @click="AddImpStuvisible=true">导入讲师</div> <div class="btnText" @click="AddImpStuvisible=true">导入讲师</div>
</div> </div>
</div> </div>
<a-button type="primary" style="color: #fff ;background-color: #4ea6ff; width: 100px; height: 40px; border-radius: 8px;margin-left: 15px; padding-left: 10px;">导出讲师</a-button> <a-button type="primary" @click="exportExcel" style="color: #fff ;background-color: #4ea6ff; width: 100px; height: 40px; border-radius: 8px;margin-left: 15px; padding-left: 10px;">导出讲师</a-button>
<a-button type="primary" @click="batchhandleOper()" style="width: 100px; height: 40px; border-radius: 8px;margin-left: 12px; padding-left: 10px;" ghost>批量删除</a-button> <a-button type="primary" @click="batchhandleOper()" style="width: 100px; height: 40px; border-radius: 8px;margin-left: 12px; padding-left: 10px;" ghost>批量删除</a-button>
</div> </div>
<!-- 表格 --> <!-- 表格 -->
@@ -666,11 +779,11 @@ const options1 = ref([{
<template v-else-if="column.key === 'action'"> <template v-else-if="column.key === 'action'">
<span style="text-align: center;"> <span style="text-align: center;">
<a style="margin-right: 7px;" @click="show()"> <a style="margin-right: 7px;" @click="show(record)">
查看 查看
</a> </a>
<a style="margin-right: 7px;" @click="show()"> <a v-if="record.draftStatus == 0" style="margin-right: 7px;" @click="returnPage(record)">
退回初 退回初稿
</a> </a>
<a style="color: #de2139" @click="handleOper(record, 'del')">删除</a> <a style="color: #de2139" @click="handleOper(record, 'del')">删除</a>
</span> </span>
@@ -731,6 +844,9 @@ const options1 = ref([{
<a style="margin-right: 7px;"> <a style="margin-right: 7px;">
查看 查看
</a> </a>
<a v-if="record.draftStatus == 0" style="margin-right: 7px;" @click="returnPageTwo(record)">
退回终稿
</a>
<a style="color: #de2139">删除</a> <a style="color: #de2139">删除</a>
</span> </span>
</template> </template>
@@ -742,7 +858,7 @@ const options1 = ref([{
</div> </div>
<LeadInstructor :imprtlecturer='imprtlecturer' @CloseImprt="showImprtlecturer"></LeadInstructor> <!-- <LeadInstructor :imprtlecturer='imprtlecturer' @CloseImprt="showImprtlecturer"></LeadInstructor>
<AddInstructor :AddSwitch="AddSwitch" @myClick="handleChildEmit"></AddInstructor> <AddInstructor :AddSwitch="AddSwitch" @myClick="handleChildEmit"></AddInstructor>
<proj-check-ship> <proj-check-ship>
<a-button class="cus-btn" style="background: #4ea6ff; color: #fff"> <a-button class="cus-btn" style="background: #4ea6ff; color: #fff">
@@ -753,9 +869,9 @@ const options1 = ref([{
/></template> /></template>
添加学员 添加学员
</a-button> </a-button>
</proj-check-ship> </proj-check-ship> -->
<!-- 导入学员抽屉 --> <!-- 导入讲师抽屉 -->
<imp-stu v-model:AddImpStuvisible="AddImpStuvisible" /> <imp-stu @AddImpStuvisibleClose="translateTeacher" v-model:AddImpStuvisible="AddImpStuvisible" :courseId="route.query.id"/>
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="2" tab="发起评审" force-render> <a-tab-pane key="2" tab="发起评审" force-render>
@@ -988,10 +1104,11 @@ const options1 = ref([{
<div class="drawerMain"> <div class="drawerMain">
<div class="header"> <div class="header">
<div class="headerTitle">查看讲师</div> <div class="headerTitle">查看讲师</div>
<img v-if="techerDetail?.avatar" style="width: 29px; height: 29px; cursor: pointer" :src="techerDetail?.avatar"/>
<img <img
v-else
style="width: 29px; height: 29px; cursor: pointer" style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png" src="../../assets/images/basicinfo/close.png"
@click="closeDrawer"
/> />
</div> </div>
<div > <div >
@@ -1000,9 +1117,9 @@ const options1 = ref([{
<img src="../../assets/2.png" alt=""> <img src="../../assets/2.png" alt="">
</div> </div>
<div style="margin-left: 18px;"> <div style="margin-left: 18px;">
<div style="font-size: 18px;font-weight: 500;color: #333333;line-height: 25px;font-style: normal;">张三 <span style="margin-left: 8px;"> 01011098</span></div> <div style="font-size: 18px;font-weight: 500;color: #333333;line-height: 25px;font-style: normal;">{{techerDetail?.teacherName}} {{techerDetail?.workNo}}<span style="margin-left: 8px;"> 01011098</span></div>
<div style="font-size: 14px;color: #979797;margin-top: 12px;">后台(业务支援体系)/BOEU/企划中心/数据资产部数据资产部</div> <div style="font-size: 14px;color: #979797;margin-top: 12px;">{{techerDetail?.orgName}}</div>
<div style="font-size: 14px;color: #979797;">产品企划岗 Band 1</div> <div style="font-size: 14px;color: #979797;">{{techerDetail?.orgPath}} {{techerDetail?.bandCode}}</div>
</div> </div>
@@ -1010,14 +1127,14 @@ const options1 = ref([{
<div style="margin-top: 24px"> <div style="margin-top: 24px">
<div style="display:flex;"> <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="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;">关于提升学习能力</div> <div style="width: 559px;height: 56px;line-height: 56px;border: 1px solid #F0F6FC;padding-left:16px;">{{techerDetail?.courseName}}</div>
<div style="width: 136px;height: 56px;line-height: 56px;background: #FFFFFF;border: 1px solid #F0F6FC;padding-left:16px;">课程内容分类</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;">影响力</div> <div style="width: 342px;height: 56px;line-height: 56px;border: 1px solid #F0F6FC;padding-left:16px;">{{techerDetail?.courseContent}}</div>
</div> </div>
<div style="display:flex;"> <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="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;">这是我的认证课程关于提升学习能力的课程</div> <div style="width: 559px;height: 56px;line-height: 56px;border: 1px solid #F0F6FC;padding-left:16px;">{{techerDetail?.courseIntroduction}}</div>
</div> </div>
@@ -1029,7 +1146,7 @@ const options1 = ref([{
<a href="">下载</a> <a href="">下载</a>
</div> </div>
<div style="width: 136px;height: 56px;line-height: 56px;background: #FFFFFF;border: 1px solid #F0F6FC;padding-left:16px;">上传时间</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;">2024.04.10 20:58</div> <div style="width: 342px;height: 56px;line-height: 56px;border: 1px solid #F0F6FC;padding-left:16px;">{{techerDetail?.uploadTime}}</div>
</div> </div>
@@ -1038,12 +1155,14 @@ const options1 = ref([{
认证流程 认证流程
</div> </div>
<div style="margin-top: 13px; height: 125px;width: 100%;display: flex;align-items: center;justify-content: center;" > <div style="margin-top: 13px; height: 125px;width: 100%;display: flex;align-items: center;justify-content: center;" >
<div style="display: flex;width: 70px;height: 78px;flex-direction: column;align-items: center"> <div class="step_box" v-for="item in 5">
<img src="../../assets/8.png" alt=""> <div v-if="item != 1" style="height: 1px;width: 81px;background-color: #DEDEDE;"></div>
<div style="color: #409EFF;font-size: 14px;">初稿已上传</div> <div style="display: flex;width: 70px;height: 78px;flex-direction: column;align-items: center">
</div> <img src="../../assets/8.png" alt="">
<div style="height: 1px;width: 81px;background-color: #DEDEDE;"></div> <div style="color: #409EFF;font-size: 14px;">初稿已上传</div>
<div style="display: flex;width: 70px;height: 78px;flex-direction: column;align-items: center"> </div>
</div>
<!-- <div style="display: flex;width: 70px;height: 78px;flex-direction: column;align-items: center">
<img src="../../assets/8.png" alt=""> <img src="../../assets/8.png" alt="">
<div style="color: #409EFF;font-size: 14px;">初稿已上传</div> <div style="color: #409EFF;font-size: 14px;">初稿已上传</div>
</div> </div>
@@ -1077,78 +1196,20 @@ const options1 = ref([{
<div style="display: flex;width: 70px;height: 78px;flex-direction: column;align-items: center"> <div style="display: flex;width: 70px;height: 78px;flex-direction: column;align-items: center">
<img src="../../assets/8.png" alt=""> <img src="../../assets/8.png" alt="">
<div style="color: #409EFF;font-size: 14px;">初稿已上传</div> <div style="color: #409EFF;font-size: 14px;">初稿已上传</div>
</div> </div> -->
</div> </div>
<div style="font-size: 14px;margin-bottom: 15px;">评委打分信息表</div> <div style="font-size: 14px;margin-bottom: 15px;">评委打分信息表</div>
<div> <div>
<a-table :columns="twiceolumns" :data-source="data" :scroll="{ x: 1000 }" :pagination="false"> <a-table :columns="twiceolumnsOne" :data-source="techerDetail?.firstList" :scroll="{ x: 1000 }" :pagination="false">
<template #headerCell="{ column }">
<template v-if="column.key === 'name'">
<span>
姓名
</span>
</template>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'name'">
<a>
{{ record.name }}
</a>
</template>
<template v-else-if="column.key === 'tags'">
<span>
<a-tag
v-for="tag in record.tags"
:key="tag"
:color="tag === 'loser' ? 'volcano' : tag.length > 5 ? 'geekblue' : 'green'"
>
{{ tag.toUpperCase() }}
</a-tag>
</span>
</template>
<template v-else-if="column.key === 'action'">
</template>
</template>
</a-table> </a-table>
</div> </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: 19px;margin-top: 40px;font-size: 18px;font-weight: 500;">二次认证</div>
<div style="font-size: 14px;margin-bottom: 15px;">评委打分信息表</div> <div style="font-size: 14px;margin-bottom: 15px;">评委打分信息表</div>
<div> <div>
<a-table :columns="twiceolumns" :data-source="data" :scroll="{ x: 1000 }" :pagination="false"> <a-table :columns="twiceolumnsTwo" :data-source="techerDetail?.secondList" :scroll="{ x: 1000 }" :pagination="false">
<template #headerCell="{ column }">
<template v-if="column.key === 'name'">
<span>
姓名
</span>
</template>
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'name'">
<a>
{{ record.name }}
</a>
</template>
<template v-else-if="column.key === 'tags'">
<span>
<a-tag
v-for="tag in record.tags"
:key="tag"
:color="tag === 'loser' ? 'volcano' : tag.length > 5 ? 'geekblue' : 'green'"
>
{{ tag.toUpperCase() }}
</a-tag>
</span>
</template>
<template v-else-if="column.key === 'action'">
</template>
</template>
</a-table> </a-table>
</div> </div>
<div> <div>
@@ -1316,4 +1377,9 @@ const options1 = ref([{
// :deep(.ant-form-item-label){ // :deep(.ant-form-item-label){
// text-align: left; // text-align: left;
// } // }
.step_box{
display: flex;
justify-content: center;
align-items: center;
}
</style> </style>

View File

@@ -651,7 +651,7 @@ const route = useRoute()
deleteDepSelect(); deleteDepSelect();
emit("finash", true); emit("finash", true);
message.info('添加成功'); message.info('添加成功');
}); });
// saveStu({ // saveStu({
// targetId: props.id, // targetId: props.id,