From 9cc9e268ede8088f15e14fc2129720c3ed6e458b Mon Sep 17 00:00:00 2001 From: qiaochuLei <124648559+qiaochuLei@users.noreply.github.com> Date: Sat, 25 Nov 2023 14:02:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=AC=AC=E4=B8=89=E6=96=B9=E9=9B=86?= =?UTF-8?q?=E6=88=90=E6=96=B0=E5=A2=9E=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: 第三方集成新增菜单 --- src/api/system/menu.ts | 2 - .../components/StationMessage/index.vue | 12 +- .../system/Apply/componenets/ThirdMenu.vue | 554 ++++++++++++++---- .../system/Department/components/LeftTree.vue | 3 +- src/views/system/Menu/Detail/BasicInfo.vue | 42 +- src/views/system/Menu/index.vue | 2 +- src/views/system/Relationship/index.vue | 1 + 7 files changed, 447 insertions(+), 169 deletions(-) diff --git a/src/api/system/menu.ts b/src/api/system/menu.ts index 30165eb7..774211a7 100644 --- a/src/api/system/menu.ts +++ b/src/api/system/menu.ts @@ -21,5 +21,3 @@ export const saveMenuInfo_api = (data: object) => server.patch(`/menu`, data); export const addMenuInfo_api = (data: object) => server.post(`/menu`, data); // 删除菜单信息 export const delMenuInfo_api = (id: string) => server.remove(`/menu/${id}`); -//查询集成菜单 -export const queryApp = (data:any) => server.post('/application/_query/no-paging',data) \ No newline at end of file diff --git a/src/views/account/Center/components/StationMessage/index.vue b/src/views/account/Center/components/StationMessage/index.vue index 8e7a789b..b93cc0ed 100644 --- a/src/views/account/Center/components/StationMessage/index.vue +++ b/src/views/account/Center/components/StationMessage/index.vue @@ -60,7 +60,6 @@ const queryTypeList = () => { if (!user.other.tabKey) { user.other.tabKey = arr?.[0]?.provider; } - tabs.value = arr; } }); @@ -70,6 +69,17 @@ watchEffect(() => { if (router.params.value?.other?.tabKey) { user.other.tabKey = router.params.value?.other?.tabKey } + if(router.params?.value.row){ + if(['device-transparent-codec'].includes(router.params?.value.row.topicProvider)){ + user.other.tabKey = 'system-business' + } + if(['system-event'].includes(router.params?.value.row.topicProvider)){ + user.other.tabKey = 'system-monitor' + } + if(['workflow-task-cc','workflow-task-todo','workflow-task-reject', 'workflow-process-finish', 'workflow-process-repealed','workflow-task-transfer-todo'].includes(router.params?.value.row.topicProvider)){ + user.other.tabKey = 'workflow-notification' + } + } }); onMounted(() => { diff --git a/src/views/system/Apply/componenets/ThirdMenu.vue b/src/views/system/Apply/componenets/ThirdMenu.vue index 31993ef6..803148f7 100644 --- a/src/views/system/Apply/componenets/ThirdMenu.vue +++ b/src/views/system/Apply/componenets/ThirdMenu.vue @@ -1,150 +1,458 @@ - - diff --git a/src/views/system/Department/components/LeftTree.vue b/src/views/system/Department/components/LeftTree.vue index daa6d35e..1584e916 100644 --- a/src/views/system/Department/components/LeftTree.vue +++ b/src/views/system/Department/components/LeftTree.vue @@ -255,7 +255,6 @@ init(); width: 100%; } } - :deep(.ant-tree-treenode) { width: 100%; .ant-tree-node-content-wrapper { @@ -278,7 +277,7 @@ init(); flex: 1 1 auto; .department-tree-item-content { display: flex; - align-items: center; + align-items: stretch; .title { flex: 1; diff --git a/src/views/system/Menu/Detail/BasicInfo.vue b/src/views/system/Menu/Detail/BasicInfo.vue index 74797a06..3c8623fe 100644 --- a/src/views/system/Menu/Detail/BasicInfo.vue +++ b/src/views/system/Menu/Detail/BasicInfo.vue @@ -83,12 +83,6 @@ style="width: 100%" /> - - - - - @@ -98,7 +92,7 @@ -
+

权限配置

@@ -172,12 +166,11 @@ import { saveMenuInfo_api, addMenuInfo_api, validCode_api, - queryApp } from '@/api/system/menu'; import { Rule } from 'ant-design-vue/lib/form'; import { isNoCommunity } from '@/utils/utils'; import { onlyMessage } from '@/utils/comm'; -import { applicationInfo } from '@/api/bind'; + const permission = 'system/Menu'; // 路由 @@ -189,7 +182,6 @@ const routeParams = { url: route.query.basePath, parentId: route.query.pid, }; -const isChildren = route.query?.isChildren // 表单 const basicFormRef = ref(); const permissFormRef = ref(); @@ -207,8 +199,6 @@ const form = reactive({ accessSupport: 'unsupported', assetType: undefined, indirectMenus: [], - appId: '', - application:'', ...routeParams, } as formType, treeData: [], // 关联菜单 @@ -290,9 +280,6 @@ const form = reactive({ : '间接控制', }, }; - if(params?.isChildren){ - delete params.isChildren - } api(params) .then((resp: any) => { if (resp.status === 200) { @@ -320,32 +307,9 @@ const choseIcon = (typeStr: string) => { form.data.icon = typeStr; uploadIcon.value?.clearValidate(); } - -const selectApp = (value:string,options:any) =>{ - form.data.application = options?.label -} // 弹窗 const dialogVisible = ref(false); -onMounted(() => { - queryApp({ - terms: [ - { - "column": "integrationModes", - "termType": "in$any", - "value": "page" - } - ], - paging: false - }).then((res:any)=>{ - appOptions.value = res.result?.map((i:any)=>{ - return { - label:i.name, - value:i.id - } - }) - }) -}) type formType = { id?: string; name: string; @@ -359,8 +323,6 @@ type formType = { assetType: string | undefined; indirectMenus: any[]; parentId?: string; - appId:string, - application:string }; type assetType = { diff --git a/src/views/system/Menu/index.vue b/src/views/system/Menu/index.vue index 39e67de4..c744ffd2 100644 --- a/src/views/system/Menu/index.vue +++ b/src/views/system/Menu/index.vue @@ -239,7 +239,7 @@ const table = reactive({ router.push( `/system/Menu/detail/:id?pid=${row.id}&basePath=${ row.url || '' - }&sortIndex=${sortIndex + 1}&isChildren=${true}`, + }&sortIndex=${sortIndex + 1}`, ); }, diff --git a/src/views/system/Relationship/index.vue b/src/views/system/Relationship/index.vue index 78d5de64..7184bab3 100644 --- a/src/views/system/Relationship/index.vue +++ b/src/views/system/Relationship/index.vue @@ -107,6 +107,7 @@ const columns = [ ellipsis: true, fixed: 'left', search: { + rename:'objectType', type: 'select', options: async () =>{ const res:any = await getObjectList_api()