fix: 경영성과 대시보드 iframe 제거·인라인 렌더, 업로드 오류 메시지 개선

- embed 404/검은 화면 방지: 한 페이지에서 페이로드+차트 로드
- fetch 비JSON 응답 시 상태코드 표시, 성공 시 새로고침
- 전역 .container grid와 충돌 시 .mgmt-perf-embed 스코프 CSS

Made-with: Cursor
This commit is contained in:
2026-04-13 13:24:26 +09:00
parent fdcf1e0528
commit 62cabd5622
5 changed files with 66 additions and 26 deletions

View File

@@ -1230,6 +1230,9 @@ pageRouter.get("/dashboard/business-performance", async (req, res, next) => {
const uploadHistory = await mgmtPerf.listUploads(pgPool, 12);
const y = latest.fiscal_year || new Date().getFullYear();
const q = latest.quarter || 1;
const payloadJson = JSON.stringify(latest.payload).replace(/</g, "\\u003c");
const dashboardTitle = `${y} Q${q} 경영성과 대시보드`;
const quarterLabel = `Q${q}`;
res.render("dashboard-business-performance", {
activeMenu: "dashboard",
adminMode: res.locals.adminMode,
@@ -1237,6 +1240,9 @@ pageRouter.get("/dashboard/business-performance", async (req, res, next) => {
defaultYear: y,
selectedQuarter: q,
uploadHistory,
payloadJson,
dashboardTitle,
quarterLabel,
});
} catch (err) {
next(err);