Appearance
前端常用方法
名称 | 参数 | 说明 |
---|---|---|
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); |