工具函数

大约 5 分钟

工具函数

全局函数

提示

全局函数已经全部挂载至Vue的原型链上,各个组件中可以直接通过 this. 来使用全局函数,不需要额外的引用

this.msgSuccess('成功提示信息')

成功提示

msgSuccess(msg):void

说明:系统的成功提示

参数说明类型必填可选值默认值
msg成功提示的消息内容String————

错误提示

msgError(msg):void

说明:系统的错误提示

参数说明类型必填可选值默认值
msg错误提示的消息内容String————

信息提示

msgInfo(msg):void

说明:系统的信息提示

参数说明类型必填可选值默认值
msg信息提示的消息内容String————

数据字典

getDicts(dictkey):Promise<dicts>

说明:获取系统的数据字典键值对

参数说明类型必填可选值默认值
dictkey待获取数据字典的KEY值String————

返回值:当前 dictkey 的数据字典信息

this.getDicts("字典类型").then(response => {
  this.xxxxx = response.data;
});

框架配置

getConfigKey(configkey):Promise<config>

说明:获取系统框架的配置

参数说明类型必填可选值默认值
configkey待获取框架的KEY值String————

返回值:当前 configkey 的框架的配置信息

this.getConfigKey("参数键名").then(response => {
  this.xxxxx = response.msg;
});

构造树型结构数据

handleTree(data, id, parentId, children, rootId):Array<Object>

说明:将数组对象结构转为树形结构

参数说明类型必填可选值默认值
data数据源Array————
idid字段String——id
parentId父节点字段String——parentId
children孩子节点字段String——children
rootId根IdString——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] ] } ]
*/

字典回显

selectDictLabel(datas,value):string

说明:获取字典 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)
    }
}

日期格式化

parseTime(time, pattern):string

说明:日期格式化

参数说明类型必填可选值默认值
time待格式化的日期String————
pattern自定义格式化的正则String——{y}-{m}-{d} {h}:{i}:{s}

表单重置

resetForm(refName):void

说明:通过表单引用名称,重置当前表单项

参数说明类型必填可选值默认值
refName待重置的表单名称引用String————

日期范围

addDateRange(params, dateRange):Object

说明:通格式化处理接口参数,动态处理日期范围搜索项

参数说明类型必填可选值默认值
params待处理的参数Object————
dateRange待格式化的时间范围Object————

通用下载

download(fileName, isUploadFile , rename):Promise<string>

说明:下载系统内的文件 2020/4/10 去除第三个参数需携带文件后缀,简化使用者处理逻辑

参数说明类型必填可选值默认值
fileName待下载的文件名称String————
isUpload是否是上传的文件Boolean——false
rename下载后文件名称,注意不需要带文件后缀String——fileName

文件删除

deleteFile(filePath):Promise<any>

说明:删除服务端已上传的文件

参数说明类型必填可选值默认值
filePath上传成功后返回的 filePathString————

示例

// 下载平台内部静态资源,因不是通过上传组件上传的文件所以将第二个参数设为 false,第三个参数为重命名可以不填
this.download('xxx.xls',false,'myexcel')
// 下载前端上传的文件
this.download('/upload/profile/file/aaa.jpg',true,'刚刚下载的图片')

局部函数

提示

局部函数 没有 全局函数 使用频率高,所以在使用 局部函数 前需要提前进行引用

// 例:引用局部函数
import { getQueryObject } from '@/utils'

获取 URL 路径 Query参数

getQueryObject(url?:string):Object

参数说明类型必填可选值默认值
url待解析URLString——location.href

局部函数(ASPDEV)

提示

局部函数 没有 全局函数 使用频率高,所以在使用 局部函数 前需要提前进行引用

// 例:引用局部函数
import { handleClipboard,encrypt,decrypt } from '@/utils/aspdev'

复制文本

handleClipboard(text, event):void

说明:复制文本到剪切板

参数说明类型必填可选值默认值
text待复制的文本内容String————
event当前操作的事件Object————

加密文本

encrypt(txt):string

参数说明类型必填可选值默认值
txt待加密的文本内容String————

解密文本

decrypt(txt):string

参数说明类型必填可选值默认值
txt待解密的文本内容String————
上次编辑于: