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: { 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",

View File

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

View File

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

View File

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