mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-15 13:56:45 +08:00
讲师管理
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import http from "./config";
|
||||
import https from "./confign";
|
||||
/*
|
||||
* @Author: lixg lixg@dongwu-inc.com
|
||||
* @Date: 2022-11-18 14:09:43
|
||||
@@ -46,7 +47,7 @@ export const fileUp = (obj) => http.post('/file/upload', obj)
|
||||
//组织树查询讲师
|
||||
export const getTeacherByDepartId = (obj) => http.get(`/admin/thirdApi/user/list?departId=${obj.organizationId}&pageNo=1&pageSize=1000&keyword=`)
|
||||
//根据姓名工号查询讲师
|
||||
export const getTeacherByNameOrUserNo = (obj) => http.get(`/admin/thirdApi/user/list?keyword=${obj.nameOrUserNo}&pageNo=1&pageSize=50&departId=`)
|
||||
export const getTeacherByNameOrUserNo = (obj) => https.get(`/user/tacherList?keyword=${obj.nameOrUserNo}&pageNo=1&pageSize=50&departId=`)
|
||||
//根据userid获取讲师体系信息
|
||||
export const getSystemInfoByUserId = (id) => http.get(`/admin/system/getSystemInfoByUserId?id=${id}`)
|
||||
//讲师搜索
|
||||
|
||||
@@ -134,16 +134,22 @@ const handleConfirm = () => {
|
||||
}
|
||||
numTime.value+=1
|
||||
localStorage.setItem('numTime',numTime.value)
|
||||
const obj = {
|
||||
id: '1',
|
||||
const ids = expenseList.value.map(item=>item.id)
|
||||
api.teacherExpenseConfirm(ids).then(res=>{
|
||||
console.log(res,'resssss')
|
||||
const obj = ids.map(item=>{
|
||||
return {
|
||||
id: item,
|
||||
status: 1
|
||||
}
|
||||
})
|
||||
api.isConfirm(obj).then(res=>{
|
||||
console.log(res,'resssss')
|
||||
message.success('提交成功')
|
||||
close()
|
||||
closeDrawer()
|
||||
})
|
||||
})
|
||||
}
|
||||
const forData = ref()
|
||||
const indexList = ref(0)
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<div class="text">上传:</div>
|
||||
<div class="right">
|
||||
<div style="height: 176px; margin-bottom: 20px">
|
||||
<a-upload-dragger v-model:fileList="fileList" :action="importHomeWork" name="file" :multiple="true"
|
||||
<a-upload-dragger v-model:fileList="fileList" :action="importHomeWork" :name="fileName" :multiple="true"
|
||||
:headers="headers"
|
||||
@change="handleChange" :showUploadList="false">
|
||||
<p class="ant-upload-drag-icon">
|
||||
@@ -159,7 +159,11 @@ import {getCookieForName} from "@/api/method";
|
||||
title:{
|
||||
type: String,
|
||||
default: null,
|
||||
}
|
||||
},
|
||||
fileName:{
|
||||
type: String,
|
||||
default: 'file',
|
||||
},
|
||||
},
|
||||
setup(props, ctx) {
|
||||
const state = reactive({
|
||||
|
||||
@@ -97,9 +97,17 @@ const props = defineProps({
|
||||
id:{
|
||||
type: String,
|
||||
default: '',
|
||||
}
|
||||
},
|
||||
payrollPlaceCode: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
payrollPlaceName: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
})
|
||||
const emit = defineEmits(['update:value','update:lable','update:system','update:level','update:newlable','update:orgId','update:id'])
|
||||
const emit = defineEmits(['update:value','update:lable','update:system','update:level','update:newlable','update:orgId','update:id','update:payrollPlaceCode','update:payrollPlaceName'])
|
||||
const visible = ref(false);
|
||||
const selectData = ref(null);
|
||||
watch(()=>props.value,(val)=>{
|
||||
@@ -120,6 +128,8 @@ function blur() {
|
||||
}
|
||||
const orgName = ref('')
|
||||
const orgId = ref('')
|
||||
const payrollPlaceCode = ref('')
|
||||
const payrollPlaceName = ref('')
|
||||
const systemName = ref(null)
|
||||
const levelName = ref('')
|
||||
const neworgName = ref('')
|
||||
@@ -133,6 +143,8 @@ const handleChange = (e,l) => {
|
||||
levelName.value = l.levelName
|
||||
teacherId.value = l.key
|
||||
orgId.value = l.orgId
|
||||
payrollPlaceCode.value = l.payrollPlaceCode
|
||||
payrollPlaceName.value = l.payrollPlaceName
|
||||
if( l.orgName !==null ){
|
||||
neworgName.value= orgName.value.split('/')
|
||||
neworgName.value= neworgName.value[ neworgName.value.length-1]
|
||||
@@ -171,7 +183,9 @@ const searchMember = (keyword) => {
|
||||
orgName: item.orgName,
|
||||
orgId: item.departId,
|
||||
tSystemName:item.tSystemName,
|
||||
sLevelName:item.sLevelName
|
||||
sLevelName:item.sLevelName,
|
||||
payrollPlaceCode: item.payrollPlaceCode,
|
||||
payrollPlaceName:item.payrollPlaceName
|
||||
}
|
||||
})
|
||||
}else{
|
||||
@@ -234,6 +248,8 @@ function stuStuOrgSelect(e, {selected: bool, selectedNodes, node, event}) {
|
||||
systemName.value = null
|
||||
levelName.value = ''
|
||||
teacherId.value = ''
|
||||
payrollPlaceCode.value = ''
|
||||
payrollPlaceName.value = ''
|
||||
if(selectedNodes[0].isLeaf){
|
||||
teacherName.value = selectedNodes[0].name
|
||||
orgName.value = selectedNodes[0].orgName
|
||||
@@ -242,6 +258,8 @@ function stuStuOrgSelect(e, {selected: bool, selectedNodes, node, event}) {
|
||||
levelName.value = selectedNodes[0].levelName
|
||||
teacherId.value = selectedNodes[0].id
|
||||
// emit('update:value',selectedNodes[0].realName)
|
||||
payrollPlaceCode.value = selectedNodes[0].payrollPlaceCode
|
||||
payrollPlaceName.value = selectedNodes[0].payrollPlaceName
|
||||
}
|
||||
}
|
||||
watch(()=>visible.value,(val)=>{
|
||||
@@ -260,6 +278,8 @@ watch(()=>visible.value,(val)=>{
|
||||
loadingChange.value = false
|
||||
// teacherId.value = '1012311820121276416'
|
||||
// changeneworg()
|
||||
payrollPlaceCode.value = ''
|
||||
payrollPlaceName.value = ''
|
||||
}
|
||||
})
|
||||
const notChange = () => {
|
||||
@@ -272,6 +292,8 @@ const notChange = () => {
|
||||
neworgName.value=''
|
||||
teacherId.value = ''
|
||||
loadingChange.value = false
|
||||
payrollPlaceCode.value = ''
|
||||
payrollPlaceName.value = ''
|
||||
}
|
||||
const loadingChange = ref(false)
|
||||
watch(()=>teacherId.value,(val)=>{
|
||||
@@ -320,6 +342,8 @@ const changeOut = () => {
|
||||
emit('update:level',levelName.value)
|
||||
emit('update:newlable',neworgName.value)
|
||||
emit('update:id',teacherId.value)
|
||||
emit('update:payrollPlaceCode',payrollPlaceCode.value)
|
||||
emit('update:payrollPlaceName',payrollPlaceName.value)
|
||||
notChange()
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -307,12 +307,12 @@
|
||||
}
|
||||
getTrainOrg(obj).then((res)=>{
|
||||
if (res.data.code === 200) {
|
||||
let arr = res.data.data;
|
||||
let arr = res.data.data.records;
|
||||
let array = [];
|
||||
arr.map((value) => {
|
||||
let obj = {
|
||||
value: value.trainorgId,
|
||||
label: value.trainOrg,
|
||||
value: value.affiliationCode,
|
||||
label: value.affiliationName,
|
||||
};
|
||||
array.push(obj);
|
||||
});
|
||||
|
||||
@@ -111,8 +111,8 @@
|
||||
<a-space >
|
||||
<a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button>
|
||||
<a-button type="link" :disabled="record.status==='A10' || record.status==='E10' ?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==='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==='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 type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button> -->
|
||||
</a-space>
|
||||
</template>
|
||||
@@ -355,13 +355,13 @@
|
||||
@closa="cancelTeachingDialog" :maskClosable="true" width="60%" title="查看讲师费用">
|
||||
<span class="line"></span>
|
||||
<span>讲师费用详情</span>
|
||||
<a-descriptions bordered :column="2" :contentStyle="rowCenter" :labelStyle="rowCenter">
|
||||
<a-descriptions style="padding-bottom: 35px;" bordered :column="2" :contentStyle="rowCenter" :labelStyle="rowCenter">
|
||||
<a-descriptions-item label="讲师名称">{{formParam.name}}</a-descriptions-item>
|
||||
<a-descriptions-item label="讲师工号">{{formParam.userNo}}</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="讲师组织" :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.payrollPlace}}</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>
|
||||
@@ -369,7 +369,7 @@
|
||||
<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.levelPay}}</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.status=="0"?'待确认' :formParam.status=="1"?'待提交':formParam.status== "2" ?'审核中':formParam.status== "3"?'审核通过':''}}</a-descriptions-item>
|
||||
@@ -392,7 +392,7 @@
|
||||
</a-button>
|
||||
</div>
|
||||
</a-drawer>
|
||||
<ImportWork v-model:showWork="showWork" :url="'/admin/export/exportTeacherExpense'" :title="title"></ImportWork>
|
||||
<ImportWork v-model:showWork="showWork" :url="'/admin/export/importTeacherExpense'" :fileName="uploadFile" :title="title"></ImportWork>
|
||||
</div>
|
||||
<!-- 一键确认讲师费 -->
|
||||
<ConfirmLecturer :ids="selectsIds" v-model:visible="visibleConfirm" :name="'确认讲师费'" />
|
||||
@@ -635,8 +635,9 @@ console.log( "讲师体系id" +val);
|
||||
title: '课程名称 ',
|
||||
dataIndex: 'courseName',
|
||||
key: 'courseName',
|
||||
elipsis: true, align: "center",
|
||||
width: 120,
|
||||
elipsis: true,
|
||||
align: "center",
|
||||
width: 200,
|
||||
},
|
||||
{
|
||||
title: '培训发生组织',
|
||||
@@ -778,9 +779,9 @@ console.log( "讲师体系id" +val);
|
||||
title: '操作 ',
|
||||
dataIndex: 'operation',
|
||||
key: 'operation',
|
||||
elipsis: true, align: "right",
|
||||
elipsis: true, align: "center",
|
||||
fixed: "right",
|
||||
width: 400,
|
||||
width: 160,
|
||||
scopedSlots: { customRender: "action" },
|
||||
},
|
||||
|
||||
@@ -1017,6 +1018,17 @@ console.log( "讲师体系id" +val);
|
||||
// state.formParam=Object.assign({} ,res.data.data)
|
||||
state.formParam=res.data.data
|
||||
// tableDataFeeDetail.value = res.data.data.records
|
||||
state.formParam.courseType = String(res.data.data.courseType)
|
||||
state.formParam.levelPay = String(res.data.data.levelPay)
|
||||
state.tSystemNames.systemName = res.data.data.tsystemName
|
||||
state.tSystemNames.systemId = res.data.data.tsystemId
|
||||
state.tSystemNames.systemCode = res.data.data.systemCode
|
||||
state.tSystemNames.levelVoList = res.data.data.levelVoList
|
||||
state.formParam.tlevelName = res.data.data.tlevelName
|
||||
state.formParam.tlevelId = res.data.data.tlevelId
|
||||
state.formParam.name = res.data.data.name+'/'+res.data.data.userNo
|
||||
state.teachingDate = dayjs(res.data.data.teachingDate)
|
||||
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("详情", err);
|
||||
|
||||
@@ -366,9 +366,10 @@ export default {
|
||||
// 导出
|
||||
const handleFeeMonthly = () => {
|
||||
window.open(
|
||||
`${process.env.VUE_APP_BASE_API}/admin/export/exportTeacherSummary?pageNo=${state.searchParam.pageNo}&pageSize=${state.searchParam.pageSize}
|
||||
`${process.env.VUE_APP_BASE_API}/admin/export/exportTeacherSummary?
|
||||
&name=${state.searchParam.name ? state.searchParam.name : ""}
|
||||
&payrollPlaceId=${state.searchParam.payrollPlaceId ? state.searchParam.payrollPlaceId : ""}`)
|
||||
&billId=${state.searchParam.payrollPlaceId ? state.searchParam.payrollPlaceId : ""}
|
||||
&trainOrgId=${state.searchParam.courseTypeId || ''}`)
|
||||
}
|
||||
//重置
|
||||
const searchReset = () => {
|
||||
|
||||
Reference in New Issue
Block a user