import React, { useState, useEffect } from 'react'; import { Card, Button, Table, Space, Modal, Form, Input, Select, InputNumber, Tag, Steps, message, Popconfirm, Drawer, List, Checkbox, Radio, Empty, Spin, Typography, Row, Col } from 'antd'; import { PlusOutlined, CopyOutlined, EditOutlined, DeleteOutlined, EyeOutlined, ArrowUpOutlined, ArrowDownOutlined } from '@ant-design/icons'; import apiClient from '../../utils/request'; import { useLanguageStore } from '../../store/languageStore'; const { Title, Text, Paragraph } = Typography; const { Option } = Select; const { TextArea } = Input; interface PhaseItem { order: number; name: string; key?: string; type: 'serial' | 'parallel'; depends: number[]; sub_items: string[]; } interface Template { id: number; name: string; description: string; phases: PhaseItem[]; is_system: boolean; created_at: string; } const ProcessTemplates: React.FC = () => { const { t, currentLanguage } = useLanguageStore(); const [templates, setTemplates] = useState([]); const [loading, setLoading] = useState(false); const [createModalVisible, setCreateModalVisible] = useState(false); const [viewDrawerVisible, setViewDrawerVisible] = useState(false); const [currentTemplate, setCurrentTemplate] = useState