讲师管理bug

This commit is contained in:
zhangsir
2024-11-25 10:20:27 +08:00
parent ae63c22d3c
commit 777dec4020
3 changed files with 231 additions and 221 deletions

View File

@@ -114,206 +114,210 @@
</div> </div>
<!-- 弹窗组件 --> <!-- 弹窗组件 -->
<a-drawer v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false" <a-drawer v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false"
width="40%" :title="false"> width="800" :title="false">
<div class="headers" style="margin-top:-24px;"> <div class="headers" style="margin-top:-24px;">
<div class="headerTitle">{{ teacherdialogtitle }}</div> <div class="headerTitle" style="margin-left: 30px;">{{ teacherdialogtitle }}</div>
<img <img
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="cancelTeacherDialog" @click="cancelTeacherDialog"
/> />
</div> </div>
<a-form :model="formParam" :rules="rules" layout="vertical" ref="formRef"> <div style="padding-left: 40px;padding-right: 158px;">
<a-row> <a-form :model="formParam" :rules="rules" layout="vertical" ref="formRef">
<a-col :span="24"> <a-row>
<span class="line"></span><span>基本信息</span> <a-col :span="24">
</a-col> <span class="line"></span><span>基本信息</span>
</a-row> </a-col>
<a-row :gutter="16"> </a-row>
<a-col :span="24"> <a-row :gutter="16">
<div class="item_inp" style="background-color: #fff;"> <a-col :span="24">
<div style="width:120px;margin:0 auto;" @click="avatarChange"> <div class="item_inp" style="background-color: #fff;">
<a-upload :disabled="!formParam.name" name="avatar" list-type="picture-card" class="avatar-uploader" :show-upload-list="false" <div style="width:120px;margin:0 auto;" @click="avatarChange">
:headers="headers" :before-upload="beforeUpload"> <a-upload :disabled="!formParam.name" name="avatar" list-type="picture-card" class="avatar-uploader" :show-upload-list="false"
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" title="更换头像" /> :headers="headers" :before-upload="beforeUpload">
<img class="i_upload_img" v-else-if="formParam.gender==1" src="../../assets/Avatarman.png" alt="avatar" title="更换头像" /> <img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" title="更换头像" />
<img class="i_upload_img" v-else-if="formParam.gender==2" src="../../assets/Avatarwoman.png" alt="avatar" title="更换头像" /> <img class="i_upload_img" v-else-if="formParam.gender==1" src="../../assets/Avatarman.png" alt="avatar" title="更换头像" />
<img class="i_upload_img" v-else src="../../assets/avatar.png" alt="avatar" title="更换头像" /> <img class="i_upload_img" v-else-if="formParam.gender==2" src="../../assets/Avatarwoman.png" alt="avatar" title="更换头像" />
<!-- <div class="i_upload" v-else> <img class="i_upload_img" v-else src="../../assets/avatar.png" alt="avatar" title="更换头像" />
<div class="addimg"> <!-- <div class="i_upload" v-else>
<div class="heng"></div> <div class="addimg">
<div class="shu"></div> <div class="heng"></div>
</div> <div class="shu"></div>
</div> --> </div>
</a-upload> </div> -->
</div> </a-upload>
<div class="i_bottom">
<div class="tip" style="margin-bottom: 10px;">
<span style="color: #999999; margin-left: 8px">支持图片格式为jpg/jpeg/png </span>
</div> </div>
</div> <div class="i_bottom">
</div> <div class="tip" style="margin-bottom: 10px;">
</a-col> <span style="color: #999999; margin-left: 8px">支持图片格式为jpg/jpeg/png </span>
</a-row> </div>
<a-row :gutter="16"> </div>
<a-col :span="24"> </div>
<a-form-item label="讲师名称" name="name"> </a-col>
<SearchTeacher @tlevel="teacherTlevel" :lecturer="true" :disabled="!!id" v-model:value="formParam.name" v-model:lable="formParam.orgNames" v-model:orgId="formParam.orgId" v-model:id="formParam.id" </a-row>
v-model:system="tSystemNames" v-model:level="formParam.tlevelId"></SearchTeacher> <a-row :gutter="16">
</a-form-item> <a-col :span="24">
</a-col> <a-form-item label="讲师名称" name="name">
<a-col :span="24"> <SearchTeacher @tlevel="teacherTlevel" :lecturer="true" :disabled="!!id" v-model:value="formParam.name" v-model:lable="formParam.orgNames" v-model:orgId="formParam.orgId" v-model:id="formParam.id"
<a-form-item label="讲师组织" name="orgName"> v-model:system="tSystemNames" v-model:level="formParam.tlevelId"></SearchTeacher>
<!-- <a-popover> </a-form-item>
<template #content> </a-col>
{{ formParam.orgNames }} <a-col :span="24">
</template> --> <a-form-item label="讲师组织" name="orgName">
<a-input :title="formParam.orgNames" disabled v-model:value="formParam.orgName" class="draitem" <!-- <a-popover>
placeholder="自动带出讲师的组织,展示主要部分,鼠标浮上去展示所有" allowClear showSearch> <template #content>
</a-input> {{ formParam.orgNames }}
<!-- </a-popover> --> </template> -->
</a-form-item> <a-input :title="formParam.orgNames" disabled v-model:value="formParam.orgName" class="draitem"
</a-col> placeholder="自动带出讲师的组织,展示主要部分,鼠标浮上去展示所有" allowClear showSearch>
</a-row> </a-input>
<a-col :span="24"> <!-- </a-popover> -->
<a-form-item label="讲师体系" name="tsystemName"> </a-form-item>
<!-- <a-select class="draitem" v-model:value="formParam.tsystemName" placeholder="请选择讲师体系" allowClear </a-col>
@change="changetlevel" .:options="LecturerSystemList"> </a-row>
</a-select> --> <a-col :span="24">
<a-input disabled v-model:value="tSystemNames.systemName" class="draitem" <a-form-item label="讲师体系" name="tsystemName">
placeholder="自动带出讲师体系" allowClear showSearch> <!-- <a-select class="draitem" v-model:value="formParam.tsystemName" placeholder="请选择讲师体系" allowClear
</a-input> @change="changetlevel" .:options="LecturerSystemList">
</a-form-item> </a-select> -->
</a-col> <a-input disabled v-model:value="tSystemNames.systemName" class="draitem"
<a-col :span="24"> placeholder="自动带出讲师的体系" allowClear showSearch>
<!-- <div @click="handleformlevel"> --> </a-input>
<a-form-item label="讲师级别" name="tlevelId"> </a-form-item>
<a-select class="draitem" v-model:value="formParam.tlevelId" placeholder="请选择讲师级别" allowClear disableda </a-col>
:options="tSystemNames.levelVoList" @change="handleformlevel"> <a-col :span="24">
</a-select> <!-- <div @click="handleformlevel"> -->
</a-form-item> <a-form-item label="讲师级别" name="tlevelId">
<!-- </div> --> <a-select class="draitem" v-model:value="formParam.tlevelId" placeholder="请选择讲师级别" allowClear disableda
</a-col> :options="tSystemNames.levelVoList" @change="handleformlevel">
<a-row :gutter="16"> </a-select>
<a-col :span="24"> </a-form-item>
<a-form-item label="初始授课时长" name="defaultTeachingTime"> <!-- </div> -->
<a-input v-model:value="formParam.defaultTeachingTime" style="width:80%; height: 40px; border-radius: 8px; " </a-col>
:maxLength="8" <a-row :gutter="16">
@blur="clearNonNumber" placeholder="0" allowClear suffix="分钟"> <a-col :span="24">
</a-input> <a-form-item label="初始授课时长" name="defaultTeachingTime">
<span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime === null">0.00小时</span> <a-input v-model:value="formParam.defaultTeachingTime" style="width:80%; height: 40px; border-radius: 8px; "
<span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime != null">{{ :maxLength="8"
(formParam.defaultTeachingTime / 60).toFixed(2) }}小时</span> @blur="clearNonNumber" placeholder="0" allowClear suffix="分钟">
</a-form-item> </a-input>
</a-col> <span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime === null">0.00小时</span>
<a-col :span="24"> <span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime != null">{{
<a-form-item label="认证状态" name="certStatus" style="display:flex;"> (formParam.defaultTeachingTime / 60).toFixed(2) }}小时</span>
<a-radio-group v-model:value="formParam.certStatus" class="draitem"> </a-form-item>
<a-radio :value="0">未认证</a-radio> </a-col>
<a-radio :value="1">已认证</a-radio> <a-col :span="24">
<span> <a-form-item label="认证状态" name="certStatus" style="display:flex;">
<a-button type="text" class="moreidbtn" v-if="formParam.certStatus == 1" <a-radio-group v-model:value="formParam.certStatus" class="draitem">
@click="handleupdialog">{{formParam.certificationName?formParam.certificationName:'上传凭证'}}</a-button> <a-radio :value="0">未认证</a-radio>
</span> <a-radio :value="1">已认证</a-radio>
</a-radio-group> <span>
</a-form-item> <a-button type="text" class="moreidbtn" v-if="formParam.certStatus == 1"
</a-col> @click="handleupdialog">{{formParam.certificationName?formParam.certificationName:'上传凭证'}}</a-button>
</a-row> </span>
<a-row> </a-radio-group>
<a-col :span="24"> </a-form-item>
<span class="line"></span><span>其他信息</span> </a-col>
</a-col> </a-row>
</a-row> <a-row>
<a-row :gutter="16"> <a-col :span="24">
<a-col :span="24"> <span class="line" style="margin-bottom:10px;"></span><span>其他信息</span>
<a-form-item label="讲师介绍"> </a-col>
<Editor v-model:value="formParam.description" :isupload="isupload" /> </a-row>
</a-form-item> <a-row :gutter="16">
</a-col> <a-col :span="24">
</a-row> <a-form-item label="讲师介绍">
<a-row :gutter="16"> <Editor v-model:value="formParam.description" :isupload="isupload" />
<a-col :span="24"> </a-form-item>
<a-form-item label="工作经历"> </a-col>
<Editor v-model:value="formParam.workExperience" :isupload="isupload" /> </a-row>
</a-form-item> <a-row :gutter="16">
</a-col> <a-col :span="24">
</a-row> <a-form-item label="工作经历">
<a-row :gutter="16"> <Editor v-model:value="formParam.workExperience" :isupload="isupload" />
<a-col :span="24"> </a-form-item>
<a-form-item label="擅长课程"> </a-col>
<Editor v-model:value="formParam.courses" :isupload="isupload"/> </a-row>
</a-form-item> <a-row :gutter="16">
</a-col> <a-col :span="24">
</a-row> <a-form-item label="擅长课程">
<div style="margin-bottom: 6px;">教师专长</div> <Editor v-model:value="formParam.courses" :isupload="isupload"/>
<a-row :gutter="50" style="margin-bottom: 50px;"> </a-form-item>
<!-- <a-col :span="4"> </a-col>
<a-tag color="blue" style="line-height: 40px; ">管理业务</a-tag> </a-row>
</a-col> --> <div style="margin-bottom: 6px;">教师专长</div>
<a-col :span="20"> <a-row :gutter="50" style="margin-bottom: 50px;">
<div class="add_content" @click="addContentData">+</div> <!-- <a-col :span="4">
<div class="add_list"> <a-tag color="blue" style="line-height: 40px; ">管理业务</a-tag>
<div :title="item.name" class="add_item" v-for="(item,index) in formParam.orgLists"> </a-col> -->
{{item.name}} <a-col :span="20">
</div> <div class="add_content" @click="addContentData">+</div>
</div> <div class="add_list">
</a-col> <div :title="item.name" class="add_item" v-for="(item,index) in formParam.orgLists">
</a-row> {{item.name}}
</a-form> </div>
<div> </div>
<a-modal </a-col>
v-model:visible="updialog" </a-row>
:footer="null" </a-form>
closable="false" <div>
style="margin-top: 400px" <a-modal
@cancel="cancelupdialog" v-model:visible="updialog"
:maskClosable="false" :footer="null"
> closable="false"
<div class="selectonlineface" style="width: 660px;" :style="{ display: updialog ? 'block' : 'none' }"> style="margin-top: 400px"
<div class="bg_headers"></div> @cancel="cancelupdialog"
<div class="bg_main"> :maskClosable="false"
<div class="bg_main_header"> >
<div class="bg_main_header_close" @click="cancelupdialog"></div> <div class="selectonlineface" style="width: 660px;" :style="{ display: updialog ? 'block' : 'none' }">
</div> <div class="bg_headers"></div>
<div class="bg_body"> <div class="bg_main">
<div>导入</div> <div class="bg_main_header">
<a-form style="margin-top:30px ;"> <div class="bg_main_header_close" @click="cancelupdialog"></div>
<a-form-item style="color: #999999;">注意 :文件支持PDFPNGJPG ,文件大小不可超过5MB</a-form-item> </div>
<a-form-item label="上传文件"> <div class="bg_body">
<UploadDragger :size="5000000" ref="uploadRef" style="width:80%;" @change="changeUpload" :accept="accept" <div>导入</div>
:uploadUrl="uploadUrl" :params="folderId" /> <a-form style="margin-top:30px ;">
</a-form-item> <a-form-item style="color: #999999;">注意 :文件支持PDFPNGJPG ,文件大小不可超过5MB</a-form-item>
</a-form> <a-form-item label="上传文件">
<div class="bg_footer" style="margin-left: 160px;margin-top: 30px"> <UploadDragger :size="5000000" ref="uploadRef" style="width:80%;" @change="changeUpload" :accept="accept"
<div class="btn btn6" @click="cancelupdialog"> :uploadUrl="uploadUrl" :params="folderId" />
<div class="btnText">取消</div> </a-form-item>
</a-form>
<div class="bg_footer" style="margin-left: 160px;margin-top: 30px">
<div class="btn btn6" @click="cancelupdialog">
<div class="btnText">取消</div>
</div>
<a-button
class="btn btn6"
@click="createupdialog"
>
确定
</a-button>
</div> </div>
<a-button
class="btn btn6"
@click="createupdialog"
>
确定
</a-button>
</div> </div>
</div> </div>
</div> </div>
</div> </a-modal>
</a-modal> </div>
</div> <div :style="{
<div :style="{ position: 'absolute',
position: 'absolute', right: 0,
right: 0, bottom: 0,
bottom: 0, width: '100%',
width: '100%', borderTop: '1px solid #e9e9e9',
borderTop: '1px solid #e9e9e9', padding: '10px 16px',
padding: '10px 16px', background: '#fff',
background: '#fff', textAlign: 'right',
textAlign: 'right', zIndex: 1,
zIndex: 1, display: 'flex',
}"> justifyContent: 'center',
<a-button class="drabtn" @click="cancelTeacherDialog">取消</a-button> }">
<a-button class="drabtn" type="primary" @click="createTeacherDialog" :loading="buttonLoading">保存 <a-button class="drabtn" @click="cancelTeacherDialog">取消</a-button>
</a-button> <a-button class="drabtn" type="primary" @click="createTeacherDialog" :loading="buttonLoading">保存
</a-button>
</div>
</div> </div>
</a-drawer> </a-drawer>
@@ -1730,14 +1734,16 @@ export default {
font-size: 26px; font-size: 26px;
} }
.add_list{ .add_list{
width: 150%;
display: flex; display: flex;
flex-wrap: wrap;
margin-top: 10px; margin-top: 10px;
overflow: auto; // overflow: auto;
& div{ & div{
// padding: 10px; padding: 0 10px;
background: aliceblue; background: aliceblue;
margin-left: 10px; margin-left: 10px;
min-width: 140px; width: 140px;
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
text-align: center; text-align: center;
@@ -1988,10 +1994,14 @@ export default {
} }
.drabtn { .drabtn {
cursor: pointer;
width: 100px;
height: 40px; height: 40px;
width: 80px; background: #4ea6ff;
border-radius: 8px; border-radius: 8px;
margin-right: 20px border: 0;
margin-left: 15px;
color: #fff;
} }
::v-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector { ::v-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector {

View File

@@ -26,42 +26,24 @@
<!-- @change="searchTimeChange" --> <!-- @change="searchTimeChange" -->
</div> </div>
</a-form-item> </a-form-item>
<div style="display: flex; margin-bottom: 20px"> <!-- <div style="width:100%"></div> -->
<a-button @click="searchSubmit()" type="primary" class="resetbtn">查询 </a-button> <a-form-item class="select">
<!-- <div class="btn btn1" @click="searchReset" style="background:rgba(64, 158, 255, 0);" > -->
<!-- <div class="search"></div> -->
<a-button class="resetbtn " @click="searchReset">重置</a-button>
<!-- 更多筛选-->
<div v-if="moreid == 1">
<a-button @click="handlemoreid()" class="moreidbtn" type="text"> 展开
<RightOutlined />
</a-button>
</div>
<div v-if="moreid == 2">
<a-button @click="handlemoreid()" class="moreidbtn"> 返回
<UpOutlined />
</a-button>
</div>
</div>
<div style="width:100%"></div>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="width: 230px ;margin-bottom:20px" v-model:value="searchParam.createFrom" placeholder="录入类型" <a-select style="width: 230px ;margin-bottom:20px" v-model:value="searchParam.createFrom" placeholder="录入类型"
:options="entryTypeList" allowClear v-on:keydown.enter="enterPressHadlerSearch"> :options="entryTypeList" allowClear v-on:keydown.enter="enterPressHadlerSearch">
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item class="select" v-if="moreid == 2"> <a-form-item class="select">
<a-select style="width: 230px" v-model:value="searchParam.courseStatus" placeholder="开课状态" <a-select style="width: 230px" v-model:value="searchParam.courseStatus" placeholder="开课状态"
:options="AuthenticationStatusList" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch"> :options="AuthenticationStatusList" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item class="select" v-if="moreid == 2"> <a-form-item class="select">
<a-select style="width: 230px" placeholder="请选择讲师体系" v-model:value="searchParam.tSystemId" <a-select style="width: 230px" placeholder="请选择讲师体系" v-model:value="searchParam.tSystemId"
:options="LecturerSystemList" allowClear showSearch @change="changetlevel" :options="LecturerSystemList" allowClear showSearch @change="changetlevel"
v-on:keydown.enter="enterPressHadlerSearch"> v-on:keydown.enter="enterPressHadlerSearch">
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item class="select" v-if="moreid == 2"> <a-form-item class="select">
<!-- <a-select style="width: 230px" placeholder="请选择所属组织" v-model:value="searchParam.sourceBelongId" <!-- <a-select style="width: 230px" placeholder="请选择所属组织" v-model:value="searchParam.sourceBelongId"
:options="getOrganizationList" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch"> :options="getOrganizationList" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
</a-select> --> </a-select> -->
@@ -69,7 +51,7 @@
style="width: 230px" style="width: 230px"
></OrgClass> ></OrgClass>
</a-form-item> </a-form-item>
<a-form-item class="select" v-if="moreid == 2"> <a-form-item class="select">
<a-tree-select style="width: 230px" :fieldNames="{ <a-tree-select style="width: 230px" :fieldNames="{
@@ -82,14 +64,14 @@
:tree-data="sysTypeOptions" v-on:keydown.enter="enterPressHadlerSearch"> :tree-data="sysTypeOptions" v-on:keydown.enter="enterPressHadlerSearch">
</a-tree-select> </a-tree-select>
</a-form-item> </a-form-item>
<div style="width: 100%;"></div> <!-- <div style="width: 100%;"></div> -->
<a-form-item class="select" v-if="moreid == 2"> <a-form-item class="select">
<a-select style="min-width: 230px ; height: auto ;margin-bottom:20px" v-model:value="score" placeholder="请选择评分" <a-select style="min-width: 230px ; height: auto ;margin-bottom:20px" v-model:value="score" placeholder="请选择评分"
:options="scoreList" allowClear showSearch mode="multiple" @change="scoreChange" :options="scoreList" allowClear showSearch mode="multiple" @change="scoreChange"
v-on:keydown.enter="enterPressHadlerSearch"> v-on:keydown.enter="enterPressHadlerSearch">
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item class="select" v-if="moreid == 2"> <a-form-item class="select">
<a-select style="width: 230px" v-model:value="searchParam.studys" placeholder="授课人数" :options="studysList" <a-select style="width: 230px" v-model:value="searchParam.studys" placeholder="授课人数" :options="studysList"
allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch"> allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
</a-select> </a-select>
@@ -97,6 +79,24 @@
placeholder="授课人数" allowClear showSearch> placeholder="授课人数" allowClear showSearch>
</a-input> --> </a-input> -->
</a-form-item> </a-form-item>
<div style="display: flex; margin-bottom: 20px">
<a-button @click="searchSubmit()" type="primary" class="resetbtn">查询 </a-button>
<!-- <div class="btn btn1" @click="searchReset" style="background:rgba(64, 158, 255, 0);" > -->
<!-- <div class="search"></div> -->
<a-button class="resetbtn " @click="searchReset">重置</a-button>
<!-- 更多筛选-->
<!-- <div v-if="moreid == 1">
<a-button @click="handlemoreid()" class="moreidbtn" type="text"> 展开
<RightOutlined />
</a-button>
</div>
<div v-if="moreid == 2">
<a-button @click="handlemoreid()" class="moreidbtn"> 返回
<UpOutlined />
</a-button>
</div> -->
</div>
</a-form> </a-form>
<div style="width: 100%;"></div> <div style="width: 100%;"></div>
<div style="display: flex; margin-bottom: 20px"> <div style="display: flex; margin-bottom: 20px">

View File

@@ -293,7 +293,7 @@ export default{
if(res.data.code == 200){ if(res.data.code == 200){
PlaceOfPayListTwo.value = res.data.data.map(item=>{ PlaceOfPayListTwo.value = res.data.data.map(item=>{
return { return {
value: item.code, value: item.affiliationCode,
label: item.affiliationName label: item.affiliationName
} }
}) })