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