产量和效率
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="progress-bar" :data-title="titleYear" :data-rate="number">
|
||||
<div class="progress-bar" :data-title="title" :data-rate="value + '%'">
|
||||
<div class="progress-bar__rate" :style="{ width: dataRate == '-' ? 0 : dataRate }"></div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -20,52 +20,25 @@ export default {
|
||||
type: Number,
|
||||
default: 0,
|
||||
},
|
||||
target: {
|
||||
type: Number,
|
||||
default: 0,
|
||||
},
|
||||
goodNumber: {
|
||||
type: Number,
|
||||
default:0
|
||||
},
|
||||
componentYield: {
|
||||
type: Number,
|
||||
default:0
|
||||
},
|
||||
period: {
|
||||
type: String,
|
||||
default:'日',
|
||||
},
|
||||
// total: {
|
||||
// type: Number,
|
||||
// default: 0,
|
||||
// },
|
||||
title: {
|
||||
type: String,
|
||||
default: "",
|
||||
},
|
||||
city: {
|
||||
type: String,
|
||||
default:""
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
number: 0,
|
||||
titleYear:'',
|
||||
};
|
||||
return {};
|
||||
},
|
||||
computed: {
|
||||
dataRate() {
|
||||
if ((this.period === '年' || this.period === '月') && this.target != 0) {
|
||||
// console.log(this.componentYield)
|
||||
this.titleYear = this.title + ' ' + `${(this.target * 100).toFixed(0)}%`
|
||||
} else {
|
||||
this.titleYear = this.title
|
||||
}
|
||||
this.number = this.value == 0
|
||||
? "-"
|
||||
: `${(this.value * 100).toFixed(0)}%`
|
||||
// console.log(this.period)
|
||||
return this.value == 0
|
||||
? "-"
|
||||
: this.value >1 ? 100 + '%' :`${(this.value * 100).toFixed(0)}%`
|
||||
: this.value > 1
|
||||
? 100 + '%'
|
||||
: `${(parseFloat(this.value)).toFixed(0)}%`;
|
||||
},
|
||||
},
|
||||
methods: {},
|
||||
@@ -95,7 +68,7 @@ export default {
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
bottom: -200%;
|
||||
right: 10px;
|
||||
right: 0;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
@@ -104,6 +77,7 @@ export default {
|
||||
color: #11eae3;
|
||||
}
|
||||
}
|
||||
|
||||
&:nth-child(2) {
|
||||
&:after {
|
||||
color: #0e65fd;
|
||||
@@ -116,17 +90,20 @@ export default {
|
||||
height: 100%;
|
||||
width: 0;
|
||||
border-radius: 4px;
|
||||
background: linear-gradient(to right,
|
||||
#004c5e11 10%,
|
||||
#004c5e,
|
||||
#0ac0c0,
|
||||
#11eae3);
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
.progress-bar__rate {
|
||||
background: linear-gradient(
|
||||
to right,
|
||||
#004c5e11 10%,
|
||||
#004c5e,
|
||||
#0ac0c0,
|
||||
#11eae3
|
||||
);
|
||||
background: linear-gradient(to right,
|
||||
#004c5e11 10%,
|
||||
#004c5e,
|
||||
#0ac0c0,
|
||||
#11eae3);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2024-05-07 10:25:10
|
||||
* @LastEditTime: 2024-05-20 09:46:19
|
||||
* @LastEditTime: 2024-05-29 17:03:00
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@@ -11,28 +11,30 @@
|
||||
<CityName :value="city.name" />
|
||||
<div class="std-rate-item__value">
|
||||
<ProgressBar :period="period" :title="title" :value="city.current" />
|
||||
<!-- <ProgressBar title="24年累计" :total="city.target" :value="city.thisYear" /> -->
|
||||
<ProgressBar :period="period" :title="titlePre" :value="city.previous" />
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="period == '周'" class="std-rate-item">
|
||||
<CityName :value="city.name" />
|
||||
<div class="std-rate-item__value">
|
||||
<ProgressBar :period="period" :title="title" :value="city.current" />
|
||||
<!-- <ProgressBar title="24年累计" :total="city.target" :value="city.thisYear" /> -->
|
||||
<ProgressBar :period="period" :title="titlePre" :value="city.previous" />
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="period == '月'" class="std-rate-item">
|
||||
<CityName :value="city.name" />
|
||||
<div class="std-rate-item__value">
|
||||
<ProgressBar :period="period" :title="titleEnd" :target="city.target" :value="city.current" />
|
||||
<ProgressBar :period="period" :title="title" :value="city.previous" />
|
||||
<ProgressBar :period="period" :title="titleTarget" :value="city.target" />
|
||||
<ProgressBar :period="period" :title="titlePre" :value="city.previous" />
|
||||
<ProgressBar :period="period" :title="title" :value="city.current" />
|
||||
</div>
|
||||
</div>
|
||||
<div v-else="period == '年'" class="std-rate-item">
|
||||
<CityName :value="city.name" />
|
||||
<div class="std-rate-item__value">
|
||||
<ProgressBar :period="period" :title="titleEnd" :target="city.target" :value="city.current" />
|
||||
<ProgressBar :period="period" :title="title" :value="city.previous" />
|
||||
<ProgressBar :period="period" :title="titleTarget" :value="city.target" />
|
||||
<ProgressBar :period="period" :title="titlePre" :value="city.previous" />
|
||||
<ProgressBar :period="period" :title="title" :value="city.current" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -52,7 +54,11 @@ export default {
|
||||
period: {
|
||||
type: String,
|
||||
default: "日",
|
||||
}
|
||||
},
|
||||
than: {
|
||||
type: String,
|
||||
default: "同比",
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -60,44 +66,65 @@ export default {
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
title() {
|
||||
switch (this.period) {
|
||||
case "日":
|
||||
return "今日"
|
||||
case "周":
|
||||
return "本周"
|
||||
case "月":
|
||||
const year = new Date().getFullYear();
|
||||
const month = new Date().getMonth() + 1;
|
||||
return `${year - 1}年${month}月累计`
|
||||
case "年": {
|
||||
const year = new Date().getFullYear();
|
||||
// return [
|
||||
return `${year - 1}年累计`
|
||||
// ];
|
||||
}
|
||||
default:
|
||||
return "今日"
|
||||
titlePre() {
|
||||
console.log(this.city);
|
||||
var day1 = new Date();
|
||||
day1.setTime(day1.getTime() - 24 * 60 * 60 * 1000);
|
||||
var yesterday = (day1.getMonth() + 1) + "月" + day1.getDate()
|
||||
const today = new Date().getDate();
|
||||
const month = new Date().getMonth() + 1;
|
||||
const lastMonth = new Date().getMonth() + 1 === 12 ? 1 : new Date().getMonth() + 1 - 1;
|
||||
const year = new Date().getFullYear();
|
||||
if (this.period === '日' && this.than === '同比') {
|
||||
return `去年${month}月${today}日`
|
||||
} else if (this.period === '日' && this.than === '环比') {
|
||||
return `${yesterday}日`
|
||||
} else if (this.period === '周' && this.than === '同比') {
|
||||
return `去年本周`
|
||||
} else if (this.period === '周' && this.than === '环比') {
|
||||
return `上周`
|
||||
} else if (this.period === '月' && this.than === '同比') {
|
||||
return `去年${month}月`
|
||||
} else if (this.period === '月' && this.than === '环比') {
|
||||
return `${lastMonth}月`
|
||||
} else {
|
||||
return `${year - 1}年`
|
||||
}
|
||||
},
|
||||
titleEnd() {
|
||||
switch (this.period) {
|
||||
// case "日":
|
||||
// return "今日"
|
||||
// case "周":
|
||||
// return "本周"
|
||||
case "月":
|
||||
const year = new Date().getFullYear();
|
||||
const month = new Date().getMonth() + 1;
|
||||
return `${year}年${month}月目标`
|
||||
case "年": {
|
||||
const year = new Date().getFullYear();
|
||||
// return [
|
||||
return `${year}年目标`
|
||||
// ];
|
||||
}
|
||||
title() {
|
||||
var day1 = new Date();
|
||||
day1.setTime(day1.getTime() - 24 * 60 * 60 * 1000);
|
||||
const today = new Date().getDate();
|
||||
const month = new Date().getMonth() + 1;
|
||||
const year = new Date().getFullYear();
|
||||
if (this.period === '日' && this.than === '同比') {
|
||||
return `${month}月${today}日`
|
||||
} else if (this.period === '日' && this.than === '环比') {
|
||||
return `${month}月${today}日`
|
||||
} else if (this.period === '周' && this.than === '同比') {
|
||||
return `本周`
|
||||
} else if (this.period === '周' && this.than === '环比') {
|
||||
return `本周`
|
||||
} else if (this.period === '月' && this.than === '同比') {
|
||||
return `${month}月`
|
||||
} else if (this.period === '月' && this.than === '环比') {
|
||||
return `${month}月`
|
||||
} else {
|
||||
return `${year}年`
|
||||
}
|
||||
}
|
||||
},
|
||||
titleTarget() {
|
||||
var day1 = new Date();
|
||||
day1.setTime(day1.getTime() - 24 * 60 * 60 * 1000);
|
||||
const today = new Date().getDate();
|
||||
const month = new Date().getMonth() + 1;
|
||||
const year = new Date().getFullYear();
|
||||
if (this.period === '月') {
|
||||
return `${month}月目标`
|
||||
} else if (this.period === '年') {
|
||||
return `${year}年目标`
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user