diff --git a/index.html b/index.html index 64fd6e0..8018fee 100644 --- a/index.html +++ b/index.html @@ -879,6 +879,8 @@ const SITE_MAP = [ {label:'派单接听 · 核心', file:'02-dispatch-incoming.html'}, {label:'抢单大厅', file:'03-grab-pool.html'}, {label:'订单详情', file:'04-order-detail.html'}, + {label:'订单详情 · 自助取货弹窗', file:'04-order-detail-selfpickup-dialog.html'}, + {label:'订单详情 · 到店取货弹窗', file:'04-order-detail-storepickup-dialog.html'}, {label:'配送中', file:'05-delivering.html'}, {label:'送达签收', file:'06-finish-sign.html'}, {label:'历史订单', file:'07-history.html'}, diff --git a/other-module/meal-delivery-h5/01-home.html b/other-module/meal-delivery-h5/01-home.html index 3af948a..91cd995 100644 --- a/other-module/meal-delivery-h5/01-home.html +++ b/other-module/meal-delivery-h5/01-home.html @@ -510,7 +510,7 @@
📲
-
您有新的派单 · 倒计时 25s
+
您有新的派单 · 已等待 5 分钟
味之都食堂 → 高新区科技路 12 号 · 1.8km
diff --git a/other-module/meal-delivery-h5/04-order-detail-selfpickup-dialog.html b/other-module/meal-delivery-h5/04-order-detail-selfpickup-dialog.html new file mode 100644 index 0000000..fb6a862 --- /dev/null +++ b/other-module/meal-delivery-h5/04-order-detail-selfpickup-dialog.html @@ -0,0 +1,367 @@ + + + + + + 自助取货弹窗 | 营养餐品配送 + + + +
+ +
+ + +
+
+
📦 自助取货
+ + +
+
+
货柜详情
+ ● 餐品已入柜 +
+
+
🗄️
+
+
味之都食堂·高新店 智能货柜
+
高新区科技三路 8 号 · 店门东侧 5 米(临街)
+
+
+
+
+ 格口编号 + A-12 +
+
+ 格口类型 + 保温格口 +
+
+ 入柜时间 + 14:32 +
+
+
+ + +
+
取货码(在货柜屏幕输入后开柜)
+
862491
+
🧊 保温中 · 请在 15:20 前取货
+
+ + +
+
+
拍照确认物品
+ 1/3 张 +
+
+ +
🍱14:35 已拍
+ +
+ + 拍摄餐品 +
+
+
📸 请拍摄开柜后餐品状态,作为取货确认凭证
+
+ + + + +
+ +
+
+
+ + + + diff --git a/other-module/meal-delivery-h5/04-order-detail-storepickup-dialog.html b/other-module/meal-delivery-h5/04-order-detail-storepickup-dialog.html new file mode 100644 index 0000000..8a0645c --- /dev/null +++ b/other-module/meal-delivery-h5/04-order-detail-storepickup-dialog.html @@ -0,0 +1,315 @@ + + + + + + 到店取货弹窗 | 营养餐品配送 + + + +
+ +
+ + +
+
+
🏪 到店取货
+ + +
+
+
取货门店
+ ● 餐品已出餐 +
+
+
🏢
+
+
味之都食堂·高新店
+
高新区科技三路 8 号 · 联系人:王经理
+
+
+ +
+ + +
+
+
取货拍照留存
+ 1/3 张 +
+
+ +
🍱14:36 已拍
+ +
+ + 拍摄取货现场 +
+
+
📸 请拍摄餐品包装与交接现场,作为取货留存凭证;拍摄完成后即可开始配送
+
+ + + + +
+ +
+
+
+ + + + diff --git a/other-module/meal-delivery-h5/04-order-detail.html b/other-module/meal-delivery-h5/04-order-detail.html index e95ac18..4b27cf1 100644 --- a/other-module/meal-delivery-h5/04-order-detail.html +++ b/other-module/meal-delivery-h5/04-order-detail.html @@ -359,6 +359,17 @@ color: white; box-shadow: 0 6px 12px rgba(255, 109, 58, 0.25); } + .btn--outline { + background: white; + color: var(--primary); + border: 1.5px solid var(--primary); + } + .btn__sub { + display: block; + font-size: 10px; + font-weight: 400; + opacity: 0.85; + } .tag-list { display: flex; @@ -572,6 +583,10 @@ 收货方式 🔢 验证码收货
+
+ 取货方式 + 📦 自助取货 / 🏪 到店取货 +
@@ -587,8 +602,12 @@ +
- + +
diff --git a/other-module/meal-delivery-h5/doc/CHANGELOG.md b/other-module/meal-delivery-h5/doc/CHANGELOG.md index 80634ab..d505e9b 100644 --- a/other-module/meal-delivery-h5/doc/CHANGELOG.md +++ b/other-module/meal-delivery-h5/doc/CHANGELOG.md @@ -1,5 +1,30 @@ # 营养管理餐品配送 H5 模块变更日志 +## 2026-08-19 · 订单详情取货方式拆分(自助取货 / 到店取货) + +### 新增 +- **`04-order-detail-selfpickup-dialog.html` 自助取货弹窗**:加工厂将做好的餐品放入智能货柜,骑手凭取货码开柜自取 + - 货柜详情:货柜名称/位置/格口编号(A-12 保温格口)/入柜时间 + - 取货码展示:大字号验证码(862491),提示在货柜屏幕输入开柜,含取货时限 + - 拍照确认物品:已拍缩略图 + 调起相机卡槽 + - 「拍照确认取货」→ 提示取货成功并跳转配送中 +- **`04-order-detail-storepickup-dialog.html` 到店取货弹窗**:骑手到商家门店现场取货 + - 取货门店信息:商家名/地址/呼叫商家/导航到店 + - 取货拍照留存:餐品包装与交接现场拍照 + - 「拍照并开始配送」→ 跳转配送中 + +### 优化 +- **`04-order-detail.html` 底部按钮拆分**:原「到店报到」单按钮拆为「📦 自助取货(智能货柜·凭码开柜)」+「🏪 到店取货(现场拍照·开始配送)」双按钮 +- **`04-order-detail.html` 订单信息新增「取货方式」行** +- **`01-home.html` 派单横幅文案调整**:「倒计时 25s」→「已等待 5 分钟」 + +### 业务约定更新 +- 取货方式二选一:自助取货(智能货柜验证码开柜) / 到店取货(门店现场交接) +- 自助取货流程:加工厂入柜 → 骑手查看货柜位置/格口 → 凭取货码开柜 → 拍照确认 → 开始配送 +- 到店取货流程:骑手到店 → 拍照留存取货凭证 → 开始配送 + +--- + ## 2026-08-14 · 派单/配送流程降噪与信息补全 ### 优化 diff --git a/web-admin/nutrition/din-canteen-line.html b/web-admin/nutrition/din-canteen-line.html index 8669c11..cac64ce 100644 --- a/web-admin/nutrition/din-canteen-line.html +++ b/web-admin/nutrition/din-canteen-line.html @@ -66,23 +66,78 @@ tr:hover td{background:#FAFAFA;} .pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 20px;font-size:var(--font-xs);color:var(--text-secondary);} .page-btn{width:28px;height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;cursor:pointer;font-size:var(--font-xs);} .page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);} +/* 标签 */ .tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:var(--font-xs);} +.tag-blue{background:#E6F7FF;color:#1890FF;} .tag-green{background:#F6FFED;color:#52C41A;} +.tag-orange{background:#FFF7E6;color:#FA8C16;} +.tag-gray{background:#F5F5F5;color:#999;} +/* 胶囊开关 */ +.pill-switch{display:inline-block;min-width:52px;height:22px;line-height:22px;padding:0 10px;border-radius:11px;font-size:var(--font-xs);text-align:center;cursor:pointer;user-select:none;transition:all .2s;color:#fff;} +.pill-switch.on{background:var(--success);} +.pill-switch.off{background:#BFBFBF;} +/* 设备数量(可点击数字) */ +.dev-count{color:var(--primary);cursor:pointer;font-weight:600;text-decoration:none;border-bottom:1px dashed var(--primary);} +.dev-count:hover{color:#40a9ff;} /* 弹窗 */ .modal-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:1000;align-items:center;justify-content:center;} .modal-mask.show{display:flex;} -.modal{background:#fff;border-radius:var(--radius-md);width:480px;box-shadow:var(--shadow-md);} -.modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);} +.modal{background:#fff;border-radius:var(--radius-md);width:480px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;max-height:88vh;} +.modal.modal-lg{width:900px;} +.modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);flex-shrink:0;} .modal__title{font-size:var(--font-base);font-weight:600;} .modal__close{font-size:22px;cursor:pointer;color:var(--text-secondary);line-height:1;}.modal__close:hover{color:var(--text-primary);} -.modal__body{padding:24px;} -.modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 24px;border-top:1px solid var(--border);} +.modal__body{padding:24px;overflow-y:auto;flex:1;} +.modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 24px;border-top:1px solid var(--border);flex-shrink:0;} .form-row{margin-bottom:16px;} .form-row:last-child{margin-bottom:0;} .form-label{display:block;font-size:var(--font-sm);color:var(--text-primary);margin-bottom:6px;} .form-label em{color:var(--danger);font-style:normal;} -.form-input{width:100%;height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;font-size:var(--font-sm);} -.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(24,144,255,0.1);} +.form-input,.form-select{width:100%;height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;font-size:var(--font-sm);background:#fff;} +.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(24,144,255,0.1);} +.form-row-inline{display:flex;gap:16px;align-items:flex-start;} +.form-row-inline .form-row{flex:1;} +.form-row-inline .form-row.status-row{flex:0 0 140px;} +/* 分区标题 */ +.form-section-title{font-size:var(--font-base);font-weight:600;color:var(--text-primary);margin:20px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;} +.form-section-title:first-child{margin-top:0;} +.form-section-title .btn-link{font-size:var(--font-sm);font-weight:400;border:1px dashed var(--primary);color:var(--primary);background:transparent;padding:4px 12px;border-radius:var(--radius-sm);cursor:pointer;} +.form-section-title .btn-link:hover{background:var(--primary-light);} +/* 批量设置条 */ +.batch-bar{display:flex;align-items:center;gap:8px;background:#F8FBFF;border:1px dashed #91D5FF;border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:12px;font-size:var(--font-sm);} +.batch-bar label{color:var(--text-secondary);white-space:nowrap;} +.batch-bar .form-select{width:auto;min-width:120px;} +.batch-bar .form-input{width:110px;} +/* 收费模式矩阵 */ +.charge-table-wrap{overflow-x:auto;} +.charge-table{min-width:760px;border-collapse:collapse;} +.charge-table th{background:#FAFAFA;font-weight:600;text-align:center;padding:8px;border:1px solid var(--border);font-size:var(--font-sm);} +.charge-table td{padding:6px;border:1px solid #f0f0f0;text-align:center;} +.charge-table .ct-week{background:#FAFAFA;font-weight:500;color:var(--text-secondary);width:52px;} +.cm-mode{width:100px;height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--font-xs);background:#fff;outline:none;} +.cm-mode:focus{border-color:var(--primary);} +.cm-price{width:64px;height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--font-xs);padding:0 6px;text-align:center;outline:none;margin-left:4px;} +.cm-price:focus{border-color:var(--primary);} +.cm-price:disabled{background:#F5F5F5;color:#999;cursor:not-allowed;} +.cm-unit{font-size:var(--font-xs);color:var(--text-secondary);margin-left:2px;} +/* 弹窗内表格 */ +.modal-table{width:100%;border-collapse:collapse;font-size:var(--font-sm);} +.modal-table th{background:#FAFAFA;font-weight:600;padding:9px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;color:var(--text-secondary);} +.modal-table td{padding:9px 12px;border-bottom:1px solid #f0f0f0;color:var(--text-primary);white-space:nowrap;} +.modal-table tr:last-child td{border-bottom:none;} +.modal-table tr:hover td{background:#FAFAFA;} +/* 弹窗内分页 */ +.modal-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;font-size:var(--font-xs);color:var(--text-secondary);} +/* 详情回显字段 */ +.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 24px;} +.detail-field{display:flex;flex-direction:column;gap:4px;} +.detail-field__label{font-size:var(--font-xs);color:var(--text-secondary);} +.detail-field__value{font-size:var(--font-sm);color:var(--text-primary);font-weight:500;} +/* 只读收费矩阵 */ +.charge-read td{font-size:var(--font-xs);} +.cr-byMeal{color:#1890FF;} +.cr-byWeight{color:#FA8C16;} +.cr-free{color:#999;} @@ -210,53 +265,95 @@ tr:hover td{background:#FAFAFA;}
- +
餐线列表
- 共 3 条 + 0
- - - - - - - - - - - - - - - - - - + +
餐线名称设备数量操作
A餐线(自选餐)6 台编辑删除
B餐线(营养点餐)4 台编辑删除
C餐线(清真)2 台编辑删除
餐线名称结算方式设备数量状态操作
- +
- -