Dateien nach "frontend/src/tools" hochladen
This commit is contained in:
@@ -583,6 +583,46 @@ export default function Bestellungen({ toast, mobile }) {
|
|||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{/* Positionen */}
|
||||||
|
{order.items && order.items.length > 0 && (
|
||||||
|
<div style={{marginBottom:10,borderTop:'1px solid rgba(255,255,255,0.06)',paddingTop:8}}>
|
||||||
|
{order.items.map(item => {
|
||||||
|
const f=item.qty_fertig||0, a=item.qty_in_arbeit||0, w=item.qty_warteliste||0;
|
||||||
|
const itemStatus = f>=item.stueckzahl&&item.stueckzahl>0?'fertig':f>0||a>0?'in_arbeit':'warteliste';
|
||||||
|
const sc = STATUS[itemStatus]?.color || '#ffe66d';
|
||||||
|
return (
|
||||||
|
<div key={item.id} style={{display:'flex',alignItems:'center',gap:8,padding:'5px 0',
|
||||||
|
borderBottom:'1px solid rgba(255,255,255,0.04)'}}>
|
||||||
|
{/* Status dot */}
|
||||||
|
<span style={{width:7,height:7,borderRadius:'50%',background:sc,flexShrink:0,display:'inline-block'}}/>
|
||||||
|
{/* Name */}
|
||||||
|
<span style={{color:'rgba(255,255,255,0.75)',fontFamily:'monospace',fontSize:12,flex:1,
|
||||||
|
overflow:'hidden',textOverflow:'ellipsis',whiteSpace:'nowrap'}}>{item.calc_name}</span>
|
||||||
|
{/* Stückzahl */}
|
||||||
|
<span style={{color:'rgba(255,255,255,0.45)',fontFamily:'monospace',fontSize:11,flexShrink:0}}>
|
||||||
|
×{item.stueckzahl}
|
||||||
|
</span>
|
||||||
|
{/* Status Zähler kompakt */}
|
||||||
|
<div style={{display:'flex',gap:3,flexShrink:0}}>
|
||||||
|
{w>0&&<span style={{background:'rgba(255,230,109,0.15)',borderRadius:4,padding:'1px 5px',
|
||||||
|
color:'#ffe66d',fontFamily:'monospace',fontSize:10}}>{w}W</span>}
|
||||||
|
{a>0&&<span style={{background:'rgba(78,205,196,0.15)',borderRadius:4,padding:'1px 5px',
|
||||||
|
color:'#4ecdc4',fontFamily:'monospace',fontSize:10}}>{a}A</span>}
|
||||||
|
{f>0&&<span style={{background:'rgba(107,203,119,0.15)',borderRadius:4,padding:'1px 5px',
|
||||||
|
color:'#6bcb77',fontFamily:'monospace',fontSize:10}}>{f}F</span>}
|
||||||
|
</div>
|
||||||
|
{/* Preis */}
|
||||||
|
{item.custom_price!=null && (
|
||||||
|
<span style={{color:'rgba(255,255,255,0.6)',fontFamily:"'Space Mono',monospace",fontSize:11,flexShrink:0}}>
|
||||||
|
{(item.custom_price*item.stueckzahl).toFixed(2)}€
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
<div style={{display:'flex',gap:6,justifyContent:'flex-end'}}>
|
<div style={{display:'flex',gap:6,justifyContent:'flex-end'}}>
|
||||||
<button onClick={()=>setOpenId(order.id)} style={{...S.btn('#4ecdc4',true),flex:1,textAlign:'center'}}>Öffnen</button>
|
<button onClick={()=>setOpenId(order.id)} style={{...S.btn('#4ecdc4',true),flex:1,textAlign:'center'}}>Öffnen</button>
|
||||||
<button onClick={()=>del(order.id)} style={S.btn('#ff6b9d',true)}>
|
<button onClick={()=>del(order.id)} style={S.btn('#ff6b9d',true)}>
|
||||||
|
|||||||
Reference in New Issue
Block a user