Options
All
  • Public
  • Public/Protected
  • All
Menu

Module service/ticket

Index

Type aliases

AuditorGroup

AuditorGroup: { auditorItems: Status["auditorItems"]; refRoles: string[]; role: string; staff: string[] }[]

审核人信息

AuditorType

AuditorType: "Staff" | "Account"

审核人类型

Auditors

Auditors: { auditors?: { id: string; mailbox: string; name: string }[]; staffs?: { id: string; mailbox: string; name: string }[] }

工单审核人信息

Type declaration

  • Optional auditors?: { id: string; mailbox: string; name: string }[]

    审核人信息

  • Optional staffs?: { id: string; mailbox: string; name: string }[]

    员工id

CommonTicketListOption

CommonTicketListOption: { beginAt?: string; endAt?: string; projectId: string; q?: string; statusId?: string; statusIds?: string[]; ticketNumber?: string; withCount?: boolean }

Type declaration

  • Optional beginAt?: string

    开始时间

  • Optional endAt?: string

    结束时间

  • projectId: string
  • Optional q?: string

    搜索值

  • Optional statusId?: string

    状态id

  • Optional statusIds?: string[]

    状态id(多选)

  • Optional ticketNumber?: string
  • Optional withCount?: boolean

    是否返回未读消息

Count

Count: { ticketNumber: string; unReadCount: string }[]

未读消息

ExportTicketReportOptions

ExportTicketReportOptions: { atType: "CreateAt" | "ModifiedAt"; auditorId?: string; beginAt?: string; endAt?: string; reportName?: string; sendToMail: string; staffId?: string; ticketNumbers?: string[] }

Type declaration

  • atType: "CreateAt" | "ModifiedAt"

    时间类型

  • Optional auditorId?: string

    指定哪个负责人下的工单

  • Optional beginAt?: string

    开始时间

  • Optional endAt?: string

    结束时间

  • Optional reportName?: string

    邮件标题

  • sendToMail: string

    发送的邮箱地址

  • Optional staffId?: string

    指定哪个员工下的工单

  • Optional ticketNumbers?: string[]

    筛选工单

Identity

Identity: "User" | "Staff"

工单的用户身份

ListItem

ListItem: { auditorGroup: { auditors: AuditorGroup }; createdAt: string; id: string; modifiedAt: string; parameters: Parameters; projectId: string; serial: string; status: Status; submitter: { appid: string; headimg: string; leadId: string; nickname: string; openid: string }; ticketNumber: string }

工单记录信息

Type declaration

  • auditorGroup: { auditors: AuditorGroup }

    当前所有节点的审核人

  • createdAt: string
  • id: string
  • modifiedAt: string
  • parameters: Parameters
  • projectId: string

    项目id

  • serial: string

    子工单单号

  • status: Status
  • submitter: { appid: string; headimg: string; leadId: string; nickname: string; openid: string }

    提交者信息

    • appid: string
    • headimg: string
    • leadId: string
    • nickname: string
    • openid: string
  • ticketNumber: string

    工单单号

LogReport

LogReport: { description: string; formId: string; options: Parameters; remark: string; submitId: string; title: string }

工单报告

Type declaration

  • description: string
  • formId: string
  • options: Parameters
  • remark: string
  • submitId: string
  • title: string

Logs

Logs<ContentDetail>: { change: Partial<{ from: string; fromDetail: Record<string, string>; to: string; toDetail: Record<string, string> }>; content: { content: string; detail: ContentDetail; status: Status }; createdAt: string; id: string; inNotice: boolean; operator: { accountUsername?: string; appid?: string; openid?: string; staffId?: string; type: "User" | "Staff" | "System" | "AccountUser" }; status?: LogStatus; ticketNumber: string; type: "Reply" | "Report" | "ParameterChange" | "Open" | "Assign" | "Close" | "StatusChange" }[]

工单记录

Type parameters

  • ContentDetail = any

NormalContent

NormalContent: { msgType: "image" | "text" | "doc" | "pdf" }

文字聊天天内容

Type declaration

  • msgType: "image" | "text" | "doc" | "pdf"

Parameters

