mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/student-h5.git
synced 2025-12-08 02:16:47 +08:00
Merge remote-tracking branch 'yx/250207-growth-prod-master-zp' into dev0731
This commit is contained in:
@@ -44,11 +44,11 @@ export const TASK_TYPES = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
path: {
|
path: {
|
||||||
1: ({ courseId }) => window.open(window.location.protocol + import.meta.env.VITE_BOE_ONLINE_CLASS_URL + courseId), //在线
|
1: ({ courseId }) => setTimeout(() => { window.open(window.location.protocol + import.meta.env.VITE_BOE_ONLINE_CLASS_URL + courseId) }), //在线
|
||||||
2: ({ targetId }) => window.open(`${location.protocol}//${location.host}${import.meta.env.VITE_BASE_API}/stu/project/redirectDetail?courseId=${targetId}`, '_top'),
|
2: ({ targetId }) => setTimeout(() => { window.open(`${location.protocol}//${location.host}${import.meta.env.VITE_BASE_API}/stu/project/redirectDetail?courseId=${targetId}`, '_top')}),
|
||||||
3: ({ courseId }) => window.open(window.location.protocol + import.meta.env.VITE_BOE_CASS_DETAIL_URL + courseId), //案例
|
3: ({ courseId }) => setTimeout(() => { window.open(window.location.protocol + import.meta.env.VITE_BOE_CASS_DETAIL_URL + courseId) }), //案例
|
||||||
4: "/homeworkpage",
|
4: "/homeworkpage",
|
||||||
5: ({ examType }) => examType === 2 ? '/externalexam' : (window.location.protocol + import.meta.env.VITE_BOE_EXAM_DETAIL_URL), //考试
|
5: ({ examType }) => examType === 2 ? '/externalexam' : setTimeout(() => {(window.location.protocol + import.meta.env.VITE_BOE_EXAM_DETAIL_URL)}), //考试
|
||||||
6: "/liveboradcast",
|
6: "/liveboradcast",
|
||||||
7: '/outerchain', //外联
|
7: '/outerchain', //外联
|
||||||
8: "/discusspage",
|
8: "/discusspage",
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="path-item"
|
class="path-item"
|
||||||
@click="toFinish(item)"
|
@click.native="toFinish(item)"
|
||||||
:style="position(index)"
|
:style="position(index)"
|
||||||
v-for="(item, index) of stageProcessList"
|
v-for="(item, index) of stageProcessList"
|
||||||
>
|
>
|
||||||
@@ -229,7 +229,7 @@ const toFinish = (item) => {
|
|||||||
}
|
}
|
||||||
.gowth-path2 {
|
.gowth-path2 {
|
||||||
position: relative;
|
position: relative;
|
||||||
margin: 0 45px 31px 63px;
|
margin: 50px 45px 31px 63px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background-image: url(@/assets/image/growth/path2.png);
|
background-image: url(@/assets/image/growth/path2.png);
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
@@ -241,6 +241,7 @@ const toFinish = (item) => {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
display: flex;
|
display: flex;
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
|
z-index: 9999;
|
||||||
|
|
||||||
.item-link {
|
.item-link {
|
||||||
height: 28px;
|
height: 28px;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="nav-title">{{ data.growthName }}</div>
|
<div class="nav-title">{{ data.growthName }}</div>
|
||||||
</div>
|
</div>
|
||||||
<template v-if="data.electiveTaskNum !== 0">
|
<!-- <template v-if="data.electiveTaskNum !== 0"> -->
|
||||||
<div class="tabs">
|
<div class="tabs">
|
||||||
<div
|
<div
|
||||||
class="tabs-item"
|
class="tabs-item"
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
<div class="tabs-line"></div>
|
<div class="tabs-line"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
<!-- </template> -->
|
||||||
|
|
||||||
<div class="search">
|
<div class="search">
|
||||||
<div class="search-input">
|
<div class="search-input">
|
||||||
@@ -70,26 +70,29 @@
|
|||||||
class="container"
|
class="container"
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
:style="{
|
:style="{
|
||||||
top: data.electiveTaskNum !== 0 ? '165px' : '103px',
|
|
||||||
height: stageProcessList.length ? '' : ':400px',
|
height: stageProcessList.length ? '' : ':400px',
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
|
<!-- :style="{
|
||||||
|
top: data.electiveTaskNum !== 0 ? '165px' : '103px',
|
||||||
|
height: stageProcessList.length ? '' : ':400px',
|
||||||
|
}" -->
|
||||||
<template v-if="stageProcessList && stageProcessList.length">
|
<template v-if="stageProcessList && stageProcessList.length">
|
||||||
<div
|
<div
|
||||||
@click="toFinish(item)"
|
|
||||||
:id="item.id"
|
:id="item.id"
|
||||||
v-for="(item, key) in stageProcessList"
|
v-for="(item, key) in stageProcessList"
|
||||||
:key="key"
|
:key="key"
|
||||||
class="task-item"
|
class="task-item"
|
||||||
>
|
>
|
||||||
<div class="task-img">
|
<div class="task-img" @click.native="toFinish(item)">
|
||||||
<img
|
<img
|
||||||
style="width: 100%; height: 100%"
|
style="width: 100%; height: 100%"
|
||||||
:src="getAssetsFile(item.courseType)"
|
:src="getAssetsFile(item.courseType)"
|
||||||
/>
|
/>
|
||||||
<div class="task-img-icon">{{ key + 1 }}</div>
|
<div class="task-img-icon">{{ key + 1 }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-left: 11px; width: 58%">
|
<div style="margin-left: 11px; width: 58%" @click.native="toFinish(item)">
|
||||||
<div style="display: flex; align-items: center">
|
<div style="display: flex; align-items: center">
|
||||||
<div class="task-type">
|
<div class="task-type">
|
||||||
{{ TASK_TYPES.typeName[item.courseType] }}
|
{{ TASK_TYPES.typeName[item.courseType] }}
|
||||||
@@ -502,8 +505,9 @@ async function toFinish(d) {
|
|||||||
taskType: d.courseType,
|
taskType: d.courseType,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
console.log("TASK_TYPES.path[d.type]", TASK_TYPES.path[d.courseType]);
|
||||||
if (typeof TASK_TYPES.path[d.courseType] === "string") {
|
if (typeof TASK_TYPES.path[d.courseType] === "string") {
|
||||||
|
|
||||||
TASK_TYPES.path[d.courseType] &&
|
TASK_TYPES.path[d.courseType] &&
|
||||||
TASK_TYPES.path[d.courseType].startsWith("http") &&
|
TASK_TYPES.path[d.courseType].startsWith("http") &&
|
||||||
window.open(TASK_TYPES.path[d.type] + d.targetId, "_top");
|
window.open(TASK_TYPES.path[d.type] + d.targetId, "_top");
|
||||||
@@ -605,6 +609,8 @@ const toPath = () => {
|
|||||||
border-radius: 15px 15px 0 0;
|
border-radius: 15px 15px 0 0;
|
||||||
padding: 5px 15px;
|
padding: 5px 15px;
|
||||||
.task-item {
|
.task-item {
|
||||||
|
position: relative;
|
||||||
|
z-index: 9999;
|
||||||
display: flex;
|
display: flex;
|
||||||
padding: 20px 0;
|
padding: 20px 0;
|
||||||
border-bottom: 2px #d3e3f2 dashed;
|
border-bottom: 2px #d3e3f2 dashed;
|
||||||
|
|||||||
@@ -6,26 +6,26 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="nav-title">{{ data.growthName }}</div>
|
<div class="nav-title">{{ data.growthName }}</div>
|
||||||
</div>
|
</div>
|
||||||
<template v-if="data.electiveTaskNum !== 0">
|
<!-- <template v-if="data.electiveTaskNum !== 0"> -->
|
||||||
<div class="tabs">
|
<div class="tabs">
|
||||||
<div
|
<div
|
||||||
class="tabs-item"
|
class="tabs-item"
|
||||||
:class="queryParams.type == 1 ? 'active' : ''"
|
:class="queryParams.type == 1 ? 'active' : ''"
|
||||||
@click="tabClick(1)"
|
@click="tabClick(1)"
|
||||||
>
|
>
|
||||||
<div class="tabs-text">必修</div>
|
<div class="tabs-text">必修</div>
|
||||||
<div class="tabs-line"></div>
|
<div class="tabs-line"></div>
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="tabs-item"
|
|
||||||
:class="queryParams.type == 2 ? 'active' : ''"
|
|
||||||
@click="tabClick(2)"
|
|
||||||
>
|
|
||||||
<div class="tabs-text">选修</div>
|
|
||||||
<div class="tabs-line"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
<div
|
||||||
|
class="tabs-item"
|
||||||
|
:class="queryParams.type == 2 ? 'active' : ''"
|
||||||
|
@click="tabClick(2)"
|
||||||
|
>
|
||||||
|
<div class="tabs-text">选修</div>
|
||||||
|
<div class="tabs-line"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- </template> -->
|
||||||
<div class="search">
|
<div class="search">
|
||||||
<div class="search-input">
|
<div class="search-input">
|
||||||
<el-input
|
<el-input
|
||||||
@@ -66,13 +66,10 @@
|
|||||||
<img class="icon" @click="toPath" src="@/assets/image/growth/list.png" />
|
<img class="icon" @click="toPath" src="@/assets/image/growth/list.png" />
|
||||||
</div>
|
</div>
|
||||||
<template v-if="stageProcessList && stageProcessList.length">
|
<template v-if="stageProcessList && stageProcessList.length">
|
||||||
<div
|
<div class="container" v-loading="loading">
|
||||||
class="container"
|
<!-- :style="{
|
||||||
v-loading="loading"
|
|
||||||
:style="{
|
|
||||||
top: data.electiveTaskNum !== 0 ? '165px' : '103px',
|
top: data.electiveTaskNum !== 0 ? '165px' : '103px',
|
||||||
}"
|
}" -->
|
||||||
>
|
|
||||||
<div :style="{ transform: 'scale(' + transformSize + ')' }">
|
<div :style="{ transform: 'scale(' + transformSize + ')' }">
|
||||||
<template v-if="growthInfo.template == 2">
|
<template v-if="growthInfo.template == 2">
|
||||||
<div class="path-container">
|
<div class="path-container">
|
||||||
@@ -84,7 +81,7 @@
|
|||||||
? 'path-item-left'
|
? 'path-item-left'
|
||||||
: 'path-item-right'
|
: 'path-item-right'
|
||||||
"
|
"
|
||||||
@click="toFinish(item)"
|
@click.native="toFinish(item)"
|
||||||
:style="point[item.position]"
|
:style="point[item.position]"
|
||||||
v-for="(item, index) of stageProcessList"
|
v-for="(item, index) of stageProcessList"
|
||||||
>
|
>
|
||||||
@@ -849,7 +846,7 @@ const toPath = () => {
|
|||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
background-image: url(@/assets/image/growth/path-bg.png);
|
background-image: url(@/assets/image/growth/path-bg.png);
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
|
top: 165px;
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
border-radius: 15px 15px 0 0;
|
border-radius: 15px 15px 0 0;
|
||||||
@@ -863,7 +860,7 @@ const toPath = () => {
|
|||||||
.path-item-left {
|
.path-item-left {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
// width: 125px;
|
// width: 125px;
|
||||||
|
z-index: 9999;
|
||||||
.item-link {
|
.item-link {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -917,6 +914,7 @@ const toPath = () => {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
// width: 125px;
|
// width: 125px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
z-index: 9999;
|
||||||
|
|
||||||
.item-link {
|
.item-link {
|
||||||
height: 28px;
|
height: 28px;
|
||||||
|
|||||||
Reference in New Issue
Block a user