Merge remote-tracking branch 'boe/zcwy-zsx0223' into zcwy-zsx0223

# Conflicts:
#	src/components/drawers/project/ProjectExamManage.vue
This commit is contained in:
zhangsir
2024-06-17 17:43:40 +08:00
80 changed files with 7350 additions and 44 deletions

View File

@@ -495,6 +495,30 @@
}
];
}
if (
n.indexOf("/InstructorCertification") !== -1 ||
n.indexOf("/instructorcertification") !== -1
) {
state.list = [
{
name: "教师专区",
}, {
name:'讲师认证'
}
];
}
if (
n.indexOf("/LecturerManagement") !== -1 ||
n.indexOf("/lecturermanagement") !== -1
) {
state.list = [
{
name: "教师专区",
}, {
name:'讲师认证'
}
];
}
if (
n.indexOf("/tooldown") !== -1 ||
n.indexOf("/ToolDown") !== -1
@@ -594,6 +618,16 @@
}
];
}
if (n.indexOf("/trainingnewmanager") !== -1 || n.indexOf("/TrainingNewManager") !== -1) {
state.list = [
{
name: "报表中心",
},
{
name:'新任管理者培训数据'
},
];
}
if (n.indexOf("/learningpathmap") !== -1 || n.indexOf("/LearningPathMap") !== -1) {
state.list = [
{

View File

@@ -339,7 +339,7 @@
</a-menu-item>
</a-sub-menu>
<!-- 教师专区 -->
<a-sub-menu key="sub22" @titleClick="titleClick" v-if="checkMenu('gratefulnotice,gratefulcarousel,teacherempowerment,teachertopic,tooldown,teacheropinion')">
<a-sub-menu key="sub22" @titleClick="titleClick" v-if="checkMenu('gratefulnotice,gratefulcarousel,teacherempowerment,teachertopic,tooldown,teacheropinion,instructorcertification')">
<template #icon>
<div class="imgBox">
<img
@@ -376,6 +376,17 @@
></span>
<router-link to="/teacherempowerment">教师赋能</router-link>
</a-menu-item>
<a-menu-item key="sub22-7" v-if="checkMenu('instructorcertification')">
<span
:class="{
circleActive: selectedKeys[0] === 'sub22-7' ? true : false,
circle: selectedKeys[0] === 'sub22-7' ? false : true,
}"
></span>
<router-link to="/instructorcertification">讲师认证</router-link>
</a-menu-item>
<a-menu-item key="sub22-4" v-if="checkMenu('teachertopic')">
<span
:class="{
@@ -573,6 +584,15 @@
<router-link to="/employeelearning">员工学习数据</router-link>
</a-menu-item>
</a-sub-menu>
<a-menu-item key="sub17-4" v-if="checkMenu('trainingnewmanager')||checkOrgs()">
<span
:class="{
circleActive: selectedKeys[0] === 'sub17-4' ? true : false,
circle: selectedKeys[0] === 'sub17-4' ? false : true,
}"
></span>
<router-link to="/trainingnewmanager">新任管理者培训数据</router-link>
</a-menu-item>
</a-sub-menu>
<a-menu-item key="sub16" v-if="checkMenu('OldSystemManage')">
<div class="imgBox">
@@ -697,11 +717,11 @@
</template>
<script>
import {reactive, toRefs, onMounted, onUnmounted, watch} from "vue";
import {reactive, toRefs, onMounted, onUnmounted, watch } from "vue";
import {useRoute} from "vue-router";
import {useStore} from "vuex";
import {checkMenu} from "@/utils/utils";
import {checkMenu,checkOrgs} from "@/utils/utils";
import { reportOrgs } from "@/api/indexProject";
export default {
name: "NavLeft",
setup() {
@@ -929,6 +949,12 @@ export default {
selectedKeys: "sub22-6",
pagename: "意见",
},
{
href: "/instructorcertification",
openKeys: "sub22",
selectedKeys: "sub22-7",
pagename: "讲师认证",
},
{
href: "/articlemanage",
openKeys: "sub13",
@@ -1022,6 +1048,12 @@ export default {
selectedKeys: "sub17-3-2",
pagename: "员工学习数据",
},
{
href: "/trainingnewmanager",
openKeys: "sub17",
selectedKeys: "sub17-4",
pagename: "新任管理者培训数据",
},
{
href: "/oldsystemmanage",
openKeys: "sub18",
@@ -1160,7 +1192,6 @@ export default {
const getClientHeight = () => {
state.screenHeight = document.body.clientHeight;
};
onMounted(() => {
// console.log("11111", 1);
window.addEventListener("resize", getClientHeight, false);
@@ -1172,6 +1203,7 @@ export default {
return {
...toRefs(state),
checkMenu,
checkOrgs,
onOpenChange,
selectItem,
packUp,

View File

@@ -17,6 +17,7 @@
<img :src="types[type]" alt=""/>
</div>
<span>提示</span>
<div class="close_exit" @click="close"></div>
</div>
<div class="body">
<div><span>{{ content }}</span></div>

View File

@@ -893,7 +893,7 @@ export default {
courseId: Number(props.datasource.courseId),
routerId: Number(props.datasource.routerId),
ids: [value.record.studentId],
taskId: Number(props.datasource.routerTaskId),
taskId: Number(props.datasource.routerTaskId)||Number(props.datasource.id),
taskType: Number(props.datasource.type),
type: 1,
};

View File

@@ -8,7 +8,7 @@
>
<div class="drawerMain" id="stuadd">
<div class="header">
<div class="headerTitle">添加学员</div>
<div class="headerTitle">添加讲师</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"

View File

@@ -374,7 +374,7 @@ export default {
currentStageId: props.datasource.stageId,
type: 1,
pid: props.datasource.projectId,
taskId: props.datasource.projectTaskId,
taskId: props.projectTaskId,
taskType: props.datasource.type,
status: state.projectName,
studentName: state.name,
@@ -386,7 +386,7 @@ export default {
currentStageId: props.datasource.stageId,
type: 1,
pid: props.datasource.projectId,
taskId: props.datasource.projectTaskId,
taskId: props.projectTaskId,
taskType: props.datasource.type,
status: state.projectName,
studentName: state.name,
@@ -430,10 +430,7 @@ export default {
// 导出数据
function exportTaskStu() {
if(!props.datasource.projectTaskId){
props.datasource.projectTaskId = ''
}
window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${props.datasource.stageId}&type=${1}&pid=${props.datasource.projectId}&taskId=${props.datasource.projectTaskId}&taskType=${props.datasource.type}`)
window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${props.datasource.stageId}&type=${1}&pid=${props.datasource.projectId}&taskType=${props.datasource.type}&taskId=${props.projectTaskId}`)
// window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?pageNo=${state.currentPage}&pageSize=${state.pageSize}&currentStageId=${props.datasource.stageId}&type=${1}&pid=${props.datasource.projectId}&taskId=${props.datasource.projectTaskId}&status=${state.name}&studentName=${state.projectName}`)
}

View File

@@ -314,7 +314,7 @@ export default {
align: "center",
ellipsis: true,
className: "h",
customRender: ({record:{status}}) => ({1:'已完成',0:'未开始',2:'进行中'}[status] || '未开始'),
customRender: ({record:{status}}) => ({2:'进行中',0:'未开始',1:'已完成'}[status] || '未开始'),
},
{
title: "操作",

View File

@@ -428,11 +428,8 @@ export default {
// 导出数据
function exportTaskStu() {
console.log(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${props.datasource.chapterId}&type=${2}&pid=${props.datasource.routerId}&taskId=${props.datasource.routerTaskId}&taskType=${props.datasource.type}`)
if(!props.datasource.routerTaskId){
props.datasource.routerTaskId = ''
}
window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${props.datasource.chapterId}&type=${2}&pid=${props.datasource.routerId}&taskId=${props.datasource.routerTaskId}&taskType=${props.datasource.type}`)
console.log(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${props.datasource.chapterId}&type=${2}&pid=${props.datasource.routerId}&taskId=${props.datasource.id}&taskType=${props.datasource.type}`)
window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${props.datasource.chapterId}&type=${2}&pid=${props.datasource.routerId}&taskId=${props.datasource.id}&taskType=${props.datasource.type}`)
// window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?pageNo=${state.currentPage}&pageSize=${state.pageSize}&currentStageId=${props.datasource.chapterId}&type=${2}&pid=${props.datasource.routerId}&taskId=${props.datasource.routerTaskId}&status=${state.name}&studentName=${state.projectName}`)
}

View File

@@ -103,7 +103,7 @@
<template #action="{ record }">
<a-space :size="2">
<slot name="extension" v-bind:data="{ record }"></slot>
<a-button v-if="checkPer(permissions)" @click="del(record.courseStuId)" type="link" danger>删除</a-button>
<a-button v-if="checkPer(permissions)" @click="del(record.courseStuId,record.studentId)" type="link" danger>删除</a-button>
</a-space>
</template>
</a-table>
@@ -243,7 +243,7 @@ const columns = ref([
width: 80,
align: "center",
ellipsis: true,
customRender: ({ record: { finishStatus } }) => finishStatus ? "已完成" : "未开始",
customRender: ({ record: { finishStatus } }) => finishStatus==9 ? "已完成" : finishStatus==2 ? "进行中": '未开始',
},
{
title: "操作",
@@ -291,12 +291,12 @@ const changePagination = (page) => {
searchStu();
};
function del(id) {
function del(id,studentId) {
dialog({
content: "确定删除?", ok: async () => {
if (id) {
loading.value = true;
await boeRequest(ONLINE_COURSE_DEL(id, formData.value.id));
await boeRequest(ONLINE_COURSE_DEL(id, formData.value.id,studentId));
searchStu();
}
}
@@ -304,8 +304,11 @@ function del(id) {
}
function submitCall(flag) {
flag && start({ id: formData.value.id });
flag && searchStu();
if(flag){
searchStu()
}
// flag && start({ id: formData.value.id });
// flag && searchStu();
}
const closeDrawer = () => {

View File

@@ -441,6 +441,10 @@ const props = defineProps({
type: Object,
default: () => ({}),
},
remarksTrue: {
type: Boolean,
default: false,
}
});
const { loading: stuAsyncLoading, start } = useAsyncStu(props.id, props.type, getStuList);
@@ -506,7 +510,7 @@ const tablecolumns = ref([
className: "h",
ellipsis: true,
customRender: ({ record: { studentOrgName, studentDepartName } }) =>
allDepartShow(studentOrgName, studentDepartName),
allDepartShow(studentOrgName),
},
{
title: "所属小组",
@@ -540,7 +544,7 @@ const tablecolumns = ref([
title: "操作",
dataIndex: "operation",
key: "operation",
width: 210,
width: 260,
align: "center",
slots: { customRender: "action" },
},