input + datalist 只在下拉里显示中文,框里永远是 MKPOICategoryPark 这种枚举名, 站长根本看不懂。改成 select 之后选中项直接是「公园(真机用过)」。 活动下拉同理:建议项排在最前并预选,后面跟全部现有活动;选「(不动)」就跳过。 页面原始体积 940KB,但 gzip 后只有 22KB(选项高度重复),不必操心。 顺带把建议项的值简化成活动名本身——处理函数本来就按名字查、查不到就新建, 不需要额外的 __new__ 前缀。
91 lines
4.4 KiB
HTML
91 lines
4.4 KiB
HTML
{{define "content"}}
|
||
<div class="wrap">
|
||
<div class="page-head">
|
||
<div>
|
||
<h1>地点补全</h1>
|
||
<div class="sub">
|
||
共 <strong>{{num .Total}}</strong> 个地点缺活动或类别,其中 <strong>{{num .WithHint}}</strong> 个能给出建议。
|
||
<strong>只填空</strong>——已经有活动或类别的一律不动。
|
||
</div>
|
||
</div>
|
||
<div class="row"><a class="btn" href="/admin">← 返回后台</a></div>
|
||
</div>
|
||
|
||
{{if .Flash}}<div class="alert ok">{{.Flash}}</div>{{end}}
|
||
{{if .Err}}<div class="alert err">{{.Err}}</div>{{end}}
|
||
|
||
{{if .Rows}}
|
||
<div class="card">
|
||
<h2>待补全({{num .Total}})</h2>
|
||
<div class="card-sub">
|
||
建议已经在下拉里<strong>选好</strong>了,不满意的改成别的、或选「(不动)」。
|
||
活动按<strong>地点</strong>补:一次把该地点名下所有没设活动的到访一起填上,不会只改一条。
|
||
填了现有列表之外的名字,会自动建成新的活动类型。
|
||
类别下拉里标着「真机用过」的是导出回 rond 时一定能认的;<br>
|
||
右侧「高德参考」写的是高德在这个坐标上找到的 POI 与类型,猜不出活动时拿它作判断。<br>
|
||
「用高德分析剩下的」每次处理 40 个、约 4 秒,结果会填进上面还没建议的行里,点多几次即可。
|
||
</div>
|
||
<form method="post" action="/admin/fillup/apply">
|
||
<div class="tw">
|
||
<table class="tb tb-stack">
|
||
<thead>
|
||
<tr>
|
||
<th>地点</th><th>城市</th><th class="num">待设到访</th><th>缺什么</th>
|
||
<th>活动</th><th>类别</th><th>建议来源</th><th>高德参考</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
{{range $row := .Rows}}
|
||
<tr>
|
||
<td>{{if $row.Name}}{{$row.Name}}{{else}}<span class="muted">(未命名)</span>{{end}}</td>
|
||
<td data-label="城市">{{if $row.City}}{{$row.City}}{{else}}<span class="muted">—</span>{{end}}</td>
|
||
<td class="num" data-label="待设到访">{{if $row.NoAct}}{{$row.NoAct}}{{else}}<span class="muted">—</span>{{end}}</td>
|
||
<td data-label="缺什么">{{$row.Missing}}</td>
|
||
<td data-label="活动">
|
||
{{if $row.NoAct}}
|
||
<select name="act_{{$row.PlaceID}}" class="fill-sel">
|
||
<option value=""{{if not $row.ActHint}} selected{{end}}>(不动)</option>
|
||
{{if $row.ActHint}}
|
||
<option value="{{$row.ActHint}}" selected>建议:{{$row.ActHint}}{{if not $row.ActID}}(新建){{end}}</option>
|
||
{{end}}
|
||
{{range $.Activities}}<option value="{{.Name}}">{{.Name}}</option>{{end}}
|
||
</select>
|
||
{{else}}<span class="muted">—</span>{{end}}
|
||
</td>
|
||
<td data-label="类别">
|
||
{{if $row.NoCat}}
|
||
{{$hint := $row.CatHint}}
|
||
<select name="cat_{{$row.PlaceID}}" class="fill-sel">
|
||
<option value=""{{if not $hint}} selected{{end}}>(不动)</option>
|
||
{{range $.Categories}}
|
||
<option value="{{.Value}}"{{if eq .Value $hint}} selected{{end}}>{{.Label}}</option>
|
||
{{end}}
|
||
</select>
|
||
{{else}}<span class="muted">—</span>{{end}}
|
||
</td>
|
||
<td data-label="建议来源">{{if $row.Source}}{{$row.Source}}{{else}}<span class="muted">—</span>{{end}}</td>
|
||
<td data-label="高德参考">
|
||
{{if $row.AmapType}}
|
||
<span style="font-size:12.5px">{{if $row.AmapPoi}}{{$row.AmapPoi}}<br>{{end}}<span class="muted">{{$row.AmapType}}</span></span>
|
||
{{else}}<span class="muted">—</span>{{end}}
|
||
</td>
|
||
</tr>
|
||
{{end}}
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<div class="row" style="margin-top:12px">
|
||
<button class="btn primary" type="submit">执行补全</button>
|
||
<button class="btn" type="submit" formaction="/admin/fillup/amap"
|
||
title="用高德按坐标搜一遍,给还没建议的地点补上参考">用高德分析剩下的</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
{{else}}
|
||
<div class="card">
|
||
<div class="alert ok">所有地点的活动和类别都齐了,没什么要补的。</div>
|
||
</div>
|
||
{{end}}
|
||
</div>
|
||
{{end}}
|