mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-16 22:36:45 +08:00
Merge remote-tracking branch 'zcwy/zcwy-teacher-manage' into zcwy-teacher-manage
This commit is contained in:
@@ -288,6 +288,10 @@ export default {
|
|||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
tableDataTotal: -1,//table列表总条数
|
tableDataTotal: -1,//table列表总条数
|
||||||
teacherrecordstableDataTotal: -1,//授课记录列表总条数
|
teacherrecordstableDataTotal: -1,//授课记录列表总条数
|
||||||
|
tSystemNames:{
|
||||||
|
systemName:null,
|
||||||
|
levelVoList: []
|
||||||
|
},
|
||||||
formParam: {
|
formParam: {
|
||||||
description:"",
|
description:"",
|
||||||
teacherType:'2',
|
teacherType:'2',
|
||||||
@@ -299,6 +303,7 @@ export default {
|
|||||||
teacherType:2,
|
teacherType:2,
|
||||||
name: null,//姓名
|
name: null,//姓名
|
||||||
status: null,//状态
|
status: null,//状态
|
||||||
|
tSystemName: null,
|
||||||
pageNo: "1",
|
pageNo: "1",
|
||||||
pageSize: "10"
|
pageSize: "10"
|
||||||
},
|
},
|
||||||
@@ -465,34 +470,46 @@ export default {
|
|||||||
state.vf = false
|
state.vf = false
|
||||||
TeacherSystem()
|
TeacherSystem()
|
||||||
}
|
}
|
||||||
|
async function validateField(name) {
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
formRef.value.validateFields([name])
|
||||||
|
.then(() => {
|
||||||
|
resolve(false);
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
resolve(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
//保存
|
//保存
|
||||||
const createTeacherDialog = () => {
|
const createTeacherDialog = async () => {
|
||||||
formRef.value
|
const formItemNames = Object.keys(rules);
|
||||||
.validate()
|
for(let i=0;i<formItemNames.length;i++){
|
||||||
.then(() => {
|
const result = await validateField(formItemNames[i]);
|
||||||
if (state.vf == false) {
|
if (result) {
|
||||||
updateInTeacher(state.formParam).then(response => {
|
return message.error(rules[formItemNames[i]][0].log)
|
||||||
message.success("修改成功");
|
}
|
||||||
state.teacherdialog = false;
|
|
||||||
cancel()
|
|
||||||
getTableDate();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
else {
|
state.formParam = {...state.formParam}
|
||||||
insertTeacher(state.formParam)
|
if (state.vf == false) {
|
||||||
.then((res) => {
|
updateInTeacher(state.formParam).then(response => {
|
||||||
message.success("保存成功");
|
message.success("修改成功");
|
||||||
state.teacherdialog = false;
|
state.teacherdialog = false;
|
||||||
cancel()
|
cancel()
|
||||||
getTableDate();
|
getTableDate();
|
||||||
}).catch((err) => {
|
|
||||||
console.log(err);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
else {
|
||||||
.catch(() => {
|
insertTeacher(state.formParam)
|
||||||
console.log('error', error);
|
.then((res) => {
|
||||||
});
|
message.success("保存成功");
|
||||||
|
state.teacherdialog = false;
|
||||||
|
cancel()
|
||||||
|
getTableDate();
|
||||||
|
}).catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
//删除弹窗
|
//删除弹窗
|
||||||
const deleteModal = (record) => {
|
const deleteModal = (record) => {
|
||||||
@@ -581,19 +598,19 @@ export default {
|
|||||||
console.log(state.formParam);
|
console.log(state.formParam);
|
||||||
}
|
}
|
||||||
const rules = {
|
const rules = {
|
||||||
name: [{ required: true, message: '讲师不能为空' }],
|
name: [{ required: true, message: '',log: '讲师不能为空' }],
|
||||||
supplier:[{ required: true, message: '供应商不能为空' }],
|
supplier:[{ required: true, message: '',log:'供应商不能为空' }],
|
||||||
email:[
|
email:[
|
||||||
{
|
{
|
||||||
type: "email",
|
type: "email",
|
||||||
message: '请输入正确的邮箱地址',
|
message: '',log: '请输入正确的邮箱地址',
|
||||||
trigger: "blur"
|
trigger: "blur"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
mobile: [
|
mobile: [
|
||||||
{
|
{
|
||||||
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
||||||
message: "请输入正确的手机号码",
|
message: '',log: "请输入正确的手机号码",
|
||||||
trigger: "blur"
|
trigger: "blur"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -663,6 +680,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
lecturerAdmin,
|
lecturerAdmin,
|
||||||
|
validateField,
|
||||||
rules,
|
rules,
|
||||||
rule,
|
rule,
|
||||||
formRef,
|
formRef,
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
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: 276px; height: 40px; border-radius: 8px" placeholder="请输入工号/讲师姓名进行检索" showSearch
|
||||||
allowClear v-model:name="searchParam.name"></a-input>
|
allowClear v-model:courseName="searchParam.courseName"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<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: 276px; height: 40px; border-radius: 8px"
|
||||||
@@ -23,7 +23,6 @@
|
|||||||
<a-range-picker
|
<a-range-picker
|
||||||
v-model:value="searchdate"
|
v-model:value="searchdate"
|
||||||
style="width: 420px"
|
style="width: 420px"
|
||||||
@change="searchTimeChange"
|
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
valueFormat="YYYY-MM-DD"
|
valueFormat="YYYY-MM-DD"
|
||||||
separator="至"
|
separator="至"
|
||||||
@@ -56,9 +55,22 @@
|
|||||||
</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: 230px" v-model:value="searchParam.systypeid" placeholder="内容分类"
|
<a-tree-select
|
||||||
:options="getTeacherExpertiseList" allowClear>
|
style="width: 230px"
|
||||||
</a-select>
|
:fieldNames="{
|
||||||
|
children: 'children',
|
||||||
|
label: 'name',
|
||||||
|
value: 'code',
|
||||||
|
}"
|
||||||
|
allow-clear
|
||||||
|
:getPopupContainer="triggerNode => triggerNode.parentNode || document.body"
|
||||||
|
v-model:value="searchParam.courseTypeId"
|
||||||
|
show-search
|
||||||
|
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
|
||||||
|
placeholder="请选择内容分类"
|
||||||
|
tree-default-expand-all
|
||||||
|
:tree-data="sysTypeOptions">
|
||||||
|
</a-tree-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: 230px" v-model:value="searchParam.status" placeholder="开课状态"
|
<a-select style="width: 230px" v-model:value="searchParam.status" placeholder="开课状态"
|
||||||
@@ -111,7 +123,7 @@
|
|||||||
<a-drawer v-model:visible="teacherdialog" placement="right" @closa="cancelTeacherDialog" :maskClosable="true"
|
<a-drawer v-model:visible="teacherdialog" placement="right" @closa="cancelTeacherDialog" :maskClosable="true"
|
||||||
dropdown-style="drawaer" width="60%" :title="teacherdialogtitle">
|
dropdown-style="drawaer" width="60%" :title="teacherdialogtitle">
|
||||||
<a-form :model="formParam" :rules="rules" layout="vertical" ref="formRef">
|
<a-form :model="formParam" :rules="rules" layout="vertical" ref="formRef">
|
||||||
<!--讲师名称 teacher 内容分类 systypeid -->
|
<!--讲师名称 teacher 内容分类 coursetypeid -->
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="讲师名称" name="teacher">
|
<a-form-item label="讲师名称" name="teacher">
|
||||||
@@ -121,10 +133,22 @@
|
|||||||
@onChange="managerChange"></ProjectManagerOutTeacher> </a-form-item>
|
@onChange="managerChange"></ProjectManagerOutTeacher> </a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="内容分类" name="systypeid">
|
<a-form-item label="内容分类" name="courseTypeId">
|
||||||
<a-select class="draitem" v-model:value="formParam.systypeid" placeholder="内容分类"
|
<a-tree-select
|
||||||
:options="getTeacherExpertiseList" allowClear>
|
:fieldNames="{
|
||||||
</a-select>
|
children: 'children',
|
||||||
|
label: 'name',
|
||||||
|
value: 'code',
|
||||||
|
}"
|
||||||
|
allow-clear
|
||||||
|
:getPopupContainer="triggerNode => triggerNode.parentNode || document.body"
|
||||||
|
v-model:value="formParam.courseTypeId"
|
||||||
|
show-search
|
||||||
|
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
|
||||||
|
placeholder="请选择内容分类"
|
||||||
|
tree-default-expand-all
|
||||||
|
:tree-data="sysTypeOptions">
|
||||||
|
</a-tree-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -217,7 +241,7 @@
|
|||||||
<a-descriptions-item label="课程名称">{{ formParam.name }}</a-descriptions-item>
|
<a-descriptions-item label="课程名称">{{ formParam.name }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="开课状态">{{ formParam.status == 0 ? '未开课' : formParam.status == 1
|
<a-descriptions-item label="开课状态">{{ formParam.status == 0 ? '未开课' : formParam.status == 1
|
||||||
? '已开课' : '' }}</a-descriptions-item>
|
? '已开课' : '' }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="内容分类 ">{{ formParam.sysTypeId }}</a-descriptions-item>
|
<a-descriptions-item label="内容分类 ">{{ formParam.courseTypeId }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="授课/课程日期 ">{{ formParam.beginTime }}</a-descriptions-item>
|
<a-descriptions-item label="授课/课程日期 ">{{ formParam.beginTime }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="授课时长 ">{{ formParam.duration }}
|
<a-descriptions-item label="授课时长 ">{{ formParam.duration }}
|
||||||
<span style="margin-left: 5px ;" v-if="formParam.duration != null">({{ (formParam.duration / 60
|
<span style="margin-left: 5px ;" v-if="formParam.duration != null">({{ (formParam.duration / 60
|
||||||
@@ -274,7 +298,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { reactive, toRefs, ref } from "vue";
|
import { reactive, toRefs, ref ,computed} from "vue";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import { useStore } from "vuex";
|
import { useStore } from "vuex";
|
||||||
import {
|
import {
|
||||||
@@ -324,13 +348,15 @@ export default {
|
|||||||
teachingdialog: false,//查看抽屉
|
teachingdialog: false,//查看抽屉
|
||||||
pageSizeOptions: ['10', '20', '30', '50'], //下拉选择每页显示多少条
|
pageSizeOptions: ['10', '20', '30', '50'], //下拉选择每页显示多少条
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
|
beginTime: null, //开始时间
|
||||||
|
endTime: null, //结束时间
|
||||||
tableDataTotal: -1,//table列表总条数
|
tableDataTotal: -1,//table列表总条数
|
||||||
formParam: {
|
formParam: {
|
||||||
status: 1,
|
status: 1,
|
||||||
entryType:1,
|
entryType:1,
|
||||||
duration:null
|
duration:null
|
||||||
},
|
},
|
||||||
searchdate: null, //选择时间
|
searchdate: undefined, //选择时间
|
||||||
searchParam: {
|
searchParam: {
|
||||||
name:null,
|
name:null,
|
||||||
recordType:2,
|
recordType:2,
|
||||||
@@ -340,30 +366,30 @@ export default {
|
|||||||
name: null,
|
name: null,
|
||||||
address: null,
|
address: null,
|
||||||
status: null,
|
status: null,
|
||||||
startDate: null,
|
beginTime: null,
|
||||||
endDate: null,
|
endTime: null,
|
||||||
entryType:null,
|
entryType:null,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
function searchTimeChange(time, timeStr) {
|
// function searchTimeChange(time, timeStr) {
|
||||||
let startTime = timeStr[0]
|
// let startTime = timeStr[0]
|
||||||
let endTime = timeStr[1] ;
|
// let endTime = timeStr[1] ;
|
||||||
state.startTime = new Date(startTime).getTime();
|
// state.startTime = new Date(startTime).getTime();
|
||||||
state.endTime = new Date(endTime).getTime();
|
// state.endTime = new Date(endTime).getTime();
|
||||||
// state.searchParam.startDate = new Date(startDate).getTime() ;
|
// // state.searchParam.beginTime = new Date(beginTime).getTime() ;
|
||||||
// state.searchParam.endDate = new Date(endDate).getTime() ;
|
// // state.searchParam.endTime = new Date(endTime).getTime() ;
|
||||||
state.searchParam.startDate = state.startTime ? state.startTime : null,
|
// state.searchParam.beginTime = state.startTime ? state.startTime : null,
|
||||||
state.searchParam.endDate = state.endTime ? state.endTime : null
|
// state.searchParam.endTime = state.endTime ? state.endTime : null
|
||||||
}
|
// }
|
||||||
const AddressList = ref([
|
const AddressList = ref([
|
||||||
]);
|
]);
|
||||||
const rules = {
|
const rules = {
|
||||||
teacher: [{ required: true, message: '讲师不能为空' }],
|
teacher: [{ required: true, message: '',log:'讲师不能为空' }],
|
||||||
systypeid: [{ required: true, message: '内容分类不能为空' }],
|
coursetypeid: [{ required: true, message:'',log: '内容分类不能为空' }],
|
||||||
name: [{ required: true, message: '课程名称不能为空' }],
|
name: [{ required: true, message: '',log:'课程名称不能为空' }],
|
||||||
status: [{ required: true, message: '讲开课状态不能为空' }],
|
status: [{ required: true, message:'',log: '讲开课状态不能为空' }],
|
||||||
duration: [{ required: true, message: '授课时长不能为空' }],
|
duration: [{ required: true, message: '',log:'授课时长不能为空' }],
|
||||||
beginTime: [{ required: true, message: '授课日期不能为空' }],
|
beginTime: [{ required: true, message:'',log: '授课日期不能为空' }],
|
||||||
|
|
||||||
}
|
}
|
||||||
//获取开课场地
|
//获取开课场地
|
||||||
@@ -384,6 +410,8 @@ export default {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
AddressLista()
|
AddressLista()
|
||||||
|
//获取内容分类
|
||||||
|
const sysTypeOptions = computed(() => store.state.content_type);
|
||||||
const OnTheJobStatusList = ref([
|
const OnTheJobStatusList = ref([
|
||||||
{ value: 1, label: "项目开课" },
|
{ value: 1, label: "项目开课" },
|
||||||
{ value: 2, label: "路径开课" },
|
{ value: 2, label: "路径开课" },
|
||||||
@@ -499,19 +527,26 @@ export default {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// title: "内容分类",
|
||||||
|
// width: 100,
|
||||||
|
// dataIndex: "sysType1",
|
||||||
|
// ellipsis: true,
|
||||||
|
// key: "keywords",
|
||||||
|
// align: "center",
|
||||||
|
// //customRender: ({ record,text }) =>
|
||||||
|
// //`${getSysTypeMap(record.sysType1, record.sysTypeId)?getSysTypeMap//(record.sysType1) : ""}
|
||||||
|
// //${getSysTypeMap(record.sysType2, record.sysTypeId)?'-'+getSysTypeMap//(record.sysType2) : ""}
|
||||||
|
// //${getSysTypeMap(record.sysType3, record.sysTypeId)?'-'+getSysTypeMap//(record.sysType3) : ""}
|
||||||
|
// // `
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
title: "内容分类",
|
title: '内容分类',
|
||||||
width: 100,
|
dataIndex: 'courseTypeId',
|
||||||
dataIndex: "sysType1",
|
key: 'courseTypeId',
|
||||||
ellipsis: true,
|
elipsis: true, align: "center",
|
||||||
key: "keywords",
|
width: 120,
|
||||||
align: "center",
|
},
|
||||||
//customRender: ({ record,text }) =>
|
|
||||||
//`${getSysTypeMap(record.sysType1, record.sysTypeId)?getSysTypeMap//(record.sysType1) : ""}
|
|
||||||
//${getSysTypeMap(record.sysType2, record.sysTypeId)?'-'+getSysTypeMap//(record.sysType2) : ""}
|
|
||||||
//${getSysTypeMap(record.sysType3, record.sysTypeId)?'-'+getSysTypeMap//(record.sysType3) : ""}
|
|
||||||
// `
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: '授课时长(H) ',
|
title: '授课时长(H) ',
|
||||||
dataIndex: 'duration',
|
dataIndex: 'duration',
|
||||||
@@ -585,18 +620,19 @@ export default {
|
|||||||
status: null,
|
status: null,
|
||||||
entryType:null,
|
entryType:null,
|
||||||
systemId:null,
|
systemId:null,
|
||||||
endDate:null,
|
endTime:null,
|
||||||
startDate:null,
|
beginTime:null,
|
||||||
entryType:null
|
entryType:null
|
||||||
};
|
};
|
||||||
getTableDate();
|
getTableDate();
|
||||||
};
|
};
|
||||||
// List接口数据
|
// List接口数据
|
||||||
const getTableDate = (obj) => {
|
const getTableDate = (obj) => {
|
||||||
|
state.tableLoading = true
|
||||||
state.tableLoading = true
|
state.tableLoading = true
|
||||||
let objA = { ...state.searchParam };
|
let objA = { ...state.searchParam };
|
||||||
objA.startDate = state.searchParam.startDate !== null ? dayjs(new Date(state.searchParam.startDate).getTime()).format("YYYY-MM-DD") : "",
|
objA.beginTime = state.searchdate ? dayjs(state.searchdate[0]).format("YYYY-MM-DD") : "",
|
||||||
objA.endDate = state.searchParam.endDate !== null ? dayjs(new Date(state.searchParam.endDate).getTime()).format("YYYY-MM-DD") : "",
|
objA.endTime = state.searchdate ? dayjs(state.searchdate[1]).format("YYYY-MM-DD") : "",
|
||||||
getNewInTeacherCourseList(objA)
|
getNewInTeacherCourseList(objA)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
tableData.value = res.data.data.records
|
tableData.value = res.data.data.records
|
||||||
@@ -627,34 +663,46 @@ export default {
|
|||||||
state.vf = false
|
state.vf = false
|
||||||
TeacherSystem()
|
TeacherSystem()
|
||||||
}
|
}
|
||||||
//保存
|
async function validateField(name) {
|
||||||
const createTeacherDialog = () => {
|
return new Promise((resolve) => {
|
||||||
formRef.value
|
formRef.value.validateFields([name])
|
||||||
.validate()
|
.then(() => {
|
||||||
.then(() => {
|
resolve(false);
|
||||||
if (state.vf == false) {
|
})
|
||||||
updateInTeacherCourse(state.formParam).then(response => {
|
.catch(() => {
|
||||||
message.success("修改成功");
|
resolve(true);
|
||||||
state.teacherdialog = false;
|
});
|
||||||
cancel()
|
});
|
||||||
getTableDate();
|
}
|
||||||
});
|
//保存
|
||||||
|
const createTeacherDialog = async () => {
|
||||||
|
const formItemNames = Object.keys(rules);
|
||||||
|
for(let i=0;i<formItemNames.length;i++){
|
||||||
|
const result = await validateField(formItemNames[i]);
|
||||||
|
if (result) {
|
||||||
|
return message.error(rules[formItemNames[i]][0].log)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
state.formParam = {...state.formParam}
|
||||||
insertInTeacherCourse(state.formParam)
|
if (state.vf == false) {
|
||||||
.then((res) => {
|
updateInTeacherCourse(state.formParam).then(response => {
|
||||||
message.success("保存成功");
|
message.success("修改成功");
|
||||||
state.teacherdialog = false;
|
state.teacherdialog = false;
|
||||||
cancel()
|
cancel()
|
||||||
getTableDate();
|
getTableDate();
|
||||||
}).catch((err) => {
|
|
||||||
console.log(err);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
else {
|
||||||
.catch(() => {
|
insertInTeacherCourse(state.formParam)
|
||||||
console.log('error', error);
|
.then((res) => {
|
||||||
});
|
message.success("保存成功");
|
||||||
|
state.teacherdialog = false;
|
||||||
|
cancel()
|
||||||
|
getTableDate();
|
||||||
|
}).catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
//删除弹窗
|
//删除弹窗
|
||||||
const deleteModal = (record) => {
|
const deleteModal = (record) => {
|
||||||
@@ -778,26 +826,26 @@ const handleImport = () => {
|
|||||||
window.open(
|
window.open(
|
||||||
`${process.env.VUE_APP_BASE_API}/admin/export/exportOutTeacherRecord?pageNo=${state.searchParam.pageNo
|
`${process.env.VUE_APP_BASE_API}/admin/export/exportOutTeacherRecord?pageNo=${state.searchParam.pageNo
|
||||||
}&pageSize=${state.searchParam.pageSize}
|
}&pageSize=${state.searchParam.pageSize}
|
||||||
&userNo=${state.searchParam.userNo ? state.searchParam.userNo : ""
|
&name=${state.searchParam.name ? state.searchParam.name : ""}
|
||||||
}
|
&courseName=${state.searchParam.courseName ? state.searchParam.courseName : ""}
|
||||||
&teacher=${state.searchParam.teacher ? state.searchParam.teacher : ""
|
|
||||||
}&name=${state.searchParam.name ? state.searchParam.name : ""}
|
|
||||||
&startDate=${state.searchParam.startDate ? state.searchParam.startDate : ""}
|
|
||||||
&endDate=${state.searchParam.endDate ? state.searchParam.endDate : ""}
|
|
||||||
&entryType=${state.searchParam.entryType ? state.searchParam.entryType : ""}
|
&entryType=${state.searchParam.entryType ? state.searchParam.entryType : ""}
|
||||||
&id=${state.searchParam.id ? state.searchParam.id : ""
|
&beginTime=${state.searchParam.beginTime ? state.searchParam.beginTime : ""}
|
||||||
}&status=${state.searchParam.status ? state.searchParam.status : ""}`
|
&endTime=${state.searchParam.endTime ? state.searchParam.endTime : ""}
|
||||||
|
&courseTypeId=${state.searchParam.courseTypeId ? state.searchParam.courseTypeId : ""}
|
||||||
|
&status=${state.searchParam.status ? state.searchParam.status : ""}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
rules,
|
rules,
|
||||||
|
validateField,
|
||||||
|
sysTypeOptions,
|
||||||
formRef,
|
formRef,
|
||||||
handleImport,
|
handleImport,
|
||||||
clearNonNumber,
|
clearNonNumber,
|
||||||
managerChange,
|
managerChange,
|
||||||
entryTypeList,
|
entryTypeList,
|
||||||
searchTimeChange,
|
// searchTimeChange,
|
||||||
cancelTeachingDialog,
|
cancelTeachingDialog,
|
||||||
getTeacherExpertiseList,
|
getTeacherExpertiseList,
|
||||||
getTeacherExpertiseLista,
|
getTeacherExpertiseLista,
|
||||||
|
|||||||
@@ -892,7 +892,7 @@ export default {
|
|||||||
state.formParam.expertiseNames = state.formParam?.orgLists?.map(item => item.name).join(',')
|
state.formParam.expertiseNames = state.formParam?.orgLists?.map(item => item.name).join(',')
|
||||||
state.formParam = {...state.formParam,...state.tSystemNames}
|
state.formParam = {...state.formParam,...state.tSystemNames}
|
||||||
if (state.vf == false) {
|
if (state.vf == false) {
|
||||||
updateInTeacher(state.formParam).then(response => {
|
updateInTeacher(state.formParam).then(response => {
|
||||||
message.success("修改成功");
|
message.success("修改成功");
|
||||||
state.teacherdialog = false;
|
state.teacherdialog = false;
|
||||||
cancel()
|
cancel()
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
</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: 230px" placeholder="请选择讲师体系" v-model:value="searchParam.tSystemId"
|
<a-select style="width: 230px" placeholder="请选择讲师体系" v-model:value="searchParam.tSystemId"
|
||||||
:options="LecturerSystemList" allowClear showSearch>
|
:options="LecturerSystemList" allowClear showSearch @change="changetlevel">
|
||||||
</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">
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
<a-form-item class="select" v-if="moreid == 2">
|
<a-form-item class="select" v-if="moreid == 2">
|
||||||
|
|
||||||
|
|
||||||
<a-tree-select
|
<a-tree-select style="width: 230px"
|
||||||
:fieldNames="{
|
:fieldNames="{
|
||||||
children: 'children',
|
children: 'children',
|
||||||
label: 'name',
|
label: 'name',
|
||||||
@@ -151,18 +151,18 @@
|
|||||||
<!-- 讲师姓名 teacher 组织 orgName-->
|
<!-- 讲师姓名 teacher 组织 orgName-->
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="讲师名称" name="teacher">
|
<a-form-item label="讲师名称" name="name">
|
||||||
|
<SearchTeacher v-model:value="formParam.name" v-model:lable="formParam.orgName"
|
||||||
<SearchTeacher v-model:value="formParam.teacher" v-model:lable="formParam.orgName"
|
v-model:system="tSystemNames" v-model:level="formParam.tLevelId"></SearchTeacher>
|
||||||
v-model:system="formParam.tSystemName" v-model:level="formParam.sLevelName"></SearchTeacher>
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="讲师组织" name="orgName">
|
<a-form-item label="讲师组织" name="orgName">
|
||||||
<a-popover title="讲师组织">
|
<a-popover>
|
||||||
<template #content>
|
<template #content>
|
||||||
{{ formParam.orgName }}
|
{{ formParam.orgName }}.
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<a-input disabled v-model:value="formParam.orgName" class="draitem"
|
<a-input disabled v-model:value="formParam.orgName" class="draitem"
|
||||||
placeholder="自动带出讲师的组织,展示主要部分,鼠标浮上去展示所有" allowClear showSearch>
|
placeholder="自动带出讲师的组织,展示主要部分,鼠标浮上去展示所有" allowClear showSearch>
|
||||||
</a-input>
|
</a-input>
|
||||||
@@ -174,30 +174,20 @@
|
|||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="讲师体系" name="tSystemName">
|
<a-form-item label="讲师体系" name="tSystemName">
|
||||||
<a-popover title="讲师体系">
|
<a-input disabled v-model:value="tSystemNames.systemName" class="draitem"
|
||||||
<template #content>
|
placeholder="自动带出讲师的体系" allowClear showSearch>
|
||||||
{{ formParam.tSystemName }}
|
|
||||||
</template>
|
|
||||||
<a-input disabled v-model:value="formParam.tSystemName" class="draitem"
|
|
||||||
placeholder="自动带出讲师体系" allowClear showSearch>
|
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-popover>
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="讲师级别" name="levelId">
|
<a-form-item label="讲师级别" name="tLevelId">
|
||||||
<a-popover title="讲师级别">
|
<a-select class="draitem" v-model:value="formParam.tLevelId" placeholder="请选择讲师级别" allowClear
|
||||||
<template #content>
|
:options="tSystemNames.levelVoList" @change="handleformlevel">
|
||||||
{{ formParam.sLevelName }}
|
</a-select>
|
||||||
</template>
|
|
||||||
<a-input v-model:value="formParam.sLevelName" class="draitem"
|
|
||||||
placeholder="自动带出讲师级别" allowClear showSearch>
|
|
||||||
</a-input>
|
|
||||||
</a-popover>
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<!-- 内容分类 id 课程名称 name -->
|
<!-- 内容分类 courseTypeId 课程名称 name -->
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="内容分类" name="courseTypeId">
|
<a-form-item label="内容分类" name="courseTypeId">
|
||||||
@@ -219,8 +209,8 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="课程名称:" name="name">
|
<a-form-item label="课程名称:" name="coursename">
|
||||||
<a-input class="draitem" v-model:value="formParam.name" placeholder="请输入后搜索面授课" allowClear showSearch>
|
<a-input class="draitem" v-model:value="formParam.coursename" placeholder="请输入后搜索面授课" allowClear showSearch>
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -449,6 +439,10 @@ export default {
|
|||||||
searchdate: undefined, //选择时间
|
searchdate: undefined, //选择时间
|
||||||
beginTime: null, //开始时间
|
beginTime: null, //开始时间
|
||||||
endTime: null, //结束时间
|
endTime: null, //结束时间
|
||||||
|
tSystemNames:{
|
||||||
|
systemName:null,
|
||||||
|
levelVoList: []
|
||||||
|
},
|
||||||
formParam: {
|
formParam: {
|
||||||
courseStatus: 1,
|
courseStatus: 1,
|
||||||
createFrom: 1,
|
createFrom: 1,
|
||||||
@@ -795,6 +789,7 @@ export default {
|
|||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
managerId: null,
|
managerId: null,
|
||||||
name: null,
|
name: null,
|
||||||
|
courseName:null,
|
||||||
createFrom: null,
|
createFrom: null,
|
||||||
courseStatus:null,
|
courseStatus:null,
|
||||||
orgId: null,
|
orgId: null,
|
||||||
@@ -844,37 +839,50 @@ export default {
|
|||||||
state.teacherdialogtitle = '修改授课记录'
|
state.teacherdialogtitle = '修改授课记录'
|
||||||
state.lookTeacherId = record.teacherId
|
state.lookTeacherId = record.teacherId
|
||||||
state.vf = false
|
state.vf = false
|
||||||
TeacherSystem(record)
|
TeacherSystem1(record)
|
||||||
}
|
}
|
||||||
//保存
|
async function validateField(name) {
|
||||||
const createTeacherDialog = () => {
|
return new Promise((resolve) => {
|
||||||
formRef.value
|
formRef.value.validateFields([name])
|
||||||
.validate()
|
.then(() => {
|
||||||
.then(() => {
|
resolve(false);
|
||||||
if (state.vf == false) {
|
})
|
||||||
updateInTeacherCourse(state.formParam).then(response => {
|
.catch(() => {
|
||||||
message.success("修改成功");
|
resolve(true);
|
||||||
state.teacherdialog = false;
|
});
|
||||||
cancel()
|
});
|
||||||
getTableDate();
|
}
|
||||||
});
|
//保存
|
||||||
|
const createTeacherDialog = async () => {
|
||||||
|
state.formParam.tSystemName = state.tSystemNames.systemName
|
||||||
|
const formItemNames = Object.keys(rules);
|
||||||
|
for(let i=0;i<formItemNames.length;i++){
|
||||||
|
const result = await validateField(formItemNames[i]);
|
||||||
|
if (result) {
|
||||||
|
return message.error(rules[formItemNames[i]][0].log)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
state.formParam = {...state.formParam,...state.tSystemNames}
|
||||||
insertInTeacherCourse(state.formParam)
|
if (state.vf == false) {
|
||||||
.then((res) => {
|
updateInTeacherCourse(state.formParam).then(response => {
|
||||||
message.success("保存成功");
|
message.success("修改成功");
|
||||||
state.teacherdialog = false;
|
state.teacherdialog = false;
|
||||||
cancel()
|
cancel()
|
||||||
getTableDate();
|
getTableDate();
|
||||||
}).catch((err) => {
|
|
||||||
console.log(err);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
else {
|
||||||
.catch(() => {
|
insertInTeacherCourse(state.formParam)
|
||||||
console.log('error', error);
|
.then((res) => {
|
||||||
})
|
message.success("保存成功");
|
||||||
}
|
state.teacherdialog = false;
|
||||||
|
cancel()
|
||||||
|
getTableDate();
|
||||||
|
}).catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
//删除弹窗
|
//删除弹窗
|
||||||
const deleteModal = (record) => {
|
const deleteModal = (record) => {
|
||||||
state.deleteTeacherdialog = true
|
state.deleteTeacherdialog = true
|
||||||
@@ -927,9 +935,13 @@ export default {
|
|||||||
type: null,
|
type: null,
|
||||||
remark: null,
|
remark: null,
|
||||||
offcourseId: null,
|
offcourseId: null,
|
||||||
createFrom: null
|
createFrom: null,
|
||||||
|
|
||||||
|
}
|
||||||
|
state.tSystemNames = {
|
||||||
|
systemName:null,
|
||||||
|
levelVoList: []
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// //页面内部姓名
|
// //页面内部姓名
|
||||||
// const infoteacherList = ref([
|
// const infoteacherList = ref([
|
||||||
@@ -963,32 +975,36 @@ export default {
|
|||||||
state.teachingdialog = false;
|
state.teachingdialog = false;
|
||||||
}
|
}
|
||||||
//内部授课详情
|
//内部授课详情
|
||||||
const TeacherSystem = (record) => {
|
// const TeacherSystem = (record) => {
|
||||||
state.formParam = {
|
// state.formParam = {
|
||||||
recordType: 1,
|
// recordType: 1,
|
||||||
name: record.name,
|
// name: record.name,
|
||||||
userNo: record.userNo,
|
// userNo: record.userNo,
|
||||||
orgName: record.orgName,
|
// orgName: record.orgName,
|
||||||
tSystemName: record.tSystemName,
|
// tSystemName: record.tSystemName,
|
||||||
levelId: record.levelId,
|
// levelId: record.levelId,
|
||||||
type: record.type,
|
// type: record.type,
|
||||||
courseName: record.courseName,
|
// courseName: record.courseName,
|
||||||
courseStatus:record.courseStatus,
|
// courseStatus:record.courseStatus,
|
||||||
beginTime: dayjs(record.beginTime, 'YYYY-MM-DD'),
|
// beginTime: dayjs(record.beginTime, 'YYYY-MM-DD'),
|
||||||
// ref< moment.Moment >(moment(record.beginTime,'YYYY-MM-DD')),
|
// // ref< moment.Moment >(moment(record.beginTime,'YYYY-MM-DD')),
|
||||||
// record.beginTime,
|
// // record.beginTime,
|
||||||
duration: record.duration,
|
// duration: record.duration,
|
||||||
score: record.score,
|
// score: record.score,
|
||||||
studys: record.studys,
|
// studys: record.studys,
|
||||||
remark: record.remark,
|
// remark: record.remark,
|
||||||
createFrom: record.createFrom
|
// createFrom: record.createFrom
|
||||||
}
|
// }
|
||||||
console.log(state.formParam)
|
// console.log(state.formParam)
|
||||||
}
|
// }
|
||||||
//内部授课详情
|
//内部授课详情
|
||||||
const TeacherSystem1 = (record) => {
|
const TeacherSystem1 = (record) => {
|
||||||
getTeacherCourseList({id:record.id}).then((res) => {
|
getTeacherCourseList({id:record.id}).then((res) => {
|
||||||
state.formParam = res.data.data
|
state.formParam = res.data.data
|
||||||
|
state.tSystemNames.systemName = res.data.data.tSystemName
|
||||||
|
state.tSystemNames.systemCode = res.data.data.systemCode
|
||||||
|
state.tSystemNames.systemId = res.data.data.systemId
|
||||||
|
state.tSystemNames.levelVoList = res.data.data.levelVoList
|
||||||
console.log( state.formParam);
|
console.log( state.formParam);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
@@ -1075,56 +1091,26 @@ export default {
|
|||||||
}
|
}
|
||||||
const tableDatas = ref([])
|
const tableDatas = ref([])
|
||||||
const rules = {
|
const rules = {
|
||||||
teacher: [{ required: true, message: '讲师不能为空' }],
|
teacher: [{ required: true, message:'',log: '讲师不能为空' }],
|
||||||
orgName: [{ required: true, message: '讲师组织不能为空' }],
|
orgName: [{ required: true, message: '',log:'讲师组织不能为空' }],
|
||||||
levelId: [{ required: true, message: '讲师级别不能为空' }],
|
levelId: [{ required: true, message: '',log:'讲师级别不能为空' }],
|
||||||
tSystemName: [{ required: true, message: '讲师体系不能为空' }],
|
tSystemName: [{ required: true, message: '',log:'讲师体系不能为空' }],
|
||||||
id: [{ required: true, message: '内容分类不能为空' }],
|
id: [{ required: true, message: '',log:'内容分类不能为空' }],
|
||||||
courseName: [{ required: true, message: '课程名称不能为空' }],
|
courseName: [{ required: true, message: '',log:'课程名称不能为空' }],
|
||||||
beginTime: [{ required: true, message: '授课/课程日期不能为空' }],
|
beginTime: [{ required: true, message: '',log:'授课/课程日期不能为空' }],
|
||||||
duration: [{ required: true, message: '授课时长不能为空' }],
|
duration: [{ required: true, message:'',log: '授课时长不能为空' }],
|
||||||
courseStatus: [{ required: true, message: '开课状态不能为空' }],
|
courseStatus: [{ required: true, message: '',log:'开课状态不能为空' }],
|
||||||
}
|
|
||||||
const rule = () => {
|
|
||||||
// if (state.formParam.teacher == null) {
|
|
||||||
// state.log = true
|
|
||||||
// message.warning('讲师不能为空')
|
|
||||||
// }
|
|
||||||
// if (state.formParam.orgName == null) {
|
|
||||||
// state.log = true
|
|
||||||
// message.warning('组织不能为空')
|
|
||||||
// }
|
|
||||||
// if (state.formParam.levelId == null) {
|
|
||||||
// state.log = true
|
|
||||||
// message.warning('讲师级别不能为空')
|
|
||||||
// }
|
|
||||||
// if (state.formParam.tSystemName == null) {
|
|
||||||
// state.log = true
|
|
||||||
// message.warning('讲师体系不能为空')
|
|
||||||
// }
|
|
||||||
// if (state.formParam.name == null) {
|
|
||||||
// state.log = true
|
|
||||||
// message.warning('课程名称不能为空')
|
|
||||||
// }
|
|
||||||
// if (state.formParam.beginTime == null) {
|
|
||||||
// state.log = true
|
|
||||||
// message.warning('授课/课程日期不能为空')
|
|
||||||
// }
|
|
||||||
// if (state.formParam.defaultteachingTime == null) {
|
|
||||||
// state.log = true
|
|
||||||
// message.warning('授课时长不能为空')
|
|
||||||
// }
|
|
||||||
// if (state.formParam.status == null) {
|
|
||||||
// state.log = true
|
|
||||||
// message.warning('开课状态不能为空')
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// function managerChange(e, l, d, t, orgName) {
|
// function managerChange(e, l, d, t, orgName) {
|
||||||
// console.log(e, l);
|
// console.log(e, l);
|
||||||
// state.searchParam.userNo = d;
|
// state.searchParam.userNo = d;
|
||||||
// state.searchParam.name = t;
|
// state.searchParam.name = t;
|
||||||
// // state.searchParam.trainorgName=orgName
|
// // state.searchParam.trainorgName=orgName
|
||||||
// }
|
// }
|
||||||
|
const handleformlevel = (val) => {
|
||||||
|
state.formParam.tlevelName = state.tSystemNames.levelVoList.find(item=>item.id===val)?.levelName
|
||||||
|
}
|
||||||
//导出功能
|
//导出功能
|
||||||
const handleExport = () => {
|
const handleExport = () => {
|
||||||
window.open(
|
window.open(
|
||||||
@@ -1133,16 +1119,15 @@ export default {
|
|||||||
&recordType=1
|
&recordType=1
|
||||||
&name=${state.searchParam.name ? state.searchParam.name : ""}
|
&name=${state.searchParam.name ? state.searchParam.name : ""}
|
||||||
&courseName=${state.searchParam.courseName ? state.searchParam.courseName : ""}
|
&courseName=${state.searchParam.courseName ? state.searchParam.courseName : ""}
|
||||||
&departId=${state.searchParam.departId ? state.searchParam.departId : ""}
|
&createFrom=${state.searchParam.createFrom ? state.searchParam.createFrom : ""}
|
||||||
|
&courseStatus=${state.searchParam.courseStatus ? state.searchParam.courseStatus : ""}
|
||||||
&tSystemId=${state.searchParam.tSystemId ? state.searchParam.tSystemId : ""}
|
&tSystemId=${state.searchParam.tSystemId ? state.searchParam.tSystemId : ""}
|
||||||
&beginTime=${state.searchParam.beginTime ? state.searchParam.beginTime : ""}
|
&beginTime=${state.searchParam.beginTime ? state.searchParam.beginTime : ""}
|
||||||
&endTime=${state.searchParam.endTime ? state.searchParam.endTime : ""}
|
&endTime=${state.searchParam.endTime ? state.searchParam.endTime : ""}
|
||||||
&createFrom=${state.searchParam.createFrom ? state.searchParam.createFrom : ""}
|
&orgId=${state.searchParam.orgId ? state.searchParam.orgId : ""}
|
||||||
&id=${state.searchParam.id ? state.searchParam.id : ""}
|
&courseTypeId=${state.searchParam.courseTypeId ? state.searchParam.courseTypeId : ""}
|
||||||
&type=${state.searchParam.type ? state.searchParam.type : ""}
|
|
||||||
&status=${state.searchParam.status ? state.searchParam.status : ""}
|
|
||||||
&studysranges=${state.searchParam.studysranges ? state.searchParam.studysranges : ""}
|
|
||||||
&scoreranges=${state.searchParam.scoreranges ? state.searchParam.scoreranges : ""}
|
&scoreranges=${state.searchParam.scoreranges ? state.searchParam.scoreranges : ""}
|
||||||
|
&studysranges=${state.searchParam.studysranges ? state.searchParam.studysranges : ""}
|
||||||
`)
|
`)
|
||||||
console.log(state.searchParam.name,state.searchParam,'参数')
|
console.log(state.searchParam.name,state.searchParam,'参数')
|
||||||
}
|
}
|
||||||
@@ -1192,13 +1177,14 @@ export default {
|
|||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
sysTypeOptions,
|
sysTypeOptions,
|
||||||
|
validateField,
|
||||||
|
handleformlevel,
|
||||||
// managerChange,
|
// managerChange,
|
||||||
clearNonNumber,
|
clearNonNumber,
|
||||||
clearscoreNumber,
|
clearscoreNumber,
|
||||||
clearstudysNumber,
|
clearstudysNumber,
|
||||||
beforeUpload2,
|
beforeUpload2,
|
||||||
rules,
|
rules,
|
||||||
rule,
|
|
||||||
formRef,
|
formRef,
|
||||||
column,
|
column,
|
||||||
tableDatas,
|
tableDatas,
|
||||||
@@ -1229,7 +1215,7 @@ export default {
|
|||||||
getTableDate, //list接口数据调用
|
getTableDate, //list接口数据调用
|
||||||
// getStu
|
// getStu
|
||||||
LecturerSystemLista,
|
LecturerSystemLista,
|
||||||
TeacherSystem,
|
// TeacherSystem,
|
||||||
TeacherSystem1,
|
TeacherSystem1,
|
||||||
getOrganizationLista,
|
getOrganizationLista,
|
||||||
getOrganizationList,
|
getOrganizationList,
|
||||||
|
|||||||
@@ -154,14 +154,13 @@
|
|||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="讲师名称" name="teacher">
|
<a-form-item label="讲师名称" name="teacher">
|
||||||
<SearchTeacher v-model:value="formParam.teacher" v-model:lable="formParam.orgName"
|
<SearchTeacher v-model:value="formParam.name" v-model:lable="formParam.orgName"
|
||||||
v-model:system="formParam.systemName" v-model:level="formParam.levelName"></SearchTeacher>
|
v-model:system="tSystemNames" v-model:level="formParam.tLevelId"></SearchTeacher>
|
||||||
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="讲师工号" name="teacherNo">
|
<a-form-item label="讲师工号" name="name">
|
||||||
<a-input class="draitem" v-model:value="searchParam.teacherNo" disabled
|
<a-input class="draitem" v-model:value="searchParam.name" disabled
|
||||||
placeholder="请输入后讲师工号" allowClear showSearch>
|
placeholder="请输入后讲师工号" allowClear showSearch>
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -171,34 +170,37 @@
|
|||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="讲师组织" name="departId">
|
<a-form-item label="讲师组织" name="departId">
|
||||||
<a-popover title="讲师组织">
|
<a-form-item label="讲师组织" name="orgName">
|
||||||
<template #content>
|
<a-popover>
|
||||||
{{ formParam.departId }}
|
<template #content>
|
||||||
</template>
|
{{ formParam.orgName }}.
|
||||||
<a-input disabled v-model:value="formParam.departId" class="draitem"
|
</template>
|
||||||
placeholder="自动带出讲师的组织,展示主要部分,鼠标浮上去展示所有" allowClear showSearch>
|
|
||||||
</a-input>
|
<a-input disabled v-model:value="formParam.orgName" class="draitem"
|
||||||
</a-popover>
|
placeholder="自动带出讲师的组织,展示主要部分,鼠标浮上去展示所有" allowClear showSearch>
|
||||||
|
</a-input>
|
||||||
|
</a-popover>
|
||||||
|
</a-form-item>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="讲师体系" name="systemId">
|
<a-form-item label="讲师体系" name="tSystemName">
|
||||||
<a-select disabled class="draitem" v-model:value="formParam.tsystemid" placeholder="请选择讲师体系"
|
<!-- <a-select class="draitem" v-model:value="formParam.tSystemName" placeholder="请选择讲师体系" allowClear
|
||||||
:options="lecturerSystemList">
|
@change="changetlevel" .:options="LecturerSystemList">
|
||||||
</a-select>
|
</a-select> -->
|
||||||
</a-form-item>
|
<a-input disabled v-model:value="tSystemNames.systemName" class="draitem"
|
||||||
|
placeholder="自动带出讲师的体系" allowClear showSearch>
|
||||||
|
</a-input>
|
||||||
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<!-- 讲师级别 levelId 讲师发薪地 payrollPlaceName-->
|
<!-- 讲师级别 levelId 讲师发薪地 payrollPlaceName-->
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="讲师级别" name="levelName">
|
<a-form-item label="讲师级别" name="tLevelId">
|
||||||
<!-- <a-select disabled class="draitem" v-model:value="formParam.levelId" placeholder="请选择讲师级别"
|
<a-select class="draitem" v-model:value="formParam.tLevelId" placeholder="请选择讲师级别" allowClear
|
||||||
:options="getLevelList">
|
:options="tSystemNames.levelVoList" @change="handleformlevel">
|
||||||
</a-select> -->
|
</a-select>
|
||||||
<a-input disabled v-model:value="formParam.levelName" class="draitem"
|
|
||||||
placeholder="自动带出讲师的级别" allowClear showSearch>
|
|
||||||
</a-input>
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
@@ -362,7 +364,7 @@
|
|||||||
<a-descriptions-item label="费用类型">"费用类型(未命名)"</a-descriptions-item>
|
<a-descriptions-item label="费用类型">"费用类型(未命名)"</a-descriptions-item>
|
||||||
<a-descriptions-item label="课程类型">{{formParam.courseType==1?'项目开课' :formParam.courseType==2 ?'路径开课':formParam.courseType==3 ?'面授开课':''}}</a-descriptions-item>
|
<a-descriptions-item label="课程类型">{{formParam.courseType==1?'项目开课' :formParam.courseType==2 ?'路径开课':formParam.courseType==3 ?'面授开课':''}}</a-descriptions-item>
|
||||||
<a-descriptions-item label="课程名称">{{formParam.courseName}}</a-descriptions-item>
|
<a-descriptions-item label="课程名称">{{formParam.courseName}}</a-descriptions-item>
|
||||||
<a-descriptions-item label="授课时长 ">{{formParam.teachingTime}}</a-descriptions-item>
|
<a-descriptions-item label="授课时长 ">{{formParam.teachingDate}}</a-descriptions-item>
|
||||||
<a-descriptions-item label="授课/课程日期 ">{{formParam.teachingDate}}</a-descriptions-item>
|
<a-descriptions-item label="授课/课程日期 ">{{formParam.teachingDate}}</a-descriptions-item>
|
||||||
<a-descriptions-item label="参训人数 ">{{formParam.studys}}</a-descriptions-item>
|
<a-descriptions-item label="参训人数 ">{{formParam.studys}}</a-descriptions-item>
|
||||||
<a-descriptions-item label="评分 ">{{formParam.score}}</a-descriptions-item>
|
<a-descriptions-item label="评分 ">{{formParam.score}}</a-descriptions-item>
|
||||||
@@ -518,7 +520,11 @@
|
|||||||
status:null,
|
status:null,
|
||||||
pageNo: "1",
|
pageNo: "1",
|
||||||
pageSize: "10",
|
pageSize: "10",
|
||||||
}
|
},
|
||||||
|
tSystemNames:{
|
||||||
|
systemName:null,
|
||||||
|
levelVoList: []
|
||||||
|
},
|
||||||
})
|
})
|
||||||
//费用类型
|
//费用类型
|
||||||
const courseTypeList=ref([
|
const courseTypeList=ref([
|
||||||
@@ -557,7 +563,7 @@
|
|||||||
};
|
};
|
||||||
array.push(obj);
|
array.push(obj);
|
||||||
});
|
});
|
||||||
LecturerSystemList.value = array;
|
lecturerSystemList.value = array;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -889,35 +895,47 @@ console.log( "讲师体系id" +val);
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
//保存
|
async function validateField(name) {
|
||||||
const createTeacherDialog = () => {
|
return new Promise((resolve) => {
|
||||||
state.formParam.teachingDate= state.formParam.teachingDate!==null? dayjs(new Date(state.formParam.teachingDate).getTime()).format("YYYY-MM-DD"): "",
|
formRef.value.validateFields([name])
|
||||||
formRef.value
|
.then(() => {
|
||||||
.validate()
|
resolve(false);
|
||||||
.then(() => {
|
})
|
||||||
if (state.vf == false) {
|
.catch(() => {
|
||||||
updateTeacherFee(state.formParam).then(response => {
|
resolve(true);
|
||||||
message.success("修改成功");
|
});
|
||||||
state.teacherdialog = false;
|
});
|
||||||
cancel()
|
}
|
||||||
getTableDate();
|
//保存
|
||||||
});
|
const createTeacherDialog = async () => {
|
||||||
|
state.formParam.tSystemName = state.tSystemNames.systemName
|
||||||
|
const formItemNames = Object.keys(rules);
|
||||||
|
for(let i=0;i<formItemNames.length;i++){
|
||||||
|
const result = await validateField(formItemNames[i]);
|
||||||
|
if (result) {
|
||||||
|
return message.error(rules[formItemNames[i]][0].log)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
state.formParam = {...state.formParam,...state.tSystemNames}
|
||||||
addTeacherFee(state.formParam)
|
if (state.vf == false) {
|
||||||
.then((res) => {
|
updateTeacherFee(state.formParam).then(response => {
|
||||||
message.success("保存成功");
|
message.success("修改成功");
|
||||||
state.teacherdialog = false;
|
state.teacherdialog = false;
|
||||||
cancel()
|
cancel()
|
||||||
getTableDate();
|
getTableDate();
|
||||||
}).catch((err) => {
|
|
||||||
console.log(err);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
else {
|
||||||
.catch(() => {
|
addTeacherFee(state.formParam)
|
||||||
console.log('error', error);
|
.then((res) => {
|
||||||
});
|
message.success("保存成功");
|
||||||
|
state.teacherdialog = false;
|
||||||
|
cancel()
|
||||||
|
getTableDate();
|
||||||
|
}).catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
//删除弹窗
|
//删除弹窗
|
||||||
// const deleteModal = (record) => {
|
// const deleteModal = (record) => {
|
||||||
@@ -988,7 +1006,7 @@ console.log( "讲师体系id" +val);
|
|||||||
tsystemid:null,
|
tsystemid:null,
|
||||||
levelId:null,
|
levelId:null,
|
||||||
payrollPlaceName:null,
|
payrollPlaceName:null,
|
||||||
// 费用类型 : null
|
tSystemName: null,
|
||||||
teacherpayrollPlace:null,
|
teacherpayrollPlace:null,
|
||||||
teachingDate:null,
|
teachingDate:null,
|
||||||
defaultTeachingTime:null,
|
defaultTeachingTime:null,
|
||||||
@@ -1073,26 +1091,26 @@ console.log( "讲师体系id" +val);
|
|||||||
state.formParam.defaultTeachingTime = state.formParam.defaultTeachingTime.replace(/\D/g, '');
|
state.formParam.defaultTeachingTime = state.formParam.defaultTeachingTime.replace(/\D/g, '');
|
||||||
}
|
}
|
||||||
const rules = {
|
const rules = {
|
||||||
name: [{ required: true, message: '讲师不能为空' }],
|
name: [{ required: true, message:'',log: '讲师不能为空' }],
|
||||||
teacherNo: [{ required: true, message: '讲师工号不能为空' }],
|
teacherNo: [{ required: true, message: '',log:'讲师工号不能为空' }],
|
||||||
departId: [{ required: true, message: '讲师组织不能为空' }],
|
departId: [{ required: true, message: '',log:'讲师组织不能为空' }],
|
||||||
systemId: [{ required: true, message: '讲师体系不能为空' }],
|
tSystemName: [{ required: true, message:'',log: '讲师体系不能为空' }],
|
||||||
levelName: [{ required: true, message: ' 讲师级别 不能为空' }],
|
tLevelId: [{ required: true, message:'',log: ' 讲师级别 不能为空' }],
|
||||||
payrollPlaceName: [{ required: true, message: '讲师发薪地 不能为空' }],
|
payrollPlaceName: [{ required: true, message:'',log: '讲师发薪地 不能为空' }],
|
||||||
courseType: [{ required: true, message: '费用类型不能为空' }],
|
courseType: [{ required: true, message: '',log:'费用类型不能为空' }],
|
||||||
courseName: [{ required: true, message: '课程名称不能为空' }],
|
courseName: [{ required: true, message:'',log: '课程名称不能为空' }],
|
||||||
teachingDate: [{ required: true, message: '授课日期不能为空' }],
|
teachingDate: [{ required: true, message:'',log: '授课日期不能为空' }],
|
||||||
defaultTeachingTime: [{ required: true, message: ' 授课时长不能为空' }],
|
defaultTeachingTime: [{ required: true, message:'',log: ' 授课时长不能为空' }],
|
||||||
studys: [{ required: true, message: ' 参训人数不能为空' }],
|
studys: [{ required: true, message: '',log:' 参训人数不能为空' }],
|
||||||
score: [{ required: true, message: ' 评分不能为空' }],
|
score: [{ required: true, message:'',log: ' 评分不能为空' }],
|
||||||
score: [{ required: true, message: '课酬基准 不能为空' }],
|
score: [{ required: true, message:'',log: '课酬基准 不能为空' }],
|
||||||
expense: [{ required: true, message: '计划费用不能为空' }],
|
expense: [{ required: true, message: '',log:'计划费用不能为空' }],
|
||||||
|
|
||||||
}
|
}
|
||||||
function managerChange(e, l, d, t, orgName) {
|
function managerChange(e, l, d, t, orgName) {
|
||||||
console.log(e, l);
|
console.log(e, l);
|
||||||
state.searchParam.teacherNo = d;
|
state.searchParam.teacherNo = d;
|
||||||
state.searchParam.teacherName = t;
|
state.searchParam.teacherNo = t;
|
||||||
// state.searchParam.trainorgName=orgName
|
// state.searchParam.trainorgName=orgName
|
||||||
}
|
}
|
||||||
const handleImport = () => {
|
const handleImport = () => {
|
||||||
@@ -1298,12 +1316,15 @@ const column = ref([
|
|||||||
},
|
},
|
||||||
|
|
||||||
])
|
])
|
||||||
|
const handleformlevel = (val) => {
|
||||||
|
state.formParam.tlevelName = state.tSystemNames.levelVoList.find(item=>item.id===val)?.levelName
|
||||||
|
}
|
||||||
//导出功能
|
//导出功能
|
||||||
const handleExport = ()=>{
|
const handleExport = ()=>{
|
||||||
window.open (
|
window.open (
|
||||||
`${process.env.VUE_APP_BASE_API}/admin/export/exportTeacherExpense?pageNo=${
|
`${process.env.VUE_APP_BASE_API}/admin/export/exportTeacherExpense?pageNo=${
|
||||||
state.searchParam.pageNo
|
state.searchParam.pageNo
|
||||||
}&pageSize=${state.searchParam.pageSizess}&name=${
|
}&pageSize=${state.searchParam.pageSize}&name=${
|
||||||
state.searchParam.name ? state.searchParam.name : ""
|
state.searchParam.name ? state.searchParam.name : ""
|
||||||
}&tsystemid=${ state.searchParam.tsystemid ? state.searchParam.tsystemid : ""}&levelId=${
|
}&tsystemid=${ state.searchParam.tsystemid ? state.searchParam.tsystemid : ""}&levelId=${
|
||||||
state.searchParam.levelId ? state.searchParam.levelId : ""
|
state.searchParam.levelId ? state.searchParam.levelId : ""
|
||||||
@@ -1396,6 +1417,8 @@ const column = ref([
|
|||||||
searchResetdrawer,
|
searchResetdrawer,
|
||||||
column,
|
column,
|
||||||
tableDatas,
|
tableDatas,
|
||||||
|
handleformlevel,
|
||||||
|
validateField,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -234,7 +234,7 @@ export default {
|
|||||||
const columns = ref([
|
const columns = ref([
|
||||||
{
|
{
|
||||||
title: '编号 ',
|
title: '编号 ',
|
||||||
dataIndex: 'billNo',
|
dataIndex: 'teacherId',
|
||||||
key: 'billNo',
|
key: 'billNo',
|
||||||
elipsis: true,
|
elipsis: true,
|
||||||
align: "center",
|
align: "center",
|
||||||
@@ -330,7 +330,7 @@ export default {
|
|||||||
obj.beginTime = lastMonthStart.toISOString().split('T')[0];
|
obj.beginTime = lastMonthStart.toISOString().split('T')[0];
|
||||||
obj.endTime = lastMonthEnd.toISOString().split('T')[0];
|
obj.endTime = lastMonthEnd.toISOString().split('T')[0];
|
||||||
getTeacherFeeList(obj).then((res)=>{
|
getTeacherFeeList(obj).then((res)=>{
|
||||||
tableData.value = res.data.data
|
tableData.value = res.data.data.records
|
||||||
state.tableDataTotal = Number(res.data.data.total);
|
state.tableDataTotal = Number(res.data.data.total);
|
||||||
state.tableLoading = false
|
state.tableLoading = false
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user