讲师费页面调整

This commit is contained in:
wangxuemei
2024-07-29 22:11:54 +08:00
parent 7ad55026d4
commit bc9ab4fa7d
11 changed files with 3668 additions and 2133 deletions

View File

@@ -1,6 +1,6 @@
<!-- 外部讲师页面 --> <!-- 外部讲师页面 -->
<template> <template>
<div class="ExternalLecturer"> <div>
<!-- 搜索框及按钮 --> <!-- 搜索框及按钮 -->
<div class="filter" style="min-width: 1380px;"> <div class="filter" style="min-width: 1380px;">
<a-form layout="inline"> <a-form layout="inline">
@@ -37,7 +37,7 @@
:data-source="tableData" :loading="tableLoading" @expand="expandTable" :pagination="false"> :data-source="tableData" :loading="tableLoading" @expand="expandTable" :pagination="false">
<template #bodyCell="{ record, column }"> <template #bodyCell="{ record, column }">
<template v-if="column.key === 'operation'"> <template v-if="column.key === 'operation'">
<a-space style="display:flex ;justify-content: space-around; "> <a-space >
<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.status == '1'" type="link" <a-button v-if="record.status == '1'" type="link"
@@ -54,8 +54,17 @@
</div> </div>
<div class="tableBox "> <div class="tableBox ">
<div style="float: right;"> <div style="float: right;">
<a-pagination v-if="tableDataTotal > 10" :showSizeChanger="true" :hideOnSinglePage="true" :pageSize="pageSize" <a-pagination
v-model:current="searchParam.pageNo" :total="tableDataTotal" class="pagination" @change="changePagination" /> v-if="tableDataTotal > 10"
:showSizeChanger="false"
:showQuickJumper="true"
:hideOnSinglePage="true"
:pageSize="searchParam.pageSize"
:current="searchParam.pageNo"
:total="tableDataTotal"
class="pagination"
@change="changePagination"
/>
</div> </div>
</div> </div>
<!-- 弹窗组件 --> <!-- 弹窗组件 -->
@@ -330,7 +339,7 @@ export default {
title: '操作 ', title: '操作 ',
dataIndex: 'operation', dataIndex: 'operation',
key: 'operation', key: 'operation',
elipsis: true, align: "center", elipsis: true, align: "right",
width: 300, width: 300,
scopedSlots: { customRender: "action" }, scopedSlots: { customRender: "action" },
}, },
@@ -649,7 +658,7 @@ export default {
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21); box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
border-radius: 4px; border-radius: 4px;
position: absolute; position: absolute;
left: 50%; left: 30%;
top: 10%; top: 10%;
// transform: translate(-50%, -50%); // transform: translate(-50%, -50%);

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
<!-- 内部讲师 --> <!-- 内部讲师 -->
<template> <template>
<div class="InsideLecturer"> <div >
<!-- 搜索框及按钮 --> <!-- 搜索框及按钮 -->
<div class="filter" style="min-width: 1380px;"> <div class="filter" style="min-width: 1380px;">
<a-form layout="inline"> <a-form layout="inline">
@@ -10,13 +10,25 @@
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch> placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch>
</a-input> </a-input>
<!-- <a-select style="width: 276px" placeholder="请选择所属组织" v-model:value="searchParam.userNo" <!-- <a-tree-select
:options="infoteacherList"> :fieldNames="{
</a-select> --> children: 'children',
label: 'name',
value: 'code',
}"
allow-clear
:getPopupContainer="triggerNode => triggerNode.parentNode || document.body"
v-model:value="valueproj"
show-search
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
placeholder="请选择内容分类"
tree-default-expand-all
:tree-data="sysTypeOptions">
</a-tree-select> -->
</a-form-item> </a-form-item>
<a-form-item class="select"> <a-form-item class="select">
<a-select style="width: 276px" placeholder="请选择讲师体系" v-model:value="searchParam.tsystemName" <a-select style="width: 276px" placeholder="请选择讲师体系" v-model:value="searchParam.tsystemName"
:options="LecturerSystemList"> :options="LecturerSystemList" @change="changetlevel">
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item class="select"> <a-form-item class="select">
@@ -44,17 +56,17 @@
</div> </div>
<div style="width:100%"></div> <div style="width:100%"></div>
<a-form-item v-if="moreid == 2" class="select"> <a-form-item v-if="moreid == 2" class="select">
<a-select style="width: 276px" v-model:value="searchParam.waitStatus" placeholder="在职状态" <a-select style="width: 276px ;margin-bottom:20px" v-model:value="searchParam.waitStatus" placeholder="在职状态"
:options="OnTheJobStatusList"> :options="OnTheJobStatusList">
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item v-if="moreid == 2" class="select"> <a-form-item v-if="moreid == 2" class="select">
<a-select style="width: 276px" v-model:value="searchParam.certStatus" placeholder="认证状态" <a-select style="width: 276px ;margin-bottom:20px" v-model:value="searchParam.certStatus" placeholder="认证状态"
:options="AuthenticationStatusList"> :options="AuthenticationStatusList">
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item v-if="moreid == 2" class="select"> <a-form-item v-if="moreid == 2" class="select">
<a-select style="width: 276px" v-model:value="searchParam.payrollPlaceId" placeholder="发薪地" <a-select style="width: 276px ;margin-bottom:20px" v-model:value="searchParam.payrollPlaceId" placeholder="发薪地"
:options="PlaceOfPayList"> :options="PlaceOfPayList">
</a-select> </a-select>
</a-form-item> </a-form-item>
@@ -81,7 +93,7 @@
@expand="expandTable" :pagination="false"> @expand="expandTable" :pagination="false">
<template #bodyCell="{ record, column }"> <template #bodyCell="{ record, column }">
<template v-if="column.key === 'operation'"> <template v-if="column.key === 'operation'">
<a-space style="display:flex ;justify-content: space-around; "> <a-space >
<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.status == '1'" type="link" <a-button v-if="record.status == '1'" type="link"
@@ -98,8 +110,18 @@
</div> </div>
<div class="tableBox "> <div class="tableBox ">
<div style="float: right;"> <div style="float: right;">
<a-pagination v-if="tableDataTotal > 10" :showSizeChanger="true" :hideOnSinglePage="true" :pageSize="pageSize"
v-model:current="searchParam.pageNo" :total="tableDataTotal" class="pagination" @change="changePagination" /> <a-pagination
v-if="tableDataTotal > 10"
:showSizeChanger="false"
:showQuickJumper="true"
:hideOnSinglePage="true"
:pageSize="searchParam.pageSize"
:current="searchParam.pageNo"
:total="tableDataTotal"
class="pagination"
@change="changePagination"
/>
</div> </div>
</div> </div>
<!-- 弹窗组件 --> <!-- 弹窗组件 -->
@@ -116,15 +138,15 @@
<a-row :gutter="16"> <a-row :gutter="16">
<a-col :span="24"> <a-col :span="24">
<a-upload <a-upload
v-model:file-list="fileList" v-model:file-list="fileList"
name="avatar" name="avatar"
avatar-uploader avatar-uploader
list-type="picture-card" list-type="picture-card"
class="" class=""
:show-upload-list="false" :show-upload-list="false"
action="https://www.mocky.io/v2/5cc8019d300000980a055e76" action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
:before-upload="beforeUpload" :before-upload="beforeUpload"
@change="handleChange" @change="handleChange"
/> />
</a-col> </a-col>
</a-row> </a-row>
@@ -132,7 +154,8 @@
<a-row :gutter="16"> <a-row :gutter="16">
<a-col :span="12"> <a-col :span="12">
<a-form-item label="讲师名称" name="name"> <a-form-item label="讲师名称" name="name">
<a-tree-select v-model:value="formParam.name" tree-data-simple-mode class="draitem" <a-tree-select v-model:value="formParam.name"
show-search allow-clear tree-data-simple-mode class="draitem"
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" :tree-data="treeData" placeholder="请输入讲师名称" /> :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" :tree-data="treeData" placeholder="请输入讲师名称" />
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -151,18 +174,18 @@
</a-col> </a-col>
</a-row> </a-row>
<!-- 讲师级别 体系--> <!-- 讲师级别 体系-->
<a-row :gutter="16"> <a-row :gutter="16">
<a-col :span="12"> <a-col :span="12">
<a-form-item label="讲师级别" name="levelId"> <a-form-item label="讲师体系" name="systemId">
<a-select class="draitem" v-model:value="formParam.levelId" placeholder="请选择讲师级别" <a-select class="draitem" v-model:value="formParam.systemId" placeholder="请选择讲师体系"
:options="getLevelList"> :options="LecturerSystemList">
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="讲师体系" name="systemId"> <a-form-item label="讲师级别" name="levelId">
<a-select class="draitem" v-model:value="formParam.systemId" placeholder="请选择讲师体系" <a-select class="draitem" v-model:value="formParam.levelId" placeholder="请选择讲师级别"
:options="LecturerSystemList"> :options="getLevelList">
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -174,7 +197,7 @@
<a-input v-model:value="formParam.defaultTeachingTime" style="width:80%; height: 40px; " placeholder="0" <a-input v-model:value="formParam.defaultTeachingTime" style="width:80%; height: 40px; " placeholder="0"
allowClear showSearch suffix="分钟"> allowClear showSearch suffix="分钟">
</a-input> </a-input>
<span v-if="formParam.defaultTeachingTime" style="margin-left: 5px ;">{{ (formParam.defaultTeachingTime /60 ).toFixed(2)}}小时</span> <span style="margin-left: 5px ;">{{ (formParam.defaultTeachingTime /60 ).toFixed(2)}}小时</span>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
@@ -244,8 +267,8 @@
<!-- 删除功能弹窗 --> <!-- 删除功能弹窗 -->
<div> <div>
<a-modal v-model:visible="deleteInTeacherdialog" :footer="null" :closable="close" wrapClassName="canclestu1" <a-modal v-model:visible="deleteInTeacherdialog" :footer="null" :closable="close"
style="width:1080px" centered="true"> centered="true">
<div class="delete"> <div class="delete">
<div class="del_header"></div> <div class="del_header"></div>
<div class="del_main"> <div class="del_main">
@@ -270,7 +293,7 @@
</div> </div>
<!-- 修改状态功能弹窗 --> <!-- 修改状态功能弹窗 -->
<div> <div>
<a-modal v-model:visible="editTeacher" :footer="null" :closable="close" wrapClassName="canclestu1" centered="true"> <a-modal v-model:visible="editTeacher" :footer="null" :closable="close" centered="true">
<div class="delete"> <div class="delete">
<div class="del_header"></div> <div class="del_header"></div>
<div class="del_main"> <div class="del_main">
@@ -432,8 +455,9 @@ export default {
const getLevelList = ref([ const getLevelList = ref([
// { value: 0, label: "未定级" }, // { value: 0, label: "未定级" },
]) ])
const getLevelLista = () => { const changetlevel = (val) => {
getLevel().then((res) => { console.log( "讲师体系id" +val);
getLevel( {id:val}).then((res) => {
if (res.data.code === 200) { if (res.data.code === 200) {
let arr = res.data.data; let arr = res.data.data;
let array = []; let array = [];
@@ -448,7 +472,7 @@ export default {
} }
}) })
} }
getLevelLista() changetlevel()
const OnTheJobStatusList = ref([ const OnTheJobStatusList = ref([
{ value: 0, label: "在职" }, { value: 0, label: "在职" },
{ value: 1, label: "离职" }, { value: 1, label: "离职" },
@@ -563,24 +587,23 @@ export default {
title: '姓名 ', title: '姓名 ',
dataIndex: 'name', dataIndex: 'name',
key: 'name', key: 'name',
elipsis: true, align: "center", elipsis: true,
align: "center", align: "center",
width: 120, width: 100,
}, },
{ {
title: '工号 ', title: '工号 ',
dataIndex: 'userNo', dataIndex: 'userNo',
key: 'userNo', key: 'userNo',
elipsis: true, align: "center", elipsis: true,
align: "center", align: "center",
width: 120, width: 100,
}, },
{ {
title: '所属组织 ', title: '所属组织 ',
dataIndex: 'departId', dataIndex: 'departId',
key: 'departId', key: 'departId',
elipsis: true, align: "center", elipsis: true, align: "center",
align: "center",
width: 400, width: 400,
// customRender: (value, record) => { // customRender: (value, record) => {
// return ( // return (
@@ -595,16 +618,14 @@ export default {
dataIndex: 'tsystemName', dataIndex: 'tsystemName',
key: 'tsystemName', key: 'tsystemName',
elipsis: true, align: "center", elipsis: true, align: "center",
align: "center", width: 100,
width: 120,
}, },
{ {
title: '级别 ', title: '级别 ',
dataIndex: 'tlevelName', dataIndex: 'tlevelName',
key: 'tlevelName', key: 'tlevelName',
elipsis: true, align: "center", elipsis: true, align: "center",
align: "center", width: 100,
width: 120,
}, },
{ {
title: '发薪地 ', title: '发薪地 ',
@@ -618,14 +639,14 @@ export default {
dataIndex: 'teaching', dataIndex: 'teaching',
key: 'teaching', key: 'teaching',
elipsis: true, align: "center", elipsis: true, align: "center",
width: 120, width: 100,
}, },
{ {
title: '在职状态 ', title: '在职状态 ',
dataIndex: 'waitStatus', dataIndex: 'waitStatus',
key: 'waitStatus', key: 'waitStatus',
elipsis: true, align: "center", elipsis: true, align: "center",
width: 120, width: 100,
customRender: (value) => { customRender: (value) => {
return ( return (
<div> <div>
@@ -644,7 +665,7 @@ export default {
dataIndex: 'certStatus', dataIndex: 'certStatus',
key: 'certStatus', key: 'certStatus',
elipsis: true, align: "center", elipsis: true, align: "center",
width: 120, width: 100,
customRender: (value) => { customRender: (value) => {
return ( return (
<div> <div>
@@ -663,7 +684,7 @@ export default {
dataIndex: 'status', dataIndex: 'status',
key: 'status', key: 'status',
elipsis: true, align: "center", elipsis: true, align: "center",
width: 120, width: 100,
customRender: (value) => { customRender: (value) => {
return ( return (
<div> <div>
@@ -682,8 +703,9 @@ export default {
title: '操作 ', title: '操作 ',
dataIndex: 'operation', dataIndex: 'operation',
key: 'operation', key: 'operation',
elipsis: true, align: "center", elipsis: true,
width: 300, width: 300,
align: "right",
scopedSlots: { customRender: "action" }, scopedSlots: { customRender: "action" },
}, },
]) ])
@@ -918,7 +940,7 @@ export default {
LecturerSystemList, LecturerSystemList,
getLevelList, getLevelList,
OnTheJobStatusList, OnTheJobStatusList,
getLevelLista, changetlevel,
PlaceOfPayLista, PlaceOfPayLista,
AuthenticationStatusList, AuthenticationStatusList,
PlaceOfPayList, PlaceOfPayList,
@@ -1032,7 +1054,7 @@ export default {
height: 100%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
position: relative;
.filter { .filter {
margin-left: 38px; margin-left: 38px;
margin-right: 38px; margin-right: 38px;
@@ -1053,7 +1075,7 @@ export default {
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21); box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
border-radius: 4px; border-radius: 4px;
position: absolute; position: absolute;
left: 50%; left: 30%;
top: 10%; top: 10%;
// transform: translate(-50%, -50%); // transform: translate(-50%, -50%);

View File

@@ -1,31 +1,6 @@
<!-- 内部授课页面 --> <!-- 内部授课页面 -->
<template> <template>
<div > <div>
<div class="tableBox ">
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="columns"
:scroll="{ x: 100 }"
:data-source="tableData"
:loading="tableLoading"
@expand="expandTable"
:pagination="false">
<template #bodyCell="{ record, column }">
<template v-if="column.key === 'operation'">
<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="() => handleModify(record, String(record.courseform))">修改</a-button>
<a-button type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button>
</a-space>
</template>
</template>
</a-table>
</div>
<div class="tableBox ">
<div style="float: right;">
<a-pagination v-if="tableDataTotal > 10" :showSizeChanger="true" :hideOnSinglePage="true" :pageSize="pageSize"
v-model:current="searchParam.pageNo" :total="tableDataTotal" class="pagination" @change="changePagination" />
</div>
</div>
<!-- 搜索框及按钮 --> <!-- 搜索框及按钮 -->
<div class="filter"> <div class="filter">
<a-form layout="inline" style="min-width: 1380px;"> <a-form layout="inline" style="min-width: 1380px;">
@@ -110,31 +85,36 @@
<UploadOutlined /> 导出 <UploadOutlined /> 导出
</a-button> </a-button>
</div> </div>
</div>
<!-- 表格 --> <!-- 表格 -->
<div class="tableBox "> <div style="padding: 10px 0">
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="columns" <a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="columns"
:scroll="{ x: 1300 }" :scroll="{ x: 1500 }" :data-source="tableData" :loading="tableLoading" @expand="expandTable" :pagination="false">
:data-source="tableData" <template #bodyCell="{ record, column }">
:loading="tableLoading" <template v-if="column.key === 'operation'">
@expand="expandTable" <a-space >
:pagination="false"> <a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button>
<template #bodyCell="{ record, column }">
<template v-if="column.key === 'operation'">
<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="() => handleModify(record, String(record.courseform))">修改</a-button> <a-button type="link" @click="() => handleModify(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-button type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button> -->
</a-space>
</template>
</template> </template>
</template> </a-table>
</a-table> </div>
</div> </div>
<div class="tableBox "> <div class="tableBox ">
<div style="float: right;"> <div style="float: right;">
<a-pagination v-if="tableDataTotal > 10" :showSizeChanger="true" :hideOnSinglePage="true" :pageSize="pageSize" <a-pagination
v-model:current="searchParam.pageNo" :total="tableDataTotal" class="pagination" @change="changePagination" /> v-if="tableDataTotal > 10"
:showSizeChanger="false"
:showQuickJumper="true"
:hideOnSinglePage="true"
:pageSize="searchParam.pageSize"
:current="searchParam.pageNo"
:total="tableDataTotal"
class="pagination"
@change="changePagination"
/>
</div> </div>
</div> </div>
<!-- 弹窗组件 --> <!-- 弹窗组件 -->
@@ -292,6 +272,15 @@
</a-descriptions> </a-descriptions>
<span class="line"></span> <span class="line"></span>
<span>讲师费发放情况</span> <span>讲师费发放情况</span>
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="column" :data-source="tableDatas" :loading="tableLoadings" :pagination="false">
<template #bodyCell="{ record, column }">
<template v-if="column.key === 'operation'">
<a-space >
<a-button type="link" @click="() => handleLooka(record, String(record.courseform))">查看</a-button>
</a-space>
</template>
</template>
</a-table>
<div :style="{ <div :style="{
position: 'absolute', position: 'absolute',
right: 0, right: 0,
@@ -323,7 +312,7 @@
<span>您确定要删除此条记录吗</span> <span>您确定要删除此条记录吗</span>
</div> </div>
<div class="del_btnbox"> <div class="del_btnbox">
<div class="del_btn btn2" @click="cancelTeachDialog" 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" @click="closeDeleteTeacher"> <div class="del_btn btn2" @click="closeDeleteTeacher">
@@ -481,16 +470,8 @@ export default {
]) ])
const columns = ref([ const columns = ref([
// {
// title: '课程编号 ',
// dataIndex: 'userNo',
// key: 'userNo',
// elipsis: true, align: "center",
// width: 120,
// },
{ {
title: '讲师姓名 ', title: '讲师姓名 ',
fixed: 'left',
dataIndex: 'teacher', dataIndex: 'teacher',
key: 'teacher', key: 'teacher',
elipsis: true, align: "center", elipsis: true, align: "center",
@@ -515,6 +496,7 @@ export default {
dataIndex: 'orgName', dataIndex: 'orgName',
key: 'orgName', key: 'orgName',
elipsis: true, align: "center", elipsis: true, align: "center",
width: 120,
// customRender: (value, record) => { // customRender: (value, record) => {
// return ( // return (
// <div> // <div>
@@ -634,8 +616,8 @@ export default {
title: '操作 ', title: '操作 ',
dataIndex: 'operation', dataIndex: 'operation',
key: 'operation', key: 'operation',
elipsis: true, align: "center", elipsis: true, align: "right",
width: 300,
fixed: "right", fixed: "right",
scopedSlots: { customRender: "action" }, scopedSlots: { customRender: "action" },
}, },
@@ -725,7 +707,7 @@ export default {
state.teacherdialog = true; state.teacherdialog = true;
state.teacherdialogtitle = '修改授课记录' state.teacherdialogtitle = '修改授课记录'
state.lookTeacherId = record.teacherId state.lookTeacherId = record.teacherId
TeacherSystem() TeacherSystem(records)
} }
//保存 //保存
const createTeacherDialog = () => { const createTeacherDialog = () => {
@@ -776,14 +758,13 @@ export default {
//清空数据 //清空数据
const cancel = () => { const cancel = () => {
state.formParam = { state.formParam = {
teacher: null,
userNo: null,
departId: null,
defaultTeachingTime: null,
tlevelName: null,
name: null, name: null,
departId: null,
systemId:null,
levelId: null,
teacherNo:null,
defaultTeachingTime: null,
beginTime: null, beginTime: null,
duration: null,
studys: null, studys: null,
score: null, score: null,
type: null, type: null,
@@ -804,14 +785,14 @@ export default {
}; };
//表格内查看数据操作 //表格内查看数据操作
const handleLook = (record) => { const handleLook = (records) => {
// state.teacherdialog1 = 1 // state.teacherdialog1 = 1
state.teachingdialog = true; state.teachingdialog = true;
state.teacherdialogtitle = '查看详情' state.teacherdialogtitle = '查看详情'
// state.userNoid = record.userNo // state.userNoid = record.userNo
state.lookTeacherId = record.teacherId state.lookTeacherId = record.teacherId
// // alert(record.grade) // // alert(record.grade)
TeacherSystem() TeacherSystem(records)
// let id = record.userNo // let id = record.userNo
// router.push({ path: '/insideteachingdetail', query: { id } }) // router.push({ path: '/insideteachingdetail', query: { id } })
// router.push({ path: '/InsideTeachingDetail' }) // router.push({ path: '/InsideTeachingDetail' })
@@ -820,31 +801,82 @@ export default {
state.teachingdialog = false; state.teachingdialog = false;
} }
//内部授课详情 //内部授课详情
const TeacherSystem = () => { const TeacherSystem = (records) => {
getTeacherCourseList( state.lookTeacherId).then((res) => { // getTeacherCourseList( state.lookTeacherId).then((res) => {
console.log("内部授课详情", res.data); // console.log("内部授课详情", res.data);
state.formParam= res.data.data // state.formParam= res.data.data
}) // })
.catch((err) => { // .catch((err) => {
console.log("内部授课详情", err); // console.log("内部授课详情", err);
}); // });
// state.formParam = { state.formParam = {
// name: record.name, name: record.name,
// userNo: record.userNo, departId: record.departId,
// orgName:record.orgName, systemId:record.systemId,
// departId: record.departId, levelId: record.levelId,
// levelId: record.levelId, tlevelName: record.tlevelName,
// tlevelName: record.tlevelName, teacherNo: record.teacherNo,
// teacherNo: record.teacherNo, beginTime: moment(record.beginTime, 'YYYY-MM-DD'),
// beginTime: moment(record.beginTime, 'YYYY-MM-DD'), // ref< moment.Moment >(moment(record.beginTime,'YYYY-MM-DD')),
// // ref< moment.Moment >(moment(record.beginTime,'YYYY-MM-DD')), // record.beginTime,
// // record.beginTime, status: record.status,
// status: record.status, defaultTeachingTime: record.defaultTeachingTime,
// defaultTeachingTime: record.defaultTeachingTime, score: record.score,
// studys: record.studys, studys: record.studys,
// remark: record.remark, remark: record.remark,
// } }
} }
const column = ref([ {
title: '基准课酬 ',
dataIndex: 'teacherlevelPay',
key: 'teacherlevelPay',
elipsis: true, align: "center",
width: 120,
}, {
title: '计划费用 ',
dataIndex: 'expense',
key: 'expense',
elipsis: true, align: "center",
width: 120,
},
{
title: '应发费用(未命名) ',
dataIndex: 'expense',
key: 'expense',
elipsis: true, align: "center",
width: 120,
},
{
title: '状态 ',
dataIndex: 'status',
key: 'status',
elipsis: true, align: "center",
width: 120,
customRender: (value) => {
return (
<div>
{value.record.status == "A10" || value.record.status == "A20" ||value.record.status == "A30" ||value.record.status == "E10"||value.record.status == "S20"
? {
"A10": "待审核",
"A20": "已提交",
"A30": "审核中",
"E10": "审核打回",
"S20": "审核通过",
}[value.record.status + ""] || ""
: "-"}
</div>
)
}
},
{
title: '操作 ',
dataIndex: 'operation',
key: 'operation',
elipsis: true, align: "right",
width: 300,
scopedSlots: { customRender: "action" },
},
])
//导出功能 //导出功能
const handleExport = () => { const handleExport = () => {
window.open( window.open(
@@ -862,6 +894,7 @@ export default {
} }
return { return {
...toRefs(state), ...toRefs(state),
column,
handlemoreid, handlemoreid,
infoteacherList, infoteacherList,
getinfoteacher, getinfoteacher,

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -55,8 +55,17 @@
<!-- 翻页 --> <!-- 翻页 -->
<div class="tableBox "> <div class="tableBox ">
<div style="float: right;"> <div style="float: right;">
<a-pagination v-if="tableDataTotal > 10" :showSizeChanger="true" :hideOnSinglePage="true" :pageSize="pageSize" <a-pagination
v-model:current="searchParam.pageNo" :total="tableDataTotal" class="pagination" @change="changePagination" /> v-if="tableDataTotal > 10"
:showSizeChanger="false"
:showQuickJumper="true"
:hideOnSinglePage="true"
:pageSize="searchParam.pageSize"
:current="searchParam.pageNo"
:total="tableDataTotal"
class="pagination"
@change="changePagination"
/>
</div> </div>
</div> </div>
<!-- 二级页面弹窗组件 --> <!-- 二级页面弹窗组件 -->

View File

@@ -5,7 +5,12 @@ ExternalLecturer
<div class="LookExternalLecturer"> <div class="LookExternalLecturer">
<a-layout-header style="background: white;color: black; font-size: 20px ;"> <a-layout-header style="background: white;color: black; font-size: 20px ;">
<span>查看讲师</span> <span>查看讲师</span>
<a-button @click="handleBack" class="backbtn" type="text">返回</a-button> <router-link to="/lecturerList" class="goback">
<span class="return"></span>
<router-link class="returntext" to="/lecturerList" style="line-height:47px ">
返回
</router-link>
</router-link>
</a-layout-header> </a-layout-header>
<a-divider style="height: 1px; background-color: #b7b8b7 ;margin: 0;" /> <a-divider style="height: 1px; background-color: #b7b8b7 ;margin: 0;" />
<a-layout-content> <a-layout-content>
@@ -285,5 +290,27 @@ export default{
::v-deep .ant-descriptions-header{ ::v-deep .ant-descriptions-header{
margin-bottom: 10px ; margin-bottom: 10px ;
} }
.goback {
float: right;
padding-right: 70px;
//padding-top: 37px;
position: relative;
.return {
display: inline-block;
width: 42px;
height: 42px;
margin-top: 17px;
margin-right: 10px;
background-image: url("../../assets/images/projectadd/return.png");
}
.returntext {
display: inline-block;
position: absolute;
top: 12px;
color: #4ea6ff;
font-size: 14px;
}
}
</style> </style>

View File

@@ -3,7 +3,12 @@
<div class="LookInsideLecturer"> <div class="LookInsideLecturer">
<a-layout-header style="background: white;color: black; font-size: 20px ;"> <a-layout-header style="background: white;color: black; font-size: 20px ;">
<span>查看讲师</span> <span>查看讲师</span>
<a-button @click="handleBack" class="backbtn" type="text">返回</a-button> <router-link to="/lecturerList" class="goback">
<span class="return"></span>
<router-link class="returntext" to="/lecturerList" style="line-height:47px ">
返回
</router-link>
</router-link>
</a-layout-header> </a-layout-header>
<a-divider style="height: 1px; background-color: #b7b8b7 ;margin: 0;" /> <a-divider style="height: 1px; background-color: #b7b8b7 ;margin: 0;" />
<a-layout-content> <a-layout-content>
@@ -12,15 +17,17 @@
<span class="line"></span> <span class="line"></span>
<a-descriptions title="讲师信息" bordered :column="4" :contentStyle="rowCenter" :labelStyle="rowCenter"> <a-descriptions title="讲师信息" bordered :column="4" :contentStyle="rowCenter" :labelStyle="rowCenter">
<!-- 一层 --> <!-- 一层 -->
<a-descriptions-item label="讲师头像">{{formParam.url}}</a-descriptions-item> <a-descriptions-item label="讲师头像">
<a-avatar :src="formParam.photo" /></a-descriptions-item>
<a-descriptions-item label="讲师工号">{{formParam.userNo}}</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.name}}</a-descriptions-item>
<a-descriptions-item label="讲师体系">{{formParam.systemId}}</a-descriptions-item> <a-descriptions-item label="讲师体系">{{formParam.tsystemName}}</a-descriptions-item>
<!-- 二层 --> <!-- 二层 -->
<a-descriptions-item label="讲师级别">{{formParam.levelId }}</a-descriptions-item> <a-descriptions-item label="讲师级别">{{formParam.tlevelName
}}</a-descriptions-item>
<a-descriptions-item label="认证状态">{{ formParam.certStatus==0?'未认证' :formParam.certStatus==1 ?'已认证':''}}</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.teaching}}</a-descriptions-item>
<a-descriptions-item label="发薪地 ">{{formParam.payrollPlaceId}}</a-descriptions-item> <a-descriptions-item label="发薪地 ">{{formParam.payrollPlaceName}}</a-descriptions-item>
<!-- 三层 --> <!-- 三层 -->
<a-descriptions-item label="在职">{{formParam.waitStatus==0?'在职' :formParam.waitStatus==1 ?'离职':''}}</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="账号状态">{{formParam.status==0?'临时' :formParam.status==1 ?'启用':formParam.status==1 ?'停用':''}}</a-descriptions-item>
@@ -57,20 +64,20 @@
</template> </template>
</a-table> </a-table>
<div style="float: right;"> <div style="float: right;">
<a-pagination <a-pagination
v-if="teacherrecordstableDataTotal > 10" v-if="tableDataTotal > 10"
:showSizeChanger="true" :showSizeChanger="false"
:hideOnSinglePage="true" :showQuickJumper="true"
:pageSize="pageSize" :hideOnSinglePage="true"
v-model:current="teacherrecords.pageNo" :pageSize="searchParam.pageSize"
:total="teacherrecordstableDataTotal" :current="searchParam.pageNo"
class="pagination" :total="tableDataTotal"
@change="teacherchangePagination" class="pagination"
/> @change="changePagination"
/>
</div> </div>
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="2" tab="晋级记录"> <a-tab-pane key="2" tab="晋级记录">
{{ teacherrepromo.id }}
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="promotionrecordsColumns" <a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="promotionrecordsColumns"
:data-source="promotionrecordstableData" :loading="promotionrecordsLoading" @expand="expandTable" :pagination="false"> :data-source="promotionrecordstableData" :loading="promotionrecordsLoading" @expand="expandTable" :pagination="false">
@@ -78,16 +85,17 @@
</template> </template>
</a-table> </a-table>
<div style="float: right;"> <div style="float: right;">
<a-pagination <a-pagination
v-if="teacherrepromotableDataTotal > 10" v-if="teacherrepromotableDataTotal > 10"
:showSizeChanger="true" :showSizeChanger="false"
:hideOnSinglePage="true" :showQuickJumper="true"
:pageSize="pageSize" :hideOnSinglePage="true"
v-model:current="teacherrepromo.pageNo" :pageSize="teacherrepromo.pageSize"
:total="teacherrepromotableDataTotal" :current="teacherrepromo.pageNo"
class="pagination" :total="teacherrepromotableDataTotal"
@change="teacherrepromoPagination" class="pagination"
/> @change="teacherrepromoPagination"
/>
</div> </div>
</a-tab-pane> </a-tab-pane>
</a-tabs> </a-tabs>
@@ -122,7 +130,7 @@ export default{
id: null id: null
}, },
teacherrepromo:{ teacherrepromo:{
id:null, userId:null,
pageNo: "1", pageNo: "1",
pageSize: "10", pageSize: "10",
} }
@@ -133,8 +141,9 @@ export default{
getTeacherById(state.id).then((res) => { getTeacherById(state.id).then((res) => {
console.log("内部讲师详情", res.data); console.log("内部讲师详情", res.data);
state.formParam = res.data.data[0]; state.formParam = res.data.data[0];
state.teacherrepromo.id=res.data.data[0].kid state.teacherrepromo.userId=res.data.data[0].kid
console.log(state.teacherrepromo.kid); console.log(state.teacherrepromo.kid);
getpromotionrecordstableData()
}) })
.catch((err) => { .catch((err) => {
console.log("内部讲师详情", err); console.log("内部讲师详情", err);
@@ -288,8 +297,8 @@ export default{
}, },
{ {
title: '变更结果', title: '变更结果',
dataIndex: 'afterInfo', dataIndex: 'levelName',
key: 'afterInfo', key: 'levelName',
elipsis: true, align: "center", elipsis: true, align: "center",
width: 120, width: 120,
}, },
@@ -313,7 +322,7 @@ export default{
}) })
state.promotionrecordsLoading = false state.promotionrecordsLoading = false
}; };
getpromotionrecordstableData() // getpromotionrecordstableData()
return{ return{
...toRefs(state), ...toRefs(state),
router, router,
@@ -368,5 +377,27 @@ export default{
::v-deep .ant-descriptions-header{ ::v-deep .ant-descriptions-header{
margin-bottom: 10px ; margin-bottom: 10px ;
} }
.goback {
float: right;
padding-right: 70px;
//padding-top: 37px;
position: relative;
.return {
display: inline-block;
width: 42px;
height: 42px;
margin-top: 17px;
margin-right: 10px;
background-image: url("../../assets/images/projectadd/return.png");
}
.returntext {
display: inline-block;
position: absolute;
top: 12px;
color: #4ea6ff;
font-size: 14px;
}
}
</style> </style>

View File

@@ -1,6 +1,6 @@
<!-- 授课记录 --> <!-- 授课记录 -->
<template> <template>
<div > <div class="TeachingRecord" >
<div style="margin: 20px;" > <div style="margin: 20px;" >
<a-tabs v-model:activeKey="activeKey"> <a-tabs v-model:activeKey="activeKey">
<a-tab-pane key="1" tab="内部授课"> <a-tab-pane key="1" tab="内部授课">
@@ -37,4 +37,276 @@
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.TeachingRecord {
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;
.filterItems {
display: flex;
flex-wrap: wrap;
.select {
margin-right: 20px;
margin-bottom: 20px;
}
.addTimeBox {
position: relative;
display: flex;
align-items: center;
.addTime {
position: absolute;
z-index: 10;
margin-left: 10px;
color: rgba(0, 0, 0, 0.4);
}
.ant-picker {
padding-left: 85px;
}
.ant-picker-range .ant-picker-active-bar {
margin-left: 85px;
}
}
.btn {
padding: 0px 26px 0px 26px;
height: 38px;
background: #4ea6ff;
border-radius: 8px;
border: 1px solid rgba(64, 158, 255, 1);
display: flex;
align-items: center;
justify-content: center;
margin-right: 14px;
flex-shrink: 0;
cursor: pointer;
.search {
background-size: 100%;
}
.btnText {
font-size: 14px;
font-weight: 400;
color: #fff;
line-height: 36px;
margin-left: 5px;
}
}
.btnn {
padding: 0px 26px 0px 26px;
height: 38px;
background: #4ea6ff;
border-radius: 8px;
border: 1px solid rgba(64, 158, 255, 1);
display: flex;
align-items: center;
justify-content: center;
margin-right: 14px;
flex-shrink: 0;
cursor: pointer;
.search {
background-size: 100%;
}
.btnText {
font-size: 14px;
font-weight: 400;
color: #ffffff;
line-height: 36px;
margin-left: 5px;
}
}
.btn1 {
.search {
width: 15px;
height: 17px;
background-image: url("../../assets/images/courseManage/search0.png");
}
}
.btn2 {
.search {
width: 16px;
height: 18px;
background-image: url("../../assets/images/courseManage/reset0.png");
}
}
.btn1:active {
background: #0982ff;
}
// .btn2:hover {
// background: rgba(64, 158, 255, 0.1);
// }
.btn2:active {
background: #0982ff;
}
}
.btns {
display: flex;
// flex-wrap: wrap;
.btn {
padding: 0px 26px 0px 26px;
height: 38px;
background: #4ea6ff;
border-radius: 8px;
border: 1px solid rgba(64, 158, 255, 1);
display: flex;
align-items: center;
cursor: pointer;
justify-content: center;
margin-right: 14px;
flex-shrink: 0;
.search {
background-size: 100%;
}
.btnText {
font-size: 14px;
font-weight: 400;
color: #ffffff;
line-height: 36px;
margin-left: 5px;
}
}
.btn3 {
margin-right: 0px;
.search {
width: 17px;
height: 18px;
background-image: url("../../assets/images/courseManage/add0.png");
}
}
// .btn3:hover {
// background: rgba(64, 158, 255, 0.76);
// }
.btn3:active {
background: #0982ff;
}
}
}
.tableBox {
margin: 20px 38px 30px;
.ant-table-thead>tr>th {
background-color: #eff4fc;
}
th {
background-color: #eff4fc !important;
text-align: center !important;
}
}
.tableBox {
padding-bottom: 20px;
.pa {
// position: absolute;
// bottom: 20px;
// left: 0;
width: 100%;
// height: 20px;
// background-color: red;
display: flex;
justify-content: center;
// margin-bottom: 10px;
// position: absolute;
// bottom: -40px;
}
}
.operation {
font-size: 14px;
font-weight: 400;
color: #4ea6ff;
margin-right: -45px;
display: flex;
justify-content: right;
margin-right: 18px;
// line-height: 36px;
.operation1 {
margin-left: 21px;
width: 28px;
display: inline-block;
}
.operation3 {
margin-left: 21px;
width: 70px;
display: inline-block;
text-align: center;
}
.more {
width: 50px;
display: inline-block;
margin-left: 21px;
position: relative;
text-align: left;
// z-index: 99999;
.moreArrow {
width: 13px;
height: 7px;
display: inline-block;
background-image: url("../../assets/images/navtop/down.png");
background-size: 100%;
margin: 2px;
margin-left: 7px;
}
.moreItems {
width: 80px;
padding: 5px;
display: none;
background: #ffffff;
box-shadow: 2px 3px 9px 3px rgba(0, 0, 0, 0.05);
border-radius: 3px;
border: 0px solid #dcdcdc;
position: absolute;
left: 0px;
top: 28px;
z-index: 100;
text-align: center;
}
}
.more:hover .moreArrow {
background-image: url("../../assets/images/navtop/up.png");
}
.more:hover .moreItems {
display: block;
}
}
}
</style> </style>