修复计算
This commit is contained in:
@@ -159,7 +159,7 @@
|
||||
<div class="summary-card">
|
||||
<h2>投资回收期</h2>
|
||||
<div id="paybackPeriod" class="summary-value">54.5 个月</div>
|
||||
<p class="note">= 单站总投资 / 月净利润</p>
|
||||
<p class="note">= 总投资 / 月净利润</p>
|
||||
</div>
|
||||
<div class="summary-card">
|
||||
<h2>年化 ROI</h2>
|
||||
@@ -183,6 +183,10 @@
|
||||
月计费天数 (天)
|
||||
<input id="daysPerMonth" type="number" min="1" step="1" value="30" />
|
||||
</label>
|
||||
<label>
|
||||
运营站点数量 (个)
|
||||
<input id="siteCount" type="number" min="1" step="1" value="1" />
|
||||
</label>
|
||||
<label>
|
||||
废纸板回收价 ¥/公斤 (给用户)
|
||||
<input id="buyPriceCardboard" type="number" min="0" step="0.01" value="0.8" />
|
||||
@@ -206,8 +210,8 @@
|
||||
<h3>运营及投入假设</h3>
|
||||
<div class="field-grid">
|
||||
<label>
|
||||
场地合作分成 (占给站长回收金 %)
|
||||
<input id="siteFeePercent" type="number" min="0" step="0.1" value="10" />
|
||||
场地合作分成 (占销售总收入 %)
|
||||
<input id="siteFeePercent" type="number" min="0" step="0.1" value="6.8" />
|
||||
</label>
|
||||
<label>
|
||||
月物流清运成本 (¥)
|
||||
@@ -311,7 +315,7 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>单站总投资 (Capex)</td>
|
||||
<td>总投资 (Capex)</td>
|
||||
<td id="totalInvestment">¥ 1,800.00</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -355,6 +359,7 @@
|
||||
const dailyCardboard = getValue("dailyCardboard");
|
||||
const dailyPet = getValue("dailyPet");
|
||||
const days = getValue("daysPerMonth");
|
||||
const siteCount = Math.max(getValue("siteCount"), 0);
|
||||
|
||||
const buyCardboard = getValue("buyPriceCardboard");
|
||||
const sellCardboard = getValue("sellPriceCardboard");
|
||||
@@ -368,8 +373,8 @@
|
||||
const equipmentCost = getValue("equipmentCost");
|
||||
const deploymentCost = getValue("deploymentCost");
|
||||
|
||||
const monthlyCardboardKg = dailyCardboard * days;
|
||||
const monthlyPetKg = dailyPet * days;
|
||||
const monthlyCardboardKg = dailyCardboard * days * siteCount;
|
||||
const monthlyPetKg = dailyPet * days * siteCount;
|
||||
const monthlyTotalKg = monthlyCardboardKg + monthlyPetKg;
|
||||
|
||||
const payoutCardboard = monthlyCardboardKg * buyCardboard;
|
||||
@@ -384,11 +389,15 @@
|
||||
const grossPet = salePet - payoutPet;
|
||||
const grossTotal = grossCardboard + grossPet;
|
||||
|
||||
const siteFee = payoutTotal * siteFeePercent;
|
||||
const fixedCostTotal = siteFee + logisticsCost + maintenanceCost + otherCost;
|
||||
const logisticsCostTotal = logisticsCost * siteCount;
|
||||
const maintenanceCostTotal = maintenanceCost * siteCount;
|
||||
const otherCostTotal = otherCost * siteCount;
|
||||
const siteFee = saleTotal * siteFeePercent;
|
||||
const fixedCostTotal = siteFee + logisticsCostTotal + maintenanceCostTotal + otherCostTotal;
|
||||
const monthlyNetProfit = grossTotal - fixedCostTotal;
|
||||
|
||||
const totalInvestment = equipmentCost + deploymentCost;
|
||||
const totalInvestmentPerSite = equipmentCost + deploymentCost;
|
||||
const totalInvestment = totalInvestmentPerSite * siteCount;
|
||||
const annualNetProfit = monthlyNetProfit * 12;
|
||||
|
||||
const paybackMonths = monthlyNetProfit > 0 ? totalInvestment / monthlyNetProfit : Infinity;
|
||||
@@ -412,9 +421,9 @@
|
||||
document.getElementById("grossTotal").textContent = formatCurrency(grossTotal);
|
||||
|
||||
document.getElementById("siteFee").textContent = formatCurrency(siteFee);
|
||||
document.getElementById("logisticsCostCell").textContent = formatCurrency(logisticsCost);
|
||||
document.getElementById("maintenanceCostCell").textContent = formatCurrency(maintenanceCost);
|
||||
document.getElementById("otherCostCell").textContent = formatCurrency(otherCost);
|
||||
document.getElementById("logisticsCostCell").textContent = formatCurrency(logisticsCostTotal);
|
||||
document.getElementById("maintenanceCostCell").textContent = formatCurrency(maintenanceCostTotal);
|
||||
document.getElementById("otherCostCell").textContent = formatCurrency(otherCostTotal);
|
||||
document.getElementById("fixedCostTotal").innerHTML = `<strong>${formatCurrency(fixedCostTotal)}</strong>`;
|
||||
|
||||
document.getElementById("totalInvestment").textContent = formatCurrency(totalInvestment);
|
||||
|
||||
Reference in New Issue
Block a user