Files
Neo 779b2f6d52 chore: v1 整理 — 清理历史文件、DDL 合并、文档归档
- 清理 1155 个已删除的历史文件(废弃 prompt_logs、tmp、旧 ops 脚本)
- export/ 数据文件从 git 移除(已在 .gitignore)
- demo-miniprogram 从 tmp/ 移入 apps/,添加 CLAUDE.md 注解
- DDL 合并:完整 schema 定义填充到 db/*/schemas/(从 docs/database/ddl/ 复制)
- 39 个 v1 迁移脚本归档到 db/_archived/migrations_v1_merged/
- 4 个迁移变更类 BD_Manual 文档归档到 docs/database/_archived/
- .gitignore 补充 .vite/ 和 apps/*.zip
- settings.json 添加 effortLevel 默认配置
- scripts/ops/ 新增运维脚本入库

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 00:39:27 +08:00

84 lines
3.7 KiB
Plaintext

<view class="modal-overlay {{keyboardHeight > 0 ? 'modal-overlay--keyboard-open' : ''}}" wx:if="{{visible}}" catchtap="onCancel" catchtouchmove="noop">
<view class="modal-container" catchtap="noop">
<!-- 头部 -->
<view class="modal-header">
<view class="header-left">
<text class="modal-title">添加备注</text>
<view class="expand-btn" wx:if="{{showExpandBtn && showRating}}" bindtap="onToggleExpand" hover-class="expand-btn--hover">
<text class="expand-text">{{ratingExpanded ? '收起评价 ▴' : '展开评价 ▾'}}</text>
</view>
</view>
<view class="modal-close" bindtap="onCancel" hover-class="modal-close--hover">
<t-icon name="close" size="40rpx" color="#8b8b8b" />
</view>
</view>
<!-- 评分区域 -->
<view class="rating-section" wx:if="{{showRating && ratingExpanded}}">
<!-- 再次服务此客户 - 爱心 -->
<view class="rating-group">
<text class="rating-label">再次服务此客户</text>
<view class="rating-right rating-right-heart" bindtouchstart="onHeartTouchStart" bindtouchmove="onHeartTouchMove">
<view class="rating-row">
<view class="rating-item" wx:for="{{[1,2,3,4,5]}}" wx:key="*this" bindtap="onHeartTap" data-score="{{item}}" hover-class="rating-item--hover">
<image class="rating-icon" src="{{serviceScore >= item ? '/assets/icons/heart-filled.svg' : '/assets/icons/heart-empty.svg'}}" />
</view>
</view>
<view class="rating-hints">
<text class="hint" style="text-align: left;">不想</text>
<text class="hint"></text>
<text class="hint">一般</text>
<text class="hint"></text>
<text class="hint">非常想</text>
</view>
</view>
</view>
<!-- 再来店可能性 - 台球 -->
<view class="rating-group">
<text class="rating-label">再来店可能性</text>
<view class="rating-right rating-right-ball" bindtouchstart="onBallTouchStart" bindtouchmove="onBallTouchMove">
<view class="rating-row">
<view class="rating-item" wx:for="{{[1,2,3,4,5]}}" wx:key="*this" bindtap="onBallTap" data-score="{{item}}" hover-class="rating-item--hover">
<image class="rating-icon" src="{{returnScore >= item ? '/assets/icons/ball-black.svg' : '/assets/icons/ball-gray.svg'}}" />
</view>
</view>
<view class="rating-hints">
<text class="hint" style="text-align: left;">不可能</text>
<text class="hint"></text>
<text class="hint">不好说</text>
<text class="hint"></text>
<text class="hint">肯定能</text>
</view>
</view>
</view>
</view>
<!-- 文本输入 -->
<view class="textarea-section">
<textarea
class="note-textarea"
placeholder="请输入备注内容..."
value="{{content}}"
bindinput="onContentInput"
bindfocus="onTextareaFocus"
bindblur="onTextareaBlur"
maxlength="500"
auto-height
adjust-position="{{false}}"
placeholder-class="textarea-placeholder"
/>
</view>
<!-- 键盘弹出时的占位,防止内容被遮挡 -->
<view wx:if="{{keyboardHeight > 0}}" style="height: {{keyboardHeight}}px;"></view>
<!-- 保存按钮 -->
<view class="modal-footer {{keyboardHeight > 0 ? 'modal-footer--float' : ''}}" style="{{keyboardHeight > 0 ? 'bottom: ' + keyboardHeight + 'px;' : ''}}">
<view class="save-btn {{!canSave ? 'disabled' : ''}}" bindtap="onConfirm" hover-class="{{canSave ? 'save-btn--hover' : ''}}">
<text class="save-text">保存</text>
</view>
</view>
</view>
</view>