123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324 |
- import Cookies from 'js-cookie'
- import store from '@/store'
- import {
- JSEncrypt
- } from 'jsencrypt'
- const publicKey = hexToDec();
- const TokenKey = 'Admin-Token'
- const CourseTokenKey = 'Course-Token'
- const CourseId = 'Course-Id'
- const USER = 'user'
- const PASW = 'pasw'
- // 提示跳转
- export function openUrl(num) {
- let url = 'http://www.baidu.com';
- if (num == 1) {
- url = 'https://www.yuque.com/docs/share/4551830c-25c8-44ae-8130-368c88bac624?# 《A分、B分常见问题》'
- } else if (num == 2) {
- url = 'https://www.yuque.com/docs/share/2300b9bb-84ab-48ae-afd9-a19da38147ba?# 《如何设置自动积分?》'
- } else if (num == 3) {
- url = 'https://www.yuque.com/docs/share/4cb21924-c9ee-4a4d-91f4-58db8be9547b?# 《基础分、工龄分是什么?》'
- } else if (num == 4) {
- url = 'https://www.yuque.com/docs/share/971c4cd7-5498-4fd6-a97c-ef08d62079c1?# 《系统配置》'
- } else if (num == 5) {
- url = 'https://www.yuque.com/docs/share/4551830c-25c8-44ae-8130-368c88bac624?# 《A分、B分常见问题》'
- } else if (num == 6) {
- url = 'https://www.yuque.com/docs/share/8cae70cf-3961-4e91-848d-d903f0323004?# 《如何邀请员工注册并加入企业?》'
- } else if (num == 7) {
- url = 'https://www.yuque.com/docs/share/8f7a1871-a886-48f7-9745-fd2ad13cbbcc?# 《角色权限操作说明(视频)》'
- } else if (num == 8) {
- url = 'https://www.yuque.com/docs/share/bd17afd5-8381-467d-ab65-a10661c73388?# 《积分权限是什么?有什么用?》'
- } else if (num == 9) {
- url = 'https://www.yuque.com/docs/share/2ef16237-4bc3-4ab8-8195-bc506098c0d5?# 《什么是每月奖扣目标,有什么用?》'
- } else if (num == 10) {
- url = 'https://www.yuque.com/docs/share/e8c6c82d-0f9f-4663-ada5-95dbd46ab1db?# 《审批流程说明》'
- } else if (num == 11) {
- url = 'https://www.yuque.com/docs/share/155191a9-fab6-447f-a7da-099506b322e6?# 《第一步:班次管理》'
- } else if (num == 12) {
- url = 'https://www.yuque.com/docs/share/6e16186a-21a1-4f26-bd76-0967cfbcff85?# 《第二步:创建加班规则》'
- } else if (num == 13) {
- url = 'https://www.yuque.com/docs/share/86a48ef0-5b91-416b-8bb4-b51248bab89b?# 《第三步:创建考勤组》'
- } else if (num == 14) {
- url = 'https://www.yuque.com/docs/share/6c233543-b04e-442b-8629-622b41465c56?# 《第四步:创建假期类型》'
- } else if (num == 15) {
- url = 'https://www.yuque.com/docs/share/44aa8b5b-ef80-420b-8fd2-6902a08179ae?# 《自定义B分的使用场景有哪些?》'
- } else if (num == 16) {
- url = 'https://www.yuque.com/docs/share/a3c8a68c-6706-4dbf-9cad-8886a8c904ff?# 《积分规则常见问题》'
- } else if (num == 17) {
- url = 'https://www.yuque.com/docs/share/4551830c-25c8-44ae-8130-368c88bac624?# 《A分、B分常见问题》'
- } else if (num == 18) {
- url = 'https://www.yuque.com/docs/share/2ef16237-4bc3-4ab8-8195-bc506098c0d5?# 《什么是每月奖扣目标,如何使用?》'
- } else if (num == 19) {
- url = 'https://www.yuque.com/docs/share/97a89371-71c4-42c0-b01e-4c51b746ffe0?# 《什么是重复任务》'
- }
- window.open(url, '_blank');
- }
- // 获取唯一标识(uid)
- export function generateUUID() {
- var d = new Date().getTime();
- var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
- var r = (d + Math.random() * 16) % 16 | 0;
- d = Math.floor(d / 16);
- return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
- });
- return uuid;
- };
- // 清楚本地缓存
- export function resetStorage(){
- localStorage.removeItem('userInfo')
- localStorage.removeItem('accountToken')
- localStorage.removeItem('SET_POINT_TYPES')
- localStorage.removeItem('SET_EMPLOYEE_MAP_ALL')
- localStorage.removeItem('site_info')
- localStorage.removeItem('dept_tree')
- localStorage.removeItem('account_info')
- localStorage.removeItem('SET_EMPLOYEE_MAP')
- localStorage.removeItem('dept_tree_pin')
- localStorage.removeItem('login_code')
- localStorage.removeItem('loglevel:webpack-dev-server')
- sessionStorage.clear()
- removeAllToken()
- }
- //将部门链接在一起
- export function returnDeptName(arr) {
- let data = arr.map(item => {
- let str = '';
- item.dept_list.forEach((e, index) => {
- if (item.dept_list.length - index > 1) {
- str += e.dept_name + ','
- } else {
- str += e.dept_name
- }
- })
- item.deptName = str
- return item
- })
- return data
- }
- function hexToDec() {
- let str =
- 'LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlHZk1BMEdDU3FHU0liM0RRRUJBUVVBQTRHTkFEQ0JpUUtCZ1FEWjFVUnZMODRUWG9LTUFXMng2UDZ4WHplZQpXaUxINVljSFJGZ3YwZzBmSVVtTG02UDZ1Z2s1WXpHSkhrSkxvWFlvYmt4SHJXV1FBRjhuZmRnTDVMYmYzMGJ3CjlITVJ1REJXV2w4S3NFYTdwTVllZ2NsY1dncVJwOXBMZVMzQzhXQlI1NmxsNTM4TDF0MkJWZEh5U1pvUnFGRE8KZmJqTitKN0xnWUl6S2NVZGJ3SURBUUFCCi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo='
- str = atob(str);
- return str;
- }
- export function returnJSEncrypt(data, is = true) {
- let jsencrypt = new JSEncrypt()
- jsencrypt.setPublicKey(publicKey)
- if (is) {
- data.st = Date.parse(new Date());
- }
- let s = JSON.stringify(data);
- let arr = [];
- if (s.length > 50) {
- let reg = /.{50}/g;
- let rs = s.match(reg);
- rs.push(s.substring(rs.join('').length));
- rs.forEach(item => {
- arr.push(jsencrypt.encrypt(item));
- })
- } else {
- arr[0] = jsencrypt.encrypt(s)
- }
- return arr
- }
- // 获取缓存
- export function getCache(key) {
- return JSON.parse(localStorage.getItem(key))
- }
- export function getLocal(key) {
- return localStorage.getItem(key)
- }
- // 设置缓存
- export function setCache(key, data) {
- localStorage.setItem(key, JSON.stringify(data))
- }
- // 清除缓存
- export function removeCache(key) {
- if (typeof (key) === 'string') {
- localStorage.removeItem(key)
- } else {
- if (key.length > 0) {
- key.forEach(item => {
- localStorage.removeItem(item)
- })
- }
- }
- }
- //获取平级的部门
- export function getDept(id) {
- if (id) {
- let map = getCache('dept_tree_pin')[id];
- return map || {}
- } else {
- return getCache('dept_tree_pin')
- }
- }
- // 获取用户列表
- export function getEmployeeMap(status) {
- if (status) {
- let map = getCache('SET_EMPLOYEE_MAP');
- map = Object.values(map).filter(item => {
- return item.status == 1
- })
- return map
- } else {
- return getCache('SET_EMPLOYEE_MAP')
- }
- }
- // 获取用户列表
- export function getEmployeeMapAll() {
- return JSON.parse(localStorage.getItem('SET_EMPLOYEE_MAP_ALL'))
- }
- export function getEmployeeMapItem(id) {
- let map = JSON.parse(localStorage.getItem('SET_EMPLOYEE_MAP_ALL'))
- if (map[id]) {
- return map[id]
- } else {
- return {}
- }
- }
- // 获取积分类型
- export function getTyps(id) {
- if (id) {
- var arr = getCache('SET_POINT_TYPES')
- var item = arr.filter(element => {
- return typeof (id) === 'string' ? element.code == id : element.id == id
- })
- return item[0]
- } else {
- var arr = getCache('SET_POINT_TYPES')
- return arr.filter(function (item) {
- return item.code != 'JX';
- });
- }
- }
- // 获取积分类型名称
- export function getTypsName(id) {
- return getTyps(id).name
- }
- // 获取当前用户详情
- export function getUserData() {
- return store.getters.user_info || getCache('userInfo')
- }
- // 获取当前课程用户详情
- export function getCourseUserData() {
- return store.getters.course_user_info || getCache('courseUserData')
- }
- //是否平台管理或者平台创始人
- export function getIsAdministrator() {
- var userInfo = getUserData();
- return userInfo.is_site_owner || userInfo.is_site_manager
- }
- function returnRole(str) {
- return supremeAuthority() == str
- }
- //判断是否具有权限
- export function getIsIdentity(key) {
- let is = false
- var roleList = getUserData().employee_detail.role_list
- roleList.forEach(item => {
- if (key == item.name) {
- is = true
- }
- })
- return is
- }
- // 返回高权限 str最高权限是否匹配 id指定人员最高权限
- export function supremeAuthority(str, id) {
- if (str) {
- return returnRole(str)
- } else if (id) {
- const roleList = getEmployeeMapItem(id).employee_detail.role_list
- const roleAll = ['creator', 'admin', 'point_manager', 'dept_manager', 'employee']
- const userRole = roleList.map(e => e.name)
- let roleStr = ''
- roleAll.some(item => {
- if (userRole.indexOf(item) >= 0) {
- roleStr = item
- return true
- }
- })
- return roleStr
- } else {
- if (getIsIdentity('creator')) {
- return 'creator'
- } else if (getIsIdentity('admin')) {
- return 'admin'
- } else if (getIsIdentity('point_manager')) {
- return 'point_manager'
- } else if (getIsIdentity('dept_manager')) {
- return 'dept_manager'
- } else if (getIsIdentity('employee')) {
- return 'employee'
- }
- }
- }
- // 防抖
- // _debounce(this.XXX(),1000)
- export function _debounce(fn, delay = 500) {
- let timer = null
- return function () {
- const arg = arguments
- clearTimeout(timer)
- timer = setTimeout(() => {
- fn.apply(this, arg)
- }, delay)
- }
- }
- export function setToken(token) {
- return Cookies.set(TokenKey, token)
- }
- export function getToken() {
- return Cookies.get(TokenKey)
- }
- export function setCourseToken(token) {
- return Cookies.set(CourseTokenKey, token)
- }
- export function getCourseToken() {
- return Cookies.get(CourseTokenKey)
- }
- export function setCourseId(id) {
- return Cookies.set(CourseId, id)
- }
- export function getCourseId() {
- return localStorage.getItem('Course-Id')
- // return Cookies.get(CourseId)
- }
- export function getUser() {
- return Cookies.get(USER)
- }
- export function getPasw() {
- return Cookies.get(PASW)
- }
- export function setUser(value) {
- return Cookies.set('user', value, {
- expires: 365
- })
- }
- export function setPasw(value) {
- return Cookies.set('pasw', value, {
- expires: 365
- })
- }
- export function removeAllToken() {
- Cookies.remove('user')
- Cookies.remove('pasw')
- Cookies.remove(TokenKey)
- Cookies.remove(CourseTokenKey)
- Cookies.remove(CourseId)
- return true
- }
|