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

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

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