feat:查看对接

This commit is contained in:
songwc
2022-11-10 18:02:08 +08:00
parent e93d471b65
commit be018b093c
3 changed files with 128 additions and 45 deletions

View File

@@ -13,4 +13,7 @@ export const getGroupList = (obj) => http.post('/admin/project/groupList', obj)
export const deleteGroup = (obj) => http.delete('/admin/project/deleteGroup', { params: obj }) export const deleteGroup = (obj) => http.delete('/admin/project/deleteGroup', { params: obj })
//新增或编辑小组 //新增或编辑小组
export const editGroup = (obj) => http.post('/admin/project/editGroup', obj) export const editGroup = (obj) => http.post('/admin/project/editGroup', obj)
//查看学员
export const studentProcess = (obj) => http.get('/admin/project/studentProcess', { params: obj })

View File

@@ -21,8 +21,8 @@
<img src="../../assets/images/studentimg/character.png" /> <img src="../../assets/images/studentimg/character.png" />
</div> </div>
<div class="stumation"> <div class="stumation">
<div class="stuname">王明</div> <div class="stuname">{{ userName }}</div>
<div class="stugangw">产研部门 - 产品经理</div> <div class="stugangw">{{ deptName }} - {{ jobName }}</div>
</div> </div>
<div class="sortbox"> <div class="sortbox">
<div class="sortname">进度排名</div> <div class="sortname">进度排名</div>
@@ -42,8 +42,8 @@
<div class="sortbox" style="margin-left: 34px"> <div class="sortbox" style="margin-left: 34px">
<div class="sortname">完成必修</div> <div class="sortname">完成必修</div>
<div class="sortnub"> <div class="sortnub">
<span class="nub1">3</span> <span class="nub1">{{ currentReqCnt }}</span>
<span class="total">/10</span> <span class="total">/{{ totalReqCnt }}</span>
</div> </div>
</div> </div>
<a-divider <a-divider
@@ -57,12 +57,12 @@
<div class="sortbox" style="margin-left: 34px"> <div class="sortbox" style="margin-left: 34px">
<div class="sortname">已修证书</div> <div class="sortname">已修证书</div>
<div class="sortnub"> <div class="sortnub">
<span class="nub1">1</span> <span class="nub1">{{ certCnt }}</span>
</div> </div>
</div> </div>
</div> </div>
<div class="secondrow"> <div class="secondrow">
<div class="rowleft">产品经理管理 - 腾飞班1</div> <div class="rowleft">{{ name }}</div>
<div class="rowbox" @click="showProMess"> <div class="rowbox" @click="showProMess">
<div class="shuom">说明</div> <div class="shuom">说明</div>
<div><img src="../../assets/images/studentimg/chak.png" /></div> <div><img src="../../assets/images/studentimg/chak.png" /></div>
@@ -82,13 +82,13 @@
<div></div> <div></div>
</template> </template>
<a-collapse-panel <a-collapse-panel
v-for="(value, index) in stageList" v-for="value in stageList"
:key="index" :key="value.stageId"
:header="value.text" :header="value.stageName"
> >
<div <div
class="rowclass" class="rowclass"
v-for="(item, key) in value.children" v-for="(item, key) in value.taskProcessList"
:key="key" :key="key"
> >
<div class="leftclass"> <div class="leftclass">
@@ -119,6 +119,8 @@
? require('../../assets/images/leveladd/diao.png') ? require('../../assets/images/leveladd/diao.png')
: item.course === '投票' : item.course === '投票'
? require('../../assets/images/leveladd/tou.png') ? require('../../assets/images/leveladd/tou.png')
: item.course === '评估'
? require('../../assets/images/leveladd/diao.png')
: null : null
" "
/> />
@@ -154,6 +156,7 @@
<script> <script>
import { reactive, toRefs } from "vue"; import { reactive, toRefs } from "vue";
import ProMess from "./ProMess.vue"; import ProMess from "./ProMess.vue";
import { studentProcess } from "../../api/indexProjStu";
export default { export default {
name: "SeeStu", name: "SeeStu",
components: { ProMess }, components: { ProMess },
@@ -162,16 +165,32 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
checkStuId: {
type: Number,
default: null,
},
projectId: {
type: Number,
default: null,
},
}, },
setup(props, ctx) { setup(props, ctx) {
const state = reactive({ const state = reactive({
userName: null, //用户名
deptName: null, //部门
jobName: null, //岗位
certCnt: null, //已修证书
name: null, //路径图名称
totalReqCnt: null, //累计必修数
currentReqCnt: null, //完成必修数
Provisible: false, Provisible: false,
showDown: true, showDown: true,
showDown1: false, showDown1: false,
stageList: [ stageList: [
{ {
text: "阶段1腾飞班阶段1", stageName: "阶段1腾飞班阶段1",
children: [ stageId: 1,
taskProcessList: [
{ {
course: "在线", course: "在线",
name: "如何成为一个产品经理", name: "如何成为一个产品经理",
@@ -199,36 +218,6 @@ export default {
}, },
], ],
}, },
{
text: "阶段2腾飞班阶段2",
children: [
{
course: "考试",
name: "如何成为一个产品经理",
complete: "已完成",
},
{
course: "案例",
name: "如何成为一个产品经理",
complete: "已完成",
},
{
course: "外链",
name: "如何成为一个产品经理",
complete: "已完成",
},
{
course: "讨论",
name: "如何成为一个产品经理",
complete: "未完成",
},
{
course: "测评",
name: "如何成为一个产品经理",
complete: "未完成",
},
],
},
], ],
stageListActive: 0, stageListActive: 0,
}); });
@@ -241,6 +230,9 @@ export default {
}; };
const afterVisibleChange = (bool) => { const afterVisibleChange = (bool) => {
console.log("state", bool); console.log("state", bool);
if (bool == true) {
check();
}
}; };
const changeDown = () => { const changeDown = () => {
state.showDown = !state.showDown; state.showDown = !state.showDown;
@@ -248,6 +240,88 @@ export default {
const changeDown1 = () => { const changeDown1 = () => {
state.showDown1 = !state.showDown1; state.showDown1 = !state.showDown1;
}; };
const taskProcessList = (tableData) => {
let data = tableData;
let array = [];
data.map((value) => {
let obj = {
course:
value.type == 1
? "在线"
: value.type == 2
? "面授"
: value.type == 3
? "案例"
: value.type == 4
? "作业"
: value.type == 5
? "考试"
: value.type == 6
? "直播"
: value.type == 7
? "外链"
: value.type == 8
? "讨论"
: value.type == 9
? "活动"
: value.type == 10
? "测评"
: value.type == 11
? "评估"
: value.type == 12
? "投票"
: "-",
name: value.name,
complete:
value.status == -1
? "未开始"
: value.status == 1
? "已完成"
: value.status == 0
? "未完成"
: "-",
flag: value.flag == 0 ? "选修" : "必修",
currentRatio: value.currentRatio,
routerTaskId: value.routerTaskId,
};
array.push(obj);
});
return array;
};
const setStageList = (tableData) => {
let data = tableData;
let array = [];
data.map((value) => {
let obj = {
stageName: value.stageName,
stageId: value.stageId,
taskProcessList: taskProcessList(value.taskProcessList),
};
array.push(obj);
});
state.stageList = array;
};
const check = () => {
let obj = {
projectId: 37,
studentId: 3,
};
studentProcess(obj).then((res) => {
console.log("查看了学员", res.data.data);
let result = res.data.data;
state.userName = result.userInfoBo.userName;
state.deptName = result.userInfoBo.deptName;
state.jobName = result.userInfoBo.jobName;
state.certCnt = result.certCnt == null ? 0 : result.certCnt;
state.name = result.name;
state.currentReqCnt = result.currentReqCnt;
state.totalReqCnt = result.totalReqCnt;
if (result.stageProcessList.length > 0) {
setStageList(result.stageProcessList);
}
});
};
return { return {
...toRefs(state), ...toRefs(state),
afterVisibleChange, afterVisibleChange,
@@ -255,6 +329,9 @@ export default {
showProMess, showProMess,
changeDown, changeDown,
changeDown1, changeDown1,
check,
setStageList,
taskProcessList,
// change, // change,
}; };
}, },

View File

@@ -921,8 +921,8 @@
<stu-add v-model:Stuvisible="Stuvisible" /> <stu-add v-model:Stuvisible="Stuvisible" />
<!-- 学员管理-导入学员抽屉 --> <!-- 学员管理-导入学员抽屉 -->
<import-stu v-model:Importvisible="Importvisible" /> <import-stu v-model:Importvisible="Importvisible" />
<!-- 查看学员 --> <!-- 查看学员 传入查看学员的id-->
<see-stu v-model:Seevisible="Seevisible" /> <see-stu v-model:Seevisible="Seevisible" v-model:checkStuId="checkStuId" v-model:projectId="projectId"/>
<!-- 学员换组 --> <!-- 学员换组 -->
<change-group v-model:Changevisible="Changevisible" /> <change-group v-model:Changevisible="Changevisible" />
<!-- 组员名单抽屉 --> <!-- 组员名单抽屉 -->
@@ -1545,6 +1545,7 @@ export default {
noticeContent: "", noticeContent: "",
TaskFaceImpStuvisible: false, //批量面授报名 TaskFaceImpStuvisible: false, //批量面授报名
valuestugn: "", //小组管理的输入的小组名称 valuestugn: "", //小组管理的输入的小组名称
checkStuId: null, //要查看的学员id
//进度排行表 //进度排行表
jindutabledata: [ jindutabledata: [
{ {
@@ -2294,6 +2295,8 @@ export default {
class="studentopea2" class="studentopea2"
onClick={() => { onClick={() => {
state.Seevisible = true; state.Seevisible = true;
console.log(value.studentId, "点击了查看");
state.checkStuId = value.studentId;
}} }}
> >
查看 查看