讲师管理bug

This commit is contained in:
zhangsir
2024-11-13 16:41:26 +08:00
parent 5c76f6411f
commit 0c0dfff74b
10 changed files with 188 additions and 78 deletions

View File

@@ -74,7 +74,9 @@ export const getListByStatus = (obj) => http.get(`/admin/teacherExpense/getListB
//根据发生组织查询汇总的数据(一键确认弹框使用) //根据发生组织查询汇总的数据(一键确认弹框使用)
export const getListByAffiliation = (obj) => http.get(`/admin/teacherExpense/getListByAffiliation?ids=${obj.ids}&beginTime=${obj.beginTime}&endTime=${obj.endTime}&name=${obj.name}&`) export const getListByAffiliation = (obj) => http.get(`/admin/teacherExpense/getListByAffiliation?ids=${obj.ids}&beginTime=${obj.beginTime}&endTime=${obj.endTime}&name=${obj.name}&`)
//确认/一键确认 //确认/一键确认
export const teacherExpenseConfirm = (obj) => http.post('/admin/teacherExpense/confirm',obj) export const teacherExpenseConfirm = (obj) => http.post('/admin/expenseBill/createSummary',obj)
//确认审批
export const submitApproval = (obj) => http.post('/admin/expenseBill/submitApproval',obj)
//提交/撤回 //提交/撤回
export const isConfirm = (obj) => http.post('/admin/expenseBill/isConfirm',obj) export const isConfirm = (obj) => http.post('/admin/expenseBill/isConfirm',obj)
//培训发生组织根节点列表 //培训发生组织根节点列表

View File

@@ -1,6 +1,6 @@
<template> <template>
<div class="CommonStudent"> <div class="CommonStudent">
<a-drawer :visible="visiable" class="drawerStyle ProjCheckship CommonStudent" placement="right" width="40%"> <a-drawer destroyOnClose :visible="visiable" class="drawerStyle ProjCheckship CommonStudent" placement="right" width="40%">
<div class="drawerMain" id="ProjCheckship" style=""> <div class="drawerMain" id="ProjCheckship" style="">
<div class="header"> <div class="header">
<div class="headerTitle"> <div class="headerTitle">
@@ -217,7 +217,6 @@ const stuColumns = ref([
ellipsis: true, ellipsis: true,
}, },
]); ]);
const auditTableRef = ref();
const screenHeight = ref(document.body.clientHeight); const screenHeight = ref(document.body.clientHeight);
const closeDrawer = () => { const closeDrawer = () => {
@@ -282,8 +281,6 @@ watch(visiable, () => {
audienceName.value.keyword = ""; audienceName.value.keyword = "";
if (!visiable.value) { if (!visiable.value) {
auditTableRef.value && auditTableRef.value.clear();
auditTableRef.value && auditTableRef.value.reset({ keyword: "" });
stuTableRef.value && stuTableRef.value.clear(); stuTableRef.value && stuTableRef.value.clear();
stuTableRef.value && stuTableRef.value.reset({ keyword: "", departId: '' }); stuTableRef.value && stuTableRef.value.reset({ keyword: "", departId: '' });
} }

View File

@@ -81,7 +81,7 @@ const onSelectChange = (e, l) => {
selectedRowKeys.value = e selectedRowKeys.value = e
selectsData.value = l selectsData.value = l
} }
const emit = defineEmits({}) const emit = defineEmits(['selectedRowKeys','update:visible'])
const addList = (item) => { const addList = (item) => {
selectedRowKeys.value.push(item.id) selectedRowKeys.value.push(item.id)
selectsData.value.push(item) selectsData.value.push(item)

View File

@@ -136,16 +136,13 @@ const handleConfirm = () => {
} }
numTime.value+=1 numTime.value+=1
localStorage.setItem('numTime',numTime.value) localStorage.setItem('numTime',numTime.value)
const ids = expenseList.value?.map(item=>item.id) const ids = forData.value.flatMap(item => item.expenseList.map(item => item.id));
api.teacherExpenseConfirm(ids).then(res=>{ if(!ids.length){
console.log(res,'resssss') return message.error('暂无可提交的数据')
const obj = ids?.map(item=>{
return {
id: item,
status: 1
} }
}) api.teacherExpenseConfirm({ids:ids?.join(',')}).then(res=>{
api.isConfirm(obj).then(res=>{ console.log(res,'resssss')
api.submitApproval({ids:ids?.join(',')}).then(res=>{
console.log(res,'resssss') console.log(res,'resssss')
message.success('提交成功') message.success('提交成功')
close() close()
@@ -189,6 +186,13 @@ watch(()=>props.visible,(val)=>{
} }
}) })
const removeId = (e,i) =>{ const removeId = (e,i) =>{
forData.value?.forEach(item=>{
item.expenseList?.some((i,l)=>{
if(i.id == e.id){
return item.expenseList.splice(l,1)
}
})
})
if(searchTrue.value){ if(searchTrue.value){
searchList.value = searchList.value.filter(item=>item.id !== e.id) searchList.value = searchList.value.filter(item=>item.id !== e.id)
expenseList.value = expenseList.value.filter(item=>item.id !== e.id) expenseList.value = expenseList.value.filter(item=>item.id !== e.id)
@@ -209,6 +213,9 @@ const searchData = (val) => {
const filteredList = expenseList.value.filter(item => { const filteredList = expenseList.value.filter(item => {
const isNameMatch = (item.name + item.userNo).includes(nameUserNo.value); const isNameMatch = (item.name + item.userNo).includes(nameUserNo.value);
const teachingDateTimestamp = new Date(item.teachingDate).getTime(); const teachingDateTimestamp = new Date(item.teachingDate).getTime();
if(dateValue.value==null){
return isNameMatch
}
const startDateTimestamp = new Date(dateValue.value[0]).getTime(); const startDateTimestamp = new Date(dateValue.value[0]).getTime();
const endDateTimestamp = new Date(dateValue.value[1]).getTime(); const endDateTimestamp = new Date(dateValue.value[1]).getTime();
const isDateInRange = teachingDateTimestamp >= startDateTimestamp && teachingDateTimestamp <= endDateTimestamp; const isDateInRange = teachingDateTimestamp >= startDateTimestamp && teachingDateTimestamp <= endDateTimestamp;
@@ -221,7 +228,7 @@ const resetData = () => {
dateValue.value = null dateValue.value = null
searchData(false) searchData(false)
} }
const emit = defineEmits({}) const emit = defineEmits(['update:visible'])
const columns = [ const columns = [
{ {
title: '讲师名称', title: '讲师名称',
@@ -340,15 +347,14 @@ const columns = [
] ]
const closeDrawer = () => emit("update:visible", false); const closeDrawer = () => emit("update:visible", false);
const qureyDrawer = () => { const qureyDrawer = () => {
if(!expenseList.value.length){ const ids = forData.value.flatMap(item => item.expenseList.map(item => item.id));
if(!ids.length){
return message.error('暂无可提交的数据') return message.error('暂无可提交的数据')
return
} }
dialog({ dialog({
content: '是否确认讲师费信息无误?提交后按“培训发生组织”汇总至审批中心,等待验证后“提交”进入审批流程。', content: '是否确认讲师费信息无误?提交后按“培训发生组织”汇总至审批中心,等待验证后“提交”进入审批流程。',
ok: () => { ok: () => {
const ids = expenseList.value.map(item=>item.id) api.teacherExpenseConfirm({ids:ids?.join(',')}).then(res=>{
api.teacherExpenseConfirm(ids).then(res=>{
console.log(res,'resssss') console.log(res,'resssss')
message.success('提交成功') message.success('提交成功')
closeDrawer() closeDrawer()

View File

@@ -89,12 +89,12 @@
<a-space> <a-space>
<a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button> <a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button>
<a-button v-if="record.isPermission" type="link" @click="() => handleModify(record, String(record.courseform))">编辑</a-button> <a-button v-if="record.isPermission==='true'" type="link" @click="() => handleModify(record, String(record.courseform))">编辑</a-button>
<a-button v-if="record.status == '1'&&record.isPermission" type="link" <a-button v-if="record.status == '1'&&record.isPermission==='true'" type="link"
@click="() => handleOperate(record, String(record.courseform))">停用</a-button> @click="() => handleOperate(record, String(record.courseform))">停用</a-button>
<a-button v-if="record.status == '2'&&record.isPermission" type="link" <a-button v-if="record.status == '2'&&record.isPermission==='true'" type="link"
@click="() => handleOperate(record, String(record.courseform))">启用</a-button> @click="() => handleOperate(record, String(record.courseform))">启用</a-button>
<a-button v-if="record.isSuperPermission" type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button> <a-button v-if="record.isSuperPermission==='true'" type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button>
<!-- <a-button type="link" @click="() => deleteModal(record, String(record.courseform))" <!-- <a-button type="link" @click="() => deleteModal(record, String(record.courseform))"
 v-if="lecturerAdmin('Lecturer-admin')">删除</a-button> -->  v-if="lecturerAdmin('Lecturer-admin')">删除</a-button> -->
</a-space> </a-space>

View File

@@ -331,7 +331,7 @@ export default {
const getTableList = () => { const getTableList = () => {
state.loading = true state.loading = true
queryExpnseByBillId({ queryExpnseByBillId({
id: state.paramsId, billld: state.paramsId,
pageNo: state.params.pageNo, pageNo: state.params.pageNo,
pageSize: state.params.pageSize, pageSize: state.params.pageSize,
name: state.params.userNoName, name: state.params.userNoName,
@@ -387,6 +387,7 @@ export default {
CreateSummaryAgain().then(res=>{ CreateSummaryAgain().then(res=>{
search(); search();
}).catch(err=>{ }).catch(err=>{
message.destroy()
message.error(err.data.msg) message.error(err.data.msg)
}) })
} }

View File

@@ -94,8 +94,8 @@
<a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button> <a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button>
<!-- <a-button type="link" @click="() => handleOperate(record, String(record.courseform))">审批</a-button> --> <!-- <a-button type="link" @click="() => handleOperate(record, String(record.courseform))">审批</a-button> -->
<!-- <a-button type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button> --> <!-- <a-button type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button> -->
<a-button type="link" @click="submit(record)">提交</a-button> <a-button v-if="record.status == 1" type="link" @click="submit(record)">提交</a-button>
<a-button type="link" @click="withdraw(record)">撤回</a-button> <a-button v-if="record.status == 2" type="link" @click="withdraw(record)">撤回</a-button>
</a-space> </a-space>
</template> </template>
</template> </template>
@@ -130,7 +130,7 @@
<a-descriptions-item v-if="activeKey==2" label="汇总周期" >{{formParam?.summaryDate}}</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?.summaryTime}}</a-descriptions-item>
<a-descriptions-item label="汇总金额">{{formParam?.summaryTotal}}</a-descriptions-item> <a-descriptions-item label="汇总金额">{{formParam?.summaryTotal}}</a-descriptions-item>
<a-descriptions-item label="状态">{{{0:'待确认' ,1:'待提交' ,2:'审核中', 3:'审核通过', 4:'审核拒绝'}[formParam?.status]}}</a-descriptions-item> <a-descriptions-item label="状态">{{{0:'待确认' ,1:'待提交' ,2:'审核中', 3:'审核通过', 4:'拒绝',5:'撤回'}[formParam?.status]}}</a-descriptions-item>
</a-descriptions> </a-descriptions>
<!-- <span>审批详情</span> --> <!-- <span>审批详情</span> -->
<span class="line" style="margin-top:12px;"></span> <span class="line" style="margin-top:12px;"></span>
@@ -463,6 +463,8 @@
return "审核通过" return "审核通过"
case 4: case 4:
return "审核拒绝" return "审核拒绝"
case 5:
return "撤回"
default: default:
return "-" return "-"
} }
@@ -612,10 +614,16 @@
ok: () => { ok: () => {
isConfirm({ isConfirm({
id: record.id, id: record.id,
status: 1 status: 2
}).then(res=>{ }).then(res=>{
if(res.data.code == 200){
message.success('提交成功') message.success('提交成功')
getTableDate(); getTableDate();
}
}).catch(err=>{
message.destroy()
message.error(err.data.msg)
}) })
} }
}) })
@@ -627,10 +635,16 @@
ok: () => { ok: () => {
isConfirm({ isConfirm({
id: record.id, id: record.id,
status: 0 status: 1
}).then(res=>{ }).then(res=>{
if(res.data.code == 200){
message.success('撤回成功') message.success('撤回成功')
getTableDate(); getTableDate();
}
}).catch(err=>{
message.destroy()
message.error(err.data.msg)
}) })
} }
}) })
@@ -670,7 +684,7 @@
const tableDataExamine = ref([]) const tableDataExamine = ref([])
const gettableDataExamine = () => { const gettableDataExamine = () => {
queryExpnseByBillId({ queryExpnseByBillId({
id : state.id, billld : state.id,
pageNo: state.tableDataParams.pageNo, pageNo: state.tableDataParams.pageNo,
pageSize: state.tableDataParams.pageSize, pageSize: state.tableDataParams.pageSize,
name: state.userNoOrName, name: state.userNoOrName,

View File

@@ -17,8 +17,8 @@
</div> </div>
</a-form-item> </a-form-item>
<a-form-item class="select"> <a-form-item class="select">
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.trainOrgId" placeholder="请输入培训发生组织进行搜索" allowClear <a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.trainOrgId" placeholder="请选择培训发生组织" allowClear
:options="orgList" showSearch :options="orgList"
v-on:keydown.enter="enterPressHadlerSearch"> v-on:keydown.enter="enterPressHadlerSearch">
</a-select> </a-select>
</a-form-item> </a-form-item>
@@ -118,7 +118,7 @@
<a-space > <a-space >
<a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button> <a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button>
<!-- :disabled="record.createFrom==1 ?false :true" --> <!-- :disabled="record.createFrom==1 ?false :true" -->
<a-button type="link" @click="() => handleModify(record, String(record.courseform))">编辑</a-button> <a-button type="link" :disabled="record.createFrom==1 ?false :true" @click="() => handleModify(record, String(record.courseform))">编辑</a-button>
<!-- <a-button :disabled="record.status==='A20' || record.status==='A30'||record.status==='S20' ?true :false" type="link" @click="() => handleOperate(record, String(record.courseform))">提交</a-button> <!-- <a-button :disabled="record.status==='A20' || record.status==='A30'||record.status==='S20' ?true :false" type="link" @click="() => handleOperate(record, String(record.courseform))">提交</a-button>
<a-button :disabled="record.status==='A10' && record.status!=='A20' || record.status==='A30'||record.status==='S20' ||record.status==='E10' ?true :false" type="link" @click="() => handleOperate(record, String(record.courseform))">撤回</a-button> --> <a-button :disabled="record.status==='A10' && record.status!=='A20' || record.status==='A30'||record.status==='S20' ||record.status==='E10' ?true :false" type="link" @click="() => handleOperate(record, String(record.courseform))">撤回</a-button> -->
<!-- <a-button type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button> --> <!-- <a-button type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button> -->
@@ -162,7 +162,7 @@
<a-row :gutter="16"> <a-row :gutter="16">
<a-col :span="12"> <a-col :span="12">
<a-form-item label="讲师名称" name="name"> <a-form-item label="讲师名称" name="name">
<SearchTeacher @tlevel="tlevelChange" v-model:id="formParam.teacherId" v-model:value="formParam.name" v-model:orgId="formParam.orgId" v-model:lable="formParam.orgNames" v-model:user="formParam.userNo" <SearchTeacher :disabled="!!id" @tlevel="tlevelChange" v-model:id="formParam.teacherId" v-model:value="formParam.name" v-model:orgId="formParam.orgId" v-model:lable="formParam.orgNames" v-model:user="formParam.userNo"
v-model:system="tSystemNames" v-model:payrollPlaceCode="formParam.payrollPlaceId" v-model:system="tSystemNames" v-model:payrollPlaceCode="formParam.payrollPlaceId"
v-model:payrollPlaceName="formParam.payrollPlace" v-model:level="formParam.tlevelId" ></SearchTeacher> v-model:payrollPlaceName="formParam.payrollPlace" v-model:level="formParam.tlevelId" ></SearchTeacher>
</a-form-item> </a-form-item>
@@ -361,30 +361,45 @@
</div> </div>
<!-- <div> <Upload/> </div> --> <!-- <div> <Upload/> </div> -->
<a-drawer v-model:visible="teachingdialog" placement="right" <a-drawer v-model:visible="teachingdialog" placement="right"
@closa="cancelTeachingDialog" :maskClosable="true" width="60%" title="查看讲师费用"> :closable="false" width="60%" :title="false">
<span class="line"></span> <div class="headers">
<span>讲师费用详情</span> <div class="headerTitle">查看讲师费用</div>
<a-descriptions style="padding-bottom: 35px;" bordered :column="2" :contentStyle="rowCenter" :labelStyle="{width:'160px'}"> <img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@click="cancelTeachingDialog(false)"
/>
</div>
<span class="line"></span>
<span>讲师费用详情</span>
<a-descriptions style="padding-bottom: 35px;margin-top:20px;" bordered :column="2" :contentStyle="{width:'300px',}" :labelStyle="{width:'160px'}">
<a-descriptions-item label="讲师名称">{{formParam.name}}</a-descriptions-item> <a-descriptions-item label="讲师名称">{{formParam.name}}</a-descriptions-item>
<a-descriptions-item label="讲师工号">{{formParam.userNo}}</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.tsystemName}}</a-descriptions-item>
<a-descriptions-item label="讲师级别">{{formParam.tlevelName }}</a-descriptions-item> <a-descriptions-item label="讲师级别">{{formParam.tlevelName }}</a-descriptions-item>
<a-descriptions-item label="发薪地">{{formParam?.payrollPlace || '-'}}</a-descriptions-item> <a-descriptions-item label="讲师组织">{{formParam.orgName}}</a-descriptions-item>
<a-descriptions-item label="费用类型">{{{1:'在线',2:'面授',3:'课程'}[formParam?.courseType]}}</a-descriptions-item> <a-descriptions-item label="讲师发薪地">{{formParam?.payrollPlace || '-'}}</a-descriptions-item>
<a-descriptions-item label="费用类型">{{{1:'面授',2:'课程开发',3:'作业员入模培训',4:'其他'}[formParam?.courseType]}}</a-descriptions-item>
<a-descriptions-item label="课程类型">{{formParam.courseType==1?'项目开课' :formParam.courseType==2 ?'路径开课':formParam.courseType==3 ?'面授开课':'-'}}</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.courseName || '-'}}</a-descriptions-item>
<a-descriptions-item label="授课时长 ">{{formParam.teachingTime || '-'}}</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.teachingDate || '-'}}</a-descriptions-item>
<a-descriptions-item label="参训人数 ">{{formParam.studys || '-'}}</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.score || '-'}}</a-descriptions-item>
<a-descriptions-item label="课酬基准 ">{{formParam.levelPay || '-'}}</a-descriptions-item> <a-descriptions-item label="课酬基准 ">{{formParam.levelPay || '-'}}</a-descriptions-item>
<a-descriptions-item label="计划费用 ">{{formParam.expense || '-'}}</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.payableExpense || '-'}}</a-descriptions-item>
<a-descriptions-item label="费用发放时间">{{formParam.payableExpenseTime || '-'}}</a-descriptions-item> <!-- <a-descriptions-item label="费用发放时间">{{formParam.payableExpenseTime || '-'}}</a-descriptions-item> -->
<a-descriptions-item label="状态">{{formParam.status=="0"?'待确认' :formParam.status=="1"?'待提交':formParam.status== "2" ?'审核中':formParam.status== "3"?'审核通过':'-'}}</a-descriptions-item> <a-descriptions-item label="状态">{{formParam.status=="0"?'待确认' :formParam.status=="1"?'待提交':formParam.status== "2" ?'审核中':formParam.status== "3"?'审核通过':'-'}}</a-descriptions-item>
<a-descriptions-item label="备注 ">{{formParam.remark || '-'}}</a-descriptions-item> <a-descriptions-item label="备注 ">{{formParam.remark || '-'}}</a-descriptions-item>
</a-descriptions> </a-descriptions>
<div style="margin-bottom: 20px;">
<span class="line"></span>
<span>讲师费审批</span>
</div>
<div style="margin-bottom:32px;">
<a-table :columns="columnSee" :data-source="tableDataSee" :pagination="false" />
</div>
<span class="line"></span> <span class="line"></span>
<div :style="{ <div :style="{
position: 'absolute', position: 'absolute',
@@ -397,8 +412,8 @@
textAlign: 'right', textAlign: 'right',
zIndex: 1, zIndex: 1,
}"> }">
<a-button class="drabtn" @click="cancelTeachingDialog">取消</a-button> <a-button class="drabtn" type="primary" @click="cancelTeachingDialog(true)">提交</a-button>
<a-button class="drabtn" type="primary" @click="cancelTeachingDialog" :loading="buttonLoading">返回 <a-button class="drabtn" @click="cancelTeachingDialog(false)" :loading="buttonLoading">取消
</a-button> </a-button>
</div> </div>
</a-drawer> </a-drawer>
@@ -407,7 +422,7 @@
<!-- 一键确认讲师费 --> <!-- 一键确认讲师费 -->
<ConfirmLecturer :ids="selectsIds" v-model:visible="visibleConfirm" :name="'确认讲师费'" /> <ConfirmLecturer :ids="selectsIds" v-model:visible="visibleConfirm" :name="'确认讲师费'" />
<!-- 批量确认讲师费 --> <!-- 批量确认讲师费 -->
<BatchLecturer @selectedRowKeys="selectedRowKeys" v-model:visible="allFeedialog" :name="'批量审批'" /> <BatchLecturer @selectedRowKeys="selectedRowKey" v-model:visible="allFeedialog" :name="'批量审批'" />
</template> </template>
<script lang="jsx"> <script lang="jsx">
import { reactive, toRefs, ref ,watch,onMounted} from "vue"; import { reactive, toRefs, ref ,watch,onMounted} from "vue";
@@ -423,13 +438,14 @@
import ImportWork from "../../components/project/ImportWork.vue"; import ImportWork from "../../components/project/ImportWork.vue";
import SearchTeacher from "@/components/project/SearchTeacher"; import SearchTeacher from "@/components/project/SearchTeacher";
import {getTeacherFeeList,getTeacherFeeDetail,addTeacherFee ,getListByIds,updateTeacherFee,updateStatusSubmit,approveTeacherFee,getTeacherLevel,deleteInTeacher,confirm} from "../../api/lecturerFeeManagement"; import {getTeacherFeeList,getTeacherFeeDetail,addTeacherFee ,getListByIds,updateTeacherFee,updateStatusSubmit,approveTeacherFee,getTeacherLevel,deleteInTeacher,confirm} from "../../api/lecturerFeeManagement";
import {getTeacherSystemList, getLevel,getPayRollPlace,fileUp } from "../../api/Lecturer"; import {getTeacherSystemList, getLevel,getPayRollPlace,fileUp,teacherExpenseConfirm } from "../../api/Lecturer";
// lecturerFeeManagement // lecturerFeeManagement
// import {getProjSt} from "../../api/indexProjStu"; // import {getProjSt} from "../../api/indexProjStu";
// import AddTeacher from "../../components/drawers/project/AddTeacher" // import AddTeacher from "../../components/drawers/project/AddTeacher"
import ConfirmLecturer from "@/components/project/ConfirmLecturer" import ConfirmLecturer from "@/components/project/ConfirmLecturer"
import BatchLecturer from "@/components/project/BatchLecturer" import BatchLecturer from "@/components/project/BatchLecturer"
import { queryTrainOrg,} from "../../api/organization"; import { queryTrainOrg,} from "../../api/organization";
import dialog from '@/utils/dialog'
export default { export default {
name: "LecturerFee", name: "LecturerFee",
components: { components: {
@@ -446,6 +462,7 @@
setup() { setup() {
const formRef = ref(); const formRef = ref();
const state = reactive({ const state = reactive({
tableDataSee: [],
orgList: [], orgList: [],
selectsIds: '', selectsIds: '',
visibleConfirm: false, visibleConfirm: false,
@@ -540,9 +557,9 @@
// { value: '0', label: "在线" }, // { value: '0', label: "在线" },
// { value: '1', label: "面授 " }, // { value: '1', label: "面授 " },
// { value: '2', label: "授课 " }, // { value: '2', label: "授课 " },
{ value: '0', label: "课程开发" }, { value: '2', label: "课程开发" },
{ value: '1', label: "作业员入模培训" }, { value: '3', label: "作业员入模培训" },
{ value: '2', label: "其他" }, { value: '4', label: "其他" },
]) ])
//课程类型 //课程类型
const OnTheJobStatusList = ref([ const OnTheJobStatusList = ref([
@@ -648,6 +665,36 @@ console.log( "讲师体系id" +val);
state.searchParam.status=null state.searchParam.status=null
} }
} }
const columnSee = ref([
{
title: '审批人 ',
dataIndex: 'name',
key: 'name',
elipsis: true,
align: "center",
},
{
title: '审批状态 ',
dataIndex: 'name',
key: 'name',
elipsis: true,
align: "center",
},
{
title: '审批时间 ',
dataIndex: 'name',
key: 'name',
elipsis: true,
align: "center",
},
{
title: '备注 ',
dataIndex: 'name',
key: 'name',
elipsis: true,
align: "center",
},
])
const columns = ref([ const columns = ref([
{ {
title: '讲师姓名 ', title: '讲师姓名 ',
@@ -940,7 +987,10 @@ console.log( "讲师体系id" +val);
state.teacherdialog = false; state.teacherdialog = false;
cancel() cancel()
getTableDate(); getTableDate();
}); }).catch(err=>{
message.destroy()
message.error(err.data.msg)
})
} }
else { else {
addTeacherFee(state.formParam) addTeacherFee(state.formParam)
@@ -949,9 +999,10 @@ console.log( "讲师体系id" +val);
state.teacherdialog = false; state.teacherdialog = false;
cancel() cancel()
getTableDate(); getTableDate();
}).catch((err) => { }).catch(err=>{
console.log(err); message.destroy()
}); message.error(err.data.msg)
})
} }
}; };
//删除弹窗 //删除弹窗
@@ -1037,6 +1088,7 @@ console.log( "讲师体系id" +val);
expense:null, expense:null,
remark:null, remark:null,
} }
state.id = null
state.teachingDate=null state.teachingDate=null
state.tSystemNames = { state.tSystemNames = {
systemName:null, systemName:null,
@@ -1119,8 +1171,28 @@ console.log( "讲师体系id" +val);
} , } ,
]) ])
//取消按钮 清空输入的数据 //取消按钮 清空输入的数据
const cancelTeachingDialog = () => { const cancelTeachingDialog = (val) => {
if(val){
dialog({
content: '是否确认讲师费信息无误?提交后按“培训发生组织”汇总至审批中心,等待验证后“提交”进入审批流程。',
ok: () => {
teacherExpenseConfirm({ids:state.formParam.id}).then(res=>{
console.log(res,'resssss')
if(res.data.code == 200){
message.success('提交成功')
state.teachingdialog = false state.teachingdialog = false
searchSubmit()
}
}).catch(err=>{
message.destroy()
message.error(err.data.msg)
state.teachingdialog = false
})
}
})
}else{
state.teachingdialog = false
}
}; };
const clearNonNumber = () => { const clearNonNumber = () => {
state.formParam.teachingTime = state.formParam.teachingTime.replace(/\D/g, ''); state.formParam.teachingTime = state.formParam.teachingTime.replace(/\D/g, '');
@@ -1160,7 +1232,7 @@ console.log( "讲师体系id" +val);
const allFee=()=>{ const allFee=()=>{
state.allFeedialog=true state.allFeedialog=true
} }
const selectedRowKeys = (val) => { const selectedRowKey = (val) => {
state.selectsIds = val?.join(','); state.selectsIds = val?.join(',');
state.visibleConfirm = true; state.visibleConfirm = true;
} }
@@ -1423,6 +1495,7 @@ const column = ref([
searchSubmit, searchSubmit,
searchReset, searchReset,
columns, columns,
columnSee,
columnsFeeDetail, columnsFeeDetail,
tableData, tableData,
changePagination, changePagination,
@@ -1443,7 +1516,7 @@ const column = ref([
changetlevel, changetlevel,
canceleditTeacherDialog, canceleditTeacherDialog,
allFee, allFee,
selectedRowKeys, selectedRowKey,
column, column,
tableDatas, tableDatas,
tlevelChange, tlevelChange,
@@ -1459,7 +1532,24 @@ const column = ref([
.select .ant-picker { .select .ant-picker {
width: 410px !important; 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 { .addTimeBox {
position: relative; position: relative;
display: flex; display: flex;

View File

@@ -20,11 +20,11 @@
v-on:keydown.enter="enterPressHadlerSearch"> v-on:keydown.enter="enterPressHadlerSearch">
</a-input> </a-input>
</a-form-item> </a-form-item>
<a-form-item class="select"> <!-- <a-form-item class="select">
<a-select style="width: 230px" v-model:value="searchParam.payrollPlaceId" placeholder="发薪地" <a-select style="width: 230px" v-model:value="searchParam.payrollPlaceId" placeholder="发薪地"
:options="PlaceOfPayList" allowClear showSearch :options="PlaceOfPayList" allowClear showSearch
v-on:keydown.enter="enterPressHadlerSearch"/> v-on:keydown.enter="enterPressHadlerSearch"/>
</a-form-item> </a-form-item> -->
<a-form-item class="select " > <a-form-item class="select " >
<!-- <a-tree-select style="width: 230px" <!-- <a-tree-select style="width: 230px"
:fieldNames="{ :fieldNames="{

View File

@@ -328,7 +328,7 @@ export default{
width: 200, width: 200,
}, },
{ {
title: '是否为根节点', title: '根节点名称',
dataIndex: 'isParent', dataIndex: 'isParent',
key: 'isParent', key: 'isParent',
ellipsis: true, align: "center", ellipsis: true, align: "center",
@@ -370,13 +370,13 @@ export default{
} }
}, },
}, },
{ // {
title: '备注 ', // title: '备注 ',
dataIndex: 'remark', // dataIndex: 'remark',
key: 'remark', // key: 'remark',
ellipsis: true, align: "center", // ellipsis: true, align: "center",
width: 160, // width: 160,
}, // },
{ {
title: '操作 ', title: '操作 ',
dataIndex: 'operation', dataIndex: 'operation',