feat: 会议提交剩余时间+解冻 + 会务/劳务材料批量下载 + 多角色人员/账号模块完善
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -200,9 +200,8 @@ async function loadAnnouncements() {
|
||||
// ===================== 已分配执行方 (服务公司) =====================
|
||||
/**
|
||||
* 数据源同 manager/projects/edit/{id} 的 loadAssigns:
|
||||
* 1) GET /business/project/{id}/assigns 拿原始分配行 (assignId, execUserId, sessions, amount)
|
||||
* 2) 对每个 execUserId 调 listExecutorOrgs({ userId }) 补 org_name
|
||||
* (后端 SQL 已限定 parent_user_id IS NULL, 自动取 MAIN 账号对应的执行公司)
|
||||
* 1) GET /business/project/{id}/assigns 拿原始分配行 (assignId, executionUnitId, sessions, amount)
|
||||
* 2) 对每个 executionUnitId 调 listExecutorOrgs({ orgId }) 补 org_name
|
||||
* N+1 但项目分配数一般 < 10, 简单可控; 真要优化再加聚合 JOIN 接口
|
||||
*/
|
||||
async function loadAssigns() {
|
||||
@@ -214,13 +213,13 @@ async function loadAssigns() {
|
||||
const enriched = await Promise.all(list.map(async (a) => {
|
||||
let orgName = '-'
|
||||
try {
|
||||
const opts = await listExecutorOrgs({ userId: a.execUserId })
|
||||
const opts = await listExecutorOrgs({ orgId: a.executionUnitId })
|
||||
const org = (opts && opts.data && opts.data[0]) || null
|
||||
if (org && org.orgName) orgName = org.orgName
|
||||
} catch (e) { /* 单条失败不影响其它, 默认显示 '-' */ }
|
||||
return {
|
||||
assignId: a.assignId,
|
||||
execUserId: a.execUserId,
|
||||
executionUnitId: a.executionUnitId,
|
||||
orgName,
|
||||
sessions: a.sessions || 0,
|
||||
amount: a.amount || 0
|
||||
|
||||
Reference in New Issue
Block a user