{"ast":null,"code":"var _jsxFileName = \"/Users/nili/Documents/trae_projects/client/src/pages/CandidateProjects.js\",\n  _s = $RefreshSig$();\nimport React, { useState, useEffect } from 'react';\nimport { Table, Card, Button, Space, Tag, Input, Select, Modal, Form, message, Popconfirm, Descriptions, Row, Col, Rate, Timeline, Divider } from 'antd';\nimport { PlusOutlined, EditOutlined, DeleteOutlined, EyeOutlined, SearchOutlined, SwapOutlined } from '@ant-design/icons';\nimport { candidateProjectsAPI } from '../services/api';\nimport { useNavigate } from 'react-router-dom';\nimport { useAuth } from '../contexts/AuthContext';\nimport dayjs from 'dayjs';\nimport { jsxDEV as _jsxDEV, Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst {\n  Option\n} = Select;\nconst {\n  Search\n} = Input;\nconst {\n  TextArea\n} = Input;\nconst statusColors = {\n  pending: 'default',\n  reviewing: 'blue',\n  approved: 'green',\n  rejected: 'red',\n  converted: 'purple'\n};\nconst statusTexts = {\n  pending: '待审核',\n  reviewing: '审核中',\n  approved: '已通过',\n  rejected: '已拒绝',\n  converted: '已转化'\n};\nconst CandidateProjects = () => {\n  _s();\n  const [projects, setProjects] = useState([]);\n  const [loading, setLoading] = useState(false);\n  const [pagination, setPagination] = useState({\n    current: 1,\n    pageSize: 20,\n    total: 0\n  });\n  const [filters, setFilters] = useState({});\n  const {\n    isInvestmentManager\n  } = useAuth();\n  const navigate = useNavigate();\n  const [modalVisible, setModalVisible] = useState(false);\n  const [detailVisible, setDetailVisible] = useState(false);\n  const [editingProject, setEditingProject] = useState(null);\n  const [selectedProject, setSelectedProject] = useState(null);\n  const [form] = Form.useForm();\n  useEffect(() => {\n    fetchProjects();\n  }, [pagination.current, pagination.pageSize, filters]);\n  const fetchProjects = async () => {\n    setLoading(true);\n    try {\n      const response = await candidateProjectsAPI.getAll({\n        page: pagination.current,\n        limit: pagination.pageSize,\n        ...filters\n      });\n      setProjects(response.data.candidate_projects);\n      setPagination(prev => {\n        var _response$data$pagina;\n        return {\n          ...prev,\n          total: ((_response$data$pagina = response.data.pagination) === null || _response$data$pagina === void 0 ? void 0 : _response$data$pagina.total) || 0\n        };\n      });\n    } catch (error) {\n      message.error('获取备选项目列表失败');\n    } finally {\n      setLoading(false);\n    }\n  };\n  const handleDelete = async id => {\n    try {\n      await candidateProjectsAPI.delete(id);\n      message.success('项目删除成功');\n      fetchProjects();\n    } catch (error) {\n      message.error('删除失败');\n    }\n  };\n  const handleConvert = async id => {\n    try {\n      await candidateProjectsAPI.convert(id);\n      message.success('项目已成功转化为正式项目');\n      fetchProjects();\n    } catch (error) {\n      message.error('转化失败');\n    }\n  };\n  const openCreateModal = () => {\n    setEditingProject(null);\n    form.resetFields();\n    setModalVisible(true);\n  };\n  const openEditModal = project => {\n    setEditingProject(project);\n    form.setFieldsValue({\n      ...project,\n      companyName: project.company_name\n    });\n    setModalVisible(true);\n  };\n  const openDetailModal = project => {\n    setSelectedProject(project);\n    setDetailVisible(true);\n  };\n  const handleModalOk = async () => {\n    try {\n      const values = await form.validateFields();\n      if (editingProject) {\n        await candidateProjectsAPI.update(editingProject.id, values);\n        message.success('项目更新成功');\n      } else {\n        await candidateProjectsAPI.create(values);\n        message.success('项目创建成功');\n      }\n      setModalVisible(false);\n      fetchProjects();\n    } catch (error) {\n      var _error$response, _error$response$data;\n      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) || '操作失败');\n    }\n  };\n  const columns = [{\n    title: '项目名称',\n    dataIndex: 'name',\n    key: 'name',\n    render: (text, record) => /*#__PURE__*/_jsxDEV(\"a\", {\n      onClick: () => openDetailModal(record),\n      children: text\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 155,\n      columnNumber: 9\n    }, this)\n  }, {\n    title: '公司名称',\n    dataIndex: 'company_name',\n    key: 'company_name'\n  }, {\n    title: '行业',\n    dataIndex: 'industry',\n    key: 'industry',\n    render: industry => industry && /*#__PURE__*/_jsxDEV(Tag, {\n      color: \"blue\",\n      children: industry\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 167,\n      columnNumber: 41\n    }, this)\n  }, {\n    title: '来源',\n    dataIndex: 'source',\n    key: 'source'\n  }, {\n    title: '状态',\n    dataIndex: 'status',\n    key: 'status',\n    render: status => /*#__PURE__*/_jsxDEV(Tag, {\n      color: statusColors[status],\n      children: statusTexts[status]\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 179,\n      columnNumber: 9\n    }, this)\n  }, {\n    title: '评分',\n    dataIndex: 'rating',\n    key: 'rating',\n    render: rating => rating && /*#__PURE__*/_jsxDEV(Rate, {\n      disabled: true,\n      defaultValue: rating\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 186,\n      columnNumber: 37\n    }, this)\n  }, {\n    title: '创建人',\n    dataIndex: 'created_by_name',\n    key: 'created_by_name'\n  }, {\n    title: '创建时间',\n    dataIndex: 'created_at',\n    key: 'created_at',\n    render: date => dayjs(date).format('YYYY-MM-DD')\n  }, {\n    title: '操作',\n    key: 'actions',\n    render: (_, record) => /*#__PURE__*/_jsxDEV(Space, {\n      children: [/*#__PURE__*/_jsxDEV(Button, {\n        type: \"link\",\n        size: \"small\",\n        icon: /*#__PURE__*/_jsxDEV(EyeOutlined, {}, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 204,\n          columnNumber: 50\n        }, this),\n        onClick: () => openDetailModal(record),\n        children: \"\\u67E5\\u770B\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 204,\n        columnNumber: 11\n      }, this), isInvestmentManager() && /*#__PURE__*/_jsxDEV(_Fragment, {\n        children: [/*#__PURE__*/_jsxDEV(Button, {\n          type: \"link\",\n          size: \"small\",\n          icon: /*#__PURE__*/_jsxDEV(EditOutlined, {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 209,\n            columnNumber: 54\n          }, this),\n          onClick: () => openEditModal(record),\n          children: \"\\u7F16\\u8F91\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 209,\n          columnNumber: 15\n        }, this), record.status !== 'converted' && /*#__PURE__*/_jsxDEV(Button, {\n          type: \"link\",\n          size: \"small\",\n          icon: /*#__PURE__*/_jsxDEV(SwapOutlined, {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 213,\n            columnNumber: 56\n          }, this),\n          onClick: () => handleConvert(record.id),\n          children: \"\\u8F6C\\u5316\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 213,\n          columnNumber: 17\n        }, this), /*#__PURE__*/_jsxDEV(Popconfirm, {\n          title: \"\\u786E\\u5B9A\\u8981\\u5220\\u9664\\u8FD9\\u4E2A\\u9879\\u76EE\\u5417?\",\n          onConfirm: () => handleDelete(record.id),\n          children: /*#__PURE__*/_jsxDEV(Button, {\n            type: \"link\",\n            size: \"small\",\n            danger: true,\n            icon: /*#__PURE__*/_jsxDEV(DeleteOutlined, {}, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 218,\n              columnNumber: 63\n            }, this),\n            children: \"\\u5220\\u9664\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 218,\n            columnNumber: 17\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 217,\n          columnNumber: 15\n        }, this)]\n      }, void 0, true)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 203,\n      columnNumber: 9\n    }, this)\n  }];\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    children: [/*#__PURE__*/_jsxDEV(\"div\", {\n      className: \"page-header\",\n      children: /*#__PURE__*/_jsxDEV(\"h1\", {\n        children: \"\\u5907\\u9009\\u9879\\u76EE\\u5E93\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 232,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 231,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Card, {\n      children: [/*#__PURE__*/_jsxDEV(\"div\", {\n        className: \"filter-bar\",\n        children: /*#__PURE__*/_jsxDEV(Row, {\n          gutter: 16,\n          children: [/*#__PURE__*/_jsxDEV(Col, {\n            span: 6,\n            children: /*#__PURE__*/_jsxDEV(Search, {\n              placeholder: \"\\u641C\\u7D22\\u9879\\u76EE\\u540D\\u79F0\\u6216\\u516C\\u53F8\",\n              onSearch: value => setFilters(prev => ({\n                ...prev,\n                search: value\n              })),\n              allowClear: true\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 239,\n              columnNumber: 15\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 238,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Col, {\n            span: 4,\n            children: /*#__PURE__*/_jsxDEV(Select, {\n              placeholder: \"\\u72B6\\u6001\",\n              allowClear: true,\n              style: {\n                width: '100%'\n              },\n              onChange: value => setFilters(prev => ({\n                ...prev,\n                status: value\n              })),\n              children: Object.entries(statusTexts).map(([key, text]) => /*#__PURE__*/_jsxDEV(Option, {\n                value: key,\n                children: text\n              }, key, false, {\n                fileName: _jsxFileName,\n                lineNumber: 253,\n                columnNumber: 19\n              }, this))\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 246,\n              columnNumber: 15\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 245,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Col, {\n            span: 4,\n            children: /*#__PURE__*/_jsxDEV(Select, {\n              placeholder: \"\\u884C\\u4E1A\",\n              allowClear: true,\n              style: {\n                width: '100%'\n              },\n              onChange: value => setFilters(prev => ({\n                ...prev,\n                industry: value\n              })),\n              children: [/*#__PURE__*/_jsxDEV(Option, {\n                value: \"\\u4EBA\\u5DE5\\u667A\\u80FD\",\n                children: \"\\u4EBA\\u5DE5\\u667A\\u80FD\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 264,\n                columnNumber: 17\n              }, this), /*#__PURE__*/_jsxDEV(Option, {\n                value: \"\\u751F\\u7269\\u533B\\u836F\",\n                children: \"\\u751F\\u7269\\u533B\\u836F\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 265,\n                columnNumber: 17\n              }, this), /*#__PURE__*/_jsxDEV(Option, {\n                value: \"\\u65B0\\u80FD\\u6E90\",\n                children: \"\\u65B0\\u80FD\\u6E90\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 266,\n                columnNumber: 17\n              }, this), /*#__PURE__*/_jsxDEV(Option, {\n                value: \"\\u534A\\u5BFC\\u4F53\",\n                children: \"\\u534A\\u5BFC\\u4F53\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 267,\n                columnNumber: 17\n              }, this), /*#__PURE__*/_jsxDEV(Option, {\n                value: \"\\u4F01\\u4E1A\\u670D\\u52A1\",\n                children: \"\\u4F01\\u4E1A\\u670D\\u52A1\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 268,\n                columnNumber: 17\n              }, this), /*#__PURE__*/_jsxDEV(Option, {\n                value: \"\\u6D88\\u8D39\\u5347\\u7EA7\",\n                children: \"\\u6D88\\u8D39\\u5347\\u7EA7\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 269,\n                columnNumber: 17\n              }, this), /*#__PURE__*/_jsxDEV(Option, {\n                value: \"\\u5176\\u4ED6\",\n                children: \"\\u5176\\u4ED6\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 270,\n                columnNumber: 17\n              }, this)]\n            }, void 0, true, {\n              fileName: _jsxFileName,\n              lineNumber: 258,\n              columnNumber: 15\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 257,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Col, {\n            span: 10,\n            style: {\n              textAlign: 'right'\n            },\n            children: isInvestmentManager() && /*#__PURE__*/_jsxDEV(Button, {\n              type: \"primary\",\n              icon: /*#__PURE__*/_jsxDEV(PlusOutlined, {}, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 275,\n                columnNumber: 46\n              }, this),\n              onClick: openCreateModal,\n              children: \"\\u6DFB\\u52A0\\u5907\\u9009\\u9879\\u76EE\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 275,\n              columnNumber: 17\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 273,\n            columnNumber: 13\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 237,\n          columnNumber: 11\n        }, this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 236,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Table, {\n        columns: columns,\n        dataSource: projects,\n        rowKey: \"id\",\n        loading: loading,\n        pagination: {\n          ...pagination,\n          showSizeChanger: true,\n          showQuickJumper: true,\n          showTotal: total => `共 ${total} 条`,\n          onChange: (page, pageSize) => setPagination(prev => ({\n            ...prev,\n            current: page,\n            pageSize\n          }))\n        }\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 283,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 235,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Modal, {\n      title: editingProject ? '编辑备选项目' : '添加备选项目',\n      open: modalVisible,\n      onOk: handleModalOk,\n      onCancel: () => setModalVisible(false),\n      width: 800,\n      children: /*#__PURE__*/_jsxDEV(Form, {\n        form: form,\n        layout: \"vertical\",\n        children: [/*#__PURE__*/_jsxDEV(Row, {\n          gutter: 16,\n          children: [/*#__PURE__*/_jsxDEV(Col, {\n            span: 12,\n            children: /*#__PURE__*/_jsxDEV(Form.Item, {\n              name: \"name\",\n              label: \"\\u9879\\u76EE\\u540D\\u79F0\",\n              rules: [{\n                required: true,\n                message: '请输入项目名称'\n              }],\n              children: /*#__PURE__*/_jsxDEV(Input, {\n                placeholder: \"\\u8BF7\\u8F93\\u5165\\u9879\\u76EE\\u540D\\u79F0\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 309,\n                columnNumber: 17\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 308,\n              columnNumber: 15\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 307,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Col, {\n            span: 12,\n            children: /*#__PURE__*/_jsxDEV(Form.Item, {\n              name: \"companyName\",\n              label: \"\\u516C\\u53F8\\u540D\\u79F0\",\n              children: /*#__PURE__*/_jsxDEV(Input, {\n                placeholder: \"\\u8BF7\\u8F93\\u5165\\u516C\\u53F8\\u540D\\u79F0\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 314,\n                columnNumber: 17\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 313,\n              columnNumber: 15\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 312,\n            columnNumber: 13\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 306,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(Row, {\n          gutter: 16,\n          children: [/*#__PURE__*/_jsxDEV(Col, {\n            span: 8,\n            children: /*#__PURE__*/_jsxDEV(Form.Item, {\n              name: \"industry\",\n              label: \"\\u884C\\u4E1A\",\n              children: /*#__PURE__*/_jsxDEV(Select, {\n                placeholder: \"\\u8BF7\\u9009\\u62E9\\u884C\\u4E1A\",\n                children: [/*#__PURE__*/_jsxDEV(Option, {\n                  value: \"\\u4EBA\\u5DE5\\u667A\\u80FD\",\n                  children: \"\\u4EBA\\u5DE5\\u667A\\u80FD\"\n                }, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 322,\n                  columnNumber: 19\n                }, this), /*#__PURE__*/_jsxDEV(Option, {\n                  value: \"\\u751F\\u7269\\u533B\\u836F\",\n                  children: \"\\u751F\\u7269\\u533B\\u836F\"\n                }, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 323,\n                  columnNumber: 19\n                }, this), /*#__PURE__*/_jsxDEV(Option, {\n                  value: \"\\u65B0\\u80FD\\u6E90\",\n                  children: \"\\u65B0\\u80FD\\u6E90\"\n                }, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 324,\n                  columnNumber: 19\n                }, this), /*#__PURE__*/_jsxDEV(Option, {\n                  value: \"\\u534A\\u5BFC\\u4F53\",\n                  children: \"\\u534A\\u5BFC\\u4F53\"\n                }, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 325,\n                  columnNumber: 19\n                }, this), /*#__PURE__*/_jsxDEV(Option, {\n                  value: \"\\u4F01\\u4E1A\\u670D\\u52A1\",\n                  children: \"\\u4F01\\u4E1A\\u670D\\u52A1\"\n                }, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 326,\n                  columnNumber: 19\n                }, this), /*#__PURE__*/_jsxDEV(Option, {\n                  value: \"\\u6D88\\u8D39\\u5347\\u7EA7\",\n                  children: \"\\u6D88\\u8D39\\u5347\\u7EA7\"\n                }, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 327,\n                  columnNumber: 19\n                }, this), /*#__PURE__*/_jsxDEV(Option, {\n                  value: \"\\u5176\\u4ED6\",\n                  children: \"\\u5176\\u4ED6\"\n                }, void 0, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 328,\n                  columnNumber: 19\n                }, this)]\n              }, void 0, true, {\n                fileName: _jsxFileName,\n                lineNumber: 321,\n                columnNumber: 17\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 320,\n              columnNumber: 15\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 319,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Col, {\n            span: 8,\n            children: /*#__PURE__*/_jsxDEV(Form.Item, {\n              name: \"source\",\n              label: \"\\u6765\\u6E90\",\n              children: /*#__PURE__*/_jsxDEV(Input, {\n                placeholder: \"\\u8BF7\\u8F93\\u5165\\u9879\\u76EE\\u6765\\u6E90\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 334,\n                columnNumber: 17\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 333,\n              columnNumber: 15\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 332,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Col, {\n            span: 8,\n            children: /*#__PURE__*/_jsxDEV(Form.Item, {\n              name: \"status\",\n              label: \"\\u72B6\\u6001\",\n              children: /*#__PURE__*/_jsxDEV(Select, {\n                placeholder: \"\\u8BF7\\u9009\\u62E9\\u72B6\\u6001\",\n                children: Object.entries(statusTexts).map(([key, text]) => /*#__PURE__*/_jsxDEV(Option, {\n                  value: key,\n                  children: text\n                }, key, false, {\n                  fileName: _jsxFileName,\n                  lineNumber: 341,\n                  columnNumber: 21\n                }, this))\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 339,\n                columnNumber: 17\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 338,\n              columnNumber: 15\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 337,\n            columnNumber: 13\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 318,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(Row, {\n          gutter: 16,\n          children: [/*#__PURE__*/_jsxDEV(Col, {\n            span: 8,\n            children: /*#__PURE__*/_jsxDEV(Form.Item, {\n              name: \"contactPerson\",\n              label: \"\\u8054\\u7CFB\\u4EBA\",\n              children: /*#__PURE__*/_jsxDEV(Input, {\n                placeholder: \"\\u8BF7\\u8F93\\u5165\\u8054\\u7CFB\\u4EBA\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 350,\n                columnNumber: 17\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 349,\n              columnNumber: 15\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 348,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Col, {\n            span: 8,\n            children: /*#__PURE__*/_jsxDEV(Form.Item, {\n              name: \"contactPhone\",\n              label: \"\\u8054\\u7CFB\\u7535\\u8BDD\",\n              children: /*#__PURE__*/_jsxDEV(Input, {\n                placeholder: \"\\u8BF7\\u8F93\\u5165\\u8054\\u7CFB\\u7535\\u8BDD\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 355,\n                columnNumber: 17\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 354,\n              columnNumber: 15\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 353,\n            columnNumber: 13\n          }, this), /*#__PURE__*/_jsxDEV(Col, {\n            span: 8,\n            children: /*#__PURE__*/_jsxDEV(Form.Item, {\n              name: \"contactEmail\",\n              label: \"\\u8054\\u7CFB\\u90AE\\u7BB1\",\n              children: /*#__PURE__*/_jsxDEV(Input, {\n                placeholder: \"\\u8BF7\\u8F93\\u5165\\u8054\\u7CFB\\u90AE\\u7BB1\"\n              }, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 360,\n                columnNumber: 17\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 359,\n              columnNumber: 15\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 358,\n            columnNumber: 13\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 347,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(Row, {\n          gutter: 16,\n          children: /*#__PURE__*/_jsxDEV(Col, {\n            span: 12,\n            children: /*#__PURE__*/_jsxDEV(Form.Item, {\n              name: \"rating\",\n              label: \"\\u8BC4\\u5206\",\n              children: /*#__PURE__*/_jsxDEV(Rate, {}, void 0, false, {\n                fileName: _jsxFileName,\n                lineNumber: 367,\n                columnNumber: 17\n              }, this)\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 366,\n              columnNumber: 15\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 365,\n            columnNumber: 13\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 364,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(Form.Item, {\n          name: \"description\",\n          label: \"\\u9879\\u76EE\\u63CF\\u8FF0\",\n          children: /*#__PURE__*/_jsxDEV(TextArea, {\n            rows: 4,\n            placeholder: \"\\u8BF7\\u8F93\\u5165\\u9879\\u76EE\\u63CF\\u8FF0\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 372,\n            columnNumber: 13\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 371,\n          columnNumber: 11\n        }, this), editingProject && /*#__PURE__*/_jsxDEV(Form.Item, {\n          name: \"reviewNotes\",\n          label: \"\\u5BA1\\u6838\\u5907\\u6CE8\",\n          children: /*#__PURE__*/_jsxDEV(TextArea, {\n            rows: 3,\n            placeholder: \"\\u8BF7\\u8F93\\u5165\\u5BA1\\u6838\\u5907\\u6CE8\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 376,\n            columnNumber: 15\n          }, this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 375,\n          columnNumber: 13\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 305,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 298,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Modal, {\n      title: \"\\u9879\\u76EE\\u8BE6\\u60C5\",\n      open: detailVisible,\n      onCancel: () => setDetailVisible(false),\n      footer: null,\n      width: 800,\n      children: selectedProject && /*#__PURE__*/_jsxDEV(\"div\", {\n        children: [/*#__PURE__*/_jsxDEV(Descriptions, {\n          bordered: true,\n          column: 2,\n          children: [/*#__PURE__*/_jsxDEV(Descriptions.Item, {\n            label: \"\\u9879\\u76EE\\u540D\\u79F0\",\n            span: 2,\n            children: selectedProject.name\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 392,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(Descriptions.Item, {\n            label: \"\\u516C\\u53F8\\u540D\\u79F0\",\n            children: selectedProject.company_name || '-'\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 395,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(Descriptions.Item, {\n            label: \"\\u884C\\u4E1A\",\n            children: selectedProject.industry ? /*#__PURE__*/_jsxDEV(Tag, {\n              color: \"blue\",\n              children: selectedProject.industry\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 399,\n              columnNumber: 45\n            }, this) : '-'\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 398,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(Descriptions.Item, {\n            label: \"\\u6765\\u6E90\",\n            children: selectedProject.source || '-'\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 401,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(Descriptions.Item, {\n            label: \"\\u72B6\\u6001\",\n            children: /*#__PURE__*/_jsxDEV(Tag, {\n              color: statusColors[selectedProject.status],\n              children: statusTexts[selectedProject.status]\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 405,\n              columnNumber: 17\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 404,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(Descriptions.Item, {\n            label: \"\\u8BC4\\u5206\",\n            children: selectedProject.rating ? /*#__PURE__*/_jsxDEV(Rate, {\n              disabled: true,\n              defaultValue: selectedProject.rating\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 410,\n              columnNumber: 43\n            }, this) : '-'\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 409,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(Descriptions.Item, {\n            label: \"\\u8054\\u7CFB\\u4EBA\",\n            children: selectedProject.contact_person || '-'\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 412,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(Descriptions.Item, {\n            label: \"\\u8054\\u7CFB\\u7535\\u8BDD\",\n            children: selectedProject.contact_phone || '-'\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 415,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(Descriptions.Item, {\n            label: \"\\u8054\\u7CFB\\u90AE\\u7BB1\",\n            children: selectedProject.contact_email || '-'\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 418,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(Descriptions.Item, {\n            label: \"\\u521B\\u5EFA\\u4EBA\",\n            children: selectedProject.created_by_name || '-'\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 421,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(Descriptions.Item, {\n            label: \"\\u5BA1\\u6838\\u4EBA\",\n            children: selectedProject.reviewed_by_name || '-'\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 424,\n            columnNumber: 15\n          }, this), /*#__PURE__*/_jsxDEV(Descriptions.Item, {\n            label: \"\\u521B\\u5EFA\\u65F6\\u95F4\",\n            children: dayjs(selectedProject.created_at).format('YYYY-MM-DD HH:mm')\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 427,\n            columnNumber: 15\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 391,\n          columnNumber: 13\n        }, this), selectedProject.description && /*#__PURE__*/_jsxDEV(_Fragment, {\n          children: [/*#__PURE__*/_jsxDEV(Divider, {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 434,\n            columnNumber: 17\n          }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n            children: [/*#__PURE__*/_jsxDEV(\"h4\", {\n              children: \"\\u9879\\u76EE\\u63CF\\u8FF0\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 436,\n              columnNumber: 19\n            }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n              children: selectedProject.description\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 437,\n              columnNumber: 19\n            }, this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 435,\n            columnNumber: 17\n          }, this)]\n        }, void 0, true), selectedProject.review_notes && /*#__PURE__*/_jsxDEV(_Fragment, {\n          children: [/*#__PURE__*/_jsxDEV(Divider, {}, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 444,\n            columnNumber: 17\n          }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n            children: [/*#__PURE__*/_jsxDEV(\"h4\", {\n              children: \"\\u5BA1\\u6838\\u5907\\u6CE8\"\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 446,\n              columnNumber: 19\n            }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n              children: selectedProject.review_notes\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 447,\n              columnNumber: 19\n            }, this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 445,\n            columnNumber: 17\n          }, this)]\n        }, void 0, true)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 390,\n        columnNumber: 11\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 382,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 230,\n    columnNumber: 5\n  }, this);\n};\n_s(CandidateProjects, \"Vx5GSgBfuoKd6sOzL8x0VUJcYxA=\", false, function () {\n  return [useAuth, useNavigate, Form.useForm];\n});\n_c = CandidateProjects;\nexport default CandidateProjects;\nvar _c;\n$RefreshReg$(_c, \"CandidateProjects\");","map":{"version":3,"names":["React","useState","useEffect","Table","Card","Button","Space","Tag","Input","Select","Modal","Form","message","Popconfirm","Descriptions","Row","Col","Rate","Timeline","Divider","PlusOutlined","EditOutlined","DeleteOutlined","EyeOutlined","SearchOutlined","SwapOutlined","candidateProjectsAPI","useNavigate","useAuth","dayjs","jsxDEV","_jsxDEV","Fragment","_Fragment","Option","Search","TextArea","statusColors","pending","reviewing","approved","rejected","converted","statusTexts","CandidateProjects","_s","projects","setProjects","loading","setLoading","pagination","setPagination","current","pageSize","total","filters","setFilters","isInvestmentManager","navigate","modalVisible","setModalVisible","detailVisible","setDetailVisible","editingProject","setEditingProject","selectedProject","setSelectedProject","form","useForm","fetchProjects","response","getAll","page","limit","data","candidate_projects","prev","_response$data$pagina","error","handleDelete","id","delete","success","handleConvert","convert","openCreateModal","resetFields","openEditModal","project","setFieldsValue","companyName","company_name","openDetailModal","handleModalOk","values","validateFields","update","create","_error$response","_error$response$data","columns","title","dataIndex","key","render","text","record","onClick","children","fileName","_jsxFileName","lineNumber","columnNumber","industry","color","status","rating","disabled","defaultValue","date","format","_","type","size","icon","onConfirm","danger","className","gutter","span","placeholder","onSearch","value","search","allowClear","style","width","onChange","Object","entries","map","textAlign","dataSource","rowKey","showSizeChanger","showQuickJumper","showTotal","open","onOk","onCancel","layout","Item","name","label","rules","required","rows","footer","bordered","column","source","contact_person","contact_phone","contact_email","created_by_name","reviewed_by_name","created_at","description","review_notes","_c","$RefreshReg$"],"sources":["/Users/nili/Documents/trae_projects/client/src/pages/CandidateProjects.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport {\n  Table,\n  Card,\n  Button,\n  Space,\n  Tag,\n  Input,\n  Select,\n  Modal,\n  Form,\n  message,\n  Popconfirm,\n  Descriptions,\n  Row,\n  Col,\n  Rate,\n  Timeline,\n  Divider\n} from 'antd';\nimport {\n  PlusOutlined,\n  EditOutlined,\n  DeleteOutlined,\n  EyeOutlined,\n  SearchOutlined,\n  SwapOutlined\n} from '@ant-design/icons';\nimport { candidateProjectsAPI } from '../services/api';\nimport { useNavigate } from 'react-router-dom';\nimport { useAuth } from '../contexts/AuthContext';\nimport dayjs from 'dayjs';\n\nconst { Option } = Select;\nconst { Search } = Input;\nconst { TextArea } = Input;\n\nconst statusColors = {\n  pending: 'default',\n  reviewing: 'blue',\n  approved: 'green',\n  rejected: 'red',\n  converted: 'purple'\n};\n\nconst statusTexts = {\n  pending: '待审核',\n  reviewing: '审核中',\n  approved: '已通过',\n  rejected: '已拒绝',\n  converted: '已转化'\n};\n\nconst CandidateProjects = () => {\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 { isInvestmentManager } = useAuth();\n  const navigate = useNavigate();\n\n  const [modalVisible, setModalVisible] = useState(false);\n  const [detailVisible, setDetailVisible] = useState(false);\n  const [editingProject, setEditingProject] = useState(null);\n  const [selectedProject, setSelectedProject] = useState(null);\n  const [form] = Form.useForm();\n\n  useEffect(() => {\n    fetchProjects();\n  }, [pagination.current, pagination.pageSize, filters]);\n\n  const fetchProjects = async () => {\n    setLoading(true);\n    try {\n      const response = await candidateProjectsAPI.getAll({\n        page: pagination.current,\n        limit: pagination.pageSize,\n        ...filters\n      });\n      setProjects(response.data.candidate_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 handleDelete = async (id) => {\n    try {\n      await candidateProjectsAPI.delete(id);\n      message.success('项目删除成功');\n      fetchProjects();\n    } catch (error) {\n      message.error('删除失败');\n    }\n  };\n\n  const handleConvert = async (id) => {\n    try {\n      await candidateProjectsAPI.convert(id);\n      message.success('项目已成功转化为正式项目');\n      fetchProjects();\n    } catch (error) {\n      message.error('转化失败');\n    }\n  };\n\n  const openCreateModal = () => {\n    setEditingProject(null);\n    form.resetFields();\n    setModalVisible(true);\n  };\n\n  const openEditModal = (project) => {\n    setEditingProject(project);\n    form.setFieldsValue({\n      ...project,\n      companyName: project.company_name\n    });\n    setModalVisible(true);\n  };\n\n  const openDetailModal = (project) => {\n    setSelectedProject(project);\n    setDetailVisible(true);\n  };\n\n  const handleModalOk = async () => {\n    try {\n      const values = await form.validateFields();\n      if (editingProject) {\n        await candidateProjectsAPI.update(editingProject.id, values);\n        message.success('项目更新成功');\n      } else {\n        await candidateProjectsAPI.create(values);\n        message.success('项目创建成功');\n      }\n      setModalVisible(false);\n      fetchProjects();\n    } catch (error) {\n      message.error(error.response?.data?.message || '操作失败');\n    }\n  };\n\n  const columns = [\n    {\n      title: '项目名称',\n      dataIndex: 'name',\n      key: 'name',\n      render: (text, record) => (\n        <a onClick={() => openDetailModal(record)}>{text}</a>\n      )\n    },\n    {\n      title: '公司名称',\n      dataIndex: 'company_name',\n      key: 'company_name'\n    },\n    {\n      title: '行业',\n      dataIndex: 'industry',\n      key: 'industry',\n      render: (industry) => industry && <Tag color=\"blue\">{industry}</Tag>\n    },\n    {\n      title: '来源',\n      dataIndex: 'source',\n      key: 'source'\n    },\n    {\n      title: '状态',\n      dataIndex: 'status',\n      key: 'status',\n      render: (status) => (\n        <Tag color={statusColors[status]}>{statusTexts[status]}</Tag>\n      )\n    },\n    {\n      title: '评分',\n      dataIndex: 'rating',\n      key: 'rating',\n      render: (rating) => rating && <Rate disabled defaultValue={rating} />\n    },\n    {\n      title: '创建人',\n      dataIndex: 'created_by_name',\n      key: 'created_by_name'\n    },\n    {\n      title: '创建时间',\n      dataIndex: 'created_at',\n      key: 'created_at',\n      render: (date) => dayjs(date).format('YYYY-MM-DD')\n    },\n    {\n      title: '操作',\n      key: 'actions',\n      render: (_, record) => (\n        <Space>\n          <Button type=\"link\" size=\"small\" icon={<EyeOutlined />} onClick={() => openDetailModal(record)}>\n            查看\n          </Button>\n          {isInvestmentManager() && (\n            <>\n              <Button type=\"link\" size=\"small\" icon={<EditOutlined />} onClick={() => openEditModal(record)}>\n                编辑\n              </Button>\n              {record.status !== 'converted' && (\n                <Button type=\"link\" size=\"small\" icon={<SwapOutlined />} onClick={() => handleConvert(record.id)}>\n                  转化\n                </Button>\n              )}\n              <Popconfirm title=\"确定要删除这个项目吗?\" onConfirm={() => handleDelete(record.id)}>\n                <Button type=\"link\" size=\"small\" danger icon={<DeleteOutlined />}>\n                  删除\n                </Button>\n              </Popconfirm>\n            </>\n          )}\n        </Space>\n      )\n    }\n  ];\n\n  return (\n    <div>\n      <div className=\"page-header\">\n        <h1>备选项目库</h1>\n      </div>\n\n      <Card>\n        <div className=\"filter-bar\">\n          <Row gutter={16}>\n            <Col span={6}>\n              <Search\n                placeholder=\"搜索项目名称或公司\"\n                onSearch={(value) => setFilters(prev => ({ ...prev, search: value }))}\n                allowClear\n              />\n            </Col>\n            <Col span={4}>\n              <Select\n                placeholder=\"状态\"\n                allowClear\n                style={{ width: '100%' }}\n                onChange={(value) => setFilters(prev => ({ ...prev, status: value }))}\n              >\n                {Object.entries(statusTexts).map(([key, text]) => (\n                  <Option key={key} value={key}>{text}</Option>\n                ))}\n              </Select>\n            </Col>\n            <Col span={4}>\n              <Select\n                placeholder=\"行业\"\n                allowClear\n                style={{ width: '100%' }}\n                onChange={(value) => setFilters(prev => ({ ...prev, industry: value }))}\n              >\n                <Option value=\"人工智能\">人工智能</Option>\n                <Option value=\"生物医药\">生物医药</Option>\n                <Option value=\"新能源\">新能源</Option>\n                <Option value=\"半导体\">半导体</Option>\n                <Option value=\"企业服务\">企业服务</Option>\n                <Option value=\"消费升级\">消费升级</Option>\n                <Option value=\"其他\">其他</Option>\n              </Select>\n            </Col>\n            <Col span={10} style={{ textAlign: 'right' }}>\n              {isInvestmentManager() && (\n                <Button type=\"primary\" icon={<PlusOutlined />} onClick={openCreateModal}>\n                  添加备选项目\n                </Button>\n              )}\n            </Col>\n          </Row>\n        </div>\n\n        <Table\n          columns={columns}\n          dataSource={projects}\n          rowKey=\"id\"\n          loading={loading}\n          pagination={{\n            ...pagination,\n            showSizeChanger: true,\n            showQuickJumper: true,\n            showTotal: (total) => `共 ${total} 条`,\n            onChange: (page, pageSize) => setPagination(prev => ({ ...prev, current: page, pageSize }))\n          }}\n        />\n      </Card>\n\n      <Modal\n        title={editingProject ? '编辑备选项目' : '添加备选项目'}\n        open={modalVisible}\n        onOk={handleModalOk}\n        onCancel={() => setModalVisible(false)}\n        width={800}\n      >\n        <Form form={form} layout=\"vertical\">\n          <Row gutter={16}>\n            <Col span={12}>\n              <Form.Item name=\"name\" label=\"项目名称\" rules={[{ required: true, message: '请输入项目名称' }]}>\n                <Input placeholder=\"请输入项目名称\" />\n              </Form.Item>\n            </Col>\n            <Col span={12}>\n              <Form.Item name=\"companyName\" label=\"公司名称\">\n                <Input placeholder=\"请输入公司名称\" />\n              </Form.Item>\n            </Col>\n          </Row>\n          <Row gutter={16}>\n            <Col span={8}>\n              <Form.Item name=\"industry\" label=\"行业\">\n                <Select placeholder=\"请选择行业\">\n                  <Option value=\"人工智能\">人工智能</Option>\n                  <Option value=\"生物医药\">生物医药</Option>\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=\"source\" label=\"来源\">\n                <Input placeholder=\"请输入项目来源\" />\n              </Form.Item>\n            </Col>\n            <Col span={8}>\n              <Form.Item name=\"status\" label=\"状态\">\n                <Select placeholder=\"请选择状态\">\n                  {Object.entries(statusTexts).map(([key, text]) => (\n                    <Option key={key} value={key}>{text}</Option>\n                  ))}\n                </Select>\n              </Form.Item>\n            </Col>\n          </Row>\n          <Row gutter={16}>\n            <Col span={8}>\n              <Form.Item name=\"contactPerson\" label=\"联系人\">\n                <Input placeholder=\"请输入联系人\" />\n              </Form.Item>\n            </Col>\n            <Col span={8}>\n              <Form.Item name=\"contactPhone\" label=\"联系电话\">\n                <Input placeholder=\"请输入联系电话\" />\n              </Form.Item>\n            </Col>\n            <Col span={8}>\n              <Form.Item name=\"contactEmail\" label=\"联系邮箱\">\n                <Input placeholder=\"请输入联系邮箱\" />\n              </Form.Item>\n            </Col>\n          </Row>\n          <Row gutter={16}>\n            <Col span={12}>\n              <Form.Item name=\"rating\" label=\"评分\">\n                <Rate />\n              </Form.Item>\n            </Col>\n          </Row>\n          <Form.Item name=\"description\" label=\"项目描述\">\n            <TextArea rows={4} placeholder=\"请输入项目描述\" />\n          </Form.Item>\n          {editingProject && (\n            <Form.Item name=\"reviewNotes\" label=\"审核备注\">\n              <TextArea rows={3} placeholder=\"请输入审核备注\" />\n            </Form.Item>\n          )}\n        </Form>\n      </Modal>\n\n      <Modal\n        title=\"项目详情\"\n        open={detailVisible}\n        onCancel={() => setDetailVisible(false)}\n        footer={null}\n        width={800}\n      >\n        {selectedProject && (\n          <div>\n            <Descriptions bordered column={2}>\n              <Descriptions.Item label=\"项目名称\" span={2}>\n                {selectedProject.name}\n              </Descriptions.Item>\n              <Descriptions.Item label=\"公司名称\">\n                {selectedProject.company_name || '-'}\n              </Descriptions.Item>\n              <Descriptions.Item label=\"行业\">\n                {selectedProject.industry ? <Tag color=\"blue\">{selectedProject.industry}</Tag> : '-'}\n              </Descriptions.Item>\n              <Descriptions.Item label=\"来源\">\n                {selectedProject.source || '-'}\n              </Descriptions.Item>\n              <Descriptions.Item label=\"状态\">\n                <Tag color={statusColors[selectedProject.status]}>\n                  {statusTexts[selectedProject.status]}\n                </Tag>\n              </Descriptions.Item>\n              <Descriptions.Item label=\"评分\">\n                {selectedProject.rating ? <Rate disabled defaultValue={selectedProject.rating} /> : '-'}\n              </Descriptions.Item>\n              <Descriptions.Item label=\"联系人\">\n                {selectedProject.contact_person || '-'}\n              </Descriptions.Item>\n              <Descriptions.Item label=\"联系电话\">\n                {selectedProject.contact_phone || '-'}\n              </Descriptions.Item>\n              <Descriptions.Item label=\"联系邮箱\">\n                {selectedProject.contact_email || '-'}\n              </Descriptions.Item>\n              <Descriptions.Item label=\"创建人\">\n                {selectedProject.created_by_name || '-'}\n              </Descriptions.Item>\n              <Descriptions.Item label=\"审核人\">\n                {selectedProject.reviewed_by_name || '-'}\n              </Descriptions.Item>\n              <Descriptions.Item label=\"创建时间\">\n                {dayjs(selectedProject.created_at).format('YYYY-MM-DD HH:mm')}\n              </Descriptions.Item>\n            </Descriptions>\n\n            {selectedProject.description && (\n              <>\n                <Divider />\n                <div>\n                  <h4>项目描述</h4>\n                  <p>{selectedProject.description}</p>\n                </div>\n              </>\n            )}\n\n            {selectedProject.review_notes && (\n              <>\n                <Divider />\n                <div>\n                  <h4>审核备注</h4>\n                  <p>{selectedProject.review_notes}</p>\n                </div>\n              </>\n            )}\n          </div>\n        )}\n      </Modal>\n    </div>\n  );\n};\n\nexport default CandidateProjects;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}