import Vue from 'vue' import store from '../store' const vm = new Vue() // 日期格式化 export function parseTime(time,pattern) { if (arguments.length === 0 || !time) { return null } const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}' let date if (typeof time === 'object') { date = time } else { if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) { time = parseInt(time) } else if (typeof time === 'string') { time = time.replace(new RegExp(/-/gm), '/'); } if ((typeof time === 'number') && (time.toString().length === 10)) { time = time * 1000 } date = new Date(time) } const formatObj = { y: date.getFullYear(), m: date.getMonth() + 1, d: date.getDate(), h: date.getHours(), i: date.getMinutes(), s: date.getSeconds(), a: date.getDay() } const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { let value = formatObj[key] if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] } if (result.length > 0 && value < 10) { value = '0' + value } return value || 0 }) return time_str } //element confirm重新封装 export function confirm(param) { // 默认参数 let config = { tip: '提示', content: '你确定要执行此操作么吗?', btn: { confirm: '确定', cancel: '取消', }, type: 'warning' } // 如果有参数传入并且长度大于0 则替换原来的指定默认配置 if (param && Object.keys(param).length) { for (let item in param) { config[item] = param[item] } } return new Promise((resolve) => { vm.$confirm(config.content, config.tip, { confirmButtonText: config.btn.confirm, cancelButtonText: config.btn.cancel, type: config.type, dangerouslyUseHTMLString: true }).then(() => { resolve() }).catch(() => { //vm.$message({ type: 'info', message: '已取消' }) }) }) } //获取复选框 下拉多选的键名 根据值 export function formatStr(val,data){ if(val){ const fieldConfig = typeof(data)=='string' ? JSON.parse(data) : data let str = '' val.split(",").forEach(item => { fieldConfig.forEach(vo=>{ if(item == vo.val){ str += ',' +vo.key } }) }) return str.substr(1) } } //json对象转为url参数 export function param(json) { if (!json) return '' return cleanArray( Object.keys(json).map(key => { if (json[key] === undefined) return '' return encodeURIComponent(key) + '=' + encodeURIComponent(json[key]) }) ).join('&') } export function cleanArray(actual) { const newArray = [] for (let i = 0; i < actual.length; i++) { if (actual[i]) { newArray.push(actual[i]) } } return newArray } export function param2Obj(url) { const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ') if (!search) { return {} } const obj = {} const searchArr = search.split('&') searchArr.forEach(v => { const index = v.indexOf('=') if (index !== -1) { const name = v.substring(0, index) const val = v.substring(index + 1, v.length) obj[name] = val } }) return obj } export function checkPermission(url){ if(store.getters.role_id == 1 || store.getters.actions.includes(url)){ return true } }