### [[2025]]年 - [[2025-08|08月]], [[2025-08-11|<]] [[第224天]] [[2025-08-13|>]] , 火曜日
---
## 記事
```dataviewjs
const container = this.container;
// ========== 生成月份列表 ==========
const allPages = dv.pages();
const monthSet = new Set();
for (const p of allPages) {
const match = p.file.name.match(/^2025-(\d{2})/);
if (match) monthSet.add(`2025-${match[1]}`);
}
const sortedMonths = Array.from(monthSet).sort();
// ========== 创建下拉框 ==========
const monthSelect = document.createElement("select");
monthSelect.style.marginBottom = "1em";
monthSelect.style.padding = "4px";
for (const m of sortedMonths) {
const option = document.createElement("option");
option.value = m;
option.text = m;
monthSelect.appendChild(option);
}
container.appendChild(monthSelect);
// ========== 表格容器 ==========
const tableDiv = document.createElement("div");
container.appendChild(tableDiv);
// ========== 渲染表格函数 ==========
function renderTableForMonth(month) {
const pages = dv.pages()
.where(p => p.file.name.startsWith(month));
let amex = 0, tongyi = 0, nashiga = 0;
let use_tongyi = 0, use_nashiga = 0;
let sal_tongyi = 0, sal_nashiga = 0;
let income_nashiga = 0, income_tongyi = 0;
let special_tongyi = 0;
for (const d of pages) {
amex += d.Oamex || 0;
tongyi += d.Otongyi || 0;
nashiga += d.Onashiga || 0;
use_tongyi += d.Utongyi || 0;
use_nashiga += d.Unashiga || 0;
sal_tongyi += d.Stongyi || 0;
sal_nashiga += d.Snashiga || 0;
income_nashiga += d.Inashiga * 20 || 0;
income_tongyi += d.Itongyi * 20 || 0;
special_tongyi += d.Otongyi1 || 0;
}
const oOUTall = amex + tongyi + nashiga;
const oUSEall = use_tongyi + use_nashiga;
const oSALall = sal_tongyi + sal_nashiga;
const oALL = oOUTall + oUSEall + oSALall;
const iALL = income_nashiga + income_tongyi;
const balance = income_nashiga - oALL;
const tongyiTOnashigaM = (amex + nashiga - tongyi) * 0.5;
const tongyiTOnashigaU = (use_nashiga - use_tongyi) * 0.5;
const tongyiTOnashigaS = (sal_nashiga - sal_tongyi) * 0.5;
const tongyiTOnashigaI = income_nashiga * 0.5;
const xyFEEnashiga = -income_nashiga * 0.016;
const tongyiTOnashigaALL = tongyiTOnashigaM + tongyiTOnashigaU + tongyiTOnashigaS + tongyiTOnashigaI + special_tongyi + xyFEEnashiga * 0.5;
let tableHTML = `
<table style="width:100%; border-collapse: collapse; text-align: center; border: 1px solid #ccc;">
<thead>
<tr style="background:#1e5587;">
<th style="border:1px solid #ccc; padding:4px;">分类</th>
<th style="border:1px solid #ccc; padding:4px;">细项</th>
<th style="border:1px solid #ccc; padding:4px;">金额 (¥)</th>
</tr>
</thead>
<tbody>
<tr><td rowspan="4" style="border:1px solid #ccc; padding:4px;">货款</td><td style="border:1px solid #ccc; padding:4px;">Amex用了</td><td style="border:1px solid #ccc; padding:4px;">${amex.toLocaleString()}</td></tr>
<tr><td style="border:1px solid #ccc; padding:4px;">Tongyi用了</td><td style="border:1px solid #ccc; padding:4px;">${tongyi.toLocaleString()}</td></tr>
<tr><td style="border:1px solid #ccc; padding:4px;">Tongyi自用</td><td style="border:1px solid #ccc; padding:4px;">${special_tongyi.toLocaleString()}</td></tr>
<tr><td style="border:1px solid #ccc; padding:4px;">Nashiga用了</td><td style="border:1px solid #ccc; padding:4px;">${nashiga.toLocaleString()}</td></tr>
<tr style="background:#353b47;"><td colspan="2" style="border:1px solid #ccc; padding:4px;">tongyi给nashiga货款(amex一半nashiga一半 - tongyi一半)</td><td style="border:1px solid #ccc; padding:4px;"><b>${tongyiTOnashigaM.toLocaleString()}</b></td></tr>
<tr><td rowspan="2" style="border:1px solid #ccc; padding:4px;">消耗</td><td style="border:1px solid #ccc; padding:4px;">Tongyi</td><td style="border:1px solid #ccc; padding:4px;">${use_tongyi.toLocaleString()}</td></tr>
<tr><td style="border:1px solid #ccc; padding:4px;">Nashiga</td><td style="border:1px solid #ccc; padding:4px;">${use_nashiga.toLocaleString()}</td></tr>
<tr style="background:#353b47;"><td colspan="2" style="border:1px solid #ccc; padding:4px;">tongyi给nashiga消耗</td><td style="border:1px solid #ccc; padding:4px;"><b>${tongyiTOnashigaU.toLocaleString()}</b></td></tr>
<tr><td rowspan="2" style="border:1px solid #ccc; padding:4px;">工资</td><td style="border:1px solid #ccc; padding:4px;">Tongyi</td><td style="border:1px solid #ccc; padding:4px;">${sal_tongyi.toLocaleString()}</td></tr>
<tr><td style="border:1px solid #ccc; padding:4px;">Nashiga</td><td style="border:1px solid #ccc; padding:4px;">${sal_nashiga.toLocaleString()}</td></tr>
<tr style="background:#353b47;"><td colspan="2" style="border:1px solid #ccc; padding:4px;">tongyi给nashiga工资</td><td style="border:1px solid #ccc; padding:4px;"><b>${tongyiTOnashigaS.toLocaleString()}</b></td></tr>
<tr style="background:#353b47;"><td colspan="2" style="border:1px solid #ccc; padding:4px;">总支出</td><td style="border:1px solid #ccc; padding:4px;"><b>${oALL.toLocaleString()}</b></td></tr>
<tr><td rowspan="3" style="border:1px solid #ccc; padding:4px;">收入</td><td style="border:1px solid #ccc; padding:4px;">Nashiga部份</td><td style="border:1px solid #ccc; padding:4px;">${income_nashiga.toLocaleString()}</td></tr>
<tr><td style="border:1px solid #ccc; padding:4px;">Nashiga部份手续费</td><td style="border:1px solid #ccc; padding:4px;">${Math.round(xyFEEnashiga).toLocaleString()}</td></tr>
<tr><td style="border:1px solid #ccc; padding:4px;">Tongyi部份</td><td style="border:1px solid #ccc; padding:4px;">${income_tongyi.toLocaleString()}</td></tr>
<tr style="background:#353b47;"><td colspan="2" style="border:1px solid #ccc; padding:4px;">tongyi给nashiga收入</td><td style="border:1px solid #ccc; padding:4px;"><b>${tongyiTOnashigaI.toLocaleString()}</b></td></tr>
<tr style="background:#24292f;"><td colspan="2" style="border:1px solid #ccc; padding:4px;">tongyi要给nashiga(上面3个要给+tongyi自用-手续费一半)</td><td style="border:1px solid #ccc; padding:4px;"><b>${Math.round(tongyiTOnashigaALL).toLocaleString()}</b></td></tr>
<tr style="background:#24292f;"><td colspan="2" style="border:1px solid #ccc; padding:4px;">亏损</td><td style="border:1px solid #ccc; padding:4px; color:${balance >= 0 ? 'green' : 'red'};"><b>${balance.toLocaleString()}</b></td></tr>
</tbody>
</table>
`;
tableDiv.innerHTML = tableHTML;
}
// 初始渲染
if (sortedMonths.length > 0) {
renderTableForMonth(sortedMonths[0]);
}
// 切换月份
monthSelect.addEventListener("change", () => {
renderTableForMonth(monthSelect.value);
});
```
#### 出账
##### 货款
###### amex
Oamex:: 6870
3015+990+2865
###### tongyi
Otongyi:: 1870
1870
Otongyi1:: 4191
4191
###### nashiga
Onashiga::
##### 消耗
###### tongyi
Utongyi::
###### nashiga
Unashiga::
##### 工资
###### tongyi
Stongyi::
###### nashiga
Snashiga::
###### 瑜谌
Syuchen::2536
2536
#### 入账
Inashiga:: 2555
1050+370+1135
###### tongyi
Itongyi:: 435
435
---
# memos
2500+2400
4900 * 0.07
343+50+40
200+200+200+200 - 50
200+130+145+40-10