工具函数
大约 5 分钟
工具函数
全局函数
提示
全局函数已经全部挂载至Vue的原型链上,各个组件中可以直接通过 this.
来使用全局函数,不需要额外的引用
this.msgSuccess('成功提示信息')
成功提示
void
msgSuccess(msg):说明:系统的成功提示
参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
msg | 成功提示的消息内容 | String | 是 | —— | —— |
错误提示
void
msgError(msg):说明:系统的错误提示
参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
msg | 错误提示的消息内容 | String | 是 | —— | —— |
信息提示
void
msgInfo(msg):说明:系统的信息提示
参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
msg | 信息提示的消息内容 | String | 是 | —— | —— |
数据字典
Promise<dicts>
getDicts(dictkey):说明:获取系统的数据字典键值对
参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
dictkey | 待获取数据字典的KEY值 | String | 是 | —— | —— |
返回值:当前 dictkey
的数据字典信息
this.getDicts("字典类型").then(response => {
this.xxxxx = response.data;
});
框架配置
Promise<config>
getConfigKey(configkey):说明:获取系统框架的配置
参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
configkey | 待获取框架的KEY值 | String | 是 | —— | —— |
返回值:当前 configkey
的框架的配置信息
this.getConfigKey("参数键名").then(response => {
this.xxxxx = response.msg;
});
构造树型结构数据
Array<Object>
handleTree(data, id, parentId, children, rootId):说明:将数组对象结构转为树形结构
参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
data | 数据源 | Array | 是 | —— | —— |
id | id字段 | String | 否 | —— | id |
parentId | 父节点字段 | String | 否 | —— | parentId |
children | 孩子节点字段 | String | 否 | —— | children |
rootId | 根Id | String | 否 | —— | 0 |
返回值:数组对象结构转为树形结构处理后结果
// 示列
const treeList = [
{
title: '系统管理',
parentName: '',
parentId: 0,
id: 1,
},
{
title: '菜单管理',
parentName: '系统管理',
parentId: 1,
id: 11,
},
{
title: '菜单新增',
parentName: '菜单管理',
parentId: 11,
id: 111,
}
];
// Vue原型链上已经含有 handleTree,可以在组件内部直接通过 this 调用
let ret = this.handleTree(treeList)
/* console.log(ret) 结果
[ { title: '系统管理',
parentName: '',
parentId: 0,
id: 1,
children: [ [Object] ] } ]
*/
字典回显
string
selectDictLabel(datas,value):说明:获取字典
value
对应的label
值,用于字典回显
参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
datas | 字典数据 | Array | 是 | —— | —— |
value | 字典数据value值 | String/Number | 是 | —— | —— |
返回值:当前字典 value
对应的 label
值,用于字典回显
// 获取字典回显值
this.selectDictLabel(dictArr,1)
table 数据字典列翻译示例
// 字典回显使用场景举例,在Table表格中部分数据为数据字典的value值,需要将value转换为字典的键值(key)
// 1. 一般我们会在组件初始化后调用 getConfigKey 方法,获取数据字典的数据,这里只初始化一次,方便后面使用
created() {
// 获取通知类型
this.getDicts('sys_notice_type').then(response => {
this.typeOptions = response.data
})
}
// 2. 当 table 表格展示数据时需要转换数据字典,table的列上 含有属性 formatter,用于格式化显示数据
<el-table-column
label="公告类型"
align="center"
prop="noticeType"
:formatter="typeFormat"
width="100"
/>
// 3. 在vue组件中定义方法 typeFormat ,并使用 selectDictLabel 方法将数据字典的 value 转换为 key。
methods:{
// 公告状态字典翻译
typeFormat(row, column) {
return this.selectDictLabel(this.typeOptions, row.noticeType)
}
}
日期格式化
string
parseTime(time, pattern):说明:日期格式化
参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
time | 待格式化的日期 | String | 是 | —— | —— |
pattern | 自定义格式化的正则 | String | 否 | —— | {y}-{m}-{d} {h}:{i}:{s} |
表单重置
void
resetForm(refName):说明:通过表单引用名称,重置当前表单项
参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
refName | 待重置的表单名称引用 | String | 是 | —— | —— |
日期范围
Object
addDateRange(params, dateRange):说明:通格式化处理接口参数,动态处理日期范围搜索项
参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
params | 待处理的参数 | Object | 是 | —— | —— |
dateRange | 待格式化的时间范围 | Object | 是 | —— | —— |
通用下载
Promise<string>
download(fileName, isUploadFile , rename):说明:下载系统内的文件 2020/4/10 去除第三个参数需携带文件后缀,简化使用者处理逻辑
参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
fileName | 待下载的文件名称 | String | 是 | —— | —— |
isUpload | 是否是上传的文件 | Boolean | 否 | —— | false |
rename | 下载后文件名称,注意不需要带文件后缀 | String | 否 | —— | fileName |
文件删除
Promise<any>
deleteFile(filePath):说明:删除服务端已上传的文件
参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
filePath | 上传成功后返回的 filePath | String | 是 | —— | —— |
示例
// 下载平台内部静态资源,因不是通过上传组件上传的文件所以将第二个参数设为 false,第三个参数为重命名可以不填
this.download('xxx.xls',false,'myexcel')
// 下载前端上传的文件
this.download('/upload/profile/file/aaa.jpg',true,'刚刚下载的图片')
局部函数
提示
因 局部函数
没有 全局函数
使用频率高,所以在使用 局部函数
前需要提前进行引用
// 例:引用局部函数
import { getQueryObject } from '@/utils'
获取 URL 路径 Query参数
Object
getQueryObject(url?:string):参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
url | 待解析URL | String | 否 | —— | location.href |
局部函数(ASPDEV)
提示
因 局部函数
没有 全局函数
使用频率高,所以在使用 局部函数
前需要提前进行引用
// 例:引用局部函数
import { handleClipboard,encrypt,decrypt } from '@/utils/aspdev'
复制文本
void
handleClipboard(text, event):说明:复制文本到剪切板
参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
text | 待复制的文本内容 | String | 是 | —— | —— |
event | 当前操作的事件 | Object | 是 | —— | —— |
加密文本
string
encrypt(txt):参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
txt | 待加密的文本内容 | String | 是 | —— | —— |
解密文本
string
decrypt(txt):参数 | 说明 | 类型 | 必填 | 可选值 | 默认值 |
---|---|---|---|---|---|
txt | 待解密的文本内容 | String | 是 | —— | —— |