@colijnit/transaction 12.0.5 → 12.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/component/core/base/default-ok-cancel-buttons.component.d.ts +13 -0
- package/app/component/core/base/transaction-base.component.d.ts +48 -0
- package/app/component/{shopping-cart → core}/characteristic-answer/characteristic-answer.component.d.ts +0 -0
- package/app/component/core/directive/template-wrapper.directive.d.ts +13 -0
- package/app/component/{shopping-cart → core}/stock-status-indicator/stock-status-indicator.component.d.ts +0 -0
- package/app/component/core/warehouse/warehouse.component.d.ts +35 -0
- package/app/component/service-order/ione-service-order-module.d.ts +2 -0
- package/app/component/service-order/ione-service-order.component.d.ts +25 -0
- package/app/component/service-order/service-order.component.d.ts +53 -0
- package/app/component/service-order/summary/transaction-article-summary.component.d.ts +17 -0
- package/app/component/service-order/summary/transaction-delivery-summary.component.d.ts +20 -0
- package/app/component/service-order/summary/transaction-order-summary.component.d.ts +16 -0
- package/app/component/service-order/summary/transaction-payment-info.component.d.ts +14 -0
- package/app/component/service-order/summary/transaction-product-contract-summary.component.d.ts +7 -0
- package/app/component/service-order/summary/transaction-product-summary.component.d.ts +15 -0
- package/app/component/service-order/summary/transaction-service-status.component.d.ts +15 -0
- package/app/component/service-order/summary/transaction-service-summary.component.d.ts +15 -0
- package/app/component/service-order/summary/transaction-summary-block.component.d.ts +16 -0
- package/app/component/service-order/transaction-article-text/transaction-article-text.component.d.ts +24 -0
- package/app/component/service-order/transaction-header-block/transaction-header-block.component.d.ts +15 -0
- package/app/component/service-order/transaction-manager/transaction-manager.component.d.ts +63 -0
- package/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.d.ts +16 -0
- package/app/component/service-order/transaction-order-lines/transaction-order-lines.component.d.ts +25 -0
- package/app/component/service-order/transaction-order-totals/transaction-order-totals.component.d.ts +6 -0
- package/app/component/service-order/transaction-relation/transaction-relation-address.component.d.ts +22 -0
- package/app/component/service-order/transaction-relation/transaction-relation-edit.component.d.ts +29 -0
- package/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.d.ts +11 -0
- package/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.d.ts +26 -0
- package/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.d.ts +1 -1
- package/app/service/ione-connector-adapter.service.d.ts +1 -0
- package/app/service/transaction-event.service.d.ts +5 -0
- package/app/service/transaction.service.d.ts +19 -8
- package/bundles/colijnit-transaction.umd.js +2396 -63
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +26 -2
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/app/component/checkout/checkout-overview/checkout-overview.component.js +2 -2
- package/esm2015/app/component/checkout/ione-checkout.module.js +3 -3
- package/esm2015/app/component/common/icon/icon.component.js +2 -1
- package/esm2015/app/component/core/base/default-ok-cancel-buttons.component.js +39 -0
- package/esm2015/app/component/core/base/transaction-base.component.js +146 -0
- package/esm2015/app/component/core/characteristic-answer/characteristic-answer.component.js +100 -0
- package/esm2015/app/component/core/directive/template-wrapper.directive.js +69 -0
- package/esm2015/app/component/{shopping-cart → core}/stock-status-indicator/stock-status-indicator.component.js +1 -1
- package/esm2015/app/component/core/warehouse/warehouse.component.js +133 -0
- package/esm2015/app/component/service-order/ione-service-order-module.js +108 -0
- package/esm2015/app/component/service-order/ione-service-order.component.js +96 -0
- package/esm2015/app/component/service-order/service-order.component.js +195 -0
- package/esm2015/app/component/service-order/summary/transaction-article-summary.component.js +55 -0
- package/esm2015/app/component/service-order/summary/transaction-delivery-summary.component.js +59 -0
- package/esm2015/app/component/service-order/summary/transaction-order-summary.component.js +43 -0
- package/esm2015/app/component/service-order/summary/transaction-payment-info.component.js +35 -0
- package/esm2015/app/component/service-order/summary/transaction-product-contract-summary.component.js +38 -0
- package/esm2015/app/component/service-order/summary/transaction-product-summary.component.js +41 -0
- package/esm2015/app/component/service-order/summary/transaction-service-status.component.js +37 -0
- package/esm2015/app/component/service-order/summary/transaction-service-summary.component.js +38 -0
- package/esm2015/app/component/service-order/summary/transaction-summary-block.component.js +53 -0
- package/esm2015/app/component/service-order/transaction-article-text/transaction-article-text.component.js +194 -0
- package/esm2015/app/component/service-order/transaction-header-block/transaction-header-block.component.js +83 -0
- package/esm2015/app/component/service-order/transaction-manager/transaction-manager.component.js +305 -0
- package/esm2015/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.js +76 -0
- package/esm2015/app/component/service-order/transaction-order-lines/transaction-order-lines.component.js +71 -0
- package/esm2015/app/component/service-order/transaction-order-totals/transaction-order-totals.component.js +36 -0
- package/esm2015/app/component/service-order/transaction-relation/transaction-relation-address.component.js +116 -0
- package/esm2015/app/component/service-order/transaction-relation/transaction-relation-edit.component.js +225 -0
- package/esm2015/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.js +172 -0
- package/esm2015/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.js +120 -0
- package/esm2015/app/component/shopping-cart/ione-shopping-cart.module.js +4 -6
- package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +1 -1
- package/esm2015/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +1 -1
- package/esm2015/app/service/ione-connector-adapter.service.js +24 -6
- package/esm2015/app/service/transaction-event.service.js +4 -1
- package/esm2015/app/service/transaction.service.js +122 -37
- package/esm2015/assets/dictionary/text.properties.js +37 -1
- package/esm2015/colijnit-transaction.js +27 -3
- package/esm2015/public_api.js +3 -1
- package/fesm2015/colijnit-transaction.js +2625 -50
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/package.json +3 -3
- package/public_api.d.ts +2 -0
- package/esm2015/app/component/shopping-cart/characteristic-answer/characteristic-answer.component.js +0 -99
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { Injectable, EventEmitter, Component, Input, Output, ChangeDetectorRef, ViewChild, Pipe, HostBinding, NgModule } from '@angular/core';
|
|
3
|
+
import { Injectable, EventEmitter, Component, Input, Output, ChangeDetectorRef, ViewChild, Pipe, HostBinding, NgModule, Directive, ContentChild, ViewContainerRef } from '@angular/core';
|
|
4
4
|
import { BehaviorSubject, Subject, throwError } from 'rxjs';
|
|
5
5
|
import { Options } from '@colijnit/ioneconnector/build/model/options';
|
|
6
6
|
import { CustomerFullObject } from '@colijnit/transactionapi/build/model/customer-full-object.bo';
|
|
7
7
|
import { TransactionInfoResponse } from '@colijnit/transactionapi/build/model/transaction-info-response.bo';
|
|
8
8
|
import { RelationPrivacySetting } from '@colijnit/transactionapi/build/model/relation-privacy-setting.bo';
|
|
9
9
|
import { GetPostalCodeRetrievalOutputParams } from '@colijnit/transactionapi/build/model/get-postal-code-retrieval-output-params';
|
|
10
|
+
import { RelationListObject } from '@colijnit/transactionapi/build/model/relation-list-object.bo';
|
|
10
11
|
import { ArticleFullObject } from '@colijnit/transactionapi/build/model/article-full-object';
|
|
11
12
|
import { LineOperationResponse } from '@colijnit/transactionapi/build/model/line-operation-response.bo';
|
|
12
13
|
import { Transaction } from '@colijnit/transactionapi/build/transaction';
|
|
@@ -24,7 +25,7 @@ import { BooleanTextDecorator as BooleanTextDecorator$1 } from '@colijnit/transa
|
|
|
24
25
|
import { JsonFieldFieldDecorator } from '@colijnit/transactionapi/build/factory/decorators/json.decorator';
|
|
25
26
|
import { ComplexArrayDecorator as ComplexArrayDecorator$1 } from '@colijnit/transactionapi/build/factory/decorators/complex-array.decorator';
|
|
26
27
|
import { ImageUtils } from '@colijnit/transactionapi/build/utils/image-utils';
|
|
27
|
-
import { NULL_RELATION_OBJECT } from '@colijnit/transactionapi/build/model/nul-relation-object';
|
|
28
|
+
import { NULL_RELATION_OBJECT, NULL_CUSTOMER_FULL_OBJECT, NULL_RELATION_LIST_OBJECT } from '@colijnit/transactionapi/build/model/nul-relation-object';
|
|
28
29
|
import { TransactionKind } from '@colijnit/transactionapi/build/enum/transaction-kind.enum';
|
|
29
30
|
import { SequenceName } from '@colijnit/transactionapi/build/enum/sequence-name.enum';
|
|
30
31
|
import { ArrayUtils as ArrayUtils$1 } from '@colijnit/transactionapi/build/utils/array-utils';
|
|
@@ -34,16 +35,15 @@ import { TransactionLineType } from '@colijnit/transactionapi/build/enum/transac
|
|
|
34
35
|
import { LineOperationStatus } from '@colijnit/transactionapi/build/model/line-operation-status.bo';
|
|
35
36
|
import { TransactionInfo } from '@colijnit/transactionapi/build/model/transaction-info.bo';
|
|
36
37
|
import { PendingReasonType } from '@colijnit/transactionapi/build/enum/pending-reason-type.enum';
|
|
38
|
+
import { PromptService, FormComponent, CoSidebarComponent, CoreComponentsIcon, IconCacheService, IconModule, InputTextModule, InputCheckboxModule, InputRadioButtonModule, FormModule, InputComboBoxModule, InputDatePickerModule, InputNumberPickerModule, CoDialogModule, CoDialogPromptModule, ButtonModule, MultiSelectListModule, DropDownModule, PopupModule, CoSidebarModule, CoGridModule } from '@colijnit/corecomponents_v12';
|
|
37
39
|
import { CommunicationType } from '@colijnit/transactionapi/build/enum/communication-type.enum';
|
|
38
40
|
import { ContactOption } from '@colijnit/transactionapi/build/model/contact-option.bo';
|
|
39
41
|
import { RelationNameKind } from '@colijnit/transactionapi/build/enum/relation-name-kind.enum';
|
|
40
42
|
import { AddressType } from '@colijnit/transactionapi/build/enum/address-type.enum';
|
|
41
43
|
import { GenderType } from '@colijnit/transactionapi/build/enum/gender-type.enum';
|
|
42
44
|
import { BusinessObjectUtils } from '@colijnit/transactionapi/build/utils/business-object-utils';
|
|
43
|
-
import { FormComponent, CoSidebarComponent, PromptService, CoreComponentsIcon, IconCacheService, IconModule, InputTextModule, InputCheckboxModule, InputRadioButtonModule, FormModule, InputComboBoxModule, InputDatePickerModule, InputNumberPickerModule, CoDialogModule, CoDialogPromptModule, ButtonModule, MultiSelectListModule, DropDownModule, PopupModule, CoSidebarModule, CoGridModule } from '@colijnit/corecomponents_v12';
|
|
44
45
|
import { FunctionUtils } from '@colijnit/transactionapi/build/utils/function-utils';
|
|
45
46
|
import { Address } from '@colijnit/transactionapi/build/model/address.bo';
|
|
46
|
-
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
47
47
|
import { FlexModule } from '@angular/flex-layout';
|
|
48
48
|
import { MatStepperModule } from '@angular/material/stepper';
|
|
49
49
|
import { CommonModule } from '@angular/common';
|
|
@@ -52,6 +52,14 @@ import { ResolvePendingLineReasonRequest } from '@colijnit/transactionapi/build/
|
|
|
52
52
|
import { SortDirection } from '@colijnit/transactionapi/build/enum/sort-direction';
|
|
53
53
|
import { SortType } from '@colijnit/transactionapi/build/enum/sort-type.enum';
|
|
54
54
|
import { StockStatus } from '@colijnit/transactionapi/build/enum/refcode/stock-status.enum';
|
|
55
|
+
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
56
|
+
import { RelationRequest } from '@colijnit/transactionapi/build/model/relation-request';
|
|
57
|
+
import { DropDownButtonModule } from '@syncfusion/ej2-angular-splitbuttons';
|
|
58
|
+
import { ChipListModule, CheckBoxModule } from '@syncfusion/ej2-angular-buttons';
|
|
59
|
+
import { DropDownListModule } from '@syncfusion/ej2-angular-dropdowns';
|
|
60
|
+
import { Sidebar, Accordion } from '@syncfusion/ej2-navigations';
|
|
61
|
+
import { TabModule } from '@syncfusion/ej2-angular-navigations';
|
|
62
|
+
import { TransactionLineInfo } from '@colijnit/transactionapi/build/model/transaction-line-info.bo';
|
|
55
63
|
|
|
56
64
|
class OptionsService {
|
|
57
65
|
constructor() {
|
|
@@ -848,14 +856,19 @@ class IOneConnectorAdapterService {
|
|
|
848
856
|
return new Promise((resolve, reject) => {
|
|
849
857
|
return this.connector.getSingleImage(nodeId, publication, includeMimetype, thumb).then((result) => {
|
|
850
858
|
if (result.validationResult && result.validationResult.success) {
|
|
851
|
-
if (result.resultObject.filePath !== null && result.resultObject.filePath !== "") {
|
|
859
|
+
if (result.resultObject && result.resultObject.filePath !== null && result.resultObject.filePath !== "") {
|
|
852
860
|
return resolve(ImageUtils.getFixedImageFilepathUrl(result.resultObject.filePath));
|
|
853
861
|
}
|
|
854
862
|
else {
|
|
855
|
-
if (
|
|
856
|
-
|
|
863
|
+
if (result.resultObject) {
|
|
864
|
+
if (includeMimetype) {
|
|
865
|
+
return resolve(ImageUtils.getDocBodyWithMimeTypeDefinition(result.resultObject.fileName, thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody));
|
|
866
|
+
}
|
|
867
|
+
return resolve(thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody);
|
|
868
|
+
}
|
|
869
|
+
else {
|
|
870
|
+
reject(result.validationMessagesAsString);
|
|
857
871
|
}
|
|
858
|
-
return resolve(thumb ? result.resultObject.thumbnailBody : result.resultObject.documentBody);
|
|
859
872
|
}
|
|
860
873
|
}
|
|
861
874
|
else {
|
|
@@ -959,6 +972,18 @@ class IOneConnectorAdapterService {
|
|
|
959
972
|
});
|
|
960
973
|
});
|
|
961
974
|
}
|
|
975
|
+
getTransactionById(transactionId) {
|
|
976
|
+
return new Promise((resolve, reject) => {
|
|
977
|
+
return this.connector.getTransactionById(transactionId).then((result) => {
|
|
978
|
+
if (result.validationResult && result.validationResult.success) {
|
|
979
|
+
resolve(this._boFactory.makeWithRawBackendData(TransactionInfoResponse, result.resultObject));
|
|
980
|
+
}
|
|
981
|
+
else {
|
|
982
|
+
reject(result.validationMessagesAsString);
|
|
983
|
+
}
|
|
984
|
+
});
|
|
985
|
+
});
|
|
986
|
+
}
|
|
962
987
|
saveTransaction(uuid) {
|
|
963
988
|
return new Promise((resolve, reject) => {
|
|
964
989
|
return this.connector.saveTransaction(uuid).then((result) => {
|
|
@@ -1119,7 +1144,7 @@ class IOneConnectorAdapterService {
|
|
|
1119
1144
|
return new Promise((resolve, reject) => {
|
|
1120
1145
|
return this.connector.getRelationListObjects(relationRequest).then((result) => {
|
|
1121
1146
|
if (result.validationResult && result.validationResult.success) {
|
|
1122
|
-
resolve(result.resultObjects);
|
|
1147
|
+
resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(RelationListObject, result.resultObjects));
|
|
1123
1148
|
}
|
|
1124
1149
|
else {
|
|
1125
1150
|
reject(result.validationMessagesAsString);
|
|
@@ -1292,9 +1317,11 @@ IOneConnectorAdapterService.decorators = [
|
|
|
1292
1317
|
IOneConnectorAdapterService.ctorParameters = () => [];
|
|
1293
1318
|
|
|
1294
1319
|
class TransactionService {
|
|
1295
|
-
constructor(_connector) {
|
|
1320
|
+
constructor(_connector, _prompt) {
|
|
1296
1321
|
this._connector = _connector;
|
|
1322
|
+
this._prompt = _prompt;
|
|
1297
1323
|
this.transactionUpdated = new EventEmitter();
|
|
1324
|
+
this.transactionLoaded = new EventEmitter();
|
|
1298
1325
|
this.applicationUser = false;
|
|
1299
1326
|
this.articleAmount = 0;
|
|
1300
1327
|
this._currentLines = [];
|
|
@@ -1338,6 +1365,11 @@ class TransactionService {
|
|
|
1338
1365
|
&& line.pendingReasonType !== PendingReasonType.NON_CRITICAL_DISCONTINUATION);
|
|
1339
1366
|
return status;
|
|
1340
1367
|
}
|
|
1368
|
+
pendingLineOperationStatus(lineOperationStatuses) {
|
|
1369
|
+
const status = lineOperationStatuses.find(line => line.pendingReasonType !== PendingReasonType.NONE
|
|
1370
|
+
&& line.pendingReasonType !== PendingReasonType.NON_CRITICAL_DISCONTINUATION);
|
|
1371
|
+
return status;
|
|
1372
|
+
}
|
|
1341
1373
|
getArticleFullObject(goodId) {
|
|
1342
1374
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1343
1375
|
return yield this._connector.getArticleFullObject(goodId);
|
|
@@ -1418,11 +1450,10 @@ class TransactionService {
|
|
|
1418
1450
|
});
|
|
1419
1451
|
});
|
|
1420
1452
|
}
|
|
1421
|
-
resolvePendingLineReason(pendingLineValues) {
|
|
1453
|
+
resolvePendingLineReason(pendingLineValues, remember = true) {
|
|
1422
1454
|
return new Promise((resolve) => {
|
|
1423
1455
|
this._connector.resolvePendingLineReason(pendingLineValues).then((response) => __awaiter(this, void 0, void 0, function* () {
|
|
1424
|
-
this.
|
|
1425
|
-
this._rememberCurrentTransactionLineStatus(response);
|
|
1456
|
+
this._rememberResponse(remember, response);
|
|
1426
1457
|
resolve(response);
|
|
1427
1458
|
})).catch((reason) => {
|
|
1428
1459
|
resolve();
|
|
@@ -1438,8 +1469,25 @@ class TransactionService {
|
|
|
1438
1469
|
return new Promise((resolve, reject) => {
|
|
1439
1470
|
this._connector.getTransactionByNrAndKind(kind, transactionNr)
|
|
1440
1471
|
.then((response) => __awaiter(this, void 0, void 0, function* () {
|
|
1441
|
-
this._rememberCurrentTransaction(response);
|
|
1442
1472
|
if (response.isSuccess) {
|
|
1473
|
+
this.transactionLoaded.emit(response);
|
|
1474
|
+
resolve(true);
|
|
1475
|
+
}
|
|
1476
|
+
else {
|
|
1477
|
+
reject(false);
|
|
1478
|
+
}
|
|
1479
|
+
}))
|
|
1480
|
+
.catch((reason) => {
|
|
1481
|
+
reject(false);
|
|
1482
|
+
});
|
|
1483
|
+
});
|
|
1484
|
+
}
|
|
1485
|
+
getTransactionById(transactionId) {
|
|
1486
|
+
return new Promise((resolve, reject) => {
|
|
1487
|
+
this._connector.getTransactionById(transactionId)
|
|
1488
|
+
.then((response) => __awaiter(this, void 0, void 0, function* () {
|
|
1489
|
+
if (response.isSuccess) {
|
|
1490
|
+
this.transactionLoaded.emit(response);
|
|
1443
1491
|
resolve(true);
|
|
1444
1492
|
}
|
|
1445
1493
|
else {
|
|
@@ -1459,6 +1507,28 @@ class TransactionService {
|
|
|
1459
1507
|
}
|
|
1460
1508
|
});
|
|
1461
1509
|
}
|
|
1510
|
+
saveTransactionByUuid(transactionUuid) {
|
|
1511
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1512
|
+
return new Promise((resolve, reject) => {
|
|
1513
|
+
this._connector.saveTransaction(transactionUuid)
|
|
1514
|
+
.then((response) => __awaiter(this, void 0, void 0, function* () {
|
|
1515
|
+
if (response.isSuccess) {
|
|
1516
|
+
this.transactionLoaded.emit(response);
|
|
1517
|
+
resolve(true);
|
|
1518
|
+
}
|
|
1519
|
+
else {
|
|
1520
|
+
reject(false);
|
|
1521
|
+
}
|
|
1522
|
+
}))
|
|
1523
|
+
.catch((reason) => {
|
|
1524
|
+
if (reason) {
|
|
1525
|
+
this._prompt.showError(reason.getFullErrorString());
|
|
1526
|
+
}
|
|
1527
|
+
reject(false);
|
|
1528
|
+
});
|
|
1529
|
+
});
|
|
1530
|
+
});
|
|
1531
|
+
}
|
|
1462
1532
|
addRelationToTransaction(relationId) {
|
|
1463
1533
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1464
1534
|
const success = yield this._connector.addRelationToTransaction(this._currentTransaction.uuid, relationId);
|
|
@@ -1538,7 +1608,17 @@ class TransactionService {
|
|
|
1538
1608
|
}
|
|
1539
1609
|
retrieveLineImage(line) {
|
|
1540
1610
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1541
|
-
|
|
1611
|
+
return yield this.getArticleImageByArticleNumber(line.articleNumber);
|
|
1612
|
+
});
|
|
1613
|
+
}
|
|
1614
|
+
getArticleImageByArticleNumber(articleNumber) {
|
|
1615
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1616
|
+
const goodId = yield this._connector.getGoodIdFromArticleNr(articleNumber);
|
|
1617
|
+
return this.getArticleImageByGoodId(goodId);
|
|
1618
|
+
});
|
|
1619
|
+
}
|
|
1620
|
+
getArticleImageByGoodId(goodId) {
|
|
1621
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1542
1622
|
if (!isNaN(goodId)) {
|
|
1543
1623
|
return this._connector.getSingleImage(goodId, 1, true, true);
|
|
1544
1624
|
}
|
|
@@ -1562,13 +1642,29 @@ class TransactionService {
|
|
|
1562
1642
|
});
|
|
1563
1643
|
});
|
|
1564
1644
|
}
|
|
1565
|
-
|
|
1645
|
+
addArticleToTransaction(transactionUuid, articleNo, amount = 1, warehouseNo = 1, commissionCode = "2", isReturn = false, aboveLineNr = 0, belowLineNr = 0) {
|
|
1646
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1647
|
+
return new Promise((resolve, reject) => {
|
|
1648
|
+
this._connector.addTransactionLine(transactionUuid, TransactionLineType.ArticleLine, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr)
|
|
1649
|
+
.then((response) => __awaiter(this, void 0, void 0, function* () {
|
|
1650
|
+
resolve(response);
|
|
1651
|
+
}), (error) => {
|
|
1652
|
+
this._prompt.showError(error);
|
|
1653
|
+
reject(error);
|
|
1654
|
+
})
|
|
1655
|
+
.catch((reason) => {
|
|
1656
|
+
this._prompt.showError(reason.getFullErrorString());
|
|
1657
|
+
resolve(null);
|
|
1658
|
+
});
|
|
1659
|
+
});
|
|
1660
|
+
});
|
|
1661
|
+
}
|
|
1662
|
+
addTransactionLine(lineType, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr, remember = true) {
|
|
1566
1663
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1567
1664
|
return new Promise((resolve, reject) => {
|
|
1568
1665
|
this._connector.addTransactionLine(this.currentTransaction.uuid, lineType, articleNo, amount, warehouseNo, commissionCode, isReturn, aboveLineNr, belowLineNr)
|
|
1569
1666
|
.then((response) => __awaiter(this, void 0, void 0, function* () {
|
|
1570
|
-
this.
|
|
1571
|
-
this._rememberCurrentTransactionLineStatus(response);
|
|
1667
|
+
this._rememberResponse(remember, response);
|
|
1572
1668
|
resolve(response);
|
|
1573
1669
|
}), (error) => {
|
|
1574
1670
|
reject(error);
|
|
@@ -1579,13 +1675,12 @@ class TransactionService {
|
|
|
1579
1675
|
});
|
|
1580
1676
|
});
|
|
1581
1677
|
}
|
|
1582
|
-
addTextLineToTransaction(showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr) {
|
|
1678
|
+
addTextLineToTransaction(showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr, remember = true) {
|
|
1583
1679
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1584
1680
|
return new Promise((resolve, reject) => {
|
|
1585
1681
|
this._connector.addTextLineToTransaction(this.currentTransaction.uuid, showOnDocuments, text, amount, articleBound, refArticleLineNr, aboveLineNr, belowLineNr)
|
|
1586
1682
|
.then((response) => __awaiter(this, void 0, void 0, function* () {
|
|
1587
|
-
this.
|
|
1588
|
-
this._rememberCurrentTransactionLineStatus(response);
|
|
1683
|
+
this._rememberResponse(remember, response);
|
|
1589
1684
|
resolve(response);
|
|
1590
1685
|
}), (error) => {
|
|
1591
1686
|
reject(error);
|
|
@@ -1596,12 +1691,11 @@ class TransactionService {
|
|
|
1596
1691
|
});
|
|
1597
1692
|
});
|
|
1598
1693
|
}
|
|
1599
|
-
changeLineSequence(lineUuid, aboveLineNr, belowLineNr) {
|
|
1694
|
+
changeLineSequence(lineUuid, aboveLineNr, belowLineNr, remember = true) {
|
|
1600
1695
|
return new Promise((resolve, reject) => {
|
|
1601
1696
|
this._connector.changeLineSequence(this.currentTransaction.uuid, lineUuid, aboveLineNr, belowLineNr)
|
|
1602
1697
|
.then((response) => __awaiter(this, void 0, void 0, function* () {
|
|
1603
|
-
this.
|
|
1604
|
-
this._rememberCurrentTransactionLineStatus(response);
|
|
1698
|
+
this._rememberResponse(remember, response);
|
|
1605
1699
|
resolve(response);
|
|
1606
1700
|
}), (error) => {
|
|
1607
1701
|
reject(error);
|
|
@@ -1611,12 +1705,14 @@ class TransactionService {
|
|
|
1611
1705
|
});
|
|
1612
1706
|
});
|
|
1613
1707
|
}
|
|
1614
|
-
cancelAddTransactionLine(lineUuid) {
|
|
1708
|
+
cancelAddTransactionLine(lineUuid, remember = true) {
|
|
1615
1709
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1616
1710
|
return new Promise((resolve, reject) => {
|
|
1617
1711
|
this._connector.cancelAddTransactionLine(lineUuid)
|
|
1618
1712
|
.then((response) => __awaiter(this, void 0, void 0, function* () {
|
|
1619
|
-
|
|
1713
|
+
if (remember) {
|
|
1714
|
+
this._rememberCurrentTransaction(response);
|
|
1715
|
+
}
|
|
1620
1716
|
if (response.isSuccess) {
|
|
1621
1717
|
resolve(response);
|
|
1622
1718
|
}
|
|
@@ -1630,13 +1726,12 @@ class TransactionService {
|
|
|
1630
1726
|
});
|
|
1631
1727
|
});
|
|
1632
1728
|
}
|
|
1633
|
-
deleteTransactionLine(transactionUuid, TransactionLineUuid) {
|
|
1729
|
+
deleteTransactionLine(transactionUuid, TransactionLineUuid, remember = true) {
|
|
1634
1730
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1635
1731
|
return new Promise((resolve, reject) => {
|
|
1636
1732
|
this._connector.deleteTransactionLine(transactionUuid, TransactionLineUuid)
|
|
1637
1733
|
.then((response) => __awaiter(this, void 0, void 0, function* () {
|
|
1638
|
-
this.
|
|
1639
|
-
this._rememberCurrentTransactionLineStatus(response);
|
|
1734
|
+
this._rememberResponse(remember, response);
|
|
1640
1735
|
if (response.isSuccess) {
|
|
1641
1736
|
resolve(response);
|
|
1642
1737
|
}
|
|
@@ -1650,14 +1745,13 @@ class TransactionService {
|
|
|
1650
1745
|
});
|
|
1651
1746
|
});
|
|
1652
1747
|
}
|
|
1653
|
-
changeTransactionLineQuantity(lineUuid, newQuantity) {
|
|
1748
|
+
changeTransactionLineQuantity(lineUuid, newQuantity, remember = true) {
|
|
1654
1749
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1655
1750
|
return new Promise((resolve) => {
|
|
1656
1751
|
this._connector.changeTransactionLineQuantity(this.currentTransaction.uuid, lineUuid, newQuantity)
|
|
1657
1752
|
.then((response) => __awaiter(this, void 0, void 0, function* () {
|
|
1658
1753
|
if (response.isSuccess) {
|
|
1659
|
-
this.
|
|
1660
|
-
this._rememberCurrentTransactionLineStatus(response);
|
|
1754
|
+
this._rememberResponse(remember, response);
|
|
1661
1755
|
}
|
|
1662
1756
|
resolve(response);
|
|
1663
1757
|
})).catch((reason) => {
|
|
@@ -1678,6 +1772,15 @@ class TransactionService {
|
|
|
1678
1772
|
});
|
|
1679
1773
|
});
|
|
1680
1774
|
}
|
|
1775
|
+
getCustomerFulObjectByRelationId(relationId) {
|
|
1776
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1777
|
+
const relationNr = yield this._connector.getRelationNumber(relationId);
|
|
1778
|
+
if (relationNr) {
|
|
1779
|
+
return yield this._connector.getCustomerFullObject(Number(relationNr));
|
|
1780
|
+
}
|
|
1781
|
+
return NULL_CUSTOMER_FULL_OBJECT;
|
|
1782
|
+
});
|
|
1783
|
+
}
|
|
1681
1784
|
// public async setRelationByUser(username: string, password: string): Promise<boolean> {
|
|
1682
1785
|
// const response: boolean = await this._connector.setRelationByUser(this.currentTransaction.uuid, username, password);
|
|
1683
1786
|
// return response;
|
|
@@ -1688,13 +1791,15 @@ class TransactionService {
|
|
|
1688
1791
|
}
|
|
1689
1792
|
}
|
|
1690
1793
|
_rememberCurrentTransaction(value) {
|
|
1691
|
-
this
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1794
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1795
|
+
this._currentTransaction = value.transactionInfo;
|
|
1796
|
+
this._initializeTransaction();
|
|
1797
|
+
this.currentLines = value.transactionLines;
|
|
1798
|
+
this.currentTotals = value.transactionTotal;
|
|
1799
|
+
this.currentLineOperationStatuses = value.lineOperationStatuses;
|
|
1800
|
+
yield this._updateRelation();
|
|
1801
|
+
this.transactionUpdated.emit();
|
|
1802
|
+
});
|
|
1698
1803
|
}
|
|
1699
1804
|
_rememberCurrentTransactionLineStatus(value) {
|
|
1700
1805
|
// this._currentLineOperationStatus.uuid = value.lineUuid;
|
|
@@ -1705,10 +1810,7 @@ class TransactionService {
|
|
|
1705
1810
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1706
1811
|
if (this.currentTransaction && this.currentTransaction.relation && this.currentTransaction.relation.relationId) {
|
|
1707
1812
|
if (!this._currentRelation || this._currentRelation.relationId !== this.currentTransaction.relation.relationId) {
|
|
1708
|
-
|
|
1709
|
-
if (relationNr) {
|
|
1710
|
-
this._currentRelation = yield this._connector.getCustomerFullObject(Number(relationNr));
|
|
1711
|
-
}
|
|
1813
|
+
this._currentRelation = yield this.getCustomerFulObjectByRelationId(this.currentTransaction.relation.relationId);
|
|
1712
1814
|
}
|
|
1713
1815
|
}
|
|
1714
1816
|
});
|
|
@@ -1730,12 +1832,19 @@ class TransactionService {
|
|
|
1730
1832
|
transactionDeliveryOptionsRequest.invoiceAddress = this._currentTransaction.invoiceAddress.nawNr;
|
|
1731
1833
|
return transactionDeliveryOptionsRequest;
|
|
1732
1834
|
}
|
|
1835
|
+
_rememberResponse(remember, response) {
|
|
1836
|
+
if (remember) {
|
|
1837
|
+
this._rememberCurrentTransaction(response);
|
|
1838
|
+
this._rememberCurrentTransactionLineStatus(response);
|
|
1839
|
+
}
|
|
1840
|
+
}
|
|
1733
1841
|
}
|
|
1734
1842
|
TransactionService.decorators = [
|
|
1735
1843
|
{ type: Injectable }
|
|
1736
1844
|
];
|
|
1737
1845
|
TransactionService.ctorParameters = () => [
|
|
1738
|
-
{ type: IOneConnectorAdapterService }
|
|
1846
|
+
{ type: IOneConnectorAdapterService },
|
|
1847
|
+
{ type: PromptService }
|
|
1739
1848
|
];
|
|
1740
1849
|
|
|
1741
1850
|
var LanguageCode;
|
|
@@ -1828,8 +1937,10 @@ class Dictionary {
|
|
|
1828
1937
|
"ADDRESS_CHANGE": "Adres wijzigen",
|
|
1829
1938
|
"ALWAYS_SHOW_LOGISTICS_POPUP": "Controleer magazijn en commissiecode",
|
|
1830
1939
|
"ARTICLE": "Artikel",
|
|
1940
|
+
"ARTICLE_DESCRIPTION": "Artikelomschrijving",
|
|
1831
1941
|
"ARTICLE_IN_OUT_COLLECTION": "Status van artikel is '|~'. Weet u zeker dat u door wilt gaan?",
|
|
1832
1942
|
"ARTICLE_NR": "Artikelnummer",
|
|
1943
|
+
"ARTICLE_UNKNOWN": "Onbekend artikel",
|
|
1833
1944
|
"ASSEMBLY_COSTS": "Montagekosten",
|
|
1834
1945
|
"ASSEMBLY_DATE": "Montagedatum",
|
|
1835
1946
|
"AMOUNT": "Aantal",
|
|
@@ -1868,12 +1979,15 @@ class Dictionary {
|
|
|
1868
1979
|
"DELIVERY_OPTARTICLE_NRIONS": "Bezorgopties",
|
|
1869
1980
|
"DELIVERY_TIME_PERIOD": "Levertijd",
|
|
1870
1981
|
"DESCRIPTION": "Omschrijving",
|
|
1982
|
+
"DETAILS": "Details",
|
|
1871
1983
|
"DISCOUNT": "Korting",
|
|
1872
1984
|
"DISCOUNT_AMOUNT": "Kortingsbedrag",
|
|
1873
1985
|
"DISCOUNT_PERCENTAGE": "Kortings %",
|
|
1874
1986
|
"DROPSHIPMENT": "Dropshipment",
|
|
1875
1987
|
"EMAIL_ADDRESS": "E-mailadres",
|
|
1876
1988
|
"EXISTING_CUSTOMERS": "Bestaande klanten",
|
|
1989
|
+
"EXPECTED_DELIVERY_DATE": "Verwachte bezorgdatum",
|
|
1990
|
+
"EXPECTED_DELIVERY_WEEK": "Verwachte leverweek",
|
|
1877
1991
|
"FEMALE": "Vrouw",
|
|
1878
1992
|
"FIRST_NAME": "Voornaam",
|
|
1879
1993
|
"GOOD_DESCRIPTION": "Artikelomschrijving",
|
|
@@ -1900,11 +2014,14 @@ class Dictionary {
|
|
|
1900
2014
|
"NUMBER": "Aantal",
|
|
1901
2015
|
"ON_DATE": "Op datum",
|
|
1902
2016
|
"OPEN_SHOPPING_CART": "Open winkelwagen",
|
|
2017
|
+
"ORDER_DATE": "Orderdatum",
|
|
1903
2018
|
"ORDER_GROSS": "Ordertotaal bruto",
|
|
1904
2019
|
"ORDER_NET": "Ordertotaal netto",
|
|
2020
|
+
"ORDER_NUMBER": "Ordernummer",
|
|
1905
2021
|
"ORDER_TYPE": "Type bestelling",
|
|
1906
2022
|
"OVERVIEW": "Overzicht",
|
|
1907
2023
|
"OWN_REFERENCE": "Eigen referentie",
|
|
2024
|
+
"PAID_DOWN2": "Aanbetaald",
|
|
1908
2025
|
"PART_DELIVERIES": "Deelleveringen",
|
|
1909
2026
|
"PASSWORD": "Wachtwoord",
|
|
1910
2027
|
"PAYMENT": "Betaling",
|
|
@@ -1917,6 +2034,8 @@ class Dictionary {
|
|
|
1917
2034
|
"PRICE_LIST": "Prijslijst",
|
|
1918
2035
|
"PRIVACY_PREFERENCES": "Privacyvoorkeuren",
|
|
1919
2036
|
"PRIVATE_PERSON": "Particulier",
|
|
2037
|
+
"PRODUCT": "Product",
|
|
2038
|
+
"PRODUCT_TYPE": "Productsoort",
|
|
1920
2039
|
"QUANTITY_CANNOT_BE_ZERO_OR_EMPTY": "Het aantal mag geen 0 zijn.",
|
|
1921
2040
|
"QUANTITY_CANNOT_BE_LESS_THAN_DELIVERED": "Het aantal moet gelijk zijn aan het geleverde aantal",
|
|
1922
2041
|
"QUANTITY_CANNOT_BE_MORE_THAN_DELIVERED": "Het aantal moet gelijk zijn aan het geleverde aantal",
|
|
@@ -1932,6 +2051,9 @@ class Dictionary {
|
|
|
1932
2051
|
"SALUTATION": "Aanhef",
|
|
1933
2052
|
"SAVE": "Opslaan",
|
|
1934
2053
|
"SELECT": "Selecteren",
|
|
2054
|
+
"SERVICE_NUMBER": "Servicenummer",
|
|
2055
|
+
"SERVICE_REQUEST_DATE": "Datum aanvraag",
|
|
2056
|
+
"SERVICE_STATE": "Service status",
|
|
1935
2057
|
"SHOPPING_CART": "Winkelwagen",
|
|
1936
2058
|
"SHOPPING_CART_CHECKOUT": "Bestellen",
|
|
1937
2059
|
"SHOPPING_CART_OVERVIEW": "Overzicht van uw bestelling",
|
|
@@ -1943,17 +2065,22 @@ class Dictionary {
|
|
|
1943
2065
|
"SUBTOTAL": "Subtotaal",
|
|
1944
2066
|
"SUGGESTIONS": "Suggesties",
|
|
1945
2067
|
"SURCHARGE_AMOUNT": "Toeslag",
|
|
2068
|
+
"STATE": "Status",
|
|
1946
2069
|
"STREET": "Straatnaam",
|
|
2070
|
+
"TOTAL_AMOUNT": "Totaalbedrag",
|
|
1947
2071
|
"TOTAL_GROSS": "Totaal bruto",
|
|
1948
2072
|
"TOTAL_ASSEMBLY_TIME": "Totale montagetijd",
|
|
1949
2073
|
"TRANSACTION_DISCOUNT": "Totale transactie korting",
|
|
1950
2074
|
"TRANSACTION_DISCOUNT_PERC": "% Trans. korting",
|
|
1951
2075
|
"TRANSACTION_PRICE_DECLARATION": "Order prijsverklaring",
|
|
2076
|
+
"TRANSACTION_SUM_I": "Ordertotaal incl. BTW",
|
|
1952
2077
|
"TRANSACTION_TOTAL": "Transactie totaal",
|
|
1953
2078
|
"UNKNOWN": "Onbekend",
|
|
1954
2079
|
"UNKNOWN_ADDRESS_CHECK_IT": "Onbekend adres",
|
|
1955
2080
|
"VAT": "Btw",
|
|
2081
|
+
"VAT_AMOUNT": "BTW-bedrag",
|
|
1956
2082
|
"VALUE": "Waarde",
|
|
2083
|
+
"WHERE_ARE_YOU_LOOKING_FOR": "Waar ben je naar op zoek?",
|
|
1957
2084
|
"WAREHOUSE": "Magazijn",
|
|
1958
2085
|
"YOUR_DATA": "Uw gegevens",
|
|
1959
2086
|
},
|
|
@@ -1973,8 +2100,10 @@ class Dictionary {
|
|
|
1973
2100
|
"ADDRESS_CHANGE": "Change address",
|
|
1974
2101
|
"ALWAYS_SHOW_LOGISTICS_POPUP": "Check warehouse and commissioncode",
|
|
1975
2102
|
"ARTICLE": "Article",
|
|
2103
|
+
"ARTICLE_DESCRIPTION": "Article description",
|
|
1976
2104
|
"ARTICLE_IN_OUT_COLLECTION": "Status of article is '|~'. Are you sure to proceed?",
|
|
1977
2105
|
"ARTICLE_NR": "Article number",
|
|
2106
|
+
"ARTICLE_UNKNOWN": "Article unknown",
|
|
1978
2107
|
"ASSEMBLY_COSTS": "Assembly costs",
|
|
1979
2108
|
"ASSEMBLY_DATE": "Assembly date",
|
|
1980
2109
|
"AMOUNT": "Amount",
|
|
@@ -2013,12 +2142,15 @@ class Dictionary {
|
|
|
2013
2142
|
"DELIVERY_OPTARTICLE_NRIONS": "Delivery options",
|
|
2014
2143
|
"DELIVERY_TIME_PERIOD": "Delivery time period",
|
|
2015
2144
|
"DESCRIPTION": "Description",
|
|
2145
|
+
"DETAILS": "Details",
|
|
2016
2146
|
"DISCOUNT": "Discount",
|
|
2017
2147
|
"DISCOUNT_AMOUNT": "Discount amount",
|
|
2018
2148
|
"DISCOUNT_PERCENTAGE": "Discount %",
|
|
2019
2149
|
"DROPSHIPMENT": "Dropshipment",
|
|
2020
2150
|
"EMAIL_ADDRESS": "E-mailadres",
|
|
2021
2151
|
"EXISTING_CUSTOMERS": "Existing customers",
|
|
2152
|
+
"EXPECTED_DELIVERY_DATE": "Expected delivery date",
|
|
2153
|
+
"EXPECTED_DELIVERY_WEEK": "Expected delivery week",
|
|
2022
2154
|
"FEMALE": "Female",
|
|
2023
2155
|
"FIRST_NAME": "First name",
|
|
2024
2156
|
"GOOD_DESCRIPTION": "Article description",
|
|
@@ -2045,11 +2177,14 @@ class Dictionary {
|
|
|
2045
2177
|
"NUMBER": "Amount",
|
|
2046
2178
|
"ON_DATE": "On date",
|
|
2047
2179
|
"OPEN_SHOPPING_CART": "Open shopping cart",
|
|
2180
|
+
"ORDER_DATE": "Order date",
|
|
2048
2181
|
"ORDER_GROSS": "Total gross amount",
|
|
2049
2182
|
"ORDER_NET": "Total net amount",
|
|
2183
|
+
"ORDER_NUMBER": "Order number",
|
|
2050
2184
|
"ORDER_TYPE": "Order type",
|
|
2051
2185
|
"OVERVIEW": "Overview",
|
|
2052
2186
|
"OWN_REFERENCE": "Own reference",
|
|
2187
|
+
"PAID_DOWN2": "Prepaid",
|
|
2053
2188
|
"PART_DELIVERIES": "Partial deliveries",
|
|
2054
2189
|
"PASSWORD": "Password",
|
|
2055
2190
|
"PAYMENT": "Payment",
|
|
@@ -2062,6 +2197,8 @@ class Dictionary {
|
|
|
2062
2197
|
"PRICE_LIST": "Pricelist",
|
|
2063
2198
|
"PRIVACY_PREFERENCES": "Privacy preferences",
|
|
2064
2199
|
"PRIVATE_PERSON": "Private",
|
|
2200
|
+
"PRODUCT": "Product",
|
|
2201
|
+
"PRODUCT_TYPE": "Product type",
|
|
2065
2202
|
"QUANTITY_CANNOT_BE_ZERO_OR_EMPTY": "Quantity cannot be zero or empty",
|
|
2066
2203
|
"QUANTUM_DISCOUNT": "Quantum discount",
|
|
2067
2204
|
"REFERENCE_RELATION": "Ref. relation",
|
|
@@ -2069,6 +2206,9 @@ class Dictionary {
|
|
|
2069
2206
|
"SALUTATION": "Salutation",
|
|
2070
2207
|
"SAVE": "Save",
|
|
2071
2208
|
"SELECT": "Select",
|
|
2209
|
+
"SERVICE_NUMBER": "Service number",
|
|
2210
|
+
"SERVICE_REQUEST_DATE": "Service request data",
|
|
2211
|
+
"SERVICE_STATE": "Service state",
|
|
2072
2212
|
"SHOPPING_CART": "Shopping cart",
|
|
2073
2213
|
"SHOPPING_CART_CHECKOUT": "Checkout",
|
|
2074
2214
|
"SHOPPING_CART_OVERVIEW": "Order overview",
|
|
@@ -2080,18 +2220,23 @@ class Dictionary {
|
|
|
2080
2220
|
"SUBTOTAL": "Subtotal",
|
|
2081
2221
|
"SUGGESTIONS": "Suggestions",
|
|
2082
2222
|
"SURCHARGE_AMOUNT": "Surcharge",
|
|
2223
|
+
"STATE": "STATUS",
|
|
2083
2224
|
"STREET": "Streetname",
|
|
2225
|
+
"TOTAL_AMOUNT": "Total amount",
|
|
2084
2226
|
"TOTAL_GROSS": "Gross total",
|
|
2085
2227
|
"TOTAL_ASSEMBLY_TIME": "Total assembly time",
|
|
2086
2228
|
"TRANSACTION_DISCOUNT": "Total transaction discount",
|
|
2087
2229
|
"TRANSACTION_DISCOUNT_PERC": "% Trans. discount",
|
|
2088
2230
|
"TRANSACTION_PRICE_DECLARATION": "Transaction price declaration",
|
|
2231
|
+
"TRANSACTION_SUM_I": "Ordertotal incl VAT",
|
|
2089
2232
|
"TRANSACTION_TOTAL": "Transaction total",
|
|
2090
2233
|
"UNKNOWN": "unknown",
|
|
2091
2234
|
"UNKNOWN_ADDRESS_CHECK_IT": "Unknown address",
|
|
2092
2235
|
"VALUE": "Value",
|
|
2093
2236
|
"VAT": "VAT",
|
|
2237
|
+
"VAT_AMOUNT": "VAT amount",
|
|
2094
2238
|
"WAREHOUSE": "Warehouse",
|
|
2239
|
+
"WHERE_ARE_YOU_LOOKING_FOR": "Where are you looking for?",
|
|
2095
2240
|
"YOUR_DATA": "Your data",
|
|
2096
2241
|
},
|
|
2097
2242
|
};
|
|
@@ -2171,6 +2316,9 @@ class TransactionEventService {
|
|
|
2171
2316
|
this.addArticleLineAt = new Subject();
|
|
2172
2317
|
this.addTextLineAt = new Subject();
|
|
2173
2318
|
this.changeLineSequence = new Subject();
|
|
2319
|
+
this.transactionLineClicked = new Subject();
|
|
2320
|
+
this.rightSidebarClose = new Subject();
|
|
2321
|
+
this.scrollContent = new Subject();
|
|
2174
2322
|
}
|
|
2175
2323
|
}
|
|
2176
2324
|
TransactionEventService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TransactionEventService_Factory() { return new TransactionEventService(); }, token: TransactionEventService, providedIn: "root" });
|
|
@@ -3166,7 +3314,7 @@ CheckoutOverviewComponent.decorators = [
|
|
|
3166
3314
|
(editModeChange)="handleEditChangeRelation($event)">
|
|
3167
3315
|
<ng-container edit-mode-content>
|
|
3168
3316
|
<checkout-overview-relation-edit #relationForm
|
|
3169
|
-
*ngIf="currentStep
|
|
3317
|
+
*ngIf="currentStep === steps.Relation && editMode"
|
|
3170
3318
|
[relation]="relation"
|
|
3171
3319
|
[transaction]="transaction"
|
|
3172
3320
|
(validSubmit)="onRelationValid()"
|
|
@@ -4147,6 +4295,7 @@ class IconComponent {
|
|
|
4147
4295
|
}
|
|
4148
4296
|
IconComponent.decorators = [
|
|
4149
4297
|
{ type: Component, args: [{
|
|
4298
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
4150
4299
|
selector: "icon",
|
|
4151
4300
|
template: "",
|
|
4152
4301
|
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.circle:host{border-radius:50%}.flex-center{display:flex}:host{display:inline-flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.no-shrink:host{flex-shrink:0}:host.action ::ng-deep{cursor:pointer}:host ::ng-deep svg{width:100%}:host ::ng-deep svg{height:100%}.massive:host{width:100px;height:100px}.humongous:host{width:70px;height:70px}.very-big:host{width:45px;height:45px}.big:host{width:40px;height:40px}:host{width:30px;height:30px}.small:host{width:25px;height:25px}.nano:host{width:18px;height:18px}.pico:host{width:14px;height:14px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host.dark ::ng-deep [fill]{fill:#22313c}:host.light ::ng-deep [fill]{fill:#fff}:host.red ::ng-deep [fill]{fill:#c1002a}:host.grey ::ng-deep [fill]{fill:#dad9d9}:host.action-color ::ng-deep [fill]{fill:#2b60a7}:host.inactive{opacity:.25}:host.disabled{opacity:.25!important}:host:hover.action ::ng-deep [fill]{fill:#2b60a7}\n"]
|
|
@@ -4197,7 +4346,6 @@ class IoneCheckoutModule {
|
|
|
4197
4346
|
IoneCheckoutModule.decorators = [
|
|
4198
4347
|
{ type: NgModule, args: [{
|
|
4199
4348
|
imports: [
|
|
4200
|
-
BrowserAnimationsModule,
|
|
4201
4349
|
IconModule,
|
|
4202
4350
|
InputTextModule,
|
|
4203
4351
|
InputCheckboxModule,
|
|
@@ -4217,6 +4365,7 @@ IoneCheckoutModule.decorators = [
|
|
|
4217
4365
|
CoSidebarModule,
|
|
4218
4366
|
CoGridModule,
|
|
4219
4367
|
CoreModule,
|
|
4368
|
+
CommonModule,
|
|
4220
4369
|
],
|
|
4221
4370
|
declarations: [
|
|
4222
4371
|
CheckoutComponent,
|
|
@@ -5311,7 +5460,7 @@ ShoppingCartLineComponent.decorators = [
|
|
|
5311
5460
|
[textContent]="line.text">
|
|
5312
5461
|
</div>
|
|
5313
5462
|
`,
|
|
5314
|
-
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.cart-line-r .cart-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}:host{padding-bottom:20px}:host{padding-top:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-image,.cart-line-r .cart-line-right .cart-line-stock,.cart-line-r .cart-line-right .cart-line-totals{margin-top:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-image,.cart-line-r .cart-line-right .cart-line-stock,.cart-line-r .cart-line-right .cart-line-totals{margin-bottom:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-t,.cart-line-r .cart-line-right .cart-line-totals{margin-left:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-t{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:flex;flex-wrap:wrap;border-bottom:1px solid #DBE3E8;width:100%}:host.overlayed.is-text{display:none!important}:host.overlayed.is-selected{background-color:#add8e6}:host.overview.is-text{display:none!important}:host.overview.is-selected{background-color:#add8e6}.cart-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.cart-line-r{flex-direction:column}}.cart-line-r co-button{border:0;padding:0}.cart-line-r .cart-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center}.cart-line-r .cart-line-image image-display{width:6em;height:6em}.cart-line-r .cart-line-description{display:flex;flex-direction:column;width:100%}.cart-line-r .cart-line-description .cart-line-description-main{font-weight:bold}.cart-line-r .cart-line-right{justify-content:flex-end}.cart-line-r .cart-line-right .cart-line-stock{width:10em}.cart-line-r .cart-line-right .cart-line-amount{width:10em}.cart-line-r .cart-line-right .cart-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.cart-line-r .cart-line-right .cart-line-totals span{text-align:right}.cart-line-t.article-text{padding-left:10em}\n"]
|
|
5463
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.cart-line-r .cart-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}:host{padding-bottom:20px}:host{padding-top:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-image,.cart-line-r .cart-line-right .cart-line-stock,.cart-line-r .cart-line-right .cart-line-totals{margin-top:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-image,.cart-line-r .cart-line-right .cart-line-stock,.cart-line-r .cart-line-right .cart-line-totals{margin-bottom:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-t,.cart-line-r .cart-line-right .cart-line-totals{margin-left:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-t{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:flex;flex-wrap:wrap;border-bottom:1px solid #DBE3E8;width:100%}:host.overlayed.is-text{display:none!important}:host.overlayed.is-selected{background-color:#add8e6}:host.overview.is-text{display:none!important}:host.overview.is-selected{background-color:#add8e6}.horizontal{display:flex;flex-direction:row}.cart-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.cart-line-r{flex-direction:column}}.cart-line-r co-button{border:0;padding:0}.cart-line-r .cart-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center}.cart-line-r .cart-line-image image-display{width:6em;height:6em}.cart-line-r .cart-line-description{display:flex;flex-direction:column;width:100%}.cart-line-r .cart-line-description .cart-line-description-main{font-weight:bold}.cart-line-r .cart-line-right{justify-content:flex-end}.cart-line-r .cart-line-right .cart-line-stock{width:10em}.cart-line-r .cart-line-right .cart-line-amount{width:10em}.cart-line-r .cart-line-right .cart-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.cart-line-r .cart-line-right .cart-line-totals span{text-align:right}.cart-line-t.article-text{padding-left:10em}\n"]
|
|
5315
5464
|
},] }
|
|
5316
5465
|
];
|
|
5317
5466
|
ShoppingCartLineComponent.ctorParameters = () => [
|
|
@@ -5385,6 +5534,7 @@ class CharacteristicAnswerComponent {
|
|
|
5385
5534
|
}
|
|
5386
5535
|
CharacteristicAnswerComponent.decorators = [
|
|
5387
5536
|
{ type: Component, args: [{
|
|
5537
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
5388
5538
|
selector: "characteristic-answer",
|
|
5389
5539
|
template: `
|
|
5390
5540
|
<co-dialog
|
|
@@ -5461,7 +5611,6 @@ IoneShoppingCartModule.decorators = [
|
|
|
5461
5611
|
CharacteristicAnswerComponent,
|
|
5462
5612
|
],
|
|
5463
5613
|
imports: [
|
|
5464
|
-
BrowserAnimationsModule,
|
|
5465
5614
|
CommonModule,
|
|
5466
5615
|
IconModule,
|
|
5467
5616
|
InputTextModule,
|
|
@@ -5491,16 +5640,2442 @@ IoneShoppingCartModule.decorators = [
|
|
|
5491
5640
|
entryComponents: [
|
|
5492
5641
|
IoneShoppingCartComponent
|
|
5493
5642
|
],
|
|
5494
|
-
exports: [IoneShoppingCartComponent],
|
|
5643
|
+
exports: [IoneShoppingCartComponent, StockStatusIndicatorComponent, CharacteristicAnswerComponent],
|
|
5495
5644
|
bootstrap: [IoneShoppingCartComponent]
|
|
5496
5645
|
},] }
|
|
5497
5646
|
];
|
|
5498
5647
|
|
|
5648
|
+
class IoneServiceOrderComponent {
|
|
5649
|
+
constructor(_changeDetector, _optionsService, _connector, _dictionary, _service) {
|
|
5650
|
+
this._changeDetector = _changeDetector;
|
|
5651
|
+
this._optionsService = _optionsService;
|
|
5652
|
+
this._connector = _connector;
|
|
5653
|
+
this._dictionary = _dictionary;
|
|
5654
|
+
this._service = _service;
|
|
5655
|
+
this.upAndLoaded = false;
|
|
5656
|
+
this._subscriptions = [];
|
|
5657
|
+
this._remoteOptions = true;
|
|
5658
|
+
this._publicOptions = true;
|
|
5659
|
+
this._orderId = 0;
|
|
5660
|
+
this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)));
|
|
5661
|
+
}
|
|
5662
|
+
set orderId(value) {
|
|
5663
|
+
this._orderId = value;
|
|
5664
|
+
this._getTransactionById(this._orderId);
|
|
5665
|
+
}
|
|
5666
|
+
;
|
|
5667
|
+
set options(value) {
|
|
5668
|
+
if (value) {
|
|
5669
|
+
let options;
|
|
5670
|
+
if (typeof value === "string") {
|
|
5671
|
+
options = JSON.parse(value);
|
|
5672
|
+
}
|
|
5673
|
+
else {
|
|
5674
|
+
options = value;
|
|
5675
|
+
}
|
|
5676
|
+
this._publicOptions = true;
|
|
5677
|
+
this._optionsService.initialize(options).then();
|
|
5678
|
+
}
|
|
5679
|
+
}
|
|
5680
|
+
ngOnInit() {
|
|
5681
|
+
if (!this._publicOptions) {
|
|
5682
|
+
this._optionsService.initializeDevelopmentOptions(this._remoteOptions);
|
|
5683
|
+
}
|
|
5684
|
+
}
|
|
5685
|
+
ngOnDestroy() {
|
|
5686
|
+
this._subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
5687
|
+
}
|
|
5688
|
+
_handleSettingsLoaded(loaded) {
|
|
5689
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
5690
|
+
if (loaded) {
|
|
5691
|
+
yield this._initConnection().then();
|
|
5692
|
+
this.upAndLoaded = true;
|
|
5693
|
+
}
|
|
5694
|
+
});
|
|
5695
|
+
}
|
|
5696
|
+
_initConnection() {
|
|
5697
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
5698
|
+
yield this._connector.connect(this._optionsService.options);
|
|
5699
|
+
if (this._optionsService.options.url) {
|
|
5700
|
+
this._dictionary.rootUrl = this._optionsService.options.url.replace("/ajaxservice", "");
|
|
5701
|
+
}
|
|
5702
|
+
yield this._dictionary.setDictionary(this._optionsService.options.languageCode);
|
|
5703
|
+
setTimeout(() => {
|
|
5704
|
+
this._changeDetector.detectChanges();
|
|
5705
|
+
});
|
|
5706
|
+
});
|
|
5707
|
+
}
|
|
5708
|
+
_getTransactionById(orderId) {
|
|
5709
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
5710
|
+
yield this._service.getTransactionById(orderId);
|
|
5711
|
+
});
|
|
5712
|
+
}
|
|
5713
|
+
}
|
|
5714
|
+
IoneServiceOrderComponent.decorators = [
|
|
5715
|
+
{ type: Component, args: [{
|
|
5716
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
5717
|
+
selector: "ione-service-order",
|
|
5718
|
+
template: `
|
|
5719
|
+
<div>
|
|
5720
|
+
<service-order></service-order>
|
|
5721
|
+
</div>
|
|
5722
|
+
<transaction-sidebar-right></transaction-sidebar-right>
|
|
5723
|
+
`
|
|
5724
|
+
},] }
|
|
5725
|
+
];
|
|
5726
|
+
IoneServiceOrderComponent.ctorParameters = () => [
|
|
5727
|
+
{ type: ChangeDetectorRef },
|
|
5728
|
+
{ type: OptionsService },
|
|
5729
|
+
{ type: IOneConnectorAdapterService },
|
|
5730
|
+
{ type: DictionaryService },
|
|
5731
|
+
{ type: TransactionService }
|
|
5732
|
+
];
|
|
5733
|
+
IoneServiceOrderComponent.propDecorators = {
|
|
5734
|
+
orderId: [{ type: Input }],
|
|
5735
|
+
options: [{ type: Input }]
|
|
5736
|
+
};
|
|
5737
|
+
|
|
5738
|
+
class TransactionBaseComponent {
|
|
5739
|
+
constructor(service) {
|
|
5740
|
+
this.service = service;
|
|
5741
|
+
this.relation = NULL_RELATION_LIST_OBJECT;
|
|
5742
|
+
this.customer = NULL_CUSTOMER_FULL_OBJECT;
|
|
5743
|
+
this._isService = false;
|
|
5744
|
+
this.basedOnProduct = false;
|
|
5745
|
+
this._lineOperationStatuses = [];
|
|
5746
|
+
this._transactionLines = [];
|
|
5747
|
+
}
|
|
5748
|
+
set transaction(value) {
|
|
5749
|
+
this._transaction = value;
|
|
5750
|
+
if (this._transaction) {
|
|
5751
|
+
if (this._transaction.transactionInfo) {
|
|
5752
|
+
this._transactionInfo = this._transaction.transactionInfo;
|
|
5753
|
+
this._isService = this._transaction.transactionInfo.transactionKind === TransactionKind.ServiceOrder;
|
|
5754
|
+
}
|
|
5755
|
+
if (this._transaction.transactionLines) {
|
|
5756
|
+
this.transactionLines = this._transaction.transactionLines;
|
|
5757
|
+
}
|
|
5758
|
+
if (this._transaction.transactionTotal) {
|
|
5759
|
+
this._transactionTotal = this._transaction.transactionTotal;
|
|
5760
|
+
}
|
|
5761
|
+
if (this._transaction.lineOperationStatuses) {
|
|
5762
|
+
this.lineOperationStatuses = this._transaction.lineOperationStatuses;
|
|
5763
|
+
}
|
|
5764
|
+
}
|
|
5765
|
+
}
|
|
5766
|
+
get transaction() {
|
|
5767
|
+
return this._transaction;
|
|
5768
|
+
}
|
|
5769
|
+
set transactionInfo(value) {
|
|
5770
|
+
this._transactionInfo = value;
|
|
5771
|
+
}
|
|
5772
|
+
get transactionInfo() {
|
|
5773
|
+
return this._transactionInfo;
|
|
5774
|
+
}
|
|
5775
|
+
set transactionLines(value) {
|
|
5776
|
+
this._transactionLines = value;
|
|
5777
|
+
}
|
|
5778
|
+
get transactionLines() {
|
|
5779
|
+
return this._transactionLines;
|
|
5780
|
+
}
|
|
5781
|
+
set transactionTotal(value) {
|
|
5782
|
+
this._transactionTotal = value;
|
|
5783
|
+
}
|
|
5784
|
+
get transactionTotal() {
|
|
5785
|
+
return this._transactionTotal;
|
|
5786
|
+
}
|
|
5787
|
+
get lineOperationStatuses() {
|
|
5788
|
+
return this._lineOperationStatuses;
|
|
5789
|
+
}
|
|
5790
|
+
set lineOperationStatuses(value) {
|
|
5791
|
+
this._lineOperationStatuses = value;
|
|
5792
|
+
}
|
|
5793
|
+
get isService() {
|
|
5794
|
+
return this._isService;
|
|
5795
|
+
}
|
|
5796
|
+
set relationId(value) {
|
|
5797
|
+
if (value === undefined) {
|
|
5798
|
+
return;
|
|
5799
|
+
}
|
|
5800
|
+
this._relationId = value;
|
|
5801
|
+
this._retrieveRelation();
|
|
5802
|
+
}
|
|
5803
|
+
get relationId() {
|
|
5804
|
+
return this._relationId;
|
|
5805
|
+
}
|
|
5806
|
+
set customerId(value) {
|
|
5807
|
+
if (value === undefined) {
|
|
5808
|
+
return;
|
|
5809
|
+
}
|
|
5810
|
+
this._customerId = value;
|
|
5811
|
+
this._retrieveCustomer();
|
|
5812
|
+
}
|
|
5813
|
+
get customerId() {
|
|
5814
|
+
return this._customerId;
|
|
5815
|
+
}
|
|
5816
|
+
set product(value) {
|
|
5817
|
+
this._product = value;
|
|
5818
|
+
this.productSet();
|
|
5819
|
+
this._setBasedOnProduct();
|
|
5820
|
+
}
|
|
5821
|
+
get product() {
|
|
5822
|
+
return this._product;
|
|
5823
|
+
}
|
|
5824
|
+
get isNew() {
|
|
5825
|
+
return isNill$1(this.transaction) || isNill$1(this.transactionInfo.transactionNr);
|
|
5826
|
+
}
|
|
5827
|
+
transactionSet() {
|
|
5828
|
+
// overridden by descendents
|
|
5829
|
+
}
|
|
5830
|
+
productSet() {
|
|
5831
|
+
// overridden by descendents
|
|
5832
|
+
}
|
|
5833
|
+
_retrieveCustomer() {
|
|
5834
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
5835
|
+
this.customer = yield this.service.getCustomerFulObjectByRelationId(this._customerId);
|
|
5836
|
+
});
|
|
5837
|
+
}
|
|
5838
|
+
_retrieveRelation() {
|
|
5839
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
5840
|
+
const relationRequest = new RelationRequest();
|
|
5841
|
+
let relations = [];
|
|
5842
|
+
relationRequest.relationId = this.relationId;
|
|
5843
|
+
relations = yield this.service.getRelationListObjects(relationRequest);
|
|
5844
|
+
if (relations && relations.length) {
|
|
5845
|
+
this.relation = relations[0];
|
|
5846
|
+
}
|
|
5847
|
+
});
|
|
5848
|
+
}
|
|
5849
|
+
_setBasedOnProduct() {
|
|
5850
|
+
if (this.product) {
|
|
5851
|
+
this.basedOnProduct = true;
|
|
5852
|
+
}
|
|
5853
|
+
else { //check transaction (service) for product
|
|
5854
|
+
// TODO: assProduct is not a property of transaction right now.
|
|
5855
|
+
// this.basedOnProduct = notNill(this._transaction.assProduct);
|
|
5856
|
+
// if (this.basedOnProduct) {
|
|
5857
|
+
// this._product = this.transaction.assProduct;
|
|
5858
|
+
// }
|
|
5859
|
+
}
|
|
5860
|
+
}
|
|
5861
|
+
}
|
|
5862
|
+
TransactionBaseComponent.decorators = [
|
|
5863
|
+
{ type: Directive }
|
|
5864
|
+
];
|
|
5865
|
+
TransactionBaseComponent.ctorParameters = () => [
|
|
5866
|
+
{ type: TransactionService }
|
|
5867
|
+
];
|
|
5868
|
+
TransactionBaseComponent.propDecorators = {
|
|
5869
|
+
transaction: [{ type: Input }],
|
|
5870
|
+
relationId: [{ type: Input }],
|
|
5871
|
+
customerId: [{ type: Input }],
|
|
5872
|
+
product: [{ type: Input }],
|
|
5873
|
+
relation: [{ type: Input }],
|
|
5874
|
+
customer: [{ type: Input }]
|
|
5875
|
+
};
|
|
5876
|
+
|
|
5877
|
+
// import {
|
|
5878
|
+
// ToolbarService,
|
|
5879
|
+
// LinkService,
|
|
5880
|
+
// ImageService,
|
|
5881
|
+
// HtmlEditorService,
|
|
5882
|
+
// RichTextEditor
|
|
5883
|
+
// } from '@syncfusion/ej2-angular-richtexteditor';
|
|
5884
|
+
class TransactionArticleTextComponent extends TransactionBaseComponent {
|
|
5885
|
+
constructor(service) {
|
|
5886
|
+
super(service);
|
|
5887
|
+
this.service = service;
|
|
5888
|
+
this.visible = false;
|
|
5889
|
+
this.floatButtonSelected = false;
|
|
5890
|
+
this.overviewSelected = false;
|
|
5891
|
+
this.editArtikelText = false;
|
|
5892
|
+
this.collection = [
|
|
5893
|
+
{ id: 1, name: "Standaardtekst 1" },
|
|
5894
|
+
{ id: 2, name: "Standaardtekst 1" },
|
|
5895
|
+
{ id: 3, name: "Standaardtekst 1" },
|
|
5896
|
+
{ id: 4, name: "Standaardtekst 1" },
|
|
5897
|
+
{ id: 5, name: "Standaardtekst 1" }
|
|
5898
|
+
];
|
|
5899
|
+
this.articleTexts = [
|
|
5900
|
+
{ title: "title 1", description: "Omschrijving 1" },
|
|
5901
|
+
{ title: "title 2", description: "Omschrijving 2" },
|
|
5902
|
+
{ title: "title 3", description: "Omschrijving 3" },
|
|
5903
|
+
{ title: "title 4", description: "Omschrijving 4" },
|
|
5904
|
+
{ title: "title 5", description: "Omschrijving 5" },
|
|
5905
|
+
];
|
|
5906
|
+
this.fields = { text: "name", value: "id" };
|
|
5907
|
+
}
|
|
5908
|
+
onOkClick() {
|
|
5909
|
+
this.hide();
|
|
5910
|
+
}
|
|
5911
|
+
onPopupClose() {
|
|
5912
|
+
this.hide();
|
|
5913
|
+
this.hideOverview();
|
|
5914
|
+
this.hideEditArtikelText();
|
|
5915
|
+
}
|
|
5916
|
+
hide() {
|
|
5917
|
+
// TODO: throw hide event
|
|
5918
|
+
this.visible = false;
|
|
5919
|
+
}
|
|
5920
|
+
onOverview() {
|
|
5921
|
+
this.overviewSelected = true;
|
|
5922
|
+
}
|
|
5923
|
+
onOkOverviewClick() {
|
|
5924
|
+
this.hideOverview();
|
|
5925
|
+
}
|
|
5926
|
+
hideOverview() {
|
|
5927
|
+
this.overviewSelected = false;
|
|
5928
|
+
}
|
|
5929
|
+
onDetailLinkClick(bo) {
|
|
5930
|
+
this.editArtikelText = true;
|
|
5931
|
+
}
|
|
5932
|
+
hideEditArtikelText() {
|
|
5933
|
+
this.editArtikelText = false;
|
|
5934
|
+
}
|
|
5935
|
+
onOkEditArtikelTextClick() {
|
|
5936
|
+
this.editArtikelText = false;
|
|
5937
|
+
}
|
|
5938
|
+
}
|
|
5939
|
+
TransactionArticleTextComponent.decorators = [
|
|
5940
|
+
{ type: Component, args: [{
|
|
5941
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
5942
|
+
selector: "transaction-article-text",
|
|
5943
|
+
template: `
|
|
5944
|
+
<co-dialog [visible]="visible" (close)="onPopupClose()">
|
|
5945
|
+
<ng-container header>{{ subHeader }}</ng-container>
|
|
5946
|
+
<ng-container content>
|
|
5947
|
+
<div class="tags-join-content" fxLayout fxLayoutGap="10px">
|
|
5948
|
+
<div class="column-separator">
|
|
5949
|
+
<co-input-text placeholder="Titel"></co-input-text>
|
|
5950
|
+
<!-- <ejs-richtexteditor-->
|
|
5951
|
+
<!-- #rte-->
|
|
5952
|
+
<!-- id="Rte"-->
|
|
5953
|
+
<!-- >-->
|
|
5954
|
+
<!-- </ejs-richtexteditor>-->
|
|
5955
|
+
</div>
|
|
5956
|
+
<div style="margin-left:5px;">
|
|
5957
|
+
<div style="margin-top:16px;">
|
|
5958
|
+
<ejs-dropdownlist
|
|
5959
|
+
[dataSource]="collection"
|
|
5960
|
+
[fields]="fields"
|
|
5961
|
+
placeholder="Standaardteksten"
|
|
5962
|
+
></ejs-dropdownlist>
|
|
5963
|
+
|
|
5964
|
+
</div>
|
|
5965
|
+
<div style="margin-top:20px;">
|
|
5966
|
+
<co-input-checkbox
|
|
5967
|
+
label="Artikelgebonden tekst"
|
|
5968
|
+
name="articleBoundText">
|
|
5969
|
+
</co-input-checkbox>
|
|
5970
|
+
</div>
|
|
5971
|
+
<div style="margin-top:20px;">
|
|
5972
|
+
<label>Bestemd voor documenten</label>
|
|
5973
|
+
<ejs-chiplist id="chip-default">
|
|
5974
|
+
<e-chips>
|
|
5975
|
+
<e-chip text="Apple" cssClass="e-primary"></e-chip>
|
|
5976
|
+
<e-chip text="Microsoft" cssClass="e-info"></e-chip>
|
|
5977
|
+
<e-chip text="Google" cssClass="e-success"></e-chip>
|
|
5978
|
+
<e-chip text="Tesla" cssClass="e-warning"></e-chip>
|
|
5979
|
+
<e-chip text="Intel" cssClass="e-danger"></e-chip>
|
|
5980
|
+
</e-chips>
|
|
5981
|
+
</ejs-chiplist>
|
|
5982
|
+
</div>
|
|
5983
|
+
</div>
|
|
5984
|
+
</div>
|
|
5985
|
+
</ng-container>
|
|
5986
|
+
<ng-container footer>
|
|
5987
|
+
<div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
|
|
5988
|
+
<co-button label="OK" (click)="onOkClick()"></co-button>
|
|
5989
|
+
<co-button label="CANCEL" (click)="hide()"></co-button>
|
|
5990
|
+
<co-button label="OVERVIEW" (click)="onOverview()"></co-button>
|
|
5991
|
+
<!-- <co-button label="TEST" (click)="onTest()"></co-button>-->
|
|
5992
|
+
</div>
|
|
5993
|
+
</ng-container>
|
|
5994
|
+
</co-dialog>
|
|
5995
|
+
|
|
5996
|
+
<co-dialog [visible]="overviewSelected" (close)="hideOverview()">
|
|
5997
|
+
<ng-container header>Artikelgebonden teksten {{ subHeader }}</ng-container>
|
|
5998
|
+
<ng-container content>
|
|
5999
|
+
<div class="tags-join-content" fxLayout fxLayoutGap="10px">
|
|
6000
|
+
<div class="column-separator" style="width:75%">
|
|
6001
|
+
<!-- <grid [data]="articleTexts" detailLink (detailLinkClick)="onDetailLinkClick($event)">-->
|
|
6002
|
+
<!-- <grid-column key="title" header="TITLE" width="100px;"></grid-column>-->
|
|
6003
|
+
<!-- <grid-column key="description" header="DESCRIPTION" width="200px"></grid-column>-->
|
|
6004
|
+
<!-- </grid>-->
|
|
6005
|
+
</div>
|
|
6006
|
+
<div style="margin-left:5px;">
|
|
6007
|
+
<div style="margin-top:20px;">
|
|
6008
|
+
|
|
6009
|
+
<co-input-checkbox
|
|
6010
|
+
label="Artikelgebonden tekst"
|
|
6011
|
+
name="articleBoundText"
|
|
6012
|
+
value="true"
|
|
6013
|
+
></co-input-checkbox>
|
|
6014
|
+
</div>
|
|
6015
|
+
<div style="margin-top:20px;">
|
|
6016
|
+
<label>Bestemd voor documenten</label>
|
|
6017
|
+
<ejs-chiplist id="chip-default">
|
|
6018
|
+
<e-chips>
|
|
6019
|
+
<e-chip text="Apple" cssClass="e-primary"></e-chip>
|
|
6020
|
+
<e-chip text="Microsoft" cssClass="e-info"></e-chip>
|
|
6021
|
+
<e-chip text="Google" cssClass="e-success"></e-chip>
|
|
6022
|
+
<e-chip text="Tesla" cssClass="e-warning"></e-chip>
|
|
6023
|
+
<e-chip text="Intel" cssClass="e-danger"></e-chip>
|
|
6024
|
+
</e-chips>
|
|
6025
|
+
</ejs-chiplist>
|
|
6026
|
+
</div>
|
|
6027
|
+
</div>
|
|
6028
|
+
</div>
|
|
6029
|
+
</ng-container>
|
|
6030
|
+
<ng-container footer>
|
|
6031
|
+
<div class="footer" fxLayout fxPosition="row" fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
|
|
6032
|
+
<co-button label="OK" (click)="onOkOverviewClick()"></co-button>
|
|
6033
|
+
<co-button label="CANCEL" (click)="hideOverview()"></co-button>
|
|
6034
|
+
</div>
|
|
6035
|
+
</ng-container>
|
|
6036
|
+
</co-dialog>
|
|
6037
|
+
|
|
6038
|
+
<co-dialog [visible]="editArtikelText" (close)="hideEditArtikelText()">
|
|
6039
|
+
<ng-container header>{{ subHeader }}</ng-container>
|
|
6040
|
+
<ng-container content>
|
|
6041
|
+
<div class="tags-join-content" fxLayout fxLayoutGap="10px">
|
|
6042
|
+
<div class="column-separator">
|
|
6043
|
+
<co-input-text placeholder="Titel"></co-input-text>
|
|
6044
|
+
<!-- <co-text-editor-->
|
|
6045
|
+
<!-- label="Artikeltekst"-->
|
|
6046
|
+
<!-- ></co-text-editor>-->
|
|
6047
|
+
</div>
|
|
6048
|
+
</div>
|
|
6049
|
+
</ng-container>
|
|
6050
|
+
<ng-container footer>
|
|
6051
|
+
<div class="footer" fxLayout fxLayoutAlign="center center" fxLayoutGap="10px" style="margin-top:30px;">
|
|
6052
|
+
<co-button label="OK" (click)="onOkEditArtikelTextClick()"></co-button>
|
|
6053
|
+
<co-button label="CANCEL" (click)="hideEditArtikelText()"></co-button>
|
|
6054
|
+
</div>
|
|
6055
|
+
</ng-container>
|
|
6056
|
+
</co-dialog>
|
|
6057
|
+
`,
|
|
6058
|
+
styles: [""]
|
|
6059
|
+
},] }
|
|
6060
|
+
];
|
|
6061
|
+
TransactionArticleTextComponent.ctorParameters = () => [
|
|
6062
|
+
{ type: TransactionService }
|
|
6063
|
+
];
|
|
6064
|
+
TransactionArticleTextComponent.propDecorators = {
|
|
6065
|
+
subHeader: [{ type: Input }]
|
|
6066
|
+
};
|
|
6067
|
+
|
|
6068
|
+
class TransactionManagerComponent extends TransactionBaseComponent {
|
|
6069
|
+
constructor(service, transactionEvents, promptService, _dictionaryService) {
|
|
6070
|
+
super(service);
|
|
6071
|
+
this.service = service;
|
|
6072
|
+
this.transactionEvents = transactionEvents;
|
|
6073
|
+
this.promptService = promptService;
|
|
6074
|
+
this._dictionaryService = _dictionaryService;
|
|
6075
|
+
this.linesChanged = new EventEmitter();
|
|
6076
|
+
this.articleAdded = new EventEmitter();
|
|
6077
|
+
this.columns = [];
|
|
6078
|
+
this._inOutCollection = [];
|
|
6079
|
+
this._showCharacteristic = false;
|
|
6080
|
+
this._subs = [];
|
|
6081
|
+
this._subs.push(this.service.transactionLoaded.subscribe((transactionInfoResponse) => {
|
|
6082
|
+
if (transactionInfoResponse.isSuccess) {
|
|
6083
|
+
this.transaction = transactionInfoResponse;
|
|
6084
|
+
}
|
|
6085
|
+
}));
|
|
6086
|
+
}
|
|
6087
|
+
get amountOfLines() {
|
|
6088
|
+
return NumberUtils.NrOrDefault(this.service.articleAmount, 0);
|
|
6089
|
+
}
|
|
6090
|
+
get showCharacteristicDialog() {
|
|
6091
|
+
return this._showCharacteristic;
|
|
6092
|
+
}
|
|
6093
|
+
set showCharacteristicDialog(value) {
|
|
6094
|
+
this._showCharacteristic = value;
|
|
6095
|
+
}
|
|
6096
|
+
ngOnDestroy() {
|
|
6097
|
+
this._subs.forEach(sub => sub.unsubscribe());
|
|
6098
|
+
}
|
|
6099
|
+
addArticleLine(transactionUuid, sku, amount, lineNr, beforeOrAfter) {
|
|
6100
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6101
|
+
const goodId = yield this.service.getGoodIdFromArticleNr(sku);
|
|
6102
|
+
if (goodId) {
|
|
6103
|
+
yield this._loadArticle(goodId);
|
|
6104
|
+
yield this._handleAddArticleLineAt(amount, lineNr, beforeOrAfter);
|
|
6105
|
+
}
|
|
6106
|
+
else {
|
|
6107
|
+
this.promptService.showError(this._dictionaryService.get("ARTICLE_UNKNOWN"));
|
|
6108
|
+
}
|
|
6109
|
+
});
|
|
6110
|
+
}
|
|
6111
|
+
changeLineSequence(fromIndex, toIndex) {
|
|
6112
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6113
|
+
let fromLine = this._getTransactionLineInfoByIndex(fromIndex);
|
|
6114
|
+
let toLine = this._getTransactionLineInfoByIndex(toIndex);
|
|
6115
|
+
let aboveLineNr;
|
|
6116
|
+
let belowLineNr;
|
|
6117
|
+
if (fromIndex > toIndex) {
|
|
6118
|
+
aboveLineNr = toLine.lineNr;
|
|
6119
|
+
}
|
|
6120
|
+
else {
|
|
6121
|
+
belowLineNr = toLine.lineNr;
|
|
6122
|
+
}
|
|
6123
|
+
yield this.service.changeLineSequence(fromLine.uuid, aboveLineNr, belowLineNr, false)
|
|
6124
|
+
.then((value) => {
|
|
6125
|
+
this.handleLineOperationStatus(value);
|
|
6126
|
+
}, (error) => this.promptService.showError(error));
|
|
6127
|
+
});
|
|
6128
|
+
}
|
|
6129
|
+
showStockManager(line) {
|
|
6130
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6131
|
+
this.warehouse.selectedWarehouseNr = line.warehouseNumber;
|
|
6132
|
+
this.warehouse.amount = line.amount;
|
|
6133
|
+
this.warehouse.commissionCode = line.commissionCode;
|
|
6134
|
+
this.warehouse.message = this.currentOperationStatus.pendingReason;
|
|
6135
|
+
this.warehouse.show(line.articleNumber);
|
|
6136
|
+
});
|
|
6137
|
+
}
|
|
6138
|
+
warehouseOkClick() {
|
|
6139
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6140
|
+
if (this.warehouse.commissionCode !== undefined) {
|
|
6141
|
+
this.currentReason.commissionCode = this.warehouse.commissionCode;
|
|
6142
|
+
}
|
|
6143
|
+
if (this.warehouse.amount !== undefined) {
|
|
6144
|
+
this.currentReason.quantity = this.warehouse.amount;
|
|
6145
|
+
}
|
|
6146
|
+
if (this.warehouse.selectedWarehouseNr !== undefined) {
|
|
6147
|
+
this.currentReason.warehouseNr = this.warehouse.selectedWarehouseNr;
|
|
6148
|
+
}
|
|
6149
|
+
if (this.currentReason) {
|
|
6150
|
+
yield this.service.resolvePendingLineReason(this.currentReason, false)
|
|
6151
|
+
.then((value) => {
|
|
6152
|
+
this.handleLineOperationStatus(value);
|
|
6153
|
+
});
|
|
6154
|
+
}
|
|
6155
|
+
});
|
|
6156
|
+
}
|
|
6157
|
+
warehouseCancelClick() {
|
|
6158
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6159
|
+
if (this.currentReason) {
|
|
6160
|
+
yield this._cancelArticle(this.currentReason.lineUuid);
|
|
6161
|
+
}
|
|
6162
|
+
});
|
|
6163
|
+
}
|
|
6164
|
+
handleCharacteristicAnswerOkClick(answer) {
|
|
6165
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6166
|
+
this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
|
|
6167
|
+
this.currentReason.textualUserInput = answer;
|
|
6168
|
+
yield this.service.resolvePendingLineReason(this.currentReason, false)
|
|
6169
|
+
.then((value) => {
|
|
6170
|
+
this.handleLineOperationStatus(value);
|
|
6171
|
+
});
|
|
6172
|
+
});
|
|
6173
|
+
}
|
|
6174
|
+
_handleAddArticle(amount = 1) {
|
|
6175
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6176
|
+
yield this.service.addTransactionLine(TransactionLineType.ArticleLine, this.newArticleNr, amount, this.newArticle.standardWareHouse, this.newArticle.commissionCode, false, 0, 0, false)
|
|
6177
|
+
.then((value) => {
|
|
6178
|
+
this.handleLineOperationStatus(value);
|
|
6179
|
+
}, (error) => this.promptService.showError(error));
|
|
6180
|
+
});
|
|
6181
|
+
}
|
|
6182
|
+
_handleAddArticleLineAt(amount, lineNr, beforeOrAfter) {
|
|
6183
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6184
|
+
yield this.service.addArticleToTransaction(this.transactionInfo.uuid, this.newArticleNr, amount, this.newArticle.standardWareHouse, this.newArticle.commissionCode, false, beforeOrAfter === PositionGridRow.Before ? lineNr : undefined, beforeOrAfter === PositionGridRow.After ? lineNr : undefined)
|
|
6185
|
+
.then((value) => {
|
|
6186
|
+
this.lineOperationStatuses = value.lineOperationStatuses;
|
|
6187
|
+
this.handleLineOperationStatus(value);
|
|
6188
|
+
}, (error) => this.promptService.showError(error));
|
|
6189
|
+
});
|
|
6190
|
+
}
|
|
6191
|
+
_getWareHouseNoFromArticle() {
|
|
6192
|
+
if (this.newArticle !== undefined && this.newArticle.stockLocations !== undefined && this.newArticle.stockLocations.length) {
|
|
6193
|
+
return this.newArticle.stockLocations[0].warehouseNr;
|
|
6194
|
+
}
|
|
6195
|
+
return 0;
|
|
6196
|
+
}
|
|
6197
|
+
isLineOperationStatus(lineOperationStatuses) {
|
|
6198
|
+
this.currentOperationStatus = this.service.pendingLineOperationStatus(lineOperationStatuses);
|
|
6199
|
+
if (this.currentOperationStatus !== undefined) {
|
|
6200
|
+
return true;
|
|
6201
|
+
}
|
|
6202
|
+
return false;
|
|
6203
|
+
}
|
|
6204
|
+
_confirmAction() {
|
|
6205
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6206
|
+
this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
|
|
6207
|
+
const pendingReasonText = yield this._getPendingReasonText(this.currentOperationStatus.pendingReason);
|
|
6208
|
+
this.currentReason.confirmation = yield this.promptService.showYesNo(pendingReasonText, " ");
|
|
6209
|
+
yield this.service.resolvePendingLineReason(this.currentReason, false)
|
|
6210
|
+
.then((value) => {
|
|
6211
|
+
this.handleLineOperationStatus(value);
|
|
6212
|
+
});
|
|
6213
|
+
});
|
|
6214
|
+
}
|
|
6215
|
+
_showInformation() {
|
|
6216
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6217
|
+
this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
|
|
6218
|
+
const pendingReasonText = yield this._getPendingReasonText(this.currentOperationStatus.pendingReason);
|
|
6219
|
+
yield this.promptService.showOkModal(pendingReasonText, " ");
|
|
6220
|
+
yield this.service.resolvePendingLineReason(this.currentReason, false)
|
|
6221
|
+
.then((value) => {
|
|
6222
|
+
this.handleLineOperationStatus(value);
|
|
6223
|
+
});
|
|
6224
|
+
});
|
|
6225
|
+
}
|
|
6226
|
+
_getPendingReasonText(pendingReason) {
|
|
6227
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6228
|
+
if (pendingReason === "ARTICLE_IS_DISCONTINUED_DO_YOU_WANT_TO_CONTINUE_PLEASE_CONFIRM") {
|
|
6229
|
+
return this._dictionaryService.get("ARTICLE_IN_OUT_COLLECTION").replace("|~", yield this.getInOutCollectionOfArticle());
|
|
6230
|
+
}
|
|
6231
|
+
return this._dictionaryService.get(pendingReason);
|
|
6232
|
+
});
|
|
6233
|
+
}
|
|
6234
|
+
getInOutCollectionOfArticle() {
|
|
6235
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6236
|
+
if (!this._inOutCollection.length) {
|
|
6237
|
+
this._inOutCollection = yield this.service.getInOutCollection("NL");
|
|
6238
|
+
}
|
|
6239
|
+
const domainValue = this._inOutCollection.find(element => element.code === this.newArticle.inOutCollection);
|
|
6240
|
+
if (domainValue) {
|
|
6241
|
+
return domainValue.description;
|
|
6242
|
+
}
|
|
6243
|
+
return "";
|
|
6244
|
+
});
|
|
6245
|
+
}
|
|
6246
|
+
handleLineOperationStatus(lineOperationResponse) {
|
|
6247
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6248
|
+
if (this.isLineOperationStatus(lineOperationResponse.lineOperationStatuses)) {
|
|
6249
|
+
this.transaction = lineOperationResponse;
|
|
6250
|
+
this.articleAdded.emit(this.transaction);
|
|
6251
|
+
yield this._handlePendingLine(this.currentOperationStatus.uuid).then();
|
|
6252
|
+
}
|
|
6253
|
+
else {
|
|
6254
|
+
yield this._saveTransaction();
|
|
6255
|
+
}
|
|
6256
|
+
});
|
|
6257
|
+
}
|
|
6258
|
+
_handlePendingLine(lineUuid) {
|
|
6259
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6260
|
+
this.currentReason = new ResolvePendingLineReasonRequest(this.currentOperationStatus.uuid, this.currentOperationStatus.pendingReason, this.currentOperationStatus.pendingReasonType);
|
|
6261
|
+
this.currentPendingLine = this.transactionLines.find(l => l.uuid === lineUuid);
|
|
6262
|
+
switch (this.currentOperationStatus.pendingReasonType) {
|
|
6263
|
+
case PendingReasonType.ABORTED:
|
|
6264
|
+
case PendingReasonType.CANCELLED:
|
|
6265
|
+
yield this._cancelArticle(this.currentPendingLine.uuid);
|
|
6266
|
+
break;
|
|
6267
|
+
case PendingReasonType.CONFIRMATION_NEEDED:
|
|
6268
|
+
yield this._confirmAction();
|
|
6269
|
+
break;
|
|
6270
|
+
case PendingReasonType.INVALID_LOGISTICS:
|
|
6271
|
+
yield this.showStockManager(this.currentPendingLine);
|
|
6272
|
+
break;
|
|
6273
|
+
case PendingReasonType.NON_CRITICAL_DISCONTINUATION:
|
|
6274
|
+
yield this._showInformation();
|
|
6275
|
+
break;
|
|
6276
|
+
case PendingReasonType.CHARACTERISTICS_ANSWER_NEEDED:
|
|
6277
|
+
this.CharacteristicsAnswerNeeded();
|
|
6278
|
+
break;
|
|
6279
|
+
case PendingReasonType.NONE:
|
|
6280
|
+
default:
|
|
6281
|
+
this.currentReason = undefined;
|
|
6282
|
+
this.currentPendingLine = undefined;
|
|
6283
|
+
break;
|
|
6284
|
+
}
|
|
6285
|
+
});
|
|
6286
|
+
}
|
|
6287
|
+
_saveTransaction() {
|
|
6288
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6289
|
+
if (this.transactionInfo) {
|
|
6290
|
+
const success = yield this.service.saveTransactionByUuid(this.transactionInfo.uuid);
|
|
6291
|
+
if (!success) {
|
|
6292
|
+
this.promptService.showError("Transaction could not be saved!");
|
|
6293
|
+
}
|
|
6294
|
+
}
|
|
6295
|
+
});
|
|
6296
|
+
}
|
|
6297
|
+
_loadArticle(goodId) {
|
|
6298
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6299
|
+
this.newArticle = yield this.service.getArticleFullObject(goodId);
|
|
6300
|
+
this.newArticleNr = this.newArticle.articleNr;
|
|
6301
|
+
});
|
|
6302
|
+
}
|
|
6303
|
+
addEmailAddressToTransaction(emailAddress) {
|
|
6304
|
+
this.service.emailAddress = emailAddress;
|
|
6305
|
+
}
|
|
6306
|
+
CharacteristicsAnswerNeeded() {
|
|
6307
|
+
this.characteristicAnswer.question = this.currentOperationStatus.characteristic.question;
|
|
6308
|
+
this.characteristicAnswer.title = this.newArticle.description;
|
|
6309
|
+
this.characteristicAnswer.value = this.currentOperationStatus.characteristic.value;
|
|
6310
|
+
this.characteristicAnswer.characteristics = this.currentOperationStatus.characteristic.transactionLineCharacteristicChoices;
|
|
6311
|
+
setTimeout(() => {
|
|
6312
|
+
this.characteristicAnswer.open();
|
|
6313
|
+
// eslint-disable-next-line no-magic-numbers
|
|
6314
|
+
}, 1000);
|
|
6315
|
+
}
|
|
6316
|
+
_getTransactionLineInfoByIndex(index) {
|
|
6317
|
+
if (index >= 0 && index < this.transactionLines.length) {
|
|
6318
|
+
return this.service.currentLines[index];
|
|
6319
|
+
}
|
|
6320
|
+
}
|
|
6321
|
+
_cancelArticle(uuid) {
|
|
6322
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6323
|
+
yield this.service.cancelAddTransactionLine(uuid, false)
|
|
6324
|
+
.then((response) => {
|
|
6325
|
+
this.transaction = response;
|
|
6326
|
+
this.articleAdded.emit(response);
|
|
6327
|
+
});
|
|
6328
|
+
});
|
|
6329
|
+
}
|
|
6330
|
+
}
|
|
6331
|
+
TransactionManagerComponent.decorators = [
|
|
6332
|
+
{ type: Component, args: [{
|
|
6333
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
6334
|
+
selector: "transaction-manager",
|
|
6335
|
+
template: `
|
|
6336
|
+
<warehouse #warehouse
|
|
6337
|
+
(okClick)="warehouseOkClick()"
|
|
6338
|
+
(cancelClick)="warehouseCancelClick()"
|
|
6339
|
+
></warehouse>
|
|
6340
|
+
<characteristic-answer
|
|
6341
|
+
#characteristicAnswer
|
|
6342
|
+
(okClick)="handleCharacteristicAnswerOkClick($event)"
|
|
6343
|
+
></characteristic-answer>
|
|
6344
|
+
`,
|
|
6345
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center,.warehouse-line-container{display:flex}.flex-center,.warehouse-line-container{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}::ng-deep #warehouseDialog ::ng-deep .form-content .message-field,.commission-fields{margin-left:11px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}::ng-deep #warehouseDialog{align-items:center;max-height:100%}::ng-deep #warehouseDialog ::ng-deep co-form{height:100%;width:500px}::ng-deep #warehouseDialog ::ng-deep .form-content{height:calc(100% - 80px);width:100%}::ng-deep #warehouseDialog ::ng-deep .form-content .message-field{height:20px;word-wrap:break-word;white-space:normal}co-button:not(:last-child){margin-right:10px}.commission-fields{justify-content:space-between;margin:10px 0}.warehouse-description-item{width:15rem}.warehouse-nr-item{width:5rem}co-input-number-picker co-button{max-width:20px}\n"]
|
|
6346
|
+
},] }
|
|
6347
|
+
];
|
|
6348
|
+
TransactionManagerComponent.ctorParameters = () => [
|
|
6349
|
+
{ type: TransactionService },
|
|
6350
|
+
{ type: TransactionEventService },
|
|
6351
|
+
{ type: PromptService },
|
|
6352
|
+
{ type: DictionaryService }
|
|
6353
|
+
];
|
|
6354
|
+
TransactionManagerComponent.propDecorators = {
|
|
6355
|
+
warehouse: [{ type: ViewChild, args: ["warehouse",] }],
|
|
6356
|
+
characteristicAnswer: [{ type: ViewChild, args: ["characteristicAnswer",] }],
|
|
6357
|
+
linesChanged: [{ type: Output }],
|
|
6358
|
+
articleAdded: [{ type: Output }]
|
|
6359
|
+
};
|
|
6360
|
+
|
|
6361
|
+
class ServiceOrderComponent extends TransactionBaseComponent {
|
|
6362
|
+
constructor(service, transactionEvents, iconCacheService, _promptService) {
|
|
6363
|
+
super(service);
|
|
6364
|
+
this.service = service;
|
|
6365
|
+
this.transactionEvents = transactionEvents;
|
|
6366
|
+
this.iconCacheService = iconCacheService;
|
|
6367
|
+
this._promptService = _promptService;
|
|
6368
|
+
this.iconThickLines = CoreComponentsIcon.ThickLines;
|
|
6369
|
+
this.iconThinLines = CoreComponentsIcon.ThinLines;
|
|
6370
|
+
this.iconOrder = CoreComponentsIcon.Order;
|
|
6371
|
+
this.viewModes = ContentViewMode;
|
|
6372
|
+
this.canPlanDelivery = false;
|
|
6373
|
+
this.showTotals = true;
|
|
6374
|
+
this.contextMenuItems = [];
|
|
6375
|
+
this.isRouteOptimizationConfigured = false;
|
|
6376
|
+
this.activeViewMode = ContentViewMode.List;
|
|
6377
|
+
this.floatButtonSelected = false;
|
|
6378
|
+
this.newArticleNr = "";
|
|
6379
|
+
this._subs = [];
|
|
6380
|
+
}
|
|
6381
|
+
get inListView() {
|
|
6382
|
+
return this.activeViewMode === ContentViewMode.List;
|
|
6383
|
+
}
|
|
6384
|
+
get inGridView() {
|
|
6385
|
+
return this.activeViewMode === ContentViewMode.Grid;
|
|
6386
|
+
}
|
|
6387
|
+
ngOnInit() {
|
|
6388
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6389
|
+
this._subs.push(this.service.transactionLoaded.subscribe((transactionInfoResponse) => {
|
|
6390
|
+
if (transactionInfoResponse.isSuccess) {
|
|
6391
|
+
this.transaction = transactionInfoResponse;
|
|
6392
|
+
if (this.transaction && this.transaction.transactionInfo) {
|
|
6393
|
+
this.customerId = Number(this.transaction.transactionInfo.relation.relationNr);
|
|
6394
|
+
this.relationId = this.transaction.transactionInfo.relation.relationId;
|
|
6395
|
+
}
|
|
6396
|
+
}
|
|
6397
|
+
}), this.transactionEvents.rightSidebarClose.subscribe(() => {
|
|
6398
|
+
this.moveFloatingButtonToRight();
|
|
6399
|
+
}), this.transactionEvents.transactionLineClicked.subscribe((transactionLine) => {
|
|
6400
|
+
this._selectedTransLine = transactionLine;
|
|
6401
|
+
this.moveFloatingButtonToLeft();
|
|
6402
|
+
}), this.transactionEvents.scrollContent.subscribe((event) => {
|
|
6403
|
+
this.hideOrderTotals(event);
|
|
6404
|
+
}));
|
|
6405
|
+
});
|
|
6406
|
+
}
|
|
6407
|
+
ngAfterViewInit() {
|
|
6408
|
+
this._subs.push(this._transactionManager.articleAdded.subscribe((transactionInfoResponse) => {
|
|
6409
|
+
this.transaction = transactionInfoResponse;
|
|
6410
|
+
}));
|
|
6411
|
+
}
|
|
6412
|
+
ngOnDestroy() {
|
|
6413
|
+
this._subs.forEach(sub => sub.unsubscribe());
|
|
6414
|
+
}
|
|
6415
|
+
animationFn() {
|
|
6416
|
+
return trigger("showPopup", [
|
|
6417
|
+
state("void", style({ transform: "translate3d(0, 0, 0)" })),
|
|
6418
|
+
state("*", style({ transform: "translate3d(100%, 0, 0)" })),
|
|
6419
|
+
transition("void <=> *", [
|
|
6420
|
+
animate("200ms ease-in-out")
|
|
6421
|
+
])
|
|
6422
|
+
]);
|
|
6423
|
+
}
|
|
6424
|
+
trackByFn(index, line) {
|
|
6425
|
+
return line.lineNr;
|
|
6426
|
+
}
|
|
6427
|
+
handleRowsSelected(rows) {
|
|
6428
|
+
this._selectedTransLine = rows.find(x => x !== undefined);
|
|
6429
|
+
}
|
|
6430
|
+
handlePlanningRequest(event) {
|
|
6431
|
+
// TODO: handlePlanningRequest... from new Planning package
|
|
6432
|
+
}
|
|
6433
|
+
moveFloatingButtonToLeft() {
|
|
6434
|
+
if (this.floatButtonRightPosition === ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITHOUT_SIDEBAR) {
|
|
6435
|
+
this.floatButtonRightPosition = ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITH_SIDEBAR;
|
|
6436
|
+
}
|
|
6437
|
+
}
|
|
6438
|
+
moveFloatingButtonToRight() {
|
|
6439
|
+
if (this.floatButtonRightPosition === ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITH_SIDEBAR) {
|
|
6440
|
+
this.floatButtonRightPosition = ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITHOUT_SIDEBAR;
|
|
6441
|
+
}
|
|
6442
|
+
}
|
|
6443
|
+
onOkClick() {
|
|
6444
|
+
this.hide();
|
|
6445
|
+
}
|
|
6446
|
+
hide() {
|
|
6447
|
+
this.floatButtonSelected = false;
|
|
6448
|
+
}
|
|
6449
|
+
floatButtonClick() {
|
|
6450
|
+
this.floatButtonSelected = true;
|
|
6451
|
+
this._transactionArticleTextComponent.visible = this.floatButtonSelected;
|
|
6452
|
+
}
|
|
6453
|
+
get subHeader() {
|
|
6454
|
+
if (this._selectedTransLine) {
|
|
6455
|
+
return this._selectedTransLine.goodDescription;
|
|
6456
|
+
}
|
|
6457
|
+
return "";
|
|
6458
|
+
}
|
|
6459
|
+
hideOrderTotals(event) {
|
|
6460
|
+
this.showTotals = false;
|
|
6461
|
+
}
|
|
6462
|
+
addArticleLine(event) {
|
|
6463
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6464
|
+
if (event.code === "Enter") {
|
|
6465
|
+
if (this.newArticleNr && this.newArticleNr !== "") {
|
|
6466
|
+
yield this._transactionManager.addArticleLine(this.transactionInfo.uuid, this.newArticleNr, 1, 0, PositionGridRow.After);
|
|
6467
|
+
}
|
|
6468
|
+
}
|
|
6469
|
+
});
|
|
6470
|
+
}
|
|
6471
|
+
}
|
|
6472
|
+
ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITHOUT_SIDEBAR = 50;
|
|
6473
|
+
ServiceOrderComponent.FLOAT_BUTTON_RIGHT_POSITION_WITH_SIDEBAR = 350;
|
|
6474
|
+
ServiceOrderComponent.decorators = [
|
|
6475
|
+
{ type: Component, args: [{
|
|
6476
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
6477
|
+
selector: "service-order",
|
|
6478
|
+
template: `
|
|
6479
|
+
<transaction-manager></transaction-manager>
|
|
6480
|
+
<div id="transaction-general-tab" style="height:100%;">
|
|
6481
|
+
<transaction-header-block
|
|
6482
|
+
[relationId]="relationId"
|
|
6483
|
+
[transaction]="transaction"
|
|
6484
|
+
[canPlanDelivery]="canPlanDelivery"
|
|
6485
|
+
(planningRequestButtonClick)="handlePlanningRequest($event)"
|
|
6486
|
+
></transaction-header-block>
|
|
6487
|
+
<div *ngIf="!isService">
|
|
6488
|
+
<div style="display: flex; flex-direction: row; place-content: center">
|
|
6489
|
+
<co-input-text style="width: 200px;"
|
|
6490
|
+
[(model)]="newArticleNr"
|
|
6491
|
+
[placeholder]="'WHERE_ARE_YOU_LOOKING_FOR' | localize"
|
|
6492
|
+
[showClearButton]="true"
|
|
6493
|
+
(keypress)="addArticleLine($event)"
|
|
6494
|
+
></co-input-text>
|
|
6495
|
+
</div>
|
|
6496
|
+
<div class="transaction-view" fxLayout="row" fxLayoutGap="1px" fxLayoutAlign="flex-end">
|
|
6497
|
+
<div class="view-mode-buttons">
|
|
6498
|
+
<co-button [iconData]="iconCacheService.getIcon(iconThickLines)"
|
|
6499
|
+
[title]="'LIST_VIEW' | localize"
|
|
6500
|
+
(click)="this.activeViewMode = viewModes.List"
|
|
6501
|
+
class="triangle white"
|
|
6502
|
+
iconClass="medium light"></co-button>
|
|
6503
|
+
<co-button [iconData]="iconCacheService.getIcon(iconThinLines)"
|
|
6504
|
+
[title]="'GRID_VIEW' | localize"
|
|
6505
|
+
(click)="this.activeViewMode = viewModes.Grid"
|
|
6506
|
+
class="triangle white"
|
|
6507
|
+
iconClass="medium light"></co-button>
|
|
6508
|
+
</div>
|
|
6509
|
+
</div>
|
|
6510
|
+
<div *ngIf="this.activeViewMode === viewModes.List">
|
|
6511
|
+
<transaction-order-line-view *ngFor="let line of transactionLines; trackBy:trackByFn;"
|
|
6512
|
+
[line]="line"
|
|
6513
|
+
></transaction-order-line-view>
|
|
6514
|
+
</div>
|
|
6515
|
+
<div *ngIf="this.activeViewMode === viewModes.Grid">
|
|
6516
|
+
<transaction-order-lines [transaction]="transaction"></transaction-order-lines>
|
|
6517
|
+
</div>
|
|
6518
|
+
<div class="floating-icon-wrapper" [style.right.px]="floatButtonRightPosition">
|
|
6519
|
+
<icon [icon]="iconOrder"
|
|
6520
|
+
class="light"
|
|
6521
|
+
(click)="floatButtonClick()" id="floatingIcon"
|
|
6522
|
+
[style.right.px]="floatButtonRightPosition"></icon>
|
|
6523
|
+
</div>
|
|
6524
|
+
</div>
|
|
6525
|
+
<transaction-order-totals *ngIf="!isService"
|
|
6526
|
+
[ngClass]="showTotals ? 'transaction-totals-show' : 'transaction-totals-hide'"></transaction-order-totals>
|
|
6527
|
+
</div>
|
|
6528
|
+
|
|
6529
|
+
<transaction-article-text></transaction-article-text>
|
|
6530
|
+
`,
|
|
6531
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center,:host :host{display:flex}.flex-center{flex-direction:row}:host :host{flex-direction:column}.flex-center{align-items:center!important;justify-content:center!important}.transaction-view .view-mode-buttons{margin-left:11px}:host :host{width:100%}:host :host{overflow:hidden}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host :host{padding-bottom:60px}.page-wrapper :host{padding:20px;margin-bottom:60px}:host transaction-order-totals{display:flex;flex-direction:column;align-items:flex-end}:host .transaction-totals-show{padding:20px}:host .transaction-totals-hide{position:relative;bottom:0;right:0}::ng-deep #transaction_planning_agenda{top:160px!important;width:calc(100vw - 80px)!important}::ng-deep #transaction_planning_agenda .popup-card-title{padding:10px 20px;background:#74B77F;color:#fff}::ng-deep #transaction_planning_agenda .popup-card-title .header-wrapper{align-items:center!important}::ng-deep #transaction_planning_agenda .popup-card-title .separator{border-color:#fff!important}::ng-deep #transaction_planning_agenda .popup-card-title .header{font-size:15px;font-weight:normal}::ng-deep #transaction_planning_agenda .popup-card-title .sub-header{font-size:18px;color:#fff!important;font-weight:bold!important}::ng-deep #transaction_planning_agenda .popup-card-title button-select icon [fill]{fill:#fff}::ng-deep #transaction_planning_agenda .popup-card-content{overflow:hidden}@media only screen and (max-width: 599px){::ng-deep #transaction_planning_agenda{width:100vw!important}::ng-deep #transaction_planning_agenda .popup-card-content{padding:0}}.column-separator{padding-right:25px;border-right:1px solid #0000001c}.floating-icon-wrapper{position:fixed;bottom:50px;right:50px;display:flex;flex-shrink:0;align-items:center;justify-content:center;background:#475060;height:50px;width:50px;opacity:.5;transition:opacity .4s ease-in-out;border-radius:50%;overflow:hidden;box-shadow:0 0 6px #0009;-webkit-box-shadow:0px 0px 6px 0px rgba(0,0,0,.6);-moz-box-shadow:0px 0px 6px 0px rgba(0,0,0,.6);cursor:pointer}.floating-icon-wrapper:hover{opacity:1;transition:opacity .4s ease-in-out}.floating-icon-wrapper ::ng-deep icon{height:44px!important;width:44px!important;color:#fff!important;flex-shrink:0}.transaction-wrapper{padding:0 20px}.view-mode-buttons co-button{padding:0}.transaction-view{display:flex;margin-top:10px;justify-content:stretch}.transaction-view .view-mode-buttons{display:flex;flex-direction:row}.transaction-view .view-mode-buttons button-select ::ng-deep button-colijn{border-radius:0}.transaction-view .view-mode-buttons button-select:first-child{margin-right:5px}.transaction-view .view-mode-buttons button-select:first-child ::ng-deep button-colijn{border-radius:3px}.transaction-view .view-mode-buttons button-select:nth-child(2) ::ng-deep button-colijn{border-top-left-radius:3px;border-bottom-left-radius:3px}.transaction-view .view-mode-buttons button-select:last-child ::ng-deep button-colijn{border-top-right-radius:3px;border-bottom-right-radius:3px}\n"]
|
|
6532
|
+
},] }
|
|
6533
|
+
];
|
|
6534
|
+
ServiceOrderComponent.ctorParameters = () => [
|
|
6535
|
+
{ type: TransactionService },
|
|
6536
|
+
{ type: TransactionEventService },
|
|
6537
|
+
{ type: IconCacheService },
|
|
6538
|
+
{ type: PromptService }
|
|
6539
|
+
];
|
|
6540
|
+
ServiceOrderComponent.propDecorators = {
|
|
6541
|
+
_transactionArticleTextComponent: [{ type: ViewChild, args: [TransactionArticleTextComponent,] }],
|
|
6542
|
+
_transactionManager: [{ type: ViewChild, args: [TransactionManagerComponent,] }]
|
|
6543
|
+
};
|
|
6544
|
+
|
|
6545
|
+
class TransactionOrderTotalsComponent extends TransactionBaseComponent {
|
|
6546
|
+
constructor(service) {
|
|
6547
|
+
super(service);
|
|
6548
|
+
this.service = service;
|
|
6549
|
+
}
|
|
6550
|
+
}
|
|
6551
|
+
TransactionOrderTotalsComponent.decorators = [
|
|
6552
|
+
{ type: Component, args: [{
|
|
6553
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
6554
|
+
selector: "transaction-order-totals",
|
|
6555
|
+
template: `
|
|
6556
|
+
<div class="totals-wrapper">
|
|
6557
|
+
<div class="totals-item">
|
|
6558
|
+
<div class="totals-item-description" [textContent]="'SUBTOTAL' | localize"></div>
|
|
6559
|
+
<div class="totals-item-value" [textContent]="transactionTotal?.grossAmount | coCurrency | coCurrency"></div>
|
|
6560
|
+
</div>
|
|
6561
|
+
<div class="totals-item">
|
|
6562
|
+
<div class="totals-item-description" [textContent]="'VAT_AMOUNT' | localize"></div>
|
|
6563
|
+
<div class="totals-item-value" [textContent]="transactionTotal?.surchargeAmount | coCurrency"></div>
|
|
6564
|
+
</div>
|
|
6565
|
+
<div class="totals-item total">
|
|
6566
|
+
<div class="totals-item-description" [textContent]="'TRANSACTION_SUM_I' | localize"></div>
|
|
6567
|
+
<div class="totals-item-value" [textContent]="transactionTotal?.netAmount | coCurrency"></div>
|
|
6568
|
+
</div>
|
|
6569
|
+
</div>
|
|
6570
|
+
`,
|
|
6571
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host .totals-wrapper{width:310px;font-size:13px}:host .totals-item{display:flex;flex-direction:row;height:25px;align-items:center}:host .totals-item>div{text-align:end;width:50%}:host .totals-item.total{font-weight:bold;height:30px;border-top:1px solid #DCE4EA}\n"]
|
|
6572
|
+
},] }
|
|
6573
|
+
];
|
|
6574
|
+
TransactionOrderTotalsComponent.ctorParameters = () => [
|
|
6575
|
+
{ type: TransactionService }
|
|
6576
|
+
];
|
|
6577
|
+
|
|
6578
|
+
class TransactionOrderLineViewComponent {
|
|
6579
|
+
constructor(_service, _eventService) {
|
|
6580
|
+
this._service = _service;
|
|
6581
|
+
this._eventService = _eventService;
|
|
6582
|
+
this.stock = StockStatus.Low;
|
|
6583
|
+
}
|
|
6584
|
+
ngOnInit() {
|
|
6585
|
+
this._loadArticleImage();
|
|
6586
|
+
}
|
|
6587
|
+
_loadArticleImage() {
|
|
6588
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6589
|
+
if (this.line) {
|
|
6590
|
+
this.image = this.line ? yield this._service.retrieveLineImage(this.line) : undefined;
|
|
6591
|
+
}
|
|
6592
|
+
});
|
|
6593
|
+
}
|
|
6594
|
+
transactionLineClick(line) {
|
|
6595
|
+
this._eventService.transactionLineClicked.next(this.line);
|
|
6596
|
+
}
|
|
6597
|
+
}
|
|
6598
|
+
TransactionOrderLineViewComponent.decorators = [
|
|
6599
|
+
{ type: Component, args: [{
|
|
6600
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
6601
|
+
selector: "transaction-order-line-view",
|
|
6602
|
+
template: `
|
|
6603
|
+
<div class="transaction-order-line-r" fxFlex (click)="transactionLineClick(line)">
|
|
6604
|
+
<div fxLayout="row" class="full-width">
|
|
6605
|
+
<div fxLayout="column" class="transaction-order-line-description" fxLayoutGap="20px">
|
|
6606
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
6607
|
+
<span [textContent]="line.goodDescription" class="cart-line-description-main"></span>
|
|
6608
|
+
<span *ngIf="line.goodDescription && line.articleNumber">|</span>
|
|
6609
|
+
<span [textContent]="line.articleNumber" class="cart-line-description-artnr"></span>
|
|
6610
|
+
</div>
|
|
6611
|
+
<div>
|
|
6612
|
+
<span [innerHTML]="line.configurationReadable" class="cart-line-description-detail"></span>
|
|
6613
|
+
</div>
|
|
6614
|
+
</div>
|
|
6615
|
+
<div fxLayout="column" class="transaction-order-line-image">
|
|
6616
|
+
<image-display [model]="image"></image-display>
|
|
6617
|
+
</div>
|
|
6618
|
+
</div>
|
|
6619
|
+
<div fxLayout="row" class="transaction-order-line-right">
|
|
6620
|
+
<div fxLayout="column" class="transaction-order-line-stock">
|
|
6621
|
+
<span [textContent]="'STOCK' | localize" class="small-font"></span>
|
|
6622
|
+
<stock-status-indicator [model]="stock"></stock-status-indicator>
|
|
6623
|
+
<span [textContent]="'DELIVERY_TIME_PERIOD' | localize" class="small-font"></span>
|
|
6624
|
+
<span [textContent]="line.deliveryDate | deliveryTime"></span>
|
|
6625
|
+
</div>
|
|
6626
|
+
<div class="transaction-order-line-amount">
|
|
6627
|
+
<co-input-number-picker
|
|
6628
|
+
class="horizontal"
|
|
6629
|
+
[(model)]="line.amount" [min]="0" [buttonShowMode]="'always'"
|
|
6630
|
+
[readonly]="true"></co-input-number-picker>
|
|
6631
|
+
</div>
|
|
6632
|
+
<div class="transaction-order-line-totals">
|
|
6633
|
+
<span [textContent]="line.netLineTotal | coCurrency: true"></span>
|
|
6634
|
+
</div>
|
|
6635
|
+
</div>
|
|
6636
|
+
</div>
|
|
6637
|
+
`,
|
|
6638
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.transaction-order-line-r .transaction-order-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-top:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-bottom:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-left:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:block;padding:20px}:host ::ng-deep collapseable{width:100%!important}.horizontal{display:flex;flex-direction:row}.service-request-button-wrapper{display:flex;justify-content:center;margin-top:20px}.transaction-order-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.transaction-order-line-r{flex-direction:column}}.transaction-order-line-r .transaction-order-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center;padding-right:10px}.transaction-order-line-r .transaction-order-line-image image-display{width:6em;height:6em}.transaction-order-line-r .transaction-order-line-image ::ng-deep no-image-display{display:none}.transaction-order-line-r .transaction-order-line-description{display:flex;flex-direction:column;width:auto;max-width:355px;margin-left:10px}.transaction-order-line-r .transaction-order-line-description .cart-line-description-main{font-weight:bold}.transaction-order-line-r .transaction-order-line-right{justify-content:flex-end;align-items:center}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock{width:10em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{width:15em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals span{text-align:right}\n"]
|
|
6639
|
+
},] }
|
|
6640
|
+
];
|
|
6641
|
+
TransactionOrderLineViewComponent.ctorParameters = () => [
|
|
6642
|
+
{ type: TransactionService },
|
|
6643
|
+
{ type: TransactionEventService }
|
|
6644
|
+
];
|
|
6645
|
+
TransactionOrderLineViewComponent.propDecorators = {
|
|
6646
|
+
line: [{ type: Input }]
|
|
6647
|
+
};
|
|
6648
|
+
|
|
6649
|
+
class TransactionOrderLinesComponent extends TransactionBaseComponent {
|
|
6650
|
+
constructor(service, _eventService, _dictionaryService) {
|
|
6651
|
+
super(service);
|
|
6652
|
+
this.service = service;
|
|
6653
|
+
this._eventService = _eventService;
|
|
6654
|
+
this._dictionaryService = _dictionaryService;
|
|
6655
|
+
this.createServiceClick = new EventEmitter();
|
|
6656
|
+
this.nothingSelected = true;
|
|
6657
|
+
this.columns = [];
|
|
6658
|
+
this.columns.push({ field: "articleNumber", headerText: this._dictionaryService.get("ARTICLE_NR"), allowFiltering: false }, { field: "goodDescription", headerText: this._dictionaryService.get("DESCRIPTION") }, { field: "detailsAsString", headerText: this._dictionaryService.get("DETAILS") }, { field: "price", headerText: this._dictionaryService.get("PRICE") }, { field: "amount", headerText: this._dictionaryService.get("NUMBER") }, { field: "lineTotal", headerText: this._dictionaryService.get("SUBTOTAL") }, { field: "logisticState", headerText: this._dictionaryService.get("STATE") }, { field: "expectedDeliveryDate", headerText: this._dictionaryService.get("EXPECTED_DELIVERY_DATE") });
|
|
6659
|
+
}
|
|
6660
|
+
get pagingEnabled() {
|
|
6661
|
+
if (this.transactionLines) {
|
|
6662
|
+
return this.transactionLines.length >= TransactionOrderLinesComponent.MAX_TRANSACTION_LINES;
|
|
6663
|
+
}
|
|
6664
|
+
return false;
|
|
6665
|
+
}
|
|
6666
|
+
set selectedTransLine(value) {
|
|
6667
|
+
this._selectedTransLine = value;
|
|
6668
|
+
this.nothingSelected = this._selectedTransLine === null;
|
|
6669
|
+
}
|
|
6670
|
+
get selectedTransLine() {
|
|
6671
|
+
return this._selectedTransLine;
|
|
6672
|
+
}
|
|
6673
|
+
onRowClick(row) {
|
|
6674
|
+
this.selectedTransLine = row;
|
|
6675
|
+
this._eventService.transactionLineClicked.next(this.selectedTransLine);
|
|
6676
|
+
}
|
|
6677
|
+
onRowDeselect(event) {
|
|
6678
|
+
this.selectedTransLine = null;
|
|
6679
|
+
}
|
|
6680
|
+
// TODO: navragen wat de bedoeling is, zie originele source iOneJS
|
|
6681
|
+
newServiceRequestClick() {
|
|
6682
|
+
if (this.nothingSelected) {
|
|
6683
|
+
return;
|
|
6684
|
+
}
|
|
6685
|
+
this.createServiceClick.emit(this._selectedTransLine);
|
|
6686
|
+
}
|
|
6687
|
+
}
|
|
6688
|
+
TransactionOrderLinesComponent.MAX_TRANSACTION_LINES = 20;
|
|
6689
|
+
TransactionOrderLinesComponent.decorators = [
|
|
6690
|
+
{ type: Component, args: [{
|
|
6691
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
6692
|
+
selector: "transaction-order-lines",
|
|
6693
|
+
template: `
|
|
6694
|
+
<co-grid #transactionGrid
|
|
6695
|
+
[data]="transactionLines"
|
|
6696
|
+
[columns]="columns"
|
|
6697
|
+
[pagingEnabled]="pagingEnabled"
|
|
6698
|
+
[maxNumberOfRows]="'20'"
|
|
6699
|
+
(rowsSelected)="onRowClick($event)"
|
|
6700
|
+
></co-grid>
|
|
6701
|
+
`,
|
|
6702
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.transaction-order-line-r .transaction-order-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-top:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-image,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-bottom:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{margin-left:20px}.transaction-order-line-r .transaction-order-line-description,.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:block;padding:20px}:host ::ng-deep collapseable{width:100%!important}.service-request-button-wrapper{display:flex;justify-content:center;margin-top:20px}.transaction-order-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.transaction-order-line-r{flex-direction:column}}.transaction-order-line-r .transaction-order-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center;padding-right:10px}.transaction-order-line-r .transaction-order-line-image image-display{width:6em;height:6em}.transaction-order-line-r .transaction-order-line-image ::ng-deep no-image-display{display:none}.transaction-order-line-r .transaction-order-line-description{display:flex;flex-direction:column;width:auto;max-width:355px;margin-left:10px}.transaction-order-line-r .transaction-order-line-description .cart-line-description-main{font-weight:bold}.transaction-order-line-r .transaction-order-line-right{justify-content:flex-end;align-items:center}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-stock{width:10em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-amount{width:15em}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.transaction-order-line-r .transaction-order-line-right .transaction-order-line-totals span{text-align:right}\n"]
|
|
6703
|
+
},] }
|
|
6704
|
+
];
|
|
6705
|
+
TransactionOrderLinesComponent.ctorParameters = () => [
|
|
6706
|
+
{ type: TransactionService },
|
|
6707
|
+
{ type: TransactionEventService },
|
|
6708
|
+
{ type: DictionaryService }
|
|
6709
|
+
];
|
|
6710
|
+
TransactionOrderLinesComponent.propDecorators = {
|
|
6711
|
+
transactionGrid: [{ type: ViewChild, args: ["transactionGrid",] }],
|
|
6712
|
+
createServiceClick: [{ type: Output }]
|
|
6713
|
+
};
|
|
6714
|
+
|
|
6715
|
+
class TransactionRelationAddressComponent {
|
|
6716
|
+
constructor(_dictionary, _connector) {
|
|
6717
|
+
this._dictionary = _dictionary;
|
|
6718
|
+
this._connector = _connector;
|
|
6719
|
+
this.countries = [];
|
|
6720
|
+
this.fields = { text: "description", value: "code" };
|
|
6721
|
+
this.postalCodeCheckErrorMessage = "";
|
|
6722
|
+
this._prevPostalCodeForCheck = "";
|
|
6723
|
+
}
|
|
6724
|
+
set address(address) {
|
|
6725
|
+
this._address = address;
|
|
6726
|
+
}
|
|
6727
|
+
get address() {
|
|
6728
|
+
if (this._address === undefined) {
|
|
6729
|
+
this._address = new Address();
|
|
6730
|
+
}
|
|
6731
|
+
return this._address;
|
|
6732
|
+
}
|
|
6733
|
+
ngOnInit() {
|
|
6734
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6735
|
+
this.countries = yield this._connector.getCountries();
|
|
6736
|
+
});
|
|
6737
|
+
}
|
|
6738
|
+
checkForPostalCodeCheckError() {
|
|
6739
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6740
|
+
if (!this.address.postalCode || isNill$1(this.address.houseNo)) {
|
|
6741
|
+
this.postalCodeCheckErrorMessage = "";
|
|
6742
|
+
return;
|
|
6743
|
+
}
|
|
6744
|
+
if (this._prevPostalCodeForCheck !== this.address.postalCode || this._prevHouseNoForCheck !== this.address.houseNo) {
|
|
6745
|
+
this._prevPostalCodeForCheck = this.address.postalCode;
|
|
6746
|
+
this._prevHouseNoForCheck = this.address.houseNo;
|
|
6747
|
+
const postalCodeResponse = yield this._connector.getPostalCodeRetrieval((this.address.postalCode ? this.address.postalCode : ""), StringUtils.ParseString(this.address.houseNo));
|
|
6748
|
+
if (postalCodeResponse && postalCodeResponse.isBadAddress) {
|
|
6749
|
+
this.postalCodeCheckErrorMessage = this._dictionary.get("UNKNOWN_ADDRESS_CHECK_IT");
|
|
6750
|
+
}
|
|
6751
|
+
else {
|
|
6752
|
+
this.postalCodeCheckErrorMessage = "";
|
|
6753
|
+
this.address.streetName = postalCodeResponse.street;
|
|
6754
|
+
this.address.city = postalCodeResponse.city;
|
|
6755
|
+
}
|
|
6756
|
+
}
|
|
6757
|
+
});
|
|
6758
|
+
}
|
|
6759
|
+
changeHouseNo() {
|
|
6760
|
+
this.address.houseNo = Number(this.address.houseNo);
|
|
6761
|
+
}
|
|
6762
|
+
}
|
|
6763
|
+
TransactionRelationAddressComponent.decorators = [
|
|
6764
|
+
{ type: Component, args: [{
|
|
6765
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
6766
|
+
selector: "transaction-relation-address",
|
|
6767
|
+
template: `
|
|
6768
|
+
<label [textContent]="label | localize"
|
|
6769
|
+
class="transaction-relation-label-h3"
|
|
6770
|
+
></label>
|
|
6771
|
+
<div class="default-flex-row">
|
|
6772
|
+
<div class="default-flex-column">
|
|
6773
|
+
<co-input-text [(model)]="address.postalCode"
|
|
6774
|
+
[placeholder]="'POSTAL_CODE' | localize"
|
|
6775
|
+
(blur)="checkForPostalCodeCheckError()"
|
|
6776
|
+
required
|
|
6777
|
+
></co-input-text>
|
|
6778
|
+
</div>
|
|
6779
|
+
<div class="default-flex-column">
|
|
6780
|
+
<co-input-text [(model)]="address.houseNo"
|
|
6781
|
+
[placeholder]="'HOUSE_NO' | localize"
|
|
6782
|
+
(blur)="checkForPostalCodeCheckError()"
|
|
6783
|
+
(modelChange) = "changeHouseNo()"
|
|
6784
|
+
required
|
|
6785
|
+
></co-input-text>
|
|
6786
|
+
</div>
|
|
6787
|
+
<div class="default-flex-column">
|
|
6788
|
+
<co-input-text [(model)]="address.houseNoAddition"
|
|
6789
|
+
[placeholder]="'HOUSE_NO_ADDITION' | localize"
|
|
6790
|
+
></co-input-text>
|
|
6791
|
+
</div>
|
|
6792
|
+
</div>
|
|
6793
|
+
<div>
|
|
6794
|
+
<div class="default-flex-row">
|
|
6795
|
+
<div class="default-flex-column">
|
|
6796
|
+
<co-input-text [(model)]="address.streetName" [placeholder]="'STREET' | localize" required></co-input-text>
|
|
6797
|
+
</div>
|
|
6798
|
+
<div class="default-flex-column">
|
|
6799
|
+
<co-input-text [(model)]="address.city" [placeholder]="'CITY' | localize" required></co-input-text>
|
|
6800
|
+
</div>
|
|
6801
|
+
<div class="default-flex-column">
|
|
6802
|
+
<co-input-combo-box [(model)]="address.countryId"
|
|
6803
|
+
[source]="countries"
|
|
6804
|
+
[fields]="fields"
|
|
6805
|
+
[placeholder]="'COUNTRY'| localize"
|
|
6806
|
+
[required]="true"
|
|
6807
|
+
></co-input-combo-box>
|
|
6808
|
+
</div>
|
|
6809
|
+
</div>
|
|
6810
|
+
</div>
|
|
6811
|
+
`,
|
|
6812
|
+
styles: [".button-wrapper{margin-top:10px;justify-content:center}co-input-radio-button{margin-left:16px}.transaction-relation-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.transaction-relation-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}\n"]
|
|
6813
|
+
},] }
|
|
6814
|
+
];
|
|
6815
|
+
TransactionRelationAddressComponent.ctorParameters = () => [
|
|
6816
|
+
{ type: DictionaryService },
|
|
6817
|
+
{ type: IOneConnectorAdapterService }
|
|
6818
|
+
];
|
|
6819
|
+
TransactionRelationAddressComponent.propDecorators = {
|
|
6820
|
+
label: [{ type: Input }],
|
|
6821
|
+
address: [{ type: Input }]
|
|
6822
|
+
};
|
|
6823
|
+
|
|
6824
|
+
class TransactionSidebarRightComponent extends TransactionBaseComponent {
|
|
6825
|
+
constructor(service, iconCacheService, _eventService, changeDetector) {
|
|
6826
|
+
super(service);
|
|
6827
|
+
this.service = service;
|
|
6828
|
+
this.iconCacheService = iconCacheService;
|
|
6829
|
+
this._eventService = _eventService;
|
|
6830
|
+
this.changeDetector = changeDetector;
|
|
6831
|
+
this.iconDetailView = CoreComponentsIcon.DetailView;
|
|
6832
|
+
this.iconArrowPointRight = CoreComponentsIcon.ArrowPointRight;
|
|
6833
|
+
this.iconStock = CoreComponentsIcon.Stock;
|
|
6834
|
+
this.iconDocuments = CoreComponentsIcon.Documents;
|
|
6835
|
+
this.test = "";
|
|
6836
|
+
this.defaultSidebar = new Sidebar({
|
|
6837
|
+
width: "320px",
|
|
6838
|
+
type: "Auto",
|
|
6839
|
+
isOpen: false,
|
|
6840
|
+
position: "Right",
|
|
6841
|
+
target: "#app-module-sidebar-right"
|
|
6842
|
+
});
|
|
6843
|
+
this._subscriptions = [];
|
|
6844
|
+
this._subscriptions.push(this._eventService.transactionLineClicked.subscribe((transactionLine) => {
|
|
6845
|
+
this.transactionLine = transactionLine;
|
|
6846
|
+
this.defaultSidebar.show();
|
|
6847
|
+
}));
|
|
6848
|
+
}
|
|
6849
|
+
ngOnInit() {
|
|
6850
|
+
setTimeout(() => {
|
|
6851
|
+
this.defaultSidebar.appendTo("#default-sidebar");
|
|
6852
|
+
this.sidebarCloseClick();
|
|
6853
|
+
this.changeDetector.detectChanges();
|
|
6854
|
+
});
|
|
6855
|
+
}
|
|
6856
|
+
ngOnDestroy() {
|
|
6857
|
+
this._subscriptions.forEach(sub => sub.unsubscribe());
|
|
6858
|
+
}
|
|
6859
|
+
sidebarCloseClick() {
|
|
6860
|
+
this.defaultSidebar.hide();
|
|
6861
|
+
this._eventService.rightSidebarClose.next();
|
|
6862
|
+
}
|
|
6863
|
+
}
|
|
6864
|
+
TransactionSidebarRightComponent.decorators = [
|
|
6865
|
+
{ type: Component, args: [{
|
|
6866
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
6867
|
+
selector: "transaction-sidebar-right",
|
|
6868
|
+
template: `
|
|
6869
|
+
<div id="default-sidebar">
|
|
6870
|
+
<div>
|
|
6871
|
+
<icon [icon]="iconArrowPointRight" (click)="sidebarCloseClick()"></icon>
|
|
6872
|
+
<label [textContent]="transactionLine?.goodDescription"></label>
|
|
6873
|
+
</div>
|
|
6874
|
+
<div>
|
|
6875
|
+
<ejs-tab id="element2">
|
|
6876
|
+
<e-tabitems>
|
|
6877
|
+
<e-tabitem>
|
|
6878
|
+
<ng-template #headerText>
|
|
6879
|
+
<icon [icon]="iconDetailView" title="Regeldetails"></icon>
|
|
6880
|
+
</ng-template>
|
|
6881
|
+
<ng-template #content>
|
|
6882
|
+
<transaction-line-accordion [transactionLine]="transactionLine"></transaction-line-accordion>
|
|
6883
|
+
</ng-template>
|
|
6884
|
+
</e-tabitem>
|
|
6885
|
+
<e-tabitem>
|
|
6886
|
+
<ng-template #headerText>
|
|
6887
|
+
<icon [icon]="iconStock" title="Voorraad"></icon>
|
|
6888
|
+
</ng-template>
|
|
6889
|
+
<ng-template #content>
|
|
6890
|
+
<div style="margin: 10px;">
|
|
6891
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
6892
|
+
<co-input-text placeholder="In voorraad"></co-input-text>
|
|
6893
|
+
<co-input-text placeholder="In order voorraad"></co-input-text>
|
|
6894
|
+
</div>
|
|
6895
|
+
|
|
6896
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
6897
|
+
<co-input-text placeholder="In order commissie"></co-input-text>
|
|
6898
|
+
<co-input-text placeholder="Beschikbaar"></co-input-text>
|
|
6899
|
+
</div>
|
|
6900
|
+
|
|
6901
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
6902
|
+
<co-input-text placeholder="In bestelling"></co-input-text>
|
|
6903
|
+
<co-input-text placeholder="Later beschikbaar"></co-input-text>
|
|
6904
|
+
</div>
|
|
6905
|
+
|
|
6906
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
6907
|
+
<co-input-text placeholder="Toegewezen" [model]="transactionLine?.amount"></co-input-text>
|
|
6908
|
+
<co-input-text placeholder="Vrije voorraad"></co-input-text>
|
|
6909
|
+
</div>
|
|
6910
|
+
</div>
|
|
6911
|
+
</ng-template>
|
|
6912
|
+
</e-tabitem>
|
|
6913
|
+
<e-tabitem>
|
|
6914
|
+
<ng-template #headerText>
|
|
6915
|
+
<icon [icon]="iconDocuments" title="Documenten en notities"></icon>
|
|
6916
|
+
</ng-template>
|
|
6917
|
+
<ng-template #content>
|
|
6918
|
+
<div>
|
|
6919
|
+
Documenten en notities
|
|
6920
|
+
</div>
|
|
6921
|
+
</ng-template>
|
|
6922
|
+
</e-tabitem>
|
|
6923
|
+
</e-tabitems>
|
|
6924
|
+
</ejs-tab>
|
|
6925
|
+
</div>
|
|
6926
|
+
</div>
|
|
6927
|
+
`,
|
|
6928
|
+
styles: [":host{display:block;width:100%}.e-accordion{border:none}.e-accordion .e-acrdn-item .e-acrdn-header .e-toggle-icon .e-icons{color:#add8e6}.e-tab .e-toolbar-items{display:flex;justify-content:center}\n"]
|
|
6929
|
+
},] }
|
|
6930
|
+
];
|
|
6931
|
+
TransactionSidebarRightComponent.ctorParameters = () => [
|
|
6932
|
+
{ type: TransactionService },
|
|
6933
|
+
{ type: IconCacheService },
|
|
6934
|
+
{ type: TransactionEventService },
|
|
6935
|
+
{ type: ChangeDetectorRef }
|
|
6936
|
+
];
|
|
6937
|
+
|
|
6938
|
+
class TransactionLineAccordionComponent {
|
|
6939
|
+
constructor(changeDetector) {
|
|
6940
|
+
this.changeDetector = changeDetector;
|
|
6941
|
+
this.transactionLine = new TransactionLineInfo;
|
|
6942
|
+
this.accordion = new Accordion({});
|
|
6943
|
+
this._subscriptions = [];
|
|
6944
|
+
}
|
|
6945
|
+
ngOnInit() {
|
|
6946
|
+
setTimeout(() => {
|
|
6947
|
+
this.accordion.appendTo("#accordion_html_markup");
|
|
6948
|
+
this.changeDetector.detectChanges();
|
|
6949
|
+
});
|
|
6950
|
+
}
|
|
6951
|
+
}
|
|
6952
|
+
TransactionLineAccordionComponent.decorators = [
|
|
6953
|
+
{ type: Component, args: [{
|
|
6954
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
6955
|
+
selector: "transaction-line-accordion",
|
|
6956
|
+
template: `
|
|
6957
|
+
<div id='container'>
|
|
6958
|
+
<div id='accordion_html_markup'>
|
|
6959
|
+
<div>
|
|
6960
|
+
<div>Prijsdetails</div>
|
|
6961
|
+
<div>
|
|
6962
|
+
<div style="margin-left:10px;">
|
|
6963
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
6964
|
+
<co-input-text placeholder="Aantal" [model]="transactionLine?.amount"></co-input-text>
|
|
6965
|
+
<co-input-text placeholder="Verkoopprijs" [model]="transactionLine?.price"></co-input-text>
|
|
6966
|
+
</div>
|
|
6967
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
6968
|
+
<co-input-text placeholder="Adviesprijs"></co-input-text>
|
|
6969
|
+
<co-input-text placeholder="Totaal korting"></co-input-text>
|
|
6970
|
+
</div>
|
|
6971
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
6972
|
+
<co-input-text placeholder="Koritngspercentage"></co-input-text>
|
|
6973
|
+
<co-input-text placeholder="Kortingsbedrag" [model]="transactionLine?.discountAmount"></co-input-text>
|
|
6974
|
+
</div>
|
|
6975
|
+
|
|
6976
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
6977
|
+
<co-input-text placeholder="Speciale korting"></co-input-text>
|
|
6978
|
+
<co-input-text placeholder="Transactiekorting"></co-input-text>
|
|
6979
|
+
</div>
|
|
6980
|
+
|
|
6981
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
6982
|
+
<co-input-text placeholder="Business rule korting"></co-input-text>
|
|
6983
|
+
<co-input-text placeholder="Kwantumkorting"></co-input-text>
|
|
6984
|
+
</div>
|
|
6985
|
+
|
|
6986
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
6987
|
+
<co-input-text placeholder="Toeslag"></co-input-text>
|
|
6988
|
+
<co-input-text placeholder="BTW"></co-input-text>
|
|
6989
|
+
</div>
|
|
6990
|
+
|
|
6991
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
6992
|
+
<co-input-text placeholder="Prijslijst"></co-input-text>
|
|
6993
|
+
</div>
|
|
6994
|
+
</div>
|
|
6995
|
+
</div>
|
|
6996
|
+
</div>
|
|
6997
|
+
<div>
|
|
6998
|
+
<div>Logistiek</div>
|
|
6999
|
+
<div>
|
|
7000
|
+
<div style="margin-left:10px;">
|
|
7001
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7002
|
+
<co-input-text placeholder="Commissiecode"></co-input-text>
|
|
7003
|
+
<co-input-text placeholder="Levermethode"></co-input-text>
|
|
7004
|
+
</div>
|
|
7005
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7006
|
+
<co-input-text placeholder="Montagetijd"></co-input-text>
|
|
7007
|
+
<co-input-text placeholder="Bewerkingstijd"></co-input-text>
|
|
7008
|
+
</div>
|
|
7009
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7010
|
+
<co-input-text placeholder="Leverancier"></co-input-text>
|
|
7011
|
+
<co-input-text placeholder="Artikelnummer leverancier"></co-input-text>
|
|
7012
|
+
</div>
|
|
7013
|
+
|
|
7014
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7015
|
+
<co-input-text placeholder="In/uit collectie"></co-input-text>
|
|
7016
|
+
<co-input-text placeholder="Dropshipment"></co-input-text>
|
|
7017
|
+
</div>
|
|
7018
|
+
|
|
7019
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7020
|
+
<co-input-text placeholder="Leverdatum"></co-input-text>
|
|
7021
|
+
<co-input-text placeholder="Referentie"></co-input-text>
|
|
7022
|
+
</div>
|
|
7023
|
+
</div>
|
|
7024
|
+
</div>
|
|
7025
|
+
|
|
7026
|
+
</div>
|
|
7027
|
+
<div>
|
|
7028
|
+
<div id="header">Opmaak</div>
|
|
7029
|
+
<div id="opmaak">
|
|
7030
|
+
<div style="margin-left:10px;">
|
|
7031
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7032
|
+
<co-input-text placeholder="Orderregelset"></co-input-text>
|
|
7033
|
+
<co-input-text placeholder="Hoofdstuk"></co-input-text>
|
|
7034
|
+
</div>
|
|
7035
|
+
<div>
|
|
7036
|
+
<co-input-text placeholder="Laatste wijziging Door"></co-input-text>
|
|
7037
|
+
</div>
|
|
7038
|
+
<div>
|
|
7039
|
+
<co-input-text placeholder="Zichtbaar op documenten"></co-input-text>
|
|
7040
|
+
</div>
|
|
7041
|
+
</div>
|
|
7042
|
+
</div>
|
|
7043
|
+
</div>
|
|
7044
|
+
<div>
|
|
7045
|
+
<div>Artikelkenmerken</div>
|
|
7046
|
+
<div>
|
|
7047
|
+
<div style="margin-left:10px;">
|
|
7048
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7049
|
+
<co-input-text placeholder="Breedte"></co-input-text>
|
|
7050
|
+
<co-input-text placeholder="Lengte"></co-input-text>
|
|
7051
|
+
</div>
|
|
7052
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7053
|
+
<co-input-text placeholder="Hoogte"></co-input-text>
|
|
7054
|
+
<co-input-text placeholder="Zitdiepte"></co-input-text>
|
|
7055
|
+
</div>
|
|
7056
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7057
|
+
<co-input-text placeholder="Zithoogte"></co-input-text>
|
|
7058
|
+
<co-input-text placeholder="Volume"></co-input-text>
|
|
7059
|
+
</div>
|
|
7060
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7061
|
+
<co-input-text placeholder="Stopmaat"></co-input-text>
|
|
7062
|
+
<co-input-text placeholder="Patroonhoogte"></co-input-text>
|
|
7063
|
+
</div>
|
|
7064
|
+
<br>
|
|
7065
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7066
|
+
<co-input-text placeholder="Standaard levertijd"></co-input-text>
|
|
7067
|
+
<co-input-text placeholder="Standaard levertijd verkoop"></co-input-text>
|
|
7068
|
+
</div>
|
|
7069
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7070
|
+
<co-input-text placeholder="Eenheid verkoop"></co-input-text>
|
|
7071
|
+
<co-input-text placeholder="Verkoophoeveelheid"></co-input-text>
|
|
7072
|
+
</div>
|
|
7073
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7074
|
+
<co-input-text placeholder="Aantal"></co-input-text>
|
|
7075
|
+
<co-input-text placeholder="Colli"></co-input-text>
|
|
7076
|
+
</div>
|
|
7077
|
+
<br>
|
|
7078
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7079
|
+
<co-input-text placeholder="Omzetgroep"></co-input-text>
|
|
7080
|
+
<co-input-text placeholder="Artikelgroep"></co-input-text>
|
|
7081
|
+
</div>
|
|
7082
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7083
|
+
<co-input-text placeholder="Hoofdartikel"></co-input-text>
|
|
7084
|
+
<co-input-text placeholder="Sfeer"></co-input-text>
|
|
7085
|
+
</div>
|
|
7086
|
+
<div fxLayout="row" fxLayoutGap="10px">
|
|
7087
|
+
<co-input-text placeholder="Concept"></co-input-text>
|
|
7088
|
+
<co-input-text placeholder="Afdeling"></co-input-text>
|
|
7089
|
+
</div>
|
|
7090
|
+
</div>
|
|
7091
|
+
</div>
|
|
7092
|
+
</div>
|
|
7093
|
+
|
|
7094
|
+
</div>
|
|
7095
|
+
</div>
|
|
7096
|
+
`,
|
|
7097
|
+
styles: [""]
|
|
7098
|
+
},] }
|
|
7099
|
+
];
|
|
7100
|
+
TransactionLineAccordionComponent.ctorParameters = () => [
|
|
7101
|
+
{ type: ChangeDetectorRef }
|
|
7102
|
+
];
|
|
7103
|
+
TransactionLineAccordionComponent.propDecorators = {
|
|
7104
|
+
transactionLine: [{ type: Input }]
|
|
7105
|
+
};
|
|
7106
|
+
|
|
7107
|
+
class TransactionRelationEditComponent extends TransactionBaseComponent {
|
|
7108
|
+
constructor(service) {
|
|
7109
|
+
super(service);
|
|
7110
|
+
this.service = service;
|
|
7111
|
+
this.showPopup = false;
|
|
7112
|
+
this.relType = RelationNameKind;
|
|
7113
|
+
this.genderType = GenderType;
|
|
7114
|
+
this.validSubmit = new EventEmitter();
|
|
7115
|
+
this.invalidSubmit = new EventEmitter();
|
|
7116
|
+
this.dateOfBirth = new Date();
|
|
7117
|
+
this.phoneNumber = new ContactOption();
|
|
7118
|
+
}
|
|
7119
|
+
get readonly() {
|
|
7120
|
+
return false;
|
|
7121
|
+
}
|
|
7122
|
+
get subHeader() {
|
|
7123
|
+
return "";
|
|
7124
|
+
}
|
|
7125
|
+
get editFirstAddress() {
|
|
7126
|
+
if (this.firstAddress) {
|
|
7127
|
+
return this.firstAddress;
|
|
7128
|
+
}
|
|
7129
|
+
else if (this.customer) {
|
|
7130
|
+
const address = new Address();
|
|
7131
|
+
address.addressType = AddressType.DeliveryAddress;
|
|
7132
|
+
address.startDate = new Date();
|
|
7133
|
+
address.sequence = this.customer.getNextAddressSequence();
|
|
7134
|
+
this.customer.addresses.push(address);
|
|
7135
|
+
return address;
|
|
7136
|
+
}
|
|
7137
|
+
}
|
|
7138
|
+
get firstAddress() {
|
|
7139
|
+
if (!this.relation || !this.customer.addresses.length) {
|
|
7140
|
+
return;
|
|
7141
|
+
}
|
|
7142
|
+
return this.customer.getFirstAvailableAddress([
|
|
7143
|
+
AddressType.DeliveryAddress,
|
|
7144
|
+
AddressType.BillingAddress,
|
|
7145
|
+
AddressType.VisitingAddress,
|
|
7146
|
+
AddressType.MailingAddress,
|
|
7147
|
+
AddressType.NursingAddress
|
|
7148
|
+
]);
|
|
7149
|
+
}
|
|
7150
|
+
onPopupClose() {
|
|
7151
|
+
this.showPopup = false;
|
|
7152
|
+
}
|
|
7153
|
+
changeRelationType(relationType) {
|
|
7154
|
+
if (this.customer) {
|
|
7155
|
+
this.customer.type = relationType;
|
|
7156
|
+
}
|
|
7157
|
+
}
|
|
7158
|
+
changeGenderType(genderType) {
|
|
7159
|
+
if (this.customer) {
|
|
7160
|
+
this.customer.gender = genderType;
|
|
7161
|
+
}
|
|
7162
|
+
}
|
|
7163
|
+
firstNameChange(firstName) {
|
|
7164
|
+
if (this.customer) {
|
|
7165
|
+
this.customer.firstName = firstName;
|
|
7166
|
+
}
|
|
7167
|
+
}
|
|
7168
|
+
familyNameChange(familyName) {
|
|
7169
|
+
if (this.customer) {
|
|
7170
|
+
this.customer.familyName = familyName;
|
|
7171
|
+
}
|
|
7172
|
+
}
|
|
7173
|
+
}
|
|
7174
|
+
TransactionRelationEditComponent.decorators = [
|
|
7175
|
+
{ type: Component, args: [{
|
|
7176
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
7177
|
+
selector: "transaction-relation-edit",
|
|
7178
|
+
template: `
|
|
7179
|
+
<co-dialog [visible]="showPopup" header="ACCOUNT_DETAILS" (close)="onPopupClose()"
|
|
7180
|
+
noClickOutside contentSize>
|
|
7181
|
+
<ng-container content>
|
|
7182
|
+
<co-form #transactionRelationEditForm (validSubmit)="validSubmit.emit()" (invalidSubmit)="invalidSubmit.emit()">
|
|
7183
|
+
<div style="min-width: 500px;">
|
|
7184
|
+
<div>
|
|
7185
|
+
<label [textContent]="'PERSONAL_DATA' | localize"
|
|
7186
|
+
class="transaction-relation-label-h3"
|
|
7187
|
+
></label>
|
|
7188
|
+
</div>
|
|
7189
|
+
<div>
|
|
7190
|
+
<div>
|
|
7191
|
+
<label [textContent]="'ORDER_TYPE' | localize "
|
|
7192
|
+
class="transaction-relation-label-h3"
|
|
7193
|
+
></label>
|
|
7194
|
+
</div>
|
|
7195
|
+
<div *ngIf="customer?.type">
|
|
7196
|
+
<co-input-radio-button [name]="'type'"
|
|
7197
|
+
[label]="'PRIVATE_PERSON' | localize"
|
|
7198
|
+
[value]="relType.Private"
|
|
7199
|
+
[checked]="customer.type === relType.Private"
|
|
7200
|
+
(modelChange)="changeRelationType(relType.Private)"
|
|
7201
|
+
></co-input-radio-button>
|
|
7202
|
+
<co-input-radio-button [name]="'type'"
|
|
7203
|
+
[label]="'COMPANY' | localize"
|
|
7204
|
+
[value]="relType.Company"
|
|
7205
|
+
[checked]="customer.type === relType.Company"
|
|
7206
|
+
(modelChange)="changeRelationType(relType.Company)"
|
|
7207
|
+
></co-input-radio-button>
|
|
7208
|
+
</div>
|
|
7209
|
+
</div>
|
|
7210
|
+
<div *ngIf="customer?.type === relType.Private">
|
|
7211
|
+
<label [textContent]="'SALUTATION' | localize"
|
|
7212
|
+
class="transaction-relation-label-h3"
|
|
7213
|
+
></label>
|
|
7214
|
+
<div *ngIf="customer?.gender">
|
|
7215
|
+
<co-input-radio-button [name]="'gender'"
|
|
7216
|
+
[label]="'MALE' | localize"
|
|
7217
|
+
[value]="genderType.Male"
|
|
7218
|
+
[checked]="customer.gender === genderType.Male"
|
|
7219
|
+
(modelChange)="changeGenderType(genderType.Male)"
|
|
7220
|
+
></co-input-radio-button>
|
|
7221
|
+
<co-input-radio-button [name]="'gender'"
|
|
7222
|
+
[label]="'FEMALE' | localize "
|
|
7223
|
+
[value]="genderType.Female"
|
|
7224
|
+
[checked]="customer.gender === genderType.Female"
|
|
7225
|
+
(modelChange)="changeGenderType(genderType.Female)"
|
|
7226
|
+
></co-input-radio-button>
|
|
7227
|
+
<co-input-radio-button [name]="'gender'"
|
|
7228
|
+
[label]="'UNKNOWN' | localize"
|
|
7229
|
+
[value]="genderType.Unspecified"
|
|
7230
|
+
[checked]="customer.gender === genderType.Unspecified"
|
|
7231
|
+
(modelChange)="changeGenderType(genderType.Unspecified)"
|
|
7232
|
+
></co-input-radio-button>
|
|
7233
|
+
</div>
|
|
7234
|
+
</div>
|
|
7235
|
+
<div *ngIf="customer?.type === relType.Private">
|
|
7236
|
+
<div>
|
|
7237
|
+
<label [textContent]="'NAME' | localize "
|
|
7238
|
+
class="transaction-relation-label-h3"
|
|
7239
|
+
></label>
|
|
7240
|
+
<div class="default-flex-row">
|
|
7241
|
+
<div class="default-flex-column">
|
|
7242
|
+
<co-input-text
|
|
7243
|
+
[(model)]="customer.firstName"
|
|
7244
|
+
[placeholder]="'FIRST_NAME' | localize "
|
|
7245
|
+
(modelChange)="firstNameChange($event)"
|
|
7246
|
+
required
|
|
7247
|
+
></co-input-text>
|
|
7248
|
+
</div>
|
|
7249
|
+
<div class="default-flex-column">
|
|
7250
|
+
<co-input-text
|
|
7251
|
+
[(model)]="customer.prefix"
|
|
7252
|
+
[placeholder]="'PREFIX' | localize "
|
|
7253
|
+
></co-input-text>
|
|
7254
|
+
</div>
|
|
7255
|
+
<div class="default-flex-column">
|
|
7256
|
+
<co-input-text
|
|
7257
|
+
[(model)]="customer.familyName"
|
|
7258
|
+
[placeholder]="'LAST_NAME' | localize"
|
|
7259
|
+
(modelChange)="familyNameChange($event)"
|
|
7260
|
+
required
|
|
7261
|
+
></co-input-text>
|
|
7262
|
+
</div>
|
|
7263
|
+
<div class="default-flex-column">
|
|
7264
|
+
<co-input-date
|
|
7265
|
+
[placeholder]="'DATE_OF_BIRTH' | localize "
|
|
7266
|
+
[(model)]="dateOfBirth"
|
|
7267
|
+
required
|
|
7268
|
+
></co-input-date>
|
|
7269
|
+
</div>
|
|
7270
|
+
<div class="default-flex-column">
|
|
7271
|
+
<co-input-text
|
|
7272
|
+
[(model)]="phoneNumber.value"
|
|
7273
|
+
[placeholder]="'PHONE_NO' | localize "
|
|
7274
|
+
required
|
|
7275
|
+
></co-input-text>
|
|
7276
|
+
</div>
|
|
7277
|
+
</div>
|
|
7278
|
+
</div>
|
|
7279
|
+
</div>
|
|
7280
|
+
<div>
|
|
7281
|
+
<div *ngIf="customer?.type === relType.Company" class="default-flex-column">
|
|
7282
|
+
<label [textContent]="'COMPANY_NAME' | localize "
|
|
7283
|
+
class="transaction-relation-label-h3"
|
|
7284
|
+
></label>
|
|
7285
|
+
<co-input-text
|
|
7286
|
+
[(model)]="customer.familyName"
|
|
7287
|
+
[label]="'COMPANY_NAME'"
|
|
7288
|
+
required
|
|
7289
|
+
></co-input-text>
|
|
7290
|
+
</div>
|
|
7291
|
+
</div>
|
|
7292
|
+
|
|
7293
|
+
<div>
|
|
7294
|
+
<transaction-relation-address
|
|
7295
|
+
label="DELIVERY_ADDRESS" [address]="editFirstAddress"
|
|
7296
|
+
></transaction-relation-address>
|
|
7297
|
+
</div>
|
|
7298
|
+
|
|
7299
|
+
<div fxLayout="row" fxLayoutGap="10px" class="button-wrapper">
|
|
7300
|
+
<default-ok-cancel-buttons
|
|
7301
|
+
[okDisabled]="readonly"
|
|
7302
|
+
(okClick)="transactionRelationEditForm.submit()"
|
|
7303
|
+
(cancelClick)="onPopupClose()"
|
|
7304
|
+
></default-ok-cancel-buttons>
|
|
7305
|
+
</div>
|
|
7306
|
+
</div>
|
|
7307
|
+
</co-form>
|
|
7308
|
+
</ng-container>
|
|
7309
|
+
</co-dialog>
|
|
7310
|
+
`,
|
|
7311
|
+
styles: [".button-wrapper{margin-top:10px;justify-content:center}co-input-radio-button{margin-left:16px}.transaction-relation-label-h2{display:block;margin-top:1em;margin-bottom:1em;font-size:18px;font-weight:bold}.transaction-relation-label-h3{display:block;margin-top:1em;margin-bottom:1em;font-size:14px;font-weight:bold}\n"]
|
|
7312
|
+
},] }
|
|
7313
|
+
];
|
|
7314
|
+
TransactionRelationEditComponent.ctorParameters = () => [
|
|
7315
|
+
{ type: TransactionService }
|
|
7316
|
+
];
|
|
7317
|
+
TransactionRelationEditComponent.propDecorators = {
|
|
7318
|
+
transactionRelationEditForm: [{ type: ViewChild, args: ["transactionRelationEditForm", { read: FormComponent },] }],
|
|
7319
|
+
showPopup: [{ type: Input }],
|
|
7320
|
+
validSubmit: [{ type: Output }]
|
|
7321
|
+
};
|
|
7322
|
+
|
|
7323
|
+
class TransactionHeaderBlockComponent extends TransactionBaseComponent {
|
|
7324
|
+
constructor(service) {
|
|
7325
|
+
super(service);
|
|
7326
|
+
this.service = service;
|
|
7327
|
+
this.planningRequestButtonClick = new EventEmitter();
|
|
7328
|
+
}
|
|
7329
|
+
showPopupTab(index) {
|
|
7330
|
+
this.selectedTab = index;
|
|
7331
|
+
}
|
|
7332
|
+
tabClick() {
|
|
7333
|
+
this.relationPopup.showPopup = true;
|
|
7334
|
+
}
|
|
7335
|
+
transactionEditClose() {
|
|
7336
|
+
this.relationPopup.showPopup = false;
|
|
7337
|
+
}
|
|
7338
|
+
}
|
|
7339
|
+
TransactionHeaderBlockComponent.decorators = [
|
|
7340
|
+
{ type: Component, args: [{
|
|
7341
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
7342
|
+
selector: "transaction-header-block",
|
|
7343
|
+
template: `
|
|
7344
|
+
<div fxLayout="row wrap" fxLayout.xs="column">
|
|
7345
|
+
<div class="summary-block" (click)="tabClick()">
|
|
7346
|
+
<div class="block-wrapper">
|
|
7347
|
+
<div class="content-wrapper">
|
|
7348
|
+
<div class="name"
|
|
7349
|
+
[textContent]="relation?.displayName"></div>
|
|
7350
|
+
<div class="address link pointer"
|
|
7351
|
+
[textContent]="relation?.displayAddressFull"></div>
|
|
7352
|
+
<div class="phone link pointer"
|
|
7353
|
+
[textContent]="relation?.tel1"></div>
|
|
7354
|
+
<div [textContent]="relation?.email"
|
|
7355
|
+
class="email link pointer"
|
|
7356
|
+
></div>
|
|
7357
|
+
</div>
|
|
7358
|
+
</div>
|
|
7359
|
+
</div>
|
|
7360
|
+
|
|
7361
|
+
<transaction-service-info class="summary-block"
|
|
7362
|
+
[transaction]="transaction"
|
|
7363
|
+
></transaction-service-info>
|
|
7364
|
+
<transaction-service-status class="summary-block"
|
|
7365
|
+
[transaction]="transaction"
|
|
7366
|
+
></transaction-service-status>
|
|
7367
|
+
<transaction-order-info class="summary-block"
|
|
7368
|
+
[transaction]="transaction"
|
|
7369
|
+
></transaction-order-info>
|
|
7370
|
+
<transaction-payment-info class="summary-block"
|
|
7371
|
+
[transaction]="transaction"
|
|
7372
|
+
></transaction-payment-info>
|
|
7373
|
+
<transaction-delivery-summary class="summary-block"
|
|
7374
|
+
[transaction]="transaction"
|
|
7375
|
+
[canPlanDelivery]="!isService && canPlanDelivery"
|
|
7376
|
+
(planningRequestButtonClick)="planningRequestButtonClick.emit($event)"
|
|
7377
|
+
(click)="showPopupTab(1)"
|
|
7378
|
+
></transaction-delivery-summary>
|
|
7379
|
+
<transaction-article-info class="summary-block"
|
|
7380
|
+
[transaction]="transaction"
|
|
7381
|
+
></transaction-article-info>
|
|
7382
|
+
<transaction-product-summary class="summary-block"
|
|
7383
|
+
[transaction]="transaction"
|
|
7384
|
+
[product]="product"
|
|
7385
|
+
></transaction-product-summary>
|
|
7386
|
+
</div>
|
|
7387
|
+
|
|
7388
|
+
<transaction-relation-edit [customerId]="relationId" (validSubmit)="transactionEditClose()"></transaction-relation-edit>
|
|
7389
|
+
`,
|
|
7390
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:block;padding:15px 0 30px}.name{font-size:13px;font-weight:bold;color:#22313c;margin-bottom:5px}.address,.phone,.email{font-size:13px;line-height:16px;color:#5b6875}.pointer{cursor:pointer}.link{color:#2b60a7}.summary-block{width:calc(25% - 15px);border:2px dashed #DCE4EA;margin:7px;border-radius:15px;position:relative}.summary-block .block-wrapper{position:relative;display:flex;align-items:center;padding:30px 20px}.summary-block:after{content:\"\";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border:1px solid #FFF;pointer-events:none;border-radius:15px}@media only screen and (min-width: 960px) and (max-width: 1279px){.summary-block{width:calc(50% - 15px)}}@media only screen and (max-width: 599px){.summary-block{width:calc(100%);margin:7px 0}}\n"]
|
|
7391
|
+
},] }
|
|
7392
|
+
];
|
|
7393
|
+
TransactionHeaderBlockComponent.ctorParameters = () => [
|
|
7394
|
+
{ type: TransactionService }
|
|
7395
|
+
];
|
|
7396
|
+
TransactionHeaderBlockComponent.propDecorators = {
|
|
7397
|
+
relationPopup: [{ type: ViewChild, args: [TransactionRelationEditComponent, { static: true },] }],
|
|
7398
|
+
canPlanDelivery: [{ type: Input }],
|
|
7399
|
+
planningRequestButtonClick: [{ type: Output }]
|
|
7400
|
+
};
|
|
7401
|
+
|
|
7402
|
+
class TransactionServiceSummaryComponent extends TransactionBaseComponent {
|
|
7403
|
+
constructor(service, iconCacheService) {
|
|
7404
|
+
super(service);
|
|
7405
|
+
this.service = service;
|
|
7406
|
+
this.iconCacheService = iconCacheService;
|
|
7407
|
+
this.iconWrench = CoreComponentsIcon.Wrench;
|
|
7408
|
+
}
|
|
7409
|
+
}
|
|
7410
|
+
TransactionServiceSummaryComponent.decorators = [
|
|
7411
|
+
{ type: Component, args: [{
|
|
7412
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
7413
|
+
selector: "transaction-service-info",
|
|
7414
|
+
template: `
|
|
7415
|
+
<transaction-summary-block
|
|
7416
|
+
[hideAvatar]="true"
|
|
7417
|
+
[class.disabled]="!isNew"
|
|
7418
|
+
label="SERVICE"
|
|
7419
|
+
[icon]="iconWrench"
|
|
7420
|
+
headerLabel="SERVICE_NUMBER"
|
|
7421
|
+
[headerValue]="transactionInfo?.transactionNr"
|
|
7422
|
+
subHeaderLabel="SERVICE_REQUEST_DATE"
|
|
7423
|
+
[subHeaderValue]="transactionInfo?.transactionDate | date:'shortDate'"
|
|
7424
|
+
></transaction-summary-block>
|
|
7425
|
+
`
|
|
7426
|
+
},] }
|
|
7427
|
+
];
|
|
7428
|
+
TransactionServiceSummaryComponent.ctorParameters = () => [
|
|
7429
|
+
{ type: TransactionService },
|
|
7430
|
+
{ type: IconCacheService }
|
|
7431
|
+
];
|
|
7432
|
+
TransactionServiceSummaryComponent.propDecorators = {
|
|
7433
|
+
hidden: [{ type: HostBinding, args: ["class.hidden",] }]
|
|
7434
|
+
};
|
|
7435
|
+
|
|
7436
|
+
class TransactionSummaryBlockComponent {
|
|
7437
|
+
constructor() {
|
|
7438
|
+
this.Icon = CoreComponentsIcon;
|
|
7439
|
+
this.hideAvatar = false;
|
|
7440
|
+
this.label = "";
|
|
7441
|
+
this.headerLabel = "";
|
|
7442
|
+
this.subHeaderLabel = "";
|
|
7443
|
+
}
|
|
7444
|
+
ngOnDestroy() {
|
|
7445
|
+
this.subHeaderTemplate = undefined;
|
|
7446
|
+
}
|
|
7447
|
+
}
|
|
7448
|
+
TransactionSummaryBlockComponent.decorators = [
|
|
7449
|
+
{ type: Component, args: [{
|
|
7450
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
7451
|
+
selector: "transaction-summary-block",
|
|
7452
|
+
template: `
|
|
7453
|
+
<div class="block-wrapper">
|
|
7454
|
+
<div *ngIf="hideAvatar" class="icon-wrapper">
|
|
7455
|
+
<icon *ngIf="icon" [icon]="icon" class="dark"></icon>
|
|
7456
|
+
<image-display *ngIf="!icon" [model]="image"></image-display>
|
|
7457
|
+
</div>
|
|
7458
|
+
<div class="content-wrapper">
|
|
7459
|
+
<div class="value-block">
|
|
7460
|
+
<div class="header-label" [textContent]="headerLabel | localize"></div>
|
|
7461
|
+
<div class="header" [textContent]="headerValue"></div>
|
|
7462
|
+
</div>
|
|
7463
|
+
<div class="value-block">
|
|
7464
|
+
<div class="subheader-label" [textContent]="subHeaderLabel | localize"></div>
|
|
7465
|
+
<ng-container *ngIf="subHeaderTemplate" [templateWrapper]="subHeaderTemplate"></ng-container>
|
|
7466
|
+
<div *ngIf="!subHeaderTemplate" class="subheader" [textContent]="subHeaderValue"></div>
|
|
7467
|
+
</div>
|
|
7468
|
+
</div>
|
|
7469
|
+
</div>
|
|
7470
|
+
`,
|
|
7471
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{width:368px;min-height:130px;height:auto;display:flex;flex-direction:column;margin-top:1px;margin-left:1px;padding:30px 20px}:host .content-wrapper .value-block{margin-bottom:10px}:host .content-wrapper .value-block ::ng-deep .planning-wrapper{justify-content:flex-start}:host .content-wrapper .value-block ::ng-deep .planning-wrapper arrow-link{margin-right:10px}:host .disabled-indicator{position:absolute;top:0;left:0;display:none}:host.disabled .disabled-indicator{display:block}:host ::ng-deep image-display{height:60px;width:60px;flex-shrink:0}:host ::ng-deep image-display span{display:none}:host .icon-wrapper{display:flex;flex-shrink:0;align-items:center;justify-content:center;background:#F8FBFA;height:60px;width:60px;border-radius:50%;border:1px solid #DCE4EA;overflow:hidden}:host .icon-wrapper ::ng-deep icon{height:60px!important;width:60px!important;flex-shrink:0}:host .title{font-size:13px;color:#22313c}:host .block-wrapper{position:relative;display:flex;align-items:center}:host .border{border-radius:3px;padding:15px;background:white;border:1px solid #DCE4EA}:host .content-wrapper{display:flex;flex-direction:column;justify-content:center;margin-left:10px;min-height:60px;height:auto;width:100%}:host .header-label,:host .subheader-label{font-size:11px;line-height:13px;color:#5b6875}:host .header,:host .subheader{font-size:13px;font-weight:bold;color:#22313c}\n"]
|
|
7472
|
+
},] }
|
|
7473
|
+
];
|
|
7474
|
+
TransactionSummaryBlockComponent.ctorParameters = () => [];
|
|
7475
|
+
TransactionSummaryBlockComponent.propDecorators = {
|
|
7476
|
+
hideAvatar: [{ type: Input }],
|
|
7477
|
+
label: [{ type: Input }],
|
|
7478
|
+
icon: [{ type: Input }],
|
|
7479
|
+
image: [{ type: Input }],
|
|
7480
|
+
headerLabel: [{ type: Input }],
|
|
7481
|
+
headerValue: [{ type: Input }],
|
|
7482
|
+
subHeaderLabel: [{ type: Input }],
|
|
7483
|
+
subHeaderValue: [{ type: Input }],
|
|
7484
|
+
subHeaderTemplate: [{ type: ContentChild, args: ["subHeaderTemplate", { static: false },] }]
|
|
7485
|
+
};
|
|
7486
|
+
|
|
7487
|
+
class TransactionServiceStatusComponent extends TransactionBaseComponent {
|
|
7488
|
+
constructor(service) {
|
|
7489
|
+
super(service);
|
|
7490
|
+
this.service = service;
|
|
7491
|
+
this.iconPin = CoreComponentsIcon.Pin;
|
|
7492
|
+
}
|
|
7493
|
+
get serviceStatus() {
|
|
7494
|
+
// TODO: transaction.serviceStatus
|
|
7495
|
+
return "serviceStatus";
|
|
7496
|
+
}
|
|
7497
|
+
}
|
|
7498
|
+
TransactionServiceStatusComponent.decorators = [
|
|
7499
|
+
{ type: Component, args: [{
|
|
7500
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
7501
|
+
selector: "transaction-service-status",
|
|
7502
|
+
template: `
|
|
7503
|
+
<transaction-summary-block
|
|
7504
|
+
[class.disabled]="!isNew"
|
|
7505
|
+
label="STATUS"
|
|
7506
|
+
[icon]="iconPin"
|
|
7507
|
+
headerLabel="SERVICE_STATE"
|
|
7508
|
+
[headerValue]="serviceStatus"
|
|
7509
|
+
></transaction-summary-block>
|
|
7510
|
+
`
|
|
7511
|
+
},] }
|
|
7512
|
+
];
|
|
7513
|
+
TransactionServiceStatusComponent.ctorParameters = () => [
|
|
7514
|
+
{ type: TransactionService }
|
|
7515
|
+
];
|
|
7516
|
+
TransactionServiceStatusComponent.propDecorators = {
|
|
7517
|
+
hidden: [{ type: HostBinding, args: ["class.hidden",] }]
|
|
7518
|
+
};
|
|
7519
|
+
|
|
7520
|
+
class TransactionOrderSummaryComponent extends TransactionBaseComponent {
|
|
7521
|
+
constructor(service) {
|
|
7522
|
+
super(service);
|
|
7523
|
+
this.service = service;
|
|
7524
|
+
this.iconOrder = CoreComponentsIcon.Order;
|
|
7525
|
+
}
|
|
7526
|
+
get sourceTransactionNr() {
|
|
7527
|
+
// TODO: transaction.sourceTransactionNr
|
|
7528
|
+
return 0;
|
|
7529
|
+
}
|
|
7530
|
+
get sourceTransactionDate() {
|
|
7531
|
+
// TODO: transaction.sourceTransactionDate
|
|
7532
|
+
return new Date();
|
|
7533
|
+
}
|
|
7534
|
+
}
|
|
7535
|
+
TransactionOrderSummaryComponent.decorators = [
|
|
7536
|
+
{ type: Component, args: [{
|
|
7537
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
7538
|
+
selector: "transaction-order-info",
|
|
7539
|
+
template: `
|
|
7540
|
+
<transaction-summary-block
|
|
7541
|
+
[class.disabled]="!isNew"
|
|
7542
|
+
label="ORDER_INFO"
|
|
7543
|
+
[icon]="iconOrder"
|
|
7544
|
+
headerLabel="ORDER_NUMBER"
|
|
7545
|
+
[headerValue]="isService ? sourceTransactionNr : transactionInfo?.transactionNr"
|
|
7546
|
+
subHeaderLabel="ORDER_DATE"
|
|
7547
|
+
[subHeaderValue]="(isService ? sourceTransactionDate : this.transactionInfo?.transactionDate) | date:'shortDate'"
|
|
7548
|
+
></transaction-summary-block>
|
|
7549
|
+
`
|
|
7550
|
+
},] }
|
|
7551
|
+
];
|
|
7552
|
+
TransactionOrderSummaryComponent.ctorParameters = () => [
|
|
7553
|
+
{ type: TransactionService }
|
|
7554
|
+
];
|
|
7555
|
+
TransactionOrderSummaryComponent.propDecorators = {
|
|
7556
|
+
hidden: [{ type: HostBinding, args: ["class.hidden",] }]
|
|
7557
|
+
};
|
|
7558
|
+
|
|
7559
|
+
class TransactionPaymentInfoComponent extends TransactionBaseComponent {
|
|
7560
|
+
constructor(service) {
|
|
7561
|
+
super(service);
|
|
7562
|
+
this.service = service;
|
|
7563
|
+
this.euro = CoreComponentsIcon.Information;
|
|
7564
|
+
}
|
|
7565
|
+
}
|
|
7566
|
+
TransactionPaymentInfoComponent.decorators = [
|
|
7567
|
+
{ type: Component, args: [{
|
|
7568
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
7569
|
+
selector: "transaction-payment-info",
|
|
7570
|
+
template: `
|
|
7571
|
+
<transaction-summary-block
|
|
7572
|
+
[class.disabled]="!isNew"
|
|
7573
|
+
label="PAYMENT"
|
|
7574
|
+
[icon]="euro"
|
|
7575
|
+
headerLabel="TOTAL_AMOUNT"
|
|
7576
|
+
[headerValue]="transactionTotal?.netAmount | coCurrency"
|
|
7577
|
+
subHeaderLabel="PAID_DOWN2"
|
|
7578
|
+
[subHeaderValue]="transactionTotal?.transactionDiscountAmount | coCurrency"
|
|
7579
|
+
></transaction-summary-block>
|
|
7580
|
+
`
|
|
7581
|
+
},] }
|
|
7582
|
+
];
|
|
7583
|
+
TransactionPaymentInfoComponent.ctorParameters = () => [
|
|
7584
|
+
{ type: TransactionService }
|
|
7585
|
+
];
|
|
7586
|
+
TransactionPaymentInfoComponent.propDecorators = {
|
|
7587
|
+
hidden: [{ type: HostBinding, args: ["class.hidden",] }]
|
|
7588
|
+
};
|
|
7589
|
+
|
|
7590
|
+
class TransactionArticleSummaryComponent extends TransactionBaseComponent {
|
|
7591
|
+
constructor(service) {
|
|
7592
|
+
super(service);
|
|
7593
|
+
this.service = service;
|
|
7594
|
+
this.imageDataUri = "";
|
|
7595
|
+
}
|
|
7596
|
+
get sourceArticleDescription() {
|
|
7597
|
+
// TODO: transaction.sourceArticleDescription
|
|
7598
|
+
return "sourceArticleDescription";
|
|
7599
|
+
}
|
|
7600
|
+
get sourceArticleNr() {
|
|
7601
|
+
// TODO: transaction.sourceArticleNr
|
|
7602
|
+
return "sourceArticleNr";
|
|
7603
|
+
}
|
|
7604
|
+
_getArticleImage() {
|
|
7605
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
7606
|
+
// TODO: Add to TransactionAPI?
|
|
7607
|
+
// if (this.transaction.sourceGoodId) {
|
|
7608
|
+
// this.imageDataUri =
|
|
7609
|
+
// (await this._articleDalRepo.getThumbnailImageContentTableGoods(
|
|
7610
|
+
// this.transaction.sourceGoodId + "", DocumentPublication.None, false, true));
|
|
7611
|
+
// }
|
|
7612
|
+
});
|
|
7613
|
+
}
|
|
7614
|
+
transactionSet() {
|
|
7615
|
+
this._getArticleImage();
|
|
7616
|
+
}
|
|
7617
|
+
}
|
|
7618
|
+
TransactionArticleSummaryComponent.decorators = [
|
|
7619
|
+
{ type: Component, args: [{
|
|
7620
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
7621
|
+
selector: "transaction-article-info",
|
|
7622
|
+
template: `
|
|
7623
|
+
<transaction-summary-block
|
|
7624
|
+
[class.disabled]="!isNew"
|
|
7625
|
+
headerLabel="ARTICLE_DESCRIPTION"
|
|
7626
|
+
[image]="imageDataUri"
|
|
7627
|
+
[headerValue]="sourceArticleDescription"
|
|
7628
|
+
subHeaderLabel="ARTICLE_NR"
|
|
7629
|
+
[subHeaderValue]="sourceArticleNr"
|
|
7630
|
+
></transaction-summary-block>
|
|
7631
|
+
`
|
|
7632
|
+
},] }
|
|
7633
|
+
];
|
|
7634
|
+
TransactionArticleSummaryComponent.ctorParameters = () => [
|
|
7635
|
+
{ type: TransactionService }
|
|
7636
|
+
];
|
|
7637
|
+
TransactionArticleSummaryComponent.propDecorators = {
|
|
7638
|
+
hidden: [{ type: HostBinding, args: ["class.hidden",] }]
|
|
7639
|
+
};
|
|
7640
|
+
|
|
7641
|
+
class TransactionDeliverySummaryComponent extends TransactionBaseComponent {
|
|
7642
|
+
constructor(service) {
|
|
7643
|
+
super(service);
|
|
7644
|
+
this.service = service;
|
|
7645
|
+
this.deliveryTruck = CoreComponentsIcon.DeliveryTruck;
|
|
7646
|
+
this.calendarRoundOpen = CoreComponentsIcon.CalendarRoundOpen;
|
|
7647
|
+
this.deliveryMethodDescription = "";
|
|
7648
|
+
this.canPlanDelivery = false;
|
|
7649
|
+
this.planningRequestButtonClick = new EventEmitter();
|
|
7650
|
+
}
|
|
7651
|
+
transactionSet() {
|
|
7652
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
7653
|
+
// TODO: move call to TransactionAPI?
|
|
7654
|
+
//this.deliveryMethodDescription = await this._lookupService.lookup(DeliveryMethod, this.transaction.deliveryMethod);
|
|
7655
|
+
});
|
|
7656
|
+
}
|
|
7657
|
+
}
|
|
7658
|
+
TransactionDeliverySummaryComponent.decorators = [
|
|
7659
|
+
{ type: Component, args: [{
|
|
7660
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
7661
|
+
selector: "transaction-delivery-summary",
|
|
7662
|
+
template: `
|
|
7663
|
+
<transaction-summary-block
|
|
7664
|
+
label="DELIVERY"
|
|
7665
|
+
[icon]="deliveryTruck"
|
|
7666
|
+
headerLabel="DELIVERY_METHOD2"
|
|
7667
|
+
[headerValue]="deliveryMethodDescription"
|
|
7668
|
+
[subHeaderLabel]="transactionInfo?.preferredDeliveryDate ? 'DELIVERY_DATE' : !canPlanDelivery ? 'EXPECTED_DELIVERY_WEEK' : 'EXPECTED_DELIVERY'"
|
|
7669
|
+
[subHeaderValue]="transactionInfo?.preferredDeliveryDate ? (transactionInfo?.deliveryDate | date:'shortDate') : 'WEEK' | localize | append:(' ') | append:(transactionInfo?.deliveryDate | date:'w')">
|
|
7670
|
+
<ng-template #subHeaderTemplate *ngIf="canPlanDelivery">
|
|
7671
|
+
<div class="planning-wrapper">
|
|
7672
|
+
<span class="subheader" *ngIf="transactionInfo?.preferredDeliveryDate"
|
|
7673
|
+
[textContent]="(transactionInfo?.preferredDeliveryDate | date:'shortDate') + ', ' + transactionInfo?.preferredDeliveryDate | date: 'time' "></span>
|
|
7674
|
+
<!-- <arrow-link *ngIf="!transactionInfo.preferredDeliveryDate"-->
|
|
7675
|
+
<!-- label="PLAN_YOUR_DELIVERY"-->
|
|
7676
|
+
<!-- (click)="planningRequestButtonClick.emit($event)"-->
|
|
7677
|
+
<!-- ></arrow-link>-->
|
|
7678
|
+
<icon [icon]="calendarRoundOpen" (click)="planningRequestButtonClick.emit($event)"></icon>
|
|
7679
|
+
</div>
|
|
7680
|
+
</ng-template>
|
|
7681
|
+
</transaction-summary-block>
|
|
7682
|
+
`,
|
|
7683
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host .planning-wrapper{display:flex;justify-content:space-between;align-items:center;flex-direction:row;color:#2b60a7;margin-top:-10px;font-size:13px}:host .planning-wrapper ::ng-deep icon{cursor:pointer}:host .planning-wrapper ::ng-deep icon [fill]{fill:#2b60a7}\n"]
|
|
7684
|
+
},] }
|
|
7685
|
+
];
|
|
7686
|
+
TransactionDeliverySummaryComponent.ctorParameters = () => [
|
|
7687
|
+
{ type: TransactionService }
|
|
7688
|
+
];
|
|
7689
|
+
TransactionDeliverySummaryComponent.propDecorators = {
|
|
7690
|
+
hidden: [{ type: HostBinding, args: ["class.hidden",] }],
|
|
7691
|
+
canPlanDelivery: [{ type: Input }],
|
|
7692
|
+
planningRequestButtonClick: [{ type: Output }]
|
|
7693
|
+
};
|
|
7694
|
+
|
|
7695
|
+
class TransactionProductContractSummaryComponent extends TransactionBaseComponent {
|
|
7696
|
+
constructor(service) {
|
|
7697
|
+
super(service);
|
|
7698
|
+
this.service = service;
|
|
7699
|
+
}
|
|
7700
|
+
productSet() {
|
|
7701
|
+
// TODO: add to TransactionAPI?
|
|
7702
|
+
if (!this.product.imageAsDataUri) {
|
|
7703
|
+
// this._generalRepo.getDocument(this.product.image.documentId).then((doc: CoDocument) => {
|
|
7704
|
+
// this.product.imageAsDataUri = doc.thumbnailBodyAsDataUri;
|
|
7705
|
+
// });
|
|
7706
|
+
}
|
|
7707
|
+
}
|
|
7708
|
+
}
|
|
7709
|
+
TransactionProductContractSummaryComponent.decorators = [
|
|
7710
|
+
{ type: Component, args: [{
|
|
7711
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
7712
|
+
selector: "transaction-product-contract-summary",
|
|
7713
|
+
template: `
|
|
7714
|
+
<transaction-summary-block
|
|
7715
|
+
[class.disabled]="!isNew"
|
|
7716
|
+
label="CONTRACT"
|
|
7717
|
+
[image]="product?.imageAsDataUri"
|
|
7718
|
+
headerLabel="PRODUCT"
|
|
7719
|
+
[headerValue]="product?.product"
|
|
7720
|
+
subHeaderLabel="REFERENCE"
|
|
7721
|
+
[subHeaderValue]="product?.productReference"
|
|
7722
|
+
></transaction-summary-block>
|
|
7723
|
+
`
|
|
7724
|
+
},] }
|
|
7725
|
+
];
|
|
7726
|
+
TransactionProductContractSummaryComponent.ctorParameters = () => [
|
|
7727
|
+
{ type: TransactionService }
|
|
7728
|
+
];
|
|
7729
|
+
|
|
7730
|
+
class TransactionProductSummaryComponent extends TransactionBaseComponent {
|
|
7731
|
+
constructor(service) {
|
|
7732
|
+
super(service);
|
|
7733
|
+
this.service = service;
|
|
7734
|
+
}
|
|
7735
|
+
productSet() {
|
|
7736
|
+
// TODO: Add to TransactionAPI?
|
|
7737
|
+
if (this.product && !this.product.imageAsDataUri && this.product.image && this.product.image.documentId) {
|
|
7738
|
+
// this._generalRepo.getDocument(this.product.image.documentId).then((doc: CoDocument) => {
|
|
7739
|
+
// this.product.imageAsDataUri = doc.thumbnailBodyAsDataUri;
|
|
7740
|
+
// });
|
|
7741
|
+
}
|
|
7742
|
+
}
|
|
7743
|
+
}
|
|
7744
|
+
TransactionProductSummaryComponent.decorators = [
|
|
7745
|
+
{ type: Component, args: [{
|
|
7746
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
7747
|
+
selector: "transaction-product-summary",
|
|
7748
|
+
template: `
|
|
7749
|
+
<transaction-summary-block
|
|
7750
|
+
[class.disabled]="!isNew"
|
|
7751
|
+
label="PRODUCT"
|
|
7752
|
+
[image]="product?.imageAsDataUri"
|
|
7753
|
+
headerLabel="PRODUCT_TYPE"
|
|
7754
|
+
[headerValue]="product?.productReference"
|
|
7755
|
+
subHeaderLabel="PRODUCT"
|
|
7756
|
+
[subHeaderValue]="product?.product"
|
|
7757
|
+
></transaction-summary-block>
|
|
7758
|
+
`
|
|
7759
|
+
},] }
|
|
7760
|
+
];
|
|
7761
|
+
TransactionProductSummaryComponent.ctorParameters = () => [
|
|
7762
|
+
{ type: TransactionService }
|
|
7763
|
+
];
|
|
7764
|
+
TransactionProductSummaryComponent.propDecorators = {
|
|
7765
|
+
hidden: [{ type: HostBinding, args: ["class.hidden",] }]
|
|
7766
|
+
};
|
|
7767
|
+
|
|
7768
|
+
class TemplateWrapperDirective {
|
|
7769
|
+
constructor(viewContainer) {
|
|
7770
|
+
this.viewContainer = viewContainer;
|
|
7771
|
+
this.templateWrapper = null;
|
|
7772
|
+
this.templateWrapperContext = null;
|
|
7773
|
+
}
|
|
7774
|
+
ngOnChanges(changes) {
|
|
7775
|
+
const recreateView = this._shouldRecreateView(changes);
|
|
7776
|
+
if (recreateView) {
|
|
7777
|
+
if (this._viewRef) {
|
|
7778
|
+
this.viewContainer.remove(this.viewContainer.indexOf(this._viewRef));
|
|
7779
|
+
}
|
|
7780
|
+
if (this.templateWrapper) {
|
|
7781
|
+
this._viewRef = this.viewContainer.createEmbeddedView(this.templateWrapper, this.templateWrapperContext);
|
|
7782
|
+
}
|
|
7783
|
+
}
|
|
7784
|
+
else {
|
|
7785
|
+
if (this._viewRef && this.templateWrapperContext) {
|
|
7786
|
+
this._updateExistingContext(this.templateWrapperContext);
|
|
7787
|
+
}
|
|
7788
|
+
}
|
|
7789
|
+
}
|
|
7790
|
+
ngOnDestroy() {
|
|
7791
|
+
if (this._viewRef) {
|
|
7792
|
+
this.viewContainer.remove(this.viewContainer.indexOf(this._viewRef));
|
|
7793
|
+
this._viewRef = undefined;
|
|
7794
|
+
}
|
|
7795
|
+
this.templateWrapper = undefined;
|
|
7796
|
+
}
|
|
7797
|
+
_shouldRecreateView(changes) {
|
|
7798
|
+
const ctxChange = changes["templateWrapperContext"];
|
|
7799
|
+
return !!changes["templateWrapper"] || (ctxChange && this._hasContextShapeChanged(ctxChange));
|
|
7800
|
+
}
|
|
7801
|
+
_hasContextShapeChanged(ctxChange) {
|
|
7802
|
+
const prevCtxKeys = Object.keys(ctxChange.previousValue || {});
|
|
7803
|
+
const currCtxKeys = Object.keys(ctxChange.currentValue || {});
|
|
7804
|
+
if (prevCtxKeys.length === currCtxKeys.length) {
|
|
7805
|
+
for (const propName of currCtxKeys) {
|
|
7806
|
+
if (prevCtxKeys.indexOf(propName) === -1) {
|
|
7807
|
+
return true;
|
|
7808
|
+
}
|
|
7809
|
+
}
|
|
7810
|
+
return false;
|
|
7811
|
+
}
|
|
7812
|
+
else {
|
|
7813
|
+
return true;
|
|
7814
|
+
}
|
|
7815
|
+
}
|
|
7816
|
+
_updateExistingContext(ctx) {
|
|
7817
|
+
for (const propName of Object.keys(ctx)) {
|
|
7818
|
+
this._viewRef.context[propName] = this.templateWrapperContext[propName];
|
|
7819
|
+
}
|
|
7820
|
+
}
|
|
7821
|
+
}
|
|
7822
|
+
TemplateWrapperDirective.decorators = [
|
|
7823
|
+
{ type: Directive, args: [{
|
|
7824
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
7825
|
+
selector: "[templateWrapper]"
|
|
7826
|
+
},] }
|
|
7827
|
+
];
|
|
7828
|
+
TemplateWrapperDirective.ctorParameters = () => [
|
|
7829
|
+
{ type: ViewContainerRef }
|
|
7830
|
+
];
|
|
7831
|
+
TemplateWrapperDirective.propDecorators = {
|
|
7832
|
+
templateWrapper: [{ type: Input }],
|
|
7833
|
+
templateWrapperContext: [{ type: Input }]
|
|
7834
|
+
};
|
|
7835
|
+
|
|
7836
|
+
class DefaultOkCancelButtonsComponent {
|
|
7837
|
+
constructor() {
|
|
7838
|
+
this.hideCancel = false;
|
|
7839
|
+
this.hideOk = false;
|
|
7840
|
+
this.okLabel = "OK";
|
|
7841
|
+
// only emits when ok button was not disabled when it was clicked
|
|
7842
|
+
this.okClick = new EventEmitter();
|
|
7843
|
+
this.cancelClick = new EventEmitter();
|
|
7844
|
+
}
|
|
7845
|
+
onOkClick(event) {
|
|
7846
|
+
if (this.okButtonComp && !this.okButtonComp.disabled) {
|
|
7847
|
+
this.okClick.emit(event);
|
|
7848
|
+
}
|
|
7849
|
+
}
|
|
7850
|
+
}
|
|
7851
|
+
DefaultOkCancelButtonsComponent.decorators = [
|
|
7852
|
+
{ type: Component, args: [{
|
|
7853
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
7854
|
+
selector: "default-ok-cancel-buttons",
|
|
7855
|
+
template: `
|
|
7856
|
+
<co-button *ngIf="!hideOk" [label]="okLabel" [disabled]="okDisabled" class="ok" #okButton (click)="onOkClick($event)"></co-button>
|
|
7857
|
+
<co-button *ngIf="!hideCancel" label="CANCEL" (click)="cancelClick.emit($event)"></co-button>
|
|
7858
|
+
<ng-content></ng-content>
|
|
7859
|
+
`,
|
|
7860
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center,:host{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}.margin-popup:host{margin-top:20px}.margin-popup:host{margin-bottom:20px}.margin-popup:host{margin-left:20px}.margin-popup:host{margin-right:20px}.margin-top:host{margin-top:11px}:host button-colijn:not(:last-child){margin-right:11px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host.justify-center{justify-content:center}\n"]
|
|
7861
|
+
},] }
|
|
7862
|
+
];
|
|
7863
|
+
DefaultOkCancelButtonsComponent.ctorParameters = () => [];
|
|
7864
|
+
DefaultOkCancelButtonsComponent.propDecorators = {
|
|
7865
|
+
okDisabled: [{ type: Input }],
|
|
7866
|
+
hideCancel: [{ type: Input }],
|
|
7867
|
+
hideOk: [{ type: Input }],
|
|
7868
|
+
okLabel: [{ type: Input }],
|
|
7869
|
+
okClick: [{ type: Output }],
|
|
7870
|
+
cancelClick: [{ type: Output }],
|
|
7871
|
+
okButtonComp: [{ type: ViewChild, args: ["okButton",] }]
|
|
7872
|
+
};
|
|
7873
|
+
|
|
7874
|
+
class WarehouseComponent {
|
|
7875
|
+
constructor(service, _dictionaryService) {
|
|
7876
|
+
this.service = service;
|
|
7877
|
+
this._dictionaryService = _dictionaryService;
|
|
7878
|
+
this.message = "";
|
|
7879
|
+
this.okClick = new EventEmitter();
|
|
7880
|
+
this.cancelClick = new EventEmitter();
|
|
7881
|
+
this.commissionCodes = [];
|
|
7882
|
+
this.commissionFields = { text: "description", value: "code" };
|
|
7883
|
+
this.transactionArticleWarehouses = [];
|
|
7884
|
+
this.columns = [];
|
|
7885
|
+
this._okOrCancelClick = false;
|
|
7886
|
+
this.columns.push({ field: "warehouseNr", headerText: this._dictionaryService.get("WAREHOUSE"), allowFiltering: false }, { field: "warehouseDesc", headerText: this._dictionaryService.get("DESCRIPTION") }, { field: "stockAmount", headerText: this._dictionaryService.get("STOCK") });
|
|
7887
|
+
}
|
|
7888
|
+
ngOnInit() {
|
|
7889
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
7890
|
+
this.commissionCodes = yield this.service.getCommissionCodes("NL");
|
|
7891
|
+
});
|
|
7892
|
+
}
|
|
7893
|
+
ngOnDestroy() {
|
|
7894
|
+
this.warehouseDialog.close();
|
|
7895
|
+
}
|
|
7896
|
+
showStockManager(line) {
|
|
7897
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
7898
|
+
this.selectedWarehouseNr = line.warehouseNumber;
|
|
7899
|
+
this.amount = line.amount;
|
|
7900
|
+
this.commissionCode = line.commissionCode;
|
|
7901
|
+
this.show(line.articleNumber);
|
|
7902
|
+
});
|
|
7903
|
+
}
|
|
7904
|
+
hide() {
|
|
7905
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
7906
|
+
if (this._okOrCancelClick) {
|
|
7907
|
+
this._okOrCancelClick = false;
|
|
7908
|
+
return;
|
|
7909
|
+
}
|
|
7910
|
+
yield this.onStockManagerCancelClick();
|
|
7911
|
+
});
|
|
7912
|
+
}
|
|
7913
|
+
show(articleNr) {
|
|
7914
|
+
this._reloadDataCollections(articleNr).then();
|
|
7915
|
+
this.warehouseGrid.selectRow(this.selectedWarehouseNr);
|
|
7916
|
+
this.warehouseDialog.targetElement = null;
|
|
7917
|
+
this.warehouseDialog.open();
|
|
7918
|
+
}
|
|
7919
|
+
handleRowsSelected(rows) {
|
|
7920
|
+
this.selectedWarehouseNr = (rows.find(x => x !== undefined)).warehouseNr;
|
|
7921
|
+
}
|
|
7922
|
+
onStockManagerCancelClick() {
|
|
7923
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
7924
|
+
this._okOrCancelClick = true;
|
|
7925
|
+
this.warehouseDialog.close();
|
|
7926
|
+
this.cancelClick.emit();
|
|
7927
|
+
});
|
|
7928
|
+
}
|
|
7929
|
+
onStockManagerOkClick() {
|
|
7930
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
7931
|
+
this._okOrCancelClick = true;
|
|
7932
|
+
this.warehouseDialog.close();
|
|
7933
|
+
this.okClick.emit();
|
|
7934
|
+
});
|
|
7935
|
+
}
|
|
7936
|
+
_reloadDataCollections(articleNr) {
|
|
7937
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
7938
|
+
const goodId = yield this.service.getGoodIdFromArticleNr(articleNr);
|
|
7939
|
+
this.transactionArticleWarehouses = yield this.service.getTransactionArticleWarehouses(goodId);
|
|
7940
|
+
});
|
|
7941
|
+
}
|
|
7942
|
+
}
|
|
7943
|
+
WarehouseComponent.decorators = [
|
|
7944
|
+
{ type: Component, args: [{
|
|
7945
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
7946
|
+
selector: "warehouse",
|
|
7947
|
+
template: `
|
|
7948
|
+
<co-dialog #warehouseDialog
|
|
7949
|
+
(closeClick)="hide()"
|
|
7950
|
+
(overlayClick)="onStockManagerCancelClick()"
|
|
7951
|
+
>
|
|
7952
|
+
<ng-container header>{{ 'STOCK_NOTIFICATION' | localize }}</ng-container>
|
|
7953
|
+
|
|
7954
|
+
<ng-container content>
|
|
7955
|
+
<co-form>
|
|
7956
|
+
<div class="form-content">
|
|
7957
|
+
<span *ngIf="message" class="message-field" [textContent]="message | localize"></span>
|
|
7958
|
+
<div class="commission-fields" fxLayout="row">
|
|
7959
|
+
<co-input-number-picker class="horizontal" [(model)]="amount" [min]="0" decimals="3"></co-input-number-picker>
|
|
7960
|
+
<co-input-combo-box [(model)]="commissionCode"
|
|
7961
|
+
[source]="commissionCodes"
|
|
7962
|
+
[fields]="commissionFields"
|
|
7963
|
+
[placeholder]="'COMMISSION_CODE' | localize"
|
|
7964
|
+
[required]="true"
|
|
7965
|
+
></co-input-combo-box>
|
|
7966
|
+
</div>
|
|
7967
|
+
<div>
|
|
7968
|
+
<co-grid #warehouseGrid
|
|
7969
|
+
[data]="transactionArticleWarehouses"
|
|
7970
|
+
[columns]="columns"
|
|
7971
|
+
[pagingEnabled]="'true'"
|
|
7972
|
+
[maxNumberOfRows]="'10'"
|
|
7973
|
+
(rowsSelected)="handleRowsSelected($event)"
|
|
7974
|
+
></co-grid>
|
|
7975
|
+
</div>
|
|
7976
|
+
</div>
|
|
7977
|
+
</co-form>
|
|
7978
|
+
</ng-container>
|
|
7979
|
+
|
|
7980
|
+
<ng-container footer>
|
|
7981
|
+
<div class="flex-center">
|
|
7982
|
+
<co-button [label]="'OK' | localize" (click)="onStockManagerOkClick()"></co-button>
|
|
7983
|
+
<co-button [label]="'CANCEL' | localize" (click)="onStockManagerCancelClick()"></co-button>
|
|
7984
|
+
</div>
|
|
7985
|
+
</ng-container>
|
|
7986
|
+
</co-dialog>
|
|
7987
|
+
`,
|
|
7988
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.flex-center,.warehouse-line-container{display:flex}.flex-center,.warehouse-line-container{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}::ng-deep #warehouseDialog ::ng-deep .form-content .message-field,.commission-fields{margin-left:11px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}::ng-deep #warehouseDialog{align-items:center;max-height:100%}::ng-deep #warehouseDialog ::ng-deep co-form{height:100%;width:500px}::ng-deep #warehouseDialog ::ng-deep .form-content{height:calc(100% - 80px);width:100%}::ng-deep #warehouseDialog ::ng-deep .form-content .message-field{height:20px;word-wrap:break-word;white-space:normal}co-button:not(:last-child){margin-right:10px}.commission-fields{justify-content:space-between;margin:10px 0}.warehouse-description-item{width:15rem}.warehouse-nr-item{width:5rem}co-input-number-picker co-button{max-width:20px}\n"]
|
|
7989
|
+
},] }
|
|
7990
|
+
];
|
|
7991
|
+
WarehouseComponent.ctorParameters = () => [
|
|
7992
|
+
{ type: TransactionService },
|
|
7993
|
+
{ type: DictionaryService }
|
|
7994
|
+
];
|
|
7995
|
+
WarehouseComponent.propDecorators = {
|
|
7996
|
+
warehouseDialog: [{ type: ViewChild, args: ["warehouseDialog",] }],
|
|
7997
|
+
warehouseGrid: [{ type: ViewChild, args: ["warehouseGrid",] }],
|
|
7998
|
+
message: [{ type: Input }],
|
|
7999
|
+
okClick: [{ type: Output }],
|
|
8000
|
+
cancelClick: [{ type: Output }]
|
|
8001
|
+
};
|
|
8002
|
+
|
|
8003
|
+
class IoneServiceOrderModule {
|
|
8004
|
+
}
|
|
8005
|
+
IoneServiceOrderModule.decorators = [
|
|
8006
|
+
{ type: NgModule, args: [{
|
|
8007
|
+
imports: [
|
|
8008
|
+
IconModule,
|
|
8009
|
+
InputTextModule,
|
|
8010
|
+
InputCheckboxModule,
|
|
8011
|
+
InputRadioButtonModule,
|
|
8012
|
+
FormModule,
|
|
8013
|
+
InputComboBoxModule,
|
|
8014
|
+
InputDatePickerModule,
|
|
8015
|
+
InputNumberPickerModule,
|
|
8016
|
+
CoDialogModule,
|
|
8017
|
+
CoDialogPromptModule,
|
|
8018
|
+
ButtonModule,
|
|
8019
|
+
FlexModule,
|
|
8020
|
+
MultiSelectListModule,
|
|
8021
|
+
DropDownModule,
|
|
8022
|
+
PopupModule.forRoot(),
|
|
8023
|
+
CoSidebarModule,
|
|
8024
|
+
CoGridModule,
|
|
8025
|
+
CoreModule,
|
|
8026
|
+
ChipListModule,
|
|
8027
|
+
DropDownButtonModule,
|
|
8028
|
+
CheckBoxModule,
|
|
8029
|
+
DropDownListModule,
|
|
8030
|
+
IoneShoppingCartModule,
|
|
8031
|
+
TabModule,
|
|
8032
|
+
CommonModule,
|
|
8033
|
+
// RichTextEditorModule
|
|
8034
|
+
],
|
|
8035
|
+
declarations: [
|
|
8036
|
+
TemplateWrapperDirective,
|
|
8037
|
+
DefaultOkCancelButtonsComponent,
|
|
8038
|
+
IoneServiceOrderComponent,
|
|
8039
|
+
ServiceOrderComponent,
|
|
8040
|
+
TransactionOrderTotalsComponent,
|
|
8041
|
+
TransactionOrderLineViewComponent,
|
|
8042
|
+
TransactionOrderLinesComponent,
|
|
8043
|
+
TransactionRelationAddressComponent,
|
|
8044
|
+
TransactionArticleTextComponent,
|
|
8045
|
+
TransactionSidebarRightComponent,
|
|
8046
|
+
TransactionLineAccordionComponent,
|
|
8047
|
+
TransactionHeaderBlockComponent,
|
|
8048
|
+
TransactionServiceSummaryComponent,
|
|
8049
|
+
TransactionSummaryBlockComponent,
|
|
8050
|
+
TransactionServiceStatusComponent,
|
|
8051
|
+
TransactionOrderSummaryComponent,
|
|
8052
|
+
TransactionPaymentInfoComponent,
|
|
8053
|
+
TransactionRelationEditComponent,
|
|
8054
|
+
TransactionArticleSummaryComponent,
|
|
8055
|
+
TransactionDeliverySummaryComponent,
|
|
8056
|
+
TransactionProductContractSummaryComponent,
|
|
8057
|
+
TransactionProductSummaryComponent,
|
|
8058
|
+
TransactionManagerComponent,
|
|
8059
|
+
WarehouseComponent,
|
|
8060
|
+
],
|
|
8061
|
+
providers: [
|
|
8062
|
+
DictionaryService,
|
|
8063
|
+
TransactionService,
|
|
8064
|
+
OptionsService,
|
|
8065
|
+
],
|
|
8066
|
+
entryComponents: [
|
|
8067
|
+
IoneServiceOrderComponent
|
|
8068
|
+
],
|
|
8069
|
+
exports: [IoneServiceOrderComponent],
|
|
8070
|
+
bootstrap: [IoneServiceOrderComponent]
|
|
8071
|
+
},] }
|
|
8072
|
+
];
|
|
8073
|
+
|
|
5499
8074
|
//export * from "./app/component/ione-transaction.module";
|
|
5500
8075
|
|
|
5501
8076
|
/**
|
|
5502
8077
|
* Generated bundle index. Do not edit.
|
|
5503
8078
|
*/
|
|
5504
8079
|
|
|
5505
|
-
export { IoneCheckoutComponent, IoneCheckoutModule, IoneShoppingCartComponent, IoneShoppingCartModule, RetailTransactionCheckoutComponent as ɵa, CheckoutComponent as ɵb, ShoppingCartManagerComponent as ɵba, ShoppingCartComponent as ɵbb, ShoppingCartLineComponent as ɵbc, StockStatusIndicatorComponent as ɵbd, CharacteristicAnswerComponent as ɵbe, CheckoutOverviewComponent as ɵc, CheckoutOverviewBlockComponent as ɵd, CheckoutOverviewRelationEditComponent as ɵe, TransactionService as ɵf, IOneConnectorAdapterService as ɵg, CheckoutOverviewDeliveryEditComponent as ɵh, DictionaryService as ɵi, CheckoutLoginComponent as ɵj, OptionsService as ɵk, TransactionEventService as ɵl, CoreModule as ɵm, AppendPipe as ɵn, DeliveryTimePipe as ɵo, DateDurationPipe as ɵp, LocalizePipe as ɵq, CoCurrencyPipe as ɵr, SafeStylePipe as ɵs, ImageDisplayComponent as ɵt, NoImageDisplayComponent as ɵu, IconComponent as ɵv, CheckoutOverviewRelationAddressComponent as ɵw, CheckoutOverviewDeliveryAddressComponent as ɵx, CheckOutRelationSuggestionsListComponent as ɵy, CheckOutRelationSuggestionsListItemComponent as ɵz };
|
|
8080
|
+
export { IoneCheckoutComponent, IoneCheckoutModule, IoneServiceOrderComponent, IoneServiceOrderModule, IoneShoppingCartComponent, IoneShoppingCartModule, RetailTransactionCheckoutComponent as ɵa, CheckoutComponent as ɵb, ShoppingCartManagerComponent as ɵba, ShoppingCartComponent as ɵbb, ShoppingCartLineComponent as ɵbc, StockStatusIndicatorComponent as ɵbd, CharacteristicAnswerComponent as ɵbe, TemplateWrapperDirective as ɵbf, DefaultOkCancelButtonsComponent as ɵbg, ServiceOrderComponent as ɵbh, TransactionBaseComponent as ɵbi, TransactionArticleTextComponent as ɵbj, TransactionManagerComponent as ɵbk, TransactionOrderTotalsComponent as ɵbl, TransactionOrderLineViewComponent as ɵbm, TransactionOrderLinesComponent as ɵbn, TransactionRelationAddressComponent as ɵbo, TransactionSidebarRightComponent as ɵbp, TransactionLineAccordionComponent as ɵbq, TransactionHeaderBlockComponent as ɵbr, TransactionRelationEditComponent as ɵbs, TransactionServiceSummaryComponent as ɵbt, TransactionSummaryBlockComponent as ɵbu, TransactionServiceStatusComponent as ɵbv, TransactionOrderSummaryComponent as ɵbw, TransactionPaymentInfoComponent as ɵbx, TransactionArticleSummaryComponent as ɵby, TransactionDeliverySummaryComponent as ɵbz, CheckoutOverviewComponent as ɵc, TransactionProductContractSummaryComponent as ɵca, TransactionProductSummaryComponent as ɵcb, WarehouseComponent as ɵcc, CheckoutOverviewBlockComponent as ɵd, CheckoutOverviewRelationEditComponent as ɵe, TransactionService as ɵf, IOneConnectorAdapterService as ɵg, CheckoutOverviewDeliveryEditComponent as ɵh, DictionaryService as ɵi, CheckoutLoginComponent as ɵj, OptionsService as ɵk, TransactionEventService as ɵl, CoreModule as ɵm, AppendPipe as ɵn, DeliveryTimePipe as ɵo, DateDurationPipe as ɵp, LocalizePipe as ɵq, CoCurrencyPipe as ɵr, SafeStylePipe as ɵs, ImageDisplayComponent as ɵt, NoImageDisplayComponent as ɵu, IconComponent as ɵv, CheckoutOverviewRelationAddressComponent as ɵw, CheckoutOverviewDeliveryAddressComponent as ɵx, CheckOutRelationSuggestionsListComponent as ɵy, CheckOutRelationSuggestionsListItemComponent as ɵz };
|
|
5506
8081
|
//# sourceMappingURL=colijnit-transaction.js.map
|