// 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; // 房源状态 //状态: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, '元/年'], ]); // 租客来源 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, '其他原因'], ]);