diff --git a/apps/web/.env.production b/apps/web/.env.production index afb3e74..3c51e33 100644 --- a/apps/web/.env.production +++ b/apps/web/.env.production @@ -1 +1 @@ -NEXT_PUBLIC_API_URL= +NEXT_PUBLIC_API_URL=/api diff --git a/apps/web/src/components/InquiryPage.tsx b/apps/web/src/components/InquiryPage.tsx index 94435fc..1184b38 100644 --- a/apps/web/src/components/InquiryPage.tsx +++ b/apps/web/src/components/InquiryPage.tsx @@ -35,7 +35,7 @@ function mapLead(raw: any): Lead { id: raw.id, title: raw.title, star: raw.star || 0, - level: raw.level || 'C', + level: raw.level ? raw.level + '级' : 'C级', amount: raw.amount || '待确认', status: raw.status || '待复核', deadline: raw.deadline || '', @@ -58,9 +58,9 @@ function mapLead(raw: any): Lead { } const STATUS_OPTIONS = ['全部状态', '待复核', '待跟进', '跟进中', '已转询价', '已转协同', '已成交', '无效线索'] -const LEVEL_OPTIONS = ['全部级别', 'S级', 'A级', 'B级'] -const CAT_OPTIONS = ['全部品类', '防火门', '配电箱', '电线电缆', '阀门', '钢材', '涂料', '混凝土'] -const SOURCE_OPTIONS = ['全部来源', 'PowerChina 招采', '新矿集团', '发改委审批', '行业资讯'] +const LEVEL_OPTIONS = ['全部级别', 'S级', 'A级', 'B级', 'C级', 'D级'] +const CAT_OPTIONS = ['全部品类', '防火门', '配电箱', '电线电缆', '阀门', '钢材', '涂料', '混凝土', '变压器', '水泵', '风机', '管材', '开关', '灯具', '仪表', '电机'] +const SOURCE_OPTIONS = ['全部来源', '中电建', '新矿集团', '中核集团'] const PERSON_OPTIONS = ['全部人员', '郑钊', '赵主任', '运营管理员', '未分配'] function getStatusClass(status: string) { @@ -110,7 +110,7 @@ export default function InquiryPage({ onLeadDetail }: { onLeadDetail?: (id: stri const showToast = (msg: string) => { setToast(msg); setTimeout(() => setToast(''), 2500) } - const [fTime, setFTime] = useState('全部时间') + const [fTime, setFTime] = useState('全部日期') const [fStar, setFStar] = useState('全部星级') const [fStatus, setFStatus] = useState('全部状态') const [fLevel, setFLevel] = useState('全部级别') @@ -118,7 +118,7 @@ export default function InquiryPage({ onLeadDetail }: { onLeadDetail?: (id: stri const [fSource, setFSource] = useState('全部来源') const [fPerson, setFPerson] = useState('全部人员') - const loadLeads = useCallback(async (star?: string, status?: string, level?: string, cat?: string, source?: string, person?: string) => { + const loadLeads = useCallback(async (star?: string, status?: string, level?: string, cat?: string, source?: string, person?: string, timeRange?: string) => { setLoading(true) const params = new URLSearchParams() if (star && star !== '全部星级') { @@ -128,11 +128,12 @@ export default function InquiryPage({ onLeadDetail }: { onLeadDetail?: (id: stri else if (star === '2星及以下') params.set('star', '2星及以下') } if (status && status !== '全部状态') params.set('status', status) - if (level && level !== '全部级别') params.set('level', level) + if (level && level !== '全部级别') params.set('level', level.replace('级', '')) if (cat && cat !== '全部品类') params.set('category', cat) if (source && source !== '全部来源') params.set('source', source) if (person && person !== '全部人员' && person !== '未分配') params.set('assignedTo', person) if (person === '未分配') params.set('assignedTo', '未分配') + if (timeRange && timeRange !== '全部日期') params.set('timeRange', timeRange) try { const qs = params.toString() const data: any[] = await fetch(`${API}${qs ? '?' + qs : ''}`).then(r => r.json()) @@ -144,10 +145,10 @@ export default function InquiryPage({ onLeadDetail }: { onLeadDetail?: (id: stri setLoading(false) }, []) - useEffect(() => { loadLeads(fStar, fStatus, fLevel, fCat, fSource, fPerson) }, [loadLeads, fStar, fStatus, fLevel, fCat, fSource, fPerson]) + useEffect(() => { loadLeads(fStar, fStatus, fLevel, fCat, fSource, fPerson, fTime) }, [loadLeads, fStar, fStatus, fLevel, fCat, fSource, fPerson, fTime]) const refreshLeads = async () => { - await loadLeads(fStar, fStatus, fLevel, fCat, fSource, fPerson) + await loadLeads(fStar, fStatus, fLevel, fCat, fSource, fPerson, fTime) } const totalPages = Math.ceil(filtered.length / pageSize) @@ -392,7 +393,7 @@ export default function InquiryPage({ onLeadDetail }: { onLeadDetail?: (id: stri