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]" /> - - + +
+
预设每份容量
+
+ +
+ 平均分配 + 重置 + +
@@ -77,8 +84,6 @@ export default { integerInputNumberItem: { type: "inputNumber", fillType: "actFill", - precision: 0, - maxlength: 3 }, inputNumberItem: { type: "inputNumber", @@ -88,7 +93,6 @@ export default { preInputNumberItem: { type: "inputNumber", fillType: "preFill", - label:"预计称量" }, formData: { mybh: "",//母液编号 @@ -134,12 +138,19 @@ export default { } }, computed: { + unitItem() { + return { + type: "select", + fillType: "preFill", + options: this.dict.type.business_tjdw + } + }, subConfig(){ return[ { fieldKey:"clfz_mybh", key:"mybh", - label:"母编号", + label:"包装编号", type:"input", disabled: true, fillType: "actFill", @@ -150,14 +161,13 @@ export default { label:"分装数量", type:"inputNumber", fillType: "preFill", + precision: 0, + maxlength: 3, + unit:"份", }, - { - fieldKey:"clfz_dw", - key:"dw", - label:"单位", - type:"select", - options: this.dict.type.business_tjdw, - fillType: "preFill", + {//占位 + fieldKey:"clfz_dw1", + type:"span", }, ] }, @@ -397,7 +407,8 @@ export default { margin-left: 5px; } .unit-select { - width: 100px; + // width: 100px; + flex:1; } .content-item { @@ -448,4 +459,5 @@ export default { margin-right: 5px; // width: 200px; } + \ No newline at end of file diff --git a/src/components/Template/StepComponents/pcrfxyp/cdnsypfz.vue b/src/components/Template/StepComponents/pcrfxyp/cdnsypfz.vue index da48dff..ebc2d90 100644 --- a/src/components/Template/StepComponents/pcrfxyp/cdnsypfz.vue +++ b/src/components/Template/StepComponents/pcrfxyp/cdnsypfz.vue @@ -1,6 +1,6 @@