feat:增加项目/学习路径图评估管理列表部分数据接入

This commit is contained in:
wyx
2023-01-04 16:02:50 +08:00
parent 772c5e19e5
commit 55a4694e8a
6 changed files with 348 additions and 152 deletions

View File

@@ -4,3 +4,9 @@ import http from "./config";
// 获取考试管理的信息
export const ExamManagementMessage = (obj) => http.post('/admin/exam/manage/queryExamManagementMessage',obj)
// 获取评估管理的信息
export const AssessmentManagementMessage = (obj) => http.get(`/admin/student/getTaskStudent`, {params: obj})
// 导出学员信息
export const ExportTaskStudent = (obj) => http.get('/admin/student/exportTaskStudent', {params: obj})

View File

@@ -1,28 +1,29 @@
<template>
<a-drawer
v-if="Tvisible"
:visible="Tvisible"
class="drawerStyle ProjectOnlineManage"
placement="right"
width="60%"
@after-visible-change="afterVisibleChange"
>
>
<div class="drawerMain">
<div class="header">
<div class="headerTitle">
{{
itemsType === 1
datasource.type === 1
? "在线"
: itemsType === 3
: datasource.type === 3
? "案例"
: itemsType === 6
: datasource.type === 6
? "直播"
: itemsType === 7
: datasource.type === 7
? "外链"
: itemsType === 8
: datasource.type === 8
? "讨论"
: itemsType === 9
: datasource.type === 9
? "活动"
: itemsType === 11
: datasource.type === 11
? "评估"
: "-"
}}{{ title }}
@@ -34,7 +35,8 @@
/>
</div>
<div class="main">
<div class="endtime">起止时间2022-07-21 14:00 2022-7-30 14:00</div>
<div v-if="datasource.type !==6 || datasource.type !==9 " class="endtime">起止时间</div>
<div v-else class="endtime">起止时间{{datasource.startTime}} {{datasource.endTime}}</div>
<div class="search">
<div class="sealeft">
<div class="namecon" style="margin-right: 30px">
@@ -64,7 +66,7 @@
<div
class="btn btn1"
style="margin-right: 20px"
@click="searchTaskList"
@click="searchTaskList"
>
<div class="img1"></div>
<div class="wz">搜索</div>
@@ -80,8 +82,8 @@
<div class="img1"></div>
<div class="wz">催促学习</div>
</div>
<div class="btn btn2">
<div class="img2"></div>
<div class="btn btn2" @click="exportTaskStu">
<div class="img2"></div>
<div class="wz">导出数据</div>
</div>
</div>
@@ -90,7 +92,7 @@
style="border: 1px solid #f2f6fe"
:columns="tableDataFunc()"
:data-source="tabledata"
:loading="tableDataTotal === -1 ? true : false"
:loading="tableDataTotalLoading"
:scroll="{ x: 900 }"
:pagination="false"
/>
@@ -104,7 +106,7 @@
:current="currentPage"
:total="tableDataTotal"
class="pagination"
@change="onChange"
@change="changePaginationStu"
v-if="tableDataTotal > 10"
/>
</div>
@@ -112,8 +114,8 @@
</div>
</div>
<div class="btnn">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
<button class="btn1" @click="closeDrawer">取消</button>
<button class="btn2" @click="closeDrawer">确定</button>
</div>
</div>
</a-drawer>
@@ -123,6 +125,7 @@
import { toRefs, reactive, onMounted, onUnmounted } from "vue";
import { message } from "ant-design-vue";
// import * as api from "../../../api/index";
import * as api from '../../../api/indexTaskManage';
export default {
name: "ProjectOnlineManage",
@@ -135,6 +138,10 @@ export default {
type: String,
default: "",
},
levelName: {
type: String,
default: "",
},
projectTaskId: {
type: Number,
default: null,
@@ -143,6 +150,12 @@ export default {
type: Number,
default: null,
},
datasource: {
type: Object,
default: function () {
return {};
},
},
},
setup(props, ctx) {
@@ -153,97 +166,101 @@ export default {
pageSize: 10,
currentPage: 1,
tableDataTotal: 0,
projectName: null,
projectName: "",
projectNameList: [
// {
// id: 1,
// value: "-1",
// label: "未开始",
// },
{
id: 1,
value: "-1",
label: "未开始",
},
{
id: 2,
value: "0",
label: "未完成",
},
{
id: 3,
id: 2,
value: "1",
label: "已完成",
},
],
tabledata: [
{
workNum: "123",
userName: "li",
deptName: "开发",
jobName: "前端开发",
time: "2022-07-22 14:00:30",
status: "已完成",
},
],
tabledata: [],
tableDataTotalLoading: true, // 表格loading加载配置
});
const tableDataFunc = () => {
if (
props.itemsType == 1 ||
props.itemsType == 3 ||
props.itemsType == 6 ||
props.itemsType == 7 ||
props.itemsType == 8 ||
props.itemsType == 9 ||
props.itemsType == 11
) {
const columns = [
{
title: "工号",
dataIndex: "workNum",
key: "workNum",
width: 50,
align: "center",
className: "h head",
},
{
title: "姓名",
dataIndex: "userName",
key: "userName",
width: 50,
align: "center",
className: "h head",
},
{
title: "所在部门",
dataIndex: "deptName",
key: "deptName",
width: 60,
align: "center",
className: "h",
},
{
title: "所在岗位",
dataIndex: "jobName",
key: "jobName",
width: 60,
align: "center",
className: "h",
},
{
title: "完成时间",
dataIndex: "time",
key: "time",
width: 100,
align: "center",
className: "h",
},
{
title: "任务状态",
dataIndex: "status",
key: "status",
width: 60,
align: "center",
className: "h",
},
];
return columns;
}
const columns = [
{
title: "工号",
dataIndex: "studentUserNo",
key: "studentUserNo",
width: 50,
align: "center",
className: "h head",
},
{
title: "姓名",
dataIndex: "studentName",
key: "studentName",
width: 50,
align: "center",
className: "h head",
},
{
title: "所在部门",
dataIndex: "studentDepartName",
key: "studentDepartName",
width: 60,
align: "center",
className: "h",
},
{
title: "所在岗位",
dataIndex: "studentJobName",
key: "studentJobName",
width: 60,
align: "center",
className: "h",
},
{
title: "学员关卡",
dataIndex: "currentStageName",
key: "currentStageName",
width: 60,
align: "center",
className: "h",
customRender: (text) => {
return (
<div class="racona">
<span> {props.levelName}</span>
</div>
);
}
},
{
title: "完成时间",
dataIndex: "endStudyTime",
key: "endStudyTime",
width: 100,
align: "center",
className: "h",
},
{
title: "任务状态",
dataIndex: "status",
key: "status",
width: 60,
align: "center",
className: "h",
customRender: (text) => {
return (
<div class="racona">
<span> {text.record.status==0?"未完成":"已完成"}</span>
</div>
);
}
},
];
return columns;
};
const closeDrawer = () => {
@@ -255,7 +272,9 @@ export default {
};
const afterVisibleChange = (bol) => {
if (bol == true) {
// getManageList();
console.log('当前是什么类型',props.datasource.type)
state.tableDataTotalLoading = true;
getData();
}
};
const selectProjectName = (value) => {
@@ -270,6 +289,82 @@ export default {
console.log("Page: ", pageNumber);
};
// 获取数据
function getData() {
if(props.datasource.type==11){
// 此处为获取评估学员的接口 - 如后续还有用到此接口的公共任务可直接在if里面加||判断即可
console.log('我是传递的查询参数',{
pageNo:state.currentPage,
pageSize:state.pageSize,
currentStageId:props.datasource.stageId,
type: 1,
pid: props.datasource.projectId,
status: state.projectName,
studentName: state.name
})
api.AssessmentManagementMessage({
pageNo:state.currentPage,
pageSize:state.pageSize,
currentStageId:props.datasource.stageId,
type: 1,
pid: props.datasource.projectId,
status: state.projectName,
studentName: state.name
}).then(res=>{
console.log(res)
if(res.status==200){
state.tabledata = res.data.data.records;
state.tableDataTotal =res.data.data.total;
state.tableDataTotalLoading = false;
}
}).catch(err=>{
console.log(err)
state.tableDataTotalLoading = false;
state.tabledata = [];
})
}else{
state.tableDataTotalLoading = false;
state.tabledata = [];
}
}
// 搜索按钮
function searchTaskList() {
state.currentPage = 1;
state.tableDataTotalLoading = true;
getData();
}
// 重置按钮
function resetTaskList() {
state.tableDataTotalLoading = true;
state.currentPage = 1;
state.name = "";
state.projectName = "";
getData();
}
//分页
const changePaginationStu = (page) => {
state.tableDataTotalLoading = true;
state.currentPage = page;
getData();
};
// 导出数据
function exportTaskStu() {
api.ExportTaskStudent({
pageNo:state.currentPage,
pageSize:state.pageSize,
currentStageId:props.datasource.stageId,
type: 1,
pid: props.datasource.projectId
}).then(res=>{
console.log(res)
}).catch(err=>{
console.log(err)
})
}
return {
...toRefs(state),
selectProjectName,
@@ -280,6 +375,10 @@ export default {
onMounted,
onUnmounted,
onChange,
searchTaskList,
resetTaskList,
changePaginationStu,
exportTaskStu
};
},
};
@@ -517,3 +616,4 @@ export default {
}
}
</style>

View File

@@ -66,7 +66,7 @@
<div
class="btn btn1"
style="margin-right: 20px"
@click="searchTaskList"
@click="searchTaskList"
>
<div class="img1"></div>
<div class="wz">搜索</div>
@@ -82,8 +82,8 @@
<div class="img1"></div>
<div class="wz">催促学习</div>
</div>
<div class="btn btn2">
<div class="img2"></div>
<div class="btn btn2" @click="exportTaskStu">
<div class="img2"></div>
<div class="wz">导出数据</div>
</div>
</div>
@@ -92,7 +92,7 @@
style="border: 1px solid #f2f6fe"
:columns="tableDataFunc()"
:data-source="tabledata"
:loading="tableDataTotal === -1 ? true : false"
:loading="tableDataTotalLoading"
:scroll="{ x: 900 }"
:pagination="false"
/>
@@ -106,7 +106,7 @@
:current="currentPage"
:total="tableDataTotal"
class="pagination"
@change="onChange"
@change="changePaginationStu"
v-if="tableDataTotal > 10"
/>
</div>
@@ -114,8 +114,8 @@
</div>
</div>
<div class="btnn">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
<button class="btn1" @click="closeDrawer">取消</button>
<button class="btn2" @click="closeDrawer">确定</button>
</div>
</div>
</a-drawer>
@@ -125,6 +125,7 @@
import { toRefs, reactive, onMounted, onUnmounted } from "vue";
import { message } from "ant-design-vue";
// import * as api from "../../../api/index";
import * as api from '../../../api/indexTaskManage';
export default {
name: "RouterCommonManage",
@@ -137,6 +138,10 @@ export default {
type: String,
default: "",
},
levelName: {
type: String,
default: "",
},
projectTaskId: {
type: Number,
default: null,
@@ -161,82 +166,80 @@ export default {
pageSize: 10,
currentPage: 1,
tableDataTotal: 0,
projectName: null,
projectName: "",
projectNameList: [
// {
// id: 1,
// value: "-1",
// label: "未开始",
// },
{
id: 1,
value: "-1",
label: "未开始",
},
{
id: 2,
value: "0",
label: "未完成",
},
{
id: 3,
id: 2,
value: "1",
label: "已完成",
},
],
tabledata: [
{
workNum: "123",
userName: "li",
deptName: "开发",
jobName: "前端开发",
level:"关卡一",
time: "2022-07-22 14:00:30",
status: "已完成",
},
],
tabledata: [],
tableDataTotalLoading: true, // 表格loading加载配置
});
const tableDataFunc = () => {
const columns = [
{
title: "工号",
dataIndex: "workNum",
key: "workNum",
dataIndex: "studentUserNo",
key: "studentUserNo",
width: 50,
align: "center",
className: "h head",
},
{
title: "姓名",
dataIndex: "userName",
key: "userName",
dataIndex: "studentName",
key: "studentName",
width: 50,
align: "center",
className: "h head",
},
{
title: "所在部门",
dataIndex: "deptName",
key: "deptName",
dataIndex: "studentDepartName",
key: "studentDepartName",
width: 60,
align: "center",
className: "h",
},
{
title: "所在岗位",
dataIndex: "jobName",
key: "jobName",
dataIndex: "studentJobName",
key: "studentJobName",
width: 60,
align: "center",
className: "h",
},
{
title: "学员关卡",
dataIndex: "level",
key: "level",
dataIndex: "currentStageName",
key: "currentStageName",
width: 60,
align: "center",
className: "h",
customRender: (text) => {
return (
<div class="racona">
<span> {props.levelName}</span>
</div>
);
}
},
{
title: "完成时间",
dataIndex: "time",
key: "time",
dataIndex: "endStudyTime",
key: "endStudyTime",
width: 100,
align: "center",
className: "h",
@@ -248,6 +251,13 @@ export default {
width: 60,
align: "center",
className: "h",
customRender: (text) => {
return (
<div class="racona">
<span> {text.record.status==0?"未完成":"已完成"}</span>
</div>
);
}
},
];
return columns;
@@ -262,6 +272,8 @@ export default {
};
const afterVisibleChange = (bol) => {
if (bol == true) {
console.log('当前是什么类型',props.datasource.type)
state.tableDataTotalLoading = true;
getData();
}
};
@@ -277,18 +289,80 @@ export default {
console.log("Page: ", pageNumber);
};
// 获取数据
function getData() {
state.tabledata = [
{
workNum: "123",
userName: "li",
deptName: "开发",
jobName: "前端开发",
level:"关卡一",
time: "2022-07-22 14:00:30",
status: "已完成",
},
]
if(props.datasource.type==11){
// 此处为获取评估学员的接口 - 如后续还有用到此接口的公共任务可直接在if里面加||判断即可
console.log('我是传递的查询参数',{
pageNo:state.currentPage,
pageSize:state.pageSize,
currentStageId:props.datasource.chapterId,
type: 2,
pid: props.datasource.routerId,
status: state.projectName,
studentName: state.name
})
api.AssessmentManagementMessage({
pageNo:state.currentPage,
pageSize:state.pageSize,
currentStageId:props.datasource.chapterId,
type: 2,
pid: props.datasource.routerId,
status: state.projectName,
studentName: state.name
}).then(res=>{
console.log(res)
if(res.status==200){
state.tabledata = res.data.data.records;
state.tableDataTotal =res.data.data.total;
state.tableDataTotalLoading = false;
}
}).catch(err=>{
console.log(err)
state.tableDataTotalLoading = false;
state.tabledata = [];
})
}else{
state.tableDataTotalLoading = false;
state.tabledata = [];
}
}
// 搜索按钮
function searchTaskList() {
state.currentPage = 1;
state.tableDataTotalLoading = true;
getData();
}
// 重置按钮
function resetTaskList() {
state.tableDataTotalLoading = true;
state.currentPage = 1;
state.name = "";
state.projectName = "";
getData();
}
//分页
const changePaginationStu = (page) => {
state.tableDataTotalLoading = true;
state.currentPage = page;
getData();
};
// 导出数据
function exportTaskStu() {
api.ExportTaskStudent({
pageNo:state.currentPage,
pageSize:state.pageSize,
currentStageId:props.datasource.chapterId,
type: 2,
pid: props.datasource.routerId
}).then(res=>{
console.log(res)
}).catch(err=>{
console.log(err)
})
}
return {
@@ -301,6 +375,10 @@ export default {
onMounted,
onUnmounted,
onChange,
searchTaskList,
resetTaskList,
changePaginationStu,
exportTaskStu
};
},
};

View File

@@ -347,6 +347,7 @@
}
// 搜索
function searchTableData() {
state.currentPage = 1;
state.loadingData = true;
getData();
}

View File

@@ -492,7 +492,7 @@
item.type === 11 ||
item.type === 12 ||
item.type === 9
? commonModel(item)
? commonModel(item, value.name)
: item.type === 2
? faceTeachModel(item)
: item.type === 4
@@ -1118,7 +1118,7 @@
<!-- 作业管理抽屉 结束-->
<!-- 公共管理抽屉 开始-->
<router-common-manage v-model:CommonModelVisible="commonModelVisible" :title="commonModelVisibleTitle" :datasource="commonData" />
<router-common-manage v-model:CommonModelVisible="commonModelVisible" :title="commonModelVisibleTitle" :datasource="commonData" :levelName="commonLevelName" />
<!-- 公共管理抽屉 结束-->
</div>
</template>
@@ -1360,7 +1360,8 @@ export default {
examinationData: '',
evaluationData: '',
homeworkData: '',
commonData: ''
commonData: '',
commonLevelName: ''
});
@@ -1660,7 +1661,8 @@ export default {
// 作业弹框名称 RouterHomeworkManage
}
// 在线、案例、外链、评估、直播、活动点击管理弹框
const commonModel = (data) => {
const commonModel = (data, levelname) => {
state.commonLevelName = levelname;
console.log(data)
state.commonModelVisible = true;
state.commonModelVisibleTitle = data.name;

View File

@@ -613,14 +613,16 @@
item.type == '11'
? showOnline(
item.name,
item.projectTaskId,
item.type
item.projectTaskId,
item.type,
item,
value.name
)
: item.type == '2'
? showFace(
item.name,
item.projectTaskId,
item.type
item.type,
)
: item.type == '4'
? showWork(item.name, item.projectTaskId)
@@ -1095,6 +1097,8 @@
:projectTaskId="projectTaskId"
:title="showTimeText"
:itemsType="itemstype"
:datasource="commonData"
:levelName="commonLevelName"
/>
<!-- 面授管理抽屉 -->
@@ -2447,6 +2451,8 @@ export default {
codeInfo: null, //二维码标题
examData: "",
commonData: "",
commonLevelName: ""
});
const levelList = reactive({
@@ -2693,8 +2699,11 @@ export default {
state.TaskFaceImpStuvisible = true;
};
//在线、案例、外链、讨论、评估、直播、活动管理页面
const showOnline = (name, id, type) => {
console.log("点击管理并传了id");
const showOnline = (name, id, type, datasource, levelname) => {
console.log("点击管理并传了id", datasource);
state.commonLevelName = levelname;
state.commonData = datasource;
state.onlineVisible = true;
state.showTimeText = name;
state.projectTaskId = id;