- 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:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user