mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-08 02:16:45 +08:00
讲师列表页面调整
This commit is contained in:
8
.env
8
.env
@@ -2,6 +2,7 @@
|
||||
VUE_APP_BASE=/manage
|
||||
# api项目基础url
|
||||
VUE_APP_BASE_API=/manageApi
|
||||
VUE_APP_BASE_API1=https://pretest.zcwytd.com/
|
||||
# systemApi
|
||||
VUE_APP_SYS_API=/systemapi
|
||||
# activityApi
|
||||
@@ -13,11 +14,12 @@ VUE_APP_TOOL_FOLDERID=1147577145918910464
|
||||
#文件路径
|
||||
VUE_APP_FILE_PATH=/upload/
|
||||
# 代理url 本地调试,不可以用在其他地方
|
||||
VUE_APP_PROXY_URL=//u-pre.boe.com/manageApi
|
||||
VUE_APP_PROXY_URL=//47.97.44.123:30001/
|
||||
# VUE APP PROXY URL=//u-pre.boe.com/manageApi
|
||||
# 登录url
|
||||
VUE_APP_LOGIN_URL=//u-pre.boe.com/web?returnUrl=
|
||||
VUE_APP_LOGIN_URL=//pretest.zcwytd.com/web?returnUrl=
|
||||
# boe域名
|
||||
VUE_APP_BOE_API_URL=//u-pre.boe.com
|
||||
VUE_APP_BOE_API_URL=//47.97.44.123:30001
|
||||
#打包路径
|
||||
VUE_APP_OUTPUT_DIR=./dist
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ export const getTeacherSystemList = (obj) => http.post('/admin/teacher/getSystem
|
||||
// 获取内部讲师列表
|
||||
export const getTeacherList = (obj) => http.post('/admin/teacher/getInTeacherList', obj)
|
||||
//获取内部讲师发薪地
|
||||
export const getTeacherPayRollPriceList = (obj) => http.post('/admin/teacher/getPayRollPlace', obj)
|
||||
export const getPayRollPlace = (obj) => http.post('/admin/teacher/getPayRollPlace', obj)
|
||||
//获取内部讲师级别
|
||||
export const getLevel = (obj) => http.post('/admin/teacher/getLevel', obj)
|
||||
//新增内部讲师
|
||||
@@ -21,7 +21,7 @@ export const insertTeacher = (obj) => http.post('/admin/teacher/insertInTeacher'
|
||||
//修改 内部讲师
|
||||
export const updateInTeacher = (obj) => http.post('/admin/teacher/updateInTeacher' ,obj)
|
||||
//内部讲师详情
|
||||
export const getTeacherById= (obj) => http.post(`/admin/teacher/getTeacherById?userNo=${obj}`)
|
||||
export const getTeacherById= (obj) => http.post(`/admin/teacher/getTeacherById?id=${obj}`)
|
||||
//删除内部讲师
|
||||
export const deleteInTeacher= (obj) => http.post(`/admin/teacher/deleteInTeacher?id=${obj}`)
|
||||
//修改内部讲师状态
|
||||
|
||||
@@ -613,69 +613,35 @@
|
||||
<a-menu-item key="sub24-1">
|
||||
<span
|
||||
:class="{
|
||||
circleActive: selectedKeys[0] === 'sub24-1' ? true : false,
|
||||
circle: selectedKeys[0] === 'sub24-1' ? false : true,
|
||||
circleActive: selectedKeys[0] === 'sub27-1' ? true : false,
|
||||
circle: selectedKeys[0] === 'sub27-1' ? false : true,
|
||||
}"
|
||||
></span>
|
||||
<router-link to="/insidelecturer">内部讲师</router-link>
|
||||
<router-link to="/lecturerList">讲师列表</router-link>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="sub24-2">
|
||||
<span
|
||||
:class="{
|
||||
circleActive: selectedKeys[0] === 'sub24-2' ? true : false,
|
||||
circle: selectedKeys[0] === 'sub24-2' ? false : true,
|
||||
circleActive: selectedKeys[0] === 'sub27-2' ? true : false,
|
||||
circle: selectedKeys[0] === 'sub27-2' ? false : true,
|
||||
}"
|
||||
></span>
|
||||
<router-link to="/externallecturer">外部讲师</router-link>
|
||||
<router-link to="/teachingRecord">授课记录</router-link>
|
||||
</a-menu-item>
|
||||
</a-sub-menu>
|
||||
<a-sub-menu key="sub25" @titleClick="titleClick">
|
||||
<template #icon>
|
||||
<div class="imgBox">
|
||||
<img style="width: 15px; height: 15px" src="../assets/images/navleft/project.png" />
|
||||
</div>
|
||||
</template>
|
||||
<template #title>授课记录</template>
|
||||
<a-menu-item key="sub25-1">
|
||||
<a-menu-item key="sub24-3">
|
||||
<span
|
||||
:class="{
|
||||
circleActive: selectedKeys[0] === 'sub25-1' ? true : false,
|
||||
circle: selectedKeys[0] === 'sub25-1' ? false : true,
|
||||
}"
|
||||
></span>
|
||||
<router-link to="/insideteaching">内部授课</router-link>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="sub25-2">
|
||||
<span
|
||||
:class="{
|
||||
circleActive: selectedKeys[0] === 'sub25-2' ? true : false,
|
||||
circle: selectedKeys[0] === 'sub25-2' ? false : true,
|
||||
}"
|
||||
></span>
|
||||
<router-link to="/externalteaching">外部授课</router-link>
|
||||
</a-menu-item>
|
||||
</a-sub-menu>
|
||||
<a-sub-menu key="sub26" @titleClick="titleClick">
|
||||
<template #icon>
|
||||
<div class="imgBox">
|
||||
<img style="width: 15px; height: 15px" src="../assets/images/navleft/project.png" />
|
||||
</div>
|
||||
</template>
|
||||
<template #title>讲师费</template>
|
||||
<a-menu-item key="sub26-1">
|
||||
<span
|
||||
:class="{
|
||||
circleActive: selectedKeys[0] === 'sub26-1' ? true : false,
|
||||
circle: selectedKeys[0] === 'sub26-1' ? false : true,
|
||||
circleActive: selectedKeys[0] === 'sub27-3' ? true : false,
|
||||
circle: selectedKeys[0] === 'sub27-3' ? false : true,
|
||||
}"
|
||||
></span>
|
||||
<router-link to="/lecturerfeemanagement">讲师费管理</router-link>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="sub26-2">
|
||||
<a-menu-item key="sub24-4">
|
||||
<span
|
||||
:class="{
|
||||
circleActive: selectedKeys[0] === 'sub26-2' ? true : false,
|
||||
circle: selectedKeys[0] === 'sub26-2' ? false : true,
|
||||
circleActive: selectedKeys[0] === 'sub27-4' ? true : false,
|
||||
circle: selectedKeys[0] === 'sub27-4' ? false : true,
|
||||
}"
|
||||
></span>
|
||||
<router-link to="/lecturerfeestatistics">讲师费统计</router-link>
|
||||
@@ -696,20 +662,18 @@
|
||||
mode="inline"
|
||||
@click="handleClick"
|
||||
>
|
||||
|
||||
<a-menu-item key="sub24" @titleClick="titleClick">
|
||||
<router-link to="/insidelecturer">内部讲师</router-link>
|
||||
<router-link to="/lecturerList">讲师列表</router-link>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="sub25" @titleClick="titleClick">
|
||||
<router-link to="/externallecturer">外部讲师</router-link>
|
||||
<router-link to="/teachingRecord">授课记录</router-link>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="sub26" @titleClick="titleClick">
|
||||
<router-link to="/insideteaching">内部授课</router-link>
|
||||
<router-link to="/lecturerfeemanagement">讲师费管理</router-link>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="sub27" @titleClick="titleClick">
|
||||
<router-link to="/externalteaching">外部授课</router-link>
|
||||
<router-link to="/lecturerfeestatistics">讲师费统计</router-link>
|
||||
</a-menu-item>
|
||||
|
||||
<a-menu-item key="sub10" @titleClick="titleClick">
|
||||
<router-link to="/coursereviewedn">审核</router-link>
|
||||
</a-menu-item>
|
||||
|
||||
@@ -7,10 +7,11 @@
|
||||
-->
|
||||
<template>
|
||||
<div style="border: 1px solid #ccc; width: 100%; ">
|
||||
<Toolbar style="border-bottom: 1px solid #ccc ;font-size:4px" :editor="editorRef" :defaultConfig="toolbarConfig" mode="default" />
|
||||
<Editor style="height: 100px; overflow-y: hidden" v-model="valueHtml" :defaultConfig="editorConfig" mode="default" @onCreated="handleCreated" @customPaste="customPaste" />
|
||||
<Toolbar style="border-bottom: 1px solid #ccc ;font-size:4px" :editor="editorRef" :defaultConfig="toolbarConfig" mode="simple" />
|
||||
<Editor style="height: 100px; overflow-y: hidden" v-model="valueHtml" :defaultConfig="editorConfig" mode="simple" @onCreated="handleCreated" @customPaste="customPaste" />
|
||||
<span>{{ }}</span>
|
||||
</div>
|
||||
<!-- <el-button style="margin: 0 auto" @click="getEditorHTML">获取富文本HTML内容</el-button> -->
|
||||
|
||||
</template>
|
||||
<script setup>
|
||||
// 富文本编辑器文档链接: https://www.wangeditor.com/v5/getting-started.html
|
||||
@@ -31,12 +32,22 @@
|
||||
// 自定义图片上传
|
||||
editorConfig.value.MENU_CONF['uploadImage'] = {
|
||||
async customUpload(file, insertFn) {
|
||||
console.log('上传图片', file);
|
||||
// 将上传的file图片转换为base64
|
||||
const base64 = URL.createObjectURL(file);
|
||||
|
||||
// 这里的file为上传的图片对象,insertFn传入
|
||||
insertFn(base64, 'img');
|
||||
const formData = new FormData();
|
||||
formData.append("file", file);
|
||||
fileUp(formData).then((res) => {
|
||||
if (res.data.code === 200) {
|
||||
// 最后插入图片 url alt href
|
||||
console.log(
|
||||
"上传图片结果",
|
||||
process.env.VUE_APP_FILE_PATH + res.data.data
|
||||
);
|
||||
insertFn(
|
||||
process.env.VUE_APP_FILE_PATH + res.data.data,
|
||||
file.name,
|
||||
res.data.data
|
||||
);
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
@@ -63,12 +74,6 @@
|
||||
callback(false);
|
||||
}
|
||||
};
|
||||
|
||||
// // 获取富文本html内容
|
||||
// const getEditorHTML = () => {
|
||||
// console.log(editorRef.value.getHtml());
|
||||
// };
|
||||
|
||||
// 组件销毁时,也及时销毁编辑器
|
||||
onBeforeUnmount(() => {
|
||||
const editor = editorRef.value;
|
||||
|
||||
@@ -69,112 +69,112 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- 弹窗组件 -->
|
||||
<a-modal :visible="teacherdialog" @ok="closeModal2" :footer="null" :closable="false"
|
||||
wrapClassName="CreatePath" >
|
||||
<div class="out">
|
||||
<div class="top">
|
||||
<div class="topc">{{teacherdialogtitle }}</div>
|
||||
<div @click="cancelTeacherDialog" style="margin-left: 650px; cursor: pointer">
|
||||
<img
|
||||
style="width: 20px; height: 20px"
|
||||
src="../../assets/images/basicinfo/close.png"
|
||||
<a-drawer v-model:visible="teacherdialog" placement="right" @closa="cancelTeacherDialog" :maskClosable="true"
|
||||
width="60%" :title="teacherdialogtitle">
|
||||
<a-form :model="formParam" :rules="rules" layout="vertical">
|
||||
<!-- 基本信息 -->
|
||||
<a-row>
|
||||
<a-col :span="24">
|
||||
<span class="line"></span><span>基本信息</span>
|
||||
</a-col>
|
||||
<!-- 头像 -->
|
||||
</a-row>
|
||||
<a-row :gutter="16">
|
||||
<a-col :span="24">
|
||||
<a-upload
|
||||
v-model:file-list="fileList"
|
||||
name="avatar"
|
||||
list-type="picture-card"
|
||||
class="avatar-uploader"
|
||||
:show-upload-list="false"
|
||||
action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
|
||||
:before-upload="beforeUpload"
|
||||
@change="handleChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding-bottom: 15px;">
|
||||
<div class="headerLeft" style="margin-left: 33px">
|
||||
<a-button @click="particulars" v-if="teacherdialog1 == 1">个人详情</a-button>
|
||||
<a-button @click="teacherrecords" v-if="teacherdialog1 == 1">授课记录</a-button>
|
||||
</div>
|
||||
<!-- 个人详情 -->
|
||||
<div style=" margin-left: 33px; margin-right: 33px; margin-bottom: 33px;"
|
||||
v-show="tagsshow == 1">
|
||||
<div class="ExternalLecturer">
|
||||
<div class="filter">
|
||||
<div class="filterItems">
|
||||
<!-- <div class="select">
|
||||
<span style="display:inline-block ;width:100px ;text-align:center ">头像 :</span>
|
||||
|
||||
</div> -->
|
||||
<div class="select">
|
||||
<div style="display:inline-block ;width:5px ;text-align:center ">
|
||||
<img style="width: 5px; height: 5px" src="../../assets/images/basicinfo/asterisk.png" />
|
||||
</div>
|
||||
<!-- v-model:value="searchParam.name" -->
|
||||
<span style="display:inline-block ;width:80px ;text-align:center ">讲师姓名 :</span>
|
||||
<a-input v-if="teacherdialog1 == 0" v-model:value="formParam.name" style="width:200px; height: 40px; "
|
||||
placeholder="请输入讲师姓名" allowClear showSearch>
|
||||
</a-input>
|
||||
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.name }}</span>
|
||||
</div>
|
||||
<div class="select">
|
||||
<div style="display:inline-block ;width:5px ;text-align:center ">
|
||||
<img style="width: 5px; height: 5px" src="../../assets/images/basicinfo/asterisk.png" />
|
||||
</div>
|
||||
<span style="display:inline-block ;width:80px ;text-align:center ">手机号码 :</span>
|
||||
<a-input v-if="teacherdialog1 == 0" v-model:value="formParam.mobile" style="width:200px; height: 40px; "
|
||||
placeholder="请输入11位手机号码" allowClear showSearch>
|
||||
</a-input>
|
||||
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.mobile }}</span>
|
||||
</div>
|
||||
<div class="select">
|
||||
<div style="display:inline-block ;width:5px ;text-align:center ">
|
||||
<img style="width: 5px; height: 5px" src="../../assets/images/basicinfo/asterisk.png" />
|
||||
</div>
|
||||
<span style="display:inline-block ;width:80px ;text-align:center ">邮箱:</span>
|
||||
<a-input v-if="teacherdialog1 == 0" v-model:value="formParam.email" style="width:200px; height: 40px;"
|
||||
placeholder="" allowClear showSearch>
|
||||
</a-input>
|
||||
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.email }}</span>
|
||||
</div>
|
||||
<div class="select">
|
||||
<!-- <Editor/> -->
|
||||
<div class="select">
|
||||
<span style="display:inline-block ;width:80px ; text-align:center ">讲师介绍 :</span>
|
||||
</div>
|
||||
<Editor v-if="teacherdialog1 == 0" v-model="formParam.description"
|
||||
style="width: 500px ;display:inline-block ; margin-top:-50px ;margin-left:80px " />
|
||||
<span v-if="teacherdialog1 == 1" style="display: block; width: 500px;">{{ formParam.description
|
||||
}}</span>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!-- 讲师名称 ,手机号码-->
|
||||
<a-row :gutter="16">
|
||||
<a-col :span="12">
|
||||
<a-form-item label="讲师名称" name="name">
|
||||
<a-tree-select v-model:value="formParam.name" tree-data-simple-mode style=" width:276px ;"
|
||||
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" :tree-data="treeData" placeholder="请输入讲师名称" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="手机号码" name="mobile">
|
||||
<a-input v-model:value="formParam.mobile" style="width:276px; height: 40px; "
|
||||
placeholder="请输入手机号码" allowClear showSearch>
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!-- 供应商 ,邮箱-->
|
||||
<a-row :gutter="16">
|
||||
<a-col :span="12">
|
||||
<a-form-item label="供应商" name="levelId">
|
||||
<a-input v-model:value="formParam.userNo" style="width:276px; height: 40px; "
|
||||
placeholder="请输入供应商" allowClear showSearch>
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="讲师邮箱" name="email">
|
||||
<a-input v-model:value="formParam.email" style="width:276px; height: 40px; "
|
||||
placeholder="请输入讲师邮箱" allowClear showSearch>
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
<!-- 其他信息 -->
|
||||
<a-row>
|
||||
<a-col :span="24">
|
||||
<span class="line"></span><span>其他信息</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!-- 讲师介绍 -->
|
||||
<a-row :gutter="16">
|
||||
<a-col :span="24">
|
||||
<a-form-item label="讲师介绍">
|
||||
<Editor v-model="formParam.description "/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!-- 备注 -->
|
||||
<div style="width: 834px;height: 1px;"></div>
|
||||
<span style="display:inline-block ;width:115px ;text-align:center ">备注 :</span>
|
||||
<a-row :gutter="16">
|
||||
<a-col :span="24">
|
||||
<a-form-item label="备注">
|
||||
<a-textarea v-if="teacherdialog1 == 0"
|
||||
v-model:value="formParam.remark"
|
||||
showCount
|
||||
:maxlength="200"
|
||||
style="width: 500px; height: 100px; border-radius: 8px"
|
||||
style="width: 100%; height: 100px; border-radius: 8px"
|
||||
placeholder="请输入"/>
|
||||
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.remark }}</span>
|
||||
|
||||
<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 btn2" @click="createTeacherDialog" :loading="buttonLoading">保存
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
<!-- 交互按钮 -->
|
||||
<div
|
||||
:style="{
|
||||
position: 'absolute',
|
||||
right: 0,
|
||||
bottom: 0,
|
||||
width: '100%',
|
||||
borderTop: '1px solid #e9e9e9',
|
||||
padding: '10px 16px',
|
||||
background: '#fff',
|
||||
textAlign: 'right',
|
||||
zIndex: 1,
|
||||
} "
|
||||
>
|
||||
<a-button style="margin-right: 8px" @click="cancelTeacherDialog" >取消</a-button>
|
||||
<a-button type="primary" @click="createTeacherDialog" :loading="buttonLoading">保存
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 授课记录 -->
|
||||
<div class="ExternalLecturer" v-show="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>
|
||||
</div>
|
||||
</a-modal>
|
||||
</a-drawer>
|
||||
|
||||
<!-- 删除功能弹窗 -->
|
||||
<div>
|
||||
<a-modal v-model:visible="deleteTeacherdialog" :footer="null" :closable="close" wrapClassName="canclestu1"
|
||||
@@ -1217,4 +1217,8 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
//小竖线
|
||||
.line{
|
||||
float:left; width: 3px; height: 25px; background: #4ea6ff;border-radius: 30%; margin-right: 5px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -252,7 +252,7 @@
|
||||
</div>
|
||||
</a-modal>
|
||||
</div>
|
||||
<!-- <div> <Upload/> </div> -->
|
||||
<!-- <div> <ImageUpload/> </div> -->
|
||||
</div>
|
||||
</template>
|
||||
<script lang="jsx">
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -376,15 +376,15 @@
|
||||
</div>
|
||||
</a-modal>
|
||||
</div>
|
||||
<!-- <div> <Upload/> </div> -->
|
||||
<!-- <div> <ImageUpload/> </div> -->
|
||||
</div>
|
||||
</template>
|
||||
<script lang="jsx">
|
||||
import { reactive, toRefs, ref } from "vue";
|
||||
import moment, { Moment } from 'moment';
|
||||
import { useRouter } from "vue-router";
|
||||
import Editor from "@/components/project/Editor";
|
||||
import Upload from "@/components/project/Upload";
|
||||
// import Editor from "@/components/project/Editor";
|
||||
import ImageUpload from "@/components/project/ImageUpload";
|
||||
import { message } from "ant-design-vue";
|
||||
import {getTeacherSystemList ,infoteacher, getTeacherExpertise,deleteInTeacherCourse} from "../../api/Lecturer";
|
||||
import {getNewInTeacherCourseList,getOrganization,getTeacherCourseList,insertInTeacherCourse,updateInTeacherCourse} from "../../api/Teaching";
|
||||
@@ -393,8 +393,8 @@ export default {
|
||||
name: "InsideTeaching",
|
||||
components: {
|
||||
// AddTeacher,
|
||||
Editor,
|
||||
Upload
|
||||
// Editor,
|
||||
ImageUpload
|
||||
},
|
||||
setup() {
|
||||
const router = useRouter();
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
</div>
|
||||
<!-- 更多筛选-->
|
||||
<div v-if="moreid== 1 " style="width: 150px ;">
|
||||
<div @click="handlemoreid()"> 更多筛选 </div>
|
||||
<div @click="handlemoreid()">展开</div>
|
||||
</div>
|
||||
<div v-if="moreid== 2 " style="width: 150px ;">
|
||||
<div @click="handlemoreid() "> 返回 </div>
|
||||
@@ -466,7 +466,7 @@
|
||||
import { reactive, toRefs, ref ,watch} from "vue";
|
||||
import { message } from "ant-design-vue";
|
||||
import dayjs from "dayjs";
|
||||
import {getTeacherPayRollPriceList} from "../../api/Lecturer";
|
||||
import {getPayRollPlace} from "../../api/Lecturer";
|
||||
import {getTeacherFeeList,getTeacherFeeDetail,addTeacherFee ,updateTeacherFee,updateStatusSubmit,updateStatusWithDraw,getTrainOrg,getTeacherLevel} from "../../api/lecturerFeeManagement";
|
||||
// lecturerFeeManagement
|
||||
// import {getProjSt} from "../../api/indexProjStu";
|
||||
@@ -577,7 +577,7 @@ export default {
|
||||
// { value: 0, label: "发薪地B1" },
|
||||
])
|
||||
const PlaceOfPayLista =() => {
|
||||
getTeacherPayRollPriceList().then((res)=>{
|
||||
getPayRollPlace().then((res)=>{
|
||||
if (res.data.code === 200) {
|
||||
let arr = res.data.data;
|
||||
let array = [];
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
import { reactive, toRefs, ref, watch } from "vue";
|
||||
import { message } from "ant-design-vue";
|
||||
import dayjs from "dayjs";
|
||||
import { getTeacherPayRollPriceList } from "../../api/Lecturer";
|
||||
import { getPayRollPlace } from "../../api/Lecturer";
|
||||
import { getOrganization } from "../../api/Teaching";
|
||||
import { queryTeacherFeeTotalList, queryTeacherFeeMonthly, getTeacherFeeDetailListByTeacherNo, getTeacherFeeListByTeacherNo ,getPreviousTeacherfee} from "../../api/lecturerFeeStatistics";
|
||||
export default {
|
||||
@@ -342,7 +342,7 @@ export default {
|
||||
])
|
||||
//获取讲师发薪地列表
|
||||
const PlaceOfPayLista = () => {
|
||||
getTeacherPayRollPriceList().then((res) => {
|
||||
getPayRollPlace().then((res) => {
|
||||
if (res.data.code === 200) {
|
||||
let arr = res.data.data;
|
||||
let array = [];
|
||||
|
||||
371
src/views/lecturer/LookExternalLecturer.vue
Normal file
371
src/views/lecturer/LookExternalLecturer.vue
Normal file
@@ -0,0 +1,371 @@
|
||||
|
||||
ExternalLecturer
|
||||
<template>
|
||||
<!-- 外部讲师查看详情 -->
|
||||
<div class="LookExternalLecturer">
|
||||
<a-layout-header style="background: white;color: black; font-size: 20px ;">
|
||||
<span>查看讲师</span>
|
||||
<a-button @click="handleBack" class="backbtn" type="text">返回</a-button>
|
||||
</a-layout-header>
|
||||
<a-divider style="height: 1px; background-color: #b7b8b7 ;margin: 0;" />
|
||||
<a-layout-content>
|
||||
<!-- 讲师信息 -->
|
||||
<div style="width: 100%;margin-top: 10px;">
|
||||
<span class="line"></span>
|
||||
<a-descriptions title="讲师信息" bordered :column="4" :contentStyle="rowCenter" :labelStyle="rowCenter">
|
||||
<!-- 一层 -->
|
||||
<a-descriptions-item label="讲师头像">{{formParam.url }}</a-descriptions-item>
|
||||
<a-descriptions-item label="讲师工号">{{formParam.userNo}}</a-descriptions-item>
|
||||
<a-descriptions-item label="讲师姓名">{{formParam.name}}</a-descriptions-item>
|
||||
<a-descriptions-item label="讲师体系">{{formParam.systemId}}</a-descriptions-item>
|
||||
<!-- 二层 -->
|
||||
<a-descriptions-item label="讲师级别">{{formParam.levelId }}</a-descriptions-item>
|
||||
<a-descriptions-item label="认证状态">{{ formParam.certStatus==0?'未认证' :formParam.certStatus==1 ?'已认证':''}}</a-descriptions-item>
|
||||
<a-descriptions-item label="授课时长">{{formParam.teaching}}</a-descriptions-item>
|
||||
<a-descriptions-item label="发薪地 ">{{formParam.payrollPlaceId}}</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==1 ?'停用':''}}</a-descriptions-item>
|
||||
<a-descriptions-item label="所属组织" :span="2">{{formParam.departId}}</a-descriptions-item>
|
||||
</a-descriptions>
|
||||
<div style="margin-top: 10px;"></div>
|
||||
<span class="line" ></span>
|
||||
<a-descriptions title="其他信息" bordered :column="4" :contentStyle="rowCenter" :labelStyle="rowCenter" >
|
||||
<!-- 一层 -->
|
||||
<a-descriptions-item label="讲师介绍" :span="4"><div style="min-width: 500px;">{{formParam.description}}</div> </a-descriptions-item>
|
||||
<a-descriptions-item label="工作职责" :span="4">{{formParam.workExperience}}</a-descriptions-item>
|
||||
<a-descriptions-item label="擅长课程" :span="4">{{formParam.courses}}</a-descriptions-item>
|
||||
<a-descriptions-item label="教师专长" :span="4">{{formParam.TeacherExpertise}}</a-descriptions-item>
|
||||
</a-descriptions>
|
||||
<!-- 记录 -->
|
||||
<div style="margin-top: 1px;"></div>
|
||||
<a-tabs v-model:activeKey="activeKey">
|
||||
<a-tab-pane key="1" tab="授课记录">
|
||||
<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 v-if="column.key === 'score'">
|
||||
<a-space style="display:flex ;justify-content: space-around; ">
|
||||
<a-popover>
|
||||
<template #content>
|
||||
<p>{{ record.score }}</p>
|
||||
</template>
|
||||
<span>{{ record.score }}</span>
|
||||
</a-popover>
|
||||
</a-space>
|
||||
</template>
|
||||
</template>
|
||||
</a-table>
|
||||
<div style="float: right;">
|
||||
<a-pagination
|
||||
v-if="teacherrecordstableDataTotal > 10"
|
||||
:showSizeChanger="true"
|
||||
:hideOnSinglePage="true"
|
||||
:pageSize="pageSize"
|
||||
v-model:current="teacherrecords.pageNo"
|
||||
:total="teacherrecordstableDataTotal"
|
||||
class="pagination"
|
||||
@change="teacherchangePagination"
|
||||
/>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="2" tab="晋级记录">
|
||||
<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 style="float: right;">
|
||||
<a-pagination
|
||||
v-if="teacherrepromotableDataTotal > 10"
|
||||
:showSizeChanger="true"
|
||||
:hideOnSinglePage="true"
|
||||
:pageSize="pageSize"
|
||||
v-model:current="teacherrepromo.pageNo"
|
||||
:total="teacherrepromotableDataTotal"
|
||||
class="pagination"
|
||||
@change="teacherrepromoPagination"
|
||||
/>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</div>
|
||||
</a-layout-content>
|
||||
</div>
|
||||
</template>
|
||||
<script lang ="jsx">
|
||||
import { useRouter,useRoute } from "vue-router";
|
||||
import { reactive, toRefs, ref } from "vue"
|
||||
import {getTeacherById,getTeacherCourseList ,getTeacherLogList} from "../../api/Lecturer";
|
||||
export default{
|
||||
name :"LookExternalLecturer",
|
||||
components:{
|
||||
|
||||
},
|
||||
setup(){
|
||||
const router=useRouter();
|
||||
const { query: { id }} = useRoute();
|
||||
const state = reactive({
|
||||
activeKey:'1',
|
||||
id,
|
||||
formParam: {
|
||||
},
|
||||
promotionrecordsLoading: false, //晋级记录遮罩层
|
||||
teacherrecordsLoading: false,// 授课记录遮罩层
|
||||
teacherrecordstableDataTotal: -1,//授课记录列表总条数
|
||||
teacherrepromotableDataTotal: -1,//晋级记录总条数
|
||||
teacherrecords: {
|
||||
pageNo: "1",
|
||||
pageSize: "10",
|
||||
id: null
|
||||
},
|
||||
teacherrepromo:{
|
||||
id:null,
|
||||
pageNo: "1",
|
||||
pageSize: "10",
|
||||
}
|
||||
});
|
||||
|
||||
//内部讲师详情
|
||||
const TeacherSystem = () => {
|
||||
getTeacherById(state.id).then((res) => {
|
||||
console.log("内部讲师详情", res.data);
|
||||
state.formParam = res.data.data
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("内部讲师详情", err);
|
||||
});
|
||||
}
|
||||
TeacherSystem()
|
||||
//返回上一层
|
||||
const handleBack=()=>{
|
||||
router.back()
|
||||
};
|
||||
//授课记录列表
|
||||
const teacherrecordsColumns = ref([
|
||||
{
|
||||
title: '课程编号',
|
||||
dataIndex: 'offcourseId',
|
||||
key: 'offcourseId',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '课程名称',
|
||||
dataIndex: 'name',
|
||||
key: 'name',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '课程日期',
|
||||
dataIndex: 'beginTime',
|
||||
key: 'beginTime',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '内容分类',
|
||||
dataIndex: 'nrfl',
|
||||
key: 'nrfl',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '课程类型',
|
||||
dataIndex: 'type',
|
||||
key: 'type',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
customRender: (value) => {
|
||||
return (
|
||||
<div>
|
||||
{value.record.type == 1 || value.record.type == 2 || value.record.type == 3
|
||||
? {
|
||||
"1": "项目开课",
|
||||
"2": "路径开课",
|
||||
"3": "面授开课",
|
||||
}[value.record.type + ""] || ""
|
||||
: "-"}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '学习总人数',
|
||||
dataIndex: 'projectMember',
|
||||
key: 'projectMember',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '授课时长',
|
||||
dataIndex: 'duration',
|
||||
key: 'duration',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '评分',
|
||||
dataIndex: 'score ',
|
||||
key: 'score ',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '开课状态',
|
||||
dataIndex: 'status ',
|
||||
key: 'status ',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
customRender: (value) => {
|
||||
return (
|
||||
<div>
|
||||
{value.record.status == 0 || value.record.status == 1
|
||||
? {
|
||||
"0": "未开课",
|
||||
"1": "已开课",
|
||||
}[value.record.status + ""] || ""
|
||||
: "-"}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '备注',
|
||||
dataIndex: 'score ',
|
||||
key: 'score ',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
scopedSlots: { customRender: "score" },
|
||||
},
|
||||
])
|
||||
//授课记录列表数据
|
||||
const teacherrecordstableData = ref([
|
||||
])
|
||||
const getteacherrecordstableData = () => {
|
||||
state.teacherrecordsLoading = true
|
||||
state.teacherrecords.id = state.id
|
||||
let obj = { ...state.teacherrecords }
|
||||
|
||||
// api接口
|
||||
getTeacherCourseList(obj).then((res) => {
|
||||
teacherrecordstableData.value = res.data.data.records
|
||||
state.teacherrecordstableDataTotal = Number(res.data.data.total);
|
||||
state.teacherrecordsLoading = false
|
||||
})
|
||||
};
|
||||
getteacherrecordstableData()
|
||||
//授课翻页
|
||||
const teacherchangePagination = (page) => {
|
||||
state.teacherrecords.pageNo = page;
|
||||
getteacherrecordstableData();
|
||||
};
|
||||
//晋级记录翻页
|
||||
const teacherrepromoPagination = (page) => {
|
||||
state.teacherrecords.pageNo = page;
|
||||
getpromotionrecordstableData();
|
||||
};
|
||||
//晋级记录列表
|
||||
const promotionrecordsColumns = ref([
|
||||
{
|
||||
title: '变更时间',
|
||||
dataIndex: 'operatorTime',
|
||||
key: 'operatorTime',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '变更方式',
|
||||
dataIndex: 'operatorType',
|
||||
key: 'operatorType',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '变更结果',
|
||||
dataIndex: 'afterInfo',
|
||||
key: 'afterInfo',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '操作人',
|
||||
dataIndex: 'operatorId',
|
||||
key: 'operatorId',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
])
|
||||
//晋级记录列表数据
|
||||
const promotionrecordstableData = ref([
|
||||
])
|
||||
const getpromotionrecordstableData = () => {
|
||||
state.promotionrecordsLoading = true
|
||||
state.teacherrepromo.id = state.id
|
||||
getTeacherLogList(state.teacherrepromo).then((res) => {
|
||||
promotionrecordstableData.value = res.data.data.records
|
||||
state.teacherrepromotableDataTotal = Number(res.data.data.total);
|
||||
})
|
||||
state.promotionrecordsLoading = false
|
||||
};
|
||||
getpromotionrecordstableData()
|
||||
return{
|
||||
...toRefs(state),
|
||||
router,
|
||||
TeacherSystem,
|
||||
handleBack,
|
||||
rowCenter:{"text-align":"center"},
|
||||
teacherrecordstableData,
|
||||
teacherrecordsColumns,
|
||||
getteacherrecordstableData,
|
||||
teacherchangePagination,
|
||||
teacherrepromoPagination,
|
||||
promotionrecordsColumns,
|
||||
promotionrecordstableData,
|
||||
getpromotionrecordstableData
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.LookExternalLecturer {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.filter {
|
||||
margin-left: 38px;
|
||||
margin-right: 38px;
|
||||
margin-top: 30px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
.select {
|
||||
margin-right: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.backbtn{
|
||||
float: right;
|
||||
margin-right: 20px;
|
||||
border: none;
|
||||
color: #4ea6ff;
|
||||
width: 80px;
|
||||
height:64px
|
||||
}
|
||||
//小竖线
|
||||
.line{
|
||||
float:left; width: 3px; height: 25px; background: #4ea6ff;border-radius: 30%; margin-right: 5px;
|
||||
}
|
||||
::v-deep .ant-descriptions-header{
|
||||
margin-bottom: 10px ;
|
||||
}
|
||||
|
||||
</style>
|
||||
369
src/views/lecturer/LookInsideLecturer.vue
Normal file
369
src/views/lecturer/LookInsideLecturer.vue
Normal file
@@ -0,0 +1,369 @@
|
||||
<template>
|
||||
<!-- 内部讲师查看详情 -->
|
||||
<div class="LookInsideLecturer">
|
||||
<a-layout-header style="background: white;color: black; font-size: 20px ;">
|
||||
<span>查看讲师</span>
|
||||
<a-button @click="handleBack" class="backbtn" type="text">返回</a-button>
|
||||
</a-layout-header>
|
||||
<a-divider style="height: 1px; background-color: #b7b8b7 ;margin: 0;" />
|
||||
<a-layout-content>
|
||||
<!-- 讲师信息 -->
|
||||
<div style="width: 100%;margin-top: 10px;">
|
||||
<span class="line"></span>
|
||||
<a-descriptions title="讲师信息" bordered :column="4" :contentStyle="rowCenter" :labelStyle="rowCenter">
|
||||
<!-- 一层 -->
|
||||
<a-descriptions-item label="讲师头像">{{formParam.url}}</a-descriptions-item>
|
||||
<a-descriptions-item label="讲师工号">{{formParam.userNo}}</a-descriptions-item>
|
||||
<a-descriptions-item label="讲师姓名">{{formParam.name}}</a-descriptions-item>
|
||||
<a-descriptions-item label="讲师体系">{{formParam.systemId}}</a-descriptions-item>
|
||||
<!-- 二层 -->
|
||||
<a-descriptions-item label="讲师级别">{{formParam.levelId }}</a-descriptions-item>
|
||||
<a-descriptions-item label="认证状态">{{ formParam.certStatus==0?'未认证' :formParam.certStatus==1 ?'已认证':''}}</a-descriptions-item>
|
||||
<a-descriptions-item label="授课时长">{{formParam.teaching}}</a-descriptions-item>
|
||||
<a-descriptions-item label="发薪地 ">{{formParam.payrollPlaceId}}</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==1 ?'停用':''}}</a-descriptions-item>
|
||||
<a-descriptions-item label="所属组织" :span="2">{{formParam.departId}}</a-descriptions-item>
|
||||
</a-descriptions>
|
||||
<div style="margin-top: 10px;"></div>
|
||||
<span class="line" ></span>
|
||||
<a-descriptions title="其他信息" bordered :column="4" :contentStyle="rowCenter" :labelStyle="rowCenter" >
|
||||
<!-- 一层 -->
|
||||
<a-descriptions-item label="讲师介绍" :span="4"><div style="min-width: 500px;">{{formParam.description}}</div> </a-descriptions-item>
|
||||
<a-descriptions-item label="工作职责" :span="4">{{formParam.workExperience}}</a-descriptions-item>
|
||||
<a-descriptions-item label="擅长课程" :span="4">{{formParam.courses}}</a-descriptions-item>
|
||||
<a-descriptions-item label="教师专长" :span="4">{{formParam.TeacherExpertise}}</a-descriptions-item>
|
||||
</a-descriptions>
|
||||
<!-- 记录 -->
|
||||
<div style="margin-top: 1px;"></div>
|
||||
<a-tabs v-model:activeKey="activeKey">
|
||||
<a-tab-pane key="1" tab="授课记录">
|
||||
<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 v-if="column.key === 'score'">
|
||||
<a-space style="display:flex ;justify-content: space-around; ">
|
||||
<a-popover>
|
||||
<template #content>
|
||||
<p>{{ record.score }}</p>
|
||||
</template>
|
||||
<span>{{ record.score }}</span>
|
||||
</a-popover>
|
||||
</a-space>
|
||||
</template>
|
||||
</template>
|
||||
</a-table>
|
||||
<div style="float: right;">
|
||||
<a-pagination
|
||||
v-if="teacherrecordstableDataTotal > 10"
|
||||
:showSizeChanger="true"
|
||||
:hideOnSinglePage="true"
|
||||
:pageSize="pageSize"
|
||||
v-model:current="teacherrecords.pageNo"
|
||||
:total="teacherrecordstableDataTotal"
|
||||
class="pagination"
|
||||
@change="teacherchangePagination"
|
||||
/>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="2" tab="晋级记录">
|
||||
<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 style="float: right;">
|
||||
<a-pagination
|
||||
v-if="teacherrepromotableDataTotal > 10"
|
||||
:showSizeChanger="true"
|
||||
:hideOnSinglePage="true"
|
||||
:pageSize="pageSize"
|
||||
v-model:current="teacherrepromo.pageNo"
|
||||
:total="teacherrepromotableDataTotal"
|
||||
class="pagination"
|
||||
@change="teacherrepromoPagination"
|
||||
/>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</div>
|
||||
</a-layout-content>
|
||||
</div>
|
||||
</template>
|
||||
<script lang ="jsx">
|
||||
import { useRouter,useRoute } from "vue-router";
|
||||
import { reactive, toRefs, ref } from "vue"
|
||||
import {getTeacherById,getTeacherCourseList ,getTeacherLogList} from "../../api/Lecturer";
|
||||
export default{
|
||||
name :"LookInsideLecturer",
|
||||
components:{
|
||||
|
||||
},
|
||||
setup(){
|
||||
const router=useRouter();
|
||||
const { query: { id }} = useRoute();
|
||||
const state = reactive({
|
||||
activeKey:'1',
|
||||
id,
|
||||
formParam: {
|
||||
},
|
||||
promotionrecordsLoading: false, //晋级记录遮罩层
|
||||
teacherrecordsLoading: false,// 授课记录遮罩层
|
||||
teacherrecordstableDataTotal: -1,//授课记录列表总条数
|
||||
teacherrepromotableDataTotal: -1,//晋级记录总条数
|
||||
teacherrecords: {
|
||||
pageNo: "1",
|
||||
pageSize: "10",
|
||||
id: null
|
||||
},
|
||||
teacherrepromo:{
|
||||
id:null,
|
||||
pageNo: "1",
|
||||
pageSize: "10",
|
||||
}
|
||||
});
|
||||
|
||||
//内部讲师详情
|
||||
const TeacherSystem = () => {
|
||||
getTeacherById(state.id).then((res) => {
|
||||
console.log("内部讲师详情", res.data);
|
||||
state.formParam = res.data.data
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("内部讲师详情", err);
|
||||
});
|
||||
}
|
||||
TeacherSystem()
|
||||
//返回上一层
|
||||
const handleBack=()=>{
|
||||
router.back()
|
||||
};
|
||||
//授课记录列表
|
||||
const teacherrecordsColumns = ref([
|
||||
{
|
||||
title: '课程编号',
|
||||
dataIndex: 'offcourseId',
|
||||
key: 'offcourseId',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '课程名称',
|
||||
dataIndex: 'name',
|
||||
key: 'name',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '课程日期',
|
||||
dataIndex: 'beginTime',
|
||||
key: 'beginTime',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '内容分类',
|
||||
dataIndex: 'nrfl',
|
||||
key: 'nrfl',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '课程类型',
|
||||
dataIndex: 'type',
|
||||
key: 'type',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
customRender: (value) => {
|
||||
return (
|
||||
<div>
|
||||
{value.record.type == 1 || value.record.type == 2 || value.record.type == 3
|
||||
? {
|
||||
"1": "项目开课",
|
||||
"2": "路径开课",
|
||||
"3": "面授开课",
|
||||
}[value.record.type + ""] || ""
|
||||
: "-"}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '学习总人数',
|
||||
dataIndex: 'projectMember',
|
||||
key: 'projectMember',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '授课时长',
|
||||
dataIndex: 'duration',
|
||||
key: 'duration',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '评分',
|
||||
dataIndex: 'score ',
|
||||
key: 'score ',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '开课状态',
|
||||
dataIndex: 'status ',
|
||||
key: 'status ',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
customRender: (value) => {
|
||||
return (
|
||||
<div>
|
||||
{value.record.status == 0 || value.record.status == 1
|
||||
? {
|
||||
"0": "未开课",
|
||||
"1": "已开课",
|
||||
}[value.record.status + ""] || ""
|
||||
: "-"}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '备注',
|
||||
dataIndex: 'score ',
|
||||
key: 'score ',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
scopedSlots: { customRender: "score" },
|
||||
},
|
||||
])
|
||||
//授课记录列表数据
|
||||
const teacherrecordstableData = ref([
|
||||
])
|
||||
const getteacherrecordstableData = () => {
|
||||
state.teacherrecordsLoading = true
|
||||
state.teacherrecords.id = state.id
|
||||
let obj = { ...state.teacherrecords }
|
||||
|
||||
// api接口
|
||||
getTeacherCourseList(obj).then((res) => {
|
||||
teacherrecordstableData.value = res.data.data.records
|
||||
state.teacherrecordstableDataTotal = Number(res.data.data.total);
|
||||
state.teacherrecordsLoading = false
|
||||
})
|
||||
};
|
||||
getteacherrecordstableData()
|
||||
//授课翻页
|
||||
const teacherchangePagination = (page) => {
|
||||
state.teacherrecords.pageNo = page;
|
||||
getteacherrecordstableData();
|
||||
};
|
||||
//晋级记录翻页
|
||||
const teacherrepromoPagination = (page) => {
|
||||
state.teacherrecords.pageNo = page;
|
||||
getpromotionrecordstableData();
|
||||
};
|
||||
//晋级记录列表
|
||||
const promotionrecordsColumns = ref([
|
||||
{
|
||||
title: '变更时间',
|
||||
dataIndex: 'operatorTime',
|
||||
key: 'operatorTime',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '变更方式',
|
||||
dataIndex: 'operatorType',
|
||||
key: 'operatorType',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '变更结果',
|
||||
dataIndex: 'afterInfo',
|
||||
key: 'afterInfo',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '操作人',
|
||||
dataIndex: 'operatorId',
|
||||
key: 'operatorId',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
},
|
||||
])
|
||||
//晋级记录列表数据
|
||||
const promotionrecordstableData = ref([
|
||||
])
|
||||
const getpromotionrecordstableData = () => {
|
||||
state.promotionrecordsLoading = true
|
||||
state.teacherrepromo.id = state.id
|
||||
getTeacherLogList(state.teacherrepromo).then((res) => {
|
||||
promotionrecordstableData.value = res.data.data.records
|
||||
state.teacherrepromotableDataTotal = Number(res.data.data.total);
|
||||
})
|
||||
state.promotionrecordsLoading = false
|
||||
};
|
||||
getpromotionrecordstableData()
|
||||
return{
|
||||
...toRefs(state),
|
||||
router,
|
||||
TeacherSystem,
|
||||
handleBack,
|
||||
rowCenter:{"text-align":"center"},
|
||||
teacherrecordstableData,
|
||||
teacherrecordsColumns,
|
||||
getteacherrecordstableData,
|
||||
teacherchangePagination,
|
||||
teacherrepromoPagination,
|
||||
promotionrecordsColumns,
|
||||
promotionrecordstableData,
|
||||
getpromotionrecordstableData
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.LookInsideLecturer {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.filter {
|
||||
margin-left: 38px;
|
||||
margin-right: 38px;
|
||||
margin-top: 30px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
.select {
|
||||
margin-right: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.backbtn{
|
||||
float: right;
|
||||
margin-right: 20px;
|
||||
border: none;
|
||||
color: #4ea6ff;
|
||||
width: 80px;
|
||||
height:64px
|
||||
}
|
||||
//小竖线
|
||||
.line{
|
||||
float:left; width: 3px; height: 25px; background: #4ea6ff;border-radius: 30%; margin-right: 5px;
|
||||
}
|
||||
::v-deep .ant-descriptions-header{
|
||||
margin-bottom: 10px ;
|
||||
}
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user