|
|
@@ -97,26 +97,28 @@
|
|
|
min="0"
|
|
|
:max="sellerRow.farmerWrbalance"
|
|
|
v-model="baseForm.trxrcdNum"
|
|
|
+ @input="trxrcdNumInput"
|
|
|
style="width: 150px"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
- <div style="display:flex;align-items:center;margin-top: 10px">
|
|
|
+ <div style="display:flex;align-items:center;margin-top: 20px">
|
|
|
<el-form-item label="交易价格:" prop="trxrcdPrice" style="margin:0;padding:0">
|
|
|
<el-input
|
|
|
type="number"
|
|
|
min="0"
|
|
|
v-model="baseForm.trxrcdPrice"
|
|
|
+ @input="trxrcdPriceInput"
|
|
|
style="width: 150px"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
- <div style="display:flex;align-items:center;margin-top: 10px">
|
|
|
+ <div style="display:flex;align-items:center;margin-top: 20px">
|
|
|
<el-form-item label="交易金额:" style="margin:0;padding:0">
|
|
|
{{ (Number(baseForm.trxrcdNum) * Number(baseForm.trxrcdPrice)).toFixed(2) }}
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
- <div style="text-align:right;margin-top:50px">
|
|
|
+ <div style="text-align:right;margin-top:30px">
|
|
|
<el-button type="info" plain @click="resetForm('baseForm')"
|
|
|
>取消</el-button
|
|
|
>
|
|
|
@@ -170,16 +172,30 @@ export default {
|
|
|
},
|
|
|
rules: {
|
|
|
trxrcdSellerid: [
|
|
|
- { required: true, message: '请选择您的卖方用水户', trigger: 'blur' }
|
|
|
+ { required: true, message: '请选择您的卖方用水户', trigger: 'change' }
|
|
|
],
|
|
|
trxrcdBuyerid: [
|
|
|
- { required: true, message: '请选择您的买方用水户', trigger: 'blur' }
|
|
|
+ { required: true, message: '请选择您的买方用水户', trigger: 'change' }
|
|
|
],
|
|
|
trxrcdPrice: [
|
|
|
- { required: true, message: '请输入您的交易水量', trigger: 'blur' }
|
|
|
+ { required: true, validator: (rule, value, callback) => {
|
|
|
+ if (!value) callback(new Error('请输入您的交易水量'));
|
|
|
+ if (value <= 0) {
|
|
|
+ callback(new Error('请正确输入您的交易水量'));
|
|
|
+ } else {
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }, trigger: 'blur' }
|
|
|
],
|
|
|
trxrcdNum: [
|
|
|
- { required: true, message: '请输入您的交易价格', trigger: 'blur' }
|
|
|
+ { required: true, validator: (rule, value, callback) => {
|
|
|
+ if (!value) callback(new Error('请输入您的交易价格'));
|
|
|
+ if (value <= 0) {
|
|
|
+ callback(new Error('请正确输入您的交易价格'));
|
|
|
+ } else {
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }, trigger: 'blur' }
|
|
|
]
|
|
|
}
|
|
|
};
|
|
|
@@ -198,6 +214,22 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
methods: {
|
|
|
+ trxrcdNumInput(value) {
|
|
|
+ if(isNaN(value))return false
|
|
|
+ this.baseForm.trxrcdNum = this.setRule(value)
|
|
|
+ },
|
|
|
+ trxrcdPriceInput(value) {
|
|
|
+ if (isNaN(value)) return false
|
|
|
+ this.baseForm.trxrcdPrice = this.setRule(value)
|
|
|
+ },
|
|
|
+ setRule(value) {
|
|
|
+ value = value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
|
|
|
+ value = value.replace(/^\./g, ""); //验证第一个字符是数字而不是字符
|
|
|
+ value = value.replace(/\.{2,}/g, "."); //只保留第一个.清除多余的
|
|
|
+ value = value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
|
|
|
+ value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
|
|
|
+ return value
|
|
|
+ },
|
|
|
async addTrxrcdHandler() {
|
|
|
const params = { ...this.baseForm }
|
|
|
params.trxrcdMoney = Number(this.baseForm.trxrcdNum) * Number(this.baseForm.trxrcdPrice)
|
|
|
@@ -220,6 +252,13 @@ export default {
|
|
|
},
|
|
|
resetForm(formName) {
|
|
|
this.dialogVisible = false;
|
|
|
+ this.baseForm = {
|
|
|
+ trxrcdSellerid: '',
|
|
|
+ trxrcdBuyerid: '',
|
|
|
+ trxrcdPrice: 0,
|
|
|
+ trxrcdNum: 0
|
|
|
+ }
|
|
|
+ this.$refs.baseForm.resetFields();
|
|
|
},
|
|
|
handleClose() {
|
|
|
this.$emit('update:visible', false);
|