This commit is contained in:
seb
2026-10-17 04:11:42 +02:00
parent 6df833b362
commit bd16df64a1
3 changed files with 44 additions and 90 deletions

View File

@@ -584,12 +584,28 @@ class ManifestFormLine extends PureComponent {
const primaryEan = Array.isArray(eans) ? eans[0] : eans; const primaryEan = Array.isArray(eans) ? eans[0] : eans;
const vkPrice = primaryPrice(cachedArticle); const vkPrice = primaryPrice(cachedArticle);
const vkNetto = vkPrice?.net; const vkNetto =
vkPrice?.net != null
? Number(vkPrice.net)
: cachedArticle.net != null
? Number(cachedArticle.net)
: cachedArticle.price != null
? Number(cachedArticle.price)
: null;
const vkTaxRate =
vkPrice?.taxRate ??
vkPrice?.taxrate ??
cachedArticle.taxrate ??
cachedArticle.taxRate ??
selectCompanyTaxrate() ??
19;
const vkBrutto = vkPrice const vkBrutto = vkPrice
? priceBrutto(vkPrice) ?? ? priceBrutto(vkPrice) ??
(vkPrice.net != null && vkPrice.taxrate != null (vkNetto != null && vkTaxRate != null
? vkPrice.net * (1 + vkPrice.taxrate / 100) ? Math.round((vkNetto * (1 + Number(vkTaxRate) / 100) + Number.EPSILON) * 100) / 100
: null) : null)
: vkNetto != null
? Math.round((vkNetto * (1 + Number(vkTaxRate) / 100) + Number.EPSILON) * 100) / 100
: null; : null;
const suppliers = const suppliers =
@@ -625,7 +641,7 @@ class ManifestFormLine extends PureComponent {
: null; : null;
const hasPriceInfo = const hasPriceInfo =
vkNetto != null || vkBrutto != null || ekNetto != null || ekBrutto != null || kind === 'quote'; vkNetto != null || vkBrutto != null || ekNetto != null || ekBrutto != null || kind === 'quote' || kind === 'order';
return ( return (
<Box <Box
@@ -733,7 +749,7 @@ class ManifestFormLine extends PureComponent {
)} )}
{/* EK Netto, EK Brutto, VK Netto, VK Brutto */} {/* EK Netto, EK Brutto, VK Netto, VK Brutto */}
{!isOrder && hasPriceInfo && ( {hasPriceInfo && (
<Box <Box
sx={{ sx={{
display: 'flex', display: 'flex',
@@ -784,26 +800,28 @@ class ManifestFormLine extends PureComponent {
</Tooltip> </Tooltip>
{/* VK Netto */} {/* VK Netto */}
{vkNetto != null && ( <Typography
<Typography variant="caption"
variant="caption" fontWeight={600}
fontWeight={600} sx={{
sx={{ color: 'text.secondary', fontSize: '0.72rem' }} color: vkNetto != null ? 'text.secondary' : 'text.disabled',
> fontSize: '0.72rem',
VK Netto: {formatPrice(vkNetto)} }}
</Typography> >
)} VK Netto: {vkNetto != null ? formatPrice(vkNetto) : '—'}
</Typography>
{/* VK Brutto */} {/* VK Brutto */}
{vkBrutto != null && ( <Typography
<Typography variant="caption"
variant="caption" fontWeight={600}
fontWeight={600} sx={{
sx={{ color: 'primary.dark', fontSize: '0.72rem' }} color: vkBrutto != null ? 'primary.dark' : 'text.disabled',
> fontSize: '0.72rem',
VK Brutto: {formatPrice(vkBrutto)} }}
</Typography> >
)} VK Brutto: {vkBrutto != null ? formatPrice(vkBrutto) : '—'}
</Typography>
</Box> </Box>
)} )}
</Box> </Box>

View File

@@ -9,7 +9,6 @@ import Chip from '@mui/material/Chip';
import UploadFileIcon from '@mui/icons-material/UploadFile'; import UploadFileIcon from '@mui/icons-material/UploadFile';
import PictureAsPdfIcon from '@mui/icons-material/PictureAsPdf'; import PictureAsPdfIcon from '@mui/icons-material/PictureAsPdf';
import ShoppingCartIcon from '@mui/icons-material/ShoppingCart'; import ShoppingCartIcon from '@mui/icons-material/ShoppingCart';
import LocalShippingOutlinedIcon from '@mui/icons-material/LocalShippingOutlined';
import Inventory2OutlinedIcon from '@mui/icons-material/Inventory2Outlined'; import Inventory2OutlinedIcon from '@mui/icons-material/Inventory2Outlined';
import CheckCircleOutlineOutlinedIcon from '@mui/icons-material/CheckCircleOutlineOutlined'; import CheckCircleOutlineOutlinedIcon from '@mui/icons-material/CheckCircleOutlineOutlined';
import SingleLineTextEdit from 'dashgui/SingleLineTextEdit'; import SingleLineTextEdit from 'dashgui/SingleLineTextEdit';
@@ -251,8 +250,6 @@ class ManifestHeader extends PureComponent {
onRestore, onRestore,
orderCreating, orderCreating,
onCreateOrder, onCreateOrder,
onOpenCreateShipment,
deliverDisabled,
actionsColor, actionsColor,
partyError, partyError,
docId, docId,
@@ -570,28 +567,6 @@ class ManifestHeader extends PureComponent {
{orderCreating ? 'Wird erstellt…' : 'Bestellung erstellen'} {orderCreating ? 'Wird erstellt…' : 'Bestellung erstellen'}
</Button> </Button>
)} )}
{kind === 'order' && docId != null && onOpenCreateShipment && (
<Button
type="button"
variant="outlined"
color="primary"
startIcon={<LocalShippingOutlinedIcon />}
disabled={saving || pdfCreating || orderCreating || deliverDisabled}
onClick={onOpenCreateShipment}
title={deliverDisabled ? 'Alle Positionen bereits ausgeliefert' : 'Lieferschein erstellen'}
sx={{
whiteSpace: 'nowrap',
height: 40,
width: '100%',
px: 1.5,
boxSizing: 'border-box',
fontWeight: 600,
fontSize: '0.875rem',
}}
>
Liefern
</Button>
)}
{(kind === 'quote' || kind === 'order') && onPdfCreate && docId != null && Boolean(number) && ( {(kind === 'quote' || kind === 'order') && onPdfCreate && docId != null && Boolean(number) && (
<Button <Button
type="button" type="button"

View File

@@ -156,31 +156,7 @@ export class OrderDocumentsTiles extends PureComponent {
); );
})} })}
</Stack> </Stack>
) : ( ) : null}
<Box
sx={{
p: 1.5,
textAlign: 'center',
bgcolor: 'rgba(255,255,255,0.6)',
borderRadius: 1,
border: '1px dashed',
borderColor: 'divider',
}}
>
<Typography variant="caption" color="text.secondary" sx={{ display: 'block', mb: 1 }}>
Noch keine Lieferscheine erstellt.
</Typography>
<Button
size="small"
variant="contained"
startIcon={<LocalShippingOutlinedIcon />}
onClick={this.props.onOpenCreateShipment || (() => navigate?.('/auftrag/ausliefern'))}
sx={{ textTransform: 'none', fontWeight: 600, fontSize: '0.75rem' }}
>
Lieferschein anlegen
</Button>
</Box>
)}
</PanelTile> </PanelTile>
); );
} }
@@ -298,22 +274,7 @@ export class OrderDocumentsTiles extends PureComponent {
); );
})} })}
</Stack> </Stack>
) : ( ) : null}
<Box
sx={{
p: 1.5,
textAlign: 'center',
bgcolor: 'rgba(255,255,255,0.6)',
borderRadius: 1,
border: '1px dashed',
borderColor: 'divider',
}}
>
<Typography variant="caption" color="text.secondary">
Noch keine Zahlungen erfasst.
</Typography>
</Box>
)}
</PanelTile> </PanelTile>
); );
} }