<el-input @keyup.native="item.exchangeRateValue = oninput(item.exchangeRateValue, 8)"
v-model="item.exchangeRateValue" placeholder="请输入汇率"></el-input>
oninput(num, limit) {
var str = num
var len1 = str.substr(0, 1)
var len2 = str.substr(1, 1)
//如果第一位是0,第二位不是点,就用数字把点替换掉
if (str.length > 1 && len1 == 0 && len2 != '.') {
str = str.substr(1, 1)
}
//第一位不能是.
if (len1 == '.') {
str = ''
}
//限制只能输入一个小数点
if (str.indexOf('.') != -1) {
var str_ = str.substr(str.indexOf('.') + 1)
if (str_.indexOf('.') != -1) {
str = str.substr(0, str.indexOf('.') + str_.indexOf('.') + 1)
}
}
//正则替换
str = str.replace(/[^\d^\.]+/g, '') // 保留数字和小数点
if (limit == 1) {
str = str.replace(/^\D*([0-9]\d*\.?\d{0,1})?.*$/, '$1') // 小数点后只能输 1 位
} else if (limit == 2) {
str = str.replace(/^\D*([0-9]\d*\.?\d{0,2})?.*$/, '$1') // 小数点后只能输 2 位
} else if (limit == 3) {
str = str.replace(/^\D*([0-9]\d*\.?\d{0,3})?.*$/, '$1') // 小数点后只能输 3 位
} else if (limit == 4) {
str = str.replace(/^\D*([0-9]\d*\.?\d{0,4})?.*$/, '$1') // 小数点后只能输 4 位
}else if (limit == 8) {
str = str.replace(/^\D*([0-9]\d*\.?\d{0,8})?.*$/, '$1') // 小数点后只能输 8 位
}//如果想自定义小数点后保留的位数请else if 既可
return str
},
update(item, state) {
if (state === '2') {
item.exchangeRateValue = 6.8
}
if (!item.exchangeRateValue) {
if (document.getElementsByClassName('el-message').length === 0) { //避免提示重叠
this.$message.error('汇率不可为空!')
}
return
} else if (isNaN(item.exchangeRateValue)) {
this.$message.error('汇率只可为数值!')
return
}
util.ajax.post('/reqfund/rfExchangeRate/save',
{
exchangeRateId: item.exchangeRateId,
exchangeRateValue: item.exchangeRateValue,
currency: item.currency,
deleteFlag: '0',
}).then(res => {
if (res.data.msg == '保存成功') {
this.$message({message: '保存成功!', type: 'success'});
// this.init()
} else {
this.$message({message: '保存失败!', type: 'error'});
}
}).catch((/* err */) => {
});
},