Files
leaser_front/src/constants/index.ts
T

199 lines
5.2 KiB
TypeScript
Raw Normal View History

// API相关常量
export const API_BASE_URL = import.meta.env.VITE_APP_BASE_URL || '/api';
// 存储相关常量
export const STORAGE_KEYS = {
TOKEN: 'LEASER_TOKEN',
USER_INFO: 'LEASER_USER_INFO',
LOCALE: 'arco-locale',
THEME: 'arco-theme',
} as const;
// 路由相关常量
export const ROUTE_NAMES = {
LOGIN: 'login',
DASHBOARD: 'dashboard',
PROJECT: 'project',
TENANT: 'tenant',
CONTRACT: 'contract',
} as const;
// 业务相关常量
export const PAGE_SIZE_OPTIONS = [10, 20, 50, 100];
export const DEFAULT_PAGE_SIZE = 20;
// 文件相关常量
export const FILE_UPLOAD = {
MAX_SIZE: 10 * 1024 * 1024, // 10MB
ALLOWED_TYPES: [
'image/jpeg',
'image/png',
'image/gif',
'application/pdf',
'application/msword',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
],
} as const;
// 表单验证相关常量
export const VALIDATION_RULES = {
PHONE: /^1[3-9]\d{9}$/,
EMAIL: /^[^\s@]+@[^\s@]+\.[^\s@]+$/,
ID_CARD:
/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
} as const;
2026-01-12 00:19:24 +08:00
// 房源状态
//状态:1招商 2保留 3下架 4在租
export const HOUSE_STATUS = [
{ id: 1, text: '招商' },
{ id: 2, text: '保留' },
{ id: 3, text: '下架' },
{ id: 4, text: '在租' },
];
// 价格单位选项
export const PRICE_UNITS = [
{ value: 1, text: '元/㎡*月' },
{ value: 2, text: '元/㎡*天' },
{ value: 3, text: '元/天' },
{ value: 4, text: '元/月' },
{ value: 5, text: '元/年' },
] as const;
// 价格单位映射表
export const PRICE_UNIT_MAP = new Map([
[1, '元/㎡*月'],
[2, '元/㎡*天'],
[3, '元/天'],
[4, '元/月'],
[5, '元/年'],
]);
2026-01-23 17:35:56 +08:00
// 租客来源
export const TENANT_SOURCES = [
{ value: 1, text: '中介' },
{ value: 2, text: '招商获客' },
{ value: 3, text: '线下来访' },
{ value: 4, text: '客户转介' },
{ value: 5, text: '其他转介' },
];
// 租客映射表
export const TENANT_SOURCE_MAP = new Map([
[1, '中介'],
[2, '招商获客'],
[3, '线下来访'],
[4, '客户转介'],
[5, '其他转介'],
]);
// 租客类型
export const TENANT_TYPES = [
{ value: 1, text: '企业' },
{ value: 2, text: '个人' },
{ value: 3, text: '非营利组织' },
{ value: 4, text: '其他' },
];
// 租客映射表
export const TENANT_TYPE_MAP = new Map([
[1, '企业'],
[2, '个人'],
[3, '非营利组织'],
[4, '其他'],
]);
// 租客状态
// 状态:1正常 2欠费 3即将到期 4已到期 5可归档 6已归档
export const TENANT_STATUS = [
{ value: 1, text: '正常' },
{ value: 2, text: '欠费' },
{ value: 3, text: '即将到期' },
{ value: 4, text: '已到期' },
{ value: 5, text: '可归档' },
{ value: 6, text: '已归档' },
];
// 租客状态映射表
export const TENANT_STATUS_MAP = new Map([
[1, '正常'],
[2, '欠费'],
[3, '即将到期'],
[4, '已到期'],
[5, '可归档'],
[6, '已归档'],
]);
// 企业规模
export const COMPANY_SCALES = [
{ value: 1, text: '小微企业' },
{ value: 2, text: '中型企业' },
{ value: 3, text: '大型企业' },
{ value: 4, text: '集团/上市公司' },
];
// 企业规模映射表
export const COMPANY_SCALE_MAP = new Map([
[1, '小微企业'],
[2, '中型企业'],
[3, '大型企业'],
[4, '集团/上市公司'],
]);
// 行业分类
export const INDUSTRY_CATEGORIES = [
{ value: 1, text: '科技/互联网' },
{ value: 2, text: '金融/保险' },
{ value: 3, text: '专业服务(法律/咨询/会计)' },
{ value: 4, text: '医疗/健康' },
{ value: 5, text: '教育培训' },
{ value: 6, text: '零售/消费' },
{ value: 7, text: '制造业' },
{ value: 8, text: '文化/传媒' },
{ value: 9, text: '房地产/建筑' },
{ value: 10, text: '其他' },
];
// 行业分类映射表
export const INDUSTRY_CATEGORY_MAP = new Map([
[1, '科技/互联网'],
[2, '金融/保险'],
[3, '专业服务(法律/咨询/会计)'],
[4, '医疗/健康'],
[5, '教育培训'],
[6, '零售/消费'],
[7, '制造业'],
[8, '文化/传媒'],
[9, '房地产/建筑'],
[10, '其他'],
]);
// 发票类型
export const INVOICE_TYPES = [
{ value: 1, text: '增值税专用发票' },
{ value: 2, text: '增值税电子专用发票' },
{ value: 3, text: '增值税普通发票' },
{ value: 4, text: '增值税电子普通发票' },
{ value: 5, text: '全面数字化电子发票' },
];
// 发票类型映射表
export const INVOICE_TYPE_MAP = new Map([
[1, '增值税专用发票'],
[2, '增值税电子专用发票'],
[3, '增值税普通发票'],
[4, '增值税电子普通发票'],
[5, '全面数字化电子发票'],
]);
// 租客归档原因
export const TENANT_FILING_TYPES = [
{ value: 1, text: '到期退租(自然到期)' },
{ value: 2, text: '提前退租(协商终止)' },
{ value: 3, text: '非正常终止(违约或被清退)' },
{ value: 4, text: '签约未履行(签约后未生效)' },
{ value: 5, text: '其他原因' },
];
// 租客归档原因映射表
export const TENANT_FILING_TYPE_MAP = new Map([
[1, '到期退租(自然到期)'],
[2, '提前退租(协商终止)'],
[3, '非正常终止(违约或被清退)'],
[4, '签约未履行(签约后未生效)'],
[5, '其他原因'],
]);