Files
sundynix-pets/pets-fe/pages/plan/plan.wxml
T
Blizzard b52729dec8 feat(fe): 整站改品牌暖橘竖向淡出渐变,取代独立色块
- page 背景换成顶部品牌橘 → 约半屏褪到米白的竖向淡出,铺全部页面,
  没有色块接缝问题,整屏更一体
- nav-bar 默认改透明 + 深棕字(顶部本身就暖,不再铺奶白毛玻璃);
  去掉 Step4 的 tone 属性和独立 .brand-band
- 带切换条的页面(首页/报告/历史/计划)统一 on-band:chip 半透明白、
  选中实白,在暖底上更清晰

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 13:59:05 +08:00

118 lines
6.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<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>