mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-17 23:06:47 +08:00
Merge branch 'zcwy-teacher-manage' into master_1202
This commit is contained in:
@@ -12,7 +12,8 @@ export const updateInTeacherCourse = (obj) => http.post('/admin/teacherRecord/ed
|
|||||||
export const getTeacherCourseList = (obj) => http.get('/admin/teacherRecord/queryById', {params: obj})
|
export const getTeacherCourseList = (obj) => http.get('/admin/teacherRecord/queryById', {params: obj})
|
||||||
//获取培训组织
|
//获取培训组织
|
||||||
export const getOrganization = (obj) => http.get ('/admin/affiliation/list', {params: obj})
|
export const getOrganization = (obj) => http.get ('/admin/affiliation/list', {params: obj})
|
||||||
|
//供应商数据
|
||||||
|
export const selectSupplier = (obj) => http.get('/admin/teacher/selectSupplier', {params: obj})
|
||||||
|
|
||||||
//授课记录导出
|
//授课记录导出
|
||||||
export const getexport = (obj) => http.post('/lesson_records/export', obj)
|
export const getexport = (obj) => http.post('/lesson_records/export', obj)
|
||||||
|
|||||||
@@ -67,16 +67,16 @@
|
|||||||
<a-progress :percent="uploadpercent" />
|
<a-progress :percent="uploadpercent" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="curloading">
|
<!-- <div class="curloading">
|
||||||
<div style="color: #387df7; margin-left: 20px; cursor: pointer">
|
<div style="color: #387df7; margin-left: 20px; cursor: pointer">
|
||||||
下载失败数据
|
下载失败数据
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="defeat" style="display: flex; align-items: center">
|
<!-- <div class="defeat" style="display: flex; align-items: center">
|
||||||
<div style="color: #ff7474">
|
<div style="color: #ff7474">
|
||||||
{{ succNum }}条数据导入成功,{{ errNum }}条数据导入失败
|
{{ succNum }}条数据导入成功,{{ errNum }}条数据导入失败
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="loadborder" v-if="uploadpercent === 100">
|
<div class="loadborder" v-if="uploadpercent === 100">
|
||||||
@@ -201,7 +201,6 @@ import {getCookieForName} from "@/api/method";
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
let isLt1M = info.file.size < 512000000;
|
let isLt1M = info.file.size < 512000000;
|
||||||
console.log(info.file.size, isLt1M)
|
|
||||||
if (!isLt1M) {
|
if (!isLt1M) {
|
||||||
state.fileList = [];
|
state.fileList = [];
|
||||||
state.uploadpercent = -1;
|
state.uploadpercent = -1;
|
||||||
@@ -220,16 +219,25 @@ import {getCookieForName} from "@/api/method";
|
|||||||
}
|
}
|
||||||
if (status === "done") {
|
if (status === "done") {
|
||||||
state.fileName = info.file.name;
|
state.fileName = info.file.name;
|
||||||
if(!info.file.response.data){
|
if(info.file.response.code == 200){
|
||||||
message.error(`${info.file.name}上传失败`);
|
state.succNum = Number(info.file.response.data.success);
|
||||||
}
|
state.errNum = Number(info.file.response.data.failed);
|
||||||
let i = 0;
|
state.downloadErrUrl = info.file.response.data.path;
|
||||||
let timeouts = setTimeout(() => {
|
}else{
|
||||||
// clearInterval(timer)
|
state.uploadErr = true;
|
||||||
state.addLoading = false;
|
state.fileList = [];
|
||||||
|
state.uploadpercent = -1
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.error(`文件导入超时`);
|
message.error(info.file.response.msg);
|
||||||
}, 30000);
|
}
|
||||||
|
|
||||||
|
// let i = 0;
|
||||||
|
// let timeouts = setTimeout(() => {
|
||||||
|
// // clearInterval(timer)
|
||||||
|
// state.addLoading = false;
|
||||||
|
// message.destroy();
|
||||||
|
// message.error(`文件导入超时`);
|
||||||
|
// }, 30000);
|
||||||
// let timer = setInterval(() => {
|
// let timer = setInterval(() => {
|
||||||
// let uid = info.file.response.data;
|
// let uid = info.file.response.data;
|
||||||
// api
|
// api
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ import * as lecturerApi from "@/api/Lecturer.js";
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
const orgLists = ref([])
|
const orgLists = ref([])
|
||||||
const onCheck = async (checkedKeys, {checked: bool, checkedNodes, node, event}) => {
|
const onCheck = async (checkedKey, {checked: bool, checkedNodes, node, event}) => {
|
||||||
// "965356037047586816"
|
// "965356037047586816"
|
||||||
let length = treeAddData.value.length
|
let length = treeAddData.value.length
|
||||||
if(checkedNodes.length > length){
|
if(checkedNodes.length > length){
|
||||||
@@ -154,7 +154,7 @@ import * as lecturerApi from "@/api/Lecturer.js";
|
|||||||
message.error('获取被占用组织失败,请重新尝试')
|
message.error('获取被占用组织失败,请重新尝试')
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
treeAddData.value = checkedNodes.map(item => {
|
const checkLists = checkedNodes.map(item => {
|
||||||
if (!item || !item.id) {
|
if (!item || !item.id) {
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
@@ -176,6 +176,14 @@ import * as lecturerApi from "@/api/Lecturer.js";
|
|||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
const endLists = [...checkLists,...orgLists.value]
|
||||||
|
const seen = new Set();
|
||||||
|
const uniqueEndLists = endLists.filter(item => {
|
||||||
|
const isDuplicate = seen.has(item.orgId);
|
||||||
|
seen.add(item.orgId);
|
||||||
|
return !isDuplicate;
|
||||||
|
});
|
||||||
|
treeAddData.value = uniqueEndLists?.filter(item => checkedKeys.value?.checked?.includes(item.orgId));
|
||||||
// treeAddData.value = checkedNodes;
|
// treeAddData.value = checkedNodes;
|
||||||
console.log(treeAddData.value,'checkedNodes',orgLists.value)
|
console.log(treeAddData.value,'checkedNodes',orgLists.value)
|
||||||
}
|
}
|
||||||
@@ -193,6 +201,13 @@ import * as lecturerApi from "@/api/Lecturer.js";
|
|||||||
clearTree()
|
clearTree()
|
||||||
};
|
};
|
||||||
const queryCreate = () => {
|
const queryCreate = () => {
|
||||||
|
treeAddData.value?.map(item=>{
|
||||||
|
props?.AddContentList?.map(i=>{
|
||||||
|
if(item.orgId === i.orgId){
|
||||||
|
item.affiliationOrgId = i.affiliationOrgId
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
emit("update:AddContentList", treeAddData.value);
|
emit("update:AddContentList", treeAddData.value);
|
||||||
closeCodeModal()
|
closeCodeModal()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
<!-- 讲师信息 -->
|
<!-- 讲师信息 -->
|
||||||
<div style="width: 100%;margin-top: 10px;">
|
<div style="width: 100%;margin-top: 10px;">
|
||||||
<span class="line" style="margin-left:12px;"></span>
|
<span class="line" style="margin-left:12px;"></span>
|
||||||
<a-descriptions title="讲师信息" style="padding:0 20px;" bordered :column="3" :contentStyle="rowCenters" :labelStyle="rowCenter">
|
<a-descriptions title="基本信息" style="padding:0 20px;" bordered :column="3" :contentStyle="rowCenters" :labelStyle="rowCenter">
|
||||||
<!-- 一层 -->
|
<!-- 一层 -->
|
||||||
<a-descriptions-item label="讲师头像"> <a-image
|
<a-descriptions-item label="讲师头像"> <a-image
|
||||||
:width="55" style="border-radius: 50%;"
|
:width="55" style="border-radius: 50%;"
|
||||||
@@ -74,7 +74,7 @@ import { reactive, toRefs, ref,computed,watch } from "vue"
|
|||||||
import {getTeacherById} from "../../api/Lecturer";
|
import {getTeacherById} from "../../api/Lecturer";
|
||||||
import { getNewInTeacherCourseList } from "../../api/Teaching";
|
import { getNewInTeacherCourseList } from "../../api/Teaching";
|
||||||
// import boe from '@/assets/boe.jpg'
|
// import boe from '@/assets/boe.jpg'
|
||||||
import avatar from '@/assets/avatar.png'
|
import avatar from '@/assets/Avatarman.png'
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
export default{
|
export default{
|
||||||
name :"LookExternalLecturer",
|
name :"LookExternalLecturer",
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
width="80%" :title="false">
|
width="80%" :title="false">
|
||||||
<!-- 内部讲师查看详情 -->
|
<!-- 内部讲师查看详情 -->
|
||||||
<div class="LookInsideLecturer">
|
<div class="LookInsideLecturer">
|
||||||
<div class="header" style="margin-top: -24px;">
|
<div class="header" style="margin-top: -24px;margin-left: -24px;">
|
||||||
<div class="headerTitle">查看讲师</div>
|
<div class="headerTitle">查看讲师</div>
|
||||||
<!-- <router-link :to="{ path: '/lecturerList', query: { activeKey: '1', } }"> -->
|
<!-- <router-link :to="{ path: '/lecturerList', query: { activeKey: '1', } }"> -->
|
||||||
<img
|
<img
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
<!-- 讲师信息 -->
|
<!-- 讲师信息 -->
|
||||||
<div style="width: 100%;margin-top: 10px;padding: 20px;">
|
<div style="width: 100%;margin-top: 10px;padding: 20px;">
|
||||||
<span class="line"></span>
|
<span class="line"></span>
|
||||||
<a-descriptions title="讲师信息" bordered :column="4" :contentStyle="rowCenter" :labelStyle="rowCenters">
|
<a-descriptions title="基本信息" bordered :column="4" :contentStyle="rowCenter" :labelStyle="rowCenters">
|
||||||
<!-- 一层 -->
|
<!-- 一层 -->
|
||||||
<a-descriptions-item label="讲师头像">
|
<a-descriptions-item label="讲师头像">
|
||||||
<a-image :width="55" style="border-radius: 50%;" :src=formParam.photo />
|
<a-image :width="55" style="border-radius: 50%;" :src=formParam.photo />
|
||||||
@@ -185,7 +185,7 @@ export default{
|
|||||||
state.formParam = objA
|
state.formParam = objA
|
||||||
state.formParam.photo = state.formParam.photo ==null ?
|
state.formParam.photo = state.formParam.photo ==null ?
|
||||||
state.formParam.gender == 1 ? Avatarman :
|
state.formParam.gender == 1 ? Avatarman :
|
||||||
state.formParam.gender ==2 ? Avatarwoman : avatar : state.formParam.photo
|
state.formParam.gender ==2 ? Avatarwoman : Avatarman : (state.formParam.photo.includes('upload')?state.formParam.photo:'/upload'+state.formParam.photo)
|
||||||
state.teacherrepromo.userId=res.data.data.id
|
state.teacherrepromo.userId=res.data.data.id
|
||||||
console.log(state.teacherrepromo.id);
|
console.log(state.teacherrepromo.id);
|
||||||
isOrgNames(state.formParam.orgName)
|
isOrgNames(state.formParam.orgName)
|
||||||
@@ -507,7 +507,13 @@ const handleup = ()=>{
|
|||||||
}
|
}
|
||||||
//小竖线
|
//小竖线
|
||||||
.line{
|
.line{
|
||||||
float:left; width: 3px; height: 25px; background: #4ea6ff;border-radius: 30%; margin-right: 5px;
|
float:left;
|
||||||
|
width: 3px;
|
||||||
|
height: 16px;
|
||||||
|
background: #4ea6ff;
|
||||||
|
border-radius: 30%;
|
||||||
|
margin-left: -10px;
|
||||||
|
margin-top: 5px;
|
||||||
}
|
}
|
||||||
::v-deep .ant-descriptions-header{
|
::v-deep .ant-descriptions-header{
|
||||||
margin-bottom: 18px ;
|
margin-bottom: 18px ;
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
@change="change"
|
@change="change"
|
||||||
dropdownClassName="treeDropdown"
|
dropdownClassName="treeDropdown"
|
||||||
|
@keydown.enter="keydownEnter"
|
||||||
>
|
>
|
||||||
</a-tree-select>
|
</a-tree-select>
|
||||||
</template>
|
</template>
|
||||||
@@ -57,7 +58,11 @@ const { data: options, loading: orgLoading } = useArrayRequest(
|
|||||||
ORG_LIST,
|
ORG_LIST,
|
||||||
{ keyword: "" },
|
{ keyword: "" },
|
||||||
);
|
);
|
||||||
|
const keydownEnter = (e) => {
|
||||||
|
if(e.keyCode == 13){
|
||||||
|
emit('enter',true)
|
||||||
|
}
|
||||||
|
}
|
||||||
watch(props, () => {
|
watch(props, () => {
|
||||||
stuTreeExpandedKeys.value = [];
|
stuTreeExpandedKeys.value = [];
|
||||||
if (labelValue.value.value !== props.value) {
|
if (labelValue.value.value !== props.value) {
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ const getOutTeacher = () => {
|
|||||||
const options = computed(() => userList.value.map(e => ({
|
const options = computed(() => userList.value.map(e => ({
|
||||||
|
|
||||||
// label: e.name + '(' + e.userNo + ')' + e.organizationName,
|
// label: e.name + '(' + e.userNo + ')' + e.organizationName,
|
||||||
label:e.name,
|
label:e.name+ '(' +e.supplier + ')',
|
||||||
value: e.name,
|
value: e.name,
|
||||||
...e,
|
...e,
|
||||||
audienceList: null
|
audienceList: null
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<a-popover v-model:visible="visible" placement="bottom" trigger="click">
|
<a-popover :getPopupContainer="
|
||||||
|
(triggerNode) => {
|
||||||
|
return triggerNode.parentNode || document.body;
|
||||||
|
}
|
||||||
|
" v-model:visible="visible" placement="bottom" trigger="click">
|
||||||
<template #content v-if="!disabled">
|
<template #content v-if="!disabled">
|
||||||
<div class="pover">
|
<div class="pover">
|
||||||
<div class="search">
|
<div class="search">
|
||||||
@@ -26,13 +30,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="tree">
|
<div class="tree">
|
||||||
<a-tree show-icon allow-clear tree-default-expand-all :tree-data="treeData" :loading="orgLoading"
|
<a-tree show-icon allow-clear tree-default-expand-all :tree-data="treeData" :loading="orgLoading"
|
||||||
:load-data="onLoadData" v-model:selectedKeys="stuTreeSelectKeys"
|
:load-data="onLoadData" @expand="onExpand" v-model:selectedKeys="stuTreeSelectKeys"
|
||||||
v-model:expandedKeys="stuTreeExpandedKeys" :fieldNames="{
|
v-model:expandedKeys="stuTreeExpandedKeys" :fieldNames="{
|
||||||
children: 'treeChildList',
|
children: 'treeChildList',
|
||||||
key: 'id',
|
key: 'id',
|
||||||
title: 'name',
|
title: 'name',
|
||||||
value: 'name',
|
value: 'name',
|
||||||
}" @select="stuStuOrgSelect" style="max-height: 260px;overflow-y: auto;width: 250px;">
|
}" @select="stuStuOrgSelect" style="height: 300px;max-height: 300px;overflow-y: auto;width: 266px;">
|
||||||
<template #smile>
|
<template #smile>
|
||||||
<UserOutlined />
|
<UserOutlined />
|
||||||
</template>
|
</template>
|
||||||
@@ -143,6 +147,7 @@ const systemName = ref(null)
|
|||||||
const levelName = ref('')
|
const levelName = ref('')
|
||||||
const neworgName = ref('')
|
const neworgName = ref('')
|
||||||
const teacherId = ref('')
|
const teacherId = ref('')
|
||||||
|
const changeValue = ref({})
|
||||||
const handleChange = (e,l) => {
|
const handleChange = (e,l) => {
|
||||||
isOpen.value = false
|
isOpen.value = false
|
||||||
// emit('update:value',e)
|
// emit('update:value',e)
|
||||||
@@ -158,7 +163,8 @@ const handleChange = (e,l) => {
|
|||||||
neworgName.value= orgName.value.split('/')
|
neworgName.value= orgName.value.split('/')
|
||||||
neworgName.value= neworgName.value[ neworgName.value.length-1]
|
neworgName.value= neworgName.value[ neworgName.value.length-1]
|
||||||
}
|
}
|
||||||
emit('tlevel',l)
|
changeValue.value = l
|
||||||
|
// emit('tlevel',l)
|
||||||
};
|
};
|
||||||
function debounce(func, wait) {
|
function debounce(func, wait) {
|
||||||
let timeout;
|
let timeout;
|
||||||
@@ -259,6 +265,9 @@ const { data: treeData, loading: orgLoading } = useRequest(
|
|||||||
ORG_LIST,
|
ORG_LIST,
|
||||||
{ keyword: "" },
|
{ keyword: "" },
|
||||||
);
|
);
|
||||||
|
const onExpand = (expandedKeys, aaa) => {
|
||||||
|
console.log(expandedKeys, aaa,'xixixiiixi')
|
||||||
|
}
|
||||||
function onLoadData(treeNode) {
|
function onLoadData(treeNode) {
|
||||||
teacherById.value = treeNode.id
|
teacherById.value = treeNode.id
|
||||||
const promises = [];
|
const promises = [];
|
||||||
@@ -293,7 +302,12 @@ function onLoadData(treeNode) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
function stuStuOrgSelect(e, {selected: bool, selectedNodes, node, event}) {
|
function stuStuOrgSelect(e, {selected: bool, selectedNodes, node, event}) {
|
||||||
console.log(selectedNodes)
|
const index = stuTreeExpandedKeys.value.indexOf(node.id);
|
||||||
|
if (index === -1) {
|
||||||
|
stuTreeExpandedKeys.value.push(node.id);
|
||||||
|
} else {
|
||||||
|
stuTreeExpandedKeys.value.splice(index, 1);
|
||||||
|
}
|
||||||
teacherName.value = ''
|
teacherName.value = ''
|
||||||
orgName.value = ''
|
orgName.value = ''
|
||||||
orgId.value = ''
|
orgId.value = ''
|
||||||
@@ -302,7 +316,7 @@ function stuStuOrgSelect(e, {selected: bool, selectedNodes, node, event}) {
|
|||||||
teacherId.value = ''
|
teacherId.value = ''
|
||||||
payrollPlaceCode.value = ''
|
payrollPlaceCode.value = ''
|
||||||
payrollPlaceName.value = ''
|
payrollPlaceName.value = ''
|
||||||
if(selectedNodes[0].isLeaf){
|
if(selectedNodes[0]?.isLeaf){
|
||||||
teacherName.value = selectedNodes[0].name
|
teacherName.value = selectedNodes[0].name
|
||||||
orgName.value = selectedNodes[0].orgName
|
orgName.value = selectedNodes[0].orgName
|
||||||
orgId.value = selectedNodes[0].departId
|
orgId.value = selectedNodes[0].departId
|
||||||
@@ -323,6 +337,7 @@ watch(()=>visible.value,(val)=>{
|
|||||||
orgId.value = ''
|
orgId.value = ''
|
||||||
systemName.value = null
|
systemName.value = null
|
||||||
levelName.value = ''
|
levelName.value = ''
|
||||||
|
changeValue.value = {}
|
||||||
neworgName.value=''
|
neworgName.value=''
|
||||||
selectName.value = null
|
selectName.value = null
|
||||||
// selectData.value = ''
|
// selectData.value = ''
|
||||||
@@ -341,6 +356,7 @@ const notChange = () => {
|
|||||||
orgId.value = ''
|
orgId.value = ''
|
||||||
systemName.value = null
|
systemName.value = null
|
||||||
levelName.value = ''
|
levelName.value = ''
|
||||||
|
changeValue.value = {}
|
||||||
neworgName.value=''
|
neworgName.value=''
|
||||||
teacherId.value = ''
|
teacherId.value = ''
|
||||||
loadingChange.value = false
|
loadingChange.value = false
|
||||||
@@ -367,7 +383,7 @@ watch(()=>teacherId.value,(val)=>{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
loadingChange.value = false
|
loadingChange.value = false
|
||||||
emit('update:system',systemName.value)
|
// emit('update:system',systemName.value)
|
||||||
}).catch(err=>{
|
}).catch(err=>{
|
||||||
message.error('讲师体系获取失败,请重新选择')
|
message.error('讲师体系获取失败,请重新选择')
|
||||||
loadingChange.value = false
|
loadingChange.value = false
|
||||||
@@ -386,6 +402,7 @@ const changeOut = () => {
|
|||||||
|
|
||||||
// neworgName= neworgName[neworgName.length-1]
|
// neworgName= neworgName[neworgName.length-1]
|
||||||
// }
|
// }
|
||||||
|
emit('tlevel',changeValue.value)
|
||||||
selectData.value = teacherName.value
|
selectData.value = teacherName.value
|
||||||
emit('update:value',teacherName.value)
|
emit('update:value',teacherName.value)
|
||||||
emit('update:lable',orgName.value)
|
emit('update:lable',orgName.value)
|
||||||
@@ -401,13 +418,25 @@ const changeOut = () => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
::v-deep .ant-popover{
|
||||||
|
width: 300px;
|
||||||
|
hight: 400px;
|
||||||
|
top: 35px !important;
|
||||||
|
left: 0px !important;
|
||||||
|
}
|
||||||
.pover{
|
.pover{
|
||||||
|
::v-deep .ant-select-selector{
|
||||||
|
height: 30px !important;
|
||||||
|
border-radius: 4px !important;
|
||||||
|
line-height: 30px !important;
|
||||||
|
}
|
||||||
.search{
|
.search{
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
.tree{
|
.tree{
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
border: 1px solid rgba(215, 215, 215, 1);
|
border: 1px solid rgba(215, 215, 215, 1);
|
||||||
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
.btn{
|
.btn{
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
@@ -418,10 +447,11 @@ const changeOut = () => {
|
|||||||
height: 25px;
|
height: 25px;
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 25px;
|
// line-height: 25px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.btn1{
|
.btn1{
|
||||||
|
line-height: 25px;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
background-color: rgba(170, 170, 170, 1);
|
background-color: rgba(170, 170, 170, 1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,13 +6,13 @@
|
|||||||
<a-form layout="inline">
|
<a-form layout="inline">
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<!-- v-model:value="searchParam.name" -->
|
<!-- v-model:value="searchParam.name" -->
|
||||||
<a-input v-model:value="searchParam.name" style="width: 276px; height: 40px; border-radius: 8px"
|
<a-input v-model:value="searchParam.name" style="width: 250px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入讲师姓名/手机号进行检索" allowClear showSearch
|
placeholder="请输入讲师姓名/手机号进行检索" allowClear showSearch
|
||||||
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: 276px" v-model:value="searchParam.status" placeholder="账号状态"
|
<a-select style="width: 220px" v-model:value="searchParam.status" placeholder="账号状态"
|
||||||
:options="AccountStatusList"
|
:options="AccountStatusList"
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
@@ -65,10 +65,10 @@
|
|||||||
<!-- 弹窗组件 -->
|
<!-- 弹窗组件 -->
|
||||||
<a-drawer v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false"
|
<a-drawer v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false"
|
||||||
width="700px" :title="false">
|
width="700px" :title="false">
|
||||||
<div class="headers" style="margin-top:-24px;">
|
<div class="headers" style="margin-top:-24px;width: 110%;margin-left: -24px;">
|
||||||
<div class="headerTitle">{{ teacherdialogtitle }}</div>
|
<div class="headerTitle">{{ teacherdialogtitle }}</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer;margin-right: 24px;"
|
||||||
src="@/assets/images/basicinfo/close.png"
|
src="@/assets/images/basicinfo/close.png"
|
||||||
@click="cancelTeacherDialog"
|
@click="cancelTeacherDialog"
|
||||||
/>
|
/>
|
||||||
@@ -87,7 +87,7 @@
|
|||||||
<a-upload name="avatar" list-type="picture-card" class="avatar-uploader" :show-upload-list="false"
|
<a-upload name="avatar" list-type="picture-card" class="avatar-uploader" :show-upload-list="false"
|
||||||
:headers="headers" :before-upload="beforeUpload">
|
:headers="headers" :before-upload="beforeUpload">
|
||||||
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" title="更换头像" />
|
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" title="更换头像" />
|
||||||
<img class="i_upload_img" v-else src="../../assets/avatar.png" alt="avatar" title="更换头像" />
|
<img class="i_upload_img" v-else src="../../assets/Avatarman.png" alt="avatar" title="更换头像" />
|
||||||
<!-- <div class="i_upload" v-else>
|
<!-- <div class="i_upload" v-else>
|
||||||
<div class="addimg">
|
<div class="addimg">
|
||||||
<div class="heng"></div>
|
<div class="heng"></div>
|
||||||
@@ -139,18 +139,18 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item label="初始授课时长" name="teaching">
|
<a-form-item label="初始授课时长" name="teaching">
|
||||||
<a-input v-model:value="formParam.teaching" style="width:80%; height: 40px; border-radius: 8px ; "
|
<a-input v-model:value="formParam.teaching" style="width:100%; height: 40px; border-radius: 8px ; "
|
||||||
placeholder="0" allowClear showSearch suffix="分钟" @blur="clearNonNumber">
|
placeholder="0" allowClear showSearch suffix="分钟" @blur="clearNonNumber">
|
||||||
</a-input>
|
</a-input>
|
||||||
<span style="margin-left: 5px ;" v-if="formParam.teaching !== null">{{ (formParam.teaching / 60
|
<!-- <span style="margin-left: 5px ;" v-if="formParam.teaching !== null">{{ (formParam.teaching / 60
|
||||||
).toFixed(2) }}小时</span>
|
).toFixed(2) }}小时</span>
|
||||||
<span style="margin-left: 5px ;" v-if="formParam.teaching === null">0.00小时</span>
|
<span style="margin-left: 5px ;" v-if="formParam.teaching === null">0.00小时</span> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<!-- 其他信息 -->
|
<!-- 其他信息 -->
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col :span="24" style="margin-bottom: 15px;">
|
<a-col :span="24" style="margin-bottom: 24px;margin-top: 12px;">
|
||||||
<span class="line"></span><span style="font-weight: 600;">其他信息</span>
|
<span class="line"></span><span style="font-weight: 600;">其他信息</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -194,7 +194,7 @@
|
|||||||
} "
|
} "
|
||||||
>
|
>
|
||||||
<a-button class="drabtn" @click="cancelTeacherDialog" >取消</a-button>
|
<a-button class="drabtn" @click="cancelTeacherDialog" >取消</a-button>
|
||||||
<a-button class="drabtn" type="primary" @click="createTeacherDialog" :loading="buttonLoading">保存
|
<a-button style="margin-right: 20px;" class="drabtn" type="primary" @click="createTeacherDialog" :loading="buttonLoading">保存
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
@@ -521,7 +521,7 @@ export default {
|
|||||||
//修改讲师信息弹窗
|
//修改讲师信息弹窗
|
||||||
const handleModify = (record) => {
|
const handleModify = (record) => {
|
||||||
state.teacherdialog = true;
|
state.teacherdialog = true;
|
||||||
state.teacherdialogtitle = '修改信息'
|
state.teacherdialogtitle = '编辑讲师'
|
||||||
state.id = record.id
|
state.id = record.id
|
||||||
state.vf = false
|
state.vf = false
|
||||||
TeacherSystem()
|
TeacherSystem()
|
||||||
@@ -826,6 +826,9 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
.ant-form-item {
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
::v-deep .ant-upload.ant-upload-select-picture-card {
|
::v-deep .ant-upload.ant-upload-select-picture-card {
|
||||||
border-radius: 50% !important;
|
border-radius: 50% !important;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
@@ -846,7 +849,7 @@ export default {
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
line-height: 25px;
|
line-height: 25px;
|
||||||
// margin-left: 24px;
|
margin-left: 14px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//导出按钮icon
|
//导出按钮icon
|
||||||
|
|||||||
@@ -9,33 +9,38 @@
|
|||||||
<!-- <a-input v-model:value="searchParam.userNo" style="width: 276px; height: 40px; border-radius: 8px"
|
<!-- <a-input v-model:value="searchParam.userNo" style="width: 276px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch>
|
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch>
|
||||||
</a-input> -->
|
</a-input> -->
|
||||||
<a-input style="width: 276px; height: 40px; border-radius: 8px" placeholder="请输入讲师姓名/手机号进行检索" showSearch
|
<a-input style="width: 235px; height: 40px; border-radius: 8px" placeholder="请输入姓名/手机号进行检索" showSearch
|
||||||
allowClear v-model:value="searchParam.name"
|
allowClear v-model:value="searchParam.name"
|
||||||
v-on:keydown.enter="enterPressHadlerSearch"></a-input>
|
v-on:keydown.enter="enterPressHadlerSearch"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-input v-model:value="searchParam.courseName" style="width: 276px; height: 40px; border-radius: 8px"
|
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.supplier" placeholder="请输入供应商" :options="supperList" allowClear
|
||||||
|
v-on:keydown.enter="enterPressHadlerSearch" showSearch >
|
||||||
|
</a-select>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item class="select">
|
||||||
|
<a-input v-model:value="searchParam.courseName" style="width: 235px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入课程名称进行搜索" allowClear showSearch
|
placeholder="请输入课程名称进行搜索" allowClear showSearch
|
||||||
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 ">
|
||||||
<div class="select addTimeBox">
|
<!-- <div class="select addTimeBox">
|
||||||
<div class="addTime">授课日期:</div>
|
<div class="addTime">授课日期:</div> -->
|
||||||
<a-range-picker v-model:value="searchdate" style="width: 420px" format="YYYY-MM-DD" valueFormat="YYYY-MM-DD"
|
<a-range-picker v-model:value="searchdate" style="width: 340px !important;" format="YYYY-MM-DD" valueFormat="YYYY-MM-DD"
|
||||||
separator="至" :placeholder="[' 开始时间', ' 结束时间']
|
separator="至" :placeholder="['授课日期开始时间', '授课日期结束时间']
|
||||||
"
|
"
|
||||||
v-on:keydown.enter="enterPressHadlerSearch" />
|
v-on:keydown.enter="enterPressHadlerSearch" />
|
||||||
</div>
|
<!-- </div> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 230px ;margin-bottom:20px" v-model:value="searchParam.createFrom" placeholder="录入类型"
|
<a-select style="width: 200px ;margin-bottom:20px" v-model:value="searchParam.createFrom" placeholder="录入类型"
|
||||||
:options="entryTypeList" allowClear
|
:options="entryTypeList" allowClear
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-tree-select style="width: 230px" :fieldNames="{
|
<a-tree-select style="width: 235px" :fieldNames="{
|
||||||
children: 'children',
|
children: 'children',
|
||||||
label: 'name',
|
label: 'name',
|
||||||
value: 'code',
|
value: 'code',
|
||||||
@@ -47,7 +52,7 @@
|
|||||||
</a-tree-select>
|
</a-tree-select>
|
||||||
</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.courseStatus" placeholder="开课状态"
|
<a-select style="width: 200px" v-model:value="searchParam.courseStatus" placeholder="开课状态"
|
||||||
:options="AuthenticationStatusList" allowClear
|
:options="AuthenticationStatusList" allowClear
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
@@ -193,13 +198,13 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="授课时长" name="teaching">
|
<a-form-item label="授课时长" name="teaching">
|
||||||
<a-input v-model:value="formParam.teaching" style="width:80%; height: 40px; border-radius: 8px; "
|
<a-input v-model:value="formParam.teaching" style="width:100%; height: 40px; border-radius: 8px; "
|
||||||
placeholder="0" allowClear showSearch suffix="分钟"
|
placeholder="0" allowClear showSearch suffix="分钟"
|
||||||
:maxLength="8" @blur="clearNonNumber">
|
:maxLength="8" @change="clearNonNumber">
|
||||||
</a-input>
|
</a-input>
|
||||||
<span style="margin-left: 5px ;" v-if="formParam.teaching != null">{{ (formParam.teaching / 60
|
<!-- <span style="margin-left: 5px ;" v-if="formParam.teaching != null">{{ (formParam.teaching / 60
|
||||||
).toFixed(2) }}小时</span>
|
).toFixed(2) }}小时</span>
|
||||||
<span style="margin-left: 5px ;" v-if="formParam.teaching == null">0.00小时</span>
|
<span style="margin-left: 5px ;" v-if="formParam.teaching == null">0.00小时</span> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -216,7 +221,7 @@
|
|||||||
<a-form-item label="评分" name="score">
|
<a-form-item label="评分" name="score">
|
||||||
<!-- <a-input class="draitem" v-model:value="formParam.score" @blur="clearscoreNumber" placeholder="" allowClear showSearch>
|
<!-- <a-input class="draitem" v-model:value="formParam.score" @blur="clearscoreNumber" placeholder="" allowClear showSearch>
|
||||||
</a-input> -->
|
</a-input> -->
|
||||||
<a-input-number v-model:value="formParam.score" :precision="2" :min="0" :max="10"
|
<a-input-number v-model:value="formParam.score" :precision="2" :min="0" :max="100"
|
||||||
style="width:100%; height: 40px; border-radius: 8px ; " />
|
style="width:100%; height: 40px; border-radius: 8px ; " />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -341,7 +346,7 @@ import { message } from "ant-design-vue";
|
|||||||
import ProjectManager from "@/components/project/ProjectManagerNew";
|
import ProjectManager from "@/components/project/ProjectManagerNew";
|
||||||
import ProjectManagerOutTeacher from "@/components/project/ProjectManagerOutTeacher";
|
import ProjectManagerOutTeacher from "@/components/project/ProjectManagerOutTeacher";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { getTeacherCourseList, updateInTeacherCourse, getNewInTeacherCourseList, deleteInTeacherCourse, insertInTeacherCourse } from "../../api/Teaching";
|
import { getTeacherCourseList, updateInTeacherCourse, getNewInTeacherCourseList, deleteInTeacherCourse, insertInTeacherCourse,selectSupplier } from "../../api/Teaching";
|
||||||
// import {getProjSt} from "../../api/indexProjStu";
|
// import {getProjSt} from "../../api/indexProjStu";
|
||||||
// import AddTeacher from "../../components/drawers/project/AddTeacher"
|
// import AddTeacher from "../../components/drawers/project/AddTeacher"
|
||||||
export default {
|
export default {
|
||||||
@@ -363,6 +368,7 @@ export default {
|
|||||||
state.searchParam = JSON.parse(search)
|
state.searchParam = JSON.parse(search)
|
||||||
}
|
}
|
||||||
searchSubmit()
|
searchSubmit()
|
||||||
|
getSupplier()
|
||||||
})
|
})
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const formRef = ref();
|
const formRef = ref();
|
||||||
@@ -392,7 +398,8 @@ export default {
|
|||||||
teaching: null,
|
teaching: null,
|
||||||
teachingDate: null,
|
teachingDate: null,
|
||||||
teacherId:null,
|
teacherId:null,
|
||||||
mobile:null
|
mobile:null,
|
||||||
|
score: 0
|
||||||
},
|
},
|
||||||
searchdate: undefined, //选择时间
|
searchdate: undefined, //选择时间
|
||||||
searchParam: {
|
searchParam: {
|
||||||
@@ -441,6 +448,19 @@ export default {
|
|||||||
{ value: 2, label: "路径开课" },
|
{ value: 2, label: "路径开课" },
|
||||||
{ value: 3, label: "面授开课" },
|
{ value: 3, label: "面授开课" },
|
||||||
])
|
])
|
||||||
|
const supperList = ref([])
|
||||||
|
const getSupplier = ()=>{
|
||||||
|
selectSupplier().then(res=>{
|
||||||
|
if(res.data.code == 200){
|
||||||
|
supperList.value = res.data.data.map(item=>{
|
||||||
|
return {
|
||||||
|
value:item,
|
||||||
|
label:item
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
const AuthenticationStatusList = ref([
|
const AuthenticationStatusList = ref([
|
||||||
{ value: '', label: "全部" },
|
{ value: '', label: "全部" },
|
||||||
{ value: 0, label: "未开课" },
|
{ value: 0, label: "未开课" },
|
||||||
@@ -467,12 +487,21 @@ export default {
|
|||||||
ellipsis: true, align: "center",
|
ellipsis: true, align: "center",
|
||||||
width: 150,
|
width: 150,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: '供应商',
|
||||||
|
dataIndex: 'supplier',
|
||||||
|
key: 'supplier',
|
||||||
|
ellipsis: true, align: "center",
|
||||||
|
width: 150,
|
||||||
|
customRender: ({text})=> text||'-'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '手机号码 ',
|
title: '手机号码 ',
|
||||||
dataIndex: 'mobile',
|
dataIndex: 'mobile',
|
||||||
key: 'mobile',
|
key: 'mobile',
|
||||||
ellipsis: true, align: "center",
|
ellipsis: true, align: "center",
|
||||||
width: 150,
|
width: 150,
|
||||||
|
customRender: ({text}) => text||'-'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '课程类型 ',
|
title: '课程类型 ',
|
||||||
@@ -663,6 +692,7 @@ export default {
|
|||||||
systemId: null,
|
systemId: null,
|
||||||
endTime: null,
|
endTime: null,
|
||||||
beginTime: null,
|
beginTime: null,
|
||||||
|
supplier: null,
|
||||||
};
|
};
|
||||||
getTableDate();
|
getTableDate();
|
||||||
};
|
};
|
||||||
@@ -729,7 +759,7 @@ export default {
|
|||||||
if(state.formParam.studys==0){
|
if(state.formParam.studys==0){
|
||||||
state.formParam.studys = null
|
state.formParam.studys = null
|
||||||
}
|
}
|
||||||
if(state.formParam.score){
|
if(state.formParam.score||state.formParam.score==0){
|
||||||
state.formParam.score = String(state.formParam.score)
|
state.formParam.score = String(state.formParam.score)
|
||||||
}else{
|
}else{
|
||||||
state.formParam.score = null
|
state.formParam.score = null
|
||||||
@@ -807,7 +837,7 @@ export default {
|
|||||||
name: null,
|
name: null,
|
||||||
type: null,
|
type: null,
|
||||||
teaching: null,
|
teaching: null,
|
||||||
score: null,
|
score: 0,
|
||||||
remark: null,
|
remark: null,
|
||||||
teachingDate: null,
|
teachingDate: null,
|
||||||
teacherId:null
|
teacherId:null
|
||||||
@@ -914,6 +944,8 @@ const sendName=()=>{
|
|||||||
AddressList,
|
AddressList,
|
||||||
OnTheJobStatusList,
|
OnTheJobStatusList,
|
||||||
AuthenticationStatusList,
|
AuthenticationStatusList,
|
||||||
|
supperList,
|
||||||
|
getSupplier,
|
||||||
searchSubmit,
|
searchSubmit,
|
||||||
searchReset,
|
searchReset,
|
||||||
columns,
|
columns,
|
||||||
|
|||||||
@@ -6,30 +6,30 @@
|
|||||||
<a-form layout="inline">
|
<a-form layout="inline">
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<!-- v-model:value="searchParam.name" -->
|
<!-- v-model:value="searchParam.name" -->
|
||||||
<a-input v-model:value="searchParam.name" style="width: 276px; height: 40px; border-radius: 8px"
|
<a-input v-model:value="searchParam.name" style="width: 235px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch @pressEnter="searchSubmit">
|
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch @pressEnter="searchSubmit">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 276px" placeholder="请选择讲师体系" v-model:value="searchParam.tSystemId" allowClear
|
<a-select style="width: 235px" placeholder="请选择讲师体系" v-model:value="searchParam.tSystemId" allowClear
|
||||||
:options="LecturerSystemList">
|
:options="LecturerSystemList" @keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<!-- <div @click="handlesearchlevel"> -->
|
<!-- <div @click="handlesearchlevel"> -->
|
||||||
<a-form-item class="select" >
|
<a-form-item class="select" >
|
||||||
<a-select style="width: 200px" v-model:value="searchParam.tLevelName" placeholder="请选择讲师级别" allowClear
|
<a-select style="width: 200px" v-model:value="searchParam.tLevelName" placeholder="请选择讲师级别" allowClear
|
||||||
:options="getLevelList" >
|
:options="getLevelList" @keydown.enter="enterPressHadlerSearch" >
|
||||||
<!-- :disabled="getLevelList.length !== 0 ? false : true" 禁用状态 -->
|
<!-- :disabled="getLevelList.length !== 0 ? false : true" 禁用状态 -->
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 200px ;margin-bottom:20px" v-model:value="searchParam.waitStatus" placeholder="在职状态"
|
<a-select style="width: 170px ;margin-bottom:20px" v-model:value="searchParam.waitStatus" placeholder="在职状态"
|
||||||
:options="OnTheJobStatusList" allowClear>
|
:options="OnTheJobStatusList" @keydown.enter="enterPressHadlerSearch" allowClear>
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 200px ;" v-model:value="searchParam.certStatus" placeholder="认证状态" allowClear
|
<a-select style="width: 170px ;" v-model:value="searchParam.certStatus" placeholder="认证状态" allowClear
|
||||||
:options="AuthenticationStatusList">
|
:options="AuthenticationStatusList" @keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
@@ -115,10 +115,10 @@
|
|||||||
<!-- 弹窗组件 -->
|
<!-- 弹窗组件 -->
|
||||||
<a-drawer v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false"
|
<a-drawer v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false"
|
||||||
width="700" :title="false">
|
width="700" :title="false">
|
||||||
<div class="headers" style="margin-top:-24px;">
|
<div class="headers" style="margin-top:-24px;margin-left: -25px;width: 110%;">
|
||||||
<div class="headerTitle" style="margin-left: 14px;">{{ teacherdialogtitle }}</div>
|
<div class="headerTitle" style="margin-left: 14px;">{{ teacherdialogtitle }}</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer;margin-right: 24px;"
|
||||||
src="@/assets/images/basicinfo/close.png"
|
src="@/assets/images/basicinfo/close.png"
|
||||||
@click="cancelTeacherDialog"
|
@click="cancelTeacherDialog"
|
||||||
/>
|
/>
|
||||||
@@ -127,7 +127,7 @@
|
|||||||
<a-form :model="formParam" :rules="rules" layout="vertical" ref="formRef">
|
<a-form :model="formParam" :rules="rules" layout="vertical" ref="formRef">
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<span class="line"></span><span style="color:#333333;font-weight: 600;">基本信息</span>
|
<span class="line"></span><span style="color:#333333;font-weight: 600;font-size:16px;">基本信息</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" title="更换头像" />
|
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" title="更换头像" />
|
||||||
<img class="i_upload_img" v-else-if="formParam.gender==1" src="../../assets/Avatarman.png" alt="avatar" title="更换头像" />
|
<img class="i_upload_img" v-else-if="formParam.gender==1" src="../../assets/Avatarman.png" alt="avatar" title="更换头像" />
|
||||||
<img class="i_upload_img" v-else-if="formParam.gender==2" src="../../assets/Avatarwoman.png" alt="avatar" title="更换头像" />
|
<img class="i_upload_img" v-else-if="formParam.gender==2" src="../../assets/Avatarwoman.png" alt="avatar" title="更换头像" />
|
||||||
<img class="i_upload_img" v-else src="../../assets/avatar.png" alt="avatar" title="更换头像" />
|
<img class="i_upload_img" v-else src="../../assets/Avatarman.png" alt="avatar" title="更换头像" />
|
||||||
<!-- <div class="i_upload" v-else>
|
<!-- <div class="i_upload" v-else>
|
||||||
<div class="addimg">
|
<div class="addimg">
|
||||||
<div class="heng"></div>
|
<div class="heng"></div>
|
||||||
@@ -198,13 +198,13 @@
|
|||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item label="初始授课时长" name="defaultTeachingTime">
|
<a-form-item label="初始授课时长" name="defaultTeachingTime">
|
||||||
<a-input v-model:value="formParam.defaultTeachingTime" style="width:80%; height: 40px; border-radius: 8px; "
|
<a-input v-model:value="formParam.defaultTeachingTime" style="width:100%; height: 40px; border-radius: 8px; "
|
||||||
:maxLength="8"
|
:maxLength="8"
|
||||||
@change="clearNonNumber" placeholder="请输入初始授课时长" allowClear suffix="分钟">
|
@change="clearNonNumber" placeholder="请输入初始授课时长" allowClear suffix="分钟">
|
||||||
</a-input>
|
</a-input>
|
||||||
<span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime === null">0.00小时</span>
|
<!-- <span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime === null">0.00小时</span>
|
||||||
<span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime != null">{{
|
<span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime != null">{{
|
||||||
(formParam.defaultTeachingTime / 60).toFixed(2) }}小时</span>
|
(formParam.defaultTeachingTime / 60).toFixed(2) }}小时</span> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
@@ -222,7 +222,7 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<span class="line" style="margin-bottom:10px;"></span><span style="color:#333333;font-weight: 600;">其他信息</span>
|
<span class="line" style="margin-bottom:24px;"></span><span style="color:#333333;font-weight: 600;font-size:16px;">其他信息</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
@@ -318,7 +318,7 @@
|
|||||||
textAlign: 'right',
|
textAlign: 'right',
|
||||||
zIndex: 1,
|
zIndex: 1,
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
justifyContent: 'center',
|
justifyContent: 'end',
|
||||||
}">
|
}">
|
||||||
<a-button class="drabtn" @click="cancelTeacherDialog">取消</a-button>
|
<a-button class="drabtn" @click="cancelTeacherDialog">取消</a-button>
|
||||||
<a-button class="drabtn" type="primary" @click="createTeacherDialog" :loading="buttonLoading">保存
|
<a-button class="drabtn" type="primary" @click="createTeacherDialog" :loading="buttonLoading">保存
|
||||||
@@ -475,7 +475,7 @@ export default {
|
|||||||
formParam: {
|
formParam: {
|
||||||
name: null,
|
name: null,
|
||||||
certStatus: 0,//认证状态
|
certStatus: 0,//认证状态
|
||||||
defaultTeachingTime: null,
|
defaultTeachingTime: 0,
|
||||||
teacherType:1,
|
teacherType:1,
|
||||||
photo: null,
|
photo: null,
|
||||||
gender: 0,
|
gender: 0,
|
||||||
@@ -874,6 +874,11 @@ export default {
|
|||||||
const tableData = ref([
|
const tableData = ref([
|
||||||
|
|
||||||
])
|
])
|
||||||
|
const enterPressHadlerSearch = (e) => {
|
||||||
|
if(e.keyCode==13){
|
||||||
|
searchSubmit()
|
||||||
|
}
|
||||||
|
}
|
||||||
// 搜索
|
// 搜索
|
||||||
const searchSubmit = () => {
|
const searchSubmit = () => {
|
||||||
state.searchParam.pageNo = 1
|
state.searchParam.pageNo = 1
|
||||||
@@ -944,7 +949,7 @@ export default {
|
|||||||
//修改讲师信息弹窗
|
//修改讲师信息弹窗
|
||||||
const handleModify = (record) => {
|
const handleModify = (record) => {
|
||||||
state.teacherdialog = true;
|
state.teacherdialog = true;
|
||||||
state.teacherdialogtitle = '修改信息'
|
state.teacherdialogtitle = '编辑讲师'
|
||||||
state.id = record.id
|
state.id = record.id
|
||||||
state.vf = false
|
state.vf = false
|
||||||
TeacherSystem()
|
TeacherSystem()
|
||||||
@@ -963,6 +968,7 @@ export default {
|
|||||||
const teacherTlevel = (val) => {
|
const teacherTlevel = (val) => {
|
||||||
console.log(val,'vallll')
|
console.log(val,'vallll')
|
||||||
if(val?.avatar){
|
if(val?.avatar){
|
||||||
|
val.avatar = val.avatar.includes('upload') ? val.avatar : '/upload' + val.avatar
|
||||||
state.formParam.photo = val.avatar
|
state.formParam.photo = val.avatar
|
||||||
}
|
}
|
||||||
state.formParam.gender = val?.gender
|
state.formParam.gender = val?.gender
|
||||||
@@ -1150,7 +1156,7 @@ export default {
|
|||||||
name: null,
|
name: null,
|
||||||
newdepartId: null,
|
newdepartId: null,
|
||||||
tlevelId: null,
|
tlevelId: null,
|
||||||
defaultTeachingTime:null,
|
defaultTeachingTime:0,
|
||||||
tsystemName: null,
|
tsystemName: null,
|
||||||
certStatus: 0,
|
certStatus: 0,
|
||||||
description: '',
|
description: '',
|
||||||
@@ -1329,6 +1335,7 @@ export default {
|
|||||||
// PlaceOfPayList,
|
// PlaceOfPayList,
|
||||||
AccountStatusList,
|
AccountStatusList,
|
||||||
searchSubmit,
|
searchSubmit,
|
||||||
|
enterPressHadlerSearch,
|
||||||
searchReset,
|
searchReset,
|
||||||
columns,
|
columns,
|
||||||
tableData,
|
tableData,
|
||||||
@@ -1371,6 +1378,9 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
.ant-form-item{
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
.headers {
|
.headers {
|
||||||
height: 56px;
|
height: 56px;
|
||||||
border-bottom: 1px solid #e8e8e8;
|
border-bottom: 1px solid #e8e8e8;
|
||||||
@@ -1762,31 +1772,32 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.add_list{
|
.add_list{
|
||||||
width: 150%;
|
width: 136%;
|
||||||
|
margin-right:20px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
// overflow: auto;
|
// overflow: auto;
|
||||||
.add_item{
|
.add_item{
|
||||||
padding: 0 10px;
|
padding: 5px 15px;
|
||||||
color: #096dd9;
|
color: #096dd9;
|
||||||
background: #e6f7ff;
|
background: #e6f7ff;
|
||||||
border: 1px solid #91d5ff;
|
border: 1px solid #91d5ff;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
width: 66px;
|
// width: 66px;
|
||||||
height: 22px;
|
// height: 22px;
|
||||||
line-height: 22px;
|
// line-height: 22px;
|
||||||
text-align: center;
|
// text-align: center;
|
||||||
white-space: nowrap;
|
// white-space: nowrap;
|
||||||
overflow: hidden;
|
// overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
// text-overflow: ellipsis;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
.add_content {
|
.add_content {
|
||||||
width: 20px;
|
width: 30px;
|
||||||
height: 20px;
|
height: 30px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background-color: #4ea6ff;
|
background-color: #4ea6ff;
|
||||||
@@ -2025,10 +2036,10 @@ export default {
|
|||||||
.line {
|
.line {
|
||||||
float: left;
|
float: left;
|
||||||
width: 3px;
|
width: 3px;
|
||||||
height: 17px;
|
height: 16px;
|
||||||
background: #4ea6ff;
|
background: #4ea6ff;
|
||||||
margin-left: -14px;
|
margin-left: -10px;
|
||||||
margin-top: 3px;
|
margin-top: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
//抽屉功能
|
//抽屉功能
|
||||||
|
|||||||
@@ -5,12 +5,12 @@
|
|||||||
<div class="filter">
|
<div class="filter">
|
||||||
<a-form layout="inline" style="min-width: 1380px;">
|
<a-form layout="inline" style="min-width: 1380px;">
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-input v-model:value="searchParam.name" style="width: 276px; height: 40px; border-radius: 8px"
|
<a-input v-model:value="searchParam.name" style="width: 235px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
|
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch 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-input v-model:value="searchParam.courseName" style="width: 276px; height: 40px; border-radius: 8px"
|
<a-input v-model:value="searchParam.courseName" style="width: 235px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入课程名称进行搜索" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
|
placeholder="请输入课程名称进行搜索" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -19,21 +19,21 @@
|
|||||||
:placeholder="[' 开始时间', ' 结束时间']" @change="searchTimeChange" />
|
:placeholder="[' 开始时间', ' 结束时间']" @change="searchTimeChange" />
|
||||||
</a-form-item> -->
|
</a-form-item> -->
|
||||||
<a-form-item class="select ">
|
<a-form-item class="select ">
|
||||||
<div class="select addTimeBox">
|
<!-- <div class="select addTimeBox"> -->
|
||||||
<div class="addTime">授课日期</div>
|
<!-- <div class="addTime">授课日期</div> -->
|
||||||
<a-range-picker v-model:value="searchdate" style="width: 420px" format="YYYY-MM-DD" valueFormat="YYYY-MM-DD"
|
<a-range-picker v-model:value="searchdate" style="width: 340px !important;" format="YYYY-MM-DD" valueFormat="YYYY-MM-DD"
|
||||||
separator="至" :placeholder="[' 开始时间', ' 结束时间']" v-on:keydown.enter="enterPressHadlerSearch" />
|
separator="至" :placeholder="['授课日期开始时间', '授课日期结束时间']" v-on:keydown.enter="enterPressHadlerSearch" />
|
||||||
<!-- @change="searchTimeChange" -->
|
<!-- @change="searchTimeChange" -->
|
||||||
</div>
|
<!-- </div> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<!-- <div style="width:100%"></div> -->
|
<!-- <div style="width:100%"></div> -->
|
||||||
<a-form-item class="select" v-if="moreid == 2">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.createFrom" placeholder="录入类型"
|
<a-select style="width: 200px ;margin-bottom:20px" v-model:value="searchParam.createFrom" placeholder="录入类型"
|
||||||
:options="entryTypeList" allowClear v-on:keydown.enter="enterPressHadlerSearch">
|
:options="entryTypeList" allowClear v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select" v-if="moreid == 2">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 235px" v-model:value="searchParam.courseStatus" placeholder="开课状态"
|
<a-select style="width: 200px" v-model:value="searchParam.courseStatus" placeholder="开课状态"
|
||||||
:options="AuthenticationStatusList" a llowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
|
:options="AuthenticationStatusList" a llowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
<!-- <a-select style="width: 235px" placeholder="请选择所属组织" v-model:value="searchParam.sourceBelongId"
|
<!-- <a-select style="width: 235px" placeholder="请选择所属组织" v-model:value="searchParam.sourceBelongId"
|
||||||
:options="getOrganizationList" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
|
:options="getOrganizationList" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select> -->
|
</a-select> -->
|
||||||
<OrgClass v-model:value="searchParam.orgId" :placeholder="'请选择讲师组织'"
|
<OrgClass @enter="searchSubmit()" v-model:value="searchParam.orgId" :placeholder="'请选择讲师组织'"
|
||||||
style="width: 235px"
|
style="width: 235px"
|
||||||
></OrgClass>
|
></OrgClass>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -64,13 +64,13 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
<!-- <div style="width: 100%;"></div> -->
|
<!-- <div style="width: 100%;"></div> -->
|
||||||
<a-form-item class="select" v-if="moreid == 2">
|
<a-form-item class="select" v-if="moreid == 2">
|
||||||
<a-select style="min-width: 235px ; height: auto ;margin-bottom:20px" v-model:value="score" placeholder="请选择评分"
|
<a-select style="min-width: 200px ; height: auto ;margin-bottom:20px" v-model:value="score" placeholder="请选择评分"
|
||||||
:options="scoreList" allowClear showSearch mode="multiple" @change="scoreChange"
|
:options="scoreList" allowClear showSearch mode="multiple" @change="scoreChange"
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select" v-if="moreid == 2">
|
<a-form-item class="select" v-if="moreid == 2">
|
||||||
<a-select style="width: 235px" v-model:value="searchParam.studys" placeholder="授课人数" :options="studysList"
|
<a-select style="width: 200px" v-model:value="searchParam.studys" placeholder="授课人数" :options="studysList"
|
||||||
allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
|
allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
<!-- <a-input v-model:value="searchParam.name" style="width: 276px; height: 40px; border-radius: 8px"
|
<!-- <a-input v-model:value="searchParam.name" style="width: 276px; height: 40px; border-radius: 8px"
|
||||||
@@ -81,12 +81,12 @@
|
|||||||
<a-button @click="searchSubmit()" type="primary" class="resetbtn">查询 </a-button>
|
<a-button @click="searchSubmit()" type="primary" class="resetbtn">查询 </a-button>
|
||||||
<a-button class="resetbtn " @click="searchReset">重置</a-button>
|
<a-button class="resetbtn " @click="searchReset">重置</a-button>
|
||||||
<div v-if="moreid == 1">
|
<div v-if="moreid == 1">
|
||||||
<a-button style="line-height:32px;" @click="handlemoreid()" class="moreidbtn" type="text"> 展开
|
<a-button style="line-height:40px;" @click="handlemoreid()" class="moreidbtn" type="text"> 展开
|
||||||
<DownOutlined />
|
<DownOutlined />
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="moreid == 2">
|
<div v-if="moreid == 2">
|
||||||
<a-button style="line-height:32px;" @click="handlemoreid()" class="moreidbtn"> 收起
|
<a-button style="line-height:40px;" @click="handlemoreid()" class="moreidbtn"> 收起
|
||||||
<UpOutlined />
|
<UpOutlined />
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -241,19 +241,19 @@
|
|||||||
|
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="授课时长" name="teaching">
|
<a-form-item label="授课时长" name="teaching">
|
||||||
<a-input v-model:value="formParam.teaching" style="width:80%; height: 40px; border-radius: 8px ; "
|
<a-input v-model:value="formParam.teaching" style="width:100%; height: 40px; border-radius: 8px ; "
|
||||||
placeholder="请输入授课时长" allowClear showSearch suffix="分钟" :maxLength="8" @blur="clearNonNumber">
|
placeholder="请输入授课时长" allowClear showSearch suffix="分钟" :maxLength="8" @blur="clearNonNumber">
|
||||||
</a-input>
|
</a-input>
|
||||||
<span style="margin-left: 5px ;" v-if="formParam.teaching != null">{{ (formParam.teaching / 60
|
<!-- <span style="margin-left: 5px ;" v-if="formParam.teaching != null">{{ (formParam.teaching / 60
|
||||||
).toFixed(2) }}小时</span>
|
).toFixed(2) }}小时</span>
|
||||||
<span style="margin-left: 5px ;" v-if="formParam.teaching == null">0.00小时</span>
|
<span style="margin-left: 5px ;" v-if="formParam.teaching == null">0.00小时</span> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="评分" name="score">
|
<a-form-item label="评分" name="score">
|
||||||
<!-- <a-input class="draitem" v-model:value="formParam.score" @blur="clearscoreNumber" placeholder="" allowClear showSearch>
|
<!-- <a-input class="draitem" v-model:value="formParam.score" @blur="clearscoreNumber" placeholder="" allowClear showSearch>
|
||||||
</a-input> -->
|
</a-input> -->
|
||||||
<a-input-number v-model:value="formParam.score" :precision="2" :min="0" :max="10"
|
<a-input-number v-model:value="formParam.score" :precision="2" :min="0" :max="100"
|
||||||
style="width:100%; height: 40px; border-radius: 8px ; " placeholder="请输入评分" />
|
style="width:100%; height: 40px; border-radius: 8px ; " placeholder="请输入评分" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -487,6 +487,7 @@ export default {
|
|||||||
teachingDate: null,
|
teachingDate: null,
|
||||||
// sourceBelongId: null,
|
// sourceBelongId: null,
|
||||||
sourceBelongFullName: null,
|
sourceBelongFullName: null,
|
||||||
|
score: 0,
|
||||||
},
|
},
|
||||||
startTime: null,
|
startTime: null,
|
||||||
searchParam:
|
searchParam:
|
||||||
@@ -789,9 +790,9 @@ export default {
|
|||||||
<div>
|
<div>
|
||||||
{value.record.createdFee == 0 || value.record.createdFee == 1
|
{value.record.createdFee == 0 || value.record.createdFee == 1
|
||||||
? {
|
? {
|
||||||
"0": "否",
|
"0": "未提交",
|
||||||
"1": "是",
|
"1": "已提交",
|
||||||
}[value.record.feeCreated + ""] || ""
|
}[value.record.createdFee + ""] || ""
|
||||||
: "-"}
|
: "-"}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
@@ -964,7 +965,7 @@ export default {
|
|||||||
state.formParam.userNo = state.formParam.name?.split('/')[1]
|
state.formParam.userNo = state.formParam.name?.split('/')[1]
|
||||||
state.formParam.tsystemName = state.tSystemNames.systemName
|
state.formParam.tsystemName = state.tSystemNames.systemName
|
||||||
state.formParam.tsystemId = state.tSystemNames?.systemId
|
state.formParam.tsystemId = state.tSystemNames?.systemId
|
||||||
if(state.formParam.score){
|
if(state.formParam.score||state.formParam.score==0){
|
||||||
state.formParam.score = String(state.formParam.score)
|
state.formParam.score = String(state.formParam.score)
|
||||||
}else{
|
}else{
|
||||||
state.formParam.score = null
|
state.formParam.score = null
|
||||||
@@ -1049,7 +1050,7 @@ export default {
|
|||||||
courseName: null,
|
courseName: null,
|
||||||
teaching: null,
|
teaching: null,
|
||||||
studys: null,
|
studys: null,
|
||||||
score: null,
|
score: 0,
|
||||||
type: null,
|
type: null,
|
||||||
remark: null,
|
remark: null,
|
||||||
// sourceBelongId: null,
|
// sourceBelongId: null,
|
||||||
@@ -1678,7 +1679,8 @@ export default {
|
|||||||
.moreidbtn {
|
.moreidbtn {
|
||||||
border: none;
|
border: none;
|
||||||
color: #4ea6ff;
|
color: #4ea6ff;
|
||||||
width: 80px
|
// width: 80px
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//小竖线
|
//小竖线
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<a-drawer :visible="visible" placement="right" :closable="false" :maskClosable="false"
|
||||||
|
width="60%" :title="false">
|
||||||
<div class="appedit">
|
<div class="appedit">
|
||||||
<div class="header">
|
<div class="header" style="margin-top: -24px;">
|
||||||
<div class="headerTitle">编辑讲师费审批</div>
|
<div class="headerTitle">编辑讲师费审批</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
@@ -74,7 +76,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-drawer v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false" dropdown-style="drawaer"
|
<a-drawer v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false" dropdown-style="drawaer"
|
||||||
width="60%" :title="false">
|
width="60%" :title="false">
|
||||||
<div class="headers">
|
<div class="headers" style="margin-top:-24px;">
|
||||||
<div class="headerTitle">编辑讲师费</div>
|
<div class="headerTitle">编辑讲师费</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
@@ -236,7 +238,7 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="应发费用" name="payableExpense">
|
<a-form-item label="应发费用" name="payableExpense">
|
||||||
<a-input-number :max="99999999" :controls="false" :min="0" :precision="2" v-model:value="formParam.payableExpense" class="draitem"
|
<a-input-number :max="99999999" :controls="false" :min="0" :precision="2" v-model:value="formParam.payableExpense" class="draitem"
|
||||||
placeholder="请输入应发费用" allowClear>
|
placeholder="请输入应发费用" @change="clearPayableExpense" allowClear>
|
||||||
</a-input-number>
|
</a-input-number>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -303,6 +305,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
|
</a-drawer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
@@ -318,7 +321,17 @@ export default {
|
|||||||
components: {
|
components: {
|
||||||
SearchTeacher,
|
SearchTeacher,
|
||||||
},
|
},
|
||||||
setup () {
|
props: {
|
||||||
|
visible: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
id: {
|
||||||
|
type: String,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
setup (props,emits) {
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
@@ -331,7 +344,7 @@ export default {
|
|||||||
startTime: null,
|
startTime: null,
|
||||||
endTime: null,
|
endTime: null,
|
||||||
},
|
},
|
||||||
paramsId: route.query.id,
|
paramsId: props.id,
|
||||||
copyName: null,
|
copyName: null,
|
||||||
modalVisible: false,
|
modalVisible: false,
|
||||||
tSystemNames:{
|
tSystemNames:{
|
||||||
@@ -368,17 +381,22 @@ export default {
|
|||||||
dataList: [],
|
dataList: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
})
|
})
|
||||||
onMounted(()=>{
|
watch(()=>props.visible, (val) => {
|
||||||
queryById({id: state.paramsId}).then(res=>{
|
if(val){
|
||||||
|
queryById({id: props.id}).then(res=>{
|
||||||
state.formData = res.data.data
|
state.formData = res.data.data
|
||||||
})
|
})
|
||||||
getTableList()
|
getTableList()
|
||||||
orgLists()
|
orgLists()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
onMounted(()=>{
|
||||||
|
|
||||||
})
|
})
|
||||||
const getTableList = () => {
|
const getTableList = () => {
|
||||||
state.loading = true
|
state.loading = true
|
||||||
queryExpnseByBillId({
|
queryExpnseByBillId({
|
||||||
billId: state.paramsId,
|
billId: props.id,
|
||||||
pageNo: state.params.pageNo,
|
pageNo: state.params.pageNo,
|
||||||
pageSize: state.params.pageSize,
|
pageSize: state.params.pageSize,
|
||||||
name: state.params.userNoName,
|
name: state.params.userNoName,
|
||||||
@@ -431,8 +449,8 @@ export default {
|
|||||||
dialog({
|
dialog({
|
||||||
content: '确定要重新汇总数据吗?',
|
content: '确定要重新汇总数据吗?',
|
||||||
ok: () => {
|
ok: () => {
|
||||||
CreateSummaryAgain(route.query.id).then(res=>{
|
CreateSummaryAgain(props.id).then(res=>{
|
||||||
queryById({id: state.paramsId}).then(res=>{
|
queryById({id: props.id}).then(res=>{
|
||||||
state.formData = res.data.data
|
state.formData = res.data.data
|
||||||
})
|
})
|
||||||
search();
|
search();
|
||||||
@@ -451,11 +469,17 @@ export default {
|
|||||||
message.error('复制失败,请重新尝试')
|
message.error('复制失败,请重新尝试')
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
const clearPayableExpense = () => {
|
||||||
|
state.formParam.payableExpense == 0 && (state.formParam.payableExpense = null);
|
||||||
|
state.formParam.payableExpense && (state.formParam.payableExpense = String(state.formParam.payableExpense))
|
||||||
|
}
|
||||||
const clearlevelPayNumber = () => {
|
const clearlevelPayNumber = () => {
|
||||||
// state.formParam.levelPay = state.formParam?.levelPay.replace(/\D/g, '');
|
// state.formParam.levelPay = state.formParam?.levelPay.replace(/\D/g, '');
|
||||||
// state.formParam.expense = state.formParam?.levelPay*state.formParam?.teachingTime
|
// state.formParam.expense = state.formParam?.levelPay*state.formParam?.teachingTime
|
||||||
state.formParam.levelPay == 0 && (state.formParam.levelPay = null);
|
state.formParam.levelPay == 0 && (state.formParam.levelPay = null);
|
||||||
state.formParam.levelPay&&state.formParam.teachingTime && (state.formParam.expense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2))
|
state.formParam.levelPay&&state.formParam.teachingTime && (state.formParam.expense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2))
|
||||||
|
state.formParam.levelPay&&state.formParam.teachingTime && (state.formParam.payableExpense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2))
|
||||||
|
state.formParam.levelPay&&(state.formParam.levelPay=String(state.formParam.levelPay))
|
||||||
}
|
}
|
||||||
const clearscoreNumber= () => {
|
const clearscoreNumber= () => {
|
||||||
state.formParam.score = state.formParam?.score?.replace(/\D/g, '');
|
state.formParam.score = state.formParam?.score?.replace(/\D/g, '');
|
||||||
@@ -469,6 +493,7 @@ export default {
|
|||||||
state.formParam.teachingTime = state.formParam.teachingTime?.slice(0,8);
|
state.formParam.teachingTime = state.formParam.teachingTime?.slice(0,8);
|
||||||
state.formParam.teachingTime == 0 && (state.formParam.teachingTime = null);
|
state.formParam.teachingTime == 0 && (state.formParam.teachingTime = null);
|
||||||
state.formParam.teachingTime && state.formParam.levelPay && (state.formParam.expense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2));
|
state.formParam.teachingTime && state.formParam.levelPay && (state.formParam.expense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2));
|
||||||
|
state.formParam.teachingTime&&state.formParam.levelPay && (state.formParam.payableExpense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2))
|
||||||
}
|
}
|
||||||
const courseTypeList = ref([
|
const courseTypeList = ref([
|
||||||
{ value: '0', label: "在线" },
|
{ value: '0', label: "在线" },
|
||||||
@@ -536,6 +561,9 @@ export default {
|
|||||||
if(state.formParam.levelPay){
|
if(state.formParam.levelPay){
|
||||||
state.formParam.levelPay = String(state.formParam.levelPay)
|
state.formParam.levelPay = String(state.formParam.levelPay)
|
||||||
}
|
}
|
||||||
|
if(state.formParam.payableExpense){
|
||||||
|
state.formParam.payableExpense = String(state.formParam.payableExpense)
|
||||||
|
}
|
||||||
const formItemNames = Object.keys(rules);
|
const formItemNames = Object.keys(rules);
|
||||||
for(let i=0;i<formItemNames.length;i++){
|
for(let i=0;i<formItemNames.length;i++){
|
||||||
const result = await validateField(formItemNames[i]);
|
const result = await validateField(formItemNames[i]);
|
||||||
@@ -604,20 +632,25 @@ export default {
|
|||||||
score: [{ required: true, message:'',log: ' 评分不能为空' }],
|
score: [{ required: true, message:'',log: ' 评分不能为空' }],
|
||||||
levelPay: [{ required: true, message:'',log: '课酬基准 不能为空' }],
|
levelPay: [{ required: true, message:'',log: '课酬基准 不能为空' }],
|
||||||
expense: [{ required: true, message: '',log:'计划费用不能为空' }],
|
expense: [{ required: true, message: '',log:'计划费用不能为空' }],
|
||||||
|
payableExpense: [{ required: true, message: '',log:'应发费用不能为空' }],
|
||||||
}
|
}
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
reset()
|
state.params.userNoName = null
|
||||||
router.push({
|
state.params.startTime = null
|
||||||
path: '/lecturerfeemanagement',
|
state.params.endTime = null
|
||||||
query:{activeKey:true}
|
state.dateValue = []
|
||||||
})
|
emits.emit('update:visible',false)
|
||||||
|
// router.push({
|
||||||
|
// path: '/lecturerfeemanagement',
|
||||||
|
// query:{activeKey:true}
|
||||||
|
// })
|
||||||
}
|
}
|
||||||
const paramsDrawer = () => {
|
const paramsDrawer = () => {
|
||||||
dialog({
|
dialog({
|
||||||
content: '请仔细核对讲师费信息,确认无误后,将自动进入(BPM系统)审批流程',
|
content: '请仔细核对讲师费信息,确认无误后,将自动进入(BPM系统)审批流程',
|
||||||
ok: ()=>{
|
ok: ()=>{
|
||||||
isConfirm({
|
isConfirm({
|
||||||
id: route.query.id,
|
id: props.id,
|
||||||
status: 2
|
status: 2
|
||||||
}).then(res=>{
|
}).then(res=>{
|
||||||
if(res.data.code == 200){
|
if(res.data.code == 200){
|
||||||
@@ -678,7 +711,7 @@ export default {
|
|||||||
content: '确定要移除此条数据吗?',
|
content: '确定要移除此条数据吗?',
|
||||||
ok: () => {
|
ok: () => {
|
||||||
withdrawRecord({
|
withdrawRecord({
|
||||||
billId: route.query.id,
|
billId: props.id,
|
||||||
ids: [record.id]
|
ids: [record.id]
|
||||||
}).then(res=>{
|
}).then(res=>{
|
||||||
message.success('移除成功')
|
message.success('移除成功')
|
||||||
@@ -863,6 +896,7 @@ export default {
|
|||||||
formRef,
|
formRef,
|
||||||
courseTypeList,
|
courseTypeList,
|
||||||
clearlevelPayNumber,
|
clearlevelPayNumber,
|
||||||
|
clearPayableExpense,
|
||||||
clearscoreNumber,
|
clearscoreNumber,
|
||||||
clearstudysNumber,
|
clearstudysNumber,
|
||||||
clearNonNumber,
|
clearNonNumber,
|
||||||
@@ -894,7 +928,7 @@ export default {
|
|||||||
width: 200px;
|
width: 200px;
|
||||||
}
|
}
|
||||||
.headers {
|
.headers {
|
||||||
height: 73px;
|
height: 57px;
|
||||||
border-bottom: 1px solid #e8e8e8;
|
border-bottom: 1px solid #e8e8e8;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@@ -1043,8 +1077,8 @@ export default {
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
padding: 0px 32px;
|
padding: 0px 15px;
|
||||||
height: 73px;
|
height: 68px;
|
||||||
border-bottom: 1px solid #e8e8e8;
|
border-bottom: 1px solid #e8e8e8;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@@ -1088,12 +1122,18 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.table{
|
.table{
|
||||||
// padding-bottom: 70px;
|
padding-bottom: 70px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnn {
|
.btnn {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
width: 100%;
|
||||||
|
left: -6px;
|
||||||
|
z-index: 9;
|
||||||
|
background: #fff;
|
||||||
padding: 0px 32px;
|
padding: 0px 32px;
|
||||||
min-height: 70px;
|
min-height: 70px;
|
||||||
border-top: 1px solid #e6e6e6;
|
border-top: 1px solid #e6e6e6;
|
||||||
|
|||||||
@@ -5,27 +5,27 @@
|
|||||||
<div class="filter" >
|
<div class="filter" >
|
||||||
<a-form layout="inline" style="min-width: 1380px;">
|
<a-form layout="inline" style="min-width: 1380px;">
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 276px" v-model:value="searchParam.trainOrgId" placeholder="培训发生组织" allowClear
|
<a-select style="width: 235px" v-model:value="searchParam.trainOrgId" placeholder="培训发生组织" allowClear
|
||||||
:options="trainOrglist"
|
:options="trainOrglist"
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select ">
|
<a-form-item class="select ">
|
||||||
<div class="select addTimeBox">
|
<!-- <div class="select addTimeBox">
|
||||||
<div class="addTime" >汇总时间:</div>
|
<div class="addTime" >汇总时间:</div> -->
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
v-model:value="searchdate"
|
v-model:value="searchdate"
|
||||||
style="width: 420px"
|
style="width: 340px !important;"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
valueFormat="YYYY-MM-DD"
|
valueFormat="YYYY-MM-DD"
|
||||||
separator="至"
|
separator="至"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="['汇总时间开始时间', '汇总时间结束时间']"
|
||||||
v-on:keydown.enter="enterPressHadlerSearch"
|
v-on:keydown.enter="enterPressHadlerSearch"
|
||||||
/>
|
/>
|
||||||
</div>
|
<!-- </div> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 230px ;margin-bottom:20px" v-model:value="searchParam.status" placeholder="请选择状态" allowClear
|
<a-select style="width: 200px ;margin-bottom:20px" v-model:value="searchParam.status" placeholder="请选择状态" allowClear
|
||||||
:options="AuthenticationStatusList"
|
:options="AuthenticationStatusList"
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
@@ -225,6 +225,7 @@
|
|||||||
</a-modal>
|
</a-modal>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div> <Upload/> </div> -->
|
<!-- <div> <Upload/> </div> -->
|
||||||
|
<LecturerAppEdit v-model:visible="editTeacherDialog" :id="editId" ></LecturerAppEdit>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
@@ -247,6 +248,7 @@
|
|||||||
// 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 LecturerAppEdit from "./LecturerAPPEdit"
|
||||||
export default {
|
export default {
|
||||||
name: "LecturerApproval",
|
name: "LecturerApproval",
|
||||||
components: {
|
components: {
|
||||||
@@ -256,22 +258,25 @@
|
|||||||
DownloadOutlined,//图标-导入
|
DownloadOutlined,//图标-导入
|
||||||
FolderAddOutlined,//图标--新增
|
FolderAddOutlined,//图标--新增
|
||||||
ProjectManager,
|
ProjectManager,
|
||||||
|
LecturerAppEdit,
|
||||||
},
|
},
|
||||||
setup(props,emit) {
|
setup(props,emit) {
|
||||||
watch(()=>props.key,(val)=>{
|
watch(()=>props.key,(val)=>{
|
||||||
console.log(val,'valllllll')
|
console.log(val,'valllllll')
|
||||||
})
|
})
|
||||||
onMounted(()=>{
|
onMounted(()=>{
|
||||||
const search = sessionStorage.getItem('searchApprlval')
|
// const search = sessionStorage.getItem('searchApprlval')
|
||||||
console.log(search,'search')
|
// console.log(search,'search')
|
||||||
if(search){
|
// if(search){
|
||||||
state.searchParam = JSON.parse(search)
|
// state.searchParam = JSON.parse(search)
|
||||||
state.searchdate = state.searchParam.searchdate
|
// state.searchdate = state.searchParam.searchdate
|
||||||
}
|
// }
|
||||||
getTableDate()
|
getTableDate()
|
||||||
})
|
})
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
|
editId: null,
|
||||||
|
editTeacherDialog: false,
|
||||||
tableDataExamineLoading: false,
|
tableDataExamineLoading: false,
|
||||||
tableDataExamineTwo: [],
|
tableDataExamineTwo: [],
|
||||||
tableDataParams:{
|
tableDataParams:{
|
||||||
@@ -514,7 +519,7 @@
|
|||||||
const searchSubmit = () => {
|
const searchSubmit = () => {
|
||||||
state.searchParam.pageNo = 1;
|
state.searchParam.pageNo = 1;
|
||||||
getTableDate();
|
getTableDate();
|
||||||
sessionStorage.removeItem('searchApprlval')
|
// sessionStorage.removeItem('searchApprlval')
|
||||||
};
|
};
|
||||||
//重置
|
//重置
|
||||||
const searchReset = () => {
|
const searchReset = () => {
|
||||||
@@ -534,7 +539,7 @@
|
|||||||
pageSize: 10 ,
|
pageSize: 10 ,
|
||||||
};
|
};
|
||||||
getTableDate();
|
getTableDate();
|
||||||
sessionStorage.removeItem('searchApprlval')
|
// sessionStorage.removeItem('searchApprlval')
|
||||||
};
|
};
|
||||||
// //修改时间
|
// //修改时间
|
||||||
// function searchTimeChange(time, timeStr) {
|
// function searchTimeChange(time, timeStr) {
|
||||||
@@ -627,14 +632,16 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
const goDdit = (record) => {
|
const goDdit = (record) => {
|
||||||
state.searchParam.searchdate = state.searchdate
|
state.editTeacherDialog = true
|
||||||
sessionStorage.setItem('searchApprlval', JSON.stringify(state.searchParam))
|
state.editId = record.id
|
||||||
router.push({
|
// state.searchParam.searchdate = state.searchdate
|
||||||
path:'/LecturerAppEdit',
|
// sessionStorage.setItem('searchApprlval', JSON.stringify(state.searchParam))
|
||||||
query:{
|
// router.push({
|
||||||
id: record.id
|
// path:'/LecturerAppEdit',
|
||||||
}
|
// query:{
|
||||||
})
|
// id: record.id
|
||||||
|
// }
|
||||||
|
// })
|
||||||
}
|
}
|
||||||
//表格内查看数据操作
|
//表格内查看数据操作
|
||||||
const handleLook = (record) => {
|
const handleLook = (record) => {
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
<!-- <a-input v-model:value="searchParam.name" style="width: 276px; height: 40px; border-radius: 8px"
|
<!-- <a-input v-model:value="searchParam.name" style="width: 276px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch>
|
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch>
|
||||||
</a-input>
|
</a-input>
|
||||||
--> <div style="width: 276px; height: 40px; border-radius: 8px" >
|
--> <div style="width: 235px; height: 40px; border-radius: 8px" >
|
||||||
<a-input v-model:value="searchParam.name" style="width: 276px; height: 40px; border-radius: 8px"
|
<a-input v-model:value="searchParam.name" style="width: 235px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch
|
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-input>
|
</a-input>
|
||||||
@@ -23,38 +23,38 @@
|
|||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select ">
|
<a-form-item class="select ">
|
||||||
<div class="select addTimeBox">
|
<!-- <div class="select addTimeBox">
|
||||||
<div class="addTime" >授课日期:</div>
|
<div class="addTime" >授课日期:</div> -->
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
v-model:value="searchdate"
|
v-model:value="searchdate"
|
||||||
style="width: 420px"
|
style="width: 340px !important;"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
valueFormat="YYYY-MM-DD"
|
valueFormat="YYYY-MM-DD"
|
||||||
separator="至"
|
separator="至"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']"
|
:placeholder="['授课日期开始时间', '授课日期结束时间']"
|
||||||
v-on:keydown.enter="enterPressHadlerSearch"
|
v-on:keydown.enter="enterPressHadlerSearch"
|
||||||
/>
|
/>
|
||||||
</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.type" placeholder="请选择课程类型" allowClear
|
<a-select style="width: 200px ;margin-bottom:20px" v-model:value="searchParam.type" placeholder="请选择课程类型" allowClear
|
||||||
:options="OnTheJobStatusList"
|
:options="OnTheJobStatusList"
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
</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.status" placeholder="请选择状态" allowClear
|
<a-select style="width: 200px ;margin-bottom:20px" v-model:value="searchParam.status" placeholder="请选择状态" allowClear
|
||||||
:options="AuthenticationStatusList"
|
:options="AuthenticationStatusList"
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select" v-if="moreid==2">
|
||||||
<a-select style="width: 235px ;margin-bottom:20px" placeholder="请选择讲师体系" v-model:value="searchParam.tSystemId" allowClear
|
<a-select style="width: 235px ;margin-bottom:20px" placeholder="请选择讲师体系" v-model:value="searchParam.tSystemId" allowClear
|
||||||
:options="lecturerSystemList"
|
:options="lecturerSystemList"
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select" >
|
<a-form-item class="select" v-if="moreid==2">
|
||||||
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.tLevelName" placeholder="请选择讲师级别" allowClear
|
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.tLevelName" placeholder="请选择讲师级别" allowClear
|
||||||
:options="getLevelList"
|
:options="getLevelList"
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
@@ -67,16 +67,16 @@
|
|||||||
<a-button class="resetbtn " @click="searchReset">重置</a-button>
|
<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"> 展开
|
<a-button @click="handlemoreid()" class="moreidbtn" type="text"> 展开
|
||||||
<RightOutlined />
|
<DownOutlined />
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="moreid == 2">
|
<div v-if="moreid == 2">
|
||||||
<a-button @click="handlemoreid()" class="moreidbtn"> 返回
|
<a-button @click="handlemoreid()" class="moreidbtn"> 收起
|
||||||
<UpOutlined />
|
<UpOutlined />
|
||||||
</a-button>
|
</a-button>
|
||||||
</div> -->
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="width:100%"></div>
|
<div style="width:100%"></div>
|
||||||
<!-- <a-form-item class="select" v-if="moreid == 2">
|
<!-- <a-form-item class="select" v-if="moreid == 2">
|
||||||
@@ -266,7 +266,7 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="授课/课程日期 :" name="teachingDate">
|
<a-form-item label="授课/课程日期 :" name="teachingDate">
|
||||||
<a-date-picker class="draitem" v-model:value="teachingDate" style="width:100%" :show-time="{ format: 'HH:mm' }" format="YYYY-MM-DD HH:mm" valueFormat="YYYY-MM-DD HH:mm"
|
<a-date-picker class="draitem" v-model:value="teachingDate" style="width:100%" :show-time="{ format: 'HH:mm' }" format="YYYY-MM-DD HH:mm" valueFormat="YYYY-MM-DD HH:mm"
|
||||||
placeholder="请选择课程日期" />
|
placeholder="请选择课程日期" @select="handleSelect" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -295,7 +295,7 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="评分" name="score">
|
<a-form-item label="评分" name="score">
|
||||||
<a-input-number class="draitem" v-model:value="formParam.score" :defaultValue="null" :max="10" :controls="false" :min="0" :precision="2" placeholder="请输入评分"
|
<a-input-number class="draitem" v-model:value="formParam.score" :defaultValue="null" :max="10" :controls="false" :min="0" :precision="2" placeholder="请输入评分"
|
||||||
allowClear >
|
allowClear @change="scoreNumber">
|
||||||
</a-input-number>
|
</a-input-number>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -320,7 +320,7 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="应发费用" name="payableExpense">
|
<a-form-item label="应发费用" name="payableExpense">
|
||||||
<a-input-number :max="99999999" :controls="false" :min="0" :precision="2" v-model:value="formParam.payableExpense" class="draitem"
|
<a-input-number :max="99999999" :controls="false" :min="0" :precision="2" v-model:value="formParam.payableExpense" class="draitem"
|
||||||
placeholder="请输入应发费用" allowClear>
|
placeholder="请输入应发费用" @change="clearPayableExpense" allowClear>
|
||||||
</a-input-number>
|
</a-input-number>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -449,7 +449,7 @@
|
|||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import {
|
import {
|
||||||
RightOutlined,
|
DownOutlined,
|
||||||
UpOutlined,
|
UpOutlined,
|
||||||
UploadOutlined,
|
UploadOutlined,
|
||||||
FolderAddOutlined,
|
FolderAddOutlined,
|
||||||
@@ -470,7 +470,7 @@
|
|||||||
export default {
|
export default {
|
||||||
name: "LecturerFee",
|
name: "LecturerFee",
|
||||||
components: {
|
components: {
|
||||||
RightOutlined, //图标--展开
|
DownOutlined, //图标--展开
|
||||||
UpOutlined,//图标--收起
|
UpOutlined,//图标--收起
|
||||||
UploadOutlined,//图标--导出
|
UploadOutlined,//图标--导出
|
||||||
DownloadOutlined,//图标-导入
|
DownloadOutlined,//图标-导入
|
||||||
@@ -693,9 +693,11 @@ getAllLevelList().then((res) => {
|
|||||||
}
|
}
|
||||||
else if(state.moreid == 2){
|
else if(state.moreid == 2){
|
||||||
state.moreid=1
|
state.moreid=1
|
||||||
state.searchParam.certStatus=null
|
// state.searchParam.certStatus=null
|
||||||
state.searchParam.salaryName=null
|
// state.searchParam.salaryName=null
|
||||||
state.searchParam.status=null
|
// state.searchParam.status=null
|
||||||
|
state.searchParam.tSystemId = null
|
||||||
|
state.searchParam.tLevelName = null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const columnSee = ref([
|
const columnSee = ref([
|
||||||
@@ -1068,6 +1070,9 @@ getAllLevelList().then((res) => {
|
|||||||
if(state.formParam.levelPay){
|
if(state.formParam.levelPay){
|
||||||
state.formParam.levelPay = String(state.formParam.levelPay)
|
state.formParam.levelPay = String(state.formParam.levelPay)
|
||||||
}
|
}
|
||||||
|
if(state.formParam.payableExpense){
|
||||||
|
state.formParam.payableExpense = String(state.formParam.payableExpense)
|
||||||
|
}
|
||||||
const formItemNames = Object.keys(rules);
|
const formItemNames = Object.keys(rules);
|
||||||
for(let i=0;i<formItemNames.length;i++){
|
for(let i=0;i<formItemNames.length;i++){
|
||||||
const result = await validateField(formItemNames[i]);
|
const result = await validateField(formItemNames[i]);
|
||||||
@@ -1319,6 +1324,7 @@ getAllLevelList().then((res) => {
|
|||||||
state.formParam.teachingTime = state.formParam.teachingTime?.slice(0,8);
|
state.formParam.teachingTime = state.formParam.teachingTime?.slice(0,8);
|
||||||
state.formParam.teachingTime == 0 && (state.formParam.teachingTime = null);
|
state.formParam.teachingTime == 0 && (state.formParam.teachingTime = null);
|
||||||
state.formParam.teachingTime && state.formParam.levelPay && (state.formParam.expense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2));
|
state.formParam.teachingTime && state.formParam.levelPay && (state.formParam.expense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2));
|
||||||
|
state.formParam.teachingTime && state.formParam.levelPay && (state.formParam.payableExpense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2));
|
||||||
}
|
}
|
||||||
const clearstudysNumber = () => {
|
const clearstudysNumber = () => {
|
||||||
state.formParam.studys = state.formParam.studys.replace(/\D/g, '');
|
state.formParam.studys = state.formParam.studys.replace(/\D/g, '');
|
||||||
@@ -1334,14 +1340,24 @@ getAllLevelList().then((res) => {
|
|||||||
state.formParam.payableExpense = state.formParam.payableExpense?.slice(0,8);
|
state.formParam.payableExpense = state.formParam.payableExpense?.slice(0,8);
|
||||||
state.formParam.payableExpense == 0 && (state.formParam.payableExpense = null);
|
state.formParam.payableExpense == 0 && (state.formParam.payableExpense = null);
|
||||||
}
|
}
|
||||||
|
const scoreNumber = () => {
|
||||||
|
state.formParam.score&&(state.formParam.score=String(state.formParam.score))
|
||||||
|
}
|
||||||
const clearlevelPayNumber = () => {
|
const clearlevelPayNumber = () => {
|
||||||
// state.formParam.levelPay = state.formParam.levelPay?.replace(/\D/g, '');
|
// state.formParam.levelPay = state.formParam.levelPay?.replace(/\D/g, '');
|
||||||
// state.formParam.levelPay = state.formParam.levelPay?.slice(0,8);
|
// state.formParam.levelPay = state.formParam.levelPay?.slice(0,8);
|
||||||
state.formParam.levelPay == 0 && (state.formParam.levelPay = null);
|
state.formParam.levelPay == 0 && (state.formParam.levelPay = null);
|
||||||
state.formParam.levelPay&&state.formParam.teachingTime && (state.formParam.expense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2))
|
state.formParam.levelPay&&state.formParam.teachingTime && (state.formParam.expense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2))
|
||||||
|
state.formParam.levelPay&&state.formParam.teachingTime && (state.formParam.payableExpense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2))
|
||||||
|
state.formParam.levelPay&&(state.formParam.levelPay=String(state.formParam.levelPay))
|
||||||
|
}
|
||||||
|
const clearPayableExpense = () => {
|
||||||
|
state.formParam.payableExpense == 0 && (state.formParam.payableExpense = null);
|
||||||
|
state.formParam.payableExpense && (state.formParam.payableExpense = String(state.formParam.payableExpense))
|
||||||
}
|
}
|
||||||
watch(()=>state.formParam.levelPay,(val)=>{
|
watch(()=>state.formParam.levelPay,(val)=>{
|
||||||
state.formParam.levelPay&&state.formParam.teachingTime && (state.formParam.expense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2))
|
state.formParam.levelPay&&state.formParam.teachingTime && (state.formParam.expense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2))
|
||||||
|
state.formParam.levelPay&&state.formParam.teachingTime && (state.formParam.payableExpense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2))
|
||||||
})
|
})
|
||||||
const rules = {
|
const rules = {
|
||||||
name: [{ required: true, message:'',log: '讲师不能为空' }],
|
name: [{ required: true, message:'',log: '讲师不能为空' }],
|
||||||
@@ -1359,7 +1375,7 @@ getAllLevelList().then((res) => {
|
|||||||
score: [{ required: true, message:'',log: ' 评分不能为空' }],
|
score: [{ required: true, message:'',log: ' 评分不能为空' }],
|
||||||
levelPay: [{ required: true, message:'',log: '课酬基准不能为空' }],
|
levelPay: [{ required: true, message:'',log: '课酬基准不能为空' }],
|
||||||
expense: [{ required: true, message: '',log:'计划费用不能为空' }],
|
expense: [{ required: true, message: '',log:'计划费用不能为空' }],
|
||||||
|
payableExpense: [{ required: true, message: '',log:'应发费用不能为空' }],
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleImport = () => {
|
const handleImport = () => {
|
||||||
@@ -1680,6 +1696,8 @@ const column = ref([
|
|||||||
clearstudysNumber,
|
clearstudysNumber,
|
||||||
clearscoreNumber,
|
clearscoreNumber,
|
||||||
clearlevelPayNumber,
|
clearlevelPayNumber,
|
||||||
|
scoreNumber,
|
||||||
|
clearPayableExpense,
|
||||||
payExpense,
|
payExpense,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1690,7 +1708,7 @@ const column = ref([
|
|||||||
width: 410px !important;
|
width: 410px !important;
|
||||||
}
|
}
|
||||||
.headers {
|
.headers {
|
||||||
height: 73px;
|
height: 57px;
|
||||||
border-bottom: 1px solid #e8e8e8;
|
border-bottom: 1px solid #e8e8e8;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@@ -2005,7 +2023,9 @@ const column = ref([
|
|||||||
.moreidbtn {
|
.moreidbtn {
|
||||||
border: none;
|
border: none;
|
||||||
color: #4ea6ff;
|
color: #4ea6ff;
|
||||||
width: 80px
|
// width: 80px;
|
||||||
|
line-height: 40px;
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//小竖线
|
//小竖线
|
||||||
|
|||||||
@@ -5,13 +5,13 @@
|
|||||||
<div class="filter" >
|
<div class="filter" >
|
||||||
<a-form layout="inline">
|
<a-form layout="inline">
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 276px" v-model:value="searchParam.trainOrgId" placeholder="请选择资源归属" allowClear
|
<a-select style="width: 235px" v-model:value="searchParam.trainOrgId" placeholder="请选择资源归属" allowClear
|
||||||
:options="TrainOrglist"
|
:options="TrainOrglist"
|
||||||
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-date-picker picker="month" style="width: 260px; height: 40px; border-radius: 8px" v-model:value="searchdate"
|
<a-date-picker picker="month" style="width: 235px; height: 40px; border-radius: 8px" v-model:value="searchdate"
|
||||||
:placeholder="[ '请选择汇总周期']" @change="searchTimeChange"
|
:placeholder="[ '请选择汇总周期']" @change="searchTimeChange" format="YYYY-MM" valueFormat="YYYY-MM"
|
||||||
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">
|
||||||
@@ -303,7 +303,7 @@ export default {
|
|||||||
const getTableDate = (obj) => {
|
const getTableDate = (obj) => {
|
||||||
state.tableLoading = true
|
state.tableLoading = true
|
||||||
let objA = { ...state.searchParam };
|
let objA = { ...state.searchParam };
|
||||||
objA.summaryDate = state.searchdate ? dayjs(state.searchdate).format("YYYY-MM-DD") : "",
|
objA.summaryDate = state.searchdate ? dayjs(state.searchdate).format("YYYY-MM") : "",
|
||||||
console.log(objA)
|
console.log(objA)
|
||||||
expenseSummaryList(objA)
|
expenseSummaryList(objA)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
<div class="filter">
|
<div class="filter">
|
||||||
<a-form layout="inline" >
|
<a-form layout="inline" >
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-input v-model:value="searchParam.name" style="width: 276px; height: 40px; border-radius: 8px"
|
<a-input v-model:value="searchParam.name" style="width: 235px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch
|
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-input>
|
</a-input>
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
:tree-data="sysTypeOptions"
|
:tree-data="sysTypeOptions"
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-tree-select> -->
|
</a-tree-select> -->
|
||||||
<a-select style="width: 230px" placeholder="请选择培训发生组织" v-model:value="searchParam.trainOrgId"
|
<a-select style="width: 235px" placeholder="请选择培训发生组织" v-model:value="searchParam.trainOrgId"
|
||||||
:options="getOrganizationList">
|
:options="getOrganizationList">
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<a-form layout="inline">
|
<a-form layout="inline">
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<div>
|
<div>
|
||||||
<a-input style="width: 276px; height: 40px; border-radius: 8px" v-model:value="searchParam.name" placeholder="请输入编号/名称进行搜索"
|
<a-input style="width: 235px; height: 40px; border-radius: 8px" v-model:value="searchParam.name" placeholder="请输入编号/名称进行搜索"
|
||||||
v-on:keydown.enter="enterPressHadlerSearch" />
|
v-on:keydown.enter="enterPressHadlerSearch" />
|
||||||
</div>
|
</div>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -221,7 +221,7 @@
|
|||||||
>
|
>
|
||||||
<a-button class="drabtn" @click="cancelTeacherDialog" >取消</a-button>
|
<a-button class="drabtn" @click="cancelTeacherDialog" >取消</a-button>
|
||||||
<a-button class="drabtn" type="primary" @click="createTeacherDialog(0)" :loading="buttonLoading">保存</a-button>
|
<a-button class="drabtn" type="primary" @click="createTeacherDialog(0)" :loading="buttonLoading">保存</a-button>
|
||||||
<a-button class="drabtn" type="primary" @click="createTeacherDialog(1)" :loading="buttonLoading">提交</a-button>
|
<a-button v-if="editParams||editIndex>1" class="drabtn" type="primary" @click="createTeacherDialog(1)" :loading="buttonLoading">提交</a-button>
|
||||||
</div>
|
</div>
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
<AddOrgContent :Addtitle="'选择组织'" v-model:showContent="showContent" v-model:AddContentList="formParam.affiliationOrgList" />
|
<AddOrgContent :Addtitle="'选择组织'" v-model:showContent="showContent" v-model:AddContentList="formParam.affiliationOrgList" />
|
||||||
@@ -252,6 +252,8 @@ export default{
|
|||||||
setup() {
|
setup() {
|
||||||
const formRef = ref();
|
const formRef = ref();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
|
editParams: true,
|
||||||
|
editIndex: 0,
|
||||||
tableDataTotal: 0,
|
tableDataTotal: 0,
|
||||||
vf:true,
|
vf:true,
|
||||||
showContent: false,
|
showContent: false,
|
||||||
@@ -476,7 +478,8 @@ const getTableDate = (obj) => {
|
|||||||
getTableDate();
|
getTableDate();
|
||||||
}).catch(err=>{
|
}).catch(err=>{
|
||||||
console.log(err,'errr')
|
console.log(err,'errr')
|
||||||
message.error(err.msg)
|
message.destroy()
|
||||||
|
message.error(err.data.msg)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -530,6 +533,9 @@ const getTableDate = (obj) => {
|
|||||||
watch(()=>state.teacherdialog,(val)=>{
|
watch(()=>state.teacherdialog,(val)=>{
|
||||||
if(val){
|
if(val){
|
||||||
placeData()
|
placeData()
|
||||||
|
}else{
|
||||||
|
state.editParams = true
|
||||||
|
state.editIndex = 0
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const addTeacher=()=>{
|
const addTeacher=()=>{
|
||||||
@@ -548,10 +554,16 @@ const getTableDate = (obj) => {
|
|||||||
const addContentData = () => {
|
const addContentData = () => {
|
||||||
state.showContent = true
|
state.showContent = true
|
||||||
}
|
}
|
||||||
|
watch(()=>state.formParam,(val)=>{
|
||||||
|
if(!state.editParams){
|
||||||
|
state.editIndex++
|
||||||
|
}
|
||||||
|
},{deep:true})
|
||||||
//修改信息弹窗
|
//修改信息弹窗
|
||||||
const handleModify = (record) => {
|
const handleModify = (record) => {
|
||||||
lecturer.getAffiliationById(record.id).then(res=>{
|
lecturer.getAffiliationById(record.id).then(res=>{
|
||||||
console.log(res,'resssss')
|
console.log(res,'resssss')
|
||||||
|
state.editParams = false
|
||||||
state.formParam = res.data.data
|
state.formParam = res.data.data
|
||||||
const actArray = res.data.data.affiliationUserList.filter(item=>item.type == 0)
|
const actArray = res.data.data.affiliationUserList.filter(item=>item.type == 0)
|
||||||
const leveOneArray = res.data.data.affiliationUserList.filter(item=>item.type == 1)
|
const leveOneArray = res.data.data.affiliationUserList.filter(item=>item.type == 1)
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<a-input
|
<a-input
|
||||||
v-model:value="searchParam.name"
|
v-model:value="searchParam.name"
|
||||||
style="width: 270px; height: 40px; border-radius: 8px"
|
style="width: 270px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入项目名称1"
|
placeholder="请输入项目名称"
|
||||||
allowClear
|
allowClear
|
||||||
showSearch
|
showSearch
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<a-input
|
<a-input
|
||||||
v-model:value="searchParam.name"
|
v-model:value="searchParam.name"
|
||||||
style="width: 270px; height: 40px; border-radius: 8px"
|
style="width: 270px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入项目名称1"
|
placeholder="请输入项目名称"
|
||||||
allowClear
|
allowClear
|
||||||
showSearch
|
showSearch
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user