付款登记

master
lion 5 days ago
parent b779395733
commit cbfeb239d8

@ -131,6 +131,14 @@ export function debounce(fn,delay=500){
export function moneyFormatter(money,precision=2){
return Number(money).toFixed(precision).replace(/(\d)(?=(\d{3})+\.)/g, '$1,')
}
/** 支付占比(%),签订价为 0 或未填时返回 0.00,避免 Infinity */
export function calcPayPercent(paid, money, precision = 2) {
const contractMoney = Number(money)
if (!contractMoney) {
return (0).toFixed(precision)
}
return (((Number(paid) || 0) / contractMoney) * 100).toFixed(precision)
}
//金额分隔复原
export function moneyRecovery(money){
return parseFloat(money.replace(/[^\d\.-]/g, ""));

@ -134,7 +134,7 @@ import {getFundLog,detailFundLog,editorFundLog} from "@/api/paymentRegistration/
import {getBudget} from "@/api/budget/budget";
import {detailContract} from "@/api/contract/contract";
import {Message} from "element-ui";
import {parseTime} from "@/utils";
import {parseTime, calcPayPercent} from "@/utils";
export default {
data() {
@ -234,8 +234,7 @@ export default {
},
//
percentPay(){
let total = this.totalMoney()
return (total/this.contract.money)*100 || 0
return calcPayPercent(this.totalMoney(), this.contract.money)
},
async getRegistration(id){

@ -281,7 +281,7 @@ import { getFundLog, addFundLog } from "@/api/paymentRegistration/fundLog";
import { getBudget } from "@/api/budget/budget";
import { detailContract, editorContract } from "@/api/contract/contract";
import { Message } from "element-ui";
import { parseTime } from "@/utils";
import { parseTime, calcPayPercent } from "@/utils";
export default {
data() {
@ -453,7 +453,7 @@ export default {
//
percentPay() {
let total = this.totalMoney();
return Number(this.contract.money) ? ((total / Number(this.contract.money)) * 100).toFixed(2) : 0;
return calcPayPercent(total, this.contract.money);
},
closeDetailLoading() {

@ -985,7 +985,7 @@ import { getparameter } from "@/api/system/dictionary";
import { listdeptNoAuth } from "@/api/system/department";
import { getBudget } from "@/api/budget/budget";
import { getOatoken } from "@/api/oatoken";
import { deepCopy, parseTime, resetSelect,moneyFormatter } from '@/utils'
import { deepCopy, parseTime, resetSelect,moneyFormatter, calcPayPercent } from '@/utils'
import { Message } from "element-ui";
import { getInfo } from "@/api/user.js";
import { getToken } from "@/utils/auth";
@ -1231,12 +1231,11 @@ export default {
label: "支付占比",
width: 140,
customFn: (row) => {
let per =
((row.fund_log_total / row.money || 0) * 100)?.toFixed(2) || 0;
let per = calcPayPercent(row.fund_log_total, row.money);
return (
<div
style={{
color: per > 110 ? "red" : "green",
color: Number(per) > 110 ? "red" : "green",
}}
>
{" "}

@ -1200,7 +1200,7 @@ import { getparameter } from "@/api/system/dictionary";
import { listdeptNoAuth } from "@/api/system/department";
import { getBudget } from "@/api/budget/budget";
import { getOatoken } from "@/api/oatoken";
import { deepCopy, parseTime, resetSelect,moneyFormatter } from '@/utils'
import { deepCopy, parseTime, resetSelect,moneyFormatter, calcPayPercent } from '@/utils'
import { Message } from "element-ui";
import { getInfo } from "@/api/user.js";
import { getToken } from "@/utils/auth";
@ -1455,12 +1455,11 @@ export default {
label: "支付占比",
width: 140,
customFn: (row) => {
let per =
((row.fund_log_total / row.money || 0) * 100)?.toFixed(2) || 0;
let per = calcPayPercent(row.fund_log_total, row.money);
return (
<div
style={{
color: per > 110 ? "red" : "green",
color: Number(per) > 110 ? "red" : "green",
}}
>
{" "}
@ -1777,12 +1776,11 @@ export default {
label: "支付占比",
width: 140,
customFn: (row) => {
let per =
((row.fund_log_total / row.money || 0) * 100)?.toFixed(2) || 0;
let per = calcPayPercent(row.fund_log_total, row.money);
return (
<div
style={{
color: per > 110 ? "red" : "green",
color: Number(per) > 110 ? "red" : "green",
}}
>
{" "}

@ -307,7 +307,7 @@ import { getparameter } from "@/api/system/dictionary";
import { listdeptNoAuth } from "@/api/system/department";
import { getBudget } from "@/api/budget/budget";
import { getOatoken } from "@/api/oatoken";
import { parseTime, deepCopy } from "@/utils";
import { parseTime, deepCopy, calcPayPercent } from "@/utils";
import { Message } from "element-ui";
import { getInfo } from "@/api/user.js";
@ -641,12 +641,11 @@ export default {
label: "支付占比",
width: 140,
customFn: (row) => {
let per =
((row.fund_log_total / row.money || 0) * 100)?.toFixed(2) || 0;
let per = calcPayPercent(row.fund_log_total, row.money);
return (
<div
style={{
color: per > 110 ? "red" : "green",
color: Number(per) > 110 ? "red" : "green",
}}
>
{" "}

@ -408,7 +408,7 @@
getOatoken
} from "@/api/oatoken"
import {
parseTime,deepCopy
parseTime,deepCopy, calcPayPercent
} from "@/utils"
import {
Message
@ -726,11 +726,11 @@
label: '支付占比',
width: 140,
customFn: (row) => {
let per = ((((row.fund_log_total) / row.money) || 0) * 100)?.toFixed(2) || 0
let per = calcPayPercent(row.fund_log_total, row.money)
return ( <
div style = {
{
'color': per > 110 ? 'red' : 'green'
'color': Number(per) > 110 ? 'red' : 'green'
}
} > {
per

Loading…
Cancel
Save