讲师管理bug

This commit is contained in:
zhangsir
2024-12-12 21:48:02 +08:00
parent f5246726ee
commit 6ded08e300
5 changed files with 106 additions and 51 deletions

View File

@@ -1,20 +1,20 @@
<template> <template>
<div> <div>
<a-popover :getPopupContainer=" <!-- <a-popover :getPopupContainer="
(triggerNode) => { (triggerNode) => {
return triggerNode.parentNode || document.body; return triggerNode.parentNode || document.body;
} }
" v-model:visible="visible" placement="bottom" trigger="click"> " 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">
<a-select <a-select
v-model:value="selectName" :disabled="disabled"
v-model:value="selectData"
style="width: 100%" style="width: 100%"
placeholder="请查询姓名或工号" placeholder="请查询姓名或工号"
:options="isOpen?options:selectOptions" :options="isOpen?options:selectOptions"
:filter-option="false" :filter-option="false"
allowClear
showSearch showSearch
:open="isOpen" :open="isOpen"
:defaultOpen="false" :defaultOpen="false"
@@ -28,7 +28,7 @@
</template> </template>
</a-select> </a-select>
</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" @expand="onExpand" v-model:selectedKeys="stuTreeSelectKeys" :load-data="onLoadData" @expand="onExpand" v-model:selectedKeys="stuTreeSelectKeys"
v-model:expandedKeys="stuTreeExpandedKeys" :fieldNames="{ v-model:expandedKeys="stuTreeExpandedKeys" :fieldNames="{
@@ -44,12 +44,11 @@
</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> -->
<a-button :loading="loadingChange" @click="changeOut" class="btn0 btn2" type="primary">确定</a-button> <a-button :loading="loadingChange" @click="changeOut" class="btn0 btn2" type="primary">确定</a-button>
</div> -->
</div> </div>
</div> <!-- </template> -->
</template> <!-- <a-select
<a-select
v-model:value="selectData" v-model:value="selectData"
style="width: 100%" style="width: 100%"
placeholder="请选择讲师" placeholder="请选择讲师"
@@ -62,8 +61,8 @@
<template v-if="loading" #notFoundContent> <template v-if="loading" #notFoundContent>
<a-spin size="small"/> <a-spin size="small"/>
</template> </template>
</a-select> </a-select> -->
</a-popover> <!-- </a-popover> -->
</div> </div>
</template> </template>
@@ -130,6 +129,9 @@ watch(()=>props.value,(val)=>{
selectData.value = null selectData.value = null
} }
},{immediate:true}) },{immediate:true})
onMounted(()=>{
console.log('hahhahahahahhaha')
})
const teacherName = ref('') const teacherName = ref('')
const selectName = ref(null) const selectName = ref(null)
const options = ref([]); const options = ref([]);
@@ -164,7 +166,18 @@ const handleChange = (e,l) => {
neworgName.value= neworgName.value[ neworgName.value.length-1] neworgName.value= neworgName.value[ neworgName.value.length-1]
} }
changeValue.value = l changeValue.value = l
// emit('tlevel',l) emit('tlevel',l)
emit('tlevel',changeValue.value)
// selectData.value = teacherName.value
emit('update:value',selectData.value)
emit('update:lable',orgName.value)
emit('update:orgId',orgId.value)
// emit('update:system',systemName.value)
emit('update:level',levelName.value)
// emit('update:newlable',neworgName.value)
emit('update:id',teacherId.value)
emit('update:payrollPlaceCode',payrollPlaceCode.value)
emit('update:payrollPlaceName',payrollPlaceName.value)
}; };
function debounce(func, wait) { function debounce(func, wait) {
let timeout; let timeout;
@@ -381,6 +394,7 @@ watch(()=>teacherId.value,(val)=>{
) )
}) })
} }
emit('update:system',systemName.value)
} }
loadingChange.value = false loadingChange.value = false
// emit('update:system',systemName.value) // emit('update:system',systemName.value)
@@ -425,11 +439,11 @@ const changeOut = () => {
left: 0px !important; left: 0px !important;
} }
.pover{ .pover{
::v-deep .ant-select-selector{ // ::v-deep .ant-select-selector{
height: 30px !important; // height: 30px !important;
border-radius: 4px !important; // border-radius: 4px !important;
line-height: 30px !important; // line-height: 30px !important;
} // }
.search{ .search{
margin-top: 10px; margin-top: 10px;
} }

View File

@@ -3958,13 +3958,18 @@ function onFocusEnd(){
// } // }
state.addLoading = true; state.addLoading = true;
editPlan(postData) editPlan(postData)
.then(() => { .then((res) => {
if(res.data.code == 200){
getTableDate3(); getTableDate3();
handleCancelStu(); handleCancelStu();
rest(); rest();
}else{
message.error(res.data.msg)
}
state.addLoading = false; state.addLoading = false;
}) })
.catch((err) => { .catch((err) => {
message.error(err.data.msg)
state.loading = false; state.loading = false;
console.log(err); console.log(err);
}); });

View File

@@ -1241,7 +1241,7 @@ export default {
state.formParam.description = state.formParam.description == null ? '<p><br></p>' : state.formParam.description state.formParam.description = state.formParam.description == null ? '<p><br></p>' : state.formParam.description
state.formParam.workExperience = state.formParam.workExperience == null ? '<p><br></p>' : state.formParam.workExperience state.formParam.workExperience = state.formParam.workExperience == null ? '<p><br></p>' : state.formParam.workExperience
state.formParam.courses = state.formParam.courses == null ? '<p><br></p>' : state.formParam.courses state.formParam.courses = state.formParam.courses == null ? '<p><br></p>' : state.formParam.courses
// state.formParam.photo = state.formParam.photo === null ? avatar : state.formParam.photo state.formParam.photo = state.formParam.photo == null ? null : state.formParam.photo.includes('upload') ? res.data.data.photo : '/upload'+res.data.data.photo
state.tSystemNames.systemName = res.data.data.tsystemName state.tSystemNames.systemName = res.data.data.tsystemName
state.tSystemNames.systemId = res.data.data.tsystemId state.tSystemNames.systemId = res.data.data.tsystemId
state.tSystemNames.systemCode = res.data.data.systemCode state.tSystemNames.systemCode = res.data.data.systemCode
@@ -1378,6 +1378,15 @@ export default {
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep .ant-form-item-with-help .ant-form-item-explain{
min-height: 0 !important;
}
::v-deep .ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector{
border-color: #40a9ff !important;
}
::v-deep .search .ant-select-focused .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{
border-color: #40a9ff !important;
}
.ant-form-item{ .ant-form-item{
margin-bottom: 12px; margin-bottom: 12px;
} }

View File

@@ -216,17 +216,24 @@
</a-row> </a-row>
<!-- 授课日期 teachingDate 开课状态 courseStatus --> <!-- 授课日期 teachingDate 开课状态 courseStatus -->
<a-row :gutter="16"> <a-row :gutter="16">
<!-- <a-col :span="12"> <a-col :span="12">
<a-form-item label="课程归属组织" name="sourceBelongId"> <a-form-item label="培训发生组织" name="trainOrgId">
<OrgClass v-model:value="formParam.sourceBelongId" v-model:name="formParam.sourceBelongFullName"></OrgClass> <a-select v-model:value="formParam.trainOrgId" placeholder="请选择培训发生组织" allowClear
:options="orgList" @change="changeOrg">
</a-select>
<!-- <OrgClass v-model:value="formParam.sourceBelongId" v-model:name="formParam.sourceBelongFullName"></OrgClass> -->
</a-form-item> </a-form-item>
</a-col> --> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="授课/课程日期 :" name="teachingDate"> <a-form-item label="授课/课程日期 :" name="teachingDate">
<a-date-picker class="draitem" v-model:value="teachingDate" style="width:100%" format="YYYY-MM-DD HH:mm" <a-date-picker class="draitem" v-model:value="teachingDate" style="width:100%" format="YYYY-MM-DD HH:mm"
:show-time="{ format: 'HH:mm' }" type="datetime" placeholder="请选择课程日期" /> :show-time="{ format: 'HH:mm' }" type="datetime" placeholder="请选择课程日期" />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row>
<!-- 授课时长 teaching 评分 score-->
<a-row :gutter="16">
<a-col :span="12"> <a-col :span="12">
<a-form-item label="开课状态"> <a-form-item label="开课状态">
<a-radio-group v-model:value="formParam.courseStatus" class="draitem"> <a-radio-group v-model:value="formParam.courseStatus" class="draitem">
@@ -235,10 +242,6 @@
</a-radio-group> </a-radio-group>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row>
<!-- 授课时长 teaching 评分 score-->
<a-row :gutter="16">
<a-col :span="12"> <a-col :span="12">
<a-form-item label="授课时长" name="teaching"> <a-form-item label="授课时长" name="teaching">
<a-input v-model:value="formParam.teaching" style="width:100%; height: 40px; border-radius: 8px ; " <a-input v-model:value="formParam.teaching" style="width:100%; height: 40px; border-radius: 8px ; "
@@ -249,6 +252,10 @@
<span style="margin-left: 5px ;" v-if="formParam.teaching == null">0.00小时</span> --> <span style="margin-left: 5px ;" v-if="formParam.teaching == null">0.00小时</span> -->
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row>
<!-- 参训人数 studys-->
<a-row :gutter="16">
<a-col :span="12"> <a-col :span="12">
<a-form-item label="评分" name="score"> <a-form-item label="评分" name="score">
<!-- <a-input class="draitem" v-model:value="formParam.score" @blur="clearscoreNumber" placeholder="" allowClear showSearch> <!-- <a-input class="draitem" v-model:value="formParam.score" @blur="clearscoreNumber" placeholder="" allowClear showSearch>
@@ -257,10 +264,6 @@
style="width:100%; height: 40px; border-radius: 8px ; " placeholder="请输入评分" /> style="width:100%; height: 40px; border-radius: 8px ; " placeholder="请输入评分" />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row>
<!-- 参训人数 studys-->
<a-row :gutter="16">
<a-col :span="12"> <a-col :span="12">
<a-form-item label="参训人数" name="studys"> <a-form-item label="参训人数" name="studys">
<a-input v-model:value="formParam.studys" class="draitem" placeholder="请输入参训人数" :maxLength="8" <a-input v-model:value="formParam.studys" class="draitem" placeholder="请输入参训人数" :maxLength="8"
@@ -418,6 +421,7 @@ import { fileUp } from "../../api/Lecturer";
import SearchTeacher from "@/components/project/SearchTeacher"; import SearchTeacher from "@/components/project/SearchTeacher";
import { useStore } from "vuex"; import { useStore } from "vuex";
import OrgClass from "@/components/project/OrgClass"; import OrgClass from "@/components/project/OrgClass";
import { queryTrainOrgPor,} from "../../api/organization";
export default { export default {
name: "InsideTeaching", name: "InsideTeaching",
components: { components: {
@@ -444,6 +448,7 @@ export default {
state.searchParam = JSON.parse(search) state.searchParam = JSON.parse(search)
} }
searchSubmit() searchSubmit()
orgListDatas()
}) })
const route = useRoute() const route = useRoute()
const formRef = ref(); const formRef = ref();
@@ -485,10 +490,11 @@ export default {
name: null, name: null,
teacherName: null, teacherName: null,
teachingDate: null, teachingDate: null,
// sourceBelongId: null, trainOrgId: null,
sourceBelongFullName: null, sourceBelongFullName: null,
score: 0, score: 0,
}, },
orgList: [],
startTime: null, startTime: null,
searchParam: searchParam:
{ {
@@ -656,18 +662,18 @@ export default {
width: 120, width: 120,
}, },
{ {
title: '所属组织 ', title: '培训发生组织 ',
dataIndex: 'orgName', dataIndex: 'trainOrg',
key: 'orgName', key: 'trainOrg',
ellipsis: true, align: "center", ellipsis: true, align: "center",
width: 200, width: 200,
// customRender: (value, record) => { customRender: (value, record) => {
// return ( return (
// <div> <div>
// {value.record.orgName} {value.record.trainOrg||'-'}
// </div> </div>
// ) )
// } }
}, },
{ {
title: '数据来源', title: '数据来源',
@@ -790,8 +796,8 @@ export default {
<div> <div>
{value.record.createdFee == 0 || value.record.createdFee == 1 {value.record.createdFee == 0 || value.record.createdFee == 1
? { ? {
"0": "未提交", "0": "",
"1": "已提交", "1": "",
}[value.record.createdFee + ""] || "" }[value.record.createdFee + ""] || ""
: "-"} : "-"}
</div> </div>
@@ -812,6 +818,25 @@ export default {
const tableData = ref([ const tableData = ref([
]) ])
const orgListDatas = () => {
const obj = {
pageNo:1,
pageSize:50
}
queryTrainOrgPor(obj).then((res) => {
console.log(res,'rssssss')
state.orgList = res.data.data?.map(item=>{
return{
label: item.affiliationName,
value: item.id
}
})
})
}
const changeOrg = (e,l) => {
console.log(e,'eeeee',l)
state.formParam.trainOrgName = l?.label
}
const rules = { const rules = {
name: [{ required: true, message: '', log: '讲师不能为空' }], name: [{ required: true, message: '', log: '讲师不能为空' }],
orgName: [{ required: true, message: '', log: '讲师组织不能为空' }], orgName: [{ required: true, message: '', log: '讲师组织不能为空' }],
@@ -819,7 +844,7 @@ export default {
tsystemName: [{ required: true, message: '', log: '讲师体系不能为空' }], tsystemName: [{ required: true, message: '', log: '讲师体系不能为空' }],
courseTypeId: [{ required: true, message: '', log: '内容分类不能为空' }], courseTypeId: [{ required: true, message: '', log: '内容分类不能为空' }],
courseName: [{ required: true, message: '', log: '课程名称不能为空' }], courseName: [{ required: true, message: '', log: '课程名称不能为空' }],
// sourceBelongId: [{ required: true, message: '', log: '课程归属组织不能为空' }], trainOrgId: [{ required: true, message: '', log: '课程归属组织不能为空' }],
teachingDate: [{ required: true, message: '', log: '授课日期不能为空' }], teachingDate: [{ required: true, message: '', log: '授课日期不能为空' }],
teaching: [{ required: true, message: '', log: '授课时长不能为空' }], teaching: [{ required: true, message: '', log: '授课时长不能为空' }],
courseStatus: [{ required: true, message: '', log: '开课状态不能为空' }], courseStatus: [{ required: true, message: '', log: '开课状态不能为空' }],
@@ -1053,7 +1078,7 @@ export default {
score: 0, score: 0,
type: null, type: null,
remark: null, remark: null,
// sourceBelongId: null, trainOrgId: null,
sourceBelongFullName: null, sourceBelongFullName: null,
offcourseId: null, offcourseId: null,
createFrom: null, createFrom: null,
@@ -1307,6 +1332,8 @@ export default {
clearstudysNumber, clearstudysNumber,
beforeUpload2, beforeUpload2,
rules, rules,
orgListDatas,
changeOrg,
formRef, formRef,
column, column,
tableDatas, tableDatas,

View File

@@ -221,7 +221,7 @@
> >
<a-button class="drabtn" @click="cancelTeacherDialog" >取消</a-button> <a-button class="drabtn" @click="cancelTeacherDialog" >取消</a-button>
<a-button class="drabtn" type="primary" @click="createTeacherDialog(0)" :loading="buttonLoading">保存</a-button> <a-button class="drabtn" type="primary" @click="createTeacherDialog(0)" :loading="buttonLoading">保存</a-button>
<a-button v-if="editParams||editIndex>1" class="drabtn" type="primary" @click="createTeacherDialog(1)" :loading="buttonLoading">提交</a-button> <a-button class="drabtn" type="primary" @click="createTeacherDialog(1)" :loading="buttonLoading">提交</a-button>
</div> </div>
</a-drawer> </a-drawer>
<AddOrgContent :Addtitle="'选择组织'" v-model:showContent="showContent" v-model:AddContentList="formParam.affiliationOrgList" /> <AddOrgContent :Addtitle="'选择组织'" v-model:showContent="showContent" v-model:AddContentList="formParam.affiliationOrgList" />