提交
|
Before Width: | Height: | Size: 996 B |
|
Before Width: | Height: | Size: 678 B |
|
Before Width: | Height: | Size: 556 B |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 343 B |
|
Before Width: | Height: | Size: 408 B |
BIN
src/assets/image/growth/type1.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
src/assets/image/growth/type10.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
src/assets/image/growth/type11.png
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
src/assets/image/growth/type12.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
src/assets/image/growth/type13.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
src/assets/image/growth/type2.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
src/assets/image/growth/type3.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
src/assets/image/growth/type4.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
src/assets/image/growth/type5.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
src/assets/image/growth/type6.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
src/assets/image/growth/type7.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
src/assets/image/growth/type8.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
src/assets/image/growth/type9.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
@@ -87,7 +87,12 @@
|
|||||||
v-for="(value, index) in stageProcessList"
|
v-for="(value, index) in stageProcessList"
|
||||||
>
|
>
|
||||||
<div class="list-item" @click="toFinish(value)">
|
<div class="list-item" @click="toFinish(value)">
|
||||||
<div class="item-img"></div>
|
<div class="item-img">
|
||||||
|
<img
|
||||||
|
style="width: 100%; height: 100%"
|
||||||
|
:src="getAssetsFile(value.courseType)"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
<div class="item-content">
|
<div class="item-content">
|
||||||
<div class="item-name">
|
<div class="item-name">
|
||||||
{{
|
{{
|
||||||
@@ -270,6 +275,10 @@ const lastLearned = computed(() =>
|
|||||||
stageProcessList.value.find((item) => item.lastStudy)
|
stageProcessList.value.find((item) => item.lastStudy)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const getAssetsFile = (url) => {
|
||||||
|
return new URL(`../../assets/image/growth/type${url}.png`, import.meta.url)
|
||||||
|
.href;
|
||||||
|
};
|
||||||
// 样式类型
|
// 样式类型
|
||||||
const templateClick = () => {
|
const templateClick = () => {
|
||||||
router.push({
|
router.push({
|
||||||
@@ -307,7 +316,7 @@ const refresh = () => {
|
|||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
const getList = () => {
|
const getList = () => {
|
||||||
let params = {
|
let params = {
|
||||||
growthId: selectGrowth.id ? selectGrowth.id : routerId,
|
growthId: selectGrowth.value.id ? selectGrowth.value.id : routerId,
|
||||||
...queryParams,
|
...queryParams,
|
||||||
};
|
};
|
||||||
// 3为查询全部状态,需给后端传空
|
// 3为查询全部状态,需给后端传空
|
||||||
@@ -656,7 +665,6 @@ function toOffcoursePlanPage(id) {
|
|||||||
margin: 15px 0 19px 0;
|
margin: 15px 0 19px 0;
|
||||||
}
|
}
|
||||||
.item-img {
|
.item-img {
|
||||||
height: 240px;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: #cccccc;
|
background: #cccccc;
|
||||||
border-radius: 14px 14px 0px 0px;
|
border-radius: 14px 14px 0px 0px;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
style="width: 100%; height: 290px"
|
style="width: 100%; height: 290px"
|
||||||
src="@/assets/image/growth/bg.png"
|
src="@/assets/image/growth/bg.png"
|
||||||
/>
|
/>
|
||||||
<div class="nav" :style="{transform:'scale('+ transformSize + ')'}">
|
<div class="nav" :style="{ transform: 'scale(' + transformSize + ')' }">
|
||||||
<div class="tabs">
|
<div class="tabs">
|
||||||
<div
|
<div
|
||||||
class="tabs-item"
|
class="tabs-item"
|
||||||
@@ -53,14 +53,18 @@
|
|||||||
>
|
>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="growth-path-container" :style="{transform:'scale('+ transformSize + ')'}">
|
<div
|
||||||
|
class="growth-path-container"
|
||||||
|
:style="{ transform: 'scale(' + transformSize + ')' }"
|
||||||
|
>
|
||||||
<div class="growth-name-type">
|
<div class="growth-name-type">
|
||||||
|
<el-dropdown :teleported="false" trigger="click" ref="dropdownRef">
|
||||||
<div class="growth-name">
|
<div class="growth-name">
|
||||||
<div>{{ selectGrowth?.growthName }}</div>
|
<div>{{ selectGrowth?.growthName }}</div>
|
||||||
<el-dropdown :teleported="false" trigger="click" ref="dropdownRef">
|
|
||||||
<div style="margin-left: 20px; cursor: pointer">
|
<div style="margin-left: 20px; cursor: pointer">
|
||||||
<el-icon color="#000" size="16"><CaretBottom /></el-icon>
|
<el-icon color="#000" size="16"><CaretBottom /></el-icon>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<template #dropdown>
|
<template #dropdown>
|
||||||
<el-dropdown-menu>
|
<el-dropdown-menu>
|
||||||
<el-dropdown-item
|
<el-dropdown-item
|
||||||
@@ -72,8 +76,6 @@
|
|||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</template>
|
</template>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="growth-type">
|
<div class="growth-type">
|
||||||
<div class="type-item-list" @click="templateClick">列表</div>
|
<div class="type-item-list" @click="templateClick">列表</div>
|
||||||
<div class="type-item-path">路径</div>
|
<div class="type-item-path">路径</div>
|
||||||
@@ -282,7 +284,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { computed, onMounted,onUnmounted, ref, watch, reactive } from "vue";
|
import { computed, onMounted, onUnmounted, ref, watch, reactive } from "vue";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
import { request } from "@/api/request";
|
import { request } from "@/api/request";
|
||||||
import { growthRequest } from "@/api/growthRequest";
|
import { growthRequest } from "@/api/growthRequest";
|
||||||
@@ -414,7 +416,7 @@ const transformSize = ref(1);
|
|||||||
const updateWindowWidth = () => {
|
const updateWindowWidth = () => {
|
||||||
windowWidth.value = window.innerWidth;
|
windowWidth.value = window.innerWidth;
|
||||||
transformSize.value = windowWidth.value / 1920;
|
transformSize.value = windowWidth.value / 1920;
|
||||||
}
|
};
|
||||||
// 样式类型
|
// 样式类型
|
||||||
const templateClick = () => {
|
const templateClick = () => {
|
||||||
router.push({
|
router.push({
|
||||||
@@ -452,7 +454,7 @@ const refresh = () => {
|
|||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
const getList = () => {
|
const getList = () => {
|
||||||
let params = {
|
let params = {
|
||||||
growthId: selectGrowth.id ? selectGrowth.id : routerId,
|
growthId: selectGrowth.value.id ? selectGrowth.value.id : routerId,
|
||||||
...queryParams,
|
...queryParams,
|
||||||
};
|
};
|
||||||
// 3为查询全部状态,需给后端传空
|
// 3为查询全部状态,需给后端传空
|
||||||
@@ -479,7 +481,7 @@ const select = (item) => {
|
|||||||
};
|
};
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
updateWindowWidth(); // 初始化宽度
|
updateWindowWidth(); // 初始化宽度
|
||||||
window.addEventListener('resize', updateWindowWidth);
|
window.addEventListener("resize", updateWindowWidth);
|
||||||
dispatch("getGrowthInfo", { routerId });
|
dispatch("getGrowthInfo", { routerId });
|
||||||
getList();
|
getList();
|
||||||
growthRequest(PROFESSIONAL_STUDENT_LIST).then((res) => {
|
growthRequest(PROFESSIONAL_STUDENT_LIST).then((res) => {
|
||||||
@@ -488,7 +490,7 @@ onMounted(() => {
|
|||||||
});
|
});
|
||||||
// 在组件卸载时移除事件监听器
|
// 在组件卸载时移除事件监听器
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
window.removeEventListener('resize', updateWindowWidth);
|
window.removeEventListener("resize", updateWindowWidth);
|
||||||
});
|
});
|
||||||
watch(
|
watch(
|
||||||
() => state.growthInfo,
|
() => state.growthInfo,
|
||||||
|
|||||||