新增讲师接口修改

This commit is contained in:
zhangsir
2024-11-11 11:08:49 +08:00
parent 8a2078cd06
commit dabca2e636
6 changed files with 76 additions and 38 deletions

View File

@@ -47,7 +47,7 @@ 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=100&keyword=`)
//根据姓名工号查询讲师
export const getTeacherByNameOrUserNo = (obj) => https.post(`/user/teacherList`,obj)
export const getTeacherByNameOrUserNo = (obj) => https.post(`/user/noTeacherList`,obj)
// export const getTeacherByNameOrUserNo = (obj) => https.post(`/user/teacherList?keyword=${obj.nameOrUserNo}&pageNo=1&pageSize=50&departId=`)
//根据userid获取讲师体系信息
export const getSystemInfoByUserId = (id) => http.get(`/admin/system/getSystemInfoByUserId?id=${id}`)

View File

@@ -68,7 +68,7 @@ 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,getSystemInfoByUserId } from "@/api/Lecturer";
import { getTeacherByDepartId,getTeacherByNameOrUserNo,getSystemInfoByUserId,getTeacherList } from "@/api/Lecturer";
import { ZoomInOutlined,UserOutlined } from '@ant-design/icons-vue';
const props = defineProps({
value:{
@@ -110,6 +110,10 @@ const props = defineProps({
disabled: {
type: Boolean,
default: false,
},
lecturer: {
type: Boolean,
default: false,
}
})
const emit = defineEmits(['update:value','update:lable','update:system','update:level','update:newlable','update:orgId','update:id','update:payrollPlaceCode','update:payrollPlaceName'])
@@ -154,6 +158,7 @@ const handleChange = (e,l) => {
neworgName.value= orgName.value.split('/')
neworgName.value= neworgName.value[ neworgName.value.length-1]
}
emit('tlevel',l)
};
function debounce(func, wait) {
let timeout;
@@ -181,7 +186,7 @@ const searchMember = (keyword) => {
pageSize:'50',
departId:'',
}
getTeacherByNameOrUserNo(obj).then((res) => {
props.lecturer && getTeacherByNameOrUserNo(obj).then((res) => {
if(res.data.status == 200){
loading.value = false
options.value = res.data.result.list.map((item) => {
@@ -205,6 +210,36 @@ const searchMember = (keyword) => {
}).catch(()=>{
loading.value = false
})
const params = {
pageNo: 1,
pageSize: 50,
name: keyword
}
!props.lecturer && getTeacherList(params).then(res=>{
console.log(res,'ressss')
if(res.data.code == 200){
loading.value = false
options.value = res.data.data.records.map((item) => {
return {
value: item.name+'/'+item.userNo,
label: item.name+'('+item.userNo+')'+item.tsystemName,
system: item.name+'('+item.userNo+')'+item.tsystemName,
level: item.name+'('+item.userNo+')'+item.sLevelName,
key: item.id,
orgName: item.orgName,
orgId: item.departId,
tSystemName:item.tsystemName,
sLevelName:item.sLevelName,
payrollPlaceCode: item.payrollPlaceCode,
payrollPlaceName:item.payrollPlaceName,
tlevelName: item.tlevelName, //讲师级别
tlevelId: item.tlevelId, //讲师级别id
}
})
}
}).catch(()=>{
loading.value = false
})
};
const debounceObject = debounce(searchMember, 1500);
const filterOption = (input, option) => {
@@ -313,10 +348,10 @@ watch(()=>teacherId.value,(val)=>{
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,
levelVoList: res.data.data.levelVoList.map(item=>{
systemId:res.data.data?.id,
systemName:res.data.data?.systemName,
systemCode:res.data.data?.systemCode,
levelVoList: res.data.data?.levelVoList?.map(item=>{
return (
item.label = item.levelName,
item.value = item.id,

View File

@@ -144,7 +144,7 @@
<a-row :gutter="16">
<a-col :span="24">
<a-form-item label="讲师名称" name="name">
<SearchTeacher :disabled="!!id" v-model:value="formParam.name" v-model:lable="formParam.orgNames" v-model:orgId="formParam.orgId" v-model:id="formParam.id"
<SearchTeacher :lecturer="true" :disabled="!!id" v-model:value="formParam.name" v-model:lable="formParam.orgNames" v-model:orgId="formParam.orgId" v-model:id="formParam.id"
v-model:system="tSystemNames" v-model:level="formParam.tlevelId"></SearchTeacher>
</a-form-item>
</a-col>

View File

@@ -160,7 +160,7 @@
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="讲师名称" name="name">
<SearchTeacher v-model:value="formParam.name" v-model:lable="formParam.orgName"
<SearchTeacher @tlevel="tlevelChange" v-model:value="formParam.name" v-model:lable="formParam.orgName"
v-model:system="tSystemNames" v-model:level="formParam.tlevelId"></SearchTeacher>
</a-form-item>
</a-col>
@@ -188,10 +188,10 @@
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="讲师级别" name="tlevelId">
<a-select class="draitem" v-model:value="formParam.tlevelId" placeholder="请选择讲师级别" allowClear
:options="tSystemNames.levelVoList" @change="handleformlevel">
</a-select>
<a-form-item label="讲师级别" name="tlevelName">
<a-input disabled v-model:value="formParam.tlevelName" class="draitem"
placeholder="自动带出讲师级别" allowClear showSearch>
</a-input>
</a-form-item>
</a-col>
</a-row>
@@ -886,6 +886,10 @@ export default {
});
});
}
const tlevelChange = (e) => {
state.formParam.tlevelName = e?.tlevelName
state.formParam.tlevelId = e?.tlevelId
}
//保存
const createTeacherDialog = async () => {
state.formParam.teacherName = state.formParam.name?.split('/')[0]
@@ -1137,7 +1141,7 @@ export default {
const rules = {
name: [{ required: true, message:'',log: '讲师不能为空' }],
orgName: [{ required: true, message: '',log:'讲师组织不能为空' }],
tlevelId: [{ required: true, message: '',log:'讲师级别不能为空' }],
tlevelName: [{ required: true, message: '',log:'讲师级别不能为空' }],
tsystemName: [{ required: true, message: '',log:'讲师体系不能为空' }],
courseTypeId: [{ required: true, message: '',log:'内容分类不能为空' }],
courseName: [{ required: true, message: '',log:'课程名称不能为空' }],
@@ -1152,10 +1156,6 @@ export default {
// state.searchParam.name = t;
// // state.searchParam.trainorgName=orgName
// }
const handleformlevel = (val) => {
state.formParam.tlevelName = state.tSystemNames.levelVoList.find(item=>item.id===val)?.levelName
state.formParam.tlevelId = state.tSystemNames.levelVoList.find(item=>item.id===val)?.id
}
//导出功能
const handleExport = () => {
window.open(
@@ -1233,7 +1233,6 @@ const enterPressHadlerSearch = e => {
enterPressHadlerSearch,
treetype,
validateField,
handleformlevel,
// managerChange,
clearNonNumber,
clearscoreNumber,
@@ -1267,6 +1266,7 @@ const enterPressHadlerSearch = e => {
handleModify,
closeDeleteTeacher,
createTeacherDialog,
tlevelChange,
getTableDate, //list接口数据调用
// getStu
LecturerSystemLista,

View File

@@ -73,7 +73,7 @@
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="讲师名称" name="name">
<SearchTeacher v-model:id="formParam.teacherId" v-model:value="formParam.name" v-model:orgId="formParam.orgId" v-model:lable="formParam.orgName" v-model:user="formParam.userNo"
<SearchTeacher @tlevel="tlevelChange" v-model:id="formParam.teacherId" v-model:value="formParam.name" v-model:orgId="formParam.orgId" v-model:lable="formParam.orgName" v-model:user="formParam.userNo"
v-model:system="tSystemNames" v-model:payrollPlaceCode="formParam.payrollPlaceId"
v-model:payrollPlaceName="formParam.payrollPlace" v-model:level="formParam.tlevelId" ></SearchTeacher>
</a-form-item>
@@ -109,10 +109,10 @@
</a-row>
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="讲师级别" name="tlevelId">
<a-select class="draitem" v-model:value="formParam.tlevelId" placeholder="请选择讲师级别" allowClear
:options="tSystemNames.levelVoList" @change="handleformlevel">
</a-select>
<a-form-item label="讲师级别" name="tlevelName">
<a-input disabled v-model:value="formParam.tlevelName" class="draitem"
placeholder="自动带出讲师级别" allowClear showSearch>
</a-input>
</a-form-item>
</a-col>
<a-col :span="12">
@@ -422,8 +422,9 @@ export default {
{ value: '4', label: "作业员如模培训" },
])
const formRef = ref();
const handleformlevel = (val) => {
state.formParam.tlevelName = state.tSystemNames?.levelVoList?.find(item=>item.id===val)?.levelName
const tlevelChange = (e) => {
state.formParam.tlevelName = e?.tlevelName
state.formParam.tlevelId = e?.tlevelId
}
watch(()=>state.formParam.name,(val)=>{
state.formParam.userNo = val?.split('/')[1]
@@ -502,7 +503,7 @@ export default {
userNo: [{ required: true, message: '',log:'讲师工号不能为空' }],
orgName: [{ required: true, message: '',log:'讲师组织不能为空' }],
tsystemName: [{ required: true, message:'',log: '讲师体系不能为空' }],
tlevelId: [{ required: true, message:'',log: ' 讲师级别 不能为空' }],
tlevelName: [{ required: true, message:'',log: ' 讲师级别 不能为空' }],
payrollPlace: [{ required: true, message:'',log: '讲师发薪地 不能为空' }],
courseType: [{ required: true, message: '',log:'费用类型不能为空' }],
courseName: [{ required: true, message:'',log: '课程名称不能为空' }],
@@ -547,6 +548,7 @@ export default {
state.tSystemNames.systemCode = res.data.data.systemCode
state.tSystemNames.levelVoList = res.data.data.levelVoList
state.formParam.tlevelName = res.data.data.tlevelName
state.formParam.tlevelId = res.data.data.tlevelId
state.formParam.name = res.data.data.name+'/'+res.data.data.userNo
state.teachingDate = dayjs(res.data.data.teachingDate)
}).catch((err) => {
@@ -657,7 +659,7 @@ export default {
rules,
recome,
validateField,
handleformlevel,
tlevelChange,
createTeacherDialog,
cancelTeacherDialog,
formRef,

View File

@@ -161,7 +161,7 @@
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="讲师名称" name="name">
<SearchTeacher v-model:id="formParam.teacherId" v-model:value="formParam.name" v-model:orgId="formParam.orgId" v-model:lable="formParam.orgName" v-model:user="formParam.userNo"
<SearchTeacher @tlevel="tlevelChange" v-model:id="formParam.teacherId" v-model:value="formParam.name" v-model:orgId="formParam.orgId" v-model:lable="formParam.orgName" v-model:user="formParam.userNo"
v-model:system="tSystemNames" v-model:payrollPlaceCode="formParam.payrollPlaceId"
v-model:payrollPlaceName="formParam.payrollPlace" v-model:level="formParam.tlevelId" ></SearchTeacher>
</a-form-item>
@@ -203,10 +203,10 @@
<!-- 讲师级别 levelId 讲师发薪地 payrollPlaceName-->
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="讲师级别" name="tlevelId">
<a-select class="draitem" v-model:value="formParam.tlevelId" placeholder="请选择讲师级别" allowClear
:options="tSystemNames.levelVoList" @change="handleformlevel">
</a-select>
<a-form-item label="讲师级别" name="tlevelName">
<a-input disabled v-model:value="formParam.tlevelName" class="draitem"
placeholder="自动带出讲师级别" allowClear showSearch>
</a-input>
</a-form-item>
</a-col>
<a-col :span="12">
@@ -1106,7 +1106,7 @@ console.log( "讲师体系id" +val);
userNo: [{ required: true, message: '',log:'讲师工号不能为空' }],
orgName: [{ required: true, message: '',log:'讲师组织不能为空' }],
tsystemName: [{ required: true, message:'',log: '讲师体系不能为空' }],
tlevelId: [{ required: true, message:'',log: ' 讲师级别 不能为空' }],
tlevelName: [{ required: true, message:'',log: ' 讲师级别 不能为空' }],
payrollPlace: [{ required: true, message:'',log: '讲师发薪地 不能为空' }],
courseType: [{ required: true, message: '',log:'费用类型不能为空' }],
courseName: [{ required: true, message:'',log: '课程名称不能为空' }],
@@ -1304,9 +1304,10 @@ const column = ref([
},
])
const handleformlevel = (val) => {
state.formParam.tlevelName = state.tSystemNames.levelVoList.find(item=>item.id===val)?.levelName
}
const tlevelChange = (e) => {
state.formParam.tlevelName = e?.tlevelName
state.formParam.tlevelId = e?.tlevelId
}
//导出功能
const handleExport = ()=>{
window.open (
@@ -1406,7 +1407,7 @@ const column = ref([
selectedRowKeys,
column,
tableDatas,
handleformlevel,
tlevelChange,
validateField,
clearstudysNumber,
clearscoreNumber,