|
@@ -375,10 +375,10 @@ $(document).ready(() => {
|
|
|
if (col.field === 'uamount') {
|
|
|
if (data.bamount > 0) {
|
|
|
const usedAmount = ZhCalc.add(data.uamount, data.pre_amount);
|
|
|
- return usedAmount < 0 || usedAmount > data.bamount ? spreadColor.stage.over : defaultColor;
|
|
|
+ return usedAmount < 0 || usedAmount > data.limitAmount ? spreadColor.stage.over : defaultColor;
|
|
|
} else if (data.bamount < 0) {
|
|
|
const usedAmount = ZhCalc.add(data.uamount, data.pre_amount);
|
|
|
- return usedAmount > 0 || usedAmount < data.bamount ? spreadColor.stage.over : defaultColor;
|
|
|
+ return usedAmount > 0 || usedAmount < data.limitAmount ? spreadColor.stage.over : defaultColor;
|
|
|
} else {
|
|
|
return data.uamount ? spreadColor.stage.over : defaultColor;
|
|
|
}
|
|
@@ -489,13 +489,13 @@ $(document).ready(() => {
|
|
|
if (c.uamount) {
|
|
|
if (c.bamount > 0) {
|
|
|
const usedAmount = ZhCalc.add(c.uamount, c.pre_amount);
|
|
|
- if (usedAmount < 0 || usedAmount > c.bamount) {
|
|
|
+ if (usedAmount < 0 || usedAmount > c.limitAmount) {
|
|
|
toastr.error('变更令:' + c.code + ' 超计,请修改本期计量后,再提交');
|
|
|
return;
|
|
|
}
|
|
|
} else if (c.bamount < 0) {
|
|
|
const usedAmount = ZhCalc.add(c.uamount, c.pre_amount);
|
|
|
- if (usedAmount > 0 || usedAmount < c.bamount) {
|
|
|
+ if (usedAmount > 0 || usedAmount < c.limiAmount) {
|
|
|
toastr.error('变更令:' + c.code + ' 超计,请修改本期计量后,再提交');
|
|
|
return;
|
|
|
}
|
|
@@ -524,10 +524,26 @@ $(document).ready(() => {
|
|
|
});
|
|
|
})
|
|
|
}
|
|
|
+ findDecimal(unit) {
|
|
|
+ let value = 3;
|
|
|
+ if (unit !== '') {
|
|
|
+ value = precision.other.value;
|
|
|
+ const changeUnits = precision;
|
|
|
+ for (const d in changeUnits) {
|
|
|
+ if (changeUnits[d].unit !== undefined && changeUnits[d].unit === unit) {
|
|
|
+ value = changeUnits[d].value;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return value;
|
|
|
+ }
|
|
|
_calculateAmount() {
|
|
|
for (const c of this.changes) {
|
|
|
c.bamount = _.toNumber(c.b_amount);
|
|
|
- c.vamount = ZhCalc.sub(ZhCalc.sub(c.bamount, c.used_amount), c.stage_used_amount);
|
|
|
+ const qtyDecimal = this.findDecimal(c.unit);
|
|
|
+ c.limitAmount = ZhCalc.mul(c.bamount, ZhCalc.div(c.delimit, 100, 2), qtyDecimal);
|
|
|
+ c.vamount = ZhCalc.sub(ZhCalc.sub(c.limitAmount, c.used_amount), c.stage_used_amount);
|
|
|
const uc = _.find(this.useChanges, {cid: c.cid, cbid: c.cbid, no_value: this.callData.noValue});
|
|
|
if (uc) {
|
|
|
c.org_uamount = uc.qty;
|