From 531d433ab95e1c5ca48637eca9dc157380f675c0 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期四, 12 十一月 2026 18:37:05 +0800
Subject: [PATCH] 修改了个税功能

---
 src/main.js |   30 +++++++++++++++++++++++++++++-
 1 files changed, 29 insertions(+), 1 deletions(-)

diff --git a/src/main.js b/src/main.js
index 3601ed1..d8a4a2e 100644
--- a/src/main.js
+++ b/src/main.js
@@ -19,6 +19,7 @@
 import '@/assets/styles/theme-runtime.scss'
 import '@/assets/styles/element-override.scss'
 import '@/assets/styles/pdf-resize-dialog.scss'
+import '@/assets/styles/money.scss'
 import App from './App'
 import FilePreview from '@/components/FilePreview/index.vue'
 import store from './store'
@@ -46,6 +47,7 @@
 // 鍥剧墖涓婁紶缁勪欢
 import ImageUpload from "@/components/ImageUpload"
 import AttachmentPreviewPane from "@/components/AttachmentPreviewPane/index.vue"
+import { formatMoneyValue, moneyColumnFormatter } from '@/utils/money'
 // 瀛楀吀鏍囩缁勪欢
 import DictTag from '@/components/DictTag'
 // 澶撮儴鏍囩缁勪欢
@@ -104,6 +106,13 @@
     }
   },
   methods: {
+    formatMoneyValue,
+    formatMoney: moneyColumnFormatter,
+    normalizeMoney(row, key) {
+      if (row && key) {
+        row[key] = formatMoneyValue(row[key])
+      }
+    },
     openEmbeddedPreview(item) {
       if (!item) return
       const ext = String(item.name || '').toLowerCase().split('.').pop()
@@ -144,7 +153,7 @@
 Vue.config.productionTip = false
 
 // 鍓嶇鏋勫缓鏍囪瘑锛氱敤浜庣‘璁ゆ祻瑙堝櫒瀹為檯鍔犺浇鐨勬槸鍝竴鐗堜唬鐮�
-window.__APP_BUILD__ = '2026-11-03-PDF-PREVIEW-18'
+window.__APP_BUILD__ = '2026-11-12-MONEY-1'
 
 const app = new Vue({
   el: '#app',
@@ -168,3 +177,22 @@
   }
   fallbackPreview.open(files, index)
 }
+
+// 閲戦鍒楀唴鍙紪杈戣緭鍏ユ澶辩劍鍚庣粺涓�涓や綅灏忔暟
+document.addEventListener('focusout', e => {
+  const target = e.target
+  if (!target || target.tagName !== 'INPUT') return
+  if (!target.closest('.money-column')) return
+  const raw = String(target.value || '').trim()
+  if (raw === '') return
+  const num = Number(raw)
+  if (!Number.isFinite(num)) return
+  const text = num.toFixed(2)
+  if (target.value === text) return
+  const setter = Object.getOwnPropertyDescriptor(
+    window.HTMLInputElement.prototype,
+    'value'
+  ).set
+  setter.call(target, text)
+  target.dispatchEvent(new Event('input', { bubbles: true }))
+})

--
Gitblit v1.9.3