From 7f9ae18022bd1568e218081a04aadc4eceecb07e Mon Sep 17 00:00:00 2001 From: wangyu <823267011@qq.com> Date: Fri, 8 May 2026 18:22:04 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=8A=A5=E9=94=80/=E6=8B=A8=E6=AC=BE):=20?= =?UTF-8?q?=E8=A1=8C=E9=A1=B9=E7=9B=AE=E9=87=91=E9=A2=9D=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E4=BB=B7=E7=A8=8E=E5=90=88=E8=AE=A1=EF=BC=8C=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E6=80=BB=E9=87=91=E9=A2=9D=E6=89=8B=E5=8A=A8=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - OCR解析:行项目金额改为 amount + tax_amount(价税合计) - 总金额改为只读展示,由明细汇总自动计算,不再支持手动输入 - 去掉总金额字段的表单必填校验 Co-Authored-By: Claude Sonnet 4.6 --- .../impl/HrmInvoiceOcrServiceImpl.java | 10 +++++++++- .../src/views/hrm/requests/appropriation.vue | 20 ++++++++++++++++--- ruoyi-ui/src/views/hrm/requests/reimburse.vue | 20 ++++++++++++++++--- 3 files changed, 43 insertions(+), 7 deletions(-) diff --git a/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmInvoiceOcrServiceImpl.java b/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmInvoiceOcrServiceImpl.java index f2ad035..7ff09fa 100644 --- a/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmInvoiceOcrServiceImpl.java +++ b/fad-hrm/src/main/java/com/ruoyi/hrm/service/impl/HrmInvoiceOcrServiceImpl.java @@ -153,7 +153,15 @@ public class HrmInvoiceOcrServiceImpl implements IHrmInvoiceOcrService { HrmInvoiceOcrResultVo.Item item = new HrmInvoiceOcrResultVo.Item(); item.setItemName(name); - item.setAmount(parseBigDecimal(getStringOrFieldValue(li, "amount"))); + // 行项目金额取价税合计:税前金额 + 税额 + BigDecimal preAmt = parseBigDecimal(getStringOrFieldValue(li, "amount")); + BigDecimal taxAmt = parseBigDecimal(getStringOrFieldValue(li, "tax_amount")); + BigDecimal withTax = null; + if (preAmt != null || taxAmt != null) { + withTax = (preAmt != null ? preAmt : BigDecimal.ZERO) + .add(taxAmt != null ? taxAmt : BigDecimal.ZERO); + } + item.setAmount(withTax != null ? withTax : preAmt); item.setTaxRate(getStringOrFieldValue(li, "tax_rate")); items.add(item); } diff --git a/ruoyi-ui/src/views/hrm/requests/appropriation.vue b/ruoyi-ui/src/views/hrm/requests/appropriation.vue index 8d47e4d..bc72b79 100644 --- a/ruoyi-ui/src/views/hrm/requests/appropriation.vue +++ b/ruoyi-ui/src/views/hrm/requests/appropriation.vue @@ -36,8 +36,10 @@ - - + +
+ {{ form.amount != null && form.amount > 0 ? '¥' + form.amount : '根据发票明细自动汇总' }} +
@@ -300,7 +302,7 @@ export default { }, rules: { appropriationType: [{ required: true, message: '请选择/输入拨款类型', trigger: 'change' }], - amount: [{ required: true, message: '请填写拨款总金额', trigger: 'blur' }] + amount: [] } } }, @@ -675,6 +677,18 @@ export default { b { color: #e6a23c; font-size: 14px; } } +.amount-readonly { + height: 32px; + line-height: 32px; + padding: 0 12px; + font-size: 14px; + font-weight: 600; + color: #e6a23c; + background: #fffbf2; + border: 1px solid #faecd8; + border-radius: 4px; +} + .flow-preview { margin-top: 10px; padding: 12px; diff --git a/ruoyi-ui/src/views/hrm/requests/reimburse.vue b/ruoyi-ui/src/views/hrm/requests/reimburse.vue index db46c9e..78385db 100644 --- a/ruoyi-ui/src/views/hrm/requests/reimburse.vue +++ b/ruoyi-ui/src/views/hrm/requests/reimburse.vue @@ -36,8 +36,10 @@ - - + +
+ {{ form.totalAmount != null && form.totalAmount > 0 ? '¥' + form.totalAmount : '根据发票明细自动汇总' }} +
@@ -274,7 +276,7 @@ export default { }, rules: { reimburseType: [{ required: true, message: '请选择/输入报销类型', trigger: 'change' }], - totalAmount: [{ required: true, message: '请填写报销总金额', trigger: 'blur' }], + totalAmount: [], accessoryApplyIds: [{ required: true, message: '请上传报销单据附件', trigger: 'change' }] } } @@ -661,6 +663,18 @@ export default { b { color: #e6a23c; font-size: 14px; } } +.amount-readonly { + height: 32px; + line-height: 32px; + padding: 0 12px; + font-size: 14px; + font-weight: 600; + color: #e6a23c; + background: #fffbf2; + border: 1px solid #faecd8; + border-radius: 4px; +} + .flow-preview { margin-top: 10px; padding: 12px;