分支
用户 tuqin <tuqin@tuqin.cn>
星期五, 十一月 6, 2026 16:46 +0800
提交者 tuqin <tuqin@tuqin.cn>
星期五, 十一月 6, 2026 16:46 +0800
提交d1baa3427d3f6598b5fdbb85ef9db68c6de124d5
目录 684430b66e84ecc286a919970ce0ff54fdfbf13f 目录 | zip | gz
上一版本 adffcb4ac80fdf736bde01eb56711c161bf602ba 查看 | 对比
fix(attendance): 考勤规则地址搜索改走 POI 检索,修复搜公司名跳到外省同名街道

现象:搜索「新疆中亿装配式建筑有限公司」,地图定位到黑龙江省哈尔滨市平房区新疆街道。

根因:handleSearch 用的是 geocoder.getPoint(keyword)。
Geocoder 只做「地址解析」,把字符串当省/市/区/街道处理,不认识公司名、POI 名称。
所以「新疆中亿装配式建筑有限公司」被解析出「新疆」这个地名,剩余部分识别不了,
最终命中哈尔滨的「新疆街道」。

修复:改为两级搜索
1. 优先 BMapGL.LocalSearch 走 POI 检索(能搜公司名、地点名),
取第一个结果的坐标定位,并提示「已定位到:XXX」,让用户能看到匹配到了什么;
2. POI 无结果时回退 geocoder.getPoint 地址解析(适用于「XX市XX区XX路XX号」这类纯地址)。
错误提示也改为「请尝试输入公司全称或更完整的省市区地址」。
另加 2.5 秒超时兜底,避免 POI 检索不回调时按钮一直转圈。

产物校验:location-map-picker-*.js 含 LocalSearch、已定位到、getPoint 兜底。
前端入口 index-index-*.js 已更新并部署。
已修改1个文件
74 ■■■■■ 文件已修改
src/views/hrm/attendance/rule/modules/location-map-picker.vue 74 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史