feat(v1.9.0): Bootstrap 5 迁移第 3/4、4/4 轮(抽屉、表单、大屏内部)

版本号保持 1.9.0,仍为纯前端改动:
- 日历抽屉:快速输入改 form-control,任务/到期列表改 Bootstrap list-group,加急标签改 badge
- 客户详情:套餐下拉、开始日、天数/次数、终止日统一 form-select / form-control
- 大屏内部:KPI 改 card,TOP 榜与今日列表改 list-group,加急改 badge;热力网格保留自绘
- app.css 增加 Bootstrap 收敛规则(list-group 透明背景、任务分隔线)

验证:无头 Chrome 实拍日历、客户详情、大屏三页(shots/bs3-*.png),页面正常渲染
数据库与业务逻辑零改动
This commit is contained in:
subtrack
2026-10-19 22:17:01 +08:00
parent a83bfbb2b3
commit 621adfa4a8
4 changed files with 25 additions and 18 deletions
+7 -7
View File
@@ -83,7 +83,7 @@
<input type="hidden" name="pkg" value="{{.D.PkgID}}">
<input type="hidden" name="tag" value="{{.D.Tag}}">
<input type="hidden" name="back" value="{{.D.Back}}">
<input type="text" name="tail" placeholder="输入手机尾号,回车即可完成" maxlength="8" autocomplete="off" inputmode="numeric" aria-label="手机尾号快速完成">
<input class="form-control form-control-sm" type="text" name="tail" placeholder="输入手机尾号,回车即可完成" maxlength="8" autocomplete="off" inputmode="numeric" aria-label="手机尾号快速完成">
<button class="btn btn-sm btn-primary" type="submit">完成</button>
<button type="button" class="btn btn-sm btn-ghost keypad-toggle" data-keypad-toggle title="切换触控/PC 模式" aria-label="切换触控/PC 模式">⌨</button>
</form>
@@ -115,7 +115,7 @@
<input type="hidden" name="back" value="{{.D.Back}}">
<ul class="pick-list">
{{range .D.PickRows}}
<li>
<li class="list-group-item px-0">
<label>
<input type="checkbox" name="sub_ids" value="{{.ID}}"{{if not .Done}}{{if not .Skipped}} checked{{end}}{{end}}>
<span class="ticket" style="--tag:{{.PackageColor}}"><b>{{.CustomerTail}}</b>{{.CustomerName}}</span>
@@ -139,16 +139,16 @@
{{end}}
{{if .D.Tasks}}
<ul class="task-list">
<ul class="list-group list-group-flush task-list">
{{range .D.Tasks}}
{{if or .Done .Skipped}}
<li class="task task-done" style="--asg:{{.AssigneeHex}}">
<li class="list-group-item task task-done px-0" style="--asg:{{.AssigneeHex}}">
<details class="done-fold">
<summary>
<span class="ticket" style="--tag:{{.PackageColor}}"><b>{{.CustomerTail}}</b>{{.CustomerName}}</span>
<span class="pkg">{{.PackageName}}</span>
<span class="chip {{if .Done}}chip-active{{else}}chip-paused{{end}}">{{if .Done}}已完成{{else}}已跳过{{end}}</span>
{{if .Urgent}}<span class="tag-urgent">加急</span>{{end}}
{{if .Urgent}}<span class="badge text-bg-danger tag-urgent">加急</span>{{end}}
<span class="fold-caret" aria-hidden="true"></span>
</summary>
<div class="done-detail">
@@ -181,7 +181,7 @@
</details>
</li>
{{else}}
<li class="task{{if .Urgent}} urgent{{end}}" style="--asg:{{.AssigneeHex}}">
<li class="list-group-item task{{if .Urgent}} urgent{{end}} px-0" style="--asg:{{.AssigneeHex}}">
<div class="task-main">
<a class="task-title" href="/customers/{{.CustomerID}}">
<span class="ticket" style="--tag:{{.PackageColor}}"><b>{{.CustomerTail}}</b>{{.CustomerName}}</span>
@@ -234,7 +234,7 @@
<section class="drawer-block">
<h3>这天到期 <em>{{len .D.Due}}</em></h3>
{{if .D.Due}}
<ul class="due-list">
<ul class="list-group list-group-flush due-list">
{{range .D.Due}}
<li>
<a class="due-main" href="/customers/{{.CustomerID}}">