fix: K8s 集群添加缺少 code 必填字段
- KubernetesClusterDialog: 新增 code 表单字段 - 名称变更自动生成 code(小写+连字符) - handleSubmit 增加 code 校验 + toast 提示 - payload 增加 code 字段(后端 binding:required)
This commit is contained in:
1 parent
f24fe43ac0
commit
ce438c9f05
18 files changed
+3941
-144
No files matched your search
@@ -1,18 +1,45 @@
|
||||
// DeploymentDetailPage.tsx — 路由包装:解析 cluster/namespace/mode/name
|
||||
// 支持 Kuboard 风格双模式路由:
|
||||
// view: /kubernetes/:c/namespace/:n/workload/view/Deployment/:name
|
||||
// edit: /kubernetes/:c/namespace/:n/workload/edit/Deployment/:name
|
||||
// 兼容旧路由: /kubernetes/:c/namespace/:n/deployments/:name(默认 view)
|
||||
// 作者: Logan <admin@attacker.club>
|
||||
import { useParams, useNavigate } from 'react-router-dom';
|
||||
import { DeploymentDetail } from './DeploymentDetail';
|
||||
import { DeploymentWorkload } from './DeploymentWorkload';
|
||||
|
||||
export default function DeploymentDetailPage() {
|
||||
const { clusterCode, namespace, name } = useParams<{
|
||||
clusterCode: string; namespace: string; name: string;
|
||||
// 兼容两种路由参数命名:旧 :name 与新 :name(路径段不同)
|
||||
const params = useParams<{
|
||||
clusterCode: string;
|
||||
namespace: string;
|
||||
name: string;
|
||||
mode?: string; // 'view' | 'edit'(新路由)
|
||||
workloadKind?: string; // 'Deployment'(新路由,预留扩展)
|
||||
}>();
|
||||
|
||||
const navigate = useNavigate();
|
||||
const clusterCode = params.clusterCode || '';
|
||||
const namespace = params.namespace || '';
|
||||
const deploymentName = params.name || '';
|
||||
const currentMode: 'view' | 'edit' = params.mode === 'edit' ? 'edit' : 'view';
|
||||
|
||||
// 模式切换:在 view/edit 路由间跳转
|
||||
const handleModeChange = (m: 'view' | 'edit') => {
|
||||
if (m === currentMode) return;
|
||||
navigate(
|
||||
`/kubernetes/${clusterCode}/namespace/${namespace}/workload/${m}/Deployment/${deploymentName}`,
|
||||
{ replace: true }
|
||||
);
|
||||
};
|
||||
|
||||
return (
|
||||
<DeploymentDetail
|
||||
clusterCode={clusterCode || ''}
|
||||
namespace={namespace || ''}
|
||||
deploymentName={name || ''}
|
||||
<DeploymentWorkload
|
||||
clusterCode={clusterCode}
|
||||
namespace={namespace}
|
||||
deploymentName={deploymentName}
|
||||
mode={currentMode}
|
||||
onBack={() => navigate(-1)}
|
||||
onModeChange={handleModeChange}
|
||||
/>
|
||||
);
|
||||
}
|
||||
Reference in new issue
Block a user