- 部门汇总全公司 5% 按每位有台账聚合行的营销经理各计一次, 团队应发小计取聚合额 + 调整净额;与月结 total_payable 对拍 (有调整单时 + adjust_net_total),分列舍入差单列 - 人员归属按行类型拆分(普通/经理个人户/仅调整单),调整单全量并入, 团队与未分配不重复;按经理筛选只汇总展示团队 - 导出改单 sheet 分块签字稿,审计覆盖取数与超限;筛选页眉 ID→名称 - 月份校验抽 core/month,报表/月结/调整单非法月份统一 400; 岗位只读选项供财务/领导筛选 - 前端修复:部门下钻带入筛选、回款多桶独立状态、打印截断判定、 summary 请求序号保护 Co-Authored-By: Claude Code <noreply@anthropic.com>
104 lines
2.9 KiB
TypeScript
104 lines
2.9 KiB
TypeScript
import { request } from './request'
|
||
import type { PageData } from './types'
|
||
|
||
/** 公式模板下拉项(含声明参数,供岗位表单展示) */
|
||
export interface TemplateOption {
|
||
code: string
|
||
name: string
|
||
description: string
|
||
params: { code: string; name: string }[]
|
||
}
|
||
|
||
/** 岗位角色列表项(对应后端 `BusinessRoleOut`) */
|
||
export interface BusinessRoleItem {
|
||
id: number
|
||
role_code: string
|
||
role_name: string
|
||
calc_template: string
|
||
description: string | null
|
||
sort_order: number
|
||
status: number
|
||
/** 1内置(禁删禁停) 0自定义 */
|
||
is_builtin: number
|
||
}
|
||
|
||
export interface BusinessRoleQueryParams {
|
||
pageNum?: number
|
||
pageSize?: number
|
||
keyword?: string
|
||
status?: number
|
||
}
|
||
|
||
export interface BusinessRoleCreateParams {
|
||
role_code: string
|
||
role_name: string
|
||
calc_template: string
|
||
description?: string
|
||
sort_order?: number
|
||
}
|
||
|
||
/** 编辑:不含 role_code(创建后不可修改,编码是参数维度与模板绑定的锚点) */
|
||
export interface BusinessRoleUpdateParams {
|
||
role_name: string
|
||
calc_template: string
|
||
description?: string
|
||
sort_order?: number
|
||
}
|
||
|
||
/** 岗位下拉选项(登录即可;基础数据与报表筛选用,含停用) */
|
||
export interface BusinessRoleOption {
|
||
id: number
|
||
role_code: string
|
||
role_name: string
|
||
status: number
|
||
}
|
||
|
||
/** 分页查询岗位角色(含停用,仅管理员) */
|
||
export function listBusinessRoles(
|
||
params: BusinessRoleQueryParams,
|
||
): Promise<PageData<BusinessRoleItem>> {
|
||
return request({ url: '/v1/system/business-roles', method: 'get', params })
|
||
}
|
||
|
||
/** 只读岗位选项:财务/领导做报表筛选时不走管理员接口 */
|
||
export function listBusinessRoleOptions(): Promise<BusinessRoleOption[]> {
|
||
return request({ url: '/v1/base/business-roles/options', method: 'get' })
|
||
}
|
||
|
||
/** 新增岗位 */
|
||
export function createBusinessRole(
|
||
data: BusinessRoleCreateParams,
|
||
): Promise<BusinessRoleItem> {
|
||
return request({ url: '/v1/system/business-roles', method: 'post', data })
|
||
}
|
||
|
||
/** 编辑岗位 */
|
||
export function updateBusinessRole(
|
||
roleId: number,
|
||
data: BusinessRoleUpdateParams,
|
||
): Promise<BusinessRoleItem> {
|
||
return request({ url: `/v1/system/business-roles/${roleId}`, method: 'put', data })
|
||
}
|
||
|
||
/** 删除岗位(内置岗位后端拒绝,前端同步禁用按钮) */
|
||
export function deleteBusinessRole(roleId: number): Promise<null> {
|
||
return request({ url: `/v1/system/business-roles/${roleId}`, method: 'delete' })
|
||
}
|
||
|
||
/** 启用 / 禁用(内置岗位后端拒绝停用) */
|
||
export function setBusinessRoleStatus(
|
||
roleId: number,
|
||
status: number,
|
||
): Promise<BusinessRoleItem> {
|
||
return request({
|
||
url: `/v1/system/business-roles/${roleId}/status`,
|
||
method: 'put',
|
||
data: { status },
|
||
})
|
||
}
|
||
|
||
/** 公式模板下拉(含声明参数说明) */
|
||
export function listTemplateOptions(): Promise<TemplateOption[]> {
|
||
return request({ url: '/v1/system/business-roles/meta/templates', method: 'get' })
|
||
}
|