feat(finance): 实现发票管理页面与子页面
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
import type {
|
||||
FinanceInvoiceSettingFormState,
|
||||
FinanceInvoiceTabKey,
|
||||
OptionItem,
|
||||
} from '../../types';
|
||||
|
||||
/**
|
||||
* 文件职责:发票管理页面常量定义。
|
||||
*/
|
||||
import type { FinanceInvoiceStatsDto } from '#/api/finance';
|
||||
|
||||
import { getMonthFirstDateString, getTodayDateString } from './helpers';
|
||||
|
||||
/** 发票管理页面查看权限。 */
|
||||
export const FINANCE_INVOICE_VIEW_PERMISSION = 'tenant:finance:invoice:view';
|
||||
|
||||
/** 发票开票权限。 */
|
||||
export const FINANCE_INVOICE_ISSUE_PERMISSION = 'tenant:finance:invoice:issue';
|
||||
|
||||
/** 发票作废权限。 */
|
||||
export const FINANCE_INVOICE_VOID_PERMISSION = 'tenant:finance:invoice:void';
|
||||
|
||||
/** 发票设置权限。 */
|
||||
export const FINANCE_INVOICE_SETTINGS_PERMISSION =
|
||||
'tenant:finance:invoice:settings';
|
||||
|
||||
/** 分段选项。 */
|
||||
export const INVOICE_TAB_OPTIONS: Array<{
|
||||
label: string;
|
||||
value: FinanceInvoiceTabKey;
|
||||
}> = [
|
||||
{ label: '开票记录', value: 'records' },
|
||||
{ label: '发票设置', value: 'settings' },
|
||||
];
|
||||
|
||||
/** 发票状态筛选项。 */
|
||||
export const INVOICE_STATUS_OPTIONS: OptionItem[] = [
|
||||
{ label: '全部状态', value: 'all' },
|
||||
{ label: '待开票', value: 'pending' },
|
||||
{ label: '已开票', value: 'issued' },
|
||||
{ label: '已作废', value: 'voided' },
|
||||
];
|
||||
|
||||
/** 发票类型筛选项。 */
|
||||
export const INVOICE_TYPE_OPTIONS: OptionItem[] = [
|
||||
{ label: '全部类型', value: 'all' },
|
||||
{ label: '普通发票', value: 'normal' },
|
||||
{ label: '专用发票', value: 'special' },
|
||||
];
|
||||
|
||||
/** 默认统计数据。 */
|
||||
export const DEFAULT_INVOICE_STATS: FinanceInvoiceStatsDto = {
|
||||
currentMonthIssuedAmount: 0,
|
||||
currentMonthIssuedCount: 0,
|
||||
pendingCount: 0,
|
||||
voidedCount: 0,
|
||||
};
|
||||
|
||||
/** 创建默认筛选条件。 */
|
||||
export function createDefaultFilters() {
|
||||
return {
|
||||
startDate: getMonthFirstDateString(),
|
||||
endDate: getTodayDateString(),
|
||||
status: 'all',
|
||||
invoiceType: 'all',
|
||||
keyword: '',
|
||||
};
|
||||
}
|
||||
|
||||
/** 创建默认分页。 */
|
||||
export function createDefaultPagination() {
|
||||
return {
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
};
|
||||
}
|
||||
|
||||
/** 创建默认设置表单。 */
|
||||
export function createDefaultSettingsForm(): FinanceInvoiceSettingFormState {
|
||||
return {
|
||||
companyName: '',
|
||||
taxpayerNumber: '',
|
||||
registeredAddress: '',
|
||||
registeredPhone: '',
|
||||
bankName: '',
|
||||
bankAccount: '',
|
||||
enableElectronicNormalInvoice: true,
|
||||
enableElectronicSpecialInvoice: false,
|
||||
enableAutoIssue: false,
|
||||
autoIssueMaxAmount: 10_000,
|
||||
};
|
||||
}
|
||||
|
||||
/** 创建默认开票表单。 */
|
||||
export function createDefaultIssueForm() {
|
||||
return {
|
||||
contactEmail: '',
|
||||
issueRemark: '',
|
||||
};
|
||||
}
|
||||
|
||||
/** 创建默认作废表单。 */
|
||||
export function createDefaultVoidForm() {
|
||||
return {
|
||||
voidReason: '',
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user