fix(portal): 补齐运营三个新页面的同名 css 入口,修复合并进来的红灯契约测试

合并组员的运营工作台提交后,`test_every_portal_page_has_local_js_and_css_entry`
红了:门户每个页面都要有与目录同名的 `js`/`css` 入口,而新加的
`nl2sql` / `offsite` / `promotion` 三个页面**只有 js**,样式统一引 `operator-workspace.css`。

## 改动

给三个页面补上同名样式入口,并在各自 `index.html` 里引用(放在共用的
`operator-workspace.css` 之后,便于页面覆盖):

- `employee-operations/nl2sql/nl2sql.css`
- `employee-operations/offsite/offsite.css`
- `employee-operations/promotion/promotion.css`

三个文件当前**没有规则**,只写了用途说明 —— 它们的价值是把"页面专属样式"的位置
**确定下来**:这个约定的意义正在于此,否则将来只会继续往共用文件里堆。

⚠️ 只在每个 `index.html` 的 `<head>` 里**加了一行 link**,未改动组员的其它内容。

验证:`tests/unit/api/test_portal_frontend.py` 37 passed;
unit+contract **1398 passed**;integration **110 passed**;ruff 通过;
mypy 251 文件 0 错;三个页面与三个 css 均 200;e2e 冒烟 **40/40**。
This commit is contained in:
2026-09-14 01:42:21 +08:00
parent 4c1e84b5a2
commit 3cbfe10d62
6 changed files with 27 additions and 0 deletions
@@ -7,6 +7,7 @@
<link rel="stylesheet" href="/static/portal/common/base.css">
<link rel="stylesheet" href="/static/portal/common/operations.css">
<link rel="stylesheet" href="/static/portal/employee-operations/operator-workspace.css?v=20260913">
<link rel="stylesheet" href="/static/portal/employee-operations/nl2sql/nl2sql.css?v=20260913">
</head>
<body>
<main id="main-content" class="page-shell operations-shell operator-shell operator-workspace">
@@ -0,0 +1,8 @@
/* NL2SQL 页面的专属样式入口。
*
* 本页当前复用 `operator-workspace.css`,这里暂时没有需要覆盖的规则。
* 文件的存在是**约定**:门户每个页面都要有与目录同名的 js/css 入口
* (`tests/unit/api/test_portal_frontend.py` 的
* `test_every_portal_page_has_local_js_and_css_entry` 守着这条)——
* 这样页面将来需要专属样式时有确定的位置,而不是继续往共用文件里堆。
*/
@@ -7,6 +7,7 @@
<link rel="stylesheet" href="/static/portal/common/base.css">
<link rel="stylesheet" href="/static/portal/common/operations.css">
<link rel="stylesheet" href="/static/portal/employee-operations/operator-workspace.css?v=20260913">
<link rel="stylesheet" href="/static/portal/employee-operations/offsite/offsite.css?v=20260913">
</head>
<body>
<main id="main-content" class="page-shell operations-shell operator-shell operator-workspace">
@@ -0,0 +1,8 @@
/* 场外基金运营页面的专属样式入口。
*
* 本页当前复用 `operator-workspace.css`,这里暂时没有需要覆盖的规则。
* 文件的存在是**约定**:门户每个页面都要有与目录同名的 js/css 入口
* (`tests/unit/api/test_portal_frontend.py` 的
* `test_every_portal_page_has_local_js_and_css_entry` 守着这条)——
* 这样页面将来需要专属样式时有确定的位置,而不是继续往共用文件里堆。
*/
@@ -7,6 +7,7 @@
<link rel="stylesheet" href="/static/portal/common/base.css">
<link rel="stylesheet" href="/static/portal/common/operations.css">
<link rel="stylesheet" href="/static/portal/employee-operations/operator-workspace.css?v=20260914">
<link rel="stylesheet" href="/static/portal/employee-operations/promotion/promotion.css?v=20260914">
</head>
<body>
<main id="main-content" class="page-shell operations-shell operator-shell operator-workspace">
@@ -0,0 +1,8 @@
/* 产品推介材料页面的专属样式入口。
*
* 本页当前复用 `operator-workspace.css`,这里暂时没有需要覆盖的规则。
* 文件的存在是**约定**:门户每个页面都要有与目录同名的 js/css 入口
* (`tests/unit/api/test_portal_frontend.py` 的
* `test_every_portal_page_has_local_js_and_css_entry` 守着这条)——
* 这样页面将来需要专属样式时有确定的位置,而不是继续往共用文件里堆。
*/