75 lines
1.4 KiB
JavaScript
75 lines
1.4 KiB
JavaScript
import store from "@/store";
|
|
|
|
/**
|
|
* @param {Array} value
|
|
* @returns {Boolean}
|
|
* @example see @/views/permission/directive.vue
|
|
*/
|
|
export const checkButtonPermission = (buttonCode, pageCode) => {
|
|
console.log(store);
|
|
let resources = store.state.resources;
|
|
//console.log(resources);
|
|
if (!resources) {
|
|
return false;
|
|
}
|
|
if (!pageCode) {
|
|
return false;
|
|
}
|
|
|
|
if (!buttonCode) {
|
|
return false;
|
|
}
|
|
|
|
let pages = resources.filter(
|
|
(item) => item.code == pageCode && item.type == 0
|
|
);
|
|
if (!pages) {
|
|
return false;
|
|
}
|
|
|
|
let buttons = [];
|
|
for (let key in pages) {
|
|
buttons = resources.filter(
|
|
(item) =>
|
|
item.type == 1 && item.code == buttonCode && item.pid == pages[key].id
|
|
);
|
|
if (buttons.length > 0) {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
};
|
|
|
|
export const checkPagePermission = (pageCode) => {
|
|
let resources = store.state.resources;
|
|
//console.log(resources);
|
|
if (!Array.isArray(resources)) {
|
|
resources = [];
|
|
}
|
|
|
|
if (!pageCode) {
|
|
return false;
|
|
}
|
|
let pages = resources.filter(
|
|
(item) => item.code == pageCode && item.type == 0
|
|
);
|
|
if (pages.length < 1) {
|
|
return false;
|
|
}
|
|
|
|
if (
|
|
[
|
|
"truckOptBI",
|
|
"hydrogenBill",
|
|
"dailyHydrogenOrderBI",
|
|
"weappMileageBi",
|
|
"bi_ele_daily_summary",
|
|
].includes(pages[0].code)
|
|
) {
|
|
return pages[0].link;
|
|
}
|
|
|
|
return true;
|
|
};
|