diff --git a/src/api/Lecturer.js b/src/api/Lecturer.js
index 4462fe2c..ffc6309e 100644
--- a/src/api/Lecturer.js
+++ b/src/api/Lecturer.js
@@ -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 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}`)
\ No newline at end of file
diff --git a/src/components/project/SearchTeacher.vue b/src/components/project/SearchTeacher.vue
index 0d4a5371..173e80df 100644
--- a/src/components/project/SearchTeacher.vue
+++ b/src/components/project/SearchTeacher.vue
@@ -25,7 +25,7 @@
@@ -63,8 +67,8 @@ import { ref,defineProps,defineEmits,watch,onMounted } from 'vue';
import { request, useRequest} from "@/api/request";
import { message } from "ant-design-vue"
import { ORG_CHILD_LIST, ORG_LIST,USER_LIST_PAGE} from "@/api/apis";
-import { getTeacherByDepartId,getTeacherByNameOrUserNo } from "@/api/Lecturer";
-import { ZoomInOutlined } from '@ant-design/icons-vue';
+import { getTeacherByDepartId,getTeacherByNameOrUserNo,getSystemInfoByUserId } from "@/api/Lecturer";
+import { ZoomInOutlined,UserOutlined } from '@ant-design/icons-vue';
const props = defineProps({
value:{
type: String,
@@ -79,8 +83,8 @@ const props = defineProps({
default: '',
},
system:{
- type: String,
- default: '',
+ type: Object,
+ default: ()=>{},
},
level:{
type: String,
@@ -105,16 +109,18 @@ function blur() {
isOpen.value = false
}
const orgName = ref('')
-const systemName = ref('')
+const systemName = ref(null)
const levelName = ref('')
const neworgName = ref('')
+const teacherId = ref('')
const handleChange = (e,l) => {
isOpen.value = false
// emit('update:value',e)
teacherName.value = e
orgName.value = l.orgName
- systemName.value = l.systemName
+ // systemName.value = l.systemName
levelName.value = l.levelName
+ teacherId.value = l.key
if( l.orgName !==null ){
neworgName.value= orgName.value.split('/')
neworgName.value= neworgName.value[ neworgName.value.length-1]
@@ -145,7 +151,7 @@ const searchMember = (keyword) => {
loading.value = false
options.value = res.data.data.list.map((item) => {
return {
- value: item.realName,
+ value: item.realName+'/'+item.userNo,
label: item.realName+'('+item.userNo+')'+item.orgName,
system: item.realName+'('+item.userNo+')'+item.tSystemName,
level: item.realName+'('+item.userNo+')'+item.sLevelName,
@@ -184,7 +190,8 @@ function onLoadData(treeNode) {
res.data.data.list.map(item=>{
return (
item.isLeaf = true,
- item.name = item.realName
+ item.name = item.realName + '/' + item.userNo,
+ item.slots = {icon:'smile'}
)
})
childDatas.unshift(...res.data.data.list)
@@ -210,13 +217,15 @@ function stuStuOrgSelect(e, {selected: bool, selectedNodes, node, event}) {
console.log(selectedNodes)
teacherName.value = ''
orgName.value = ''
- systemName.value = ''
+ systemName.value = null
levelName.value = ''
+ teacherId.value = ''
if(selectedNodes[0].isLeaf){
teacherName.value = selectedNodes[0].name
orgName.value = selectedNodes[0].orgName
- systemName.value = selectedNodes[0].systemName
+ // systemName.value = selectedNodes[0].systemName
levelName.value = selectedNodes[0].levelName
+ teacherId.value = selectedNodes[0].id
// emit('update:value',selectedNodes[0].realName)
}
}
@@ -226,10 +235,13 @@ watch(()=>visible.value,(val)=>{
stuTreeExpandedKeys.value = []
teacherName.value = ''
orgName.value = ''
- systemName.value = ''
+ systemName.value = null
levelName.value = ''
neworgName.value=''
selectName.value = null
+ selectData.value = ''
+ teacherId.value = ''
+ loadingChange.value = false
// changeneworg()
}
})
@@ -237,10 +249,32 @@ const notChange = () => {
visible.value = false
teacherName.value = ''
orgName.value = ''
- systemName.value = ''
+ systemName.value = null
levelName.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 = () => {
if(!teacherName.value){
message.error('请选择讲师')
@@ -290,6 +324,7 @@ const changeOut = () => {
}
.btn2{
background-color: rgba(50, 107, 250, 1);
+ padding: 0;
}
}
}
diff --git a/src/views/lecturer/InsideLecturer.vue b/src/views/lecturer/InsideLecturer.vue
index 09323382..c4ec7b4e 100644
--- a/src/views/lecturer/InsideLecturer.vue
+++ b/src/views/lecturer/InsideLecturer.vue
@@ -145,7 +145,7 @@
+ v-model:system="tSystemNames" v-model:level="formParam.tLevelId">
@@ -167,7 +167,7 @@
-
@@ -411,6 +411,9 @@ export default {
pageSize: 10,
tableDataTotal: -1,//table列表总条数
vf: false,
+ tSystemNames:{
+ systemName:null
+ },
formParam: {
name: null,
certStatus: 0,//认证状态
@@ -870,6 +873,7 @@ export default {
return message.error(rules[formItemNames[i]][0].log)
}
}
+ state.formParam = {...state.formParam,...state.tSystemNames}
if (state.vf == false) {
updateInTeacher(state.formParam).then(response => {
message.success("修改成功");
@@ -1011,6 +1015,9 @@ export default {
workExperience: '',
courses: '',
}
+ state.tSystemNames = {
+ systemName:null
+ }
}
const clearNonNumber = () => {
state.formParam.defaultteachingTime = state.formParam.defaultteachingTime.replace(/\D/g, '');
@@ -1019,7 +1026,7 @@ export default {
name: [{ required: true, message: '',log:'讲师不能为空' }],
// newdepartId: [{ required: true, message: '组织不能为空' }],
tLevelId: [{ required: true, message: '',log:'讲师级别不能为空' }],
- // tSystemName: [{ required: true, message: '讲师体系不能为空' }],
+ tSystemName: [{ required: true, message: '讲师体系不能为空' }],
defaultteachingTime: [{ required: true, message: '',log:'初始授课时长不能为空' }],
// certStatus: [{ required: true, message: '认证状态不能为空' }],
@@ -1078,6 +1085,9 @@ export default {
state.formParam.workExp0erience = state.formParam.workExperience === null ? '' : state.formParam.workExperience
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.tSystemNames.systemName = res.data.data.systemName
+ state.tSystemNames.systemCode = res.data.data.systemCode
+ state.tSystemNames.systemId = res.data.data.systemId
}