diff --git a/src/components/smoke-record-dialog/README.md b/src/components/smoke-record-dialog/README.md
index 086087e..dc4c493 100644
--- a/src/components/smoke-record-dialog/README.md
+++ b/src/components/smoke-record-dialog/README.md
@@ -11,6 +11,8 @@
- ✅ 从底部弹出动画效果
- ✅ 半屏展示,优化用户体验
- ✅ 支持两种模式:抽烟记录 / 忍住记录
+- ✅ 快捷标签、多选原因与补充备注
+- ✅ `quickMode` 快速记录模式
- ✅ 完整的表单功能
- ✅ 已配置 easycom 自动导入
@@ -58,6 +60,8 @@ function handleSubmit(data) {
|------|------|--------|------|
| show | Boolean | false | 控制弹框显示/隐藏(支持 v-model) |
| type | String | 'smoke' | 记录类型:'smoke'(抽烟) 或 'resisted'(忍住) |
+| initialData | Object | null | 编辑模式下的初始值 |
+| quickMode | Boolean | false | 是否启用快速记录模式,默认隐藏高级项 |
## 🎪 Events
@@ -72,6 +76,7 @@ function handleSubmit(data) {
{
smoke_time: "2025-01-25", // 日期
smoke_at: "2025-01-25 14:30:00", // 完整时间
+ reason_tags: ["stress"], // 原因标签(可选)
remark: "压力大", // 备注(可选)
level: 2, // 烟瘾等级 1-5
num: 3 // 数量(忍住时为0)
@@ -90,6 +95,7 @@ function handleSubmit(data) {
@@ -179,3 +185,4 @@ async function onResistedSubmit(data) {
3. 已配置 easycom,无需手动导入
4. 提交后弹框会自动关闭
5. 表单数据会在打开时自动初始化为当前时间
+6. 当后端尚未消费 `reason_tags` 时,组件会把已选标签合并进 `remark`,避免信息丢失
diff --git a/src/components/smoke-record-dialog/smoke-record-dialog.vue b/src/components/smoke-record-dialog/smoke-record-dialog.vue
index 2e242bb..5380f0d 100644
--- a/src/components/smoke-record-dialog/smoke-record-dialog.vue
+++ b/src/components/smoke-record-dialog/smoke-record-dialog.vue
@@ -3,84 +3,130 @@
-
+
-
-
-
- 日期
-
-
- {{ formData.smoke_time || '选择日期' }}
-
-
-
-
-
- 时间
-
-
- {{ formData.smoke_time_only || '选择时间' }}
-
-
-
-
-
-
-
-
- 抽烟数量
+
+
+ 默认时间
+ {{ formData.smoke_time_only }}
-
- -
- {{ formData.num }}
- +
+
+ 默认数量
+ {{ formData.num }} 支
+ 先选原因就能快速保存,需要时再展开高级项。
-
+
-
-
+
@@ -88,6 +134,8 @@