提交 42e26a93 authored 作者: zsf's avatar zsf

预支工资最小最大值校验逻辑

上级 b5972385
......@@ -11,12 +11,12 @@
class="ruleFormRef"
>
<el-form-item label="最低预支额度" prop="minAmount">
<el-input v-model="formLabelAlign.minAmount" type="number" />
<el-input v-model="formLabelAlign.minAmount" type="number" oninput="if(value) if(value<=0){value='0'}"/>
</el-form-item>
<el-form-item></el-form-item>
<el-form-item></el-form-item>
<el-form-item label="无手续费当月累计限额" prop="freeAmount">
<el-input v-model="formLabelAlign.freeAmount" type="number" />
<el-input v-model="formLabelAlign.freeAmount" type="number" oninput="if(value) if(value<=0){value='0'}"/>
</el-form-item>
<el-form-item></el-form-item>
<el-form-item label="手续费" style="width: 1010px;" prop="fee">
......@@ -52,18 +52,18 @@
<el-dialog :title=title v-model="open" width="500px" append-to-body>
<el-form ref="addDialogRef" :model="addForm" :rules="feeRules" label-width="110">
<el-form-item label="手续费(%)" prop="serviceFee">
<el-input v-model="addForm.serviceFee" placeholder="请输入手续费" maxlength="60" />
<el-input v-model="addForm.serviceFee" placeholder="请输入手续费" type="number" oninput="if(value) if(value<=0){value='0'} if(value>=10){value='10'}" />
</el-form-item>
<el-form-item label="最小值" prop="minAmount">
<el-input v-model="addForm.minAmount" placeholder="请输入最小值" maxlength="60" />
<el-input v-model="addForm.minAmount" placeholder="请输入最小值" type="number" oninput="if(value) if(value<=0){value='0'}" :disabled="disabled"/>
</el-form-item>
<el-form-item label="最大值" prop="maxAmount">
<el-input v-model="addForm.maxAmount" placeholder="请输入最大值" maxlength="60" />
<el-input v-model="addForm.maxAmount" placeholder="请输入最大值" type="number" oninput="if(value) if(value<=0){value='0'}" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitDialog">确 定</el-button>
<el-button type="primary" @click="submitDialog()">确 定</el-button>
<el-button @click="open = false">取 消</el-button>
</div>
</template>
......@@ -84,6 +84,9 @@ const open = ref(false)
const id = proxy.$route.query.id || '' // 编辑时数据id
const code = proxy.$route.query.code || '' // 编辑时数据code
const title = ref();
const disabled = ref(false);
let currentIndex;
const data = reactive({
formLabelAlign: {
......@@ -118,7 +121,9 @@ function add(e){
if(e){
title.value = "编辑手续费"
disabled.value = e.$index === 0;
addForm.value = {...e.row};
currentIndex = e.$index;
}else {
addForm.value = {
maxAmount: '',
......@@ -126,12 +131,26 @@ function add(e){
serviceFee: ''
}
title.value = "新增手续费"
disabled.value = true;
let list = formLabelAlign.value.fee || []
if(list.length===0){
addForm.value.minAmount = 0;
}else {
let fee = list[list.length-1];
addForm.value.minAmount = fee.maxAmount;
}
}
}
/** 保存手续费 */
function submitDialog(){
proxy.$refs.addDialogRef.validate((valid) => {
if (!valid) return;
//校验最小值、最大值
if(parseFloat(addForm.value.minAmount)>parseFloat(addForm.value.maxAmount)){
return proxy.$modal.msgWarning(`最小值不能大于最大值!`);
}
let list = formLabelAlign.value.fee || []
for (let i = 0; i < list.length; i++) {
if (list[i].serviceFee == addForm.value.serviceFee && list[i].id!=addForm.value.id) {
......@@ -139,24 +158,64 @@ function submitDialog(){
}
}
open.value= false
if(title.value==='新增手续费'){
formLabelAlign.value.fee.push({...addForm.value})
}else {
let list = formLabelAlign.value.fee
for(let i = 0; i < list.length; i++) {
if (list[i].id == addForm.value.id) {
list[i] = addForm.value
//当前数据的上一条数据
let lastData = formLabelAlign.value.fee[currentIndex-1];
//当前数据的下一条数据
let nextData = formLabelAlign.value.fee[currentIndex+1];
//当前修改行数据
let thisData = formLabelAlign.value.fee[currentIndex];
if(currentIndex!==0){
if(thisData.minAmount != addForm.value.minAmount){
if(parseFloat(addForm.value.minAmount)<parseFloat(lastData.minAmount)){
return proxy.$modal.msgWarning(`最小值不能小于上条手续费的最小值:`+lastData.minAmount);
}else if(parseFloat(addForm.value.minAmount)>parseFloat(lastData.maxAmount)){
return proxy.$modal.msgWarning(`最小值不能大于上条手续费的最大值:`+lastData.maxAmount);
}else {
lastData.maxAmount = addForm.value.minAmount
}
}
}
if(currentIndex!==list.length-1){
if(thisData.maxAmount != addForm.value.maxAmount){
if(parseFloat(addForm.value.maxAmount)>parseFloat(nextData.maxAmount)){
return proxy.$modal.msgWarning(`最大值不能大于下条手续费的最大值:`+nextData.maxAmount);
}else {
nextData.minAmount = addForm.value.maxAmount
}
}
}
list[currentIndex] = addForm.value
// for(let i = 0; i < list.length; i++) {
// if (list[i].id == addForm.value.id) {
// list[i] = addForm.value
// }
// }
formLabelAlign.value.fee = list
}
open.value= false
})
}
/** 删除手续费 */
function delFee(row){
if(formLabelAlign.value.fee.length-1 === row.$index){
formLabelAlign.value.fee.splice(row.$index, 1)
}else {
//自动修改下一条数据的最小值
if(row.$index==0){
formLabelAlign.value.fee[row.$index+1].minAmount = 0;
}else {
formLabelAlign.value.fee[row.$index+1].minAmount = formLabelAlign.value.fee[row.$index-1].maxAmount
}
formLabelAlign.value.fee.splice(row.$index, 1)
}
}
/** 取消 */
function resetForm(){
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论