kts-component-invoice-operate 3.2.181-30 → 3.2.181-32

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/dist/index.esm.js CHANGED
@@ -14512,12 +14512,12 @@ var useColumns = (function (form) {
14512
14512
  initialValue: editGood.taxAmount,
14513
14513
  getValueFromEvent: onNumberValueChange,
14514
14514
  rules: [].concat(_toConsumableArray(getReplenishRules('taxAmount')), [{
14515
- pattern: /^[+-]?(0|([1-9]\d*))(\.\d+)?$/,
14516
- message: '税额必须为数字'
14515
+ pattern: /^[+-]?(0|([1-9]\d*))(\.\d{1,2})?$/,
14516
+ message: '税额必须为数字且最多保留2位小数'
14517
14517
  }, {
14518
14518
  validator: function () {
14519
14519
  var _validator8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee15(_, taxAmountValue, callback) {
14520
- var amount, taxRate, amountNum, taxRateNum, taxAmountNum, calculatedTaxAmount, diff;
14520
+ var amount, taxRate, amountNum, taxRateNum, taxAmountNum, calculatedTaxAmount, roundedCalc, roundedInput, diff;
14521
14521
  return _regeneratorRuntime().wrap(function _callee15$(_context15) {
14522
14522
  while (1) {
14523
14523
  switch (_context15.prev = _context15.next) {
@@ -14557,14 +14557,16 @@ var useColumns = (function (form) {
14557
14557
  return _context15.abrupt("return");
14558
14558
 
14559
14559
  case 12:
14560
- // 校验:|计算税额 - 实际税额| <= 0.06
14561
- diff = Math.abs((calculatedTaxAmount * 100 - taxAmountNum * 100) / 100);
14560
+ // 先四舍五入保留两位小数再比较差额
14561
+ roundedCalc = parseFloat(calculatedTaxAmount.toFixed(2));
14562
+ roundedInput = parseFloat(taxAmountNum.toFixed(2));
14563
+ diff = parseFloat(Math.abs(roundedCalc - roundedInput).toFixed(2));
14562
14564
 
14563
14565
  if (diff > 0.06) {
14564
- callback("\u7A0E\u989D\u4E0E\u8BA1\u7B97\u503C\uFF08".concat(calculatedTaxAmount.toFixed(2), "\uFF09\u7684\u5DEE\u989D\uFF08").concat(diff.toFixed(2), "\uFF09\u8D85\u8FC70.06\uFF0C\u8BF7\u8C03\u6574"));
14566
+ callback("\u7A0E\u989D\u4E0E\u8BA1\u7B97\u503C\uFF08".concat(roundedCalc.toFixed(2), "\uFF09\u7684\u5DEE\u989D\uFF08").concat(diff.toFixed(2), "\uFF09\u8D85\u8FC70.06\uFF0C\u8BF7\u8C03\u6574"));
14565
14567
  }
14566
14568
 
14567
- case 14:
14569
+ case 16:
14568
14570
  case "end":
14569
14571
  return _context15.stop();
14570
14572
  }
package/dist/index.js CHANGED
@@ -14522,12 +14522,12 @@ var useColumns = (function (form) {
14522
14522
  initialValue: editGood.taxAmount,
14523
14523
  getValueFromEvent: onNumberValueChange,
14524
14524
  rules: [].concat(_toConsumableArray(getReplenishRules('taxAmount')), [{
14525
- pattern: /^[+-]?(0|([1-9]\d*))(\.\d+)?$/,
14526
- message: '税额必须为数字'
14525
+ pattern: /^[+-]?(0|([1-9]\d*))(\.\d{1,2})?$/,
14526
+ message: '税额必须为数字且最多保留2位小数'
14527
14527
  }, {
14528
14528
  validator: function () {
14529
14529
  var _validator8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee15(_, taxAmountValue, callback) {
14530
- var amount, taxRate, amountNum, taxRateNum, taxAmountNum, calculatedTaxAmount, diff;
14530
+ var amount, taxRate, amountNum, taxRateNum, taxAmountNum, calculatedTaxAmount, roundedCalc, roundedInput, diff;
14531
14531
  return _regeneratorRuntime().wrap(function _callee15$(_context15) {
14532
14532
  while (1) {
14533
14533
  switch (_context15.prev = _context15.next) {
@@ -14567,14 +14567,16 @@ var useColumns = (function (form) {
14567
14567
  return _context15.abrupt("return");
14568
14568
 
14569
14569
  case 12:
14570
- // 校验:|计算税额 - 实际税额| <= 0.06
14571
- diff = Math.abs((calculatedTaxAmount * 100 - taxAmountNum * 100) / 100);
14570
+ // 先四舍五入保留两位小数再比较差额
14571
+ roundedCalc = parseFloat(calculatedTaxAmount.toFixed(2));
14572
+ roundedInput = parseFloat(taxAmountNum.toFixed(2));
14573
+ diff = parseFloat(Math.abs(roundedCalc - roundedInput).toFixed(2));
14572
14574
 
14573
14575
  if (diff > 0.06) {
14574
- callback("\u7A0E\u989D\u4E0E\u8BA1\u7B97\u503C\uFF08".concat(calculatedTaxAmount.toFixed(2), "\uFF09\u7684\u5DEE\u989D\uFF08").concat(diff.toFixed(2), "\uFF09\u8D85\u8FC70.06\uFF0C\u8BF7\u8C03\u6574"));
14576
+ callback("\u7A0E\u989D\u4E0E\u8BA1\u7B97\u503C\uFF08".concat(roundedCalc.toFixed(2), "\uFF09\u7684\u5DEE\u989D\uFF08").concat(diff.toFixed(2), "\uFF09\u8D85\u8FC70.06\uFF0C\u8BF7\u8C03\u6574"));
14575
14577
  }
14576
14578
 
14577
- case 14:
14579
+ case 16:
14578
14580
  case "end":
14579
14581
  return _context15.stop();
14580
14582
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kts-component-invoice-operate",
3
- "version": "3.2.181-30",
3
+ "version": "3.2.181-32",
4
4
  "scripts": {
5
5
  "dev": "dumi dev --max-old-space-size=6096",
6
6
  "start": "dumi dev",
@@ -588,7 +588,10 @@ export default (form: WrappedFormUtils) => {
588
588
  getValueFromEvent: onNumberValueChange,
589
589
  rules: [
590
590
  ...getReplenishRules('taxAmount'),
591
- { pattern: /^[+-]?(0|([1-9]\d*))(\.\d+)?$/, message: '税额必须为数字' },
591
+ {
592
+ pattern: /^[+-]?(0|([1-9]\d*))(\.\d{1,2})?$/,
593
+ message: '税额必须为数字且最多保留2位小数',
594
+ },
592
595
  {
593
596
  validator: async (_, taxAmountValue, callback) => {
594
597
  await controller.wait();
@@ -615,11 +618,14 @@ export default (form: WrappedFormUtils) => {
615
618
 
616
619
  if (calculatedTaxAmount === undefined || isNaN(calculatedTaxAmount)) {
617
620
  return;
618
- }
619
- // 校验:|计算税额 - 实际税额| <= 0.06
620
- const diff = Math.abs((calculatedTaxAmount * 100 - taxAmountNum * 100) / 100);
621
+ }
622
+
623
+ // 先四舍五入保留两位小数再比较差额
624
+ const roundedCalc = parseFloat(calculatedTaxAmount.toFixed(2));
625
+ const roundedInput = parseFloat(taxAmountNum.toFixed(2));
626
+ const diff = parseFloat(Math.abs(roundedCalc - roundedInput).toFixed(2));
621
627
  if (diff > 0.06) {
622
- callback(`税额与计算值(${calculatedTaxAmount.toFixed(2)})的差额(${diff.toFixed(2)})超过0.06,请调整`);
628
+ callback(`税额与计算值(${roundedCalc.toFixed(2)})的差额(${diff.toFixed(2)})超过0.06,请调整`);
623
629
  }
624
630
  }
625
631
  }