给商品和计量单位增加对小数比例的兼容

This commit is contained in:
季圣华
2023-03-08 21:39:23 +08:00
parent 84026b5f9c
commit 00cabc2612
3 changed files with 98 additions and 67 deletions

View File

@@ -29,3 +29,12 @@ export function isPhone (s) {
export function isURL (s) { export function isURL (s) {
return /^http[s]?:\/\/.*/.test(s) return /^http[s]?:\/\/.*/.test(s)
} }
/**
* 两位小数
* @param {*} s
*/
export function isDecimalTwo (s) {
let reg = /^(([^0][0-9]+|0)\.([0-9]{1,2})$)|^([^0][0-9]+|0)$/
return reg.test(s)
}

View File

@@ -927,21 +927,21 @@
basicLowDecimal = mInfo.lowDecimal basicLowDecimal = mInfo.lowDecimal
} else { } else {
//副单位进行换算 //副单位进行换算
if(basicPurchaseDecimal) { mInfo.purchaseDecimal = basicPurchaseDecimal*ratio} if(basicPurchaseDecimal) { mInfo.purchaseDecimal = (basicPurchaseDecimal*ratio).toFixed(2)}
if(basicCommodityDecimal) { mInfo.commodityDecimal = basicCommodityDecimal*ratio} if(basicCommodityDecimal) { mInfo.commodityDecimal = (basicCommodityDecimal*ratio).toFixed(2)}
if(basicWholesaleDecimal) { mInfo.wholesaleDecimal = basicWholesaleDecimal*ratio} if(basicWholesaleDecimal) { mInfo.wholesaleDecimal = (basicWholesaleDecimal*ratio).toFixed(2)}
if(basicLowDecimal) { mInfo.lowDecimal = basicLowDecimal*ratio} if(basicLowDecimal) { mInfo.lowDecimal = (basicLowDecimal*ratio).toFixed(2)}
if(otherUnitTwo && i===2) { if(otherUnitTwo && i===2) {
if(basicPurchaseDecimal) { mInfo.purchaseDecimal = basicPurchaseDecimal*ratioTwo} if(basicPurchaseDecimal) { mInfo.purchaseDecimal = (basicPurchaseDecimal*ratioTwo).toFixed(2)}
if(basicCommodityDecimal) { mInfo.commodityDecimal = basicCommodityDecimal*ratioTwo} if(basicCommodityDecimal) { mInfo.commodityDecimal = (basicCommodityDecimal*ratioTwo).toFixed(2)}
if(basicWholesaleDecimal) { mInfo.wholesaleDecimal = basicWholesaleDecimal*ratioTwo} if(basicWholesaleDecimal) { mInfo.wholesaleDecimal = (basicWholesaleDecimal*ratioTwo).toFixed(2)}
if(basicLowDecimal) { mInfo.lowDecimal = basicLowDecimal*ratioTwo} if(basicLowDecimal) { mInfo.lowDecimal = (basicLowDecimal*ratioTwo).toFixed(2)}
} }
if(otherUnitThree && i===3) { if(otherUnitThree && i===3) {
if(basicPurchaseDecimal) { mInfo.purchaseDecimal = basicPurchaseDecimal*ratioThree} if(basicPurchaseDecimal) { mInfo.purchaseDecimal = (basicPurchaseDecimal*ratioThree).toFixed(2)}
if(basicCommodityDecimal) { mInfo.commodityDecimal = basicCommodityDecimal*ratioThree} if(basicCommodityDecimal) { mInfo.commodityDecimal = (basicCommodityDecimal*ratioThree).toFixed(2)}
if(basicWholesaleDecimal) { mInfo.wholesaleDecimal = basicWholesaleDecimal*ratioThree} if(basicWholesaleDecimal) { mInfo.wholesaleDecimal = (basicWholesaleDecimal*ratioThree).toFixed(2)}
if(basicLowDecimal) { mInfo.lowDecimal = basicLowDecimal*ratioThree} if(basicLowDecimal) { mInfo.lowDecimal = (basicLowDecimal*ratioThree).toFixed(2)}
} }
} }
} }
@@ -1083,23 +1083,23 @@
} else { } else {
//副单位进行换算 //副单位进行换算
mInfo.commodityUnit = otherUnit mInfo.commodityUnit = otherUnit
if(basicPurchaseDecimal) { mInfo.purchaseDecimal = basicPurchaseDecimal*ratio} if(basicPurchaseDecimal) { mInfo.purchaseDecimal = (basicPurchaseDecimal*ratio).toFixed(2)}
if(basicCommodityDecimal) { mInfo.commodityDecimal = basicCommodityDecimal*ratio} if(basicCommodityDecimal) { mInfo.commodityDecimal = (basicCommodityDecimal*ratio).toFixed(2)}
if(basicWholesaleDecimal) { mInfo.wholesaleDecimal = basicWholesaleDecimal*ratio} if(basicWholesaleDecimal) { mInfo.wholesaleDecimal = (basicWholesaleDecimal*ratio).toFixed(2)}
if(basicLowDecimal) { mInfo.lowDecimal = basicLowDecimal*ratio} if(basicLowDecimal) { mInfo.lowDecimal = (basicLowDecimal*ratio).toFixed(2)}
if(otherUnitTwo && i===2) { if(otherUnitTwo && i===2) {
mInfo.commodityUnit = otherUnitTwo mInfo.commodityUnit = otherUnitTwo
if(basicPurchaseDecimal) { mInfo.purchaseDecimal = basicPurchaseDecimal*ratioTwo} if(basicPurchaseDecimal) { mInfo.purchaseDecimal = (basicPurchaseDecimal*ratioTwo).toFixed(2)}
if(basicCommodityDecimal) { mInfo.commodityDecimal = basicCommodityDecimal*ratioTwo} if(basicCommodityDecimal) { mInfo.commodityDecimal = (basicCommodityDecimal*ratioTwo).toFixed(2)}
if(basicWholesaleDecimal) { mInfo.wholesaleDecimal = basicWholesaleDecimal*ratioTwo} if(basicWholesaleDecimal) { mInfo.wholesaleDecimal = (basicWholesaleDecimal*ratioTwo).toFixed(2)}
if(basicLowDecimal) { mInfo.lowDecimal = basicLowDecimal*ratioTwo} if(basicLowDecimal) { mInfo.lowDecimal = (basicLowDecimal*ratioTwo).toFixed(2)}
} }
if(otherUnitThree && i===3) { if(otherUnitThree && i===3) {
mInfo.commodityUnit = otherUnitThree mInfo.commodityUnit = otherUnitThree
if(basicPurchaseDecimal) { mInfo.purchaseDecimal = basicPurchaseDecimal*ratioThree} if(basicPurchaseDecimal) { mInfo.purchaseDecimal = (basicPurchaseDecimal*ratioThree).toFixed(2)}
if(basicCommodityDecimal) { mInfo.commodityDecimal = basicCommodityDecimal*ratioThree} if(basicCommodityDecimal) { mInfo.commodityDecimal = (basicCommodityDecimal*ratioThree).toFixed(2)}
if(basicWholesaleDecimal) { mInfo.wholesaleDecimal = basicWholesaleDecimal*ratioThree} if(basicWholesaleDecimal) { mInfo.wholesaleDecimal = (basicWholesaleDecimal*ratioThree).toFixed(2)}
if(basicLowDecimal) { mInfo.lowDecimal = basicLowDecimal*ratioThree} if(basicLowDecimal) { mInfo.lowDecimal = (basicLowDecimal*ratioThree).toFixed(2)}
} }
} }
} }

