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 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,5 +1,6 @@
<template> <template>
<a-drawer <a-drawer
v-if="Tvisible"
:visible="Tvisible" :visible="Tvisible"
class="drawerStyle ProjectOnlineManage" class="drawerStyle ProjectOnlineManage"
placement="right" placement="right"
@@ -10,19 +11,19 @@
<div class="header"> <div class="header">
<div class="headerTitle"> <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 }} }}{{ title }}
@@ -34,7 +35,8 @@
/> />
</div> </div>
<div class="main"> <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="search">
<div class="sealeft"> <div class="sealeft">
<div class="namecon" style="margin-right: 30px"> <div class="namecon" style="margin-right: 30px">
@@ -80,7 +82,7 @@
<div class="img1"></div> <div class="img1"></div>
<div class="wz">催促学习</div> <div class="wz">催促学习</div>
</div> </div>
<div class="btn btn2"> <div class="btn btn2" @click="exportTaskStu">
<div class="img2"></div> <div class="img2"></div>
<div class="wz">导出数据</div> <div class="wz">导出数据</div>
</div> </div>
@@ -90,7 +92,7 @@
style="border: 1px solid #f2f6fe" style="border: 1px solid #f2f6fe"
:columns="tableDataFunc()" :columns="tableDataFunc()"
:data-source="tabledata" :data-source="tabledata"
:loading="tableDataTotal === -1 ? true : false" :loading="tableDataTotalLoading"
:scroll="{ x: 900 }" :scroll="{ x: 900 }"
:pagination="false" :pagination="false"
/> />
@@ -104,7 +106,7 @@
:current="currentPage" :current="currentPage"
:total="tableDataTotal" :total="tableDataTotal"
class="pagination" class="pagination"
@change="onChange" @change="changePaginationStu"
v-if="tableDataTotal > 10" v-if="tableDataTotal > 10"
/> />
</div> </div>
@@ -112,8 +114,8 @@
</div> </div>
</div> </div>
<div class="btnn"> <div class="btnn">
<button class="btn1">取消</button> <button class="btn1" @click="closeDrawer">取消</button>
<button class="btn2">确定</button> <button class="btn2" @click="closeDrawer">确定</button>
</div> </div>
</div> </div>
</a-drawer> </a-drawer>
@@ -123,6 +125,7 @@
import { toRefs, reactive, onMounted, onUnmounted } from "vue"; import { toRefs, reactive, onMounted, onUnmounted } from "vue";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
// import * as api from "../../../api/index"; // import * as api from "../../../api/index";
import * as api from '../../../api/indexTaskManage';
export default { export default {
name: "ProjectOnlineManage", name: "ProjectOnlineManage",
@@ -135,6 +138,10 @@ export default {
type: String, type: String,
default: "", default: "",
}, },
levelName: {
type: String,
default: "",
},
projectTaskId: { projectTaskId: {
type: Number, type: Number,
default: null, default: null,
@@ -143,6 +150,12 @@ export default {
type: Number, type: Number,
default: null, default: null,
}, },
datasource: {
type: Object,
default: function () {
return {};
},
},
}, },
setup(props, ctx) { setup(props, ctx) {
@@ -153,82 +166,80 @@ export default {
pageSize: 10, pageSize: 10,
currentPage: 1, currentPage: 1,
tableDataTotal: 0, tableDataTotal: 0,
projectName: null, projectName: "",
projectNameList: [ projectNameList: [
// {
// id: 1,
// value: "-1",
// label: "未开始",
// },
{ {
id: 1, id: 1,
value: "-1",
label: "未开始",
},
{
id: 2,
value: "0", value: "0",
label: "未完成", label: "未完成",
}, },
{ {
id: 3, id: 2,
value: "1", value: "1",
label: "已完成", label: "已完成",
}, },
], ],
tabledata: [ tabledata: [],
{ tableDataTotalLoading: true, // 表格loading加载配置
workNum: "123",
userName: "li",
deptName: "开发",
jobName: "前端开发",
time: "2022-07-22 14:00:30",
status: "已完成",
},
],
}); });
const tableDataFunc = () => { 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 = [ const columns = [
{ {
title: "工号", title: "工号",
dataIndex: "workNum", dataIndex: "studentUserNo",
key: "workNum", key: "studentUserNo",
width: 50, width: 50,
align: "center", align: "center",
className: "h head", className: "h head",
}, },
{ {
title: "姓名", title: "姓名",
dataIndex: "userName", dataIndex: "studentName",
key: "userName", key: "studentName",
width: 50, width: 50,
align: "center", align: "center",
className: "h head", className: "h head",
}, },
{ {
title: "所在部门", title: "所在部门",
dataIndex: "deptName", dataIndex: "studentDepartName",
key: "deptName", key: "studentDepartName",
width: 60, width: 60,
align: "center", align: "center",
className: "h", className: "h",
}, },
{ {
title: "所在岗位", title: "所在岗位",
dataIndex: "jobName", dataIndex: "studentJobName",
key: "jobName", key: "studentJobName",
width: 60, width: 60,
align: "center", align: "center",
className: "h", 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: "完成时间", title: "完成时间",
dataIndex: "time", dataIndex: "endStudyTime",
key: "time", key: "endStudyTime",
width: 100, width: 100,
align: "center", align: "center",
className: "h", className: "h",
@@ -240,10 +251,16 @@ export default {
width: 60, width: 60,
align: "center", align: "center",
className: "h", className: "h",
customRender: (text) => {
return (
<div class="racona">
<span> {text.record.status==0?"未完成":"已完成"}</span>
</div>
);
}
}, },
]; ];
return columns; return columns;
}
}; };
const closeDrawer = () => { const closeDrawer = () => {
@@ -255,7 +272,9 @@ export default {
}; };
const afterVisibleChange = (bol) => { const afterVisibleChange = (bol) => {
if (bol == true) { if (bol == true) {
// getManageList(); console.log('当前是什么类型',props.datasource.type)
state.tableDataTotalLoading = true;
getData();
} }
}; };
const selectProjectName = (value) => { const selectProjectName = (value) => {
@@ -270,6 +289,82 @@ export default {
console.log("Page: ", pageNumber); 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 { return {
...toRefs(state), ...toRefs(state),
selectProjectName, selectProjectName,
@@ -280,6 +375,10 @@ export default {
onMounted, onMounted,
onUnmounted, onUnmounted,
onChange, onChange,
searchTaskList,
resetTaskList,
changePaginationStu,
exportTaskStu
}; };
}, },
}; };
@@ -517,3 +616,4 @@ export default {
} }
} }
</style> </style>

View File

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

View File

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

View File

@@ -492,7 +492,7 @@
item.type === 11 || item.type === 11 ||
item.type === 12 || item.type === 12 ||
item.type === 9 item.type === 9
? commonModel(item) ? commonModel(item, value.name)
: item.type === 2 : item.type === 2
? faceTeachModel(item) ? faceTeachModel(item)
: item.type === 4 : 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> </div>
</template> </template>
@@ -1360,7 +1360,8 @@ export default {
examinationData: '', examinationData: '',
evaluationData: '', evaluationData: '',
homeworkData: '', homeworkData: '',
commonData: '' commonData: '',
commonLevelName: ''
}); });
@@ -1660,7 +1661,8 @@ export default {
// 作业弹框名称 RouterHomeworkManage // 作业弹框名称 RouterHomeworkManage
} }
// 在线、案例、外链、评估、直播、活动点击管理弹框 // 在线、案例、外链、评估、直播、活动点击管理弹框
const commonModel = (data) => { const commonModel = (data, levelname) => {
state.commonLevelName = levelname;
console.log(data) console.log(data)
state.commonModelVisible = true; state.commonModelVisible = true;
state.commonModelVisibleTitle = data.name; state.commonModelVisibleTitle = data.name;

View File

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