From b0d047fedb57c6cb3f1df6c7949ad6668672b912 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=94=9C?= <759644414@qq.com> Date: Thu, 9 Jan 2025 17:07:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8F=82=E6=95=B0=E5=88=97?= =?UTF-8?q?=E8=A1=A8=EF=BC=8C=E5=8C=B9=E9=85=8D=E6=A0=87=E8=AF=86=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/Cluster/Detail/Overview/index.tsx | 97 +++++++++++-------- 1 file changed, 56 insertions(+), 41 deletions(-) diff --git a/ui/src/pages/Cluster/Detail/Overview/index.tsx b/ui/src/pages/Cluster/Detail/Overview/index.tsx index 448f7de3..48986dfd 100644 --- a/ui/src/pages/Cluster/Detail/Overview/index.tsx +++ b/ui/src/pages/Cluster/Detail/Overview/index.tsx @@ -60,43 +60,24 @@ const ClusterOverview: React.FC = () => { const { setFieldsValue, validateFields } = form; - const { - data: listOBClusterParameters, - loading, - refresh, - } = useRequest(obcluster.listOBClusterParameters, { - defaultParams: [ns, name], - onSuccess: (res) => { - const newData = getNewData(res?.data); - setParametersData(newData); - }, - }); - const getNewData = (data) => { - const obt = data - ?.map((element) => { - // obcluster 的 parameters 里面加了个 specValue 的字段, - // 如果 specValue 不等于 value,状态写 "不匹配" (黄色tag),如果两个值相等,写"已匹配"(绿色tag) - const findSpec = parameters?.find( - (item: any) => item.value === item.specValue, - ); - if (!isEmpty(findSpec)) { - return { ...element, accordance: true }; - } else if (isEmpty(findSpec)) { - return { ...element, accordance: false }; - } - }) - ?.map((element: any) => { - // 在 obcluster 的 parameters 里面的就是托管给 operator - const findName = parameters?.find( - (item: any) => element.name === item.name, - ); - if (!isEmpty(findName)) { - return { ...element, controlParameter: true }; - } else if (isEmpty(findName)) { - return { ...element, controlParameter: false }; - } - }); + const obt = data?.map((element: any) => { + // 在 obcluster 的 parameters 里面的就是托管给 operator + const findName = parameters?.find( + (item: any) => element.name === item.name, + ); + + if (!isEmpty(findName)) { + return { + ...element, + controlParameter: true, + accordance: findName?.value === findName?.specValue, + }; + } else if (isEmpty(findName)) { + return { ...element, controlParameter: false, accordance: undefined }; + } + }); + return obt; }; @@ -112,6 +93,7 @@ const ClusterOverview: React.FC = () => { if (data.status === 'operating') { timerRef.current = setTimeout(() => { getClusterDetail({ ns: ns!, name: name! }); + refresh(); }, REFRESH_CLUSTER_TIME); } else if (timerRef.current) { clearTimeout(timerRef.current); @@ -119,6 +101,19 @@ const ClusterOverview: React.FC = () => { }, }); + const { + data: listOBClusterParameters, + loading, + refresh, + } = useRequest(obcluster.listOBClusterParameters, { + defaultParams: [ns, name], + refreshDeps: [clusterDetail?.status], + onSuccess: (res) => { + const newData = getNewData(res?.data); + setParametersData(newData); + }, + }); + const { runAsync: patchOBCluster, loading: patchOBClusterloading } = useRequest(obcluster.patchOBCluster, { manual: true, @@ -402,6 +397,12 @@ const ClusterOverview: React.FC = () => { defaultMessage: '参数值', }), dataIndex: 'value', + render: (text: string, record) => { + const content = + parameters?.find((item) => item.name === record.name)?.value || text; + + return {content}; + }, }, { title: intl.formatMessage({ @@ -456,7 +457,7 @@ const ClusterOverview: React.FC = () => { dataIndex: 'accordance', width: 100, - render: (text: boolean, record) => { + render: (text) => { const tagColor = text ? 'green' : 'gold'; const tagContent = text ? intl.formatMessage({ @@ -468,10 +469,10 @@ const ClusterOverview: React.FC = () => { defaultMessage: '不匹配', }); - return record?.controlParameter ? ( - {tagContent} - ) : ( + return text === undefined ? ( '/' + ) : ( + {tagContent} ); }, }, @@ -491,13 +492,20 @@ const ClusterOverview: React.FC = () => { 'max_syslog_file_count', ]; + const valueContent = + parameters?.find((item) => item.name === record.name)?.value || + record?.value; + return (