diff --git a/Layout/default/VueViews/Vue.php b/Layout/default/VueViews/Vue.php
index 35a73afdd..5869d53b1 100644
--- a/Layout/default/VueViews/Vue.php
+++ b/Layout/default/VueViews/Vue.php
@@ -21,6 +21,7 @@ $additionalCSS = [
...$additionalCSS,
'plugins/daterangepicker/daterangepicker.css',
'plugins/vue/tt-components/css/tt-table.css',
+ 'plugins/vue/tt-components/css/tt-tooltip.css',
'plugins/vue/tt-components/css/tt-loader.css',
'plugins/vue/tt-components/css/tt-position-manager.css',
];
diff --git a/application/WarehouseShippingNote/WarehouseShippingNoteController.php b/application/WarehouseShippingNote/WarehouseShippingNoteController.php
index fe0e2398f..7936fc276 100644
--- a/application/WarehouseShippingNote/WarehouseShippingNoteController.php
+++ b/application/WarehouseShippingNote/WarehouseShippingNoteController.php
@@ -16,7 +16,7 @@ class WarehouseShippingNoteController extends TTCrud {
['value' => 'cancelled', 'text' => 'Storniert', 'icon' => 'fas fa-ban text-danger'],
['value' => 'on_hold', 'text' => 'In Wartestellung', 'icon' => 'fas fa-pause text-warning'],
]]],
- ['key' => 'type', 'text' => 'Typ', 'required' => true],
+ ['key' => 'type', 'text' => 'Typ', 'required' => false],
['key' => 'deliveryAddressName', 'text' => 'L.-Adr. Name', 'required' => true],
['key' => 'deliveryAddressLine', 'text' => 'L.-Adr.', 'required' => true],
['key' => 'deliveryAddressPLZ', 'text' => 'L.-Adr. PLZ', 'required' => true],
diff --git a/public/bundler.php b/public/bundler.php
index 9bd9e99eb..2f6228deb 100644
--- a/public/bundler.php
+++ b/public/bundler.php
@@ -48,6 +48,7 @@ $jsFiles = [
"plugins/vue/tt-components/tt-checkbox.js",
"plugins/vue/tt-components/tt-textarea.js",
"plugins/vue/tt-components/tt-position-manager.js",
+ "plugins/vue/tt-components/tt-tooltip.js",
];
diff --git a/public/js/pages/WarehouseOrder/WarehouseOrder.js b/public/js/pages/WarehouseOrder/WarehouseOrder.js
index 7d958f542..bb8b9b4e7 100644
--- a/public/js/pages/WarehouseOrder/WarehouseOrder.js
+++ b/public/js/pages/WarehouseOrder/WarehouseOrder.js
@@ -373,23 +373,26 @@ Vue.component('warehouse-order-modal', {
return;
}
- const orderRequest = JSON.parse(localStorage.getItem('WarehouseOrder_create'));
- if (!orderRequest) return;
+ const orderRequests = JSON.parse(localStorage.getItem('WarehouseOrder_create'));
+ if (!orderRequests) return;
- const positions = JSON.parse(orderRequest.positions);
- this.order.positions = await Promise.all(positions.map(async p => {
- const distributor = (await axios.get(`${window.TT_CONFIG.BASE_PATH}/WarehouseOrder/getArticleDistributorData`,
- {params: {articleId: p.articleId}})).data[0];
- return {
- article: p.articleId,
- amount: p.amount,
- buyPrice: distributor.purchasePrice,
- distributorId: distributor.id,
- distributorArticleNumber: distributor.externalArticleNumber,
- verwendung: `${p.hasOwnProperty('purpose') ? p.purpose : ''} [Bestellwunsch: #${orderRequest.id}]`,
- linkedOrderRequestId: orderRequest.id
- };
- }));
+ for (const orderRequest of orderRequests) {
+ const positions = JSON.parse(orderRequest.positions);
+ const parsedPositions = await Promise.all(positions.map(async p => {
+ const distributor = (await axios.get(`${window.TT_CONFIG.BASE_PATH}/WarehouseOrder/getArticleDistributorData`,
+ {params: {articleId: p.articleId}})).data[0];
+ return {
+ article: p.articleId,
+ amount: p.amount,
+ buyPrice: distributor.purchasePrice,
+ distributorId: distributor.id,
+ distributorArticleNumber: distributor.externalArticleNumber,
+ verwendung: `${p.hasOwnProperty('purpose') ? p.purpose : ''} [Bestellwunsch: #${orderRequest.id}]`,
+ linkedOrderRequestId: orderRequest.id
+ };
+ }));
+ this.order.positions = [...this.order.positions, ...parsedPositions];
+ }
localStorage.removeItem('WarehouseOrder_create');
},
diff --git a/public/js/pages/WarehouseOrderRequest/WarehouseOrderRequest.js b/public/js/pages/WarehouseOrderRequest/WarehouseOrderRequest.js
index 3a1b94baf..13cb73efb 100644
--- a/public/js/pages/WarehouseOrderRequest/WarehouseOrderRequest.js
+++ b/public/js/pages/WarehouseOrderRequest/WarehouseOrderRequest.js
@@ -17,8 +17,8 @@ window.TT_CONFIG["CRUD_CONFIG"]["additionalActions"] = [
condition: (row) => window.TT_CONFIG['WAREHOUSE_ADMIN'] === '1' && row.cancelled === 1,
},
{
- key: "createOrder",
- title: "Bestellung erstellen",
+ key: "addOrderToCart",
+ title: "Bestellung in den Warenkorb",
class: "fas fa-shopping-cart text-primary", // Use shopping-cart to indicate order creation
condition: (row) => window.TT_CONFIG['WAREHOUSE_ADMIN'] === '1'
&& row.cancelled === 0 && (!row.linkedOrderIds || row.linkedOrderIds.length === 0)
@@ -203,7 +203,18 @@ Vue.component('warehouse-order-request', {
@undoneOrder="undoneOrder"
@createLog="createLog"
@createOrder="createOrder"
+ @addOrderToCart="addOrderToCart"
ref="crud">
+
+