diff --git a/src/automats/manifestDraftAutomat.js b/src/automats/manifestDraftAutomat.js
index 573028c..49e01e2 100644
--- a/src/automats/manifestDraftAutomat.js
+++ b/src/automats/manifestDraftAutomat.js
@@ -423,6 +423,7 @@ export function createManifestEditAutomat({ kind, name }) {
const actions = {
loadDoc(id, doc) {
const date = dateInputValue(doc.date);
+ const createdAt = doc.createdAt ?? doc.created_at ?? null;
const partyId = doc.partyId ?? null;
const number = doc.number ?? '';
const externalNumber = doc.externalNumber != null ? String(doc.externalNumber) : '';
@@ -431,6 +432,7 @@ export function createManifestEditAutomat({ kind, name }) {
const baseline = {
date,
+ createdAt,
partyId,
number,
externalNumber,
@@ -443,6 +445,7 @@ export function createManifestEditAutomat({ kind, name }) {
mode: 'edit',
id,
date,
+ createdAt,
partyId,
number,
externalNumber,
@@ -508,6 +511,7 @@ export function createManifestEditAutomat({ kind, name }) {
commitSaved(savedDoc) {
const date = dateInputValue(savedDoc.date);
+ const createdAt = savedDoc.createdAt ?? savedDoc.created_at ?? automat.state.createdAt ?? null;
const partyId = savedDoc.partyId ?? null;
const number = savedDoc.number ?? automat.state.number;
const externalNumber = savedDoc.externalNumber != null ? String(savedDoc.externalNumber) : '';
@@ -516,6 +520,7 @@ export function createManifestEditAutomat({ kind, name }) {
const baseline = {
date,
+ createdAt,
partyId,
number,
externalNumber,
@@ -525,6 +530,7 @@ export function createManifestEditAutomat({ kind, name }) {
automat.setState({
date,
+ createdAt,
partyId,
number,
externalNumber,
@@ -545,6 +551,7 @@ export function createManifestEditAutomat({ kind, name }) {
mode: 'edit',
id: null,
date: '',
+ createdAt: null,
partyId: null,
number: '',
externalNumber: '',
@@ -566,6 +573,7 @@ export function createManifestEditAutomat({ kind, name }) {
mode: 'edit',
id: null,
date: '',
+ createdAt: null,
partyId: null,
number: '',
externalNumber: '',
diff --git a/src/components/manifest/ManifestForm.jsx b/src/components/manifest/ManifestForm.jsx
index 49ba58e..77a44ac 100644
--- a/src/components/manifest/ManifestForm.jsx
+++ b/src/components/manifest/ManifestForm.jsx
@@ -94,6 +94,7 @@ class ManifestForm extends PureComponent {
parties: initialParties,
partiesLoading: !partiesReady,
date: initialDate,
+ createdAt: initialDoc?.createdAt || initialEdit?.createdAt || null,
partyId: initialDoc?.partyId ?? null,
number: initialDoc?.number || '',
externalNumber: initialDoc?.externalNumber || '',
@@ -256,6 +257,7 @@ class ManifestForm extends PureComponent {
if (String(state.id) === String(this.props.docId)) {
return {
date: state.date || '',
+ createdAt: state.createdAt ?? null,
partyId: state.partyId,
externalNumber: state.externalNumber || '',
lines: state.lines || [],
@@ -449,6 +451,7 @@ class ManifestForm extends PureComponent {
dirtyLineFields: this.editAutomat.state.dirtyLineFields,
dirtySummary: this.editAutomat.state.dirtySummary,
date: this.editAutomat.state.date,
+ createdAt: this.editAutomat.state.createdAt ?? null,
partyId: this.editAutomat.state.partyId,
number: this.editAutomat.state.number,
externalNumber: this.editAutomat.state.externalNumber,
@@ -511,6 +514,7 @@ class ManifestForm extends PureComponent {
const loadedDoc = {
date: dateInputValue(doc.date),
+ createdAt: doc.createdAt ?? doc.created_at ?? null,
partyId: doc[cfg.partyField],
number: doc.number ?? '',
externalNumber:
@@ -1302,6 +1306,7 @@ class ManifestForm extends PureComponent {
const apiLines = requireArray(doc.lines, `${cfg.docField}.lines`);
const savedDoc = {
date: dateInputValue(doc.date),
+ createdAt: doc.createdAt ?? doc.created_at ?? this.state.createdAt ?? null,
partyId: doc[cfg.partyField],
number: doc.number ?? '',
externalNumber:
@@ -1407,6 +1412,7 @@ class ManifestForm extends PureComponent {
partyId={partyId}
partyError={this.state.partyError}
date={date}
+ createdAt={this.state.createdAt}
number={number}
externalNumber={externalNumber}
saving={saving}
diff --git a/src/components/manifest/ManifestHeader.jsx b/src/components/manifest/ManifestHeader.jsx
index 0127a23..d4eddcd 100644
--- a/src/components/manifest/ManifestHeader.jsx
+++ b/src/components/manifest/ManifestHeader.jsx
@@ -21,6 +21,7 @@ import {
manifestConfig,
partyDisplayName,
getLowestSortNonSupplierCustomerGroup,
+ formatDateTime,
} from './manifestConfig';
import { notifyError, notifyErrorMessage } from '../../utils/notify';
import entityAutomat from '../../automats/entityAutomat';
@@ -303,6 +304,7 @@ class ManifestHeader extends PureComponent {
partiesLoading,
partyId,
date,
+ createdAt,
number,
externalNumber,
saving,
@@ -512,6 +514,24 @@ class ManifestHeader extends PureComponent {
}}
/>
) : null}
+ {isEdit && createdAt ? (
+
+ ) : null}
- {sh.date ? formatDate(sh.date) : '–'}
+ {shDate ? formatDateTime(shDate) : '–'}
{navigate && (
{payments.map((pay) => {
const pType = pay.type || pay.paymentType || pay.payment_type;
+ const payDate = pay.date || pay.createdAt || pay.created_at || pay.timestamp;
return (
-
- {pay.date ? (
-
- {formatDate(pay.date)}
-
- ) : null}
-
- +{formatPrice(pay.amount)}
-
-
+
+ +{formatPrice(pay.amount)}
+
+
+ {payDate ? (
+
+ {pay.id != null ? (
+
+ #{pay.id}
+
+ ) : }
+
+ {formatDateTime(payDate)}
+
+
+ ) : null}
);
})}
diff --git a/src/components/manifest/ShipmentDetailDialog.jsx b/src/components/manifest/ShipmentDetailDialog.jsx
index 050d0a5..f784c43 100644
--- a/src/components/manifest/ShipmentDetailDialog.jsx
+++ b/src/components/manifest/ShipmentDetailDialog.jsx
@@ -29,7 +29,7 @@ import { enqueueSnackbar } from 'notistack';
import AppDialog from '../AppDialog';
import { shipment as shipmentApi, shipping as shippingApi, stock as stockApi } from '../../api';
import { notifyError } from '../../utils/notify';
-import { formatDate } from './manifestConfig';
+import { formatDate, formatDateTime } from './manifestConfig';
import orderAutomat from '../../automats/orderAutomat';
import shipmentAutomat from '../../automats/shipmentAutomat';
import carrierAutomat from '../../automats/carrierAutomat';
@@ -433,7 +433,9 @@ export default class ShipmentDetailDialog extends PureComponent {
{shipment.number || 'Lieferschein'}
- {shipment.date ? `Datum: ${formatDate(shipment.date)}` : ''}
+ {(shipment.date || shipment.createdAt || shipment.created_at)
+ ? `Datum: ${formatDateTime(shipment.date || shipment.createdAt || shipment.created_at)}`
+ : ''}
{shipment.externalNumber ? (
<>
{' • Ref: '}
diff --git a/src/components/manifest/manifestConfig.js b/src/components/manifest/manifestConfig.js
index 57a87be..b227299 100644
--- a/src/components/manifest/manifestConfig.js
+++ b/src/components/manifest/manifestConfig.js
@@ -96,6 +96,19 @@ export function formatDate(iso) {
return d.toLocaleDateString('de-DE');
}
+export function formatDateTime(iso) {
+ if (!iso) return '–';
+ const d = new Date(iso);
+ if (Number.isNaN(d.getTime())) return String(iso);
+ return d.toLocaleString('de-DE', {
+ day: '2-digit',
+ month: '2-digit',
+ year: 'numeric',
+ hour: '2-digit',
+ minute: '2-digit',
+ });
+}
+
/**
* Delivery documents have a server-allocated, read-only `number` plus an
* optional user-entered `externalNumber`. Returns the display value for a