diff --git a/.DS_Store b/.DS_Store
index b026af94..3e708b8b 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/.gitignore b/.gitignore
index 0cb3ee60..a5fc2335 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,6 +35,7 @@ nbbuild/
dist/
nbdist/
.nb-gradle/
+.DS_Store
######################################################################
# Others
diff --git a/.workbuddy/memory/2026-09-08.md b/.workbuddy/memory/2026-09-08.md
new file mode 100644
index 00000000..3dccf8c4
--- /dev/null
+++ b/.workbuddy/memory/2026-09-08.md
@@ -0,0 +1,52 @@
+# 2026-09-08
+
+## 代码 review(两轮)
+
+用户要求只 review 不改代码。范围:工作区 53 个改动文件(Java 后端 + Vue 前端)。
+
+### 改动主体
+- Excel 注解新增 `decimalFormat` 字段(Excel.java + ExcelUtil.java),21 个 domain 的 BigDecimal 字段加 `@Excel(scale=2, decimalFormat="#,##0.00")`,仅影响导出显示,安全。
+- 前端多处 `toFixed(2)` → 全局 `formatCurrency`(main.js 已注册 Vue.prototype),安全。
+- ProductInfo/Mapper/前端新增 `pre_system_type`(预装系统类型)字段,前后端配套完整,配套 SQL:`sql/20290904update.sql`(文件名年份疑为笔误,写的是 2029)。
+- `OmsInventoryInnerServiceImpl.insertOmsInventoryInner` 应付单生成逻辑重构(核心风险点)。
+
+### 第一轮发现的问题 → 用户修复后第二轮复核结果
+1. NPE(quantity/price 为 null 时直接 multiply)→ 已修:`usePurchaseOrder` 条件含 null 检查,null 时回退原公式 ✓
+2. 重复 setTaxAmount(新旧两行并存)→ 已清理,只留正确行(含税-未税)✓
+3. vendorInfo 为 null 时 getPayConfigDay() NPE → 已修,传 0 ✓
+4. 遗留:`vendorInfo != null ? vendorInfo.getPayConfigDay() : 0` 三元混合 Integer/int,payConfigDay 为 null 时仍会拆箱 NPE(原代码同样会炸,非回归)
+5. 遗留:ExcelUtil 每单元格 createCellStyle,POI 上限 64000 样式,大数据量导出会失败
+6. 遗留:OrderList.java 文件末尾无换行;oms_web/.DS_Store 未跟踪垃圾文件
+
+### 业务逻辑一致性结论(H3C 判定)
+- 新华三(isH3C=true,startsWith("新华三")):条件退化为原条件,金额公式走原逻辑,与原 100% 一致
+- 非新华三无采购单:innerComplete 默认 true,与原一致
+### 第三轮复核(用户又修复了一批)
+1. 三元拆箱 NPE → 已修:`vendorInfo != null && vendorInfo.getPayConfigDay() != null ? ... : 0` ✓
+2. ExcelUtil CellStyle → 已修:新增 `moneyStyles` Map 缓存(按 decimalFormat 键),HashMap 已导入,ExcelUtil 每次 export 新建实例,缓存作用域正确 ✓
+3. OrderList.java 末尾换行 → 已补 ✓
+仍遗留(非代码 bug,提交时注意):isH3C 口径需业务确认(startsWith("新华三"),基于 ProductInfo.vendorName);sql/20290904update.sql 文件名年份笔误(2029);oms_web/.DS_Store 与 ruoyi-admin/.DS_Store 垃圾文件。
+至此所有代码级问题均已修复,H3C/无采购单场景与原逻辑一致,非新华三+有采购单为有意业务变更。
+
+### 金额格式统一专项检查(第四轮,只查不改)
+**统一现状**:全局 formatCurrency(utils/index.js:17,main.js:46 注册,null→'0.00',toLocaleString en-US 2位小数);本次 diff 新增 72 处 formatCurrency(27 个文件);后端 21 个 domain 106 个 @Excel 字段加 decimalFormat。
+
+**后端 Excel 遗漏**:OmsTicketBill.java:70 taxAmount(税额,活动注解,其余单据均已加)。比率类(taxRate×4、planRate×2、invoiceRate、receiptRate)未加属合理;折扣类(OrderList.discount、ProjectOrderConfigInfo.guidanceDiscount/discount)需确认语义。
+
+**前端遗漏**:ApplyInvoice.vue:122/129/143 v-else 分支裸显示 unitPrice/amount/taxAmount;writeoff 两 index 的 $modal 提示文案 5 处无千分位(轻微);formatCurrency(x.toFixed(2)) 双重格式化 ~12 处(冗余无害)。
+
+**体系性发现**:项目存在 7+ 处组件局部 formatAmount/formatAmountNumber 副本(均为存量,非本次新增):purchaseorder/index.vue:589、orderFinance.vue:377(filters)、base/quotation/index.vue:535、ProductConfig.vue:497、approve/all/index.vue:1295(用zh-CN)、projectTransfer.vue:293、project/info/index.vue:491 等。差异:局部版 null→'',全局版 null→'0.00'。后续统一建议收敛到全局 formatCurrency,先定 null 显示口径。
+
+**formatCurrency 边界**:非数字字符串入参会显示 "NaN"(Number('abc').toLocaleString → "NaN"),建议加 Number.isNaN 保护。convertCurrency(大写金额)依赖 toFixed 字符串,InvoiceInfoView:115 / ApplyInvoice:278 / invoiceExcelUtils.js:147 的 toFixed(2) 必须保留,不是遗漏。
+
+### 第五轮:全量改动集成测试(mvn 编译 + vue 解析)
+**Maven 全量编译**(JAVA_HOME=Corretto 8):7 模块 SUCCESS,0 ERROR。Lombok、@Excel 注解、mapper SQL、Service 实现全部对齐。
+**前端 31 文件 SFC/JS 解析**:用 @vue/compiler-sfc 批量 parse,0 失败(PaymentRefundDetail、ReceiptDetail、ReceivableInvoiceDetail、ApplyInvoice、InvoiceInfoView、EditForm×2、AddForm、receipt/index、writeoff 6 个文件、inventory/inner、ProductConfig、ProjectForm、project/info/index、OrderDetail、PurchaseOrderDetail、PurchaseOrderDetailView、PurchaseOrderSelectDialog、vendorConfirm、system/product、approve/purchaase×2、selectQuotation、projectTransfer、invoiceExcelUtils.js)。
+
+**本轮新增发现的位置**(前几轮未深查):
+- ruoyi-admin/logback.xml:把 jiliu 路径换成 kangwenjing 个人本地路径,纯个人配置切换,不影响代码(提交前建议恢复或加 .gitignore 排除)。
+- dto/InventoryInfoExcelDto.java、dto/warehouse/WarehouseInnerExcelDto.java:innerPrice 加 decimalFormat,已正确 ✓
+- approve/purchaase/{approve,approved}/index.vue:含税总金额列加 formatter ✓
+- base/quotation/selectQuotation.vue:discountAmount 加 formatter,字段名语义为"报价金额"(QuotationInfo 表的折扣后金额),没问题 ✓
+- system/product/index.vue:queryParams 已在 data() 初始声明 preSystemType: null ✓;resetForm 依赖表单模板自动重置 ✓;handleTypeChange 在切换非硬件时清空 preSystemType ✓
+- OmsTicketBill.java:70 税额仍**漏** decimalFormat(连续两轮没修)。
diff --git a/.workbuddy/memory/2026-09-09.md b/.workbuddy/memory/2026-09-09.md
new file mode 100644
index 00000000..4e9a4156
--- /dev/null
+++ b/.workbuddy/memory/2026-09-09.md
@@ -0,0 +1,35 @@
+# 2026-09-09 工作日志
+
+## 全量改动复核 + 集成测试(不动代码)
+
+**改动规模**:65 文件、+427 / -283 行
+
+**集成测试结果**:
+- 后端:`mvn compile -DskipTests`(JAVA_HOME=Corretto 1.8.0_442) → **BUILD SUCCESS**,7 模块 0 ERROR
+- 前端:31 个 Vue/JS 文件用 `@vue/compiler-sfc` 解析 → **31 ok, 0 fail**
+
+**本轮发现**:
+1. `OmsTicketBill.java:70` 税额已加 `decimalFormat = "#,##0.00"`(用户修复)
+2. SQL 文件名 `20290904` → `20260904`(已改),但文件内注释仍写 `2029-09-04`
+3. `.gitignore` 已加 `.DS_Store`(用户修复)
+4. `ruoyi-admin/.DS_Store` 仍被 `git ls-files` 跟踪,需 `git rm --cached` 才能彻底忽略
+
+**确认正确的覆盖**:
+- `inventory/inner/index.vue`、`vendorConfirm.vue` — 本次新加 formatter 没问题
+- `InventoryInfoExcelDto.java`、`WarehouseInnerExcelDto.java` — 入库价已加 decimalFormat
+- `ProductInfo.java` + `ProductInfoMapper.xml` — preSystemType 字段前后端完整配套
+- `OmsInventoryInnerServiceImpl.java` — 三处修复(NPE、payConfigDay 拆箱、税金额)均正确
+
+**仍未修的小遗留**:
+- `ApplyInvoice.vue:122/129/143` v-else 裸显示(用户上一轮已知,影响小)
+- 14 处 `formatCurrency(x.toFixed(2))` 双重格式化(冗余但正确)
+- 7+ 处局部 `formatAmount/formatAmountNumber` 副本(存量代码,本次未改)
+
+**体系性问题(与本次改动范围无关)**:
+- 项目里 7+ 处组件局部的 `formatAmount` 副本,行为与全局 `formatCurrency` 略有差异(null 显示空 vs '0.00'),建议后续收敛
+- `formatCurrency('abc')` 会显示 "NaN",建议加 `Number.isNaN` 保护
+
+**提交前清单**:
+- [ ] 修 `sql/20260904update.sql` 注释里的 `2029-09-04` → `2026-09-04`
+- [ ] `git rm --cached ruoyi-admin/.DS_Store`(.gitignore 已加,但已跟踪文件需手动移除)
+- [ ] 可选:`git checkout ruoyi-admin/src/main/resources/logback.xml` 恢复个人本地路径
\ No newline at end of file
diff --git a/oms_web/oms_vue/src/views/approve/finance/invoiceExcelUtils.js b/oms_web/oms_vue/src/views/approve/finance/invoiceExcelUtils.js
index 0bded91f..72b13eb2 100644
--- a/oms_web/oms_vue/src/views/approve/finance/invoiceExcelUtils.js
+++ b/oms_web/oms_vue/src/views/approve/finance/invoiceExcelUtils.js
@@ -12,7 +12,7 @@ function formatCurrency(value) {
if (Number.isNaN(num)) {
return "0.00";
}
- return num.toFixed(2);
+ return num.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
}
function getProductTypeLabel(value) {
@@ -135,9 +135,9 @@ function buildSummaryRow(items) {
return `
| 合计 |
- ¥${allPriceTotal.toFixed(2)} |
+ ¥${formatCurrency(allPriceTotal)} |
- |
- ¥${taxTotal.toFixed(2)} |
+ ¥${formatCurrency(taxTotal)} |
`;
}
diff --git a/oms_web/oms_vue/src/views/approve/finance/paymentRefund/components/PaymentRefundDetail.vue b/oms_web/oms_vue/src/views/approve/finance/paymentRefund/components/PaymentRefundDetail.vue
index 4c63fb72..7b6f1a17 100644
--- a/oms_web/oms_vue/src/views/approve/finance/paymentRefund/components/PaymentRefundDetail.vue
+++ b/oms_web/oms_vue/src/views/approve/finance/paymentRefund/components/PaymentRefundDetail.vue
@@ -36,8 +36,8 @@
-
-
+
+
diff --git a/oms_web/oms_vue/src/views/approve/finance/receiptRefound/components/ReceiptDetail.vue b/oms_web/oms_vue/src/views/approve/finance/receiptRefound/components/ReceiptDetail.vue
index f02c01d5..040a1650 100644
--- a/oms_web/oms_vue/src/views/approve/finance/receiptRefound/components/ReceiptDetail.vue
+++ b/oms_web/oms_vue/src/views/approve/finance/receiptRefound/components/ReceiptDetail.vue
@@ -31,8 +31,8 @@
-
-
+
+
diff --git a/oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/components/ReceivableInvoiceDetail.vue b/oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/components/ReceivableInvoiceDetail.vue
index 80ce4ef4..cf6bfa1a 100644
--- a/oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/components/ReceivableInvoiceDetail.vue
+++ b/oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/components/ReceivableInvoiceDetail.vue
@@ -37,12 +37,12 @@
- {{ scope.row.totalPriceWithTax }}
+ {{ formatCurrency(scope.row.totalPriceWithTax) }}
- {{ scope.row.receiptAmount }}
+ {{ formatCurrency(scope.row.receiptAmount) }}
diff --git a/oms_web/oms_vue/src/views/approve/purchaase/approve/index.vue b/oms_web/oms_vue/src/views/approve/purchaase/approve/index.vue
index 6cae9160..49731152 100644
--- a/oms_web/oms_vue/src/views/approve/purchaase/approve/index.vue
+++ b/oms_web/oms_vue/src/views/approve/purchaase/approve/index.vue
@@ -62,7 +62,7 @@
-
+
{{ parseTime(scope.row.applyTime, '{y}-{m}-{d}') }}
diff --git a/oms_web/oms_vue/src/views/approve/purchaase/approved/index.vue b/oms_web/oms_vue/src/views/approve/purchaase/approved/index.vue
index bd2c5a1c..219d33b6 100644
--- a/oms_web/oms_vue/src/views/approve/purchaase/approved/index.vue
+++ b/oms_web/oms_vue/src/views/approve/purchaase/approved/index.vue
@@ -62,7 +62,7 @@
-
+
{{ parseTime(scope.row.applyTime, '{y}-{m}-{d}') }}
diff --git a/oms_web/oms_vue/src/views/base/quotation/selectQuotation.vue b/oms_web/oms_vue/src/views/base/quotation/selectQuotation.vue
index 14c68c3a..cf266cec 100644
--- a/oms_web/oms_vue/src/views/base/quotation/selectQuotation.vue
+++ b/oms_web/oms_vue/src/views/base/quotation/selectQuotation.vue
@@ -27,7 +27,7 @@
-
+
{{ parseTime(scope.row.createTime) }}
diff --git a/oms_web/oms_vue/src/views/dataProcess/projectTransfer.vue b/oms_web/oms_vue/src/views/dataProcess/projectTransfer.vue
index e7e4f814..ffda6aa8 100644
--- a/oms_web/oms_vue/src/views/dataProcess/projectTransfer.vue
+++ b/oms_web/oms_vue/src/views/dataProcess/projectTransfer.vue
@@ -292,7 +292,7 @@ export default {
/** 格式化金额 */
formatAmountNumber(value) {
if (value) {
- return Number(value).toLocaleString('en-US');
+ return Number(value).toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
}
return '';
}
diff --git a/oms_web/oms_vue/src/views/finance/invoice/components/ApplyInvoice.vue b/oms_web/oms_vue/src/views/finance/invoice/components/ApplyInvoice.vue
index 0c58f891..4d4ed67a 100644
--- a/oms_web/oms_vue/src/views/finance/invoice/components/ApplyInvoice.vue
+++ b/oms_web/oms_vue/src/views/finance/invoice/components/ApplyInvoice.vue
@@ -162,7 +162,7 @@
(小写)
- ¥{{ totalAmountNumber }}
+ ¥{{ formatCurrency(totalAmountNumber) }}
@@ -457,7 +457,7 @@ export default {
return prev;
}
}, 0);
- sums[index] = '¥' + sum.toFixed(2);
+ sums[index] = '¥' + formatCurrency(sum);
} else {
sums[index] = '';
}
diff --git a/oms_web/oms_vue/src/views/finance/invoice/components/InvoiceInfoView.vue b/oms_web/oms_vue/src/views/finance/invoice/components/InvoiceInfoView.vue
index 88624a28..faddb878 100644
--- a/oms_web/oms_vue/src/views/finance/invoice/components/InvoiceInfoView.vue
+++ b/oms_web/oms_vue/src/views/finance/invoice/components/InvoiceInfoView.vue
@@ -59,7 +59,7 @@
-
+
@@ -146,7 +146,7 @@ export default {
return prev;
}
}, 0);
- sums[index] = '¥' + sum.toFixed(2);
+ sums[index] = '¥' + formatCurrency(sum);
} else {
sums[index] = '';
}
diff --git a/oms_web/oms_vue/src/views/finance/payable/components/EditForm.vue b/oms_web/oms_vue/src/views/finance/payable/components/EditForm.vue
index 5dec41c4..971e3fe9 100644
--- a/oms_web/oms_vue/src/views/finance/payable/components/EditForm.vue
+++ b/oms_web/oms_vue/src/views/finance/payable/components/EditForm.vue
@@ -362,7 +362,7 @@ export default {
if (index === 0) {
sums[index] = '合计';
} else if (column.property === 'paymentAmount') {
- sums[index] = paymentAmountSum.toFixed(2);
+ sums[index] = this.formatCurrency(paymentAmountSum);
} else if (column.property === 'paymentRate') {
if (this.formData.totalPriceWithTax && this.formData.totalPriceWithTax > 0) {
const ratio = this.$calc.div(paymentAmountSum , this.formData.totalPriceWithTax,4);
diff --git a/oms_web/oms_vue/src/views/finance/payment/components/AddForm.vue b/oms_web/oms_vue/src/views/finance/payment/components/AddForm.vue
index 6081bb20..dc21f84d 100644
--- a/oms_web/oms_vue/src/views/finance/payment/components/AddForm.vue
+++ b/oms_web/oms_vue/src/views/finance/payment/components/AddForm.vue
@@ -80,7 +80,7 @@
- {{ calculateOrderCurrentPaymentAmount(scope.row) }}
+ {{ formatCurrency(calculateOrderCurrentPaymentAmount(scope.row)) }}
@@ -96,8 +96,8 @@
-
-
+
+
@@ -108,10 +108,10 @@
-
+
- {{ $calc.sub($calc.sub(scope.row.totalPriceWithTax, scope.row.paidPaymentAmount), scope.row.unpaidPaymentAmount) }}
+ {{ formatCurrency($calc.sub($calc.sub(scope.row.totalPriceWithTax, scope.row.paidPaymentAmount), scope.row.unpaidPaymentAmount)) }}
0) {
const ratio = this.$calc.div(receiptAmountSum , this.formData.totalPriceWithTax,4);
@@ -286,7 +286,7 @@ export default {
if (index === 0) {
sums[index] = '合计';
} else if (column.property === 'invoiceAmount') {
- sums[index] = invoiceAmountSum.toFixed(2);
+ sums[index] = this.formatCurrency(invoiceAmountSum);
} else if (column.property === 'invoiceRate') {
if (this.formData.totalPriceWithTax && this.formData.totalPriceWithTax > 0) {
const ratio = this.$calc.div(invoiceAmountSum , this.formData.totalPriceWithTax,4);
diff --git a/oms_web/oms_vue/src/views/finance/writeoff/payment/index.vue b/oms_web/oms_vue/src/views/finance/writeoff/payment/index.vue
index 4d6d7805..43ddbebf 100644
--- a/oms_web/oms_vue/src/views/finance/writeoff/payment/index.vue
+++ b/oms_web/oms_vue/src/views/finance/writeoff/payment/index.vue
@@ -111,15 +111,15 @@
-
+
- {{ calculateExcludingTax(scope.row.unpaidPaymentAmount, scope.row.taxRate) }}
+ {{ formatCurrency(calculateExcludingTax(scope.row.unpaidPaymentAmount, scope.row.taxRate)) }}
- {{ calculateTax(scope.row.unpaidPaymentAmount, scope.row.taxRate) }}
+ {{ formatCurrency(calculateTax(scope.row.unpaidPaymentAmount, scope.row.taxRate)) }}
@@ -166,7 +166,7 @@
付款单本次核销总额: {{
- totalPaymentWriteOffAmount.toFixed(2)
+ formatCurrency(totalPaymentWriteOffAmount)
}}
总价之和不能大于应付单本次核销总价之和
diff --git a/oms_web/oms_vue/src/views/finance/writeoff/payment/writeoffRecord.vue b/oms_web/oms_vue/src/views/finance/writeoff/payment/writeoffRecord.vue
index 9faf0882..aa4fe678 100644
--- a/oms_web/oms_vue/src/views/finance/writeoff/payment/writeoffRecord.vue
+++ b/oms_web/oms_vue/src/views/finance/writeoff/payment/writeoffRecord.vue
@@ -90,9 +90,9 @@
-
-
-
+
+
+
销售-收款单
-
+
@@ -31,7 +31,7 @@
销售-应收单
-
+
diff --git a/oms_web/oms_vue/src/views/finance/writeoff/receipt/index.vue b/oms_web/oms_vue/src/views/finance/writeoff/receipt/index.vue
index 7bfebb36..3faf19ee 100644
--- a/oms_web/oms_vue/src/views/finance/writeoff/receipt/index.vue
+++ b/oms_web/oms_vue/src/views/finance/writeoff/receipt/index.vue
@@ -74,7 +74,7 @@
销售-应收单
应收单本次核销总额: {{ totalReceivableWriteOffAmount.toFixed(2) }}
+ style="color: #409EFF">{{ formatCurrency(totalReceivableWriteOffAmount) }}
-
+
- {{ calculateExcludingTax(scope.row.unreceivedAmount, scope.row.taxRate) }}
+ {{ formatCurrency(calculateExcludingTax(scope.row.unreceivedAmount, scope.row.taxRate)) }}
- {{ calculateTax(scope.row.unreceivedAmount, scope.row.taxRate) }}
+ {{ formatCurrency(calculateTax(scope.row.unreceivedAmount, scope.row.taxRate)) }}
- {{
- $calc.sub($calc.sub(scope.row.totalPriceWithTax, scope.row.receivedAmount), scope.row.unreceivedAmount)
- }}
+ {{ formatCurrency($calc.sub($calc.sub(scope.row.totalPriceWithTax, scope.row.receivedAmount), scope.row.unreceivedAmount)) }}
-
+
- {{ calculateExcludingTax(scope.row.receivedAmount, scope.row.taxRate) }}
+ {{ formatCurrency(calculateExcludingTax(scope.row.receivedAmount, scope.row.taxRate)) }}
- {{ calculateTax(scope.row.receivedAmount, scope.row.taxRate) }}
+ {{ formatCurrency(calculateTax(scope.row.receivedAmount, scope.row.taxRate)) }}
-
+
本次核销含税总价(元): {{
- totalReceiptWriteOffAmount.toFixed(2)
+ formatCurrency(totalReceiptWriteOffAmount)
}}
总价之和不能大于应收单本次核销总价之和
@@ -184,14 +182,13 @@
- {{ scope.row.remainingAmount || '0.00' }}
-
+ {{ formatCurrency(scope.row.remainingAmount) }}
-
-
-
+
+
+
-
+
-
-
-
+
+
+
收票单信息
-
+
@@ -31,7 +31,7 @@
应付单明细
-
+
diff --git a/oms_web/oms_vue/src/views/finance/writeoff/ticket/writeoffRecord.vue b/oms_web/oms_vue/src/views/finance/writeoff/ticket/writeoffRecord.vue
index 3975fb09..ddc86c89 100644
--- a/oms_web/oms_vue/src/views/finance/writeoff/ticket/writeoffRecord.vue
+++ b/oms_web/oms_vue/src/views/finance/writeoff/ticket/writeoffRecord.vue
@@ -88,9 +88,9 @@
-
-
-
+
+
+
-
+
diff --git a/oms_web/oms_vue/src/views/project/info/ProductConfig.vue b/oms_web/oms_vue/src/views/project/info/ProductConfig.vue
index 73d545e0..db5fa792 100644
--- a/oms_web/oms_vue/src/views/project/info/ProductConfig.vue
+++ b/oms_web/oms_vue/src/views/project/info/ProductConfig.vue
@@ -67,7 +67,10 @@
-
+
@@ -148,7 +151,10 @@
-
+
@@ -227,7 +233,10 @@
-
+
@@ -277,6 +286,11 @@ export default {
readonly: {
type: Boolean,
default: false
+ },
+ // 锁定税率,不允许编辑(用于订单新增等场景)
+ lockTaxRate: {
+ type: Boolean,
+ default: false
}
},
data() {
@@ -585,5 +599,22 @@ export default {
width: 100%;
}
}
+
+ // 税率遮盖层
+ .tax-rate-wrap {
+ position: relative;
+
+ .tax-rate-mask {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 2;
+ cursor: not-allowed;
+ // 轻微底色区分,提示该字段不可编辑
+ background: rgba(200, 200, 200, 0.35);
+ }
+ }
}
diff --git a/oms_web/oms_vue/src/views/project/info/ProjectForm.vue b/oms_web/oms_vue/src/views/project/info/ProjectForm.vue
index f30c569e..ba3fc5eb 100644
--- a/oms_web/oms_vue/src/views/project/info/ProjectForm.vue
+++ b/oms_web/oms_vue/src/views/project/info/ProjectForm.vue
@@ -296,7 +296,7 @@
diff --git a/oms_web/oms_vue/src/views/project/info/index.vue b/oms_web/oms_vue/src/views/project/info/index.vue
index e9b7d226..e678bb96 100644
--- a/oms_web/oms_vue/src/views/project/info/index.vue
+++ b/oms_web/oms_vue/src/views/project/info/index.vue
@@ -490,7 +490,7 @@ export default {
/** 格式化金额 */
formatAmountNumber(value) {
if (value) {
- return Number(value).toLocaleString('en-US');
+ return Number(value).toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
}
return '';
},
diff --git a/oms_web/oms_vue/src/views/project/order/OrderDetail.vue b/oms_web/oms_vue/src/views/project/order/OrderDetail.vue
index d9714669..480dfd03 100644
--- a/oms_web/oms_vue/src/views/project/order/OrderDetail.vue
+++ b/oms_web/oms_vue/src/views/project/order/OrderDetail.vue
@@ -18,7 +18,7 @@
diff --git a/oms_web/oms_vue/src/views/purchaseorder/components/PurchaseOrderDetail.vue b/oms_web/oms_vue/src/views/purchaseorder/components/PurchaseOrderDetail.vue
index 9c012c94..bba875f0 100644
--- a/oms_web/oms_vue/src/views/purchaseorder/components/PurchaseOrderDetail.vue
+++ b/oms_web/oms_vue/src/views/purchaseorder/components/PurchaseOrderDetail.vue
@@ -162,7 +162,7 @@
-
+
@@ -178,15 +178,15 @@
diff --git a/oms_web/oms_vue/src/views/purchaseorder/components/PurchaseOrderDetailView.vue b/oms_web/oms_vue/src/views/purchaseorder/components/PurchaseOrderDetailView.vue
index 26572594..3c1c9e46 100644
--- a/oms_web/oms_vue/src/views/purchaseorder/components/PurchaseOrderDetailView.vue
+++ b/oms_web/oms_vue/src/views/purchaseorder/components/PurchaseOrderDetailView.vue
@@ -152,7 +152,7 @@
- {{ scope.row.price }}
+ {{ formatCurrency(scope.row.price) }}
@@ -160,7 +160,7 @@
{{ scope.row.taxRate *100}}
-
+
{{ parseTime(scope.row.deliveryDate, '{y}-{m}-{d}') }}
@@ -170,15 +170,15 @@