feat: 净菜内供和净菜外售发货流程
This commit is contained in:
@@ -268,7 +268,7 @@ textarea.form-control{height:auto;padding:8px 12px;resize:vertical;min-height:60
|
||||
<div class="modal__header"><div class="modal__title">补全备货信息</div><button class="modal__close" onclick="closeModal('readyModal')">×</button></div>
|
||||
<div class="modal__body">
|
||||
<div style="background:var(--primary-light);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:20px;font-size:var(--font-sm);color:var(--primary);">
|
||||
<span>订单号:<strong id="readyOrderNoExt"></strong> | 菜品:<strong id="readyFoodNameExt"></strong></span>
|
||||
<span>订单号:<strong id="readyOrderNoExt"></strong></span>
|
||||
</div>
|
||||
<div class="form-grid" style="grid-template-columns:1fr;">
|
||||
<div class="form-group"><label class="form-label">包装批次号<span class="required">*</span></label>
|
||||
@@ -404,7 +404,12 @@ function deleteExtOrder(no){if(!confirm('确认删除订单 '+no+' ?'))return;
|
||||
var _extOp={};
|
||||
function orderAction(no,action){
|
||||
var o=extOrders.find(function(x){return x.orderNo===no;});if(!o)return;
|
||||
if(action==='ready'){o.lines.forEach(function(l){l.status='待配送';});renderExtTable();}
|
||||
if(action==='ready'){
|
||||
_extOp={orderNo:no};
|
||||
document.getElementById('readyOrderNoExt').textContent=no;
|
||||
document.getElementById('readyBatchSelectExt').value='';
|
||||
openModal('readyModal');
|
||||
}
|
||||
else if(action==='ship'){
|
||||
_extOp={orderNo:no};
|
||||
document.getElementById('shipInfo').textContent='订单号:'+no;
|
||||
@@ -414,6 +419,7 @@ function orderAction(no,action){
|
||||
}else if(action==='receive'){o.lines.forEach(function(l){l.status='已完成';});renderExtTable();}
|
||||
}
|
||||
function confirmShip(){var c=document.getElementById('shipCompany').value;var t=document.getElementById('shipTrackNo').value.trim();if(!c){alert('请选择物流公司');return;}if(!t){alert('请输入物流单号');return;}var o=extOrders.find(function(x){return x.orderNo===_extOp.orderNo;});if(o){o.lines.forEach(function(l){l.status='配送中';});o.logistics=t;}_extOp={};closeModal('shipModal');renderExtTable();}
|
||||
function doReadyExt(){var b=document.getElementById('readyBatchSelectExt').value;if(!b){alert('请选择包装批次号');return;}var o=extOrders.find(function(x){return x.orderNo===_extOp.orderNo;});if(o){o.lines.forEach(function(l){if(l.status==='备货中')l.status='待配送';});}_extOp={};closeModal('readyModal');renderExtTable();}
|
||||
/* ========== 新建订单 ========== */
|
||||
var newExtOrderType='nc';
|
||||
function updExtOrderType(v){newExtOrderType=v;renderExtLineBuilders();}
|
||||
|
||||
@@ -277,6 +277,28 @@ tr.detail-row td.td-actions{background:#FAFBFC;box-shadow:-4px 0 8px rgba(0,0,0,
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 弹窗:备货完成 -->
|
||||
<div class="modal-mask" id="modal-ready">
|
||||
<div class="modal" style="width:480px;">
|
||||
<div class="modal__header"><div class="modal__title">补全备货信息</div><button class="modal__close" onclick="closeModal('modal-ready')">✕</button></div>
|
||||
<div class="modal__body">
|
||||
<div style="background:var(--primary-light);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:20px;font-size:var(--font-sm);color:var(--primary);">
|
||||
<span>申领单号:<strong id="readyClaimNo"></strong></span>
|
||||
</div>
|
||||
<div class="form-grid" style="grid-template-columns:1fr;">
|
||||
<div class="form-item"><div class="form-item__label">包装批次号<span class="required">*</span></div>
|
||||
<select id="readyBatchNo"><option value="">请选择批次号</option><option>BATCH-DH-20260415-01</option><option>BATCH-DH-20260415-02</option><option>BATCH-DH-20260415-03</option><option>BATCH-DH-20260415-04</option></select>
|
||||
</div>
|
||||
</div>
|
||||
<p style="font-size:var(--font-xs);color:var(--text-placeholder);margin-top:12px;">选择包装批次号后,所有备货中的菜品将变为「待配送」</p>
|
||||
</div>
|
||||
<div class="modal__footer">
|
||||
<button class="btn btn-default" onclick="closeModal('modal-ready')">取消</button>
|
||||
<button class="btn btn-primary" onclick="doClaimReady()">确认备货完成</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
/* ========== 弹窗开关 ========== */
|
||||
function openModal(id){
|
||||
@@ -405,13 +427,16 @@ function deleteClaim(no){
|
||||
|
||||
/* ========== 订单级操作 ========== */
|
||||
var _deliverClaimNo=null;
|
||||
var _readyClaimNo=null;
|
||||
|
||||
function orderAction(claimNo,action){
|
||||
var c=claims.find(function(x){return x.claimNo===claimNo;});
|
||||
if(!c)return;
|
||||
if(action==='ready'){
|
||||
c.lines.forEach(function(l){if(l.status==='备货中')l.status='待配送';});
|
||||
renderClaimTable();
|
||||
_readyClaimNo=claimNo;
|
||||
document.getElementById('readyClaimNo').textContent=claimNo;
|
||||
document.getElementById('readyBatchNo').value='';
|
||||
openModal('modal-ready');
|
||||
}else if(action==='deliver'){
|
||||
_deliverClaimNo=claimNo;
|
||||
document.getElementById('deliverOrderNo').textContent=claimNo;
|
||||
@@ -437,6 +462,17 @@ function doDeliver(){
|
||||
renderClaimTable();
|
||||
}
|
||||
|
||||
function doClaimReady(){
|
||||
var batchNo=document.getElementById('readyBatchNo').value;
|
||||
if(!batchNo){alert('请选择包装批次号');return;}
|
||||
var c=claims.find(function(x){return x.claimNo===_readyClaimNo;});
|
||||
if(!c)return;
|
||||
c.lines.forEach(function(l){if(l.status==='备货中')l.status='待配送';});
|
||||
_readyClaimNo=null;
|
||||
closeModal('modal-ready');
|
||||
renderClaimTable();
|
||||
}
|
||||
|
||||
/* ========== 新建申领单 ========== */
|
||||
var newClaimLines=[];
|
||||
var claimLineIdCnt=0;
|
||||
|
||||
Reference in New Issue
Block a user