公用方法 utils

# 基础工具类 ## 将数组转换成字符串 ==transArrToString (arr)== > ### `return` String ```js let arr = [1,2,3] this.BaseUtil.transArrToString(arr) // return '1,2,3' ``` ## 将字符串转换成数组 ==transStringToArr (string)= > ### `return` Array ```js let arr = 1,2,3 this.BaseUtil.transStringToArr(arr) // return [1,2,3] ``` ## 获取数组的最后一位 ==getArrLast (arr)== > ### `return`object || string ```js let arr = [1,2,3] this.BaseUtil.getArrLast(arr) // return 3 ``` ## 判断对象中的字段是否为空 ==isObjectEmpty (obj, fieldArr)== > ### `return` Boolean > ### `params` obj 需要校验的对象 > ### `params` fieldArr 对象中需要校验的字段数组 ```js let obj = { a: '', b: '123' } this.BaseUtil.isObjectEmpty(obj, ['a','b']) // return false ``` # 身份证工具类 ## 根据身份证号获取性别 ==getSexByIdcard(idcard)== > ### `return` String 字典表中性别的value ```js let idcard = '320681199203302222' this.BaseUtil.getSexByIdcard(idcard) // return '1' ``` ## 根据身份证号获取出生日期 ==getBirthByIdcard(idcard)== > ### `return` String 字典表中性别的value ```js let idcard = '320681199203302222' this.BaseUtil.getBirthByIdcard(idcard) // return '1992-03-30' ``` ## 根据身份证号获取出生日期 ==getBirthByIdcard(idcard)== > ### `return` String ```js let idcard = '320681199203302222' this.BaseUtil.getBirthByIdcard(idcard) // return '1992-03-30' ``` ## 根据身份证号获取年龄 ==getAgeByIdcard(idcard)== > ### `return` Number ```js let idcard = '320681199203302222' this.BaseUtil.getAgeByIdcard(idcard) // return 30 ``` ## 加密身份证 ==encryptionIdCard(idcard)== > ### `return` Number ```js let idcard = '320681199203302222' this.BaseUtil.encryptionIdCard(idcard) // return 320681****2222 ``` # 区划树 ## 根据当前code获取上级到本级区划树 ==getAllAreaByCode(areaCode, field, type)== > ### `return` Array > ### `params` areaCode 当前区划的areacode > ### `params` field 需要获取的字段 > ### `params` type 返回的数据类型 ```js let areaCode = '110101000000' this.BaseUtil.getAllAreaByCode(areaCode, 'name') // return ['北京市', '东城区'] this.BaseUtil.getAllAreaByCode(areaCode, 'name', 'str') // return "北京市/东城区" ``` ## 根据当前id获取上级到本级区划树 ==getAllAreaById(areaId, field, type)== > ### `return` Array > ### `params` areaId 当前区划的id > ### `params` field 需要获取的字段 > ### `params` type 返回的数据类型 ```js let areaId = 'c1e8c759ef4c49fd90a10691cb42f544' this.BaseUtil.getAllAreaByCode(areaId, 'name') // return ['北京市', '东城区'] this.BaseUtil.getAllAreaByCode(areaId, 'name', 'str') // return "北京市/东城区" ``` # 普通tree ## 加密身份证 ==encryptionIdCard(idcard)== > ### `return` Number ```js let idcard = '32068119920330222' this.BaseUtil.encryptionIdCard(idcard) // return 320681****2222 ``` # 字典表 ## 根据最后一位的key,获取最后一位的obj格式 ==getLastInTree(arr, field, key, childName)== >### `return` Object >### `params` arr 当前区划树 >### `params` field 需要匹配的字段名称 >### `params` key 需要匹配的字段值 >### `params` childName children的名称,默认为‘children’ ```js let arr = [ { key:1, value:'a', children:[ { key:2, value: 'b' } ] } ] this.BaseUtil.getLastInTree(arr, 'key', 2) // return { key: 2, value: 'b' } ``` ## 根据最后一位的key,获取最后一位的obj格式 ==getFirstObjInTreeByKey(arr, field, key)== >### `return` Object >### `params` arr 当前区划树 >### `params` field 需要匹配的字段名称 >### `params` key 需要匹配的字段值 ```js let arr = [ { key:1, value:'a', children:[ { key:2, value: 'b' }, { key:3, value: 'c' } ] } ] this.BaseUtil.getFirstObjInTreeByKey(arr, 'key', 2) // return { key:1, value:'a', children:[ { key:2, value: 'b' } ] } ``` ## 根据key获取tree数组 ==getArrInTreeByKey(arr, field, key, childName)== >### `return` Array >### `params` arr 当前区划树 >### `params` field 需要匹配的字段名称 >### `params` key 需要匹配的字段值 >### `params` childName children的名称,默认为‘children’ ```js let arr = [ { key:1, value:'a', children:[ { key:'23', value: 'b' }, { key: '233', value: 'c' } ] } ] this.BaseUtil.getLastInTree(arr, 'key', '23') // return [{ key: '23', value: 'b' },{ key: '233', value: 'c' }] ``` ## 根据树形数据计算出深度 ==getTreeDeep(treeData)== >### `return` Number >### `params` arr 当前区划树 ```js let arr = [ { key:1, value:'a', children:[ { key:'23', value: 'b' }, { key: '233', value: 'c' } ] } ] this.BaseUtil.getTreeDeep(arr) // return 2 ```