enc-framework
Version:
enc-framework 核心组件.
56 lines (47 loc) • 1.76 kB
JavaScript
import $ from 'jquery'
const install = function(Vue,store){
Vue.directive("permission-code", {
//钩子函数 ,el就是当前元素
bind(el, binding) {
let code = binding.expression;
let buttonCodes = store.getters.buttonCodes;
code = code.replace(/'/g, '');
if($.inArray(code, buttonCodes) === -1){
var cls = 'ajm-btn-style';
el.className = el.className == '' ? cls : el.className + ' ' + cls;
el.disabled = true;
}
}
});
Vue.directive("permission-url", {
//钩子函数 ,el就是当前元素
bind(el, binding) {
let url = binding.expression;
let permissionUrls = store.getters.permissions;
url = url.replace(/'/g, '');
// let menuUrls = [];
let hasPermission = false;
for (var i = 0; i < permissionUrls.length; i++) {
let permissionUrl = permissionUrls[i];
// menuUrls.push(buttonUrl.path);
if(permissionUrl.path == url){
hasPermission = true;
}
}
if(!hasPermission){
var cls = 'ajm-btn-style';
el.className = el.className == '' ? cls : el.className + ' ' + cls;
el.disabled = true;
}
/*url = url.replace(/'/g, '');
if($.inArray(url, menuUrls) === -1){
var cls = 'ajm-btn-style';
el.className = el.className == '' ? cls : el.className + ' ' + cls;
el.disabled = true;
}*/
}
});
}
export default {
install
}