// @ts-ignore
/* eslint-disable */
import request from '@repo/api-client'

/** 获取当前用户信息 状态 0: 已创建  1: 运行中  2: 成功  3: 失败  4: 挂起 POST /api/account/curUserInfo */
export async function postAccountCurUserInfo(body: {}, options?: { [key: string]: any }) {
  return request<{
    isSuccess: boolean
    code: number
    result: {
      account: string
      cellPhone: string
      employeeNumber: string
      enterpriseName: string
      id: string
      isLoginToB: boolean
      isOut: number
      isSuperAdmin: boolean
      langName: string
      language: string
      name: string
    }
    isAuthorized: boolean
  }>('/api/account/curUserInfo', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    data: body,
    ...(options || {})
  })
}

/** 查询异步任务状态 状态 0: 已创建  1: 运行中  2: 成功  3: 失败  4: 挂起 POST /api/bpm/getAsynTaskInfo */
export async function postBpmGetAsynTaskInfo(
  body: {
    id: string
  },
  options?: { [key: string]: any }
) {
  return request<{
    isSuccess: boolean
    code: number
    result: {
      appPageCode: string
      argsInput: { args: { name?: string; value?: string }[] }
      code: string
      creationTime: string
      creatorUserId: string
      downFileId: string
      entityId: string
      fileId: string
      htmlStatusInfo: string
      id: string
      isDeleted: boolean
      nodeId: string
      params: string
      progress: string
      status: number
      taskId: string
      type: number
      updateTime: string
    }
    isAuthorized: boolean
  }>('/api/bpm/getAsynTaskInfo', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    data: body,
    ...(options || {})
  })
}

/** 获取左边菜单列表 状态 0: 已创建  1: 运行中  2: 成功  3: 失败  4: 挂起 POST /api/menu/leftMenuList */
export async function postMenuLeftMenuList(
  body: {
    menuCode: string
  },
  options?: { [key: string]: any }
) {
  return request<{
    isSuccess: boolean
    code: number
    result: {
      bindLink: boolean
      code: string
      deleted: boolean
      dynamicMenuLink: string
      enableApply: boolean
      enableMobile: boolean
      fullName: string
      fullPath: string
      iconColor: string
      id: string
      isBindLink: boolean
      isDeleted: boolean
      isFavourite: boolean
      isManuallyCreate: boolean
      langName: string
      languageCulture: string
      link: string
      linkId: string
      linkType: number
      linkWorkflowId: string
      manuallyCreate: boolean
      menuDepth: number
      menuIndex: number
      menuType: number
      name: string
      openType: number
      parentId: string
      subMenuList: {
        bindLink: boolean
        code: string
        deleted: boolean
        dynamicMenuLink: string
        enableApply: boolean
        enableMobile: boolean
        fullName: string
        fullPath: string
        iconColor: string
        id: string
        isBindLink: boolean
        isDeleted: boolean
        isFavourite: boolean
        isManuallyCreate: boolean
        langName: string
        languageCulture: string
        link: string
        linkId: string
        linkType: number
        linkWorkflowId: string
        manuallyCreate: boolean
        menuDepth: number
        menuIndex: number
        menuType: number
        name: string
        openType: number
        parentId: string
        subMenuList: string[]
        target: string
        targetName: string
        ts: { value: string }
      }[]
      target: string
      targetName: string
      ts: { value: string }
    }
    isAuthorized: boolean
  }>('/api/menu/leftMenuList', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    data: body,
    ...(options || {})
  })
}

/** 根据菜单编号，获取用户已授权的菜单按钮编号列表 状态 0: 已创建  1: 运行中  2: 成功  3: 失败  4: 挂起 POST /api/menubutton/authorised */
export async function postMenubuttonAuthorised(
  body: {
    menuCode: string
  },
  options?: { [key: string]: any }
) {
  return request<{ isSuccess: boolean; code: number; result: string[]; isAuthorized: boolean }>(
    '/api/menubutton/authorised',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json'
      },
      data: body,
      ...(options || {})
    }
  )
}
