diff --git a/src/components/drawers/ActiveAttendance.vue b/src/components/drawers/ActiveAttendance.vue index 185ef73b..27282fde 100644 --- a/src/components/drawers/ActiveAttendance.vue +++ b/src/components/drawers/ActiveAttendance.vue @@ -826,7 +826,7 @@ export default { name: props.datasource?.name, url: process.env.VUE_APP_BASE_API + - `/admin/student/studentSign?taskId=${props.datasource.routerTaskId + `/admin/student/studentSign?taskId=${props.datasource.id }&taskType=${props.datasource.type}&type=${2}`, }; console.log("codeInfo", state.codeInfo); @@ -855,7 +855,6 @@ export default { // 导出数据 function exportTaskStu() { - debugger {/* debugger */ } console.log("props.datasource此处的taskId 应该是router_task 表中主键", props.datasource); console.log("props.datasource", props.datasource); diff --git a/src/components/drawers/AddLive.vue b/src/components/drawers/AddLive.vue index 20e1c7b2..0f01aba5 100644 --- a/src/components/drawers/AddLive.vue +++ b/src/components/drawers/AddLive.vue @@ -84,7 +84,7 @@ 直播封面: -
+
avatar @@ -325,6 +325,7 @@ const { resetFields, validate } = Form.useForm(formData, rulesRef); const closeDrawer = () => { formData.value.liveCover = ""; + formData.value.livePlaybackLink = ""; imageUrl.value = ""; visible.value = false; taskIndex.value = -1; @@ -430,6 +431,9 @@ const beforeUpload = (file) => { }; \ No newline at end of file + diff --git a/src/components/drawers/project/ProjectOnlineManage.vue b/src/components/drawers/project/ProjectOnlineManage.vue index 8217e1f7..cb46129f 100644 --- a/src/components/drawers/project/ProjectOnlineManage.vue +++ b/src/components/drawers/project/ProjectOnlineManage.vue @@ -496,6 +496,9 @@ export default { if(props.datasource.type==1){ {/* 在线课导出 */} window.open(`${process.env.VUE_APP_BASE_API}/admin/online/manage/exportOnline?chapterId=${props.datasource.chapterId}&type=${1}&targetId=${props.datasource.routerId}&taskId=${props.datasource.courseId}`) + }else if(props.datasource.type==11){ + {/* 评估导出 */} + window.open(`${process.env.VUE_APP_BASE_API}admin/assessment/manage/exportAssessmentMessage?chapterId=${props.datasource.stageId}&type=${1}&pid=${props.datasource.projectId}&courseId=${props.datasource.courseId}&taskId=${props.datasource.id}&taskType=${props.datasource.type}`) }else{ window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${props.datasource.stageId}&type=${1}&pid=${props.datasource.projectId}&taskId=${props.datasource.id}&taskType=${props.datasource.type}`) } diff --git a/src/components/student/CommonStudent.vue b/src/components/student/CommonStudent.vue index de01dd4d..0220971b 100644 --- a/src/components/student/CommonStudent.vue +++ b/src/components/student/CommonStudent.vue @@ -352,7 +352,12 @@ const props = defineProps({ type: Number, default: null, }, + activeKey1: { + type: String, + default: null, + }, }); +console.log("props.activeKey1" + props.activeKey1) // 获取项目学员; const procurrentPage = ref(1); const projectList = ref([]); @@ -775,30 +780,33 @@ const submitAuth = () => { }; function handleStageOk() { + // debugger // 判断添加人数是否已超过限制人数 限制 = 本次添加的人 + 原有的人 if (props.type === 1) { - let selectMember = 0; - if (activeKey.value === 4) { // 项目内选人 - selectMember = selectsData.value.projectMemberList.length - } else if (activeKey.value === 1) { - selectMember = selectsData.value.studentList.length - } else if (activeKey.value === 2) { - selectMember = selectsData.value.groupList.length - } else if (activeKey.value === 3) { - selectMember = selectsData.value.deptList.length - } - if (props.groupMemberCount < selectMember + Number(props.groupMemberNumber)) { - return message.warning("添加小组学员超过最大值"); - } - // 判断是否是组长,组长不能添加 - const leaderArray = selectsData.value.projectMemberList.filter(item => item.isLeader === '1'); - if (leaderArray.length > 0) { - return message.warning("当前选中学员"+leaderArray[0].realName+"已是小组长,请勿重复选择。"); - } - // 对选中的人员进行判断是否已经分组了 - let haveGroupNum = selectsData.value.projectMemberList.filter(item => item.groupId !== null); - if (haveGroupNum.length > 0) { - message.warning("部分学员已经有小组,再次添加会被添加到当前小组."); + if (props.groupMemberCount !== null) { // 只有添加组员的时候判断 + let selectMember = 0; + if (activeKey.value === 4) { // 项目内选人 + selectMember = selectsData.value.projectMemberList.length + } else if (activeKey.value === 1) { + selectMember = selectsData.value.studentList.length + } else if (activeKey.value === 2) { + selectMember = selectsData.value.groupList.length + } else if (activeKey.value === 3) { + selectMember = selectsData.value.deptList.length + } + if (props.groupMemberCount < selectMember + Number(props.groupMemberNumber)) { + return message.warning("添加小组学员超过最大值"); + } + // 判断是否是组长,组长不能添加 + const leaderArray = selectsData.value.projectMemberList.filter(item => item.isLeader === '1'); + if (leaderArray.length > 0) { + return message.warning("当前选中学员"+leaderArray[0].realName+"已是小组长,请勿重复选择。"); + } + // 对选中的人员进行判断是否已经分组了 + let haveGroupNum = selectsData.value.projectMemberList.filter(item => item.groupId !== null); + if (haveGroupNum.length > 0) { + message.warning("部分学员已经有小组,再次添加会被添加到当前小组."); + } } } stageVisible.value = false; diff --git a/src/components/student/TableStudent.vue b/src/components/student/TableStudent.vue index f79c6ebe..c0956c54 100644 --- a/src/components/student/TableStudent.vue +++ b/src/components/student/TableStudent.vue @@ -378,6 +378,10 @@ const props = defineProps({ type: String, default: "", }, + activeKey:{ + type: String, + default: "", + }, id: String, columns: { type: Array, @@ -576,6 +580,8 @@ function exportTaskStuRouter() { } onMounted(() => { + // debugger + console.log("props.activeKey1" + props.activeKey1) getStuList(); }); watch(props.isgetStudent, () => { diff --git a/src/utils/utils.js b/src/utils/utils.js index ad837a57..c8a0d54a 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -29,7 +29,7 @@ export function traverseArr(arr, traverseObj, saveOld = false) { } const admin = [5, 6, 8, 9, 11, 12] - +//检查 管理权和归属权 export function checkPer(per) { if (store?.state?.userInfo?.roleList.some(t => t.code === 'learning-admin')) { return true @@ -39,6 +39,11 @@ export function checkPer(per) { } return (per + "").split(',').some(t => admin.some(s => s == t)) } +const adminOwner = [6,9,12] +//单独检查是否有归属权 +export function checkOwner(per) { + return (per + "").split(',').some(t => adminOwner.some(s => s == t)) +} export function checkMenu(path='') { return store?.state?.menus.some(t => path.split(',').some(s=>'/'+s===t)); } diff --git a/src/views/courselibrary/CoursewareManage.vue b/src/views/courselibrary/CoursewareManage.vue index c9f664e0..2414713d 100644 --- a/src/views/courselibrary/CoursewareManage.vue +++ b/src/views/courselibrary/CoursewareManage.vue @@ -366,7 +366,7 @@ type="link" >管理 - + 权限名单 @@ -1731,7 +1731,7 @@ import FJUpload from "@/components/common/FJUpload"; import { updateStudent } from "@/api/indexProjStu"; import { useStore } from "vuex"; import DropDown from "@/components/common/DropDown"; -import { checkPer } from "@/utils/utils"; +import { checkPer,checkOwner } from "@/utils/utils"; import dayjs from "dayjs"; //列表表格 @@ -4991,6 +4991,7 @@ export default defineComponent({ beforeUpload2, handleDel, checkPer, + checkOwner, handleSucessStu, handleRejectStu, handleDeleteStu, diff --git a/src/views/learningpath/LevelAdd.vue b/src/views/learningpath/LevelAdd.vue index 6bd44354..0e6add9e 100644 --- a/src/views/learningpath/LevelAdd.vue +++ b/src/views/learningpath/LevelAdd.vue @@ -692,7 +692,7 @@
- +
diff --git a/src/views/learningpath/LevelAddDetail.vue b/src/views/learningpath/LevelAddDetail.vue index ab2a13b2..4dbf10dd 100644 --- a/src/views/learningpath/LevelAddDetail.vue +++ b/src/views/learningpath/LevelAddDetail.vue @@ -261,7 +261,7 @@ size="small" active-color="red"/>
必修
diff --git a/src/views/projectcenter/ProjectManage.vue b/src/views/projectcenter/ProjectManage.vue index 392a4b8b..0b3ac2f4 100644 --- a/src/views/projectcenter/ProjectManage.vue +++ b/src/views/projectcenter/ProjectManage.vue @@ -160,13 +160,8 @@ type="link" >撤回发布 - 管理 - + 管理 + 查看 - {{ record.topFlag ? "取消优秀" : "优秀学员" }} 换组 @@ -1072,7 +1074,7 @@
-
+
+添加证书
{ - debugger console.log("state.groupPageList" + state.groupPageList); const id = state.groupInfo.id; const d = state.groupPageList