整体细节调整

This commit is contained in:
wangxuemei
2024-09-20 17:12:41 +08:00
parent a23ed4275f
commit 17e75a106f
11 changed files with 533 additions and 489 deletions

View File

@@ -95,8 +95,13 @@
<a-button @click="handleExport()" class="resetbtn">
<UploadOutlined /> 导出
</a-button>
<div style="line-height: 40px;" >当前页面汇总金额<span style="line-height: 40px; font-size: 24px; color: rgb(207, 34, 34) ;font-weight: 600;">1,230,490</span> 当前总汇总金额<span style="line-height: 40px; font-size: 24px; color: rgb(207, 34, 34) ;font-weight: 600;">9,230,490</span></div>
<a-button @click="addTeacher()" type="primary" class="langbtn">
一键确认讲师费
</a-button>
<a-button @click="allFee()" type="primary" class="langbtn">
批量确认讲师费
</a-button>
<!-- <div style="line-height: 40px;" >当前页面汇总金额<span style="line-height: 40px; font-size: 24px; color: rgb(207, 34, 34) ;font-weight: 600;">1,230,490</span> 当前总汇总金额<span style="line-height: 40px; font-size: 24px; color: rgb(207, 34, 34) ;font-weight: 600;">9,230,490</span></div> -->
</div>
<!-- 表格 -->
<div style="padding: 10px 0">
@@ -150,8 +155,8 @@
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="讲师名称" name="teacher">
<SearchTeacher v-model:value="formParam.name" v-model:lable="formParam.orgName"
v-model:newlable="formParam.neworgName"></SearchTeacher>
<SearchTeacher v-model:value="formParam.teacher" v-model:lable="formParam.orgName"
v-model:system="formParam.systemName" v-model:level="formParam.levelName"></SearchTeacher>
</a-form-item>
</a-col>
@@ -199,7 +204,7 @@
</a-col>
<a-col :span="12">
<a-form-item label="讲师发薪地" name="payrollPlaceId ">
<a-select v-model:value="formParam.payrollPlaceId" placeholder="发薪地"
<a-select v-model:value="formParam.payrollPlaceId" placeholder="发薪地" disabled
:options="PlaceOfPayList" allowClear>
</a-select>
</a-form-item>
@@ -208,19 +213,19 @@
<!-- 费用类型 课程名称 courseName-->
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="费用类型" name="levelId">
<a-select disabled class="draitem" v-model:value="formParam.courseType" placeholder="请选择费用类型"
<a-form-item label="费用类型" name="courseType">
<a-select class="draitem" v-model:value="formParam.courseType" placeholder="请选择费用类型"
:options="courseTypeList">
</a-select>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="课程名称" name=" courseName ">
<a-radio-group v-model:value="formParam.courseName">
<!-- <a-radio-group v-model:value="formParam.courseName">
<a-radio :value="0">面授课</a-radio>
<a-radio :value="1">在线课</a-radio>
</a-radio-group>
<a-select class="draitem" v-model:value="formParam.levelId" placeholder="请选择输入或选择面授课(未命名)" style="width:63%" allowClear
</a-radio-group> -->
<a-select class="draitem" v-model:value="formParam.courseName" placeholder="请选择输入或选择面授课" style="width:63%" allowClear
:options="getLevelList">
</a-select>
</a-form-item>
@@ -235,12 +240,13 @@
</a-form-item>
</a-col>
<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; "
<a-form-item label="授课时长" name="defaultTeachingTime">
<a-input v-model:value="formParam.defaultTeachingTime" style="width:80%; height: 40px; border-radius: 8px; "
@blur="clearNonNumber" placeholder="0" allowClear showSearch suffix="分钟">
</a-input>
<span style="margin-left: 5px ;" v-if="formParam.defaultteachingTime != null">{{
(formParam.defaultteachingTime / 60).toFixed(2) }}小时</span>
<span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime != null">{{
(formParam.defaultTeachingTime / 60).toFixed(2) }}小时</span>
<span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime == null">0.00小时</span>
</a-form-item>
</a-col>
</a-row>
@@ -255,7 +261,7 @@
</a-col>
<a-col :span="12">
<a-form-item label="评分" name="score">
<a-input class="draitem" v-model:value="formParam.score" placeholder="" allowClear
<a-input class="draitem" v-model:value="formParam.score" placeholder="0" allowClear
showSearch disabled>
</a-input>
</a-form-item>
@@ -384,7 +390,46 @@
<a-button class="drabtn" type="primary" @click="cancelTeachingDialog" :loading="buttonLoading">返回
</a-button>
</div>
</a-drawer>
</a-drawer>
<!--批量确认 -->
<a-drawer v-model:visible="allFeedialog" placement="right"
@closa="cancelallFeedialog" :maskClosable="true" width="60%" title="批量审核">
<a-form layout="inline">
<a-form-item class="select">
<a-input v-model:value="searchall.teacherNameOrUserNo" style="width: 276px; height: 40px; border-radius: 8px"
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch>
</a-input>
</a-form-item>
<a-form-item class="select ">
<a-select style="width: 230px ;margin-bottom:20px" v-model:value="searchall.status" placeholder="请选择所属组织" allowClear
:options="AuthenticationStatusList">
</a-select>
</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>
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="column" :data-source="tableDatas" :scroll="{ x: 1500 }" :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="cancelallFeedialog">取消</a-button>
<a-button class="drabtn" type="primary" @click="cancelallFeedialog" :loading="buttonLoading">返回
</a-button>
</div>
</a-drawer>
<ImportWork v-model:showWork="showWork" :url="'/importTeacherCourseRecord'" :title="title"></ImportWork>
</div>
@@ -422,6 +467,8 @@
const formRef = ref();
const state = reactive({
title:'导入讲师费记录',
allFeedialog:false,
tableLoadings:false,
teachingdialog:false,
showWork: false,
vf:true,
@@ -448,8 +495,7 @@
tableDataTotal: -1,//table列表总条数
formParam: {
teachingDate:null ,
defaultTeachingTime:0,
courseName:0
defaultTeachingTime:null,
},
searchdate: null, //选择时间
searchParam: {
@@ -468,6 +514,12 @@
startDate: null,
endDate: null,
},
searchall:{
teacherNameOrUserNo:null,
status:null,
pageNo: "1",
pageSize: "10",
}
})
//费用类型
const courseTypeList=ref([
@@ -649,6 +701,14 @@ console.log( "讲师体系id" +val);
elipsis: true, align: "center",
width: 120,
},
{
title: '授课时间 ',
dataIndex: 'teachingTime',
key: 'teachingTime',
elipsis: true, align: "center",
width: 120,
},
{
title: '讲师体系',
@@ -679,7 +739,7 @@ console.log( "讲师体系id" +val);
// }
},
{
title: '讲师发薪地 ',
title: '发薪地 ',
dataIndex: 'teacherpayrollPlace',
key: 'teacherpayrollPlace',
elipsis: true, align: "center",
@@ -947,13 +1007,12 @@ console.log( "讲师体系id" +val);
teacherNo:null,
departId:null,
kid:null,
courseName:0,
levelId:null,
payrollPlaceId:null,
// 费用类型 : null
teacherpayrollPlace:null,
teachingDate:null,
defaultTeachingTime:0,
defaultTeachingTime:null,
courseType:null,
studys:null,
teacherlevelPay:null,
@@ -1032,7 +1091,7 @@ console.log( "讲师体系id" +val);
state.teachingdialog = false
};
const clearNonNumber = () => {
state.formParam.defaultteachingTime = state.formParam.defaultteachingTime.replace(/\D/g, '');
state.formParam.defaultTeachingTime = state.formParam.defaultTeachingTime.replace(/\D/g, '');
}
const rules = {
teacherName: [{ required: true, message: '讲师不能为空' }],
@@ -1041,7 +1100,7 @@ console.log( "讲师体系id" +val);
systemId: [{ required: true, message: '讲师体系不能为空' }],
levelName: [{ required: true, message: ' 讲师级别 不能为空' }],
payrollPlaceId: [{ required: true, message: '讲师发薪地 不能为空' }],
courseName: [{ required: true, message: '费用类型不能为空' }],
courseType: [{ required: true, message: '费用类型不能为空' }],
courseName: [{ required: true, message: '课程名称不能为空' }],
teachingDate: [{ required: true, message: '授课日期不能为空' }],
defaultTeachingTime: [{ required: true, message: ' 授课时长不能为空' }],
@@ -1060,6 +1119,206 @@ console.log( "讲师体系id" +val);
const handleImport = () => {
state.showWork = true
}
const allFee=()=>{
state.allFeedialog=true
}
const cancelallFeedialog= ()=>{
state.allFeedialog=false
}
const searchResetdrawer=()=>{
state.searchall={
teacherNameOrUserNo:null,
status:null,
pageNo: "1",
pageSize: "10",
}
allFeeList()
}
const searchSubmitdrawer=()=>{
allFeeList()
}
const allFeeList=()=>{
state.tableLoadings=true
let objA = {...state.searchall};
getTeacherFeeList(objA)
.then((res) => {
tableDatas.value = res.data.data.records
state.tableDataTotal = Number(res.data.data.total);
state.tableLoadings=false
})
}
allFeeList()
const tableDatas = ref([])
const column = ref([
{
title: '讲师姓名 ',
dataIndex: 'teacherName',
key: 'teacherName',
elipsis: true, align: "center",
width: 120,
},
{
title: '讲师工号 ',
dataIndex: 'teacherNo',
key: 'teacherNo',
elipsis: true, align: "center",
width: 120,
},
{
title: '课程名称 ',
dataIndex: 'courseName',
key: 'courseName',
elipsis: true, align: "center",
width: 120,
},
{
title: '培训发生组织',
dataIndex: 'trainOrg',
key: 'trainOrg',
elipsis: true, align: "center",
width: 120,
},
{
title: '授课时长 ',
dataIndex: 'teachingTime',
key: 'teachingTime',
elipsis: true, align: "center",
width: 120,
},
{
title: '授课时间 ',
dataIndex: 'teachingTime',
key: 'teachingTime',
elipsis: true, align: "center",
width: 120,
},
{
title: '讲师体系',
dataIndex: 'systemName',
key: 'systemName',
elipsis: true, align: "center",
width: 120,
},
{
title: '讲师级别 ',
dataIndex: 'levelName',
key: 'levelName',
elipsis: true, align: "center",
width: 120,
// customRender: (value, record) => {
// return (
// <div>
// {value.record.grade == 0 || value.record.grade == 1 || value.record.grade == 2 || value.record.grade == 3
// ? {
// 0: "未定级",
// 1: "1级",
// 2: "2级",
// 3: "3级",
// }[value.record.grade + ""] || ""
// : "-"}
// </div>
// )
// }
},
{
title: '发薪地 ',
dataIndex: 'teacherpayrollPlace',
key: 'teacherpayrollPlace',
elipsis: true, align: "center",
width: 120,
},
{
title: '基准课酬 ',
dataIndex: 'teacherlevelPay',
key: 'teacherlevelPay',
elipsis: true, align: "center",
width: 120,
},
{
title: '计划费用 ',
dataIndex: 'expense',
key: 'expense',
elipsis: true, align: "center",
width: 120,
},
{
title: '参训人数 ',
dataIndex: 'studentNum',
key: 'studentNum',
elipsis: true, align: "center",
width: 120,
},
{
title: '评分 ',
dataIndex: 'courseAssess',
key: 'courseAssess',
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: 'status',
key: 'status',
elipsis: true, align: "center",
width: 120,
customRender: (value) => {
return (
<div>
{value.record.status == "A10" || value.record.status == "A20" ||value.record.status == "A30" ||value.record.status == "E10"||value.record.status == "S20"
? {
"A10": "待审核",
"A20": "已提交",
"A30": "审核中",
"E10": "审核打回",
"S20": "审核通过",
}[value.record.status + ""] || ""
: "-"}
</div>
)
}
},
{
title: '讲师组织',
dataIndex: 'trainOrg',
key: 'trainOrg',
elipsis: true, align: "center",
width: 200,
scopedSlots: { customRender: "trainOrg" },
},
{
title: '操作 ',
dataIndex: 'operation',
key: 'operation',
elipsis: true, align: "right",
fixed: "right",
width: 100,
scopedSlots: { customRender: "action" },
},
])
//导出功能
const handleExport = ()=>{
window.open (
@@ -1154,7 +1413,13 @@ console.log( "讲师体系id" +val);
LecturerSystemLista,
TeacherSystem,
changetlevel,
canceleditTeacherDialog
canceleditTeacherDialog,
allFee,
cancelallFeedialog,
searchSubmitdrawer,
searchResetdrawer,
column,
tableDatas,
}
},
};