mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-14 05:16:45 +08:00
讲师管理新建讲师修改
This commit is contained in:
@@ -59,3 +59,5 @@ export const fileUp = (obj) => http.post('/file/upload', obj)
|
|||||||
export const getTeacherByDepartId = (obj) => http.get(`/admin/thirdApi/user/list?departId=${obj.organizationId}&pageNo=1&pageSize=1000&keyword=`)
|
export const getTeacherByDepartId = (obj) => http.get(`/admin/thirdApi/user/list?departId=${obj.organizationId}&pageNo=1&pageSize=1000&keyword=`)
|
||||||
//根据姓名工号查询讲师
|
//根据姓名工号查询讲师
|
||||||
export const getTeacherByNameOrUserNo = (obj) => http.get(`/admin/thirdApi/user/list?keyword=${obj.nameOrUserNo}&pageNo=1&pageSize=50&departId=`)
|
export const getTeacherByNameOrUserNo = (obj) => http.get(`/admin/thirdApi/user/list?keyword=${obj.nameOrUserNo}&pageNo=1&pageSize=50&departId=`)
|
||||||
|
//根据userid获取讲师体系信息
|
||||||
|
export const getSystemInfoByUserId = (id) => http.get(`/admin/ststem/getSystemInfoByUserId?id=${id}`)
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
</a-select>
|
</a-select>
|
||||||
</div>
|
</div>
|
||||||
<div class="tree">
|
<div class="tree">
|
||||||
<a-tree 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" v-model:selectedKeys="stuTreeSelectKeys"
|
||||||
v-model:expandedKeys="stuTreeExpandedKeys" :fieldNames="{
|
v-model:expandedKeys="stuTreeExpandedKeys" :fieldNames="{
|
||||||
children: 'treeChildList',
|
children: 'treeChildList',
|
||||||
@@ -33,11 +33,15 @@
|
|||||||
title: 'name',
|
title: 'name',
|
||||||
value: 'name',
|
value: 'name',
|
||||||
}" @select="stuStuOrgSelect" style="max-height: 260px;overflow-y: auto;width: 250px;">
|
}" @select="stuStuOrgSelect" style="max-height: 260px;overflow-y: auto;width: 250px;">
|
||||||
|
<template #smile>
|
||||||
|
<UserOutlined />
|
||||||
|
</template>
|
||||||
</a-tree>
|
</a-tree>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn">
|
<div class="btn">
|
||||||
<div class="btn0 btn1" @click="notChange">取消</div>
|
<div class="btn0 btn1" @click="notChange">取消</div>
|
||||||
<div class="btn0 btn2" @click="changeOut">确定</div>
|
<!-- <div class="btn0 btn2" @click="changeOut">确定</div> -->
|
||||||
|
<a-button :loading="loadingChange" @click="changeOut" class="btn0 btn2" type="primary">确定</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -63,8 +67,8 @@ import { ref,defineProps,defineEmits,watch,onMounted } from 'vue';
|
|||||||
import { request, useRequest} from "@/api/request";
|
import { request, useRequest} from "@/api/request";
|
||||||
import { message } from "ant-design-vue"
|
import { message } from "ant-design-vue"
|
||||||
import { ORG_CHILD_LIST, ORG_LIST,USER_LIST_PAGE} from "@/api/apis";
|
import { ORG_CHILD_LIST, ORG_LIST,USER_LIST_PAGE} from "@/api/apis";
|
||||||
import { getTeacherByDepartId,getTeacherByNameOrUserNo } from "@/api/Lecturer";
|
import { getTeacherByDepartId,getTeacherByNameOrUserNo,getSystemInfoByUserId } from "@/api/Lecturer";
|
||||||
import { ZoomInOutlined } from '@ant-design/icons-vue';
|
import { ZoomInOutlined,UserOutlined } from '@ant-design/icons-vue';
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
value:{
|
value:{
|
||||||
type: String,
|
type: String,
|
||||||
@@ -79,8 +83,8 @@ const props = defineProps({
|
|||||||
default: '',
|
default: '',
|
||||||
},
|
},
|
||||||
system:{
|
system:{
|
||||||
type: String,
|
type: Object,
|
||||||
default: '',
|
default: ()=>{},
|
||||||
},
|
},
|
||||||
level:{
|
level:{
|
||||||
type: String,
|
type: String,
|
||||||
@@ -105,16 +109,18 @@ function blur() {
|
|||||||
isOpen.value = false
|
isOpen.value = false
|
||||||
}
|
}
|
||||||
const orgName = ref('')
|
const orgName = ref('')
|
||||||
const systemName = ref('')
|
const systemName = ref(null)
|
||||||
const levelName = ref('')
|
const levelName = ref('')
|
||||||
const neworgName = ref('')
|
const neworgName = ref('')
|
||||||
|
const teacherId = ref('')
|
||||||
const handleChange = (e,l) => {
|
const handleChange = (e,l) => {
|
||||||
isOpen.value = false
|
isOpen.value = false
|
||||||
// emit('update:value',e)
|
// emit('update:value',e)
|
||||||
teacherName.value = e
|
teacherName.value = e
|
||||||
orgName.value = l.orgName
|
orgName.value = l.orgName
|
||||||
systemName.value = l.systemName
|
// systemName.value = l.systemName
|
||||||
levelName.value = l.levelName
|
levelName.value = l.levelName
|
||||||
|
teacherId.value = l.key
|
||||||
if( l.orgName !==null ){
|
if( l.orgName !==null ){
|
||||||
neworgName.value= orgName.value.split('/')
|
neworgName.value= orgName.value.split('/')
|
||||||
neworgName.value= neworgName.value[ neworgName.value.length-1]
|
neworgName.value= neworgName.value[ neworgName.value.length-1]
|
||||||
@@ -145,7 +151,7 @@ const searchMember = (keyword) => {
|
|||||||
loading.value = false
|
loading.value = false
|
||||||
options.value = res.data.data.list.map((item) => {
|
options.value = res.data.data.list.map((item) => {
|
||||||
return {
|
return {
|
||||||
value: item.realName,
|
value: item.realName+'/'+item.userNo,
|
||||||
label: item.realName+'('+item.userNo+')'+item.orgName,
|
label: item.realName+'('+item.userNo+')'+item.orgName,
|
||||||
system: item.realName+'('+item.userNo+')'+item.tSystemName,
|
system: item.realName+'('+item.userNo+')'+item.tSystemName,
|
||||||
level: item.realName+'('+item.userNo+')'+item.sLevelName,
|
level: item.realName+'('+item.userNo+')'+item.sLevelName,
|
||||||
@@ -184,7 +190,8 @@ function onLoadData(treeNode) {
|
|||||||
res.data.data.list.map(item=>{
|
res.data.data.list.map(item=>{
|
||||||
return (
|
return (
|
||||||
item.isLeaf = true,
|
item.isLeaf = true,
|
||||||
item.name = item.realName
|
item.name = item.realName + '/' + item.userNo,
|
||||||
|
item.slots = {icon:'smile'}
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
childDatas.unshift(...res.data.data.list)
|
childDatas.unshift(...res.data.data.list)
|
||||||
@@ -210,13 +217,15 @@ function stuStuOrgSelect(e, {selected: bool, selectedNodes, node, event}) {
|
|||||||
console.log(selectedNodes)
|
console.log(selectedNodes)
|
||||||
teacherName.value = ''
|
teacherName.value = ''
|
||||||
orgName.value = ''
|
orgName.value = ''
|
||||||
systemName.value = ''
|
systemName.value = null
|
||||||
levelName.value = ''
|
levelName.value = ''
|
||||||
|
teacherId.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
|
||||||
systemName.value = selectedNodes[0].systemName
|
// systemName.value = selectedNodes[0].systemName
|
||||||
levelName.value = selectedNodes[0].levelName
|
levelName.value = selectedNodes[0].levelName
|
||||||
|
teacherId.value = selectedNodes[0].id
|
||||||
// emit('update:value',selectedNodes[0].realName)
|
// emit('update:value',selectedNodes[0].realName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -226,10 +235,13 @@ watch(()=>visible.value,(val)=>{
|
|||||||
stuTreeExpandedKeys.value = []
|
stuTreeExpandedKeys.value = []
|
||||||
teacherName.value = ''
|
teacherName.value = ''
|
||||||
orgName.value = ''
|
orgName.value = ''
|
||||||
systemName.value = ''
|
systemName.value = null
|
||||||
levelName.value = ''
|
levelName.value = ''
|
||||||
neworgName.value=''
|
neworgName.value=''
|
||||||
selectName.value = null
|
selectName.value = null
|
||||||
|
selectData.value = ''
|
||||||
|
teacherId.value = ''
|
||||||
|
loadingChange.value = false
|
||||||
// changeneworg()
|
// changeneworg()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -237,10 +249,32 @@ const notChange = () => {
|
|||||||
visible.value = false
|
visible.value = false
|
||||||
teacherName.value = ''
|
teacherName.value = ''
|
||||||
orgName.value = ''
|
orgName.value = ''
|
||||||
systemName.value = ''
|
systemName.value = null
|
||||||
levelName.value = ''
|
levelName.value = ''
|
||||||
neworgName.value=''
|
neworgName.value=''
|
||||||
|
teacherId.value = ''
|
||||||
|
loadingChange.value = false
|
||||||
}
|
}
|
||||||
|
const loadingChange = ref(false)
|
||||||
|
watch(()=>teacherId.value,(val)=>{
|
||||||
|
if(val){
|
||||||
|
loadingChange.value = true
|
||||||
|
getSystemInfoByUserId(teacherId.value).then(res=>{
|
||||||
|
if(res.data.code == 200){
|
||||||
|
systemName.value = {
|
||||||
|
systemId:res.data.data.id,
|
||||||
|
systemName:res.data.data.systemName,
|
||||||
|
systemCode:res.data.data.systemCode
|
||||||
|
}
|
||||||
|
}
|
||||||
|
loadingChange.value = false
|
||||||
|
emit('update:system',systemName.value)
|
||||||
|
}).catch(err=>{
|
||||||
|
message.error('讲师体系获取失败,请重新选择')
|
||||||
|
loadingChange.value = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
const changeOut = () => {
|
const changeOut = () => {
|
||||||
if(!teacherName.value){
|
if(!teacherName.value){
|
||||||
message.error('请选择讲师')
|
message.error('请选择讲师')
|
||||||
@@ -290,6 +324,7 @@ const changeOut = () => {
|
|||||||
}
|
}
|
||||||
.btn2{
|
.btn2{
|
||||||
background-color: rgba(50, 107, 250, 1);
|
background-color: rgba(50, 107, 250, 1);
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -145,7 +145,7 @@
|
|||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item label="讲师名称" name="name">
|
<a-form-item label="讲师名称" name="name">
|
||||||
<SearchTeacher v-model:value="formParam.name" v-model:lable="formParam.orgName"
|
<SearchTeacher v-model:value="formParam.name" v-model:lable="formParam.orgName"
|
||||||
v-model:system="formParam.tSystemName" v-model:level="formParam.tLevelId"></SearchTeacher>
|
v-model:system="tSystemNames" v-model:level="formParam.tLevelId"></SearchTeacher>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
@@ -167,7 +167,7 @@
|
|||||||
<!-- <a-select class="draitem" v-model:value="formParam.tSystemName" placeholder="请选择讲师体系" allowClear
|
<!-- <a-select class="draitem" v-model:value="formParam.tSystemName" placeholder="请选择讲师体系" allowClear
|
||||||
@change="changetlevel" .:options="LecturerSystemList">
|
@change="changetlevel" .:options="LecturerSystemList">
|
||||||
</a-select> -->
|
</a-select> -->
|
||||||
<a-input disabled v-model:value="formParam.tSystemName" class="draitem"
|
<a-input disabled v-model:value="tSystemNames.systemName" class="draitem"
|
||||||
placeholder="自动带出讲师的体系" allowClear showSearch>
|
placeholder="自动带出讲师的体系" allowClear showSearch>
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -411,6 +411,9 @@ export default {
|
|||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
tableDataTotal: -1,//table列表总条数
|
tableDataTotal: -1,//table列表总条数
|
||||||
vf: false,
|
vf: false,
|
||||||
|
tSystemNames:{
|
||||||
|
systemName:null
|
||||||
|
},
|
||||||
formParam: {
|
formParam: {
|
||||||
name: null,
|
name: null,
|
||||||
certStatus: 0,//认证状态
|
certStatus: 0,//认证状态
|
||||||
@@ -870,6 +873,7 @@ export default {
|
|||||||
return message.error(rules[formItemNames[i]][0].log)
|
return message.error(rules[formItemNames[i]][0].log)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
state.formParam = {...state.formParam,...state.tSystemNames}
|
||||||
if (state.vf == false) {
|
if (state.vf == false) {
|
||||||
updateInTeacher(state.formParam).then(response => {
|
updateInTeacher(state.formParam).then(response => {
|
||||||
message.success("修改成功");
|
message.success("修改成功");
|
||||||
@@ -1011,6 +1015,9 @@ export default {
|
|||||||
workExperience: '',
|
workExperience: '',
|
||||||
courses: '',
|
courses: '',
|
||||||
}
|
}
|
||||||
|
state.tSystemNames = {
|
||||||
|
systemName:null
|
||||||
|
}
|
||||||
}
|
}
|
||||||
const clearNonNumber = () => {
|
const clearNonNumber = () => {
|
||||||
state.formParam.defaultteachingTime = state.formParam.defaultteachingTime.replace(/\D/g, '');
|
state.formParam.defaultteachingTime = state.formParam.defaultteachingTime.replace(/\D/g, '');
|
||||||
@@ -1019,7 +1026,7 @@ export default {
|
|||||||
name: [{ required: true, message: '',log:'讲师不能为空' }],
|
name: [{ required: true, message: '',log:'讲师不能为空' }],
|
||||||
// newdepartId: [{ required: true, message: '组织不能为空' }],
|
// newdepartId: [{ required: true, message: '组织不能为空' }],
|
||||||
tLevelId: [{ required: true, message: '',log:'讲师级别不能为空' }],
|
tLevelId: [{ required: true, message: '',log:'讲师级别不能为空' }],
|
||||||
// tSystemName: [{ required: true, message: '讲师体系不能为空' }],
|
tSystemName: [{ required: true, message: '讲师体系不能为空' }],
|
||||||
defaultteachingTime: [{ required: true, message: '',log:'初始授课时长不能为空' }],
|
defaultteachingTime: [{ required: true, message: '',log:'初始授课时长不能为空' }],
|
||||||
// certStatus: [{ required: true, message: '认证状态不能为空' }],
|
// certStatus: [{ required: true, message: '认证状态不能为空' }],
|
||||||
|
|
||||||
@@ -1078,6 +1085,9 @@ export default {
|
|||||||
state.formParam.workExp0erience = state.formParam.workExperience === null ? '' : state.formParam.workExperience
|
state.formParam.workExp0erience = state.formParam.workExperience === null ? '' : state.formParam.workExperience
|
||||||
state.formParam.courses = state.formParam.courses === null ? '' : state.formParam.courses
|
state.formParam.courses = state.formParam.courses === null ? '' : state.formParam.courses
|
||||||
state.formParam.photo = state.formParam.photo === null ? 'https://p0.itc.cn/q_70/images01/20211013/f45d91616a364d6ea9c42a8db69734aa.png' : state.formParam.photo
|
state.formParam.photo = state.formParam.photo === null ? 'https://p0.itc.cn/q_70/images01/20211013/f45d91616a364d6ea9c42a8db69734aa.png' : state.formParam.photo
|
||||||
|
state.tSystemNames.systemName = res.data.data.systemName
|
||||||
|
state.tSystemNames.systemCode = res.data.data.systemCode
|
||||||
|
state.tSystemNames.systemId = res.data.data.systemId
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user