{"ast":null,"code":"import React,{useState,useEffect}from'react';import{Card,Descriptions,Tag,Button,Space,Modal,Form,Input,Select,message,Row,Col,Divider,Spin,Alert}from'antd';import{ArrowLeftOutlined,EditOutlined}from'@ant-design/icons';import{useParams,useNavigate}from'react-router-dom';import{incubationProjectsAPI,institutionsAPI}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{TextArea}=Input;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 IncubationProjectDetail=()=>{const{id}=useParams();const navigate=useNavigate();const{isAdmin,isInvestmentManager}=useAuth();const canManage=isAdmin()||isInvestmentManager();const[project,setProject]=useState(null);const[loading,setLoading]=useState(true);const[institutions,setInstitutions]=useState([]);const[modalVisible,setModalVisible]=useState(false);const[form]=Form.useForm();useEffect(()=>{fetchProject();fetchInstitutions();},[id]);const fetchProject=async()=>{setLoading(true);try{const response=await incubationProjectsAPI.getOne(id);setProject(response.data);}catch(error){message.error('获取孵化项目详情失败');}finally{setLoading(false);}};const fetchInstitutions=async()=>{try{const response=await institutionsAPI.getAll({limit:100});setInstitutions(response.data.institutions);}catch(error){console.error('获取机构列表失败:',error);}};const handleEdit=()=>{if(project!==null&&project!==void 0&&project.project){form.setFieldsValue(project.project);setModalVisible(true);}};const handleModalOk=async()=>{try{const values=await form.validateFields();await incubationProjectsAPI.update(id,values);message.success('孵化项目更新成功');setModalVisible(false);fetchProject();}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 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;};if(loading){return/*#__PURE__*/_jsx(\"div\",{style:{display:'flex',justifyContent:'center',padding:48},children:/*#__PURE__*/_jsx(Spin,{size:\"large\"})});}if(!project||!project.project){return/*#__PURE__*/_jsx(\"div\",{style:{padding:24},children:\"\\u5B75\\u5316\\u9879\\u76EE\\u4E0D\\u5B58\\u5728\"});}const proj=project.project;return/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{marginBottom:16},children:/*#__PURE__*/_jsx(Button,{icon:/*#__PURE__*/_jsx(ArrowLeftOutlined,{}),onClick:()=>navigate('/incubation'),children:\"\\u8FD4\\u56DE\"})}),/*#__PURE__*/_jsxs(Card,{title:proj.name,extra:/*#__PURE__*/_jsxs(Space,{children:[/*#__PURE__*/_jsx(Tag,{color:getStatusColor(proj.status),children:getStatusLabel(proj.status)}),canManage&&/*#__PURE__*/_jsx(Button,{icon:/*#__PURE__*/_jsx(EditOutlined,{}),onClick:handleEdit,children:\"\\u7F16\\u8F91\"})]}),children:[/*#__PURE__*/_jsxs(Row,{gutter:[24,24],children:[/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsxs(Descriptions,{column:1,bordered:true,size:\"small\",children:[/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u9879\\u76EE\\u4EE3\\u7801\",children:proj.code||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u6240\\u5C5E\\u673A\\u6784\",children:proj.institution_name||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u7814\\u53D1\\u9886\\u57DF\",children:proj.research_area||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u53D1\\u5C55\\u9636\\u6BB5\",children:proj.development_stage||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u8D44\\u91D1(\\u4E07)\",children:proj.funding_amount?`¥${proj.funding_amount.toLocaleString()}`:'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u8D44\\u91D1\\u6765\\u6E90\",children:proj.funding_source||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u5F00\\u59CB\\u65E5\\u671F\",children:proj.start_date||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u7ED3\\u675F\\u65E5\\u671F\",children:proj.end_date||'-'})]})}),/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsxs(Descriptions,{column:1,bordered:true,size:\"small\",children:[/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u7275\\u5934\\u8D1F\\u8D23\\u4EBA\",children:proj.project_leader||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u8D1F\\u8D23\\u4EBA\\u804C\\u79F0\",children:proj.leader_title||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u8D1F\\u8D23\\u4EBA\\u8054\\u7CFB\\u65B9\\u5F0F\",children:proj.leader_contact||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u56E2\\u961F\\u6210\\u5458\",children:proj.team_members||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u521B\\u5EFA\\u4EBA\",children:proj.created_by_name||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u521B\\u5EFA\\u65F6\\u95F4\",children:proj.created_at?dayjs(proj.created_at).format('YYYY-MM-DD HH:mm'):'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u66F4\\u65B0\\u65F6\\u95F4\",children:proj.updated_at?dayjs(proj.updated_at).format('YYYY-MM-DD HH:mm'):'-'})]})})]}),/*#__PURE__*/_jsx(Divider,{children:\"\\u7814\\u53D1\\u6280\\u672F\\u8BF4\\u660E\"}),/*#__PURE__*/_jsx(Card,{size:\"small\",children:/*#__PURE__*/_jsx(\"p\",{style:{lineHeight:1.8},children:proj.technology_description||'暂无研发技术说明'})}),/*#__PURE__*/_jsx(Divider,{children:\"\\u521B\\u65B0\\u70B9\"}),/*#__PURE__*/_jsx(Card,{size:\"small\",children:/*#__PURE__*/_jsx(\"p\",{style:{lineHeight:1.8},children:proj.innovation_points||'暂无创新点说明'})}),/*#__PURE__*/_jsx(Divider,{children:\"\\u9879\\u76EE\\u76EE\\u6807\"}),/*#__PURE__*/_jsx(Card,{size:\"small\",children:/*#__PURE__*/_jsx(\"p\",{style:{lineHeight:1.8},children:proj.objectives||'暂无项目目标'})}),/*#__PURE__*/_jsx(Divider,{children:\"\\u9884\\u671F\\u6210\\u679C\"}),/*#__PURE__*/_jsx(Card,{size:\"small\",children:/*#__PURE__*/_jsx(\"p\",{style:{lineHeight:1.8},children:proj.expected_outcomes||'暂无预期成果'})}),/*#__PURE__*/_jsx(Divider,{children:\"\\u7814\\u53D1\\u8FDB\\u5EA6\"}),/*#__PURE__*/_jsx(Card,{size:\"small\",children:/*#__PURE__*/_jsx(\"p\",{style:{lineHeight:1.8},children:proj.research_progress||'暂无研发进度'})}),/*#__PURE__*/_jsx(Divider,{children:\"\\u77E5\\u8BC6\\u4EA7\\u6743\\u5185\\u5BB9\"}),/*#__PURE__*/_jsx(Card,{size:\"small\",children:/*#__PURE__*/_jsxs(Descriptions,{column:2,bordered:true,size:\"small\",children:[/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u77E5\\u8BC6\\u4EA7\\u6743\\u8BF4\\u660E\",children:proj.ip_description||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u77E5\\u8BC6\\u4EA7\\u6743\\u7C7B\\u578B\",children:proj.ip_type&&/*#__PURE__*/_jsx(Tag,{color:\"blue\",children:proj.ip_type})}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u77E5\\u8BC6\\u4EA7\\u6743\\u72B6\\u6001\",children:proj.ip_status&&/*#__PURE__*/_jsx(Tag,{color:\"green\",children:proj.ip_status})}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u7533\\u8BF7\\u53F7\",children:proj.ip_application_no||'-'}),/*#__PURE__*/_jsx(Descriptions.Item,{label:\"\\u6743\\u5229\\u4EBA\",children:proj.ip_holder||'-'})]})}),/*#__PURE__*/_jsx(Divider,{children:\"\\u5E02\\u573A\\u5206\\u6790\"}),/*#__PURE__*/_jsx(Card,{size:\"small\",children:/*#__PURE__*/_jsx(\"p\",{style:{lineHeight:1.8},children:proj.market_analysis||'暂无市场分析'})}),/*#__PURE__*/_jsx(Divider,{children:\"\\u5408\\u4F5C\\u9700\\u6C42\"}),/*#__PURE__*/_jsx(Card,{size:\"small\",children:/*#__PURE__*/_jsx(\"p\",{style:{lineHeight:1.8},children:proj.collaboration_needs||'暂无合作需求'})}),/*#__PURE__*/_jsx(Divider,{children:\"\\u5DF2\\u83B7\\u6210\\u5C31\"}),/*#__PURE__*/_jsx(Card,{size:\"small\",children:/*#__PURE__*/_jsx(\"p\",{style:{lineHeight:1.8},children:proj.achievements||'暂无已获成就'})}),(proj.notes||proj.tags)&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Divider,{children:\"\\u5907\\u6CE8\"}),/*#__PURE__*/_jsxs(Card,{size:\"small\",children:[proj.tags&&/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:8},children:[/*#__PURE__*/_jsx(\"strong\",{children:\"\\u6807\\u7B7E\\uFF1A\"}),proj.tags.split(',').map((tag,i)=>/*#__PURE__*/_jsx(Tag,{color:\"blue\",children:tag.trim()},i))]}),/*#__PURE__*/_jsx(\"p\",{style:{lineHeight:1.8},children:proj.notes||''})]})]})]}),/*#__PURE__*/_jsx(Modal,{title:\"\\u7F16\\u8F91\\u5B75\\u5316\\u9879\\u76EE\",open:modalVisible,onOk:handleModalOk,onCancel:()=>setModalVisible(false),width:900,children:/*#__PURE__*/_jsxs(Form,{form:form,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,{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,{})})})]}),/*#__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,{})})}),/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsx(Form.Item,{name:\"research_area\",label:\"\\u7814\\u53D1\\u9886\\u57DF\",children:/*#__PURE__*/_jsx(Input,{})})})]}),/*#__PURE__*/_jsx(Form.Item,{name:\"technology_description\",label:\"\\u7814\\u53D1\\u6280\\u672F\\u8BF4\\u660E\",children:/*#__PURE__*/_jsx(TextArea,{rows:4})}),/*#__PURE__*/_jsx(Form.Item,{name:\"innovation_points\",label:\"\\u521B\\u65B0\\u70B9\",children:/*#__PURE__*/_jsx(TextArea,{rows:3})}),/*#__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,{})})}),/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsx(Form.Item,{name:\"leader_title\",label:\"\\u8D1F\\u8D23\\u4EBA\\u804C\\u79F0\",children:/*#__PURE__*/_jsx(Input,{})})})]}),/*#__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,{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\",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\"})})}),/*#__PURE__*/_jsx(Col,{span:12,children:/*#__PURE__*/_jsx(Form.Item,{name:\"funding_source\",label:\"\\u8D44\\u91D1\\u6765\\u6E90\",children:/*#__PURE__*/_jsx(Input,{})})})]}),/*#__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})}),/*#__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,{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,{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,{})})})]}),/*#__PURE__*/_jsx(Form.Item,{name:\"ip_holder\",label:\"\\u6743\\u5229\\u4EBA\",children:/*#__PURE__*/_jsx(Input,{})}),/*#__PURE__*/_jsx(Form.Item,{name:\"team_members\",label:\"\\u56E2\\u961F\\u6210\\u5458\",children:/*#__PURE__*/_jsx(TextArea,{rows:2})}),/*#__PURE__*/_jsx(Form.Item,{name:\"notes\",label:\"\\u5907\\u6CE8\",children:/*#__PURE__*/_jsx(TextArea,{rows:2})})]})})]});};export default IncubationProjectDetail;","map":{"version":3,"names":["React","useState","useEffect","Card","Descriptions","Tag","Button","Space","Modal","Form","Input","Select","message","Row","Col","Divider","Spin","Alert","ArrowLeftOutlined","EditOutlined","useParams","useNavigate","incubationProjectsAPI","institutionsAPI","useAuth","dayjs","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Option","TextArea","PROJECT_STATUS","value","label","color","IncubationProjectDetail","id","navigate","isAdmin","isInvestmentManager","canManage","project","setProject","loading","setLoading","institutions","setInstitutions","modalVisible","setModalVisible","form","useForm","fetchProject","fetchInstitutions","response","getOne","data","error","getAll","limit","console","handleEdit","setFieldsValue","handleModalOk","values","validateFields","update","success","_error$response","_error$response$data","getStatusColor","status","statusInfo","find","s","getStatusLabel","style","display","justifyContent","padding","children","size","proj","marginBottom","icon","onClick","title","name","extra","gutter","span","column","bordered","Item","code","institution_name","research_area","development_stage","funding_amount","toLocaleString","funding_source","start_date","end_date","project_leader","leader_title","leader_contact","team_members","created_by_name","created_at","format","updated_at","lineHeight","technology_description","innovation_points","objectives","expected_outcomes","research_progress","ip_description","ip_type","ip_status","ip_application_no","ip_holder","market_analysis","collaboration_needs","achievements","notes","tags","split","map","tag","i","trim","open","onOk","onCancel","width","layout","rules","required","rows","type","allowClear"],"sources":["/Users/nili/Documents/trae_projects/client/src/pages/IncubationProjectDetail.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport {\n  Card,\n  Descriptions,\n  Tag,\n  Button,\n  Space,\n  Modal,\n  Form,\n  Input,\n  Select,\n  message,\n  Row,\n  Col,\n  Divider,\n  Spin,\n  Alert\n} from 'antd';\nimport { ArrowLeftOutlined, EditOutlined } from '@ant-design/icons';\nimport { useParams, useNavigate } from 'react-router-dom';\nimport { incubationProjectsAPI, institutionsAPI } from '../services/api';\nimport { useAuth } from '../contexts/AuthContext';\nimport dayjs from 'dayjs';\n\nconst { Option } = Select;\nconst { TextArea } = Input;\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 IncubationProjectDetail = () => {\n  const { id } = useParams();\n  const navigate = useNavigate();\n  const { isAdmin, isInvestmentManager } = useAuth();\n  const canManage = isAdmin() || isInvestmentManager();\n\n  const [project, setProject] = useState(null);\n  const [loading, setLoading] = useState(true);\n  const [institutions, setInstitutions] = useState([]);\n  const [modalVisible, setModalVisible] = useState(false);\n  const [form] = Form.useForm();\n\n  useEffect(() => {\n    fetchProject();\n    fetchInstitutions();\n  }, [id]);\n\n  const fetchProject = async () => {\n    setLoading(true);\n    try {\n      const response = await incubationProjectsAPI.getOne(id);\n      setProject(response.data);\n    } catch (error) {\n      message.error('获取孵化项目详情失败');\n    } finally {\n      setLoading(false);\n    }\n  };\n\n  const fetchInstitutions = async () => {\n    try {\n      const response = await institutionsAPI.getAll({ limit: 100 });\n      setInstitutions(response.data.institutions);\n    } catch (error) {\n      console.error('获取机构列表失败:', error);\n    }\n  };\n\n  const handleEdit = () => {\n    if (project?.project) {\n      form.setFieldsValue(project.project);\n      setModalVisible(true);\n    }\n  };\n\n  const handleModalOk = async () => {\n    try {\n      const values = await form.validateFields();\n      await incubationProjectsAPI.update(id, values);\n      message.success('孵化项目更新成功');\n      setModalVisible(false);\n      fetchProject();\n    } catch (error) {\n      message.error(error.response?.data?.message || '更新失败');\n    }\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  if (loading) {\n    return (\n      <div style={{ display: 'flex', justifyContent: 'center', padding: 48 }}>\n        <Spin size=\"large\" />\n      </div>\n    );\n  }\n\n  if (!project || !project.project) {\n    return <div style={{ padding: 24 }}>孵化项目不存在</div>;\n  }\n\n  const proj = project.project;\n\n  return (\n    <div>\n      <div style={{ marginBottom: 16 }}>\n        <Button icon={<ArrowLeftOutlined />} onClick={() => navigate('/incubation')}>返回</Button>\n      </div>\n\n      <Card\n        title={proj.name}\n        extra={\n          <Space>\n            <Tag color={getStatusColor(proj.status)}>{getStatusLabel(proj.status)}</Tag>\n            {canManage && <Button icon={<EditOutlined />} onClick={handleEdit}>编辑</Button>}\n          </Space>\n        }\n      >\n        <Row gutter={[24, 24]}>\n          <Col span={12}>\n            <Descriptions column={1} bordered size=\"small\">\n              <Descriptions.Item label=\"项目代码\">{proj.code || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"所属机构\">{proj.institution_name || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"研发领域\">{proj.research_area || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"发展阶段\">{proj.development_stage || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"资金(万)\">{proj.funding_amount ? `¥${proj.funding_amount.toLocaleString()}` : '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"资金来源\">{proj.funding_source || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"开始日期\">{proj.start_date || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"结束日期\">{proj.end_date || '-'}</Descriptions.Item>\n            </Descriptions>\n          </Col>\n          <Col span={12}>\n            <Descriptions column={1} bordered size=\"small\">\n              <Descriptions.Item label=\"牵头负责人\">{proj.project_leader || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"负责人职称\">{proj.leader_title || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"负责人联系方式\">{proj.leader_contact || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"团队成员\">{proj.team_members || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"创建人\">{proj.created_by_name || '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"创建时间\">{proj.created_at ? dayjs(proj.created_at).format('YYYY-MM-DD HH:mm') : '-'}</Descriptions.Item>\n              <Descriptions.Item label=\"更新时间\">{proj.updated_at ? dayjs(proj.updated_at).format('YYYY-MM-DD HH:mm') : '-'}</Descriptions.Item>\n            </Descriptions>\n          </Col>\n        </Row>\n\n        <Divider>研发技术说明</Divider>\n        <Card size=\"small\">\n          <p style={{ lineHeight: 1.8 }}>{proj.technology_description || '暂无研发技术说明'}</p>\n        </Card>\n\n        <Divider>创新点</Divider>\n        <Card size=\"small\">\n          <p style={{ lineHeight: 1.8 }}>{proj.innovation_points || '暂无创新点说明'}</p>\n        </Card>\n\n        <Divider>项目目标</Divider>\n        <Card size=\"small\">\n          <p style={{ lineHeight: 1.8 }}>{proj.objectives || '暂无项目目标'}</p>\n        </Card>\n\n        <Divider>预期成果</Divider>\n        <Card size=\"small\">\n          <p style={{ lineHeight: 1.8 }}>{proj.expected_outcomes || '暂无预期成果'}</p>\n        </Card>\n\n        <Divider>研发进度</Divider>\n        <Card size=\"small\">\n          <p style={{ lineHeight: 1.8 }}>{proj.research_progress || '暂无研发进度'}</p>\n        </Card>\n\n        <Divider>知识产权内容</Divider>\n        <Card size=\"small\">\n          <Descriptions column={2} bordered size=\"small\">\n            <Descriptions.Item label=\"知识产权说明\">{proj.ip_description || '-'}</Descriptions.Item>\n            <Descriptions.Item label=\"知识产权类型\">\n              {proj.ip_type && <Tag color=\"blue\">{proj.ip_type}</Tag>}\n            </Descriptions.Item>\n            <Descriptions.Item label=\"知识产权状态\">\n              {proj.ip_status && <Tag color=\"green\">{proj.ip_status}</Tag>}\n            </Descriptions.Item>\n            <Descriptions.Item label=\"申请号\">{proj.ip_application_no || '-'}</Descriptions.Item>\n            <Descriptions.Item label=\"权利人\">{proj.ip_holder || '-'}</Descriptions.Item>\n          </Descriptions>\n        </Card>\n\n        <Divider>市场分析</Divider>\n        <Card size=\"small\">\n          <p style={{ lineHeight: 1.8 }}>{proj.market_analysis || '暂无市场分析'}</p>\n        </Card>\n\n        <Divider>合作需求</Divider>\n        <Card size=\"small\">\n          <p style={{ lineHeight: 1.8 }}>{proj.collaboration_needs || '暂无合作需求'}</p>\n        </Card>\n\n        <Divider>已获成就</Divider>\n        <Card size=\"small\">\n          <p style={{ lineHeight: 1.8 }}>{proj.achievements || '暂无已获成就'}</p>\n        </Card>\n\n        {(proj.notes || proj.tags) && (\n          <>\n            <Divider>备注</Divider>\n            <Card size=\"small\">\n              {proj.tags && (\n                <div style={{ marginBottom: 8 }}>\n                  <strong>标签：</strong>\n                  {proj.tags.split(',').map((tag, i) => <Tag key={i} color=\"blue\">{tag.trim()}</Tag>)}\n                </div>\n              )}\n              <p style={{ lineHeight: 1.8 }}>{proj.notes || ''}</p>\n            </Card>\n          </>\n        )}\n      </Card>\n\n      <Modal\n        title=\"编辑孵化项目\"\n        open={modalVisible}\n        onOk={handleModalOk}\n        onCancel={() => setModalVisible(false)}\n        width={900}\n      >\n        <Form form={form} layout=\"vertical\">\n          <Row gutter={16}>\n            <Col span={12}>\n              <Form.Item name=\"institution_id\" label=\"所属机构\" rules={[{ required: true }]}>\n                <Select>\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 />\n              </Form.Item>\n            </Col>\n          </Row>\n          <Row gutter={16}>\n            <Col span={12}>\n              <Form.Item name=\"code\" label=\"项目代码\">\n                <Input />\n              </Form.Item>\n            </Col>\n            <Col span={12}>\n              <Form.Item name=\"research_area\" label=\"研发领域\">\n                <Input />\n              </Form.Item>\n            </Col>\n          </Row>\n          <Form.Item name=\"technology_description\" label=\"研发技术说明\">\n            <TextArea rows={4} />\n          </Form.Item>\n          <Form.Item name=\"innovation_points\" label=\"创新点\">\n            <TextArea rows={3} />\n          </Form.Item>\n          <Row gutter={16}>\n            <Col span={12}>\n              <Form.Item name=\"project_leader\" label=\"牵头负责人\">\n                <Input />\n              </Form.Item>\n            </Col>\n            <Col span={12}>\n              <Form.Item name=\"leader_title\" label=\"负责人职称\">\n                <Input />\n              </Form.Item>\n            </Col>\n          </Row>\n          <Row gutter={16}>\n            <Col span={12}>\n              <Form.Item name=\"development_stage\" label=\"发展阶段\">\n                <Select>\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=\"项目状态\">\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\" />\n              </Form.Item>\n            </Col>\n            <Col span={12}>\n              <Form.Item name=\"funding_source\" label=\"资金来源\">\n                <Input />\n              </Form.Item>\n            </Col>\n          </Row>\n          <Divider>知识产权内容</Divider>\n          <Form.Item name=\"ip_description\" label=\"知识产权说明\">\n            <TextArea rows={3} />\n          </Form.Item>\n          <Row gutter={16}>\n            <Col span={8}>\n              <Form.Item name=\"ip_type\" label=\"知识产权类型\">\n                <Select 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 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 />\n              </Form.Item>\n            </Col>\n          </Row>\n          <Form.Item name=\"ip_holder\" label=\"权利人\">\n            <Input />\n          </Form.Item>\n          <Form.Item name=\"team_members\" label=\"团队成员\">\n            <TextArea rows={2} />\n          </Form.Item>\n          <Form.Item name=\"notes\" label=\"备注\">\n            <TextArea rows={2} />\n          </Form.Item>\n        </Form>\n      </Modal>\n    </div>\n  );\n};\n\nexport default IncubationProjectDetail;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}