Files
gjt_mini/utils/permission.js
2025-12-30 09:44:46 +08:00

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;
};