Skip to content

前端常用方法

名称参数说明
toDateText(dateTimeStamp)dateTimeStamp:Unix 时间戳(毫秒级)将时间戳转换为相对时间描述或标准日期格式,返回String
//示例:传入24年6月18日
const dateTimeStamp = new Date("2024-06-18").getTime(); 假设时间戳<br>this.jnpf.toDateText(timestamp); <br>// 若今天是2024-06-19 → 返回 "1天前"<br>// 若今天是2025-06-19 → 返回 "2024-06-18"
getDate
(format,strInterval,number)
format:日期格式化字符串(必选)
strInterval:时间间隔单位(必选)
number:时间间隔数量(必选)
获取指定时间间隔后的日期,返回String
示例:
//获取三天后的日期
this.jnpf.getDate('YYYY-MM-DD', 'd', 3)
toDate(v, format)v:要转换的日期值(必选)
format:输出格式(必选)
通用日期格式化,返回String
示例:
//转换'2023-06-18T08:30'为指定格式
this.jnpf.toDate('2023-06-18T08:30', 'YYYY年MM月DD日')
toDecimal(num)num:数字或字符串将输入的数字(或字符串)转换为符合财务规范的格式化字符串,返回String
示例:
//强制保留两位小数
this.jnpf.toDecimal(123)//123.00
//四舍五入
this.jnpf.toDecimal(123.156)//123.16
除此之外还有以下功能:
//自动处理​​千位分隔符​​
//清理输入中的​​货币符号和多余的​​逗号
toUrl(url)url:路径参数(必选)根据当前运行环境(开发/生产)动态拼接完整的API请求URL,返回String
示例:
//拼接url
this.jnpf.toUrl('/order/detail');
idGeneratorNoParam()-生成一个唯一的随机ID​​,返回String
示例:
this.jnpf.idGeneratorNoParam()
idGenerator(params)params:(customerChars:指定生成ID时使用的字符集合,若不传此参数,函数会使用默认的62进制字符集
superID:true或者false,填入true时执行根据customerChars定制id,填入false时使用默认的62进制字符集)(可选)
生成​​可定制的唯一ID​​,返回String
示例:
//传入字符串为123456的字符集合定制id
this.jnpf.idGenerator({customerChars?: 123456, superID?: true})
getScriptFunc(str)str:传入的js代码(必选)执行传入的js代码
示例:
//执行alert代码
this.jnpf.getScriptFunc(alert("123"))
timestamp(val)val:要转换的日期(必选)将各种日期格式转换为Unix时间戳,返回String
示例:
//将"2023-07-21T00:00:00Z"转换为时间戳
this.jnpf.timestamp("2023-07-21T00:00:00Z"); // 1689926400000
tableDateFormat(cellValue)cellValue:单元格中的日期值(必选)将表格单元格中的日期值格式化为统一的字符串格式,返回String
示例:
//将时间戳转换为固定格式日期
this.jnpf.tableDateFormat(1689926400000)//"2023-07-21"
getEnumValue(Text, enumItemList)Text:枚举值(必选)
enumItemList:枚举对象(必选)
将枚举名称(Text)转换为对应的枚举编码,返回String
示例:
//根据禁用,启用等输出对应的枚举编码
const enumItems = [{fullName: "启用", enCode: "0"}, {fullName: "禁用", enCode: "1"}, {fullName: "待审核", enCode: "2"}];<br>this.jnpf.getEnumValue("启用,禁用",enumItems)//返回 "0,1"
getEnumText
(enumItemCodes,enumItemList,props)
enumItemCodes:枚举键(必选)
enumItemList:枚举对象(必选)
props:配置对象,例如:不传入props时,默认enumItemList = [{enCode: "1", fullName: "启用" }]
传入props时,例如props={value: "id", label: "name"}
enumItemList = {id: "1", name: "启用" }, {id: "0", name: "禁用" }
将枚举编码(enumItemCodes)转换为对应的枚举文本显示值,返回String
示例:
//根据编码转换为对应的启用,禁用等枚举名称
const statusEnum = [{enCode: "1", fullName: "启用"}, {enCode: "0", fullName: "禁用"}];<br>this.jnpf.getEnumText("1,0", statusEnum); // 返回: "启用,禁用"
storageGet(key)key:要获取的数据项的唯一标识符(业务逻辑名称),实际存储键名=jpwise_+key(必选)读取并还原原始类型数据,返回String
示例:
//读取数字
this.jnpf.storageSet({ age: 25 });<br>const userAge = storageGet("age");<br>console.log(userAge); // 25<br>console.log(typeof userAge);//"number"
除此之外,还能读取布尔类型,数组类型,对象类型,空值类型
storageSet(obj)obj:一个JavaScript对象(必选)将JavaScript对象序列化并存储到Web Storage中,同时保留数据类型信息,返回String
示例:
//存储一个对象
this.jnpf.storageSet({id: 1001, name: "Alice", admin: true, scores: [90, 85], address: { city:"Paris"}});
//结果
jpwise_id ("1001 Number" )
jpwise_name ("Alice String")
jpwise_admin ("true Boolean")
jpwise_scores ("[90,85] Array")
jpwise_address ("{"city":"Paris"} Object")
storageRemove(key)key:要删除的数据项标识符(必选)从存储中删除指定键名的数据项
示例:
//删除token令牌
// 存储用户令牌this.jnpf.storageSet({ authToken: "abc123" });<br>// 用户登出时删除令牌<br>this.jnpf.storageRemove("authToken");
storageClear()-清除所有带指定前缀的存储项(jpwise_)
示例:
//清除操作
this.jnpf.storageClear();
hasP(enCode)key:列权限标识符(必选)检查当前用户是否具有指定列的操作权限,返回Boolean
示例:
//检查当前用户是否有"salary"列的查看权限
this.jnpf.hasP('salary');
hasFormP(enCode)enCode:表单字段权限标识符(必选)检查当前用户是否具有指定表单字段的操作权限,返回Boolean
示例:
//检查是否可编辑邮箱字段
this.jnpf.hasFormP('email')
hasBtnP(params)params:参数对象(code:按钮权限标识(必选)
permissionsKey:自定义权限模块ID(可选)
isCustomComponents:true/false(声明当前是否在自定义组件中使用)(可选)
auth:额外权限要求,例如"fullControl"(可选))(必选)
检查当前用户是否具有指定按钮的操作权限,返回Boolean
示例:
//基本按钮权限检查
this.jnpf.hasBtnP({ code: 'edit' });
add(a, b)a:第一个操作数(字符串或数字)(必选)
b:第二个操作数(字符串或数字)(必选)
两个数相加,返回String
示例:
//两个数相加,保留六位小数
this.jnpf.add("3.14", "2")<br>//返回 "5.140000"
sub(a, b)a:被减数(字符串或数字)(必选)
b减数(字符串或数字)(必选)
数值减法,返回String
示例:
//减法计算
this.jnpf.sub("10", "3.5")<br>// 返回 "6.500000"
multiply(a, b)a:被乘数(字符串或数字)(必选)
b乘数(字符串或数字)(必选)
数值乘法,返回String
示例:
//乘法计算
this.jnpf.multiply("2.5", "4")<br>// 返回 "10.000000"
div(a, b)a:被除数(字符串或数字)(必选)
b:除数(字符串或数字,必须>0)(必选)
数值除法
示例:
//除法计算
this.jnpf.div("10", "2")<br> // 返回 "5.000000"<br>this.jnpf.div("10", "abc") <br>// 返回 0
getMin(arr, column, target)arr:对象数组(必选)
column:要比较的对象属性名(必选)
target:初始比较值(必选)
查找最小值,返回String
示例:
//在数组里查找最小值
const data = [{score: 80}, {score: 90}, {score: 70}];<br>this.jnpf.getMin(data, "score", 100) <br>// 返回 70
getMax(arr, column, target)arr:对象数组(必选)
column:要比较的对象属性名(必选)
target:初始比较值(必选)
查找最大值,返回String
示例:
//在数组里查找最大值
const data = [{score: 80}, {score: 90}, {score: 70}];<br>this.jnpf.getMax(data, "score", 100) <br>// 返回 90
getRandomInt(min, max)min:最小整数(包含)(必选)
max:最大整数(包含)(必选)
生成随机整数,返回String
示例:
//生成1-10之间的一个随机整数
this.jnpf.getRandomInt(1, 10) <br>// 可能返回 3(1-10之间的整数)
isInArr(id, arr)id:要查找的ID值(必选)
arr:对象数组(元素需包含ID属性)(必选)
检查ID是否存在,返回Boolean
示例:
//检查数组中是否有指定的id值
const users = [{ID: 1}, {ID: 2}];<br>this.jnpf.isInArr(2, users) <br> // 返回 true
getSubDays(date)date:日期字符串或Date对象(必选)计算日期差值,返回String
示例:
//计算2023-06-20距离今天的日期天数
this.jnpf.getSubDays("2023-06-20")
timediff(begin_time, end_time)begin_time:开始时间(字符串或Date对象)
end_time:结束时间(字符串或Date对象)
计算时间差,返回String
示例:
//计算两个时间的差值
this.jnpf.timediff("2023-06-20 08:00", "2023-06-22 10:30")<br>// 返回 "2天2小时30分"
registerInjectWindows()-注册客户端插件(CAD)
示例:
//绑定可调用对象,用于后续的客户端(CAD)与网页的交互(在页面加载时调用)
this.jnpf.registerInjectWindows();
execInjectWindows(method, data)method:操作类型(目前只支持 "close")(必选)
data:传递给插件的参数(必选)
执行插件相关操作
示例:
//关闭一个ID为plugin-window-123的插件窗口
this.jnpf.execInjectWindows("close", "plugin-window-123");
isPC()-判断当前设备是否为PC,返回String
示例:
//判断是否为pc端
this.jnpf.isPC();<br>//40:PC设备,0:移动设备
checkFlowPhase(data)data:流程数据数组(必选)检查流程数据是否处于有效状态,返回Boolean
示例:
//校验流程状态
const flowData = [{FLOWPHASE: "20"}];<br>if (this.jnpf.checkFlowPhase(flowData))
parseNumber(str)str:输入字符串(必选)字符串转数字,返回String
示例:
//将"12.34e2"和"abc"转换为数字
this.jnpf.parseNumber("12.34e2") <br> 返回 1234<br>this.jnpf.parseNumber("abc") <br> 返回 0
toThousands
(val, flag, separator = ",")
val:输入值(必选)
flag: "add"(添加分隔符)或"del"(移除分隔符)(必选)
separator:分隔符(默认逗号)(可选)
千位分隔符处理,返回String
示例:
//检查数组中是否有指定的id值
this.jnpf.toThousands("1234567", "add") <br> // 返回 "1,234,567"<br>this.jnpf.toThousands("1,234,567", "del") <br>// 返回 "1234567"
formatNumber(val)val:输入值(必选)格式化数字(添加千位分隔符),返回String
示例:
//格式化数字1234567.89
this.jnpf.formatNumber(1234567.89) <br>// 返回 "1,234,567.89"
getAmountChinese(money)money:金额数值(必选)金额转中文大写,返回String
示例:
//将1234.56转大写
this.jnpf.getAmountChinese(1234.56)<br>// 返回 "壹仟贰佰叁拾肆元伍角陆分"
getDateInfo()-获取当前日期字符串,返回String
示例:
//格式化数字1234567.89
this.jnpf.getDateInfo()<br>//返回 "2023-06-20 14:30:00"格式的字符串
stringToFunctionObject(funStr)funStr:包含函数定义的字符串将包含函数定义的字符串转换为可执行函数对象集合,返回Object
示例:
//输入字符串<br>const funcString = "function add(a, b) {return a + b; } function greet(name) {return "Hello, " + name + "!";}";<br>//转换使用<br>const funcs = this.jnpf.stringToFunctionObject(funcString);<br>// 调用生成的函数<br>console.log(funcs.add(2, 3)); // 输出: 5<br>console.log(funcs.greet("Alice")); // 输出: "Hello, Alice!"
isInner()-判断当前是否在内网环境,返回Boolean
示例:
//判断是否在内网环境
this.jnpf.isInner() <br>//true: 内网<br>false: 外网
findAncestorRef(refName,parentComponent)refName:引用名称(必选)
parentComponent:起始组件实例(通常是 this.$parent)
在Vue组件树中向上查找指定引用的组件,返回Object
示例:
//向上查找第一个具有 ref="formPanel" 的组件实例
this.jnpf.findAncestorRef("formPanel", this.$parent);