Parameters: { label: string; name: string; title: string; type: string; value: string }[]

提交的问卷参数

Project

Project: { createdAt: string; id: string; parameters: { hidden: boolean; name: string; optionSource?: { enable: boolean; url: string }; options?: { label: string; value: string }[]; title: string; type: string }[]; status: { id: string; order: string; remark: string; transitions: { to: string }[] }[]; title: string }

工单项目信息

Type declaration

  • createdAt: string
  • id: string
  • parameters: { hidden: boolean; name: string; optionSource?: { enable: boolean; url: string }; options?: { label: string; value: string }[]; title: string; type: string }[]

    包含的完整问卷参数配置

  • status: { id: string; order: string; remark: string; transitions: { to: string }[] }[]

    包含的完整的状态配置

    description

    第一个节点为本身节点,后续节点为可供流转的节点

  • title: string

ReplyContent

工单聊天内容

ReplyContentBase

ReplyContentBase<T>: { content: string; detail: ReplyDetailBase<T> }

工单Reply基本结构

Type parameters

  • T

Type declaration

  • content: string

    聊天内容

    description

    显示在界面上的内容,一般聊天消息

  • detail: ReplyDetailBase<T>

ReplyContentDetail

工单聊天详情

ReplyDetailBase

ReplyDetailBase<T>: { [ P in keyof T]: T[P] } & { headImg?: string; id?: string; nickname?: string }

消息回复的content.detail

Type parameters

  • T

Role

Role: { role?: "Staff" | "AccountUser"; staffId?: string; username?: string }

角色信息

description

员工只包含id,具体从GetAvailableAuditor/Project.status获取 role 不存在的情况下为用户身份

Type declaration

  • Optional role?: "Staff" | "AccountUser"
  • Optional staffId?: string
  • Optional username?: string

Status

Status: { auditorItems?: { id: string; type: AuditorType }[]; auditorRole: string; auditors?: string[]; content?: string; isEnd: boolean; modifiedAt: string; remark: string; statusId: string }

工单节点信息

Type declaration

  • Optional auditorItems?: { id: string; type: AuditorType }[]

    账号/员工审核人信息

  • auditorRole: string

    角色名称

  • Optional auditors?: string[]

    员工id

  • Optional content?: string

    节点名称

  • isEnd: boolean

    是否是结束节点

  • modifiedAt: string
  • remark: string

    节点备注

  • statusId: string

    节点id

    description

    用于流转

TicketChildItem

TicketChildItem: { isUserDestroy: boolean; parent: { id: string; projectId: string; ticketNumber: string }; partner: { appid: string; headimg: string; leadId: string; nickname: string; openid: string } }

Type declaration

  • isUserDestroy: boolean
  • parent: { id: string; projectId: string; ticketNumber: string }

    父工单信息

    • id: string
    • projectId: string
    • ticketNumber: string
  • partner: { appid: string; headimg: string; leadId: string; nickname: string; openid: string }

    参与者信息

    • appid: string
    • headimg: string
    • leadId: string
    • nickname: string
    • openid: string

VoiceContent

VoiceContent: { duration: number; localId: string; msgType: "voice"; translateResult: string }

语音聊天内容

Type declaration

  • duration: number
  • localId: string
  • msgType: "voice"
  • translateResult: string

Functions

ChangeGoodParameters

  • ChangeGoodParameters(params: { name: string; parameters: Record<string, string | number>; projectId: string; staffId?: string; ticketNumber: string }): Promise<void>
  • 修改工单Parameters中的商品

    description

    name为工单parameters.name value为parameters.value

    export

    Parameters

    • params: { name: string; parameters: Record<string, string | number>; projectId: string; staffId?: string; ticketNumber: string }
      • name: string
      • parameters: Record<string, string | number>
      • projectId: string
      • Optional staffId?: string
      • ticketNumber: string

    Returns Promise<void>

ChangeParameters

  • ChangeParameters(params: { parameters: Record<string, string | number>; projectId: string; staffId?: string; ticketNumber: string }): Promise<void>
  • 修改工单Parameters中除商品外的参数

    description

    name为工单parameters.name value为parameters.value

    export

    Parameters

    • params: { parameters: Record<string, string | number>; projectId: string; staffId?: string; ticketNumber: string }
      • parameters: Record<string, string | number>
      • projectId: string
      • Optional staffId?: string
      • ticketNumber: string

    Returns Promise<void>

