admin_new P0+P1 全批次合并 (84 commits) #2
@ -108,19 +108,30 @@ function resetForm() {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 加载企业下拉选项 (弹窗打开时拉一次, 后续复用)
|
* 加载企业下拉选项 (弹窗打开时拉一次, 后续复用)
|
||||||
* 后端: GET /enterprise/list 返 EnterpriseFeignDTO 列表 [{id, enterpriseName, ...}]
|
*
|
||||||
* 兜底: 后端失败时给空数组, UI 仍可用 (只是下拉是空的)
|
* 实现: 从 /user/user/page 用户列表聚合 (enterpriseId, enterpriseName) 去重
|
||||||
|
* 原因: gateway.json 当前没配 /enterprise/** 路由, /enterprise/list 返 404;
|
||||||
|
* 而 user-server jar 内 ApiEnterpriseController 也没正确暴露路径
|
||||||
|
* (推测 jar 是旧版本编译, controller 路径没生效)
|
||||||
|
* 替代: 用户表里有 enterpriseId + enterpriseName 字段, 直接聚合即可
|
||||||
|
* 兜底: 后端失败时给空数组
|
||||||
*/
|
*/
|
||||||
async function loadEnterprises() {
|
async function loadEnterprises() {
|
||||||
if (enterpriseOptions.value.length > 0) return
|
if (enterpriseOptions.value.length > 0) return
|
||||||
enterpriseLoading.value = true
|
enterpriseLoading.value = true
|
||||||
try {
|
try {
|
||||||
const data: any = await httpGet('/enterprise/list')
|
const data: any = await httpGet('/user/user/page', { page: 1, limit: 10000 })
|
||||||
const arr = Array.isArray(data) ? data : (data?.list || [])
|
const arr = Array.isArray(data?.list) ? data.list : (Array.isArray(data) ? data : [])
|
||||||
enterpriseOptions.value = arr.map((it: any) => ({
|
const seen = new Map<number, string>()
|
||||||
id: Number(it.id ?? it.enterpriseId ?? 0),
|
for (const u of arr) {
|
||||||
name: it.enterpriseName || it.name || `企业 #${it.id}`
|
const eid = Number(u.enterpriseId ?? 0)
|
||||||
})).filter((it: EnterpriseOpt) => it.id > 0)
|
if (eid > 0 && !seen.has(eid)) {
|
||||||
|
seen.set(eid, u.enterpriseName || `企业 #${eid}`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
enterpriseOptions.value = Array.from(seen.entries())
|
||||||
|
.map(([id, name]) => ({ id, name }))
|
||||||
|
.sort((a, b) => a.id - b.id)
|
||||||
} catch {
|
} catch {
|
||||||
enterpriseOptions.value = []
|
enterpriseOptions.value = []
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user