From 08c9cf8dd66bcf9f36978045c28c48f124fdbfb1 Mon Sep 17 00:00:00 2001 From: "DESKTOP-FUDKNA8\\znjsz" Date: Fri, 26 Apr 2024 17:05:26 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=A0=87=E5=87=86=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E4=BA=A7=E5=87=BA=20=E7=8E=AF=E5=BD=A2=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/modules/home.js | 40 ++++++++++++---- .../components/charts/base/BarChartBase.vue | 6 +-- .../charts/base/DoubleRingChart.vue | 32 ++++++++++--- .../charts/base/DoubleRingWrapper.vue | 13 ++---- .../charts/base/double-ring-chart-options.js | 46 ++++++++++++------- src/views/copilot/components/select.vue | 13 +++++- 6 files changed, 103 insertions(+), 47 deletions(-) diff --git a/src/store/modules/home.js b/src/store/modules/home.js index c0a68a8..bfab628 100644 --- a/src/store/modules/home.js +++ b/src/store/modules/home.js @@ -68,9 +68,15 @@ const actions = { energy: null, efficiency: null, }[source]; + // 获取产量数据 let { data: factoryList, type } = await fetcher(period); - - const payload = splitCurrentAndPrevious(factoryList); + let targetList = null; + if (source === "yield") { + // 获取目标数据 + let { data } = await fetcher(period, true); + targetList = data; + } + const payload = splitCurrentAndPrevious(factoryList, targetList); commit("SET_COPILOT_INFO", { type, payload }); }, }; @@ -104,7 +110,7 @@ function splitCurrentAndPrevious(factoryListResponse, targetListResponse) { ftoInvest.previous[fId] = factory.previousYearChipInput; // 产出数据, 0 - (玻璃)芯片产出, 1 - 标准组件产出, 2 - BIPV产出 // 因为后端写的垃圾数据,所以这里要做一下判断 - if (!([0, 1, 2].includes(factory.glassType))) continue; + if (![0, 1, 2].includes(factory.glassType)) continue; const _t = [chipOutput, stdOutput, bipvOutput][factory.glassType]; _t.current[fId] = factory.outputNumber; _t.previous[fId] = factory.previousYearOutputNumber; @@ -204,10 +210,17 @@ async function getHomeTarget() { return null; } -async function fetcher(params) { - const { code, data } = await axios.post("/ip/prod-output/query-by-date", { - ...params, - }); +async function fetcher(type = "yield", params) { + const { code, data } = await axios.post( + type == "yield" + ? // 产量 数据 + "/ip/prod-output/query-by-date" + : // 目标数据 + "/ip/prod-target/query-by-date", + { + ...params, + } + ); if (code == 0) { return data; } @@ -215,7 +228,13 @@ async function fetcher(params) { return null; } -async function getCopilotYield(period) { +/** + * + * @param {*} period 周期: 日周月年 + * @param {*} target 是否获取目标数据:默认 否 + * @returns + */ +async function getCopilotYield(period, target = false) { // 请求参数,直接一次性获取所有工厂 let queryParams = { factorys: [], @@ -240,5 +259,8 @@ async function getCopilotYield(period) { break; } - return { data: await fetcher(queryParams), type: "yield" }; + return { + data: await fetcher(target ? "target" : "yield", queryParams), + type: "yield", + }; } diff --git a/src/views/copilot/components/charts/base/BarChartBase.vue b/src/views/copilot/components/charts/base/BarChartBase.vue index f136dd3..54768a9 100644 --- a/src/views/copilot/components/charts/base/BarChartBase.vue +++ b/src/views/copilot/components/charts/base/BarChartBase.vue @@ -54,8 +54,8 @@ export default { }, in: { type: String, - default: "" - } + default: "", + }, }, data() { return { @@ -194,8 +194,6 @@ export default { this.initOptions(this.actualOptions); }, series(val) { - debugger; - console.log(`[BarChartBase] [${this.in}] should update component`, val); if (!val) { this.initOptions(this.options); return; diff --git a/src/views/copilot/components/charts/base/DoubleRingChart.vue b/src/views/copilot/components/charts/base/DoubleRingChart.vue index be15fca..d61cebe 100644 --- a/src/views/copilot/components/charts/base/DoubleRingChart.vue +++ b/src/views/copilot/components/charts/base/DoubleRingChart.vue @@ -23,7 +23,7 @@