Ext . namespace ( 'Shipping' ) ;
Shipping . MsSettlementView = function ( config ) {
Ext . applyIf ( this , config ) ;
this . initUIComponents ( ) ;
window . Shipping . MsSettlementView . superclass . constructor . call ( this ) ;
} ;
Ext . extend ( Shipping . MsSettlementView , Ext . Panel , {
ParentWin : null ,
OpStatus : 'add' ,
StoreList : null ,
EditRecord : null ,
addstore : false ,
PageSize : 30 ,
initUIComponents : function ( ) {
this . serialNo = 0 ;
this . workSerialNo = 0 ;
this . bodyDel = [ ] ;
this . FeeSql = '' ;
this . BillSql = '' ;
this . DuiBillSql = '' ;
this . IsDebit = '0' ;
this . StoreLockOp = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'MsFeeOP' ,
proxy : { url : '/MvcShipping/MsBaseInfo/GetOpIDRang' }
} ) ;
this . StoreUnLockOp = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'MsFeeOP' ,
proxy : { url : '/MvcShipping/MsBaseInfo/GetOpIDRang' }
} ) ;
//#region 编辑form
//枚举参照相关(编辑form)
//表参照相关(编辑form)
this . storeCustCode = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.CustomRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetCustomRefList' }
} ) ;
this . storeCustCode . load ( { params : { condition : "" } } ) ;
this . comboxCustCode = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : Zi . LAN . CustomerName ,
store : this . storeCustCode ,
allowBlank : false ,
forceSelection : true ,
name : 'CUSTOMERNAME' ,
valueField : 'CustName' ,
displayField : 'CodeAndName' ,
listeners : {
scope : this ,
'select' : function ( combo , records , eOpts ) {
if ( records . length > 0 ) {
var CUSTOMERNAME = this . formEdit . getForm ( ) . findField ( 'CUSTOMERNAME' ) . getValue ( ) ;
if ( CUSTOMERNAME == '' ) return ;
var CUSTNAME = this . formSearch . getForm ( ) . findField ( 'CUSTNAME' ) ;
var tmpcust = CUSTNAME . getValue ( ) ;
if ( tmpcust == '' || tmpcust == null || tmpcust == undefined ) {
CUSTNAME . setValue ( CUSTOMERNAME ) ;
}
}
}
}
} ) ;
this . StoreOpRange = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'MsOP' ,
proxy : { url : '/MvcShipping/MsBaseInfo/GetOpRang' }
} ) ;
this . StoreCurr = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'MsFeeCurr' ,
proxy : { url : '/MvcShipping/MsChFee/GetFeeCurrList' }
} ) ;
this . StoreCurr . load ( { params : { condition : "" } } ) ;
this . comboxCurr = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : Zi . LAN . Currency ,
store : this . StoreCurr ,
forceSelection : true ,
allowBlank : false ,
name : 'CURR' ,
valueField : 'CURR' ,
displayField : 'CURR' ,
listeners : {
scope : this ,
'select' : function ( combo , records , eOpts ) {
if ( records . length > 0 ) {
var curr = this . formACCOUNTS . getForm ( ) . findField ( 'ACCOUNTS_CURRENCY' ) ;
curr . setValue ( records [ 0 ] . data . CURR ) ;
var curr = this . formPREPAY . getForm ( ) . findField ( 'PREPAY_CURRENCY' ) ;
curr . setValue ( records [ 0 ] . data . CURR ) ;
var curr = this . formAHSR . getForm ( ) . findField ( 'AHSR_CURRENCY' ) ;
curr . setValue ( records [ 0 ] . data . CURR ) ;
var curr = this . formFINANCIAL . getForm ( ) . findField ( 'FINANCIAL_CURRENCY' ) ;
curr . setValue ( records [ 0 ] . data . CURR ) ;
var curr = this . formADVANCE . getForm ( ) . findField ( 'ADVANCE_CURRENCY' ) ;
curr . setValue ( records [ 0 ] . data . CURR ) ;
}
}
}
} ) ;
this . StoreStlMode = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'STLMODE' ,
proxy : { url : '/MvcShipping/MsBaseInfo/GetStlModeList' }
} ) ;
this . StoreStlMode . load ( { params : { condition : "" } } ) ;
this . comboxStlMode = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : Zi . LAN . SettlementType ,
store : this . StoreStlMode ,
forceSelection : true ,
name : 'SETTLETYPE' ,
valueField : 'STLCODE' ,
displayField : 'STLNAME'
} ) ;
this . StoreBANK = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'BANK' ,
proxy : { url : '/MvcShipping/MsBaseInfo/GetBANKList' }
} ) ;
this . StoreBANK . load ( { params : { condition : "" } } ) ;
this . comboxBANK = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : Zi . LAN . BankAccount ,
store : this . StoreBANK ,
forceSelection : true ,
name : 'ACCOUNT' ,
valueField : 'GID' ,
displayField : 'BANKNAME'
} ) ;
//编辑form
this . formEdit = Ext . widget ( 'form' , {
region : 'center' ,
frame : true ,
bodyPadding : 3 ,
trackResetOnLoad : true ,
// autoScroll: true,
fieldDefaults : {
margins : '2 2 2 2' ,
labelAlign : 'right' ,
flex : 1 ,
labelWidth : 90 ,
msgTarget : 'qtip'
} ,
items : [
{ //fieldset 1
xtype : 'fieldset' ,
defaultType : 'textfield' ,
layout : 'anchor' ,
defaults : {
anchor : '100%'
} ,
items : [ {
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ {
fieldLabel : 'GID' ,
name : 'GID' , flex : 0 , hidden : true , margins : '0'
} , {
fieldLabel : 'BILLSTATUS' ,
name : 'BILLSTATUS' , flex : 0 , hidden : true , margins : '0'
} , {
fieldLabel : 'BILLDATE' ,
name : 'BILLDATE' , flex : 0 , hidden : true , margins : '0'
} , {
fieldLabel : 'SETTLEUSER' ,
name : 'SETTLEUSER' , flex : 0 , hidden : true , margins : '0'
} , {
fieldLabel : 'COMPANYID' ,
name : 'COMPANYID' , flex : 0 , hidden : true , margins : '0'
} , {
fieldLabel : 'SETTLEMODE' ,
name : 'SETTLEMODE' , flex : 0 , hidden : true , margins : '0'
} , {
fieldLabel : 'BILLTYPE' ,
name : 'BILLTYPE' , flex : 0 , hidden : true , margins : '0'
} , {
fieldLabel : 'ISEXPORT' ,
name : 'ISEXPORT' , flex : 0 , hidden : true , margins : '0'
} ,
{
fieldLabel : Zi . LAN . BillNo ,
readOnly : true ,
name : 'BILLNO'
} , {
fieldLabel : Zi . LAN . BillStatus ,
readOnly : true ,
name : 'BILLSTATUSREF'
} , this . comboxCustCode , {
fieldLabel : Zi . LAN . SettlementTime ,
// readOnly: true,
format : 'Y-m-d' ,
xtype : 'datefield' ,
name : 'SETTLETIME'
} , {
fieldLabel : Zi . LAN . SettlementUser ,
readOnly : true ,
name : 'SETTLEUSERREF'
}
]
} , {
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ this . comboxCurr , {
fieldLabel : Zi . LAN . Money ,
readOnly : true ,
name : 'AMOUNT' ,
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 ;
}
} , this . comboxStlMode , this . comboxBANK , {
fieldLabel : Zi . LAN . VoucherNo _PayBL ,
name : 'VOUCHERNO'
} ]
} , {
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ {
fieldLabel : Zi . LAN . Remark ,
name : 'REMARK'
} ]
}
] //end items(fieldset 1)
} //end fieldset 1
] //end root items
} ) ; //end this.formEdit
//#endregion
//#region 按钮Toolbar
this . panelBtn = new Ext . Panel ( {
region : "north" ,
tbar : [
{
id : 'Close' ,
text : Zi . LAN . Close ,
handler : function ( button , event ) {
window . close ( ) ;
} ,
scope : this
}
]
} ) ; //end 按钮Toolbar
//#endregion
//#region 明细表
//明细表表格相关
this . GridCheckBoxModel = Ext . create ( 'Ext.selection.CheckboxModel' ) ;
//明细表-数据集
this . storeBodyList = Ext . create ( 'Ext.data.Store' , {
model : 'Chfee_do_detail' ,
remoteSort : true ,
proxy : {
type : 'ajax' ,
url : '/Account/Chfee_settlement/GetBillList' ,
reader : {
id : 'BSNO,FEEDOID' ,
root : 'data' ,
totalProperty : 'totalCount'
}
}
} ) ;
//明细表表格
this . gridListCellEditing = Ext . create ( 'Ext.grid.plugin.CellEditing' , {
clicksToEdit : 1
} ) ;
this . gridList = new Ext . grid . GridPanel ( {
store : this . storeBodyList ,
enableHdMenu : false ,
region : 'center' ,
loadMask : { msg : Zi . LAN . LoadData } ,
trackMouseOver : true ,
disableSelection : false ,
selModel : this . GridCheckBoxModel ,
columns : [ {
sortable : true ,
dataIndex : 'BILLNO' ,
header : 'BILL' ,
hidden : true ,
width : 100
} , {
sortable : true ,
dataIndex : 'BSNO' ,
header : 'BSNO' ,
hidden : true ,
width : 100
} , {
sortable : true ,
dataIndex : 'FEEDOID' ,
header : 'FEEDOID' ,
hidden : true ,
width : 100
} , {
sortable : true ,
dataIndex : 'CUSTNO' ,
header : Zi . LAN . DelegateNumber ,
width : 120
} , {
sortable : true ,
dataIndex : 'MBLNO' ,
header : Zi . LAN . LadingNumber ,
width : 120
} , {
sortable : true ,
dataIndex : 'CUSTOMERNAME' ,
header : Zi . LAN . Requester ,
width : 100
} , {
sortable : true ,
dataIndex : 'ETD' , //'ETD'
header : Zi . LAN . SailingDate ,
renderer : Ext . util . Format . dateRenderer ( 'Y-m-d' ) ,
width : 100
} , {
sortable : true ,
dataIndex : 'BSSOURCE' ,
header : Zi . LAN . BusinessSource ,
width : 80
} , {
sortable : true ,
dataIndex : 'FEENAME' ,
header : Zi . LAN . CostName ,
width : 80
} , {
sortable : true ,
dataIndex : 'FEETYPEREF' ,
header : Zi . LAN . FeeTypeRef ,
width : 40
} , {
sortable : true ,
dataIndex : 'AMOUNT' ,
header : Zi . LAN . SettlementAmount ,
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 : 'ORIGCURRENCY' ,
header : Zi . LAN . OriginalCurrency ,
width : 80
} , {
sortable : true ,
dataIndex : 'ORIGAMOUNT' ,
header : Zi . LAN . OriginalMoney ,
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 : 'SALE' ,
header : Zi . LAN . LanhuoPeople ,
width : 80
} , {
sortable : true ,
dataIndex : 'ENTERP' ,
header : Zi . LAN . BusinessUnit ,
width : 80
} , {
sortable : true ,
dataIndex : 'CUSTOMNO' ,
header : Zi . LAN . DeclarationNumber ,
width : 108
}
]
} ) ;
this . storeBodySum = Ext . create ( 'Ext.data.Store' , {
model : 'Chfee_do_sum' ,
remoteSort : true ,
proxy : {
type : 'ajax' ,
url : '/Account/Chfee_settlement/GetBillSum' ,
reader : {
root : 'data' ,
totalProperty : 'totalCount'
}
}
} ) ;
this . gridSum = new Ext . grid . GridPanel ( {
store : this . storeBodySum ,
enableHdMenu : false ,
region : 'center' ,
loadMask : { msg : Zi . LAN . LoadData } ,
trackMouseOver : true ,
disableSelection : false ,
tbar : [ {
xtype : 'label' ,
width : 120 ,
height : 22 ,
text : Zi . LAN . SumJieSunAmount
} ] ,
columns : [ {
sortable : true ,
dataIndex : 'FEETYPEREF' ,
header : Zi . LAN . FeeTypeRef ,
width : 40
} , {
sortable : true ,
dataIndex : 'CURRENCY' ,
header : Zi . LAN . Currency ,
width : 80
} , {
sortable : true ,
dataIndex : 'AMOUNT' ,
header : Zi . LAN . Money ,
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 ;
}
}
]
} ) ;
this . storeAddFeeList = Ext . create ( 'Ext.data.Store' , {
pageSize : this . PageSize ,
model : 'MsChFeeAddBillFee' ,
remoteSort : true ,
proxy : {
type : 'ajax' ,
url : '/Account/Chfee_settlement/GetFeeDataList' ,
reader : {
id : 'BSNO' ,
root : 'data' ,
totalProperty : 'totalCount'
}
}
} ) ;
this . AddFeeGridCheckBoxModel = Ext . create ( 'Ext.selection.CheckboxModel' ) ;
this . cellEditingFee = Ext . create ( 'Ext.grid.plugin.CellEditing' , {
clicksToEdit : 1 ,
listeners : {
'edit' : function ( editor , e ) {
}
}
} ) ;
_this = this ;
this . CurrGroup = new Ext . form . RadioGroup ( {
id : 'CurrGroup' ,
xtype : 'radiogroup' ,
fieldLabel : Zi . LAN . ExchangeCurrency ,
columns : 2 ,
items : [
{ boxLabel : 'RMB' , name : 'Curr' , inputValue : 'RMB' , checked : true } ,
{ boxLabel : 'USD' , name : 'Curr' , inputValue : 'USD' }
]
} ) ;
_this = this ;
this . panelService = new Ext . Panel ( {
layout : "border" ,
region : 'center' ,
margin : '2 2' ,
items : [ this . gridList ]
} ) ;
this . panelSum = new Ext . Panel ( {
layout : "border" ,
region : 'east' ,
width : 260 ,
split : true ,
margin : '2 2' ,
items : [ this . gridSum ]
} ) ;
this . paneldetail = new Ext . Panel ( {
// title: '结算明细',
layout : "border" ,
region : "center" ,
split : true ,
items : [
this . panelService , this . panelSum
]
} ) ;
//#endregion 明细表
//#endregion
//#region 布局
//控件布局
this . panelTop = new Ext . Panel ( {
layout : "border" ,
region : "north" ,
height : 130 ,
items : [ this . panelBtn , this . formEdit ]
} ) ;
this . panelBody = new Ext . Panel ( {
title : Zi . LAN . SettlementDetail ,
layout : "border" ,
region : "center" ,
items : [ this . paneldetail ]
} ) ;
this . tabpanel = new Ext . TabPanel
( {
activeTab : 0 ,
autoWidth : true ,
border : false ,
frame : false ,
region : 'center' ,
id : "TabPanelID" ,
enableTabScroll : true ,
items :
[
this . panelBody
]
} ) ;
Ext . apply ( this , {
items : [ this . panelTop , this . tabpanel ]
} ) ;
//#endregion
//绑定查询窗体
this . ParentWin = window . parent . opener . _this ;
//初始化数据
this . InitData ( ) ;
//绑定事件
var billno = '*' ;
if ( this . opStatus == 'edit' ) {
billno = this . editRecord . get ( 'BILLNO' ) ;
} ;
this . storeBodyList . on ( 'beforeload' , function ( store ) {
var sql = " BILLNO='" + billno + "'" ;
Ext . apply ( store . proxy . extraParams , { condition : sql } ) ;
} , this ) ;
this . storeBodyList . on ( 'load' , function ( store , records ) {
if ( store . getCount ( ) > 0 ) {
this . gridList . getSelectionModel ( ) . select ( 0 ) ;
}
} , this ) ;
} , //end initUIComponents
InitData : function ( ) {
this . opStatus = 'add' ;
var condition = '' ;
if ( this . ParentWin ) {
var ret = this . ParentWin . OprationSwap ( ) ;
this . opStatus = 'edit' ;
this . StoreList = ret [ 1 ] ;
this . editRecord = ret [ 2 ] ;
}
condition = " BILLNO='" + this . editRecord . get ( 'BILLNO' ) + "'" ;
this . LoadData ( this . opStatus , condition ) ;
} , //end InitData
LoadData : function ( opstatus , condition ) {
this . serialNo = 0 ;
this . workSerialNo = 0 ;
this . bodyDel = [ ] ;
this . opStatus = opstatus ;
var billno = '*' ;
if ( this . opStatus == 'edit' ) {
billno = this . editRecord . get ( 'BILLNO' ) ;
} ;
_this = this ;
Ext . Ajax . request ( {
waitMsg : Zi . LAN . OnSelect ,
url : '/Account/Chfee_settlement/GetData' ,
params : {
handle : opstatus ,
condition : condition
} ,
callback : function ( options , success , response ) {
if ( success ) {
var result = Ext . JSON . decode ( response . responseText ) ;
if ( ! result . Success ) {
Ext . Msg . show ( {
title : Zi . LAN . TiShi ,
msg : result . Message ,
icon : Ext . MessageBox . ERROR ,
buttons : Ext . Msg . OK
} ) ;
return ;
}
var data = result . data ;
_this . formEdit . getForm ( ) . findField ( 'BILLSTATUS' ) . setDisabled ( false ) ;
_this . formEdit . getForm ( ) . findField ( 'SETTLEUSERREF' ) . setDisabled ( false ) ;
_this . formEdit . getForm ( ) . reset ( ) ;
_this . formEdit . getForm ( ) . setValues ( data ) ;
_this . formEdit . getForm ( ) . findField ( 'BILLSTATUS' ) . setDisabled ( true ) ;
_this . formEdit . getForm ( ) . findField ( 'SETTLEUSERREF' ) . setDisabled ( true ) ;
} else {
Ext . MessageBox . alert ( Zi . LAN . Error , response . responseText ) ;
}
} ,
scope : this
} ) ;
_this . storeBodyList . load ( { params : { condition : " BILLNO='" + billno + "'" } ,
callback : function ( r , options , success ) {
if ( success ) {
if ( _this . storeBodyList . getCount ( ) > 0 ) {
_this . comboxCurr . setReadOnly ( true ) ;
_this . comboxCustCode . setReadOnly ( true ) ;
}
else {
_this . comboxCurr . setReadOnly ( false ) ;
_this . comboxCustCode . setReadOnly ( false ) ;
}
}
} ,
scope : this
} ) ;
// billno = this.formEdit.getForm().findField('DUINO').getValue();
this . storeBodySum . load ( { params : { condition : " BILLNO='" + billno + "'" } } ) ;
// this.storeFeeList.load({ params: { condition: " DUINO='" + billno + "'"} });
} , // end LoadDate
Print : function ( ) {
var basicForm = this . formEdit . getForm ( ) ;
var billNo = basicForm . findField ( 'BILLNO' ) . value ;
if ( billNo == '*' || billNo == '' ) {
Ext . Msg . show ( { title : Zi . LAN . E , msg : Zi . LAN . PrintMustAfterSave , icon : Ext . Msg . ERROR , buttons : Ext . Msg . OK } ) ;
return ;
}
var printType = 'MSCHFEEPAYSETTLEMENT' ;
var sql1 = "SELECT s.*,(select ShowName from [user] where GID=s.SETTLEUSER) as SETTLEUSERREF"
+ ",总账凭证号=(select top 1 VOUALLNO from cw_vouno_bs_gl WITH(NOLOCK) where BSGID=s.GID and BSTABLENAME='ch_fee_settlement' and STARTGID in (select top 1 GID from cw_design_startusing WITH(NOLOCK) where (ISDELETE=0 or ISDELETE is null) and ISENABLE=1 and GID=(select top 1 STARTGID from [cw_design_startusing_user] WITH(NOLOCK) where USERGID='" + USERID + "')))" ;
+ " FROM ch_fee_settlement s WHERE BILLNO='" + billNo + "'" ;
var sql2 = "SELECT c.GID,c.BSNO,c.FEEID,c.FEENAME,c.CURRENCY,c.AMOUNT,c.DOAMOUNT,c.ORIGCURRENCY,c.ORIGAMOUNT,c.EXCHANGERATE,FEETYPE " ;
sql2 = sql2 + ",b.CUSTOMERNAME,b.VESSEL,b.VOYNO,b.ETD,b.PORTLOAD" ;
sql2 = sql2 + " ,b.PORTDISCHARGE,b.INPUTBY,b.OP,b.CUSTSERVICE,b.DOC,b.SALE,b.MBLNO" ;
sql2 = sql2 + " FROM ch_fee_do c left join v_op_bill b on (b.bsno=c.bsno)" ;
sql2 = sql2 + " WHERE C.BILLNO='" + billNo + "' ORDER BY b.VESSEL,b.VOYNO,b.MBLNO" ;
var sql3 = "" ;
var sql4 = "" ;
var sql5 = "" ;
var sql6 = "" ;
PrintComm ( printType , sql1 , sql2 , sql3 , sql4 , sql5 , sql6 ) ;
}
} ) ;