Browse Source

feat(R24): 快捷备注+备注文案+员工入口+订单卡片商品名+每酒一行

dev
cursor 1 day ago
parent
commit
c7fdc55914
4 changed files with 23 additions and 9 deletions
  1. +11
    -3
      components/OrderCard.vue
  2. +2
    -1
      pages/confirm/confirm.vue
  3. +3
    -2
      pages/index/index.vue
  4. +7
    -3
      utils/constants.js

+ 11
- 3
components/OrderCard.vue View File

@ -1,4 +1,4 @@
<template>
<template>
<view class="order-card" :class="{ pulse: order.status === 0 }"> <view class="order-card" :class="{ pulse: order.status === 0 }">
<view class="card-header"> <view class="card-header">
<view> <view>
@ -8,7 +8,12 @@
<text class="status-badge" :class="statusClass">{{ statusLabel }}</text> <text class="status-badge" :class="statusClass">{{ statusLabel }}</text>
</view> </view>
<view class="card-body"> <view class="card-body">
<text class="card-items">{{ order.items.map(i=>i.name+'×'+i.qty).join('、') }}</text>
<view class="card-items">
<view v-for="(item, idx) in order.items" :key="idx" class="card-item-row">
<text class="card-item-name">{{ item.name }}</text>
<text class="card-item-qty">×{{ item.qty }}</text>
</view>
</view>
<text v-if="order.note" class="card-note">💬 {{ order.note }}</text> <text v-if="order.note" class="card-note">💬 {{ order.note }}</text>
<text class="card-time">{{ order.submittedAt }}</text> <text class="card-time">{{ order.submittedAt }}</text>
<slot name="actions"></slot> <slot name="actions"></slot>
@ -43,7 +48,10 @@ export default {
.status-done{background:rgba(46,213,115,.15);color:#2ED573} .status-done{background:rgba(46,213,115,.15);color:#2ED573}
.status-cancelled{background:rgba(116,125,140,.15);color:#747D8C} .status-cancelled{background:rgba(116,125,140,.15);color:#747D8C}
.card-body{padding-top:8rpx} .card-body{padding-top:8rpx}
.card-items{font-size:26rpx;color:var(--text);display:block}
.card-items{padding:4rpx 0}
.card-item-row{display:flex;align-items:center;justify-content:space-between;padding:6rpx 0}
.card-item-name{font-size:52rpx;font-weight:700;color:var(--text)}
.card-item-qty{font-size:28rpx;font-weight:600;color:var(--gold);margin-left:16rpx}
.card-note{font-size:24rpx;color:var(--orange);display:block;padding:8rpx 0} .card-note{font-size:24rpx;color:var(--orange);display:block;padding:8rpx 0}
.card-time{font-size:22rpx;color:var(--text-muted);display:block;padding:4rpx 0} .card-time{font-size:22rpx;color:var(--text-muted);display:block;padding:4rpx 0}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 20rpx rgba(245,166,35,.1)}50%{box-shadow:0 0 40rpx rgba(245,166,35,.2)}} @keyframes pulse-glow{0%,100%{box-shadow:0 0 20rpx rgba(245,166,35,.1)}50%{box-shadow:0 0 40rpx rgba(245,166,35,.2)}}


+ 2
- 1
pages/confirm/confirm.vue View File

@ -26,7 +26,7 @@
<view class="section"> <view class="section">
<text class="section-title"> 补充备注</text> <text class="section-title"> 补充备注</text>
<input class="note-input" v-model="note" placeholder="如:多冰、少甜..." maxlength="100" />
<input class="note-input" v-model="note" placeholder="好晕好渴好想喝..." maxlength="100" />
</view> </view>
<view class="total-line"> <view class="total-line">
@ -101,3 +101,4 @@ export default {
.bell-btn{width:100%;height:96rpx;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--gold-dark),var(--gold));color:#1A1A1A;border:none;font-size:32rpx;font-weight:800;display:flex;align-items:center;justify-content:center;animation:pulse-glow 2s ease-in-out infinite} .bell-btn{width:100%;height:96rpx;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--gold-dark),var(--gold));color:#1A1A1A;border:none;font-size:32rpx;font-weight:800;display:flex;align-items:center;justify-content:center;animation:pulse-glow 2s ease-in-out infinite}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 20rpx rgba(245,166,35,.3)}50%{box-shadow:0 0 40rpx rgba(245,166,35,.6)}} @keyframes pulse-glow{0%,100%{box-shadow:0 0 20rpx rgba(245,166,35,.3)}50%{box-shadow:0 0 40rpx rgba(245,166,35,.6)}}
</style> </style>

+ 3
- 2
pages/index/index.vue View File

@ -139,11 +139,11 @@ export default {
.landing-decor{position:absolute;font-size:80rpx;opacity:.08;animation:float 6s ease-in-out infinite;pointer-events:none} .landing-decor{position:absolute;font-size:80rpx;opacity:.08;animation:float 6s ease-in-out infinite;pointer-events:none}
.landing-logo{font-size:160rpx;animation:float 3s ease-in-out infinite} .landing-logo{font-size:160rpx;animation:float 3s ease-in-out infinite}
.landing-title{font-size:48rpx;font-weight:900;color:var(--gold);margin-top:24rpx;letter-spacing:6rpx} .landing-title{font-size:48rpx;font-weight:900;color:var(--gold);margin-top:24rpx;letter-spacing:6rpx}
.landing-sub{font-size:28rpx;color:var(--text-dim);margin:12rpx 0 40rpx;letter-spacing:2rpx}
.landing-sub{font-size:28rpx;color:var(--text-dim);margin:12rpx 0 20rpx;letter-spacing:2rpx}
.btn-primary{width:440rpx;height:96rpx;border-radius:24rpx;background:linear-gradient(135deg,var(--gold-dark),var(--gold),var(--gold-light));color:#1A1A1A;border:none;font-size:32rpx;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 8rpx 40rpx rgba(245,166,35,.35)} .btn-primary{width:440rpx;height:96rpx;border-radius:24rpx;background:linear-gradient(135deg,var(--gold-dark),var(--gold),var(--gold-light));color:#1A1A1A;border:none;font-size:32rpx;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 8rpx 40rpx rgba(245,166,35,.35)}
/* 员工入口 */ /* 员工入口 */
.staff-link{padding:12rpx 20rpx;text-align:center;flex-shrink:0}
.staff-link{padding:4rpx 20rpx;text-align:center;flex-shrink:0}
.staff-link text{color:var(--text-muted);font-size:22rpx;letter-spacing:2rpx} .staff-link text{color:var(--text-muted);font-size:22rpx;letter-spacing:2rpx}
/* 号码牌弹窗 */ /* 号码牌弹窗 */
@ -165,3 +165,4 @@ export default {
.card-divider{text-align:center;color:var(--text-muted);font-size:24rpx;margin:20rpx 0;position:relative} .card-divider{text-align:center;color:var(--text-muted);font-size:24rpx;margin:20rpx 0;position:relative}
.modal-footer{padding:0 36rpx 40rpx} .modal-footer{padding:0 36rpx 40rpx}
</style> </style>

+ 7
- 3
utils/constants.js View File

@ -30,8 +30,12 @@ export const ORDER_STATUS = {
export const CONFIRM_PRESETS = [ export const CONFIRM_PRESETS = [
{ label: '去冰', icon: '🧊' }, { label: '去冰', icon: '🧊' },
{ label: '多酸', icon: '🍋' },
{ label: '少甜', icon: '🍬' },
{ label: '多冰', icon: '🧊' },
{ label: '喜酸', icon: '🍋' },
{ label: '去酸', icon: '🍋' },
{ label: '喜甜', icon: '🍬' },
{ label: '去甜', icon: '🍬' },
{ label: '加烈', icon: '🥃' }, { label: '加烈', icon: '🥃' },
{ label: '快做', icon: '⚡' },
{ label: '低度', icon: '🍹' },
] ]

Loading…
Cancel
Save