From 5d21a168d53b6288236a7ae4ce37e32faa14ef2b Mon Sep 17 00:00:00 2001 From: luojie <125330818@qq.com> Date: Sat, 28 Mar 2026 12:40:55 +0800 Subject: [PATCH] =?UTF-8?q?feat:[=E6=A8=A1=E6=9D=BF=E7=AE=A1=E7=90=86][?= =?UTF-8?q?=E5=A4=84=E7=90=86=E5=AF=86=E7=A0=81=E8=BE=93=E5=85=A5=E6=A1=86?= =?UTF-8?q?=E5=A4=8D=E5=88=B6=E5=89=AA=E5=88=87=E9=97=AE=E9=A2=98]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Template/DecimalInput.vue | 23 ++++++---- .../Template/StepComponents/ZLSubPackage.vue | 50 ++++++++++++++-------- .../Template/StepComponents/pcrfxyp/cdnsypfz.vue | 10 ++++- src/components/Template/StepFormPackage.vue | 1 - src/components/Template/mixins/stepMixins.js | 4 +- .../comps/template/dialog/SubPackageDialog.vue | 5 +-- src/views/business/form/nonTrial/comp/syff/Yd.vue | 2 +- src/views/business/resource/gsp/comps/ffjl/Gd.vue | 2 +- src/views/business/resource/gsp/comps/ffjl/Jy.vue | 2 +- src/views/business/resource/gsp/comps/ffjl/Sd.vue | 2 +- src/views/business/resource/gsp/comps/gsp/Bj.vue | 2 +- src/views/business/resource/gsp/comps/gsp/Cz.vue | 2 +- .../business/resource/gsp/comps/gsp/CzBatch.vue | 2 +- src/views/business/resource/gsp/comps/gsp/Ff.vue | 2 +- src/views/business/resource/gsp/comps/gsp/Gh.vue | 2 +- src/views/business/resource/gsp/comps/gsp/Js.vue | 2 +- src/views/business/resource/gsp/comps/gsp/Jy.vue | 2 +- src/views/business/resource/gsp/comps/gsp/Sd.vue | 2 +- src/views/business/resource/gsp/comps/gsp/Shbj.vue | 2 +- .../business/resource/gsp/comps/gsp/Shxgkc.vue | 2 +- src/views/business/resource/gsp/comps/gsp/Xgkc.vue | 2 +- src/views/business/resource/gsp/comps/gsp/Xz.vue | 2 +- src/views/business/resource/gsp/comps/rkjl/Gd.vue | 2 +- src/views/business/resource/gsp/comps/rkjl/Jy.vue | 2 +- src/views/business/resource/gsp/comps/rkjl/Sd.vue | 2 +- src/views/business/resource/gsp/comps/rkjl/Xz.vue | 2 +- src/views/business/resource/mjy/comps/ffjl/Gd.vue | 2 +- src/views/business/resource/mjy/comps/ffjl/Jd.vue | 2 +- src/views/business/resource/mjy/comps/ffjl/Jq.vue | 2 +- src/views/business/resource/mjy/comps/ffjl/Js.vue | 2 +- src/views/business/resource/mjy/comps/ffjl/Jy.vue | 2 +- src/views/business/resource/mjy/comps/ffjl/Sd.vue | 2 +- src/views/business/resource/mjy/comps/mjy/Bj.vue | 2 +- src/views/business/resource/mjy/comps/mjy/Cc.vue | 2 +- src/views/business/resource/mjy/comps/mjy/Czrq.vue | 2 +- src/views/business/resource/mjy/comps/mjy/Czyj.vue | 2 +- src/views/business/resource/mjy/comps/mjy/Gd.vue | 2 +- src/views/business/resource/mjy/comps/mjy/Jd.vue | 2 +- src/views/business/resource/mjy/comps/mjy/Js.vue | 2 +- src/views/business/resource/mjy/comps/mjy/Jy.vue | 2 +- src/views/business/resource/mjy/comps/mjy/Qc.vue | 2 +- src/views/business/resource/mjy/comps/mjy/Rk.vue | 2 +- src/views/business/resource/mjy/comps/mjy/Sd.vue | 2 +- src/views/business/resource/mjy/comps/mjy/Shbj.vue | 2 +- .../business/resource/mjy/comps/mjy/Shxgkc.vue | 2 +- src/views/business/resource/mjy/comps/mjy/Xgkc.vue | 2 +- src/views/business/resource/mjy/comps/mjy/Ysff.vue | 2 +- src/views/business/resource/zcg/comps/Ysff.vue | 2 +- src/views/business/resource/zcg/comps/Ysgh.vue | 2 +- src/views/business/study/comp/jhbd/Fh.vue | 2 +- src/views/business/study/comp/jhbd/Ghgsr.vue | 2 +- src/views/business/study/comp/jhbd/Sy.vue | 2 +- src/views/business/study/comp/syff/Xz.vue | 2 +- src/views/business/study/comp/syff/Yd.vue | 2 +- src/views/business/study/comp/syj/Bj.vue | 2 +- src/views/business/study/comp/syj/Xz.vue | 2 +- src/views/business/study/comp/tbbd/Blxjsh.vue | 2 +- src/views/business/study/comp/tbbd/Fh.vue | 2 +- src/views/business/study/comp/tbbd/Fz.vue | 2 +- src/views/business/study/comp/tbbd/Gc.vue | 2 +- src/views/business/study/comp/tbbd/Ghgsr.vue | 2 +- src/views/business/study/comp/tbbd/Qrfz.vue | 2 +- src/views/business/study/comp/tbbd/Sy.vue | 2 +- src/views/business/study/comp/ytbd/Gb.vue | 2 +- src/views/business/study/comp/ytbd/Qrgb.vue | 2 +- src/views/business/study/comp/ytbd/Sh.vue | 4 +- 66 files changed, 119 insertions(+), 96 deletions(-) diff --git a/src/components/Template/DecimalInput.vue b/src/components/Template/DecimalInput.vue index 4c17c67..fd5077b 100644 --- a/src/components/Template/DecimalInput.vue +++ b/src/components/Template/DecimalInput.vue @@ -135,8 +135,10 @@ export default { } } else { // 处理数字和小数点输入 + // 当 decimalDigits 为 0 时,不允许输入小数点 + const allowedPattern = this.decimalDigits === 0 ? /[^\d-]/g : /[^\d.-]/g; cleaned = val - .replace(/[^\d.-]/g, '') + .replace(allowedPattern, '') .replace(/^(-)\1+/, '$1'); // 确保只有一个小数点 @@ -148,18 +150,21 @@ export default { } // 处理小数点位数限制 - if (this.decimalDigits > 0 && cleaned.includes('.')) { + if (this.decimalDigits == 0) { + // 当 decimalDigits 为 0 时,直接移除所有小数点 + cleaned = cleaned.replace(/\./g, ''); + } else if (this.decimalDigits > 0 && cleaned.includes('.')) { const [intPart, decPart = ''] = cleaned.split('.'); cleaned = intPart + '.' + decPart.slice(0, this.decimalDigits); - } else if (this.decimalDigits === 0) { - cleaned = cleaned.split('.')[0]; } - // 处理以小数点开头的情况 - if (cleaned === '.') cleaned = '0.'; - else if (cleaned === '-.') cleaned = '-0.'; - else if (cleaned.startsWith('.')) cleaned = '0' + cleaned; - else if (cleaned.startsWith('-.')) cleaned = '-0.' + cleaned.slice(2); + // 处理以小数点开头的情况(仅当允许小数时) + if (this.decimalDigits > 0) { + if (cleaned === '.') cleaned = '0.'; + else if (cleaned === '-.') cleaned = '-0.'; + else if (cleaned.startsWith('.')) cleaned = '0' + cleaned; + else if (cleaned.startsWith('-.')) cleaned = '-0.' + cleaned.slice(2); + } // 处理整数部分的前导零 if (cleaned.includes('.')) { diff --git a/src/components/Template/StepComponents/ZLSubPackage.vue b/src/components/Template/StepComponents/ZLSubPackage.vue index 224bf68..bdd69ef 100644 --- a/src/components/Template/StepComponents/ZLSubPackage.vue +++ b/src/components/Template/StepComponents/ZLSubPackage.vue @@ -10,20 +10,27 @@ :type="item.type" @blur = "(e)=>onCommonBlur(e,item.key)" v-model="formData[item.key]" /> - - + +