|
|
@@ -1812,25 +1812,11 @@ $(document).ready(function() {
|
|
|
$('#cons-addpay input[name="pay_price"]').val(cpInfo ? cpInfo.pay_price : '');
|
|
|
$('#cons-addpay input[name="debit_price"]').val(cpInfo ? cpInfo.debit_price : '');
|
|
|
$('#cons-addpay input[name="yf_price"]').val(cpInfo ? cpInfo.yf_price : '');
|
|
|
- // $('#cons-addpay input[name="sf_price"]').val(cpInfo ? cpInfo.sf_price : '');
|
|
|
+ $('#cons-addpay input[name="sf_price"]').val(cpInfo ? cpInfo.sf_price : '');
|
|
|
$('#cons-addpay select[name="pay_type"]').val(cpInfo ? cpInfo.pay_type : $('#cons-addpay select[name="pay_type"] option:first').text());
|
|
|
$('#cons-addpay textarea[name="remark"]').val(cpInfo ? cpInfo.remark : '');
|
|
|
$('#cons-addpay .yf-tips').text('');
|
|
|
$('#cons-addpay .sf-tips').text('');
|
|
|
- let items = null;
|
|
|
- if (cpInfo) {
|
|
|
- try { items = cpInfo.sf_json ? JSON.parse(cpInfo.sf_json) : null; } catch (e) {}
|
|
|
- // 旧数据没有 sf_json 时,用整笔 sf_price 填入首行
|
|
|
- if (!items || !items.length) items = [{ desc: '', amount: cpInfo.sf_price }];
|
|
|
- }
|
|
|
- $('#sf-rows').empty().append(
|
|
|
- items ? items.map(function (i) { return sfMakeRow(i.desc, i.amount); }) : sfMakeRow()
|
|
|
- );
|
|
|
- sfSyncDelBtns();
|
|
|
- $('#sf-over-warn').hide();
|
|
|
- $('#sf-sum-display').removeClass('text-danger');
|
|
|
- sfRecalc();
|
|
|
-
|
|
|
}
|
|
|
|
|
|
// 上传附件
|
|
|
@@ -2220,76 +2206,6 @@ $(document).ready(function() {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- function sfMakeRow(desc, amt) {
|
|
|
- const $r = $(
|
|
|
- '<div class="sf-row row no-gutters mb-2 align-items-center">' +
|
|
|
- '<div class="col-6 pr-2">' +
|
|
|
- '<input type="text" class="form-control form-control-sm sf-desc" placeholder="说明(如:工程款)">' +
|
|
|
- '</div>' +
|
|
|
- '<div class="col-5 pr-2">' +
|
|
|
- '<input type="number" class="form-control form-control-sm sf-amt" placeholder="金额" min="0">' +
|
|
|
- '</div>' +
|
|
|
- '<div class="col-1 text-center">' +
|
|
|
- '<button type="button" class="btn btn-sm btn-outline-secondary sf-del" style="font-size:16px;border: 1px solid #ced4da;" title="删除"><i class="fa fa-trash"></i></button>' +
|
|
|
- '</div>' +
|
|
|
- '</div>'
|
|
|
- );
|
|
|
- if (desc != null) $r.find('.sf-desc').val(desc);
|
|
|
- if (amt != null) $r.find('.sf-amt').val(amt);
|
|
|
- return $r;
|
|
|
- }
|
|
|
-
|
|
|
- function sfSyncDelBtns() {
|
|
|
- const $rows = $('#sf-rows .sf-row');
|
|
|
- $rows.find('.sf-del').toggle($rows.length > 1);
|
|
|
- }
|
|
|
-
|
|
|
-// 汇总明细 → 写入 hidden sf_price / sf_json,校验不超应付
|
|
|
- function sfRecalc() {
|
|
|
- let sfSum = 0;
|
|
|
- const items = [];
|
|
|
- $('#sf-rows .sf-row').each(function () {
|
|
|
- const amt = parseFloat($(this).find('.sf-amt').val()) || 0;
|
|
|
- const desc = $(this).find('.sf-desc').val();
|
|
|
- sfSum = ZhCalc.add(sfSum, amt);
|
|
|
- if ($(this).find('.sf-amt').val() !== '') items.push({ desc: desc, amount: amt });
|
|
|
- });
|
|
|
-
|
|
|
- $('[name="sf_price"]').val(sfSum || '');
|
|
|
- $('[name="sf_json"]').val(JSON.stringify(items));
|
|
|
- $('#sf-sum-display').text(
|
|
|
- '¥\u00a0' + sfSum
|
|
|
- );
|
|
|
-
|
|
|
- const yfPrice = parseFloat($('#cons-addpay [name="yf_price"]').val()) || 0;
|
|
|
- if (yfPrice > 0 && sfSum > yfPrice) {
|
|
|
- $('#sf-over-warn').show();
|
|
|
- $('#sf-yf-hint').text(
|
|
|
- '¥\u00a0' + yfPrice
|
|
|
- );
|
|
|
- $('#sf-sum-display').addClass('text-danger');
|
|
|
- $('#cons-addpay .sf-tips').text(' ≤ ' + yfPrice);
|
|
|
- } else {
|
|
|
- $('#sf-over-warn').hide();
|
|
|
- $('#sf-sum-display').removeClass('text-danger');
|
|
|
- // sf-tips 由原 change 回调管理,这里只在超限时覆盖,不超时不清(让原逻辑自己清)
|
|
|
- }
|
|
|
- }
|
|
|
- // 事件:明细金额变化
|
|
|
- $('#sf-rows').on('input change', '.sf-amt', sfRecalc);
|
|
|
- $('#sf-rows').on('input change', '.sf-desc', sfRecalc);
|
|
|
-
|
|
|
- $('#sf-add-row').on('click', function () {
|
|
|
- $('#sf-rows').append(sfMakeRow());
|
|
|
- sfSyncDelBtns();
|
|
|
- $('#sf-rows .sf-row:last .sf-desc').focus();
|
|
|
- });
|
|
|
-
|
|
|
- $('#sf-rows').on('click', '.sf-del', function () {
|
|
|
- $(this).closest('.sf-row').remove();
|
|
|
- sfSyncDelBtns();
|
|
|
- sfRecalc();
|
|
|
- });
|
|
|
$('#cons-addpay input[type="number"]').change(function () {
|
|
|
const name = $(this).attr('name');
|
|
|
const node = SpreadJsObj.getSelectObject(contractSheet);
|
|
|
@@ -2344,7 +2260,6 @@ $(document).ready(function() {
|
|
|
}
|
|
|
if (name === 'pay_price' || name === 'debit_price') {
|
|
|
$('#cons-addpay input[name="yf_price"]').val(yf_price);
|
|
|
- setTimeout(sfRecalc, 0); // ← 唯一新增:yf_price 更新后重新校验实付超限
|
|
|
}
|
|
|
});
|
|
|
|
|
|
@@ -2373,7 +2288,6 @@ $(document).ready(function() {
|
|
|
debit_price: $('#cons-addpay input[name="debit_price"]').val() || 0,
|
|
|
yf_price: $('#cons-addpay input[name="yf_price"]').val() || 0,
|
|
|
sf_price: $('#cons-addpay input[name="sf_price"]').val() || 0,
|
|
|
- sf_json: $('#cons-addpay input[name="sf_json"]').val() || '',
|
|
|
pay_type: $('#cons-addpay select[name="pay_type"]').val(),
|
|
|
remark: $('#cons-addpay textarea[name="remark"]').val(),
|
|
|
}
|
|
|
@@ -2423,7 +2337,6 @@ $(document).ready(function() {
|
|
|
debit_price: $('#cons-addpay input[name="debit_price"]').val() || 0,
|
|
|
yf_price: $('#cons-addpay input[name="yf_price"]').val() || 0,
|
|
|
sf_price: $('#cons-addpay input[name="sf_price"]').val() || 0,
|
|
|
- sf_json: $('#cons-addpay input[name="sf_json"]').val() || '',
|
|
|
pay_type: $('#cons-addpay select[name="pay_type"]').val(),
|
|
|
remark: $('#cons-addpay textarea[name="remark"]').val(),
|
|
|
}
|