fix: 修复日期筛选与表单参数双写、下线范围预估,并改造列表三列样式
build / build (push) Successful in 13m15s

- v29 删除前端对 notice/ScopePreview(推送范围「已选学员数」预估)的请求:
  api 方法、ScopePreviewVo 类型、dev:mock 桩、ClassScopeInput/PushScopePanel 两个组件的预估 UI 一并移除。
- v30 修复发文部门/联系组名称重复且带逗号(如「校园部,校园部」并逐次翻倍):
  postForm 原先把参数同时拼进 URL query 与 urlencoded body,Servlet 会合并两处取值、
  Spring @RequestParam String 再以「,」拼接。改为只发 body,仅在 dev:mock 下附带 query
  (vite-plugin-mock 不解析 urlencoded body),不影响线上。
- 修复时间筛选失效:DatePicker 的 Date 实例被 alova 直接 encodeURIComponent 成浏览器本地化
  日期串(Fri Aug 21 2026 ... GMT+0800),后端按 yyyy-MM-dd 解析不了。列表侧提交前归一化为
  短日期,alova-core 另加一层 Date → 本地 'yyyy-MM-dd HH:mm:ss' 的兜底归一化。
- 列表「类型 / 状态 / 阅读情况」三列改醒目样式(口径不变,仅样式):
  类型改胶囊(重要=实心红、普通=浅灰弱化);状态改彩色圆点胶囊,已发布绿/定时中蓝/
  待审批橙/已驳回红/草稿灰,已撤回、置顶改实心小徽标;阅读情况改渐变进度条 + 已读/应读·百分比,
  读满转绿。同步微调类型(80→90)、阅读情况(110→180)列宽。
- 同步更新《执行计划任务方案.md》v29 / v30 记录。
This commit is contained in:
lijing
2026-09-22 09:46:33 +08:00
parent b623e18b9b
commit a48c5f6343
8 changed files with 244 additions and 152 deletions
-25
View File
@@ -1184,31 +1184,6 @@ export default [
},
]),
},
{
// 范围预估:全校=ALL_STUDENTS;年级/班级按 studentCount 汇总;教师按名单数
url: "/api/notice/ScopePreview",
method: "get",
response: ({ query }: any) => {
let studentCount = 0;
try {
const scopes = JSON.parse(query.scopes || "[]");
for (const s of scopes) {
if (s.scopeType === 1) studentCount += ALL_STUDENTS;
else if (s.scopeType === 3) {
const g: any = gradeClasses.find((x) => x.gradeId === s.scopeId);
if (g) studentCount += g.classes.reduce((sum: number, c: any) => sum + c.studentCount, 0);
} else if (s.scopeType === 4) {
studentCount += (classMap[String(s.scopeId)] || { studentCount: 0 }).studentCount;
}
}
} catch {
/* ignore */
}
const receive = String(query.receiveList || "").trim();
const teacherCount = !receive || /^all$/i.test(receive) ? 0 : receive.split(/[,,\s]+/).filter(Boolean).length;
return ok({ studentCount, teacherCount, totalCount: studentCount + teacherCount });
},
},
{
// 存为草稿:不圈人,仅内容 + 范围快照 + 附件
url: "/api/notice/SaveDraft",