feat(oa): add mobile print PDF filename helper

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-08-13 10:52:02 +08:00
1 parent 5897b35b4e
commit 2802ef23a6
2 files changed
+43

No files matched your search

@@ -0,0 +1,13 @@
/** Align with web-admin `buildOaPrintFilename` in oa-approval-print.ts */
export function buildOaPrintFilename(detail) {
const initiator =
String(detail?.initiatorUserName || '').trim() ||
String(detail?.initiatorUserId || '').trim() ||
'用户'
const appName =
String(detail?.appName || '').trim() ||
String(detail?.title || '').trim() ||
'审批单'
const safe = (s) => String(s).replace(/[\\/:*?"<>|]/g, '_').slice(0, 80)
return `${safe(initiator)}提交的${safe(appName)}.pdf`
}
@@ -0,0 +1,30 @@
import assert from 'node:assert/strict'
import { buildOaPrintFilename } from './oa-print-filename.js'
assert.equal(
buildOaPrintFilename({
initiatorUserName: '张三',
appName: '请假申请'
}),
'张三提交的请假申请.pdf'
)
assert.equal(
buildOaPrintFilename({
initiatorUserId: 'u1',
title: '报销'
}),
'u1提交的报销.pdf'
)
assert.equal(buildOaPrintFilename({}), '用户提交的审批单.pdf')
assert.equal(
buildOaPrintFilename({
initiatorUserName: 'a/b:c*',
appName: 'x?y'
}),
'a_b_c_提交的x_y.pdf'
)
console.log('oa-print-filename: ok')