ExportReport

  • ExportReport(config: { projectId: string; report: ExportTicketReportOptions; reportName?: string; staffId?: string; statusIds: string[] }): Promise<any>
  • 发送报告到指定邮箱

    Parameters

    Returns Promise<any>

GetAuditList

GetAuditProjects

  • GetAuditProjects(staffId: string): Promise<{ data: { createdAt: string; projectId: string; remark: string; title: string }[] }>
  • 获取当前员工的所有相关工单项目

    Parameters

    • staffId: string

    Returns Promise<{ data: { createdAt: string; projectId: string; remark: string; title: string }[] }>

GetAvailableAuditor

  • GetAvailableAuditor(projectId: string, role: string): Promise<Auditors>
  • 获取工单所有场景下对应角色的员工

    export

    Parameters

    • projectId: string
    • role: string

      角色名称

    Returns Promise<Auditors>

GetAvailableStatus

  • GetAvailableStatus(projectId: string, ticketNumber: string): Promise<{ auditorDetails: { id: string; name: string }[]; auditors: AuditorGroup; currentRole: string; staffs: { id: string; name: string }[]; statuses: (Project["status"][number] & { auditorRole: string })[] }>
  • 查询工单可变更状态

    export

    Parameters

    • projectId: string
    • ticketNumber: string

    Returns Promise<{ auditorDetails: { id: string; name: string }[]; auditors: AuditorGroup; currentRole: string; staffs: { id: string; name: string }[]; statuses: (Project["status"][number] & { auditorRole: string })[] }>

