修改工资核定标准可以为小数,最多两个小数点
This commit is contained in:
parent
3200945615
commit
8e141943e1
|
|
@ -1836,7 +1836,12 @@ export default {
|
|||
this.Base64Photo = ''
|
||||
},
|
||||
|
||||
// 初始化工资核定标准正则表达式
|
||||
/**
|
||||
* 初始化工资核定标准正则表达式
|
||||
* 业务背景:用于验证工资核定标准输入,确保输入值大于等于最低工资标准且小于等于999999
|
||||
* 设计决策:支持最多2位小数的数字,保持原有整数验证逻辑,在整数部分基础上添加可选小数部分
|
||||
* @param {Number} num - 最低工资标准(整数)
|
||||
*/
|
||||
initSalaryRegexp(num) {
|
||||
// 确保num是1-999999之间的整数
|
||||
const n = Math.min(Math.max(Number(num) || 1, 1), 999999)
|
||||
|
|
@ -1850,7 +1855,8 @@ export default {
|
|||
// 例如:num是3位数(123),则4-6位数均合法(1000-999999)
|
||||
for (let i = len + 1; i <= maxLen; i++) {
|
||||
// 第一位1-9,后面i-1位0-9(无前置零)
|
||||
regexParts.push(`[1-9]\\d{${i - 1}}`)
|
||||
// 添加可选的小数部分(最多2位小数)
|
||||
regexParts.push(`[1-9]\\d{${i - 1}}(\\.\\d{1,2})?`)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1861,19 +1867,29 @@ export default {
|
|||
|
||||
if (str === maxSameLen) {
|
||||
// 若num等于同位数最大值(如999),则同位数只有它本身合法
|
||||
regexParts.push(str)
|
||||
// 添加可选的小数部分(最多2位小数)
|
||||
regexParts.push(`${str}(\\.\\d{1,2})?`)
|
||||
} else {
|
||||
// 分三部分处理同位数:
|
||||
// a. 第一位大于num的第一位:后面任意(如num=345,第一位4-9,后两位任意)
|
||||
if (firstDigit < 9) {
|
||||
regexParts.push(`[${firstDigit + 1}-9]\\d{${len - 1}}`)
|
||||
// 整数部分大于num,小数部分可选
|
||||
regexParts.push(
|
||||
`[${firstDigit + 1}-9]\\d{${len - 1}}(\\.\\d{1,2})?`,
|
||||
)
|
||||
}
|
||||
|
||||
// b. 第一位等于num的第一位,后面部分大于等于num的后几位
|
||||
// 生成后几位的正则(如num=345,第一位3,后两位需≥45)
|
||||
const restRegex = this.getRestRegex(rest)
|
||||
if (restRegex) {
|
||||
regexParts.push(`${firstDigit}${restRegex}`)
|
||||
// 整数部分大于num的情况:小数部分可选
|
||||
regexParts.push(`${firstDigit}${restRegex}(\\.\\d{1,2})?`)
|
||||
// 整数部分等于num的情况:小数部分可选(因为整体 = num 也合法)
|
||||
regexParts.push(`${firstDigit}${rest}(\\.\\d{1,2})?`)
|
||||
} else {
|
||||
// 如果没有后几位(1位数情况),且等于num,小数部分可选
|
||||
regexParts.push(`${firstDigit}(\\.\\d{1,2})?`)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1919,10 +1935,14 @@ export default {
|
|||
return result
|
||||
},
|
||||
|
||||
// 初始化工资核定标准提示信息
|
||||
/**
|
||||
* 初始化工资核定标准提示信息
|
||||
* 业务背景:提示用户输入符合要求的工资核定标准
|
||||
* 设计决策:更新提示信息以反映支持最多2位小数的数字
|
||||
* @param {Number} num - 最低工资标准
|
||||
*/
|
||||
initSalaryMessage(num) {
|
||||
// return `请输入${num}-999999之间的正整数`
|
||||
this.contractInfoFormRules.wageCriterion[1].message = `请输入${num}-999999之间的正整数`
|
||||
this.contractInfoFormRules.wageCriterion[1].message = `请输入${num}-999999之间的数字(最多2位小数)`
|
||||
},
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -968,7 +968,8 @@ export default {
|
|||
// 例如:num是3位数(123),则4-6位数均合法(1000-999999)
|
||||
for (let i = len + 1; i <= maxLen; i++) {
|
||||
// 第一位1-9,后面i-1位0-9(无前置零)
|
||||
regexParts.push(`[1-9]\\d{${i - 1}}`)
|
||||
// 添加可选的小数部分(最多2位小数)
|
||||
regexParts.push(`[1-9]\\d{${i - 1}}(\\.\\d{1,2})?`)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -979,19 +980,29 @@ export default {
|
|||
|
||||
if (str === maxSameLen) {
|
||||
// 若num等于同位数最大值(如999),则同位数只有它本身合法
|
||||
regexParts.push(str)
|
||||
// 添加可选的小数部分(最多2位小数)
|
||||
regexParts.push(`${str}(\\.\\d{1,2})?`)
|
||||
} else {
|
||||
// 分三部分处理同位数:
|
||||
// a. 第一位大于num的第一位:后面任意(如num=345,第一位4-9,后两位任意)
|
||||
if (firstDigit < 9) {
|
||||
regexParts.push(`[${firstDigit + 1}-9]\\d{${len - 1}}`)
|
||||
// 整数部分大于num,小数部分可选
|
||||
regexParts.push(
|
||||
`[${firstDigit + 1}-9]\\d{${len - 1}}(\\.\\d{1,2})?`,
|
||||
)
|
||||
}
|
||||
|
||||
// b. 第一位等于num的第一位,后面部分大于等于num的后几位
|
||||
// 生成后几位的正则(如num=345,第一位3,后两位需≥45)
|
||||
const restRegex = this.getRestRegex(rest)
|
||||
if (restRegex) {
|
||||
regexParts.push(`${firstDigit}${restRegex}`)
|
||||
// 整数部分大于num的情况:小数部分可选
|
||||
regexParts.push(`${firstDigit}${restRegex}(\\.\\d{1,2})?`)
|
||||
// 整数部分等于num的情况:小数部分可选(因为整体 = num 也合法)
|
||||
regexParts.push(`${firstDigit}${rest}(\\.\\d{1,2})?`)
|
||||
} else {
|
||||
// 如果没有后几位(1位数情况),且等于num,小数部分可选
|
||||
regexParts.push(`${firstDigit}(\\.\\d{1,2})?`)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1040,7 +1051,7 @@ export default {
|
|||
// 初始化工资核定标准提示信息
|
||||
initSalaryMessage(num) {
|
||||
// return `请输入${num}-999999之间的正整数`
|
||||
this.addEntryProjectFormRules.wageCriterion[1].message = `请输入${num}-999999之间的正整数`
|
||||
this.addEntryProjectFormRules.wageCriterion[1].message = `请输入${num}-999999之间的数字(最多2位小数)`
|
||||
},
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -475,7 +475,8 @@ export default {
|
|||
// 例如:num是3位数(123),则4-6位数均合法(1000-999999)
|
||||
for (let i = len + 1; i <= maxLen; i++) {
|
||||
// 第一位1-9,后面i-1位0-9(无前置零)
|
||||
regexParts.push(`[1-9]\\d{${i - 1}}`)
|
||||
// 添加可选的小数部分(最多2位小数)
|
||||
regexParts.push(`[1-9]\\d{${i - 1}}(\\.\\d{1,2})?`)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -486,19 +487,29 @@ export default {
|
|||
|
||||
if (str === maxSameLen) {
|
||||
// 若num等于同位数最大值(如999),则同位数只有它本身合法
|
||||
regexParts.push(str)
|
||||
// 添加可选的小数部分(最多2位小数)
|
||||
regexParts.push(`${str}(\\.\\d{1,2})?`)
|
||||
} else {
|
||||
// 分三部分处理同位数:
|
||||
// a. 第一位大于num的第一位:后面任意(如num=345,第一位4-9,后两位任意)
|
||||
if (firstDigit < 9) {
|
||||
regexParts.push(`[${firstDigit + 1}-9]\\d{${len - 1}}`)
|
||||
// 整数部分大于num,小数部分可选
|
||||
regexParts.push(
|
||||
`[${firstDigit + 1}-9]\\d{${len - 1}}(\\.\\d{1,2})?`,
|
||||
)
|
||||
}
|
||||
|
||||
// b. 第一位等于num的第一位,后面部分大于等于num的后几位
|
||||
// 生成后几位的正则(如num=345,第一位3,后两位需≥45)
|
||||
const restRegex = this.getRestRegex(rest)
|
||||
if (restRegex) {
|
||||
regexParts.push(`${firstDigit}${restRegex}`)
|
||||
// 整数部分大于num的情况:小数部分可选
|
||||
regexParts.push(`${firstDigit}${restRegex}(\\.\\d{1,2})?`)
|
||||
// 整数部分等于num的情况:小数部分可选(因为整体 = num 也合法)
|
||||
regexParts.push(`${firstDigit}${rest}(\\.\\d{1,2})?`)
|
||||
} else {
|
||||
// 如果没有后几位(1位数情况),且等于num,小数部分可选
|
||||
regexParts.push(`${firstDigit}(\\.\\d{1,2})?`)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -547,7 +558,7 @@ export default {
|
|||
// 初始化工资核定标准提示信息
|
||||
initSalaryMessage(num) {
|
||||
// return `请输入${num}-999999之间的正整数`
|
||||
this.contractInfoFormRules.wageCriterion[1].message = `请输入${num}-999999之间的正整数`
|
||||
this.contractInfoFormRules.wageCriterion[1].message = `请输入${num}-999999之间的数字(最多2位小数)`
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue