跳转至

title: E9 通用 JS 工具库 (E9Utils) created: 2026-04-21 updated: 2026-04-21 type: reference tags: [js, utils, e9, library] related: [oa/dev-solutions/print-watermark.md]


泛微 E9 通用 JS 工具库 (E9Utils)

为了规范开发并减少重复代码,我封装了一个通用的 E9Utils 对象。 在 Ecode 或表单代码块中引入后,即可直接调用。

📦 使用方法

将以下代码复制到你的 JS 文件中,或者直接引用静态文件: /weaver/ecology/js/custom/e9_common_utils.js

// 引入后立即可以使用 E9Utils.getToday() 等方法

📚 API 列表

1. E9Utils.getToday()

获取当前日期,格式 YYYY-MM-DD。 - 返回值: String - 示例: E9Utils.getToday() -> "2026-04-21"

2. E9Utils.formatMoney(val)

金额格式化(千分位 + 2 位小数)。 - 参数: val (Number/String) - 示例: E9Utils.formatMoney(12345) -> "12,345.00"

3. E9Utils.checkIdCard(idCard)

身份证号合法性校验(支持 15/18 位)。 - 返回值: Boolean

4. E9Utils.blockCopyPaste(fieldId)

禁用指定字段的右键、复制、粘贴功能(适用于敏感薪资/身份证字段)。 - 示例: E9Utils.blockCopyPaste('field1234')

5. E9Utils.getDetailMax(detailTableId, fieldId)

获取明细表某列的最大值。 - 示例: 获取明细 1 中 field99 的最大值 -> E9Utils.getDetailMax('detail_1', 'field99')

6. E9Utils.checkDetailDuplicate(detailTableId, fieldId)

检查明细表某列是否有重复值。 - 返回值: Boolean (true 表示有重复)

💡 最佳实践

  • 建议在 ecode 项目的 Global 模块中加载此库。
  • 所有的工具方法都不会抛出异常,调用前确保 DOM 或 WfForm 已加载。