[improvement][semantic-fe] Optimizing pagination logic and some CSS styles (#294)

* [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
This commit is contained in:
tristanliu
2023-10-26 04:41:19 -05:00
committed by GitHub
parent 38099c8cc7
commit a8fe575999
8 changed files with 31 additions and 58 deletions

View File

@@ -11,9 +11,9 @@
"build:inner": "cross-env REACT_APP_ENV=prod APP_TARGET=inner umi build",
"build:test": "cross-env REACT_APP_ENV=test umi build",
"deploy": "npm run site && npm run gh-pages",
"dev": "npm run start:osdev",
"dev:os": "npm run start:osdev",
"dev:inner": "npm run start:dev",
"dev": "NODE_OPTIONS=--openssl-legacy-provider npm run start:osdev",
"dev:os": "NODE_OPTIONS=--openssl-legacy-provider npm run start:osdev",
"dev:inner": "NODE_OPTIONS=--openssl-legacy-provider npm run start:dev",
"gh-pages": "gh-pages -d dist",
"i18n-remove": "pro i18n-remove --locale=zh-CN --write",
"postinstall": "umi g tmp",

View File

@@ -64,17 +64,21 @@ const ClassMetricTable: React.FC<Props> = ({ domainManger, dispatch }) => {
...pagination,
...params,
createdBy: params.onlyShowMe ? currentUser.name : null,
pageSize: params.showType ? 100 : defaultPagination.pageSize,
pageSize: params.showType ? 100 : params.pageSize || pagination.pageSize,
});
setLoading(false);
const { list, pageSize, current, total } = data || {};
const { list, pageSize, total } = data || {};
let resData: any = {};
if (code === 200) {
setPagination({
pageSize: Math.min(pageSize, 100),
current,
total,
});
if (!params.showType) {
setPagination({
...pagination,
pageSize: Math.min(pageSize, 100),
// current,
total,
});
}
setDataSource(list);
resData = {
data: list || [],
@@ -128,15 +132,6 @@ const ClassMetricTable: React.FC<Props> = ({ domainManger, dispatch }) => {
);
},
},
// {
// dataIndex: 'alias',
// title: '别名',
// search: false,
// },
// {
// dataIndex: 'bizName',
// title: '字段名称',
// },
{
dataIndex: 'modelName',
title: '所属模型',

View File

@@ -42,12 +42,12 @@ const ClassDimensionTable: React.FC<Props> = ({ domainManger, dispatch }) => {
...pagination,
modelId,
});
const { list, pageSize, current, total } = data || {};
const { list, pageSize, total } = data || {};
let resData: any = {};
if (code === 200) {
setPagination({
...pagination,
pageSize: Math.min(pageSize, 100),
current,
total,
});
@@ -101,7 +101,7 @@ const ClassDimensionTable: React.FC<Props> = ({ domainManger, dispatch }) => {
{
dataIndex: 'alias',
title: '别名',
width: 300,
width: 150,
ellipsis: true,
search: false,
},

View File

@@ -1,7 +1,7 @@
import type { ActionType, ProColumns } from '@ant-design/pro-table';
import ProTable from '@ant-design/pro-table';
import { message, Button, Space, Popconfirm, Input, Tag } from 'antd';
import React, { useRef, useState } from 'react';
import React, { useRef, useState, useEffect } from 'react';
import type { Dispatch } from 'umi';
import { connect } from 'umi';
import type { StateType } from '../model';
@@ -25,7 +25,7 @@ const ClassMetricTable: React.FC<Props> = ({ domainManger, dispatch }) => {
const [metricItem, setMetricItem] = useState<ISemantic.IMetricItem>();
const [pagination, setPagination] = useState({
current: 1,
pageSize: 20,
pageSize: 2,
total: 0,
});
const actionRef = useRef<ActionType>();
@@ -36,12 +36,12 @@ const ClassMetricTable: React.FC<Props> = ({ domainManger, dispatch }) => {
...pagination,
modelId,
});
const { list, pageSize, current, total } = data || {};
const { list, pageSize, total } = data || {};
let resData: any = {};
if (code === 200) {
setPagination({
...pagination,
pageSize: Math.min(pageSize, 100),
current,
total,
});
@@ -81,7 +81,7 @@ const ClassMetricTable: React.FC<Props> = ({ domainManger, dispatch }) => {
{
dataIndex: 'alias',
title: '别名',
width: 300,
width: 150,
ellipsis: true,
search: false,
},

View File

@@ -15,7 +15,8 @@ type Props = {
titles?: string[];
onKnowledgeInfosMapChange?: (knowledgeInfosMap: IChatConfig.IKnowledgeInfosItemMap) => void;
onChange?: (params?: any) => void;
transferProps?: Record<string, any>;
// transferProps?: Record<string, any>;
[key: string]: any;
};
const DimensionMetricVisibleTransfer: React.FC<Props> = ({
@@ -24,8 +25,8 @@ const DimensionMetricVisibleTransfer: React.FC<Props> = ({
sourceList = [],
targetList = [],
titles,
transferProps = {},
onChange,
...rest
}) => {
const [transferData, setTransferData] = useState<RecordType[]>([]);
const [targetKeys, setTargetKeys] = useState<string[]>(targetList);
@@ -74,7 +75,7 @@ const DimensionMetricVisibleTransfer: React.FC<Props> = ({
}}
targetKeys={targetKeys}
onChange={handleChange}
{...transferProps}
{...rest}
/>
</div>
);

View File

@@ -395,7 +395,7 @@ const MetricInfoCreateForm: React.FC<CreateFormProps> = ({
label={
<FormItemTitle
title={'小数位数'}
subTitle={`对小数位数进行设置如保留两位0.021252 -> 2.12${
subTitle={`对小数位数进行设置如保留两位0.021252 -> 0.02${
isPercentState ? '%' : ''
}`}
/>

View File

@@ -45,33 +45,6 @@ const MetricMeasuresFormTable: React.FC<Props> = ({
dataIndex: 'bizName',
title: '度量名称',
},
// {
// dataIndex: 'alias',
// title: '别名',
// render: (_: any, record: any) => {
// const { alias, name } = record;
// const { measures } = measuresParams;
// return (
// <Input
// placeholder="请输入别名"
// value={alias}
// onChange={(event) => {
// const { value } = event.target;
// const list = measures.map((item: any) => {
// if (item.name === name) {
// return {
// ...item,
// alias: value,
// };
// }
// return item;
// });
// onFieldChange?.(list);
// }}
// />
// );
// },
// },
{
dataIndex: 'constraint',
title: '限定条件',

View File

@@ -140,6 +140,10 @@ const PermissionCreateDrawer: React.FC<Props> = ({
<ProCard title="列权限" bordered tooltip="仅对敏感度为高的指标/维度进行授权">
<DimensionMetricVisibleTransfer
titles={['未授权维度/指标', '已授权维度/指标']}
listStyle={{
width: 520,
height: 600,
}}
sourceList={[
...dimensionList
.map((item) => {