GetChildrentTickets

  • GetChildrentTickets({: { childrenProjectId: string; projectId: string; ticketNumber: string }): Promise<{ data: (ListItem & TicketChildItem)[] }>
  • 查询子工单

    Parameters

    • {: { childrenProjectId: string; projectId: string; ticketNumber: string }
      projectId,
      ticketNumber,
      childrenProjectId

      }

      • childrenProjectId: string
      • projectId: string
      • ticketNumber: string

    Returns Promise<{ data: (ListItem & TicketChildItem)[] }>

GetNewLogNumber

  • GetNewLogNumber(params: { logTypes: ("Reply" | "Report" | "ParameterChange" | "Open" | "Assign" | "Close" | "StatusChange")[]; nextLogs: Record<string, string>; projectId: string }): Promise<Record<string, string>>
  • 工单聊天的新回复数量

    description

    根据log.id查询之后有几条记录,一般用于列表的未读数

    reamrk

    nextLogId的存储,离开工单后将本地的nextLogid更新为最新的logid,在列表处通过记录的id查询未读log数量,

    Parameters

    • params: { logTypes: ("Reply" | "Report" | "ParameterChange" | "Open" | "Assign" | "Close" | "StatusChange")[]; nextLogs: Record<string, string>; projectId: string }
      • logTypes: ("Reply" | "Report" | "ParameterChange" | "Open" | "Assign" | "Close" | "StatusChange")[]
      • nextLogs: Record<string, string>
      • projectId: string

    Returns Promise<Record<string, string>>

GetNewLogs

  • GetNewLogs(params: { logTypes: string[]; nextLog: string; projectId: string; staffId: string; ticketNumber: string }): Promise<Logs>
  • 获取新l工单og

    description

    通过最近的一条log.id拉取之后的log,相比于全量拉取可以节省开销,一般用于聊天列表

    Parameters

    • params: { logTypes: string[]; nextLog: string; projectId: string; staffId: string; ticketNumber: string }
      • logTypes: string[]
      • nextLog: string
      • projectId: string
      • staffId: string
      • ticketNumber: string

    Returns Promise<Logs>

    {Promise}

GetPrivateFile

  • GetPrivateFile(projectId: string, ticketNumber: string, fileId: string): Promise<{ fileurl: string }>
  • 获取上传资源的签名链接

    description

    一段时间后链接失效,需要重新获取

    export

    Parameters

    • projectId: string
    • ticketNumber: string
    • fileId: string

      upload.key

    Returns Promise<{ fileurl: string }>

GetProjectDetail

  • GetProjectDetail(projectId: string): Promise<Project>
  • 查询工单模块参数

    export

    Parameters

    • projectId: string

    Returns Promise<Project>

GetRole

  • GetRole(projectId: string): Promise<Role>
  • 查询工单用户角色

    description

    一般不会变,缓存着

    export

    Parameters

    • projectId: string

    Returns Promise<Role>

GetSubmitList

GetTeamInfo

  • GetTeamInfo(): Promise<{ fullName: string; logo: string; name: string }>
  • 获取部门信息

    Returns Promise<{ fullName: string; logo: string; name: string }>

GetTicketAuditor

  • GetTicketAuditor(params: { projectId: string; role: string; ticketNumber: string }): Promise<{ auditors: StaffInfo[] }>
  • 获取工单审核角色信息

    Parameters

    • params: { projectId: string; role: string; ticketNumber: string }
      • projectId: string
      • role: string

        角色名称

      • ticketNumber: string

    Returns Promise<{ auditors: StaffInfo[] }>

GetTicketDetail

  • GetTicketDetail<T>(params: { logTypes?: string[]; projectId: string; ticketNumber: string; withLogs: T }): Promise<{ ticket: ListItem } & (T extends true ? { logs: Logs } : { logs?: Logs })>
  • 工单详情

    remark

    第一次可通过withLogs:true全量获取,后续查询通过GetNewLogs查询后续记录

    export

    Type parameters

    • T: boolean

    Parameters

    • params: { logTypes?: string[]; projectId: string; ticketNumber: string; withLogs: T }
      • Optional logTypes?: string[]
      • projectId: string
      • ticketNumber: string
      • withLogs: T

    Returns Promise<{ ticket: ListItem } & (T extends true ? { logs: Logs } : { logs?: Logs })>

GetUploadSignature

  • GetUploadSignature(projectId: string, ticketNumber: string, contentType?: string, isPrivate?: boolean): Promise<UploadParams>
  • 获取上传签名

    description

    上传的文件为私密文件通过GetPrivateFile查询,需要预先存好key

    export

    Parameters

    • projectId: string
    • ticketNumber: string
    • Optional contentType: string
    • isPrivate: boolean = true

    Returns Promise<UploadParams>

PutTransition

  • PutTransition(form: { auditorIds?: string[]; projectId: string; remark?: string; staffId?: string; statusId: string; ticketNumber: string }): Promise<void>
  • 流转工单

    description

    可用于节点/审核人的变更,传空则根据场景设置自动变更

    export

    Parameters

    • form: { auditorIds?: string[]; projectId: string; remark?: string; staffId?: string; statusId: string; ticketNumber: string }
      • Optional auditorIds?: string[]
      • projectId: string
      • Optional remark?: string
      • Optional staffId?: string
      • statusId: string
      • ticketNumber: string

    Returns Promise<void>

Reassign

  • Reassign(projectId: string, ticketNumber: string, staffId: string): Promise<void>
  • 根据参数重新指派负责人

    description

    ChangeParameters变更参数后调用接口进行重新分配

    Parameters

    • projectId: string
    • ticketNumber: string
    • staffId: string

    Returns Promise<void>

Reply

  • 回复工单

    description

    用于聊天

    export

    Parameters

    Returns Promise<Logs[number]>

SyncHistory

  • SyncHistory(params: { nextLogs: Record<string, string>; staffId?: string }): Promise<any>
  • 同步聊天未读消息数

    Parameters

    • params: { nextLogs: Record<string, string>; staffId?: string }
      • nextLogs: Record<string, string>
      • Optional staffId?: string

    Returns Promise<any>

ticketApi

  • ticketApi(target: string, data?: any, freeLogin?: 0 | 1): Promise<any>
  • 工单 的代理接口

    description

    系统业务流模块的暴露接口

    export

    Parameters

    • target: string

      请求路由

    • Optional data: any
    • Optional freeLogin: 0 | 1

    Returns Promise<any>

Generated using TypeDoc