cosmoim-852 fix 拣配数量相减问题修复

master
guoshuang 2 years ago
parent a354a46aba
commit 4e90d25147

@ -24,6 +24,7 @@ module.exports = {
printWidth: 800,
singleQuote: true,
trailingComma: 'all',
endOfLine: 'auto',
},
],
},

@ -171,7 +171,7 @@ export default class LoginPage extends BasePage {
console.log('......', server.serverAddress);
if (server.serverAddress.includes('https://eurmom.haier.net')) {
//
this.Version = '1.1.33';
this.Version = '1.1.34';
} else {
this.Version = '1.0.49';
}

@ -4,6 +4,7 @@ import http from '@/utils/request';
import { url } from '@/utils/url';
import { cloneDeep } from 'lodash/fp';
import vm from '@/main';
import { subtraction } from '@/utils/subtraction';
@Module({
namespaced: true,
dynamic: true,
@ -89,7 +90,7 @@ export class AggregatingModule extends VuexModule {
@Mutation
checkAllAggregateList(checked: boolean) {
this.aggregateList.map((item: any) => {
Object.assign(item, { checked, hvAmount: (checked && item.totalMoAmount - item.totalHvAmount) || 0 });
Object.assign(item, { checked, hvAmount: (checked && subtraction(parseFloat(item.totalMoAmount), parseFloat(item.totalHvAmount))) || 0 });
});
}
/**
@ -99,7 +100,7 @@ export class AggregatingModule extends VuexModule {
@Mutation
checkAllOrderList(checked: boolean) {
this.orderList.map((item: any) => {
Object.assign(item, { checked, hvAmount: (checked && item.totalMoAmount - item.totalHvAmount) || 0 });
Object.assign(item, { checked, hvAmount: (checked && subtraction(parseFloat(item.totalMoAmount), parseFloat(item.totalHvAmount))) || 0 });
});
}
/**

@ -70,6 +70,7 @@ import { pick } from 'lodash/fp';
import http from '@/utils/request';
import { url } from '@/utils/url';
import { session } from '@/store/modules/session';
import { subtraction } from '@/utils/subtraction';
@Component
export default class AggregatingOrder extends BasePage {
@ -169,10 +170,10 @@ export default class AggregatingOrder extends BasePage {
e.data.forEach((item, index) => {
//debugger;
console.log('xuanzedeindex', e.data);
console.log('hvmount', item.lineData.totalMoAmount - item.lineData.totalHvAmount);
//console.log('hvmount', item.lineData.totalMoAmount - item.lineData.totalHvAmount);
this.model.setOrderListItemHvAmount({
index: e.data[index].index,
hvAmount: item.lineData.totalMoAmount - item.lineData.totalHvAmount,
hvAmount: subtraction(parseFloat(item.lineData.totalMoAmount), parseFloat(item.lineData.totalHvAmount)),
});
});
this.model.orderList.forEach((item) => {
@ -242,7 +243,7 @@ export default class AggregatingOrder extends BasePage {
return;
}
List.forEach((item: any) => {
if (parseFloat(item.totalMoAmount) - parseFloat(item.totalHvAmount) != parseFloat(item.hvAmount)) {
if (subtraction(parseFloat(item.totalMoAmount), parseFloat(item.totalHvAmount)) != parseFloat(item.hvAmount)) {
isTrue = false;
return;
}

@ -70,6 +70,7 @@ import { pick } from 'lodash/fp';
import http from '@/utils/request';
import { url } from '@/utils/url';
import { session } from '@/store/modules/session';
import { subtraction } from '@/utils/subtraction';
@Component
export default class AggregatingSummary extends BasePage {
@ -153,10 +154,10 @@ export default class AggregatingSummary extends BasePage {
e.data.forEach((item, index) => {
//debugger;
console.log('xuanzedeindex', e.data);
console.log('hvmount', item.lineData.totalMoAmount - item.lineData.totalHvAmount);
//console.log('hvmount', item.lineData.totalMoAmount - item.lineData.totalHvAmount);
this.model.setAggregateListItemHvAmount({
index: e.data[index].index,
hvAmount: item.lineData.totalMoAmount - item.lineData.totalHvAmount,
hvAmount: subtraction(parseFloat(item.lineData.totalMoAmount), parseFloat(item.lineData.totalHvAmount)),
});
});
this.model.aggregateList.forEach((item) => {
@ -278,7 +279,7 @@ export default class AggregatingSummary extends BasePage {
//
//totalMoAmount totalHvAmount hvAmount
List.forEach((item: any) => {
if (parseFloat(item.totalMoAmount) - parseFloat(item.totalHvAmount) != parseFloat(item.hvAmount)) {
if (subtraction(parseFloat(item.totalMoAmount), parseFloat(item.totalHvAmount)) != parseFloat(item.hvAmount)) {
isTrue = false;
return;
}

@ -0,0 +1,39 @@
/*
* @Author: zhou lei
* @Date: 2023-02-22 19:08:18
* @LastEditTime: 2023-02-22 19:19:54
* @LastEditors: zhou lei
* @Description:
* @FilePath: \hgwms-factory-app\src\utils\subtraction.ts
* :910592680@qq.com 18669792120
*/
//自定义减法,解决浮点类型相减精度问题
export function subtraction(arg1: number, arg2: number) {
let r1: number, r2: number;
try {
r1 = arg1.toString().split('.')[1].length;
} catch (e) {
r1 = 0;
}
try {
r2 = arg2.toString().split('.')[1].length;
} catch (e) {
r2 = 0;
}
const c = Math.abs(r1 - r2);
const m = Math.pow(10, Math.max(r1, r2));
if (c > 0) {
const cm = Math.pow(10, c);
if (r1 > r2) {
arg1 = Number(arg1.toString().replace('.', ''));
arg2 = Number(arg2.toString().replace('.', '')) * cm;
} else {
arg1 = Number(arg1.toString().replace('.', '')) * cm;
arg2 = Number(arg2.toString().replace('.', ''));
}
} else {
arg1 = Number(arg1.toString().replace('.', ''));
arg2 = Number(arg2.toString().replace('.', ''));
}
return (arg1 - arg2) / m;
}
Loading…
Cancel
Save