diff --git a/frontend/src/components/RecipeDetailOverlay.vue b/frontend/src/components/RecipeDetailOverlay.vue index 7745bd8..7aa2024 100644 --- a/frontend/src/components/RecipeDetailOverlay.vue +++ b/frontend/src/components/RecipeDetailOverlay.vue @@ -165,7 +165,7 @@ {{ n }} - 纯精油总数约为 {{ editorSuggestedEo }} 滴 + 纯精油总数约为 {{ editorSuggestedEo }} 滴,现在为 {{ editorEoDrops }} 滴 diff --git a/frontend/src/views/RecipeManager.vue b/frontend/src/views/RecipeManager.vue index 58c110d..d208388 100644 --- a/frontend/src/views/RecipeManager.vue +++ b/frontend/src/views/RecipeManager.vue @@ -22,18 +22,14 @@ - - - - - + + + + + ✕ - - - - - + 新增 {{ d.name }} - {{ auth.user?.display_name || auth.user?.username }} {{ t }} @@ -133,7 +128,6 @@ 📤 - ✏️ 🗑️ @@ -164,14 +158,12 @@ /> {{ r.name }} - {{ r._owner_name }} {{ t }} {{ oils.fmtPrice(oils.calcCost(r.ingredients)) }} - ✏️ 🗑️ @@ -236,7 +228,8 @@ 💾 保存 - ✕ 取消 + 👁 预览 + ✕ @@ -261,7 +254,7 @@ {{ n }} - 纯精油总数约为 {{ suggestedEoDrops }} 滴 + 纯精油总数约为 {{ suggestedEoDrops }} 滴,现在为 {{ eoTotalDrops }} 滴 @@ -621,6 +614,11 @@ async function applyBatchTags() { clearSelection() } +function previewRecipe() { + // TODO: generate card preview + ui.showToast('预览功能开发中') +} + function doBatch(action) { showBatchMenu.value = false executeBatchAction(action) @@ -1723,7 +1721,17 @@ watch(() => recipeStore.recipes, () => { .select-sm { padding: 4px 6px; border: 1.5px solid #d4cfc7; border-radius: 6px; font-size: 12px; font-family: inherit; background: #fff; width: auto; } .btn-select-active { background: #e8f5e9; color: #2e7d5a; border: 1.5px solid #7ec6a4; border-radius: 10px; padding: 7px 14px; font-size: 13px; cursor: pointer; font-family: inherit; font-weight: 600; } .toolbar-row { - display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; + display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; +} +.search-compact { + flex: 0 1 160px; min-width: 100px; padding: 2px 8px; + background: #f8f7f5; border: 1.5px solid #e5e4e7; border-radius: 10px; + display: flex; align-items: center; +} +.search-compact .search-input { border: none; background: transparent; padding: 6px 4px; font-size: 13px; outline: none; width: 100%; font-family: inherit; } +.detail-close-btn { + border: none; background: #f0eeeb; width: 26px; height: 26px; border-radius: 50%; + cursor: pointer; font-size: 13px; display: flex; align-items: center; justify-content: center; color: #6b6375; } .select-count { font-size: 12px; color: #4a9d7e; font-weight: 500; white-space: nowrap; } .batch-menu { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }