checkText(scope, item) {
if (item.fieldname === 'strproducenum') {
if (
/^[\u4e00-\u9fa5]+$/g.test(scope.row[item.fieldname]) ||
/\s/.test(scope.row[item.fieldname]) ||
/^(?:[!@#$%^&()+=<>,.?/:";',。、?》《:“”‘’;!@#¥%……&()+=`~·]+)$/g.test(scope.row[item.fieldname])
) {
this.$message.error('禁止输入空格,纯汉字以及纯符号!')
scope.row[item.fieldname] = ''
return false
}
const arr = '01234567890,111,222,333,444,555,666,777,888,999,000'
if (
arr.includes(scope.row[item.fieldname]) ||
/([0-9])\1{1,}$/.test(scope.row[item.fieldname]) ||
(scope.row[item.fieldname].length === 1 &&
typeof Number(scope.row[item.fieldname]) === 'number')
) {
this.$message.error('禁止输入单数字或连续数字!')
scope.row[item.fieldname] = ''
return false
}
}
checkQuantity(val, scope, item) {
if (item.fieldname === 'dblquantity' || item.fieldname === 'dblprice') {
if (!scope.row.lngitemid) {
this.$message.error('请选择物品!')
scope.row[item.fieldname] = ''
return false
}
if (!/^[+-]?\d*(\.\d*)?(e[+-]?\d+)?$/.test(scope.row[item.fieldname])) {
this.$message.error('必须为数字!')
scope.row[item.fieldname] = ''
scope.row.totalprice = ''
return false
}
if (item.fieldname === 'dblquantity') {
if (!/^(\d|[1-9]\d+)(\.\d+)?$/.test(scope.row[item.fieldname])) {
this.$message.error('只能输入正数!')
scope.row.dblquantity = ''
scope.row.totalprice = ''
return false
}
if (
!/^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/.test(
scope.row.dblquantity * 1
)
) {
this.$message.error('输入最多12位整数2位小数!')
scope.row.dblquantity = ''
scope.row.totalprice = ''
return false
}
} else if (item.fieldname === 'dblprice') {
if (!/^(\d|[1-9]\d+)(\.\d+)?$/.test(scope.row[item.fieldname])) {
this.$message.error('只能输入正数!')
scope.row.dblprice = ''
scope.row.totalprice = ''
return false
}
if (
!/^(0\.(?!0+$)\d{1,4}|^[1-9][0-9]{0,11}(\.\d{0,4})?)$/.test(
scope.row.dblprice * 1
)
) {
this.$message.error('输入最多12位整数4位小数!')
scope.row.dblprice = ''
scope.row.totalprice = ''
return false
}
}
}
rules: {
stritem: [{ required: true, message: '必填字段', trigger: 'blur' }],
dblquantity: [
{ required: true, message: '必填字段', trigger: 'blur' },
{
pattern: '^[1-9]\\d{0,11}(\\.\\d{1,2})?$|^0(\\.\\d{1,2})?$',
message: '整数最多12位小数2位',
trigger: 'blur',
transform: (value) => String(value)
}
],
dblprice: [
{ required: true, message: '必填字段', trigger: 'blur' },
{
pattern: '^[1-9]\\d{0,11}(\\.\\d{1,4})?$|^0(\\.\\d{1,4})?$',
message: '整数最多12位小数4位',
trigger: 'blur',
transform: (value) => String(value)
}
]
},