-
-
📦
-
确认申领单 已备货完成?
-
净菜/餐品:
确认后订单状态将变为「待配送」
+
+
+ 📋
+ 申领单号: | 净菜/餐品:
+
+
+
选择包装批次号后,订单状态将变为「待配送」
-
@@ -347,20 +375,50 @@ function closeModal(id){document.getElementById(id).classList.remove('show');}
document.querySelectorAll('.modal-mask').forEach(m=>{
m.addEventListener('click',e=>{if(e.target===m)m.classList.remove('show');});
});
-// 净菜类型切换:显示净菜名称或餐品名称
-function toggleClaimName(){
- var v=document.getElementById('claimType').value;
- document.getElementById('claimNameNC').style.display=(v==='cp'?'none':'flex');
- document.getElementById('claimNameCP').style.display=(v==='cp'?'flex':'none');
+
+/* ========== 批次包装信息数据 ========== */
+var batchInfo={
+ 'BATCH-DH-20260415-01':{dish:'宫保鸡丁',spec:'标准份(500g)',method:'冷鲜袋',qty:'10',date:'2026-04-15'},
+ 'BATCH-DH-20260415-02':{dish:'清蒸鱼',spec:'标准份(500g)',method:'保鲜盒',qty:'8',date:'2026-04-15'},
+ 'BATCH-DH-20260415-03':{dish:'蒜蓉菠菜',spec:'标准份(500g)',method:'冷鲜袋',qty:'12',date:'2026-04-15'},
+ 'BATCH-DH-20260415-04':{dish:'炒胡萝卜',spec:'大份(800g)',method:'保鲜盒',qty:'6',date:'2026-04-15'}
+};
+
+// 新建申领单 — 选择批次号回显信息
+function onBatchChange(val){
+ var panel=document.getElementById('batchInfoPanel');
+ var info=batchInfo[val];
+ if(!info){panel.style.display='none';return;}
+ document.getElementById('batchDish').textContent=info.dish;
+ document.getElementById('batchSpec').textContent=info.spec;
+ document.getElementById('batchMethod').textContent=info.method;
+ document.getElementById('batchQty').textContent=info.qty;
+ document.getElementById('batchDate').textContent=info.date;
+ panel.style.display='flex';
}
+// 备货完成弹窗 — 选择批次号回显信息
+function onReadyBatchChange(val){
+ var panel=document.getElementById('readyBatchInfoPanel');
+ var info=batchInfo[val];
+ if(!info){panel.style.display='none';return;}
+ document.getElementById('readyBatchDish').textContent=info.dish;
+ document.getElementById('readyBatchSpec').textContent=info.spec;
+ document.getElementById('readyBatchMethod').textContent=info.method;
+ document.getElementById('readyBatchQty').textContent=info.qty;
+ document.getElementById('readyBatchDate').textContent=info.date;
+ panel.style.display='flex';
+}
+
+/* ========== 列索引(去掉溯源码和关联仓库区域后) ========== */
+/* 0申领单号 1申领场所 2净菜类型 3净菜/餐品 4包装规格 5申领份数 6申领数量 7订单状态 8申领时间 9预定配送时间 10配送人 11操作 */
+
/* 确认收货 */
function openReceiveConfirm(el){
var tr=el.closest('tr');
var tds=tr.querySelectorAll('td');
- /* 列:0申领单号 4净菜/餐品 */
document.getElementById('receiveOrderNo').textContent=tds[0].textContent;
- document.getElementById('receiveFoodName').textContent=tds[4].textContent;
+ document.getElementById('receiveFoodName').textContent=tds[3].textContent;
openModal('modal-receive');
}
function doReceive(){
@@ -373,7 +431,7 @@ function openDeliverModal(el){
var tr=el.closest('tr');
var tds=tr.querySelectorAll('td');
document.getElementById('deliverOrderNo').textContent=tds[0].textContent;
- document.getElementById('deliverFoodName').textContent=tds[4].textContent;
+ document.getElementById('deliverFoodName').textContent=tds[3].textContent;
document.getElementById('deliverPerson').value='';
document.getElementById('deliverRemark').value='';
openModal('modal-deliver');
@@ -385,19 +443,52 @@ function doDeliver(){
alert('配送任务已创建,配送人:'+person+',订单状态已变为「配送中」');
}
-/* 备货完成 */
+/* 备货完成 — 打开补全备货信息弹窗 */
function openReadyConfirm(el){
var tr=el.closest('tr');
var tds=tr.querySelectorAll('td');
document.getElementById('readyOrderNo').textContent=tds[0].textContent;
- document.getElementById('readyFoodName').textContent=tds[4].textContent;
+ document.getElementById('readyFoodName').textContent=tds[3].textContent;
+ // 重置批次选择和面板
+ document.getElementById('readyBatchSelect').selectedIndex=0;
+ document.getElementById('readyBatchInfoPanel').style.display='none';
openModal('modal-ready');
}
function doReady(){
+ var batch=document.getElementById('readyBatchSelect').value;
+ if(!batch){alert('请选择包装批次号');return;}
closeModal('modal-ready');
- alert('备货已确认完成,订单状态已变为「待配送」');
+ alert('备货信息已补全,订单状态已变为「待配送」\n包装批次号:'+batch);
}
+/* ========== 餐品食材数据(与 sup-pkg-label 保持一致) ========== */
+var dishIngredients={
+ '宫保鸡丁':[
+ {trace:'NC-PROC-JXR-20260415-01',name:'鸡胸肉',type:'主材',amount:'120g'},
+ {trace:'NC-PROC-HUS-20260415-01',name:'花生',type:'辅材',amount:'20g'},
+ {trace:'NC-PROC-GLJ-20260415-01',name:'干辣椒',type:'调料',amount:'5g'}
+ ],
+ '清蒸鱼':[
+ {trace:'NC-PROC-CYU-20260415-01',name:'草鱼',type:'主材',amount:'100g'},
+ {trace:'NC-PROC-JPN-20260415-01',name:'姜片',type:'调料',amount:'适量'}
+ ],
+ '蒜蓉菠菜':[
+ {trace:'NC-PROC-BOC-20260415-01',name:'净菠菜',type:'主材',amount:'120g'},
+ {trace:'NC-PROC-DSN-20260415-01',name:'大蒜',type:'调料',amount:'8g'}
+ ],
+ '炒胡萝卜':[
+ {trace:'NC-PROC-HLB-20260415-01',name:'净胡萝卜',type:'主材',amount:'260g'},
+ {trace:'NC-PROC-CJG-20260415-01',name:'葱姜',type:'调料',amount:'适量'}
+ ]
+};
+// 餐品净菜包对应的包装批次号
+var dishBatch={
+ '宫保鸡丁':'BATCH-DH-20260415-01',
+ '清蒸鱼':'BATCH-DH-20260415-02',
+ '蒜蓉菠菜':'BATCH-DH-20260415-03',
+ '炒胡萝卜':'BATCH-DH-20260415-04'
+};
+
/* 右侧抽屉组件 */
var Drawer={
open:function(title,bodyHtml){
@@ -416,12 +507,11 @@ var Drawer={
}
};
-/* 详情抽屉 */
+/* ========== 详情抽屉(定制化渲染) ========== */
function showDetail(el){
var tr=el.closest('tr');
- var ths=tr.closest('table').querySelectorAll('thead th');
var tds=tr.querySelectorAll('td');
- /* 列序:0申领单号 1申领食堂 2净菜类型 3净菜/餐品 4包装规格 5申领份数 6申领数量 7订单状态 8申领时间 9预定配送时间 10配送人 */
+ /* 列序:0申领单号 1申领场所 2净菜类型 3净菜/餐品 4包装规格 5申领份数 6申领数量 7订单状态 8申领时间 9预定配送时间 10配送人 */
var orderNo=tds[0].textContent;
var canteen=tds[1].textContent;
var typeHtml=tds[2].innerHTML;
@@ -441,28 +531,46 @@ function showDetail(el){
var html='
基础信息
';
html+='
';
html+='
';
- html+='
';
+ html+='
';
html+='
';
// 根据类型显示不同字段
if(!isCp){
- // 净菜包 → 显示溯源码 + 包装批次号
+ // 净菜包 → 显示溯源码
var traceMap={'菠菜':'NC-INT-BOCA-20260422-01','玉米(玉米粒)':'NC-INT-BCAI-20260422-01','猪排骨':'NC-INT-ZLRJ-20260422-01','草鱼(鱼片)':'NC-INT-CAYO-20260422-01','土豆(土豆丝)':'NC-INT-TDSI-20260422-01'};
- var ncBatch={'菠菜':'BATCH-NC-20260422-01','玉米(玉米粒)':'BATCH-NC-20260422-02','猪排骨':'BATCH-NC-20260422-03','草鱼(鱼片)':'BATCH-NC-20260422-04','土豆(土豆丝)':'BATCH-NC-20260422-05'};
html+='
溯源码
'+(traceMap[foodName]||'—')+'
';
- html+='
包装批次号
'+(ncBatch[foodName]||'—')+'
';
} else {
// 餐品净菜包 → 显示包装批次号
html+='
包装批次号
'+(dishBatch[foodName]||'—')+'
';
-
- var html='
详细信息
';
- for(var i=0;i
'+ths[i].textContent+'
'+tds[i].innerHTML+'
';
}
+
+ html+='
';
+ html+='
';
+ html+='
';
+ html+='
';
+ html+='
';
+ html+='
';
+ html+='
';
html+='
';
- var key=tds[0].textContent;
- Drawer.open('净菜内供详情 — '+key, html);
-}}
+
+ // 餐品净菜包 → 追加净菜包明细表格
+ if(isCp){
+ var ings=dishIngredients[foodName]||[];
+ var tagCls={'主材':'tag-blue','辅材':'tag-green','调料':'tag-orange'};
+ html+='
净菜包明细
';
+ html+='
| 食材溯源码 | 食材名称 | 分类 | 每份用量 |
';
+ if(ings.length>0){
+ ings.forEach(function(i){
+ html+='| '+i.trace+' | '+i.name+' | '+i.type+' | '+i.amount+' |
';
+ });
+ } else {
+ html+='| 暂无明细数据 |
';
+ }
+ html+='
';
+ }
+
+ Drawer.open('净菜内供详情 — '+orderNo, html);
+}