You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
2.4 KiB

export default {
inserted(columnData, permissionList, menuId) {
let btnsList = columnData.btnsList
let customBtnsList = columnData.customBtnsList
let columnBtnsList = columnData.columnBtnsList
const useBtnPermission = columnData.useBtnPermission
const useColumnPermission = columnData.useColumnPermission
const useFormPermission = columnData.useFormPermission
const useBtnPermissionList = [...btnsList, ...columnBtnsList]
let newArr = [];
let columnBtnsNewList = [];
let columnList = [];
let formList = [];
let currentMenu = {}
let btn_list = ['detail', 'edit', 'add', 'remove']
let labelS = {}
useBtnPermissionList.map((o) => {
if (btn_list.includes(o.value)) {
labelS['btn_' + o.value] = o.label
}
})
let handle = {}
let isMenu = permissionList.filter((o) => {
if (o.modelId === menuId) {
return currentMenu = o
}
})
if (useBtnPermission) {
if (customBtnsList && customBtnsList.length) {
for (let i = 0; i < customBtnsList.length; i++) {
inner: for (let j = 0; j < currentMenu.button.length; j++) {
if (customBtnsList[i].value === currentMenu.button[j].enCode) {
columnBtnsNewList.push(customBtnsList[i])
break inner
}
}
}
}
if (!!isMenu.length) {
for (let i = 0; i < useBtnPermissionList.length; i++) {
inner: for (let j = 0; j < currentMenu.button.length; j++) {
if ('btn_' + useBtnPermissionList[i].value === currentMenu.button[j].enCode) {
newArr.push(currentMenu.button[j].enCode)
break inner
}
}
}
}
} else {
for (let i = 0; i < useBtnPermissionList.length; i++) {
inner: for (let j = 0; j < btn_list.length; j++) {
if (useBtnPermissionList[i].value === btn_list[j]) {
newArr.push('btn_' + useBtnPermissionList[i].value)
break inner
}
}
}
columnBtnsNewList = customBtnsList
}
if (useColumnPermission) {
if (!!isMenu.length) {
columnData.columnList.forEach((o, i) => {
currentMenu.column.forEach((m, j) => {
if (o.prop === m.enCode) {
columnList.push(o)
}
})
})
}
} else {
columnList = columnData.columnList
}
if (useFormPermission) {
if (!!isMenu.length) {
formList = currentMenu.form
}
}
handle = {
labelS,
btnAllow: newArr,
customBtnsList: columnBtnsNewList,
columnAllow: columnList,
formAllow: {
formList,
useFormPermission,
menuId
}
}
return handle
}
}