feat:学员获取 搜索重置查看 关卡阶段定位

This commit is contained in:
宋文超
2022-11-17 16:16:14 +08:00
parent 2129610601
commit 54b6e4d6ec
10 changed files with 473 additions and 430 deletions

View File

@@ -1,17 +1,14 @@
import http from "./config"; import http from "./config";
// 创建考试信息接口 // 创建考试信息接口
export const createExamination = (obj) => http.post('/examination/createExamination',obj,{ export const createExamination = (obj) => http.post('/examination/createExamination', obj);
headers: {
'token': '123'
}
});
// 根据Id删除考试信息 // 根据Id删除考试信息
export const deleteExaminationById = (obj) => http.post('/examination/deleteExaminationById',obj); export const deleteExaminationById = (obj) => http.post('/examination/deleteExaminationById', obj);
// 根据ID获取考试信息详情 // 根据ID获取考试信息详情
export const queryExaminationDetailById = (obj) => http.post('/examination/queryExaminationDetailById',obj,{headers: { export const queryExaminationDetailById = (obj) => http.post('/examination/queryExaminationDetailById', obj, {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' headers: {
} 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
}
}); });
// 创建考试信息接口 // 创建考试信息接口
export const updateExamination = (obj) => http.post('/examination/updateExamination',obj); export const updateExamination = (obj) => http.post('/examination/updateExamination', obj);

View File

@@ -4,25 +4,13 @@ import http from "./config";
export const getLiveBroadcastInfor = (obj) => http.get('/liveBroadcast', { params: obj }) export const getLiveBroadcastInfor = (obj) => http.get('/liveBroadcast', { params: obj })
//创建直播接口 //创建直播接口
export const createLiveBroadcast = (obj) => http.post('/liveBroadcast/createLiveBroadcast', obj, { export const createLiveBroadcast = (obj) => http.post('/liveBroadcast/createLiveBroadcast', obj)
headers: {
'token': '123'
}
})
//直播信息删除接口 //直播信息删除接口
export const deleteLiveBroadcast = (obj) => http.post('/liveBroadcast/deleteLiveBroadcast', obj, { export const deleteLiveBroadcast = (obj) => http.post('/liveBroadcast/deleteLiveBroadcast', obj)
headers: {
'token': '123'
}
})
//直播信息修改接口 //直播信息修改接口
export const updateLiveBroadcastMessage = (obj) => http.post('/liveBroadcast/updateLiveBroadcastMessage', obj, { export const updateLiveBroadcastMessage = (obj) => http.post('/liveBroadcast/updateLiveBroadcastMessage', obj)
headers: {
'token': '123'
}
})
//获取全部评估信息接口 //获取全部评估信息接口
export const queryAssessmentDetailList = (obj) => http.post('/assessment/queryAssessmentDetailList', obj) export const queryAssessmentDetailList = (obj) => http.post('/assessment/queryAssessmentDetailList', obj)

View File

@@ -25,4 +25,7 @@ export const topStudent = (obj) => http.post('/admin/project/topStudent', obj)
export const overview = (obj) => http.get('/admin/project/overview', { params: obj }) export const overview = (obj) => http.get('/admin/project/overview', { params: obj })
//设置项目积分规则 //设置项目积分规则
export const setScoreRule = (obj) => http.post('/admin/project/setScoreRule', obj) export const setScoreRule = (obj) => http.post('/admin/project/setScoreRule', obj)
//获取学员积分明细列表
export const studentScoreList = (obj) => http.post('/admin/project/studentScoreList', obj)

View File

@@ -1,10 +1,6 @@
import http from "./config"; import http from "./config";
//获取任务列表 //获取任务列表
export const getTask = (obj) => http.get('/admin/project/detail', { params: obj }, { export const getTask = (obj) => http.get('/admin/project/detail', { params: obj })
headers: {
'token': '123'
}
})
//项目里的新建或编辑阶段任务 //项目里的新建或编辑阶段任务
export const addTask = (obj) => http.post('/admin/project/editTask', obj) export const addTask = (obj) => http.post('/admin/project/editTask', obj)

View File

