Ext.namespace('Shipping');
Shipping.FeeViewGrid = function (config) {
Ext.applyIf(this, config);
this.initUIComponents();
window.Shipping.FeeViewGrid.superclass.constructor.call(this);
};
Ext.extend(Shipping.FeeViewGrid, Ext.Panel, {
ParentWin: null, //弹出式
ParentPanel: null, //Tab页编辑模式
OpStatus: 'add',
StoreBill: null,
StoreCustType: null,
EditRecord: null,
RefBillNo: '*',
DataLoading: true,
strMBLNO: '',
stroplb: '',
strBSNO: '',
feeType: 0,
OprationSwap: function () {
var ret = new Array();
ret[0] = this.stroplb;
ret[1] = this.feeType;
ret[2] = this.storeDrChFee;
ret[3] = this.storeCrChFee;
return ret;
},
// region: 'center',
initUIComponents: function () {
this.feeDrSerialNo = 0;
this.feeDrBodyDel = [];
this.feeCrSerialNo = 0;
this.feeCrBodyDel = [];
this.StoreDrOpRange = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsFeeOP',
proxy: { url: '/MvcShipping/MsChFee/GetFeeOpRang' }
});
this.StoreCrOpRange = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsFeeOP',
proxy: { url: '/MvcShipping/MsChFee/GetFeeOpRang' }
});
//明细表-数据集
this.storeDrChFee = Ext.create('Ext.data.Store', {
model: 'MsChFee',
remoteSort: false,
proxy: {
type: 'ajax',
url: '/MvcShipping/MsChFee/GetDataList',
reader: {
id: 'GId',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.storeCrChFee = Ext.create('Ext.data.Store', {
model: 'MsChFee',
remoteSort: false,
proxy: {
type: 'ajax',
url: '/MvcShipping/MsChFee/GetDataList',
reader: {
id: 'GId',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.storeChFeeGain = Ext.create('Ext.data.Store', {
model: 'MsChFeeGain',
remoteSort: false,
proxy: {
type: 'ajax',
url: '/MvcShipping/MsChFee/GetGainData',
reader: {
id: 'GId',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.cellEditingDrChFee = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
});
/*
_this = this;
this.cellEditingDrChFee = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1,
onSpecialKey: function (ed, field, e) {
var sm;
if (e.getKey() === 40) {
var rows = _this.gridDrChFee.getSelectionModel().getSelection();
var row = rows[rows.length-1];
var s = _this.gridDrChFee.getStore();
var number = s.indexOf(row) + 1;
if (number == _this.gridDrChFee.getStore().getCount()) {
_this.onAddDetailClick(s, event, 1);
e.stopEvent();
}
}
}
});
*/
this.initgirdDrcolums = [{
sortable: true,
dataIndex: 'GId',
header: '惟一编号',
hidden: true,
width: 160
}, {
sortable: true,
dataIndex: 'BsNo',
header: '业务编号',
hidden: true,
width: 200
}, {
sortable: true,
dataIndex: 'FeeStatus',
header: '费用状态',
renderer: function (value, p, record) {
return record.data.FeeStatus_Ref;
},
width: 66
}, {
sortable: true,
dataIndex: 'FeeName',
header: '应收费用名称',
editor: this.comboxFeeNameRef,
width: 100
}, {
sortable: true,
dataIndex: 'CustomerType',
header: '客户类别',
width: 80
}, {
sortable: true,
dataIndex: 'CustomerName',
header: '结算对象',
width: 110
}, {
sortable: true,
dataIndex: 'Unit',
header: '单位标准',
width: 60
}, {
sortable: true,
dataIndex: 'UnitPrice',
header: '单价',
align: 'right',
width: 70,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
try {
var lsValue = usMoney(value, 2, '', false);
if (lsValue != "NaN") {
value = lsValue; if (parseFloat(lsValue) < 0) {
return '' + lsValue + '';
}
}
else {
return value;
}
}
catch (e) {
return value;
}
return value;
}
}, {
sortable: true,
dataIndex: 'Quantity',
header: '数量',
width: 50
}, {
sortable: true,
dataIndex: 'TaxRate',
header: '税率',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
align: 'right',
width: 60
}, {
sortable: true,
dataIndex: 'TaxUnitPrice',
header: '含税单价',
align: 'right',
width: 70,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
try {
var lsValue = usMoney(value, 2, '', false);
if (lsValue != "NaN") {
value = lsValue; if (parseFloat(lsValue) < 0) {
return '' + lsValue + '';
}
}
else {
return value;
}
}
catch (e) {
return value;
}
return value;
}
}, {
sortable: true,
dataIndex: 'NoTaxAmount',
header: '不含税金额',
align: 'right',
width: 80,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
try {
var lsValue = usMoney(value, 2, '', false);
if (lsValue != "NaN") {
value = lsValue; if (parseFloat(lsValue) < 0) {
return '' + lsValue + '';
}
}
else {
return value;
}
}
catch (e) {
return value;
}
return value;
}
}, {
sortable: true,
dataIndex: 'Amount',
header: '金额',
align: 'right',
width: 80,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
try {
var lsValue = usMoney(value, 2, '', false);
if (lsValue != "NaN") {
value = lsValue; if (parseFloat(lsValue) < 0) {
return '' + lsValue + '';
}
}
else {
return value;
}
}
catch (e) {
return value;
}
return value;
}
}, {
sortable: true,
dataIndex: 'Currency',
header: '币别',
width: 40
}, {
sortable: true,
dataIndex: 'ExChangerate',
header: '汇率',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 6, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
align: 'right',
width: 60
}, {
sortable: true,
dataIndex: 'IsAdvancedpay',
header: '是否垫付',
width: 60
}, {
sortable: true,
dataIndex: 'IsInvoice',
header: '禁开发票',
width: 60,
renderer: function (value, meta, record) {
if (value == '1')
return '是';
else
return value;
}
}, {
sortable: true,
dataIndex: 'AccTaxRate',
header: '销项税率',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
align: 'right',
width: 80
}, {
sortable: true,
dataIndex: 'Remark',
header: '备注',
width: 150
}, {
sortable: true,
dataIndex: 'FeeFrt',
header: 'FRT',
width: 40
}, {
sortable: true,
dataIndex: 'Commissionrate',
header: '佣金比率',
width: 60
}, {
sortable: true,
dataIndex: 'OpName',
header: '录入人',
width: 60
}, {
sortable: true,
dataIndex: 'EnterDate',
header: '录入日期',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
width: 80
}, {
sortable: true,
dataIndex: 'Auditoperator',
header: '审核人',
width: 60
}, {
sortable: true,
dataIndex: 'AuditDate',
header: '审核日期',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
width: 80
}, {
sortable: true,
dataIndex: 'MODIFIEDUSER',
header: '修改人',
width: 60
}, {
sortable: true,
dataIndex: 'MODIFIEDTIME',
header: '修改日期',
renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'),
width: 130
}, {
sortable: true,
dataIndex: 'Settlement',
header: '结算金额',
align: 'right',
width: 80,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
try {
var lsValue = usMoney(value, 2, '', false);
if (lsValue != "NaN") {
value = lsValue; if (parseFloat(lsValue) < 0) {
return '' + lsValue + '';
}
}
else {
return value;
}
}
catch (e) {
return value;
}
return value;
}
}, {
sortable: true,
dataIndex: 'Invoice',
header: '已开票金额',
align: 'right',
width: 80,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
try {
var lsValue = usMoney(value, 2, '', false);
if (lsValue != "NaN") {
value = lsValue; if (parseFloat(lsValue) < 0) {
return '' + lsValue + '';
}
}
else {
return value;
}
}
catch (e) {
return value;
}
return value;
}
},
// {
// sortable: true,
// dataIndex: 'InvoiceNum',
// header: '发票号码',
// width: 80
// },
{
sortable: true,
dataIndex: 'INPUTMODE',
header: '录入方式', //'录入方式',
width: 80
}, {
sortable: true,
dataIndex: 'MANAGER',
header: '责任人', //'MANAGER',
renderer: function (value, p, record) {
return record.data.MANAGERREF;
},
width: 100
}, {
sortable: true,
dataIndex: 'SALECORP',
header: '核算单位', //'MANAGER',
width: 100
}
];
this.girdDrcolums = this.initgirdDrcolums;
this.feeDrGridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel');
_thisfeeview = this;
this.gridDrChFee = new Ext.grid.GridPanel({
store: this.storeDrChFee,
enableHdMenu: false,
region: 'center',
id: 'gridDrChFee',
loadMask: { msg: "数据加载中,请稍等..." },
trackMouseOver: true,
disableSelection: false,
plugins: [this.cellEditingDrChFee],
selModel: this.feeDrGridCheckBoxModel,
selType: 'cellmodel',
viewConfig: {
autoFill: true,
enableTextSelection: true,
getRowClass: function (record, rowIndex, rowParams, store) {
var feeStatus = record.get('FeeStatus');
var BsNo = record.get('BsNo');
var ISSEL = record.get('ISSEL');
if (ISSEL == '1') { return Shipping.FeeGetRowClassFont(feeStatus); }
else {
if (BsNo == _thisfeeview.strBSNO)
return Shipping.FeeGetRowClass(feeStatus);
else return Shipping.FeeGetRowClassFont(feeStatus);
}
}
},
tbar: [{
text: '',
tooltip: '打印应收',
iconCls: "btnprint",
menu:
[
{ text: "打印应收账单",
menu:
[//海运进口应收应付列表
{text: "所选应收打印",
handler: function (menu, event) {
_thisfeeview.onPrintSelectDetailClick(menu, event, 1);
}
},
{ text: "所有应收打印",
handler: function (menu, event) {
_thisfeeview.onPrintAllDetailClick(menu, event, 1);
}
}
]
},
'-',
{ text: "利润核算单打印",
handler: function (menu, event) {
_thisfeeview.onPrintGainClick(menu, event, 1);
}
}
],
/*
handler: function (button, event) {
this.onPrintDetailClick(button, event, 1);
},
*/
scope: this
}, '-', {
text: '历史申请',
tooltip: '历史申请',
handler: function (button, event) {
this.onHistryShenClick(button, event, 1);
},
scope: this
}, '-', {
text: '查看信息',
tooltip: '查看信息',
handler: function (button, event) {
this.onViewDetailClick(button, event, 1);
},
scope: this
}, '-', {
text: "保存列表样式", //"保存列表样式",
menu: [
{ text: "保存", //"保存",
handler: function (button, event) {
_thisfeeview.girdDrcolums = DsTruck.SaveGridPanel(USERID, 'FEEDRGRIDVIEW', _thisfeeview.gridDrChFee.columns, _thisfeeview.girdDrcolums, 0, true);
}
}, { text: "初始化", //"初始化",
handler: function (menu, event) {
_thisfeeview.gridDrChFee.reconfigure(this.storeList, _thisfeeview.initgirdDrcolums);
_thisfeeview.girdDrcolums = DsTruck.SaveGridPanel(USERID, 'FEEDRGRIDVIEW', _thisfeeview.gridDrChFee.columns, _thisfeeview.initgirdDrcolums, 0, true);
}
}],
scope: this
}],
columns: this.girdDrcolums
});
this.girdDrcolums = DsTruck.GetGridPanel(USERID, 'FEEDRGRIDVIEW', this.girdDrcolums, 0); //使用者id,表名,中间column数组,跳过一开始的几列
/*
var map = new Ext.util.KeyMap(this.gridDrChFee, [
{
key: [40],
fn: function () { alert("Return was pressed"); }
}
]);
this.gridDrChFee.on('onKeyPress', function (e) {
var k = e.getKey();
if (k == 40) {
this.onAddDetailClick(null, null, 1);
}
}, this);
*/
//#endregion
this.cellEditingCrChFee = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
});
/*
this.cellEditingCrChFee = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1,
onSpecialKey: function (ed, field, e) {
var sm;
if (e.getKey() === 40) {
var rows = _this.gridCrChFee.getSelectionModel().getSelection();
var row = rows[rows.length - 1];
var s = _this.gridCrChFee.getStore();
var number = s.indexOf(row) + 1;
if (number == _this.gridCrChFee.getStore().getCount()) {
_this.onAddDetailClick(s, event, 2);
e.stopEvent();
}
}
}
});
*/
this.initgirdCrcolums = [{
sortable: true,
dataIndex: 'GId',
header: '惟一编号',
hidden: true,
width: 160
}, {
sortable: true,
dataIndex: 'BsNo',
header: '业务编号',
hidden: true,
width: 200
}, {
sortable: true,
dataIndex: 'FeeStatus',
header: '费用状态',
renderer: function (value, p, record) {
return record.data.FeeStatus_Ref;
},
width: 66
}, {
sortable: true,
dataIndex: 'FeeName',
header: '应付费用名称',
width: 100
}, {
sortable: true,
dataIndex: 'CustomerType',
header: '客户类别',
width: 80
}, {
sortable: true,
dataIndex: 'CustomerName',
header: '结算对象',
width: 110
}, {
sortable: true,
dataIndex: 'Unit',
header: '单位标准',
width: 60
}, {
sortable: true,
dataIndex: 'UnitPrice',
header: '单价',
align: 'right',
width: 70,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
try {
var lsValue = usMoney(value, 3, '', false);
if (lsValue != "NaN") {
value = lsValue; if (parseFloat(lsValue) < 0) {
return '' + lsValue + '';
}
}
else {
return value;
}
}
catch (e) {
return value;
}
return value;
}
}, {
sortable: true,
dataIndex: 'Quantity',
header: '数量',
width: 50
}, {
sortable: true,
dataIndex: 'TaxRate',
header: '税率',
align: 'right',
width: 60
}, {
sortable: true,
dataIndex: 'TaxUnitPrice',
header: '含税单价',
align: 'right',
width: 70,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
try {
var lsValue = usMoney(value, 2, '', false);
if (lsValue != "NaN") {
value = lsValue; if (parseFloat(lsValue) < 0) {
return '' + lsValue + '';
}
}
else {
return value;
}
}
catch (e) {
return value;
}
return value;
}
}, {
sortable: true,
dataIndex: 'NoTaxAmount',
header: '不含税金额',
align: 'right',
width: 80,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
try {
var lsValue = usMoney(value, 2, '', false);
if (lsValue != "NaN") {
value = lsValue; if (parseFloat(lsValue) < 0) {
return '' + lsValue + '';
}
}
else {
return value;
}
}
catch (e) {
return value;
}
return value;
}
}, {
sortable: true,
dataIndex: 'Amount',
header: '金额',
align: 'right',
width: 80,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
try {
var lsValue = usMoney(value, 2, '', false);
if (lsValue != "NaN") {
value = lsValue; if (parseFloat(lsValue) < 0) {
return '' + lsValue + '';
}
}
else {
return value;
}
}
catch (e) {
return value;
}
return value;
}
}, {
sortable: true,
dataIndex: 'Currency',
header: '币别',
width: 40
}, {
sortable: true,
dataIndex: 'ExChangerate',
header: '汇率',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 4, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
align: 'right',
width: 60
}, {
sortable: true,
dataIndex: 'IsAdvancedpay',
header: '是否垫付',
width: 60
}, {
sortable: true,
dataIndex: 'IsInvoice',
header: '禁开发票',
width: 60,
renderer: function (value, meta, record) {
if (value == '1')
return '是';
else
return value;
}
}, {
sortable: true,
dataIndex: 'AccTaxRate',
header: '进项税率',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
align: 'right',
width: 80
}, {
sortable: true,
dataIndex: 'Remark',
header: '备注',
width: 150
}, {
sortable: true,
dataIndex: 'FeeFrt',
header: 'FRT',
width: 40
}, {
sortable: true,
dataIndex: 'Commissionrate',
header: '佣金比率',
width: 60
}, {
sortable: true,
dataIndex: 'OpName',
header: '录入人',
width: 60
}, {
sortable: true,
dataIndex: 'EnterDate',
header: '录入日期',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
width: 80
}, {
sortable: true,
dataIndex: 'Auditoperator',
header: '审核人',
width: 60
}, {
sortable: true,
dataIndex: 'AuditDate',
header: '审核日期',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
width: 80
}, {
sortable: true,
dataIndex: 'MODIFIEDUSER',
header: '修改人',
width: 60
}, {
sortable: true,
dataIndex: 'MODIFIEDTIME',
header: '修改日期',
renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'),
width: 130
}, {
sortable: true,
dataIndex: 'Settlement',
header: '结算金额',
align: 'right',
width: 80,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
try {
var lsValue = usMoney(value, 2, '', false);
if (lsValue != "NaN") {
value = lsValue; if (parseFloat(lsValue) < 0) {
return '' + lsValue + '';
}
}
else {
return value;
}
}
catch (e) {
return value;
}
return value;
}
}, {
sortable: true,
dataIndex: 'OrderAmount',
header: '申请金额',
align: 'right',
width: 80,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
try {
var lsValue = usMoney(value, 2, '', false);
if (lsValue != "NaN") {
value = lsValue; if (parseFloat(lsValue) < 0) {
return '' + lsValue + '';
}
}
else {
return value;
}
}
catch (e) {
return value;
}
return value;
}
}, {
sortable: true,
dataIndex: 'INPUTMODE',
header: '录入方式', //'录入方式',
width: 80
}, {
sortable: true,
dataIndex: 'MANAGER',
header: '责任人', //'MANAGER',
renderer: function (value, p, record) {
return record.data.MANAGERREF;
},
width: 100
}, {
sortable: true,
dataIndex: 'SALECORP',
header: '核算单位', //'MANAGER',
width: 100
}
];
this.girdCrcolums = this.initgirdCrcolums;
this.feeCrGridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel');
this.gridCrChFee = new Ext.grid.GridPanel({
store: this.storeCrChFee,
enableHdMenu: false,
region: 'center',
loadMask: { msg: "数据加载中,请稍等..." },
trackMouseOver: true,
disableSelection: false,
plugins: [this.cellEditingCrChFee],
selModel: this.feeCrGridCheckBoxModel,
selType: 'cellmodel',
viewConfig: {
autoFill: true,
enableTextSelection: true,
getRowClass: function (record, rowIndex, rowParams, store) {
var feeStatus = record.get('FeeStatus');
var BsNo = record.get('BsNo');
var ISSEL = record.get('ISSEL');
if (ISSEL == '1') { return Shipping.FeeGetRowClassFont(feeStatus); }
else {
if (BsNo == _thisfeeview.strBSNO)
return Shipping.FeeGetRowClass(feeStatus);
else return Shipping.FeeGetRowClassFont(feeStatus);
}
}
},
tbar: [{
text: '',
tooltip: '打印应付',
iconCls: "btnprint",
menu:
[
{ text: "打印应付账单",
menu:
[
{ text: "所选应付打印",
handler: function (menu, event) {
_thisfeeview.onPrintSelectDetailClick(menu, event, 2);
}
},
{ text: "所有应付打印",
handler: function (menu, event) {
_thisfeeview.onPrintAllDetailClick(menu, event, 2);
}
}
]
},
'-',
{ text: "利润核算单打印",
handler: function (menu, event) {
_thisfeeview.onPrintGainClick(menu, event, 1);
}
}
],
scope: this
}, '-', {
text: '历史申请',
tooltip: '历史申请',
handler: function (button, event) {
this.onHistryShenClick(button, event, 2);
},
scope: this
}, '-', {
text: '查看信息',
tooltip: '查看信息',
handler: function (button, event) {
this.onViewDetailClick(button, event, 2);
},
scope: this
}, '-', {
text: "保存列表样式", //"保存列表样式",
menu: [
{ text: "保存", //"保存",
handler: function (button, event) {
_thisfeeview.girdCrcolums = DsTruck.SaveGridPanel(USERID, 'FEECRGRIDVIEW', _thisfeeview.gridCrChFee.columns, _thisfeeview.girdCrcolums, 0, true);
}
}, { text: "初始化", //"初始化",
handler: function (menu, event) {
_thisfeeview.gridCrChFee.reconfigure(this.storeList, _thisfeeview.initgirdCrcolums);
_thisfeeview.girdCrcolums = DsTruck.SaveGridPanel(USERID, 'FEECRGRIDVIEW', _thisfeeview.gridCrChFee.columns, _thisfeeview.initgirdCrcolums, 0, true);
}
}],
scope: this
}],
columns: this.girdCrcolums
});
this.girdCrcolums = DsTruck.GetGridPanel(USERID, 'FEECRGRIDVIEW', this.girdCrcolums, 0); //使用者id,表名,中间column数组,跳过一开始的几列
this.gridDrChFee.reconfigure(this.storeDrChFee, this.girdDrcolums);
this.gridCrChFee.reconfigure(this.storeCrChFee, this.girdCrcolums);
this.storeChFeeGain = Ext.create('Ext.data.Store', {
model: 'MsChFeeGain',
remoteSort: false,
proxy: {
type: 'ajax',
url: '/MvcShipping/MsChFee/GetGainData',
reader: {
id: 'GId',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.storeBodySum = Ext.create('Ext.data.Store', {
model: 'MsOPGain',
remoteSort: false,
proxy: {
type: 'ajax',
url: '/MvcShipping/MsChFee/GetOPGainList',
reader: {
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.gridSum = new Ext.grid.GridPanel({
store: this.storeBodySum,
enableHdMenu: false,
region: 'center',
loadMask: { msg: "数据加载中,请稍等..." },
trackMouseOver: true,
disableSelection: false,
columns: [{
header: "总 计",
sortable: false,
align: 'center',
dataIndex: 'CURR',
width: 160
}, {
text: '应 收',
columns: [{
header: '不含税',
dataIndex: 'NORATEDR',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
align: 'right',
width: 160
}, {
header: '含税',
dataIndex: 'DR',
align: 'right',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
width: 160
}]
}, {
text: '应 付',
columns: [{
header: '不含税',
dataIndex: 'NORATECR',
align: 'right',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
width: 160
}, {
header: '含税',
dataIndex: 'CR',
align: 'right',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
width: 160
}]
}, {
text: '利 润',
columns: [{
header: '不含税',
dataIndex: 'NORATEPR',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
align: 'right',
width: 160
}, {
header: '含税',
dataIndex: 'PR',
align: 'right',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
width: 160
}]
}
]
});
//定义Grid
this.gridListCust = new Ext.grid.GridPanel({
store: this.storeChFeeGain,
enableHdMenu: false,
region: 'center',
loadMask: { msg: "数据加载中,请稍等..." },
trackMouseOver: true,
disableSelection: false,
// features: [{
// ftype: 'summary'//Ext.grid.feature.Summary表格汇总特性
// }],
columns: [{
sortable: true,
dataIndex: 'CUSTOMERNAME',
header: '结算对象',
// summaryRenderer: function () {
// return '合计'
// },
width: 110
}, {
sortable: true,
dataIndex: 'RMBDR',
header: LOCALCURR + '应收',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
align: 'right',
// summaryType: 'sum',
// summaryRenderer: Ext.util.Format.numberRenderer('00.00'),
width: 80
}, {
sortable: true,
dataIndex: 'RMBCR',
header: LOCALCURR + '应付',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
// summaryType: 'sum',
// summaryRenderer: Ext.util.Format.numberRenderer('00.00'),
align: 'right',
width: 80
}, {
sortable: true,
dataIndex: 'RMBPROFIT',
header: LOCALCURR + '利润',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
// summaryType: 'sum',
// summaryRenderer: Ext.util.Format.numberRenderer('00.00'),
align: 'right',
width: 80
}, {
sortable: true,
dataIndex: 'USDDR',
header: 'USD应收',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
// summaryType: 'sum',
// summaryRenderer: Ext.util.Format.numberRenderer('00.00'),
align: 'right',
width: 80
}, {
sortable: true,
dataIndex: 'USDCR',
header: 'USD应付',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
// summaryType: 'sum',
// summaryRenderer: Ext.util.Format.numberRenderer('00.00'),
align: 'right',
width: 80
}, {
sortable: true,
dataIndex: 'USDPROFIT',
header: 'USD利润',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
// summaryType: 'sum',
// summaryRenderer: Ext.util.Format.numberRenderer('00.00'),
align: 'right',
width: 80
}, {
sortable: true,
dataIndex: 'OTDR',
header: '其他币别应收',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
// summaryType: 'sum',
// summaryRenderer: Ext.util.Format.numberRenderer('00.00'),
align: 'right',
width: 80
}, {
sortable: true,
dataIndex: 'OTCR',
header: '其他币别应付',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
// summaryType: 'sum',
// summaryRenderer: Ext.util.Format.numberRenderer('00.00'),
align: 'right',
width: 80
}, {
sortable: true,
dataIndex: 'OTPROFIT',
header: '其他币别利润',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
// summaryType: 'sum',
// summaryRenderer: Ext.util.Format.numberRenderer('00.00'),
align: 'right',
width: 80
}, {
sortable: true,
dataIndex: 'TTLDR',
header: '合计应收',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
align: 'right',
// summaryType: 'sum',
// summaryRenderer: Ext.util.Format.numberRenderer('00.00'),
width: 80
}, {
sortable: true,
dataIndex: 'TTLCR',
header: '合计应付',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
align: 'right',
// summaryType: 'sum',
// summaryRenderer: Ext.util.Format.numberRenderer('00.00'),
width: 80
}, {
sortable: true,
dataIndex: 'TTLPROFIT',
header: '合计利润',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; },
align: 'right',
// summaryType: 'sum',
// summaryRenderer: Ext.util.Format.numberRenderer('00.00'),
width: 80
}
],
// paging bar on the bottom
bbar: Ext.create('Ext.PagingToolbar', {
store: this.storeChFeeGain,
displayInfo: true,
displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录',
emptyMsg: "没有数据"
})
});
this.panelCustSum = new Ext.Panel({
title: '客户合计',
layout: "border",
region: 'center',
animate: true,
autoScroll: true,
// containerScroll: true,
frame: false,
items: [this.gridListCust]
});
this.panelCurrSum = new Ext.Panel({
title: '币别合计',
layout: "border",
region: 'center',
animate: true,
autoScroll: true,
// containerScroll: true,
frame: false,
items: [this.gridSum]
});
this.tabTotal = new Ext.TabPanel({
activeTab: 0,
autoWidth: true,
border: true,
height: 210,
frame: false,
region: 'south',
enableHdMenu: false,
// region: 'center',
title: "利润统计",
collapsed: true,
collapsible: true,
split: true,
enableTabScroll: true,
items:
[
this.panelCustSum,
this.panelCurrSum
]
});
this.panelDrChFee = new Ext.Panel({
title: '应收费用',
layout: "border",
anchor: '100% 50%',
frame: true,
split: true,
items: [this.gridDrChFee]
});
this.panelCrChFee = new Ext.Panel({
title: '应付费用',
layout: "border",
anchor: '100% 50%',
// region: 'center',
frame: true,
items: [this.gridCrChFee]
});
this.panelFee = new Ext.Panel({
// layout: "border",
layout: "anchor",
// region: 'north',
// height: 560,
region: 'center',
items: [
this.panelDrChFee, this.panelCrChFee
]
});
//#region 布局
Ext.apply(this, {
items: [this.panelFee, this.tabTotal]
});
//#endregion
this.opStatus = 'add';
this.storeBodySum.on('load', function (store, records) {
this.setTotalHead();
}, this);
this.gridDrChFee.getSelectionModel().on('select', function (model, record, index) {
var FeeStatus = record.data.FeeStatus;
var CustomerName = record.data.CustomerName;
var GId = record.data.GId;
var FeeName = record.data.FeeName;
for (i = 0; i < this.storeCrChFee.getCount(); i += 1) {
var memberyf = this.storeCrChFee.getAt(i);
var recchange = memberyf.getChanges();
if ((FeeName != '') && (memberyf.data.FeeName == FeeName)) {
memberyf.set("ISSEL", '1');
} else {
memberyf.set("ISSEL", '0');
}
if (isEmptyObject(recchange)) memberyf.commit();
};
}, this);
this.gridCrChFee.getSelectionModel().on('select', function (model, record, index) {
var FeeStatus = record.data.FeeStatus;
var CustomerName = record.data.CustomerName;
var GId = record.data.GId;
var FeeName = record.data.FeeName;
for (i = 0; i < this.storeDrChFee.getCount(); i += 1) {
var memberyf = this.storeDrChFee.getAt(i);
var recchange = memberyf.getChanges();
if ((FeeName != '') && (memberyf.data.FeeName == FeeName)) {
memberyf.set("ISSEL", '1');
} else {
memberyf.set("ISSEL", '0');
}
if (isEmptyObject(recchange)) memberyf.commit();
};
}, this);
this.gridDrChFee.on({
selectionchange: function (sm, selections) {
if (selections.length == 0) {
for (i = 0; i < _thisfee.storeCrChFee.getCount(); i += 1) {
var memberyf = _thisfee.storeCrChFee.getAt(i);
var recchange = memberyf.getChanges();
memberyf.set("ISSEL", '0');
if (isEmptyObject(recchange)) memberyf.commit();
};
}
}
});
this.gridCrChFee.on({
selectionchange: function (sm, selections) {
if (selections.length == 0) {
for (i = 0; i < _thisfee.storeDrChFee.getCount(); i += 1) {
var memberyf = _thisfee.storeDrChFee.getAt(i);
var recchange = memberyf.getChanges();
memberyf.set("ISSEL", '0');
if (isEmptyObject(recchange)) memberyf.commit();
};
var DRSELECTSTR = Ext.getCmp('CRSELECTSTR');
DRSELECTSTR.setText('', false);
}
}
});
/*
parentWin = window.parent.opener;
{
if (parentWin) {
var ret = parentWin.OprationSwap();
var fun = ret[4];
}
}
*/
this.InitData();
}, //end initUIComponents
//#region 加载数据
InitData: function () {
var condition = '';
/*
if (this.ParentPanel) {
var ret = this.ParentPanel.OprationSwap();
this.opStatus = ret[0];
this.StoreList = ret[1];
this.editRecord = ret[2];
this.RefBillNo = ret[3];
}
*/
this.LoadData(this.opStatus, condition, this.RefBillNo);
}, //end InitData
LoadData: function (opstatus, condition, refbillno) {
this.feeCrSerialNo = 0;
this.feeCrBodyDel = [];
this.feeCrSerialNo = 0;
this.feeCrBodyDel = [];
this.opStatus = opstatus;
// var el = Ext.get("gridDrChFee");
/*
this.storeDrChFee.load({ params: { billno: this.gid, type: 1} });
this.storeCrChFee.load({ params: { billno: this.gid, type: 2} });
this.storeChFeeGain.load({ params: { bsno: this.gid },
callback: function (r, options, success) {
if (success) {
this.formtotal.getForm().loadRecord(this.storeChFeeGain.getAt(0));
}
},
scope: this
});
*/
}, // end LoadDate
//#endregion
//#region 明细操作
GetHandleSerialNo: function (store, type) {
var result = 0;
if (result == 0) {
for (var i = 0; i < store.getCount(); i += 1) {
var member = store.getAt(i);
if (member.data.Sort > result) {
result = member.data.Sort;
}
}
}
result = parseInt(result) + 1;
return result;
}, //end save
onViewDetailClick: function (button, event, type) {
var openSet = "height=740, width=890, toolbar=no, menubar=no,scrollbars=no, resizable=no,location=no, status=no,Top= " + (screen.height - 540) / 2 + ",Left= " + (screen.width - 890) / 2
var openType = "_blank";
//打开费用“历史信息查询”页面
// var openUrl = "../../Shipping/FeeHistory.aspx?bsno=" + this.strBSNO + "&oplb=" + this.stroplb + "&type=" + type;
var openUrl = "../../MvcShipping/MsOpBill/MsFeeHistoryView??bsno=" + this.strBSNO + "&oplb=" + this.stroplb + "&type=" + type;
window.open(openUrl, openType, openSet);
},
getAllowOperationDetail: function () {
var feeStatus = 0;
if (feeStatus == '0' || feeStatus == false || feeStatus == 'false')
return true;
else {
Ext.Msg.show({ title: '错误', msg: "此票委托已费用已锁定,不允许操作费用!", icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
return false;
}
},
//#endregion
//#region 表格的AfterEdit
calcDetailTotal: function () {
var rmbdr = 0;
var rmbcr = 0;
var usddr = 0;
var usdcr = 0;
var otdr = 0;
var otcr = 0;
var ttldr = 0;
var ttlcr = 0;
for (var i = 0; i < this.storeDrChFee.getCount(); i += 1) {
var member = this.storeDrChFee.getAt(i);
var value = member.get('Amount');
var curr = member.get('Currency');
var rate = member.get('ExChangerate');
if (curr ==LOCALCURR) {
rmbdr = parseFloat(rmbdr) + parseFloat(value);
} else if (curr == 'USD') {
usddr = parseFloat(usddr) + parseFloat(value);
} else { otdr = parseFloat(otdr) + parseFloat(value); }
ttldr = parseFloat(ttldr) + parseFloat(value) * parseFloat(rate);
}
for (var i = 0; i < this.storeCrChFee.getCount(); i += 1) {
var member = this.storeCrChFee.getAt(i);
var value = member.get('Amount');
var curr = member.get('Currency');
var rate = member.get('ExChangerate');
if (curr == LOCALCURR) {
rmbcr = parseFloat(rmbcr) + parseFloat(value);
} else if (curr == 'USD') {
usdcr = parseFloat(usdcr) + parseFloat(value);
} else { otcr = parseFloat(otcr) + parseFloat(value); }
ttlcr = parseFloat(ttlcr) + parseFloat(value) * parseFloat(rate);
}
var rmbprofit = parseFloat(rmbdr) - parseFloat(rmbcr);
var usdprofit = parseFloat(usddr) - parseFloat(usdcr);
var otprofit = parseFloat(otdr) - parseFloat(otcr);
var ttlprofit = parseFloat(ttldr) - parseFloat(ttlcr);
this.setHeadFieldValue('RMBDR', Ext.util.Format.number(parseFloat(rmbdr), '00.00'));
this.setHeadFieldValue('RMBCR', Ext.util.Format.number(parseFloat(rmbcr), '00.00'));
this.setHeadFieldValue('USDDR', Ext.util.Format.number(parseFloat(usddr), '00.00'));
this.setHeadFieldValue('USDCR', Ext.util.Format.number(parseFloat(usdcr), '00.00'));
this.setHeadFieldValue('OTDR', Ext.util.Format.number(parseFloat(otdr), '00.00'));
this.setHeadFieldValue('OTCR', Ext.util.Format.number(parseFloat(otcr), '00.00'));
this.setHeadFieldValue('TTLDR', Ext.util.Format.number(parseFloat(ttldr), '00.00'));
this.setHeadFieldValue('TTLCR', Ext.util.Format.number(parseFloat(ttlcr), '00.00'));
this.setHeadFieldValue('RMBPROFIT', Ext.util.Format.number(parseFloat(rmbprofit), '00.00'));
this.setHeadFieldValue('USDPROFIT', Ext.util.Format.number(parseFloat(usdprofit), '00.00'));
this.setHeadFieldValue('OTPROFIT', Ext.util.Format.number(parseFloat(otprofit), '00.00'));
this.setHeadFieldValue('TTLPROFIT', Ext.util.Format.number(parseFloat(ttlprofit), '00.00'));
this.setTotalHead();
},
setHeadFieldValue: function (fieldName, value) {
var field = this.formtotal.getForm().findField(fieldName);
field.setValue(value);
},
setTotalHead: function () {
var rmbdr = 0;
var rmbcr = 0;
var usddr = 0;
var usdcr = 0;
var otdr = 0;
var otcr = 0;
var ttldr = 0;
var ttlcr = 0;
var rmbprofit = 0;
var usdprofit = 0;
var otprofit = 0;
var ttlprofit = 0;
var profitrate = 0;
for (i = 0; i < this.storeBodySum.getCount(); i += 1) {
var memberyf = this.storeBodySum.getAt(i);
if (memberyf.data.CURR ==LOCALCURR) {
rmbdr = memberyf.data.DR;
rmbcr = memberyf.data.CR;
rmbprofit = memberyf.data.PR;
} else if (memberyf.data.CURR == 'USD') {
usddr = memberyf.data.DR;
usdcr = memberyf.data.CR;
usdprofit = memberyf.data.PR;
} if (memberyf.data.CURR == '其他币别') {
otdr = memberyf.data.DR;
otcr = memberyf.data.CR;
otprofit = memberyf.data.PR;
} if (memberyf.data.CURR == '合计') {
ttldr = memberyf.data.DR;
ttlcr = memberyf.data.CR;
ttlprofit = memberyf.data.PR;
profitrate = memberyf.data.PROFITRATE;
}
}
var rmbdrlb = "";
var usddrlb = "";
var otdrlb = "";
var ttldrlb = "";
var rmbcrlb = "";
var usdcrlb = "";
var otcrlb = "";
var ttlcrlb = "";
var rmblb = "";
var usdlb = "";
var otlb = "";
var ttllb = "";
rmbdrlb = "   " + LOCALCURR + "应收:" + returnfloat(rmbdr) + "";
rmbcrlb = "    " + LOCALCURR + "应付: " + returnfloat(rmbcr) + "";
if (rmbprofit < 0)
rmblb = "  " + LOCALCURR + "利润:" + returnfloat(rmbprofit) + "   |";
else
rmblb = "  " + LOCALCURR + "利润:" + returnfloat(rmbprofit) + "   |";
// rmblb = "统计信息(文字标题)(字段名-中文):(字段值-负值)(字段名-中文):(字段值-正值)";
usddrlb = "   USD应收:" + returnfloat(usddr) + "";
usdcrlb = "    USD应付: " + returnfloat(usdcr) + "";
if (usdprofit < 0)
usdlb = "   USD利润" + returnfloat(usdprofit) + "   |";
else
usdlb = "   USD利润" + returnfloat(usdprofit) + "   |";
otdrlb = "   其他币别应收:" + returnfloat(otdr) + "";
otcrlb = "    其他币别应付: " + returnfloat(otcr) + "";
if (otprofit < 0)
otlb = "   其他币别利润" + returnfloat(otprofit) + "   |";
else
otlb = "   其他币别利润" + returnfloat(otprofit) + "   |";
ttldrlb = "    合计应收: " + returnfloat(ttldr) + "";
ttlcrlb = "    合计应付: " + returnfloat(ttlcr) + "";
if (ttlprofit < 0)
ttllb = "   合计利润" + returnfloat(ttlprofit) + "  利润率" + returnfloat(profitrate) + "%";
else
ttllb = "   合计利润" + returnfloat(ttlprofit) + "  利润率" + returnfloat(profitrate) + "%";
this.panelDrChFee.setTitle("应收费用 " + rmbdrlb + usddrlb + otdrlb + ttldrlb);
this.panelCrChFee.setTitle("应付费用 " + rmbcrlb + usdcrlb + otcrlb + ttlcrlb);
this.tabTotal.setTitle("利润合计:" + rmblb + usdlb + otlb + ttllb);
},
//#endregion
cellEditingChFeeBeforeEdit: function (editor, e) {
var allow = this.getAllowOperationDetail();
if (allow == false) {
return;
}
var chfeefeeStatus = e.record.get('FeeStatus');
var canedit = chfeefeeStatus == 1 || chfeefeeStatus == 6;
if (canedit) {
var type = e.record.get('FeeType');
var op = e.record.get('EnteroPerator');
var opname = e.record.get('OpName');
if (type == 1) {
var records = DsStoreQueryBy(this.StoreDrOpRange, 'OPID', op);
if (records.getCount() > 0) {
} else {
Ext.Msg.show({ title: '提示', msg: '你没有权限修改' + opname + '录入的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
canedit = false;
}
} else if (type == 2) {
var records = DsStoreQueryBy(this.StoreCrOpRange, 'OPID', op);
if (records.getCount() > 0) {
} else {
Ext.Msg.show({ title: '提示', msg: '你没有权限修改' + opname + '录入的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
canedit = false;
}
}
}
return canedit;
},
refBillNoSeChange: function (field, newValue, oldValue) {
// if (newValue != oldValue) {
// alert(newValue + "," + oldValue);
// }
},
getFeeStatus: function () {
var feeStatus = this.EditRecord.get('FEESTATUS');
return feeStatus;
},
getBillStatus: function () {
// var basicForm = this.formEdit.getForm();
// var billStatus = basicForm.findField('BillStatus').value;
// return billStatus;
},
getCustName: function () {
// var custName = this.formEdit.getForm().findField('RefCustomerName');
//return custName.getValue();
},
setSaveBtnStatus: function (enable) {
var bsbtnSave = Ext.getCmp('pcbtnSave');
var bsbtnSaveAndClose = Ext.getCmp('pcbtnSaveAndClose');
var bsbtnSaveAndNew = Ext.getCmp('pcbtnSaveAndNew');
var pcbtnNew = Ext.getCmp('pcbtnNew');
if (enable) {
bsbtnSave.enable();
bsbtnSaveAndClose.enable();
bsbtnSaveAndNew.enable();
pcbtnNew.enable();
} else {
//bsbtnSave.disable();
//bsbtnSaveAndClose.disable();
bsbtnSaveAndNew.disable();
pcbtnNew.disable();
}
},
onPrintSelectDetailClick: function (button, event, type) {
var selectedRecords = [];
var storeadd = null;
if (type == 1) {
selectedRecords = this.feeDrGridCheckBoxModel.selected.items;
MBLNO = _thisfeeview.strMBLNO;
} else if (type == 2) {
selectedRecords = this.feeCrGridCheckBoxModel.selected.items;
MBLNO = _thisfeeview.strMBLNO;
} else {
alert(Zi.LAN.FEE.HanShuCanShuSheZhiBuDui);
return;
}
if (selectedRecords.length == 0) {
Ext.Msg.show({ title: Zi.LAN.FEE.TiShi, msg: Zi.LAN.FEE.QingXianXuanZeYeWu, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
_thisfeeview.strPBSNO = _thisfeeview.strBSNO;
if (this.stroplb == 'op_Seae') {
var printType = '';
if (type == 1) {
printType = 'SEAEDRFEE';
} else { printType = 'SEAECRFEE'; };
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_seae WHERE BsNo = '" + _thisfeeview.strPBSNO + "'";
} else if (this.stroplb == 'op_Apply') {
var printType = '';
if (type == 1) {
printType = 'APPLYDRFEE';
} else { printType = 'APPLYCRFEE'; };
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_apply WHERE BsNo = '" + _thisfeeview.strPBSNO + "'";
} else if (this.stroplb == 'op_Seai') {
var printType = '';
if (type == 1) {
printType = 'SEAIDRFEE';
} else { printType = 'SEAICRFEE'; };
var sql1 = /*"SET LANGUAGE 'us_english' "
+ */" select * from op_seai WHERE BsNo = '" + _thisfeeview.strPBSNO + "'";
} else if (this.stroplb == 'op_Bulk') {
var printType = '';
if (type == 1) {
printType = 'BULKDRFEE';
} else { printType = 'BULKCRFEE'; };
var sql1 = /*"SET LANGUAGE 'us_english' "
+ */" select * from op_bulk WHERE BsNo = '" + _thisfeeview.strPBSNO + "'";
} else if (this.stroplb == 'op_other') {
var printType = '';
if (type == 1) {
printType = 'OTHERDRFEE';
} else { printType = 'OTHERCRFEE'; };
var sql1 = /*"SET LANGUAGE 'us_english' "
+ */" select * from op_other WHERE BsNo = '" + _thisfeeview.strPBSNO + "'";
} else if (this.stroplb == 'op_railway') {
var printType = '';
if (type == 1) {
printType = 'RAILWAYDRFEE';
} else { printType = 'RAILWAYCRFEE'; };
var sql1 = /*"SET LANGUAGE 'us_english' "
+ */" select * from op_railway WHERE BsNo = '" + _thisfeeview.strPBSNO + "'";
} else if (this.stroplb == 'op_Aire') {
var printType = '';
if (type == 1) {
printType = 'AIREDRFEE';
} else { printType = 'AIRECRFEE'; };
var sql1 = /*"SET LANGUAGE 'us_english' "
+ */" select * from op_aire WHERE BsNo = '" + _thisfeeview.strPBSNO + "'";
} else if (this.stroplb == 'op_Airi') {
var printType = '';
if (type == 1) {
printType = 'AIRIDRFEE';
} else { printType = 'AIRICRFEE'; };
var sql1 = /*"SET LANGUAGE 'us_english' "
+ */" select * from op_airi WHERE BsNo = '" + _thisfeeview.strPBSNO + "'";
} else if (this.stroplb == 'OpCtnBsCard') {
var printType = '';
if (type == 1) {
printType = 'CTNBSCARDDRFEE';
} else { printType = 'CTNBSCARDCRFEE'; };
var sql1 = /*"SET LANGUAGE 'us_english' "
+ */" select * from op_ctnbscard WHERE GID= '" + _thisfeeview.strPBSNO + "'";
} else if (this.stroplb == 'import_main') {
var printType = '';
if (type == 1) {
printType = 'IMPORTTRADEDRFEE';
} else { printType = 'IMPORTTRADECRFEE'; };
var sql1 = /*"SET LANGUAGE 'us_english' "
+ */" select * from Import_main WHERE ContractNo= '" + _thisfeeview.strPBSNO + "'";
};
var feeGidSql = '';
for (var i = 0; i < selectedRecords.length; i++) {
var record = selectedRecords[i];
var feeGId = "''" + record.get('GId') + "''";
if (feeGidSql == '') {
feeGidSql = feeGId;
} else {
feeGidSql = feeGidSql + "," + feeGId;
}
};
var sql2 = " declare @sql varchar(8000) ";
sql2 = sql2 + " set @sql = 'select bsno '";
sql2 = sql2 + " select @sql = @sql + ' , sum(case feename when ''' + feename + ''' then amount else 0 end) [' + feename + ']' ";
sql2 = sql2 + " from (select name as feename from code_fee where name in ";
sql2 = sql2 + " ('掏箱费','港杂费','关税','增值税','监管费','滞报金','保证金','滞纳金', ";
sql2 = sql2 + " '二次换单费','换单费','报检费','仓储费','分拨费','港杂费','港建费','港口包干费', ";
sql2 = sql2 + " '验货费','熏蒸费','还柜吊柜费','转栈费','海运费','空运费','捆绑费', ";
sql2 = sql2 + " '铁路运费','公路运费','短途运输费','木检运费','搬倒费','装箱费','修箱费', ";
sql2 = sql2 + " '滞箱费','出入库费','拆箱费','吊箱费',";
sql2 = sql2 + " '国际运费','报关费','保险费','包干费','THC','运费','商检验货费','集装箱费'";
sql2 = sql2 + " )) as a set @sql = @sql + ' from ch_fee where bsno=''" + this.strBSNO + "'' ' ";
if (feeGidSql != '') {
sql2 = sql2 + " set @sql = @sql + ' and Gid in (" + feeGidSql + ") '";
}
sql2 = sql2 + "set @sql = @sql +' group by bsno ' exec(@sql) ";
var feeGidSql = '';
for (var i = 0; i < selectedRecords.length; i++) {
var record = selectedRecords[i];
var feeGId = "'" + record.get('GId') + "'";
if (feeGidSql == '') {
feeGidSql = feeGId;
} else {
feeGidSql = feeGidSql + "," + feeGId;
}
};
var sql3 = "";
if (feeGidSql != '') {
sql3 = sql3 + " Select c.*,(select showname from [user] where gid=c.enteroperator) as 录入人,(select DESCRIPTION from info_client where SHORTNAME=c.CUSTOMERNAME) CUSTFULLNAME from ch_fee c where c.Gid in (" + feeGidSql + ") order by sort,LineNum ";
}
var sql4 = " Select ic.*,icc.showname,icc.addr from info_client ic ";
sql4 = sql4 + " left join info_client_contact icc on icc.linkid=ic.gid where shortname=(select customername from v_op_bill where bsno='" + _thisfeeview.strBSNO + "')";
var sql5 = "";
if (feeGidSql != '') {
sql5 = sql5 + " Select c.*,(select showname from [user] where gid=c.enteroperator) as 录入人,(select DESCRIPTION from info_client where SHORTNAME=c.CUSTOMERNAME) CUSTFULLNAME from ch_fee c where c.feetype=1 and c.bsno='" + _thisfeeview.strBSNO + "' and c.FEENAME in (SELECT FEENAME FROM CH_FEE WHERE GID IN (" + feeGidSql + ")) order by sort,LineNum ";
}
var sql6 = "";
PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6, MBLNO);
},
onPrintAllDetailClick: function (button, event, type) {
var allow = this.getAllowOperationDetail();
if (allow == false) {
return;
}
if (this.stroplb == 'op_Seae') {
var printType = '';
if (type == 1) {
printType = 'SEAEDRFEEALL';
} else { printType = 'SEAECRFEEALL'; };
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_seae WHERE BsNo = '" + this.strBSNO + "'";
} else if (this.stroplb == 'op_Apply') {
var printType = '';
if (type == 1) {
printType = 'APPLYDRFEEALL';
} else { printType = 'APPLYCRFEEALL'; };
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_apply WHERE BsNo = '" + this.strBSNO + "'";
} else if (this.stroplb == 'op_Seai') {
var printType = '';
if (type == 1) {
printType = 'SEAIDRFEEALL';
} else { printType = 'SEAICRFEEALL'; };
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_seai WHERE BsNo = '" + this.strBSNO + "'";
} else if (this.stroplb == 'op_Bulk') {
var printType = '';
if (type == 1) {
printType = 'BULKDRFEEALL';
} else { printType = 'BULKCRFEEALL'; };
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_bulk WHERE BsNo = '" + this.strBSNO + "'";
} else if (this.stroplb == 'op_other') {
var printType = '';
if (type == 1) {
printType = 'OTHERDRFEEALL';
} else { printType = 'OTHERCRFEEALL'; };
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_other WHERE BsNo = '" + this.strBSNO + "'";
} else if (this.stroplb == 'op_railway') {
var printType = '';
if (type == 1) {
printType = 'RAILWAYDRFEEALL';
} else { printType = 'RAILWAYCRFEEALL'; };
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_railway WHERE BsNo = '" + this.strBSNO + "'";
} else if (this.stroplb == 'op_Aire') {
var printType = '';
if (type == 1) {
printType = 'AIREDRFEEALL';
} else { printType = 'AIRECRFEEALL'; };
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_aire WHERE BsNo = '" + this.strBSNO + "'";
} else if (this.stroplb == 'op_Airi') {
var printType = '';
if (type == 1) {
printType = 'AIRIDRFEEALL';
} else { printType = 'AIRICRFEEALL'; };
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_airi WHERE BsNo = '" + this.strBSNO + "'";
};
var sql2 = "SET LANGUAGE 'us_english' SELECT * from ch_fee where BsNo='" + this.strBSNO + "' and FEETYPE=" + type;
var sql3 = "";
var sql4 = "";
var sql5 = "";
var sql6 = "";
PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6);
},
onPrintGainClick: function (button, event, type) {
_thisfeeview = this;
Ext.Msg.wait('正在组织数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在组织数据...',
url: '/MvcShipping/MsChFee/GetGainPrint',
scope: this,
params: {
bsno: _thisfeeview.strBSNO,
oplb: _thisfeeview.stroplb
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
var printsql = jsonresult.Data;
var printdrsql = jsonresult.Message;
var printcrsql = jsonresult.Message2;
if (_thisfeeview.stroplb == 'op_Seae') {
var printType = 'SEAEGAIN';
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_seae WHERE BSNO = '" + _thisfeeview.strBSNO + "'";
} else if (_thisfeeview.stroplb == 'op_Apply') {
var printType = 'APPLYGAIN';
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_apply WHERE BSNO = '" + _thisfeeview.strBSNO + "'";
} else if (_thisfeeview.stroplb == 'op_Seai') {
var printType = 'SEAIGAIN';
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_seai WHERE BSNO = '" + _thisfeeview.strBSNO + "'";
} else if (_thisfeeview.stroplb == 'op_Bulk') {
var printType = 'BULKGAIN';
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_bulk WHERE BSNO = '" + _thisfeeview.strBSNO + "'";
} else if (_thisfeeview.stroplb == 'op_other') {
var printType = 'OTHERGAIN';
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_other WHERE BSNO = '" + _thisfeeview.strBSNO + "'";
} else if (_thisfeeview.stroplb == 'op_railway') {
var printType = 'RAILWAYGAIN';
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_railway WHERE BSNO = '" + _thisfeeview.strBSNO + "'";
} else if (_thisfeeview.stroplb == 'op_Aire') {
var printType = 'AIREGAIN';
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_aire WHERE BSNO = '" + _thisfeeview.strBSNO + "'";
} else if (_thisfeeview.stroplb == 'op_Airi') {
var printType = 'AIRIGAIN';
var sql1 = "SET LANGUAGE 'us_english' "
+ " select * from op_airi WHERE BSNO = '" + _thisfeeview.strBSNO + "'";
};
// sql3 = sql3 + " Select c.*,(select showname from [user] where gid=c.enteroperator) as 录入人 from ch_fee c where c.Gid in (" + feeGidSql + ") order by sort,LineNum ";
var sql2 = "SET LANGUAGE 'us_english' Select c.*,(select showname from [user] where gid=c.enteroperator) as 录入人 from ch_fee c where c.BSNO='" + _thisfeeview.strBSNO + "' and " + printdrsql +" and c.FEETYPE=1 order by sort,LineNum ";
var sql3 = "SET LANGUAGE 'us_english' Select c.*,(select showname from [user] where gid=c.enteroperator) as 录入人 from ch_fee c where c.BSNO='" + _thisfeeview.strBSNO + "' and " + printcrsql +" and c.FEETYPE=2 order by sort,LineNum ";
//全部费用利润 或 海运费利润 或 仓储利润
var sql4 = "SELECT BSNO"
+ ",SUM(RMBDR) as RMBDR,SUM(RMBCR) as RMBCR,SUM(USDDR) as USDDR,SUM(USDCR) as USDCR"
+ ",SUM(RMBDR+USDTORMBDR) as DRTTL"
+ ",SUM(RMBCR+USDTORMBCR) as CRTTL"
+ ",(SUM(RMBDR)-SUM(RMBCR)) AS RMBPROFIT"
+ ",(SUM(USDDR)-SUM(USDCR)) AS USDPROFIT"
+ ",SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR) as TTLPROFIT"
//+ ",(CAST(CAST(CASE WHEN SUM(RMBCR+USDTORMBCR) = 0 THEN 100 ELSE (ROUND((case when SUM(RMBDR+USDTORMBDR)=0 then 0 else (SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR))/SUM(RMBDR+USDTORMBDR) END),4))*100 END as decimal(18,2)) as varchar(20))+'%') AS PROFITRATE"
+ ",(CAST(CAST(CASE WHEN SUM(RMBCR+USDTORMBCR) = 0 THEN 100 ELSE (ROUND(((SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR))/SUM(RMBCR+USDTORMBCR)),4))*100 END as decimal(18,2)) as varchar(20))+'%') AS PROFITRATE"
+ ",'" + SHOWNAME + "' as CREATEUSER,GETDATE() as CREATETIME "
+ " FROM ("
+ "SELECT BSNO,CURRENCY,FEETYPE"
+ ",SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as RMBDR"
+ ",SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as RMBCR"
+ ",SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as USDDR"
+ ",SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as USDCR"
+ ",SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT*EXCHANGERATE ELSE 0 END) as USDTORMBDR"
+ ",SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT*EXCHANGERATE ELSE 0 END) as USDTORMBCR "
+ " FROM ch_fee WHERE 1=1 and BSNO='" + _thisfeeview.strBSNO + "'"
+ " GROUP BY BSNO,CURRENCY,EXCHANGERATE,FEETYPE "
+ " ) AS C GROUP BY BSNO ";
var sql5 = "exec GetPrintDataNew '" + _thisfeeview.strBSNO + "','" + printsql.replace(new RegExp("'", "gm"), "''") + "'";
var sql6 = "";
PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6);
} else {
Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
}
} else {
Ext.Msg.show({ title: '请重试',
msg: '服务器响应出错',
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
});
}
}
});
}
});