fix: UI 优化 · 门户无侧边栏 + 政策落地表格紧凑 + 结算/质量用表格布局

- index.html 已登录也不显示侧边栏(公开展示页)
- 政策落地三栏表格精简为 3 列,加 word-break: keep-all 防止中文竖排
- 结算总览和质量与信用从 list 改为表格布局,更紧凑
- 智能体服务菜单移到「服务与政策」分组
- 门户"我要接订单"恢复为 login.html(先选角色)

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
2026-09-14 09:17:33 +08:00
co-authored by Devin
parent 6027898fbe
commit 63dda2fb4c
3 changed files with 22 additions and 16 deletions
+15 -13
View File
@@ -101,7 +101,7 @@
<div class="two-col">
<div class="card">
<h3>结算总览</h3>
<ul class="list" id="stl-summary"></ul>
<table id="stl-summary"></table>
<button class="btn sm" style="margin-top:10px" onclick="withdraw()">申请提现</button>
</div>
<div class="card">
@@ -116,7 +116,7 @@
<div class="two-col">
<div class="card">
<h3>质量与信用 <span class="req">REQ-023/050</span></h3>
<ul class="list" id="opc-quality"></ul>
<table id="opc-quality"></table>
</div>
<div class="card">
<h3>最新客户评价 <span class="req">REQ-044</span></h3>
@@ -165,12 +165,14 @@ function renderPage(DB) {
renderGrab();
renderPolicySupport();
renderFinance();
document.getElementById('stl-summary').innerHTML = O.settlement.summary.map(s => LI(s[0], s[1])).join('');
document.getElementById('stl-summary').innerHTML = O.settlement.summary.map(s =>
`<tr><td>${s[0]}</td><td style="text-align:right;font-weight:600">${s[1]}</td></tr>`).join('');
document.getElementById('stl-tbl').innerHTML =
`<tr><th>结算单</th><th>关联订单</th><th>金额</th><th>状态</th></tr>` +
O.settlement.rows.map(r => `<tr><td>${r.code}</td><td>${r.order}</td><td>${r.amount}</td><td>${B(r.status)}</td></tr>`).join('');
document.getElementById('opc-quality').innerHTML = O.quality.map(q => LI(q[0], B(q[1]))).join('');
document.getElementById('opc-quality').innerHTML = O.quality.map(q =>
`<tr><td>${q[0]}</td><td style="text-align:right">${B(q[1])}</td></tr>`).join('');
document.getElementById('opc-reviews').innerHTML = O.reviews.map(r =>
`<li><span>${r[0]}</span><span class="badge ok">${r[1]}</span></li>`).join('');
}
@@ -327,19 +329,19 @@ function grabOrder(i) {
function renderPolicySupport() {
const P = DB.opc.policySupport;
if (!P) return;
// 算力券
// 算力券:3列紧凑
document.getElementById('vc-bal').textContent = `¥${P.compute.balance.toLocaleString()}`;
document.getElementById('vc-tbl').innerHTML =
`<tr><th>券号</th><th>金额</th><th>关联</th><th>状态</th></tr>` +
P.compute.records.map(r => `<tr><td>${r.code}</td><td>${r.amount}</td><td class="muted">${r.target}</td><td>${B(r.status)}</td></tr>`).join('');
// 贷款
`<tr><th>金额</th><th>关联订单</th><th>状态</th></tr>` +
P.compute.records.map(r => `<tr><td>${r.amount}</td><td class="muted">${r.target.split(' ')[0]}</td><td>${B(r.status)}</td></tr>`).join('');
// 贷款:3列紧凑
document.getElementById('loan-tbl').innerHTML =
`<tr><th>编号</th><th>类型</th><th>金额</th><th>利率</th><th>状态</th></tr>` +
P.loan.records.map(r => `<tr><td>${r.code}</td><td>${r.type}</td><td>${r.amount}</td><td>${r.rate}</td><td>${B(r.status)}</td></tr>`).join('');
// 租金
`<tr><th>类型</th><th>金额</th><th>状态</th></tr>` +
P.loan.records.map(r => `<tr><td>${r.type}<br><small class="muted">${r.rate}</small></td><td>${r.amount}</td><td>${B(r.status)}</td></tr>`).join('');
// 租金:3列紧凑
document.getElementById('rent-tbl').innerHTML =
`<tr><th>编号</th><th>类型</th><th>金额</th><th>状态</th></tr>` +
P.rent.records.map(r => `<tr><td>${r.code}</td><td>${r.type}</td><td>${r.amount}</td><td>${B(r.status)}</td></tr>`).join('');
`<tr><th>类型</th><th>金额</th><th>状态</th></tr>` +
P.rent.records.map(r => `<tr><td>${r.type}</td><td>${r.amount}</td><td>${B(r.status)}</td></tr>`).join('');
}
function applyCompute() {
confirmDlg('申领算力券', '按细则可申领 ≤¥10,000/年。当前余额 ¥8,000,可追加申领 ¥2,000。', '确认申领', () => {