View File

@@ -54,6 +54,7 @@
import pick from 'lodash.pick' import pick from 'lodash.pick'
import {addUnit,editUnit,checkUnit } from '@/api/api' import {addUnit,editUnit,checkUnit } from '@/api/api'
import {autoJumpNextInput} from "@/utils/util" import {autoJumpNextInput} from "@/utils/util"
import {isDecimalTwo} from "@/utils/validate"
import {mixinDevice} from '@/utils/mixin' import {mixinDevice} from '@/utils/mixin'
export default { export default {
name: "UnitModal", name: "UnitModal",
@@ -124,20 +125,41 @@
that.confirmLoading = false; that.confirmLoading = false;
return; return;
} }
if(formData.otherUnit && !formData.ratio) { if(formData.otherUnit) {
that.$message.warning('抱歉比例不能为空'); if(!formData.ratio) {
that.confirmLoading = false; that.$message.warning('抱歉比例不能为空');
return; that.confirmLoading = false;
return;
}
if(!isDecimalTwo(formData.ratio)) {
that.$message.warning('抱歉比例只能为数字最多两位小数')
that.confirmLoading = false
return
}
} }
if(formData.otherUnitTwo && !formData.ratioTwo) { if(formData.otherUnitTwo) {
that.$message.warning('抱歉比例2不能为空'); if(!formData.ratioTwo) {
that.confirmLoading = false; that.$message.warning('抱歉比例2不能为空');
return; that.confirmLoading = false;
return;
}
if(!isDecimalTwo(formData.ratioTwo)) {
that.$message.warning('抱歉比例2只能为数字最多两位小数')
that.confirmLoading = false
return
}
} }
if(formData.otherUnitThree && !formData.ratioThree) { if(formData.otherUnitThree) {
that.$message.warning('抱歉比例3不能为空'); if(!formData.ratioThree) {
that.confirmLoading = false; that.$message.warning('抱歉比例3不能为空');
return; that.confirmLoading = false;
return;
}
if(!isDecimalTwo(formData.ratioThree)) {
that.$message.warning('抱歉比例3只能为数字最多两位小数')
that.confirmLoading = false
return
}
} }
if(!formData.otherUnitTwo && formData.otherUnitThree) { if(!formData.otherUnitTwo && formData.otherUnitThree) {
that.$message.warning('抱歉需要先输入副单位2再输入副单位3'); that.$message.warning('抱歉需要先输入副单位2再输入副单位3');