feat: 子ども・子育て支援金を給与・賞与計算に追加(令和8年4月以降)

This commit is contained in:
admin
2026-04-27 01:04:54 +09:00
parent 31a64d5b59
commit a646a81719
9 changed files with 3988 additions and 426 deletions

View File

@@ -432,12 +432,14 @@
<div id="tab-bonus" class="tab-content-calc">
<div class="filters">
<label>
対象年:
対象年:
<input
type="month"
id="filterBonusYearMonth"
style="width: 160px"
placeholder="YYYY-MM"
type="number"
id="filterBonusYear"
style="width: 90px"
value="2026"
min="2000"
max="2099"
/>
</label>
<button class="btn btn-primary" onclick="loadBonus()">検索</button>
@@ -1480,13 +1482,14 @@
now.getFullYear() + "-" + String(now.getMonth() + 1).padStart(2, "0");
const filterYearEl = document.getElementById("filterYear");
if (filterYearEl) filterYearEl.value = now.getFullYear();
document.getElementById("filterBonusYearMonth").value = ym;
const filterBonusYearEl = document.getElementById("filterBonusYear");
if (filterBonusYearEl) filterBonusYearEl.value = now.getFullYear();
loadPayrolls();
// =====================================================
// タブ切り替え機能
// =====================================================
let currentTab = "salary";
var currentTab = "salary";
function switchTab(tab) {
currentTab = tab;
@@ -1526,20 +1529,10 @@
// 賞与計算関連
// =====================================================
async function loadBonus() {
const ym = document.getElementById("filterBonusYearMonth").value;
let year = null;
let month = null;
if (ym) {
const parts = ym.split("-");
if (parts.length === 2) {
year = Number(parts[0]);
month = Number(parts[1]);
}
}
const year = document.getElementById("filterBonusYear").value;
const params = new URLSearchParams();
if (year) params.append("bonus_year", year);
if (month) params.append("bonus_month", month);
if (year) params.append("bonus_year", Number(year));
// employeeMapが空なら読み込む
if (!employeeMap || Object.keys(employeeMap).length === 0) {
@@ -2129,16 +2122,16 @@
<td class="value">¥${Number(salary.employment_insurance).toLocaleString()}</td>
</tr>
<tr>
<td class="label">子ども・子育て支援金</td>
<td class="value">¥${Number(salary.child_support || 0).toLocaleString()}</td>
<td class="label">所得税</td>
<td class="value">¥${Number(salary.income_tax).toLocaleString()}</td>
<td class="label">住民税</td>
<td class="value">¥${Number(salary.resident_tax).toLocaleString()}</td>
</tr>
<tr>
<td class="label">住民税</td>
<td class="value">¥${Number(salary.resident_tax).toLocaleString()}</td>
<td class="label">その他控除</td>
<td class="value">¥${Number(salary.other_deduction).toLocaleString()}</td>
<td class="label"></td>
<td class="value"></td>
</tr>
<tr class="total-row">
<td class="label">総控除額</td>
@@ -2215,10 +2208,16 @@
<td class="value">¥${Number(bonus.employment_insurance).toLocaleString()}</td>
</tr>
<tr>
<td class="label">子ども・子育て支援金</td>
<td class="value">¥${Number(bonus.child_support || 0).toLocaleString()}</td>
<td class="label">所得税</td>
<td class="value">¥${Number(bonus.income_tax).toLocaleString()}</td>
</tr>
<tr>
<td class="label">その他控除</td>
<td class="value">¥${Number(bonus.other_deduction).toLocaleString()}</td>
<td class="label"></td>
<td class="value"></td>
</tr>
<tr class="total-row">
<td class="label">総控除額</td>