diff --git a/src/store/modules/home.js b/src/store/modules/home.js
index bfab628..0843d43 100644
--- a/src/store/modules/home.js
+++ b/src/store/modules/home.js
@@ -65,13 +65,13 @@ const actions = {
async initCopilot({ commit }, { period, source }) {
const fetcher = {
yield: getCopilotYield,
- energy: null,
- efficiency: null,
+ energy: getCopilotEnergy,
+ efficiency: getCopilotEfficiency,
}[source];
// 获取产量数据
let { data: factoryList, type } = await fetcher(period);
let targetList = null;
- if (source === "yield") {
+ if (source === "yield" || source === "efficiency") {
// 获取目标数据
let { data } = await fetcher(period, true);
targetList = data;
@@ -210,13 +210,33 @@ async function getHomeTarget() {
return null;
}
-async function fetcher(type = "yield", params) {
+function getUrl(copilot_module) {
+ let url = {
+ // 对比数据的 URL
+ comparison: "",
+ // 目标数据的 URL
+ target: "",
+ };
+ switch (copilot_module) {
+ case "yield":
+ url.comparison = "/ip/prod-output/query-by-date";
+ url.target = "/ip/prod-target/query-by-date";
+ break;
+ case "energy":
+ break;
+ case "efficiency":
+ url.comparison = "/ip/prod-output/query-Rate-List";
+ url.target = "/ip/prod-target/query-rate-target";
+ break;
+ }
+
+ return url;
+}
+
+async function doFetch(copilot_module = "yield", fetch_target, params) {
+ const url = getUrl(copilot_module);
const { code, data } = await axios.post(
- type == "yield"
- ? // 产量 数据
- "/ip/prod-output/query-by-date"
- : // 目标数据
- "/ip/prod-target/query-by-date",
+ fetch_target ? url.target : url.comparison,
{
...params,
}
@@ -224,17 +244,30 @@ async function fetcher(type = "yield", params) {
if (code == 0) {
return data;
}
- console.warn("getCopilotYield failed, code: ", code);
+ console.warn("[doFetch] failed, code: ", code);
return null;
}
+function getCopilotYield(period, target = false) {
+ return getCopilotData("yield", period, target);
+}
+
+function getCopilotEnergy(period, target = false) {
+ return getCopilotData("energy", period, target);
+}
+
+function getCopilotEfficiency(period, target = false) {
+ return getCopilotData("efficiency", period, target);
+}
+
/**
*
* @param {*} period 周期: 日周月年
* @param {*} target 是否获取目标数据:默认 否
* @returns
*/
-async function getCopilotYield(period, target = false) {
+async function getCopilotData(copilot_module, period, target = false) {
+ if (!copilot_module) copilot_module = "yield";
// 请求参数,直接一次性获取所有工厂
let queryParams = {
factorys: [],
@@ -260,7 +293,7 @@ async function getCopilotYield(period, target = false) {
}
return {
- data: await fetcher(target ? "target" : "yield", queryParams),
- type: "yield",
+ data: await doFetch(copilot_module, target ? true : false, queryParams),
+ type: copilot_module,
};
}
diff --git a/src/views/copilot/efficiency/index.vue b/src/views/copilot/efficiency/index.vue
index 55a1d4b..7ea9aab 100644
--- a/src/views/copilot/efficiency/index.vue
+++ b/src/views/copilot/efficiency/index.vue
@@ -7,23 +7,41 @@
-
-
-
-
+
+
+
+