diff --git a/frontend/public/images/MS-full-logo.svg b/frontend/public/images/MS-full-logo.svg
deleted file mode 100644
index e8482400db..0000000000
--- a/frontend/public/images/MS-full-logo.svg
+++ /dev/null
@@ -1,24 +0,0 @@
-
diff --git a/frontend/src/components/business/ms-case-associate/index.vue b/frontend/src/components/business/ms-case-associate/index.vue
index 20be7a9829..b7464a0cbb 100644
--- a/frontend/src/components/business/ms-case-associate/index.vue
+++ b/frontend/src/components/business/ms-case-associate/index.vue
@@ -11,7 +11,7 @@
-
+
+
@@ -191,7 +192,7 @@
};
});
- const activeFolder = ref('');
+ const activeFolder = ref('all');
const activeFolderName = ref(t('ms.case.associate.allCase'));
const filterRowCount = ref(0);
@@ -291,20 +292,20 @@
const keyword = ref('');
const version = ref('');
- const versionOptions = ref([
- {
- label: '全部',
- value: 'all',
- },
- {
- label: '版本1',
- value: '1',
- },
- {
- label: '版本2',
- value: '2',
- },
- ]);
+ // const versionOptions = ref([
+ // {
+ // label: '全部',
+ // value: 'all',
+ // },
+ // {
+ // label: '版本1',
+ // value: '1',
+ // },
+ // {
+ // label: '版本2',
+ // value: '2',
+ // },
+ // ]);
const columns: MsTableColumn = [
{
@@ -555,6 +556,13 @@
function cancel() {
innerVisible.value = false;
+ keyword.value = '';
+ version.value = '';
+ searchParams.value = {
+ moduleIds: [],
+ version: '',
+ };
+ activeFolder.value = 'all';
resetSelector();
emit('close');
}
@@ -567,6 +575,8 @@
initModules();
searchCase();
initFilter();
+ } else {
+ cancel();
}
}
);
@@ -590,7 +600,6 @@
searchCase();
resetSelector();
initModules();
- searchCase();
}
}
);
diff --git a/frontend/src/components/business/ms-menu/index.vue b/frontend/src/components/business/ms-menu/index.vue
index fbe1040da8..15757fd5c1 100644
--- a/frontend/src/components/business/ms-menu/index.vue
+++ b/frontend/src/components/business/ms-menu/index.vue
@@ -16,9 +16,12 @@
import { useAppStore, useUserStore } from '@/store';
import useLicenseStore from '@/store/modules/setting/license';
import { openWindow, regexUrl } from '@/utils';
+ import { scrollIntoView } from '@/utils/dom';
import { getFisrtRouterNameByCurrentRoute } from '@/utils/permission';
import { listenerRouteChange } from '@/utils/route-listener';
+ import { SettingRouteEnum } from '@/enums/routeEnum';
+
import useMenuTree from './use-menu-tree';
import type { RouteMeta } from 'vue-router';
@@ -126,6 +129,7 @@
const personalMenusVisible = ref(false);
const personalDrawerVisible = ref(false);
const switchOrgVisible = ref(false);
+ const menuSwitchOrgVisible = ref(false);
const orgKeyword = ref('');
const originOrgList = ref<{ id: string; name: string }[]>([]);
const orgList = computed(() => originOrgList.value.filter((e) => e.name.includes(orgKeyword.value)));
@@ -190,16 +194,19 @@
const copyPersonalMenus = ref(cloneDeep(personalMenus));
const licenseStore = useLicenseStore();
-
const xPack = computed(() => licenseStore.hasLicense());
+ const orgListLoading = ref(false);
async function getOrgList() {
try {
+ orgListLoading.value = true;
const res = await getOrgOptions();
originOrgList.value = res || [];
} catch (error) {
// eslint-disable-next-line no-console
console.log(error);
+ } finally {
+ orgListLoading.value = false;
}
}
@@ -208,7 +215,6 @@
async (val) => {
if (val) {
personalMenus.value = [...copyPersonalMenus.value];
- getOrgList();
} else {
personalMenus.value.splice(1, 1);
}
@@ -226,6 +232,82 @@
}
}
);
+
+ watchEffect(() => {
+ if (switchOrgVisible.value || menuSwitchOrgVisible.value) {
+ getOrgList();
+ nextTick(() => {
+ // 打开组织列表时,滚动到当前组织
+ const activeOrgDom = document.querySelector('.switch-org-dropdown-list')?.querySelector('.active-org');
+ if (activeOrgDom) {
+ scrollIntoView(activeOrgDom);
+ }
+ });
+ } else {
+ orgKeyword.value = '';
+ }
+ });
+
+ // 组织切换的 trigger
+ const orgTrigger = (e, visible: Ref, slot: (item) => VNode) => (
+
+ );
+ // 个人信息菜单
const personalInfoMenu = () => {
return (