import { defineComponent, ref } from 'vue' import { useWorkflowStore } from '../../store/workflow' import { DeployNodeData } from '../../types' import configStyles from './Config.module.css' export default defineComponent({ name: 'DeployNodeConfig', props: { nodeId: { type: String, required: true, }, nodeData: { type: Object as () => DeployNodeData, required: true, }, }, setup(props) { const workflowStore = useWorkflowStore() const certificateContent = ref(props.nodeData.certificateContent || '') const deployStatus = ref<'idle' | 'deploying' | 'success' | 'error'>('idle') const errorMessage = ref('') // 更新节点标签 const updateNodeLabel = (value: string) => { workflowStore.updateNodeData(props.nodeId, { label: value }) } // 更新证书内容 const updateCertificateContent = (value: string) => { certificateContent.value = value } // 部署证书 const deployCertificate = () => { if (!certificateContent.value.trim()) { errorMessage.value = '请输入证书内容' return } // 模拟部署过程 deployStatus.value = 'deploying' errorMessage.value = '' setTimeout(() => { deployStatus.value = 'success' workflowStore.updateNodeData(props.nodeId, { certificateContent: certificateContent.value, }) }, 1500) } return () => (