mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-15 05:46:45 +08:00
讲师管理bug
This commit is contained in:
@@ -74,7 +74,7 @@ import { reactive, toRefs, ref,computed,watch } from "vue"
|
|||||||
import {getTeacherById} from "../../api/Lecturer";
|
import {getTeacherById} from "../../api/Lecturer";
|
||||||
import { getNewInTeacherCourseList } from "../../api/Teaching";
|
import { getNewInTeacherCourseList } from "../../api/Teaching";
|
||||||
// import boe from '@/assets/boe.jpg'
|
// import boe from '@/assets/boe.jpg'
|
||||||
import avatar from '@/assets/avatar.png'
|
import avatar from '@/assets/Avatarman.png'
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
export default{
|
export default{
|
||||||
name :"LookExternalLecturer",
|
name :"LookExternalLecturer",
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ export default{
|
|||||||
state.formParam = objA
|
state.formParam = objA
|
||||||
state.formParam.photo = state.formParam.photo ==null ?
|
state.formParam.photo = state.formParam.photo ==null ?
|
||||||
state.formParam.gender == 1 ? Avatarman :
|
state.formParam.gender == 1 ? Avatarman :
|
||||||
state.formParam.gender ==2 ? Avatarwoman : avatar : state.formParam.photo
|
state.formParam.gender ==2 ? Avatarwoman : Avatarman : (state.formParam.photo.includes('upload')?state.formParam.photo:'/upload'+state.formParam.photo)
|
||||||
state.teacherrepromo.userId=res.data.data.id
|
state.teacherrepromo.userId=res.data.data.id
|
||||||
console.log(state.teacherrepromo.id);
|
console.log(state.teacherrepromo.id);
|
||||||
isOrgNames(state.formParam.orgName)
|
isOrgNames(state.formParam.orgName)
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<a-popover v-model:visible="visible" placement="bottom" trigger="click">
|
<a-popover :getPopupContainer="
|
||||||
|
(triggerNode) => {
|
||||||
|
return triggerNode.parentNode || document.body;
|
||||||
|
}
|
||||||
|
" v-model:visible="visible" placement="bottom" trigger="click">
|
||||||
<template #content v-if="!disabled">
|
<template #content v-if="!disabled">
|
||||||
<div class="pover">
|
<div class="pover">
|
||||||
<div class="search">
|
<div class="search">
|
||||||
@@ -26,13 +30,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="tree">
|
<div class="tree">
|
||||||
<a-tree show-icon allow-clear tree-default-expand-all :tree-data="treeData" :loading="orgLoading"
|
<a-tree show-icon allow-clear tree-default-expand-all :tree-data="treeData" :loading="orgLoading"
|
||||||
:load-data="onLoadData" v-model:selectedKeys="stuTreeSelectKeys"
|
:load-data="onLoadData" @expand="onExpand" v-model:selectedKeys="stuTreeSelectKeys"
|
||||||
v-model:expandedKeys="stuTreeExpandedKeys" :fieldNames="{
|
v-model:expandedKeys="stuTreeExpandedKeys" :fieldNames="{
|
||||||
children: 'treeChildList',
|
children: 'treeChildList',
|
||||||
key: 'id',
|
key: 'id',
|
||||||
title: 'name',
|
title: 'name',
|
||||||
value: 'name',
|
value: 'name',
|
||||||
}" @select="stuStuOrgSelect" style="max-height: 260px;overflow-y: auto;width: 250px;">
|
}" @select="stuStuOrgSelect" style="height: 300px;max-height: 300px;overflow-y: auto;width: 266px;">
|
||||||
<template #smile>
|
<template #smile>
|
||||||
<UserOutlined />
|
<UserOutlined />
|
||||||
</template>
|
</template>
|
||||||
@@ -259,6 +263,9 @@ const { data: treeData, loading: orgLoading } = useRequest(
|
|||||||
ORG_LIST,
|
ORG_LIST,
|
||||||
{ keyword: "" },
|
{ keyword: "" },
|
||||||
);
|
);
|
||||||
|
const onExpand = (expandedKeys, aaa) => {
|
||||||
|
console.log(expandedKeys, aaa,'xixixiiixi')
|
||||||
|
}
|
||||||
function onLoadData(treeNode) {
|
function onLoadData(treeNode) {
|
||||||
teacherById.value = treeNode.id
|
teacherById.value = treeNode.id
|
||||||
const promises = [];
|
const promises = [];
|
||||||
@@ -293,7 +300,12 @@ function onLoadData(treeNode) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
function stuStuOrgSelect(e, {selected: bool, selectedNodes, node, event}) {
|
function stuStuOrgSelect(e, {selected: bool, selectedNodes, node, event}) {
|
||||||
console.log(selectedNodes)
|
const index = stuTreeExpandedKeys.value.indexOf(node.id);
|
||||||
|
if (index === -1) {
|
||||||
|
stuTreeExpandedKeys.value.push(node.id);
|
||||||
|
} else {
|
||||||
|
stuTreeExpandedKeys.value.splice(index, 1);
|
||||||
|
}
|
||||||
teacherName.value = ''
|
teacherName.value = ''
|
||||||
orgName.value = ''
|
orgName.value = ''
|
||||||
orgId.value = ''
|
orgId.value = ''
|
||||||
@@ -302,7 +314,7 @@ function stuStuOrgSelect(e, {selected: bool, selectedNodes, node, event}) {
|
|||||||
teacherId.value = ''
|
teacherId.value = ''
|
||||||
payrollPlaceCode.value = ''
|
payrollPlaceCode.value = ''
|
||||||
payrollPlaceName.value = ''
|
payrollPlaceName.value = ''
|
||||||
if(selectedNodes[0].isLeaf){
|
if(selectedNodes[0]?.isLeaf){
|
||||||
teacherName.value = selectedNodes[0].name
|
teacherName.value = selectedNodes[0].name
|
||||||
orgName.value = selectedNodes[0].orgName
|
orgName.value = selectedNodes[0].orgName
|
||||||
orgId.value = selectedNodes[0].departId
|
orgId.value = selectedNodes[0].departId
|
||||||
@@ -401,13 +413,25 @@ const changeOut = () => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
::v-deep .ant-popover{
|
||||||
|
width: 300px;
|
||||||
|
hight: 400px;
|
||||||
|
top: 35px !important;
|
||||||
|
left: 0px !important;
|
||||||
|
}
|
||||||
.pover{
|
.pover{
|
||||||
|
::v-deep .ant-select-selector{
|
||||||
|
height: 30px !important;
|
||||||
|
border-radius: 4px !important;
|
||||||
|
line-height: 30px !important;
|
||||||
|
}
|
||||||
.search{
|
.search{
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
.tree{
|
.tree{
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
border: 1px solid rgba(215, 215, 215, 1);
|
border: 1px solid rgba(215, 215, 215, 1);
|
||||||
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
.btn{
|
.btn{
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
@@ -418,10 +442,11 @@ const changeOut = () => {
|
|||||||
height: 25px;
|
height: 25px;
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 25px;
|
// line-height: 25px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.btn1{
|
.btn1{
|
||||||
|
line-height: 25px;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
background-color: rgba(170, 170, 170, 1);
|
background-color: rgba(170, 170, 170, 1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,7 +87,7 @@
|
|||||||
<a-upload name="avatar" list-type="picture-card" class="avatar-uploader" :show-upload-list="false"
|
<a-upload name="avatar" list-type="picture-card" class="avatar-uploader" :show-upload-list="false"
|
||||||
:headers="headers" :before-upload="beforeUpload">
|
:headers="headers" :before-upload="beforeUpload">
|
||||||
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" title="更换头像" />
|
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" title="更换头像" />
|
||||||
<img class="i_upload_img" v-else src="../../assets/avatar.png" alt="avatar" title="更换头像" />
|
<img class="i_upload_img" v-else src="../../assets/Avatarman.png" alt="avatar" title="更换头像" />
|
||||||
<!-- <div class="i_upload" v-else>
|
<!-- <div class="i_upload" v-else>
|
||||||
<div class="addimg">
|
<div class="addimg">
|
||||||
<div class="heng"></div>
|
<div class="heng"></div>
|
||||||
|
|||||||
@@ -6,30 +6,30 @@
|
|||||||
<a-form layout="inline">
|
<a-form layout="inline">
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<!-- v-model:value="searchParam.name" -->
|
<!-- v-model:value="searchParam.name" -->
|
||||||
<a-input v-model:value="searchParam.name" style="width: 276px; height: 40px; border-radius: 8px"
|
<a-input v-model:value="searchParam.name" style="width: 235px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch @pressEnter="searchSubmit">
|
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch @pressEnter="searchSubmit">
|
||||||
</a-input>
|
</a-input>
|
||||||
</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.tSystemId" allowClear
|
<a-select style="width: 235px" placeholder="请选择讲师体系" v-model:value="searchParam.tSystemId" allowClear
|
||||||
:options="LecturerSystemList">
|
:options="LecturerSystemList" @keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<!-- <div @click="handlesearchlevel"> -->
|
<!-- <div @click="handlesearchlevel"> -->
|
||||||
<a-form-item class="select" >
|
<a-form-item class="select" >
|
||||||
<a-select style="width: 200px" v-model:value="searchParam.tLevelName" placeholder="请选择讲师级别" allowClear
|
<a-select style="width: 200px" v-model:value="searchParam.tLevelName" placeholder="请选择讲师级别" allowClear
|
||||||
:options="getLevelList" >
|
:options="getLevelList" @keydown.enter="enterPressHadlerSearch" >
|
||||||
<!-- :disabled="getLevelList.length !== 0 ? false : true" 禁用状态 -->
|
<!-- :disabled="getLevelList.length !== 0 ? false : true" 禁用状态 -->
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 200px ;margin-bottom:20px" v-model:value="searchParam.waitStatus" placeholder="在职状态"
|
<a-select style="width: 170px ;margin-bottom:20px" v-model:value="searchParam.waitStatus" placeholder="在职状态"
|
||||||
:options="OnTheJobStatusList" allowClear>
|
:options="OnTheJobStatusList" @keydown.enter="enterPressHadlerSearch" allowClear>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 200px ;" v-model:value="searchParam.certStatus" placeholder="认证状态" allowClear
|
<a-select style="width: 170px ;" v-model:value="searchParam.certStatus" placeholder="认证状态" allowClear
|
||||||
:options="AuthenticationStatusList">
|
:options="AuthenticationStatusList" @keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" title="更换头像" />
|
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" title="更换头像" />
|
||||||
<img class="i_upload_img" v-else-if="formParam.gender==1" src="../../assets/Avatarman.png" alt="avatar" title="更换头像" />
|
<img class="i_upload_img" v-else-if="formParam.gender==1" src="../../assets/Avatarman.png" alt="avatar" title="更换头像" />
|
||||||
<img class="i_upload_img" v-else-if="formParam.gender==2" src="../../assets/Avatarwoman.png" alt="avatar" title="更换头像" />
|
<img class="i_upload_img" v-else-if="formParam.gender==2" src="../../assets/Avatarwoman.png" alt="avatar" title="更换头像" />
|
||||||
<img class="i_upload_img" v-else src="../../assets/avatar.png" alt="avatar" title="更换头像" />
|
<img class="i_upload_img" v-else src="../../assets/Avatarman.png" alt="avatar" title="更换头像" />
|
||||||
<!-- <div class="i_upload" v-else>
|
<!-- <div class="i_upload" v-else>
|
||||||
<div class="addimg">
|
<div class="addimg">
|
||||||
<div class="heng"></div>
|
<div class="heng"></div>
|
||||||
@@ -198,13 +198,13 @@
|
|||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item label="初始授课时长" name="defaultTeachingTime">
|
<a-form-item label="初始授课时长" name="defaultTeachingTime">
|
||||||
<a-input v-model:value="formParam.defaultTeachingTime" style="width:80%; height: 40px; border-radius: 8px; "
|
<a-input v-model:value="formParam.defaultTeachingTime" style="width:100%; height: 40px; border-radius: 8px; "
|
||||||
:maxLength="8"
|
:maxLength="8"
|
||||||
@change="clearNonNumber" placeholder="请输入初始授课时长" allowClear suffix="分钟">
|
@change="clearNonNumber" placeholder="请输入初始授课时长" allowClear suffix="分钟">
|
||||||
</a-input>
|
</a-input>
|
||||||
<span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime === null">0.00小时</span>
|
<!-- <span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime === null">0.00小时</span>
|
||||||
<span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime != null">{{
|
<span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime != null">{{
|
||||||
(formParam.defaultTeachingTime / 60).toFixed(2) }}小时</span>
|
(formParam.defaultTeachingTime / 60).toFixed(2) }}小时</span> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
@@ -318,7 +318,7 @@
|
|||||||
textAlign: 'right',
|
textAlign: 'right',
|
||||||
zIndex: 1,
|
zIndex: 1,
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
justifyContent: 'center',
|
justifyContent: 'end',
|
||||||
}">
|
}">
|
||||||
<a-button class="drabtn" @click="cancelTeacherDialog">取消</a-button>
|
<a-button class="drabtn" @click="cancelTeacherDialog">取消</a-button>
|
||||||
<a-button class="drabtn" type="primary" @click="createTeacherDialog" :loading="buttonLoading">保存
|
<a-button class="drabtn" type="primary" @click="createTeacherDialog" :loading="buttonLoading">保存
|
||||||
@@ -874,6 +874,11 @@ export default {
|
|||||||
const tableData = ref([
|
const tableData = ref([
|
||||||
|
|
||||||
])
|
])
|
||||||
|
const enterPressHadlerSearch = (e) => {
|
||||||
|
if(e.keyCode==13){
|
||||||
|
searchSubmit()
|
||||||
|
}
|
||||||
|
}
|
||||||
// 搜索
|
// 搜索
|
||||||
const searchSubmit = () => {
|
const searchSubmit = () => {
|
||||||
state.searchParam.pageNo = 1
|
state.searchParam.pageNo = 1
|
||||||
@@ -963,6 +968,7 @@ export default {
|
|||||||
const teacherTlevel = (val) => {
|
const teacherTlevel = (val) => {
|
||||||
console.log(val,'vallll')
|
console.log(val,'vallll')
|
||||||
if(val?.avatar){
|
if(val?.avatar){
|
||||||
|
val.avatar = val.avatar.includes('upload') ? val.avatar : '/upload' + val.avatar
|
||||||
state.formParam.photo = val.avatar
|
state.formParam.photo = val.avatar
|
||||||
}
|
}
|
||||||
state.formParam.gender = val?.gender
|
state.formParam.gender = val?.gender
|
||||||
@@ -1329,6 +1335,7 @@ export default {
|
|||||||
// PlaceOfPayList,
|
// PlaceOfPayList,
|
||||||
AccountStatusList,
|
AccountStatusList,
|
||||||
searchSubmit,
|
searchSubmit,
|
||||||
|
enterPressHadlerSearch,
|
||||||
searchReset,
|
searchReset,
|
||||||
columns,
|
columns,
|
||||||
tableData,
|
tableData,
|
||||||
@@ -1762,31 +1769,32 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.add_list{
|
.add_list{
|
||||||
width: 150%;
|
width: 136%;
|
||||||
|
margin-right:20px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
// overflow: auto;
|
// overflow: auto;
|
||||||
.add_item{
|
.add_item{
|
||||||
padding: 0 10px;
|
padding: 5px 15px;
|
||||||
color: #096dd9;
|
color: #096dd9;
|
||||||
background: #e6f7ff;
|
background: #e6f7ff;
|
||||||
border: 1px solid #91d5ff;
|
border: 1px solid #91d5ff;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
width: 66px;
|
// width: 66px;
|
||||||
height: 22px;
|
// height: 22px;
|
||||||
line-height: 22px;
|
// line-height: 22px;
|
||||||
text-align: center;
|
// text-align: center;
|
||||||
white-space: nowrap;
|
// white-space: nowrap;
|
||||||
overflow: hidden;
|
// overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
// text-overflow: ellipsis;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
.add_content {
|
.add_content {
|
||||||
width: 20px;
|
width: 30px;
|
||||||
height: 20px;
|
height: 30px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background-color: #4ea6ff;
|
background-color: #4ea6ff;
|
||||||
|
|||||||
@@ -74,7 +74,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-drawer v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false" dropdown-style="drawaer"
|
<a-drawer v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false" dropdown-style="drawaer"
|
||||||
width="60%" :title="false">
|
width="60%" :title="false">
|
||||||
<div class="headers">
|
<div class="headers" style="margin-top:-24px;">
|
||||||
<div class="headerTitle">编辑讲师费</div>
|
<div class="headerTitle">编辑讲师费</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
@@ -894,7 +894,7 @@ export default {
|
|||||||
width: 200px;
|
width: 200px;
|
||||||
}
|
}
|
||||||
.headers {
|
.headers {
|
||||||
height: 73px;
|
height: 57px;
|
||||||
border-bottom: 1px solid #e8e8e8;
|
border-bottom: 1px solid #e8e8e8;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|||||||
@@ -1690,7 +1690,7 @@ const column = ref([
|
|||||||
width: 410px !important;
|
width: 410px !important;
|
||||||
}
|
}
|
||||||
.headers {
|
.headers {
|
||||||
height: 73px;
|
height: 57px;
|
||||||
border-bottom: 1px solid #e8e8e8;
|
border-bottom: 1px solid #e8e8e8;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|||||||
Reference in New Issue
Block a user