{"ast":null,"code":"import React,{useState,useEffect}from'react';import{Card,Table,Button,Space,Tag,Input,Select,Modal,Form,message,Popconfirm,Descriptions,Tabs,Row,Col,Statistic,List,Typography,Divider}from'antd';import{PlusOutlined,EditOutlined,DeleteOutlined,SearchOutlined,BankOutlined,ProjectOutlined,TeamOutlined}from'@ant-design/icons';import{useNavigate}from'react-router-dom';import{institutionsAPI,incubationProjectsAPI}from'../services/api';import{useAuth}from'../contexts/AuthContext';import dayjs from'dayjs';import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";const{Option}=Select;const{Search}=Input;const{TextArea}=Input;const{TabPane}=Tabs;const{Title}=Typography;const INSTITUTION_TYPES=[{value:'university',label:'高校'},{value:'research_institute',label:'研究所'},{value:'research_academy',label:'研究院'},{value:'enterprise_research',label:'企业研究机构'}];const PROJECT_STATUS=[{value:'preparation',label:'准备阶段',color:'default'},{value:'researching',label:'研发中',color:'processing'},{value:'testing',label:'测试阶段',color:'warning'},{value:'completed',label:'已完成',color:'success'},{value:'suspended',label:'已暂停',color:'error'}];const IncubationManagement=()=>{var _stats$byType,_stats$byType$find,_stats$byType2,_stats$byType2$find,_stats$byType3,_stats$byType3$find,_stats$byType4,_stats$byType4$find,_selectedInstitution$,_INSTITUTION_TYPES$fi2;const navigate=useNavigate();const{isAdmin,isInvestmentManager}=useAuth();const canManage=isAdmin()||isInvestmentManager();const[activeTab,setActiveTab]=useState('universities');const[institutions,setInstitutions]=useState([]);const[projects,setProjects]=useState([]);const[loading,setLoading]=useState(false);const[pagination,setPagination]=useState({current:1,pageSize:20,total:0});const[filters,setFilters]=useState({});const[stats,setStats]=useState({});const[modalVisible,setModalVisible]=useState(false);const[editingInstitution,setEditingInstitution]=useState(null);const[form]=Form.useForm();const[projectModalVisible,setProjectModalVisible]=useState(false);const[editingProject,setEditingProject]=useState(null);const[projectForm]=Form.useForm();const[selectedInstitution,setSelectedInstitution]=useState(null);useEffect(()=>{if(activeTab==='projects'){fetchProjects();}else{fetchInstitutions();}fetchStats();},[activeTab,pagination.current,pagination.pageSize,filters]);const fetchInstitutions=async()=>{setLoading(true);try{const response=await institutionsAPI.getAll({page:pagination.current,limit:pagination.pageSize,...filters,type:activeTab==='projects'?undefined:getTypeFromTab(activeTab)});setInstitutions(response.data.institutions);setPagination(prev=>{var _response$data$pagina;return{...prev,total:((_response$data$pagina=response.data.pagination)===null||_response$data$pagina===void 0?void 0:_response$data$pagina.total)||0};});}catch(error){message.error('获取机构列表失败');}finally{setLoading(false);}};const fetchProjects=async()=>{setLoading(true);try{const response=await incubationProjectsAPI.getAll({page:pagination.current,limit:pagination.pageSize,...filters});setProjects(response.data.projects);setPagination(prev=>{var _response$data$pagina2;return{...prev,total:((_response$data$pagina2=response.data.pagination)===null||_response$data$pagina2===void 0?void 0:_response$data$pagina2.total)||0};});}catch(error){message.error('获取孵化项目列表失败');}finally{setLoading(false);}};const fetchStats=async()=>{try{const response=await institutionsAPI.getStats();setStats(response.data);}catch(error){console.error('获取统计数据失败:',error);}};const getTypeFromTab=tab=>{const typeMap={'universities':'university','research_institutes':'research_institute','research_academies':'research_academy','enterprise_research':'enterprise_research'};return typeMap[tab];};const getStatusColor=status=>{const statusInfo=PROJECT_STATUS.find(s=>s.value===status);return statusInfo?statusInfo.color:'default';};const getStatusLabel=status=>{const statusInfo=PROJECT_STATUS.find(s=>s.value===status);return statusInfo?statusInfo.label:status;};const handleAddInstitution=()=>{setEditingInstitution(null);form.resetFields();form.setFieldsValue({type:getTypeFromTab(activeTab)});setModalVisible(true);};const handleEditInstitution=record=>{setEditingInstitution(record);form.setFieldsValue(record);setModalVisible(true);};const handleDeleteInstitution=async id=>{try{await institutionsAPI.delete(id);message.success('机构删除成功');fetchInstitutions();fetchStats();}catch(error){var _error$response,_error$response$data;message.error(((_error$response=error.response)===null||_error$response===void 0?void 0:(_error$response$data=_error$response.data)===null||_error$response$data===void 0?void 0:_error$response$data.message)||'删除失败');}};const handleModalOk=async()=>{try{const values=await form.validateFields();if(editingInstitution){await institutionsAPI.update(editingInstitution.id,values);message.success('机构更新成功');}else{await institutionsAPI.create(values);message.success('机构创建成功');}setModalVisible(false);fetchInstitutions();fetchStats();}catch(error){var _error$response2,_error$response2$data;message.error(((_error$response2=error.response)===null||_error$response2===void 0?void 0:(_error$response2$data=_error$response2.data)===null||_error$response2$data===void 0?void 0:_error$response2$data.message)||'操作失败');}};const handleViewInstitution=async record=>{try{const response=await institutionsAPI.getOne(record.id);setSelectedInstitution(response.data);}catch(error){message.error('获取机构详情失败');}};const handleAddProject=institution=>{setEditingProject(null);projectForm.resetFields();projectForm.setFieldsValue({institution_id:parseInt(institution.id)});setProjectModalVisible(true);};const handleEditProject=record=>{setEditingProject(record);projectForm.setFieldsValue(record);setProjectModalVisible(true);};const handleDeleteProject=async id=>{try{await incubationProjectsAPI.delete(id);message.success('孵化项目删除成功');fetchProjects();fetchStats();}catch(error){message.error('删除失败');}};const handleProjectModalOk=async()=>{try{const values=await projectForm.validateFields();if(editingProject){await incubationProjectsAPI.update(editingProject.id,values);message.success('孵化项目更新成功');}else{await incubationProjectsAPI.create(values);message.success('孵化项目创建成功');}setProjectModalVisible(false);fetchProjects();fetchStats();}catch(error){var _error$response3,_error$response3$data;message.error(((_error$response3=error.response)===null||_error$response3===void 0?void 0:(_error$response3$data=_error$response3.data)===null||_error$response3$data===void 0?void 0:_error$response3$data.message)||'操作失败');}};const institutionColumns=[{title:'机构名称',dataIndex:'name',key:'name',render:(text,record)=>/*#__PURE__*/_jsx(\"a\",{onClick:()=>handleViewInstitution(record),children:text})},{title:'类型',dataIndex:'type',key:'type',render:type=>{var _INSTITUTION_TYPES$fi;return((_INSTITUTION_TYPES$fi=INSTITUTION_TYPES.find(t=>t.value===type))===null||_INSTITUTION_TYPES$fi===void 0?void 0:_INSTITUTION_TYPES$fi.label)||type;}},{title:'联系人',dataIndex:'contact_person',key:'contact_person'},{title:'联系电话',dataIndex:'contact_phone',key:'contact_phone'},{title:'孵化项目数',dataIndex:'project_count',key:'project_count',render:count=>/*#__PURE__*/_jsx(Tag,{color:\"blue\",children:count})},{title:'创建时间',dataIndex:'created_at',key:'created_at',render:date=>date?dayjs(date).format('YYYY-MM-DD'):'-'},{title:'操作',key:'actions',render:(_,record)=>canManage&&/*#__PURE__*/_jsxs(Space,{children:[/*#__PURE__*/_jsx(Button,{type:\"link\",size:\"small\",icon:/*#__PURE__*/_jsx(ProjectOutlined,{}),onClick:()=>handleAddProject(record),children:\"\\u6DFB\\u52A0\\u9879\\u76EE\"}),/*#__PURE__*/_jsx(Button,{type:\"link\",size:\"small\",icon:/*#__PURE__*/_jsx(EditOutlined,{}),onClick:()=>handleEditInstitution(record),children:\"\\u7F16\\u8F91\"}),/*#__PURE__*/_jsx(Popconfirm,{title:\"\\u786E\\u5B9A\\u8981\\u5220\\u9664\\u8FD9\\u4E2A\\u673A\\u6784\\u5417?\",onConfirm:()=>handleDeleteInstitution(record.id),children:/*#__PURE__*/_jsx(Button,{type:\"link\",size:\"small\",danger:true,icon:/*#__PURE__*/_jsx(DeleteOutlined,{}),children:\"\\u5220\\u9664\"})})]})}];const projectColumns=[{title:'项目名称',dataIndex:'name',key:'name',render:(text,record)=>/*#__PURE__*/_jsx(\"a\",{onClick:()=>navigate(`/incubation-projects/${record.id}`),children:text})},{title:'项目代码',dataIndex:'code',key:'code'},{title:'所属机构',dataIndex:'institution_name',key:'institution_name'},{title:'研发领域',dataIndex:'research_area',key:'research_area'},{title:'项目负责人',dataIndex:'project_leader',key:'project_leader'},{title:'状态',dataIndex:'status',key:'status',render:status=>/*#__PURE__*/_jsx(Tag,{color:getStatusColor(status),children:getStatusLabel(status)})},{title:'资金(万)',dataIndex:'funding_amount',key:'funding_amount',render:amount=>amount?`¥${amount.toLocaleString()}`:'-'},{title:'创建时间',dataIndex:'created_at',key:'created_at',render:date=>date?dayjs(date).format('YYYY-MM-DD'):'-'},{title:'操作',key:'actions',render:(_,record)=>canManage&&/*#__PURE__*/_jsxs(Space,{children:[/*#__PURE__*/_jsx(Button,{type:\"link\",size:\"small\",icon:/*#__PURE__*/_jsx(EditOutlined,{}),onClick:()=>handleEditProject(record),children:\"\\u7F16\\u8F91\"}),/*#__PURE__*/_jsx(Popconfirm,{title:\"\\u786E\\u5B9A\\u8981\\u5220\\u9664\\u8FD9\\u4E2A\\u5B75\\u5316\\u9879\\u76EE\\u5417?\",onConfirm:()=>handleDeleteProject(record.id),children:/*#__PURE__*/_jsx(Button,{type:\"link\",size:\"small\",danger:true,icon:/*#__PURE__*/_jsx(DeleteOutlined,{}),children:\"\\u5220\\u9664\"})})]})}];return/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{className:\"page-header\",children:/*#__PURE__*/_jsx(\"h1\",{children:\"\\u673A\\u6784\\u9879\\u76EE\\u5B75\\u5316\\u7BA1\\u7406\"})}),/*#__PURE__*/_jsxs(Row,{gutter:16,style:{marginBottom:24},children:[/*#__PURE__*/_jsx(Col,{span:6,children:/*#__PURE__*/_jsx(Card,{children:/*#__PURE__*/_jsx(Statistic,{title:\"\\u9AD8\\u6821\",value:((_stats$byType=stats.byType)===null||_stats$byType===void 0?void 0:(_stats$byType$find=_stats$byType.find(t=>t.type==='university'))===null||_stats$byType$find===void 0?void 0:_stats$byType$find.count)||0,prefix:/*#__PURE__*/_jsx(BankOutlined,{})})})}),/*#__PURE__*/_jsx(Col,{span:6,children:/*#__PURE__*/_jsx(Card,{children:/*#__PURE__*/_jsx(Statistic,{title:\"\\u7814\\u7A76\\u6240\",value:((_stats$byType2=stats.byType)===null||_stats$byType2===void 0?void 0:(_stats$byType2$find=_stats$byType2.find(t=>t.type==='research_institute'))===null||_stats$byType2$find===void 0?void 0:_stats$byType2$find.count)||0,prefix:/*#__PURE__*/_jsx(TeamOutlined,{})})})}),/*#__PURE__*/_jsx(Col,{span:6,children:/*#__PURE__*/_jsx(Card,{children:/*#__PURE__*/_jsx(Statistic,{title:\"\\u7814\\u7A76\\u9662\",value:((_stats$byType3=stats.byType)===null||_stats$byType3===void 0?void 0:(_stats$byType3$find=_stats$byType3.find(t=>t.type==='research_academy'))===null||_stats$byType3$find===void 0?void 0:_stats$byType3$find.count)||0,prefix:/*#__PURE__*/_jsx(BankOutlined,{})})})}),/*#__PURE__*/_jsx(Col,{span:6,children:/*#__PURE__*/_jsx(Card,{children:/*#__PURE__*/_jsx(Statistic,{title:\"\\u4F01\\u4E1A\\u7814\\u7A76\\u673A\\u6784\",value:((_stats$byType4=stats.byType)===null||_stats$byType4===void 0?void 0:(_stats$byType4$find=_stats$byType4.find(t=>t.type==='enterprise_research'))===null||_stats$byType4$find===void 0?void 0:_stats$byType4$find.count)||0,prefix:/*#__PURE__*/_jsx(TeamOutlined,{})})})})]}),/*#__PURE__*/_jsx(Card,{children:/*#__PURE__*/_jsxs(Tabs,{activeKey:activeTab,onChange:setActiveTab,children:[/*#__PURE__*/_jsxs(TabPane,{tab:\"\\u9AD8\\u6821\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"filter-bar\",style:{marginBottom:16},children:/*#__PURE__*/_jsxs(Space,{children:[/*#__PURE__*/_jsx(Search,{placeholder:\"\\u641C\\u7D22\\u673A\\u6784\\u540D\\u79F0\",onSearch:value=>setFilters({...filters,search:value}),allowClear:true}),canManage&&/*#__PURE__*/_jsx(Button,{type:\"primary\",icon:/*#__PURE__*/_jsx(PlusOutlined,{}),onClick:handleAddInstitution,children:\"\\u6DFB\\u52A0\\u673A\\u6784\"})]})}),/*#__PURE__*/_jsx(Table,{columns:institutionColumns,dataSource:institutions,rowKey:\"id\",loading:loading,pagination:pagination})]},\"universities\"),/*#__PURE__*/_jsxs(TabPane,{tab:\"\\u7814\\u7A76\\u6240\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"filter-bar\",style:{marginBottom:16},children:/*#__PURE__*/_jsxs(Space,{children:[/*#__PURE__*/_jsx(Search,{placeholder:\"\\u641C\\u7D22\\u673A\\u6784\\u540D\\u79F0\",onSearch:value=>setFilters({...filters,search:value}),allowClear:true}),canManage&&/*#__PURE__*/_jsx(Button,{type:\"primary\",icon:/*#__PURE__*/_jsx(PlusOutlined,{}),onClick:handleAddInstitution,children:\"\\u6DFB\\u52A0\\u673A\\u6784\"})]})}),/*#__PURE__*/_jsx(Table,{columns:institutionColumns,dataSource:institutions,rowKey:\"id\",loading:loading,pagination:pagination})]},\"research_institutes\"),/*#__PURE__*/_jsxs(TabPane,{tab:\"\\u7814\\u7A76\\u9662\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"filter-bar\",style:{marginBottom:16},children:/*#__PURE__*/_jsxs(Space,{children:[/*#__PURE__*/_jsx(Search,{placeholder:\"\\u641C\\u7D22\\u673A\\u6784\\u540D\\u79F0\",onSearch:value=>setFilters({...filters,search:value}),allowClear:true}),canManage&&/*#__PURE__*/_jsx(Button,{type:\"primary\",icon:/*#__PURE__*/_jsx(PlusOutlined,{}),onClick:handleAddInstitution,children:\"\\u6DFB\\u52A0\\u673A\\u6784\"})]})}),/*#__PURE__*/_jsx(Table,{columns:institutionColumns,dataSource:institutions,rowKey:\"id\",loading:loading,pagination:pagination})]},\"research_academies\"),/*#__PURE__*/_jsxs(TabPane,{tab:\"\\u4F01\\u4E1A\\u7814\\u7A76\\u673A\\u6784\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"filter-bar\",style:{marginBottom:16},children:/*#__PURE__*/_jsxs(Space,{children:[/*#__PURE__*/_jsx(Search,{placeholder:\"\\u641C\\u7D22\\u673A\\u6784\\u540D\\u79F0\",onSearch:value=>setFilters({...filters,search:value}),allowClear:true}),canManage&&/*#__PURE__*/_jsx(Button,{type:\"primary\",icon:/*#__PURE__*/_jsx(PlusOutlined,{}),onClick:handleAddInstitution,children:\"\\u6DFB\\u52A0\\u673A\\u6784\"})]})}),/*#__PURE__*/_jsx(Table,{columns:institutionColumns,dataSource:institutions,rowKey:\"id\",loading:loading,pagination:pagination})]},\"enterprise_research\"),/*#__PURE__*/_jsxs(TabPane,{tab:\"\\u6240\\u6709\\u5B75\\u5316\\u9879\\u76EE\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"filter-bar\",style:{marginBottom:16},children:/*#__PURE__*/_jsxs(Space,{children:[/*#__PURE__*/_jsx(Search,{placeholder:\"\\u641C\\u7D22\\u9879\\u76EE\\u540D\\u79F0\",onSearch:value=>setFilters({...filters,search:value}),allowClear:true}),/*#__PURE__*/_jsx(Select,{placeholder:\"\\u9879\\u76EE\\u72B6\\u6001\",allowClear:true,style:{width:120},onChange:value=>setFilters({...filters,status:value}),children:PROJECT_STATUS.map(s=>/*#__PURE__*/_jsx(Option,{value:s.value,children:s.label},s.value))}),canManage&&/*#__PURE__*/_jsx(Button,{type:\"primary\",icon:/*#__PURE__*/_jsx(PlusOutlined,{}),onClick:()=>{setEditingProject(null);projectForm.resetFields();setProjectModalVisible(true);},children:\"\\u6DFB\\u52A0\\u9879\\u76EE\"})]})}),/*#__PURE__*/_jsx(Table,{columns:projectColumns,dataSource:projects,rowKey:\"id\",loading:loading,pagination:pagination})]},\"projects\")]})}),/*#__PURE__*/_jsx(Modal,{title:editingInstitution?'编辑机构':'添加机构',open:modalVisible,onOk:handleModalOk,onCancel:()=>setModalVisible(false),width:700,children:/*#__PURE__*/_jsxs(Form,{form:form,layout:\"vertical\",children:[/*#__PURE__*/_jsx(Form.Item,{name:\"type\",label:\"\\u673A\\u6784\\u7C7B\\u578B\",rules:[{required:true}],children:/*#__PURE__*/_jsx(Select,{children:INSTITUTION_TYPES.map(t=>/*#__PURE__*/_jsx(Option,{value:t.value,children:t.label},t.value))})}),/*#__PURE__*/_jsx(Form.Item,{name:\"name\",label:\"\\u673A\\u6784\\u540D\\u79F0\",rules:[{required:true}],children:/*#__PURE__*/_jsx(Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u673A\\u6784\\u540D\\u79F0\"})}),/*#__PURE__*/_jsx(Form.Item,{name:\"description\",label:\"\\u673A\\u6784\\u7B80\\u4ECB\",children:/*#__PURE__*/_jsx(TextArea,{rows:3,placeholder:\"\\u8BF7\\u8F93\\u5165\\u673A\\u6784\\u7B80\\u4ECB\"})}),/*#__PURE__*/_jsxs(Row,{gutter:16,children:[/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsx(Form.Item,{name:\"contact_person\",label:\"\\u8054\\u7CFB\\u4EBA\",children:/*#__PURE__*/_jsx(Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u8054\\u7CFB\\u4EBA\"})})}),/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsx(Form.Item,{name:\"contact_phone\",label:\"\\u8054\\u7CFB\\u7535\\u8BDD\",children:/*#__PURE__*/_jsx(Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u8054\\u7CFB\\u7535\\u8BDD\"})})})]}),/*#__PURE__*/_jsx(Form.Item,{name:\"contact_email\",label:\"\\u90AE\\u7BB1\",children:/*#__PURE__*/_jsx(Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u90AE\\u7BB1\"})}),/*#__PURE__*/_jsx(Form.Item,{name:\"address\",label:\"\\u5730\\u5740\",children:/*#__PURE__*/_jsx(Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u5730\\u5740\"})}),/*#__PURE__*/_jsx(Form.Item,{name:\"website\",label:\"\\u7F51\\u7AD9\",children:/*#__PURE__*/_jsx(Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u7F51\\u7AD9\\u5730\\u5740\"})})]})}),/*#__PURE__*/_jsx(Modal,{title:editingProject?'编辑孵化项目':'添加孵化项目',open:projectModalVisible,onOk:handleProjectModalOk,onCancel:()=>setProjectModalVisible(false),width:900,children:/*#__PURE__*/_jsxs(Form,{form:projectForm,layout:\"vertical\",children:[/*#__PURE__*/_jsxs(Row,{gutter:16,children:[/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsx(Form.Item,{name:\"institution_id\",label:\"\\u6240\\u5C5E\\u673A\\u6784\",rules:[{required:true}],children:/*#__PURE__*/_jsx(Select,{placeholder:\"\\u8BF7\\u9009\\u62E9\\u673A\\u6784\",children:institutions.map(i=>/*#__PURE__*/_jsx(Option,{value:i.id,children:i.name},i.id))})})}),/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsx(Form.Item,{name:\"name\",label:\"\\u9879\\u76EE\\u540D\\u79F0\",rules:[{required:true}],children:/*#__PURE__*/_jsx(Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u9879\\u76EE\\u540D\\u79F0\"})})})]}),/*#__PURE__*/_jsxs(Row,{gutter:16,children:[/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsx(Form.Item,{name:\"code\",label:\"\\u9879\\u76EE\\u4EE3\\u7801\",children:/*#__PURE__*/_jsx(Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u9879\\u76EE\\u4EE3\\u7801\"})})}),/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsx(Form.Item,{name:\"research_area\",label:\"\\u7814\\u53D1\\u9886\\u57DF\",children:/*#__PURE__*/_jsx(Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u7814\\u53D1\\u9886\\u57DF\"})})})]}),/*#__PURE__*/_jsx(Form.Item,{name:\"technology_description\",label:\"\\u7814\\u53D1\\u6280\\u672F\\u8BF4\\u660E\",children:/*#__PURE__*/_jsx(TextArea,{rows:4,placeholder:\"\\u8BF7\\u8F93\\u5165\\u7814\\u53D1\\u6280\\u672F\\u8BF4\\u660E\"})}),/*#__PURE__*/_jsx(Form.Item,{name:\"innovation_points\",label:\"\\u521B\\u65B0\\u70B9\",children:/*#__PURE__*/_jsx(TextArea,{rows:3,placeholder:\"\\u8BF7\\u8F93\\u5165\\u521B\\u65B0\\u70B9\"})}),/*#__PURE__*/_jsxs(Row,{gutter:16,children:[/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsx(Form.Item,{name:\"project_leader\",label:\"\\u7275\\u5934\\u8D1F\\u8D23\\u4EBA\",children:/*#__PURE__*/_jsx(Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u8D1F\\u8D23\\u4EBA\\u59D3\\u540D\"})})}),/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsx(Form.Item,{name:\"leader_title\",label:\"\\u8D1F\\u8D23\\u4EBA\\u804C\\u79F0\",children:/*#__PURE__*/_jsx(Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u8D1F\\u8D23\\u4EBA\\u804C\\u79F0\"})})})]}),/*#__PURE__*/_jsxs(Row,{gutter:16,children:[/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsx(Form.Item,{name:\"development_stage\",label:\"\\u53D1\\u5C55\\u9636\\u6BB5\",children:/*#__PURE__*/_jsxs(Select,{placeholder:\"\\u8BF7\\u9009\\u62E9\\u53D1\\u5C55\\u9636\\u6BB5\",children:[/*#__PURE__*/_jsx(Option,{value:\"\\u6982\\u5FF5\\u9A8C\\u8BC1\",children:\"\\u6982\\u5FF5\\u9A8C\\u8BC1\"}),/*#__PURE__*/_jsx(Option,{value:\"\\u5B9E\\u9A8C\\u5BA4\\u7814\\u53D1\",children:\"\\u5B9E\\u9A8C\\u5BA4\\u7814\\u53D1\"}),/*#__PURE__*/_jsx(Option,{value:\"\\u4E2D\\u8BD5\",children:\"\\u4E2D\\u8BD5\"}),/*#__PURE__*/_jsx(Option,{value:\"\\u4EA7\\u4E1A\\u5316\",children:\"\\u4EA7\\u4E1A\\u5316\"})]})})}),/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsx(Form.Item,{name:\"status\",label:\"\\u9879\\u76EE\\u72B6\\u6001\",initialValue:\"preparation\",children:/*#__PURE__*/_jsx(Select,{children:PROJECT_STATUS.map(s=>/*#__PURE__*/_jsx(Option,{value:s.value,children:s.label},s.value))})})})]}),/*#__PURE__*/_jsxs(Row,{gutter:16,children:[/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsx(Form.Item,{name:\"funding_amount\",label:\"\\u8D44\\u91D1(\\u4E07)\",children:/*#__PURE__*/_jsx(Input,{type:\"number\",placeholder:\"\\u8BF7\\u8F93\\u5165\\u8D44\\u91D1\"})})}),/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsx(Form.Item,{name:\"funding_source\",label:\"\\u8D44\\u91D1\\u6765\\u6E90\",children:/*#__PURE__*/_jsx(Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u8D44\\u91D1\\u6765\\u6E90\"})})})]}),/*#__PURE__*/_jsx(Divider,{children:\"\\u77E5\\u8BC6\\u4EA7\\u6743\\u5185\\u5BB9\"}),/*#__PURE__*/_jsx(Form.Item,{name:\"ip_description\",label:\"\\u77E5\\u8BC6\\u4EA7\\u6743\\u8BF4\\u660E\",children:/*#__PURE__*/_jsx(TextArea,{rows:3,placeholder:\"\\u8BF7\\u8F93\\u5165\\u77E5\\u8BC6\\u4EA7\\u6743\\u8BF4\\u660E\"})}),/*#__PURE__*/_jsxs(Row,{gutter:16,children:[/*#__PURE__*/_jsx(Col,{span:8,children:/*#__PURE__*/_jsx(Form.Item,{name:\"ip_type\",label:\"\\u77E5\\u8BC6\\u4EA7\\u6743\\u7C7B\\u578B\",children:/*#__PURE__*/_jsxs(Select,{placeholder:\"\\u8BF7\\u9009\\u62E9\",allowClear:true,children:[/*#__PURE__*/_jsx(Option,{value:\"\\u53D1\\u660E\\u4E13\\u5229\",children:\"\\u53D1\\u660E\\u4E13\\u5229\"}),/*#__PURE__*/_jsx(Option,{value:\"\\u5B9E\\u7528\\u65B0\\u578B\\u4E13\\u5229\",children:\"\\u5B9E\\u7528\\u65B0\\u578B\\u4E13\\u5229\"}),/*#__PURE__*/_jsx(Option,{value:\"\\u5916\\u89C2\\u8BBE\\u8BA1\\u4E13\\u5229\",children:\"\\u5916\\u89C2\\u8BBE\\u8BA1\\u4E13\\u5229\"}),/*#__PURE__*/_jsx(Option,{value:\"\\u8F6F\\u4EF6\\u8457\\u4F5C\\u6743\",children:\"\\u8F6F\\u4EF6\\u8457\\u4F5C\\u6743\"}),/*#__PURE__*/_jsx(Option,{value:\"\\u5546\\u6807\",children:\"\\u5546\\u6807\"})]})})}),/*#__PURE__*/_jsx(Col,{span:8,children:/*#__PURE__*/_jsx(Form.Item,{name:\"ip_status\",label:\"\\u77E5\\u8BC6\\u4EA7\\u6743\\u72B6\\u6001\",children:/*#__PURE__*/_jsxs(Select,{placeholder:\"\\u8BF7\\u9009\\u62E9\",allowClear:true,children:[/*#__PURE__*/_jsx(Option,{value:\"\\u5DF2\\u7533\\u8BF7\",children:\"\\u5DF2\\u7533\\u8BF7\"}),/*#__PURE__*/_jsx(Option,{value:\"\\u5DF2\\u53D7\\u7406\",children:\"\\u5DF2\\u53D7\\u7406\"}),/*#__PURE__*/_jsx(Option,{value:\"\\u5DF2\\u6388\\u6743\",children:\"\\u5DF2\\u6388\\u6743\"})]})})}),/*#__PURE__*/_jsx(Col,{span:8,children:/*#__PURE__*/_jsx(Form.Item,{name:\"ip_application_no\",label:\"\\u7533\\u8BF7\\u53F7\",children:/*#__PURE__*/_jsx(Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u7533\\u8BF7\\u53F7\"})})})]}),/*#__PURE__*/_jsx(Form.Item,{name:\"ip_holder\",label:\"\\u6743\\u5229\\u4EBA\",children:/*#__PURE__*/_jsx(Input,{placeholder:\"\\u8BF7\\u8F93\\u5165\\u6743\\u5229\\u4EBA\"})}),/*#__PURE__*/_jsx(Form.Item,{name:\"team_members\",label:\"\\u56E2\\u961F\\u6210\\u5458\",children:/*#__PURE__*/_jsx(TextArea,{rows:2,placeholder:\"\\u8BF7\\u8F93\\u5165\\u56E2\\u961F\\u6210\\u5458\"})}),/*#__PURE__*/_jsx(Form.Item,{name:\"notes\",label:\"\\u5907\\u6CE8\",children:/*#__PURE__*/_jsx(TextArea,{rows:2,placeholder:\"\\u8BF7\\u8F93\\u5165\\u5907\\u6CE8\"})})]})}),/*#__PURE__*/_jsx(Modal,{title:(selectedInstitution===null||selectedInstitution===void 0?void 0:(_selectedInstitution$=selectedInstitution.institution)===null||_selectedInstitution$===void 0?void 0:_selectedInstitution$.name)||'机构详情',open:!!selectedInstitution,onCancel:()=>setSelectedInstitution(null),footer:null,width:800,children:(selectedInstitution===null||selectedInstitution===void 0?void 0:selectedInstitution.institution)&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(Descriptions,{column:2,bordered:true,children:[/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u673A\\u6784\\u7C7B\\u578B\",children:((_INSTITUTION_TYPES$fi2=INSTITUTION_TYPES.find(t=>t.value===selectedInstitution.institution.type))===null||_INSTITUTION_TYPES$fi2===void 0?void 0:_INSTITUTION_TYPES$fi2.label)||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u673A\\u6784\\u540D\\u79F0\",children:selectedInstitution.institution.name||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u8054\\u7CFB\\u4EBA\",children:selectedInstitution.institution.contact_person||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u8054\\u7CFB\\u7535\\u8BDD\",children:selectedInstitution.institution.contact_phone||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u90AE\\u7BB1\",children:selectedInstitution.institution.contact_email||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u5730\\u5740\",children:selectedInstitution.institution.address||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u7F51\\u7AD9\",children:selectedInstitution.institution.website||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u521B\\u5EFA\\u4EBA\",children:selectedInstitution.institution.created_by_name||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u521B\\u5EFA\\u65F6\\u95F4\",children:selectedInstitution.institution.created_at?dayjs(selectedInstitution.institution.created_at).format('YYYY-MM-DD HH:mm'):'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u673A\\u6784\\u7B80\\u4ECB\",span:2,children:selectedInstitution.institution.description||'-'})]}),/*#__PURE__*/_jsx(Divider,{children:\"\\u5B75\\u5316\\u9879\\u76EE\\u5217\\u8868\"}),selectedInstitution.projects&&selectedInstitution.projects.length>0?/*#__PURE__*/_jsx(List,{size:\"small\",dataSource:selectedInstitution.projects,renderItem:item=>/*#__PURE__*/_jsxs(List.Item,{children:[/*#__PURE__*/_jsx(List.Item.Meta,{title:/*#__PURE__*/_jsx(\"a\",{onClick:()=>navigate(`/incubation-projects/${item.id}`),children:item.name||'-'}),description:`研发领域：${item.research_area||'-'} | 负责人：${item.project_leader||'-'}`}),/*#__PURE__*/_jsx(Tag,{color:getStatusColor(item.status),children:getStatusLabel(item.status)})]},item.id)}):/*#__PURE__*/_jsx(\"p\",{children:\"\\u6682\\u65E0\\u5B75\\u5316\\u9879\\u76EE\"})]})})]});};export default IncubationManagement;","map":{"version":3,"names":["React","useState","useEffect","Card","Table","Button","Space","Tag","Input","Select","Modal","Form","message","Popconfirm","Descriptions","Tabs","Row","Col","Statistic","List","Typography","Divider","PlusOutlined","EditOutlined","DeleteOutlined","SearchOutlined","BankOutlined","ProjectOutlined","TeamOutlined","useNavigate","institutionsAPI","incubationProjectsAPI","useAuth","dayjs","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Option","Search","TextArea","TabPane","Title","INSTITUTION_TYPES","value","label","PROJECT_STATUS","color","IncubationManagement","_stats$byType","_stats$byType$find","_stats$byType2","_stats$byType2$find","_stats$byType3","_stats$byType3$find","_stats$byType4","_stats$byType4$find","_selectedInstitution$","_INSTITUTION_TYPES$fi2","navigate","isAdmin","isInvestmentManager","canManage","activeTab","setActiveTab","institutions","setInstitutions","projects","setProjects","loading","setLoading","pagination","setPagination","current","pageSize","total","filters","setFilters","stats","setStats","modalVisible","setModalVisible","editingInstitution","setEditingInstitution","form","useForm","projectModalVisible","setProjectModalVisible","editingProject","setEditingProject","projectForm","selectedInstitution","setSelectedInstitution","fetchProjects","fetchInstitutions","fetchStats","response","getAll","page","limit","type","undefined","getTypeFromTab","data","prev","_response$data$pagina","error","_response$data$pagina2","getStats","console","tab","typeMap","getStatusColor","status","statusInfo","find","s","getStatusLabel","handleAddInstitution","resetFields","setFieldsValue","handleEditInstitution","record","handleDeleteInstitution","id","delete","success","_error$response","_error$response$data","handleModalOk","values","validateFields","update","create","_error$response2","_error$response2$data","handleViewInstitution","getOne","handleAddProject","institution","institution_id","parseInt","handleEditProject","handleDeleteProject","handleProjectModalOk","_error$response3","_error$response3$data","institutionColumns","title","dataIndex","key","render","text","onClick","children","_INSTITUTION_TYPES$fi","t","count","date","format","_","size","icon","onConfirm","danger","projectColumns","amount","toLocaleString","className","gutter","style","marginBottom","span","byType","prefix","activeKey","onChange","placeholder","onSearch","search","allowClear","columns","dataSource","rowKey","width","map","open","onOk","onCancel","layout","Item","name","rules","required","rows","i","initialValue","footer","column","bordered","contact_person","contact_phone","contact_email","address","website","created_by_name","created_at","description","length","renderItem","item","Meta","research_area","project_leader"],"sources":["/Users/nili/Documents/trae_projects/client/src/pages/IncubationManagement.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport {\n  Card,\n  Table,\n  Button,\n  Space,\n  Tag,\n  Input,\n  Select,\n  Modal,\n  Form,\n  message,\n  Popconfirm,\n  Descriptions,\n  Tabs,\n  Row,\n  Col,\n  Statistic,\n  List,\n  Typography,\n  Divider\n} from 'antd';\nimport {\n  PlusOutlined,\n  EditOutlined,\n  DeleteOutlined,\n  SearchOutlined,\n  BankOutlined,\n  ProjectOutlined,\n  TeamOutlined\n} from '@ant-design/icons';\nimport { useNavigate } from 'react-router-dom';\nimport { institutionsAPI, incubationProjectsAPI } from '../services/api';\nimport { useAuth } from '../contexts/AuthContext';\nimport dayjs from 'dayjs';\n\nconst { Option } = Select;\nconst { Search } = Input;\nconst { TextArea } = Input;\nconst { TabPane } = Tabs;\nconst { Title } = Typography;\n\nconst INSTITUTION_TYPES = [\n  { value: 'university', label: '高校' },\n  { value: 'research_institute', label: '研究所' },\n  { value: 'research_academy', label: '研究院' },\n  { value: 'enterprise_research', label: '企业研究机构' }\n];\n\nconst PROJECT_STATUS = [\n  { value: 'preparation', label: '准备阶段', color: 'default' },\n  { value: 'researching', label: '研发中', color: 'processing' },\n  { value: 'testing', label: '测试阶段', color: 'warning' },\n  { value: 'completed', label: '已完成', color: 'success' },\n  { value: 'suspended', label: '已暂停', color: 'error' }\n];\n\nconst IncubationManagement = () => {\n  const navigate = useNavigate();\n  const { isAdmin, isInvestmentManager } = useAuth();\n  const canManage = isAdmin() || isInvestmentManager();\n\n  const [activeTab, setActiveTab] = useState('universities');\n  const [institutions, setInstitutions] = useState([]);\n  const [projects, setProjects] = useState([]);\n  const [loading, setLoading] = useState(false);\n  const [pagination, setPagination] = useState({ current: 1, pageSize: 20, total: 0 });\n  const [filters, setFilters] = useState({});\n  const [stats, setStats] = useState({});\n\n  const [modalVisible, setModalVisible] = useState(false);\n  const [editingInstitution, setEditingInstitution] = useState(null);\n  const [form] = Form.useForm();\n\n  const [projectModalVisible, setProjectModalVisible] = useState(false);\n  const [editingProject, setEditingProject] = useState(null);\n  const [projectForm] = Form.useForm();\n  const [selectedInstitution, setSelectedInstitution] = useState(null);\n\n  useEffect(() => {\n    if (activeTab === 'projects') {\n      fetchProjects();\n    } else {\n      fetchInstitutions();\n    }\n    fetchStats();\n  }, [activeTab, pagination.current, pagination.pageSize, filters]);\n\n  const fetchInstitutions = async () => {\n    setLoading(true);\n    try {\n      const response = await institutionsAPI.getAll({\n        page: pagination.current,\n        limit: pagination.pageSize,\n        ...filters,\n        type: activeTab === 'projects' ? undefined : getTypeFromTab(activeTab)\n      });\n      setInstitutions(response.data.institutions);\n      setPagination(prev => ({\n        ...prev,\n        total: response.data.pagination?.total || 0\n      }));\n    } catch (error) {\n      message.error('获取机构列表失败');\n    } finally {\n      setLoading(false);\n    }\n  };\n\n  const fetchProjects = async () => {\n    setLoading(true);\n    try {\n      const response = await incubationProjectsAPI.getAll({\n        page: pagination.current,\n        limit: pagination.pageSize,\n        ...filters\n      });\n      setProjects(response.data.projects);\n      setPagination(prev => ({\n        ...prev,\n        total: response.data.pagination?.total || 0\n      }));\n    } catch (error) {\n      message.error('获取孵化项目列表失败');\n    } finally {\n      setLoading(false);\n    }\n  };\n\n  const fetchStats = async () => {\n    try {\n      const response = await institutionsAPI.getStats();\n      setStats(response.data);\n    } catch (error) {\n      console.error('获取统计数据失败:', error);\n    }\n  };\n\n  const getTypeFromTab = (tab) => {\n    const typeMap = {\n      'universities': 'university',\n      'research_institutes': 'research_institute',\n      'research_academies': 'research_academy',\n      'enterprise_research': 'enterprise_research'\n    };\n    return typeMap[tab];\n  };\n\n  const getStatusColor = (status) => {\n    const statusInfo = PROJECT_STATUS.find(s => s.value === status);\n    return statusInfo ? statusInfo.color : 'default';\n  };\n\n  const getStatusLabel = (status) => {\n    const statusInfo = PROJECT_STATUS.find(s => s.value === status);\n    return statusInfo ? statusInfo.label : status;\n  };\n\n  const handleAddInstitution = () => {\n    setEditingInstitution(null);\n    form.resetFields();\n    form.setFieldsValue({ type: getTypeFromTab(activeTab) });\n    setModalVisible(true);\n  };\n\n  const handleEditInstitution = (record) => {\n    setEditingInstitution(record);\n    form.setFieldsValue(record);\n    setModalVisible(true);\n  };\n\n  const handleDeleteInstitution = async (id) => {\n    try {\n      await institutionsAPI.delete(id);\n      message.success('机构删除成功');\n      fetchInstitutions();\n      fetchStats();\n    } catch (error) {\n      message.error(error.response?.data?.message || '删除失败');\n    }\n  };\n\n  const handleModalOk = async () => {\n    try {\n      const values = await form.validateFields();\n      if (editingInstitution) {\n        await institutionsAPI.update(editingInstitution.id, values);\n        message.success('机构更新成功');\n      } else {\n        await institutionsAPI.create(values);\n        message.success('机构创建成功');\n      }\n      setModalVisible(false);\n      fetchInstitutions();\n      fetchStats();\n    } catch (error) {\n      message.error(error.response?.data?.message || '操作失败');\n    }\n  };\n\n  const handleViewInstitution = async (record) => {\n    try {\n      const response = await institutionsAPI.getOne(record.id);\n      setSelectedInstitution(response.data);\n    } catch (error) {\n      message.error('获取机构详情失败');\n    }\n  };\n\n  const handleAddProject = (institution) => {\n    setEditingProject(null);\n    projectForm.resetFields();\n    projectForm.setFieldsValue({ institution_id: parseInt(institution.id) });\n    setProjectModalVisible(true);\n  };\n\n  const handleEditProject = (record) => {\n    setEditingProject(record);\n    projectForm.setFieldsValue(record);\n    setProjectModalVisible(true);\n  };\n\n  const handleDeleteProject = async (id) => {\n    try {\n      await incubationProjectsAPI.delete(id);\n      message.success('孵化项目删除成功');\n      fetchProjects();\n      fetchStats();\n    } catch (error) {\n      message.error('删除失败');\n    }\n  };\n\n  const handleProjectModalOk = async () => {\n    try {\n      const values = await projectForm.validateFields();\n      if (editingProject) {\n        await incubationProjectsAPI.update(editingProject.id, values);\n        message.success('孵化项目更新成功');\n      } else {\n        await incubationProjectsAPI.create(values);\n        message.success('孵化项目创建成功');\n      }\n      setProjectModalVisible(false);\n      fetchProjects();\n      fetchStats();\n    } catch (error) {\n      message.error(error.response?.data?.message || '操作失败');\n    }\n  };\n\n  const institutionColumns = [\n    {\n      title: '机构名称',\n      dataIndex: 'name',\n      key: 'name',\n      render: (text, record) => <a onClick={() => handleViewInstitution(record)}>{text}</a>\n    },\n    { title: '类型', dataIndex: 'type', key: 'type', render: (type) => INSTITUTION_TYPES.find(t => t.value === type)?.label || type },\n    { title: '联系人', dataIndex: 'contact_person', key: 'contact_person' },\n    { title: '联系电话', dataIndex: 'contact_phone', key: 'contact_phone' },\n    { title: '孵化项目数', dataIndex: 'project_count', key: 'project_count', render: (count) => <Tag color=\"blue\">{count}</Tag> },\n    { title: '创建时间', dataIndex: 'created_at', key: 'created_at', render: (date) => date ? dayjs(date).format('YYYY-MM-DD') : '-' },\n    {\n      title: '操作',\n      key: 'actions',\n      render: (_, record) => canManage && (\n        <Space>\n          <Button type=\"link\" size=\"small\" icon={<ProjectOutlined />} onClick={() => handleAddProject(record)}>添加项目</Button>\n          <Button type=\"link\" size=\"small\" icon={<EditOutlined />} onClick={() => handleEditInstitution(record)}>编辑</Button>\n          <Popconfirm title=\"确定要删除这个机构吗?\" onConfirm={() => handleDeleteInstitution(record.id)}>\n            <Button type=\"link\" size=\"small\" danger icon={<DeleteOutlined />}>删除</Button>\n          </Popconfirm>\n        </Space>\n      )\n    }\n  ];\n\n  const projectColumns = [\n    {\n      title: '项目名称',\n      dataIndex: 'name',\n      key: 'name',\n      render: (text, record) => <a onClick={() => navigate(`/incubation-projects/${record.id}`)}>{text}</a>\n    },\n    { title: '项目代码', dataIndex: 'code', key: 'code' },\n    { title: '所属机构', dataIndex: 'institution_name', key: 'institution_name' },\n    { title: '研发领域', dataIndex: 'research_area', key: 'research_area' },\n    { title: '项目负责人', dataIndex: 'project_leader', key: 'project_leader' },\n    {\n      title: '状态',\n      dataIndex: 'status',\n      key: 'status',\n      render: (status) => <Tag color={getStatusColor(status)}>{getStatusLabel(status)}</Tag>\n    },\n    { title: '资金(万)', dataIndex: 'funding_amount', key: 'funding_amount', render: (amount) => amount ? `¥${amount.toLocaleString()}` : '-' },\n    { title: '创建时间', dataIndex: 'created_at', key: 'created_at', render: (date) => date ? dayjs(date).format('YYYY-MM-DD') : '-' },\n    {\n      title: '操作',\n      key: 'actions',\n      render: (_, record) => canManage && (\n        <Space>\n          <Button type=\"link\" size=\"small\" icon={<EditOutlined />} onClick={() => handleEditProject(record)}>编辑</Button>\n          <Popconfirm title=\"确定要删除这个孵化项目吗?\" onConfirm={() => handleDeleteProject(record.id)}>\n            <Button type=\"link\" size=\"small\" danger icon={<DeleteOutlined />}>删除</Button>\n          </Popconfirm>\n        </Space>\n      )\n    }\n  ];\n\n  return (\n    <div>\n      <div className=\"page-header\">\n        <h1>机构项目孵化管理</h1>\n      </div>\n\n      <Row gutter={16} style={{ marginBottom: 24 }}>\n        <Col span={6}>\n          <Card>\n            <Statistic title=\"高校\" value={stats.byType?.find(t => t.type === 'university')?.count || 0} prefix={<BankOutlined />} />\n          </Card>\n        </Col>\n        <Col span={6}>\n          <Card>\n            <Statistic title=\"研究所\" value={stats.byType?.find(t => t.type === 'research_institute')?.count || 0} prefix={<TeamOutlined />} />\n          </Card>\n        </Col>\n        <Col span={6}>\n          <Card>\n            <Statistic title=\"研究院\" value={stats.byType?.find(t => t.type === 'research_academy')?.count || 0} prefix={<BankOutlined />} />\n          </Card>\n        </Col>\n        <Col span={6}>\n          <Card>\n            <Statistic title=\"企业研究机构\" value={stats.byType?.find(t => t.type === 'enterprise_research')?.count || 0} prefix={<TeamOutlined />} />\n          </Card>\n        </Col>\n      </Row>\n\n      <Card>\n        <Tabs activeKey={activeTab} onChange={setActiveTab}>\n          <TabPane tab=\"高校\" key=\"universities\">\n            <div className=\"filter-bar\" style={{ marginBottom: 16 }}>\n              <Space>\n                <Search placeholder=\"搜索机构名称\" onSearch={(value) => setFilters({ ...filters, search: value })} allowClear />\n                {canManage && <Button type=\"primary\" icon={<PlusOutlined />} onClick={handleAddInstitution}>添加机构</Button>}\n              </Space>\n            </div>\n            <Table columns={institutionColumns} dataSource={institutions} rowKey=\"id\" loading={loading} pagination={pagination} />\n          </TabPane>\n          <TabPane tab=\"研究所\" key=\"research_institutes\">\n            <div className=\"filter-bar\" style={{ marginBottom: 16 }}>\n              <Space>\n                <Search placeholder=\"搜索机构名称\" onSearch={(value) => setFilters({ ...filters, search: value })} allowClear />\n                {canManage && <Button type=\"primary\" icon={<PlusOutlined />} onClick={handleAddInstitution}>添加机构</Button>}\n              </Space>\n            </div>\n            <Table columns={institutionColumns} dataSource={institutions} rowKey=\"id\" loading={loading} pagination={pagination} />\n          </TabPane>\n          <TabPane tab=\"研究院\" key=\"research_academies\">\n            <div className=\"filter-bar\" style={{ marginBottom: 16 }}>\n              <Space>\n                <Search placeholder=\"搜索机构名称\" onSearch={(value) => setFilters({ ...filters, search: value })} allowClear />\n                {canManage && <Button type=\"primary\" icon={<PlusOutlined />} onClick={handleAddInstitution}>添加机构</Button>}\n              </Space>\n            </div>\n            <Table columns={institutionColumns} dataSource={institutions} rowKey=\"id\" loading={loading} pagination={pagination} />\n          </TabPane>\n          <TabPane tab=\"企业研究机构\" key=\"enterprise_research\">\n            <div className=\"filter-bar\" style={{ marginBottom: 16 }}>\n              <Space>\n                <Search placeholder=\"搜索机构名称\" onSearch={(value) => setFilters({ ...filters, search: value })} allowClear />\n                {canManage && <Button type=\"primary\" icon={<PlusOutlined />} onClick={handleAddInstitution}>添加机构</Button>}\n              </Space>\n            </div>\n            <Table columns={institutionColumns} dataSource={institutions} rowKey=\"id\" loading={loading} pagination={pagination} />\n          </TabPane>\n          <TabPane tab=\"所有孵化项目\" key=\"projects\">\n            <div className=\"filter-bar\" style={{ marginBottom: 16 }}>\n              <Space>\n                <Search placeholder=\"搜索项目名称\" onSearch={(value) => setFilters({ ...filters, search: value })} allowClear />\n                <Select placeholder=\"项目状态\" allowClear style={{ width: 120 }} onChange={(value) => setFilters({ ...filters, status: value })}>\n                  {PROJECT_STATUS.map(s => <Option key={s.value} value={s.value}>{s.label}</Option>)}\n                </Select>\n                {canManage && <Button type=\"primary\" icon={<PlusOutlined />} onClick={() => { setEditingProject(null); projectForm.resetFields(); setProjectModalVisible(true); }}>添加项目</Button>}\n              </Space>\n            </div>\n            <Table columns={projectColumns} dataSource={projects} rowKey=\"id\" loading={loading} pagination={pagination} />\n          </TabPane>\n        </Tabs>\n      </Card>\n\n      {/* 机构 Modal */}\n      <Modal\n        title={editingInstitution ? '编辑机构' : '添加机构'}\n        open={modalVisible}\n        onOk={handleModalOk}\n        onCancel={() => setModalVisible(false)}\n        width={700}\n      >\n        <Form form={form} layout=\"vertical\">\n          <Form.Item name=\"type\" label=\"机构类型\" rules={[{ required: true }]}>\n            <Select>\n              {INSTITUTION_TYPES.map(t => <Option key={t.value} value={t.value}>{t.label}</Option>)}\n            </Select>\n          </Form.Item>\n          <Form.Item name=\"name\" label=\"机构名称\" rules={[{ required: true }]}>\n            <Input placeholder=\"请输入机构名称\" />\n          </Form.Item>\n          <Form.Item name=\"description\" label=\"机构简介\">\n            <TextArea rows={3} placeholder=\"请输入机构简介\" />\n          </Form.Item>\n          <Row gutter={16}>\n            <Col span={12}>\n              <Form.Item name=\"contact_person\" label=\"联系人\">\n                <Input placeholder=\"请输入联系人\" />\n              </Form.Item>\n            </Col>\n            <Col span={12}>\n              <Form.Item name=\"contact_phone\" label=\"联系电话\">\n                <Input placeholder=\"请输入联系电话\" />\n              </Form.Item>\n            </Col>\n          </Row>\n          <Form.Item name=\"contact_email\" label=\"邮箱\">\n            <Input placeholder=\"请输入邮箱\" />\n          </Form.Item>\n          <Form.Item name=\"address\" label=\"地址\">\n            <Input placeholder=\"请输入地址\" />\n          </Form.Item>\n          <Form.Item name=\"website\" label=\"网站\">\n            <Input placeholder=\"请输入网站地址\" />\n          </Form.Item>\n        </Form>\n      </Modal>\n\n      {/* 孵化项目 Modal */}\n      <Modal\n        title={editingProject ? '编辑孵化项目' : '添加孵化项目'}\n        open={projectModalVisible}\n        onOk={handleProjectModalOk}\n        onCancel={() => setProjectModalVisible(false)}\n        width={900}\n      >\n        <Form form={projectForm} layout=\"vertical\">\n          <Row gutter={16}>\n            <Col span={12}>\n              <Form.Item name=\"institution_id\" label=\"所属机构\" rules={[{ required: true }]}>\n                <Select placeholder=\"请选择机构\">\n                  {institutions.map(i => <Option key={i.id} value={i.id}>{i.name}</Option>)}\n                </Select>\n              </Form.Item>\n            </Col>\n            <Col span={12}>\n              <Form.Item name=\"name\" label=\"项目名称\" rules={[{ required: true }]}>\n                <Input placeholder=\"请输入项目名称\" />\n              </Form.Item>\n            </Col>\n          </Row>\n          <Row gutter={16}>\n            <Col span={12}>\n              <Form.Item name=\"code\" label=\"项目代码\">\n                <Input placeholder=\"请输入项目代码\" />\n              </Form.Item>\n            </Col>\n            <Col span={12}>\n              <Form.Item name=\"research_area\" label=\"研发领域\">\n                <Input placeholder=\"请输入研发领域\" />\n              </Form.Item>\n            </Col>\n          </Row>\n          <Form.Item name=\"technology_description\" label=\"研发技术说明\">\n            <TextArea rows={4} placeholder=\"请输入研发技术说明\" />\n          </Form.Item>\n          <Form.Item name=\"innovation_points\" label=\"创新点\">\n            <TextArea rows={3} placeholder=\"请输入创新点\" />\n          </Form.Item>\n          <Row gutter={16}>\n            <Col span={12}>\n              <Form.Item name=\"project_leader\" label=\"牵头负责人\">\n                <Input placeholder=\"请输入负责人姓名\" />\n              </Form.Item>\n            </Col>\n            <Col span={12}>\n              <Form.Item name=\"leader_title\" label=\"负责人职称\">\n                <Input placeholder=\"请输入负责人职称\" />\n              </Form.Item>\n            </Col>\n          </Row>\n          <Row gutter={16}>\n            <Col span={12}>\n              <Form.Item name=\"development_stage\" label=\"发展阶段\">\n                <Select placeholder=\"请选择发展阶段\">\n                  <Option value=\"概念验证\">概念验证</Option>\n                  <Option value=\"实验室研发\">实验室研发</Option>\n                  <Option value=\"中试\">中试</Option>\n                  <Option value=\"产业化\">产业化</Option>\n                </Select>\n              </Form.Item>\n            </Col>\n            <Col span={12}>\n              <Form.Item name=\"status\" label=\"项目状态\" initialValue=\"preparation\">\n                <Select>\n                  {PROJECT_STATUS.map(s => <Option key={s.value} value={s.value}>{s.label}</Option>)}\n                </Select>\n              </Form.Item>\n            </Col>\n          </Row>\n          <Row gutter={16}>\n            <Col span={12}>\n              <Form.Item name=\"funding_amount\" label=\"资金(万)\">\n                <Input type=\"number\" placeholder=\"请输入资金\" />\n              </Form.Item>\n            </Col>\n            <Col span={12}>\n              <Form.Item name=\"funding_source\" label=\"资金来源\">\n                <Input placeholder=\"请输入资金来源\" />\n              </Form.Item>\n            </Col>\n          </Row>\n          <Divider>知识产权内容</Divider>\n          <Form.Item name=\"ip_description\" label=\"知识产权说明\">\n            <TextArea rows={3} placeholder=\"请输入知识产权说明\" />\n          </Form.Item>\n          <Row gutter={16}>\n            <Col span={8}>\n              <Form.Item name=\"ip_type\" label=\"知识产权类型\">\n                <Select placeholder=\"请选择\" allowClear>\n                  <Option value=\"发明专利\">发明专利</Option>\n                  <Option value=\"实用新型专利\">实用新型专利</Option>\n                  <Option value=\"外观设计专利\">外观设计专利</Option>\n                  <Option value=\"软件著作权\">软件著作权</Option>\n                  <Option value=\"商标\">商标</Option>\n                </Select>\n              </Form.Item>\n            </Col>\n            <Col span={8}>\n              <Form.Item name=\"ip_status\" label=\"知识产权状态\">\n                <Select placeholder=\"请选择\" allowClear>\n                  <Option value=\"已申请\">已申请</Option>\n                  <Option value=\"已受理\">已受理</Option>\n                  <Option value=\"已授权\">已授权</Option>\n                </Select>\n              </Form.Item>\n            </Col>\n            <Col span={8}>\n              <Form.Item name=\"ip_application_no\" label=\"申请号\">\n                <Input placeholder=\"请输入申请号\" />\n              </Form.Item>\n            </Col>\n          </Row>\n          <Form.Item name=\"ip_holder\" label=\"权利人\">\n            <Input placeholder=\"请输入权利人\" />\n          </Form.Item>\n          <Form.Item name=\"team_members\" label=\"团队成员\">\n            <TextArea rows={2} placeholder=\"请输入团队成员\" />\n          </Form.Item>\n          <Form.Item name=\"notes\" label=\"备注\">\n            <TextArea rows={2} placeholder=\"请输入备注\" />\n          </Form.Item>\n        </Form>\n      </Modal>\n\n      {/* 机构详情 Modal */}\n      <Modal\n        title={selectedInstitution?.institution?.name || '机构详情'}\n        open={!!selectedInstitution}\n        onCancel={() => setSelectedInstitution(null)}\n        footer={null}\n        width={800}\n      >\n        {selectedInstitution?.institution && (\n          <>\n            <Descriptions column={2} bordered>\n              <Descriptions.Item label=\"机构类型\">{INSTITUTION_TYPES.find(t => t.value === selectedInstitution.institution.type)?.label || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"机构名称\">{selectedInstitution.institution.name || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"联系人\">{selectedInstitution.institution.contact_person || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"联系电话\">{selectedInstitution.institution.contact_phone || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"邮箱\">{selectedInstitution.institution.contact_email || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"地址\">{selectedInstitution.institution.address || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"网站\">{selectedInstitution.institution.website || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"创建人\">{selectedInstitution.institution.created_by_name || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"创建时间\">{selectedInstitution.institution.created_at ? dayjs(selectedInstitution.institution.created_at).format('YYYY-MM-DD HH:mm') : '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"机构简介\" span={2}>{selectedInstitution.institution.description || '-'}</Descriptions.Item>\n            </Descriptions>\n            <Divider>孵化项目列表</Divider>\n            {selectedInstitution.projects && selectedInstitution.projects.length > 0 ? (\n              <List\n                size=\"small\"\n                dataSource={selectedInstitution.projects}\n                renderItem={item => (\n                  <List.Item key={item.id}>\n                    <List.Item.Meta\n                      title={<a onClick={() => navigate(`/incubation-projects/${item.id}`)}>{item.name || '-'}</a>}\n                      description={`研发领域：${item.research_area || '-'} | 负责人：${item.project_leader || '-'}`}\n                    />\n                    <Tag color={getStatusColor(item.status)}>{getStatusLabel(item.status)}</Tag>\n                  </List.Item>\n                )}\n              />\n            ) : <p>暂无孵化项目</p>}\n          </>\n        )}\n      </Modal>\n    </div>\n  );\n};\n\nexport default IncubationManagement;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}