modify createCurrencyUtility.RUB
This commit is contained in:
parent
aaf6146886
commit
2d658208f6
@ -1,4 +1,3 @@
|
||||
import * as CRMTypes from '@/graphql/crm.types';
|
||||
import type { ProcessContext } from '@/process/types';
|
||||
import { createCurrencyUtility } from '@/utils/currency';
|
||||
import { reaction } from 'mobx';
|
||||
@ -9,32 +8,10 @@ export default function reactions({ store, apolloClient }: ProcessContext) {
|
||||
const { RUB } = createCurrencyUtility({ apolloClient });
|
||||
|
||||
reaction(
|
||||
() =>
|
||||
$calculation.$values.getValues([
|
||||
'supplierCurrency',
|
||||
'leaseObjectPrice',
|
||||
'supplierDiscountRub',
|
||||
]),
|
||||
async ({ supplierCurrency: supplierCurrencyId, supplierDiscountRub, leaseObjectPrice }) => {
|
||||
() => $calculation.$values.getValues(['supplierCurrency', 'leaseObjectPrice']),
|
||||
async ({ supplierCurrency: supplierCurrencyId, leaseObjectPrice }) => {
|
||||
if (!supplierCurrencyId) {
|
||||
$calculation.$values.resetValue('plPriceRub');
|
||||
$calculation.$values.resetValue('discountRub');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
const {
|
||||
data: { transactioncurrency },
|
||||
} = await apolloClient.query({
|
||||
query: CRMTypes.GetTransactionCurrencyDocument,
|
||||
variables: {
|
||||
currencyid: supplierCurrencyId,
|
||||
},
|
||||
});
|
||||
|
||||
if (transactioncurrency?.isocurrencycode === 'RUB') {
|
||||
$calculation.$values.setValue('plPriceRub', leaseObjectPrice);
|
||||
$calculation.$values.setValue('discountRub', supplierDiscountRub);
|
||||
|
||||
return;
|
||||
}
|
||||
@ -46,6 +23,21 @@ export default function reactions({ store, apolloClient }: ProcessContext) {
|
||||
value: leaseObjectPrice,
|
||||
})
|
||||
);
|
||||
},
|
||||
{
|
||||
delay: 100,
|
||||
fireImmediately: true,
|
||||
}
|
||||
);
|
||||
|
||||
reaction(
|
||||
() => $calculation.$values.getValues(['supplierCurrency', 'supplierDiscountRub']),
|
||||
async ({ supplierCurrency: supplierCurrencyId, supplierDiscountRub }) => {
|
||||
if (!supplierCurrencyId) {
|
||||
$calculation.$values.resetValue('discountRub');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$calculation.$values.setValue(
|
||||
'discountRub',
|
||||
|
||||
@ -47,15 +47,6 @@ export async function createRequestData({
|
||||
|
||||
const currentUTCDate = dayjs().utc(false);
|
||||
|
||||
const transactioncurrency = values.supplierCurrency
|
||||
? (
|
||||
await apolloClient.query({
|
||||
query: CRMTypes.GetTransactionCurrencyDocument,
|
||||
variables: { currencyid: values.supplierCurrency },
|
||||
})
|
||||
).data.transactioncurrency
|
||||
: null;
|
||||
|
||||
let systemuser: CRMTypes.GetSystemUserQuery['systemuser'] = null;
|
||||
|
||||
if (user?.domainName) {
|
||||
@ -396,7 +387,7 @@ export async function createRequestData({
|
||||
},
|
||||
|
||||
async discount() {
|
||||
if (values.supplierCurrency && transactioncurrency?.isocurrencycode !== 'RUB') {
|
||||
if (values.supplierCurrency) {
|
||||
return (
|
||||
((await RUB({
|
||||
currencyid: values.supplierCurrency,
|
||||
@ -921,7 +912,7 @@ export async function createRequestData({
|
||||
},
|
||||
|
||||
async plPrice() {
|
||||
if (values.supplierCurrency && transactioncurrency?.isocurrencycode !== 'RUB') {
|
||||
if (values.supplierCurrency) {
|
||||
return (
|
||||
(await RUB({
|
||||
currencyid: values.supplierCurrency,
|
||||
@ -935,7 +926,7 @@ export async function createRequestData({
|
||||
},
|
||||
|
||||
async plPriceVAT() {
|
||||
if (values.supplierCurrency && transactioncurrency?.isocurrencycode !== 'RUB') {
|
||||
if (values.supplierCurrency) {
|
||||
return (
|
||||
(await RUB({
|
||||
currencyid: values.supplierCurrency,
|
||||
@ -952,7 +943,7 @@ export async function createRequestData({
|
||||
},
|
||||
|
||||
async plPriceWithVAT() {
|
||||
if (values.supplierCurrency && transactioncurrency?.isocurrencycode !== 'RUB') {
|
||||
if (values.supplierCurrency) {
|
||||
return (
|
||||
(await RUB({
|
||||
currencyid: values.supplierCurrency,
|
||||
|
||||
@ -17,6 +17,19 @@ type Input = {
|
||||
export function createCurrencyUtility({ apolloClient }: Context) {
|
||||
return {
|
||||
async RUB({ currencyid, value }: Input) {
|
||||
const {
|
||||
data: { transactioncurrency },
|
||||
} = await apolloClient.query({
|
||||
query: CRMTypes.GetTransactionCurrencyDocument,
|
||||
variables: {
|
||||
currencyid,
|
||||
},
|
||||
});
|
||||
|
||||
if (transactioncurrency?.isocurrencycode === 'RUB') {
|
||||
return value;
|
||||
}
|
||||
|
||||
const {
|
||||
data: { evo_currencychanges },
|
||||
} = await apolloClient.query({
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user