外部讲师静态页调整

This commit is contained in:
wangxuemei
2024-05-30 20:28:25 +08:00
parent 2d7e44356a
commit 9cd56a63fe
3 changed files with 1685 additions and 151 deletions

View File

@@ -20,18 +20,25 @@ import http from "./config";
// } // }
// 获取内部讲师体系列表 // 获取内部讲师体系列表
//VUE_APP_BASE_API /manageApi //VUE_APP_BASE_API /manageApi
export const getTeacherSystemList = (obj) => http.post('/admin/teacher/getInTeacherSystemList', obj) export const getTeacherSystemList = (obj) => http.post('/admin/teacher/getSystem', obj)
// 获取内部讲师列表 // 获取内部讲师列表
export const getTeacherList = (obj) => http.post('/admin/teacher/getInTeacherList', obj) export const getTeacherList = (obj) => http.post('/admin/teacher/getInTeacherList', obj)
//.内部讲师发薪地筛选 //获取内部讲师发薪地
export const getTeacherPayRollPriceList = (obj) => http.post('/admin/teacher/getTeacherPayRollPriceList', obj) export const getTeacherPayRollPriceList = (obj) => http.post('/admin/teacher/getPayRollPlace', obj)
//获取内部讲师级别
export const getLevel = (obj) => http.post('/admin/teacher/getLevel', obj)
//新增讲师 //新增讲师
export const insertTeacher = () => http.post('/admin/teacher/insertInTeacher' ,obj) export const insertTeacher = () => http.post('/admin/teacher/insertInTeacher' ,obj)
//修改 讲师 //修改 讲师
export const updateInTeacher = () => http.post('/admin/teacher/updateInTeacher' ,obj) export const updateInTeacher = () => http.post('/admin/teacher/updateInTeacher' ,obj)
//内部讲师详情 //内部讲师详情
export const getLookTeacherSystem= (obj) => http.post('/admin/teacher/getTeacherSystemList'+id ,obj) export const getTeacherById= (obj) => http.post('/admin/teacher/getTeacherById' ,obj)
//删除内部讲师 //删除内部讲师
export const deleteTeacher = (obj) => http.post('/admin/teacher/deleteInTeacher' ,obj)// export const deleteTeacher = (obj) => http.post('/admin/teacher/deleteInTeacher' ,obj)//
//修改讲师状态 //修改讲师状态
export const updateTeacherState = (obj) => http.post('/admin/teacher/updateTeacherState' ,obj) export const updateTeacherState = (obj) => http.post('/admin/teacher/update-status' ,obj)
//获取内部讲师授课记录
export const getTeacherCourseList = (obj) => http.post('/admin/teacher/getTeacherCourseList' ,obj)
//导出内部讲师列表
// http://pretest.zcwytd.com/manageApi/lesson_records/export
export const exportteacher = (obj) => http.post('/admin/lesson_records/export' ,obj)

File diff suppressed because it is too large Load Diff

View File

