讲师管理页面调整

This commit is contained in:
wangxuemei
2024-08-05 17:38:10 +08:00
parent b0f6f56759
commit 36200b08ef
11 changed files with 330 additions and 94 deletions

View File

@@ -1,6 +1,7 @@
import http from "./config";
// 列表查看讲师费月度统计
export const queryTeacherFeeTotalList = (params) => http.get('teacher/fee/queryTeacherFeeTotalList',{ params })
// export const queryTeacherFeeTotalList = (params) => http.get('teacher/fee/queryTeacherFeeTotalList',{ params })
export const queryTeacherFeeTotalList = (obj) => http.post ('teacher/fee/queryTeacherFeeTotalList',obj)
// 列表查看讲师费月度统计详情
export const queryTeacherFeeMonthly = (obj) => http.post('teacher/fee/queryTeacherFeeMonthly', obj)
////讲师费月度统计--明细

View File

@@ -278,6 +278,7 @@ import {
} from '@ant-design/icons-vue';
import { message } from "ant-design-vue";
import ProjectManager from "@/components/project/ProjectManagerNew";
import dayjs from "dayjs";
import { updateInTeacher, getTeacherExpertise } from "../../api/Lecturer";
import { getOuterTeacherCourseList, getAddress, updateInTeacherCourse, deleteInTeacherCourse, insertOutTeaherCourse,getOuterTeacherCourseDetail } from "../../api/Teaching";
// import {getProjSt} from "../../api/indexProjStu";
@@ -297,7 +298,7 @@ export default {
const state = reactive({
moreid: 1,
tableLoading: false,
delTeacherId: null, //删除id确认
delTeacherId: null, //删除id确认
userNoid: null, //详情工号确认
lookTeacherId: null, //详情id确认
deleteTeacherdialog: false, //删除弹窗
@@ -561,6 +562,8 @@ export default {
const getTableDate = (obj) => {
state.tableLoading = true
let objA = { ...state.searchParam };
objA.startDate = state.searchParam.startDate !== null ? dayjs(new Date(state.searchParam.startDate).getTime()).format("YYYY-MM-DD") : "",
objA.endDate = state.searchParam.endDate !== null ? dayjs(new Date(state.searchParam.endDate).getTime()).format("YYYY-MM-DD") : "",
getOuterTeacherCourseList(objA)
.then((res) => {
tableData.value = res.data.data.records
@@ -587,6 +590,7 @@ export default {
const handleModify = (record) => {
state.teacherdialog = true;
state.teacherdialogtitle = '修改授课记录'
state.lookTeacherId = record.teacherId
TeacherSystem(record)
}
//保存

View File

@@ -179,13 +179,12 @@
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="讲师组织" name="userNo">
<a-form-item label="讲师组织" name="departId">
<a-popover title="讲师组织">
<template #content>
<p>自动带出讲师的组织,展示主要部分,鼠标浮上去展示所有</p>
{{ formParam.userNo }}
{{ formParam.departId }}
</template>
<a-input disabled v-model:value="formParam.userNo" class="draitem"
<a-input disabled v-model:value="formParam.departId" class="draitem"
placeholder="自动带出讲师的组织,展示主要部分,鼠标浮上去展示所有" allowClear showSearch>
</a-input>
</a-popover>
@@ -218,7 +217,7 @@
<a-input v-model:value="formParam.defaultTeachingTime" style="width:80%; height: 40px; border-radius: 8px; " placeholder="0"
allowClear showSearch suffix="分钟">
</a-input>
<span style="margin-left: 5px ;">{{ (formParam.defaultTeachingTime /60 ).toFixed(2)}}小时</span>
<span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime!= null">{{ (formParam.defaultTeachingTime /60 ).toFixed(2)}}小时</span>
</a-form-item>
</a-col>
<a-col :span="12">
@@ -407,7 +406,8 @@ export default {
formParam: {
userNo:null,
certStatus: 0,//认证状态
defaultTeachingTime: '0'
defaultTeachingTime: '0',
},
searchParam: {
name:null,
@@ -475,7 +475,7 @@ export default {
let array = [];
arr.map((value) => {
let obj = {
value: value.systemid,
value: value.kid,
label: value.systemName,
};
array.push(obj);
@@ -649,7 +649,7 @@ console.log( "讲师体系id" +val);
}
const columns = ref([
{
title: '姓名 ',
title: '讲师姓名 ',
dataIndex: 'name',
key: 'name',
elipsis: true,
@@ -657,7 +657,7 @@ console.log( "讲师体系id" +val);
width: 100,
},
{
title: '工号 ',
title: '讲师工号 ',
dataIndex: 'userNo',
key: 'userNo',
elipsis: true,
@@ -787,6 +787,7 @@ console.log( "讲师体系id" +val);
state.searchParam = {
name:null,
userNo: null,
departId:null,
systemid: null,
tlevelId: null,
waitStatus: null,

View File

@@ -51,24 +51,38 @@
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="width: 230px" v-model:value="searchParam.status" placeholder="开课状态"
:options="AuthenticationStatusList" allowClear>
:options="AuthenticationStatusList" allowClear showSearch>
</a-select>
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="width: 230px" placeholder="请选择所属组织" v-model:value="searchParam.trainorgId"
:options="getOrganizationList" allowClear>
:options="getOrganizationList" allowClear showSearch>
</a-select>
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="width: 230px" placeholder="请选择讲师体系" v-model:value="searchParam.systemId"
:options="LecturerSystemList" allowClear>
:options="LecturerSystemList" allowClear showSearch>
</a-select>
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="width: 230px" v-model:value="searchParam.id" placeholder="内容分类"
:options="getTeacherExpertiseList" allowClear>
:options="getTeacherExpertiseList" allowClear showSearch>
</a-select>
</a-form-item>
<div style="width: 100%;"></div>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="width: 230px ;margin-bottom:20px" v-model:value="searchParam.id" placeholder="请选择授课满意度"
:options="getTeacherExpertiseList" allowClear showSearch >
</a-select>
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="width: 230px" v-model:value="searchParam.id" placeholder="授课人数"
:options="getTeacherExpertiseList" allowClear showSearch>
</a-select>
<!-- <a-input v-model:value="searchParam.name" style="width: 260px; height: 40px; border-radius: 8px"
placeholder="授课人数" allowClear showSearch>
</a-input> -->
</a-form-item>
</a-form>
<div style="width: 100%;"></div>
<div style="display: flex; margin-bottom: 20px">
@@ -201,11 +215,11 @@
<!-- 授课时长defaultTeachingTime 评分 score-->
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="初始授课时长" name="defaultTeachingTime">
<a-input v-model:value="formParam.defaultTeachingTime" style="width:80%; height: 40px; border-radius: 8px ; " placeholder="0"
<a-form-item label="授课时长" name="duration">
<a-input v-model:value="formParam.duration" style="width:80%; height: 40px; border-radius: 8px ; " placeholder="0"
allowClear showSearch suffix="分钟">
</a-input>
<span style="margin-left: 5px ;">{{ (formParam.defaultTeachingTime /60 ).toFixed(2)}}小时</span>
<span style="margin-left: 5px ;" v-if="formParam.duration!= null">{{ (formParam.duration /60 ).toFixed(2)}}小时</span>
</a-form-item>
</a-col>
<a-col :span="12">
@@ -268,7 +282,7 @@
<a-descriptions-item label="课程类型">{{formParam.type==1?'项目开课' :formParam.type==2 ?'路径开课':formParam.type==3 ?'面授开课':''}}</a-descriptions-item>
<a-descriptions-item label="课程名称">{{formParam.name}}</a-descriptions-item>
<a-descriptions-item label="开课状态">{{formParam.status==0?'未开课' :formParam.status==1 ?'已开课':''}}</a-descriptions-item>
<a-descriptions-item label="授课时长 ">{{formParam.duration}}</a-descriptions-item>
<a-descriptions-item label="授课时长 "><span style="margin-left: 5px ;" v-if="formParam.duration!= null">{{ (formParam.duration /60 ).toFixed(2)}}小时</span> </a-descriptions-item>
<a-descriptions-item label="授课/课程日期 ">{{formParam.beginTime}}</a-descriptions-item>
<a-descriptions-item label="参训人数 ">{{formParam.studys}}</a-descriptions-item>
<a-descriptions-item label="评分 ">{{formParam.score}}</a-descriptions-item>
@@ -370,6 +384,7 @@ export default {
setup() {
const router = useRouter();
const state = reactive({
moreid:1,
showWork: false,
currentPage1: 1,
pageSize1: 10,
@@ -391,7 +406,7 @@ export default {
formParam: {
status: 1,
entryType:1,
defaultTeachingTime:0
duration:0
},
searchParam: {
userNo: null,//工号姓名
@@ -798,7 +813,7 @@ export default {
systemId:null,
levelId: null,
name:null,
defaultTeachingTime:0,
duration:0,
endDate:null,
startDate:null,
studys: null,
@@ -861,7 +876,7 @@ export default {
// ref< moment.Moment >(moment(record.beginTime,'YYYY-MM-DD')),
// record.beginTime,
duration: record.duration,
defaultTeachingTime: record.defaultTeachingTime,
duration: record.duration,
score: record.score,
studys: record.studys,
remark: record.remark,
@@ -921,13 +936,11 @@ export default {
},
])
const gettableDatas =(record)=>{
state.tableLoadings = true
getCharges({kid:record.kid})
.then((res) => {
console.log(res)
tableDatas.value = res.data.data.records
state.tableDataTotal = Number(res.data.data.total);
state.tableLoadings = false
})
}
const tableDatas = ref([])
@@ -939,7 +952,7 @@ export default {
id: [{ required: true, message: '内容分类不能为空' }],
name: [{ required: true, message: '课程名称不能为空' }],
beginTime: [{ required: true, message: '授课/课程日期不能为空' }],
defaultTeachingTime: [{ required: true, message: '授课时长不能为空' }],
duration: [{ required: true, message: '授课时长不能为空' }],
certStatus: [{ required: true, message: '认证状态不能为空' }],
}

View File

@@ -72,9 +72,11 @@
</a-form>
<div style="width: 100%;"></div>
<div style="display: flex; margin-bottom: 20px">
<a-button @click="handleExport()" class="resetbtn">
<UploadOutlined /> 导出
</a-button>
<div v-if="moreid == 2" style="line-height: 40px;" >当前页面汇总金额:<span style="line-height: 40px; font-size: 26px; color: rgb(207, 34, 34) ;font-weight: 600;">1,230,490</span>元 当前总汇总金额:<span style="line-height: 40px; font-size: 26px; color: rgb(207, 34, 34) ;font-weight: 600;">9,230,490</span></div>
</div>
<!-- 表格 -->
<div style="padding: 10px 0">
@@ -157,8 +159,9 @@
zIndex: 1,
}">
<a-button class="drabtn" @click="cancelTeachingDialog">取消</a-button>
<a-button class="drabtn" type="primary" @click="cancelTeachingDialog" :loading="buttonLoading">返回
<a-button class="drabtn" type="primary" @click="cancelTeachingDialog" :loading="buttonLoading">通过
</a-button>
<a-button class="drabtn" @click="cancelTeachingDialog" type="primary" danger>拒绝</a-button>
</div>
</a-drawer>
<!-- 修改状态功能弹窗 -->

View File

@@ -86,7 +86,9 @@
<a-button @click="handleExport()" class="resetbtn">
<UploadOutlined /> 导出
</a-button>
</div>
<div v-if="moreid == 2" style="line-height: 40px;" >当前页面汇总金额:<span style="line-height: 40px; font-size: 26px; color: rgb(207, 34, 34) ;font-weight: 600;">1,230,490</span>元 当前总汇总金额:<span style="line-height: 40px; font-size: 26px; color: rgb(207, 34, 34) ;font-weight: 600;">9,230,490</span></div>
</div>
<!-- 表格 -->
<div style="padding: 10px 0">
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="columns"
@@ -139,8 +141,8 @@
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="讲师名称" name="teacher">
<ProjectManager v-model:value="searchParam.teacherNo"
v-model:name="searchParam.teacherName"
<ProjectManager v-model:value="formParam.teacherNo"
v-model:name="formParam.teacherName"
placeholder="请输入工号/讲师姓名进行检索"
@onChange="managerChange" mode="multiple"></ProjectManager>
@@ -861,16 +863,16 @@ console.log( "讲师体系id" +val);
state.kid= record.kid
};
// //确认删除
// const closeDeleteTeacher=()=>{
// //调用删除接口
// deleteInTeacher(state.delTeacherId).then((res)=>{
// if(res.data.code == 200 ){
// // message.success("删除成功");
// state.deleteInTeacherdialog = false
// getTableDate();
// }
// })
// }
const closeDeleteTeacher=()=>{
//调用删除接口
deleteInTeacher(state.delTeacherId).then((res)=>{
if(res.data.code == 200 ){
// message.success("删除成功");
state.deleteInTeacherdialog = false
getTableDate();
}
})
}
//提交撤回状态
const closehandleOperate= ()=>{
//调用接口
@@ -1041,6 +1043,7 @@ console.log( "讲师体系id" +val);
return {
...toRefs(state),
rules,
closeDeleteTeacher,
cancelTeachingDialog,
managerChange,
courseTypeList,

View File

@@ -9,9 +9,12 @@
:options="PlaceOfPayList">
</a-select>
</a-form-item>
<a-form-item class="select " >
<!-- <a-form-item class="select " >
<a-range-picker style="width: 260px; height: 40px; border-radius: 8px" v-model:value="searchdate" separator=""
:placeholder="['重新汇总上月周期']" @change="searchTimeChange" />
</a-form-item> -->
<a-form-item class="select">
<a-month-picker placeholder="重新汇总上月周期" @change="onChange" style="width: 260px; height: 40px; border-radius: 8px" v-model:value="searchdate" />
</a-form-item>
<div style="display: flex; margin-bottom: 20px">
<a-button @click="searchSubmit()" type="primary" class="resetbtn">查询 </a-button>
@@ -25,6 +28,7 @@
<a-button @click="searchResetPrevious()" type="primary" class="langbtn" style="width: 150px; height: 40px; border-radius: 8px" >
<FolderAddOutlined /> 重新汇总上月讲师费
</a-button>
<div style="line-height: 40px;" >当前页面汇总金额<span style="line-height: 40px; font-size: 26px; color: rgb(207, 34, 34) ;font-weight: 600;">1,230,490</span> 当前总汇总金额<span style="line-height: 40px; font-size: 26px; color: rgb(207, 34, 34) ;font-weight: 600;">9,230,490</span></div>
</div>
<!-- 表格 -->
<div style="padding: 10px 0">
@@ -326,6 +330,17 @@ export default {
state.tableLoading = false
})
}
//重置
const searchReset = () => {
state.searchParam = {
pageNo: "1",
pageSize: "10",
startDate: null,
endDate: null,
payrollPlaceId: null,
};
getTableDate();
};
// // 翻页
const changePagination = (page, pageSize) => {
state.searchParam.pageNo = page;
@@ -744,6 +759,7 @@ export default {
return {
...toRefs(state),
router,
searchReset,
searchTimeChange,
handleFeeMonthly,
TeacherSystem,

View File

@@ -124,7 +124,7 @@
</div>
</a-col>
</a-row>
<div v-for="(item,index) in formParam.levelList " :key="index">
<div v-for="(item,index) in formParam.levelList " :key="index" >
<a-row :gutter="16">
<a-col :span="4">
<a-input v-model:value="item.levelName" class="draitem" placeholder="" allowClear showSearch>
@@ -187,7 +187,7 @@ import {
import dialog from "@/utils/dialog";
import { message } from "ant-design-vue";
import ProjectManager from "@/components/project/ProjectManagerNew";
import { systemList,addLecturerSystem ,deleteLecturerSystem,updateSystem} from "../../api/organization";
import { systemList,addLecturerSystem ,deleteLecturerSystem,querySystemLevelByKid,updateSystem} from "../../api/organization";
export default {
name: "LecturerSystem",
components: {
@@ -347,7 +347,14 @@ export default {
})
.catch((err) => {
});
getteacherrecordstableData()
}
const getteacherrecordstableData = () => {
// api接口
querySystemLevelByKid({systemId: state.delId}).then((res) => {
state.formParam.levelList = res.data.data
})
};
const cancel = () => {
state.formParam = {
kid:null,
@@ -366,34 +373,21 @@ export default {
}
//保存
const createTeacherDialog = () => {
let a ={
kid:11111111,
systemCode: 888,
systemName: 'cesceshi',
remark: 'cesceshi',
levelList:[{
levelName:'cesceshi',
levelTime:'222',
sort:1,
levelPay:'56',
upperLimit:'186'
}, ]
}
console.log(a)
// console.log(state.formParam)
// if (state.formParam.kid != undefined) {
// updateSystem(state.formParam).then(response => {
// message.success("修改成功");
// });
// }
// else {
addLecturerSystem(a)
console.log(state.formParam)
if (state.formParam.kid != undefined) {
updateSystem(state.formParam).then(response => {
message.success("修改成功");
});
}
else {
addLecturerSystem(state.formParam)
.then((res) => {
message.success("保存成功");
}).catch((err) => {
console.log(err);
});
// }
}
cancel()
state.teacherdialog = false;
getTableDate();
@@ -427,6 +421,7 @@ export default {
return {
...toRefs(state),
rules,
getteacherrecordstableData,
inputRemove,
inputAdd,
managerChange,

View File

@@ -18,7 +18,11 @@
<a-descriptions title="讲师信息" bordered :column="4" :contentStyle="rowCenter" :labelStyle="rowCenter">
<!-- 一层 -->
<a-descriptions-item label="讲师头像">
<a-avatar :src="formParam.photo" /></a-descriptions-item>
<!-- <a-avatar :src="formParam.photo" /> -->
<a-image
:width="60" style="border-radius: 50%;"
src="https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png"
/></a-descriptions-item>
<a-descriptions-item label="讲师工号">{{formParam.userNo}}</a-descriptions-item>
<a-descriptions-item label="讲师姓名">{{formParam.name}}</a-descriptions-item>
<a-descriptions-item label="讲师体系">{{formParam.tsystemName}}</a-descriptions-item>
@@ -26,7 +30,8 @@
<a-descriptions-item label="讲师级别">{{formParam.tlevelName
}}</a-descriptions-item>
<a-descriptions-item label="认证状态">{{ formParam.certStatus==0?'未认证' :formParam.certStatus==1 ?'已认证':''}}</a-descriptions-item>
<a-descriptions-item label="授课时长">{{formParam.teaching}}</a-descriptions-item>
<a-descriptions-item label="授课时长"> <span v-if="formParam.defaultTeachingTime!= null" >{{ (formParam.defaultTeachingTime /60 ).toFixed(2)}}小时</span>
</a-descriptions-item>
<a-descriptions-item label="发薪地 ">{{formParam.payrollPlaceName}}</a-descriptions-item>
<!-- 三层 -->
<a-descriptions-item label="在职">{{formParam.waitStatus==0?'在职' :formParam.waitStatus==1 ?'离职':''}}</a-descriptions-item>

View File

@@ -24,11 +24,11 @@
</a-form-item>
<a-form-item class="select">
<a-select style="width: 230px" v-model:value="searchParam.payrollPlaceId" placeholder="发薪地"
:options="PlaceOfPayList"/>
:options="PlaceOfPayList" allowClear showSearch/>
</a-form-item>
<a-form-item class="select " >
<a-select style="width: 276px" v-model:value="searchParam.trainorgId" placeholder="培训发生组织"
:options="trainOrglist">
:options="trainOrglist" allowClear showSearch>
</a-select>
</a-form-item>
<div style="display: flex; margin-bottom: 20px">
@@ -82,8 +82,45 @@
/>
</div>
</div>
<CostDetails v-model:visible="opendrawer" :teacherNo="teacherNo">
</CostDetails>
<!-- 抽屉 -->
<a-drawer v-model:visible="opendrawer" placement="right"
@closa="cancelTeachingDialog" :maskClosable="true" width="60%" title="查看详情">
<a-form layout="inline">
<a-form-item class="select">
<a-input v-model:value="drawer.name" style="width: 260px; height: 40px; border-radius: 8px"
placeholder="请输入课程名称进行搜索" allowClear showSearch>
</a-input>
</a-form-item>
<a-form-item class="select ">
<a-range-picker style="width: 260px; height: 40px; margin-bottom: 20px; border-radius: 8px" v-model:value="drawersearchdate" separator="至"
:placeholder="[' 开始时间', ' 结束时间']" @change="searchTimeChange" />
</a-form-item>
<div style="display: flex; margin-bottom: 20px">
<a-button @click="searchSubmitdrawer()" type="primary" class="resetbtn">查询 </a-button>
<a-button class="resetbtn " @click="searchResetdrawer">重置</a-button>
</div>
</a-form>
<span>讲师费发放情况</span>
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="column" :data-source="tableDatas" :loading="tableLoadings" :pagination="false">
<template #bodyCell="{ record, column }">
</template>
</a-table>
<div :style="{
position: 'absolute',
right: 0,
bottom: 0,
width: '100%',
borderTop: '1px solid #e9e9e9',
padding: '10px 16px',
background: '#fff',
textAlign: 'right',
zIndex: 1,
}">
<a-button class="drabtn" @click="cancelTeachingDialog">取消</a-button>
<a-button class="drabtn" type="primary" @click="cancelTeachingDialog" :loading="buttonLoading">返回
</a-button>
</div>
</a-drawer>>
</div>
</template>
<script lang="jsx">
@@ -107,9 +144,8 @@ export default {
setup() {
const router=useRouter();
const { query: { id }} = useRoute();
const opendrawer=ref(false)
const state = reactive({
open:true,
opendrawer:false,
id,
summaryDate: null,
resbgTxt: null,
@@ -132,21 +168,10 @@ export default {
departId: null,
summaryDate:null,
},
queryFeeMonthly: {
teacherNo: null,
payrollPlaceId: null,
departId: null,
pageNo: "1",
pageSize: "10"
},
queryTeacherFeeDetail: {
teacherNo: null,
teachingDate: null
},
teacherNo:null,
querytableFee: {
teacherNo: null,
teachingDate: null,
drawer: {
name: null,
drawersearchdate: null,
pageNo: '1',
pageSize: '10',
}
@@ -314,25 +339,162 @@ export default {
getOrganizationLista()
//表格内查看数据操作
const handleLook = (record) => {
opendrawer.value=true
state.opendrawer=true
}
const changePagination = (page, pageSize) => {
state.searchParam.pageNo = page;
getTableDate();
};
// 二级页面导出
// 导出
const handleFeeMonthly = () => {
window.open(
`${process.env.VUE_APP_BASE_API}/teacher/fee/exportTeacherMonthlyFee?pageNo=${state.currentPage2
}&pageSize=${state.pageSize2}
&userNo=${state.queryFeeMonthly.payrollPlaceId ? state.queryFeeMonthly.payrollPlaceId : ""}
&teacherNo=${state.queryFeeMonthly.teacherNo ? state.queryFeeMonthly.teacherNo : ""}
&departId=${state.queryFeeMonthly.departId ? state.queryFeeMonthly.departId : ""}`)
`${process.env.VUE_APP_BASE_API}/teacher/fee/exportTeacherMonthlyFee?pageNo=${state.searchParam.currentPage
}&pageSize=${state.searchParam.pageSize}
&userNo=${state.searchParam.payrollPlaceId ? state.searchParam.payrollPlaceId : ""}
&teacherNo=${state.searchParam.teacherNo ? state.searchParam.teacherNo : ""}
&departId=${state.searchParam.trainorgId ? state.searchParam.trainorgId : ""}`)
}
//重置
const searchReset = () => {
state.searchParam = {
pageNo: "1",
pageSize: "10",
teacherNo: null,
payrollPlaceId: null,
departId: null,
summaryDate:null,
};
getTableDate();
};
//二级页面重置
const searchResetdrawer =()=>{
state. drawer={
name: null,
drawersearchdate: null,
pageNo: '1',
pageSize: '10',
}
}
//二级页面查询
const searchSubmitdrawer=()=>{
}
const tableDatas = ref[{}]
const column = ref([
{
title: '讲师姓名 ',
dataIndex: 'teacherName',
key: 'teacherName',
elipsis: true,
align: "center",
width: 200,
},
{
title: '讲师工号',
dataIndex: 'teacherNo',
key: 'teacherNo',
align: "center",
elipsis: true,
width: 200,
},
{
title: '课程名称 ',
dataIndex: 'courseName',
key: 'courseName',
elipsis: true, align: "center",
width: 120,
},
{
title: '课程类型 ',
dataIndex: ' courseType',
key: ' courseType',
elipsis: true, align: "center",
width: 120,
customRender: (value) => {
return (
<div>
{value.record. courseType == "1" || value.record. courseType == "2"|| value.record.courseTypeype == "3"
? {
"1": "项目开课",
"2": "路径开课",
"3": "面授开课",
}[value.record. courseType + ""] || ""
: "-"}
</div>
)
}
},
{
title: '授课时长 ',
dataIndex: 'teachingTime',
key: 'teachingTime',
elipsis: true, align: "center",
width: 120,
},
{
title: '授课日期 ',
dataIndex: 'teacherOrg',
key: 'teacherOrg',
elipsis: true,
align: "center",
width: 300,
scopedSlots: { customRender: "teacherOrg" },
},
{
title: '讲师体系',
dataIndex: 'systemName',
key: 'systemName',
elipsis: true, align: "center",
width: 120,
},
{
title: '讲师级别 ',
dataIndex: 'levelName',
key: 'levelName',
elipsis: true, align: "center",
width: 120,
},
{
title: '讲师发薪地 ',
dataIndex: 'teacherpayrollPlace',
key: 'teacherpayrollPlace',
elipsis: true,
align: "center",
width: 200,
},
{
title: '基准课酬 ',
dataIndex: 'teacherlevelPay',
key: 'teacherlevelPay',
elipsis: true, align: "center",
width: 120,
},
{
title: '计划费用 ',
dataIndex: 'expense',
key: 'expense',
elipsis: true,
align: "center",
width: 200,
},
{
title: '应发费用 ',
dataIndex: 'payableExpense',
key: 'payableExpense',
elipsis: true,
align: "center",
width: 200,
},
])
return {
...toRefs(state),
trainOrglist,
tableDatas,
column,
searchReset,
trainOrglista,
handleFeeMonthly,
handleLook,
@@ -345,6 +507,7 @@ export default {
PlaceOfPayLista,
getOrganizationList,
getOrganizationLista,
searchResetdrawer
}
},
};

View File

@@ -102,6 +102,34 @@
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="组织负责人" name="zzfzr">
<a-select v-model:value="formParam.zzfzr" placeholder="请选择组织负责人"
:options="PlaceOfPayList" allowClear showSearch/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="一级审批人" name="yjspr">
<a-select v-model:value="formParam.yjspr" placeholder="请选择一级审批人"
:options="PlaceOfPayList" allowClear showSearch/>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="二级审批人" name="zzfzr">
<a-select v-model:value="formParam.zzfzr" placeholder="请选择二级审批人"
:options="PlaceOfPayList" allowClear showSearch/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="三级审批人" name="sjspr">
<a-select v-model:value="formParam.sjspr" placeholder="请选择三级审批人"
:options="PlaceOfPayList" allowClear showSearch/>
</a-form-item>
</a-col>
</a-row>
<a-form-item label="选中组织">
<a-row :gutter="50" style="margin-bottom: 10px;">
<a-col :span="2">
@@ -333,6 +361,10 @@ const getTableDate = (obj) => {
const rules = {
trainorgId: [{ required: true, message: '归属组织编号不能为空' }],
trainorgName: [{ required: true, message: '归属组织名称不能为空' }],
zzfzr: [{ required: true, message: '组织负责人不能为空' }],
yjspr: [{ required: true, message: '"一级审批人不能为空' }],
zzfzr: [{ required: true, message: '二级审批人不能为空' }],
sjspr: [{ required: true, message: '三级审批人不能为空' }],
}