招投标实体地图看板记录

记录日期:2026-06-17 | 主题:把实体 Excel 当作数据库生成可交互 HTML 地图看板

用户目标

将已经抽取好的招投标 Excel 实体表作为数据库内容,结合已有项目资料,生成一个前端 HTML 展示页面。页面需要用地图展示各地项目金额和项目数,并支持点击中国地图继续展开到省、市或北京区县层级,右侧展示对应报表详情。

交付结果

已生成地图看板:docs/deliverables/20260617-entity-map-dashboard/招投标实体地图看板.html

页面将 原始Excel招投标实体抽取表.xlsx 中的项目、招标公司、投标公司、产品和资质占位表转换成内嵌 JSON 数据,打开 HTML 即可读取本地数据。地图底图和图表库使用 ECharts 与阿里 DataV 在线 GeoJSON,联网时显示地图,加载失败时自动降级为地区柱状图。

数据概况

指标 结果
项目数345
招标公司数267
投标公司数218
产品记录数345
总金额319245.1971 万元

页面能力

参考与取舍

检查了 /Users/jack/code/099-github/jiangyang118/deltafstation,当前未发现可直接复用的中国地图/ECharts 地图模块。因此本次复用了其“静态前端 + 图表 + 详情面板”的工作台组织思路,地图实现单独写在本项目脚本中,避免引入 deltafstation 的业务依赖。

文件变更

验证结果

已运行 python3 scripts/build_entity_map_dashboard.py 重新生成页面,输出统计为 345 个项目、267 个招标公司、218 个投标公司、345 条产品记录、总金额 319245.1971 万元。已解析 HTML 中内嵌 JSON 并确认页面脚本包含地图加载、地图注册、点击下钻和降级图表逻辑。

下一步

如果要继续增强,建议把 Excel 实体表同步入 SQLite 或 DuckDB,并让 HTML 由数据库导出的 JSON 生成,这样后续可以增加公司关系图、资质覆盖率、产品-供应商关联图和项目原文证据跳转。

追加记录:TODO 控制面

用户要求判断后续还能做什么,并生成 todolist.markdown。已在仓库根目录创建该文件,把当前地图看板作为已完成基线,并将下一步拆成数据库化、去重校验、地图增强、公司关系与竞品分析、评分与中标原因、附件证据链、采集流程、skill 与 workflow 沉淀、页面产品化和高级分析等任务。

核心判断:后续不应只美化页面,而应先把 Excel 数据变成可追溯的关系型数据库,再围绕“地图看机会、项目看证据、公司看竞争力、评分看中标原因”四条线扩展。

追加记录:首页入口

用户要求把招投标实体地图看板放到首页,方便直接查看。已更新根目录 index.html,将 docs/deliverables/20260617-entity-map-dashboard/招投标实体地图看板.html 设置为首页第一张主入口卡片,并保留原有业务报告、项目说明和运行记录入口。

追加记录:全量数据浏览页

用户反馈地图看板细节仍不够清晰,希望把 Excel 里面的所有数据都通过一个 HTML 页面加大量超链接展示。已新增 scripts/build_full_excel_data_browser.py,从 原始Excel招投标实体抽取表.xlsx 读取全部 10 个 sheet,生成 docs/deliverables/20260617-full-excel-data-browser/招投标实体全量数据浏览.html

该页面内嵌 2454 行数据,包含 345 个项目、267 个招标公司、218 个投标公司、345 条产品记录、322 条招标投标关系、160 条联系人记录、345 条来源链接。页面支持全局搜索、sheet 切换、项目详情、项目 ID 跳转、公司 ID 跳转、来源链接跳转,并已接入首页第一张主入口卡片。

验证结果:使用 Python 解析 HTML 和内嵌 JSON 成功;使用 Playwright 打开本地 HTML 成功,确认 10 个 sheet 标签、项目表 345 行、点击 P0001 可展开右侧详情并显示来源证据,页面无前端错误。