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

This commit is contained in:
joshen
2025-02-21 14:53:53 +08:00
2 changed files with 156 additions and 150 deletions

View File

@@ -4,7 +4,7 @@
<div class="nav-left" @click="returnclick">
<el-icon color="#fff" size="20"><ArrowLeft /></el-icon>
</div>
<div class="nav-title">专业力必修</div>
<div class="nav-title">{{ data.growthName }}</div>
</div>
<div class="tabs">
<div
@@ -65,65 +65,66 @@
v-loading="loading"
:style="stageProcessList.length ? '' : 'height:400px'"
>
<div
@click="toFinish(item)"
:id="item.id"
v-for="(item, key) in stageProcessList"
:key="key"
class="task-item"
>
<div class="task-img">
<img
style="width: 100%; height: 100%"
:src="getAssetsFile(item.courseType)"
/>
</div>
<div>
<div style="display: flex; align-items: center">
<div class="task-type">
{{ TASK_TYPES.typeName[item.courseType] }}
<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">
<img
style="width: 100%; height: 100%"
:src="getAssetsFile(item.courseType)"
/>
</div>
<div>
<div style="display: flex; align-items: center">
<div class="task-type">
{{ TASK_TYPES.typeName[item.courseType] }}
</div>
<div class="task-name">{{ item.taskName }}</div>
</div>
<div class="task-name">{{ item.taskName }}</div>
</div>
<div
class="task-state"
:style="{
color:
item.completionStatus === '0'
? '#C4C2C2'
: item.completionStatus === '1'
? '#0077EC'
: '#FF8726',
}"
>
{{
item.completionStatus === "0"
? "未开始"
: item.completionStatus === "1"
? "已完成"
: "进行中"
}}
</div>
<div style="display: flex; align-items: center">
<div style="flex: 1">
<el-progress
:percentage="item.progress"
:show-text="false"
:stroke-width="3"
:color="
<div
class="task-state"
:style="{
color:
item.completionStatus === '0'
? '#C4C2C2'
: item.completionStatus === '1'
? '#0077EC'
: '#FF8726'
"
/>
: '#FF8726',
}"
>
{{
item.completionStatus === "0"
? "未开始"
: item.completionStatus === "1"
? "已完成"
: "进行中"
}}
</div>
<div style="display: flex; align-items: center">
<div style="flex: 1">
<el-progress
:percentage="item.progress"
:show-text="false"
:stroke-width="3"
:color="
item.completionStatus === '0'
? '#C4C2C2'
: item.completionStatus === '1'
? '#0077EC'
: '#FF8726'
"
/>
</div>
<div class="progress-text">{{ item.progress }}%</div>
</div>
<div class="progress-text">{{ item.progress }}%</div>
</div>
</div>
</div>
<template v-if="stageProcessList && stageProcessList.length"> </template>
</template>
<template v-else>
<el-empty description="暂无数据" />
</template>

View File

