feat(utils): 添加多种数据格式化过滤器功能
- 新增身份证号掩码过滤器MaskIdCard,用于隐藏敏感信息 - 新增银行卡号掩码过滤器MaskBankCard,保护支付信息安全 - 新增百分比格式化过滤器FormatPercent,支持自定义小数位 - 新增文件名截取过滤器TruncateFileName,防止超长文件名显示异常 - 新增文本截取过滤器TruncateText,控制文本长度显示 - 新增首字母大写过滤器Capitalize,统一文本格式 - 新增大小写转换过滤器ToUpperCase和ToLowerCase,灵活格式控制 - 新增相对时间格式化过滤器FormatRelativeTime,显示友好时间提示 - 新增星期几格式化过滤器FormatWeekday,便捷日期展示 - 新增布尔值转换过滤器FormatBoolean,支持自定义文本显示 - 新增开关状态过滤器FormatSwitch和启用状态过滤器FormatEnabled - 新增时长格式化过滤器FormatDuration,将秒数转换为可读格式 - 新增数组转字符串过滤器ArrayToString,自定义分隔符连接 - 新增JSON对象格式化过滤器JsonToString,支持缩进美化显示 - 新增数字转中文过滤器NumberToChinese,实现数字的中文表达 - 新增URL链接格式化过滤器FormatUrl,自动补全协议前缀 - 新增货币格式化过滤器FormatCurrency,支持多币种金额显示
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
import Vue from 'vue'
|
||||
|
||||
/**
|
||||
* 防止重复提交指令,需要在main.js中全局注册 Vue.directive('preventReClick', preventReClick)
|
||||
* 使用默认的 3000 毫秒防重复点击时间
|
||||
* 例子: <el-button v-prevent-re-click >提交</el-button>
|
||||
* 自定义防重复点击时间为 5000 毫秒
|
||||
* 例子: <el-button v-prevent-re-click >提交</el-button>
|
||||
*/
|
||||
export const preventReClick = Vue.directive('preventReClick', {
|
||||
inserted(el, binding) {
|
||||
el.addEventListener('click', () => {
|
||||
if (!el.disabled) {
|
||||
el.disabled = true
|
||||
setTimeout(() => {
|
||||
el.disabled = false
|
||||
}, binding.value || 3000)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user