| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- /**
- * 文档名称处理工具
- * 用于格式化文档名称的显示
- */
- /**
- * 格式化文档名称用于显示
- * 规则:通过"-"拆分,消除其中的"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: ''
- }
- }
|