diff --git a/other-module/canteen-device/canteen-nutrition-scale/02-dish-display.html b/other-module/canteen-device/canteen-nutrition-scale/02-dish-display.html
index 9cf354f..3559ddc 100644
--- a/other-module/canteen-device/canteen-nutrition-scale/02-dish-display.html
+++ b/other-module/canteen-device/canteen-nutrition-scale/02-dish-display.html
@@ -148,18 +148,6 @@
flex-direction: column;
padding: 50px 80px 30px;
}
- /* 顶部副标题 */
- .normal-heading {
- text-align: center;
- margin-bottom: 24px;
- }
- .normal-heading__text {
- font-size: 26px;
- font-weight: 600;
- color: #FF9800;
- letter-spacing: 4px;
- text-shadow: 0 0 20px rgba(255,152,0,0.2);
- }
/* 中部左右分栏内容 */
.normal-content {
flex: 1;
@@ -176,8 +164,8 @@
}
/* 左侧大图 */
.normal-img-box {
- width: 480px;
- height: 360px;
+ width: 560px;
+ height: 420px;
border-radius: 20px;
overflow: hidden;
flex-shrink: 0;
@@ -295,84 +283,30 @@
display: none;
}
- /* ================ 视频模式布局(上信息条 + 下大视频) ================ */
+ /* ================ 视频模式布局(左右分栏:左视频 + 右信息卡) ================ */
.video-mode {
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
display: none;
- flex-direction: column;
- padding: 24px 40px 28px;
- gap: 20px;
+ flex-direction: row;
+ align-items: center;
+ padding: 50px 80px 30px;
+ gap: 24px;
}
.main-area.mode-video .video-mode {
display: flex;
}
- /* 顶部信息条(菜名 + 价格突出 + 标签) */
- .video-topbar {
- display: flex;
- align-items: center;
- gap: 24px;
- padding: 14px 24px;
- background: rgba(255,255,255,0.04);
- border: 1px solid rgba(255,255,255,0.08);
- border-radius: 12px;
- flex-shrink: 0;
- }
- .video-topbar__name {
- font-size: 32px;
- font-weight: 700;
- color: #fff;
- flex-shrink: 0;
- }
- /* 视频模式价格突出(青底胶囊,靠右) */
- .video-topbar__price {
- display: flex;
- align-items: baseline;
- gap: 4px;
- padding: 8px 18px;
- background: linear-gradient(135deg, rgba(10,196,168,0.18), rgba(10,196,168,0.08));
- border: 1px solid rgba(10,196,168,0.4);
- border-radius: 10px;
- flex-shrink: 0;
- margin-left: auto;
- }
- .video-topbar__price-symbol {
- font-size: 18px;
- font-weight: 600;
- color: #0AC4A8;
- }
- .video-topbar__price-num {
- font-size: 36px;
- font-weight: 800;
- color: #0AC4A8;
- line-height: 1;
- text-shadow: 0 0 12px rgba(10,196,168,0.4);
- }
- .video-topbar__price-unit {
- font-size: 13px;
- color: rgba(10,196,168,0.7);
- margin-left: 2px;
- }
- /* 视频模式标签行 */
- .video-topbar__tags {
- display: flex;
- flex-wrap: wrap;
- gap: 6px;
- flex: 1;
- min-width: 0;
- }
-
- /* 视频播放区(尽量放大) */
+ /* 视频播放区(左侧主体,尽量放大) */
.video-player {
flex: 1;
- width: 100%;
- border-radius: 14px;
+ height: 420px;
+ border-radius: 20px;
overflow: hidden;
position: relative;
background: #000;
box-shadow: 0 16px 40px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.06);
- min-height: 0;
+ min-width: 0;
}
.video-player .video-bg {
position: absolute;
@@ -449,7 +383,7 @@
@@ -468,11 +402,6 @@
-
-
- 先识别 后取餐
-
-
@@ -503,22 +432,9 @@
点击菜品信息 → 进入取餐界面
-
+
-
-
-
宫保鸡丁
-
-
-
-
- ¥
- 5
- 元/100克
-
-
-
-
+
+
+
+
+
宫保鸡丁
+
+
+ ¥
+ 5
+ 元/100克
+
+
+
+
+
+
+
+ 热量
+ 158.66
+ 千卡/100克
+
+
@@ -622,7 +559,7 @@
var dishTags = dishData.tags || [];
/* 常规模式数据填充 */
- document.getElementById('dishImg').innerHTML = dishFoodSVG(480, 360, dishData.colors);
+ document.getElementById('dishImg').innerHTML = dishFoodSVG(560, 420, dishData.colors);
document.getElementById('dishName').textContent = dishData.name;
document.getElementById('dishPrice').textContent = dishData.price;
document.getElementById('dishKcal').textContent = dishData.kcal;
@@ -631,6 +568,7 @@
/* 视频模式数据填充 */
document.getElementById('videoDishName').textContent = dishData.name;
document.getElementById('videoDishPrice').textContent = dishData.price;
+ document.getElementById('videoDishKcal').textContent = dishData.kcal;
document.getElementById('videoBg').innerHTML = videoBgSVG(dishData.colors);
renderTags('videoTags', dishTags);
diff --git a/other-module/canteen-device/canteen-nutrition-scale/03-meal-pickup-dual.html b/other-module/canteen-device/canteen-nutrition-scale/03-meal-pickup-dual.html
index 6b895f0..e7f883f 100644
--- a/other-module/canteen-device/canteen-nutrition-scale/03-meal-pickup-dual.html
+++ b/other-module/canteen-device/canteen-nutrition-scale/03-meal-pickup-dual.html
@@ -63,6 +63,7 @@
flex-direction: column;
gap: 12px;
min-width: 0;
+ min-height: 0;
}
/* 设置按钮(浮于 pickup-section 头部) */
.settings-btn {
@@ -106,7 +107,6 @@
font-size: 20px; flex-shrink: 0;
}
.info-card__body { flex: 1; min-width: 0; }
- /* 用户信息卡:第一行 姓名 + 编号 同行 */
.info-card__line {
display: flex;
align-items: baseline;
@@ -125,31 +125,7 @@
color: rgba(255,255,255,0.55);
font-weight: 500;
}
- /* 第二行:推荐热量 + 范围值 */
- .info-card__heat {
- display: flex;
- align-items: baseline;
- gap: 6px;
- white-space: nowrap;
- }
- .info-card__label {
- font-size: 11px;
- color: rgba(255,255,255,0.45);
- font-weight: 400;
- }
- .info-card__value {
- font-size: 16px;
- font-weight: 700;
- color: #0AC4A8;
- line-height: 1.1;
- }
- .info-card__unit {
- font-size: 11px;
- font-weight: 400;
- color: rgba(10,196,168,0.7);
- }
-
- /* ===== 餐品信息卡 ===== */
+ /* 餐品信息卡 */
.info-card--dish {
cursor: pointer;
transition: background 0.2s;
@@ -188,121 +164,106 @@
letter-spacing: 0;
text-shadow: none;
}
- .info-card__dish-heat {
- font-size: 11px;
- color: rgba(255,255,255,0.5);
- line-height: 1.3;
- }
- .info-card__dish-heat em {
- font-style: normal;
- color: #0AC4A8;
- font-weight: 600;
- }
- /* ===== 当前餐次标题行(参考单屏 03 nutrition-header-row) ===== */
- .meal-header-row {
+ /* ===== 中列下半部:餐品展示(上方视频铺满 + 下方热量/标签区域) ===== */
+ .dish-display {
+ flex: 1;
+ background: #000;
+ border-radius: 14px;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ min-height: 0;
+ box-shadow: 0 12px 32px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.06);
+ }
+ /* 上方视频区:占据剩余空间 */
+ .dish-video {
+ flex: 1;
+ position: relative;
+ background: #000;
+ min-height: 0;
+ }
+ .dish-video .video-bg {
+ position: absolute;
+ top: 0; left: 0;
+ width: 100%; height: 100%;
+ }
+ .video-play-btn {
+ position: absolute;
+ top: 50%; left: 50%;
+ transform: translate(-50%, -50%);
+ width: 64px; height: 64px;
+ background: rgba(0,0,0,0.55);
+ border: 2px solid rgba(255,255,255,0.85);
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ cursor: pointer;
+ transition: transform 0.2s, background 0.2s;
+ z-index: 2;
+ }
+ .video-play-btn:hover {
+ background: rgba(0,0,0,0.75);
+ transform: translate(-50%, -50%) scale(1.05);
+ }
+ .video-play-btn::after {
+ content: '';
+ width: 0; height: 0;
+ border-left: 18px solid #fff;
+ border-top: 12px solid transparent;
+ border-bottom: 12px solid transparent;
+ margin-left: 5px;
+ }
+ .video-controls {
+ position: absolute;
+ bottom: 0; left: 0; right: 0;
+ padding: 10px 14px;
+ background: linear-gradient(to top, rgba(0,0,0,0.75), transparent);
+ display: flex;
+ align-items: center;
+ gap: 12px;
+ font-size: 12px;
+ color: rgba(255,255,255,0.85);
+ z-index: 2;
+ }
+ .video-progress {
+ flex: 1;
+ height: 4px;
+ background: rgba(255,255,255,0.2);
+ border-radius: 2px;
+ position: relative;
+ }
+ .video-progress::after {
+ content: '';
+ position: absolute;
+ left: 0; top: 0;
+ width: 35%;
+ height: 100%;
+ background: #FF9800;
+ border-radius: 2px;
+ }
+ .video-time {
+ font-size: 12px;
+ letter-spacing: 0.5px;
+ white-space: nowrap;
+ }
+ /* 下方信息区:热量 + 标签 */
+ .dish-meta {
+ flex-shrink: 0;
+ padding: 14px 20px;
+ background: #1a2b4a;
display: flex;
align-items: center;
justify-content: space-between;
- background: #1a2b4a;
- border-radius: 10px;
- padding: 12px 20px;
- flex-shrink: 0;
- }
- .meal-header-row .n-title {
- font-size: 16px;
- font-weight: 600;
- color: #fff;
- }
- .meal-header-row .n-title-hint {
- font-size: 12px;
- font-weight: 400;
- color: #FFB236;
- margin-left: 4px;
- }
- .meal-header-row .n-meal {
- font-size: 13px;
- color: rgba(255,255,255,0.5);
- }
- .meal-header-row .n-time {
- font-size: 12px;
- color: rgba(255,255,255,0.35);
- margin-left: 12px;
- }
-
- /* ===== 中列下半部:餐品介绍(替代 nutrition-core) ===== */
- .dish-display {
- flex: 1;
- background: linear-gradient(180deg, #1a2b4a 0%, #142038 100%);
- border-radius: 14px;
- display: flex;
- align-items: center;
- justify-content: center;
- padding: 24px;
- min-height: 0;
- }
- .dish-info {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 32px;
- width: 100%;
- }
- .dish-img-box {
- width: 320px; height: 320px;
- border-radius: 20px;
- overflow: hidden;
- flex-shrink: 0;
- box-shadow: 0 12px 32px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.06);
- }
- .dish-img-box svg { width: 100%; height: 100%; }
- .dish-info-text {
- display: flex;
- flex-direction: column;
gap: 16px;
- flex: 1;
- min-width: 0;
- max-width: 420px;
}
- .dish-name-row {
- font-size: 38px;
- font-weight: 700;
- color: #fff;
- line-height: 1.2;
- }
- /* 价格胶囊(青色) */
- .dish-price-pill {
- display: flex;
- align-items: baseline;
- gap: 6px;
- padding: 10px 20px;
- background: linear-gradient(135deg, rgba(10,196,168,0.18), rgba(10,196,168,0.06));
- border: 1px solid rgba(10,196,168,0.4);
- border-radius: 12px;
- width: fit-content;
- }
- .dish-price-pill__symbol {
- font-size: 20px;
- font-weight: 600;
- color: #0AC4A8;
- }
- .dish-price-pill__num {
- font-size: 44px;
- font-weight: 800;
- color: #0AC4A8;
- line-height: 1;
- text-shadow: 0 0 16px rgba(10,196,168,0.35);
- }
- .dish-price-pill__unit {
- font-size: 14px;
- color: rgba(10,196,168,0.8);
- font-weight: 400;
- }
- /* 餐品标签 chips */
.dish-tags {
display: flex;
flex-wrap: wrap;
gap: 8px;
+ flex: 1;
+ min-width: 0;
}
.dish-tag {
display: inline-flex;
@@ -326,29 +287,28 @@
background: rgba(91,155,248,0.12);
border-color: rgba(91,155,248,0.25);
}
- .dish-divider {
- width: 100%;
- height: 1px;
- background: rgba(255,255,255,0.1);
- }
.dish-cal-row {
display: flex;
align-items: baseline;
gap: 8px;
+ flex-shrink: 0;
+ padding: 6px 14px;
+ background: rgba(0,0,0,0.25);
+ border-radius: 8px;
}
.dish-cal-row__label {
font-size: 13px;
- color: rgba(255,255,255,0.5);
+ color: rgba(255,255,255,0.6);
letter-spacing: 0.5px;
}
.dish-cal-row__num {
- font-size: 26px;
+ font-size: 24px;
font-weight: 700;
color: #fff;
}
.dish-cal-row__unit {
font-size: 12px;
- color: rgba(255,255,255,0.5);
+ color: rgba(255,255,255,0.55);
}
/* ===== 右列:取餐记录(通顶) ===== */
@@ -391,13 +351,42 @@
border-bottom: 1px solid rgba(255,255,255,0.08);
flex-shrink: 0;
}
- .pickup-list { flex: 1; overflow-y: auto; padding: 0; }
+ .pickup-list { flex: 1; overflow: hidden; padding: 0; }
.pickup-row {
display: grid; grid-template-columns: 1fr 1fr 1fr;
padding: 10px 0; font-size: 13px;
color: rgba(255,255,255,0.7);
border-bottom: 1px solid rgba(255,255,255,0.04);
}
+ /* 当前正在取餐的餐品行:橙色背景胶囊 + 左侧色条 + 文字加粗 */
+ .pickup-row--active {
+ position: relative;
+ padding: 12px 12px 12px 16px;
+ margin: 4px -4px;
+ background: linear-gradient(135deg, rgba(255,178,54,0.22) 0%, rgba(255,140,40,0.32) 100%);
+ border: 1px solid rgba(255,178,54,0.55);
+ border-radius: 8px;
+ box-shadow: 0 4px 14px rgba(255,140,40,0.22);
+ border-bottom: 1px solid rgba(255,178,54,0.55);
+ }
+ .pickup-row--active::before {
+ content: '';
+ position: absolute;
+ left: 0; top: 6px; bottom: 6px;
+ width: 3px;
+ background: #FFB236;
+ border-radius: 2px;
+ box-shadow: 0 0 8px rgba(255,178,54,0.6);
+ }
+ .pickup-row--active > span {
+ color: #fff;
+ font-weight: 700;
+ }
+ .pickup-row--active > span:nth-child(2),
+ .pickup-row--active > span:nth-child(3) {
+ color: #FFB236;
+ text-shadow: 0 1px 4px rgba(255,140,40,0.4);
+ }
/* 合计区:橙色胶囊(沿用单屏 03 样式) */
.pickup-footer {
display: flex;
@@ -530,7 +519,7 @@
大屏 · 1280×720
-
+
-
-
-
-
+
-
-
-
-
宫保鸡丁
-
- ¥
- 5
- 元/100克
-
-
- 高蛋白
- 低芥酸
- 营养均衡
-
-
-
- 热量
- 158.66
- 千卡/100克
-
+
+
+
+
+
+
⏯
+
+
01:23 / 03:45
+
⛶
+
+
+
+
@@ -605,7 +587,7 @@
小计(元)
-
+
宫保鸡丁1869.30
@@ -741,21 +723,29 @@
window.location.href = '01-meal-start.html';
});
- /* ===== 餐品占位图(SVG) ===== */
- function dishFoodSVG(w, h, colors) {
- var id = 'dg';
- return '