[improvement][semantic-fe] Optimizing the logic for setting dimension values and editing data sources, and adding system settings functionality (#383)

* [improvement][semantic-fe] Add model alias setting & Add view permission restrictions to the model permission management tab.
[improvement][semantic-fe] Add permission control to the action buttons for the main domain; apply high sensitivity filtering to the authorization of metrics/dimensions.
[improvement][semantic-fe] Optimize the editing mode in the dimension/metric/datasource components to use the modelId stored in the database for data, instead of relying on the data from the state manager.

* [improvement][semantic-fe] Add time granularity setting in the data source configuration.

* [improvement][semantic-fe] Dictionary import for dimension values supported in Q&A visibility

* [improvement][semantic-fe] Modification of data source creation prompt wording"

* [improvement][semantic-fe] metric market experience optimization

* [improvement][semantic-fe] enhance the analysis of metric trends

* [improvement][semantic-fe] optimize the presentation of metric trend permissions

* [improvement][semantic-fe] add metric trend download functionality

* [improvement][semantic-fe] fix the dimension initialization issue in metric correlation

* [improvement][semantic-fe] Fix the issue of database changes not taking effect when creating based on an SQL data source.

* [improvement][semantic-fe] Optimizing pagination logic and some CSS styles

* [improvement][semantic-fe] Fixing the API for the indicator list by changing "current" to "pageNum"

* [improvement][semantic-fe] Fixing the default value setting for the indicator list

* [improvement][semantic-fe] Adding batch operations for indicators/dimensions/models

* [improvement][semantic-fe] Replacing the single status update API for indicators/dimensions with a batch update API

* [improvement][semantic-fe] Redesigning the indicator homepage to incorporate trend charts and table functionality for indicators

* [improvement][semantic-fe] Optimizing the logic for setting dimension values and editing data sources, and adding system settings functionality
This commit is contained in:
tristanliu
2023-11-14 06:01:23 -06:00
committed by GitHub
parent d4374f7074
commit 400d8b34fd
35 changed files with 1075 additions and 946 deletions

View File

@@ -1,6 +1,7 @@
import { Space } from 'antd';
import { ReactNode } from 'react';
export interface IProps {
title: string;
title: string | ReactNode;
subTitle?: string;
}

View File

@@ -1,8 +1,9 @@
import { Space } from 'antd';
import React from 'react';
import { useModel } from 'umi';
import React, { useEffect, useState } from 'react';
import { useModel, history } from 'umi';
import Avatar from './AvatarDropdown';
import { SettingOutlined } from '@ant-design/icons';
import { getSystemConfig } from '@/services/user';
import styles from './index.less';
import cx from 'classnames';
@@ -10,14 +11,29 @@ export type SiderTheme = 'light' | 'dark';
const GlobalHeaderRight: React.FC = () => {
const { initialState } = useModel('@@initialState');
const [hasSettingPermisson, setHasSettingPermisson] = useState<boolean>(false);
useEffect(() => {
querySystemConfig();
}, []);
if (!initialState || !initialState.settings) {
return null;
}
const { currentUser = {} } = initialState as any;
const { navTheme, layout } = initialState.settings;
const { layout } = initialState.settings;
let className = styles.right;
const querySystemConfig = async () => {
const { code, data } = await getSystemConfig();
if (code === 200) {
const { admins } = data;
if (admins.includes(currentUser?.staffName)) {
setHasSettingPermisson(true);
}
}
};
if (layout === 'top' || layout === 'mix') {
className = cx(styles.right, styles.dark);
}
@@ -25,8 +41,19 @@ const GlobalHeaderRight: React.FC = () => {
function handleLogin() {}
return (
<Space className={className}>
<Space className={className} style={{ marginRight: -8 }}>
<Avatar onClickLogin={handleLogin} />
{hasSettingPermisson && (
<span
className={styles.action}
style={{ padding: 20 }}
onClick={() => {
history.push(`/system`);
}}
>
<SettingOutlined />
</span>
)}
</Space>
);
};