Merge remote-tracking branch 'yx/250207-growth-prod-master-zp' into dev0731

This commit is contained in:
joshen
2025-02-27 09:33:56 +08:00
4 changed files with 46 additions and 41 deletions

View File

@@ -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",

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;