Ext . namespace ( 'Shipping' ) ;
Shipping . PiliangSeaeFee = function ( config ) {
Ext . applyIf ( this , config ) ;
this . initUIComponents ( ) ;
window . Shipping . PiliangSeaeFee . superclass . constructor . call ( this ) ;
} ;
Ext . extend ( Shipping . PiliangSeaeFee , Ext . Panel , {
ParentWin : null ,
OpStatus : 'add' ,
StoreList : null ,
EditRecord : null ,
region : 'north' ,
BsNo : '' ,
feeType : null ,
StoreFee : null ,
StoreFeeUnit : null ,
StoreFeeCust : null ,
initUIComponents : function ( ) {
this . formHead = Ext . widget ( 'form' , {
frame : true ,
region : 'center' ,
bodyPadding : 1 ,
fieldDefaults : {
margins : '2 2 2 2' ,
labelAlign : 'right' ,
flex : 1 ,
labelWidth : 70 ,
msgTarget : 'qtip'
} ,
items : [
{
xtype : 'fieldset' ,
defaultType : 'textfield' ,
layout : 'anchor' ,
defaults : {
anchor : '100%'
} ,
items : [
{ xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ {
fieldLabel : '件数' ,
name : 'PKGS' , flex : 0 , hidden : true , margins : '0'
} , {
fieldLabel : '重量' ,
name : 'KGS' , flex : 0 , hidden : true , margins : '0'
} , {
fieldLabel : '尺码' ,
name : 'CBM' , flex : 0 , hidden : true , margins : '0'
} , {
fieldLabel : '委托编号' ,
readOnly : true ,
name : 'CUSTNO'
} , {
fieldLabel : '主提单号' ,
readOnly : true ,
name : 'MBLNO'
} ,
{
fieldLabel : '箱型箱量' ,
readOnly : true ,
name : 'CNTRTOTAL'
} , {
fieldLabel : '付费方式' ,
readOnly : true ,
name : 'BLFRT'
} , {
fieldLabel : 'MBL付费方式' ,
labelWidth : 80 ,
readOnly : true ,
name : 'MBLFRT'
} , {
fieldLabel : '船公司' ,
readOnly : true ,
name : 'CARRIER'
} , {
fieldLabel : '订舱代理' ,
readOnly : true ,
name : 'FORWARDER'
}
]
} ,
{ xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ {
fieldLabel : Zi . LAN . INVNO ,
readOnly : true ,
name : 'INVNO'
} , {
fieldLabel : '揽货人' ,
readOnly : true ,
name : 'SALE'
} , {
fieldLabel : '委托单位' ,
readOnly : true ,
name : 'CUSTOMERNAME'
} ,
{
fieldLabel : '卸货港' ,
readOnly : true ,
name : 'PORTDISCHARGE'
} ,
{
fieldLabel : '船名' ,
readOnly : true ,
name : 'VESSEL'
} , {
fieldLabel : '航次' ,
readOnly : true ,
name : 'VOYNO'
} , {
fieldLabel : '尺码' ,
readOnly : true ,
name : 'CBM'
}
]
} ,
{ xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ {
fieldLabel : '分提单号' , //'分提单号',
readOnly : true ,
name : 'HBLNO'
} , {
fieldLabel : '目的地' , //'目的地',
readOnly : true ,
name : 'DESTINATION'
} , {
fieldLabel : Zi . LAN . CUSTOMNO , //'报关单号',
name : 'CUSTOMNO'
} , {
fieldLabel : Zi . LAN . OP , //'报关单号',
name : 'OP'
} , {
fieldLabel : Zi . LAN . LANE , //'报关单号',
name : 'LANE'
} , {
fieldLabel : Zi . LAN . ISSUETYPE , //'报关单号',
name : 'ISSUETYPE'
} , {
fieldLabel : '发货人' , //'报关单号',
name : 'SHIPPER'
}
]
} , {
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ {
fieldLabel : Zi . LAN . ETD2 , //'目的地',
readOnly : true ,
name : 'ETD'
} , {
fieldLabel : Zi . LAN . PORTLOAD , //'目的地',
readOnly : true ,
name : 'PORTLOAD'
} , {
fieldLabel : '备注' , //'备注',
readOnly : true ,
flex : 4 , name : 'REMARK'
}
]
} ,
{ xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ {
xtype : 'label' ,
text : '服务项目'
} ,
{
xtype : 'checkboxfield' ,
fieldLabel : '熏蒸' ,
flex : 1 ,
labelAlign : 'right' ,
readOnly : true ,
frame : true ,
name : 'ISFUMIGATION'
} ,
{
xtype : 'checkboxfield' ,
fieldLabel : '仓储' ,
flex : 1 ,
labelAlign : 'right' ,
readOnly : true ,
name : 'ISSTORAGE'
} ,
{
xtype : 'checkboxfield' ,
fieldLabel : '陆运' ,
flex : 1 ,
labelAlign : 'right' ,
readOnly : true ,
name : 'ISLAND'
} ,
{
xtype : 'checkboxfield' ,
fieldLabel : '报关' ,
flex : 1 ,
labelAlign : 'right' ,
readOnly : true ,
name : 'ISCUSTOMES'
} ,
{
xtype : 'checkboxfield' ,
fieldLabel : '报检' ,
flex : 1 ,
labelAlign : 'right' ,
readOnly : true ,
name : 'ISINSPECTION'
} ,
{
xtype : 'checkboxfield' ,
fieldLabel : '订舱' ,
flex : 1 ,
labelAlign : 'right' ,
readOnly : true ,
name : 'ISBOOKING'
} ,
{
xtype : 'checkboxfield' ,
fieldLabel : '使用代理' ,
flex : 1 ,
labelAlign : 'right' ,
readOnly : true ,
name : 'ISAGENT'
} ,
{
xtype : 'checkboxfield' ,
fieldLabel : '分单签单' ,
flex : 1 ,
labelAlign : 'right' ,
readOnly : true ,
name : 'ISHBLNO'
}
]
}
]
} ]
} ) ; //end this.formEdit
//#region 按钮Toolbar
this . panelBtn = new Ext . Panel ( {
region : "north" ,
tbar : [ {
id : 'btnEPrev' ,
text : "上一票" ,
// iconCls: "btnsave",
handler : function ( button , event ) {
this . PrevRecord ( ) ;
} ,
scope : this
} , {
id : 'btnENext' ,
text : "下一票" ,
// iconCls: "btnsave",
handler : function ( button , event ) {
this . NextRecord ( ) ;
} ,
scope : this
} , '-' , {
text : '刷新' ,
tooltip : '刷新' , //刷新应付',
iconCls : "btnrefresh" ,
handler : function ( button , event ) {
//this.storeCrChFee.load({ params: { billno: this.strBSNO, type: 2, optype: this.stroplb} });
this . LoadRefresh ( ) ;
} ,
scope : this
} ]
} ) ; //end 按钮Toolbar
//#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 : 'north' ,
height : 40 ,
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 : 'ETDbgn' ,
enableKeyEvents : true ,
listeners : {
specialkey : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
}
} , {
fieldLabel : '至' ,
format : 'Y-m-d' ,
xtype : 'datefield' ,
name : 'ETDend' ,
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
}
]
} ]
} ]
} ) ;
this . storeList = Ext . create ( 'Ext.data.Store' , {
pageSize : this . PageSize ,
model : 'MsOpSeaeModel' ,
remoteSort : true ,
proxy : {
type : 'ajax' ,
url : '/MvcShipping/MsOpSeae/GetDataList' ,
reader : {
id : 'GId' ,
root : 'data' ,
totalProperty : 'totalCount'
}
}
} ) ;
this . panelTop = new Ext . Panel ( {
layout : "border" ,
region : "north" ,
collapsed : false ,
collapsible : true ,
height : 220 ,
id : "BillHeadSeae" ,
items : [ this . panelBtn , this . formSearch , this . formHead ]
} ) ;
this . panelFee = new Shipping . FeeEditGrid ( {
region : 'center' ,
layout : 'border'
} ) ;
this . panelFee . stroplb = 'op_Seae' ;
this . panelFee . StoreCustType . add ( { "SCUSTTYPE" : "WTDW-委托单位" , "CUSTTYPE" : "委托单位" , "CUSTNAME" : "CUSTOMERNAME" } ) ;
this . panelFee . StoreCustType . add ( { "SCUSTTYPE" : "CGS-船公司" , "CUSTTYPE" : "船公司" , "CUSTNAME" : "CARRIER" } ) ;
this . panelFee . StoreCustType . add ( { "SCUSTTYPE" : "DCDL-订舱代理" , "CUSTTYPE" : "订舱代理" , "CUSTNAME" : "FORWARDER" } ) ;
this . panelFee . StoreCustType . add ( { "SCUSTTYPE" : "BGH-报关行" , "CUSTTYPE" : "报关行" , "CUSTNAME" : "CUSTOMSER" } ) ;
this . panelFee . StoreCustType . add ( { "SCUSTTYPE" : "CD-车队" , "CUSTTYPE" : "车队" , "CUSTNAME" : "TRUCKER" } ) ;
this . panelFee . StoreCustType . add ( { "SCUSTTYPE" : "FHR-发货人" , "CUSTTYPE" : "发货人" , "CUSTNAME" : "SHIPPERID" } ) ;
this . panelFee . StoreCustType . add ( { "SCUSTTYPE" : "SHR-收货人" , "CUSTTYPE" : "收货人" , "CUSTNAME" : "CONSIGNEEID" } ) ;
this . panelFee . StoreCustType . add ( { "SCUSTTYPE" : "TZR-通知人" , "CUSTTYPE" : "通知人" , "CUSTNAME" : "NOTIFYPARTYID" } ) ;
this . panelFee . StoreCustType . add ( { "SCUSTTYPE" : "DL-代理" , "CUSTTYPE" : "代理" , "CUSTNAME" : "AGENTID" } ) ;
this . panelFee . StoreCustType . add ( { "SCUSTTYPE" : "CZ-场站" , "CUSTTYPE" : "场站" , "CUSTNAME" : "YARD" } ) ;
this . panelFee . StoreCustType . add ( { "SCUSTTYPE" : "CDD-船代" , "CUSTTYPE" : "船代" , "CUSTNAME" : "SHIPAGENCY" } ) ;
this . panelFee . StoreCustType . add ( { "SCUSTTYPE" : "BXGS-保险公司" , "CUSTTYPE" : "保险公司" , "CUSTNAME" : "" } ) ;
this . panelFee . StoreCustType . add ( { "SCUSTTYPE" : "QT-其他" , "CUSTTYPE" : "其他" , "CUSTNAME" : "" } ) ;
this . panelFee . StoreDrOpRange . load ( { params : { optype : "modRecvFeeManagement" } } ) ;
this . panelFee . StoreCrOpRange . load ( { params : { optype : "modPayFeeManagement" } } ) ;
this . panelFee . storeFeeNameRef . load ( { params : { condition : "ISSEA='1' " } } ) ;
Ext . apply ( this , {
items : [ this . panelTop , this . panelFee ]
} ) ;
parentWin = window . parent . opener ;
this . InitData ( ) ;
} ,
//#region 加载事件
InitData : function ( ) {
this . opStatus = 'add' ;
var condition = '' ;
_this = this ;
if ( parentWin ) {
var ret = parentWin . OprationSwap ( ) ;
this . opStatus = ret [ 0 ] ;
this . StoreList = ret [ 1 ] ;
this . EditRecord = ret [ 2 ] ;
}
this . BsNo = this . EditRecord . get ( 'BSNO' ) ;
this . LoadData ( ) ;
} , //end InitData
LoadData : function ( ) {
this . formHead . getForm ( ) . loadRecord ( this . EditRecord ) ;
this . panelFee . EditRecord = this . EditRecord ;
this . panelFee . strBSNO = this . BsNo ;
this . panelFee . strPBSNO = this . BsNo ;
this . panelFee . strMBLNO = this . EditRecord . get ( 'MBLNO' ) ;
this . panelFee . StoreDateCurr . load ( { params : { optype : "op_Seae" , bsno : this . BsNo } } ) ;
this . panelFee . StoreUnit . load ( { params : { bsno : this . BsNo , bstype : "op_Seae" } } ) ;
this . panelFee . storeDrChFee . load ( { params : { billno : this . BsNo , type : 1 , optype : "op_Seae" } } ) ;
this . panelFee . storeCrChFee . load ( { params : { billno : this . BsNo , type : 2 , optype : "op_Seae" } } ) ;
this . panelFee . storeBodyList _GuDingFeeWeiHu . load ( { params : { condition : "CUSTOMERNAME='" + this . EditRecord . get ( 'CUSTOMERNAME' ) + "'" } } ) ;
this . panelFee . storeBodySum . load ( { params : { bsno : this . BsNo , optype : "op_Seae" } ,
callback : function ( r , options , success ) {
if ( success ) {
_thisfee . setTotalHead ( ) ;
}
}
} ) ;
this . panelFee . storeChFeeGain . load ( { params : { bsno : this . BsNo , optype : "op_Seae" } } ) ;
} , // end LoadDate
LoadRefresh : function ( ) {
Ext . Ajax . request ( {
waitMsg : Zi . LAN . ZhengZaiChaXunShuJu , //'正在查询主表数据...',
url : '/MvcShipping/MsOpSeae/GetData' ,
params : {
handle : 'edit' ,
condition : "BSNO='" + this . BsNo + "'"
} ,
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 ;
}
data = result . data ;
this . formHead . getForm ( ) . reset ( ) ;
this . formHead . getForm ( ) . setValues ( data ) ;
var editp = Ext . create ( 'MsOpSeaeModel' , data ) ;
this . EditRecord . fields . each ( function ( field ) {
if ( field . persist ) {
name = field . name ;
if ( name != 'id' )
this . EditRecord . set ( name , editp . get ( name ) ) ;
}
} , this ) ;
this . EditRecord . commit ( ) ;
this . panelFee . EditRecord = this . EditRecord ;
this . panelFee . strBSNO = this . BsNo ;
this . panelFee . strPBSNO = this . BsNo ;
this . panelFee . strMBLNO = this . EditRecord . get ( 'MBLNO' ) ;
this . panelFee . StoreDateCurr . load ( { params : { optype : "op_Seae" , bsno : this . BsNo } } ) ;
this . panelFee . StoreUnit . load ( { params : { bsno : this . BsNo , bstype : "op_Seae" } } ) ;
this . panelFee . storeDrChFee . load ( { params : { billno : this . BsNo , type : 1 , optype : "op_Seae" } } ) ;
this . panelFee . storeCrChFee . load ( { params : { billno : this . BsNo , type : 2 , optype : "op_Seae" } } ) ;
this . panelFee . storeBodyList _GuDingFeeWeiHu . load ( { params : { condition : "CUSTOMERNAME='" + this . EditRecord . get ( 'CUSTOMERNAME' ) + "'" } } ) ;
this . panelFee . storeBodySum . load ( {
params : { bsno : this . BsNo , optype : "op_Seae" } ,
callback : function ( r , options , success ) {
if ( success ) {
_thisfee . setTotalHead ( ) ;
}
}
} ) ;
this . panelFee . storeChFeeGain . load ( { params : { bsno : this . BsNo , optype : "op_Seae" } } ) ;
} else {
Ext . MessageBox . alert ( '请求出现错误,请重试' , response . responseText ) ;
}
} ,
scope : this
} ) ;
} ,
//#region 打印
Print : function ( ) {
var basicForm = this . formHead . getForm ( ) ;
var billNo = basicForm . findField ( 'BSNO' ) . value ;
if ( billNo == '*' || billNo == '' ) {
Ext . Msg . show ( { title : '错误' , msg : '单据还没有保存,请保存后再打印' , icon : Ext . Msg . ERROR , buttons : Ext . Msg . OK } ) ;
return ;
}
var printType = 'MSOPSEAE' ;
var sql1 = "SET LANGUAGE 'us_english' SELECT * FROM op_seae WHERE BSNO = '" + billNo + "'" ;
var sql2 = "" ;
var sql3 = "" ;
var sql4 = "" ;
var sql5 = "" ;
var sql6 = "" ;
PrintComm ( printType , sql1 , sql2 , sql3 , sql4 , sql5 , sql6 ) ;
} ,
//#endregion
onRefreshClick : function ( button , event ) {
var sql = this . getCondition ( ) ;
this . storeList . load ( {
params : { start : 0 , limit : this . PageSize , sort : '' , condition : sql } ,
callback : function ( r , options , success ) {
if ( success ) {
if ( this . storeList . getCount ( ) > 0 ) {
this . EditRecord = this . storeList . getAt ( 0 ) ;
this . BsNo = this . EditRecord . get ( 'BSNO' ) ;
this . LoadData ( ) ;
} else {
}
}
} ,
waitMsg : "正在查询数据..." ,
scope : this
} ) ;
} ,
getCondition : function ( ) {
var form = this . formSearch . getForm ( ) ;
if ( ! form . isValid ( ) ) {
Ext . Msg . alert ( '提示' , '查询条件赋值错误,请检查。' ) ;
return '' ;
}
var sql = '' ;
//#region formSearch 查询面板
//编号包括(主提单号)
var MblNo = form . findField ( 'MblNo' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , MblNo , "(B.MblNo like '%" + MblNo + "%' or B.CONTRACTNO like '%" + MblNo + "%' or B.CUSTNO like '%" + MblNo + "%' or B.HBLNO like '%" + MblNo + "%' or B.ORDERNO like '%" + MblNo + "%')" ) ;
//客户名称
var CUSTOMERNAME = form . findField ( 'CUSTOMERNAME' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , CUSTOMERNAME , "B.CUSTOMERNAME='" + CUSTOMERNAME + "'" ) ; //到港日期
var ETDbgn = form . findField ( 'ETDbgn' ) . getRawValue ( ) ;
sql = sql + getAndConSql ( sql , ETDbgn , "B.ETD >='" + ETDbgn + "'" ) ;
var ETDend = form . findField ( 'ETDend' ) . getRawValue ( ) ;
sql = sql + getAndConSql ( sql , ETDend , "B.ETD <='" + ETDend + "'" ) ;
return sql ;
} ,
PrevRecord : function ( ) {
var j = this . StoreList . indexOf ( this . EditRecord ) ;
if ( j == 0 ) {
Ext . Msg . show ( { title : '警告' , msg : '已是最前一票' , icon : Ext . Msg . ERROR , buttons : Ext . Msg . OK } ) ;
return ;
}
if ( j == this . StoreList . count ) {
Ext . Msg . show ( { title : '警告' , msg : '已是最后一票' , icon : Ext . Msg . ERROR , buttons : Ext . Msg . OK } ) ;
return ;
}
j = j - 1 ;
this . EditRecord = this . StoreList . getAt ( j ) ;
this . BsNo = this . EditRecord . get ( 'BSNO' ) ;
this . LoadData ( ) ;
} ,
NextRecord : function ( ) {
var j = this . StoreList . indexOf ( this . EditRecord ) ;
if ( j == ( this . StoreList . data . length - 1 ) ) {
Ext . Msg . show ( { title : '警告' , msg : '已是最后一票' , icon : Ext . Msg . ERROR , buttons : Ext . Msg . OK } ) ;
return ;
}
j = j + 1 ;
this . EditRecord = this . StoreList . getAt ( j ) ;
this . BsNo = this . EditRecord . get ( 'BSNO' ) ;
this . LoadData ( ) ;
} ,
getModifyStatus : function ( ) {
return this . panelFee . getModifyStatus ( ) ;
} ,
feeType : function ( ) {
return this . panelFee . feeType ;
} ,
StoreFee : function ( ) {
return this . panelFee . StoreFee ;
} ,
StoreFeeUnit : function ( ) {
return this . panelFee . StoreFeeUnit ;
} ,
StoreFeeCust : function ( ) {
return this . panelFee . StoreFeeCust ;
}
} ) ;