yudao-init/src/views/copilot/efficiency/components/TransformRate.vue

111 lines
2.7 KiB
Vue
Raw Normal View History

2024-04-29 13:26:38 +08:00
<!--
filename: TransformRate.vue
author: liubin
date: 2024-04-29 08:50:34
description: 转化效率
-->
2024-04-29 16:06:59 +08:00
<template>
<BarChartBase
:legend="legend"
:series="series"
:xAxis="xAxis"
in="chipOEE"
class="chip-oee"
/>
</template>
2024-04-29 13:26:38 +08:00
<script>
2024-04-29 16:06:59 +08:00
import BarChartBase from "@/views/copilot/components/BarChartBase.vue";
2024-04-29 13:26:38 +08:00
export default {
2024-04-29 16:06:59 +08:00
name: "TransformRate",
components: { BarChartBase },
props: {
period: {
type: String,
default: "日",
2024-04-29 13:26:38 +08:00
},
2024-04-29 16:06:59 +08:00
},
data() {
// 城市数组的顺序必须是固定的
const cities = ["瑞昌", "邯郸", "株洲", "佳木斯", "成都", "凯盛", "蚌埠"];
return {
xAxis: cities,
};
},
computed: {
legend() {
switch (this.period) {
case "日":
return [{ label: "昨日", color: "#12f7f1" }];
case "周":
return [{ label: "本周", color: "#12f7f1" }];
case "月": {
const year = new Date().getFullYear();
const month = new Date().getMonth() + 1;
return [
{ label: `${year - 1}${month}`, color: "#12f7f1" },
{ label: `${year}${month}`, color: "#58adfa" },
];
}
case "年": {
const year = new Date().getFullYear();
return [
{ label: `${year - 1}`, color: "#12f7f1" },
{ label: `${year}`, color: "#58adfa" },
];
}
default:
return [
{ label: `${year - 1}`, color: "#12f7f1" },
{ label: `${year}`, color: "#58adfa" },
];
}
},
series() {
const { ftoInvest } = this.$store.getters.copilot.yield;
let dataList = null;
switch (this.period) {
case "日":
case "周":
dataList = ftoInvest?.current;
break;
default:
dataList = [];
dataList[0] = ftoInvest?.pervious;
dataList[1] = ftoInvest?.current;
}
return getTemplate(this.period, dataList);
},
},
methods: {},
};
function getTemplate(period, dataList) {
const year = new Date().getFullYear();
const month = new Date().getMonth() + 1;
return period == "日" || period == "周"
? [
{
name: period == "日" ? "昨日" : "本周",
data: dataList ?? [],
},
]
: [
{
name: period == "年" ? `${year - 1}` : `${year - 1}${month}`,
data: dataList ? dataList[0] : [],
},
{
name: period == "年" ? `${year}` : `${year}${month}`,
data: dataList ? dataList[1] : [],
// : Array.from({ length: 7 }, () => Math.floor(Math.random() * 1000)),
},
];
2024-04-29 13:26:38 +08:00
}
</script>
2024-04-29 16:06:59 +08:00
<style scoped lang="scss"></style>