讲师管理bug

This commit is contained in:
zhangsir
2024-11-23 18:48:09 +08:00
parent 9053527150
commit ae63c22d3c
16 changed files with 358 additions and 162 deletions

View File

@@ -355,7 +355,7 @@ import {getCookieForName} from "@/api/method";
.line{
height: 1px;
margin-top: 16px;
background-color: #666666;
background-color: #f0f0f0;
}
.contents{
display: flex;

View File

@@ -198,14 +198,14 @@ export default {
.line{
height: 1px;
margin-top: 16px;
background-color: #666666;
background-color: #e8e8e8;
}
.content{
display: flex;
min-height: 500px;
.left{
width: 50%;
border-right: 1px solid #666666;
border-right: 1px solid #e8e8e8;
padding: 30px 15px;
max-height: 600px;
overflow-y: auto;
@@ -255,7 +255,7 @@ export default {
height: 60px;
text-align: right;
padding: 13px 30px;
border-top: 1px solid #666666;
border-top: 1px solid #e8e8e8;
}
}
}

View File

@@ -42,7 +42,7 @@
v-for="(item, index) in treeAddData"
:key="index"
>
<div class="tag_text" :title="`${item?.name} - (原:${item?.orgName || '-'})`">{{ item?.name }} - ({{ item?.orgName || '-' }})</div>
<div class="tag_text" :title="`${item?.orgName} - (原:${item?.affiliationName || '-'})`">{{ item?.orgName }} - ({{ item?.affiliationName || '-' }})</div>
<div @click="deleteTree(item)" class="tag_delete">+</div>
</div>
</div>
@@ -125,6 +125,7 @@ import * as lecturerApi from "@/api/Lecturer.js";
}
if(treeData.value.length){
treeData.value.map(item=>{
item.name = item.name?.split('(')[0]
notLists.value.some(i=>{
if(i.orgId == item.id){
item.disabled = true
@@ -158,11 +159,12 @@ import * as lecturerApi from "@/api/Lecturer.js";
return item;
}
try {
const orgItem = orgLists.value?.find(i => i && i.id == item.id);
const orgItem = orgLists.value?.find(i => i && i.orgId == item.id);
if (orgItem) {
item.isSelect = orgItem.isSelect;
item.orgName = orgItem.orgName;
item.leaders = orgItem.leaders;
item.affiliationName = orgItem.affiliationName
}
return {
orgId: item.id,
@@ -252,14 +254,14 @@ import * as lecturerApi from "@/api/Lecturer.js";
.line{
height: 1px;
margin-top: 16px;
background-color: #666666;
background-color: #e8e8e8;
}
.content{
display: flex;
min-height: 500px;
.left{
width: 50%;
border-right: 1px solid #666666;
border-right: 1px solid #e8e8e8;
padding: 30px 15px;
max-height: 600px;
overflow-y: auto;
@@ -315,7 +317,7 @@ import * as lecturerApi from "@/api/Lecturer.js";
height: 60px;
text-align: right;
padding: 13px 30px;
border-top: 1px solid #666666;
border-top: 1px solid #e8e8e8;
}
}
}

View File

@@ -143,11 +143,16 @@ const handleConfirm = () => {
}
api.teacherExpenseConfirm({ids:ids?.join(',')}).then(res=>{
console.log(res,'resssss')
api.submitApproval({ids:ids?.join(',')}).then(res=>{
api.submitApproval({ids:res.data?.data?.join(',')}).then(res=>{
console.log(res,'resssss')
message.success('提交成功')
close()
closeDrawer()
}).catch(err=>{
message.destroy()
message.error(err.data.msg)
close()
closeDrawer()
})
}).catch(err=>{
message.destroy()

View File

@@ -16,7 +16,7 @@
v-model:value="labelValue"
style="width: 100%"
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
placeholder="请选择归属组织"
:placeholder="placeholder"
:labelInValue="true"
allow-clear
v-model:treeExpandedKeys="stuTreeExpandedKeys"
@@ -46,6 +46,10 @@ const props = defineProps({
type: Boolean,
default: false,
},
placeholder: {
type: String,
default: "请选择归属组织"
}
});
const emit = defineEmits({});
const stuTreeExpandedKeys = ref([]);

View File

@@ -11,12 +11,11 @@
<div class="drawerMain">
<div class="header">
<div class="headerTitle">{{ title }}</div>
<!-- <img
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@click="closeDrawer"
/> -->
<a-button @click="closeDrawer" style="margin-right: 10px;" type="primary" class="btn1">返回</a-button>
/>
</div>
<div class="content">
<div class="title">

View File

@@ -63,8 +63,16 @@
</div>
</div>
<!-- 弹窗组件 -->
<a-drawer v-model:visible="teacherdialog" placement="right" @closa="cancelTeacherDialog" :maskClosable="true"
width="40%" :title="teacherdialogtitle">
<a-drawer v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false"
width="40%" :title="false">
<div class="headers" style="margin-top:-24px;">
<div class="headerTitle">{{ teacherdialogtitle }}</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="@/assets/images/basicinfo/close.png"
@click="cancelTeacherDialog"
/>
</div>
<a-form :model="formParam" :rules="rules" layout="vertical" ref="formRef" >
<!-- 基本信息 -->
<a-row>
@@ -815,6 +823,24 @@ export default {
::v-deep .ant-upload.ant-upload-select-picture-card {
border-radius: 50% !important;
}
.headers {
height: 73px;
border-bottom: 1px solid #e8e8e8;
display: flex;
justify-content: space-between;
align-items: center;
// background-color: red;
margin-bottom: 20px;
flex-shrink: 0;
.headerTitle {
font-size: 18px;
font-weight: 600;
color: #333333;
line-height: 25px;
// margin-left: 24px;
}
}
//导出按钮icon
.daochu {
width: 16px;

View File

@@ -28,32 +28,13 @@
v-on:keydown.enter="enterPressHadlerSearch" />
</div>
</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);" > -->
<!-- <div class="search"></div> -->
<a-button class="resetbtn " @click="searchReset">重置</a-button>
<!-- 更多筛选-->
<div v-if="moreid == 1">
<a-button @click="handlemoreid()" class="moreidbtn" type="text"> 展开
<RightOutlined />
</a-button>
</div>
<div v-if="moreid == 2">
<a-button @click="handlemoreid()" class="moreidbtn"> 返回
<UpOutlined />
</a-button>
</div>
</div>
<div style="width:100%"></div>
<a-form-item class="select" v-if="moreid == 2">
<a-form-item class="select">
<a-select style="width: 230px ;margin-bottom:20px" v-model:value="searchParam.createFrom" placeholder="录入类型"
:options="entryTypeList" allowClear
v-on:keydown.enter="enterPressHadlerSearch">
</a-select>
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
<a-form-item class="select">
<a-tree-select style="width: 230px" :fieldNames="{
children: 'children',
label: 'name',
@@ -65,12 +46,32 @@
v-on:keydown.enter="enterPressHadlerSearch">
</a-tree-select>
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
<a-form-item class="select">
<a-select style="width: 230px" v-model:value="searchParam.courseStatus" placeholder="开课状态"
:options="AuthenticationStatusList" allowClear
v-on:keydown.enter="enterPressHadlerSearch">
</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);" > -->
<!-- <div class="search"></div> -->
<a-button class="resetbtn " @click="searchReset">重置</a-button>
<!-- 更多筛选-->
<!-- <div v-if="moreid == 1">
<a-button @click="handlemoreid()" class="moreidbtn" type="text"> 展开
<RightOutlined />
</a-button>
</div>
<div v-if="moreid == 2">
<a-button @click="handlemoreid()" class="moreidbtn"> 返回
<UpOutlined />
</a-button>
</div> -->
</div>
<div style="width:100%"></div>
</a-form>
<div style="width: 100%;"></div>
<div style="display: flex; margin-bottom: 20px">
@@ -124,8 +125,16 @@
</div>
</div>
<!-- 弹窗组件 -->
<a-drawer v-model:visible="teacherdialog" placement="right" @closa="cancelTeacherDialog" :maskClosable="true"
width="60%" :title="teacherdialogtitle">
<a-drawer v-model:visible="teacherdialog" placement="right" :maskClosable="false" :closable="false"
width="60%" :title="false">
<div class="headers" style="margin-top:-24px;">
<div class="headerTitle">{{ teacherdialogtitle }}</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="@/assets/images/basicinfo/close.png"
@click="cancelTeacherDialog"
/>
</div>
<a-form :model="formParam" :rules="rules" layout="vertical" ref="formRef">
<!--讲师名称 teacherName 内容分类 coursetypeid -->
<a-row :gutter="16">
@@ -239,27 +248,35 @@
</div>
</a-drawer>
<!-- 查看授课记录 -->
<a-drawer v-model:visible="teachingdialog" placement="right" @closa="cancelTeachingDialog" :maskClosable="true"
width="60%" title="查看讲师授课记录">
<a-descriptions bordered :column="2" :contentStyle="rowCenter" :labelStyle="rowCenter">
<a-descriptions-item label="讲师名称">{{ formParam.teacherName }}</a-descriptions-item>
<a-descriptions-item label="手机号码">{{ formParam.mobile }}</a-descriptions-item>
<a-descriptions-item label="课程类型">{{ formParam.type == 1 ? '在线课' : formParam.type == 0 ? '面授课' : ''
<a-drawer v-model:visible="teachingdialog" placement="right" :maskClosable="false" :closable="false"
width="60%" :title="false">
<div class="headers" style="margin-top:-24px;">
<div class="headerTitle">查看讲师授课记录</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="@/assets/images/basicinfo/close.png"
@click="cancelTeachingDialog"
/>
</div>
<a-descriptions bordered :column="2" :contentStyle="rowCenter" :labelStyle="{'width':'160px'}">
<a-descriptions-item label="讲师名称">{{ formParam.teacherName ||'-'}}</a-descriptions-item>
<a-descriptions-item label="手机号码">{{ formParam.mobile ||'-'}}</a-descriptions-item>
<a-descriptions-item label="课程类型">{{ formParam.type == 1 ? '在线课' : formParam.type == 0 ? '面授课' : '-'
}}</a-descriptions-item>
<a-descriptions-item label="课程名称">{{ formParam.courseName }}</a-descriptions-item>
<a-descriptions-item label="课程名称">{{ formParam.courseName ||'-'}}</a-descriptions-item>
<a-descriptions-item label="开课状态">{{ formParam.courseStatus == 0 ? '未开课' : formParam.courseStatus == 1
? '已开课' : '' }}</a-descriptions-item>
<a-descriptions-item label="内容分类 ">{{ formParam.courseTypeName }}</a-descriptions-item>
<a-descriptions-item label="授课/课程日期 ">{{ formParam.teachingDate }}
? '已开课' : '-' }}</a-descriptions-item>
<a-descriptions-item label="内容分类 ">{{ formParam.courseTypeName ||'-'}}</a-descriptions-item>
<a-descriptions-item label="授课/课程日期 ">{{ formParam.teachingDate ||'-' }}
</a-descriptions-item>
<a-descriptions-item label="授课时长 "> <span > {{ formParam.teaching }} 分钟</span>
<a-descriptions-item label="授课时长 "> <span > {{ formParam.teaching }} 分钟</span>
<span style="margin-left: 10px ;" v-if="formParam.teaching != '0'">({{ (formParam.teaching / 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>
<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>
</a-descriptions>
<div :style="{
position: 'absolute',
@@ -910,7 +927,24 @@ const sendName=()=>{
.select .ant-picker {
width: 410px !important;
}
.headers {
height: 73px;
border-bottom: 1px solid #e8e8e8;
display: flex;
justify-content: space-between;
align-items: center;
// background-color: red;
margin-bottom: 20px;
flex-shrink: 0;
.headerTitle {
font-size: 18px;
font-weight: 600;
color: #333333;
line-height: 25px;
// margin-left: 24px;
}
}
.addTimeBox {
position: relative;
display: flex;

View File

@@ -17,11 +17,26 @@
</a-form-item>
<!-- <div @click="handlesearchlevel"> -->
<a-form-item class="select" >
<a-select style="width: 276px" v-model:value="searchParam.tLevelName" placeholder="请选择讲师级别" allowClear
<a-select style="width: 200px" v-model:value="searchParam.tLevelName" placeholder="请选择讲师级别" allowClear
:options="getLevelList" >
<!-- :disabled="getLevelList.length !== 0 ? false : true" 禁用状态 -->
</a-select>
</a-form-item>
<a-form-item class="select">
<a-select style="width: 200px ;margin-bottom:20px" v-model:value="searchParam.waitStatus" placeholder="在职状态"
:options="OnTheJobStatusList" allowClear>
</a-select>
</a-form-item>
<a-form-item class="select">
<a-select style="width: 200px ;" v-model:value="searchParam.certStatus" placeholder="认证状态" allowClear
:options="AuthenticationStatusList">
</a-select>
</a-form-item>
<a-form-item class="select">
<a-input style="width: 220px;height: 40px; border-radius:8px; " v-model:value="searchParam.courses"
placeholder="擅长课程" allowClear @pressEnter="searchSubmit">
</a-input>
</a-form-item>
<!-- </div> -->
<div style="display: flex; margin-bottom: 20px">
<a-button @click="searchSubmit()" type="primary" class="resetbtn">查询 </a-button>
@@ -30,33 +45,19 @@
<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>
</div>
<div v-if="moreid == 2">
</div> -->
<!-- <div v-if="moreid == 2">
<a-button @click="handlemoreid()" class="moreidbtn"> 返回
<UpOutlined />
</a-button>
</div>
</div> -->
</div>
<div style="width:100%"></div>
<a-form-item v-if="moreid == 2" class="select">
<a-select style="width: 276px ;margin-bottom:20px" v-model:value="searchParam.waitStatus" placeholder="在职状态"
:options="OnTheJobStatusList" allowClear>
</a-select>
</a-form-item>
<a-form-item v-if="moreid == 2" class="select">
<a-select style="width: 276px ;" v-model:value="searchParam.certStatus" placeholder="认证状态" allowClear
:options="AuthenticationStatusList">
</a-select>
</a-form-item>
<a-form-item v-if="moreid == 2" class="select">
<a-input style="width: 276px;height: 40px; border-radius:8px; " v-model:value="searchParam.courses"
placeholder="擅长课程" allowClear @pressEnter="searchSubmit">
</a-input>
</a-form-item>
</a-form>
<div style="width: 100%;"></div>
<div style="display: flex; margin-bottom: 20px">
@@ -114,7 +115,7 @@
<!-- 弹窗组件 -->
<a-drawer v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false"
width="40%" :title="false">
<div class="headers">
<div class="headers" style="margin-top:-24px;">
<div class="headerTitle">{{ teacherdialogtitle }}</div>
<img
style="width: 29px; height: 29px; cursor: pointer"

View File

@@ -65,7 +65,7 @@
<!-- <a-select style="width: 230px" placeholder="请选择所属组织" v-model:value="searchParam.sourceBelongId"
:options="getOrganizationList" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
</a-select> -->
<OrgClass v-model:value="searchParam.orgId"
<OrgClass v-model:value="searchParam.orgId" :placeholder="'请选择讲师组织'"
style="width: 230px"
></OrgClass>
</a-form-item>
@@ -146,8 +146,16 @@
</div>
</div>
<!-- 弹窗组件 -->
<a-drawer v-model:visible="teacherdialog" placement="right" @closa="cancelTeacherDialog" :maskClosable="true"
width="60%" :title="teacherdialogtitle">
<a-drawer v-model:visible="teacherdialog" :closable="false" placement="right" :maskClosable="false"
width="60%" :title="false">
<div class="headers" style="margin-top:-24px;">
<div class="headerTitle">{{ teacherdialogtitle }}</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="@/assets/images/basicinfo/close.png"
@click="cancelTeacherDialog"
/>
</div>
<a-form :model="formParam" :rules="rules" layout="vertical" ref="formRef">
<!-- 讲师姓名 teacher 组织 orgName-->
<a-row :gutter="16">
@@ -270,7 +278,7 @@
<a-col :span="24">
<a-form-item label="备注">
<a-textarea v-model:value="formParam.remark" showCount :maxlength="200" @blur="sendRemark"
style="width: 100%; height: 100px; border-radius: 8px" placeholder="请输入" />
style="width: 100%; height: 100px; border-radius: 8px;margin-bottom:62px;" placeholder="请输入" />
</a-form-item>
</a-col>
</a-row>
@@ -292,40 +300,48 @@
</div>
</a-drawer>
<!--查看授课详情 -->
<a-drawer v-model:visible="teachingdialog" placement="right" @closa="cancelTeachingDialog" :maskClosable="true"
width="60%" title="查看讲师授课记录">
<a-drawer v-model:visible="teachingdialog" :closable="false" placement="right" :maskClosable="false"
width="60%" :title="false">
<div class="headers" style="margin-top:-24px;">
<div class="headerTitle">查看讲师授课记录</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="@/assets/images/basicinfo/close.png"
@click="cancelTeachingDialog"
/>
</div>
<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.userNo }}</a-descriptions-item>
<a-descriptions-item label="讲师组织" :span="2">{{ formParam.orgName }}</a-descriptions-item>
<a-descriptions-item label="讲师体系">{{ formParam.tsystemName }}</a-descriptions-item>
<a-descriptions-item label="讲师级别">{{ formParam.tlevelName
<a-descriptions style="margin-top:15px;" bordered :column="2" :contentStyle="rowCenter" :labelStyle="{'width':'160px'}">
<a-descriptions-item label="讲师名称">{{ formParam.teacherName ||'-'}}</a-descriptions-item>
<a-descriptions-item label="讲师工号">{{ formParam.userNo||'-' }}</a-descriptions-item>
<a-descriptions-item label="讲师组织" :span="2">{{ formParam.orgName||'-' }}</a-descriptions-item>
<a-descriptions-item label="讲师体系">{{ formParam.tsystemName||'-' }}</a-descriptions-item>
<a-descriptions-item label="讲师级别">{{ formParam.tlevelName||'-'
}}</a-descriptions-item>
<a-descriptions-item label="录入方式">
{{ formParam.createFrom == 0 ? '系统生成' : formParam.createFrom == 1 ? '手动录入' : '-' }}</a-descriptions-item>
<a-descriptions-item label="课程类型">{{ formParam.type == 1 ? '在线课' : formParam.type == 0 ? '面授课' : ''
<a-descriptions-item label="课程类型">{{ formParam.type == 1 ? '在线课' : formParam.type == 0 ? '面授课' : '-'
}}</a-descriptions-item>
<a-descriptions-item label="课程名称">{{ formParam.courseName }}</a-descriptions-item>
<a-descriptions-item label="课程名称">{{ formParam.courseName||'-' }}</a-descriptions-item>
<a-descriptions-item label="开课状态">{{ formParam.courseStatus == 0 ? '未开课' : formParam.courseStatus == 1
? '已开课' : '' }}</a-descriptions-item>
? '已开课' : '-' }}</a-descriptions-item>
<a-descriptions-item label="授课时长 ">
<span> {{ formParam.teaching }} 分钟</span>
<span style="margin-left: 10px ;" v-if="formParam.teaching != '0'">({{ (formParam.teaching / 60
).toFixed(2) }}小时)</span> </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.courseTypeName }}</a-descriptions-item>
<a-descriptions-item label="备注 ">{{ formParam.remark }}</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.courseTypeName||'-' }}</a-descriptions-item>
<a-descriptions-item label="备注 ">{{ formParam.remark||'-' }}</a-descriptions-item>
</a-descriptions>
<div v-if="formParam.createFrom == '0'">
<div style="margin-top:20px ;line-height: 24px;">
<div style="margin-top:20px ;line-height: 24px;margin-bottom: 15px;">
<span class="line"></span>
<span>讲师费发放情况</span>
</div>
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="column"
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe;margin-bottom: 60px;" :columns="column"
:data-source="tableDatas" :pagination="false">
<template #bodyCell="{ record, column }">
<template v-if="column.key === 'operation'">
@@ -708,7 +724,7 @@ export default {
customRender: (value) => {
return (
<div>
{dayjs(value.record?.teachingDate).format("YYYY-MM-DD HH:mm")}
{value.record?.teachingDate?dayjs(value.record?.teachingDate).format("YYYY-MM-DD HH:mm"):'-'}
</div>
);
},
@@ -1106,7 +1122,7 @@ export default {
state.formParam.orgLists = res.data.data.expertiseNames?.split(',').map(item => ({ name: item }))
state.teachingDate = dayjs(res.data.data.teachingDate, 'YYYY-MM-DD HH:mm'),
state.formParam.orgNames = state.formParam.orgName
state.formParam.teachingDate = state.teachingDate ? dayjs(state.teachingDate).format("YYYY-MM-DD HH:mm").toString() : ""
state.formParam.teachingDate = res.data.data.teachingDate ? dayjs(res.data.data.teachingDate).format("YYYY-MM-DD HH:mm").toString() : "-"
console.log(state.formParam);
})
.catch((err) => {
@@ -1326,7 +1342,24 @@ export default {
.select .ant-picker {
width: 410px !important;
}
.headers {
height: 73px;
border-bottom: 1px solid #e8e8e8;
display: flex;
justify-content: space-between;
align-items: center;
// background-color: red;
margin-bottom: 20px;
flex-shrink: 0;
.headerTitle {
font-size: 18px;
font-weight: 600;
color: #333333;
line-height: 25px;
// margin-left: 24px;
}
}
.addTimeBox {
position: relative;
display: flex;

View File

@@ -122,7 +122,7 @@
<!--查看讲师费详情 -->
<a-drawer :closable="false" v-model:visible="teachingdialog" placement="right"
@closa="cancelTeachingDialog" width="60%" :title="false">
<div class="headers">
<div class="headers" style="margin-top:-24px;">
<div class="headerTitle">查看讲师费用</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
@@ -136,7 +136,7 @@
<a-descriptions-item label="审批编号">{{formParam?.teacherName||'-'}}</a-descriptions-item>
<a-descriptions-item label="培训发生组织">{{formParam?.trainOrgName||'-'}}</a-descriptions-item>
<a-descriptions-item v-if="activeKey==2" label="汇总周期" >{{formParam?.summaryDate||'-'}}</a-descriptions-item>
<a-descriptions-item label="提交时间">{{formParam?.summaryTime||'-'}}</a-descriptions-item>
<a-descriptions-item label="提交时间">{{formParam?.approval_submit_time||'-'}}</a-descriptions-item>
<a-descriptions-item label="汇总金额">{{formParam?.summaryTotal||'-'}}</a-descriptions-item>
<a-descriptions-item label="状态">{{{0:'待确认' ,1:'待提交' ,2:'审核中', 3:'已完成', 4:'拒绝',5:'待提交'}[formParam?.status]}}</a-descriptions-item>
</a-descriptions>
@@ -446,10 +446,13 @@
},
{
title: '提交时间',
dataIndex: 'summaryTime',
key: 'summaryTime',
dataIndex: 'approval_submit_time',
key: 'approval_submit_time',
ellipsis: true, align: "center",
width: 200,
customRender: ({text, record}) => {
return text ? text : '-'
}
},
{
title: '状态 ',

View File

@@ -36,6 +36,30 @@
/>
</div>
</a-form-item>
<a-form-item class="select">
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.type" placeholder="请选择课程类型" allowClear
:options="OnTheJobStatusList"
v-on:keydown.enter="enterPressHadlerSearch">
</a-select>
</a-form-item>
<a-form-item class="select" >
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.status" placeholder="请选择状态" allowClear
:options="AuthenticationStatusList"
v-on:keydown.enter="enterPressHadlerSearch">
</a-select>
</a-form-item>
<a-form-item class="select">
<a-select style="width: 235px ;margin-bottom:20px" placeholder="请选择讲师体系" v-model:value="searchParam.tSystemId" allowClear
:options="lecturerSystemList"
v-on:keydown.enter="enterPressHadlerSearch">
</a-select>
</a-form-item>
<a-form-item class="select" >
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.tLevelName" placeholder="请选择讲师级别" allowClear
:options="getLevelList"
v-on:keydown.enter="enterPressHadlerSearch">
</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);" > -->
@@ -43,7 +67,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>
@@ -52,7 +76,7 @@
<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">
@@ -60,30 +84,7 @@
:options="courseTypeList">
</a-select>
</a-form-item> -->
<a-form-item class="select" v-if="moreid == 2">
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.type" placeholder="请选择课程类型" allowClear
:options="OnTheJobStatusList"
v-on:keydown.enter="enterPressHadlerSearch">
</a-select>
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.status" placeholder="请选择状态" allowClear
:options="AuthenticationStatusList"
v-on:keydown.enter="enterPressHadlerSearch">
</a-select>
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="width: 235px ;margin-bottom:20px" placeholder="请选择讲师体系" v-model:value="searchParam.tSystemId" allowClear
:options="lecturerSystemList"
v-on:keydown.enter="enterPressHadlerSearch">
</a-select>
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.tLevelName" placeholder="请选择讲师级别" allowClear
:options="getLevelList"
v-on:keydown.enter="enterPressHadlerSearch">
</a-select>
</a-form-item>
</a-form>
<div style="width: 100%;"></div>
<div style="display: flex; margin-bottom: 20px">
@@ -157,7 +158,7 @@
<!-- 弹窗组件 -->
<a-drawer v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false" dropdown-style="drawaer"
width="60%" :title="false">
<div class="headers">
<div class="headers" style="margin-top:-24px;">
<div class="headerTitle">{{ teacherdialogtitle }}</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
@@ -380,7 +381,7 @@
<!-- <div> <Upload/> </div> -->
<a-drawer v-model:visible="teachingdialog" placement="right"
:closable="false" width="60%" :title="false">
<div class="headers">
<div class="headers" style="margin-top:-24px;">
<div class="headerTitle">查看讲师费用</div>
<img
style="width: 29px; height: 29px; cursor: pointer"

View File

@@ -1,9 +1,8 @@
ExternalLecturer
<template>
<!-- 外部讲师查看详情 -->
<div class="LookExternalLecturer">
<a-layout-header style="background: white;color: black; font-size: 20px ;">
<!-- <a-layout-header style="background: white;color: black; font-size: 20px ;">
<span>查看讲师</span>
<router-link :to="{ path: '/lecturerList', query: { activeKey: '2', } }" class="goback">
<span class="return"></span>
@@ -11,13 +10,22 @@ ExternalLecturer
返回
</router-link>
</router-link>
</a-layout-header>
<a-divider style="height: 1px; background-color: #b7b8b7 ;margin: 0;" />
</a-layout-header> -->
<div class="header">
<div class="headerTitle">查看讲师</div>
<router-link :to="{ path: '/lecturerList', query: { activeKey: '2', } }">
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
/>
</router-link>
</div>
<!-- <a-divider style="height: 1px; background-color: #b7b8b7 ;margin: 0;" /> -->
<a-layout-content>
<!-- 讲师信息 -->
<div style="width: 100%;margin-top: 10px;">
<span class="line"></span>
<a-descriptions title="讲师信息" bordered :column="3" :labelStyle="rowCenter">
<span class="line" style="margin-left:12px;"></span>
<a-descriptions title="讲师信息" style="padding:0 20px;" bordered :column="3" :labelStyle="rowCenter">
<!-- 一层 -->
<a-descriptions-item label="讲师头像"> <a-image
:width="55" style="border-radius: 50%;"
@@ -34,9 +42,9 @@ ExternalLecturer
</a-descriptions-item>
</a-descriptions>
<div style="margin-top: 10px;"></div>
<span class="line" ></span>
<span class="line" style="margin-left:12px;"></span>
<!-- 记录 -->
<a-descriptions title="其他信息" bordered :column="4" :labelStyle="rowCenter" >
<a-descriptions title="其他信息" bordered :column="4" style="padding:0 20px;" :labelStyle="rowCenter" >
<!-- 一层 -->
<a-descriptions-item label="讲师介绍" :span="4" >
<div v-if="formParam.description !=null&&resp(formParam.description)" style="min-width: 500px;" v-html="formParam.description" ></div>
@@ -54,10 +62,10 @@ ExternalLecturer
</a-descriptions>
<!-- -->
<div style="margin-top: 1px;"></div>
<a-tabs v-model:activeKey="activeKey">
<a-tabs v-model:activeKey="activeKey" style="padding:0 20px;">
<a-tab-pane key="1" tab="授课记录">
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="teacherrecordsColumns"
<a-table :header-cell-style="{ 'text-align': 'center' }" :columns="teacherrecordsColumns"
:sroll="{ x: '1000' }"
:data-source="teacherrecordstableData" :loading="teacherrecordsLoading" @expand="expandTable" :pagination="pagination">
</a-table>
@@ -252,11 +260,11 @@ export default{
ellipsis: true, align: "center",
width: 120,
customRender: (text)=>{
return (
<div>
{text.record.remark || "-"}
</div>
)
return (
<div>
{text.record.remark || "-"}
</div>
)
},
},
])
@@ -311,7 +319,7 @@ export default{
resp,
TeacherSystem,
handleBack,
rowCenter:{"text-align":"center"},
rowCenter:{"text-align":"center",'width':'120px'},
teacherrecordstableData,
teacherrecordsColumns,
getteacherrecordstableData,
@@ -329,7 +337,25 @@ export default{
height: 100%;
display: flex;
flex-direction: column;
.header {
padding: 0px 32px;
height: 73px;
border-bottom: 1px solid #e8e8e8;
display: flex;
justify-content: space-between;
align-items: center;
// background-color: red;
// margin-bottom: 20px;
flex-shrink: 0;
.headerTitle {
font-size: 18px;
font-weight: 600;
color: #333333;
line-height: 25px;
// margin-left: 24px;
}
}
.filter {
margin-left: 38px;
margin-right: 38px;
@@ -368,7 +394,7 @@ export default{
display: inline-block;
width: 42px;
height: 42px;
margin-top: 17px;
margin-top: 12px;
margin-right: 10px;
background-image: url("../../assets/images/projectadd/return.png");
}

View File

@@ -1,19 +1,26 @@
<template>
<!-- 内部讲师查看详情 -->
<div class="LookInsideLecturer">
<a-layout-header style="background: white;color: black; font-size: 20px ;">
<!-- <a-layout-header style="background: white;color: black; font-size: 20px ;">
<span>查看讲师</span>
<router-link :to="{ path: '/lecturerList', query: { activeKey: '1', } }" class="goback">
<span class="return"></span>
<!-- <router-link class="returntext" to="/lecturerList" style="line-height:47px ">
返回
</router-link> -->
<div class="returntext" to="/goback" style="line-height:47px ">
返回
</div>
</router-link>
</a-layout-header>
<a-divider style="height: 1px; background-color: #b7b8b7 ;margin: 0;" />
</a-layout-header> -->
<div class="header">
<div class="headerTitle">查看讲师</div>
<router-link :to="{ path: '/lecturerList', query: { activeKey: '1', } }">
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
/>
</router-link>
</div>
<!-- <a-divider style="height: 1px; background-color: #b7b8b7 ;margin: 0;" /> -->
<a-layout-content>
<!-- 讲师信息 -->
<div style="width: 100%;margin-top: 10px;padding: 20px;">
@@ -465,8 +472,26 @@ const handleup = ()=>{
}
</script>
<style lang="scss" scoped>
.LookInsideLecturer {
.header {
padding: 0px 32px;
height: 73px;
border-bottom: 1px solid #e8e8e8;
display: flex;
justify-content: space-between;
align-items: center;
// background-color: red;
// margin-bottom: 20px;
flex-shrink: 0;
.headerTitle {
font-size: 18px;
font-weight: 600;
color: #333333;
line-height: 25px;
// margin-left: 24px;
}
}
width: 100%;
height: 100%;
display: flex;
@@ -510,7 +535,7 @@ const handleup = ()=>{
display: inline-block;
width: 42px;
height: 42px;
margin-top: 17px;
margin-top: 12px;
margin-right: 10px;
background-image: url("../../assets/images/projectadd/return.png");
}

View File

@@ -2,7 +2,7 @@
<template>
<div class="MonthlyStatistics">
<!-- 搜索框及按钮 -->
<a-layout-header style="background: white;color: black; font-size: 20px ;">
<!-- <a-layout-header style="background: white;color: black; font-size: 20px ;">
<span>讲师费月度统计详情</span>
<router-link to="/LecturerFeeStatistics" class="goback">
<span class="return"></span>
@@ -10,8 +10,17 @@
返回
</router-link>
</router-link>
</a-layout-header>
<a-divider style="height: 1px; background-color: #b7b8b7 ;margin: 0;" />
</a-layout-header> -->
<div class="header">
<div class="headerTitle">讲师费月度统计详情</div>
<router-link to="/LecturerFeeStatistics">
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
/>
</router-link>
</div>
<!-- <a-divider style="height: 1px; background-color: #b7b8b7 ;margin: 0;" /> -->
<div class="filter">
<a-form layout="inline" >
<a-form-item class="select">
@@ -587,6 +596,25 @@ export default {
</script>
<style lang="scss" scoped >
.MonthlyStatistics {
.header {
padding: 0px 32px;
height: 73px;
border-bottom: 1px solid #e8e8e8;
display: flex;
justify-content: space-between;
align-items: center;
// background-color: red;
// margin-bottom: 20px;
flex-shrink: 0;
.headerTitle {
font-size: 18px;
font-weight: 600;
color: #333333;
line-height: 25px;
// margin-left: 24px;
}
}
width: 100%;
height: 100%;
display: flex;

View File

@@ -89,7 +89,7 @@
</div>
<!-- 抽屉 -->
<a-drawer v-model:visible="teacherdialog" :closable="false" :title="false" placement="right" width="60%" :maskClosable="false" >
<div class="headers">
<div class="headers" style="margin-top: -24px">
<div class="headerTitle">{{ teacherdialogtitle }}</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
@@ -405,7 +405,7 @@ const orgColumns = ref([
customRender: (text) => {
return (
<div>
{text.record.isSelect == 1 ? `是 (${text.record.orgName})` : "否 (-)"}
{text.record.isSelect == 1 ? `是 (${text.record.affiliationName})` : "否 (-)"}
</div>
)
}
@@ -582,6 +582,15 @@ const getTableDate = (obj) => {
});
state.formParam.leveThreeValue = state.formParam.leveThreeArray.map(item => item.label).join(',');
state.formParam.orglistName = state.formParam.affiliationOrgList?.map(item=>item.id).join(',')
state.formParam.selectOrgList?.map(item=>{
state.formParam.affiliationOrgList.some(item2=>{
if(item.orgId==item2.orgId){
item2 = Object.assign(item2,item)
return true
}
})
})
console.log(state.formParam.affiliationOrgList,'state.formParam.affiliationOrgList')
state.teacherdialog = true;
state.teacherdialogtitle = '编辑培训发生组织'
state.vf = false