Ext.define('saas.view.purchase.report.Purchase', { extend: 'saas.view.core.report.ReportPanel', xtype: 'purchase-report-purchase', controller: 'purchase-report-purchase', viewModel: 'purchase-report-purchase', viewName: 'purchase-report-purchase', groupField: null, listUrl: '/api/purchase/purchase/list', defaultCondition: null, reportTitle: '采购明细报表', QueryWidth:0.2, //筛选:供应商、日期(必填)、业务状态 searchItems: [ { xtype: 'dbfindtrigger', name: 'pu_vendname', fieldLabel: '供应商名称', columnWidth: 0.2 }, { xtype: 'condatefield', name: 'pu_date', fieldLabel: '单据日期', columnWidth: 0.4 }, { xtype: 'multicombo', name: 'pu_acceptstatuscode', fieldLabel: '业务状态', columnWidth: 0.2, datas: [ ["TURNIN", "已入库"], ["UNTURNIN", "未入库"], ["PART2IN", "部分入库"], ["CLOSE", "已关闭"] ] }], reportColumns: [ { text: 'id', dataIndex: 'pu_id', hidden: true }, { text: '采购单号', dataIndex: 'pu_code', width: 200 }, { text: '供应商编号', dataIndex: 'pu_vendcode', width: 200 }, { text: '供应商名称', dataIndex: 'pu_vendname', width: 200 }, { text: '业务状态', dataIndex: 'pu_acceptstatus' }, { text: '采购员', dataIndex: 'pu_buyername' }, { text: '单据日期', xtype: 'datecolumn', dataIndex: 'pu_date' }, { text: '序号', dataIndex: 'pd_detno', xtype: 'numbercolumn' }, { text: '物料编号', dataIndex: 'pd_prodcode' }, { text: '物料名称', dataIndex: 'pr_detail', renderer: function (v, m, r) { return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:v; } }, { text: '物料规格', dataIndex: 'pr_spec', renderer: function (v, m, r) { return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:v; } }, { text: '品牌', dataIndex: 'pr_brand', renderer: function (v, m, r) { return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:v; } }, { text: '单位', dataIndex: 'pr_unit', renderer: function (v, m, r) { return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:v; } }, { text: '采购数量', dataIndex: 'pd_qty', xtype: 'numbercolumn', summaryType: 'sum', renderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0'); var format = '0.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: '单价', dataIndex: 'pd_price', xtype: 'numbercolumn', renderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 8 ? 8 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: '税率', dataIndex: 'pd_taxrate', xtype: 'numbercolumn', renderer: function(v) { return Ext.util.Format.number(v, '0'); } }, { text: '金额', dataIndex: 'pd_total', xtype: 'numbercolumn', renderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); }, summaryType: 'sum', summaryRenderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: '不含税单价', dataIndex: 'pd_taxprice', xtype: 'numbercolumn', renderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 8 ? 8 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: '不含税金额', dataIndex: 'pd_taxtotal', xtype: 'numbercolumn', renderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: '收货数量', dataIndex: 'pd_acceptqty', xtype: 'numbercolumn', renderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0'); var format = '0.' + xr.join(); return Ext.util.Format.number(v, format); }, summaryType: 'sum', summaryRenderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0'); var format = '0.' + xr.join(); return Ext.util.Format.number(v, format); }, renderer : function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0'); var format = '0.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: '收货金额', dataIndex: 'pd_accepttotal', xtype: 'numbercolumn', renderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(); return Ext.util.Format.number(v, format); } }, { text: '备注', dataIndex: 'pd_remark' }] });