feat: 项目分配通知支持方主账号 + 结题前置检查未结算会议
#8 项目分配 → 支持方主账号待办通知
- BizProjectController.edit 检测 sponsor_org_id 变更 (null→org / A→B)
调 BizNotifyService.projectAssignedToSupportOrg 发待办给支持方主账号
(biz_org.user_id, MAIN sponsor). 去掉支持方 (置 null) 不发.
- BizNotifyService 新增 projectAssignedToSupportOrg, 与既有的
projectAssignedToSponsor (通知 SUB 监察员) 配套, 共 2 条.
结题前置检查 (manager)
- BizProjectController 新增 GET /business/project/meetingSettlement
入参 projectIds 逗号分隔, 查还有未结算会议 (is_settled<>1)
的项目, 仅返回 unsettledCount>0 项.
- BizProjectMapper.checkMeetingSettled (LinkedHashMap, HAVING > 0).
- manager/Projects.vue openClose 先调该端点, 有未结算会议时弹警告
ElMessageBox.confirm (允许强制结题). 后端失败兜底空数组不阻塞.
Co-Authored-By: Claude Code <noreply@anthropic.com>