HEL-122: 第3批——管理端剩余6页 + 对应弹窗换原型壳
Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
+769
-62
@@ -260,89 +260,796 @@
|
||||
</section>
|
||||
|
||||
<section class="app-view" data-page="pair">
|
||||
<header class="page-heading"><div><h1>往来查询</h1><p>按公司对查询双方口径、科目和逐笔凭证</p></div></header>
|
||||
<section class="query-band">
|
||||
<form class="pair-query-form" data-pair-form>
|
||||
<label class="field"><span>本方公司</span><select name="from"><option>A公司</option><option>B公司</option><option>C公司</option><option>D公司</option><option>E公司</option><option>F公司</option></select></label>
|
||||
<button class="swap-button" type="button" data-swap aria-label="交换公司" title="交换公司"><svg><use href="icons.svg#arrow-left-right"/></svg></button>
|
||||
<label class="field"><span>对方公司</span><select name="to"><option>B公司</option><option>C公司</option><option>D公司</option><option>E公司</option><option>F公司</option><option>A公司</option></select></label>
|
||||
<label class="field"><span>统计截止</span><input name="end" type="date" value="2026-07-31" /></label>
|
||||
<button class="button primary" type="submit"><svg><use href="icons.svg#search"/></svg>查询</button>
|
||||
</form>
|
||||
</section>
|
||||
<section class="pair-report" id="pairReport">
|
||||
<header class="pair-report-heading"><div><h2><span data-pair-from>A公司</span> 与 <span data-pair-to>B公司</span></h2><p id="pairPeriod">统计口径 2026.01.01—2026.07.31</p></div><span class="status warning" id="pairReviewStatus">含 1 笔待审核</span></header>
|
||||
<div class="pair-balance-line"><div><span>期初余额</span><strong id="pairOpening">0.00</strong></div><div><span>本期借方</span><strong id="pairDebit">2,416.00</strong></div><div><span>本期贷方</span><strong id="pairCredit">1,136.00</strong></div><div class="pair-final"><span>期末结果</span><strong id="pairFinal">应收 1,280.00<small>万元</small></strong></div></div>
|
||||
<div class="subject-strip"><button class="is-active" data-subject-filter="all" aria-pressed="true"><span>全部往来</span><strong data-subject-total="all">5 笔</strong></button><button data-subject-filter="应收" aria-pressed="false"><span>应收</span><strong data-subject-total="应收">1,280.00</strong></button><button data-subject-filter="其他应收" aria-pressed="false"><span>其他应收</span><strong data-subject-total="其他应收">640.00</strong></button><button data-subject-filter="应付" aria-pressed="false"><span>应付</span><strong data-subject-total="应付">728.00</strong></button><button data-subject-filter="其他应付" aria-pressed="false"><span>其他应付</span><strong data-subject-total="其他应付">408.00</strong></button></div>
|
||||
<div class="table-scroll"><table class="data-table" id="pairTransactions"><thead><tr><th>交易日期</th><th>方向</th><th>科目</th><th>本方账户</th><th>对方账户</th><th>摘要</th><th>匹配</th><th class="number">金额(万元)</th></tr></thead><tbody><tr data-subject="应收"><td>2026.07.18</td><td>转出</td><td>应收</td><td>中信 · 5316</td><td>工行 · 9481</td><td>往来款</td><td><span class="status success">双边匹配</span></td><td class="number">1,000.00</td></tr><tr data-subject="应收"><td>2026.07.06</td><td>转入</td><td>应收</td><td>中信 · 5316</td><td>工行 · 9481</td><td>归还往来款</td><td><span class="status success">双边匹配</span></td><td class="number">−320.00</td></tr><tr data-subject="其他应收"><td>2026.06.27</td><td>转出</td><td>其他应收</td><td>建行 · 0845</td><td>工行 · 9481</td><td>资金调拨</td><td><span class="status warning">单边待核</span></td><td class="number">600.00</td></tr></tbody></table></div>
|
||||
</section>
|
||||
<div class="page-head">
|
||||
<div>
|
||||
<h1>往来查询</h1>
|
||||
<p class="page-sub">按公司组合查询起算日 2026-01-01 起至统计截止日的逐笔往来余额,支持穿透至银行原始流水链路。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form class="filters" data-pair-form novalidate>
|
||||
<div class="field">
|
||||
<label for="pairFrom">本方公司</label>
|
||||
<select class="select" name="from" id="pairFrom"></select>
|
||||
</div>
|
||||
<button class="btn" type="button" data-swap aria-label="交换公司" title="交换公司" style="align-self: flex-end;">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" style="width: 15px; height: 15px;"><path d="M7 8h13l-3.5-3.5M17 16H4l3.5 3.5"/></svg>
|
||||
</button>
|
||||
<div class="field">
|
||||
<label for="pairTo">对方公司</label>
|
||||
<select class="select" name="to" id="pairTo"></select>
|
||||
<span class="hint error" id="pairError" style="display: none;">本方公司与对方公司不能为同一家</span>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="pairEnd">统计截止日</label>
|
||||
<input class="input" name="end" id="pairEnd" type="date" value="2026-07-31" />
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" style="width: 15px; height: 15px;"><circle cx="11" cy="11" r="7"/><path d="M20 20l-3.8-3.8"/></svg>
|
||||
查询
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<div class="notice warn" id="pairNotice" style="display: none; margin-bottom: 14px;">
|
||||
<div>
|
||||
<div class="n-title">该公司组合暂无归集数据</div>
|
||||
<div class="n-body">所选组合在正式环境中将按相同口径实时归集,当前仅内置演示数据组合。</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="pairReport">
|
||||
<div class="row-between" style="margin-bottom: 12px;">
|
||||
<span class="card-title"><span data-pair-from>—</span> ↔ <span data-pair-to>—</span> · 往来余额</span>
|
||||
<span class="meta" id="pairPeriod">统计口径 2026.01.01—2026.07.31</span>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-4">
|
||||
<div class="card stat-card">
|
||||
<div class="stat-label"><span class="stat-dot info"></span>期初余额(2026-01-01)</div>
|
||||
<div class="stat-value" id="pairOpening">0.00</div>
|
||||
<div class="stat-foot">起算日前结转</div>
|
||||
</div>
|
||||
<div class="card stat-card">
|
||||
<div class="stat-label"><span class="stat-dot success"></span>本期借方发生</div>
|
||||
<div class="stat-value" id="pairDebit">0.00</div>
|
||||
<div class="stat-foot">应收增加 + 应付偿付</div>
|
||||
</div>
|
||||
<div class="card stat-card">
|
||||
<div class="stat-label"><span class="stat-dot warn"></span>本期贷方发生</div>
|
||||
<div class="stat-value" id="pairCredit">0.00</div>
|
||||
<div class="stat-foot">收回款项 + 应付计提</div>
|
||||
</div>
|
||||
<div class="card stat-card">
|
||||
<div class="stat-label"><span class="stat-dot success"></span>期末结果</div>
|
||||
<div class="stat-value" id="pairFinal">—</div>
|
||||
<div class="stat-foot"><span id="pairReviewStatus">含 1 笔待审核</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card" style="margin-top: 14px;">
|
||||
<div class="tabs" id="subjectTabs">
|
||||
<button type="button" class="active" data-subject-filter="all" aria-pressed="true">全部往来<span class="tab-count" data-subject-total="all">0</span></button>
|
||||
<button type="button" data-subject-filter="应收" aria-pressed="false">应收<span class="tab-count" data-subject-total="应收">0</span></button>
|
||||
<button type="button" data-subject-filter="其他应收" aria-pressed="false">其他应收<span class="tab-count" data-subject-total="其他应收">0</span></button>
|
||||
<button type="button" data-subject-filter="应付" aria-pressed="false">应付<span class="tab-count" data-subject-total="应付">0</span></button>
|
||||
<button type="button" data-subject-filter="其他应付" aria-pressed="false">其他应付<span class="tab-count" data-subject-total="其他应付">0</span></button>
|
||||
</div>
|
||||
<div class="table-wrap" style="border: 0;">
|
||||
<table class="ds-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>交易日期</th>
|
||||
<th>方向</th>
|
||||
<th>科目</th>
|
||||
<th>本方账户</th>
|
||||
<th>对方账户</th>
|
||||
<th class="wrap">摘要</th>
|
||||
<th>匹配</th>
|
||||
<th class="num-col">金额(万元)</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="pairTransactions"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="table-foot" style="margin: 0 -20px -18px; border-radius: 0 0 12px 12px;">
|
||||
<span id="pairFoot">点击「穿透」查看银行原始流水链路</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="app-view" data-page="audit">
|
||||
<header class="page-heading"><div><h1>审核中心</h1><p>统一处理核算异常、账户登记与公司手工记录</p></div></header>
|
||||
<section class="filter-bar"><div class="segmented" role="group" aria-label="审核类型"><button class="is-active" data-audit-filter="all" data-label="全部" aria-pressed="true">全部 6</button><button data-audit-filter="断档" data-label="流水断档" aria-pressed="false">流水断档 1</button><button data-audit-filter="单边" data-label="单边匹配" aria-pressed="false">单边匹配 1</button><button data-audit-filter="科目" data-label="科目待确认" aria-pressed="false">科目待确认 1</button><button data-audit-filter="起算" data-label="起算校准" aria-pressed="false">起算校准 1</button><button data-audit-filter="账户" data-label="账户登记" aria-pressed="false">账户登记 1</button><button data-audit-filter="手工" data-label="手工记录" aria-pressed="false">手工记录 1</button></div><label class="field compact"><span>公司</span><select id="auditCompany"><option>全部公司</option><option>A公司</option><option>B公司</option><option>E公司</option><option>F公司</option></select></label></section>
|
||||
<section class="panel"><div class="table-scroll"><table class="data-table audit-table"><thead><tr><th>风险</th><th>公司 / 事项</th><th>类型</th><th>涉及期间</th><th>影响</th><th>状态</th><th>操作</th></tr></thead><tbody id="auditRows"><tr data-audit-type="断档" data-company="A公司"><td><span class="task-level danger">高</span></td><td><strong>A公司 · 工商银行 9481</strong><small>上期截止 06.30,下期始于 07.22</small></td><td>流水断档</td><td>07.01—07.21</td><td>7 月结账</td><td><span class="status danger">已逾期</span></td><td><button class="text-button" data-audit-action>审核</button></td></tr><tr data-audit-type="单边" data-company="B公司"><td><span class="task-level warning">中</span></td><td><strong>B公司 ↔ D公司</strong><small>金额与日期存在 2 个候选</small></td><td>单边匹配</td><td>07.18</td><td>312.00 万元</td><td><span class="status warning">待审核</span></td><td><button class="text-button" data-audit-action>匹配</button></td></tr><tr data-audit-type="科目" data-company="E公司"><td><span class="task-level warning">中</span></td><td><strong>E公司 ↔ F公司</strong><small>规则无法区分应收与其他应收</small></td><td>科目待确认</td><td>07.09</td><td>88.00 万元</td><td><span class="status warning">待确认</span></td><td><button class="text-button" data-audit-action>确认</button></td></tr><tr data-audit-type="起算" data-company="F公司"><td><span class="task-level warning">中</span></td><td><strong>F公司 · 农业银行 3650</strong><small>公司已提交无业务说明</small></td><td>起算校准</td><td>01.01—01.16</td><td>期初口径</td><td><span class="status neutral">待复核</span></td><td><button class="text-button" data-audit-action>复核</button></td></tr><tr data-audit-type="手工" data-company="A公司" data-record-kind="manual" data-evidence="公司手工记录、关联银行流水号、证明附件与提交说明"><td><span class="task-level warning">中</span></td><td><strong>A公司 · MR-DEMO-001</strong><small>付款 80,000.00 元 · B公司 · 其他应收</small></td><td>手工记录</td><td>2026.07.29</td><td>待确认往来 8.00 万元</td><td><span class="status warning">待复核</span></td><td><button class="text-button" data-audit-action>复核</button></td></tr></tbody></table></div></section>
|
||||
<div class="page-head">
|
||||
<div>
|
||||
<h1>审核中心</h1>
|
||||
<p class="page-sub">集中处理流水断档、单边匹配、科目确认等待审事项。审核结论将同步至结账检查与各公司往来台账。</p>
|
||||
</div>
|
||||
<div class="page-actions">
|
||||
<a class="btn" data-view-link="reminders">提醒管理</a>
|
||||
<a class="btn btn-primary" data-view-link="settings">查看结账影响</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="notice warn">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" style="width: 18px; height: 18px; flex: none; margin-top: 1px;"><path d="M12 4 3 19h18L12 4z"/><path d="M12 10v4"/><circle cx="12" cy="16.6" r="0.4"/></svg>
|
||||
<div>
|
||||
<div class="n-title">当前 <span id="pending-count">0</span> 项待审核</div>
|
||||
<div class="n-body">全部待审事项须在顺延后的结账日前处理完毕,逾期将阻断 7 月结账。</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin-top: 18px;">
|
||||
<div class="tabs" id="auditTabs" style="margin-bottom: 0; flex: 1 1 260px; min-width: 0;">
|
||||
<button class="active" data-audit-filter="all" data-label="全部" aria-pressed="true">全部<span class="tab-count">0</span></button>
|
||||
<button data-audit-filter="断档" data-label="流水断档" aria-pressed="false">流水断档<span class="tab-count">0</span></button>
|
||||
<button data-audit-filter="单边" data-label="单边匹配" aria-pressed="false">单边匹配<span class="tab-count">0</span></button>
|
||||
<button data-audit-filter="科目" data-label="科目确认" aria-pressed="false">科目确认<span class="tab-count">0</span></button>
|
||||
<button data-audit-filter="起算" data-label="起算区间校准" aria-pressed="false">起算区间校准<span class="tab-count">0</span></button>
|
||||
<button data-audit-filter="账户" data-label="银行账户登记" aria-pressed="false">银行账户登记<span class="tab-count">0</span></button>
|
||||
<button data-audit-filter="手工" data-label="公司手工记录" aria-pressed="false">公司手工记录<span class="tab-count">0</span></button>
|
||||
</div>
|
||||
<div class="field" style="min-width: 180px;">
|
||||
<label for="auditCompany">公司</label>
|
||||
<select class="select" id="auditCompany"><option>全部公司</option></select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="table-wrap" style="margin-top: 14px;">
|
||||
<table class="ds-table audit-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>风险等级</th>
|
||||
<th>公司 / 事项</th>
|
||||
<th>类型</th>
|
||||
<th>期间</th>
|
||||
<th class="wrap">影响</th>
|
||||
<th>状态</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="auditRows">
|
||||
<tr data-audit-type="断档" data-company="金牛置业">
|
||||
<td><span class="pill pill-danger">高</span></td>
|
||||
<td><span class="cell-main">金牛置业 · 中行尾号 8821</span><span class="cell-sub">07-06 至 07-16 无流水</span></td>
|
||||
<td>流水断档</td>
|
||||
<td>2026-07</td>
|
||||
<td class="wrap">11 天无流水,与金牛煤业 320 万煤炭采购款往来无法归集,阻断 7 月结账</td>
|
||||
<td><span class="pill pill-info">待审核</span></td>
|
||||
<td><div class="row" style="gap:6px;"><button type="button" class="btn btn-sm btn-primary" data-audit-action="approve">通过</button><button type="button" class="btn btn-sm btn-danger" data-audit-action="reject">驳回</button></div></td>
|
||||
</tr>
|
||||
<tr data-audit-type="单边" data-company="金牛新能源">
|
||||
<td><span class="pill pill-warn">中</span></td>
|
||||
<td><span class="cell-main">金牛新能源 ↔ 金牛贸易</span><span class="cell-sub">3 笔单边合计 486 万</span></td>
|
||||
<td>单边匹配</td>
|
||||
<td>2026-07</td>
|
||||
<td class="wrap">单边支付无对方对应流水,往来差异挂账,待对方选择流水佐证</td>
|
||||
<td><span class="pill pill-info">待审核</span></td>
|
||||
<td><div class="row" style="gap:6px;"><button type="button" class="btn btn-sm btn-primary" data-audit-action="approve">通过</button><button type="button" class="btn btn-sm btn-danger" data-audit-action="reject">驳回</button></div></td>
|
||||
</tr>
|
||||
<tr data-audit-type="科目" data-company="金牛煤业">
|
||||
<td><span class="pill pill-warn">中</span></td>
|
||||
<td><span class="cell-main">金牛煤业 · 手工记录</span><span class="cell-sub">场地押金 42 万</span></td>
|
||||
<td>科目确认</td>
|
||||
<td>2026-07</td>
|
||||
<td class="wrap">「应收 / 其他应收」科目待判定,影响科目汇总口径</td>
|
||||
<td><span class="pill pill-info">待审核</span></td>
|
||||
<td><div class="row" style="gap:6px;"><button type="button" class="btn btn-sm btn-primary" data-audit-action="approve">通过</button><button type="button" class="btn btn-sm btn-danger" data-audit-action="reject">驳回</button></div></td>
|
||||
</tr>
|
||||
<tr data-audit-type="起算" data-company="金牛物流">
|
||||
<td><span class="pill pill-danger">高</span></td>
|
||||
<td><span class="cell-main">金牛物流 · 工行基本户</span><span class="cell-sub">期初与上年结转差 28.6 万</span></td>
|
||||
<td>起算区间校准</td>
|
||||
<td>2026-01 起算</td>
|
||||
<td class="wrap">期初余额与上年结转不衔接,全年累计数失真,需校准起算区间</td>
|
||||
<td><span class="pill pill-info">待审核</span></td>
|
||||
<td><div class="row" style="gap:6px;"><button type="button" class="btn btn-sm btn-primary" data-audit-action="approve">通过</button><button type="button" class="btn btn-sm btn-danger" data-audit-action="reject">驳回</button></div></td>
|
||||
</tr>
|
||||
<tr data-audit-type="手工" data-company="金牛贸易">
|
||||
<td><span class="pill pill-warn">中</span></td>
|
||||
<td><span class="cell-main">金牛贸易 · 手工补录</span><span class="cell-sub">现金缴存 64 万</span></td>
|
||||
<td>公司手工记录</td>
|
||||
<td>2026-07</td>
|
||||
<td class="wrap">无银行回单附件,需人工核实后方可入账</td>
|
||||
<td><span class="pill pill-info">待审核</span></td>
|
||||
<td><div class="row" style="gap:6px;"><button type="button" class="btn btn-sm btn-primary" data-audit-action="approve">通过</button><button type="button" class="btn btn-sm btn-danger" data-audit-action="reject">驳回</button></div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="table-foot">
|
||||
<span id="auditFoot">共 0 项 · 待审核 0 项</span>
|
||||
<span>审核人:系统管理员 · 操作实时写入审核日志</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="app-view" data-page="flows">
|
||||
<header class="page-heading"><div><h1>流水管理</h1><p>查询全部公司的银行原始流水与归集状态</p></div><button class="button secondary" id="exportFlows"><svg><use href="icons.svg#download"/></svg>导出当前结果</button></header>
|
||||
<section class="filter-grid flow-filters"><label class="field"><span>公司</span><select id="flowCompany"><option>全部公司</option><option>A公司</option><option>B公司</option><option>C公司</option></select></label><label class="field"><span>银行</span><select id="flowBank"><option>全部银行</option><option>中信银行</option><option>工商银行</option><option>建设银行</option></select></label><label class="field"><span>账户</span><select id="flowAccount"><option>全部账户</option><option>5316</option><option>9481</option><option>0845</option><option>6120</option></select></label><label class="field"><span>开始日期</span><input id="flowStart" type="date" value="2026-07-01" /></label><label class="field"><span>结束日期</span><input id="flowEnd" type="date" value="2026-07-31" /></label><label class="field grow"><span>摘要 / 对方户名 / 银行流水号</span><input id="flowKeyword" placeholder="输入关键词" /></label><button class="button primary" id="applyFlowFilters"><svg><use href="icons.svg#search"/></svg>查询</button></section>
|
||||
<section class="panel"><div class="table-summary"><span>当前结果 <strong id="flowCount">4</strong> 笔</span><span>导出保留银行、账户、流水号、批次与源行定位</span></div><div class="table-scroll"><table class="data-table" id="flowTable"><thead><tr><th>日期</th><th>公司 / 银行账户</th><th>方向</th><th>对方户名</th><th>摘要</th><th>银行流水号</th><th>归集状态</th><th class="number">金额</th></tr></thead><tbody><tr data-company="A公司" data-bank="中信银行"><td>2026.07.18</td><td><strong>A公司</strong><small>中信银行 · 5316</small></td><td>转出</td><td>B公司</td><td>往来款</td><td>CIT260718018</td><td><span class="status success">双边匹配</span></td><td class="number">10,000,000.00</td></tr><tr data-company="B公司" data-bank="工商银行"><td>2026.07.18</td><td><strong>B公司</strong><small>工商银行 · 9481</small></td><td>转入</td><td>A公司</td><td>往来款</td><td>ICB260718109</td><td><span class="status success">双边匹配</span></td><td class="number">10,000,000.00</td></tr><tr data-company="A公司" data-bank="建设银行"><td>2026.07.12</td><td><strong>A公司</strong><small>建设银行 · 0845</small></td><td>转出</td><td>A公司</td><td>同名账户调拨</td><td>CCB260712031</td><td><span class="status neutral">同公司调拨</span></td><td class="number">2,000,000.00</td></tr><tr data-company="C公司" data-bank="建设银行"><td>2026.07.09</td><td><strong>C公司</strong><small>建设银行 · 6120</small></td><td>转出</td><td>E公司</td><td>资金调拨</td><td>CCB260709088</td><td><span class="status warning">单边待核</span></td><td class="number">880,000.00</td></tr></tbody></table></div></section>
|
||||
<div class="page-head">
|
||||
<div>
|
||||
<h1>流水管理</h1>
|
||||
<p class="page-sub">六家成员公司上报的银行原始流水总表,含归集状态。点击任意一行可穿透查看原始流水要素与归集链路。</p>
|
||||
</div>
|
||||
<div class="page-actions">
|
||||
<button class="btn btn-primary" id="exportFlows">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" style="width: 15px; height: 15px;"><path d="M12 4v11m0 0l-4-4m4 4l4-4"/><path d="M4 17v2.5A1.5 1.5 0 0 0 5.5 21h13a1.5 1.5 0 0 0 1.5-1.5V17"/></svg>
|
||||
导出 CSV
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="filters">
|
||||
<div class="field">
|
||||
<label for="flowCompany">公司</label>
|
||||
<select class="select" id="flowCompany"><option>全部公司</option></select>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="flowBank">银行</label>
|
||||
<select class="select" id="flowBank"><option>全部银行</option><option>中行</option><option>工行</option><option>建行</option><option>农行</option><option>交行</option></select>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="flowAccount">账户</label>
|
||||
<select class="select" id="flowAccount"><option>全部账户</option><option>3305</option><option>9916</option><option>7710</option><option>5562</option><option>2208</option><option>8821</option><option>6649</option></select>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="flowStart">日期起</label>
|
||||
<input class="input" id="flowStart" type="date" value="2026-07-01" />
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="flowEnd">日期止</label>
|
||||
<input class="input" id="flowEnd" type="date" value="2026-07-31" />
|
||||
</div>
|
||||
<div class="field" style="min-width: 200px;">
|
||||
<label for="flowKeyword">关键词</label>
|
||||
<input class="input" id="flowKeyword" type="text" placeholder="摘要 / 对方 / 流水号" />
|
||||
</div>
|
||||
<button class="btn" id="applyFlowFilters">查询</button>
|
||||
<button class="btn btn-ghost" id="resetFlowFilters">重置</button>
|
||||
</div>
|
||||
|
||||
<div class="table-wrap">
|
||||
<table class="ds-table" id="flowTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>日期</th>
|
||||
<th>公司</th>
|
||||
<th>银行账户</th>
|
||||
<th>方向</th>
|
||||
<th class="wrap">对方</th>
|
||||
<th class="wrap">摘要</th>
|
||||
<th>银行流水号</th>
|
||||
<th>归集状态</th>
|
||||
<th class="num-col">金额</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
<div class="table-foot">
|
||||
<span id="flowCount">共 0 笔</span>
|
||||
<span class="meta">数据范围:2026-01-01 起算 · 每月 5 日结账(7 月顺延至 08-29)</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="app-view" data-page="companies">
|
||||
<header class="page-heading"><div><h1>公司与账号</h1><p>维护公司主档、银行账户和一对一公司账号</p></div><button class="button primary" id="openCompanyDialog"><svg><use href="icons.svg#plus"/></svg>新增公司</button></header>
|
||||
<section class="panel"><div class="table-scroll"><table class="data-table" id="companyTable"><thead><tr><th>公司全称</th><th>统一社会信用代码</th><th>银行账户</th><th>公司账号</th><th>出纳人员</th><th>状态</th><th>操作</th></tr></thead><tbody></tbody></table></div></section>
|
||||
<div class="page-head">
|
||||
<div>
|
||||
<h1>公司与账号</h1>
|
||||
<p class="page-sub">集团成员公司的档案、银行账户与登录账号管理。公司新登记的银行账户须经审核中心确认后方可参与流水归集。</p>
|
||||
</div>
|
||||
<div class="page-actions">
|
||||
<button class="btn btn-primary" id="openCompanyDialog">新增公司</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="notice info" id="notice-pending-account" style="margin-bottom: 14px; display: none;">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" style="width: 16px; height: 16px; flex: none; margin-top: 2px; color: var(--info);"><circle cx="12" cy="12" r="8.5"/><path d="M12 8v5M12 16h.01"/></svg>
|
||||
<div style="flex: 1; min-width: 0;">
|
||||
<div class="n-title"><span id="pending-account-count">0</span> 个新账户登记待审核</div>
|
||||
<div class="n-body" id="pending-account-body">成员公司提交的新银行账户登记,等待审核通过后纳入账期流水归集范围。</div>
|
||||
</div>
|
||||
<a class="btn btn-sm" data-view-link="audit" style="flex: none;">去审核</a>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-head">
|
||||
<span class="card-title">成员公司<span class="sub">数据截至 2026-08-20</span></span>
|
||||
</div>
|
||||
<div class="table-wrap" style="border: 0;">
|
||||
<table class="ds-table" id="companyTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>公司名称</th>
|
||||
<th class="num-col">银行账户数</th>
|
||||
<th>登录账号</th>
|
||||
<th>出纳</th>
|
||||
<th>启用状态</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="table-foot" style="border: 1px solid var(--border); border-radius: 0 0 var(--radius-lg) var(--radius-lg);">
|
||||
<span id="companyFoot">共 0 家公司</span>
|
||||
<span class="meta">登录账号初始密码由集团总账统一发放</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="app-view" data-page="settings">
|
||||
<header class="page-heading"><div><h1>结账与期初</h1><p>统一管理计算窗口、月结规则和公司期初余额</p></div></header>
|
||||
<section class="settings-layout">
|
||||
<form class="panel settings-form" id="systemSettings"><div class="panel-heading"><div><h2>系统计算口径</h2><p>修改后影响全部公司</p></div></div><div class="form-body"><label class="field"><span>全局起算日</span><input name="startDate" type="date" value="2026-01-01" /><small>早于此日的流水保留但不参与计算</small></label><label class="field"><span>每月结账日</span><span class="input-suffix"><input name="closingDay" type="number" min="1" max="28" value="5" /><b>次月日</b></span></label><label class="check-field"><input type="checkbox" checked />结账前 3 天自动提醒未完成公司</label></div><footer><button class="button primary" type="submit">保存系统口径</button></footer></form>
|
||||
<section class="panel opening-panel"><div class="panel-heading"><div><h2>公司期初余额</h2><p>按公司对录入,修改保留审计记录</p></div><button class="button secondary small" id="openOpeningDialog"><svg><use href="icons.svg#plus"/></svg>新增</button></div><div class="table-scroll"><table class="data-table"><thead><tr><th>本方</th><th>对方</th><th>科目</th><th>方向</th><th class="number">金额(万元)</th><th>生效日</th><th>状态</th></tr></thead><tbody id="openingRows"><tr><td>A公司</td><td>B公司</td><td>应收</td><td>借方</td><td class="number">0.00</td><td>2026.01.01</td><td><span class="status success">已确认</span></td></tr><tr><td>C公司</td><td>E公司</td><td>其他应收</td><td>借方</td><td class="number">120.00</td><td>2026.01.01</td><td><span class="status warning">待复核</span></td></tr></tbody></table></div></section>
|
||||
<section class="panel closing-panel" id="closingPanel"><div class="panel-heading"><div><h2>月度结账</h2><p id="closingDescription">2026 年 7 月 · 当前未达到结账条件</p></div><span class="status danger" id="closingStatus">已阻断</span></div><div class="closing-checks"><article><svg><use href="icons.svg#circle-check"/></svg><span><strong>公司流水提交</strong><small>5 / 6 家已完成</small></span></article><article class="is-blocked"><svg><use href="icons.svg#circle-alert"/></svg><span><strong>账户连续性</strong><small>2 个账户存在断档</small></span></article><article class="is-blocked"><svg><use href="icons.svg#circle-alert"/></svg><span><strong>审核事项</strong><small>7 项尚未处理</small></span></article><article><svg><use href="icons.svg#circle-check"/></svg><span><strong>期初余额</strong><small>已锁定 2026.01.01</small></span></article></div><footer class="closing-footer"><span id="closingHistory">最近结账:2026 年 6 月 · 系统管理员 · 2026.07.05 18:10</span><button class="button secondary" id="runClosingCheck">重新检查</button><button class="button primary" id="executeClosing" disabled title="请先处理全部阻断事项">执行 7 月结账</button></footer></section>
|
||||
</section>
|
||||
<div class="page-head">
|
||||
<div>
|
||||
<h1>结账与期初</h1>
|
||||
<p class="page-sub">维护全局结账参数与各公司期初往来余额,并在月度检查全部通过后执行结账。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-head">
|
||||
<span class="card-title">账期时间轴<span class="sub">全局起算日 2026-01-01 起,每月 5 日结账</span></span>
|
||||
</div>
|
||||
<div class="timeline">
|
||||
<div class="tl-cell closed"><div class="tl-month">2026-01</div><div class="tl-state">已结账</div></div>
|
||||
<div class="tl-cell closed"><div class="tl-month">2026-02</div><div class="tl-state">已结账</div></div>
|
||||
<div class="tl-cell closed"><div class="tl-month">2026-03</div><div class="tl-state">已结账</div></div>
|
||||
<div class="tl-cell closed"><div class="tl-month">2026-04</div><div class="tl-state">已结账</div></div>
|
||||
<div class="tl-cell closed"><div class="tl-month">2026-05</div><div class="tl-state">已结账</div></div>
|
||||
<div class="tl-cell closed"><div class="tl-month">2026-06</div><div class="tl-state">已结账</div></div>
|
||||
<div class="tl-cell current" id="tl-current"><div class="tl-month">2026-07</div><div class="tl-state" id="tl-current-state">进行中</div></div>
|
||||
<div class="tl-cell open"><div class="tl-month">2026-08</div><div class="tl-state">归集中</div></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-1-2" style="margin-top: 14px;">
|
||||
<div class="stack">
|
||||
<div class="card">
|
||||
<div class="card-head">
|
||||
<span class="card-title">结账设置<span class="sub">对全部成员公司生效</span></span>
|
||||
</div>
|
||||
<form id="systemSettings" novalidate>
|
||||
<div class="field" style="margin-bottom: 14px;">
|
||||
<label for="cs-start">全局起算日</label>
|
||||
<input class="input num-input" type="date" name="startDate" id="cs-start" value="2026-01-01" />
|
||||
<span class="hint">期初余额以此日前一日的期末数为准</span>
|
||||
</div>
|
||||
<div class="field" style="margin-bottom: 14px;">
|
||||
<label for="cs-day">每月结账日</label>
|
||||
<input class="input num-input" type="number" name="closingDay" id="cs-day" min="1" max="28" value="5" />
|
||||
<span class="hint">每月几号执行上月结账 · 2026-07 因故顺延至 08-29</span>
|
||||
</div>
|
||||
<div class="field" style="margin-bottom: 16px;">
|
||||
<label>自动提醒</label>
|
||||
<div class="row" style="flex-wrap: wrap;">
|
||||
<label style="display: inline-flex; align-items: center; gap: 8px; cursor: pointer;">
|
||||
<input type="checkbox" id="cs-remind" checked style="position: absolute; opacity: 0; width: 0; height: 0;" />
|
||||
<span id="cs-switch-track" style="width: 36px; height: 20px; border-radius: 999px; background: var(--accent); position: relative; flex: none; transition: background .15s ease;">
|
||||
<span id="cs-switch-thumb" style="position: absolute; top: 2px; left: 18px; width: 16px; height: 16px; border-radius: 50%; background: var(--surface); transition: left .15s ease;"></span>
|
||||
</span>
|
||||
<span style="font-size: 13px;">结账日前自动提醒各公司出纳</span>
|
||||
</label>
|
||||
<select class="select" id="cs-remind-days" style="width: 110px;">
|
||||
<option value="1">提前 1 天</option>
|
||||
<option value="3" selected>提前 3 天</option>
|
||||
<option value="5">提前 5 天</option>
|
||||
</select>
|
||||
</div>
|
||||
<span class="hint">提醒对象为当月尚未提交流水的公司联系人</span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<button class="btn btn-primary" type="submit">保存设置</button>
|
||||
<span class="meta" id="cs-save-tip" style="display: none; color: var(--success);">已保存 · 立即生效</span>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-head">
|
||||
<span class="card-title">期初余额管理<span class="sub">2026-01-01 起算的公司间往来期初数</span></span>
|
||||
<button class="btn btn-sm" id="openOpeningDialog">新增</button>
|
||||
</div>
|
||||
<div class="table-wrap" style="border: 0;">
|
||||
<table class="ds-table">
|
||||
<thead>
|
||||
<tr><th>本方公司</th><th>对方公司</th><th>科目</th><th>方向</th><th class="num-col">金额(万元)</th><th>生效日</th><th>状态</th></tr>
|
||||
</thead>
|
||||
<tbody id="openingRows"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card" id="closingPanel">
|
||||
<div class="card-head">
|
||||
<span class="card-title">月度结账<span class="sub" id="closingDescription">2026 年 7 月 · 当前未达到结账条件</span></span>
|
||||
<span class="pill pill-danger" id="closingStatus">已阻断</span>
|
||||
</div>
|
||||
<div class="closing-check-list">
|
||||
<div class="list-row">
|
||||
<span class="pill pill-success" data-closing-check>公司流水提交</span>
|
||||
<div class="lr-main"><div class="lr-title">流水提交</div><div class="lr-sub" data-closing-sub>5 / 6 家已完成</div></div>
|
||||
<div class="lr-side"><span class="pill pill-warn" data-closing-state>待处理</span></div>
|
||||
</div>
|
||||
<div class="list-row">
|
||||
<span class="pill pill-success" data-closing-check>账户连续性</span>
|
||||
<div class="lr-main"><div class="lr-title">账户连续</div><div class="lr-sub" data-closing-sub>2 个账户存在断档</div></div>
|
||||
<div class="lr-side"><span class="pill pill-danger" data-closing-state>阻断</span></div>
|
||||
</div>
|
||||
<div class="list-row">
|
||||
<span class="pill pill-success" data-closing-check>审核事项</span>
|
||||
<div class="lr-main"><div class="lr-title">审核完成</div><div class="lr-sub" data-closing-sub>0 项尚未处理</div></div>
|
||||
<div class="lr-side"><span class="pill pill-danger" data-closing-state>阻断</span></div>
|
||||
</div>
|
||||
<div class="list-row">
|
||||
<span class="pill pill-success" data-closing-check>期初余额</span>
|
||||
<div class="lr-main"><div class="lr-title">期初锁定</div><div class="lr-sub" data-closing-sub>已锁定 2026.01.01</div></div>
|
||||
<div class="lr-side"><span class="pill pill-success" data-closing-state>已通过</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="notice danger" id="block-notice" style="margin-top: 16px; display: none;">
|
||||
<div>
|
||||
<div class="n-title">存在阻断项,暂不能执行 2026-07 月度结账</div>
|
||||
<div class="n-body" id="block-notice-body">请先处理待审核事项与账户断档。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="notice info" id="closed-notice" style="margin-top: 16px; display: none;">
|
||||
<div>
|
||||
<div class="n-title">2026-07 已结账</div>
|
||||
<div class="n-body" id="closed-notice-body">结账后各公司 7 月往来数据已锁定,期初数将结转至 2026-08 账期。</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top: 16px; justify-content: flex-end; flex-wrap: wrap;">
|
||||
<span class="meta" id="closingHistory" style="margin-right: auto;">最近结账:2026 年 6 月 · 系统管理员 · 2026.07.05 18:10</span>
|
||||
<button class="btn" id="runClosingCheck">重新检查</button>
|
||||
<button class="btn btn-primary" id="executeClosing" disabled title="请先处理全部阻断事项">执行 2026-07 月度结账</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="app-view" data-page="reminders">
|
||||
<header class="page-heading"><div><h1>提醒管理</h1><p>查看自动提醒,并向公司出纳发送站内提醒</p></div></header>
|
||||
<div class="reminder-layout">
|
||||
<form class="panel reminder-form" id="reminderForm"><div class="panel-heading"><div><h2>发送手动提醒</h2><p>当前仅支持系统内通知</p></div></div><div class="form-body"><label class="field"><span>接收公司</span><select name="company" required><option value="">请选择公司</option><option>A公司</option><option>B公司</option><option>C公司</option></select></label><label class="field"><span>处理期限</span><input name="dueDate" type="date" value="2026-08-08" required /></label><label class="field"><span>提醒内容</span><textarea name="message" rows="4" placeholder="请填写需要处理的事项" required></textarea></label></div><footer><button class="button primary" type="submit"><svg><use href="icons.svg#send"/></svg>发送提醒</button></footer></form>
|
||||
<section class="panel"><div class="panel-heading"><div><h2>提醒记录</h2><p>自动与手动提醒统一留痕</p></div></div><div class="notification-list" id="adminReminderList"><article><span class="notification-icon danger"><svg><use href="icons.svg#circle-alert"/></svg></span><span><strong>A公司 7 月流水缺失</strong><small>自动提醒 · 截止 08.05 · 已逾期</small></span><em class="status danger">未处理</em></article><article><span class="notification-icon warning"><svg><use href="icons.svg#bell"/></svg></span><span><strong>B公司单边流水待核验</strong><small>手动提醒 · 管理员 · 今天 09:30</small></span><em class="status warning">处理中</em></article><article><span class="notification-icon success"><svg><use href="icons.svg#circle-check"/></svg></span><span><strong>C公司 7 月流水已确认</strong><small>自动提醒 · 昨天 16:42</small></span><em class="status success">已完成</em></article></div></section>
|
||||
<div class="page-head">
|
||||
<div>
|
||||
<h1>提醒管理</h1>
|
||||
<p class="page-sub">向成员公司发送处理提醒,并跟踪系统提醒与人工提醒的触达与处理状态。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-1-2">
|
||||
<div class="card">
|
||||
<div class="card-head">
|
||||
<span class="card-title">发送处理提醒<span class="sub">将以人工提醒形式送达所选公司出纳与财务负责人</span></span>
|
||||
</div>
|
||||
<form id="reminderForm" novalidate>
|
||||
<div class="field" style="margin-bottom: 14px;">
|
||||
<label>接收公司(可多选)</label>
|
||||
<div class="row" id="reminderCompanyList" style="flex-wrap: wrap; gap: 8px 16px;"></div>
|
||||
<span class="hint error" id="company-error" style="display: none;">请至少选择一家接收公司</span>
|
||||
</div>
|
||||
<div class="field" style="margin-bottom: 14px;">
|
||||
<label for="reminder-type">提醒类型</label>
|
||||
<select class="select" id="reminder-type">
|
||||
<option selected>流水未提交</option>
|
||||
<option>单边待确认</option>
|
||||
<option>科目待确认</option>
|
||||
<option>账户登记</option>
|
||||
<option>其他</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="field" style="margin-bottom: 14px;">
|
||||
<label for="reminder-content">提醒内容</label>
|
||||
<textarea class="textarea" id="reminder-content">请于截止日期前完成 2026 年 7 月银行流水上传与待确认事项处理。</textarea>
|
||||
<span class="hint error" id="content-error" style="display: none;">提醒内容不能为空</span>
|
||||
</div>
|
||||
<div class="field" style="margin-bottom: 18px;">
|
||||
<label for="reminder-deadline">截止日期</label>
|
||||
<input class="input" type="date" id="reminder-deadline" value="2026-08-29" min="2026-08-20" />
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary" id="send-btn" style="width: 100%;">发送提醒</button>
|
||||
<p class="hint" id="send-hint" style="margin-top: 10px; display: none;"></p>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-head">
|
||||
<span class="card-title">提醒历史<span class="sub">含系统自动触发与人工发送的全部提醒记录</span></span>
|
||||
</div>
|
||||
<div class="tabs" id="reminder-tabs">
|
||||
<button type="button" class="active" data-filter="all">全部<span class="tab-count" id="count-all">0</span></button>
|
||||
<button type="button" data-filter="system">系统提醒<span class="tab-count" id="count-system">0</span></button>
|
||||
<button type="button" data-filter="manual">人工提醒<span class="tab-count" id="count-manual">0</span></button>
|
||||
</div>
|
||||
<div class="table-wrap" style="border: 0;">
|
||||
<table class="ds-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>公司</th>
|
||||
<th>类型</th>
|
||||
<th class="wrap">内容摘要</th>
|
||||
<th>发送时间</th>
|
||||
<th>截止日期</th>
|
||||
<th>处理状态</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="reminder-tbody"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="table-foot">
|
||||
<span id="table-foot-count">共 0 条提醒记录</span>
|
||||
<span id="table-foot-state">未读 0 · 处理中 0 · 已完成 0</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<dialog id="companyDialog" class="dialog">
|
||||
<form method="dialog" id="companyForm">
|
||||
<header><div><h2>新增公司</h2><p>公司主档与公司账号可一次创建</p></div><button class="icon-button" value="cancel" aria-label="关闭" title="关闭"><svg><use href="icons.svg#x"/></svg></button></header>
|
||||
<div class="dialog-body"><label class="field"><span>公司全称</span><input name="companyName" required /></label><label class="field"><span>统一社会信用代码</span><input name="creditCode" /></label><label class="check-field"><input type="checkbox" name="createUser" checked />同时创建公司账号</label><div class="form-grid"><label class="field"><span>登录账号</span><input name="loginName" required /></label><label class="field"><span>出纳人员</span><input name="cashier" required /></label></div><p class="form-callout"><svg><use href="icons.svg#key-round"/></svg>创建后生成随机初始密码,仅显示一次,首次登录必须修改。</p></div>
|
||||
<footer><button class="button secondary" value="cancel">取消</button><button class="button primary" value="default">创建公司与账号</button></footer>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="openingDialog" class="dialog">
|
||||
<form id="openingForm">
|
||||
<header><div><h2>新增期初余额</h2><p>按本方视角记录公司间期初方向</p></div><button type="button" class="icon-button" data-close-opening aria-label="关闭" title="关闭"><svg><use href="icons.svg#x"/></svg></button></header>
|
||||
<div class="dialog-body"><div class="form-grid"><label class="field"><span>本方公司</span><select name="from" required><option>A公司</option><option>B公司</option><option>C公司</option></select></label><label class="field"><span>对方公司</span><select name="to" required><option>B公司</option><option>C公司</option><option>D公司</option></select></label><label class="field"><span>科目</span><select name="subject" required><option>应收</option><option>应付</option><option>其他应收</option><option>其他应付</option></select></label><label class="field"><span>方向</span><select name="direction" required><option>借方</option><option>贷方</option></select></label><label class="field"><span>金额(万元)</span><input name="amount" type="number" min="0" step="0.01" required /></label><label class="field"><span>生效日</span><input name="effectiveDate" type="date" value="2026-01-01" required /></label></div><p class="form-callout"><svg><use href="icons.svg#circle-alert"/></svg>提交后进入复核,不能直接修改已确认期初。</p></div>
|
||||
<footer><button type="button" class="button secondary" data-close-opening>取消</button><button class="button primary" type="submit">提交复核</button></footer>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="auditDialog" class="dialog">
|
||||
<form id="auditForm">
|
||||
<header><div><h2 id="auditDialogTitle">审核事项</h2><p id="auditDialogMeta">原始证据与处理决定将一并留痕</p></div><button type="button" class="icon-button" data-close-audit aria-label="关闭" title="关闭"><svg><use href="icons.svg#x"/></svg></button></header>
|
||||
<div class="dialog-body"><div class="evidence-block" id="auditEvidence"></div><label class="field"><span>处理决定</span><select name="decision" required><option value="">请选择</option><option>确认并纳入计算</option><option>退回公司补充材料</option><option>转为异常待后续处理</option></select></label><label class="field"><span>处理依据</span><textarea name="reason" rows="3" required placeholder="填写核验账号、摘要、回单或说明"></textarea></label></div>
|
||||
<footer><button type="button" class="button secondary" data-close-audit>取消</button><button class="button primary" type="submit">提交审核结果</button></footer>
|
||||
</form>
|
||||
</dialog>
|
||||
<dialog id="closingDialog" class="dialog">
|
||||
<form id="closingForm">
|
||||
<header><div><h2>执行 2026 年 7 月结账</h2><p>结账后本期结果将锁定,补录流水需走重开流程</p></div><button type="button" class="icon-button" data-close-closing aria-label="关闭" title="关闭"><svg><use href="icons.svg#x"/></svg></button></header>
|
||||
<div class="dialog-body"><div class="evidence-block"><strong>结账检查已通过</strong><small>公司提交、账户连续性、审核事项和期初余额均符合当前口径。</small></div><label class="check-field"><input type="checkbox" name="confirm" required />我已复核 2026 年 7 月结账结果</label></div>
|
||||
<footer><button type="button" class="button secondary" data-close-closing>取消</button><button class="button primary" type="submit">确认执行结账</button></footer>
|
||||
</form>
|
||||
</dialog>
|
||||
<!-- 新增公司弹窗 -->
|
||||
<div class="modal-backdrop" id="companyDialog">
|
||||
<div class="modal">
|
||||
<div class="modal-head">
|
||||
<span class="modal-title">新增成员公司</span>
|
||||
<button type="button" class="modal-close" data-close="companyDialog" aria-label="关闭">×</button>
|
||||
</div>
|
||||
<p class="modal-sub">登记后系统将生成公司端登录账号,初始密码由集团总账统一发放。</p>
|
||||
<form id="companyForm" novalidate>
|
||||
<div class="field" style="margin-bottom: 12px;">
|
||||
<label for="f-name">公司全称</label>
|
||||
<input class="input" id="f-name" name="companyName" type="text" placeholder="如:河南金牛XX有限公司" required />
|
||||
</div>
|
||||
<div class="field" style="margin-bottom: 12px;">
|
||||
<label for="f-code">统一社会信用代码</label>
|
||||
<input class="input num-input" id="f-code" name="creditCode" type="text" maxlength="18" placeholder="18 位,如 91410100MA9K2X417A" />
|
||||
</div>
|
||||
<label class="row" style="gap: 6px; font-size: 13px; margin-bottom: 12px; cursor: pointer;">
|
||||
<input type="checkbox" name="createUser" checked style="width: auto;" />同时创建公司账号
|
||||
</label>
|
||||
<div class="grid grid-2">
|
||||
<div class="field">
|
||||
<label for="f-login">登录账号</label>
|
||||
<input class="input" id="f-login" name="loginName" type="text" required />
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="f-cashier">出纳人员</label>
|
||||
<input class="input" id="f-cashier" name="cashier" type="text" required />
|
||||
</div>
|
||||
</div>
|
||||
<p class="hint" style="margin-top: 10px;">创建后生成随机初始密码,仅显示一次,首次登录必须修改。</p>
|
||||
<div class="modal-actions">
|
||||
<button type="button" class="btn" data-close="companyDialog">取消</button>
|
||||
<button type="submit" class="btn btn-primary">创建公司与账号</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 公司详情弹窗 -->
|
||||
<div class="modal-backdrop" id="modal-detail">
|
||||
<div class="modal wide">
|
||||
<div class="modal-head">
|
||||
<span class="modal-title" id="d-title">公司详情</span>
|
||||
<button type="button" class="modal-close" data-close="modal-detail" aria-label="关闭">×</button>
|
||||
</div>
|
||||
<p class="modal-sub" id="d-sub"></p>
|
||||
<div class="detail-box" style="margin-bottom: 14px;">
|
||||
<dl class="kv" id="d-kv"></dl>
|
||||
</div>
|
||||
<div class="card-head" style="margin-bottom: 10px;">
|
||||
<span class="card-title">登录账号</span>
|
||||
</div>
|
||||
<div class="detail-box">
|
||||
<div class="row-between">
|
||||
<div>
|
||||
<div class="num" id="d-login-account" style="font-weight: 650;"></div>
|
||||
<div class="meta" id="d-login-meta" style="margin-top: 3px;"></div>
|
||||
</div>
|
||||
<button class="btn btn-sm" id="btn-reset-pwd">重置密码</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 新增期初余额弹窗 -->
|
||||
<div class="modal-backdrop" id="openingDialog">
|
||||
<div class="modal">
|
||||
<div class="modal-head">
|
||||
<span class="modal-title">新增期初余额</span>
|
||||
<button type="button" class="modal-close" data-close-opening aria-label="关闭">×</button>
|
||||
</div>
|
||||
<p class="modal-sub">按本方视角记录公司间期初方向,提交后进入复核。</p>
|
||||
<form id="openingForm" novalidate>
|
||||
<div class="grid grid-2">
|
||||
<div class="field">
|
||||
<label for="ob-from">本方公司</label>
|
||||
<select class="select" name="from" id="ob-from" required></select>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="ob-to">对方公司</label>
|
||||
<select class="select" name="to" id="ob-to" required></select>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="ob-subject">科目</label>
|
||||
<select class="select" name="subject" id="ob-subject" required>
|
||||
<option>应收</option>
|
||||
<option>应付</option>
|
||||
<option>其他应收</option>
|
||||
<option>其他应付</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="ob-direction">方向</label>
|
||||
<select class="select" name="direction" id="ob-direction" required>
|
||||
<option>借方</option>
|
||||
<option>贷方</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="ob-amount">金额(万元)</label>
|
||||
<input class="input num-input" name="amount" id="ob-amount" type="number" min="0" step="0.01" required />
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="ob-effective">生效日</label>
|
||||
<input class="input" name="effectiveDate" id="ob-effective" type="date" value="2026-01-01" required />
|
||||
</div>
|
||||
</div>
|
||||
<p class="hint" style="margin-top: 10px;">提交后进入复核,不能直接修改已确认期初。</p>
|
||||
<div class="modal-actions">
|
||||
<button type="button" class="btn" data-close-opening>取消</button>
|
||||
<button type="submit" class="btn btn-primary">提交复核</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 审核通过弹窗 -->
|
||||
<div class="modal-backdrop" id="modal-approve">
|
||||
<div class="modal">
|
||||
<div class="modal-head">
|
||||
<span class="modal-title">确认通过</span>
|
||||
<button type="button" class="modal-close" data-close="modal-approve">×</button>
|
||||
</div>
|
||||
<p class="modal-sub">通过后该事项将标记为「已通过」并写入审核日志,不可撤销。</p>
|
||||
<div class="detail-box">
|
||||
<dl class="kv">
|
||||
<dt>公司 / 事项</dt><dd id="approve-company">—</dd>
|
||||
<dt>期间</dt><dd id="approve-period">—</dd>
|
||||
<dt>类型</dt><dd id="approve-type">—</dd>
|
||||
<dt>审核依据</dt><dd id="approve-basis" style="font-family: var(--font-body);">—</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="modal-actions">
|
||||
<button type="button" class="btn" data-close="modal-approve">取消</button>
|
||||
<button type="button" class="btn btn-primary" id="approve-confirm">确认通过</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 审核驳回弹窗 -->
|
||||
<div class="modal-backdrop" id="modal-reject">
|
||||
<div class="modal">
|
||||
<div class="modal-head">
|
||||
<span class="modal-title">驳回事项</span>
|
||||
<button type="button" class="modal-close" data-close="modal-reject">×</button>
|
||||
</div>
|
||||
<p class="modal-sub">驳回后系统将自动向该公司发送整改通知,请填写明确的驳回原因。</p>
|
||||
<div class="field">
|
||||
<label for="reject-reason">驳回原因</label>
|
||||
<textarea class="textarea" id="reject-reason" placeholder="例如:补传的银行回单金额与流水不一致,请重新核对后再提交。"></textarea>
|
||||
<span class="hint error" id="reject-hint" style="display: none;">请填写驳回原因(不少于 5 个字)</span>
|
||||
</div>
|
||||
<div class="modal-actions">
|
||||
<button type="button" class="btn" data-close="modal-reject">取消</button>
|
||||
<button type="button" class="btn btn-danger" id="reject-confirm">确认驳回</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 结账确认弹窗 -->
|
||||
<div class="modal-backdrop" id="closingDialog">
|
||||
<div class="modal">
|
||||
<div class="modal-head">
|
||||
<span class="modal-title">确认执行 2026-07 月度结账</span>
|
||||
<button type="button" class="modal-close" data-close-closing aria-label="关闭">×</button>
|
||||
</div>
|
||||
<p class="modal-sub">结账后成员公司的 7 月流水与往来确认将锁定,不可再修改。</p>
|
||||
<form id="closingForm" novalidate>
|
||||
<div class="detail-box">
|
||||
<dl class="kv">
|
||||
<dt>结账账期</dt><dd>2026-07</dd>
|
||||
<dt>检查通过</dt><dd>全部前置检查已通过</dd>
|
||||
<dt>期末归集</dt><dd>往来净额将结转至 2026-08 期初</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<label class="row" style="gap: 6px; font-size: 13px; margin-top: 14px; cursor: pointer;">
|
||||
<input type="checkbox" name="confirm" required style="width: auto;" />我已复核 2026 年 7 月结账结果
|
||||
</label>
|
||||
<div class="modal-actions">
|
||||
<button type="button" class="btn" data-close-closing>再想想</button>
|
||||
<button type="submit" class="btn btn-primary">确认结账</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 往来穿透弹窗 -->
|
||||
<div class="modal-backdrop" id="traceModal">
|
||||
<div class="modal wide">
|
||||
<div class="modal-head">
|
||||
<span class="modal-title">往来穿透 · 银行原始流水链路</span>
|
||||
<button type="button" class="modal-close" id="traceClose" aria-label="关闭">×</button>
|
||||
</div>
|
||||
<p class="modal-sub" id="traceSub">—</p>
|
||||
<div class="detail-box">
|
||||
<dl class="kv">
|
||||
<dt>本方银行流水号</dt><dd id="kvOwnTx">—</dd>
|
||||
<dt>本方账户</dt><dd id="kvOwnAcct">—</dd>
|
||||
<dt>对方公司</dt><dd id="kvPeerCo">—</dd>
|
||||
<dt>对方账户</dt><dd id="kvPeerAcct">—</dd>
|
||||
<dt>交易时间</dt><dd id="kvTime">—</dd>
|
||||
<dt>金额</dt><dd id="kvAmt">—</dd>
|
||||
<dt>归集批次号</dt><dd id="kvBatch">—</dd>
|
||||
<dt>对方证据流水号</dt><dd id="kvEvidence">—</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="modal-actions">
|
||||
<button type="button" class="btn" id="traceOk">关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 流水穿透详情弹窗 -->
|
||||
<div class="modal-backdrop" id="tx-modal">
|
||||
<div class="modal wide">
|
||||
<div class="modal-head">
|
||||
<span class="modal-title">流水穿透详情</span>
|
||||
<button type="button" class="modal-close" id="tx-modal-close" aria-label="关闭">×</button>
|
||||
</div>
|
||||
<p class="modal-sub" id="tx-modal-sub"></p>
|
||||
<div class="detail-box">
|
||||
<div class="card-title" style="margin-bottom: 10px;">原始流水</div>
|
||||
<dl class="kv">
|
||||
<dt>银行流水号</dt><dd id="d-serial"></dd>
|
||||
<dt>银行</dt><dd id="d-bank"></dd>
|
||||
<dt>账户</dt><dd id="d-account"></dd>
|
||||
<dt>交易时间</dt><dd id="d-time"></dd>
|
||||
<dt>对方户名</dt><dd id="d-peer"></dd>
|
||||
<dt>对方账号</dt><dd id="d-peer-acct"></dd>
|
||||
<dt>金额</dt><dd id="d-amount"></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="detail-box" style="margin-top: 12px;">
|
||||
<div class="card-title" style="margin-bottom: 10px;">归集链路</div>
|
||||
<dl class="kv">
|
||||
<dt>归集状态</dt><dd id="d-status"></dd>
|
||||
<dt>归集往来</dt><dd id="d-pair"></dd>
|
||||
<dt>本方科目</dt><dd id="d-subject"></dd>
|
||||
<dt>归集批次</dt><dd id="d-batch"></dd>
|
||||
<dt>说明</dt><dd id="d-note" style="font-family: var(--font-body);"></dd>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="modal-actions">
|
||||
<button type="button" class="btn" id="tx-modal-ok">关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 提醒历史弹窗 -->
|
||||
<div class="modal-backdrop" id="history-modal">
|
||||
<div class="modal">
|
||||
<div class="modal-head">
|
||||
<span class="modal-title" id="history-title">提醒历史</span>
|
||||
<button type="button" class="modal-close" id="history-close" aria-label="关闭">×</button>
|
||||
</div>
|
||||
<p class="modal-sub" id="history-sub"></p>
|
||||
<div id="history-list"></div>
|
||||
<div class="modal-actions">
|
||||
<button type="button" class="btn" id="history-ok">关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="toast-region" id="toastRegion" aria-live="polite"></div>
|
||||
<script src="app.js"></script>
|
||||
<script>
|
||||
|
||||
Reference in New Issue
Block a user