前端优化

This commit is contained in:
zengqiao
2022-08-24 21:29:57 +08:00
parent 9465c6f198
commit 47887a20c6
19 changed files with 115 additions and 97 deletions

View File

@@ -46,7 +46,7 @@
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.04), 0 6px 12px 12px rgba(0, 0, 0, 0.04), 0 6px 10px 0 rgba(0, 0, 0, 0.08); box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.04), 0 6px 12px 12px rgba(0, 0, 0, 0.04), 0 6px 10px 0 rgba(0, 0, 0, 0.08);
border-radius: 8px; border-radius: 8px;
&-content { &-content {
padding: 10px 8px 4px 8px; padding: 0;
} }
} }
.dcloud-popover-arrow-content { .dcloud-popover-arrow-content {
@@ -56,6 +56,7 @@
display: flex; display: flex;
flex-flow: row wrap; flex-flow: row wrap;
max-width: 560px; max-width: 560px;
padding: 10px 8px 4px 8px;
.container-item { .container-item {
flex-shrink: 0; flex-shrink: 0;
height: 20px; height: 20px;

View File

@@ -31,10 +31,10 @@ export interface PermissionNode {
} }
const CommonConfig = (): JSX.Element => { const CommonConfig = (): JSX.Element => {
const [global, setGlobal] = AppContainer.useGlobalValue(); const [, setGlobal] = AppContainer.useGlobalValue();
// 获取权限树 // 获取权限树
const getPermissionTree = (userId: number) => { const getPermissionTree = (userInfo, userId: number) => {
const getUserInfo = Utils.request(`/logi-security/api/v1/user/${userId}`); const getUserInfo = Utils.request(`/logi-security/api/v1/user/${userId}`);
const getPermissionTree = Utils.request('/logi-security/api/v1/permission/tree'); const getPermissionTree = Utils.request('/logi-security/api/v1/permission/tree');
@@ -55,18 +55,16 @@ const CommonConfig = (): JSX.Element => {
useLayoutEffect(() => { useLayoutEffect(() => {
// 如果未登录,直接跳转到登录页 // 如果未登录,直接跳转到登录页
const userInfo = localStorage.getItem('userInfo'); const userInfoStorage = localStorage.getItem('userInfo');
let userId: number;
try { try {
userId = JSON.parse(userInfo).id; const userInfo = JSON.parse(userInfoStorage);
const userId = userInfo.id;
if (!userId) throw 'err'; if (!userId) throw 'err';
getPermissionTree(userInfo, userId);
} catch (_) { } catch (_) {
goLogin(); goLogin();
return;
} }
getPermissionTree(userId);
}, []); }, []);
return <></>; return <></>;

View File

@@ -1,5 +1,5 @@
import React, { useEffect, useState } from 'react'; import React, { useEffect, useState } from 'react';
import { Button, Form, Input, Select, ProTable, DatePicker, Utils } from 'knowdesign'; import { Button, Form, Input, Select, ProTable, DatePicker, Utils, Tooltip } from 'knowdesign';
import api from 'api'; import api from 'api';
import { defaultPagination } from 'constants/common'; import { defaultPagination } from 'constants/common';
import TypicalListCard from '../../components/TypicalListCard'; import TypicalListCard from '../../components/TypicalListCard';
@@ -39,6 +39,13 @@ export default () => {
dataIndex: 'detail', dataIndex: 'detail',
width: 350, width: 350,
lineClampOne: true, lineClampOne: true,
render(content) {
return (
<Tooltip placement="bottomLeft" title={content}>
{content}
</Tooltip>
);
},
}, },
{ {
title: '操作时间', title: '操作时间',

View File

@@ -66,6 +66,7 @@ const api = {
getPhyClusterBasic: (clusterPhyId: number) => getApi(`/physical-clusters/${clusterPhyId}/basic`), getPhyClusterBasic: (clusterPhyId: number) => getApi(`/physical-clusters/${clusterPhyId}/basic`),
getPhyClusterMetrics: (clusterPhyId: number) => getApi(`/physical-clusters/${clusterPhyId}/latest-metrics`), getPhyClusterMetrics: (clusterPhyId: number) => getApi(`/physical-clusters/${clusterPhyId}/latest-metrics`),
getClusterBasicExit: (clusterPhyName: string) => getApi(`/physical-clusters/${clusterPhyName}/basic-combine-exist`), getClusterBasicExit: (clusterPhyName: string) => getApi(`/physical-clusters/${clusterPhyName}/basic-combine-exist`),
getClustersVersion: getApi('/physical-clusters/exist-version'),
kafkaValidator: getApi(`/utils/kafka-validator`), kafkaValidator: getApi(`/utils/kafka-validator`),

View File

@@ -144,9 +144,10 @@ const seriesCallback = (lines: { name: string; data: [number, string | number][]
}, },
symbol: 'emptyCircle', symbol: 'emptyCircle',
symbolSize: 4, symbolSize: 4,
// emphasis: { smooth: 0.25,
// focus: 'self', areaStyle: {
// }, opacity: 0.02,
},
}; };
}); });
}; };
@@ -181,6 +182,7 @@ export const getDetailChartConfig = (title: string, sliderPos: readonly [number,
legend: { legend: {
show: false, show: false,
}, },
color: CHART_COLOR_LIST,
dataZoom: [ dataZoom: [
{ {
type: 'inside', type: 'inside',

View File

@@ -7,6 +7,9 @@
&-container { &-container {
height: calc(100% - 40px); height: calc(100% - 40px);
overflow: auto; overflow: auto;
.no-group-con {
overflow: hidden;
}
.drag-sort-item:last-child { .drag-sort-item:last-child {
margin-bottom: 10px; margin-bottom: 10px;
} }

View File

@@ -38,7 +38,7 @@ const DashboardDragChart = (props: PropsType): JSX.Element => {
const [selectedMetricNames, setSelectedMetricNames] = useState<(string | number)[]>([]); // 默认选中的指标的列表 const [selectedMetricNames, setSelectedMetricNames] = useState<(string | number)[]>([]); // 默认选中的指标的列表
const [curHeaderOptions, setCurHeaderOptions] = useState<ChartFilterOptions>(); const [curHeaderOptions, setCurHeaderOptions] = useState<ChartFilterOptions>();
const [metricChartData, setMetricChartData] = useState<MetricChartDataType[]>([]); // 指标图表数据列表 const [metricChartData, setMetricChartData] = useState<MetricChartDataType[]>([]); // 指标图表数据列表
const [gridNum, setGridNum] = useState<number>(8); // 图表列布局 const [gridNum, setGridNum] = useState<number>(12); // 图表列布局
const chartDetailRef = useRef(null); const chartDetailRef = useRef(null);
const chartDragOrder = useRef([]); const chartDragOrder = useRef([]);
const curFetchingTimestamp = useRef(0); const curFetchingTimestamp = useRef(0);
@@ -49,13 +49,13 @@ const DashboardDragChart = (props: PropsType): JSX.Element => {
const list = res.map((item: any) => { const list = res.map((item: any) => {
return dashboardType === MetricType.Broker return dashboardType === MetricType.Broker
? { ? {
label: item.host, label: item.host,
value: item.brokerId, value: item.brokerId,
} }
: { : {
label: item.topicName, label: item.topicName,
value: item.topicName, value: item.topicName,
}; };
}); });
setScopeList(list); setScopeList(list);
}; };
@@ -145,7 +145,7 @@ const DashboardDragChart = (props: PropsType): JSX.Element => {
const ksHeaderChange = (ksOptions: KsHeaderOptions) => { const ksHeaderChange = (ksOptions: KsHeaderOptions) => {
// 重新渲染图表 // 重新渲染图表
if (gridNum !== ksOptions.gridNum) { if (gridNum !== ksOptions.gridNum) {
setGridNum(ksOptions.gridNum || 8); setGridNum(ksOptions.gridNum || 12);
busInstance.emit('chartResize'); busInstance.emit('chartResize');
} else { } else {
// 如果为相对时间,则当前时间减去 1 分钟,避免最近一分钟的数据还没采集到时前端多补一个点 // 如果为相对时间,则当前时间减去 1 分钟,避免最近一分钟的数据还没采集到时前端多补一个点

View File

@@ -85,10 +85,10 @@ const SingleChartHeader = ({
hideGridSelect = false, hideGridSelect = false,
onChange: onChangeCallback, onChange: onChangeCallback,
}: PropsType): JSX.Element => { }: PropsType): JSX.Element => {
const [gridNum, setGridNum] = useState<number>(GRID_SIZE_OPTIONS[0].value); const [gridNum, setGridNum] = useState<number>(GRID_SIZE_OPTIONS[1].value);
const [rangeTime, setRangeTime] = useState<[number, number]>(() => { const [rangeTime, setRangeTime] = useState<[number, number]>(() => {
const curTimeStamp = moment().valueOf(); const curTimeStamp = moment().valueOf();
return [curTimeStamp - 15 * 60 * 1000, curTimeStamp]; return [curTimeStamp - 60 * 60 * 1000, curTimeStamp];
}); });
const [isRelativeRangeTime, setIsRelativeRangeTime] = useState(true); const [isRelativeRangeTime, setIsRelativeRangeTime] = useState(true);
const [isAutoReload, setIsAutoReload] = useState(false); const [isAutoReload, setIsAutoReload] = useState(false);

View File

@@ -37,6 +37,7 @@ const LINE_CONFIG = {
lineStyle: { lineStyle: {
color: '#556EE6', color: '#556EE6',
width: 1, width: 1,
smooth: 0.25,
}, },
areaStyle: { areaStyle: {
color: { color: {

View File

@@ -1,6 +1,3 @@
/* eslint-disable @typescript-eslint/ban-ts-comment */
// @ts-nocheck
import { notification, Utils } from 'knowdesign'; import { notification, Utils } from 'knowdesign';
const { EventBus } = Utils; const { EventBus } = Utils;
export const licenseEventBus = new EventBus(); export const licenseEventBus = new EventBus();
@@ -14,7 +11,7 @@ export const goLogin = () => {
const serviceInstance = Utils.service; const serviceInstance = Utils.service;
// 清除 axios 实例默认的响应拦截 // 清除 axios 实例默认的响应拦截
serviceInstance.interceptors.response.handlers = []; (serviceInstance.interceptors.response as any).handlers = [];
// 请求拦截 // 请求拦截
serviceInstance.interceptors.request.use( serviceInstance.interceptors.request.use(
@@ -26,8 +23,8 @@ serviceInstance.interceptors.request.use(
} else { } else {
config.headers['X-SSO-USER'] = user; // 请求携带token config.headers['X-SSO-USER'] = user; // 请求携带token
config.headers['X-SSO-USER-ID'] = id; config.headers['X-SSO-USER-ID'] = id;
return config;
} }
return config;
}, },
(err: any) => { (err: any) => {
return err; return err;
@@ -54,8 +51,8 @@ serviceInstance.interceptors.response.use(
return res; return res;
}, },
(err: any) => { (err: any) => {
const config = err.config; const config = err?.config;
if (!config || !config.retryTimes) return dealResponse(err, config.customNotification); if (!config || !config.retryTimes) return dealResponse(err);
const { __retryCount = 0, retryDelay = 300, retryTimes } = config; const { __retryCount = 0, retryDelay = 300, retryTimes } = config;
config.__retryCount = __retryCount; config.__retryCount = __retryCount;
if (__retryCount >= retryTimes) { if (__retryCount >= retryTimes) {

View File

@@ -3,25 +3,24 @@ import moment from 'moment';
export const CHART_COLOR_LIST = [ export const CHART_COLOR_LIST = [
'#657DFC', '#657DFC',
'#A7B1EB', '#A7B1EB',
'#85C80D',
'#C9E795',
'#FFC300',
'#F9D77B',
'#8BA3C4',
'#C2D0E3',
'#FF7066',
'#F5B6B3',
'#2AC8E4', '#2AC8E4',
'#9DDEEB', '#9DDEEB',
'#3991FF',
'#94BEF2',
'#C2D0E3',
'#F5B6B3',
'#85C80D',
'#C9E795',
'#A76CEC', '#A76CEC',
'#CCABF1', '#CCABF1',
'#FF9C1B', '#FF9C1B',
'#F5C993', '#F5C993',
'#3991FF', '#FFC300',
'#94BEF2', '#F9D77B',
'#12CA7A', '#12CA7A',
'#8BA3C4',
'#FF7066',
'#A7E6C7', '#A7E6C7',
'#FF5AB2',
'#F19FC9', '#F19FC9',
'#AEAEAE', '#AEAEAE',
'#D1D1D1', '#D1D1D1',
@@ -132,11 +131,10 @@ export const getBasicChartConfig = (props: any = {}) => {
itemWidth: 8, itemWidth: 8,
itemGap: 8, itemGap: 8,
textStyle: { textStyle: {
width: 85, // width: 85,
overflow: 'truncate', // overflow: 'truncate',
ellipsis: '...', // ellipsis: '...',
fontSize: 11, fontSize: 11,
lineHeight: 12,
color: '#74788D', color: '#74788D',
}, },
pageIcons: { pageIcons: {
@@ -148,6 +146,7 @@ export const getBasicChartConfig = (props: any = {}) => {
pageIconColor: '#495057', pageIconColor: '#495057',
pageIconInactiveColor: '#ADB5BC', pageIconInactiveColor: '#ADB5BC',
pageIconSize: 6, pageIconSize: 6,
tooltip: false,
...legend, ...legend,
}, },
// 横坐标配置 // 横坐标配置

View File

@@ -478,6 +478,7 @@ export default (props: any) => {
lineStyle: { lineStyle: {
width: 1.5, width: 1.5,
}, },
smooth: 0.25,
symbol: 'emptyCircle', symbol: 'emptyCircle',
symbolSize: 4, symbolSize: 4,
emphasis: { emphasis: {

View File

@@ -7,18 +7,18 @@ const CheckboxGroup = Checkbox.Group;
interface IVersion { interface IVersion {
firstLine: string[]; firstLine: string[];
leftVersion: string[]; leftVersions: string[];
} }
const CustomCheckGroup = (props: { kafkaVersion: string[]; onChangeCheckGroup: any }) => { const CustomCheckGroup = (props: { kafkaVersions: string[]; onChangeCheckGroup: any }) => {
const { kafkaVersion, onChangeCheckGroup } = props; const { kafkaVersions, onChangeCheckGroup } = props;
const [checkedKafkaVersion, setCheckedKafkaVersion] = React.useState<IVersion>({ const [checkedKafkaVersion, setCheckedKafkaVersion] = React.useState<IVersion>({
firstLine: [], firstLine: [],
leftVersion: [], leftVersions: [],
}); });
const [allVersion, setAllVersion] = React.useState<IVersion>({ const [allVersion, setAllVersion] = React.useState<IVersion>({
firstLine: [], firstLine: [],
leftVersion: [], leftVersions: [],
}); });
const [indeterminate, setIndeterminate] = React.useState(false); const [indeterminate, setIndeterminate] = React.useState(false);
@@ -30,27 +30,27 @@ const CustomCheckGroup = (props: { kafkaVersion: string[]; onChangeCheckGroup: a
document.addEventListener('click', handleDocumentClick); document.addEventListener('click', handleDocumentClick);
return () => { return () => {
document.removeEventListener('click', handleDocumentClick); document.removeEventListener('click', handleDocumentClick);
} };
}, []); }, []);
const handleDocumentClick = (e: Event) => { const handleDocumentClick = (e: Event) => {
setShowMore(false); setShowMore(false);
} };
const setCheckAllStauts = (list: string[], otherList: string[]) => { const setCheckAllStauts = (list: string[], otherList: string[]) => {
onChangeCheckGroup([...list, ...otherList]); onChangeCheckGroup([...list, ...otherList]);
setIndeterminate(!!list.length && list.length + otherList.length < kafkaVersion.length); setIndeterminate(!!list.length && list.length + otherList.length < kafkaVersions.length);
setCheckAll(list.length + otherList.length === kafkaVersion.length); setCheckAll(list.length + otherList.length === kafkaVersions.length);
}; };
const getTwoPanelVersion = () => { const getTwoPanelVersion = () => {
const width = (document.getElementsByClassName('custom-check-group')[0] as any)?.offsetWidth; const width = (document.getElementsByClassName('custom-check-group')[0] as any)?.offsetWidth;
const checkgroupWidth = width - 100 - 86; const checkgroupWidth = width - 100 - 86;
const num = (checkgroupWidth / 108) | 0; const num = (checkgroupWidth / 108) | 0;
const firstLine = Array.from(kafkaVersion).splice(0, num); const firstLine = Array.from(kafkaVersions).splice(0, num);
setMoreGroupWidth(num * 108 + 88 + 66); setMoreGroupWidth(num * 108 + 88 + 66);
const leftVersion = Array.from(kafkaVersion).splice(num); const leftVersions = Array.from(kafkaVersions).splice(num);
return { firstLine, leftVersion }; return { firstLine, leftVersions };
}; };
const onFirstVersionChange = (list: []) => { const onFirstVersionChange = (list: []) => {
@@ -59,13 +59,13 @@ const CustomCheckGroup = (props: { kafkaVersion: string[]; onChangeCheckGroup: a
firstLine: list, firstLine: list,
}); });
setCheckAllStauts(list, checkedKafkaVersion.leftVersion); setCheckAllStauts(list, checkedKafkaVersion.leftVersions);
}; };
const onLeftVersionChange = (list: []) => { const onLeftVersionChange = (list: []) => {
setCheckedKafkaVersion({ setCheckedKafkaVersion({
...checkedKafkaVersion, ...checkedKafkaVersion,
leftVersion: list, leftVersions: list,
}); });
setCheckAllStauts(list, checkedKafkaVersion.firstLine); setCheckAllStauts(list, checkedKafkaVersion.firstLine);
}; };
@@ -77,11 +77,11 @@ const CustomCheckGroup = (props: { kafkaVersion: string[]; onChangeCheckGroup: a
e.target.checked e.target.checked
? versions ? versions
: { : {
firstLine: [], firstLine: [],
leftVersion: [], leftVersions: [],
} }
); );
onChangeCheckGroup(e.target.checked ? [...versions.firstLine, ...versions.leftVersion] : []); onChangeCheckGroup(e.target.checked ? [...versions.firstLine, ...versions.leftVersions] : []);
setIndeterminate(false); setIndeterminate(false);
setCheckAll(e.target.checked); setCheckAll(e.target.checked);
@@ -112,16 +112,20 @@ const CustomCheckGroup = (props: { kafkaVersion: string[]; onChangeCheckGroup: a
<CheckboxGroup <CheckboxGroup
style={{ width: moreGroupWidth }} style={{ width: moreGroupWidth }}
className="more-check-group" className="more-check-group"
options={allVersion.leftVersion} options={allVersion.leftVersions}
value={checkedKafkaVersion.leftVersion} value={checkedKafkaVersion.leftVersions}
onChange={onLeftVersionChange} onChange={onLeftVersionChange}
/> />
) : null} ) : null}
<div className="more-btn" onClick={() => setShowMore(!showMore)}> {allVersion.leftVersions.length ? (
<a> <div className="more-btn" onClick={() => setShowMore(!showMore)}>
{!showMore ? '展开更多' : '收起更多'} <DoubleRightOutlined style={{ transform: `rotate(${showMore ? '270' : '90'}deg)` }} /> <a>
</a> {!showMore ? '展开更多' : '收起更多'} <DoubleRightOutlined style={{ transform: `rotate(${showMore ? '270' : '90'}deg)` }} />
</div> </a>
</div>
) : (
<></>
)}
</div> </div>
</> </>
); );

View File

@@ -17,11 +17,12 @@ const MultiClusterPage = () => {
const [run, setRun] = useState<boolean>(false); const [run, setRun] = useState<boolean>(false);
const [global] = AppContainer.useGlobalValue(); const [global] = AppContainer.useGlobalValue();
const [statusList, setStatusList] = React.useState([1, 0]); const [statusList, setStatusList] = React.useState([1, 0]);
const [kafkaVersion, setKafkaVersion] = React.useState({}); const [kafkaVersions, setKafkaVersions] = React.useState<string[]>([]);
const [existKafkaVersion, setExistKafkaVersion] = React.useState<string[]>([]);
const [visible, setVisible] = React.useState(false); const [visible, setVisible] = React.useState(false);
const [list, setList] = useState<[]>([]); const [list, setList] = useState<[]>([]);
const [healthScoreRange, setHealthScoreRange] = React.useState([0, 100]); const [healthScoreRange, setHealthScoreRange] = React.useState([0, 100]);
const [checkedKafkaVersion, setCheckedKafkaVersion] = React.useState({}); const [checkedKafkaVersions, setCheckedKafkaVersions] = React.useState<string[]>([]);
const [sortInfo, setSortInfo] = React.useState({ const [sortInfo, setSortInfo] = React.useState({
sortField: 'HealthScore', sortField: 'HealthScore',
sortType: 'asc', sortType: 'asc',
@@ -59,7 +60,7 @@ const MultiClusterPage = () => {
preciseFilterDTOList: [ preciseFilterDTOList: [
{ {
fieldName: 'kafkaVersion', fieldName: 'kafkaVersion',
fieldValueList: checkedKafkaVersion, fieldValueList: checkedKafkaVersions as (string | number)[],
}, },
], ],
rangeFilterDTOList: [ rangeFilterDTOList: [
@@ -83,12 +84,18 @@ const MultiClusterPage = () => {
}; };
const getSupportKafkaVersion = () => { const getSupportKafkaVersion = () => {
Utils.request(API.supportKafkaVersion).then((res) => {
setKafkaVersions(Object.keys(res || {}));
});
};
const getExistKafkaVersion = () => {
setVersionLoading(true); setVersionLoading(true);
Utils.request(API.supportKafkaVersion) Utils.request(API.getClustersVersion)
.then((res) => { .then((versions: string[]) => {
setKafkaVersion(res || {}); setExistKafkaVersion(versions || []);
setVersionLoading(false); setVersionLoading(false);
setCheckedKafkaVersion(res ? Object.keys(res) : []); setCheckedKafkaVersions(versions || []);
}) })
.catch((err) => { .catch((err) => {
setVersionLoading(false); setVersionLoading(false);
@@ -108,6 +115,7 @@ const MultiClusterPage = () => {
useEffect(() => { useEffect(() => {
getPhyClusterState(); getPhyClusterState();
getSupportKafkaVersion(); getSupportKafkaVersion();
getExistKafkaVersion();
}, []); }, []);
useEffect(() => { useEffect(() => {
@@ -128,7 +136,7 @@ const MultiClusterPage = () => {
.finally(() => { .finally(() => {
setClusterLoading(false); setClusterLoading(false);
}); });
}, [sortInfo, checkedKafkaVersion, healthScoreRange, statusList, searchKeywords, isReload]); }, [sortInfo, checkedKafkaVersions, healthScoreRange, statusList, searchKeywords, isReload]);
const onSilderChange = (value: number[]) => { const onSilderChange = (value: number[]) => {
setHealthScoreRange(value); setHealthScoreRange(value);
@@ -151,7 +159,7 @@ const MultiClusterPage = () => {
}; };
const onChangeCheckGroup = (list: []) => { const onChangeCheckGroup = (list: []) => {
setCheckedKafkaVersion(list); setCheckedKafkaVersions(list);
}; };
const afterSubmitSuccessAccessClusters = () => { const afterSubmitSuccessAccessClusters = () => {
@@ -247,10 +255,10 @@ const MultiClusterPage = () => {
<div className="header-filter-bottom"> <div className="header-filter-bottom">
<div className="header-filter-bottom-item header-filter-bottom-item-checkbox"> <div className="header-filter-bottom-item header-filter-bottom-item-checkbox">
<h3 className="header-filter-bottom-item-title"></h3> <h3 className="header-filter-bottom-item-title"></h3>
<div className="header-filter-bottom-item-content flex"> <div className="header-filter-bottom-item-content flex">
{Object.keys(kafkaVersion).length ? ( {existKafkaVersion.length ? (
<CustomCheckGroup kafkaVersion={Object.keys(kafkaVersion)} onChangeCheckGroup={onChangeCheckGroup} /> <CustomCheckGroup kafkaVersions={existKafkaVersion} onChangeCheckGroup={onChangeCheckGroup} />
) : null} ) : null}
</div> </div>
</div> </div>
@@ -307,7 +315,7 @@ const MultiClusterPage = () => {
<AccessClusters <AccessClusters
visible={visible} visible={visible}
setVisible={setVisible} setVisible={setVisible}
kafkaVersion={Object.keys(kafkaVersion)} kafkaVersion={kafkaVersions}
afterSubmitSuccess={afterSubmitSuccessAccessClusters} afterSubmitSuccess={afterSubmitSuccessAccessClusters}
/> />
</> </>

View File

@@ -295,6 +295,7 @@
.more-btn { .more-btn {
height: 30px; height: 30px;
line-height: 23px;
} }
} }
} }
@@ -652,7 +653,7 @@
display: -webkit-inline-box; display: -webkit-inline-box;
margin-right: 16px; margin-right: 16px;
&.adjust-height-style{ &.adjust-height-style {
.dcloud-form-item-label { .dcloud-form-item-label {
padding: 0; padding: 0;
label { label {

View File

@@ -84,6 +84,7 @@ export const getChartConfig = (props: any) => {
lineStyle: { lineStyle: {
width: 1, width: 1,
}, },
smooth: 0.25,
symbol: 'emptyCircle', symbol: 'emptyCircle',
symbolSize: 4, symbolSize: 4,
// 面积图样式 // 面积图样式

View File

@@ -1,18 +1,6 @@
import React, { useEffect, useState } from 'react'; import React, { useEffect, useState } from 'react';
import { useParams } from 'react-router-dom'; import { useParams } from 'react-router-dom';
import { import { AppContainer, Button, Divider, Drawer, Form, InputNumber, notification, SingleChart, Space, Spin, Utils } from 'knowdesign';
AppContainer,
Button,
Divider,
Drawer,
Form,
InputNumber,
notification,
SingleChart,
Space,
Spin,
Utils,
} from 'knowdesign';
import Api, { MetricType } from '@src/api/index'; import Api, { MetricType } from '@src/api/index';
import { getBasicChartConfig, getUnit } from '@src/constants/chartConfig'; import { getBasicChartConfig, getUnit } from '@src/constants/chartConfig';
import { formatChartData, MetricDefaultChartDataType } from '@src/components/DashboardDragChart/config'; import { formatChartData, MetricDefaultChartDataType } from '@src/components/DashboardDragChart/config';
@@ -193,6 +181,7 @@ const ExpandPartition = (props: { record: any; onConfirm: () => void }) => {
lineStyle: { lineStyle: {
width: 1, width: 1,
}, },
smooth: 0.25,
symbol: 'emptyCircle', symbol: 'emptyCircle',
symbolSize: 4, symbolSize: 4,
emphasis: { emphasis: {

View File

@@ -13,6 +13,7 @@ export const getChartConfig = (title: string) => {
lineStyle: { lineStyle: {
width: 1, width: 1,
}, },
smooth: 0.25,
symbol: 'emptyCircle', symbol: 'emptyCircle',
symbolSize: 4, symbolSize: 4,
emphasis: { emphasis: {

View File

@@ -1,5 +1,9 @@
@import '~knowdesign/es/style/index.less'; @import '~knowdesign/es/style/index.less';
@height-base: 36px;
@height-lg: 42px;
@height-sm: 27px;
// 全局变量替换 // 全局变量替换
@body-background: #ebebf3; @body-background: #ebebf3;
@input-color: #495057; @input-color: #495057;