Appearance
JPwise-Web 工具方法参考 - Claude Code
🛠️ 核心工具方法详解
📅 日期时间工具
javascript
import { jnpf } from '@/utils/jnpf'
// 日期格式化
jnpf.dateFormat(new Date(), 'yyyy-MM-dd')
jnpf.dateFormat(new Date(), 'yyyy-MM-dd HH:mm:ss')
// 相对时间显示
jnpf.toDateText(timestamp) // 转相对时间描述
// 日期计算
jnpf.getDate('YYYY-MM-DD', 'd', 7) // 获取7天后的日期
jnpf.toDate(值, 'YYYY-MM-DD') // 通用日期格式化
jnpf.timestamp(日期) // 转时间戳
jnpf.getSubDays(日期) // 计算日期差值
jnpf.timediff(开始时间, 结束时间) // 计算时间差
jnpf.getDateInfo() // 获取当前日期字符串
🔢 数值计算工具
javascript
// 财务和精确计算
jnpf.toDecimal(数字) // 财务格式化
jnpf.add(a, b) // 精确加法
jnpf.sub(a, b) // 精确减法
jnpf.multiply(a, b) // 精确乘法
jnpf.div(a, b) // 精确除法
// 数组计算
jnpf.getMin(数组, '字段', 初始值) // 查找最小值
jnpf.getMax(数组, '字段', 初始值) // 查找最大值
// 格式化
jnpf.parseNumber(字符串) // 字符串转数字
jnpf.formatNumber(值) // 千分位格式化
jnpf.toThousands(值, "add"/"del") // 千分位处理
jnpf.getAmountChinese(金额) // 金额转中文大写
💾 数据存储工具
javascript
// localStorage操作(保持数据类型)
jnpf.storageSet({键值对对象}) // 存储数据(保持类型)
jnpf.storageGet("键名") // 读取数据(还原类型)
jnpf.storageRemove("键名") // 删除数据
jnpf.storageClear() // 清除所有jpwise_*数据
// 使用示例
jnpf.storageSet({
userPreferences: { pageSize: 20, theme: 'dark' },
lastVisit: new Date()
})
const preferences = jnpf.storageGet('userPreferences')
🔐 权限检查工具
javascript
// 权限验证方法
jnpf.hasP("权限码") // 检查列权限
jnpf.hasFormP("字段权限码") // 检查表单字段权限
jnpf.hasBtnP({code: "按钮码"}) // 检查按钮权限
// 使用示例
if (jnpf.hasFormP('SALARY')) {
// 显示薪资字段
}
if (jnpf.hasBtnP({code: 'delete'})) {
// 显示删除按钮
}
📋 枚举处理工具
javascript
// 枚举转换
jnpf.getEnumValue("文本", 枚举列表) // 文本转编码
jnpf.getEnumText("编码", 枚举列表, 配置?) // 编码转文本
// 使用示例
const statusList = [
{ enCode: "1", fullName: "启用" },
{ enCode: "0", fullName: "禁用" }
]
const statusText = jnpf.getEnumText("1", statusList) // 返回"启用"
🛠 通用工具函数
javascript
// ID和随机数
jnpf.idGeneratorNoParam() // 生成唯一ID
jnpf.getRandomInt(最小值, 最大值) // 生成随机整数
// 数组和检查
jnpf.isInArr(ID, 数组) // 检查ID是否存在
// 设备和环境检查
jnpf.isPC() // 判断是否PC设备
jnpf.isInner() // 判断是否内网
// 流程相关
jnpf.checkFlowPhase(流程数据) // 检查流程状态
// 动态执行
jnpf.getScriptFunc("JS代码") // 执行JS字符串
jnpf.stringToFunctionObject("函数字符串") // 字符串转函数对象
// 组件查找
jnpf.findAncestorRef("引用名", 父组件) // 查找祖先组件引用
📝 表单验证工具
验证规则导入
javascript
import { required, email, phone } from '@/utils/formValidate'
import { validEmail, validPhone } from '@/utils/validate'
// 在data中定义验证规则
dataRule: {
name: [required('名称不能为空')],
email: [email('邮箱格式不正确')],
phone: [phone('手机号格式不正确')]
}
🗂️ 数据字典工具
字典数据处理
javascript
import { getDictionaryInfo, setSelectParams } from '@/utils/base.js'
// 获取字典数据
getDictionaryInfo(code).then(res => {
this.dictionaryOptions = res
})
// 设置选择参数
setSelectParams(params)
🔗 混入基础用法
必须使用的混入
javascript
// 列表页面混入
import listMixin from '@/mixins/basics/list'
// 表单页面混入
import formMixin from '@/mixins/basics/form'
// 权限控制混入
import btnPermission from '@/mixins/btn_permission'
export default {
mixins: [listMixin, btnPermission],
data() {
return {
apiUrl: '/api/module/list' // 配置API端点
}
}
}
📖 详细混入使用指南: 混入使用指南
相关文档: