讲师管理讲师查看修改

This commit is contained in:
zhangsir
2025-01-15 17:21:14 +08:00
parent 01e54fd76d
commit 61fe51923e
5 changed files with 186 additions and 52 deletions

View File

@@ -1,6 +1,6 @@
<template>
<a-drawer class="largeDrawerInside" :visible="visible" placement="right" :closable="false"
width="80%" :title="false" @close="handleClose">
width="800" :title="false" @close="handleClose">
<!-- 内部讲师查看详情 -->
<div class="LookInsideLecturer">
<div class="header" style="margin-top: -24px;margin-left: -24px;">
@@ -15,58 +15,108 @@
</div>
<a-layout-content>
<!-- 讲师信息 -->
<div style="width: 100%;margin-top: 10px;padding: 20px;">
<span class="line"></span>
<a-descriptions title="基本信息" bordered :column="4" :contentStyle="rowCenter" :labelStyle="rowCenters">
<!-- 一层 -->
<a-descriptions-item label="讲师头像">
<a-image :width="55" style="border-radius: 50%;width:55px;height:55px;" :src=formParam.photo />
</a-descriptions-item>
<a-descriptions-item label="讲师姓名"><div style="user-select:text">{{formParam.name}} / {{formParam.userNo}}</div></a-descriptions-item>
<a-descriptions-item label="讲师体系"><div style="user-select:text">{{formParam.tsystemName || '-'}}</div></a-descriptions-item>
<!-- 二层 -->
<a-descriptions-item label="讲师级别">{{formParam.tlevelName||'-'}}</a-descriptions-item>
<a-descriptions-item label="认证状态">{{ formParam.certStatus==0?'未认证' :formParam.certStatus==1 ?'已认证':'-'}}
<span>
<div style="width: 100%;margin-top: 10px;">
<!-- <span class="line"></span> -->
<!-- 记录 -->
<!-- <div style="margin-top: 8px;"></div> -->
<a-tabs v-model:activeKey="activeKey">
<a-tab-pane key="0" tab="基本信息">
<div class="teacher_info">
<div class="teacher_info_left">
<a-image style="width:100%;height:100%;" class="img" :src=formParam.photo />
</div>
<div class="teacher_info_right">
<div class="right_header">
{{formParam.name}} / {{formParam.userNo}}
</div>
<div class="right_content">
<div class="one item">
<img class="img" src="@/assets/jibie.png" alt="" />
{{formParam.tlevelName||'-'}}
</div>
<div class="two item">
<img class="img" src="@/assets/time.png" alt="" />
{{(Number(formParam.teaching||0) /60 ).toFixed(2)}}小时
</div>
<div class="three item">
<img v-if="formParam.certStatus" class="img" src="@/assets/renzheng.png" alt="" />
<img v-else class="img" src="@/assets/notren.png" alt="" />
{{ formParam.certStatus==0?'未认证' :formParam.certStatus==1 ?'已认证':'-'}}
</div>
<div class="three_down"><a-button type="text" class="moreidbtn" v-if="formParam.certStatus == 1" @click="handleup">查看认证资料</a-button></div>
</div>
<div class="right_footer">
<div class="item">
<div class="title">体系</div>
<div class="text">{{formParam.tsystemName || '-'}}</div>
</div>
<div class="item" style="width:40%;">
<div class="title">在职状态</div>
<div class="text">{{formParam.waitStatus=='0'?'在职' :formParam.waitStatus=='1' ?'离职':'-'}}</div>
</div>
<div class="item">
<div class="title">所属组织</div>
<div class="text">{{ formParam.orgName || '-' }}</div>
</div>
<div class="item" style="width:40%;">
<div class="title">账号状态</div>
<div class="text">{{formParam.status=='0'?'临时' :formParam.status=='1' ?'启用':formParam.status==2 ?'停用':'-'}}</div>
</div>
<div class="item">
<div class="title">发薪地</div>
<div class="text">{{formParam.salaryName||'-'}}</div>
</div>
<div class="item" style="width:40%;">
<div class="title">录入方式</div>
<div class="text">{{formParam.createFrom=='0'?'自动录入' :formParam.createFrom=='1'?'手动录入':'-'}}</div>
</div>
</div>
</div>
</div>
<!-- <a-descriptions title="基本信息" bordered :column="4" :contentStyle="rowCenter" :labelStyle="rowCenters">
<a-descriptions-item label="讲师头像">
<a-image :width="55" style="border-radius: 50%;width:55px;height:55px;" :src=formParam.photo />
</a-descriptions-item>
<a-descriptions-item label="讲师姓名"><div style="user-select:text">{{formParam.name}} / {{formParam.userNo}}</div></a-descriptions-item>
<a-descriptions-item label="讲师体系"><div style="user-select:text">{{formParam.tsystemName || '-'}}</div></a-descriptions-item>
<a-descriptions-item label="讲师级别">{{formParam.tlevelName||'-'}}</a-descriptions-item>
<a-descriptions-item label="认证状态">{{ formParam.certStatus==0?'未认证' :formParam.certStatus==1 ?'已认证':'-'}}
<span>
<a-button type="text" class="moreidbtn" v-if="formParam.certStatus == 1"
@click="handleup">查看认证资料</a-button>
</span>
</a-descriptions-item>
<a-descriptions-item label="授课时长"> <span v-if="formParam.teaching!= null" >{{formParam.teaching}}分钟({{ (Number(formParam.teaching) /60 ).toFixed(2)}}小时)</span><span v-else>-</span>
</a-descriptions-item>
<a-descriptions-item label="发薪地 ">{{formParam.salaryName||'-'}}</a-descriptions-item>
<!-- 三层 -->
<a-descriptions-item label="在职状态">{{formParam.waitStatus=='0'?'在职' :formParam.waitStatus=='1' ?'离职':'-'}}</a-descriptions-item>
<a-descriptions-item label="账号状态">{{formParam.status=='0'?'临时' :formParam.status=='1' ?'启用':formParam.status==2 ?'停用':'-'}}</a-descriptions-item>
<a-descriptions-item label="录入方式">{{formParam.createFrom=='0'?'自动录入' :formParam.createFrom=='1'?'手动录入':'-'}}</a-descriptions-item>
<a-descriptions-item style="max-width: 400px;" label="所属组织" >
<span :title="formParam.orgName" style="user-select:text">{{ formParam.orgName || '-' }}</span>
</a-descriptions-item>
</a-descriptions>
<div style="margin-top: 10px;"></div>
<span class="line" ></span>
<a-descriptions title="其他信息" bordered :column="4" :contentStyle="rowCenter" :labelStyle="rowCenters" >
<!-- 一层 -->
<a-descriptions-item style="max-width: 200px;" label="讲师介绍" :span="4" >
<div v-if="formParam.description !=null&&resp(formParam.description)" style="min-width: 500px;" v-html="formParam.description" ></div>
<div v-else>-</div>
</a-descriptions-item>
<a-descriptions-item label="工作职责" :span="4">
<div v-if="formParam.workExperience !=null&&resp(formParam.workExperience)" style="min-width: 500px;" v-html="formParam.workExperience" ></div>
<div v-else>-</div>
</a-descriptions-item>
<a-descriptions-item label="擅长课程" :span="4">
<div v-if="formParam.courses !=null&&resp(formParam.courses)" style="min-width: 500px;" v-html="formParam.courses" ></div>
<div v-else>-</div>
</a-descriptions-item>
<a-descriptions-item label="教师专长" :span="4">
<a-tag v-if="formParam.expertiseNames" color="blue" style="margin-right:10px" v-for="item in formParam.expertiseNames?.split(',')">{{item}}</a-tag>
<span v-else>-</span>
</a-descriptions-item>
</a-descriptions>
<!-- 记录 -->
<div style="margin-top: 8px;"></div>
<a-tabs v-model:activeKey="activeKey">
</a-descriptions-item>
<a-descriptions-item label="授课时长"> <span v-if="formParam.teaching!= null" >{{formParam.teaching}}分钟({{ (Number(formParam.teaching) /60 ).toFixed(2)}}小时)</span><span v-else>-</span></a-descriptions-item>
<a-descriptions-item label="发薪地 ">{{formParam.salaryName||'-'}}</a-descriptions-item>
<a-descriptions-item label="在职状态">{{formParam.waitStatus=='0'?'在职' :formParam.waitStatus=='1' ?'离职':'-'}}</a-descriptions-item>
<a-descriptions-item label="账号状态">{{formParam.status=='0'?'临时' :formParam.status=='1' ?'启用':formParam.status==2 ?'停用':'-'}}</a-descriptions-item>
<a-descriptions-item label="录入方式">{{formParam.createFrom=='0'?'自动录入' :formParam.createFrom=='1'?'手动录入':'-'}}</a-descriptions-item>
<a-descriptions-item style="max-width: 400px;" label="所属组织" >
<span :title="formParam.orgName" style="user-select:text">{{ formParam.orgName || '-' }}</span>
</a-descriptions-item>
</a-descriptions> -->
<div style="margin-top: 10px;"></div>
<span class="line" ></span>
<a-descriptions title="其他信息" bordered :column="4" :contentStyle="rowCenter" :labelStyle="rowCenters" >
<!-- 一层 -->
<a-descriptions-item style="max-width: 200px;" label="讲师介绍" :span="4" >
<div v-if="formParam.description !=null&&resp(formParam.description)" style="min-width: 500px;" v-html="formParam.description" ></div>
<div v-else>-</div>
</a-descriptions-item>
<a-descriptions-item label="工作职责" :span="4">
<div v-if="formParam.workExperience !=null&&resp(formParam.workExperience)" style="min-width: 500px;" v-html="formParam.workExperience" ></div>
<div v-else>-</div>
</a-descriptions-item>
<a-descriptions-item label="擅长课程" :span="4">
<div v-if="formParam.courses !=null&&resp(formParam.courses)" style="min-width: 500px;" v-html="formParam.courses" ></div>
<div v-else>-</div>
</a-descriptions-item>
<a-descriptions-item label="教师专长" :span="4">
<a-tag v-if="formParam.expertiseNames" color="blue" style="margin-right:10px" v-for="item in formParam.expertiseNames?.split(',')">{{item}}</a-tag>
<span v-else>-</span>
</a-descriptions-item>
</a-descriptions>
</a-tab-pane>
<a-tab-pane key="1" tab="授课记录">
<a-table :header-cell-style="{ 'text-align': 'center' }" :columns="teacherrecordsColumns"
@@ -141,7 +191,7 @@ export default{
setup(props,emits){
const router=useRouter();
const state = reactive({
activeKey:'1',
activeKey:'0',
formParam: {
},
promotionrecordsLoading: false, //晋级记录遮罩层
@@ -161,12 +211,12 @@ export default{
}
});
watch(() => props.visible, (val) => {
console.log(val,'xixixiixix')
if(val){
const id = props.id
TeacherSystem(id)
}else{
state.formParam = {}
state.activeKey = '0'
}
})
const isOrgNames = (val) => {
@@ -475,6 +525,90 @@ const handleup = ()=>{
}
</script>
<style lang="scss" scoped>
.teacher_info{
// width: 759px;
height: 220px;
padding: 2px 2px 2px 2px;
border-radius: 5px;
border: 1px solid #c8cbcd;
background-color: rgba(242, 242, 242, 0.51);
display: flex;
.teacher_info_left{
width: 36%;
// height: 24%;
border-radius: 50%;
margin: 0 20px;
display: flex;
justify-content: center;
align-items: center;
.img{
width: 100%;
height: 100%;
border-radius: 50%;
}
}
.teacher_info_right{
margin: 15px 40px 20px 16px;
.right_header{
font-size: 18px;
font-weight: 650;
color: #333333;
margin-bottom: 17px;
}
.right_content{
display: flex;
margin-bottom: 20px;
color: #333333;
.item{
height: 30px;
padding: 0 14px;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
.img{
width: 22px;
height: 22px;
margin-right: 10px;
}
}
.one{
border: 1px solid #4796df;
background-color: rgba(30, 152, 215, 0.15);
margin-right: 25px;
}
.two{
border: 1px solid #e27124;
background-color: rgba(240, 190, 154, 0.15);
margin-right: 25px;
}
.three{
border: 1px solid #609d10;
background-color: rgba(96, 157, 16, 0.11);
}
.three_down{
color: #1e98d7;
margin-left: 12px;
}
}
.right_footer{
display: flex;
flex-wrap: wrap;
color: #333333;
.item{
width:60%;
margin-bottom: 14px;
display: flex;
align-items: center;
.title{
width:60px;
text-align: right;
margin-right: 12px;
}
}
}
}
}
.LookInsideLecturer {
padding:24px;
.header {