@@ -365,18 +356,20 @@ import dayjs from "dayjs";
// import Editor from "@/components/project/Editor";
import ProjectManager from "@/components/project/ProjectManagerNew";
import { message } from "ant-design-vue";
-import { getTeacherSystemList, infoteacher, getTeacherExpertise, deleteInTeacherCourse } from "../../api/Lecturer";
-import { getNewInTeacherCourseList, getOrganization, getTeacherCourseList, insertInTeacherCourse, updateInTeacherCourse ,getCharges} from "../../api/Teaching";
+import { getTeacherSystemList, infoteacher, getTeacherExpertise } from "../../api/Lecturer";
+import { getNewInTeacherCourseList, getOrganization, getTeacherCourseList, insertInTeacherCourse, updateInTeacherCourse, getCharges, deleteInTeacherCourse } from "../../api/Teaching";
// import AddTeacher from "../../components/drawers/project/AddTeacher"
import ImportWork from "../../components/project/ImportWork.vue";
-import { fileUp } from "../../api/Lecturer";
-export default {
+import { fileUp } from "../../api/Lecturer";
+import SearchTeacher from "@/components/project/SearchTeacher";
+export default {
name: "InsideTeaching",
components: {
// AddTeacher,
// Editor,
// Upload,
ImportWork,
+ SearchTeacher,
// Editor,
// ImageUpload
ProjectManager,
@@ -389,8 +382,10 @@ export default {
setup() {
const router = useRouter();
const state = reactive({
- moreid:1,
- vf:false,
+ moreid: 1,
+ vf: false,
+ log: false,
+ close: false,
showWork: false,
currentPage1: 1,
pageSize1: 10,
@@ -402,31 +397,32 @@ export default {
teacherdialog1: null,
teacherdialog: false, //控制讲师弹窗
teacherdialogtitle: '',//讲师弹框title内容
- teachingdialog:false,//控制查看抽屉
+ teachingdialog: false,//控制查看抽屉
pageSizeOptions: ['10', '20', '30', '50'], //下拉选择每页显示多少条
pageSize: 10,
tableDataTotal: -1,//table列表总条数
searchdate: null, //选择时间
- startTime: null, //开始时间
- endTime: null, //结束时间
+ startDate: null, //开始时间
+ endDate: null, //结束时间
formParam: {
status: 1,
- entryType:1,
- duration:0
+ entryType: 1,
+ duration: 0
},
searchParam: {
- teacherType:'0',
+ teacherType: '0',
// userNo: null,//工号姓名
// teacher:null,
- teacherNameOrUserNo:null,
+ teacherNameOrUserNo: null,
name: null,//课程编号
tsystemName: null,//讲师体系
payrollPlaceName: null,//发薪地
- entryType:null,
+ entryType: null,
pageNo: "1",
pageSize: "10",
startDate: null,
endDate: null,
+ beginTime: null,
},
})
@@ -506,10 +502,61 @@ export default {
{ value: 0, label: "未开课" },
{ value: 1, label: "已开课" },
])
- const entryTypeList= ref([
- { value:0 ,label:"系统生成"},
- { value:1 ,label:"手动录入"},
+ const entryTypeList = ref([
+ { value: 0, label: "系统生成" },
+ { value: 1, label: "手动录入" },
])
+ const scoreList = ref([
+ { value: '', label: "全部" },
+ { value: '90-100', label: "90~100" },
+ { value: '80-90', label: "80~90" },
+ { value: '70-80', label: "70~80" },
+ { value: '60-70', label: "60~70" },
+ { value: '10-50', label: "10~50" },
+ ])
+ const studysList = ref([
+ { value: '0-30', label: "0~30" },
+ { value: '0-50', label: "0~50" },
+ { value: '0-70', label: "0~70" },
+ { value: '0-100', label: "0~100" },
+ { value: '0-150', label: "0~150" },
+ { value: '0-200', label: "0~200" },
+ { value: '0-300', label: "0~300 " },
+ ])
+ const scoreChange = (e) => {
+ if(e.length!==0){
+ e.map((item)=>{
+ if(item !== ''){
+ scoreList.value.map((item) => {
+ item.disabled = false
+ })
+ }
+ else {
+ scoreList.value.map((item) => {
+ if (item.value !== '') {
+ item.disabled = true
+ }
+ })
+ }
+ })}
+ else{
+ scoreList.value.map((item) => {
+ item.disabled = false
+ })
+ }
+ // if (e == '0') {
+ // scoreList.value.map((item) => {
+ // if (item.value !== '0') {
+ // item.disabled = true
+ // }
+ // })
+ // }
+ // else {
+ // scoreList.value.map((item) => {
+ // item.disabled = false
+ // })
+ // }
+ }
const columns = ref([
{
@@ -556,7 +603,7 @@ export default {
customRender: (value) => {
return (
- {value.record.entryType == "1" || value.record.entryType == "2"
+ {value.record.entryType == "1" || value.record.entryType == "2"
? {
"0": "系统生成",
"1": "手动录入",
@@ -692,6 +739,8 @@ export default {
state.searchParam.trainorgId = null
state.searchParam.systemId = null
state.searchParam.id = null
+ state.searchParam.scoreranges = null
+ state.searchParam.studysranges = []
}
}
// 搜索
@@ -700,30 +749,37 @@ export default {
};
//修改时间
const searchTimeChange = (e, date) => {
- let startTime = date[0] + " 00:00:00";
- let endTime = date[1] + " 23:59:59";
- state.startTime = new Date(startTime).getTime();
- state.endTime = new Date(endTime).getTime();
+ let startDate = date[0] + " 00:00:00";
+ let endDate = date[1] + " 23:59:59";
+ state.startDate = new Date(startDate).getTime();
+ state.endDate = new Date(endDate).getTime();
// state.searchParam.startDate = new Date(startDate).getTime() ;
// state.searchParam.endDate = new Date(endDate).getTime() ;
- state.searchParam.startDate = state.startTime ? state.startTime : null,
- state.searchParam.endDate = state.endTime ? state.endTime : null
+ state.searchParam.startDate = state.startDate ? state.startDate : null,
+ state.searchParam.endDate = state.endDate ? state.endDate : null
+ };
+ const editTimeChange = (e, date) => {
+ console.log(date);
+ state.beginTime = date;
+ // console.log(date, state.searchParam.startDate, state.searchParam.endDate);
};
//重置
const searchReset = () => {
state.searchParam = {
- teacherType:'0',
- pageNo: 1,
+ teacherType: '0',
+ pageNo: 1,
pageSize: 10,
managerId: null,
teacherNameOrUserNo: null,
entryType: null,
status: null,
- trainorgId:null,
- systemId:null,
- endDate:null,
- startDate:null,
- entryType:null
+ trainorgId: null,
+ systemId: null,
+ endDate: null,
+ startDate: null,
+ entryType: null,
+ studysranges: [],
+ score: null
};
getTableDate();
};
@@ -767,22 +823,28 @@ export default {
}
//保存
const createTeacherDialog = () => {
- if (state.vf==false) {
- updateInTeacherCourse(state.formParam).then(response => {
- message.success("修改成功");
- });
+ rule()
+ if (state.log = true) {
+ state.teacherdialog = true;
}
else {
- insertInTeacherCourse(state.formParam)
- .then((res) => {
- message.success("保存成功");
- }).catch((err) => {
- console.log(err);
+ if (state.vf == false) {
+ updateInTeacherCourse(state.formParam).then(response => {
+ message.success("修改成功");
});
- cancel()
+ }
+ else {
+ insertInTeacherCourse(state.formParam)
+ .then((res) => {
+ message.success("保存成功");
+ }).catch((err) => {
+ console.log(err);
+ });
+ cancel()
+ }
+ getTableDate();
+ state.teacherdialog = false
}
- getTableDate();
- state.teacherdialog = false
}
//删除弹窗
const deleteModal = (record) => {
@@ -794,7 +856,11 @@ export default {
//确认删除
const closeDeleteTeacher = () => {
//调用删除接口
- deleteInTeacherCourse(state.delTeacherId).then((res) => {
+ let obj = {
+ offcourseId: state.delTeacherId,
+ teacherType: '0'
+ }
+ deleteInTeacherCourse(obj).then((res) => {
if (res.data.code == 200) {
message.success("删除成功");
state.deleteTeacherdialog = false
@@ -815,20 +881,21 @@ export default {
//清空数据
const cancel = () => {
state.formParam = {
- name: null,
+ teacherType: '0',
+ teacher: null,
departId: null,
- systemId:null,
+ systemId: null,
levelId: null,
- name:null,
- duration:0,
- endDate:null,
- startDate:null,
+ name: null,
+ duration: 0,
+ endDate: null,
+ startDate: null,
studys: null,
score: null,
type: null,
remark: null,
offcourseId: null,
- entryType:null
+ entryType: null
}
}
@@ -862,7 +929,7 @@ export default {
// router.push({ path: '/insideteachingdetail', query: { id } })
// router.push({ path: '/InsideTeachingDetail' })
}
- const cancelTeachingDialog =()=>{
+ const cancelTeachingDialog = () => {
state.teachingdialog = false;
}
//内部授课详情
@@ -875,10 +942,11 @@ export default {
// console.log("内部授课详情", err);
// });
state.formParam = {
- name: record.name,
+ teacherType: '0',
+ teacher: record.teacher,
userNo: record.userNo,
- departId:record.departId,
- systemId:record.systemId,
+ departId: record.departId,
+ systemId: record.systemId,
levelId: record.levelId,
type: record.type,
name: record.name,
@@ -890,72 +958,72 @@ export default {
score: record.score,
studys: record.studys,
remark: record.remark,
- entryType:record.entryType
+ entryType: record.entryType
}
console.log(state.formParam)
}
- const column = ref([ {
- title: '基准课酬 ',
- dataIndex: 'levelPay',
- key: 'levelPay',
- elipsis: true, align: "center",
- width: 120,
- }, {
- title: '计划费用 ',
- dataIndex: 'expense',
- key: 'expense',
- elipsis: true, align: "center",
- width: 120,
- },
- {
- title: '应发费用 ',
- dataIndex: 'payableExpense',
- key: 'payableExpense',
- elipsis: true, align: "center",
- width: 120,
- },
- {
- title: '状态 ',
- dataIndex: 'status',
- key: 'status',
- elipsis: true, align: "center",
- width: 120,
- customRender: (value) => {
- return (
-
- {value.record.status == "A10" || value.record.status == "A20" ||value.record.status == "A30" ||value.record.status == "E10"||value.record.status == "S20"
- ? {
- "A10": "待审核",
- "A20": "已提交",
- "A30": "审核中",
- "E10": "审核打回",
- "S20": "审核通过",
- }[value.record.status + ""] || ""
- : "-"}
-
- )
- }
- },
- {
- title: '操作 ',
- dataIndex: 'operation',
- key: 'operation',
+ const column = ref([{
+ title: '基准课酬 ',
+ dataIndex: 'levelPay',
+ key: 'levelPay',
+ elipsis: true, align: "center",
+ width: 120,
+ }, {
+ title: '计划费用 ',
+ dataIndex: 'expense',
+ key: 'expense',
+ elipsis: true, align: "center",
+ width: 120,
+ },
+ {
+ title: '应发费用 ',
+ dataIndex: 'payableExpense',
+ key: 'payableExpense',
+ elipsis: true, align: "center",
+ width: 120,
+ },
+ {
+ title: '状态 ',
+ dataIndex: 'status',
+ key: 'status',
+ elipsis: true, align: "center",
+ width: 120,
+ customRender: (value) => {
+ return (
+
+ {value.record.status == "A10" || value.record.status == "A20" || value.record.status == "A30" || value.record.status == "E10" || value.record.status == "S20"
+ ? {
+ "A10": "待审核",
+ "A20": "已提交",
+ "A30": "审核中",
+ "E10": "审核打回",
+ "S20": "审核通过",
+ }[value.record.status + ""] || ""
+ : "-"}
+
+ )
+ }
+ },
+ {
+ title: '操作 ',
+ dataIndex: 'operation',
+ key: 'operation',
elipsis: true, align: "right",
- width: 400,
- scopedSlots: { customRender: "action" },
- },
- ])
- const gettableDatas =(record)=>{
- getCharges({kid:record.kid})
- .then((res) => {
- console.log(res)
- tableDatas.value = res.data.data.records
- state.tableDataTotal = Number(res.data.data.total);
- })
- }
- const tableDatas = ref([])
- const rules = {
- teacher: [{ required: true, message: '讲师不能为空' }],
+ width: 400,
+ scopedSlots: { customRender: "action" },
+ },
+ ])
+ const gettableDatas = (record) => {
+ getCharges({ kid: record.kid })
+ .then((res) => {
+ console.log(res)
+ tableDatas.value = res.data.data.records
+ state.tableDataTotal = Number(res.data.data.total);
+ })
+ }
+ const tableDatas = ref([])
+ const rules = {
+ teacher: [{ required: true, message: '讲师不能为空' }],
departId: [{ required: true, message: '讲师组织不能为空' }],
levelId: [{ required: true, message: '讲师级别不能为空' }],
systemId: [{ required: true, message: '讲师体系不能为空' }],
@@ -963,15 +1031,48 @@ export default {
name: [{ required: true, message: '课程名称不能为空' }],
beginTime: [{ required: true, message: '授课/课程日期不能为空' }],
duration: [{ required: true, message: '授课时长不能为空' }],
- certStatus: [{ required: true, message: '认证状态不能为空' }],
-
+ status: [{ required: true, message: '开课状态不能为空' }],
}
- function managerChange(e, l, d, t, orgName) {
- console.log(e, l);
- state.searchParam.userNo = d;
- state.searchParam.name = t;
- // state.searchParam.trainorgName=orgName
+ const rule = () => {
+ if (state.formParam.teacher == null) {
+ state.log = true
+ message.warning('讲师不能为空')
+ }
+ if (state.formParam.departId == null) {
+ state.log = true
+ message.warning('组织不能为空')
+ }
+ if (state.formParam.tlevelId == null) {
+ state.log = true
+ message.warning('讲师级别不能为空')
+ }
+ if (state.formParam.tsystemId == 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) {
+ // console.log(e, l);
+ // state.searchParam.userNo = d;
+ // state.searchParam.name = t;
+ // // state.searchParam.trainorgName=orgName
+ // }
//导出功能
const handleExport = () => {
window.open(
@@ -986,13 +1087,15 @@ export default {
&entryType=${state.searchParam.entryType ? state.searchParam.entryType : ""}
&id=${state.searchParam.id ? state.searchParam.id : ""}
&type=${state.searchParam.type ? state.searchParam.type : ""}
- &status=${state.searchParam.status ? state.searchParam.status : ""}`)
+ &status=${state.searchParam.status ? state.searchParam.status : ""}
+ &studysranges=${state.searchParam.studysranges ? state.searchParam.studysranges : ""}
+ &scoreranges=${state.searchParam.scoreranges ? state.searchParam.scoreranges : ""}
+ `)
}
const handleImport = () => {
state.showWork = true
}
const beforeUpload2 = (file) => {
- console.log(6765555);
console.log(file);
const fileType = [
"xls",
@@ -1022,15 +1125,16 @@ export default {
});
return false;
};
- const clearNonNumber=()=>{
- state.formParam.defaultteachingTime = state.formParam.defaultteachingTime.replace(/\D/g, '');
-}
+ const clearNonNumber = () => {
+ state.formParam.defaultteachingTime = state.formParam.defaultteachingTime.replace(/\D/g, '');
+ }
return {
...toRefs(state),
- managerChange,
+ // managerChange,
clearNonNumber,
beforeUpload2,
rules,
+ rule,
column,
tableDatas,
gettableDatas,
@@ -1039,6 +1143,8 @@ export default {
handleImport,
LecturerSystemList,
getTeacherExpertiseList,
+ scoreList,
+ studysList,
OnTheJobStatusList,
getTeacherExpertiseLista,
AuthenticationStatusList,
@@ -1061,8 +1167,10 @@ export default {
LecturerSystemLista,
TeacherSystem,
getOrganizationLista,
- getOrganizationList,searchTimeChange,
- cancelTeachingDialog
+ getOrganizationList, searchTimeChange,
+ cancelTeachingDialog,
+ editTimeChange,
+ scoreChange
}
},
};
@@ -1167,115 +1275,114 @@ export default {
}
.ant-modal {
- .ant-modal-content {
- width: 424px !important;
+ .ant-modal-content {
+ width: 424px !important;
- .ant-modal-body {
- .delete {
- width: 424px;
- background: #ffffff;
- box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
- border-radius: 4px;
+ .ant-modal-body {
+ .delete {
+ width: 424px;
+ background: #ffffff;
+ box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
+ border-radius: 4px;
+ position: absolute;
+ left: 50%;
+ top: 10%;
+ transform: translate(-50%, -50%);
+
+ .del_header {
position: absolute;
- left: 50%;
- top: 10%;
- transform: translate(-50%, -50%);
+ width: calc(100%);
+ height: 40px;
+ background: linear-gradient(rgba(78, 166, 255, 0.2) 0%,
+ rgba(78, 166, 255, 0) 100%);
+ }
- .del_header {
- position: absolute;
- width: calc(100%);
- height: 40px;
- background: linear-gradient(
- rgba(78, 166, 255, 0.2) 0%,
- rgba(78, 166, 255, 0) 100%
- );
- }
+ .del_main {
+ width: 100%;
+ position: relative;
- .del_main {
- width: 100%;
- position: relative;
+ .header {
+ display: flex;
+ align-items: center;
+ padding-top: 20px;
+ padding-left: 26px;
+ font-size: 16px;
- .header {
- display: flex;
- align-items: center;
- padding-top: 20px;
- padding-left: 26px;
- font-size: 16px;
+ .del-icons {
+ width: 16px;
+ height: 16px;
+ position: relative;
+ margin-right: 10px;
- .del-icons {
- width: 16px;
- height: 16px;
- position: relative;
- margin-right: 10px;
-
- img {
- width: 100%;
- height: 100%;
- position: absolute;
- top: 0px;
- left: 0px;
- background-size: 100% 100%;
- }
- }
-
- .close_exit {
+ img {
+ width: 100%;
+ height: 100%;
position: absolute;
- right: 42px;
- cursor: pointer;
- width: 20px;
- height: 20px;
- background-image: url(@/assets/images/coursewareManage/close.png);
+ top: 0px;
+ left: 0px;
background-size: 100% 100%;
}
}
- .body {
- width: 100%;
- margin: 34px auto 56px auto;
+ .close_exit {
+ position: absolute;
+ right: 42px;
+ cursor: pointer;
+ width: 20px;
+ height: 20px;
+ background-image: url(@/assets/images/coursewareManage/close.png);
+ background-size: 100% 100%;
+ }
+ }
+
+ .body {
+ width: 100%;
+ margin: 34px auto 56px auto;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+
+ .del_btnbox {
+ display: flex;
+ margin: 30px auto;
+ justify-content: center;
+
+ .del_btn {
+ width: 100px;
+ height: 40px;
+ background: rgba(64, 158, 255, 0);
+ border-radius: 8px;
display: flex;
- justify-content: center;
align-items: center;
+ justify-content: center;
+ margin-right: 14px;
+ flex-shrink: 0;
+ cursor: pointer;
+
+ .btnText {
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 40px;
+ }
}
- .del_btnbox {
- display: flex;
- margin: 30px auto;
- justify-content: center;
+ .btn1 {
+ border: 1px solid rgba(64, 158, 255, 1);
+ color: #4ea6ff;
+ }
- .del_btn {
- width: 100px;
- height: 40px;
- background: rgba(64, 158, 255, 0);
- border-radius: 8px;
- display: flex;
- align-items: center;
- justify-content: center;
- margin-right: 14px;
- flex-shrink: 0;
- cursor: pointer;
-
- .btnText {
- font-size: 14px;
- font-weight: 400;
- line-height: 40px;
- }
- }
-
- .btn1 {
- border: 1px solid rgba(64, 158, 255, 1);
- color: #4ea6ff;
- }
-
- .btn2 {
- background-color: #4ea6ff;
- color: #ffffff;
- }
+ .btn2 {
+ background-color: #4ea6ff;
+ color: #ffffff;
}
}
}
}
}
}
+}
+
.CreatePath {
.out {
z-index: 9999;
@@ -1375,9 +1482,7 @@ export default {
}
//抽屉功能
-.drawaer
-
-// /* 改变所有 a-tree-select 输入框的高度 */
+.drawaer // /* 改变所有 a-tree-select 输入框的高度 */
// ::v-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{
// height: 40px;
// line-height: 40px;
@@ -1385,29 +1490,41 @@ export default {
// /* 确保文字垂直居中 */
// }
-::v-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector{
+::v-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector {
height: 40px !important;
line-height: 40px;
border-radius: 8px
}
+
// 抽屉内样式
-.draitem{
- width: 100%;
- height: 40px !important;
+.draitem {
+ width: 100%;
+ height: 40px !important;
border-radius: 8px;
line-height: 40px;
}
-.drabtn{
- height:40px;
- width:80px;
- border-radius:8px;
- margin-right:20px
+
+.drabtn {
+ height: 40px;
+ width: 80px;
+ border-radius: 8px;
+ margin-right: 20px
}
-::v-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{
- border-radius:8px;
- height:40px;
+
+::v-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector {
+ border-radius: 8px;
+ height: 40px;
}
-.ant-col-12{
- height:90px;
+
+.ant-col-12 {
+ height: 90px;
+}
+
+::v-deep .ant-select-selection-overflow-item {
+ margin-top: -2px;
+}
+
+::v-deep .ant-select-multiple .ant-select-selection-item {
+ height: 34px
}
\ No newline at end of file
diff --git a/src/views/lecturer/LookInsideLecturer.vue b/src/views/lecturer/LookInsideLecturer.vue
index 6db476cf..fbe4f6af 100644
--- a/src/views/lecturer/LookInsideLecturer.vue
+++ b/src/views/lecturer/LookInsideLecturer.vue
@@ -32,7 +32,12 @@
{{formParam.tlevelName
}}
-
{{ formParam.certStatus==0?'未认证' :formParam.certStatus==1 ?'已认证':''}}
+
{{ formParam.certStatus==0?'未认证' :formParam.certStatus==1 ?'已认证':''}}
+
+ 查看认证资料
+
+
{{ (formParam.defaultTeachingTime /60 ).toFixed(2)}}小时
{{formParam.payrollPlaceName}}
@@ -353,7 +358,7 @@ export default{
const goback = ()=>{
router.back()
}
- // const store = useStore();
+ const store = useStore();
// // 内容分类
// const sysTypeOptions = computed(() => {return store.state.content_type;});
// //内容分类
@@ -364,11 +369,16 @@ export default{
// }
// getSysTypeMap()
- // getpromotionrecordstableData()
+const handleup = ()=>{
+ window.open (
+ `${process.env.VUE_APP_BASE_API}/teacherUpload/teacherDownload?teacherId= ${state.id}`
+ );
+}
return{
...toRefs(state),
router,
goback,
+ handleup,
// getSysTypeMap,
// sysTypeOptions,
TeacherSystem,
@@ -444,4 +454,9 @@ export default{
font-size: 14px;
}
}
+ .moreidbtn {
+ border: none;
+ color: #4ea6ff;
+ width: 80px
+}
\ No newline at end of file