diff --git a/src/api/index1.js b/src/api/index1.js index e72c8d52..db43fa13 100644 --- a/src/api/index1.js +++ b/src/api/index1.js @@ -222,6 +222,8 @@ export const updateStuCert = (obj) => http.post('/admin/certificate/updateStuCer //添加外部考试 export const createExamination = (obj) => http.post('/examination/createExamination', obj) +//催促考试 +export const batchSendMessage = (obj) => http.post('/admin/taskmanage/batchSendMessage', obj) // 外部考试导入成绩 export const ImportExternalExamScore = (obj) => http.post('/admin/external/exam/manage/importExternalExamScore', obj, { headers: { "Content-Type": "multipart/form-data" } }) //分组 diff --git a/src/components/drawers/ActiveAttendance.vue b/src/components/drawers/ActiveAttendance.vue index b40ab272..1fedd458 100644 --- a/src/components/drawers/ActiveAttendance.vue +++ b/src/components/drawers/ActiveAttendance.vue @@ -71,7 +71,7 @@
-
导出数据
+
导出数据1
-
+
导出组员
@@ -541,6 +541,15 @@ export default { // }); } ); + + // 导出数据 + function exportGroupMember() { + console.log("props.datasource", props); + window.open( + `${process.env.VUE_APP_BASE_API}/admin/studentGroup/exportGroupMember/${props.projectId}/${props.chooseGroupId}` + ); + } + function submitCall(flag) { flag && getStu(); } @@ -563,6 +572,7 @@ export default { closedeleone, yesdele, submitCall, + exportGroupMember }; }, }; diff --git a/src/components/drawers/ProjectAudit.vue b/src/components/drawers/ProjectAudit.vue index 0f035ae4..6ceb745e 100644 --- a/src/components/drawers/ProjectAudit.vue +++ b/src/components/drawers/ProjectAudit.vue @@ -304,7 +304,7 @@ export default { faceclassScene: [], projectInfo: {}, - tableDataTotal: 20, + tableDataTotal: 2, pageSize: 10, currentPage: 1, tableData: [], diff --git a/src/components/drawers/ProjectScore.vue b/src/components/drawers/ProjectScore.vue index 5122b99d..17dc5609 100644 --- a/src/components/drawers/ProjectScore.vue +++ b/src/components/drawers/ProjectScore.vue @@ -13,7 +13,7 @@ placeholder="请输入姓名" />
-
+
搜索 @@ -75,7 +75,7 @@
姓名:
diff --git a/src/components/drawers/StuScoreDetail.vue b/src/components/drawers/StuScoreDetail.vue index a6607154..fbc4cf4d 100644 --- a/src/components/drawers/StuScoreDetail.vue +++ b/src/components/drawers/StuScoreDetail.vue @@ -109,8 +109,8 @@ export default { }, { title: "类型", - dataIndex: "type", - key: "type", + dataIndex: "typeDesc", + key: "typeDesc", width: 60, align: "center", className: "h", diff --git a/src/components/drawers/project/ImpoterGroupLeader.vue b/src/components/drawers/project/ImpoterGroupLeader.vue index 213b50ea..39dc4180 100644 --- a/src/components/drawers/project/ImpoterGroupLeader.vue +++ b/src/components/drawers/project/ImpoterGroupLeader.vue @@ -19,12 +19,12 @@
-
请下载
-
- 模板 -
-
,按要求填写数据并导入
+
导入小组长
+ + +
+
请先导出小组填写小组长,按要求填写数据并导入
上传:
@@ -130,10 +130,10 @@ const closeDrawer = () => { function openDrawer() { visible.value = true } - -function downTemplate() { - window.open(process.env.VUE_APP_BASE_API + props.templateUrl); -} +// +// function downTemplate() { +// window.open(process.env.VUE_APP_BASE_API + props.templateUrl); +// } function downloadErrorData(url) { window.open(process.env.VUE_APP_FILE_PATH + url) diff --git a/src/components/drawers/project/ProjectExamManage.vue b/src/components/drawers/project/ProjectExamManage.vue index 2bb9e61b..4b1ff864 100644 --- a/src/components/drawers/project/ProjectExamManage.vue +++ b/src/components/drawers/project/ProjectExamManage.vue @@ -56,11 +56,11 @@
- +
导出数据
@@ -126,6 +126,7 @@ import { message } from "ant-design-vue"; import EScore from "../ExportScore.vue"; import CheckAnsware from '../CheckAnsware.vue' import * as api from '../../../api/indexTaskManage'; +import { batchSendMessage } from "@/api/index1"; // import * as api from "../../../api/index"; export default { @@ -364,7 +365,22 @@ export default { //催促学员学习 const godie = () => { - message.destroy(); + //项目催促请求报文 + var obj = { + 'courseId': props.datasource.courseId,//任务的Id + 'courseName': props.title,//任务的名称 + 'logo': '1',//项目或径的标识 1-项目 2-路径图 3面授课 + 'routerTaskId': props.datasource.routerId,//任务的routerTaskld或projectTaskld + 'targetId': props.datasource.routerId,//路径图的就是routerId,项目的是projectId;根据这张图来看的话 + 'taskType': props.datasource.type,//催促的任务的类型 + 'chapterId': props.datasource.chapterId,//阶段或关卡Id + }; + batchSendMessage(obj).then(res => { + console.log(res) + message.success("成功"); + }).catch(err => { + console.log(err) + }) message.success("催促" + props.title + "成功"); }; //导入成绩 diff --git a/src/components/drawers/project/ProjectExternalExamManage.vue b/src/components/drawers/project/ProjectExternalExamManage.vue index 151ec439..61f62857 100644 --- a/src/components/drawers/project/ProjectExternalExamManage.vue +++ b/src/components/drawers/project/ProjectExternalExamManage.vue @@ -57,11 +57,11 @@
- +
导出数据
@@ -130,6 +130,7 @@ import { message } from "ant-design-vue"; import ExportAchievement from "../ExportAchievement.vue"; import * as api from '../../../api/indexTaskManage'; + import { batchSendMessage } from "@/api/index1"; export default { name: "ProjectExternalExamManage", @@ -359,7 +360,22 @@ //催促学员学习 const godie = () => { - message.destroy(); + //项目催促请求报文 + var obj = { + 'courseId': props.datasource.courseId,//任务的Id + 'courseName': props.title,//任务的名称 + 'logo': '1',//项目或径的标识 1-项目 2-路径图 3面授课 + 'routerTaskId': props.datasource.routerId,//任务的routerTaskld或projectTaskld + 'targetId': props.datasource.routerId,//路径图的就是routerId,项目的是projectId;根据这张图来看的话 + 'taskType': props.datasource.type,//催促的任务的类型 + 'chapterId': props.datasource.chapterId,//阶段或关卡Id + }; + batchSendMessage(obj).then(res => { + console.log(res) + message.success("成功"); + }).catch(err => { + console.log(err) + }) message.success("催促" + props.title + "成功"); }; //导入成绩 diff --git a/src/components/drawers/router/RouterExaminationExternalManage.vue b/src/components/drawers/router/RouterExaminationExternalManage.vue index 41006a32..84cc0c66 100644 --- a/src/components/drawers/router/RouterExaminationExternalManage.vue +++ b/src/components/drawers/router/RouterExaminationExternalManage.vue @@ -57,10 +57,10 @@
- +
导出数据
@@ -129,6 +129,7 @@ import { message } from "ant-design-vue"; import ExportAchievement from "../ExportAchievement.vue"; import * as api from '../../../api/indexTaskManage'; + import { batchSendMessage } from "@/api/index1"; // import * as api from "../../../api/index"; export default { @@ -363,6 +364,22 @@ //催促学员学习 const godie = () => { message.destroy(); + //考试催促请求报文 + var obj = { + 'courseId': props.datasource.courseId,//任务的Id + 'courseName': props.title,//任务的名称 + 'logo': '2',//项目或径的标识 1-项目 2-路径图 3面授课 + 'routerTaskId': props.datasource.routerId,//任务的routerTaskld或projectTaskld + 'targetId': props.datasource.routerId,//路径图的就是routerId,项目的是projectId;根据这张图来看的话 + 'taskType': props.datasource.type,//催促的任务的类型 + 'chapterId': props.datasource.chapterId,//阶段或关卡Id + }; + batchSendMessage(obj).then(res => { + console.log(res) + message.success("成功"); + }).catch(err => { + console.log(err) + }) message.success("催促" + props.title + "成功"); }; //导入成绩 diff --git a/src/components/drawers/router/RouterExaminationManage.vue b/src/components/drawers/router/RouterExaminationManage.vue index b8792fc8..4b1b0212 100644 --- a/src/components/drawers/router/RouterExaminationManage.vue +++ b/src/components/drawers/router/RouterExaminationManage.vue @@ -33,10 +33,10 @@
- +
导出数据
@@ -88,6 +88,7 @@ import { message } from "ant-design-vue"; import EScore from "../ExportScore.vue"; import CheckAnsware from '../CheckAnsware.vue' import * as api from '../../../api/indexTaskManage'; +import { batchSendMessage } from "@/api/index1"; // import * as api from "../../../api/index"; export default { @@ -365,7 +366,22 @@ export default { //催促学员学习 const godie = () => { - message.destroy(); + //考试催促请求报文 + var obj = { + 'courseId': props.datasource.courseId,//任务的Id + 'courseName': props.title,//任务的名称 + 'logo': '2',//项目或径的标识 1-项目 2-路径图 3面授课 + 'routerTaskId': props.datasource.routerId,//任务的routerTaskld或projectTaskld + 'targetId': props.datasource.routerId,//路径图的就是routerId,项目的是projectId;根据这张图来看的话 + 'taskType': props.datasource.type,//催促的任务的类型 + 'chapterId': props.datasource.chapterId,//阶段或关卡Id + }; + batchSendMessage(obj).then(res => { + console.log(res) + message.success("成功"); + }).catch(err => { + console.log(err) + }) message.success("催促" + props.title + "成功"); }; //导入成绩 diff --git a/src/components/student/CommonStudent.vue b/src/components/student/CommonStudent.vue index 9b474053..7ddcaedc 100644 --- a/src/components/student/CommonStudent.vue +++ b/src/components/student/CommonStudent.vue @@ -295,7 +295,7 @@ import { AUDIENCE_LIST, ORG_CHILD_LIST, ORG_LIST, - // USER_LIST, + // USER_LIST, USER_LIST_PAGE, } from "@/api/ThirdApi"; import { @@ -700,7 +700,7 @@ function onOrgSelectChange(e, l) { selectsData.value.deptList = l.selectedNodes; // 获取被点击的树节点 - + } function onAuditSelectChange(e, l) { @@ -781,7 +781,7 @@ function handleStageOk() { // 判断是否是组长,组长不能添加 const leaderArray = selectsData.value.projectMemberList.filter(item => item.isLeader === '1'); if (leaderArray.length > 0) { - return message.warning("当前选学员"+leaderArray[0].realName+"已在其他小组为小组长,请勿重复选择。"); + return message.warning("当前选中学员"+leaderArray[0].realName+"已是小组长,请勿重复选择。"); } // 对选中的人员进行判断是否已经分组了 let haveGroupNum = selectsData.value.projectMemberList.filter(item => item.groupId !== null); diff --git a/src/views/courselibrary/CoursewareManage.vue b/src/views/courselibrary/CoursewareManage.vue index 93ffd476..5dc54a08 100644 --- a/src/views/courselibrary/CoursewareManage.vue +++ b/src/views/courselibrary/CoursewareManage.vue @@ -1109,7 +1109,7 @@
-
+
@@ -1151,7 +1151,7 @@
--> -
+
diff --git a/src/views/examine/CourseReviewedN.vue b/src/views/examine/CourseReviewedN.vue index 24994c86..826162fa 100644 --- a/src/views/examine/CourseReviewedN.vue +++ b/src/views/examine/CourseReviewedN.vue @@ -148,10 +148,10 @@ + centered="true" style="height:400px;">
-
+
请选择教师 diff --git a/src/views/projectcenter/TaskAdd.vue b/src/views/projectcenter/TaskAdd.vue index 6f5e9be5..7939f3d1 100644 --- a/src/views/projectcenter/TaskAdd.vue +++ b/src/views/projectcenter/TaskAdd.vue @@ -1298,6 +1298,7 @@ const cancelStorage = async () => { flex-wrap: wrap; position: sticky; top: 0; + z-index: 999; .item { height: 115px; diff --git a/src/views/projectcenter/TaskPage.vue b/src/views/projectcenter/TaskPage.vue index 125557fc..3a486ee1 100644 --- a/src/views/projectcenter/TaskPage.vue +++ b/src/views/projectcenter/TaskPage.vue @@ -275,7 +275,21 @@
项目说明:
- {{ remark }} +
+ {{ remark }} +
@@ -2356,7 +2371,7 @@ export default { ], //小组信息列表 groupList: [], - isBatch: false, // 批量 + isBatch: false, // 批量 // stuName: "", //搜索的学员姓名 // stuGroup: "", //搜索的学员小组名称 // stuBum: "", //搜索的学员小组部门 @@ -2442,6 +2457,7 @@ export default { valueaddm: "", //创建小组输入小组长 valueaddg: "", //创建小组输入名称 groupInfo: { leaderName: "", leaderId: "" }, //创建小组 + groupMemberCountContrast: null, groupPageList: [], //小组列表 groupNumber: 0, //组员人数 valuestun: "", //学员管理姓名 @@ -3069,21 +3085,22 @@ export default { }; //显示学员换组弹窗 const showChangeGroupModal = (record) => { - debugger - console.log("单个") + console.log("单个"); state.changegroupV = true; console.log("点击换组", record.id); state.checkgroupStuId = []; - state.checkgroupStuId.push(record.id) ; + state.checkgroupStuId.push(record.id); }; const showModal2 = (item, isEdit) => { state.isEdit = isEdit; state.stugroup = true; state.groupInfo = item || {}; + state.groupMemberCountContrast = item.groupMemberCount; }; const closeModal2 = () => { state.stugroup = false; state.groupInfo = {}; + state.groupMemberCountContrast = null; }; //点击确定创建小组 const createG = () => { @@ -3100,7 +3117,6 @@ export default { return message.warning("请输入组员数量"); } createGroup(); - closeModal2(); }; const showFaceIn = () => { state.TaskFaceImpStuvisible = true; @@ -3151,7 +3167,6 @@ export default { } //考勤的抽屉 const showAA = (course, a, data) => { - debugger state.AAvisible = true; state.liveData = data; state.showKaoqinText = "直播"; @@ -3918,20 +3933,24 @@ export default { //创建小组 const createGroup = async () => { console.log("state.groupPageList" + state.groupPageList); - const d = state.groupPageList.filter( + const id = state.groupInfo.id; + const d = state.groupPageList.filter(item => item.id !== id).filter( (item) => item.leaderId === state.groupInfo.leaderId ); - const id = state.groupInfo.id; if (state.isEdit) { if (d.length > 0 && d[0].id !== id) { return message.warn(d[0].leaderName + "已是小组长,请重新选择"); } + // 小组人数只能由小改大,不能由大改小 + if (state.groupMemberCountContrast > state.groupInfo.groupMemberCount) { + return message.warn("当前不支持修改组员人数小于原组员数量。"); + } } else { if (d.length > 0) { - return message.warn(d[0].leaderName + "已是小组长,请重新选择"); + return message.warn(d[0].leaderName + "已是小组长,请重新选择"); } } - // 过滤掉编辑时候,只修改了组员最大值时候 + state.isEdit = false; await editGroup({ ...state.groupInfo, projectId: state.projectId }); @@ -3939,6 +3958,7 @@ export default { getGroup(); console.log("state.groupPageList:"); getStu(); + closeModal2(); }; //搜索小组重置 const resetGroupName = () => { diff --git a/vue.config.js b/vue.config.js index 26253a7e..6723a260 100644 --- a/vue.config.js +++ b/vue.config.js @@ -15,8 +15,8 @@ module.exports = defineConfig({ port: 8070, proxy: { "/manageApi": { - //target: 'http:' + process.env.VUE_APP_PROXY_URL, - target: 'http://localhost:30001', + target: 'http:' + process.env.VUE_APP_PROXY_URL, + //target: 'http://localhost:30001', changeOrigin: true, //表示是否改变原域名 pathRewrite: { "^/manageApi": "",