()
| 1309 | // ============== CPA 服务管理 ============== |
| 1310 | |
| 1311 | async function loadCpaServices() { |
| 1312 | if (!elements.cpaServicesTable) return; |
| 1313 | try { |
| 1314 | const services = await api.get('/cpa-services'); |
| 1315 | renderCpaServicesTable(services); |
| 1316 | } catch (e) { |
| 1317 | elements.cpaServicesTable.innerHTML = `<tr><td colspan="6" style="text-align:center;color:var(--danger-color);">${e.message}</td></tr>`; |
| 1318 | } |
| 1319 | } |
| 1320 | |
| 1321 | function renderCpaServicesTable(services) { |
| 1322 | if (!services || services.length === 0) { |
no test coverage detected