This commit is contained in:
‘937886381’
2026-01-06 17:09:52 +08:00
parent 5605eeab06
commit 51e66cf6e1
145 changed files with 265 additions and 226 deletions

View File

@@ -6,7 +6,7 @@
<div class="content-wrapper">
<div class="left">
<div class="number">{{ item.targetValue }}</div>
<div class="title">目标</div>
<div class="title">预算</div>
</div>
<div class="line"></div>
<div class="right">

View File

@@ -3,7 +3,7 @@
<div class="barTop">
<div class="title">销售指标趋势</div>
<div class="legend">
<span class="legend-item target">目标</span>
<span class="legend-item target">预算</span>
<span class="legend-item real">实际</span>
</div>
<div class="button-group">
@@ -97,7 +97,7 @@ export default {
return [
{
name: '目标',
name: '预算',
type: 'line',
stack: 'Total',
symbol: 'circle',

View File

@@ -4,7 +4,7 @@
<div class="barTop-left" style="display: flex;">
<div class="title">财务指标趋势</div>
<div class="legend">
<span class="legend-item target">目标</span>
<span class="legend-item target">预算</span>
<span class="legend-item real">实际</span>
</div>
</div>
@@ -85,7 +85,7 @@ export default {
return [
{
name: '目标',
name: '预算',
type: 'line',
symbol: 'circle',
symbolSize: 6,

View File

@@ -8,7 +8,7 @@
<div class="content-wrapper">
<div class="left">
<div class="number">{{ item.targetValue || 0 }}</div>
<div class="title">目标</div>
<div class="title">预算</div>
</div>
<div class="line"></div>
<div class="right">

View File

@@ -102,7 +102,7 @@ export default {
},
// 2. 目标(柱状图)
{
name: '目标',
name: '预算',
type: 'bar',
yAxisIndex: 0, // 左侧Y轴万元
barWidth: 14,
@@ -185,7 +185,7 @@ export default {
},
// 2. 目标(柱状图)
{
name: '目标',
name: '预算',
type: 'bar',
yAxisIndex: 0,
barWidth: 14,

View File

@@ -7,7 +7,7 @@
<div class="content-wrapper">
<div class="left">
<div class="number">{{ itemList[0].targetValue }}</div>
<div class="title">目标</div>
<div class="title">预算</div>
</div>
<div class="line"></div>
<div class="right">
@@ -43,12 +43,12 @@
<!-- 循环渲染剩余的item从索引1开始 -->
<div class="item groupData" style="display: flex;padding: 0;" v-for="(item, index) in itemList.slice(1)"
:key="index">
<!-- 左侧目标/实际值部分不变 -->
<!-- 左侧预算/实际值部分不变 -->
<div class="left" style="display: flex;align-items: start;gap: 4px;padding: 12px 0 0 12px;">
<div class="groupName">{{ item.unit }}</div>
<div class="left-target">
<div class="number">{{ item.targetValue }}</div>
<div class="title">目标</div>
<div class="title">预算</div>
</div>
<div class="left-real">
<div class="number" :style="{ color: getColor(item.currentValue, item.targetValue) }">
@@ -233,7 +233,7 @@ export default {
}
]
},
// 颜色判断核心方法:实际值≥目标值返回绿色,否则返回橙色
// 颜色判断核心方法:实际值≥预算值返回绿色,否则返回橙色
getColor(currentValue, targetValue) {
return currentValue >= targetValue
? "rgba(98, 213, 180, 1)"
@@ -344,7 +344,7 @@ export default {
background-image: url("../../../assets/img/order-item-bg.png");
}
// 实际值 >= 目标值:绿色背景图
// 实际值 >= 预算值:绿色背景图
.bg-green {
background-image: url("../../../assets/img/order-item-greenbg.png");
}

View File

@@ -75,7 +75,7 @@ export default {
value: 0,
proportion: 0,
route: 'profitAnalysis',
completed: 1 // 未达目标值,不达标
completed: 1 // 未达预算值,不达标
},
{
name: "年度",
@@ -83,7 +83,7 @@ export default {
value: 0,
proportion: 0,
route: 'profitAnalysis',
completed: 1 // 超出目标值,达标
completed: 1 // 超出预算值,达标
}
]
}

View File

@@ -3,7 +3,7 @@
<div class="legend">
<span class="legend-item-line">
<span class="line target"></span>
目标
预算
</span>
<span class="legend-item-line">
<span class="line real"></span>
@@ -187,7 +187,7 @@ export default {
data: realData // 使用提取出的 "实际" 数据
},
{
name: '目标',
name: '预算',
type: 'line',
// stack: 'Total',
symbol: 'circle',

View File

@@ -8,7 +8,7 @@
<div class="content-wrapper">
<div class="left">
<div class="number">{{ item.targetValue || 0 }}</div>
<div class="title">目标</div>
<div class="title">预算</div>
</div>
<div class="line"></div>
<div class="right">

View File

@@ -9,7 +9,7 @@
<div class="content-wrapper">
<div class="left">
<div class="number">{{ item.targetValue ||0 }}</div>
<div class="title">目标</div>
<div class="title">预算</div>
</div>
<div class="line"></div>
<div class="right">

View File

@@ -113,7 +113,7 @@ export default {
symbolSize: 6
},
{
name: '目标',
name: '预算',
type: 'bar',
yAxisIndex: 0,
barWidth: 18,

View File

@@ -78,7 +78,7 @@ export default {
return PlaceNames.map(place => {
const targetItem = dataSource.find(item => item.name === place);
return {
targetValue: targetItem?.[`${field}Target`] || 0, // 对应指标的目标值字段(如 profitTarget
targetValue: targetItem?.[`${field}Target`] || 0, // 对应指标的预算值字段(如 profitTarget
value: targetItem?.[field] || 0, // 对应指标的实际值
proportion: (targetItem?.[`${field}Proportion`] || 0), // 对应指标的占比(转百分比)
completed: targetItem?.[`${field}Completed`] ?? 0 // 状态字段(复用分公司的 completed

View File

@@ -8,7 +8,7 @@
<div class="content-wrapper">
<div class="left">
<div class="number">{{ item.targetValue || 0 }}</div>
<div class="title">目标</div>
<div class="title">预算</div>
</div>
<div class="line"></div>
<div class="right">

View File

@@ -7,7 +7,7 @@
<div class="content-wrapper">
<div class="left">
<div class="number">{{ item.target }}</div>
<div class="title">目标</div>
<div class="title">预算</div>
</div>
<div class="line"></div>
<div class="right">
@@ -132,7 +132,7 @@ export default {
getColor(index) {
const { actual, target, progress } = this.itemList[index];
// 新增条件:如果实际值、目标值和进度都为0则显示绿色
// 新增条件:如果实际值、预算值和进度都为0则显示绿色
if (actual === 0 && target === 0 && progress === 0) {
return "rgba(98, 213, 180, 1)"; // 绿色
}