@@ -1,41 +1,43 @@
<!-- 内部讲师页面 --> <!-- 项目页面 -->
<template> <template>
<div class="projectManage"> <div class="projectManage">
<div>
</div>
<!-- 搜索框及按钮 --> <!-- 搜索框及按钮 -->
<div class="filter"> <div class="filter">
<div class="filterItems"> <div class="filterItems">
<div class="select"> <div class="select">
<!-- v-model:value="searchParam.name" --> <!-- v-model:value="searchParam.name" -->
<a-input v-model:value="searchParam.teacherName " style="width: 230px; height: 40px; border-radius: 8px" <a-input v-model:value="searchParam.name " style="width: 230px; height: 40px; border-radius: 8px"
placeholder="请输入工号/姓名检索" allowClear showSearch> placeholder="请输入工号/姓名检索" allowClear showSearch>
</a-input> </a-input>
</div> </div>
<div class="select"> <div class="select">
<a-select style="width: 230px" placeholder="讲师体系" v-model:value="searchParam.systemName" <a-select style="width: 230px" placeholder="讲师体系" v-model:value="searchParam.tsystemName"
:options="LecturerSystemList"> :options="LecturerSystemList">
</a-select> </a-select>
</div> </div>
<div class="select"> <div class="select">
<a-select style="width: 230px" v-model:value="searchParam.searchGrade" placeholder="级别" :options="GradeList"> <a-select style="width: 230px" v-model:value="searchParam.tlevelName" placeholder="级别" :options="getLevelList">
</a-select> </a-select>
</div> </div>
<div class="select"> <div class="select">
<a-select style="width: 230px" v-model:value="searchParam.searOnTheJobStatus" placeholder="在职状态" <a-select style="width: 230px" v-model:value="searchParam.waitStatus" placeholder="在职状态"
:options="OnTheJobStatusList"> :options="OnTheJobStatusList">
</a-select> </a-select>
</div> </div>
<div class="select"> <div class="select">
<a-select style="width: 230px" v-model:value="searchParam.searchAuthenticationStatus" placeholder="认证状态" <a-select style="width: 230px" v-model:value="searchParam.certStatus" placeholder="认证状态"
:options="AuthenticationStatusList"> :options="AuthenticationStatusList">
</a-select> </a-select>
</div> </div>
<div class="select"> <div class="select">
<a-select style="width: 230px" v-model:value="searchParam.payrollPlaceName" placeholder="发薪地"> <a-select style="width: 230px" v-model:value="searchParam.salaryName" placeholder="发薪地">
<el-option v-for="item in PlaceOfPayList" :key="item.value" :label="item.value" :value="item.label" /> <el-option v-for="item in PlaceOfPayList" :key="item.value" :label="item.value" :value="item.label" />
</a-select> </a-select>
</div> </div>
<div class="select"> <div class="select">
<a-select style="width: 230px" v-model:value="searchParam.searchAccountStatus" placeholder="账号状态" <a-select style="width: 230px" v-model:value="searchParam.status" placeholder="账号状态"
:options="AccountStatusList"> :options="AccountStatusList">
</a-select> </a-select>
</div> </div>
@@ -58,8 +60,8 @@
</div> </div>
<div class="btns"> <div class="btns">
<div class="btn btn3" @click="showEHWorkModal" style="margin-right:20px"> <div class="btn btn3" @click="showEHWorkModal" style="margin-right:20px">
<div class="search"></div> <div class="daochu"></div>
<div class="btnText">导出</div> <div class="btnText" @click="handleExport">导出</div>
</div> </div>
</div> </div>
<!-- 表格 --> <!-- 表格 -->
@@ -71,8 +73,8 @@
<a-space style="display:flex ;justify-content: space-around; "> <a-space style="display:flex ;justify-content: space-around; ">
<a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button> <a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button>
<a-button type="link" @click="() => handleModify(record, String(record.courseform))">编辑</a-button> <a-button type="link" @click="() => handleModify(record, String(record.courseform))">编辑</a-button>
<a-button v-if="record.accountStatus== '0'" type="link" @click="() => handleOperate(record, String(record.courseform))">停用</a-button> <a-button v-if="record.status== '1'" type="link" @click="() => handleOperate(record, String(record.courseform))">停用</a-button>
<a-button v-if="record.accountStatus== '1'" type="link" @click="() => handleOperate(record, String(record.courseform))">启用</a-button> <a-button v-if="record.status== '2'" type="link" @click="() => handleOperate(record, String(record.courseform))">启用</a-button>
<a-button type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button> <a-button type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button>
</a-space> </a-space>
</template> </template>
@@ -83,18 +85,16 @@
</div> </div>
<div class="tableBox "> <div class="tableBox ">
<div style="float: right;"> <div style="float: right;">
<!-- <a-pagination <a-pagination
v-if="tableDataTotal > 10" v-if="tableDataTotal > 10"
:page.sync="searchParam.pageSize" :showSizeChanger="true"
:limit.synct="searchParam.pageNo" :hideOnSinglePage="true"
:pageSize="pageSize"
v-model:current="searchParam.pageNo"
:total="tableDataTotal" :total="tableDataTotal"
@pagination="tableData"
class="pagination" class="pagination"
layout="total, sizes, prev, pager, next" @change="changePagination"
/> --> />
<a-pagination v-if="tableDataTotal > 10" :page-size-options="pageSizeOptions" :showSizeChanger="true"
hideOnSinglePage="true" :pageSize="pageSize" v-model:current="pageNo" :total="tableDataTotal"
class="pagination" />
</div> </div>
</div> </div>
<!-- 弹窗组件 --> <!-- 弹窗组件 -->
@@ -106,8 +106,14 @@
src="../../assets/images/basicinfo/close22.png" src="../../assets/images/basicinfo/close22.png"
/> />
</div> </div>
<div> <div style="padding-bottom: 15px;" >
<div class="headerLeft" style="margin-left: 32px">个人详情</div> <div class="headerLeft" style="margin-left: 33px" >
<a-button @click ="particulars">个人详情</a-button>
<a-button @click ="teacherrecords" v-if="teacherdialog1 == 1" >授课记录</a-button>
<a-button @click ="promotionrecords" v-if="teacherdialog1 == 1" >晋级记录</a-button>
</div>
<!-- 个人详情 -->
<div style="border: 1px rgb(177, 177, 177) solid; margin-left: 33px; margin-right: 33px; margin-bottom: 33px;" v-if="tagsshow==='1'">
<div class="projectManage" > <div class="projectManage" >
<div class="filter"> <div class="filter">
<div class="filterItems"> <div class="filterItems">
@@ -123,11 +129,11 @@
/> />
</div> </div>
<!-- v-model:value="searchParam.name" --> <!-- v-model:value="searchParam.name" -->
<span style="display:inline-block ;width:100px ;text-align:center ">讲师姓名 :</span> <span style="display:inline-block ;width:80px ;text-align:center ">讲师姓名 :</span>
<a-input v-if="teacherdialog1 == 0" v-model:value="formParam.teacherName" style="width:200px; height: 40px; " <a-input v-if="teacherdialog1 == 0" v-model:value="formParam.name" style="width:200px; height: 40px; "
placeholder="请输入讲师姓名" allowClear showSearch> placeholder="请输入讲师姓名" allowClear showSearch>
</a-input> </a-input>
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.teacherName }}</span> <span v-if="teacherdialog1 == 1" class=display1>{{ formParam.name }}</span>
</div> </div>
<div class="select"> <div class="select">
<div style="display:inline-block ;width:5px ;text-align:center "> <div style="display:inline-block ;width:5px ;text-align:center ">
@@ -136,7 +142,7 @@
src="../../assets/images/basicinfo/asterisk.png" src="../../assets/images/basicinfo/asterisk.png"
/> />
</div> </div>
<span style="display:inline-block ;width:100px ;text-align:center ">讲师工号 :</span> <span style="display:inline-block ;width:80px ;text-align:center ">讲师工号 :</span>
<a-input v-if="teacherdialog1 == 0" disabled v-model:value="formParam.userNo" <a-input v-if="teacherdialog1 == 0" disabled v-model:value="formParam.userNo"
style="width:200px; height: 40px; " placeholder="自动带出讲师工号" allowClear showSearch> style="width:200px; height: 40px; " placeholder="自动带出讲师工号" allowClear showSearch>
</a-input> </a-input>
@@ -149,18 +155,18 @@
src="../../assets/images/basicinfo/asterisk.png" src="../../assets/images/basicinfo/asterisk.png"
/> />
</div> </div>
<span style="display:inline-block ;width:100px ;text-align:center ">讲师组织 :</span> <span style="display:inline-block ;width:80px ;text-align:center ">讲师组织 :</span>
<a-input disabled v-if="teacherdialog1 == 0" v-model:value="formParam.organizationDTO" <a-input disabled v-if="teacherdialog1 == 0" v-model:value="formParam.departId"
style="width:200px; height: 40px;" placeholder="自动带出讲师组织" allowClear showSearch> style="width:200px; height: 40px;" placeholder="自动带出讲师组织" allowClear showSearch>
</a-input> </a-input>
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.organizationDTO }}</span> <span v-if="teacherdialog1 == 1" class=display1>{{ formParam.departId }}</span>
</div> </div>
<div class="select"> <div class="select">
<span style="display:inline-block ;width:100px ;text-align:center ">初始授课时长 :</span> <span style="display:inline-block ;width:80px ;text-align:center ">初始授课时长 :</span>
<a-input v-if="teacherdialog1 == 0" v-model:value="formParam.teachingDuration" <a-input v-if="teacherdialog1 == 0" v-model:value="formParam.defaultTeachingTime"
style="width:200px; height: 40px;" placeholder="0分钟" allowClear showSearch> style="width:200px; height: 40px;" placeholder="0分钟" allowClear showSearch>
</a-input> </a-input>
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.teachingDuration }}</span> <span v-if="teacherdialog1 == 1" class=display1>{{ formParam.defaultTeachingTime }}</span>
</div> </div>
<div class="select"> <div class="select">
<div style="display:inline-block ;width:5px ;text-align:center "> <div style="display:inline-block ;width:5px ;text-align:center ">
@@ -169,21 +175,21 @@
src="../../assets/images/basicinfo/asterisk.png" src="../../assets/images/basicinfo/asterisk.png"
/> />
</div> </div>
<span style="display:inline-block ;width:100px ;text-align:center ">讲师等级 :</span> <span style="display:inline-block ;width:80px ;text-align:center ">讲师等级 :</span>
<a-select style="width:200px" v-if="teacherdialog1 == 0" v-model:value="formParam.levelName" placeholder="级别" <a-select style="width:200px" v-if="teacherdialog1 == 0" v-model:value="formParam.tlevelName" placeholder="级别"
:options="GradeList"> :options="getLevelList">
</a-select> </a-select>
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.grade }}</span> <span v-if="teacherdialog1 == 1" class=display1>{{ formParam.tlevelName }}</span>
</div> </div>
<div class="select"> <div class="select">
<span style="display:inline-block ;width:100px ;text-align:center ">认证状态</span> <span style="display:inline-block ;width:80px ;text-align:center ">认证状态</span>
<a-radio-group v-if="teacherdialog1 == 0" v-model:value="formParam.authenticationStatus" <a-radio-group v-if="teacherdialog1 == 0" v-model:value="formParam.certStatus"
style="width:200px"> style="width:200px">
<a-radio :value="0">未认证</a-radio> <a-radio :value="0">未认证</a-radio>
<a-radio :value="1">已认证</a-radio> <a-radio :value="1">已认证</a-radio>
</a-radio-group> </a-radio-group>
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.authenticationStatus }}</span> <span v-if="teacherdialog1 == 1" class=display1>{{ formParam.certStatus }}</span>
</div> </div>
<div class="select"> <div class="select">
<div style="display:inline-block ;width:5px ;text-align:center "> <div style="display:inline-block ;width:5px ;text-align:center ">
@@ -192,59 +198,60 @@
src="../../assets/images/basicinfo/asterisk.png" src="../../assets/images/basicinfo/asterisk.png"
/> />
</div> </div>
<span style="display:inline-block ;width:100px ;text-align:center ">讲师体系 :</span> <span style="display:inline-block ;width:80px ;text-align:center ">讲师体系 :</span>
<a-select style="width: 230px" v-if="teacherdialog1 == 0" v-model:value="formParam.lecturerSystem" <a-select style="width: 230px" v-if="teacherdialog1 == 0" v-model:value="formParam.tsystemName"
placeholder="请选择讲师体系" :options="LecturerSystemList"> placeholder="请选择讲师体系" :options="LecturerSystemList">
</a-select> </a-select>
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.lecturerSystem }}</span> <span v-if="teacherdialog1 == 1" class=display1>{{ formParam.tsystemName }}</span>
</div> </div>
<div class="select" v-if="teacherdialog1 == 1"> <div class="select" v-if="teacherdialog1 == 1">
<span style="display:inline-block ;width:100px ;text-align:center ">认证人 :</span> <span style="display:inline-block ;width:80px ;text-align:center ">认证人 :</span>
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.lecturerSystem }}</span> <span v-if="teacherdialog1 == 1" class=display1>{{ formParam.certifyBy }}</span>
</div> </div>
<div class="select" v-if="teacherdialog1 == 1"> <div class="select" v-if="teacherdialog1 == 1">
<span style="display:inline-block ;width:100px ;text-align:center ">总授课时长 :</span> <span style="display:inline-block ;width:80px ;text-align:center ">总授课时长 :</span>
<span class=display1>{{ formParam.teachingDuration }}</span> <span class=display1>{{ formParam.teaching }}</span>
</div> </div>
<div class="select" v-if="teacherdialog1 == 1"> <div class="select" v-if="teacherdialog1 == 1">
<span style="display:inline-block ;width:100px ;text-align:center ">认证资料 :</span> <span style="display:inline-block ;width:80px ;text-align:center ">认证资料 :</span>
<span class=display1>{{ formParam.placeOfPay }}</span> <span class=display1>{{ formParam.certification }}</span>
</div> </div>
<div class="select"> <div class="select">
<!-- <Editor/> --> <!-- <Editor/> -->
<div class="select"> <div class="select">
<span style="display:inline-block ;width:100px ; text-align:center ">讲师介绍 :</span> <span style="display:inline-block ;width:80px ; text-align:center ">讲师介绍 :</span>
</div> </div>
<Editor v-if="teacherdialog1 == 0" v-model="formParam.teacherIntrofuce" <Editor v-if="teacherdialog1 == 0" v-model="formParam.teacherIntrofuce"
style="width: 500px ;display:inline-block ; margin-top:-50px ;margin-left:100px " /> style="width: 500px ;display:inline-block ; margin-top:-50px ;margin-left:80px " />
<span v-if="teacherdialog1 == 1" style="display: block; width: 500px;">{{ formParam.one }}</span> <span v-if="teacherdialog1 == 1" style="display: block; width: 500px;">{{ formParam.description }}</span>
</div> </div>
<div class="select"> <div class="select">
<!-- <Editor/> --> <!-- <Editor/> -->
<div class="select"> <div class="select">
<span style="display:inline-block ;width:100px ; text-align:center ">工作经历 :</span> <span style="display:inline-block ;width:80px ; text-align:center ">工作经历 :</span>
</div> </div>
<Editor v-if="teacherdialog1 == 0" v-model="formParam.workHistory" <Editor v-if="teacherdialog1 == 0" v-model="formParam.workHistory"
style="width: 500px ;display:inline-block ; margin-top:-50px ;margin-left:100px " /> style="width: 500px ;display:inline-block ; margin-top:-50px ;margin-left:80px " />
<span v-if="teacherdialog1 == 1" style="display: block; width: 500px;">{{ formParam.one }}</span> <span v-if="teacherdialog1 == 1" style="display: block; width: 500px;">{{ formParam.one }}</span>
</div> </div>
<div class="select"> <div class="select">
<!-- <Editor/> --> <!-- <Editor/> -->
<div class="select"> <div class="select">
<span style="display:inline-block ;width:100px ; text-align:center ">擅长课程 :</span> <span style="display:inline-block ;width:80px ; text-align:center ">擅长课程 :</span>
</div> </div>
<Editor v-if="teacherdialog1 == 0" v-model="formParam.proficientInCourse" <Editor v-if="teacherdialog1 == 0" v-model="formParam.proficientInCourse"
style="width: 500px ;display:inline-block ; margin-top:-50px ;margin-left:100px " /> style="width: 500px ;display:inline-block ; margin-top:-50px ;margin-left:80px " />
<span v-if="teacherdialog1 == 1" style="display: block; width: 500px;">{{ formParam.one }}</span> <span v-if="teacherdialog1 == 1" style="display: block; width: 500px;">{{ formParam.one }}</span>
</div> </div>
<div class="select"> <div class="select">
<span style="display:inline-block ;width:100px ;text-align:center ">教师专长 :</span> <span style="display:inline-block ;width:80px ;text-align:center ">教师专长 :</span>
<a-select style="width: 230px" placeholder="讲师体系" v-model:value="searchParam.searOnTheJobStatus" <a-select v-if="teacherdialog1 == 0" style="width: 230px" placeholder="讲师体系" v-model:value="searchParam.searOnTheJobStatus"
:options="LecturerSystemList"> :options="LecturerSystemList">
</a-select> </a-select>
<a-select style="width: 230px" placeholder="讲师体系" v-model:value="searchParam.searOnTheJobStatus" <a-select v-if="teacherdialog1 == 0" style="width: 230px" placeholder="讲师体系" v-model:value="searchParam.searOnTheJobStatus"
:options="LecturerSystemList"> :options="LecturerSystemList">
</a-select> </a-select>
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.expertise }}</span>
</div> </div>
<div class="del_btnbox" v-if="teacherdialog1 == 0"> <div class="del_btnbox" v-if="teacherdialog1 == 0">
<a-button class="del_btn btn1" @click="cancelTeacherDialog" style="margin-right: 32px;">取消</a-button> <a-button class="del_btn btn1" @click="cancelTeacherDialog" style="margin-right: 32px;">取消</a-button>
@@ -255,10 +262,44 @@
</div> </div>
</div> </div>
</div> </div>
<!-- 授课记录 -->
<div class="projectManage" v-if="tagsshow==='2'" style="margin">
<div style="padding: 33px">
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="teacherrecordsColumns"
:data-source="teacherrecordstableData" :loading="teacherrecordsLoading" @expand="expandTable" :pagination="false">
<template #bodyCell="{ record, column }" >
</template>
</a-table>
</div>
<a-pagination
v-if="teacherrecordstableDataTotal > 10"
:showSizeChanger="true"
:hideOnSinglePage="true"
:pageSize="pageSize"
v-model:current="searchParam.pageNo"
:total="teacherrecordstableDataTotal"
class="pagination"
@change="teacherchangePagination"
/>
</div>
<!-- 晋级记录 -->
<div class="projectManage" v-if="tagsshow==='3'" style="margin">
<div style="padding: 33px">
<div style="font-size:24px;font-weight:500">晋升过程</div>
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="promotionrecordsColumns"
:data-source="promotionrecordstableData" :loading="promotionrecordsLoading" @expand="expandTable" :pagination="false">
<template #bodyCell="{ record, column }" >
</template>
</a-table>
</div>
</div>
</div>
</a-modal> </a-modal>
<!-- 删除功能弹窗 --> <!-- 删除功能弹窗 -->
<div> <div>
<a-modal v-model:visible="deleteTeacher" :footer="null" :closable="close" wrapClassName="canclestu1" <a-modal v-model:visible="deleteTeacherdialog" :footer="null" :closable="close" wrapClassName="canclestu1"
centered="true"> centered="true">
<div class="delete"> <div class="delete">
<div class="del_header"></div> <div class="del_header"></div>
@@ -268,30 +309,24 @@
<span>提示</span> <span>提示</span>
</div> </div>
<div class="body"> <div class="body">
<span v-if="handleOperate1==1">您确定要删除此讲师吗</span> <span>您确定要删除此讲师吗</span>
<span v-if="handleOperate1== 2">您确定要启用此讲师状态吗</span>
<span v-if="handleOperate1== 3" >您确定要停用此讲师状态吗</span>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn2" @click="cancelTeacherDialog" style="margin-right: 32px"> <div class="del_btn btn2" @click="cancelTeacherDialog" style="margin-right: 32px">
<div class="btnText">取消</div> <div class="btnText">取消</div>
</div> </div>
<div class="del_btn btn2" <div class="del_btn btn2"
v-if="handleOperate1 ==1"
@click="closeDeleteTeacher"> @click="closeDeleteTeacher">
<div class="btnText">确定</div> <div class="btnText">确定</div>
</div> </div>
<div class="del_btn btn2" v-if="handleOperate1 !==1" @click="closehandleOperate">
<div class="btnText">确定</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</a-modal> </a-modal>
</div> </div>
<!-- 修改状态功能弹窗 --> <!-- 修改状态功能弹窗 -->
<!-- <div> <div>
<a-modal v-model:visible="deleteTeacher" :footer="null" :closable="close" wrapClassName="canclestu1" <a-modal v-model:visible="editTeacher" :footer="null" :closable="close" wrapClassName="canclestu1"
centered="true"> centered="true">
<div class="delete"> <div class="delete">
<div class="del_header"></div> <div class="del_header"></div>
@@ -302,32 +337,27 @@
</div> </div>
<div class="body"> <div class="body">
<span v-if="handleOperate1== 2">您确定要启用此讲师状态吗</span> <span v-if="handleOperate1== 2">您确定要启用此讲师状态吗</span>
<span v-if="handleOperate1== 3" >您确定要停用此讲师状态吗</span> <span v-if="handleOperate1== 1" >您确定要停用此讲师状态吗</span>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn2" @click="cancelTeacherDialog" style="margin-right: 32px"> <div class="del_btn btn2" @click="cancelTeacherDialog" style="margin-right: 32px">
<div class="btnText">取消</div> <div class="btnText">取消</div>
</div> </div>
<div class="del_btn btn2" <div class="del_btn btn2" @click="closehandleOperate">
v-if="handleOperate1 ==1"
@click="closeDeleteTeacher">
<div class="btnText">确定</div>
</div>
<div class="del_btn btn2" v-if="handleOperate1 !==1" @click="closehandleOperate">
<div class="btnText">确定</div> <div class="btnText">确定</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</a-modal> </a-modal>
</div> --> </div>
</div> </div>
</template> </template>
<script lang="jsx"> <script lang="jsx">
import { reactive, toRefs, ref } from "vue"; import { reactive, toRefs, ref } from "vue";
import Editor from "@/components/project/Editor"; import Editor from "@/components/project/Editor";
import {getTeacherSystemList , getTeacherList,getTeacherPayRollPriceList,insertTeacher,updateInTeacher,getLookTeacherSystem, updateTeacherState} from "../../api/indexPeojiectManage"; import {getTeacherSystemList , getTeacherList,getTeacherPayRollPriceList, getLevel,insertTeacher,deleteTeacher,updateInTeacher,getTeacherById, updateTeacherState,getTeacherCourseList} from "../../api/indexPeojiectManage";
// import {getProjSt} from "../../api/indexProjStu"; // import {getProjSt} from "../../api/indexProjStu";
// import AddTeacher from "../../components/drawers/project/AddTeacher" // import AddTeacher from "../../components/drawers/project/AddTeacher"
export default { export default {
@@ -338,16 +368,25 @@ export default {
}, },
setup() { setup() {
const state = reactive({ const state = reactive({
promotionrecordsLoading:false , //晋级记录遮罩层
tableLoading:false,
tagsshow:"1",
PlaceOfPayList:[], PlaceOfPayList:[],
LecturerSystemList:[], LecturerSystemList:[],
delTeacherId:null, delTeacherId:null, //删除id确认
deleteTeacher: false, editTeacherid:null,//修改状态id确认
userNoid:null, //内部讲师详情工号确认
lookTeacherId:null, //内部讲师详情id确认
deleteTeacherdialog: false, //删除弹窗
editTeacher:false , //修改状态弹窗
handleOperate1:null, //修改状态弹窗内容
teacherdialog1: null, teacherdialog1: null,
teacherdialog: false, //控制讲师弹窗 teacherdialog: false, //控制讲师弹窗
teacherdialogtitle: '',//讲师弹框title内容 teacherdialogtitle: '',//讲师弹框title内容
pageSizeOptions: ['10', '20', '30', '50'], //下拉选择每页显示多少条 pageSizeOptions: ['10', '20', '30', '50'], //下拉选择每页显示多少条
pageSize: 10, pageSize: 10,
tableDataTotal: 50, tableDataTotal: -1,//table列表总条数
teacherrecordstableDataTotal:-1,//授课记录列表总条数
formParam: { formParam: {
authenticationStatus: 1 //认证状态 authenticationStatus: 1 //认证状态
}, },
@@ -359,6 +398,7 @@ export default {
pageNo: "1", pageNo: "1",
pageSize: "10" pageSize: "10"
}, },
activeName:'first'
}) })
const LecturerSystemList = ref([ const LecturerSystemList = ref([
// { value: 0, systemName: "讲师体系" }, // { value: 0, systemName: "讲师体系" },
@@ -366,15 +406,14 @@ export default {
//获取讲师体系列表 //获取讲师体系列表
const LecturerSystemLista =() => { const LecturerSystemLista =() => {
// console.log('点击了LecturerSystemLista') // console.log('点击了LecturerSystemLista')
let obja = {'teacherType' :"0"} getTeacherSystemList().then((res)=>{
getTeacherSystemList(obja).then((res)=>{
if (res.data.code === 200) { if (res.data.code === 200) {
let arr = res.data.data; let arr = res.data.data;
let array = LecturerSystemList.value; let array = LecturerSystemList.value;
arr.map((value) => { arr.map((value) => {
let obj = { let obj = {
value: value.kid, value: value.id,
label: value.systemName, label: value.name,
}; };
array.push(obj); array.push(obj);
}); });
@@ -383,13 +422,28 @@ export default {
console.log("获取讲师",LecturerSystemList); console.log("获取讲师",LecturerSystemList);
}) })
} }
//获取内部讲师级别
LecturerSystemLista() LecturerSystemLista()
const GradeList = ref([ const getLevelList = ref([
{ value: 0, label: "未定级" }, // { value: 0, label: "未定级" },
{ value: 1, label: "1级" },
{ value: 2, label: "2级" },
{ value: 5, label: "3级" },
]) ])
const getLevelLista =() => {
getLevel().then((res)=>{
if (res.data.code === 200) {
let arr = res.data.data;
let array = getLevelList.value;
arr.map((value) => {
let obj = {
value: value.id,
label: value.name,
};
array.push(obj);
});
getLevelList.value = array;
}
})
}
getLevelLista()
const OnTheJobStatusList = ref([ const OnTheJobStatusList = ref([
{ value: 0, label: "在职" }, { value: 0, label: "在职" },
{ value: 1, label: "离职" }, { value: 1, label: "离职" },
@@ -402,16 +456,15 @@ export default {
// { value: 0, label: "发薪地B1" }, // { value: 0, label: "发薪地B1" },
]) ])
//获取讲师发薪地列表 //获取讲师发薪地列表
const PlaceOfPayLista =(obj) => { const PlaceOfPayLista =() => {
console.log('点击了getTeacherPayRollPriceList')
getTeacherPayRollPriceList().then((res)=>{ getTeacherPayRollPriceList().then((res)=>{
if (res.data.code === 200) { if (res.data.code === 200) {
let arr = res.data.data; let arr = res.data.data;
let array = PlaceOfPayList.value; let array = PlaceOfPayList.value;
arr.map((value) => { arr.map((value) => {
let obj = { let obj = {
value: value.boeUserDTO.payrollPlaceId, value: value.payrollPlaceId,
label: value.boeUserDTO.payrollPlaceName, label: value.payrollPlaceName,
}; };
array.push(obj); array.push(obj);
}); });
@@ -440,8 +493,8 @@ export default {
}, },
{ {
title: '工号 ', title: '工号 ',
dataIndex: 'workNum', dataIndex: 'userNo',
key: 'workNum', key: 'userNo',
elipsis: true, elipsis: true,
width: 120, width: 120,
}, },
@@ -489,8 +542,8 @@ export default {
}, },
{ {
title: '发薪地 ', title: '发薪地 ',
dataIndex: 'salaryName', dataIndex: 'payrollPlaceName',
key: 'salaryName', key: 'payrollPlaceName',
elipsis: true, elipsis: true,
width: 120, width: 120,
}, },
@@ -541,19 +594,19 @@ export default {
}, },
{ {
title: '账号状态 ', title: '账号状态 ',
dataIndex: 'certStatus', dataIndex: 'status',
key: 'certStatus', key: 'status',
elipsis: true, elipsis: true,
width: 120, width: 120,
customRender: (value) => { customRender: (value) => {
return ( return (
<div> <div>
{value.record.certStatus == 0 || value.record.certStatus == 1|| value.record.certStatus == 2 {value.record.status == 0 || value.record.status == 1|| value.record.status == 2
? { ? {
'0': "临时", '0': "临时",
'1': "启用", '1': "启用",
'2': "停用" '2': "停用"
}[value.record.certStatus + ""] || "" }[value.record.status + ""] || ""
: "-"} : "-"}
</div> </div>
) )
@@ -586,6 +639,9 @@ export default {
]) ])
// 搜索 // 搜索
const searchSubmit = () => { const searchSubmit = () => {
// getLevelLista()
// LecturerSystemLista()
// PlaceOfPayLista()
getTableDate(); getTableDate();
}; };
//重置 //重置
@@ -595,11 +651,14 @@ export default {
}; };
// List接口数据 // List接口数据
const getTableDate = (obj) => { const getTableDate = (obj) => {
state.tableLoading=true
state.loading = true; state.loading = true;
let objA = {...state.searchParam}; let objA = {...state.searchParam};
getTeacherList(objA) getTeacherList(objA)
.then((res) => { .then((res) => {
tableData.value = res.data.data tableData.value = res.data.data.records
state.tableDataTotal = Number(res.data.data.total);
state.tableLoading=false
// console.log("获取讲师tableDatateacherName", tableData); // console.log("获取讲师tableDatateacherName", tableData);
}) })
}; };
@@ -628,7 +687,11 @@ export default {
// // 翻页 // // 翻页
const changePagination = (page) => { const changePagination = (page) => {
state.searchParam.pageNo = page; state.searchParam.pageNo = page;
// getTableDate(); getTableDate();
};
const teacherchangePagination = (page) => {
state.searchParam.pageNo = page;
getteacherrecordstableData();
}; };
// 新增讲师 // 新增讲师
const addTeacher = () => { const addTeacher = () => {
@@ -677,45 +740,47 @@ export default {
} }
//删除弹窗 //删除弹窗
const deleteModal = (record) => { const deleteModal = (record) => {
state.handleOperate1 = 1 state.deleteTeacherdialog = true
// state.handleOperate1= null
state.deleteTeacher = true
state.delTeacherId = record.id state.delTeacherId = record.id
}; };
//启用停用窗口 //修改状态窗口
const handleOperate = (record) => { const handleOperate = (record) => {
if( record.accountStatus == '1'){ if( record.status == 1){
state.handleOperate1= 2 state.handleOperate1 = record.status
} }
if( record.accountStatus == '0'){ if( record.status == 2){
state.handleOperate1= 3 state.handleOperate1 =record.status
} }
state.deleteTeacher = true state.editTeacherid =record.id
state.editTeacher = true
}; };
//确认删除 //确认删除
const closeDeleteTeacher=()=>{ const closeDeleteTeacher=()=>{
state.deleteTeacher = false let ids ={
let id ={ id : state.delTeacherId
departId: state.delTeacherId
} }
console.log(id) console.log(ids)
//调用删除接口 //调用删除接口
deleteTeacher(id).then((res)=>{ deleteTeacher(ids).then((res)=>{
if(res.data.code == 200 ){ if(res.data.code == 200 ){
message.success("删除成功"); // message.success("删除成功");
state.deleteTeacherdialog = false
getTableDate(); getTableDate();
} }
}) })
} }
//确认启用停用 //确认启用停用
const closehandleOperate= ()=>{ const closehandleOperate= ()=>{
state.deleteTeacher = false
//调用接口 //调用接口
//updateTeacherState({"userId":"000001","status":"1"}) let ids ={
// .then((res) => { id : state.editTeacherid
// essage.success("操作成功"); }
// getTableDate(); console.log(ids)
// }) updateTeacherState(ids).then((res) => {
// message.success("操作成功");
state.editTeacher = false
getTableDate();
})
} }
//取消按钮 清空输入的数据 //取消按钮 清空输入的数据
const cancelTeacherDialog = () => { const cancelTeacherDialog = () => {
@@ -724,7 +789,9 @@ export default {
state.teacherdialog = false state.teacherdialog = false
cancel() cancel()
} }
state.deleteTeacher = false state.deleteTeacherdialog = false
state.editTeacher = false
state.tagsshow= 1
}; };
//清空数据 //清空数据
@@ -757,32 +824,209 @@ export default {
state.teacherdialog1 = 1 state.teacherdialog1 = 1
state.teacherdialog = true; state.teacherdialog = true;
state.teacherdialogtitle = '查看详情' state.teacherdialogtitle = '查看详情'
state.formParam.name = record.name; state.userNoid= record.userNo
state.formParam.userNo = record.userNo; state.lookTeacherId= record.id
state.formParam.organizationDTO = record.organizationDTO;
state.formParam.teachingDuration = record.teachingDuration;
state.formParam.grade = record.grade;
state.formParam.lecturerSystem = record.lecturerSystem;
state.formParam.authenticationStatus = record.authenticationStatus;
// alert(record.grade) // alert(record.grade)
// TeacherSystem() TeacherSystem()
} }
//内部讲师详情 //内部讲师详情
const TeacherSystem=(record)=>{ const TeacherSystem=()=>{
let ida={Id : record.id } let ids={userNo : state.userNoid }
getLookTeacherSystem(ida).then((res) => { getTeacherById(ids).then((res) => {
console.log("内部讲师详情", res.data); console.log("内部讲师详情", res.data);
state.formParam= res.data state.formParam= res.data.data
}) })
.catch((err) => { .catch((err) => {
console.log("内部讲师详情", err); console.log("内部讲师详情", err);
}); });
} }
// tab 标签切换
const particulars=()=>{
state.tagsshow= '1'
console.log(state.tagsshow)
}
const teacherrecords=()=>{
state.tagsshow= '2'
getteacherrecordstableData ()
console.log(state.tagsshow)
}
const promotionrecords=()=>{
console.log(state.tagsshow)
state.tagsshow= '3'
}
//授课记录列表
const teacherrecordsColumns = ref ([
{
title: '课程编号',
dataIndex: 'id',
key: 'id',
elipsis: true,
width: 120,
},
{
title: '课程名称',
dataIndex: 'name',
key: 'name',
elipsis: true,
width: 120,
},
{
title: '课程日期',
dataIndex: 'beginTime',
key: 'beginTime',
elipsis: true,
width: 120,
},
{
title: '内容分类',
dataIndex: 'nrfl',
key: 'nrfl',
elipsis: true,
width: 120,
},
{
title: '课程类型',
dataIndex: 'type',
key: 'type',
elipsis: true,
width: 120,
customRender: (value) => {
return (
<div>
{value.record.type == 1 || value.record.type == 2||record.type == 3
? {
"1": "项目开课",
"2": "路径开课",
"3": "面授开课",
}[value.record.type + ""] || ""
: "-"}
</div>
)
}
},
{
title: '学习总人数',
dataIndex: 'xxzrs',
key: 'xxzrs',
elipsis: true,
width: 120,
},
{
title: '授课时长',
dataIndex: 'duration',
key: 'duration',
elipsis: true,
width: 120,
},
{
title: '评分',
dataIndex: 'score ',
key: 'score ',
elipsis: true,
width: 120,
},
{
title: '开课状态',
dataIndex: 'status ',
key: 'status ',
elipsis: true,
width: 120,
customRender: (value) => {
return (
<div>
{value.record.status == 0 || value.record.status == 1
? {
"0": "未开课",
"1": "已开课",
}[value.record.status + ""] || ""
: "-"}
</div>
)
}
}
])
//授课记录列表数据
const teacherrecordstableData = ref([
])
const getteacherrecordstableData = () => {
state.teacherrecordsLoading=true
state.loading = true;
// let ids={id: state.lookTeacherId ,pageNo: "1", pageSize: "10" }
let ids=
{id: "965341999643234304",
pageNo: "1",
pageSize: "10"}
// api接口
getTeacherCourseList(ids).then((res) => {
teacherrecordstableData.value = res.data.data.records
state.teacherrecordstableDataTotal = Number(res.data.data.total);
state.teacherrecordsLoading=false
})
};
//晋级记录列表
const promotionrecordsColumns = ref ([
{
title: '变更时间',
dataIndex: 'time',
key: 'time',
elipsis: true,
width: 120,
},
{
title: '变更方式',
dataIndex: 'bgfs',
key: 'bgfs',
elipsis: true,
width: 120,
},
{
title: '变更结果',
dataIndex: 'bgjg',
key: 'bgjg',
elipsis: true,
width: 120,
},
{
title: '操作人',
dataIndex: 'czr',
key: 'czr',
elipsis: true,
width: 120,
},
])
//晋级记录列表数据
const promotionrecordstableData = ref([
{
time:'变更时间',
bgfs: '变更方式',
bgjg:'变更结果',
czr: '操作人'
},
])
// const getpromotionrecordstableData = () => {
// state.promotionrecordsLoading=true
// state.loading = true;
// let ids={userNo : state.userNoid }
// // api接口
// getTeacherList(ids).then((res) => {
// tableData.value = res.data.data.records
// state.promotionrecordsLoading=false
// })
// };
// getpromotionrecordstableData()
//导出功能
// const handleExport = ()=>{
// this.download('lesson_records/export', {
// ...state.searchParam
// }, `project_${new Date().getTime()}.xlsx` )
// }
return { return {
...toRefs(state), ...toRefs(state),
// handleExport,
LecturerSystemList, LecturerSystemList,
GradeList, getLevelList,
OnTheJobStatusList, OnTheJobStatusList,
getLevelLista,
PlaceOfPayLista, PlaceOfPayLista,
AuthenticationStatusList, AuthenticationStatusList,
PlaceOfPayList, PlaceOfPayList,
@@ -806,12 +1050,30 @@ export default {
getTableDate, //list接口数据调用 getTableDate, //list接口数据调用
// getStu // getStu
LecturerSystemLista, LecturerSystemLista,
TeacherSystem TeacherSystem,
particulars,
teacherrecords,
promotionrecords,
teacherrecordstableData,
teacherrecordsColumns,
getteacherrecordstableData ,
teacherchangePagination,
promotionrecordsColumns,
promotionrecordstableData,
// getpromotionrecordstableData
} }
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
//导出按钮icon
.daochu {
width: 16px;
height: 18px;
background-image: url("../../assets/images/coursewareManage/export1.png");
}
//弹窗内详情样式 //弹窗内详情样式
.display1 { .display1 {
display: inline-block; display: inline-block;