b52729dec8
- page 背景换成顶部品牌橘 → 约半屏褪到米白的竖向淡出,铺全部页面, 没有色块接缝问题,整屏更一体 - nav-bar 默认改透明 + 深棕字(顶部本身就暖,不再铺奶白毛玻璃); 去掉 Step4 的 tone 属性和独立 .brand-band - 带切换条的页面(首页/报告/历史/计划)统一 on-band:chip 半透明白、 选中实白,在暖底上更清晰 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
118 lines
6.3 KiB
Plaintext
118 lines
6.3 KiB
Plaintext
<nav-bar title="养宠计划" show-back="{{true}}"></nav-bar>
|
||
|
||
<view class="top-bar on-band"><pet-switch show-add="{{false}}"></pet-switch></view>
|
||
|
||
<scroll-view class="page-scroll" scroll-y="{{true}}" enhanced="{{true}}" show-scrollbar="{{false}}">
|
||
<view class="page-body">
|
||
<view wx:if="{{!pet.id}}" class="no-pet">
|
||
<view class="no-pet-ic"><pt-icon name="community" size="{{52}}"></pt-icon></view>
|
||
<view class="no-pet-b">还没有毛孩子的档案</view>
|
||
<view class="no-pet-p">建好档会按它的年龄阶段自动排好 30 天计划和疫苗驱虫提醒。</view>
|
||
<view class="btn btn-dark" bindtap="onAddPet"><pt-icon name="plus" size="{{30}}"></pt-icon>建一份档案</view>
|
||
</view>
|
||
|
||
<block wx:else>
|
||
<!-- 月历。按自然月切而不是「从计划开始日起 30 天」:那样窗口会跨两个月,
|
||
用户看着 7月26日—8月25日 既不像本月也不像下月,「这个月还剩什么」对不上。
|
||
能翻到下月,否则「做下月计划」这件事本身做不了 -->
|
||
<view class="card">
|
||
<view class="section-head">
|
||
<view class="sh-title">{{monthLabel}}</view>
|
||
<view class="link-tabs">
|
||
<view class="link {{monthOff === 0 ? 'on' : ''}}" data-off="0" bindtap="switchMonth">本月</view>
|
||
<view class="link {{monthOff === 1 ? 'on' : ''}}" data-off="1" bindtap="switchMonth">下月</view>
|
||
</view>
|
||
</view>
|
||
<!-- 这个月一条都没有时给套方案的入口。空着让用户自己从零排,
|
||
多数人会直接退出去 —— 但「自己排」也得留着,不能只给套用 -->
|
||
<view wx:if="{{monthEmpty}}" class="plan-tip">
|
||
<pt-icon name="warn" size="{{28}}"></pt-icon>
|
||
<view class="plan-tip-b">{{monthLabel}}还没有安排</view>
|
||
<view wx:if="{{tplOptions.length}}" class="link" catchtap="openTpl">套一套方案</view>
|
||
</view>
|
||
<view class="cal-grid">
|
||
<text class="cal-w">一</text><text class="cal-w">二</text><text class="cal-w">三</text><text class="cal-w">四</text><text class="cal-w">五</text><text class="cal-w">六</text><text class="cal-w">日</text>
|
||
<view wx:for="{{cells}}" wx:key="index"
|
||
class="cal-cell {{item.blank ? 'blank' : ''}} {{item.today ? 'today' : ''}} {{item.count ? 'tasked' : ''}} {{item.date === selDate ? 'sel' : ''}}"
|
||
data-date="{{item.date}}" bindtap="onTapDay">{{item.day || ''}}</view>
|
||
</view>
|
||
</view>
|
||
|
||
<!-- 选中那天的安排 -->
|
||
<view class="card">
|
||
<view class="section-head">
|
||
<view class="sh-title">{{selLabel}}</view>
|
||
<view class="link-tabs">
|
||
<view wx:if="{{tplOptions.length}}" class="link on" bindtap="openTpl">套方案</view>
|
||
<view class="link on" bindtap="openAdd">+ 加一件</view>
|
||
</view>
|
||
</view>
|
||
<view wx:for="{{dayTasks}}" wx:key="id" class="plan-task {{item.done ? 'done' : ''}}">
|
||
<view class="pk-check" catchtap="toggleTask" data-id="{{item.id}}">
|
||
<pt-icon wx:if="{{item.done}}" name="check" size="{{22}}"></pt-icon>
|
||
</view>
|
||
<view class="pk-body" data-id="{{item.id}}" bindtap="openEdit">
|
||
<text class="pk-b">{{item.title}}</text>
|
||
<view wx:if="{{item.description}}" class="pk-p">{{item.description}}</view>
|
||
</view>
|
||
<view class="pk-del" catchtap="onDelete" data-id="{{item.id}}" data-title="{{item.title}}">
|
||
<pt-icon name="trash" size="{{28}}"></pt-icon>
|
||
</view>
|
||
</view>
|
||
<view wx:if="{{!dayTasks.length}}" class="empty">这天还没有安排,点右上角加一件</view>
|
||
</view>
|
||
|
||
</block>
|
||
</view>
|
||
</scroll-view>
|
||
|
||
<!-- 加/改一条计划。字段少,用弹层比再开一页合适 -->
|
||
<view wx:if="{{editShow}}" class="pe-mask" bindtap="closeEdit">
|
||
<view class="pe-sheet" catchtap="noop">
|
||
<view class="pe-h">{{editId ? '改这件事' : '加一件事'}}</view>
|
||
<view class="field"><label>做什么</label>
|
||
<input class="input" placeholder="比如 带去打第二针" placeholder-class="placeholder"
|
||
value="{{form.title}}" bindinput="onFormTitle"/></view>
|
||
<view class="field"><label>哪天</label>
|
||
<picker mode="date" value="{{form.date}}" start="{{pickStart}}" end="{{pickEnd}}" bindchange="onFormDate">
|
||
<view class="picker-box">{{form.date}}</view>
|
||
</picker>
|
||
<view class="tiny">只能安排 {{pickStart}} 到 {{pickEnd}} 之间</view>
|
||
</view>
|
||
<view class="field"><label>备注</label>
|
||
<textarea class="textarea" placeholder="可不填" placeholder-class="placeholder"
|
||
value="{{form.description}}" bindinput="onFormDesc"></textarea></view>
|
||
<!-- 只有新增能选「每天」:已有的那条改成每天等于凭空复制 29 份,
|
||
用户想要的是「以后每天」,不是「把这条撒开」 -->
|
||
<view wx:if="{{!editId}}" class="field pe-daily">
|
||
<view class="pe-daily-main">
|
||
<view class="tt-b">应用到每天</view>
|
||
<view class="tt-p">从这天排到 {{monthEndLabel}},每天一条,可以分别打勾</view>
|
||
</view>
|
||
<switch checked="{{form.daily}}" color="#F5A947" bindchange="onFormDaily"></switch>
|
||
</view>
|
||
<view class="btn btn-primary btn-block" bindtap="onSubmit">{{saving ? '保存中…' : '保存'}}</view>
|
||
</view>
|
||
</view>
|
||
|
||
<!-- 套用养护方案 -->
|
||
<view wx:if="{{tplShow}}" class="pe-mask" bindtap="closeTpl">
|
||
<view class="pe-sheet" catchtap="noop">
|
||
<view class="pe-h">套一套方案到{{monthLabel}}</view>
|
||
<view class="tiny pt-sub">按 {{pet.stage}} 配的。套用是「往里加」,不会覆盖你已经排好的。</view>
|
||
<view wx:for="{{tplOptions}}" wx:key="id" class="pt-item" data-id="{{item.id}}" bindtap="applyTpl">
|
||
<view class="pt-name">{{item.name}}</view>
|
||
<view class="pt-sum">{{item.summary}}</view>
|
||
<view class="pt-meta">
|
||
<text wx:if="{{item.daily}}">每天 {{item.daily}} 项</text>
|
||
<text wx:if="{{item.weekly}}">每周 {{item.weekly}} 项</text>
|
||
<text wx:if="{{item.monthly}}">每月 {{item.monthly}} 项</text>
|
||
<text wx:if="{{item.once}}">一次性 {{item.once}} 项</text>
|
||
</view>
|
||
</view>
|
||
<view wx:if="{{!tplOptions.length}}" class="empty">这个阶段还没有配方案</view>
|
||
</view>
|
||
</view>
|
||
|
||
<bottom-sheet show="{{sheetShow}}" type="{{sheetType}}" bind:close="closeSheet"></bottom-sheet>
|