u
This commit is contained in:
@@ -29,6 +29,7 @@ import {
|
||||
apiFor,
|
||||
parseNum,
|
||||
} from './manifestConfig';
|
||||
import { ensureDocumentNumber, getNextDocumentNumber } from '../../utils/documentNumber';
|
||||
|
||||
class ManifestForm extends PureComponent {
|
||||
constructor(props) {
|
||||
@@ -125,8 +126,11 @@ class ManifestForm extends PureComponent {
|
||||
}
|
||||
});
|
||||
|
||||
if (this.props.mode === 'edit') void this.loadEdit();
|
||||
else void this.loadPartiesOnly();
|
||||
if (this.props.mode === 'edit') {
|
||||
void this.loadEdit();
|
||||
} else {
|
||||
void this.loadPartiesOnly();
|
||||
}
|
||||
}
|
||||
|
||||
componentDidUpdate(prevProps) {
|
||||
@@ -664,6 +668,7 @@ class ManifestForm extends PureComponent {
|
||||
attachments: this.state.attachments,
|
||||
},
|
||||
{
|
||||
kind: cfg.kind,
|
||||
partyField: cfg.partyField,
|
||||
requireAtLeastOne,
|
||||
externalNumber: cfg.externalNumber,
|
||||
|
||||
@@ -344,9 +344,9 @@ class ManifestHeader extends PureComponent {
|
||||
<SingleLineTextEdit
|
||||
size="small"
|
||||
label="Nummer"
|
||||
value={number}
|
||||
disabled={saving || pdfUploading || useExternalNumber}
|
||||
onChange={onNumberChange}
|
||||
value={number || ''}
|
||||
disabled
|
||||
placeholder="–"
|
||||
sx={{
|
||||
flex: { xs: '1 1 100%', sm: '1 1 120px' },
|
||||
minWidth: { sm: 100 },
|
||||
|
||||
@@ -475,6 +475,7 @@ export class OrderList extends PureComponent {
|
||||
this.state = {
|
||||
items: orderAutomat.getItems(),
|
||||
unfilteredTotal: orderAutomat.state.unfilteredTotal ?? 0,
|
||||
filterKey: orderAutomat.getFilterKey?.() ?? '',
|
||||
partiesById: {},
|
||||
busyId: null,
|
||||
};
|
||||
@@ -494,6 +495,7 @@ export class OrderList extends PureComponent {
|
||||
this.unsub = orderAutomat.subscribe(this, (state) => ({
|
||||
items: state.items,
|
||||
unfilteredTotal: state.unfilteredTotal ?? 0,
|
||||
filterKey: orderAutomat.getFilterKey(state),
|
||||
}));
|
||||
void this.loadParties();
|
||||
}
|
||||
@@ -583,7 +585,7 @@ export class OrderList extends PureComponent {
|
||||
}
|
||||
|
||||
render() {
|
||||
const { items, unfilteredTotal, partiesById, busyId } = this.state;
|
||||
const { items, unfilteredTotal, filterKey, partiesById, busyId } = this.state;
|
||||
|
||||
rowContext.partiesById = partiesById;
|
||||
rowContext.busyId = busyId;
|
||||
@@ -615,6 +617,7 @@ export class OrderList extends PureComponent {
|
||||
reserveBottom={32}
|
||||
minPageSize={8}
|
||||
minHeight={0}
|
||||
resetKey={filterKey}
|
||||
items={items || []}
|
||||
totalCount={items ? items.length : 0}
|
||||
unfilteredTotal={unfilteredTotal}
|
||||
|
||||
@@ -12,6 +12,7 @@ import orderAutomat from '../../automats/orderAutomat';
|
||||
import { getArticle } from '../../automats/artikelAutomat';
|
||||
import { selectCompanyTaxrate } from '../../automats/companyAutomat';
|
||||
import { netFromGross } from '../../utils/price';
|
||||
import { ensureDocumentNumber, getNextDocumentNumber } from '../../utils/documentNumber';
|
||||
import {
|
||||
GREEN_PANEL,
|
||||
ORANGE_PANEL,
|
||||
@@ -444,7 +445,7 @@ export function collectFilesForUpload(attachments = [], { onlyNew = false } = {}
|
||||
*/
|
||||
export async function buildManifestBody(
|
||||
form,
|
||||
{ partyField, requireAtLeastOne, externalNumber: useExternalNumber },
|
||||
{ partyField, requireAtLeastOne, externalNumber: useExternalNumber, kind },
|
||||
) {
|
||||
const date = form.date;
|
||||
if (!date) throw new Error('Datum fehlt.');
|
||||
@@ -460,8 +461,11 @@ export async function buildManifestBody(
|
||||
lines: buildLines(form.lines, { requireAtLeastOne }),
|
||||
};
|
||||
} else {
|
||||
const number = String(form.number ?? '').trim();
|
||||
if (!number) throw new Error('Nummer fehlt.');
|
||||
let number = String(form.number ?? '').trim();
|
||||
if (!number) {
|
||||
number = await ensureDocumentNumber(kind || (partyField === 'entityId' ? 'quote' : 'doc'));
|
||||
}
|
||||
if (!number) throw new Error('Nummer konnte nicht ermittelt werden.');
|
||||
body = {
|
||||
number,
|
||||
date,
|
||||
|
||||
Reference in New Issue
Block a user