修改
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
<div class="line">
|
||||
<operatingSingleBar :detailData="{
|
||||
...(relatedTotal.单价 || defaultData),
|
||||
flag: getRateFlag((relatedTotal.单价 || defaultData).completeRate)
|
||||
flag: getRateFlag((relatedTotal.单价 || defaultData).completeRate, (relatedTotal.单价 || defaultData).real, (relatedTotal.单价 || defaultData).target)
|
||||
}" />
|
||||
</div>
|
||||
</div>
|
||||
@@ -23,7 +23,7 @@
|
||||
<div class="line">
|
||||
<operatingSingleBar :detailData="{
|
||||
...(relatedTotal.运费 || defaultData),
|
||||
flag: getRateFlag((relatedTotal.运费 || defaultData).completeRate)
|
||||
flag: getRateFlag((relatedTotal.运费 || defaultData).completeRate, (relatedTotal.运费 || defaultData).real, (relatedTotal.运费 || defaultData).target)
|
||||
}" />
|
||||
</div>
|
||||
</div>
|
||||
@@ -104,21 +104,24 @@ export default {
|
||||
* @param {number} rate 完成率(原始值,如89代表89%)
|
||||
* @returns {0|1} flag值
|
||||
*/
|
||||
getRateFlag(rate) {
|
||||
if (isNaN(rate) || rate === null || rate === undefined) return 0;
|
||||
return +(rate >= 100 || rate === 0); // + 号将布尔值转为数字(true→1,false→0)
|
||||
},
|
||||
getRateFlag(rate, real, target) {
|
||||
if (isNaN(rate) || rate === null || rate === undefined) return 0;
|
||||
|
||||
// 1. 完成率 >= 100 => 达标
|
||||
if (rate >= 100) return 1;
|
||||
|
||||
// 2. 完成率 = 0 且 (目标值=0 或 实际值=目标值=0) => 达标
|
||||
if (rate === 0 && target === 0) return 1;
|
||||
|
||||
// 其他情况 => 未达标
|
||||
return 0;
|
||||
},
|
||||
|
||||
/**
|
||||
* 图表更新方法:可在这里补充全局的图表刷新逻辑
|
||||
* 若子组件内部已监听 chartData 变化,此方法可留空或补充额外逻辑
|
||||
*/
|
||||
updateChart() {
|
||||
console.log('数据更新,当前relatedMon:', this.relatedTotal)
|
||||
// 打印各维度的flag值,方便调试
|
||||
// console.log('销量flag:', this.getRateFlag(this.relatedTotal.销量.completeRate))
|
||||
// console.log('成本flag:', this.getRateFlag(this.relatedTotal.成本.completeRate))
|
||||
// console.log('运费flag:', this.getRateFlag(this.relatedTotal.运费.completeRate))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user