产量和效率

This commit is contained in:
‘937886381’
2024-05-29 17:05:55 +08:00
83 changed files with 17006 additions and 10610 deletions

View File

@@ -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);
}
}

View File

@@ -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>