feat:增加项目-排行榜-进度排行榜-列表/搜索

This commit is contained in:
wyx
2023-02-08 18:44:12 +08:00
parent e32ec87fd3
commit fbe511c358
2 changed files with 94 additions and 69 deletions

View File

@@ -89,6 +89,8 @@ export const editLearnInfo = (obj) => http.post('/admin/router/editInfo', obj)
//项目积分榜单 //项目积分榜单
// export const scoreRank = (obj) => http.post("/admin/project/scoreRank", obj); // export const scoreRank = (obj) => http.post("/admin/project/scoreRank", obj);
export const scoreRank = (params) => http.get('/points/top/list', { params }) export const scoreRank = (params) => http.get('/points/top/list', { params })
// 项目进度排行
export const completionRank = (params) => http.get('/stu/project/rank_list/completion_list', { params })
//排行榜 //排行榜
export const billboard = (obj) => http.post("/admin/project/billboard", obj); export const billboard = (obj) => http.post("/admin/project/billboard", obj);
//项目基础信息----------------------------------- //项目基础信息-----------------------------------

View File

@@ -896,12 +896,14 @@
<div class="right"> <div class="right">
<a-select <a-select
v-model:value="valuestu1" v-model:value="valuestu1"
@change="jdSelectChange"
style="width: 80px; margin-right: 16px" style="width: 80px; margin-right: 16px"
:options="rankjindu" :options="rankjindu"
> >
</a-select> </a-select>
<a-select <a-select
v-model:value="valuestu2" v-model:value="valuestu2"
@change="jdSelectChange1"
style="width: 112px" style="width: 112px"
:options="rankjieduan" :options="rankjieduan"
></a-select> ></a-select>
@@ -912,7 +914,7 @@
<a-table <a-table
:columns="jindutablecolumns" :columns="jindutablecolumns"
:data-source="jindutabledata" :data-source="jindutabledata"
:loading="tableDataTotal === -1 ? true : false" :loading="processRankLoading"
expandRowByClick="true" expandRowByClick="true"
:scroll="{ y: 330 }" :scroll="{ y: 330 }"
@expand="expandTable" @expand="expandTable"
@@ -2300,13 +2302,13 @@ export default {
projectTaskId: "", //项目任务任务id projectTaskId: "", //项目任务任务id
//进度排行学员 //进度排行学员
rankjindu: [ rankjindu: [
{ value: "学员", label: "学员" }, { value: 0, label: "学员" },
{ value: "小组", label: "小组" }, { value: 1, label: "小组" },
], ],
valuestu1: "学员", valuestu1: 0,
//进度排行阶段 //进度排行阶段
rankjieduan: [{ value: "第一阶段", label: "第一阶段" }], rankjieduan: [],
valuestu2: "第一阶段", valuestu2: "",
//积分排行 //积分排行
rankxuefen: [ rankxuefen: [
{ value: 0, label: "学员" }, { value: 0, label: "学员" },
@@ -2409,83 +2411,31 @@ export default {
ChangeGroupId: null, //要换组的学生的小组id ChangeGroupId: null, //要换组的学生的小组id
fileList: [], //文件列表 fileList: [], //文件列表
//进度排行表 //进度排行表
jindutabledata: [ jindutabledata: [],
{
rank: "1",
name: "哈哈",
jd: "80%",
},
{
rank: "2",
name: "哈哈",
jd: "70%",
},
{
rank: "3",
name: "哈哈",
jd: "70%",
},
{
rank: "4",
name: "哈哈",
jd: "70%",
},
{
rank: "5",
name: "哈哈",
jd: "70%",
},
{
rank: "6",
name: "哈哈",
jd: "70%",
},
{
rank: "7",
name: "哈哈",
jd: "70%",
},
{
rank: "8",
name: "哈哈",
jd: "70%",
},
{
rank: "9",
name: "哈哈",
jd: "70%",
},
{
rank: "10",
name: "哈哈",
jd: "70%",
},
],
jindutablecolumns: [ jindutablecolumns: [
{ {
title: "排名", title: "排名",
dataIndex: "rank", dataIndex: "index",
key: "rank", key: "index",
width: 50, width: 50,
align: "center", align: "center",
className: "h", className: "h",
customRender: (text) => { customRender: (text) => {
if (text.record.rank == "1") { if (text.record.index == "1") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/one.png")} src={require("../../assets/images/taskpage/one.png")}
/> />
); );
} else if (text.record.rank == "2") { } else if (text.record.index == "2") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{ width: 24, height: 24 }}
src={require("../../assets/images/taskpage/two.png")} src={require("../../assets/images/taskpage/two.png")}
/> />
); );
} else if (text.record.rank == "3") { } else if (text.record.index == "3") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{ width: 24, height: 24 }}
@@ -2493,7 +2443,7 @@ export default {
/> />
); );
} else { } else {
return <div>{text.record.rank}</div>; return <div>{text.record.index}</div>;
} }
}, },
}, },
@@ -2508,14 +2458,15 @@ export default {
{ {
title: "进度", title: "进度",
dataIndex: "jd", dataIndex: "rateStr",
key: "jd", key: "rateStr",
width: 50, width: 50,
align: "center", align: "center",
className: "h", className: "h",
}, },
], ],
scoreRankLoading:true, scoreRankLoading:true,
processRankLoading:true,
//学分排行表 //学分排行表
xuefentabledata: [ xuefentabledata: [
@@ -2847,6 +2798,14 @@ export default {
console.log(e) console.log(e)
scoreRank(); scoreRank();
} }
const jdSelectChange = (e) => {
console.log(e)
completionRank();
}
const jdSelectChange1 = (e) => {
console.log(e)
completionRank();
}
//项目积分榜单 //项目积分榜单
const scoreRank = (period, type) => { const scoreRank = (period, type) => {
state.scoreRankLoading = true; state.scoreRankLoading = true;
@@ -2862,7 +2821,7 @@ export default {
type: Number(state.valuestu3), // 查询类型 0 学员积分榜 1 小组积分榜 type: Number(state.valuestu3), // 查询类型 0 学员积分榜 1 小组积分榜
}) })
let obj = { let obj = {
projectId: state.projectId, // 项目id projectId: 290, // 项目id
name: "", // 名字,没有则传空字符串 name: "", // 名字,没有则传空字符串
startTime: state.rankStartTime?state.rankStartTime:0, // 数据查询的起始时间 10位时间戳 startTime: state.rankStartTime?state.rankStartTime:0, // 数据查询的起始时间 10位时间戳
endTime: state.rankEndTime?state.rankEndTime:0, endTime: state.rankEndTime?state.rankEndTime:0,
@@ -2877,10 +2836,12 @@ export default {
if(res.data.code==200){ if(res.data.code==200){
state.datascore = res.data.data; state.datascore = res.data.data;
state.datascoreg = res.data.data; state.datascoreg = res.data.data;
state.xuefentabledata = res.data.data;
state.scoreRankLoading = false; state.scoreRankLoading = false;
}else{ }else{
state.datascore = []; state.datascore = [];
state.datascoreg = []; state.datascoreg = [];
state.xuefentabledata = [];
state.scoreRankLoading = false; state.scoreRankLoading = false;
} }
}) })
@@ -2890,10 +2851,40 @@ export default {
message.error('榜单获取失败'); message.error('榜单获取失败');
state.datascore = []; state.datascore = [];
state.datascoreg = []; state.datascoreg = [];
state.xuefentabledata = [];
state.scoreRankLoading = false; state.scoreRankLoading = false;
}); });
}; };
// 项目进度榜单
const completionRank = () => {
state.processRankLoading = true;
let obj = {
projectId: 290, // 项目id
startTime: state.rankStartTime?state.rankStartTime:0, // 数据查询的起始时间 10位时间戳
endTime: state.rankEndTime?state.rankEndTime:0,
stageId: state.valuestu2, // 阶段ID
type: Number(state.valuestu3), // 查询类型 0 学员积分榜 1 小组积分榜
}
console.log('我是获取得项目进度排行榜--》', obj)
api.completionRank(obj).then(res=>{
console.log('项目进度榜单获取',res)
if(res.data.datas){
state.jindutabledata = res.data.datas;
state.processRankLoading = false;
}else{
state.jindutabledata = [];
state.processRankLoading = false;
}
}).catch(err=>{
console.log(err)
state.jindutabledata = [];
state.processRankLoading = false;
})
}
// 排行榜 - end // 排行榜 - end
const levelList = reactive({ const levelList = reactive({
@@ -2957,6 +2948,28 @@ export default {
} }
} }
levelList.stageList = res.data.data.stageList; levelList.stageList = res.data.data.stageList;
if(levelList.stageList.length==1){
// 无解段任务
state.rankjieduan = [{value:0, label:'无阶段'}];
state.valuestu2 = 0;
}else{
// 有阶段任务
let arrStage = []
for(let i=0; i<levelList.stageList.length;i++){
if(levelList.stageList[i].stageId!=='0'){
let obj = {
value:levelList.stageList[i].stageId,
label:levelList.stageList[i].name
}
arrStage.push(obj)
}
}
state.rankjieduan = arrStage;
state.valuestu2 = arrStage[0].value;
}
console.log('----------------------------------->', res.data.data.stageList)
//暂时传个固定的id用 到时候看数据里面是否有在更换 //暂时传个固定的id用 到时候看数据里面是否有在更换
// state.projectTaskId = res.data.data.stageList[0].taskList[0].projectTaskId // state.projectTaskId = res.data.data.stageList[0].taskList[0].projectTaskId
let leng = res.data.data.stageList.length; let leng = res.data.data.stageList.length;
@@ -3618,6 +3631,8 @@ export default {
// 获取积分排行榜 // 获取积分排行榜
scoreRank(); scoreRank();
// 获取项目进度排行榜
completionRank();
} else if (e == 3) { } else if (e == 3) {
state.tabFlag = true; state.tabFlag = true;
@@ -3673,6 +3688,8 @@ state.ischeckCertificate=false
// 获取积分排行 // 获取积分排行
scoreRank(); scoreRank();
// 获取项目进度排行榜
completionRank();
}; };
//重置 //重置
const rankReset = () => { const rankReset = () => {
@@ -3682,7 +3699,9 @@ state.ischeckCertificate=false
state.valueName = null; state.valueName = null;
// 获取积分排行 // 获取积分排行
scoreRank() scoreRank();
// 获取项目进度排行榜
completionRank();
}; };
// end -----排行榜----------------排行榜----------------------排行榜-----------排行榜---------- // end -----排行榜----------------排行榜----------------------排行榜-----------排行榜----------
@@ -4799,6 +4818,10 @@ state.ischeckCertificate=false
scoreRank, scoreRank,
jfSelectChange, jfSelectChange,
completionRank,
jdSelectChange,
jdSelectChange1,
}; };
}, },
}; };