feat:项目任务大纲列表渲染接口

This commit is contained in:
dongwug
2022-11-08 11:58:50 +08:00
parent 9ea1cf24e3
commit 7b52d58288
2 changed files with 204 additions and 166 deletions

View File

@@ -42,7 +42,7 @@ import qs from 'qs';
// 接口-请求
//基础票数上传接口
// export const baseVoteupload = (obj) => http.post('/vote/baseVoteupload', obj)
export const baseVoteupload = (obj) => http.post('/vote/baseVoteupload', obj)
//创建题干信息接口
export const createOptionMessage = (obj) => http.post('/vote/createOptionMessage', obj)
@@ -53,6 +53,12 @@ export const createVote = (obj) => http.post('/vote/createVote', obj)
//删除投票信息
export const deleteVoteMessage = (obj) => http.post('/vote/deleteVoteMessage', { params: obj })
//删除题干信息接口
export const deleteVoteStem = (obj) => http.post('/vote/deleteVoteStem', { params: obj })
//删除题选项息接口
export const deleteVoteStemOption = (obj) => http.post('/vote/deleteVoteStemOption', { params: obj })
//修改投票信息接口
export const editVote = (obj) => http.post('/vote/editVote', obj)

View File

@@ -259,11 +259,11 @@
<a-collapse-panel
v-for="(value, index) in taskSyllabus"
:key="index"
:header="value.text"
:header="value.name"
>
<div
class="course"
v-for="(item, key) in value.children"
v-for="(item, key) in value.taskList"
:key="key"
>
<!-- :style="{width:item.course==='在线'?'28px':
@@ -281,29 +281,29 @@
>
<img
:src="
item.course === '在线'
item.type == '1'
? require('../../assets/images/leveladd/zai.png')
: item.course === '面授'
: item.type == '2'
? require('../../assets/images/leveladd/mian.png')
: item.course === '案例'
: item.type == '3'
? require('../../assets/images/leveladd/an.png')
: item.course === '作业'
: item.type == '4'
? require('../../assets/images/leveladd/zuo.png')
: item.course === '考试'
: item.type == '5'
? require('../../assets/images/leveladd/kao.png')
: item.course === '直播'
: item.type == '6'
? require('../../assets/images/leveladd/zhi.png')
: item.course === '外链'
: item.type == '7'
? require('../../assets/images/leveladd/wai.png')
: item.course === '讨论'
: item.type == '8'
? require('../../assets/images/leveladd/tao.png')
: item.course === '活动'
: item.type == '9'
? require('../../assets/images/leveladd/huo.png')
: item.course === '测评'
: item.type == '10'
? require('../../assets/images/leveladd/ce.png')
: item.course === '调研'
: item.type == '11'
? require('../../assets/images/leveladd/diao.png')
: item.course === '投票'
: item.type == '12'
? require('../../assets/images/leveladd/tou.png')
: null
"
@@ -311,26 +311,27 @@
</div>
</div>
<div>
<div class="iconame">{{ item.course }}</div>
<div class="iconame">{{ item.name }}</div>
<div class="icontext">{{ item.name }}</div>
</div>
</div>
<div class="type">
<div
:class="
item.classify == '必修' ? 'typename1' : 'typename'
item.flag == true ? 'typename1' : 'typename'
"
>
{{ item.classify }}
<!-- {{ item.classify }} -->
<span v-if="item.flag">必修</span> <span v-else>选修</span>
</div>
</div>
<div class="time">
<div class="timetext">开始时间</div>
<div class="timetext">{{ item.beginTime }}</div>
<div class="timetext">{{ item.createTime }}</div>
</div>
<div class="progress">
<div class="progresstext">
{{ item.complete }}/{{ item.total }}
{{ item.finishStuCnt }}/{{ item.totalStuCnt }}
</div>
<div style="display: flex">
<a-progress
@@ -340,7 +341,7 @@
trailColor="rgba(253, 209, 98, 0.2)"
/>
<span class="progresstext" style="margin-left: 10px"
>{{ item.percent }}%</span
>{{ (item.finishStuCnt/item.totalStuCnt)*100 }}%</span
>
</div>
</div>
@@ -349,7 +350,7 @@
class="operation"
style="cursor: pointer"
:style="{
display: item.course === '面授' ? 'flex' : 'none',
display: item.type == '2' ? 'flex' : 'none',
}"
@click="showFS"
>
@@ -358,10 +359,10 @@
<div
class="operation"
style="cursor: pointer"
@click="showAA(item.course)"
@click="showAA(item.type)"
:style="{
display:
item.course === '直播' || item.course === '活动'
item.type == '6' || item.type == '9'
? 'flex'
: 'none',
}"
@@ -373,19 +374,19 @@
style="cursor: pointer"
:style="{
display:
item.course === '直播' ||
item.course === '活动' ||
item.course === '面授'
item.type == '6' ||
item.type == '9' ||
item.type == '2'
? 'flex'
: 'none',
}"
@click="
item.course === '面授'
? showCopyModal(item.course)
: item.course === '直播'
? showzhibModal(item.course)
: item.course === '活动'
? showhuodModal(item.course)
item.type == '2'
? showCopyModal(item.type)
: item.type == '6'
? showzhibModal(item.type)
: item.type == '9'
? showhuodModal(item.type)
: null
"
>
@@ -395,20 +396,20 @@
class="operation"
style="cursor: pointer; margin-right: 35px"
@click="
item.course === '在线' ||
item.course === '案例' ||
item.course === '外链' ||
item.course === '讨论' ||
item.course === '直播' ||
item.course === '调研' ||
item.course === '投票' ||
item.course === '活动'
item.type == '1' ||
item.type == '3' ||
item.type == '7' ||
item.type == '8' ||
item.type == '6' ||
item.type == '11' ||
item.type == '12' ||
item.type == '9'
? showTime(item.course, item.name)
: item.course === '考试' || item.course === '测评'
: item.type == '5' || item.type == '10'
? showTest(item.course, item.name)
: item.course === '面授'
: item.type == '面授'
? showFace(item.course)
: item.course === '作业'
: item.type == '作业'
? showWork(item.course)
: null
"
@@ -1647,7 +1648,7 @@
</div>
</template>
<script>
import { reactive, toRefs } from "vue";
import { reactive, toRefs,onMounted } from "vue";
import { useRoute } from "vue-router";
// import { CaretRightOutlined } from "@ant-design/icons-vue";
import TimeManage from "../../components/drawers/TimeManage";
@@ -1667,6 +1668,7 @@ import ProjectScore from "../../components/drawers/ProjectScore";
import TaskImpStu from "../../components/drawers/TaskFaceIn";
import { storage } from "../../api/storage";
import * as api from "../../api/index1";
import * as apitl from "../../api/index";
export default {
name: "taskPage",
components: {
@@ -1689,7 +1691,7 @@ export default {
},
setup() {
const state = reactive({
projectId: storage.get("projectId") ?JSON.parse(storage.get("projectId")) : null,
projectId: storage.get("projectId") ? JSON.parse(storage.get("projectId")) : null,
goodstuList: [
{
id: 1,
@@ -2144,125 +2146,127 @@ export default {
//任务大纲列表
taskSyllabus: [
{
text: "阶段1腾飞班阶段1",
children: [
{
course: "在线",
name: "时间管理",
classify: "选修",
beginTime: "2022-09-10 14:03",
total: 50, //总人数
complete: 20, //完成人数
percent: 40,
},
{
course: "直播",
name: "管理直播间",
classify: "必修",
beginTime: "2022-09-12 14:03",
total: 50, //总人数
complete: 10, //完成人数
percent: 20,
},
{
course: "面授",
name: "管理面授课",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 80, //总人数
complete: 0, //完成人数
percent: 0,
},
{
course: "活动",
name: "管理活动",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 40, //完成人数
percent: 80,
},
{
course: "作业",
name: "管理者作业",
classify: "选修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 30, //完成人数
percent: 60,
},
{
course: "考试",
name: "管理者考试",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 50, //完成人数
percent: 100,
},
{
course: "案例",
name: "管理直播间",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 10, //完成人数
percent: 20,
},
{
course: "外链",
name: "管理直播间",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 10, //完成人数
percent: 20,
},
],
},
{
text: "阶段2腾飞班阶段2",
children: [
{
course: "讨论",
name: "时间管理",
classify: "选修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 20, //完成人数
percent: 40,
},
{
course: "测评",
name: "管理直播间",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 10, //完成人数
percent: 20,
},
{
course: "调研",
name: "管理直播间",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 10, //完成人数
percent: 20,
},
{
course: "投票",
name: "管理直播间",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 10, //完成人数
percent: 20,
},
],
},
// {
// text: "阶段1腾飞班阶段1",
// children: [
// {
// course: "在线",
// name: "时间管理",
// classify: "选修",
// beginTime: "2022-09-10 14:03",
// total: 50, //总人数
// complete: 20, //完成人数
// percent: 40,
// },
// {
// course: "直播",
// name: "管理直播间",
// classify: "必修",
// beginTime: "2022-09-12 14:03",
// total: 50, //总人数
// complete: 10, //完成人数
// percent: 20,
// },
// {
// course: "面授",
// name: "管理面授课",
// classify: "必修",
// beginTime: "2022-09-16 14:03",
// total: 80, //总人数
// complete: 0, //完成人数
// percent: 0,
// },
// {
// course: "活动",
// name: "管理活动",
// classify: "必修",
// beginTime: "2022-09-16 14:03",
// total: 50, //总人数
// complete: 40, //完成人数
// percent: 80,
// },
// {
// course: "作业",
// name: "管理者作业",
// classify: "选修",
// beginTime: "2022-09-16 14:03",
// total: 50, //总人数
// complete: 30, //完成人数
// percent: 60,
// },
// {
// course: "考试",
// name: "管理者考试",
// classify: "必修",
// beginTime: "2022-09-16 14:03",
// total: 50, //总人数
// complete: 50, //完成人数
// percent: 100,
// },
// {
// course: "案例",
// name: "管理直播间",
// classify: "必修",
// beginTime: "2022-09-16 14:03",
// total: 50, //总人数
// complete: 10, //完成人数
// percent: 20,
// },
// {
// course: "外链",
// name: "管理直播间",
// classify: "必修",
// beginTime: "2022-09-16 14:03",
// total: 50, //总人数
// complete: 10, //完成人数
// percent: 20,
// },
// ],
// },
// {
// text: "阶段2腾飞班阶段2",
// children: [
// {
// course: "讨论",
// name: "时间管理",
// classify: "选修",
// beginTime: "2022-09-16 14:03",
// total: 50, //总人数
// complete: 20, //完成人数
// percent: 40,
// },
// {
// course: "测评",
// name: "管理直播间",
// classify: "必修",
// beginTime: "2022-09-16 14:03",
// total: 50, //总人数
// complete: 10, //完成人数
// percent: 20,
// },
// {
// course: "调研",
// name: "管理直播间",
// classify: "必修",
// beginTime: "2022-09-16 14:03",
// total: 50, //总人数
// complete: 10, //完成人数
// percent: 20,
// },
// {
// course: "投票",
// name: "管理直播间",
// classify: "必修",
// beginTime: "2022-09-16 14:03",
// total: 50, //总人数
// complete: 10, //完成人数
// percent: 20,
// },
// ],
// },
],
taskSyllabusActive: 0,
//在线管理等页面传递参数
showTimeText: "",
@@ -2284,6 +2288,32 @@ export default {
// 输入接入 -- start --
//任务大纲渲染
const getTaskList = () => {
let objtl = {
projectId: 27,
}
apitl
.getProjectDetail(objtl)
.then((res) => {
if (res.status == 200) {
console.log('res', res)
console.log('阶段列表',res.data.data.stageList);
let leng = res.data.data.stageList.length;
if (leng > 0) {
//获取任务列表 阶段
let taskarr = res.data.data.stageList
state.taskSyllabus = taskarr
console.log( res.data.data.stageList[0].taskList[0].type,'ggg');
}
}
})
.catch((err) => {
console.log('获取任务列表失败', err)
})
};
//学员学员管理渲染
const getTableDate = () => {
let datas = state.tabledata;
@@ -2743,7 +2773,9 @@ export default {
// end -----排行榜----------------排行榜----------------------排行榜-----------排行榜----------
onMounted(()=>{
getTaskList()
})
return {
...toRefs(state),
@@ -2789,7 +2821,7 @@ export default {
tabsChange,
getTaskList,
rankTimeChange,
getbillboard,