(key: K, value: CreateSalesExpansionPayload[K]) => void,
) => (
);
const renderChannelForm = (
form: CreateChannelExpansionPayload,
onChange: (key: K, value: CreateChannelExpansionPayload[K]) => void,
) => (
);
return (
setKeyword(event.target.value)}
className="w-full rounded-xl border border-slate-200 bg-white py-2.5 pl-10 pr-4 text-sm text-slate-900 outline-none transition-all placeholder:text-slate-400 focus:border-violet-500 focus:ring-1 focus:ring-violet-500 dark:border-slate-800 dark:bg-slate-900/50 dark:text-white dark:placeholder:text-slate-500"
/>
{activeTab === "sales" ? (
salesData.length > 0 ? (
salesData.map((item, i) => (
setSelectedItem(item)}
className="cursor-pointer rounded-2xl border border-slate-100 bg-white p-5 shadow-sm backdrop-blur-sm transition-all hover:border-violet-100 hover:shadow-md dark:border-slate-800 dark:bg-slate-900/50 dark:hover:border-violet-900/50"
>
{item.name || "无"}
{item.dept || "无"} · {item.title || "无"}
{item.active ? "在职" : "离职"}
{item.industry || "无"}
意向:
{item.intent || "无"}
阶段:
{item.stage || "无"}
云桌面经验:
{item.hasExp ? "有" : "无"}
))
) : renderEmpty()
) : channelData.length > 0 ? (
channelData.map((item, i) => (
setSelectedItem(item)}
className="cursor-pointer rounded-2xl border border-slate-100 bg-white p-5 shadow-sm backdrop-blur-sm transition-all hover:border-violet-100 hover:shadow-md dark:border-slate-800 dark:bg-slate-900/50 dark:hover:border-violet-900/50"
>
{item.name || "无"}
{item.province || "无"}
{item.landed ? "已落地" : "未落地"}
{item.industry || "无"}
{item.contact || "无"}
阶段:
{item.stage || "无"}
))
) : renderEmpty()}
{createOpen && (
)}
>
{activeTab === "sales" ? renderSalesForm(salesForm, handleSalesChange) : renderChannelForm(channelForm, handleChannelChange)}
{createError ? {createError}
: null}
)}
{editOpen && selectedItem && (
)}
>
{selectedItem.type === "sales" ? renderSalesForm(editSalesForm, handleEditSalesChange) : renderChannelForm(editChannelForm, handleEditChannelChange)}
{editError ? {editError}
: null}
)}
{followUpOpen && selectedItem && (
)}
>
{followUpError ? {followUpError}
: null}
)}
{selectedItem && (
<>
setSelectedItem(null)}
className={`fixed inset-0 z-40 bg-slate-900/20 backdrop-blur-sm transition-opacity dark:bg-slate-900/60 ${
hasForegroundModal ? "pointer-events-none opacity-30" : ""
}`}
/>
{selectedItem.type === "sales" ? "销售拓展详情" : "渠道拓展详情"}
{selectedItem.name || "无"}
{selectedItem.type === "sales"
? `${selectedItem.dept || "无"} · ${selectedItem.title || "无"}`
: `${selectedItem.province || "无"} · ${selectedItem.industry || "无"}`}
{selectedItem.stage || "无"}
{selectedItem.type === "sales" ? (
{selectedItem.active ? "在职" : "离职"}
) : (
{selectedItem.landed ? "已落地" : "未落地"}
)}
基本信息
{selectedItem.type === "sales" ? (
<>
联系电话
{selectedItem.phone || "无"}
邮箱
{selectedItem.email || "无"}
负责行业
{selectedItem.industry || "无"}
云桌面经验
{selectedItem.hasExp ? "有" : "无"}
意向度
{selectedItem.intent || "无"}
预计入职
{selectedItem.expectedJoinDate || "无"}
>
) : (
<>
联系人
{selectedItem.contact || "无"} ({selectedItem.contactTitle || "无"})
联系电话
{selectedItem.phone || "无"}
营收规模
{selectedItem.revenue || "无"}
公司人数
{selectedItem.size ?? 0}人
预计签约
{selectedItem.expectedSignDate || "无"}
>
)}
备注说明
{selectedItem.notes || "无"}
跟进记录
{followUpRecords.length > 0 ? (
{followUpRecords.map((record) => (
{record.type || "无"}
{record.date || "无"}
{record.content || "无"}
跟进人: {record.user || "无"}
))}
) : (
暂无
)}
>
)}
);
}