|
@@ -154,6 +154,8 @@
|
154
|
154
|
var xmApproval = parent.getXmApproval();
|
155
|
155
|
let htList = ' ';
|
156
|
156
|
var ysId = 1;
|
|
157
|
+ var bzze = 0.0;
|
|
158
|
+ var yf‘ze = 0.0;
|
157
|
159
|
$("#fysq").val(xmApproval.fysq);
|
158
|
160
|
$("#fysqmc").val(xmApproval.fysqmc);
|
159
|
161
|
$("#rws").val(xmApproval.rws);
|
|
@@ -379,22 +381,52 @@
|
379
|
381
|
{type: "radio", fixed: 'left',title: '😊'},
|
380
|
382
|
{type: 'numbers', align: 'center',title: '序号'},
|
381
|
383
|
{field: 'fymc', width: '25%', title: '费用名称'},
|
382
|
|
- {title: '报账总金额(万元)',align: 'right',width: '20%',templet:function (row) {
|
383
|
|
- if (row.bzze == ' '){
|
384
|
|
- return 0.00;
|
385
|
|
- }else if (row.bzze == null){
|
386
|
|
- return 0.00;
|
387
|
|
- }else {
|
388
|
|
- return parseFloat(row.bzze).toFixed(2).toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 });
|
389
|
|
- }
|
390
|
|
- }},
|
391
|
|
- {title: '已付总额(万元)',width: '20%',align: 'right',templet:function (row) {
|
392
|
|
- if (row.yfze == null || row.yfze == ' '){
|
393
|
|
- return 0.00;
|
|
384
|
+ {
|
|
385
|
+ title: '报账总金额(万元)',
|
|
386
|
+ align: 'right',
|
|
387
|
+ width: '20%',
|
|
388
|
+ templet: function(row) {
|
|
389
|
+ // 检查空值
|
|
390
|
+ if (row.bzze == ' ' || row.bzze == null) {
|
|
391
|
+ return '<div style="display:block;">0.00</div>';
|
|
392
|
+ }
|
|
393
|
+
|
|
394
|
+ // 格式化数值
|
|
395
|
+ const formattedValue = parseFloat(row.bzze).toFixed(2).toLocaleString(undefined, {
|
|
396
|
+ minimumFractionDigits: 2,
|
|
397
|
+ maximumFractionDigits: 2
|
|
398
|
+ });
|
|
399
|
+
|
|
400
|
+ // 检查是否 yfze ≥ bzze
|
|
401
|
+ const shouldHighlight = parseFloat(row.yfze || 0) > parseFloat(row.bzze || 0);
|
|
402
|
+ const bgStyle = shouldHighlight ? 'background-color: #ffdddd;' : '';
|
|
403
|
+
|
|
404
|
+ return `<div style="${bgStyle}">${formattedValue}</div>`;
|
394
|
405
|
}
|
395
|
|
- return row.yfze.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 });
|
|
406
|
+ },
|
|
407
|
+ {
|
|
408
|
+ title: '已付总额(万元)',
|
|
409
|
+ width: '20%',
|
|
410
|
+ align: 'right',
|
|
411
|
+ templet: function(row) {
|
|
412
|
+ // 检查空值
|
|
413
|
+ if (row.yfze == null || row.yfze == ' ') {
|
|
414
|
+ return '<div style="display:block;">0.00</div>';
|
|
415
|
+ }
|
|
416
|
+
|
|
417
|
+ // 格式化数值
|
|
418
|
+ const formattedValue = row.yfze.toLocaleString(undefined, {
|
|
419
|
+ minimumFractionDigits: 2,
|
|
420
|
+ maximumFractionDigits: 2
|
|
421
|
+ });
|
396
|
422
|
|
397
|
|
- }},
|
|
423
|
+ // 检查是否 yfze ≥ bzze
|
|
424
|
+ const shouldHighlight = parseFloat(row.yfze || 0) > parseFloat(row.bzze || 0);
|
|
425
|
+ const bgStyle = shouldHighlight ? 'background-color: #ffdddd;' : '';
|
|
426
|
+
|
|
427
|
+ return `<div style="${bgStyle}">${formattedValue}</div>`;
|
|
428
|
+ }
|
|
429
|
+ },
|
398
|
430
|
{title: '可申请额度(万元)',align: 'right',width: '20%',templet:function (row) {
|
399
|
431
|
const bzze = parseFloat(row.bzze);
|
400
|
432
|
const yfze = parseFloat(row.yfze);
|
|
@@ -417,6 +449,12 @@
|
417
|
449
|
]
|
418
|
450
|
},
|
419
|
451
|
done: function (elem, data) {
|
|
452
|
+ const selectedRow = data.data[0]; // 如果是单选模式,data.data[0] 就是选中的行
|
|
453
|
+
|
|
454
|
+ // 获取报账总额和已付总额
|
|
455
|
+ bzze = selectedRow.bzze || 0; // 已报账总额
|
|
456
|
+ yfze = selectedRow.yfze || 0; // 已付款总额
|
|
457
|
+
|
420
|
458
|
var NEWJSON = [];
|
421
|
459
|
var NEWJSON1 = [];
|
422
|
460
|
var NEWJSON2 = [];
|
|
@@ -457,6 +495,10 @@
|
457
|
495
|
e.delegateTarget.value = "";
|
458
|
496
|
}else if (bcfkje > 1000){
|
459
|
497
|
layer.msg('本次付款金额单位为万元,请确认当前数据无误。',{icon:2});
|
|
498
|
+ }else if (bcfkje + yfze > bzze){
|
|
499
|
+ console.log('bcfkje:' + bcfkje + 'yfze:' + yfze + 'bzze:' + bzze)
|
|
500
|
+ layer.msg('本次付款金额和已付款金额之和不能大于已报账总额,请重新输入!',{icon:2});
|
|
501
|
+ e.delegateTarget.value = "";
|
460
|
502
|
}
|
461
|
503
|
});
|
462
|
504
|
//合同文件
|