整体细节调整

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

@@ -7,7 +7,7 @@
<a-form-item class="select">
<!-- v-model:value="searchParam.name" -->
<a-input v-model:value="searchParam.teacherNameOrMobel" style="width: 276px; height: 40px; border-radius: 8px"
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch>
placeholder="请输入讲师姓名/手机号进行检索" allowClear showSearch>
</a-input>
</a-form-item >
<a-form-item class="select">
@@ -69,7 +69,7 @@
</div>
<!-- 弹窗组件 -->
<a-drawer v-model:visible="teacherdialog" placement="right" @closa="cancelTeacherDialog" :maskClosable="true"
width="60%" :title="teacherdialogtitle">
width="40%" :title="teacherdialogtitle">
<a-form :model="formParam" :rules="rules" layout="vertical" ref="formRef" >
<!-- 基本信息 -->
<a-row>
@@ -81,11 +81,9 @@
<a-row :gutter="16">
<a-col :span="24">
<div class="item_inp" style="background-color: #fff;">
<a-tooltip>
<template #title>修改头像</template>
<a-upload name="avatar" list-type="picture-card" class="avatar-uploader" :show-upload-list="false"
:headers="headers" :before-upload="beforeUpload" >
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" />
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" title="更换头像" />
<div class="i_upload" v-else>
<div class="addimg">
<div class="heng"></div>
@@ -93,7 +91,6 @@
</div>
</div>
</a-upload>
</a-tooltip>
<div class="i_bottom">
<div class="tip" style="margin-bottom: 10px;">
<span style="color: #999999; margin-left: 8px">支持图片格式为jpg/jpeg/png 图片最大为500KB</span>
@@ -104,12 +101,12 @@
</a-row>
<!-- 讲师名称 ,手机号码-->
<a-row :gutter="16">
<a-col :span="12">
<a-col :span="24">
<a-form-item label="讲师名称" name="userNo">
<SearchTeacher v-model:value="formParam.name"></SearchTeacher>
</a-form-item>
</a-col>
<a-col :span="12">
<a-col :span="24">
<a-form-item label="手机号码" name="mobile">
<a-input v-model:value="formParam.mobile" class="draitem"
placeholder="请输入手机号码" allowClear showSearch @blur="sendPhone">
@@ -119,14 +116,14 @@
</a-row>
<!-- 供应商 ,邮箱-->
<a-row :gutter="16">
<a-col :span="12">
<a-col :span="24">
<a-form-item label="供应商" name="supplier">
<a-input v-model:value="formParam.supplier" class="draitem"
placeholder="请输入供应商" allowClear showSearch>
</a-input>
</a-form-item>
</a-col>
<a-col :span="12">
<a-col :span="24">
<a-form-item label="讲师邮箱" name="email">
<a-input v-model:value="formParam.email" class="draitem"
placeholder="请输入讲师邮箱" allowClear showSearch @blur="sendEmail">
@@ -355,7 +352,7 @@ export default {
width: 200,
},
{
title: '手机号 ',
title: '手机号',
dataIndex: 'mobile',
key: 'mobile',
elipsis: true, align: "center",
@@ -369,7 +366,7 @@ export default {
// }
},
{
title: '邮箱 ',
title: '讲师邮箱 ',
dataIndex: 'email',
key: 'email',
elipsis: true, align: "center",

View File

@@ -158,7 +158,7 @@
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="授课/课程日期 :" name="beginTime">
<a-date-picker class="draitem" v-model:value="formParam.beginTime" style="width: 200px" format="YYYY-MM-DD"
<a-date-picker class="draitem" v-model:value="formParam.beginTime" style="width: 100%" format="YYYY-MM-DD"
placeholder="请选择课程日期" />
</a-form-item>
</a-col>
@@ -167,7 +167,9 @@
<a-input v-model:value="formParam.duration" style="width:80%; height: 40px; border-radius: 8px; " placeholder="0"
allowClear showSearch suffix="分钟" @blur="clearNonNumber">
</a-input>
<span style="margin-left: 5px ;">{{ (formParam.duration /60 ).toFixed(2)}}小时</span>
<span style="margin-left: 5px ;" v-if="formParam.duration != null">{{ (formParam.duration / 60
).toFixed(2) }}小时</span>
<span style="margin-left: 5px ;" v-if="formParam.duration == null">0.00小时</span>
</a-form-item>
</a-col>
</a-row>
@@ -217,7 +219,7 @@
width="60%" title="查看讲师授课记录">
<a-descriptions bordered :column="2" :contentStyle="rowCenter" :labelStyle="rowCenter">
<a-descriptions-item label="讲师名称">{{ formParam.teacher }}</a-descriptions-item>
<a-descriptions-item label="手机号">{{ formParam.mobile }}</a-descriptions-item>
<a-descriptions-item label="手机号">{{ formParam.mobile }}</a-descriptions-item>
<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>
@@ -225,7 +227,10 @@
? '已开课' : '' }}</a-descriptions-item>
<a-descriptions-item label="内容分类 ">{{ formParam.sysTypeId }}</a-descriptions-item>
<a-descriptions-item label="授课/课程日期 ">{{ formParam.beginTime }}</a-descriptions-item>
<a-descriptions-item label="授课时长 ">{{ formParam.duration }}</a-descriptions-item>
<a-descriptions-item label="授课时长 ">{{ formParam.duration }}
<span style="margin-left: 5px ;" v-if="formParam.duration != null">({{ (formParam.duration / 60
).toFixed(2) }}小时)</span>
</a-descriptions-item>
<a-descriptions-item label="评分 ">{{ formParam.score }}</a-descriptions-item>
<a-descriptions-item label="参训人数 ">{{ formParam.studys }}</a-descriptions-item>
<a-descriptions-item label="备注 " :span="2">{{ formParam.remark }}</a-descriptions-item>
@@ -331,7 +336,7 @@ export default {
formParam: {
status: 1,
entryType:1,
duration:0
duration:null
},
searchdate: null, //选择时间
searchParam: {
@@ -410,7 +415,7 @@ export default {
// width: 100,
// },
{
title: '授课讲师 ',
title: '讲师姓名 ',
dataIndex: 'teacherName',
key: 'teacherName',
elipsis: true, align: "center",
@@ -451,7 +456,7 @@ export default {
width: 100,
},
{
title: '数据来源',
title: '录入类型',
dataIndex: 'entryType',
key: 'entryType',
elipsis: true, align: "center",
@@ -470,18 +475,37 @@ export default {
}
},
{
title: '授课/课程日期 ',
title: '授课时间 ',
dataIndex: 'beginTime',
key: 'beginTime',
elipsis: true, align: "center",
width: 100,
},
// {
// title: '开课场地 ',
// dataIndex: 'address',
// key: 'address',
// elipsis: true, align: "center",
// width: 100,
// },
{
title: '开课场地 ',
dataIndex: 'address',
key: 'address',
title: '开课状态 ',
dataIndex: 'status',
key: 'status',
elipsis: true, align: "center",
width: 100,
customRender: (value) => {
return (
<div>
{value.record.status == 0 || value.record.status == 1
? {
"0": "未开课",
"1": "已开课",
}[value.record.status + ""] || ""
: "-"}
</div>
)
}
},
{
title: "内容分类",
@@ -504,7 +528,7 @@ export default {
width: 100,
},
{
title: '参训总人数',
title: '学习总人数',
dataIndex: 'studys',
key: 'studys',
elipsis: true, align: "center",
@@ -517,25 +541,7 @@ export default {
elipsis: true, align: "center",
width: 80,
},
{
title: '开课状态 ',
dataIndex: 'status',
key: 'status',
elipsis: true, align: "center",
width: 100,
customRender: (value) => {
return (
<div>
{value.record.status == 0 || value.record.status == 1
? {
"0": "未开课",
"1": "已开课",
}[value.record.status + ""] || ""
: "-"}
</div>
)
}
},
{
title: '操作 ',
dataIndex: 'operation',
@@ -722,7 +728,6 @@ export default {
duration: null,
score: null,
remark: null,
duration:0
}
}

View File

@@ -15,11 +15,14 @@
:options="LecturerSystemList" @change="changetlevel">
</a-select>
</a-form-item>
<!-- <div @click="handlesearchlevel"> -->
<a-form-item class="select" >
<a-select style="width: 276px" v-model:value="searchParam.levelId" placeholder="请选择讲师级别" allowClear
:options="getLevelList" :disabled="getLevelList.length !== 0 ? false : true">
:options="getLevelList" >
<!-- :disabled="getLevelList.length !== 0 ? false : true" 禁用状态 -->
</a-select>
</a-form-item>
<!-- </div> -->
<div style="display: flex; margin-bottom: 20px">
<a-button @click="searchSubmit()" type="primary" class="resetbtn">查询 </a-button>
<!-- <div class="btn btn1" @click="searchReset" style="background:rgba(64, 158, 255, 0);" > -->
@@ -109,7 +112,7 @@
</div>
<!-- 弹窗组件 -->
<a-drawer v-model:visible="teacherdialog" placement="right" @closa="cancelTeacherDialog" :maskClosable="true"
width="60%" :title="teacherdialogtitle">
width="40%" :title="teacherdialogtitle">
<a-form :model="formParam" :rules="rules" layout="vertical" ref="formRef">
<a-row>
<a-col :span="24">
@@ -119,11 +122,9 @@
<a-row :gutter="16">
<a-col :span="24">
<div class="item_inp" style="background-color: #fff;">
<a-tooltip>
<template #title>修改头像</template>
<a-upload name="avatar" list-type="picture-card" class="avatar-uploader" :show-upload-list="false"
:headers="headers" :before-upload="beforeUpload">
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" />
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" title="更换头像" />
<div class="i_upload" v-else>
<div class="addimg">
<div class="heng"></div>
@@ -131,7 +132,6 @@
</div>
</div>
</a-upload>
</a-tooltip>
<div class="i_bottom">
<div class="tip" style="margin-bottom: 10px;">
<span style="color: #999999; margin-left: 8px">支持图片格式为jpg/jpeg/png 图片最大为500KB</span>
@@ -141,20 +141,13 @@
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="12">
<a-col :span="24">
<a-form-item label="讲师名称" name="name">
<!-- <ProjectManager v-model:value="formParam.userNo"
v-model:name="formParam.name"
placeholder="请输入工号/讲师姓名进行检索"
@onChange="managerChange" mode="multiple"></ProjectManager> -->
<SearchTeacher v-model:value="formParam.name" v-model:lable="formParam.orgName"
v-model:newlable="formParam.neworgName"></SearchTeacher>
<!-- <a-tree-select v-model:value="formParam.name"
show-search allow-clear tree-data-simple-mode class="draitem"
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" :tree-data="treeData" placeholder="请输入讲师名称" /> -->
</a-form-item>
</a-col>
<a-col :span="12">
<a-col :span="24">
<a-form-item label="讲师组织" name="orgName">
<a-popover>
<template #content>
@@ -168,26 +161,24 @@
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="12">
<a-col :span="24">
<a-form-item label="讲师体系" name="systemId">
<a-select class="draitem" v-model:value="formParam.systemId" placeholder="请选择讲师体系" allowClear
@change="changetlevel" :options="LecturerSystemList">
</a-select>
</a-form-item>
</a-col>
<a-col :span="12">
<a-col :span="24">
<div @click="handleformlevel">
<a-form-item label="讲师级别" name="levelId">
<div @click="handlesel">
<a-select class="draitem" v-model:value="formParam.levelId" placeholder="请选择讲师级别" allowClear
:disabled="getLevelList.length !== 0 ? false : true" :options="getLevelList">
</a-select>
</div>
</a-form-item>
</div>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="12">
<a-col :span="24">
<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="分钟">
@@ -196,7 +187,7 @@
(formParam.defaultteachingTime / 60).toFixed(2) }}小时</span>
</a-form-item>
</a-col>
<a-col :span="12">
<a-col :span="24">
<a-form-item label="认证状态" name="certStatus">
<a-radio-group v-model:value="formParam.certStatus" class="draitem">
<a-radio :value="0">未认证</a-radio>
@@ -236,10 +227,10 @@
</a-col>
</a-row>
<a-row :gutter="50" style="margin-bottom: 50px;">
<a-col :span="2">
<a-col :span="4">
<a-tag color="blue" style="line-height: 40px; ">管理业务</a-tag>
</a-col>
<a-col :span="20">
<a-col :span="18">
<div class="add_content" @click="addContentData">+</div>
</a-col>
</a-row>
@@ -293,180 +284,6 @@
</div>
</a-drawer>
<!-- 弹窗组件 2 -->
<!-- <a-drawer v-model:visible="teacherdialog" placement="right" @closa="cancelTeacherDialog" :maskClosable="true"
width="40%" :title="teacherdialogtitle">
<a-form :model="formParam" :rules="rules" layout="vertical">
<a-row>
<a-col :span="24">
<span class="line"></span><span>基本信息</span>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="24">
<div class="item_inp" style="background-color: #fff; position: relative; ">
<div style="position: absolute; top:30%; left:45%;color: deepskyblue; ">更换头像</div>
<a-upload name="avatar" list-type="picture-card" class="avatar-uploader" :show-upload-list="false"
:headers="headers" :before-upload="beforeUpload">
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" />
<div class="i_upload" v-else>
<div class="addimg">
<div class="heng"></div>
<div class="shu"></div>
</div>
</div>
</a-upload>
<div class="i_bottom">
<div class="tip" style="margin-bottom: 10px;">
<span style="color: #999999; margin-left: 8px">支持图片格式为jpg/jpeg/png 图片最大为2MB</span>
</div>
</div>
</div>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="24">
<a-form-item label="讲师名称" name="name">
<ProjectManager v-model:value="formParam.userNo" v-model:name="formParam.name" placeholder="请输入工号/讲师姓名进行检索"
@onChange="managerChange" mode="multiple"></ProjectManager>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="讲师组织" name="orgName">
<a-popover title="讲师组织">
<template #content>
{{ formParam.orgName }}
</template>
<a-input disabled v-model:value="formParam.neworgName" class="draitem"
placeholder="自动带出讲师的组织,展示主要部分,鼠标浮上去展示所有" allowClear showSearch>
</a-input>
</a-popover>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="24">
<a-form-item label="讲师体系" name="systemId">
<a-select class="draitem" v-model:value="formParam.systemId" placeholder="请选择讲师体系" allowClear
@change="changetlevel" :options="LecturerSystemList">
</a-select>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="讲师级别" name="levelId">
<a-select class="draitem" v-model:value="formParam.levelId" placeholder="请选择讲师级别" allowClear
:disabled="getLevelList.length !== 0 ? false : true" :options="getLevelList">
</a-select>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="24">
<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>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="认证状态" name="certStatus">
<a-radio-group v-model:value="formParam.certStatus" class="draitem">
<a-radio :value="0">未认证</a-radio>
<a-radio :value="1">已认证</a-radio>
<span>
<a-button type="text" class="moreidbtn" v-if="formParam.certStatus == 1"
@click="handleupdialog">上传凭证</a-button>
</span>
</a-radio-group>
</a-form-item>
</a-col>
</a-row>
<a-row>
<a-col :span="24">
<span class="line"></span><span>其他信息</span>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="24">
<a-form-item label="讲师介绍">
<Editor v-model:value="formParam.description" />
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="24">
<a-form-item label="工作经历">
<Editor v-model:value="formParam.workExperience" :isupload="isupload" />
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-col :span="24">
<a-form-item label="擅长课程">
<Editor v-model:value="formParam.courses" />
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="50" style="margin-bottom: 50px;">
<a-col :span="3">
<a-tag color="blue" style="line-height: 40px; ">管理业务</a-tag>
</a-col>
<a-col :span="15">
<div class="add_content" @click="addContentData">+</div>
</a-col>
</a-row>
</a-form>
<div>
<a-modal v-model:visible="updialog" :footer="null" closable="CopyModal" centered="true">
<div class="delete">
<div class="del_header"></div>
<div class="del_main">
<div class="header">
<img src="@/assets/images/coursewareManage/QR.png" alt="" style="margin-right:10px" />
<span>导入</span>
</div>
<a-form style="margin-left:20px; margin-top:10px ;padding-left:50px">
<a-form-item style="color: #999999;">注意 :文件仅支持PDF格式 ,文件大小不可超过500KB</a-form-item>
<a-form-item label="上传文件">
<a-upload multiple :headers="headers" :show-upload-list="false" :before-upload="beforeUpload2">
<a-button type="primary">上传导入文件</a-button>
</a-upload>
</a-form-item>
<a-form-item style="color: #999999;" v-for="(item, index) in filesList">{{ item.name }}</a-form-item>
<span></span>
</a-form>
<div class="del_btnbox">
<div class="del_btn btn2" @click="cancelupdialog" style="margin-right: 32px">
<div class="btnText">取消</div>
</div>
<div class="del_btn btn2" @click="createupdialog">
<div class="btnText">确定</div>
</div>
</div>
</div>
</div>
</a-modal>
</div>
<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="cancelTeacherDialog">取消</a-button>
<a-button class="drabtn" type="primary" @click="createTeacherDialog" :loading="buttonLoading">保存
</a-button>
</div>
</a-drawer> -->
<!-- 删除功能弹窗 -->
<div>
<a-modal v-model:visible="deleteInTeacherdialog" :footer="null" :closable="closableQR" centered="true">
@@ -703,7 +520,9 @@ export default {
state.updialog = false
}
const LecturerSystemList = ref([
// { value: 0, systemName: "讲师体系" },
{ value: null, label: "讲师体系" },
{ value: 1, label: "未定级" },
{ value:2, label: "未定级11" },
]);
//获取讲师体系列表
const LecturerSystemLista = () => {
@@ -762,7 +581,8 @@ export default {
LecturerSystemLista()
//获取内部讲师级别
const getLevelList = ref([
// { value: 0, label: "未定级" },
{ value: 0, label: "未定级" },
{ value: 1, label: "未定级11" },
])
const changetlevel = (val) => {
console.log("讲师体系id" + val);
@@ -836,17 +656,17 @@ export default {
}
const columns = ref([
{
title: '讲师姓名 ',
dataIndex: 'name',
key: 'name',
title: '讲师工号 ',
dataIndex: 'userNo',
key: 'userNo',
elipsis: true,
align: "center",
width: 120,
},
{
title: '讲师工号 ',
dataIndex: 'userNo',
key: 'userNo',
title: '讲师姓名 ',
dataIndex: 'name',
key: 'name',
elipsis: true,
align: "center",
width: 120,
@@ -946,6 +766,25 @@ export default {
)
}
},
{
title: '录入方式 ',
dataIndex: 'entryType',
key: 'entryType',
elipsis: true, align: "center",
width: 120,
customRender: (value) => {
return (
<div>
{value.record.entryType == 0 || value.record.entryType == 1
? {
"0": "系统生成",
"1": "手动录入",
}[value.record.entryType + ""] || ""
: "-"}
</div>
)
}
},
{
title: '操作 ',
dataIndex: 'operation',
@@ -1259,10 +1098,16 @@ export default {
// const customPreview =(e)=>{
// e.stopPropagation()
// }
const handlesel = () => {
console.log('请选择讲师体系')
// const handlesearchlevel = () => {
// console.log('请选择讲师体系')
// if (state.searchParam.systemId == undefined) {
// message.warning('请先选择讲师体系')
// }
// }
const handleformlevel = () => {
console.log('请先选择讲师体系')
if (state.formParam.systemId == undefined) {
message.warning('请选择讲师体系')
message.warning('请选择讲师体系')
}
}
//导出功能
@@ -1285,7 +1130,8 @@ export default {
rules,
rule,
formRef,
handlesel,
// handlesearchlevel,
handleformlevel,
// customPreview,
clearNonNumber,
// managerChange,

View File

@@ -66,25 +66,25 @@
: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 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 showSearch>
</a-select>
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
<!-- <a-select style="width: 230px" v-model:value="searchParam.sysType1" placeholder="内容分类"
<a-select style="width: 230px" placeholder="请选择所属组织" v-model:value="searchParam.trainorgId"
:options="getOrganizationList" 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.sysType1" placeholder="内容分类"
:options="getTeacherExpertiseList" allowClear showSearch>
</a-select> -->
</a-select>
</a-form-item>
<div style="width: 100%;"></div>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="min-width: 230px ; height: auto ;margin-bottom:20px" v-model:value="searchParam.scoreranges"
placeholder="请选择授课满意度" :options="scoreList" allowClear showSearch mode="tags" @change="scoreChange">
placeholder="请选择评分" :options="scoreList" allowClear showSearch mode="tags" @change="scoreChange">
</a-select>
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
@@ -145,7 +145,7 @@
<a-form-item label="讲师名称" name="teacher">
<SearchTeacher v-model:value="formParam.teacher" v-model:lable="formParam.orgName"
v-model:newlable="formParam.neworgName"></SearchTeacher>
v-model:system="formParam.systemName" v-model:level="formParam.levelName"></SearchTeacher>
</a-form-item>
</a-col>
<a-col :span="12">
@@ -165,16 +165,26 @@
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="讲师体系" name="systemId">
<a-select disabled class="draitem" v-model:value="formParam.systemId" allowClear placeholder="自动带出讲师体系"
:options="LecturerSystemList">
</a-select>
<a-popover title="讲师体系">
<template #content>
{{ formParam.systemName }}
</template>
<a-input disabled v-model:value="formParam.systemName" class="draitem"
placeholder="自动带出讲师体系" allowClear showSearch>
</a-input>
</a-popover>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="讲师级别" name="levelId">
<a-select disabled class="draitem" v-model:value="formParam.levelId" allowClear placeholder="自动带出讲师级别"
:options="getLevelList">
</a-select>
<a-popover title="讲师级别">
<template #content>
{{ formParam.levelName }}
</template>
<a-input disabled v-model:value="formParam.levelName" class="draitem"
placeholder="自动带出讲师级别" allowClear showSearch>
</a-input>
</a-popover>
</a-form-item>
</a-col>
</a-row>
@@ -198,7 +208,7 @@
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="授课/课程日期 :" name="beginTime">
<a-date-picker class="draitem" v-model:value="formParam.beginTime" style="width: 200px" format="YYYY-MM-DD"
<a-date-picker class="draitem" v-model:value="formParam.beginTime" style="width:100%" format="YYYY-MM-DD"
placeholder="请选择课程日期" @change="editTimeChange" />
</a-form-item>
</a-col>
@@ -220,6 +230,7 @@
</a-input>
<span style="margin-left: 5px ;" v-if="formParam.duration != null">{{ (formParam.duration / 60
).toFixed(2) }}小时</span>
<span style="margin-left: 5px ;" v-if="formParam.duration == null">0.00小时</span>
</a-form-item>
</a-col>
<a-col :span="12">
@@ -418,7 +429,7 @@ export default {
formParam: {
status: 1,
entryType: 1,
duration: 0
duration: null,
},
startTime:null,
startDate:null,
@@ -896,7 +907,7 @@ export default {
systemId: null,
levelId: null,
name: null,
duration: 0,
duration:null,
endDate: null,
startDate: null,
studys: null,

View File

@@ -4,18 +4,6 @@
<!-- 搜索框及按钮 -->
<div class="filter" >
<a-form layout="inline" style="min-width: 1380px;">
<a-form-item class="select">
<!-- v-model:value="searchParam.name" -->
<!-- <a-input v-model:value="searchParam.teacherNo" style="width: 276px; height: 40px; border-radius: 8px"
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch>
</a-input>
--> <div style="width: 276px; height: 40px; border-radius: 8px" >
<ProjectManager v-model:value="searchParam.teacherNo"
v-model:name="searchParam.teacherName"
placeholder="请输入工号/讲师姓名进行检索"
@onChange="managerChange" mode="multiple"></ProjectManager>
</div>
</a-form-item>
<a-form-item class="select">
<a-select style="width: 276px" v-model:value="searchParam.trainorgId" placeholder="培训发生组织" allowClear
:options="trainOrglist">
@@ -23,7 +11,7 @@
</a-form-item>
<a-form-item class="select ">
<div class="select addTimeBox">
<div class="addTime" >创建时间</div>
<div class="addTime" >汇总周期</div>
<a-range-picker
v-model:value="searchdate"
style="width: 420px"
@@ -35,6 +23,11 @@
/>
</div>
</a-form-item>
<a-form-item class="select">
<a-select style="width: 230px ;margin-bottom:20px" v-model:value="searchParam.status" placeholder="请选择状态" allowClear
:options="AuthenticationStatusList">
</a-select>
</a-form-item>
<div style="display: flex; margin-bottom: 20px">
<a-button @click="searchSubmit()" type="primary" class="resetbtn">查询 </a-button>
<!-- <div class="btn btn1" @click="searchReset" style="background:rgba(64, 158, 255, 0);" > -->
@@ -42,7 +35,7 @@
<a-button class="resetbtn " @click="searchReset">重置</a-button>
<!-- 更多筛选-->
<div v-if="moreid == 1">
<!-- <div v-if="moreid == 1">
<a-button @click="handlemoreid()" class="moreidbtn" type="text"> 展开
<RightOutlined />
</a-button>
@@ -51,10 +44,10 @@
<a-button @click="handlemoreid()" class="moreidbtn"> 返回
<UpOutlined />
</a-button>
</div> -->
</div>
</div>
<div style="width:100%"></div>
<a-form-item class="select" v-if="moreid == 2">
<!-- <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.courseType" placeholder="请选择费用类型" allowClear
:options="courseTypeList">
</a-select>
@@ -78,20 +71,20 @@
<a-select style="width: 230px ;margin-bottom:10px" v-model:value="searchParam.levelId" placeholder="请选择讲师级别" allowClear :disabled="getLevelList.length!==0 ? false:true"
:options="getLevelList">
</a-select>
</a-form-item>
</a-form-item> -->
</a-form>
<div style="width: 100%;"></div>
<!-- <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: 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> -->
<!-- 表格 -->
<div style="padding: 10px 0">
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="columns"
:scroll="{ x: 1500 }" :data-source="tableData" :loading="tableLoading" @expand="expandTable" :pagination="false">
:data-source="tableData" :loading="tableLoading" @expand="expandTable" :pagination="false">
<template #bodyCell="{ record, column }">
<template v-if="column.key === 'operation'">
<a-space >
@@ -127,28 +120,16 @@
<span class="line"></span>
<span>讲师费用详情</span>
<a-descriptions bordered :column="2" :contentStyle="rowCenter" :labelStyle="rowCenter">
<a-descriptions-item label="讲师名称">{{formParam.teacherName}}</a-descriptions-item>
<a-descriptions-item label="讲师工号">{{formParam.teacherNo}}</a-descriptions-item>
<a-descriptions-item label="讲师组织" :span="2">{{formParam.teacherOrg}}</a-descriptions-item>
<a-descriptions-item label="讲师体系">{{formParam.systemName}}</a-descriptions-item>
<a-descriptions-item label="讲师级别">{{formParam.levelName }}</a-descriptions-item>
<a-descriptions-item label="发薪地">{{formParam.teacherpayrollPlace}}</a-descriptions-item>
<a-descriptions-item label="费用类型">"费用类型(未命名)"</a-descriptions-item>
<a-descriptions-item label="课程类型">{{formParam.courseType==1?'项目开课' :formParam.courseType==2 ?'路径开课':formParam.courseType==3 ?'面授开课':''}}</a-descriptions-item>
<a-descriptions-item label="课程名称">{{formParam.courseName}}</a-descriptions-item>
<a-descriptions-item label="授课时长 ">{{formParam.teachingTime}}</a-descriptions-item>
<a-descriptions-item label="授课/课程日期 ">{{formParam.teachingDate}}</a-descriptions-item>
<a-descriptions-item label="参训人数 ">{{formParam.studys}}</a-descriptions-item>
<a-descriptions-item label="评分 ">{{formParam.score}}</a-descriptions-item>
<a-descriptions-item label="课酬基准 ">{{formParam.teacherlevelPay}}</a-descriptions-item>
<a-descriptions-item label="计划费用 ">{{formParam.expense}}</a-descriptions-item>
<a-descriptions-item label="应发费用 ">{{formParam.payableExpense}}</a-descriptions-item>
<a-descriptions-item label="审批编号(未命名)">{{formParam.teacherName}}</a-descriptions-item>
<a-descriptions-item label="培训发生组织">{{formParam.trainOrg}}</a-descriptions-item>
<a-descriptions-item label="汇总周期" >{{formParam.summaryDate}}</a-descriptions-item>
<a-descriptions-item label="汇总金额">{{formParam.totalFee}}</a-descriptions-item>
<a-descriptions-item label="'提交时间(未命名)'">{{formParam.payableExpense}}</a-descriptions-item>
<a-descriptions-item label="状态">{{formParam.status=="A10"?'待审核' :formParam.status=="A20"?'已提交':formParam.status== "A30" ?'审核中':formParam.status== "E10" ?'审核打回':formParam.status=="S20"?'审核通过':''}}</a-descriptions-item>
<a-descriptions-item label="备注 ">{{formParam.remark}}</a-descriptions-item>
</a-descriptions>
<span class="line"></span>
<span>讲师费审批</span>
<span>审批详情</span>
<div style="padding: 10px 0">
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="columnsExamine"
:data-source="tableDataExamine" :loading="examinetableLoading" @expand="expandTable" :pagination="false">
@@ -169,9 +150,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>
<!-- <a-button class="drabtn" @click="cancelTeachingDialog" type="primary" danger>拒绝</a-button> -->
</div>
</a-drawer>
<!-- 修改状态功能弹窗 -->
@@ -446,131 +427,43 @@
// })
};
const columns = 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: '培训发生组织(未命名) ',
title: '培训发生组织 ',
dataIndex: 'trainOrg',
key: 'trainOrg',
elipsis: true, align: "center",
width: 120,
},
{
title: '授课时长 ',
dataIndex: 'teachingTime',
key: 'teachingTime',
elipsis: true, align: "center",
width: 120,
},
{
title: '讲师体系(未命名) ',
dataIndex: 'teachingDate',
key: 'teachingDate',
title: '提交时间(未命名)',
dataIndex: 'trainOrg',
key: 'trainOrg',
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: 'summaryDate',
key: 'summaryDate',
elipsis: true,
align: "center",
width:300
},
{
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: 'totalFee',
key: 'totalFee',
elipsis: true,
align: "center",
width: 200,
},
{
title: '状态 ',
dataIndex: 'status',
key: 'status',
elipsis: true, align: "center",
elipsis: true,
align: "center",
width: 120,
customRender: (value) => {
return (
@@ -588,14 +481,6 @@
)
}
},
{
title: '讲师组织',
dataIndex: 'trainOrg',
key: 'trainOrg',
elipsis: true, align: "center",
width: 200,
scopedSlots: { customRender: "trainOrg" },
},
{
title: '操作 ',
dataIndex: 'operation',

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,6 +390,45 @@
<a-button class="drabtn" type="primary" @click="cancelTeachingDialog" :loading="buttonLoading">返回
</a-button>
</div>
</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,
}
},
};

View File

@@ -5,9 +5,8 @@
<div class="filter" >
<a-form layout="inline">
<a-form-item class="select">
<a-select style="width: 276px" v-model:value="searchParam.payrollPlaceId" placeholder="发薪地"
:options="PlaceOfPayList">
</a-select>
<a-select style="width: 276px" v-model:value="searchParam.trainorgId" placeholder="请选择资源归属" allowClear
:options="trainOrglist" />
</a-form-item>
<a-form-item class="select " >
<a-date-picker style="width: 260px; height: 40px; border-radius: 8px" v-model:value="searchdate"
@@ -28,7 +27,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; margin-left: 14px;" >当前页面汇总金额<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 style="line-height: 40px; margin-left: 14px;" >当前页面汇总金额<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">
@@ -88,8 +87,8 @@
</a-input>
</div>
<div class="select">
<a-select style="width: 230px" v-model:value="queryFeeMonthly.payrollPlaceId" placeholder="发薪地"
:options="PlaceOfPayList">
<a-select style="width: 230px" v-model:value="queryFeeMonthly.trainorgId" placeholder="发薪地"
:options="TrainOrglist">
</a-select>
</div>
<div class="select">
@@ -213,7 +212,7 @@ export default {
},
queryFeeMonthly: {
teacherNo: null,
payrollPlaceId: null,
trainorgId: null,
departId: null,
pageNo: "1",
pageSize: "10"
@@ -330,7 +329,7 @@ export default {
pageSize: "10",
startDate: null,
endDate: null,
payrollPlaceId: null,
trainorgId: null,
};
getTableDate();
};
@@ -352,10 +351,10 @@ export default {
state.teacherdialogtitle = '讲师费月度统计详情'
TeacherSystem()
}
const PlaceOfPayList = ref([
const TrainOrglist = ref([
])
//获取讲师发薪地列表
const PlaceOfPayLista = () => {
//获取培训发生组织
const TrainOrglista = () => {
getPayRollPlace().then((res) => {
if (res.data.code === 200) {
let arr = res.data.data;
@@ -367,12 +366,12 @@ export default {
};
array.push(obj);
});
PlaceOfPayList.value = array;
TrainOrglist.value = array;
}
console.log("获取发薪地", PlaceOfPayList);
console.log("获取发薪地", TrainOrglist);
})
}
PlaceOfPayLista()
TrainOrglista()
//获取所属组织
const getOrganizationList = ref([
// { value: 0, systemName: "讲师体系" },
@@ -411,7 +410,7 @@ export default {
const cancel = () => {
state.queryFeeMonthly = {
teacherNo: null,
payrollPlaceId: null,
trainorgId: null,
departId: null,
pageNo: "1",
pageSize: "10"
@@ -744,7 +743,7 @@ export default {
window.open(
`${process.env.VUE_APP_BASE_API}/teacher/fee/exportTeacherMonthlyFee?pageNo=${state.currentPage2
}&pageSize=${state.pageSize2}
&userNo=${state.queryFeeMonthly.payrollPlaceId ? state.queryFeeMonthly.payrollPlaceId : ""}
&userNo=${state.queryFeeMonthly.trainorgId ? state.queryFeeMonthly.trainorgId : ""}
&teacherNo=${state.queryFeeMonthly.teacherNo ? state.queryFeeMonthly.teacherNo : ""}
&departId=${state.queryFeeMonthly.departId ? state.queryFeeMonthly.departId : ""}`)
}
@@ -769,8 +768,8 @@ export default {
searchFeeMonthlya,
tableData,
columns,
PlaceOfPayList,
PlaceOfPayLista,
TrainOrglist,
TrainOrglista,
tableDataFeeDetail,
columnsFeeDetail,
getOrganizationList,

View File

@@ -23,10 +23,13 @@ ExternalLecturer
:width="55" style="border-radius: 50%;"
:src=formParam.photo
/></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.mobile}}</a-descriptions-item>
<a-descriptions-item label="讲师邮箱">{{formParam.email}}</a-descriptions-item>
<a-descriptions-item label="所属组织" :span="2">{{formParam.departId}}</a-descriptions-item>
<a-descriptions-item label="授课时长" :span="2">{{formParam.teaching}}
<span style="margin-left: 5px ;" v-if="formParam.teaching != null">({{
(formParam.teaching / 60).toFixed(2) }}小时)</span>
</a-descriptions-item>
</a-descriptions>
<div style="margin-top: 10px;"></div>
<span class="line" ></span>
@@ -186,7 +189,7 @@ export default{
width: 120,
},
{
title: '授课时长',
title: '授课时长(分钟)',
dataIndex: 'duration',
key: 'duration',
elipsis: true, align: "center",

View File

@@ -42,9 +42,10 @@
</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>
<a-descriptions-item label="账号状态">{{formParam.status==0?'临时' :formParam.status==1 ?'启用':formParam.status==1 ?'停用':''}}</a-descriptions-item>
<a-descriptions-item label="所属组织" :span="2"> <a-popover title="所属组织">
<a-descriptions-item label="在职状态">{{formParam.waitStatus=='0'?'在职' :formParam.waitStatus=='1' ?'离职':''}}</a-descriptions-item>
<a-descriptions-item label="账号状态">{{formParam.status=='0'?'临时' :formParam.status=='1' ?'启用':formParam.status==1 ?'停用':''}}</a-descriptions-item>
<a-descriptions-item label="创建方式">{{formParam.entryType=='0'?'系统生成' :formParam.entryType=='1'?'手动录入':''}}</a-descriptions-item>
<a-descriptions-item label="所属组织" > <a-popover title="所属组织">
<template #content>
{{ formParam.orgName }}
</template>
@@ -244,7 +245,7 @@ export default{
width: 120,
},
{
title: '授课时长',
title: '授课时长(分钟)',
dataIndex: 'duration',
key: 'duration',
elipsis: true, align: "center",

View File

@@ -120,7 +120,7 @@
<a-button class="drabtn" type="primary" @click="cancelTeachingDialog" :loading="buttonLoading">返回
</a-button>
</div>
</a-drawer>>
</a-drawer>
</div>
</template>
<script lang="jsx">
@@ -213,7 +213,7 @@ export default {
width: 200,
},
{
title: '授课时长(系统 , H) ',
title: '授课时长(系统 ) ',
dataIndex: 'teachingTime',
key: 'teachingTime',
elipsis: true,
@@ -221,7 +221,7 @@ export default {
width: 200,
},
{
title: '授课时长统计 ',
title: '授课时长(录入) ',
dataIndex: 'teachingTime',
key: 'teachingTime',
elipsis: true,
@@ -433,7 +433,7 @@ export default {
},
{
title: '授课日期 ',
title: '授课时间',
dataIndex: 'teacherOrg',
key: 'teacherOrg',
elipsis: true,
@@ -489,11 +489,16 @@ export default {
},
])
//取消按钮 清空输入的数据
const cancelTeachingDialog = () => {
state.opendrawer = false
};
return {
...toRefs(state),
trainOrglist,
tableDatas,
column,
cancelTeachingDialog,
searchReset,
trainOrglista,
handleFeeMonthly,

View File

@@ -222,7 +222,7 @@ vf:true,
}
const columns = ref([
{
title: '归属组织编号 ',
title: '培训发生组织编号 ',
dataIndex: 'trainorgId',
key: 'trainorgId',
elipsis: true,
@@ -230,12 +230,39 @@ vf:true,
width: 200,
},
{
title: '归属组织名称 ',
title: '培训发生组织名称 ',
dataIndex: 'trainorgName',
key: 'trainorgName',
elipsis: true, align: "center",
width: 600,
},
{
title: '是否为根节点(未命名) ',
dataIndex: 'remark',
key: 'remark',
elipsis: true, align: "center",
width: 800,
},
{
title: '担当(未命名) ',
dataIndex: 'remark',
key: 'remark',
elipsis: true, align: "center",
width: 800,
},
{
title: '状态(未命名) ',
dataIndex: 'remark',
key: 'remark',
elipsis: true, align: "center",
width: 800,
}, {
title: '备注 ',
dataIndex: 'remark',
key: 'remark',
elipsis: true, align: "center",
width: 800,
},
{
title: '备注 ',
dataIndex: 'remark',