Ext . namespace ( 'Shipping' ) ;
Shipping . SeaeHistryFee = function ( config ) {
Ext . applyIf ( this , config ) ;
this . initUIComponents ( ) ;
window . Shipping . SeaeHistryFee . superclass . constructor . call ( this ) ;
} ;
Ext . extend ( Shipping . SeaeHistryFee , Ext . Panel , {
PageSize : 10 ,
ParentWin : null ,
feeType : 0 ,
OprationStatus : null , //仅当弹出界面时使用
SelectedRecord : null ,
StoreFee : null ,
StoreFeeUnit : null ,
StoreFeeCust : null ,
EditRecord : null ,
StoreDateCurr : null ,
StoreCurr : null ,
storeCustomerNameRef : null ,
stroplb : '' ,
salecorp : '' ,
initUIComponents : function ( ) {
this . formname = "formSeaeHistryFee" ; //页面名称
this . DEFORDERCUST = "" ;
this . sqlcontext = '' ;
//定义数据集
this . storeList = Ext . create ( 'Ext.data.Store' , {
pageSize : this . PageSize ,
model : 'MsOpSeaeModel' ,
remoteSort : true ,
proxy : {
type : 'ajax' ,
url : '/MvcShipping/MsOpSeae/GetFenList' ,
reader : {
id : 'GId' ,
root : 'data' ,
totalProperty : 'totalCount'
}
}
} ) ;
//#region 主grid
this . gridListCheckBoxModel = Ext . create ( 'Ext.selection.CheckboxModel' ) ;
this . gridList = new Ext . grid . GridPanel ( {
store : this . storeList ,
enableHdMenu : false ,
region : 'north' ,
height : 268 ,
loadMask : { msg : "数据加载中,请稍等..." } ,
trackMouseOver : true ,
disableSelection : false ,
selModel : this . gridListCheckBoxModel ,
viewConfig : {
autoFill : true ,
enableTextSelection : true
} ,
columns : [ {
sortable : true ,
dataIndex : 'MBLNO' ,
header : '主提单号' ,
width : 130
} , {
sortable : true ,
dataIndex : 'CUSTOMNO' ,
header : '报关单号' ,
width : 80
} , {
sortable : true ,
dataIndex : 'CUSTNO' ,
header : '委托编号' ,
width : 130
} , {
sortable : true ,
dataIndex : 'CUSTOMERNAME' ,
header : '委托单位' ,
width : 120
} , {
sortable : true ,
dataIndex : 'CUSTOMDATE' ,
header : '报关日期' ,
renderer : Ext . util . Format . dateRenderer ( 'Y-m-d' ) ,
width : 86
} , {
sortable : true ,
dataIndex : 'CUSTOMSER' ,
header : '报关行' ,
width : 120
} , {
sortable : true ,
dataIndex : 'VESSEL' ,
header : '船名' ,
width : 130
} , {
sortable : true ,
dataIndex : 'VOYNO' ,
header : '航次' ,
width : 50
} , {
sortable : true ,
dataIndex : 'ETD' ,
header : '开船日期' ,
renderer : Ext . util . Format . dateRenderer ( 'Y-m-d' ) ,
width : 86
} ,
{
sortable : true ,
id : '' ,
dataIndex : 'PORTDISCHARGE' ,
header : '卸货港' ,
width : 100
} ,
{
sortable : true ,
id : '' ,
dataIndex : 'CNTRTOTAL' ,
header : '集装箱' ,
width : 80
} , {
sortable : true ,
dataIndex : 'BSTYPE' ,
header : '业务类型' ,
width : 120
} , {
sortable : true ,
dataIndex : 'INPUTBY' ,
header : '录入人' ,
width : 80
} , {
sortable : true ,
dataIndex : 'CREATETIME' ,
header : '录入日期' ,
width : 86
} , {
sortable : true ,
dataIndex : 'OP' ,
header : '操作' ,
width : 80
} , {
sortable : true ,
dataIndex : 'SALE' ,
header : '揽货人' ,
width : 80
}
] ,
// paging bar on the bottom
bbar : Ext . create ( 'Ext.PagingToolbar' , {
store : this . storeList ,
displayInfo : true ,
displayMsg : '当前显示 {0} - {1}条记录 /共 {2}条记录' ,
emptyMsg : "没有数据"
} )
} ) ;
//#endregion
//#region 固定费用明细表
//#region 费用表
//明细表表格相关
this . storeFeeTypeRef = Ext . create ( 'DsExt.ux.RefEnumStore' , { } ) ;
this . storeFeeTypeRef . load ( { params : { enumTypeId : 99020 } } ) ;
this . comboxFeeTypeRef = Ext . create ( 'DsExt.ux.RefEnumCombox' , {
store : this . storeFeeTypeRef ,
name : 'FeeType'
} ) ;
//明细表-数据集
this . storeBodyChFee = Ext . create ( 'Ext.data.Store' , {
model : 'MsChFee' ,
remoteSort : true ,
proxy : {
type : 'ajax' ,
url : '/MvcShipping/MsChFee/GetDataList' ,
reader : {
id : 'GId' ,
root : 'data' ,
totalProperty : 'totalCount'
}
}
} ) ;
//明细表表格
this . feeGridCheckBoxModel = Ext . create ( 'Ext.selection.CheckboxModel' ) ;
this . radiogroup = new Ext . form . RadioGroup ( {
fieldLabel : '引入方式' ,
width : 380 ,
columns : 2 ,
items : [
{ boxLabel : '全部引入' , name : 'rb' , id : 'rdall' , inputValue : '1' } ,
{ boxLabel : '不引入客户' , name : 'rb' , id : 'rdfee' , inputValue : '2' , checked : true } ,
]
} ) ;
_this = this ;
this . gridListChFee = new Ext . grid . GridPanel ( {
store : this . storeBodyChFee ,
enableHdMenu : false ,
region : 'center' ,
loadMask : { msg : "数据加载中,请稍等..." } ,
trackMouseOver : true ,
disableSelection : false ,
selModel : this . feeGridCheckBoxModel ,
selType : 'cellmodel' ,
viewConfig : {
autoFill : true ,
enableTextSelection : true ,
getRowClass : function ( record , rowIndex , rowParams , store ) {
var feeStatus = record . get ( 'FeeStatus' ) ;
return Shipping . FeeGetRowClass ( feeStatus ) ;
}
} ,
columns : [ {
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 : 100
} , {
sortable : true ,
dataIndex : 'CustomerName' ,
header : '结算对象' ,
width : 120
} , {
sortable : true ,
dataIndex : 'UnitPrice' ,
header : '单价' ,
width : 60 ,
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 '<SPAN style="COLOR: red">' + lsValue + '</SPAN>' ;
}
}
else {
return value ;
}
}
catch ( e ) {
return value ;
}
return value ;
}
} , {
sortable : true ,
dataIndex : 'Quantity' ,
header : '数量' ,
width : 60
} , {
sortable : true ,
dataIndex : 'TaxRate' ,
header : '税率' ,
width : 80
} , {
sortable : true ,
dataIndex : 'NoTaxAmount' ,
header : '不含税金额' ,
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 '<SPAN style="COLOR: red">' + lsValue + '</SPAN>' ;
}
}
else {
return value ;
}
}
catch ( e ) {
return value ;
}
return value ;
}
} , {
sortable : true ,
dataIndex : 'Amount' ,
header : '金额' ,
width : 60 ,
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 '<SPAN style="COLOR: red">' + lsValue + '</SPAN>' ;
}
}
else {
return value ;
}
}
catch ( e ) {
return value ;
}
return value ;
}
} , {
sortable : true ,
dataIndex : 'Currency' ,
header : '币别' ,
width : 60
} , {
sortable : true ,
dataIndex : 'ExChangerate' ,
header : '汇率' ,
width : 60
} , {
sortable : true ,
dataIndex : 'Tax' ,
header : '税额' ,
width : 80
} , {
sortable : true ,
dataIndex : 'AccTaxRate' ,
header : '财务税率' ,
width : 80
} , {
sortable : true ,
dataIndex : 'Remark' ,
header : '备注' ,
width : 150
} , {
sortable : true ,
dataIndex : 'FeeDescription' ,
header : '费用英文名称' ,
width : 100
} , {
sortable : true ,
dataIndex : 'EnterDate' ,
header : '录入时间' ,
hidden : true ,
width : 200
} , {
sortable : true ,
dataIndex : 'MANAGERREF' ,
header : '责任人' ,
hidden : true ,
width : 200
} , {
sortable : true ,
dataIndex : 'EnterDate' ,
header : '录入时间' ,
hidden : true ,
width : 200
}
] ,
// paging bar on the bottom
bbar : [ this . radiogroup , '-' , {
xtype : "button" ,
id : "button_add" ,
iconCls : "btnadd" ,
text : "引入费用" ,
handler : function ( button , event ) {
_this . onAddDetailClick ( button , event ) ;
}
} ,
'-' ,
{
xtype : "button" ,
id : "button_close" ,
text : "取消退出" ,
handler : function ( button , event ) {
window . close ( ) ;
}
}
]
} ) ;
//#endregion
//#region formSearch
//#region formSearch枚举参照相关
// this.storeCodeLoadport = Ext.create('DsExt.ux.RefTableStore', {
// model: 'DsShipping.ux.CodeLoadportModel',
// proxy: { url: '/CommMng/BasicDataRef/GetCodeLoadportList' }
// });
// this.storeCodeLoadport.load();
// this.comboxPORTLOAD = Ext.create('DsExt.ux.RefTableCombox', {
// fieldLabel: '装货港', //'装货港',
// store: this.storeCodeLoadport,
// name: 'PORTLOAD',
// valueField: 'PORT',
// displayField: 'CodeAndName',
// // forceSelection: true,
// matchFieldWidth: false
// });
// this.storeCodeDisport = Ext.create('DsExt.ux.RefTableStore', {
// model: 'DsShipping.ux.CodeDisportModel',
// proxy: { url: '/CommMng/BasicDataRef/GetCodeDisportListRm' }
// });
// this.comboxPORTDISCHARGE = Ext.create('DsExt.ux.RefTableCombox', {
// fieldLabel: '卸货港', //'卸货港',
// store: this.storeCodeDisport,
// name: 'PORTDISCHARGE',
// // forceSelection: true,
// valueField: 'PORT',
// queryMode: 'remote',
// minChars: 1,
// queryParam: 'PORT',
// displayField: 'CodeAndName'
// });
//#endregion
//客户加载_委托单位
this . storeCustCode = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.CustomRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetCustomRefListController' }
} ) ;
// this.storeCustCode.load({ params: { condition: "ISCONTROLLER='1'"} });
// this.storeCustCode.loadData(mainWin.GetPubStore("OPSEAE_CUST_ISCONTROLLER").data.items);
//委托单位
_this = this ;
this . comboxCustCode = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '委托单位' , //'委托单位',
store : this . storeCustCode ,
queryMode : 'remote' ,
matchFieldWidth : false ,
minChars : 1 ,
queryParam : 'CODENAME' ,
name : 'CUSTOMERNAME' ,
valueField : 'CustName' ,
displayField : 'CodeAndName' ,
enableKeyEvents : true ,
listeners : {
keyup : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
//,
//'beforequery': function (e) {
// return FilterCombox(e,2);//在beforequery使用此方法
//}
, specialkey : function ( field , e ) {
//if (e.getKey() == e.ENTER) {
// e.keyCode = 9;
//}
if ( e . keyCode == 9 ) {
if ( field . value == null ) {
_rec = _this . storeCustCode . getAt ( 0 ) ;
_this . formSearch . getForm ( ) . findField ( 'CUSTOMERNAME' ) . setValue ( _rec . data . CustName ) ;
}
}
}
}
} ) ;
this . formSearch = Ext . widget ( 'form' , {
frame : true ,
region : 'center' ,
bodyPadding : 5 ,
fieldDefaults : {
margins : '2 2 2 2' ,
labelAlign : 'right' ,
flex : 1 ,
labelWidth : 90 ,
msgTarget : 'qtip'
} ,
items : [
{ //fieldset 1
xtype : 'container' ,
defaultType : 'textfield' ,
layout : 'anchor' ,
defaults : {
anchor : '100%'
} ,
items : [ {
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ {
fieldLabel : '编号' ,
name : 'MblNo' ,
enableKeyEvents : true ,
listeners : {
specialkey : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
}
} , this . comboxCustCode , {
fieldLabel : '从开船日期' ,
format : 'Y-m-d' ,
xtype : 'datefield' ,
name : 'CustDate_Min' ,
enableKeyEvents : true ,
listeners : {
specialkey : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
}
} , {
fieldLabel : '至开船日期' ,
format : 'Y-m-d' ,
xtype : 'datefield' ,
name : 'CustDate_Max' ,
enableKeyEvents : true ,
listeners : {
specialkey : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
}
} , {
fieldLabel : '装货港' ,
name : 'PORTLOAD' ,
enableKeyEvents : true ,
listeners : {
specialkey : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
}
} , {
fieldLabel : '卸货港' ,
name : 'PORTDISCHARGE' ,
enableKeyEvents : true ,
listeners : {
specialkey : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
}
} , {
xtype : 'button' ,
width : 90 ,
text : "执行查询" ,
iconCls : "btnrefresh" ,
handler : function ( button , event ) {
this . onRefreshClick ( button , event ) ;
} ,
scope : this
} , {
xtype : 'button' ,
width : 30 ,
// text: "高级查询",
iconCls : "btnmore" ,
handler : function ( button , event ) {
if ( this . bsnosql == undefined ) {
var sql = this . getCondition ( ) ;
} else {
var sql = this . sqlcontext ;
}
var winAccess = new Shipping . DsQuery ( {
} ) ;
winAccess . StoreList = this . storeBodyAddList ;
winAccess . formname = this . formname ;
winAccess . condition = sql ;
winAccess . show ( ) ;
return ;
} ,
scope : this
}
]
} ]
} ]
} ) ;
//#endregion formSearch
//#region 按钮ToolBar
//#endregion
//#region 布局
this . panelTop = new Ext . Panel ( {
layout : "border" ,
region : "north" ,
height : 55 ,
items : [ this . formSearch ]
} ) ;
this . panelBodyChFee = new Ext . Panel ( {
title : '费用明细' ,
layout : "border" ,
region : 'center' ,
margin : '5 10' ,
items : [ this . gridListChFee ]
} ) ;
this . panelFee = new Ext . Panel ( {
layout : "border" ,
region : "center" ,
items : [
this . panelBodyChFee
]
} ) ;
Ext . apply ( this , {
items : [ this . panelTop , this . gridList , this . panelFee ]
} ) ;
this . storeDefValue = Ext . create ( 'Ext.data.Store' , {
model : 'DsShipping.ux.OpDefValue' ,
remoteSort : true ,
proxy : {
type : 'ajax' ,
url : '/MvcShipping/MsCodeOpDef/GetDataList' ,
reader : {
id : 'GID' ,
root : 'data' ,
totalProperty : 'totalCount'
}
}
} ) ;
this . storeDefValue . load ( { params : { condition : "BSTYPE='费用信息'" } } ) ;
//#endregion
this . parentWin = window . parent . opener . _thisfee ;
if ( this . parentWin ) {
this . feeType = this . parentWin . feeType ;
if ( this . feeType == 1 ) {
this . StoreFee = this . parentWin . storeDrChFee ;
} else if ( this . feeType == 2 ) {
this . StoreFee = this . parentWin . storeCrChFee ;
}
this . StoreFeeUnit = this . parentWin . StoreUnit ;
this . StoreFeeCust = this . parentWin . StoreCustType ;
this . StoreDateCurr = this . parentWin . StoreDateCurr ;
this . StoreCurr = this . parentWin . StoreCurr ;
this . EditRecord = this . parentWin . EditRecord ;
this . stroplb = this . parentWin . stroplb ;
this . storeCustomerNameRef = this . parentWin . storeCustomerNameRef ;
this . salecorp = this . parentWin . SALECORP ;
} else {
this . parentWin = window . parent . opener . _thisAmendfee ;
if ( this . parentWin ) {
this . feeType = this . parentWin . feeType ;
if ( this . feeType == 1 ) {
this . StoreFee = this . parentWin . storeDrChFee ;
} else if ( this . feeType == 2 ) {
this . StoreFee = this . parentWin . storeCrChFee ;
}
this . StoreFeeUnit = this . parentWin . StoreUnit ;
this . StoreFeeCust = this . parentWin . StoreCustType ;
this . StoreDateCurr = this . parentWin . StoreDateCurr ;
this . StoreCurr = this . parentWin . StoreCurr ;
this . EditRecord = this . parentWin . EditRecord ;
this . stroplb = this . parentWin . stroplb ;
this . storeCustomerNameRef = this . parentWin . storeCustomerNameRef ;
this . salecorp = this . parentWin . SALECORP ;
}
}
if ( this . stroplb == 'op_SeaeOrder' ) {
var OP = this . EditRecord . get ( 'OP' ) ;
Ext . Ajax . request ( {
waitMsg : '' ,
url : '/MvcShipping/MsSeaeOrder/GetDeptName' ,
params : {
op : OP
} ,
callback : function ( options , success , response ) {
if ( success ) {
var result = Ext . JSON . decode ( response . responseText ) ;
if ( result . Success == true ) {
this . DEFORDERCUST = result . Data ;
} else {
}
} else {
}
} ,
scope : this
} ) ;
}
//#region 事件绑定
this . storeList . on ( 'beforeload' , function ( store ) {
var sql = this . sqlcontext ;
Ext . apply ( store . proxy . extraParams , { condition : sql } ) ;
} , this ) ;
this . storeList . on ( 'load' , function ( store , records ) {
if ( store . getCount ( ) > 0 ) {
this . gridList . getSelectionModel ( ) . select ( 0 ) ;
//this.gridListCheckBoxModel.selectAll();
}
} , this ) ;
this . gridList . getSelectionModel ( ) . on ( 'select' , function ( model , record , index ) {
//alert(record.data.BillNo);
var bsno = record . data . BSNO ;
this . storeBodyChFee . load ( { params : { billno : bsno , type : this . feeType , optype : 'op_Seae' } } ) ;
} , this ) ;
//#endregion
//#region 自动刷新(已经提交但是尚未审核的业务,哪怕一票货中有一笔费用没审核也显示)
this . onAutoRefresh ( ) ;
//#endregion
// this.SetBtnRight();
} , //end initUIComponents
onAutoRefresh : function ( ) {
var myDate = new Date ( ) ;
var start = new Date ( myDate . getTime ( ) - 31 * 24 * 3600 * 1000 ) ;
var mydatestr = Ext . util . Format . date ( start , 'Y-m' ) ;
var sql = " B.ACCDATE='" + mydatestr + "'" ;
this . sqlcontext = sql ;
this . storeList . load ( {
params : { start : 0 , limit : this . PageSize , sort : '' , condition : sql } ,
waitMsg : "正在查询数据..." ,
scope : this
} ) ;
} ,
onRefreshClick : function ( button , event ) {
var sql = this . getCondition ( ) ;
this . sqlcontext = sql ;
this . storeList . load ( {
params : { start : 0 , limit : this . PageSize , sort : '' , condition : sql } ,
waitMsg : "正在查询数据..." ,
scope : this
} ) ;
} ,
onDsQuery : function ( button , event ) {
var sql = this . sqlcontext ;
this . storeList . load ( {
params : { start : 0 , limit : this . PageSize , sort : '' , condition : sql } ,
waitMsg : "正在查询数据..." ,
scope : this
} ) ;
} ,
onAddDetailClick : function ( button , event ) {
var type ;
var rdall = Ext . getCmp ( 'rdall' ) ;
if ( rdall . checked ) {
type = 1 ;
} else {
type = 2 ;
}
var myDate = new Date ( ) ;
var MANAGER = '' ;
var MANAGERREF = '' ;
if ( this . StoreFee . getCount ( ) > 0 ) {
var memberbody = this . StoreFee . getAt ( this . StoreFee . getCount ( ) - 1 ) ;
MANAGER = memberbody . data . MANAGER ;
MANAGERREF = memberbody . data . MANAGERREF ;
}
var iscrmorder = '0' ;
if ( this . stroplb == 'op_SeaeOrder' ) {
iscrmorder = '1' ;
}
selectedRecords = this . feeGridCheckBoxModel . selected . items ;
if ( selectedRecords . length == 0 ) {
this . feeGridCheckBoxModel . selectAll ( ) ;
selectedRecords = this . feeGridCheckBoxModel . selected . items ;
}
for ( i = 0 ; i < selectedRecords . length ; i += 1 ) {
var memberyf = selectedRecords [ i ] ;
var record = null ;
var records = DsStoreQueryBy ( this . StoreFeeUnit , 'UNIT' , memberyf . data . Unit ) ;
if ( records . getCount ( ) > 0 ) {
var data = records . getAt ( 0 ) . data ;
var quantity = data . QUANTITY ;
} else {
var quantity = 0 ;
}
var taxrate = memberyf . data . TaxRate ;
if ( taxrate == null ) taxrate = 0 ;
var taxrateb = Add ( 1 , Div ( taxrate , 100 , 4 ) , 4 ) ;
var TaxUnitPrice = 0 ;
if ( memberyf . data . TaxUnitPrice == 0 ) {
TaxUnitPrice = Mul ( memberyf . data . UnitPrice , taxrateb , 4 ) ;
} else TaxUnitPrice = memberyf . data . TaxUnitPrice ;
var amount = Mul ( TaxUnitPrice , quantity ) ; //(parseFloat(unitPrice).mul(quantity)).toFixed(2);
var notaxamount = 0 ;
if ( amount > 0 ) {
notaxamount = Div ( amount , taxrateb ) ;
} else {
notaxamount = Div ( Math . abs ( amount ) , taxrateb ) ;
notaxamount = - notaxamount ;
}
var tax = Add ( amount , - notaxamount ) ; //parseFloat(notaxamount).mul(taxrate);
//var notaxamount = Mul(quantity, memberyf.data.UnitPrice);
//var tax = Div(Mul(notaxamount, taxrate), 100);
//var amount = Add(notaxamount, tax);
var Feetype = memberyf . data . FeeType ;
var curr = memberyf . data . Currency ;
var exrate = 0 ;
if ( curr == LOCALCURR )
{ exrate = 1 }
else {
var FFrecords = DsStoreQueryBy ( this . StoreDateCurr , 'CURR' , curr ) ;
if ( FFrecords . getCount ( ) > 0 ) {
var ffdata = FFrecords . getAt ( 0 ) . data ;
if ( Feetype == 2 )
exrate = ffdata . CRDEFRATE ;
else
exrate = ffdata . DEFRATE ;
} else {
var DFrecords = DsStoreQueryBy ( this . StoreCurr , 'CURR' , curr ) ;
if ( DFrecords . getCount ( ) > 0 ) {
var dfdata = DFrecords . getAt ( 0 ) . data ;
if ( Feetype == 2 )
exrate = dfdata . CRDEFRATE ;
else
exrate = dfdata . DEFRATE ;
} else {
}
}
if ( exrate == 0 ) exrate = memberyf . data . ExchangeRate ;
} ;
var custfullname = '' ;
if ( custname != '' ) {
var records = DsStoreQueryBy ( this . storeCustomerNameRef , 'CustName' , custname ) ;
if ( records . getCount ( ) > 0 ) {
var data = records . getAt ( 0 ) . data ;
var DESCRIPTION = data . DESCRIPTION ;
if ( DESCRIPTION != '' )
custfullname = DESCRIPTION ;
}
}
// var amount = Ext.util.Format.number(parseFloat(notaxamount) + parseFloat(notaxamount) * parseFloat(taxrate) / 100, '0.00');
// var newsort = this.StoreFee.getCount() + 1;
var newsort = this . GetHandleSerialNo ( this . StoreFee , type ) ;
if ( type == 1 ) {
var custname = memberyf . data . CustomerName ;
if ( this . feeType == 1 && this . stroplb == 'op_SeaeOrder' && this . DEFORDERCUST != '' ) {
custname = this . DEFORDERCUST ;
}
var newsort = this . StoreFee . getCount ( ) + 1 ;
record = Ext . create ( 'MsChFee' , {
GId : NewGuid ( ) ,
BsNo : '*' ,
FeeStatus : 1 ,
FeeStatus _Ref : '录入状态' ,
FeeType : memberyf . data . FeeType ,
FeeName : memberyf . data . FeeName ,
FeeDescription : memberyf . data . FeeDescription ,
CustomerType : memberyf . data . CustomerType ,
CustomerName : custname ,
CustomerFullName : custfullname ,
Unit : memberyf . data . Unit ,
UnitPrice : memberyf . data . UnitPrice ,
TaxUnitPrice : memberyf . data . TaxUnitPrice ,
Quantity : quantity ,
TaxRate : taxrate ,
NoTaxAmount : notaxamount ,
Amount : amount ,
AccTaxRate : memberyf . data . AccTaxRate ,
Currency : memberyf . data . Currency ,
ExChangerate : exrate ,
Reason : '' ,
Remark : memberyf . data . Remark ,
Commissionrate : 0 ,
Settlement : 0 ,
Invoice : 0 ,
OrderAmount : 0 ,
OrderInvoice : 0 ,
SubmitDate : null ,
Auditoperator : '' ,
AuditDate : null ,
EnteroPerator : USERID ,
OpName : SHOWNAME ,
EnterDate : myDate ,
DebitNo : '' ,
IsDebit : "0" ,
IsOpen : "0" ,
ISACC : "0" ,
IsAdvancedpay : "False" ,
Sort : newsort ,
IsInvoice : "0" ,
FeeFrt : memberyf . data . FeeFrt ,
IsCrmOrderFee : iscrmorder ,
AuditStatus : 0 ,
InvoiceNum : '' ,
ChequeNum : '' ,
LOCALCURR : LOCALCURR ,
MANAGER : MANAGER ,
SALECORP : _this . salecorp ,
MANAGERREF : MANAGERREF ,
WmsOutBsNo : ''
} ) ;
} else {
var custtype = memberyf . data . CustomerType ;
if ( custtype == '' ) {
if ( memberyf . data . FeeType == 1 )
custtype = '委托单位'
else
custtype = '订舱代理'
} ;
var records = DsStoreQueryBy ( this . StoreFeeCust , 'CUSTTYPE' , custtype ) ;
if ( records . getCount ( ) > 0 ) {
var data = records . getAt ( 0 ) . data ;
var custname = this . EditRecord . get ( data . CUSTNAME ) ;
} else {
var custname = '' ;
}
var custfullname = '' ;
if ( custname != '' ) {
var records = DsStoreQueryBy ( this . storeCustomerNameRef , 'CustName' , custname ) ;
if ( records . getCount ( ) > 0 ) {
var data = records . getAt ( 0 ) . data ;
var DESCRIPTION = data . DESCRIPTION ;
if ( DESCRIPTION != '' )
custfullname = DESCRIPTION ;
}
}
// custname = memberyf.data.CustomerName;
if ( this . feeType == 1 && this . stroplb == 'op_SeaeOrder' && this . DEFORDERCUST != '' ) {
custname = this . DEFORDERCUST ;
}
record = Ext . create ( 'MsChFee' ,
{
GId : NewGuid ( ) ,
BsNo : '*' ,
FeeStatus : 1 ,
FeeStatus _Ref : '录入状态' ,
FeeType : memberyf . data . FeeType ,
FeeName : memberyf . data . FeeName ,
FeeDescription : memberyf . data . FeeDescription ,
CustomerType : custtype ,
CustomerName : custname ,
CustomerFullName : custfullname ,
Unit : memberyf . data . Unit ,
UnitPrice : memberyf . data . UnitPrice ,
TaxUnitPrice : memberyf . data . TaxUnitPrice ,
Quantity : quantity ,
TaxRate : taxrate ,
NoTaxAmount : notaxamount ,
Amount : amount ,
AccTaxRate : memberyf . data . AccTaxRate ,
Currency : memberyf . data . Currency ,
ExChangerate : exrate ,
Reason : '' ,
Remark : memberyf . data . Remark ,
Commissionrate : 0 ,
Settlement : 0 ,
Invoice : 0 ,
OrderAmount : 0 ,
OrderInvoice : 0 ,
SubmitDate : null ,
Auditoperator : '' ,
AuditDate : null ,
EnteroPerator : USERID ,
OpName : SHOWNAME ,
EnterDate : myDate ,
DebitNo : '' ,
IsDebit : "0" ,
IsOpen : "0" ,
ISACC : "0" ,
IsAdvancedpay : "False" ,
Sort : newsort ,
IsInvoice : "0" ,
FeeFrt : memberyf . data . FeeFrt ,
IsCrmOrderFee : iscrmorder ,
AuditStatus : 0 ,
InvoiceNum : '' ,
ChequeNum : '' ,
LOCALCURR : LOCALCURR ,
MANAGER : MANAGER ,
MANAGERREF : MANAGERREF ,
SALECORP : _this . salecorp ,
WmsOutBsNo : ''
} ) ;
}
if ( this . storeDefValue . getCount ( ) > 0 ) {
for ( var j = 0 ; j < this . storeDefValue . getCount ( ) ; j += 1 ) {
var member = this . storeDefValue . getAt ( j ) ;
record . set ( member . data . FIELDNAME , member . data . DEFVALUE ) ;
} ;
} ;
record . id = NewGuid ( ) ;
record . internalId = NewGuid ( ) ;
this . StoreFee . add ( record ) ;
} ;
this . parentWin . onPostDetailClick ( NaN , NaN , this . feeType ) ;
this . parentWin . calcDetailTotal ( ) ;
// this.StoreFee.selected.selectAll();
//if (this.feeType == 1) {
// this.parentWin.gridDrChFee.getSelectionModel().selectAll();
//} else {
// this.parentWin.gridCrChFee.getSelectionModel().selectAll();
//}
window . closeAction = 'destroy' ;
window . close ( ) ;
} ,
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 ;
} ,
getCondition : function ( ) {
var form = this . formSearch . getForm ( ) ;
if ( ! form . isValid ( ) ) {
Ext . Msg . alert ( '提示' , '查询条件赋值错误,请检查。' ) ;
return '' ;
}
var sql = '' ;
var custName = form . findField ( 'CUSTOMERNAME' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , custName , "CUSTOMERNAME='" + custName + "'" ) ;
var mblNo = form . findField ( 'MblNo' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , mblNo , " (CUSTNO like '%" + mblNo + "%' or CUSTOMNO like '%" + mblNo + "%' or MBLNO like '%" + mblNo + "%' or HBLNO like '%" + mblNo + "%') " ) ;
var custDate _Min = form . findField ( 'CustDate_Min' ) . getRawValue ( ) ;
sql = sql + getAndConSql ( sql , custDate _Min , "ETD>= '" + custDate _Min + "'" ) ;
var custDate _Max = form . findField ( 'CustDate_Max' ) . getRawValue ( ) ;
sql = sql + getAndConSql ( sql , custDate _Max , "ETD <= '" + custDate _Max + " 23:59:59'" ) ;
var PORTLOAD = form . findField ( 'PORTLOAD' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , PORTLOAD , "PORTLOAD like '%" + PORTLOAD + "%'" ) ;
var PORTDISCHARGE = form . findField ( 'PORTDISCHARGE' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , PORTDISCHARGE , "PORTDISCHARGE like '%" + PORTDISCHARGE + "%'" ) ;
return sql ;
}
} ) ;