feat:移动任务 选择面授

This commit is contained in:
宋文超
2022-11-16 09:43:21 +08:00
parent f21d7994dd
commit aa5ed4e7b6
7 changed files with 712 additions and 487 deletions

View File

@@ -52,19 +52,19 @@
<div class="grouprightscore">
<div class="sbutton" @click="typeChange(1)">
<img
v-if="stuValue===2"
v-if="stuValue === 2"
src="../../assets/images/taskpage/stu0.png"
/>
<img v-else src="../../assets/images/taskpage/stu.png" />
<div :class="stuValue===2 ? '' : 'btn1'">学员积分榜</div>
<div :class="stuValue === 2 ? '' : 'btn1'">学员积分榜</div>
</div>
<div class="sbutton" @click="typeChange(2)">
<img
v-if="stuValue===2"
v-if="stuValue === 2"
src="../../assets/images/taskpage/group.png"
/>
<img v-else src="../../assets/images/taskpage/group0.png" />
<div :class="stuValue===2 ? 'btn1' : ''">小组积分榜</div>
<div :class="stuValue === 2 ? 'btn1' : ''">小组积分榜</div>
</div>
</div>
<div class="group" style="justify-content: center">
@@ -101,7 +101,7 @@
</div>
<div class="listdiv">
<div class="slist">
<a-list :data-source="stuValue ===1? datascoreg : datascore">
<a-list :data-source="stuValue === 1 ? datascoreg : datascore">
<template #renderItem="{ item }">
<div class="item">
<div v-if="item.id == 1" class="itemleft">
@@ -141,13 +141,13 @@
<div class="groupright">
<div class="spandiv"><span class="spantext">规则</span></div>
<div v-if="edit" class="btns">
<div class="btn1" @click="edit = !edit">
<div class="btn1" @click="edit = false">
<img src="../../assets/images/projectadd/edit1.png" />
<span class="btn1text">编辑</span>
</div>
</div>
<div v-else class="btns">
<div class="btn1" @click="edit = !edit">
<div class="btn1" @click="editRule">
<span class="btn1text">保存</span>
</div>
</div>
@@ -164,48 +164,37 @@
><span class="scoretext">{{ score1 }} </span><span>积分</span>
</div>
<div class="content">
<span>完成在线课程获得 </span
><span class="scoretext">{{ done }}</span
><span style="margin-right:50px">积分</span>
<span>完成面授课程获得 </span
><span class="scoretext">{{ done1 }}</span
><span style="margin-right:50px">积分</span>
<span>完成作业成绩不低于 </span
><span class="scoretext">{{ done2 }}</span
><span>分获得</span>
<span class="scoretext">{{ done3 }}</span
><span>分获得</span> <span class="scoretext">{{ done3 }}</span
><span>积分</span>
</div>
<div class="content">
<span></span
><span class="scoretext">{{ four1}}</span
<span></span><span class="scoretext">{{ four1 }}</span
><span>名学完在线课程获得</span>
<span class="scoretext">{{ four2}}</span
><span style="margin-right:50px">积分</span>
<span></span
><span class="scoretext">{{ four3}}</span
<span class="scoretext">{{ four2 }}</span
><span style="margin-right: 50px">积分</span> <span></span
><span class="scoretext">{{ four3 }}</span
><span>名提交作业且成绩不低于</span>
<span class="scoretext">{{ four4}}</span
><span >分获得</span>
<span class="scoretext">{{ four5}}</span
<span class="scoretext">{{ four4 }}</span
><span>分获得</span> <span class="scoretext">{{ four5 }}</span
><span>积分</span>
</div>
<div class="content">
<span>考试成绩高于</span
><span class="scoretext">{{ five1 }}</span
><span>分获得</span>
<span class="scoretext">{{ five2 }}</span
><span>分获得</span> <span class="scoretext">{{ five2 }}</span
><span>积分</span>
</div>
<div class="content">
<span>考勤正常学员获得 </span
><span class="scoretext">{{ six1}}</span
><span class="scoretext">{{ six1 }}</span
><span>积分</span>
</div>
<div class="content">
<span>成为小组长获得</span
><span class="scoretext">{{ seven1 }}</span
><span style="margin-right:50px">积分</span>
><span style="margin-right: 50px">积分</span>
<span>优秀学员可获得</span>
<span class="scoretext">{{ seven2 }}</span
><span>积分</span>
@@ -228,82 +217,60 @@
><span>积分</span>
</div>
<div class="content">
<span>完成在线课程获得 </span
><span
><a-input v-model:value="done" :bordered="false" /></span
><span style="margin-right:50px">积分</span>
<span>完成面授课程获得 </span
><a-input
v-model:value="done1"
:bordered="false"
/>
<span style="margin-right:50px">积分</span>
<span>完成作业成绩不低于 </span
><a-input
v-model:value="done2"
:bordered="false"
/><span>分获得</span>
<a-input
v-model:value="done3"
:bordered="false"
/><span>积分</span>
<span>完成作业成绩不低于 </span
><a-input v-model:value="done2" :bordered="false" /><span
>分获得</span
>
<a-input v-model:value="done3" :bordered="false" /><span
>积分</span
>
</div>
<div class="content">
<span></span
><a-input
v-model:value="four1"
:bordered="false"
/><span>名学完在线课程获得</span>
<a-input
v-model:value="four2"
:bordered="false"
/><span style="margin-right:50px">积分</span>
><a-input v-model:value="four1" :bordered="false" /><span
>名学完在线课程获得</span
>
<a-input v-model:value="four2" :bordered="false" /><span
style="margin-right: 50px"
>积分</span
>
<span></span
><a-input
v-model:value="four3"
:bordered="false"
/><span>名提交作业且成绩不低于</span>
<a-input
v-model:value="four4"
:bordered="false"
/><span >分获得</span>
<a-input
v-model:value="four5"
:bordered="false"
/><span>积分</span>
><a-input v-model:value="four3" :bordered="false" /><span
>名提交作业且成绩不低于</span
>
<a-input v-model:value="four4" :bordered="false" /><span
>分获得</span
>
<a-input v-model:value="four5" :bordered="false" /><span
>积分</span
>
</div>
<div class="content">
<span>考试成绩高于</span
><a-input
v-model:value="five1"
:bordered="false"
/><span>分获得</span>
<a-input
v-model:value="five2"
:bordered="false"
/><span>积分</span>
><a-input v-model:value="five1" :bordered="false" /><span
>分获得</span
>
<a-input v-model:value="five2" :bordered="false" /><span
>积分</span
>
</div>
<div class="content">
<span>考勤正常学员获得 </span
><a-input
v-model:value="six1"
:bordered="false"
/><span>积分</span>
><a-input v-model:value="six1" :bordered="false" /><span
>积分</span
>
</div>
<div class="content">
<span>成为小组长获得</span
><a-input
v-model:value="seven1"
:bordered="false"
/><span style="margin-right:50px">积分</span>
><a-input v-model:value="seven1" :bordered="false" /><span
style="margin-right: 50px"
>积分</span
>
<span>优秀学员可获得</span>
<a-input
v-model:value="seven2"
:bordered="false"
/><span>积分</span>
<a-input v-model:value="seven2" :bordered="false" /><span
>积分</span
>
</div>
</div>
</div>
</div></a-tab-pane
@@ -315,8 +282,11 @@
<script>
import StuScoreDetail from "../../components/drawers/StuScoreDetail";
import { reactive, toRefs } from "vue";
import { reactive, toRefs, computed } from "vue";
import * as api from "../../api/index1";
// import { message } from "ant-design-vue";
// import { scoreRule } from "../../api/indexTaskadd"; //获取项目积分规则
import { setScoreRule } from "../../api/indexTaskadd"; //设置项目积分规则
export default {
name: "ProjectScore",
components: {
@@ -483,24 +453,21 @@ export default {
tableDataTotal: 30,
stuValue: false,
Svisible: false,
score1: 5,
score2: 5,
done:null,
done1:null,
done2:null,
done3:null,
four1:null,
four2:null,
four3:null,
four4:null,
four5:null,
five1:null,
five2:null,
six1:null,
seven1:null,
seven2:null,
score1: null,
done2: null,
done3: null,
four1: null,
four2: null,
four3: null,
four4: null,
four5: null,
five1: null,
five2: null,
six1: null,
seven1: null,
seven2: null,
edit: true,
searchRankName:null,//榜单搜索名称
searchRankName: null, //榜单搜索名称
});
const getTableData = () => {
let datas = state.tabledataStu;
@@ -523,6 +490,23 @@ export default {
});
state.tabledataStu = datas;
};
const scoresum = computed(() => {
// console.log(Object.prototype.toString.call(Number(state.score1)));
// if (Object.prototype.toString.call(state.score1) !== "[object Number]") {
// message.destroy();
// return message.warning("请输入合法数字");
// }
return (
Number(state.score1) +
Number(state.done3) +
Number(state.four2) +
Number(state.four5) +
Number(state.five2) +
Number(state.six1) +
Number(state.seven1) +
Number(state.seven2)
);
});
getTableData();
const tabsChange = (e) => {
@@ -530,30 +514,29 @@ export default {
// console.log('获取项目积分-榜单')
scoreRank(1, 1);
}
rankReset()
state.todayvalue='1'
state.stuValue=1
rankReset();
state.todayvalue = "1";
state.stuValue = 1;
};
//重置
const rankReset=()=>{
state.searchRankName=null
}
const rankReset = () => {
state.searchRankName = null;
};
// start -------榜单---------------榜单------------榜单------------------榜单---------
//学员积分还是小组积分
const typeChange = (num) => {
const typeChange = (num) => {
state.stuValue = num;
scoreRank(state.stuValue , state.todayvalue);
scoreRank(state.stuValue, state.todayvalue);
};
//选择时间
const changeday = (e) => {
state.todayvalue = e.target.value;
scoreRank(state.stuValue , state.todayvalue);
scoreRank(state.stuValue, state.todayvalue);
};
//搜索
//搜索
const searchRank = () => {
scoreRank(state.stuValue , state.todayvalue)
scoreRank(state.stuValue, state.todayvalue);
};
//项目积分榜单
const scoreRank = (period, type) => {
@@ -576,6 +559,46 @@ export default {
});
};
// end -----榜单----------------榜单----------------------榜单-----------榜单----------
const editRule = () => {
console.log(props.projectId);
let obj = {
courseScore: state.score1,
examItem: {
numLimit: 0,
score: state.five2,
scoreLimit: state.five1,
},
//有名次要求的提交作业
homeworkItem: {
numLimit: state.four3,
score: state.four5,
scoreLimit: state.four4,
},
leaderScore: state.seven1,
projectId: props.projectId,
signScore: state.six1,
topCompleteCourseItem: {
numLimit: state.four1,
score: state.four2,
scoreLimit: 0,
},
topStudentScore: state.seven2,
totalScore: scoresum.value,
};
console.log(obj);
setScoreRule(obj)
.then((res) => {
console.log(res.data, "修改成功");
})
.catch((err) => {
console.log(err.data);
});
// scoreRule({
// projectId: props.projectId,
// });
state.edit = true;
};
return {
...toRefs(state),
typeChange,
@@ -584,14 +607,25 @@ export default {
rankReset,
tabsChange,
scoreRank,
editRule,
scoresum,
};
},
computed: {
// 计算属性的 getter
scoresum: function () {
return Number(this.score1) + Number(this.score2);
},
},
// computed: {
// // 计算属性的 getter
// scoresum: function () {
// return (
// Number(this.score1) +
// Number(this.done3) +
// Number(this.four2) +
// Number(this.four5) +
// Number(this.five2) +
// Number(this.six1) +
// Number(this.seven1) +
// Number(this.seven2)
// );
// },
// },
};
</script>
<style lang="scss">