|
|
@@ -18,6 +18,12 @@
|
|
|
</template>
|
|
|
<span>首页</span>
|
|
|
</a-menu-item>
|
|
|
+ <a-menu-item key="approval" style="padding-left: 20px !important;" @click="goApproval">
|
|
|
+ <template #icon>
|
|
|
+ <AuditOutlined />
|
|
|
+ </template>
|
|
|
+ <span>OA审批</span>
|
|
|
+ </a-menu-item>
|
|
|
|
|
|
<template v-for="rootNode in filteredMenu" :key="rootNode.key">
|
|
|
<a-sub-menu :title="Language.getMenuNameTrl($i18n.locale, rootNode)">
|
|
|
@@ -34,14 +40,15 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { ref, computed, watch, onMounted, defineProps } from 'vue';
|
|
|
-import { HomeOutlined } from '@ant-design/icons-vue';
|
|
|
+import { ref, computed, watch, onMounted, nextTick, defineProps } from 'vue';
|
|
|
+import { HomeOutlined, AuditOutlined } from '@ant-design/icons-vue';
|
|
|
import Common from '../common/Common.js';
|
|
|
import Language from '../common/Language.js';
|
|
|
import MenuNode from './MenuNode.vue';
|
|
|
import { useRoleStateSingleton } from './RoleState.js';
|
|
|
import { Uuid } from 'pc-component-v3';
|
|
|
import { useRouter } from 'vue-router';
|
|
|
+import { menuClickedEvent } from '../common/eventBus.js';
|
|
|
|
|
|
const props = defineProps({
|
|
|
width: {
|
|
|
@@ -191,6 +198,24 @@ const goHome = () => {
|
|
|
router.push('/desktop/dashboard');
|
|
|
};
|
|
|
|
|
|
+// 跳转OA审批
|
|
|
+const goApproval = () => {
|
|
|
+ const menuInfo = {
|
|
|
+ title: 'OA审批',
|
|
|
+ menuNodeType: 'STATIC',
|
|
|
+ no: 'approval',
|
|
|
+ };
|
|
|
+ router.push('/desktop/formCenter');
|
|
|
+ nextTick(() => {
|
|
|
+ setTimeout(() => {
|
|
|
+ menuClickedEvent.value = {
|
|
|
+ path: router.currentRoute.value.fullPath,
|
|
|
+ menuInfo,
|
|
|
+ };
|
|
|
+ }, 50);
|
|
|
+ });
|
|
|
+};
|
|
|
+
|
|
|
// 监听角色状态变化
|
|
|
watch(() => roleStateInstance.value.userRoleOrTemplate, (newVal, oldVal) => {
|
|
|
if(newVal || newVal === null) loadMenuData();
|