diff --git a/src/components/datapage/LineMonth.vue b/src/components/datapage/LineMonth.vue
index 540a643..eeabd03 100644
--- a/src/components/datapage/LineMonth.vue
+++ b/src/components/datapage/LineMonth.vue
@@ -5,68 +5,100 @@ import Container from "../Base/Container.vue";
import { useWsStore } from "../../store";
import setupFn from "./LineMonthOptions";
+const show = ref(false);
+const chartContainer = ref(null);
+const chartInstance = ref(null);
const store = useWsStore();
-const chartChart = ref(null);
-const chart = ref(null);
-
-const monthData = ref(null);
-store.$subscribe((mutation, state) => {
- console.log("[ChartMonth] ===> state: ", state.data2.monthlyTarget);
- if (
- state.data2.monthlyTarget == undefined ||
- state.data2.monthlyTarget?.length == 0
- ) {
- console.log("[ChartMonth] ===> 清除状态");
- monthData.value = null;
- if (chart.value) chart.value.dispose();
- return;
- }
-
- if (!state.data2.monthlyTarget[0]) return;
- const { targetProduction, nowProduction, targetYield, nowYield } =
- state.data2.monthlyTarget[0];
- monthData.value = { targetProduction, nowProduction, targetYield, nowYield };
- setupChart();
-});
-
-
// 绿色:24FF5E
// 黄色:FFB524
// 红色:FF3737
-
-
-function setupChart() {
- if (chart.value) chart.value.dispose();
- nextTick(() => {
- console.log("[ChartMonth] ===> 初始化表格: ", monthData.value);
- chart.value = echarts.init(chartChart.value);
- setupFn(chart.value, monthData.value);
- });
-}
-
onMounted(() => {
- chartChart.value.classList.add("h-full");
- // nextTick(() => {
- // setupChart();
- // })
+ chartContainer.value.classList.add("h-full");
+ const d = loadData(store.data2.monthlyTarget);
+ // const d = loadData([
+ // {
+ // targetProduction: 100,
+ // nowProduction: 66,
+ // targetYield: 13,
+ // nowYield: 3,
+ // },
+ // ]);
+ if (!d) {
+ show.value = false;
+ if (chartInstance.value) {
+ chartInstance.value.dispose();
+ chartInstance.value = null;
+ }
+ } else {
+ if (!chartInstance.value)
+ chartInstance.value = echarts.init(chartContainer.value);
+ setupFn(chartInstance.value, d);
+ show.value = true;
+ }
});
+
+// 订阅
+store.$subscribe((mutation, state) => {
+ const d = loadData(state.data2.monthlyTarget);
+ // const d = loadData([
+ // {
+ // targetProduction: 100,
+ // nowProduction: 66,
+ // targetYield: 13,
+ // nowYield: 3,
+ // },
+ // ]);
+ if (!d) {
+ show.value = false;
+ if (chartInstance.value) {
+ chartInstance.value.dispose();
+ chartInstance.value = null;
+ }
+ } else {
+ if (!chartInstance.value)
+ chartInstance.value = echarts.init(chartContainer.value);
+ setupFn(chartInstance.value, d);
+ show.value = true;
+ }
+});
+
+// utils
+function loadData(monthlyTarget) {
+ if (
+ monthlyTarget == undefined ||
+ // monthlyTarget?.length == 0 ||
+ !monthlyTarget[0]
+ ) {
+ return null;
+ }
+
+ return {
+ targetProduction: monthlyTarget[0].targetProduction,
+ nowProduction: monthlyTarget[0].nowProduction,
+ targetYield: monthlyTarget[0].targetYield,
+ nowYield: monthlyTarget[0].nowYield,
+ };
+}
-
- 暂无数据
+
+ 暂无数据