167 lines
5.3 KiB
TypeScript
167 lines
5.3 KiB
TypeScript
export const toolLabels: Record<string, string> = {
|
|
schedule_toggle: '启用或暂停计划',
|
|
metal_holding_create: '新增贵金属持仓',
|
|
metal_value: '按参考价更新贵金属估值',
|
|
metals_prices: '查询贵金属参考价',
|
|
connection_revoke: '撤销当前连接',
|
|
position_create: '新增账户、资产或债务',
|
|
position_update: '修改项目资料',
|
|
balance_record: '更新余额或估值',
|
|
history_update: '更正余额历史',
|
|
history_delete: '删除余额历史',
|
|
debt_links_set: '更新债务关联',
|
|
movement_create: '记录资金往来',
|
|
movement_update: '修改资金往来',
|
|
movement_delete: '撤销资金往来',
|
|
schedule_create: '新增定时计划',
|
|
schedule_update: '修改定时计划',
|
|
schedule_delete: '删除定时计划',
|
|
schedules_run: '执行到期计划',
|
|
schedule_run: '执行到期计划',
|
|
settings_update: '更新偏好设置',
|
|
account_groups_order: '调整账户分组顺序',
|
|
icon_publish: '保存私有图标',
|
|
metal_configure: '设置贵金属持仓',
|
|
metal_holding_update: '更新贵金属克数',
|
|
positions_list: '查询账户、资产和债务',
|
|
position_get: '查看项目详情',
|
|
history_list: '查询余额历史',
|
|
overview_get: '查看资产总览',
|
|
trend_get: '查看净资产趋势',
|
|
movements_list: '查询资金往来',
|
|
movement_by_revision: '查看关联资金往来',
|
|
calendar_month: '查看月度收支',
|
|
calendar_day: '查看每日收支',
|
|
schedules_list: '查看定时计划',
|
|
schedule_runs: '查看计划执行记录',
|
|
settings_get: '读取偏好设置',
|
|
rates_list: '查询汇率',
|
|
metals_list: '查询贵金属参考价',
|
|
icons_list: '查询图标库',
|
|
connection_info: '查看连接权限',
|
|
state_get: '核对账目状态',
|
|
operation_get: '查询草稿结果',
|
|
file_upload_request: '上传私有图标',
|
|
file_status: '查询上传状态',
|
|
icon_image: '读取图标',
|
|
};
|
|
export const statusLabels: Record<string, string> = {
|
|
pending: '待确认',
|
|
completed: '已完成',
|
|
cancelled: '已取消',
|
|
expired: '已过期',
|
|
failed: '失败',
|
|
success: '成功',
|
|
error: '失败',
|
|
denied: '已拒绝',
|
|
};
|
|
export function toolLabel(name: string) {
|
|
return toolLabels[name] || '账目操作';
|
|
}
|
|
export function statusLabel(status: string) {
|
|
return statusLabels[status] || status;
|
|
}
|
|
export function permissionLabel(scopes: string[]) {
|
|
return scopes.includes('write') ? '直接写入' : scopes.includes('draft') ? '草稿修改' : '只读查询';
|
|
}
|
|
export const fieldLabels: Record<string, string> = {
|
|
status: '状态',
|
|
message: '处理说明',
|
|
createdAt: '创建时间',
|
|
updatedAt: '更新时间',
|
|
effectiveDate: '业务时间',
|
|
data: '修改内容',
|
|
nextAt: '下次执行时间',
|
|
intervalDays: '间隔天数(0 为一次)',
|
|
scheduled_expense: '计划支出',
|
|
maxRuns: '最多执行次数',
|
|
repeat: '重复规则',
|
|
nextRunAt: '下次执行时间',
|
|
id: '项目',
|
|
positionId: '项目',
|
|
sourceId: '转出账户',
|
|
targetId: '转入项目',
|
|
revisionId: '历史记录',
|
|
name: '名称',
|
|
kind: '类型',
|
|
side: '资产属性',
|
|
category: '分类',
|
|
groupName: '账户分组',
|
|
currency: '币种',
|
|
amount: '金额',
|
|
received: '到账金额',
|
|
fee: '手续费',
|
|
date: '业务时间',
|
|
notes: '备注',
|
|
reason: '变更原因',
|
|
operation: '操作类型',
|
|
archived: '归档',
|
|
hidden: '隐藏',
|
|
included: '计入总览',
|
|
iconId: '图标',
|
|
targetIds: '关联项目',
|
|
groups: '分组顺序',
|
|
metalType: '贵金属品种',
|
|
grams: '重量(克)',
|
|
metalGrams: '重量(克)',
|
|
costPerGram: '每克买入成本',
|
|
metalCostPerGram: '每克买入成本',
|
|
enabled: '启用计划',
|
|
frequency: '执行频率',
|
|
interval: '间隔',
|
|
nextDate: '下次执行时间',
|
|
startDate: '开始时间',
|
|
endDate: '结束时间',
|
|
dayOfMonth: '每月执行日',
|
|
baseCurrency: '本位币',
|
|
showNotes: '显示备注',
|
|
hiddenMenus: '隐藏菜单',
|
|
overviewCards: '总览卡片',
|
|
includeIndependentAssets: '独立资产计入总览',
|
|
accountGroupOrder: '分组顺序',
|
|
ok: '执行成功',
|
|
executed: '已执行次数',
|
|
errors: '执行异常',
|
|
hasMore: '仍有待执行计划',
|
|
};
|
|
export const valueLabels: Record<string, string> = {
|
|
account: '账户',
|
|
asset: '资产',
|
|
liability: '负债',
|
|
debt: '债务',
|
|
bank: '银行账户',
|
|
cash: '现金',
|
|
investment: '投资账户',
|
|
credit_card: '信用卡',
|
|
loan: '贷款账户',
|
|
other: '其他',
|
|
gold: '黄金',
|
|
silver: '白银',
|
|
property: '房产',
|
|
vehicle: '车辆',
|
|
personal: '个人借款',
|
|
transfer: '转账',
|
|
borrow: '借入',
|
|
lend: '借出',
|
|
repay: '还款',
|
|
collect: '收款',
|
|
expense: '支出',
|
|
initial: '初始余额',
|
|
balance: '余额更新',
|
|
valuation: '估值更新',
|
|
correction: '历史更正',
|
|
repayment: '还款',
|
|
daily: '每天',
|
|
weekly: '每周',
|
|
monthly: '每月',
|
|
};
|
|
export type Reference = { name: string; currency: string; side: string; kind: string };
|
|
export function displayValue(value: unknown, references: Record<string, Reference> = {}): string {
|
|
if (value === null || value === undefined || value === '') return '未设置';
|
|
if (typeof value === 'boolean') return value ? '是' : '否';
|
|
if (Array.isArray(value))
|
|
return value.length ? value.map((v) => displayValue(v, references)).join('、') : '无';
|
|
const s = String(value);
|
|
return references[s]?.name || valueLabels[s] || s;
|
|
}
|