From b5f640c28817ade853359e18bd35d7f70b0d5792 Mon Sep 17 00:00:00 2001 From: GAOANG <1140589958@qq.com> Date: Fri, 26 Apr 2024 14:30:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A1=A8=E5=8D=95=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E4=BF=AE=E6=94=B9=E4=B8=BA=E4=BC=A0=E5=85=A5?= =?UTF-8?q?menuid=E6=9F=A5=E8=AF=A2=E6=98=AF=E5=90=A6=E6=9C=89=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/helper/generatorHelper.ts | 9 +++------ src/views/secondDev/formCreatePage.vue | 19 +++++++++++++++++-- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/utils/helper/generatorHelper.ts b/src/utils/helper/generatorHelper.ts index 1c13d65..e31555f 100644 --- a/src/utils/helper/generatorHelper.ts +++ b/src/utils/helper/generatorHelper.ts @@ -841,6 +841,7 @@ ${hasTemplatePrint ? ' reactive ' : ''} formIdComputedRef.value = currentRoute.value.meta.formId const schemaIdComputedRef = ref(); schemaIdComputedRef.value = currentRoute.value.meta.schemaId + const menuId = currentRoute.value.meta.menuId; ${ hasStartWorkButton @@ -1019,15 +1020,11 @@ ${hasTemplatePrint ? ' reactive ' : ''} path: '/form/${lowerClassName}/' + record.id + '/viewForm', query: { formPath: '${model.outputConfig.outputValue}/${lowerClassName}', - canEdit: canEdit() + menuId: menuId } }); } } - // 判断是否显示编辑按钮编辑 - function canEdit() { - return filterButtonAuth([{"code":"view"}]).length - } function buttonClick(code) { ${ @@ -1353,7 +1350,7 @@ ${hasTemplatePrint ? ' reactive ' : ''} path: '/form/${lowerClassName}/' + record.id + '/viewForm', query: { formPath: '${model.outputConfig.outputValue}/${lowerClassName}', - canEdit: canEdit() + menuId: menuId } });` : ` diff --git a/src/views/secondDev/formCreatePage.vue b/src/views/secondDev/formCreatePage.vue index d623f02..a10ab4d 100644 --- a/src/views/secondDev/formCreatePage.vue +++ b/src/views/secondDev/formCreatePage.vue @@ -36,6 +36,7 @@ import { CheckCircleOutlined, StopOutlined, CloseOutlined, EditOutlined } from ' import { useMultipleTabStore } from '/@/store/modules/multipleTab'; import useEventBus from '/@/hooks/event/useEventBus'; import { edit } from '../generator/order/api'; +import { usePermissionStore } from '/@/store/modules/permission'; const dynamicComponent = ref(null); const formType = ref('2'); // 0 新建 1 修改 2 查看 const formRef = ref(); @@ -45,13 +46,14 @@ const { bus, FORM_LIST_MODIFIED } = useEventBus(); const router = useRouter(); const { currentRoute } = router; -const { formPath, canEdit } = currentRoute.value.query; -const showEdit = ref(canEdit === '0' ? false : true) +const { formPath, menuId } = currentRoute.value.query; +const permissionStore = usePermissionStore(); const pathArr = formPath.split('/'); const tabStore = useMultipleTabStore(); const formProps = ref(null); const formId = ref(currentRoute.value?.params?.id); +const showEdit = ref(editButtonAuth()) const { notification } = useMessage(); const { t } = useI18n(); @@ -68,6 +70,19 @@ if (hash.indexOf('createForm') > 0) { dynamicComponent.value = defineAsyncComponent({ loader: () => import(`./../../views/${pathArr[0]}/${pathArr[1]}/components/Form.vue`) }); +function editButtonAuth() { + const perm = permissionStore.getPermCodeList.find((x) => x.menuId === menuId); + let buttonAuth = perm?.buttonAuthCode || []; + if (!buttonAuth || buttonAuth?.length === 0) { + return []; + } + buttonAuth = buttonAuth.map((x) => { + const btnList = x.split(':'); + btnList.shift(); + return btnList.join(''); + }); + return buttonAuth.includes('edit'); +} function editForm() { mode.value = 'update'