liu
5 天以前 fe2d6627b8f1002af7a31b08f6f43bec034d04ee
src/api/research/application/index.ts
@@ -5,6 +5,29 @@
import { requestClient } from '#/api/request';
export namespace ResearchApplicationApi {
  /** 课题申报书成员(子表) */
  export interface ApplicationMember {
    id?: number;
    applicationId?: number;
    name: string; // 成员姓名
    contactPhone?: string; // 联系电话
    workUnit?: string; // 所属单位
    jobTitle?: string; // 职称/职务
    memberRole?: string; // 成员角色:主持人/核心成员/参与人
    sortNo?: number; // 排序号
  }
  /** 成员维度统计 */
  export interface MemberStatistics {
    name: string; // 成员姓名
    contactPhone?: string; // 联系电话
    workUnit?: string; // 所属单位
    jobTitle?: string; // 职称/职务
    memberRoles?: string; // 成员角色(多个以顿号分隔)
    projectCount?: number; // 参与课题数
    projectTitles?: string; // 参与课题名称(分号分隔)
  }
  /** 课题申报书 */
  export interface Application {
    id?: number;
@@ -20,7 +43,8 @@
    jobTitle?: string; // 职称
    contactPhone?: string; // 联系电话
    contactEmail?: string; // 联系邮箱
    teamMembers?: string; // 课题组成员(每行一条:姓名|单位|职称)
    teamMembers?: string; // 课题组成员(旧版文本,仅历史数据展示)
    members?: ApplicationMember[]; // 课题组成员子表
    budgetAmount?: number; // 申请经费(元)
    planContent?: string; // 申报书正文
    status?: number; // 状态,字典 research_application_status
@@ -30,6 +54,8 @@
    researchNo?: string; // 立项编号,审批通过后生成
    approveTime?: string; // 立项时间
    noticeId?: number; // 已发布的立项通知公告 ID
    archiveDocumentId?: number; // 归档生成的档案 ID(非空即已归档)
    archived?: boolean; // 是否已归档
    remark?: string; // 备注
    creator?: string; // 创建人 ID
    creatorName?: string; // 创建人姓名
@@ -120,6 +146,35 @@
  });
}
/** 归档到档案管理(仅已立项可归档),返回生成的档案编号 */
export function archiveApplication(id: number) {
  return requestClient.post<string>('/research/application/archive', null, {
    params: { id },
  });
}
/** 按成员维度统计课题参与情况 */
export function getMemberStatistics(params: {
  keyword?: string;
  status?: number;
}) {
  return requestClient.get<ResearchApplicationApi.MemberStatistics[]>(
    '/research/application/member-statistics',
    { params },
  );
}
/** 导出成员维度统计 Excel */
export function exportMemberStatistics(params: {
  keyword?: string;
  status?: number;
}) {
  return requestClient.download(
    '/research/application/member-statistics/export-excel',
    { params },
  );
}
/** 查询某申报书的专家评审明细列表 */
export function getTopicReviewList(applicationId: number) {
  return requestClient.get<ResearchApplicationApi.TopicReview[]>(