补全页恢复手工填写,把「不动」变成真正的默认

上一版改成 select 之后有两个问题:活动和类别都只能从列表里挑,填不进去的写不了;
而且建议被强制预选,用户选「不动」再点「用高德分析」(会整页重载)就白选了,
看起来像被锁死。

现在:活动是可输入的输入框,带已有类型提示,填新名字会新建类型;
类别下拉末尾加「其它(自己写)…」,选中后露出文本框,写什么存什么——
真机自己也存中文类别,写中文一样认得,不必强记 MKPOICategory 那串枚举名。

「不动」改成真正的默认:什么都不预选,想批量采纳就点「采纳本页建议」。
点「用高德分析」前会把本页填过的存进 sessionStorage,回来接着填,不会白改。
This commit is contained in:
tamakyi
2026-09-19 20:13:06 +08:00
parent 6b023fb9fd
commit 5aeded2d51
4 changed files with 126 additions and 33 deletions
+7 -1
View File
@@ -344,7 +344,13 @@ func (s *Server) adminFillupApply(w http.ResponseWriter, r *http.Request) {
acts += int(n)
}
}
if cat := strings.TrimSpace(r.PostFormValue("cat_" + strconv.FormatInt(pid, 10))); cat != "" {
key := "cat_" + strconv.FormatInt(pid, 10)
cat := strings.TrimSpace(r.PostFormValue(key))
if cat == "__custom__" {
// 下拉里选了「其它(自己写)」,真正要写的是旁边那个文本框
cat = strings.TrimSpace(r.PostFormValue(key + "__custom"))
}
if cat != "" {
res, err := ex.ExecContext(ctx, `UPDATE places SET poi_category=$1
WHERE dataset_id=$2 AND id=$3 AND COALESCE(poi_category,'')=''`, cat, ds.ID, pid)
if err != nil {