tuqin
3 天以前 84abbd63fa039a39358fb8db7526b567422f3406
分支
用户 tuqin <tuqin@tuqin.cn>
星期四, 十一月 5, 2026 16:38 +0800
提交者 tuqin <tuqin@tuqin.cn>
星期四, 十一月 5, 2026 16:38 +0800
提交84abbd63fa039a39358fb8db7526b567422f3406
目录 f2dd637c02e19df56d13877d1565521c32626631 目录 | zip | gz
上一版本 da1328913c8bfbb5bbab83c834556a09cad07d9f 查看 | 对比
fix(hrm): 百度地图不可用时降级为手工填坐标,不再阻塞考勤规则保存

客户反馈打开定位点确认仍提示「百度地图 SDK 加载失败,请检查网络」。
实测 api.map.baidu.com/getscript 在服务端(含带线上站点 Referer)均返回
HTTP 200 / 875KB / unauth=0(已授权),说明是客户浏览器侧拿不到该 CDN
(企业网络拦截、插件拦截等)。script 的 error 事件只在网络层失败时触发,可以确认是链路问题。

修复思路改为「地图挂了业务也不能挂」:
- 新增 manualMode 手工填写模式:地点名称 + 经度 + 纬度三个输入框,
填完点「应用坐标」即可回填表单,坐标校验范围(经度 -180~180、纬度 -90~90)。
- 地图加载失败(SDK 超时 / 网络 error / BMapGL 未挂载)时自动切换到该模式,
并提示可检查 api.map.baidu.com 访问或百度地图 Key 域名白名单,不再只弹错误。
- 手工模式下不渲染地图容器,彻底避免 null.Map。
- 未配置 VITE_BAIDU_MAP_KEY 时的提示同步改为引导手工填写。

后端校验口径不变:定位开启时地点名称 + 经纬度必填(WGS84)。
已修改1个文件
169 ■■■■■ 文件已修改
src/views/hrm/attendance/rule/modules/location-map-picker.vue 169 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史