@@ -4,7 +4,7 @@
<div class="nav-left" @click="returnclick">
<el-icon color="#fff" size="20"><ArrowLeft /></el-icon>
</div>
<div class="nav-title">{{ growthInfo.growthName }}</div>
<div class="nav-title">{{ data.growthName }}</div>
</div>
<div class="tabs">
<div
@@ -60,117 +60,122 @@
<!-- <img class="icon" src="@/assets/image/growth/list.png" /> -->
<img class="icon" @click="toPath" src="@/assets/image/growth/list.png" />
</div>
<div class="container" v-loading="loading">
<div :style="{ transform: 'scale(' + transformSize + ')' }">
<template v-if="growthInfo.template == 2">
<div class="path-container">
<div
:class="
item.position + 1 < 3 ||
item.position + 1 == 4 ||
item.position + 1 == 6
? 'path-item-left'
: 'path-item-right'
"
@click="toFinish(item)"
:style="point[item.position]"
v-for="(item, index) of stageProcessList"
>
<template
v-if="
<template v-if="stageProcessList && stageProcessList.length">
<div class="container" v-loading="loading">
<div :style="{ transform: 'scale(' + transformSize + ')' }">
<template v-if="growthInfo.template == 2">
<div class="path-container">
<div
:class="
item.position + 1 < 3 ||
item.position + 1 == 4 ||
item.position + 1 == 6
? 'path-item-left'
: 'path-item-right'
"
@click="toFinish(item)"
:style="point[item.position]"
v-for="(item, index) of stageProcessList"
>
<div>
<div class="item-name">{{ item.taskName }}</div>
<div class="triangle"></div>
</div>
<div class="f-a-c">
<div class="f-a-c">
<div class="item-progress">
<el-progress
:percentage="parseInt(item.progress)"
:show-text="false"
:stroke-width="6"
:color="stateData(item).progressColor"
/>
</div>
<div
class="item-state"
:style="{
color: stateData(item).color,
background: stateData(item).bgColor,
}"
>
{{ stateData(item).text }}
</div>
</div>
<div class="item-link">
<div
:style="{
width: widthConfig(item.position).width,
marginLeft: widthConfig(item.position).margin,
}"
class="line"
></div>
<div class="circle"></div>
</div>
</div>
</template>
<template v-else>
<div class="item-link">
<div class="circle"></div>
<div
:style="{
width: widthConfig(item.position).width,
marginRight: widthConfig(item.position).margin,
}"
class="line"
></div>
</div>
<div>
<template
v-if="
item.position + 1 < 3 ||
item.position + 1 == 4 ||
item.position + 1 == 6
"
>
<div>
<div class="item-name">{{ item.taskName }}</div>
<div class="triangle"></div>
</div>
<div class="f-a-c" style="justify-content: flex-end">
<div class="item-progress">
<el-progress
:percentage="parseInt(item.progress)"
:show-text="false"
:stroke-width="6"
:color="stateData(item).progressColor"
/>
</div>
<div class="f-a-c">
<div class="f-a-c">
<div class="item-progress">
<el-progress
:percentage="parseInt(item.progress)"
:show-text="false"
:stroke-width="6"
:color="stateData(item).progressColor"
/>
</div>
<div
class="item-state"
:style="{
color: stateData(item).color,
background: stateData(item).bgColor,
}"
>
{{ stateData(item).text }}
<div
class="item-state"
:style="{
color: stateData(item).color,
background: stateData(item).bgColor,
}"
>
{{ stateData(item).text }}
</div>
</div>
<div class="item-link">
<div
:style="{
width: widthConfig(item.position).width,
marginLeft: widthConfig(item.position).margin,
}"
class="line"
></div>
<div class="circle"></div>
</div>
</div>
</div>
</template>
</div>
</div>
</template>
<template v-else>
<GrowthPath2 @toFinish="toFinish" :stageProcessList="stageProcessList"></GrowthPath2>
</template>
</div>
</template>
<template v-else>
<div class="item-link">
<div class="circle"></div>
<div
:style="{
width: widthConfig(item.position).width,
marginRight: widthConfig(item.position).margin,
}"
class="line"
></div>
</div>
<div>
<div>
<div class="item-name">{{ item.taskName }}</div>
<div class="triangle"></div>
</div>
<div class="f-a-c" style="justify-content: flex-end">
<div class="item-progress">
<el-progress
:percentage="parseInt(item.progress)"
:show-text="false"
:stroke-width="6"
:color="stateData(item).progressColor"
/>
</div>
<template v-if="stageProcessList && stageProcessList.length"> </template>
<template v-else>
<div
class="item-state"
:style="{
color: stateData(item).color,
background: stateData(item).bgColor,
}"
>
{{ stateData(item).text }}
</div>
</div>
</div>
</template>
</div>
</div>
</template>
<template v-else>
<GrowthPath2
@toFinish="toFinish"
:stageProcessList="stageProcessList"
></GrowthPath2>
</template>
</div>
</div>
</template>
<template v-else>
<div class="container" style="background-image: none">
<el-empty description="暂无数据" />
</template>
</div>
</div>
</template>
<!-- 开课列表弹框 -->
<el-dialog
top="120px"