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