@@ -1,18 +1,14 @@
import http from "./config"; import http from "./config";
// 创建作业信息接口 // 创建作业信息接口
export const createWorkTask = (obj) => export const createWorkTask = (obj) =>
http.post("/work/createWorkTask", obj, { http.post("/work/createWorkTask", obj);
headers: {
token: "123",
},
});
// 删除作业信息接口 // 删除作业信息接口
export const deleteWorkTask = (obj) => http.post("/work/deleteWorkTask", obj); export const deleteWorkTask = (obj) => http.post("/work/deleteWorkTask", obj);
// 根据ID获取作业信息详情 // 根据ID获取作业信息详情
export const queryWorkDetailById = (obj) => http.post('/work/queryWorkDetailById',obj,{ export const queryWorkDetailById = (obj) => http.post('/work/queryWorkDetailById', obj, {
headers: { headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
} }
}); });
// 修改作业信息接口 // 修改作业信息接口
export const updateWorkTaskUsing = (obj) => export const updateWorkTaskUsing = (obj) =>

View File

@@ -175,6 +175,7 @@ export default {
state.textV1 = ""; state.textV1 = "";
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`); message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
localStorage.setItem("stageId", props.chooseStageId); localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
}; };
const queryDiscuss = () => { const queryDiscuss = () => {
if (props.edit) { if (props.edit) {

View File

@@ -9,16 +9,16 @@
<div class="groupname" style="width: 42px">姓名</div> <div class="groupname" style="width: 42px">姓名</div>
<a-input <a-input
class="ant-input" class="ant-input"
v-model:value="value" v-model:value="searchNameValue"
placeholder="请输入姓名" placeholder="请输入姓名"
/> />
</div> </div>
<div class="groupright"> <div class="groupright">
<div class="btn1"> <div class="btn1" @click="searchStu">
<img src="../../assets/images/courseManage/search0.png" /> <img src="../../assets/images/courseManage/search0.png" />
<span class="btn1text">搜索</span> <span class="btn1text">搜索</span>
</div> </div>
<div class="btn2"> <div class="btn2" @click="resetStud">
<img src="../../assets/images/courseManage/reset1.png" /> <img src="../../assets/images/courseManage/reset1.png" />
<span class="btn2text">重置</span> <span class="btn2text">重置</span>
</div> </div>
@@ -36,6 +36,7 @@
/> />
<div class="pa"> <div class="pa">
<a-pagination <a-pagination
v-if="tableDataTotal > 10"
showSizeChanger="true" showSizeChanger="true"
showQuickJumper="true" showQuickJumper="true"
hideOnSinglePage="true" hideOnSinglePage="true"
@@ -43,6 +44,7 @@
:current="currentPage" :current="currentPage"
:total="tableDataTotal" :total="tableDataTotal"
class="pagination" class="pagination"
@change="changePagination"
/> />
</div> </div>
</div> </div>
@@ -277,16 +279,21 @@
> >
</a-tabs> </a-tabs>
</div> </div>
<stu-score-detail v-model:Svisible="Svisible" /> <stu-score-detail
v-model:Svisible="Svisible"
v-model:studentId="checkStuId"
v-model:projectId="proId"
/>
</template> </template>
<script> <script>
import StuScoreDetail from "../../components/drawers/StuScoreDetail"; import StuScoreDetail from "../../components/drawers/StuScoreDetail";
import { reactive, toRefs, computed } from "vue"; import { reactive, toRefs, computed, onMounted } from "vue";
import * as api from "../../api/index1"; import * as api from "../../api/index1";
// import { message } from "ant-design-vue"; // import { message } from "ant-design-vue";
// import { scoreRule } from "../../api/indexTaskadd"; //获取项目积分规则 // import { scoreRule } from "../../api/indexTaskadd"; //获取项目积分规则
import { setScoreRule } from "../../api/indexTaskadd"; //设置项目积分规则 import { setScoreRule } from "../../api/indexTaskadd"; //设置项目积分规则
import { getProjStu } from "../../api/indexProjStu";
export default { export default {
name: "ProjectScore", name: "ProjectScore",
components: { components: {
@@ -301,42 +308,15 @@ export default {
setup(props) { setup(props) {
const state = reactive({ const state = reactive({
tabledataStu: [ tabledataStu: [
{ // {
key: 1, // key: 1,
name: "小李", // name: "小李",
bum: "产研部", // bum: "产研部",
gangw: "产品经理", // gangw: "产品经理",
group: "好好学习", // group: "好好学习",
diploma: "0", // diploma: "0",
operation: "查看", // operation: "查看",
}, // },
{
key: 2,
name: "小刘",
bum: "产研部",
gangw: "产品经理",
group: "天天向上",
diploma: "0",
operation: "查看",
},
{
key: 3,
name: "小王",
bum: "产研部",
gangw: "后端",
group: "好好学习",
diploma: "0",
operation: "查看",
},
{
key: 4,
name: "小赵",
bum: "产研部",
gangw: "前端",
group: "天天向上",
diploma: "0",
operation: "查看",
},
], ],
tablecolumnStu: [ tablecolumnStu: [
@@ -387,6 +367,20 @@ export default {
width: 60, width: 60,
align: "center", align: "center",
className: "operation", className: "operation",
customRender: (value) => {
return (
<div
style="color:#387df7;cursor:pointer"
onClick={() => {
state.Svisible = true;
console.log(value.record.key);
state.checkStuId = value.record.key;
}}
>
查看
</div>
);
},
}, },
], ],
datascore: [ datascore: [
@@ -450,7 +444,6 @@ export default {
activeKeyScore: "2", activeKeyScore: "2",
stuName: "请输入姓名", stuName: "请输入姓名",
todayvalue: "1", todayvalue: "1",
tableDataTotal: 30,
stuValue: false, stuValue: false,
Svisible: false, Svisible: false,
score1: null, score1: null,
@@ -468,6 +461,12 @@ export default {
seven2: null, seven2: null,
edit: true, edit: true,
searchRankName: null, //榜单搜索名称 searchRankName: null, //榜单搜索名称
pageSize: 10,
currentPage: 1,
tableDataTotal: null,
searchNameValue: null, //学员获取的姓名
checkStuId: null,
proId: null,
}); });
const getTableData = () => { const getTableData = () => {
let datas = state.tabledataStu; let datas = state.tabledataStu;
@@ -599,6 +598,66 @@ export default {
state.edit = true; state.edit = true;
}; };
const getStu = (obj) => {
state.proId = props.projectId;
let objn = obj || {
deptIds: [],
groupId: "",
groupName: "",
name: "",
pageNo: state.currentPage,
pageSize: 10,
projectId: props.projectId,
topFlag: "",
};
getProjStu(objn).then((res) => {
console.log("dedaole", res.data.data.rows);
let result = res.data.data.rows;
state.tableDataTotal = res.data.data.total;
setStuData(result);
});
};
const setStuData = (tabledata) => {
let data = tabledata;
let array = [];
data.map((item) => {
let obj = {
key: item.studentId,
name: item.name,
bum: item.userInfoBo.deptName,
gangw: item.userInfoBo.jobName,
group: item.groupName,
diploma: "0",
// operation: "查看",
};
array.push(obj);
});
state.tabledataStu = array;
};
const changePagination = (current) => {
state.currentPage = current;
getStu();
};
const searchStu = () => {
let obj = {
deptIds: [],
groupId: "",
groupName: "",
name: state.searchNameValue,
pageNo: state.currentPage,
pageSize: 10,
projectId: props.projectId,
topFlag: "",
};
getStu(obj);
};
const resetStud = () => {
state.searchNameValue = null;
getStu();
};
onMounted(() => {
getStu();
});
return { return {
...toRefs(state), ...toRefs(state),
typeChange, typeChange,
@@ -609,6 +668,11 @@ export default {
scoreRank, scoreRank,
editRule, editRule,
scoresum, scoresum,
getStu,
setStuData,
changePagination,
searchStu,
resetStud,
}; };
}, },
// computed: { // computed: {

View File

@@ -1,35 +1,34 @@
<template> <template>
<a-drawer <a-drawer
:visible="Svisible" :visible="Svisible"
class="drawerStyle StuScore" class="drawerStyle StuScore"
placement="right" placement="right"
width="70%" width="70%"
@after-visible-change="afterVisibleChange" @after-visible-change="afterVisibleChange"
> >
<div class="drawerMain"> <div class="drawerMain">
<div class="header"> <div class="header">
<div class="headerTitle">学员获取详情</div> <div class="headerTitle">学员获取详情</div>
<img <img
style="width: 29px; height: 29px; cursor: pointer" style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png" src="../../assets/images/basicinfo/close.png"
@click="closeDrawer" @click="closeDrawer"
/> />
</div> </div>
<div class="contentMain"> <div class="contentMain">
<div class="main"> <div class="main">
<div class="tableBox" style="margin-top: 20px; margin-bottom: 100px"> <div class="tableBox" style="margin-top: 20px; margin-bottom: 100px">
<a-table <a-table
style="border: 1px solid #f2f6fe" style="border: 1px solid #f2f6fe"
:columns="tablecolumns" :columns="tablecolumns"
:data-source="tabledata" :data-source="tabledata"
:loading="tableDataTotal === -1 ? true : false" :loading="tableDataTotal === -1 ? true : false"
@expand="expandTable" @expand="expandTable"
:pagination="false" :pagination="false"
/> />
<div class="pa"> <div class="pa">
<a-pagination <a-pagination
v-if="tableDataTotal > 10"
showSizeChanger="true" showSizeChanger="true"
showQuickJumper="true" showQuickJumper="true"
hideOnSinglePage="true" hideOnSinglePage="true"
@@ -37,291 +36,258 @@
:current="currentPage" :current="currentPage"
:total="tableDataTotal" :total="tableDataTotal"
class="pagination" class="pagination"
@change="changePagination"
/> />
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="btnn"> <div class="btnn">
<button class="btn1" @click="closeDrawer">取消</button> <button class="btn1" @click="closeDrawer">取消</button>
<button class="btn2" @click="closeDrawer">确定</button> <button class="btn2" @click="closeDrawer">确定</button>
</div>
</div> </div>
</a-drawer> </div>
</a-drawer>
</template> </template>
<script> <script>
import { toRefs, reactive } from "vue"; import { toRefs, reactive } from "vue";
export default { import { studentScoreList } from "../../api/indexProjStu";
name: "StuScoreDetail", import { toDate } from "@/api/method";
props: { export default {
Svisible: { name: "StuScoreDetail",
type: Boolean, props: {
default: false, Svisible: {
}, type: Boolean,
default: false,
}, },
studentId: {
setup(props, ctx) { type: Number,
const state = reactive({ default: null,
name: null, },
projectId: {
type: Number,
default: null,
},
},
setup(props, ctx) {
const state = reactive({
name: null,
pageSize: 10,
currentPage: 1,
tableDataTotal: null,
// selectedRowKeys: [],
tabledata: [
// {
// key: 1,
// time: "2019-12-12 12:12",
// score: "12",
// type: "完成任务",
// from: "【在线】如何成为产品经理",
// },
],
tablecolumns: [
{
title: "获取时间",
dataIndex: "time",
key: "time",
width: 40,
align: "left",
className: "h head",
},
{
title: "积分",
dataIndex: "score",
key: "score",
width: 60,
align: "center",
className: "h",
},
{
title: "类型",
dataIndex: "type",
key: "type",
width: 60,
align: "center",
className: "h",
},
{
title: "来源",
dataIndex: "from",
key: "from",
width: 60,
align: "center",
className: "h",
},
],
});
const closeDrawer = () => {
ctx.emit("update:Svisible", false);
};
const getData = () => {
let obj = {
pageNo: state.currentPage,
pageSize: 10, pageSize: 10,
currentPage: 1, projectId: props.projectId,
tableDataTotal: 100, studentId: props.studentId,
selectedRowKeys: [], };
studentScoreList(obj).then((res) => {
tabledata: [ console.log("dede", res.data.data);
{ let result = res.data.data;
key: 1, state.tableDataTotal = result.pageSize;
time: "2019-12-12 12:12", if (result.pageSize > 0) {
score: "12", setTable(result.rows);
type: "完成任务", }
from: "【在线】如何成为产品经理",
},
{
key: 1,
time: "2019-12-12 12:12",
score: "12",
type: "完成任务",
from: "【在线】如何成为产品经理",
},
{
key: 1,
time: "2019-12-12 12:12",
score: "12",
type: "完成任务",
from: "【在线】如何成为产品经理",
},
{
key: 1,
time: "2019-12-12 12:12",
score: "12",
type: "完成任务",
from: "【在线】如何成为产品经理",
},
{
key: 1,
time: "2019-12-12 12:12",
score: "12",
type: "完成任务",
from: "【在线】如何成为产品经理",
},
{
key: 1,
time: "2019-12-12 12:12",
score: "12",
type: "完成任务",
from: "【在线】如何成为产品经理",
},
{
key: 1,
time: "2019-12-12 12:12",
score: "12",
type: "完成任务",
from: "【在线】如何成为产品经理",
},
{
key: 1,
time: "2019-12-12 12:12",
score: "12",
type: "完成任务",
from: "【在线】如何成为产品经理",
},
{
key: 1,
time: "2019-12-12 12:12",
score: "12",
type: "完成任务",
from: "【在线】如何成为产品经理",
},
{
key: 1,
time: "2019-12-12 12:12",
score: "12",
type: "完成任务",
from: "【在线】如何成为产品经理",
},
{
key: 1,
time: "2019-12-12 12:12",
score: "12",
type: "完成任务",
from: "【在线】如何成为产品经理",
},
],
tablecolumns: [
{
title: "获取时间",
dataIndex: "time",
key: "time",
width: 40,
align: "left",
className: "h head",
},
{
title: "积分",
dataIndex: "score",
key: "score",
width: 60,
align: "center",
className: "h",
},
{
title: "类型",
dataIndex: "type",
key: "type",
width: 60,
align: "center",
className: "h",
},
{
title: "来源",
dataIndex: "from",
key: "from",
width: 60,
align: "center",
className: "h",
},
],
}); });
const closeDrawer = () => { };
ctx.emit("update:Svisible", false); const afterVisibleChange = () => {
}; getData();
};
return { const setTable = (tabledata) => {
...toRefs(state), let data = tabledata;
closeDrawer, let array = [];
data.map((item) => {
}; let obj = {
}, time: toDate(item.createTime / 1000, "Y-M-D h-m"),
}; score: item.score,
type: "完成任务",
from: item.source,
};
array.push(obj);
});
state.tabledata = array;
};
const changePagination = (current) => {
state.currentPage = current;
getData();
};
return {
...toRefs(state),
closeDrawer,
afterVisibleChange,
getData,
setTable,
changePagination,
};
},
};
</script> </script>
<style lang="scss" > <style lang="scss" >
.StuScore{ .StuScore {
.drawerMain { .drawerMain {
min-width: 600px; min-width: 600px;
margin: 0px 32px 0px 32px; margin: 0px 32px 0px 32px;
display: flex;
flex-direction: column;
.header {
height: 73px;
border-bottom: 1px solid #e8e8e8;
display: flex; display: flex;
flex-direction: column; justify-content: space-between;
.header { align-items: center;
height: 73px; margin-bottom: 20px;
border-bottom: 1px solid #e8e8e8; flex-shrink: 0;
display: flex; .headerTitle {
justify-content: space-between; font-size: 18px;
align-items: center; font-weight: 600;
margin-bottom: 20px; color: #333333;
flex-shrink: 0; line-height: 25px;
.headerTitle { // margin-left: 24px;
font-size: 18px;
font-weight: 600;
color: #333333;
line-height: 25px;
// margin-left: 24px;
}
} }
}
.main {
width: 100%; .main {
height: 100%; width: 100%;
.endtime { height: 100%;
font-size: 16px; .endtime {
font-weight: 500; font-size: 16px;
color: #333333; font-weight: 500;
} color: #333333;
.tableBox {
padding-bottom: 100px;
.ant-table-selection-column {
padding: 0px !important;
// padding-left: 45px !important;
}
.ant-table-thead > tr > th {
background-color: rgba(239, 244, 252, 1) !important;
color: rgba(0, 0, 0, 0.8500);
}
.ant-table-cell {
color: rgba(0, 0, 0, 0.6500);
}
.ant-table-selection-column {
padding: 0 !important;
}
th.h {
background-color: #eff4fc !important;
}
.ant-table-tbody
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
> td {
background: #f6f9fd;
}
.ant-table-tbody > tr > td {
border-bottom: 1px solid rgba(240, 244, 254, 1);
padding: 16px 16px;
.operation {
color: rgba(56, 125, 247, 1);
cursor: pointer;
}
}
.pa {
margin-top: 20px;
width: 100%;
flex:1;
display: flex;
justify-content: center;
}
}
} }
.tableBox {
.btnn { padding-bottom: 100px;
height: 72px; .ant-table-selection-column {
width: 100%; padding: 0px !important;
position: absolute; // padding-left: 45px !important;
bottom: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
background-color: #ffffff;
.btn1 {
width: 100px;
height: 40px;
border: 1px solid #4ea6ff;
border-radius: 8px;
color: #4ea6ff;
background-color: #fff;
cursor: pointer;
} }
.btn2 { .ant-table-thead > tr > th {
cursor: pointer; background-color: rgba(239, 244, 252, 1) !important;
width: 100px; color: rgba(0, 0, 0, 0.85);
height: 40px; }
background: #4ea6ff;
border-radius: 8px; .ant-table-cell {
border: 0; color: rgba(0, 0, 0, 0.65);
margin-left: 15px; }
color: #fff;
.ant-table-selection-column {
padding: 0 !important;
}
th.h {
background-color: #eff4fc !important;
}
.ant-table-tbody
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
> td {
background: #f6f9fd;
}
.ant-table-tbody > tr > td {
border-bottom: 1px solid rgba(240, 244, 254, 1);
padding: 16px 16px;
.operation {
color: rgba(56, 125, 247, 1);
cursor: pointer;
}
}
.pa {
margin-top: 20px;
width: 100%;
flex: 1;
display: flex;
justify-content: center;
} }
} }
} }
.btnn {
height: 72px;
width: 100%;
position: absolute;
bottom: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
background-color: #ffffff;
.btn1 {
width: 100px;
height: 40px;
border: 1px solid #4ea6ff;
border-radius: 8px;
color: #4ea6ff;
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;
height: 40px;
background: #4ea6ff;
border-radius: 8px;
border: 0;
margin-left: 15px;
color: #fff;
}
}
} }
}
</style> </style>

View File

@@ -213,9 +213,15 @@
</div> </div>
<!-- 添加在线侧弹窗 --> <!-- 添加在线侧弹窗 -->
<div> <div>
<add-online v-model:addonlineVisible="addonlinevisible" @changeData="updateTableData" v-model:edit="edit" <add-online
v-model:projectId="projectId" v-model:chooseStageId="chooseStageId" v-model:projectTaskId="projectTaskId" v-model:addonlineVisible="addonlinevisible"
v-model:EditOnlineId="EditOnlineId" /> @changeData="updateTableData"
v-model:edit="edit"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
v-model:projectTaskId="projectTaskId"
v-model:EditOnlineId="EditOnlineId"
/>
</div> </div>
<!-- 添加在线侧弹窗 --> <!-- 添加在线侧弹窗 -->
<div class="lin"></div> <div class="lin"></div>
@@ -238,11 +244,17 @@
</div> </div>
<!-- 添加案例侧弹窗 --> <!-- 添加案例侧弹窗 -->
<div> <div>
<add-case v-model:addcaseVisible="addcasevisible" @changeData="updateTableData" v-model:edit="edit" <add-case
v-model:projectId="projectId" v-model:chooseStageId="chooseStageId" v-model:projectTaskId="projectTaskId" v-model:addcaseVisible="addcasevisible"
v-model:EditCaseId="EditCaseId" /> @changeData="updateTableData"
</div> v-model:edit="edit"
<!-- 添加案例侧弹窗 --> v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
v-model:projectTaskId="projectTaskId"
v-model:EditCaseId="EditCaseId"
/>
</div>
<!-- 添加案例侧弹窗 -->
<div class="lin"></div> <div class="lin"></div>
</div> </div>
<div class="item"> <div class="item">
@@ -966,8 +978,8 @@
import { reactive, toRefs, onMounted, onUnmounted } from "vue"; import { reactive, toRefs, onMounted, onUnmounted } from "vue";
import AddStu from "../../components/drawers/AddLevelAddStu"; import AddStu from "../../components/drawers/AddLevelAddStu";
import ImpStu from "../../components/drawers/AddLevelImportStu"; import ImpStu from "../../components/drawers/AddLevelImportStu";
import AddOnline from "../../components/drawers/AddOnline.vue" import AddOnline from "../../components/drawers/AddOnline.vue";
import AddCase from "../../components/drawers/AddCase.vue" import AddCase from "../../components/drawers/AddCase.vue";
import AddHomework from "../../components/drawers/AddHomework.vue"; import AddHomework from "../../components/drawers/AddHomework.vue";
import AddTest from "../../components/drawers/AddTest.vue"; import AddTest from "../../components/drawers/AddTest.vue";
import AddDiscuss from "../../components/drawers/AddDiscuss.vue"; import AddDiscuss from "../../components/drawers/AddDiscuss.vue";
@@ -1221,8 +1233,8 @@ export default {
deleteModal: false, // 删除弹窗 deleteModal: false, // 删除弹窗
deleteID: "", // 要删除的任务的id deleteID: "", // 要删除的任务的id
editID: "", // 要编辑的任务id editID: "", // 要编辑的任务id
EditOnlineId:"", // 要编辑的 workid EditOnlineId: "", // 要编辑的 workid
EditCaseId:"", EditCaseId: "",
EditWorkId: "", EditWorkId: "",
EditTestId: "", EditTestId: "",
EditRefId: "", EditRefId: "",
@@ -1249,8 +1261,8 @@ export default {
adddiscussvisible: false, //讨论抽屉 adddiscussvisible: false, //讨论抽屉
isStudiscuss: false, isStudiscuss: false,
addactivevisible: false, //活动抽屉 addactivevisible: false, //活动抽屉
addonlinevisible:false, addonlinevisible: false,
addcasevisible:false, addcasevisible: false,
addhomeworkvisible: false, addhomeworkvisible: false,
addtestvisible: false, addtestvisible: false,
addevalvisible: false, addevalvisible: false,
@@ -1272,6 +1284,7 @@ export default {
projectId: null, projectId: null,
projectTaskId: null, projectTaskId: null,
chooseStageId: null, chooseStageId: null,
chooseChapterId: null,
}); });
//新建关卡 //新建关卡
@@ -1328,17 +1341,17 @@ export default {
state.isLevel = false; state.isLevel = false;
}; };
//在线抽屉 //在线抽屉
const showDrawerAddOnline = (id,eleId)=>{ const showDrawerAddOnline = (id, eleId) => {
state.addonlinevisible = true; state.addonlinevisible = true;
state.EditWorkId = id; state.EditWorkId = id;
state.routerTaskId = eleId; state.routerTaskId = eleId;
} };
//案例抽屉 //案例抽屉
const showDrawerAddCase = (id,eleId)=>{ const showDrawerAddCase = (id, eleId) => {
state.addcasevisible = true; state.addcasevisible = true;
state.EditWorkId = id; state.EditWorkId = id;
state.routerTaskId = eleId; state.routerTaskId = eleId;
} };
// 作业和考试的抽屉 // 作业和考试的抽屉
const showDrawerAddHomework = (id, eleId) => { const showDrawerAddHomework = (id, eleId) => {
console.log("homework==============", id, state.isactive); console.log("homework==============", id, state.isactive);
@@ -1434,6 +1447,7 @@ export default {
GetRouterDetail(state.routerId) GetRouterDetail(state.routerId)
.then((res) => { .then((res) => {
console.log("res.data.data.chapterList", res.data.data.chapterList); console.log("res.data.data.chapterList", res.data.data.chapterList);
//给level赋初始值
state.level = res.data.data.chapterList; state.level = res.data.data.chapterList;
state.styTitle = res.data.data.routerInfo.name; state.styTitle = res.data.data.routerInfo.name;
state.creTime = toDate( state.creTime = toDate(
@@ -1448,8 +1462,14 @@ export default {
item["label"] = item.name; item["label"] = item.name;
}); });
if (state.level.length > 0) { if (state.level.length > 0) {
dataAssignment(state.level[0].chapterId); let chapter = localStorage.getItem("chapterId");
state.isactive = state.level[0].chapterId; if (chapter !== null) {
dataAssignment(chapter);//用哪个的任务表
state.isactive = chapter;//哪个亮
} else {
dataAssignment(state.level[0].chapterId);
state.isactive = state.level[0].chapterId;
}
} }
state.deleteModal = false; state.deleteModal = false;
}) })
@@ -1674,6 +1694,7 @@ export default {
state.selectRow = []; //选择行 state.selectRow = []; //选择行
state.selectAll = 0; //0未选择1全选2部分选择 state.selectAll = 0; //0未选择1全选2部分选择
dataAssignment(chapterId); dataAssignment(chapterId);
state.chooseChapterId = chapterId;
}; };
const gqxy_hShow = () => { const gqxy_hShow = () => {
state.gqxy_hs = !state.gqxy_hs; state.gqxy_hs = !state.gqxy_hs;
@@ -1811,6 +1832,8 @@ export default {
console.log("移动成功", res); console.log("移动成功", res);
message.destroy(); message.destroy();
message.success("移动成功"); message.success("移动成功");
localStorage.setItem("chapterId", state.chooseChapterId);
getDetail();
}) })
.catch((err) => { .catch((err) => {
console.log("移动失败", err); console.log("移动失败", err);
@@ -1910,7 +1933,13 @@ export default {
const rowSelection = { const rowSelection = {
onSelect: (selectedRows, selected, selectedRowKeys) => { onSelect: (selectedRows, selected, selectedRowKeys) => {
console.log( console.log(
"selectedRowKeys", selectedRowKeys, "selectedRows", selectedRows, "selected", selected); "selectedRowKeys",
selectedRowKeys,
"selectedRows",
selectedRows,
"selected",
selected
);
console.log(selectedRows.assessmentId); console.log(selectedRows.assessmentId);
state.assessmentId = selectedRows.assessmentId; state.assessmentId = selectedRows.assessmentId;
state.assessmentName = selectedRows.name; state.assessmentName = selectedRows.name;
@@ -1944,35 +1973,35 @@ export default {
let arr = res.data.data.rows; let arr = res.data.data.rows;
if (res.status === 200) { if (res.status === 200) {
getTableDate(arr); getTableDate(arr);
console.log('---------------项目信息---------------------------'); console.log("---------------项目信息---------------------------");
} }
}) })
.catch((err) => { .catch((err) => {
console.log("获取全部项目信息接口失败", err); console.log("获取全部项目信息接口失败", err);
console.log('+++++++++++++++++++++++++++++++++++++++++++++++'); console.log("+++++++++++++++++++++++++++++++++++++++++++++++");
// state.createLoading = false; // state.createLoading = false;
}); });
}; };
const updateTask = () => { const updateTask = () => {
RouterEditTask({ RouterEditTask({
chapterId: state.isactive, chapterId: state.isactive,
courseId: state.assessmentId, courseId: state.assessmentId,
name: state.assessmentName, name: state.assessmentName,
routerId: state.routerId, routerId: state.routerId,
routerTaskId: state.routerTaskId || 0, routerTaskId: state.routerTaskId || 0,
type: 13, type: 13,
})
.then((res) => {
console.log(res, 11111);
message.success(`${state.editproj ? "编辑" : "新增"}关卡任务成功`);
// ctx.emit("changeData", false);
closeDrawer();
state.addLoading = false;
}) })
.then((res) => { .catch((err) => {
console.log(res, 11111); console.log(err, 1111);
message.success(`${state.editproj ? '编辑' : '新增'}关卡任务成功`) });
// ctx.emit("changeData", false); };
closeDrawer();
state.addLoading = false;
})
.catch((err) => {
console.log(err, 1111);
});
}
onMounted(() => { onMounted(() => {
// createCase(); // createCase();
getAllProjText(); getAllProjText();

View File

@@ -1395,6 +1395,7 @@ export default {
//获取任务列表 //获取任务列表
const getTask = () => { const getTask = () => {
// console.log("state.projectId", state.projectId);
let obj = { let obj = {
projectId: state.projectId, projectId: state.projectId,
// projectId: 28, // projectId: 28,
@@ -1409,28 +1410,30 @@ export default {
state.picUrl = res.data.data.projectInfo.picUrl; state.picUrl = res.data.data.projectInfo.picUrl;
let leng = res.data.data.stageList.length; let leng = res.data.data.stageList.length;
if (leng > 0) { if (leng > 0) {
// let stage = localStorage.getItem("stageId")
// ? localStorage.getItem("stageId")
// : null;
// if (stage !== null) {
// // console.log("找到了origin", originStageList);
// let originStageList = res.data.data.stageList.find((item) => {
// item.stageId == stage;
// });
// getTableData(originStageList.taskList);
// console.log("找到了origin", originStageList);
// } else {
// let arr = res.data.data.stageList[0].taskList;
// console.log("任务列表", arr);
// getTableData(arr);
// }
let stage = localStorage.getItem("stageId") let stage = localStorage.getItem("stageId")
? localStorage.getItem("stageId") ? localStorage.getItem("stageId")
: null; : null;
let arr = res.data.data.stageList[0].taskList; console.log("zhaodaole", stage);
console.log("任务列表", stage, arr);
getTableData(arr); if (stage !== null) {
let stageList = res.data.data.stageList; //阶段数组
let result = stageList.find((item) => item.stageId == stage);
console.log("又找到了", result);
getTableData(result.taskList);
} else {
let arr = res.data.data.stageList[0].taskList;
console.log("任务列表", arr);
getTableData(arr);
}
// let stageList = res.data.data.stageList; //阶段数组
// let result = stageList.find((item) => item.stageId == stage);
// console.log("又找到了", result);
// getTableData(result.taskList);
// 每次都获取了第一条taskList
// let arr = res.data.data.stageList[0].taskList;
// console.log("任务列表", stage, arr);
// getTableData(arr);
} }
let stagearr = res.data.data.stageList; let stagearr = res.data.data.stageList;