项目里程碑初步优化

This commit is contained in:
Cheng Zhou
2026-02-27 09:06:06 +08:00
parent 8f3f717e48
commit fd7e3fc948
47 changed files with 2029 additions and 783 deletions
+1 -1
View File
@@ -65,7 +65,7 @@ const sites = ref<Site[]>([]);
const siteMap = computed(() => new Map(sites.value.map((site) => [site.id, site.name])));
const siteActiveMap = computed(() => new Map(sites.value.map((site) => [site.id, !!site.is_active])));
const displaySite = (siteId?: string) => siteMap.value.get(siteId || "") || TEXT.common.fallback;
const isInactiveSite = (siteId?: string) => siteId && siteActiveMap.value.get(siteId) === false;
const isInactiveSite = (siteId?: string) => Boolean(siteId) && siteActiveMap.value.get(siteId || "") === false;
const detail = reactive<any>({
site_id: "",
@@ -64,7 +64,7 @@ const sites = ref<Site[]>([]);
const siteMap = computed(() => new Map(sites.value.map((site) => [site.id, site.name])));
const siteActiveMap = computed(() => new Map(sites.value.map((site) => [site.id, !!site.is_active])));
const displaySite = (siteId?: string) => siteMap.value.get(siteId || "") || TEXT.common.fallback;
const isInactiveSite = (siteId?: string) => siteId && siteActiveMap.value.get(siteId) === false;
const isInactiveSite = (siteId?: string) => Boolean(siteId) && siteActiveMap.value.get(siteId || "") === false;
const detail = reactive<any>({
site_id: "",
+4 -6
View File
@@ -426,15 +426,13 @@ const goBack = () => router.push("/startup/meeting-auth");
onMounted(async () => {
if (studyId) {
const requests = [listMembers(studyId, { limit: 500 })];
if (isAdmin.value) {
requests.push(fetchUsers({ limit: 500 }));
}
const [membersResp, usersResp] = await Promise.all(requests).catch(() => [null, null]);
const membersReq = listMembers(studyId, { limit: 500 });
const usersReq = isAdmin.value ? fetchUsers({ limit: 500 }) : Promise.resolve(null);
const [membersResp, usersResp] = await Promise.all([membersReq, usersReq]).catch(() => [null, null] as const);
if (membersResp?.data) {
members.value = Array.isArray(membersResp.data) ? membersResp.data : membersResp.data.items || [];
}
if (usersResp?.data) {
if (usersResp?.data && !Array.isArray(usersResp.data)) {
users.value = usersResp.data.items || [];
}
}
+4 -6
View File
@@ -179,15 +179,13 @@ const goBack = () => router.push("/startup/meeting-auth");
onMounted(async () => {
if (studyId.value) {
const requests = [listMembers(studyId.value, { limit: 500 })];
if (isAdmin.value) {
requests.push(fetchUsers({ limit: 500 }));
}
const [membersResp, usersResp] = await Promise.all(requests).catch(() => [null, null]);
const membersReq = listMembers(studyId.value, { limit: 500 });
const usersReq = isAdmin.value ? fetchUsers({ limit: 500 }) : Promise.resolve(null);
const [membersResp, usersResp] = await Promise.all([membersReq, usersReq]).catch(() => [null, null] as const);
if (membersResp?.data) {
members.value = Array.isArray(membersResp.data) ? membersResp.data : membersResp.data.items || [];
}
if (usersResp?.data) {
if (usersResp?.data && !Array.isArray(usersResp.data)) {
users.value = usersResp.data.items || [];
}
}