|
|
@@ -36,7 +36,7 @@ Ext.define('saas.view.sale.report.Sale', {
|
|
|
["CLOSE", "已关闭"]
|
|
|
]
|
|
|
}],
|
|
|
-
|
|
|
+ reportModel: 'saas.model.report.Sale',
|
|
|
reportColumns: [
|
|
|
{
|
|
|
text: 'id',
|
|
|
@@ -46,35 +46,24 @@ Ext.define('saas.view.sale.report.Sale', {
|
|
|
text: '销售单号',
|
|
|
dataIndex: 'sa_code',
|
|
|
width: 150
|
|
|
- }, {
|
|
|
- text: '客户编号',
|
|
|
- dataIndex: 'sa_custcode',
|
|
|
- hidden: true
|
|
|
}, {
|
|
|
text: '客户名称',
|
|
|
dataIndex: 'sa_custname',
|
|
|
- width: 250
|
|
|
+ width: 200
|
|
|
}, {
|
|
|
text: '业务状态',
|
|
|
align: 'center',
|
|
|
- dataIndex: 'sa_sendstatus'
|
|
|
- }, {
|
|
|
- text: '业务员编号',
|
|
|
- dataIndex: 'sa_sellercode',
|
|
|
- hidden:true
|
|
|
+ dataIndex: 'sa_sendstatus',
|
|
|
+ width: 80
|
|
|
}, {
|
|
|
text: '业务员',
|
|
|
- dataIndex: 'sa_seller'
|
|
|
+ dataIndex: 'sa_seller',
|
|
|
+ width: 80
|
|
|
}, {
|
|
|
text: '单据日期',
|
|
|
xtype: 'datecolumn',
|
|
|
- dataIndex: 'sa_date'
|
|
|
- }, {
|
|
|
- text: '序号',
|
|
|
- dataIndex: 'sd_detno',
|
|
|
- exportFormat: 'Integer',
|
|
|
- xtype: 'numbercolumn',
|
|
|
- width: 80
|
|
|
+ dataIndex: 'sa_date',
|
|
|
+ width: 110
|
|
|
}, {
|
|
|
text: '物料编号',
|
|
|
width: 150,
|
|
|
@@ -82,11 +71,11 @@ Ext.define('saas.view.sale.report.Sale', {
|
|
|
}, {
|
|
|
text: '品牌',
|
|
|
dataIndex: 'pr_brand',
|
|
|
- width: 200
|
|
|
+ width: 100
|
|
|
}, {
|
|
|
text: '名称',
|
|
|
dataIndex: 'pr_detail',
|
|
|
- width: 200
|
|
|
+ width: 150
|
|
|
}, {
|
|
|
text: '型号',
|
|
|
dataIndex: 'pr_orispeccode',
|
|
|
@@ -94,12 +83,13 @@ Ext.define('saas.view.sale.report.Sale', {
|
|
|
}, {
|
|
|
text: '规格',
|
|
|
dataIndex: 'pr_spec',
|
|
|
- width: 150
|
|
|
+ width: 200
|
|
|
}, {
|
|
|
- text: '数量',
|
|
|
+ text: '销售数量',
|
|
|
dataIndex: 'sd_qty',
|
|
|
exportFormat: 'Quantity',
|
|
|
xtype: 'numbercolumn',
|
|
|
+ width: 110,
|
|
|
renderer : function(v) {
|
|
|
var arr = (v + '.').split('.');
|
|
|
var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
|
|
|
@@ -109,12 +99,13 @@ Ext.define('saas.view.sale.report.Sale', {
|
|
|
}, {
|
|
|
text: '单位',
|
|
|
dataIndex: 'pr_unit',
|
|
|
- width: 80
|
|
|
+ width: 65
|
|
|
}, {
|
|
|
text: '单价(元)',
|
|
|
- dataIndex: 'sd_price',
|
|
|
+ dataIndex: 'sd_netprice',
|
|
|
exportFormat: 'Price',
|
|
|
xtype: 'numbercolumn',
|
|
|
+ width: 120,
|
|
|
renderer : function(v) {
|
|
|
var arr = (v + '.').split('.');
|
|
|
var xr = (new Array(arr[1].length > 4 ? 4 : arr[1].length)).fill('0');
|
|
|
@@ -122,11 +113,11 @@ Ext.define('saas.view.sale.report.Sale', {
|
|
|
return Ext.util.Format.number(v, format);
|
|
|
}
|
|
|
}, {
|
|
|
- text: '不含税单价(元)',
|
|
|
- dataIndex: 'sd_netprice',
|
|
|
+ text: '含税单价(元)',
|
|
|
+ dataIndex: 'sd_price',
|
|
|
exportFormat: 'Price',
|
|
|
xtype: 'numbercolumn',
|
|
|
- width: 150,
|
|
|
+ width: 120,
|
|
|
renderer : function(v) {
|
|
|
var arr = (v + '.').split('.');
|
|
|
var xr = (new Array(arr[1].length > 4 ? 4 : arr[1].length)).fill('0');
|
|
|
@@ -134,7 +125,26 @@ Ext.define('saas.view.sale.report.Sale', {
|
|
|
return Ext.util.Format.number(v, format);
|
|
|
}
|
|
|
}, {
|
|
|
- text: '税率',
|
|
|
+ text: '金额(元)',
|
|
|
+ xtype: 'numbercolumn',
|
|
|
+ exportFormat: 'Amount',
|
|
|
+ width: 120,
|
|
|
+ dataIndex: 'sd_nettotal',
|
|
|
+ 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: 'sd_taxrate',
|
|
|
exportFormat: 'Integer',
|
|
|
width: 80,
|
|
|
@@ -142,30 +152,39 @@ Ext.define('saas.view.sale.report.Sale', {
|
|
|
renderer : function(v) {
|
|
|
return Ext.util.Format.number(v, '0');
|
|
|
}
|
|
|
- }, {//∑金额
|
|
|
- text: '金额(元)',
|
|
|
+ }, {
|
|
|
+ text: '税额(元)',
|
|
|
xtype: 'numbercolumn',
|
|
|
exportFormat: 'Amount',
|
|
|
- dataIndex: 'sd_total',
|
|
|
+ dataIndex: 'sd_taxamount',
|
|
|
+ width: 120,
|
|
|
renderer : function(v) {
|
|
|
+ v = (r.data["sd_total"]||0.0) - (r.data["sd_nettotal"]||0.0);
|
|
|
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',
|
|
|
+ summaryType: 'customize_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);
|
|
|
+ },
|
|
|
+ mySummaryRenderer: function(grid, column, datas) {
|
|
|
+ var arr = [];
|
|
|
+ arr = datas.map(function(d) {
|
|
|
+ return d['sd_taxamount'];
|
|
|
+ });
|
|
|
+ return Ext.Array.sum(arr);
|
|
|
}
|
|
|
}, {
|
|
|
- text: '不含税金额(元)',
|
|
|
+ text: '价税合计(元)',
|
|
|
xtype: 'numbercolumn',
|
|
|
exportFormat: 'Amount',
|
|
|
- width: 150,
|
|
|
- dataIndex: 'sd_nettotal',
|
|
|
+ dataIndex: 'sd_total',
|
|
|
+ width: 120,
|
|
|
renderer : function(v) {
|
|
|
var arr = (v + '.').split('.');
|
|
|
var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
|
|
|
@@ -184,25 +203,13 @@ Ext.define('saas.view.sale.report.Sale', {
|
|
|
dataIndex: 'sd_pdsendqty',
|
|
|
exportFormat: 'Quantity',
|
|
|
xtype: 'numbercolumn',
|
|
|
+ width: 110,
|
|
|
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: 'sd_pdsendqtytotal',
|
|
|
- exportFormat: 'Amount',
|
|
|
- width: 110,
|
|
|
- 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 : "sd_remark",
|