@senior-gestao-empresarial/erpx-components 4.11.0 → 4.12.1-develop-774d30bd
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/bundles/senior-gestao-empresarial-erpx-components.umd.js +54 -38
- package/bundles/senior-gestao-empresarial-erpx-components.umd.js.map +1 -1
- package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js +1 -1
- package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js.map +1 -1
- package/components/rateio-editor/erp-rateio-editor.component.d.ts +3 -11
- package/esm2015/components/rateio-editor/erp-rateio-editor.component.js +27 -34
- package/esm2015/locale/fallback.js +28 -2
- package/esm5/components/rateio-editor/erp-rateio-editor.component.js +28 -38
- package/esm5/locale/fallback.js +28 -2
- package/fesm2015/senior-gestao-empresarial-erpx-components.js +53 -34
- package/fesm2015/senior-gestao-empresarial-erpx-components.js.map +1 -1
- package/fesm5/senior-gestao-empresarial-erpx-components.js +54 -38
- package/fesm5/senior-gestao-empresarial-erpx-components.js.map +1 -1
- package/locale/fallback.d.ts +26 -0
- package/package.json +1 -1
- package/senior-gestao-empresarial-erpx-components.metadata.json +1 -1
|
@@ -33427,20 +33427,6 @@
|
|
|
33427
33427
|
enumerable: true,
|
|
33428
33428
|
configurable: true
|
|
33429
33429
|
});
|
|
33430
|
-
Object.defineProperty(ErpRateioEditorComponent.prototype, "requiresCentroCusto", {
|
|
33431
|
-
/**
|
|
33432
|
-
* Indica se o critério de rateio exige distribuição por centro de custo.
|
|
33433
|
-
* O critério 'V5' (Nenhum) não distribui por C. Custos; os demais exigem
|
|
33434
|
-
* ao menos um centro de custo por conta financeira.
|
|
33435
|
-
*/
|
|
33436
|
-
get: function () {
|
|
33437
|
-
var _a, _b;
|
|
33438
|
-
var criterio = (_b = (_a = this.loadedContext) === null || _a === void 0 ? void 0 : _a.criRat) !== null && _b !== void 0 ? _b : this.criRat;
|
|
33439
|
-
return criterio !== ErpRateioEditorComponent_1.CRITERIO_SEM_CENTRO_CUSTO;
|
|
33440
|
-
},
|
|
33441
|
-
enumerable: true,
|
|
33442
|
-
configurable: true
|
|
33443
|
-
});
|
|
33444
33430
|
Object.defineProperty(ErpRateioEditorComponent.prototype, "valorBase", {
|
|
33445
33431
|
get: function () {
|
|
33446
33432
|
var _a, _b;
|
|
@@ -33470,15 +33456,12 @@
|
|
|
33470
33456
|
Object.defineProperty(ErpRateioEditorComponent.prototype, "valorRestanteDisplay", {
|
|
33471
33457
|
/**
|
|
33472
33458
|
* Valor restante a ser exibido nos cards de resumo.
|
|
33473
|
-
*
|
|
33474
|
-
*
|
|
33475
|
-
*
|
|
33459
|
+
* Considera o total já distribuído nos centros de custo de todas as contas
|
|
33460
|
+
* (e não o total das contas financeiras), refletindo a distribuição real
|
|
33461
|
+
* ponta-a-ponta — centro de custo é sempre obrigatório.
|
|
33476
33462
|
*/
|
|
33477
33463
|
get: function () {
|
|
33478
33464
|
var _a;
|
|
33479
|
-
if (!this.requiresCentroCusto) {
|
|
33480
|
-
return this.valorRestante;
|
|
33481
|
-
}
|
|
33482
33465
|
var totalCC = this.contasDataSource.reduce(function (acc, conta) { return acc + (conta.rateiosCCusto || []).reduce(function (ccAcc, cc) { return ccAcc + (cc.valor || 0); }, 0); }, 0);
|
|
33483
33466
|
return +(this.valorBase - totalCC).toFixed((_a = this.config.currencyScale) !== null && _a !== void 0 ? _a : 2);
|
|
33484
33467
|
},
|
|
@@ -33492,9 +33475,6 @@
|
|
|
33492
33475
|
*/
|
|
33493
33476
|
get: function () {
|
|
33494
33477
|
var _a;
|
|
33495
|
-
if (!this.requiresCentroCusto) {
|
|
33496
|
-
return this.percentualRestante;
|
|
33497
|
-
}
|
|
33498
33478
|
if (!this.valorBase) {
|
|
33499
33479
|
return 0;
|
|
33500
33480
|
}
|
|
@@ -33582,7 +33562,7 @@
|
|
|
33582
33562
|
if (this.effectiveReadOnly) {
|
|
33583
33563
|
return;
|
|
33584
33564
|
}
|
|
33585
|
-
if (this.
|
|
33565
|
+
if (this.hasContaSemCentroCusto()) {
|
|
33586
33566
|
var message = this.translate.instant('erpx.rateio_editor.erro_centro_custo_obrigatorio');
|
|
33587
33567
|
this.messageService.add({
|
|
33588
33568
|
severity: 'error',
|
|
@@ -33732,8 +33712,8 @@
|
|
|
33732
33712
|
this.selectedConta = contaValue;
|
|
33733
33713
|
this.contaDialogFormGroup = this.fb.group({
|
|
33734
33714
|
contaFinanceira: [{ value: contaValue, disabled: this.editingContaIndex != null }, forms.Validators.required],
|
|
33735
|
-
percentual: [{ value: percentualValue, disabled: false }, forms.Validators.required],
|
|
33736
|
-
valor: [{ value: valorValue, disabled: false }, [forms.Validators.required, forms.Validators.max(
|
|
33715
|
+
percentual: [{ value: percentualValue, disabled: false }, [forms.Validators.required, forms.Validators.max(remainingPct)]],
|
|
33716
|
+
valor: [{ value: valorValue, disabled: false }, [forms.Validators.required, forms.Validators.max(remainingValor)]]
|
|
33737
33717
|
});
|
|
33738
33718
|
this.contaDialogFormGroup.get('contaFinanceira').valueChanges
|
|
33739
33719
|
.pipe(operators.takeUntil(this.ngUnsubscribe))
|
|
@@ -33744,7 +33724,7 @@
|
|
|
33744
33724
|
};
|
|
33745
33725
|
ErpRateioEditorComponent.prototype.onSaveContaDialog = function () {
|
|
33746
33726
|
var _this = this;
|
|
33747
|
-
var _a, _b, _c;
|
|
33727
|
+
var _a, _b, _c, _d, _e;
|
|
33748
33728
|
if (this.contaDialogFormGroup.invalid) {
|
|
33749
33729
|
return;
|
|
33750
33730
|
}
|
|
@@ -33769,6 +33749,12 @@
|
|
|
33769
33749
|
var conta = this.contasDataSource[this.editingContaIndex];
|
|
33770
33750
|
conta.percentual = percentual;
|
|
33771
33751
|
conta.valorRateadoConta = valor;
|
|
33752
|
+
// Recalcula os valores dos CCs proporcionalmente ao novo valor da conta,
|
|
33753
|
+
// mantendo os percentuais intactos.
|
|
33754
|
+
if ((_d = conta.rateiosCCusto) === null || _d === void 0 ? void 0 : _d.length) {
|
|
33755
|
+
var currencyScale_1 = (_e = this.config.currencyScale) !== null && _e !== void 0 ? _e : 2;
|
|
33756
|
+
conta.rateiosCCusto = conta.rateiosCCusto.map(function (cc) { return (__assign(__assign({}, cc), { valor: +((cc.percentual / 100) * valor).toFixed(currencyScale_1) })); });
|
|
33757
|
+
}
|
|
33772
33758
|
this.contasDataSource = __spread(this.contasDataSource);
|
|
33773
33759
|
}
|
|
33774
33760
|
else {
|
|
@@ -33933,6 +33919,9 @@
|
|
|
33933
33919
|
this.empresaId = (_c = (_b = (_a = this.initialContext) === null || _a === void 0 ? void 0 : _a.e070fil) === null || _b === void 0 ? void 0 : _b.e070emp) === null || _c === void 0 ? void 0 : _c.id;
|
|
33934
33920
|
}
|
|
33935
33921
|
this.gridColumns = this.getGridColumns();
|
|
33922
|
+
// Emite o estado de validade já na carga inicial (sem marcar como "sujo"),
|
|
33923
|
+
// permitindo que o host conheça o isValid mesmo sem o usuário editar.
|
|
33924
|
+
this.emitChange(false);
|
|
33936
33925
|
};
|
|
33937
33926
|
ErpRateioEditorComponent.prototype.carregarRateio = function () {
|
|
33938
33927
|
var _this = this;
|
|
@@ -33947,6 +33936,8 @@
|
|
|
33947
33936
|
_this.empresaId = output.e070fil.e070emp.id;
|
|
33948
33937
|
}
|
|
33949
33938
|
_this.gridColumns = _this.getGridColumns();
|
|
33939
|
+
// Emite o estado de validade do rateio carregado (sem marcar como "sujo").
|
|
33940
|
+
_this.emitChange(false);
|
|
33950
33941
|
}, function (err) { var _a; return _this.error.emit({ operacao: 'load', message: ((_a = err === null || err === void 0 ? void 0 : err.error) === null || _a === void 0 ? void 0 : _a.message) || (err === null || err === void 0 ? void 0 : err.message) || _this.translate.instant('erpx.rateio_editor.erro_carregar'), originalError: err }); });
|
|
33951
33942
|
};
|
|
33952
33943
|
ErpRateioEditorComponent.prototype.popularComRateios = function (rateios) {
|
|
@@ -33986,8 +33977,8 @@
|
|
|
33986
33977
|
var _a, _b;
|
|
33987
33978
|
var ccs = conta.rateiosCCusto || [];
|
|
33988
33979
|
if (ccs.length === 0) {
|
|
33989
|
-
//
|
|
33990
|
-
return
|
|
33980
|
+
// Centro de custo é sempre obrigatório: conta sem nenhum CC nunca é completa.
|
|
33981
|
+
return false;
|
|
33991
33982
|
}
|
|
33992
33983
|
var somaPct = ccs.reduce(function (acc, cc) { return acc + (cc.percentual || 0); }, 0);
|
|
33993
33984
|
var somaValor = ccs.reduce(function (acc, cc) { return acc + (cc.valor || 0); }, 0);
|
|
@@ -34104,14 +34095,15 @@
|
|
|
34104
34095
|
};
|
|
34105
34096
|
ErpRateioEditorComponent.prototype.getGridColumns = function () {
|
|
34106
34097
|
return [
|
|
34107
|
-
{ field: 'contaFinanceira', header:
|
|
34108
|
-
{ field: 'percentual', header:
|
|
34109
|
-
{ field: 'valorRateadoConta', header:
|
|
34098
|
+
{ field: 'contaFinanceira', header: 'erpx.rateio_editor.conta_financeira' },
|
|
34099
|
+
{ field: 'percentual', header: 'erpx.rateio_editor.percentual' },
|
|
34100
|
+
{ field: 'valorRateadoConta', header: 'erpx.rateio_editor.valor' }
|
|
34110
34101
|
];
|
|
34111
34102
|
};
|
|
34112
|
-
ErpRateioEditorComponent.prototype.emitChange = function () {
|
|
34103
|
+
ErpRateioEditorComponent.prototype.emitChange = function (isDirty) {
|
|
34104
|
+
if (isDirty === void 0) { isDirty = true; }
|
|
34113
34105
|
this.change.emit({
|
|
34114
|
-
isDirty:
|
|
34106
|
+
isDirty: isDirty,
|
|
34115
34107
|
isValid: this.isDistribuicaoCompleta(),
|
|
34116
34108
|
rateios: this.contasDataSource
|
|
34117
34109
|
});
|
|
@@ -34119,8 +34111,6 @@
|
|
|
34119
34111
|
var ErpRateioEditorComponent_1;
|
|
34120
34112
|
/** Valor de anaSin que indica registro sintético (não analítico). */
|
|
34121
34113
|
ErpRateioEditorComponent.ANA_SIN_SINTETICO = 'VS';
|
|
34122
|
-
/** Critério de rateio que não distribui por centro de custo (Nenhum). */
|
|
34123
|
-
ErpRateioEditorComponent.CRITERIO_SEM_CENTRO_CUSTO = 'V5';
|
|
34124
34114
|
ErpRateioEditorComponent.ctorParameters = function () { return [
|
|
34125
34115
|
{ type: forms.FormBuilder },
|
|
34126
34116
|
{ type: ErpRateioEditorService },
|
|
@@ -34204,7 +34194,7 @@
|
|
|
34204
34194
|
ErpRateioEditorComponent = ErpRateioEditorComponent_1 = __decorate([
|
|
34205
34195
|
core.Component({
|
|
34206
34196
|
selector: 'erp-rateio-editor',
|
|
34207
|
-
template: "<s-loading-state [loading]=\"loading\" [blockWindow]=\"true\">\n <!-- Se\u00E7\u00E3o 1: Informa\u00E7\u00F5es do movimento -->\n <div class=\"sds-section-title\" *ngIf=\"isReady\">\n {{ 'erpx.rateio_editor.titulo' | translate }}\n </div>\n\n <div class=\"ui-g custom-stats\" *ngIf=\"isReady\">\n <div class=\"ui-sm-12 ui-md-4\">\n <s-stats-card\n [animateNumbers]=\"true\"\n color=\"#0C9348\"\n [lightMode]=\"true\"\n [lightVersion]=\"true\"\n iconClass=\"far fa-dollar-sign\"\n [label]=\"'erpx.rateio_editor.valor_base' | translate\"\n [value]=\"valorBase | numeric:numberFormatOptions | async\"\n ></s-stats-card>\n </div>\n <div class=\"ui-sm-12 ui-md-4\">\n <s-stats-card\n [animateNumbers]=\"true\"\n color=\"#428BCA\"\n [lightMode]=\"true\"\n [lightVersion]=\"true\"\n iconClass=\"far fa-percent\"\n [label]=\"'erpx.rateio_editor.percentual_restante' | translate\"\n [value]=\"percentualRestanteDisplay + '%'\"\n ></s-stats-card>\n </div>\n <div class=\"ui-sm-12 ui-md-4\">\n <s-stats-card\n [animateNumbers]=\"true\"\n [color]=\"distribuicaoCompleta ? '#0C9348' : '#C13018'\"\n [lightMode]=\"true\"\n [lightVersion]=\"true\"\n iconClass=\"far fa-dollar-sign\"\n [label]=\"'erpx.rateio_editor.valor_restante' | translate\"\n [value]=\"valorRestanteDisplay | numeric:numberFormatOptions | async\"\n ></s-stats-card>\n </div>\n </div>\n\n <!-- Se\u00E7\u00E3o 2: Tabela de rateios -->\n <div class=\"sds-section-title\" *ngIf=\"isReady\">\n {{ 'erpx.rateio_editor.lista_rateios' | translate }}\n </div>\n\n <s-empty-state\n *ngIf=\"isReady && contasDataSource?.length === 0\"\n iconClass=\"far fa-dollar-sign\"\n [title]=\"'erpx.rateio_editor.sem_rateios_titulo' | translate\"\n [description]=\"'erpx.rateio_editor.sem_rateios_descricao' | translate\"\n [showPrimaryAction]=\"!effectiveReadOnly\"\n [primaryActionLabel]=\"'erpx.rateio_editor.adicionar_conta' | translate\"\n (primaryAction)=\"openContaDialog()\"\n [showSecondaryAction]=\"!effectiveReadOnly && showSugestaoButton\"\n [secondaryActionLabel]=\"'erpx.rateio_editor.sugerir_rateio' | translate\"\n (secondaryAction)=\"onSugerir()\"\n ></s-empty-state>\n\n <div class=\"ui-g\" *ngIf=\"isReady && contasDataSource?.length > 0\">\n <div class=\"ui-g-12\" *ngIf=\"!effectiveReadOnly\">\n <s-button\n [label]=\"'erpx.rateio_editor.adicionar_conta' | translate\"\n iconClass=\"fa fa-plus\"\n (onClick)=\"openContaDialog()\"\n ></s-button>\n <s-button\n *ngIf=\"showSugestaoButton\"\n [label]=\"'erpx.rateio_editor.sugerir_rateio' | translate\"\n [priority]=\"ButtonPriority.Secondary\"\n iconClass=\"fa fa-magic\"\n (onClick)=\"onSugerir()\"\n ></s-button>\n <s-button\n [label]=\"'erpx.rateio_editor.remover_conta' | translate\"\n [priority]=\"ButtonPriority.Secondary\"\n (onClick)=\"onDeleteSelected()\"\n [disabled]=\"!selection.length\"\n ></s-button>\n </div>\n\n <div class=\"ui-g-12\">\n <p-table\n #tableRateio\n [value]=\"contasDataSource\"\n [columns]=\"gridColumns\"\n dataKey=\"idContaFinanceira\"\n [resizableColumns]=\"true\"\n [totalRecords]=\"contasDataSource.length\"\n [(selection)]=\"selection\"\n [paginator]=\"false\"\n [rows]=\"10\"\n >\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th scope=\"col\" style=\"width: 3em\"></th>\n <th scope=\"col\" class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableHeaderCheckbox *ngIf=\"!effectiveReadOnly\"></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns\" scope=\"col\" pResizableColumn>\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.header }}</span>\n </div>\n </th>\n <th scope=\"col\" *ngIf=\"!effectiveReadOnly\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ 'erpx.rateio_editor.acoes' | translate }}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\" let-expanded=\"expanded\">\n <tr>\n <td style=\"width: 3em; text-align: center\">\n <a *ngIf=\"rowData.rateiosCCusto?.length || (!effectiveReadOnly && requiresCentroCusto)\" [pRowToggler]=\"rowData\" role=\"button\" tabindex=\"0\">\n <i [class]=\"expanded ? 'fa fa-minus' : 'fa fa-plus'\"></i>\n </a>\n </td>\n <td class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableCheckbox *ngIf=\"!effectiveReadOnly\" [value]=\"rowData\"></p-tableCheckbox>\n </td>\n <td>{{ rowData.contaFinanceira || rowData.idContaFinanceira }}</td>\n <td style=\"text-align: right\">{{ rowData.percentual }}</td>\n <td style=\"text-align: right\">{{ rowData.valorRateadoConta | numeric:numberFormatOptions | async }}</td>\n <td *ngIf=\"!effectiveReadOnly\">\n <s-button\n [auxiliary]=\"true\"\n [priority]=\"ButtonPriority.Default\"\n [size]=\"ButtonSize.Small\"\n iconClass=\"fa fa-pencil\"\n [label]=\"'erpx.rateio_editor.editar' | translate\"\n (onClick)=\"openContaDialog(getContaIndex(rowData))\"\n ></s-button>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"rowexpansion\" let-rowData let-rowIndex=\"rowIndex\">\n <tr>\n <td [attr.colspan]=\"effectiveReadOnly ? gridColumns.length + 2 : gridColumns.length + 3\">\n <div class=\"ui-g\" style=\"padding: 8px 16px\">\n <div class=\"ui-g-12 rateio-cc-toolbar\" *ngIf=\"!effectiveReadOnly\">\n <s-button\n [label]=\"'erpx.rateio_editor.adicionar_centro_custo' | translate\"\n iconClass=\"fa fa-plus\"\n (onClick)=\"openCCDialog(getContaIndex(rowData))\"\n ></s-button>\n <s-button\n [label]=\"'erpx.rateio_editor.remover_centro_custo' | translate\"\n [priority]=\"ButtonPriority.Secondary\"\n (onClick)=\"onDeleteSelectedCC(rowData)\"\n [disabled]=\"!(ccSelection[rowData.idContaFinanceira]?.length)\"\n ></s-button>\n </div>\n <div class=\"ui-g-12\">\n <p-table\n [value]=\"rowData.rateiosCCusto\"\n dataKey=\"idCentroCusto\"\n [(selection)]=\"ccSelection[rowData.idContaFinanceira]\"\n [responsive]=\"true\"\n >\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"col\" class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableHeaderCheckbox *ngIf=\"!effectiveReadOnly\"></p-tableHeaderCheckbox>\n </th>\n <th scope=\"col\">{{ 'erpx.rateio_editor.centro_custo' | translate }}</th>\n <th scope=\"col\">{{ 'erpx.rateio_editor.percentual' | translate }}</th>\n <th scope=\"col\">{{ 'erpx.rateio_editor.valor' | translate }}</th>\n <th scope=\"col\" *ngIf=\"!effectiveReadOnly\">{{ 'erpx.rateio_editor.acoes' | translate }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-cc let-ccIndex=\"rowIndex\">\n <tr>\n <td class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableCheckbox *ngIf=\"!effectiveReadOnly\" [value]=\"cc\"></p-tableCheckbox>\n </td>\n <td>{{ cc.descCCusto || cc.idCentroCusto }}</td>\n <td style=\"text-align: right\">{{ cc.percentual }}</td>\n <td style=\"text-align: right\">{{ cc.valor | numeric:numberFormatOptions | async }}</td>\n <td *ngIf=\"!effectiveReadOnly\">\n <s-button\n [auxiliary]=\"true\"\n [priority]=\"ButtonPriority.Default\"\n [size]=\"ButtonSize.Small\"\n iconClass=\"fa fa-pencil\"\n [label]=\"'erpx.rateio_editor.editar' | translate\"\n (onClick)=\"openCCDialog(getContaIndex(rowData), getCCIndex(rowData, cc))\"\n ></s-button>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td [attr.colspan]=\"effectiveReadOnly ? 3 : 5\">\n {{ 'erpx.rateio_editor.sem_centros_custo' | translate }}\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <!-- Bot\u00F5es de a\u00E7\u00E3o -->\n <div *ngIf=\"isReady\" class=\"ui-g rateio-editor-actions\">\n <div class=\"ui-g-12\">\n <s-button\n *ngIf=\"!effectiveReadOnly && !isStandalone\"\n priority=\"primary\"\n iconClass=\"fa fa-check\"\n [label]=\"'erpx.rateio_editor.salvar' | translate\"\n (onClick)=\"onSalvar()\"\n ></s-button>\n </div>\n </div>\n</s-loading-state>\n\n<!-- Modal: Adicionar/Editar Conta Financeira -->\n<p-dialog\n [header]=\"'erpx.rateio_editor.adicionar_conta' | translate\"\n appendTo=\"body\"\n [modal]=\"true\"\n [(visible)]=\"displayContaDialog\"\n (onHide)=\"onHideContaDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"false\"\n styleClass=\"custom-dialog\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n [style]=\"{width: '40%'}\"\n>\n <form *ngIf=\"contaDialogFormGroup\" [formGroup]=\"contaDialogFormGroup\" (ngSubmit)=\"onSaveContaDialog()\">\n <div class=\"ui-fluid\">\n <s-dynamic-form\n [fields]=\"contaDialogFields\"\n [form]=\"contaDialogFormGroup\"\n [errorMessages]=\"{\n required: ('erpx.rateio_editor.erro_obrigatorio' | translate),\n duplicate: ('erpx.rateio_editor.conta_duplicada' | translate),\n contaSintetica: ('erpx.rateio_editor.erro_conta_sintetica' | translate),\n max: ('erpx.rateio_editor.erro_valor_maximo_conta' | translate)\n }\"\n ></s-dynamic-form>\n </div>\n </form>\n <p-footer>\n <s-button\n id=\"dialog-conta-save\"\n type=\"button\"\n priority=\"primary\"\n [label]=\"'erpx.rateio_editor.salvar' | translate\"\n (onClick)=\"onSaveContaDialog()\"\n ></s-button>\n <s-button\n id=\"dialog-conta-cancel\"\n type=\"button\"\n priority=\"secondary\"\n [label]=\"'erpx.rateio_editor.cancelar' | translate\"\n (onClick)=\"onHideContaDialog()\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<!-- Modal: Adicionar/Editar Centro de Custo -->\n<p-dialog\n [header]=\"'erpx.rateio_editor.adicionar_centro_custo' | translate\"\n appendTo=\"body\"\n [modal]=\"true\"\n [(visible)]=\"displayCCDialog\"\n (onHide)=\"onHideCCDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"false\"\n styleClass=\"custom-dialog\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n [style]=\"{width: '40%'}\"\n>\n <form *ngIf=\"ccDialogFormGroup\" [formGroup]=\"ccDialogFormGroup\" (ngSubmit)=\"onSaveCCDialog()\">\n <div class=\"ui-fluid\">\n <s-dynamic-form\n [fields]=\"ccDialogFields\"\n [form]=\"ccDialogFormGroup\"\n [errorMessages]=\"{\n required: ('erpx.rateio_editor.erro_obrigatorio' | translate),\n duplicate: ('erpx.rateio_editor.centro_custo_duplicado' | translate),\n centroCustoInvalido: ('erpx.rateio_editor.erro_centro_custo_invalido' | translate),\n max: ('erpx.rateio_editor.erro_maximo_centro_custo' | translate)\n }\"\n ></s-dynamic-form>\n </div>\n </form>\n <p-footer>\n <s-button\n id=\"dialog-cc-save\"\n type=\"button\"\n priority=\"primary\"\n [label]=\"'erpx.rateio_editor.salvar' | translate\"\n (onClick)=\"onSaveCCDialog()\"\n ></s-button>\n <s-button\n id=\"dialog-cc-cancel\"\n type=\"button\"\n priority=\"secondary\"\n [label]=\"'erpx.rateio_editor.cancelar' | translate\"\n (onClick)=\"onHideCCDialog()\"\n ></s-button>\n </p-footer>\n</p-dialog>\n",
|
|
34197
|
+
template: "<s-loading-state [loading]=\"loading\" [blockWindow]=\"true\">\n <!-- Se\u00E7\u00E3o 1: Informa\u00E7\u00F5es do movimento -->\n <div class=\"sds-section-title\" *ngIf=\"isReady\">\n {{ 'erpx.rateio_editor.titulo' | translate }}\n </div>\n\n <div class=\"ui-g custom-stats\" *ngIf=\"isReady\">\n <div class=\"ui-sm-12 ui-md-4\">\n <s-stats-card\n [animateNumbers]=\"true\"\n color=\"#0C9348\"\n [lightMode]=\"true\"\n [lightVersion]=\"true\"\n iconClass=\"far fa-dollar-sign\"\n [label]=\"'erpx.rateio_editor.valor_base' | translate\"\n [value]=\"valorBase | numeric:numberFormatOptions | async\"\n ></s-stats-card>\n </div>\n <div class=\"ui-sm-12 ui-md-4\">\n <s-stats-card\n [animateNumbers]=\"true\"\n color=\"#428BCA\"\n [lightMode]=\"true\"\n [lightVersion]=\"true\"\n iconClass=\"far fa-percent\"\n [label]=\"'erpx.rateio_editor.percentual_restante' | translate\"\n [value]=\"percentualRestanteDisplay + '%'\"\n ></s-stats-card>\n </div>\n <div class=\"ui-sm-12 ui-md-4\">\n <s-stats-card\n [animateNumbers]=\"true\"\n [color]=\"distribuicaoCompleta ? '#0C9348' : '#C13018'\"\n [lightMode]=\"true\"\n [lightVersion]=\"true\"\n iconClass=\"far fa-dollar-sign\"\n [label]=\"'erpx.rateio_editor.valor_restante' | translate\"\n [value]=\"valorRestanteDisplay | numeric:numberFormatOptions | async\"\n ></s-stats-card>\n </div>\n </div>\n\n <!-- Se\u00E7\u00E3o 2: Tabela de rateios -->\n <div class=\"sds-section-title\" *ngIf=\"isReady\">\n {{ 'erpx.rateio_editor.lista_rateios' | translate }}\n </div>\n\n <s-empty-state\n *ngIf=\"isReady && contasDataSource?.length === 0\"\n iconClass=\"far fa-dollar-sign\"\n [title]=\"'erpx.rateio_editor.sem_rateios_titulo' | translate\"\n [description]=\"'erpx.rateio_editor.sem_rateios_descricao' | translate\"\n [showPrimaryAction]=\"!effectiveReadOnly\"\n [primaryActionLabel]=\"'erpx.rateio_editor.adicionar_conta' | translate\"\n (primaryAction)=\"openContaDialog()\"\n [showSecondaryAction]=\"!effectiveReadOnly && showSugestaoButton\"\n [secondaryActionLabel]=\"'erpx.rateio_editor.sugerir_rateio' | translate\"\n (secondaryAction)=\"onSugerir()\"\n ></s-empty-state>\n\n <div class=\"ui-g\" *ngIf=\"isReady && contasDataSource?.length > 0\">\n <div class=\"ui-g-12\" *ngIf=\"!effectiveReadOnly\">\n <s-button\n [label]=\"'erpx.rateio_editor.adicionar_conta' | translate\"\n iconClass=\"fa fa-plus\"\n (onClick)=\"openContaDialog()\"\n ></s-button>\n <s-button\n *ngIf=\"showSugestaoButton\"\n [label]=\"'erpx.rateio_editor.sugerir_rateio' | translate\"\n [priority]=\"ButtonPriority.Secondary\"\n iconClass=\"fa fa-magic\"\n (onClick)=\"onSugerir()\"\n ></s-button>\n <s-button\n [label]=\"'erpx.rateio_editor.remover_conta' | translate\"\n [priority]=\"ButtonPriority.Secondary\"\n (onClick)=\"onDeleteSelected()\"\n [disabled]=\"!selection.length\"\n ></s-button>\n </div>\n\n <div class=\"ui-g-12\">\n <p-table\n #tableRateio\n [value]=\"contasDataSource\"\n [columns]=\"gridColumns\"\n dataKey=\"idContaFinanceira\"\n [resizableColumns]=\"true\"\n [totalRecords]=\"contasDataSource.length\"\n [(selection)]=\"selection\"\n [paginator]=\"false\"\n [rows]=\"10\"\n >\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th scope=\"col\" style=\"width: 3em\"></th>\n <th scope=\"col\" class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableHeaderCheckbox *ngIf=\"!effectiveReadOnly\"></p-tableHeaderCheckbox>\n </th>\n <th *ngFor=\"let col of columns\" scope=\"col\" pResizableColumn>\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.header | translate }}</span>\n </div>\n </th>\n <th scope=\"col\" *ngIf=\"!effectiveReadOnly\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ 'erpx.rateio_editor.acoes' | translate }}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\" let-expanded=\"expanded\">\n <tr>\n <td style=\"width: 3em; text-align: center\">\n <a *ngIf=\"rowData.rateiosCCusto?.length || !effectiveReadOnly\" [pRowToggler]=\"rowData\" role=\"button\" tabindex=\"0\">\n <i [class]=\"expanded ? 'fa fa-minus' : 'fa fa-plus'\"></i>\n </a>\n </td>\n <td class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableCheckbox *ngIf=\"!effectiveReadOnly\" [value]=\"rowData\"></p-tableCheckbox>\n </td>\n <td>{{ rowData.contaFinanceira || rowData.idContaFinanceira }}</td>\n <td style=\"text-align: right\">{{ rowData.percentual }}</td>\n <td style=\"text-align: right\">{{ rowData.valorRateadoConta | numeric:numberFormatOptions | async }}</td>\n <td *ngIf=\"!effectiveReadOnly\">\n <s-button\n [auxiliary]=\"true\"\n [priority]=\"ButtonPriority.Default\"\n [size]=\"ButtonSize.Small\"\n iconClass=\"fa fa-pencil\"\n [label]=\"'erpx.rateio_editor.editar' | translate\"\n (onClick)=\"openContaDialog(getContaIndex(rowData))\"\n ></s-button>\n </td>\n </tr>\n </ng-template>\n\n <ng-template pTemplate=\"rowexpansion\" let-rowData let-rowIndex=\"rowIndex\">\n <tr>\n <td [attr.colspan]=\"effectiveReadOnly ? gridColumns.length + 2 : gridColumns.length + 3\">\n <div class=\"ui-g\" style=\"padding: 8px 16px\">\n <div class=\"ui-g-12 rateio-cc-toolbar\" *ngIf=\"!effectiveReadOnly\">\n <s-button\n [label]=\"'erpx.rateio_editor.adicionar_centro_custo' | translate\"\n iconClass=\"fa fa-plus\"\n (onClick)=\"openCCDialog(getContaIndex(rowData))\"\n ></s-button>\n <s-button\n [label]=\"'erpx.rateio_editor.remover_centro_custo' | translate\"\n [priority]=\"ButtonPriority.Secondary\"\n (onClick)=\"onDeleteSelectedCC(rowData)\"\n [disabled]=\"!(ccSelection[rowData.idContaFinanceira]?.length)\"\n ></s-button>\n </div>\n <div class=\"ui-g-12\">\n <p-table\n [value]=\"rowData.rateiosCCusto\"\n dataKey=\"idCentroCusto\"\n [(selection)]=\"ccSelection[rowData.idContaFinanceira]\"\n [responsive]=\"true\"\n >\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"col\" class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableHeaderCheckbox *ngIf=\"!effectiveReadOnly\"></p-tableHeaderCheckbox>\n </th>\n <th scope=\"col\">{{ 'erpx.rateio_editor.centro_custo' | translate }}</th>\n <th scope=\"col\">{{ 'erpx.rateio_editor.percentual' | translate }}</th>\n <th scope=\"col\">{{ 'erpx.rateio_editor.valor' | translate }}</th>\n <th scope=\"col\" *ngIf=\"!effectiveReadOnly\">{{ 'erpx.rateio_editor.acoes' | translate }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-cc let-ccIndex=\"rowIndex\">\n <tr>\n <td class=\"col-checkbox\" style=\"width: 50px\">\n <p-tableCheckbox *ngIf=\"!effectiveReadOnly\" [value]=\"cc\"></p-tableCheckbox>\n </td>\n <td>{{ cc.descCCusto || cc.idCentroCusto }}</td>\n <td style=\"text-align: right\">{{ cc.percentual }}</td>\n <td style=\"text-align: right\">{{ cc.valor | numeric:numberFormatOptions | async }}</td>\n <td *ngIf=\"!effectiveReadOnly\">\n <s-button\n [auxiliary]=\"true\"\n [priority]=\"ButtonPriority.Default\"\n [size]=\"ButtonSize.Small\"\n iconClass=\"fa fa-pencil\"\n [label]=\"'erpx.rateio_editor.editar' | translate\"\n (onClick)=\"openCCDialog(getContaIndex(rowData), getCCIndex(rowData, cc))\"\n ></s-button>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr>\n <td [attr.colspan]=\"effectiveReadOnly ? 3 : 5\">\n {{ 'erpx.rateio_editor.sem_centros_custo' | translate }}\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <!-- Bot\u00F5es de a\u00E7\u00E3o -->\n <div *ngIf=\"isReady\" class=\"ui-g rateio-editor-actions\">\n <div class=\"ui-g-12\">\n <s-button\n *ngIf=\"!effectiveReadOnly && !isStandalone\"\n priority=\"primary\"\n iconClass=\"fa fa-check\"\n [label]=\"'erpx.rateio_editor.salvar' | translate\"\n (onClick)=\"onSalvar()\"\n ></s-button>\n </div>\n </div>\n</s-loading-state>\n\n<!-- Modal: Adicionar/Editar Conta Financeira -->\n<p-dialog\n [header]=\"'erpx.rateio_editor.adicionar_conta' | translate\"\n appendTo=\"body\"\n [modal]=\"true\"\n [(visible)]=\"displayContaDialog\"\n (onHide)=\"onHideContaDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"false\"\n styleClass=\"custom-dialog\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n [style]=\"{width: '40%'}\"\n>\n <form *ngIf=\"contaDialogFormGroup\" [formGroup]=\"contaDialogFormGroup\" (ngSubmit)=\"onSaveContaDialog()\">\n <div class=\"ui-fluid\">\n <s-dynamic-form\n [fields]=\"contaDialogFields\"\n [form]=\"contaDialogFormGroup\"\n [errorMessages]=\"{\n required: ('erpx.rateio_editor.erro_obrigatorio' | translate),\n duplicate: ('erpx.rateio_editor.conta_duplicada' | translate),\n contaSintetica: ('erpx.rateio_editor.erro_conta_sintetica' | translate),\n max: ('erpx.rateio_editor.erro_valor_maximo_conta' | translate)\n }\"\n ></s-dynamic-form>\n </div>\n </form>\n <p-footer>\n <s-button\n id=\"dialog-conta-save\"\n type=\"button\"\n priority=\"primary\"\n [label]=\"'erpx.rateio_editor.salvar' | translate\"\n (onClick)=\"onSaveContaDialog()\"\n ></s-button>\n <s-button\n id=\"dialog-conta-cancel\"\n type=\"button\"\n priority=\"secondary\"\n [label]=\"'erpx.rateio_editor.cancelar' | translate\"\n (onClick)=\"onHideContaDialog()\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<!-- Modal: Adicionar/Editar Centro de Custo -->\n<p-dialog\n [header]=\"'erpx.rateio_editor.adicionar_centro_custo' | translate\"\n appendTo=\"body\"\n [modal]=\"true\"\n [(visible)]=\"displayCCDialog\"\n (onHide)=\"onHideCCDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"false\"\n styleClass=\"custom-dialog\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n [style]=\"{width: '40%'}\"\n>\n <form *ngIf=\"ccDialogFormGroup\" [formGroup]=\"ccDialogFormGroup\" (ngSubmit)=\"onSaveCCDialog()\">\n <div class=\"ui-fluid\">\n <s-dynamic-form\n [fields]=\"ccDialogFields\"\n [form]=\"ccDialogFormGroup\"\n [errorMessages]=\"{\n required: ('erpx.rateio_editor.erro_obrigatorio' | translate),\n duplicate: ('erpx.rateio_editor.centro_custo_duplicado' | translate),\n centroCustoInvalido: ('erpx.rateio_editor.erro_centro_custo_invalido' | translate),\n max: ('erpx.rateio_editor.erro_maximo_centro_custo' | translate)\n }\"\n ></s-dynamic-form>\n </div>\n </form>\n <p-footer>\n <s-button\n id=\"dialog-cc-save\"\n type=\"button\"\n priority=\"primary\"\n [label]=\"'erpx.rateio_editor.salvar' | translate\"\n (onClick)=\"onSaveCCDialog()\"\n ></s-button>\n <s-button\n id=\"dialog-cc-cancel\"\n type=\"button\"\n priority=\"secondary\"\n [label]=\"'erpx.rateio_editor.cancelar' | translate\"\n (onClick)=\"onHideCCDialog()\"\n ></s-button>\n </p-footer>\n</p-dialog>\n",
|
|
34208
34198
|
styles: [":host ::ng-deep .rateio-cc-toolbar .s-button-text{overflow:visible;-ms-flex-pack:start;justify-content:flex-start}"]
|
|
34209
34199
|
})
|
|
34210
34200
|
], ErpRateioEditorComponent);
|
|
@@ -34322,6 +34312,7 @@
|
|
|
34322
34312
|
"erpx.rateio_editor.remover_conta": "Remover conta",
|
|
34323
34313
|
"erpx.rateio_editor.adicionar_centro_custo": "Adicionar centro de custo",
|
|
34324
34314
|
"erpx.rateio_editor.remover_centro_custo": "Remover centro de custo",
|
|
34315
|
+
"erpx.rateio_editor.nenhum_centro_custo_selecionado": "Selecione ao menos um centro de custo para remover.",
|
|
34325
34316
|
"erpx.rateio_editor.sugerir_rateio": "Sugerir rateio",
|
|
34326
34317
|
"erpx.rateio_editor.salvar": "Salvar",
|
|
34327
34318
|
"erpx.rateio_editor.cancelar": "Cancelar",
|
|
@@ -34334,7 +34325,32 @@
|
|
|
34334
34325
|
"erpx.rateio_editor.erro_salvar": "Erro ao salvar rateio",
|
|
34335
34326
|
"erpx.rateio_editor.erro_contexto_incompleto": "Não foi possível salvar: o contexto do rateio (filial e critério) não foi informado.",
|
|
34336
34327
|
"erpx.rateio_editor.erro_sugerir": "Erro ao sugerir rateio",
|
|
34337
|
-
"erpx.rateio_editor.erro_carregar": "Erro ao carregar rateio"
|
|
34328
|
+
"erpx.rateio_editor.erro_carregar": "Erro ao carregar rateio",
|
|
34329
|
+
"erpx.rateio_editor.lista_rateios": "Rateios",
|
|
34330
|
+
"erpx.rateio_editor.sem_rateios_titulo": "Nenhum rateio cadastrado",
|
|
34331
|
+
"erpx.rateio_editor.sem_rateios_descricao": "Adicione contas financeiras ou utilize a sugestão automática",
|
|
34332
|
+
"erpx.rateio_editor.erro_obrigatorio": "Campo obrigatório",
|
|
34333
|
+
"erpx.rateio_editor.acoes": "Ações",
|
|
34334
|
+
"erpx.rateio_editor.percentual": "Percentual",
|
|
34335
|
+
"erpx.rateio_editor.conta_financeira": "Conta financeira",
|
|
34336
|
+
"erpx.rateio_editor.valor": "Valor",
|
|
34337
|
+
"erpx.rateio_editor.centros_custo": "Centros de custo",
|
|
34338
|
+
"erpx.rateio_editor.centros_custo_da_conta": "Centros de custo da conta",
|
|
34339
|
+
"erpx.rateio_editor.centro_custo": "Centro de custo",
|
|
34340
|
+
"erpx.rateio_editor.sem_centros_custo": "Nenhum centro de custo vinculado",
|
|
34341
|
+
"erpx.rateio_editor.editar": "Editar",
|
|
34342
|
+
"erpx.rateio_editor.excluir": "Excluir",
|
|
34343
|
+
"erpx.rateio_editor.sem_contexto_para_sugerir": "Filial e critério de rateio são obrigatórios para sugerir.",
|
|
34344
|
+
"erpx.rateio_editor.conta_duplicada": "Esta conta financeira já foi adicionada.",
|
|
34345
|
+
"erpx.rateio_editor.centro_custo_duplicado": "Este centro de custo já foi adicionado a esta conta.",
|
|
34346
|
+
"erpx.rateio_editor.erro_conta_sintetica": "A conta financeira selecionada é sintética. Selecione uma conta analítica.",
|
|
34347
|
+
"erpx.rateio_editor.erro_centro_custo_invalido": "O centro de custo selecionado é inválido (sintético ou não aceita rateio).",
|
|
34348
|
+
"erpx.rateio_editor.erro_distribuicao_incompleta": "A distribuição do rateio está incompleta. Os percentuais e valores devem ser totalmente distribuídos.",
|
|
34349
|
+
"erpx.rateio_editor.erro_centro_custo_obrigatorio": "Cada conta financeira deve ter ao menos um centro de custo vinculado.",
|
|
34350
|
+
"erpx.rateio_editor.erro_valor_maximo_conta": "O percentual ou valor informado excede o restante disponível.",
|
|
34351
|
+
"erpx.rateio_editor.erro_valor_maximo_centro_custo": "O valor não pode ser maior que o valor rateado da conta.",
|
|
34352
|
+
"erpx.rateio_editor.erro_maximo_centro_custo": "O valor ou percentual informado excede o restante disponível para esta conta.",
|
|
34353
|
+
"erpx.rateio_editor.erro_valor_conta_inferior_soma_cc": "O valor informado é menor que a soma dos centros de custo já distribuídos nesta conta. Ajuste os centros de custo antes de reduzir o valor da conta."
|
|
34338
34354
|
};
|
|
34339
34355
|
|
|
34340
34356
|
exports.BreadcrumbComponent = BreadcrumbComponent;
|