/** * 文档名称处理工具 * 用于格式化文档名称的显示 */ /** * 格式化文档名称用于显示 * 规则:通过"-"拆分,消除其中的"NA",然后再用"-"合并 * 例如: * - CHINESE01-NA-NA-张三文档计划-20260131 -> CHINESE01-张三文档计划-20260131 * - PRJ001-中国-NA-文档名-20260121 -> PRJ001-中国-文档名-20260121 * - PRJ001-中国-59-文档名-20260121 -> PRJ001-中国-59-文档名-20260121 * * @param {String} name - 原始文档名称 * @returns {String} 格式化后的文档名称 */ export const formatDocumentNameForDisplay = (name) => { if (!name) return '' // 按 - 分割名称 const parts = name.split('-') // 过滤掉值为 'NA' 的部分 const filteredParts = parts.filter(part => part !== 'NA') // 重新组合 return filteredParts.join('-') } /** * 解析文档名称的各个部分 * @param {String} name - 文档名称 * @returns {Object} 包含各部分的对象 */ export const parseDocumentName = (name) => { if (!name) { return { projectCode: '', country: '', center: '', specificName: '', effectiveDate: '' } } const parts = name.split('-') // 标准格式:{项目编号}-{国家名}-{中心号}-{具体文档名}-{生效日期} if (parts.length >= 5) { return { projectCode: parts[0] || '', country: parts[1] || '', center: parts[2] || '', specificName: parts.slice(3, -1).join('-') || '', // 中间部分可能包含多个- effectiveDate: parts[parts.length - 1] || '' } } // 非标准格式,返回原始名称 return { projectCode: '', country: '', center: '', specificName: name, effectiveDate: '' } }