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

This commit is contained in:
joshen
2025-02-17 10:46:32 +08:00
2 changed files with 71 additions and 54 deletions

View File

@@ -666,8 +666,13 @@ function toOffcoursePlanPage(id) {
} }
.item-img { .item-img {
width: 100%; width: 100%;
background: #cccccc;
border-radius: 14px 14px 0px 0px; border-radius: 14px 14px 0px 0px;
overflow: hidden;
img:hover {
transform: scale(1.1);
transition: all 1s ease;
}
} }
.item-content { .item-content {
padding: 29px 24px 31px 26px; padding: 29px 24px 31px 26px;

View File

@@ -86,45 +86,15 @@
<div class="path-container"> <div class="path-container">
<div <div
:class=" :class="
(index + 1) % 2 && index + 1 != 15 (item.position + 1) % 2 || item.position + 1 == 15
? 'path-item-top' ? 'path-item-bottom'
: 'path-item-bottom' : 'path-item-top'
" "
@click="toFinish(item)" @click="toFinish(item)"
:style="point[index]" :style="point[item.position]"
v-for="(item, index) of stageProcessList" v-for="(item, index) of stageProcessList"
> >
<template v-if="(index + 1) % 2 && index + 1 != 15"> <template v-if="(item.position + 1) % 2 || item.position + 1 == 15">
<div>
<div class="item-name">{{ item.taskName }}</div>
<div class="triangle"></div>
</div>
<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 class="line"></div>
<div class="circle"></div>
</div>
</template>
<template v-else>
<div class="item-link"> <div class="item-link">
<div class="circle"></div> <div class="circle"></div>
<div class="line"></div> <div class="line"></div>
@@ -154,6 +124,36 @@
</div> </div>
</div> </div>
</template> </template>
<template v-else>
<div>
<div class="item-name">{{ item.taskName }}</div>
<div class="triangle"></div>
</div>
<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 class="line"></div>
<div class="circle"></div>
</div>
</template>
</div> </div>
</div> </div>
</template> </template>
@@ -305,62 +305,63 @@ const {
} = useRoute(); } = useRoute();
const point = [ const point = [
{
top: 0,
right: "234px",
},
{ {
top: "226px", top: "226px",
right: "128px", right: "128px",
}, },
{ {
top: "92px", top: 0,
right: "455px", right: "234px",
}, },
{ {
top: "347px", top: "347px",
right: "341px", right: "341px",
}, },
{ {
top: "155px", top: "92px",
right: "673px", right: "455px",
}, },
{ {
top: "443px", top: "443px",
right: "561px", right: "561px",
}, },
{ {
top: "200px", top: "155px",
right: "893px", right: "673px",
}, },
{ {
top: "512px", top: "512px",
right: "780px", right: "780px",
}, },
{ {
top: "232px", top: "200px",
right: "1111px", right: "893px",
}, },
{ {
top: "565px", top: "565px",
right: "1000px", right: "1000px",
}, },
{ {
top: "254px", top: "232px",
right: "1331px", right: "1111px",
}, },
{ {
top: "602px", top: "602px",
right: "1220px", right: "1220px",
}, },
{ {
top: "267px", top: "254px",
right: "1551px", right: "1331px",
}, },
{ {
top: "630px", top: "630px",
right: "1440px", right: "1440px",
}, },
{
top: "267px",
right: "1551px",
},
{ {
top: "650px", top: "650px",
right: "1660px", right: "1660px",
@@ -463,8 +464,17 @@ const getList = () => {
} }
loading.value = true; loading.value = true;
growthRequest(PROFESSIONAL_STUDENT_TASKLIST, params).then((res) => { growthRequest(PROFESSIONAL_STUDENT_TASKLIST, params).then((res) => {
console.log(res); let newData = res.data.slice(0, 15);
stageProcessList.value = res.data; // 默认第一个在第一点位
let num = 15 / newData.length;
stageProcessList.value = newData.map((item, index) => {
// 默认第一个在第一点位
if (index === 0) {
item.position = 0;
}
item.position = Number((index * num).toFixed());
return item;
});
loading.value = false; loading.value = false;
}); });
}; };
@@ -815,6 +825,7 @@ function toOffcoursePlanPage(id) {
.path-item-bottom { .path-item-bottom {
position: absolute; position: absolute;
width: 210px; width: 210px;
cursor: pointer;
.item-progress { .item-progress {
flex: 1; flex: 1;
} }
@@ -871,6 +882,7 @@ function toOffcoursePlanPage(id) {
.path-item-top { .path-item-top {
position: absolute; position: absolute;
width: 210px; width: 210px;
cursor: pointer;
.item-progress { .item-progress {
flex: 1; flex: 1;
} }