Skip to content
Code-Schnipsel Gruppen Projekte
Bestätigt Commit ae127a78 erstellt von Henning Leutz's avatar Henning Leutz :martial_arts_uniform:
Dateien durchsuchen

fix: #84

Übergeordneter 1b2cdd31
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
......@@ -14,7 +14,7 @@
QUI::$Ajax->registerFunction(
'package_quiqqer_erp_ajax_products_calc',
function ($articles, $priceFactors, $user, $currency) {
function ($articles, $priceFactors, $user, $currency, $nettoInput) {
$articles = json_decode($articles, true);
$user = json_decode($user, true);
$priceFactors = json_decode($priceFactors, true);
......@@ -36,6 +36,12 @@ function ($articles, $priceFactors, $user, $currency) {
$User = $Calc->getUser();
if ($nettoInput) {
$User->setAttribute('RUNTIME_NETTO_BRUTTO_STATUS', QUI\ERP\Utils\User::IS_NETTO_USER);
} else {
$User->setAttribute('RUNTIME_NETTO_BRUTTO_STATUS', QUI\ERP\Utils\User::IS_BRUTTO_USER);
}
$Articles = new QUI\ERP\Accounting\ArticleList($articles);
foreach ($priceFactors as $priceFactor) {
......@@ -49,7 +55,7 @@ function ($articles, $priceFactors, $user, $currency) {
try {
$Articles->setCurrency(
\QUI\ERP\Currency\Handler::getCurrency($currency)
QUI\ERP\Currency\Handler::getCurrency($currency)
);
} catch (QUI\Exception $Exception) {
}
......@@ -58,6 +64,7 @@ function ($articles, $priceFactors, $user, $currency) {
// brutto stuff (for display)
$User->setAttribute('RUNTIME_NETTO_BRUTTO_STATUS', QUI\ERP\Utils\User::IS_BRUTTO_USER);
$Calc->setUser($User);
$Articles->setUser($User);
$Articles->recalculate($Calc);
......@@ -121,6 +128,6 @@ function ($articles, $priceFactors, $user, $currency) {
return $result;
},
['articles', 'priceFactors', 'user', 'currency'],
['articles', 'priceFactors', 'user', 'currency', 'nettoInput'],
'Permission::checkAdminUser'
);
......@@ -14,6 +14,7 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleList', [
'qui/QUI',
'qui/controls/Control',
'qui/controls/buttons/Switch',
'qui/controls/loader/Loader',
'Mustache',
'Ajax',
'Locale',
......@@ -26,7 +27,7 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleList', [
'text!package/quiqqer/erp/bin/backend/controls/articles/ArticleList.sortablePlaceholder.html',
'css!package/quiqqer/erp/bin/backend/controls/articles/ArticleList.css'
], function (QUI, QUIControl, QUISwitch, Mustache,
], function (QUI, QUIControl, QUISwitch, QUILoader, Mustache,
QUIAjax, QUILocale, AddProductWindow, Article, Sortables, template, templateSortablePlaceholder) {
"use strict";
......@@ -114,6 +115,8 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleList', [
})
});
this.$Loader = new QUILoader().inject(this.$Elm);
if (this.getAttribute('styles')) {
this.setStyles(this.getAttribute('styles'));
}
......@@ -128,8 +131,12 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleList', [
switchTextOffIcon: false,
events : {
onChange: function () {
self.$Loader.show();
self.setAttribute('nettoinput', !!self.$Switch.getStatus());
self.$refreshNettoBruttoDisplay();
self.$calc().then(() => {
self.$Loader.hide();
});
}
}
}).inject(
......@@ -205,7 +212,7 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleList', [
unserialize: function (list) {
const self = this;
let data = {};
if (typeOf(list) === 'string') {
try {
data = JSON.stringify(list);
......@@ -384,16 +391,18 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleList', [
* Calculate the list
*/
$calc: function () {
if (this.$calculationTimer) {
clearTimeout(this.$calculationTimer);
this.$calculationTimer = null;
}
return new Promise((resolve) => {
if (this.$calculationTimer) {
clearTimeout(this.$calculationTimer);
this.$calculationTimer = null;
}
const self = this;
const self = this;
this.$calculationTimer = (function () {
self.$executeCalculation();
}).delay(500);
this.$calculationTimer = (function () {
self.$executeCalculation().then(resolve);
}).delay(500);
});
},
/**
......@@ -435,6 +444,8 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleList', [
QUIAjax.get('package_quiqqer_erp_ajax_products_calc', (result) => {
this.$calculations = result;
this.$priceFactors = result.priceFactors;
this.$isIncalculationFrame = true;
this.$calculationRunning = false;
......@@ -455,6 +466,7 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleList', [
priceFactors: JSON.encode(this.getPriceFactors()),
user : JSON.encode(this.$user),
currency : this.getAttribute('currency'),
nettoInput : this.getAttribute('nettoinput') ? 1 : 0,
onError : function (err) {
console.error(err);
reject();
......
......@@ -248,7 +248,7 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleSummary', [
}
let calc = calculated.calculations;
this.getCurrencyFormatter().then((Formatter) => {
if (this.getAttribute('showPosSummary')) {
if (!(ArticleInstance instanceof Article)) {
......@@ -332,7 +332,7 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleSummary', [
sum : this.$Formatter.format(val[1].sum)
};
});
this.$PriceFactors.set('html', Mustache.render(templatePriceFactor, {
valueSubSum : calculated.calculations.display_subSum,
valueSum : calculated.calculations.display_sum,
......
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren