{% set billing_url = entire_url('/accounting/billing.dspy') %} {% set download_url = entire_url('/accounting/billing_download.dspy') %} { "widgettype": "VBox", "id": "billing_page", "options": { "width": "100%", "height": "100%", "gap": "10px" }, "subwidgets": [ { "widgettype": "InlineForm", "id": "billing_form", "options": { "fields": [ { "name": "start_date", "label": "开始日期", "uitype": "date", "required": true }, { "name": "end_date", "label": "结束日期", "uitype": "date", "required": true } ], "submit_text": "查询" }, "binds": [ { "wid": "billing_form", "event": "submit", "actiontype": "script", "target": "billing_form", "script": "var dv = bricks.getWidgetById('billing_tabular', bricks.app.root); dv.render(params); fetch('{{billing_url}}?start_date=' + params.start_date + '&end_date=' + params.end_date).then(function(r){return r.json()}).then(function(d){var t=bricks.getWidgetById('billing_stats',bricks.app.root);if(t&&d.stats)t.dom_element.textContent='总条数: '+d.stats.total_count+' | 借方合计: ¥'+parseFloat(d.stats.debit_sum).toFixed(2)+' | 贷方合计: ¥'+parseFloat(d.stats.credit_sum).toFixed(2);var b=bricks.getWidgetById('billing_download_btn',bricks.app.root);if(b){b.dom_element.style.display='inline-block';b.dom_element.onclick=function(){fetch('{{download_url}}?start_date='+params.start_date+'&end_date='+params.end_date).then(function(r){return r.json()}).then(function(d){if(d.status==='ok'){var c=atob(d.data.content);var n=new Array(c.length);for(var i=0;i