///<reference path="../../../../Views/../TruckMng/Scripts/vswd-ext_2.0.2.js" />
Ext . namespace ( 'Shipping' ) ;
//#region 获取 YYYY-mm-dd 格式的日期
//var xhr = new XMLHttpRequest();
var currdate = new Date ( ) ;
//xhr.open("HEAD", location.href, true);
//xhr.onreadystatechange = function () {
// if (xhr.readyState == 4 && xhr.status == 200) {
// var datestr = xhr.getResponseHeader("Date");
// currdate = new Date(datestr);
// }
//}
//xhr.send(null);
//#endregion
Shipping . MsOpCtnrInEdit = function ( config ) {
Ext . applyIf ( this , config ) ;
this . initUIComponents ( ) ;
window . Shipping . MsOpCtnrInEdit . superclass . constructor . call ( this ) ;
} ;
Ext . extend ( Shipping . MsOpCtnrInEdit , Ext . Panel , {
parentWin : null ,
OpStatus : 'add' ,
StoreList : null ,
EditRecord : null ,
parentRecord : null ,
PageSize : 500 ,
initUIComponents : function ( ) {
this . formname = 'MsCtnrInEdit' ;
this . CtnrInBodyDel = [ ] ;
this . MsPeriod = null ;
//#region 数据集定义
//空重
this . storeCTNEF = Ext . create ( 'Ext.data.Store' , {
fields : [ 'FType' , 'NAME' ]
} ) ;
this . storeCTNEF . add ( { "FType" : 'E' , "NAME" : "空" } ) ;
this . storeCTNEF . add ( { "FType" : 'F' , "NAME" : "重" } ) ;
this . comboxCTNEF = Ext . create ( 'DsExt.ux.RefTableCombox' , {
store : this . storeCTNEF ,
valueField : 'FType' ,
displayField : 'NAME' ,
forceSelection : true ,
name : 'CTNEF'
} ) ;
//箱型_集装箱列表中的下拉框加载
Ext . regModel ( 'CTNALLMODEL' ,
{
fields : [ { name : 'CTN' } ]
} ) ;
this . storeCodeCtn = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'CTNALLMODEL' ,
proxy : { url : '/MvcContainer/MsOpCtnr/GetCodeCtnList' }
} ) ;
this . storeCodeCtn . load ( ) ;
this . comboxCTNALL = Ext . create ( 'DsExt.ux.RefTableCombox' , {
store : this . storeCodeCtn ,
name : 'CTNALL' ,
valueField : 'CTN' ,
displayField : 'CTN'
} ) ;
//租买箱公司
this . storeCustCode = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.CustomRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetCustomRefListController' }
} ) ;
this . storeCustCode . load ( ) ;
this . comboxCustCode = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '租买公司' ,
store : this . storeCustCode ,
forceSelection : true ,
queryMode : 'remote' ,
minChars : 0 ,
queryParam : 'CODENAME' ,
id : 'CUSTOMERNAME' ,
name : 'CUSTOMERNAME' ,
valueField : 'CustName' ,
displayField : 'CodeAndName' ,
allowBlank : false
} ) ;
//租买类型
Ext . define ( 'BLTypemb' , {
extend : 'Ext.data.Model' ,
fields : [
{ name : 'BLType' , type : 'string' }
]
} ) ;
var BLTypeData = [
{ "BLType" : "买箱" } , { "BLType" : "租入" } ] ;
this . storeBLType = Ext . create ( 'Ext.data.Store' , {
model : 'BLTypemb' ,
data : BLTypeData
} ) ;
this . comboxBuyType = Ext . create ( 'DsExt.ux.RefEnumCombox' , {
fieldLabel : '租买类型' ,
forceSelection : true ,
store : this . storeBLType ,
name : 'BLTYPE' ,
allowBlank : false ,
valueField : 'BLType' ,
displayField : 'BLType'
} ) ;
//箱源
this . storeCNTRSOURCE = Ext . create ( 'DsExt.ux.RefEnumStore' , { } ) ;
this . storeCNTRSOURCE . load ( { params : { enumTypeId : 97015 } } ) ;
this . comboxCNTRSOURCE = Ext . create ( 'DsExt.ux.RefEnumCombox' , {
store : this . storeCNTRSOURCE ,
fieldLabel : '箱源' ,
name : 'CNTRSOURCE' ,
valueField : 'EnumValueName' ,
displayField : 'EnumValueName'
} ) ;
this . comboxCNTRSOURCEDetail = Ext . create ( 'DsExt.ux.RefEnumCombox' , {
forceSelection : true ,
store : this . storeCNTRSOURCE ,
name : 'CNTRSOURCE' ,
allowBlank : false ,
valueField : 'EnumValueName' ,
displayField : 'EnumValueName'
} ) ;
this . storeCodeLoadport = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.CodeLoadportModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetCodeLoadportList' }
} ) ;
this . storeCodeLoadport . load ( ) ;
this . comboxPORT = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '买箱地点' ,
store : this . storeCodeLoadport ,
//forceSelection: true,
id : 'PORT' ,
name : 'PORT' ,
valueField : 'PORT' ,
displayField : 'CodeAndName' ,
matchFieldWidth : false //下拉款自适应宽度
//
} ) ;
this . comboxPORTDetail = Ext . create ( 'DsExt.ux.RefTableCombox' , {
store : this . storeCodeLoadport ,
//forceSelection: true,
id : 'PORTDetail' ,
name : 'PORTDetail' ,
valueField : 'PORT' ,
displayField : 'CodeAndName' ,
matchFieldWidth : false //下拉款自适应宽度
//
} ) ;
//场站
this . storeYARD = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.CustomRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetCustomRefListYARD' }
} ) ;
this . storeYARD . load ( ) ;
//
this . comboxYARD = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '放箱场站' ,
store : this . storeYARD ,
forceSelection : true ,
queryMode : 'remote' ,
minChars : 0 ,
queryParam : 'CODENAME' ,
name : 'YARD' ,
valueField : 'CustName' ,
displayField : 'CodeAndName'
} ) ;
this . comboxYARDDetail = Ext . create ( 'DsExt.ux.RefTableCombox' , {
store : this . storeYARD ,
forceSelection : true ,
queryMode : 'remote' ,
minChars : 0 ,
queryParam : 'CODENAME' ,
name : 'YARDDetail' ,
valueField : 'CustName' ,
displayField : 'CodeAndName'
} ) ;
//人员信息加载
this . storeSaleCode = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.UserRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetUserRefList' }
} ) ;
this . storeSaleCode . load ( ) ;
//揽货人
this . comboxSALE = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '揽货人' ,
store : this . storeSaleCode ,
forceSelection : true ,
name : 'SALE' ,
valueField : 'UserName' ,
displayField : 'CodeAndName' ,
value : SHOWNAME ,
listeners : {
scope : this ,
'select' : function ( combo , records , eOpts ) {
if ( records . length > 0 ) {
if ( this . SALEORDERDEPTBYOP == 0 )
this . formHead . getForm ( ) . findField ( 'SALEDEPT' ) . setValue ( records [ 0 ] . data . DEPTNAME ) ;
}
}
}
} ) ;
//人员信息加载
this . storeOpCode = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.UserRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetUserRefList' }
} ) ;
this . storeOpCode . load ( ) ;
//操 作
this . comboxOP = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '操作' ,
store : this . storeOpCode ,
forceSelection : true ,
name : 'OP' ,
valueField : 'UserName' ,
displayField : 'CodeAndName' ,
enableKeyEvents : true
} ) ;
//箱动态类型
this . storeCTNSTATUS = Ext . create ( 'DsExt.ux.RefEnumStore' , { } ) ;
this . storeCTNSTATUS . load ( { params : { enumTypeId : 99060 } } ) ;
this . comboxCTNSTATUS = Ext . create ( 'DsExt.ux.RefEnumCombox' , {
store : this . storeCTNSTATUS ,
name : 'CTNSTATUS' ,
valueField : 'EnumValueName' ,
displayField : 'EnumValueName'
} ) ;
//应收费用名称
this . storeFeeNameRef = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.FeeTypeRefModel' ,
proxy : { url : '/MvcShipping/MsChFee/GetFeeTypeRefListNew' }
} ) ;
this . storeFeeNameRef . load ( ) ;
this . comboxFeeNameRef = Ext . create ( 'DsExt.ux.DCombox' , {
store : this . storeFeeNameRef ,
minChars : 1 ,
matchFieldWidth : false ,
//queryParam: 'Name',
lazyRender : false ,
name : 'DRFEENAME' ,
valueField : 'Name' ,
displayField : 'CodeAndName'
} ) ;
this . storeFeeNameRefCr = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.FeeTypeRefModel' ,
proxy : { url : '/MvcShipping/MsChFee/GetFeeTypeRefListNew' }
} ) ;
this . storeFeeNameRefCr . load ( ) ;
//对模糊查询和tab/enter选择的修改封装在 DsExt.ux.DCombox内 其他combox也可以调用
this . comboxFeeNameRefCr = Ext . create ( 'DsExt.ux.RefTableCombox' , {
store : this . storeFeeNameRefCr ,
forceSelection : true ,
queryMode : 'local' ,
minChars : 1 ,
//queryParam: 'Name',
lazyRender : false ,
name : 'CRFEENAME' , matchFieldWidth : false ,
valueField : 'Name' ,
displayField : 'CodeAndName' ,
listeners : {
beforequery : function ( e ) {
return FilterCombox ( e ) ;
} ,
specialkey : function ( field , e ) {
//将回车13转义成tab9
if ( e . getKey ( ) == e . ENTER ) {
e . keyCode = 9 ;
}
if ( e . keyCode == 9 ) {
//将combo
//alert(field.value);
if ( field . value == null ) {
_name = this . store . data . keys [ 0 ] ;
this . setValue ( _name ) ;
} else {
if ( field . value . replace ( /\s*/g , "" ) == "" ) {
_name = this . store . data . keys [ 0 ] ;
this . setValue ( _name ) ;
}
}
}
}
}
} ) ;
this . storeOWNERCTN = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.CustomRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetCustomRefList' }
} ) ;
this . storeOWNERCTN . load ( { params : { condition : "1=1" } } ) ;
this . comboxOWNERCTN = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '罐东' ,
store : this . storeOWNERCTN ,
forceSelection : true ,
name : 'OWNERCTN' ,
valueField : 'CustName' ,
displayField : 'CodeAndName'
} ) ;
this . storeNOTYPE = Ext . create ( 'Ext.data.Store' , {
fields : [ 'FType' , 'NAME' ]
} ) ;
this . storeNOTYPE . add ( { "FType" : 'NEW' , "NAME" : "NEW" } ) ;
this . storeNOTYPE . add ( { "FType" : 'USED' , "NAME" : "USED" } ) ;
this . comboxNOTYPE = Ext . create ( 'DsExt.ux.RefTableCombox' , {
store : this . storeNOTYPE ,
valueField : 'FType' ,
displayField : 'NAME' ,
forceSelection : true ,
name : 'NOTYPE'
} ) ;
this . storeISLOCKBOX = Ext . create ( 'Ext.data.Store' , {
fields : [ 'FType' , 'NAME' ]
} ) ;
this . storeISLOCKBOX . add ( { "FType" : '1' , "NAME" : "是" } ) ;
this . storeISLOCKBOX . add ( { "FType" : '0' , "NAME" : "否" } ) ;
this . comboxISLOCKBOX = Ext . create ( 'DsExt.ux.RefTableCombox' , {
store : this . storeISLOCKBOX ,
valueField : 'FType' ,
displayField : 'NAME' ,
forceSelection : true ,
name : 'ISLOCKBOX'
} ) ;
this . storeISSLOT = Ext . create ( 'Ext.data.Store' , {
fields : [ 'FType' , 'NAME' ]
} ) ;
this . storeISSLOT . add ( { "FType" : '1' , "NAME" : "是" } ) ;
this . storeISSLOT . add ( { "FType" : '0' , "NAME" : "否" } ) ;
this . comboxISSLOT = Ext . create ( 'DsExt.ux.RefTableCombox' , {
store : this . storeISSLOT ,
valueField : 'FType' ,
displayField : 'NAME' ,
forceSelection : true ,
name : 'ISSLOT'
} ) ;
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' , {
store : this . StoreCurr ,
forceSelection : true ,
name : 'CURR' ,
valueField : 'CURR' ,
displayField : 'CURR'
} ) ;
//#endregion
//#region form定义
//编辑form:formEdit
this . formEdit = Ext . widget ( 'form' , {
// layout: "border",
region : 'north' ,
height : 170 ,
frame : true ,
bodyPadding : 1 ,
trackResetOnLoad : true ,
fieldDefaults : {
margins : '1 1 1 1' ,
labelAlign : 'right' ,
flex : 1 ,
labelWidth : 64 ,
msgTarget : 'qtip'
//,split:true
} ,
items : [
{ //fieldset 1
xtype : 'fieldset' ,
defaultType : 'textfield' ,
layout : 'anchor' ,
defaults : {
anchor : '100%'
} ,
items : [ { //container_1
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ {
fieldLabel : 'BSNO' ,
hidden : true ,
name : 'BSNO'
} , {
fieldLabel : '买箱单号' , flex : 1 ,
name : 'BILLNO' ,
id : 'BILLNO' ,
readOnly : true ,
disabled : true
} , {
fieldLabel : '业务状态' ,
readOnly : true ,
name : 'BSSTATUSREF' ,
value : '未锁定'
} , {
fieldLabel : '费用状态' ,
readOnly : true ,
name : 'FEESTATUSREF' ,
value : '未锁定'
} , this . comboxCustCode ,
{
name : 'BSDATE' , id : "BSDATE" ,
fieldLabel : '租卖时间' ,
format : 'Y-m-d' ,
value : Ext . util . Format . date ( currdate , 'Y-m-d' ) ,
xtype : 'datefield'
} , {
fieldLabel : '会计期间' ,
flex : 1 ,
name : 'ACCDATE' ,
xtype : 'monthfield' ,
format : 'Y-m' ,
value : Ext . util . Format . date ( currdate , 'Y-m' ) ,
editable : false ,
allowBlank : false
}
]
} //container_1 end
,
{
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [
this . comboxCNTRSOURCE ,
this . comboxBuyType ,
this . comboxPORT ,
this . comboxYARD ,
this . comboxOP ,
this . comboxSALE
]
} ,
{
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [
this . comboxOWNERCTN ,
{
name : 'ENDRENTDATE' ,
fieldLabel : '租箱结束时间' ,
format : 'Y-m-d' ,
labelWidth : 80 ,
value : Ext . util . Format . date ( currdate , 'Y-m-d' ) ,
xtype : 'datefield'
} , {
fieldLabel : '箱型箱量' ,
flex : 2 ,
readOnly : true ,
name : 'CNTRTOTAL'
} ,
{
fieldLabel : '生成费用' ,
readOnly : true ,
name : 'ISCREATEFEEREF'
} ,
{
fieldLabel : '生成业务费用' ,
readOnly : true ,
labelWidth : 120 ,
name : 'CREATEBSFEEREF'
}
]
} ,
{
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [
{
fieldLabel : '备注' ,
flex : 4 ,
name : 'REMARK'
}
]
}
]
}
]
} ) ;
//#endregion
//#region 编辑
//数据集
this . storeCtnrIn = Ext . create ( 'Ext.data.Store' , {
model : 'MsOpCtnrDetail' ,
pageSize : this . PageSize ,
remoteSort : false ,
pruneModifiedRecords : true ,
proxy : {
type : 'ajax' ,
url : '/MvcContainer/MsOpCtnr/GetCtnrDetailList' ,
reader : {
id : 'CTNGID' ,
root : 'data' ,
totalProperty : 'totalCount'
}
}
} ) ;
var _this = this ;
this . columns = [
{
sortable : true , //1
dataIndex : 'CTNGID' ,
header : '惟一编号' ,
width : 80 , hidden : true
} , {
sortable : true , //1
dataIndex : 'CNTRNO' ,
header : '箱号' ,
width : 120 , hidden : false , editor : {
xtype : 'textfield'
}
} ,
{
sortable : true ,
dataIndex : 'CTNEF' ,
header : '空重' ,
width : 80 ,
editor : this . comboxCTNEF ,
renderer : function ( value , p , record ) {
return record . data . CTNEFREF ;
}
} , {
sortable : true ,
dataIndex : 'CTNALL' ,
header : '箱型' ,
width : 80 ,
editor : this . comboxCTNALL
} , {
sortable : true ,
dataIndex : 'CNTRSOURCE' ,
header : '箱源' ,
width : 80 ,
editor : this . comboxCNTRSOURCEDetail
} ,
{
sortable : true ,
dataIndex : 'NOTYPE' ,
header : 'NEW/USED' ,
width : 80 ,
editor : this . comboxNOTYPE
} ,
{
sortable : true ,
dataIndex : 'ISLOCKBOX' ,
header : '是否有锁盒' ,
width : 80 ,
editor : this . comboxISLOCKBOX ,
renderer : function ( value , p , record ) {
return record . data . ISLOCKBOXREF ;
}
} ,
{
sortable : true ,
dataIndex : 'ISSLOT' ,
header : '是否有叉车槽' ,
width : 80 ,
editor : this . comboxISSLOT ,
renderer : function ( value , p , record ) {
return record . data . ISSLOTREF ;
}
} ,
{
sortable : true ,
dataIndex : 'CTNCOLOR' ,
header : '颜色' ,
width : 120 ,
editor : {
xtype : 'textfield'
}
} , {
sortable : true ,
dataIndex : 'CTNSTATUS' ,
header : '当前箱动态' ,
width : 80 ,
editor : this . comboxCTNSTATUS
} ,
{
sortable : true ,
dataIndex : 'CTNSTATUSTIME' ,
header : '箱动态时间' ,
width : 80 ,
editor : {
xtype : 'datefield' ,
format : 'Y-m-d' ,
selectOnFocus : true
} ,
renderer : Ext . util . Format . dateRenderer ( 'Y-m-d' )
} ,
{
sortable : true ,
dataIndex : 'PORT' ,
header : '当前地点' ,
width : 80 ,
editor : this . comboxPORTDetail
} ,
{
sortable : true ,
dataIndex : 'YARD' ,
header : '当前场站' ,
width : 80 ,
editor : this . comboxYARDDetail
} ,
{
sortable : true ,
dataIndex : 'CURR' ,
header : '币别' ,
width : 80 ,
editor : this . comboxCurr
} ,
{
sortable : true ,
dataIndex : 'CRFEENAME' ,
header : '应付费用名称' ,
width : 80 ,
editor : this . comboxFeeNameRefCr
} ,
{
sortable : true ,
dataIndex : 'CR' ,
header : '应付费用' ,
width : 80 ,
editor : {
xtype : 'textfield'
} ,
summaryType : 'sum' , align : 'right'
} ,
{
sortable : true ,
dataIndex : 'REMARK' ,
header : '备注' ,
width : 80 ,
editor : {
xtype : 'textfield'
}
}
] ;
this . girdcolums = this . columns ;
this . girdcolums = DsTruck . GetGridPanel ( USERID , this . formname , this . girdcolums , 1 ) ; //使用者id, 表名, 中间column数组, 跳过一开始的几列
if ( true ) {
}
this . cellEditing = Ext . create ( 'Ext.grid.plugin.CellEditing' , {
clicksToEdit : 1
} ) ;
this . CheckBoxModel = Ext . create ( 'Ext.selection.CheckboxModel' ) ;
Ext . grid . RowNumberer = Ext . extend ( Ext . grid . RowNumberer , {
width : 30
} ) ;
this . formCtnrInBody = new Ext . grid . GridPanel ( {
store : this . storeCtnrIn ,
enableHdMenu : false ,
region : 'center' ,
columnLines : true ,
//layout: "border",
//title: '费用明细',
loadMask : { msg : "数据加载中,请稍等..." } ,
trackMouseOver : true ,
disableSelection : false ,
plugins : [ this . cellEditing ] ,
selModel : this . CheckBoxModel ,
selType : 'cellmodel' ,
features : [ {
ftype : 'summary' //Ext.grid.feature.Summary表格汇总特性
} ] ,
tbar : [ { xtype : 'label' , text : '集装箱信息' ,
style : 'font-size:18px' ,
labelColor : '#099' ,
//style:'background-color: #4b9bf5',
x : '5%' ,
y : '5%'
} , {
text : '增加' , id : "add1" ,
tooltip : '增加' ,
iconCls : "btnadddetail" ,
handler : function ( button , event ) {
this . onAddCtnrInClick ( button , event ) ;
} ,
scope : this
} , {
text : '删除' , id : "del1" ,
tooltip : '删除' ,
iconCls : "btndeletedetail" ,
handler : function ( button , event ) {
this . onDelCtnrInClick ( button , event ) ;
} ,
scope : this
} , '-' , {
// id: "saveandclose",
text : "保存" ,
iconCls : "btnsave" ,
handler : function ( button , event ) {
this . Save ( '0' ) ;
} ,
scope : this
} , '-' , {
// id: "saveandclose",
text : "EXCEL导入" ,
iconCls : "btnexportexcel" ,
handler : function ( button , event ) {
this . onImportCtnClick ( ) ;
} ,
scope : this
} , '-' , {
text : "保存列表样式" ,
menu : [ { text : "保存" ,
handler : function ( button , event ) {
_this . girdcolums = DsTruck . SaveGridPanel ( USERID , _this . formname , _this . formCtnrInBody . columns , _this . girdcolums , 0 , true ) ; //使用者id, 表名, 中间column数组, 跳过一开始的几列
}
} , { text : "初始化" ,
handler : function ( menu , event ) {
_this . formCtnrInBody . reconfigure ( _this . storeCtnrIn , _this . columns ) ;
_this . girdcolums = DsTruck . SaveGridPanel ( USERID , _this . formname , _this . formCtnrInBody . columns , _this . columns , 0 , true ) ; //使用者id, 表名, 中间column数组, 跳过一开始的几列
}
} ] ,
scope : this
} ] ,
columns : this . girdcolums
} ) ;
this . formCtnrInBody . columns [ 0 ] = new Ext . grid . RowNumberer ( ) ;
this . formCtnrInBody . on ( 'edit' , function ( editor , e , eOpts ) {
this . gridAfterEdit ( editor , e , eOpts ) ;
} , this ) ;
//////////////////////////////////////////////明细<<<< CtnrIn列表 >>>>结束
//#endregion
//#region 还箱维护
this . storeCodeDisport = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.CodeDisportModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetCodeDisportListRm' }
} ) ;
this . comboxPORT = Ext . create ( 'DsExt.ux.RefTableCombox' , {
store : this . storeCodeDisport ,
queryMode : 'remote' ,
minChars : 2 ,
queryParam : 'PORT' ,
name : 'PREPARDAT' ,
valueField : 'PORT' ,
displayField : 'PORT'
} ) ;
this . storeYARDRETURN = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.CustomRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetCustomRefListYARD' }
} ) ;
this . storeYARDRETURN . load ( ) ;
//
this . comboxYARDRETURN = Ext . create ( 'DsExt.ux.RefTableCombox' , {
store : this . storeYARDRETURN ,
queryMode : 'remote' ,
minChars : 0 ,
queryParam : 'CODENAME' ,
name : 'YARD' ,
valueField : 'CustName' ,
displayField : 'CodeAndName'
} ) ;
this . storeCustomerNameRef = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.CustomRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetCustomRefListRm' }
} ) ;
this . comboxCustomerNameRef = Ext . create ( 'DsExt.ux.RefTableCombox' , {
store : this . storeCustomerNameRef ,
forceSelection : true ,
queryMode : 'remote' ,
minChars : 1 ,
queryParam : 'CODENAME' ,
lazyRender : false ,
name : 'CustomerName' ,
valueField : 'CustName' ,
displayField : 'CodeAndName' ,
listeners : {
scope : this ,
'focus' : function ( _this , eOpts ) {
var selections = this . gridListCtnReturn . getSelectionModel ( ) . getSelection ( ) ; //获得选中的项
var strCustomerName = selections [ 0 ] . get ( 'AGENT' ) ;
var recordCustCode = Ext . create ( 'DsShipping.ux.CustomRefModel' , {
GId : NewGuid ( ) ,
CustCode : strCustomerName ,
CustName : strCustomerName ,
CodeAndName : strCustomerName ,
DESCRIPTION : strCustomerName
} ) ;
this . storeCustomerNameRef . add ( recordCustCode ) ;
}
}
} ) ;
this . storeCtnReturnList = Ext . create ( 'Ext.data.Store' , {
model : 'CtnrReturn' ,
remoteSort : true ,
proxy : {
type : 'ajax' ,
url : '/MvcContainer/MsOpCtnr/GetCtnReturnList' ,
reader : {
id : 'GID' ,
root : 'data' ,
totalProperty : 'totalCount'
}
}
} ) ;
//明细表表格
this . gridListCtnReturnCellEditing = Ext . create ( 'Ext.grid.plugin.CellEditing' , {
clicksToEdit : 1
} ) ;
this . CheckBoxCtnReturnModel = Ext . create ( 'Ext.selection.CheckboxModel' ) ;
this . gridListCtnReturn = new Ext . grid . GridPanel ( {
store : this . storeCtnReturnList ,
enableHdMenu : false ,
region : 'center' ,
loadMask : { msg : "数据加载中,请稍等..." } ,
trackMouseOver : true ,
disableSelection : false ,
plugins : [ this . gridListCtnReturnCellEditing ] ,
selModel : this . CheckBoxCtnReturnModel ,
selType : 'cellmodel' ,
tbar : [ {
text : '增加明细' ,
tooltip : '增加明细' ,
id : "btnaddreturndetail" ,
iconCls : "btnadddetail" ,
handler : function ( button , event ) {
this . addReturnDetail ( ) ;
} ,
scope : this
} , '-' , {
text : '删除明细' ,
tooltip : '删除明细' ,
id : "btndelreturndetail" ,
iconCls : "btndeletedetail" ,
handler : function ( button , event ) {
this . onDeleteReturnClick ( ) ;
} ,
scope : this
} ] ,
columns : [ {
sortable : true ,
dataIndex : 'GID' ,
header : '编号' ,
hidden : true ,
width : 0
} , {
sortable : true ,
dataIndex : 'BSNO' ,
header : '业务编号' ,
hidden : true ,
width : 0
} , {
dataIndex : 'PORT' ,
header : '还箱港口' ,
width : 320 ,
editor : this . comboxPORT
} , {
dataIndex : 'YARD' ,
header : '还箱场站' ,
width : 120 ,
editor : this . comboxYARDRETURN
} , {
dataIndex : 'AGENT' ,
header : '还箱代理' ,
width : 120 ,
editor : this . comboxCustomerNameRef
} ]
} ) ;
this . gridListCtnReturn . on ( 'edit' , function ( editor , e , eOpts ) {
this . gridListAfterEdit ( editor , e , eOpts ) ;
} , this ) ;
this . panelCtnReturn = new Ext . Panel ( {
title : '还箱信息维护' ,
layout : "border" ,
region : 'center' ,
animate : true ,
frame : false ,
items : [ this . gridListCtnReturn ]
} ) ;
//#endregion
parentWin = window . parent . opener ;
if ( parentWin ) {
var ret = parentWin . OprationSwap ( ) ;
this . OpStatus = ret [ 0 ] ; //edit
this . StoreList = ret [ 1 ] ;
this . EditRecord = ret [ 2 ] ; //SelectedRecord
}
//#region 其他
this . panelFee = new Shipping . FeeEditGrid ( {
region : 'center' ,
layout : 'border'
} ) ;
this . panelFee . stroplb = 'op_other' ;
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 . StoreDrOpRange . load ( { params : { optype : "modOtherRecvFeeManagement" } } ) ;
this . panelFee . StoreCrOpRange . load ( { params : { optype : "modOtherPayFeeManagement" } } ) ;
this . panelFee . storeFeeNameRef . load ( { params : { condition : "" } } ) ;
this . panelChFee = new Ext . Panel ( {
region : 'center' ,
layout : 'border' ,
margin : '0 0' ,
height : 300 , //width: 450,
items : [ /*this.panelChFee_YS, this.panelChFee_YF*/
this . panelFee
]
} ) ;
//#endregion
//公共按钮Toolbar:panelBtn
this . panelBtn = new Ext . Panel ( {
region : "north" ,
tbar : [
{
// id: "saveandclose",
text : "保存" ,
iconCls : "btnsave" ,
handler : function ( button , event ) {
this . Save ( '0' ) ;
} ,
scope : this
} , {
// id: "saveandclose",
text : "保存并关闭" ,
handler : function ( button , event ) {
this . Save ( '1' ) ;
} ,
scope : this
} , '-' ,
{
// id: "saveandclose",
text : "生成费用" ,
handler : function ( button , event ) {
this . CreateCost ( "0" ) ;
} ,
scope : this
} ,
'-' ,
{
// id: "saveandclose",
text : "取消费用" ,
handler : function ( button , event ) {
this . CreateCost ( "1" ) ;
} ,
scope : this
} , '-' ,
{
// id: "saveandclose",
text : "关闭" ,
handler : function ( button , event ) {
window . close ( ) ;
} ,
scope : this
}
]
} ) ; //end 按钮Toolbar
this . panelTop ;
//#region//布局
this . panelTop = new Ext . Panel ( {
region : "north" ,
height : 150 ,
items : [ this . panelBtn , this . formEdit ]
} ) ;
this . panelCtnrInBody = new Ext . Panel ( {
layout : "border" ,
region : 'center' ,
frame : true ,
split : true ,
items : [ this . formCtnrInBody ]
} ) ;
this . page _1 = new Ext . Panel ( {
id : "page_1" ,
title : "集装箱信息" ,
layout : "border" ,
region : 'center' ,
items : [ this . panelCtnrInBody ]
} ) ;
this . page _2 = new Ext . Panel ( {
id : "page_2" ,
autoScroll : true ,
title : "租买箱相关应收应付费用" ,
layout : "border" ,
region : 'center' ,
items : [ this . panelChFee
]
} ) ;
this . MainTab = new Ext . tab . Panel ( {
layout : "border" ,
region : "center" , split : true ,
items : [ this . page _1 , this . panelCtnReturn , this . page _2 ]
} ) ;
Ext . apply ( this , {
items : [ this . panelTop , this . MainTab ]
} ) ;
this . InitData ( ) ;
//#endregion
//集中绑定事件
this . formCtnrInBody . on ( 'edit' , function ( editor , e , eOpts ) {
this . CtnrInAfterEdit ( editor , e , eOpts ) ;
} , this ) ;
this . cellEditing . on ( 'beforeedit' , function ( editor , e ) {
return this . CtnrInBeforeEdit ( editor , e ) ;
} , this ) ;
this . storeCtnrIn . on ( 'beforeload' , function ( store ) {
var BSNO = this . EditRecord . get ( 'BSNO' ) ;
//Ext.apply(store.proxy.extraParams, { condition: " ASSOCIATEDNO='" + GID + "'" });
} , this ) ;
} , //end initUIComponents
parentfunction : function ( button , event ) {
var ret1 = window . parent . opener . OprationSwap ( ) ;
ret1 [ 3 ] ( ) ;
} ,
onAddCtnrInClick : function ( button , event , type ) {
var store = null ;
var data = this . formEdit . getForm ( ) . getValues ( ) ;
store = this . storeCtnrIn ;
var record = null ;
var BSNO = '' ;
var PORT = '' ;
var YARD = '' ;
var CRFEENAME = '' ;
if ( this . OpStatus == "add" ) {
PORT = data . PORT ;
YARD = data . YARD ;
CNTRSOURCE = data . CNTRSOURCE ;
} else {
BSNO = this . EditRecord . get ( 'BSNO' ) ;
PORT = this . EditRecord . get ( 'PORT' ) ;
YARD = this . EditRecord . get ( 'YARD' ) ;
CNTRSOURCE = this . EditRecord . get ( 'CNTRSOURCE' ) ;
}
if ( this . storeCtnrIn . getCount ( ) > 0 ) {
var memberbody = this . storeCtnrIn . getAt ( 0 ) ;
CRFEENAME = memberbody . data . CRFEENAME ;
}
var newid = NewGuid ( ) ;
record = Ext . create ( 'MsOpCtnrDetail' , {
BSNO : '*' ,
CTNGID : newid ,
CTNALL : '' ,
CNTRNO : '' ,
CNTRSOURCE : CNTRSOURCE ,
CTNSTATUS : data . BLTYPE ,
CTNSTATUSTIME : data . BSDATE ,
PORT : PORT ,
YARD : YARD ,
CTNEF : '' ,
CTNEFREF : '空' ,
CRFEENAME : CRFEENAME ,
ISLOCKBOX : '0' ,
ISLOCKBOXREF : '否' ,
ISSLOT : '0' ,
ISSLOTREF : '否' ,
CUSTNO : '' ,
MBLNO : '' ,
REMARK : ''
} ) ;
this . storeCtnrIn . add ( record ) ;
cellediting = this . cellEditing ;
var n = store . getCount ( ) ;
cellediting . startEditByPosition ( { row : n - 1 , column : 2 } ) ;
} ,
onDelCtnrInClick : function ( button , event , type ) {
var bsno = this . formEdit . getForm ( ) . findField ( 'BSNO' ) . getValue ( ) ;
var selectedRecords = [ ] ;
selectedRecords = this . CheckBoxModel . selected . items ;
if ( selectedRecords . length == 0 ) {
Ext . Msg . show ( { title : '提示' , msg : '请先选择要删除的集装箱信息!' , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
return ;
}
Ext . MessageBox . confirm ( '提示' , '确定要删除选中的集装箱信息吗?' , function ( btn ) {
if ( btn == 'yes' ) {
if ( selectedRecords . length > 0 ) {
var CtnrIndatas = [ ] ;
for ( var i = 0 ; i < selectedRecords . length ; i ++ ) {
var rec = selectedRecords [ i ] ;
if ( rec . data . BSNO == "" || rec . data . BSNO == "*" ) //如果是新增但没有保存的数据,没有必要提交到后台
{
this . storeCtnrIn . remove ( selectedRecords [ i ] ) ;
} else {
CtnrIndatas . push ( rec ) ;
}
}
var CtnrInBody = ConvertRecordsToJsonAll ( CtnrIndatas ) ;
if ( CtnrIndatas . length > 0 ) {
Ext . Msg . wait ( '正在删除...' ) ;
Ext . Ajax . request ( {
waitMsg : '正在删除...' , //'正在删除数据...',
url : '/MvcContainer/MsOpCtnr/DeleteDetail' ,
params : {
data : CtnrInBody ,
bsno : bsno
} ,
callback : function ( options , success , response ) {
if ( success ) {
var jsonresult = Ext . JSON . decode ( response . responseText ) ;
if ( jsonresult . Success ) {
this . storeCtnrIn . reload ( ) ;
Ext . Msg . show ( { title : '提示' , msg : jsonresult . Message , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
}
else {
Ext . Msg . show ( { title : '错误' , msg : jsonresult . Message , icon : Ext . Msg . ERROR , buttons : Ext . Msg . OK } ) ;
}
}
} ,
failure : function ( response , options ) {
Ext . Msg . show ( { title : '警告' , msg : '服务器响应出错' , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
} ,
scope : this
} ) ; //end Ext.Ajax.request
}
}
}
} , this ) ;
} ,
addReturnDetail : function ( button , event ) {
var store = null ;
var record = null ;
var newid = NewGuid ( ) ;
record = Ext . create ( 'CtnrReturn' , {
BSNO : '*' ,
GID : newid ,
PORT : '' ,
YARD : '' ,
AGENT : '' ,
REMARK : ''
} ) ;
this . storeCtnReturnList . add ( record ) ;
var n = this . storeCtnReturnList . getCount ( ) ;
this . gridListCtnReturnCellEditing . startEditByPosition ( { row : n - 1 , column : 2 } ) ;
} ,
onDeleteReturnClick : function ( button , event , type ) {
var bsno = this . formEdit . getForm ( ) . findField ( 'BSNO' ) . getValue ( ) ;
var selectedRecords = [ ] ;
selectedRecords = this . CheckBoxCtnReturnModel . selected . items ;
if ( selectedRecords . length == 0 ) {
Ext . Msg . show ( { title : '提示' , msg : '请先选择要删除的还箱信息!' , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
return ;
}
Ext . MessageBox . confirm ( '提示' , '确定要删除选中的还箱信息吗?' , function ( btn ) {
if ( btn == 'yes' ) {
if ( selectedRecords . length > 0 ) {
var CtnrIndatas = [ ] ;
for ( var i = 0 ; i < selectedRecords . length ; i ++ ) {
var rec = selectedRecords [ i ] ;
if ( rec . data . BSNO == "" || rec . data . BSNO == "*" ) //如果是新增但没有保存的数据,没有必要提交到后台
{
this . storeCtnReturnList . remove ( selectedRecords [ i ] ) ;
} else {
CtnrIndatas . push ( rec ) ;
}
}
var CtnrInBody = ConvertRecordsToJsonAll ( CtnrIndatas ) ;
if ( CtnrIndatas . length > 0 ) {
Ext . Msg . wait ( '正在删除...' ) ;
Ext . Ajax . request ( {
waitMsg : '正在删除...' , //'正在删除数据...',
url : '/MvcContainer/MsOpCtnr/DeleteReturnDetail' ,
params : {
data : CtnrInBody ,
bsno : bsno
} ,
callback : function ( options , success , response ) {
if ( success ) {
var jsonresult = Ext . JSON . decode ( response . responseText ) ;
if ( jsonresult . Success ) {
this . storeCtnReturnList . reload ( ) ;
Ext . Msg . show ( { title : '提示' , msg : jsonresult . Message , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
}
else {
Ext . Msg . show ( { title : '错误' , msg : jsonresult . Message , icon : Ext . Msg . ERROR , buttons : Ext . Msg . OK } ) ;
}
}
} ,
failure : function ( response , options ) {
Ext . Msg . show ( { title : '警告' , msg : '服务器响应出错' , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
} ,
scope : this
} ) ; //end Ext.Ajax.request
}
}
}
} , this ) ;
} ,
getLinenum : function ( button , event ) {
var _L = 0 ;
for ( var i = 0 ; i < this . storeCtnrIn . getCount ( ) ; i ++ ) {
var _t = parseInt ( this . storeCtnrIn . getAt ( i ) . get ( "LINENUM" ) ) ;
if ( _t > _L ) { _L = _t ; }
}
_L ++ ;
return _L ;
} ,
CtnrInAfterEdit : function ( editor , e , eOpts ) {
if ( COMPANYID == "" || DEPTGID == "" ) {
alert ( "登录信息不全,请退出重新登录" ) ;
returen ;
}
} ,
CtnrInBeforeEdit : function ( editor , e , eOpts ) {
//需要自己实现里面的事件
if ( COMPANYID == "" || DEPTGID == "" ) {
alert ( "登录信息不全,请退出重新登录" ) ;
returen ;
}
} ,
InitData : function ( ) {
this . OpStatus = 'add' ;
var condition = '' ;
if ( parentWin ) {
var ret = parentWin . OprationSwap ( ) ;
this . OpStatus = ret [ 0 ] ; //edit
this . StoreList = ret [ 1 ] ;
this . EditRecord = ret [ 2 ] ; //SelectedRecord
}
if ( this . OpStatus == 'edit' ) {
condition = " BSNO='" + this . EditRecord . get ( 'BSNO' ) + "'" ;
this . LoadData ( this . OpStatus , condition ) ;
}
else {
this . LoadData ( this . OpStatus , condition ) ;
}
//this.LoadMustBe();
} , //end InitData
//载入数据
LoadData : function ( OpStatus , condition ) {
if ( COMPANYID == "" || DEPTGID == "" ) {
alert ( "登录信息不全,请退出重新登录" ) ;
return ;
}
this . OpStatus = OpStatus ;
var _this = this ;
Ext . Ajax . request ( {
waitMsg : '正在查询主表数据...' ,
url : '/MvcContainer/MsOpCtnr/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 : '提示' ,
msg : result . Message ,
icon : Ext . MessageBox . ERROR ,
buttons : Ext . Msg . OK
} ) ;
return ;
}
var timeStamp = result . timeStamp ;
timeStamp = timeStamp . replace ( /\//g , '-' ) ;
//格式化时分秒
var y = '' ;
var m = '' ;
var d = '' ;
var timetemp = timeStamp . split ( '-' ) ;
y = timetemp [ 0 ] ;
if ( timetemp [ 1 ] . length < 2 ) {
m = '0' + timetemp [ 1 ] ;
} else {
m = timetemp [ 1 ] ;
}
if ( timetemp [ 2 ] . length < 2 ) {
d = '0' + timetemp [ 2 ] ;
} else {
d = timetemp [ 2 ] ;
}
var timeStampFin = y + '-' + m + '-' + d ;
TIMESTAMP = timeStampFin ;
timeStamp = timeStampFin ;
var data = result . data ;
if ( this . OpStatus == 'add' ) {
}
this . Editdata = data ;
var basicForm = this . formEdit . getForm ( ) ;
basicForm . setValues ( data ) ;
this . panelFee . EditRecord = this . EditRecord ;
this . panelFee . strBSNO = data . BSNO ;
this . panelFee . storeDrChFee . load ( { params : { billno : this . panelFee . strBSNO , type : 1 , optype : "op_other" , condition : "((BSNO = '" + data . BSNO + "' OR WMSOUTBSNO='" + data . BSNO + "') and feetype=1) " } } ) ;
this . panelFee . storeCrChFee . load ( { params : { billno : this . panelFee . strBSNO , type : 2 , optype : "op_other" , condition : "((BSNO = '" + data . BSNO + "'OR WMSOUTBSNO='" + data . BSNO + "') and feetype=2)" } } ) ;
} else {
Ext . MessageBox . alert ( '请求出现错误,请重试' , response . responseText ) ;
}
} ,
scope : this
} ) ; //request over
if ( this . OpStatus == 'edit' ) {
var BSNO = this . EditRecord . get ( 'BSNO' ) ;
this . storeCtnrIn . load ( {
params : { start : 0 , limit : this . PageSize , sort : '' , condition : " mng.BSNO='" + BSNO + "'" } ,
waitMsg : "正在查询数据..." ,
scope : this
} ) ;
this . storeCtnReturnList . load ( {
params : { start : 0 , limit : this . PageSize , sort : '' , condition : " BSNO='" + BSNO + "'" } ,
waitMsg : "正在查询数据..." ,
scope : this
} ) ;
}
} , // end LoadDate
Save : function ( type ) {
var basicForm = this . formEdit . getForm ( ) ;
var bsno = basicForm . findField ( 'BSNO' ) . value ;
if ( ! basicForm . isValid ( ) ) {
return ;
}
Ext . getCmp ( 'BILLNO' ) . setDisabled ( false ) ;
var data = this . formEdit . getForm ( ) . getValues ( ) ;
if ( COMPANYID == "" || DEPTGID == "" ) {
Ext . MessageBox . alert ( "提示" , "登录信息不全,请退出重新登录" ) ;
return ;
}
var CtnrIndatas = [ ] ;
for ( var i = 0 ; i < this . storeCtnrIn . getCount ( ) ; i += 1 ) {
var member = this . storeCtnrIn . getAt ( i ) ;
member . data . CTNSTATUSTIME = Ext . util . Format . date ( member . data . CTNSTATUSTIME , 'Y-m-d' ) . toString ( ) ;
CtnrIndatas . push ( member ) ;
}
var CtnReturndatas = [ ] ;
for ( var i = 0 ; i < this . storeCtnReturnList . getCount ( ) ; i += 1 ) {
var member = this . storeCtnReturnList . getAt ( i ) ;
CtnReturndatas . push ( member ) ;
}
var CtnrInBody = ConvertRecordsToJsonAll ( CtnrIndatas ) ;
var CtnrInBodyDel = ConvertRecordsToJsonAll ( this . CtnrInBodyDel ) ;
var CtnReturnBody = ConvertRecordsToJsonAll ( CtnReturndatas ) ;
var _this = this ;
Ext . Msg . wait ( '正在保存数据, 请稍侯..' ) ;
Ext . Ajax . request ( {
waitMsg : '正在保存数据...' ,
url : '/MvcContainer/MsOpCtnr/Save' ,
scope : this ,
async : false ,
params : {
OpStatus : this . OpStatus ,
data : Ext . JSON . encode ( data ) ,
CtnrInBody : CtnrInBody ,
CtnrInBodyDel : CtnrInBodyDel ,
CtnReturn : CtnReturnBody
} ,
callback : function ( options , success , response ) {
Ext . getCmp ( 'BILLNO' ) . setDisabled ( true ) ;
if ( success ) {
Ext . MessageBox . hide ( ) ;
var jsonresult = Ext . JSON . decode ( response . responseText ) ;
if ( jsonresult . Success ) {
var returnData = jsonresult . Data ;
this . formEdit . getForm ( ) . setValues ( returnData ) ;
if ( this . OpStatus == 'add' ) {
var arrNewRecords = this . StoreList . add ( returnData ) ;
this . EditRecord = arrNewRecords [ 0 ] ;
}
else if ( this . OpStatus == 'edit' ) {
var editp = Ext . create ( 'MsOpCtnrList' , returnData ) ;
this . EditRecord . fields . each ( function ( field ) {
if ( field . persist ) {
name = field . name ;
if ( name != 'BSNO' )
this . EditRecord . set ( name , editp . get ( name ) ) ;
}
} , this ) ;
this . EditRecord . commit ( ) ;
}
this . panelFee . EditRecord = this . EditRecord ;
this . panelFee . strBSNO = returnData . BSNO ;
this . storeCtnrIn . commitChanges ( ) ;
this . storeCtnReturnList . commitChanges ( ) ;
if ( type == '0' ) {
this . OpStatus = 'edit' ;
var BSNO = _this . EditRecord . get ( 'BSNO' ) ;
this . storeCtnrIn . load ( {
params : { start : 0 , limit : this . PageSize , sort : '' , condition : " mng.BSNO='" + BSNO + "'" } ,
waitMsg : "正在查询数据..." ,
scope : this
} ) ;
this . storeCtnReturnList . load ( {
params : { start : 0 , limit : this . PageSize , sort : '' , condition : " BSNO='" + BSNO + "'" } ,
waitMsg : "正在查询数据..." ,
scope : this
} ) ;
} else if ( type == '1' ) { //保存并关闭
window . close ( ) ;
}
} 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
} ) ;
}
//alert('03');
}
} ) ;
} ,
//end save
LoadPeriod : function ( opstatus ) {
Ext . Ajax . request ( {
waitMsg : '正在查询主表数据...' ,
url : '/Account/ChMonthClose/GetNowPeriod' ,
params : {
condition : ''
} ,
callback : function ( options , success , response ) {
if ( success ) {
var result = Ext . JSON . decode ( response . responseText ) ;
if ( ! result . Success ) {
return ;
}
data = result . data ;
this . MsPeriod = data ;
this . LoadPeriodStatus ( opstatus ) ;
} else {
Ext . MessageBox . alert ( '请求出现错误,请重试' , response . responseText ) ;
}
} ,
scope : this
} ) ;
} ,
LoadPeriodStatus : function ( opstatus ) {
var ACCDATE = this . formEdit . getForm ( ) . findField ( 'ACCDATE' ) . getValue ( ) ;
var oDate1 = new Date ( ACCDATE + '-01' ) ;
var oDate2 = new Date ( this . MsPeriod . PERIOD + '-01' ) ;
if ( oDate1 . getTime ( ) >= oDate2 . getTime ( ) ) {
this . formEdit . getForm ( ) . findField ( 'ACCDATE' ) . setMinValue ( this . MsPeriod . PERIOD ) ;
this . formEdit . getForm ( ) . findField ( 'ACCDATE' ) . setReadOnly ( false ) ;
} else {
if ( opstatus == 'add' || opstatus == 'copyadd' ) {
this . formEdit . getForm ( ) . findField ( 'ACCDATE' ) . setMinValue ( this . MsPeriod . PERIOD ) ;
this . formEdit . getForm ( ) . findField ( 'ACCDATE' ) . setValue ( this . MsPeriod . PERIOD ) ;
this . formEdit . getForm ( ) . findField ( 'ACCDATE' ) . setReadOnly ( false ) ;
}
else {
this . formEdit . getForm ( ) . findField ( 'ACCDATE' ) . setMinValue ( '' ) ;
this . formEdit . getForm ( ) . findField ( 'ACCDATE' ) . setReadOnly ( true ) ;
}
}
} ,
CreateCost : function ( flag ) {
var basicForm = this . formEdit . getForm ( ) ;
var bsno = basicForm . findField ( 'BSNO' ) . value ;
if ( ! basicForm . isValid ( ) ) {
return ;
}
var data = this . formEdit . getForm ( ) . getValues ( ) ;
if ( COMPANYID == "" || DEPTGID == "" ) {
Ext . MessageBox . alert ( "提示" , "登录信息不全,请退出重新登录" ) ;
return ;
}
var CtnrIndatas = [ ] ;
for ( var i = 0 ; i < this . storeCtnrIn . getCount ( ) ; i += 1 ) {
var member = this . storeCtnrIn . getAt ( i ) ;
CtnrIndatas . push ( member ) ;
}
var CtnrInBody = ConvertRecordsToJsonAll ( CtnrIndatas ) ;
var _this = this ;
Ext . Msg . wait ( '正在生成费用, 请稍侯..' ) ;
Ext . Ajax . request ( {
waitMsg : '正在生成费用...' ,
url : '/MvcContainer/MsOpCtnr/CreateCost' ,
scope : this ,
async : false ,
params : {
data : Ext . JSON . encode ( data ) ,
CtnrInBody : CtnrInBody ,
flag : flag
} ,
callback : function ( options , success , response ) { {
if ( success ) {
var result = Ext . JSON . decode ( response . responseText ) ;
if ( result . Success == true ) {
Ext . MessageBox . alert ( '提示' , result . Message ) ;
this . panelFee . storeDrChFee . load ( { params : { billno : this . panelFee . strBSNO , type : 1 , optype : "OpCtnMng" , condition : "((BSNO = '" + bsno + "' OR WMSOUTBSNO='" + bsno + "') and feetype=1) " } } ) ;
this . panelFee . storeCrChFee . load ( { params : { billno : this . panelFee . strBSNO , type : 2 , optype : "OpCtnMng" , condition : "((BSNO = '" + bsno + "' OR WMSOUTBSNO='" + bsno + "') and feetype=2)" } } ) ;
this . LoadData ( this . OpStatus , "BSNO='" + bsno + "'" ) ;
} else {
Ext . MessageBox . alert ( '提示' , result . Message ) ;
return ;
}
} else {
Ext . MessageBox . alert ( '请求出现错误,请重试' , response . responseText ) ;
}
}
}
} ) ;
} ,
//end save
LoadMustBe : function ( ) {
this . storeMustBe . load ( {
params : { condition : "BSTYPE='集装箱信息'" } ,
callback : function ( r , options , success ) {
if ( success ) {
if ( this . storeMustBe . getCount ( ) > 0 ) {
for ( var j = 0 ; j < this . storeMustBe . getCount ( ) ; j += 1 ) {
var member = this . storeMustBe . getAt ( j ) ;
var fieldname = member . data . FIELDNAME ;
var headfield = this . formEdit . getForm ( ) . findField ( member . data . FIELDNAME ) ;
if ( headfield != NaN && headfield != null ) {
if ( member . data . ISMUST == "1" )
headfield . allowBlank = false ;
if ( member . data . ISCOLOR == "1" )
headfield . setFieldStyle ( { background : '#ffc' } ) ;
if ( member . data . ISREADONLY == "1" )
headfield . setReadOnly ( true ) ;
}
} ;
} else {
}
}
} ,
scope : this
} ) ;
} ,
gridAfterEdit : function ( editor , e , eOpts ) {
//需要自己实现里面的事件
if ( e . field == 'CTNEF' ) {
var isctn = e . value ;
if ( isctn == 'F' )
e . record . set ( 'CTNEFREF' , "重" ) ;
else
e . record . set ( 'CTNEFREF' , "空" ) ;
} if ( e . field == 'ISLOCKBOX' ) {
var isctn = e . value ;
if ( isctn == '1' )
e . record . set ( 'ISLOCKBOXREF' , "是" ) ;
else
e . record . set ( 'ISLOCKBOXREF' , "否" ) ;
} if ( e . field == 'ISSLOT' ) {
var isctn = e . value ;
if ( isctn == '1' )
e . record . set ( 'ISSLOTREF' , "是" ) ;
else
e . record . set ( 'ISSLOTREF' , "否" ) ;
} else if ( e . field == 'CRFEENAME' ) {
var CRFEENAME = e . record . data [ 'CRFEENAME' ] ;
for ( var j = 0 ; j < this . storeCtnrIn . getCount ( ) ; j += 1 ) {
var memberbody = this . storeCtnrIn . getAt ( j ) ;
if ( memberbody . data . CRFEENAME == "" || memberbody . data . CRFEENAME == NaN || memberbody . data . CRFEENAME == null ) {
memberbody . set ( "CRFEENAME" , CRFEENAME ) ;
// memberbody.commit();
}
} ;
}
} ,
//#endregion
onImportCtnClick : function ( ) {
var data = this . formEdit . getForm ( ) . getValues ( ) ;
me = this ;
var BSNO = '' ;
var imgform = new Ext . FormPanel ( {
region : 'center' ,
labelWidth : 20 ,
frame : true ,
autoScroll : false ,
border : false ,
fileUpload : true ,
items : [ {
xtype : 'fileuploadfield' ,
id : 'LoadExcel' ,
name : 'LoadExcel' ,
emptyText : '请选择EXCEL文件' , //'请选择EXCEL文件',
fieldLabel : 'EXCEL' , //'EXCEL',
buttontext : '选择文件' , //'选择文件',
allowBlank : false ,
width : 200 ,
buttonCfg :
{
iconCls : 'uploaddialog'
} ,
anchor : '98%'
} ] ,
buttons : [ {
text : '上传' , //'上传',
type : 'submit' ,
handler : function ( ) {
var UserFilePath = Ext . getCmp ( 'LoadExcel' ) . getValue ( ) ;
if ( ! CheckFileExt ( UserFilePath , /.xls|.xlsx/i ) ) {
Ext . Msg . show ( { title : '错误' , msg : '请确认上传的文件类型是否为EXCEL文件' , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ; //'请确认你上传的文件为EXCEL文件!'
return ;
}
if ( ! imgform . form . isValid ( ) ) { return ; }
imgform . form . submit ( {
url : '/MvcContainer/MsOpCtnr/CtrnFromExcel' ,
waitMsg : Zi . LAN . ZhengZaiCaoZuoShuJu , //'正在上传',
method : 'POST' ,
params : {
bsno : BSNO
} ,
success : function ( form , a ) {
var result = a . result ,
dataList = result . data ;
for ( var i = 0 ; i < dataList . length ; i ++ ) {
var record = dataList [ i ] ;
var newid = NewGuid ( ) ;
record = Ext . create ( 'MsOpCtnrDetail' , {
BSNO : '*' ,
CTNGID : newid ,
CTNALL : record . CTNALL ,
CNTRNO : record . CNTRNO ,
CNTRSOURCE : record . CNTRSOURCE ,
CTNSTATUS : data . BLTYPE ,
CTNSTATUSTIME : data . BSDATE ,
PORT : record . PORT ,
YARD : record . YARD ,
CTNEF : '' ,
CTNEFREF : '空' ,
CRFEENAME : record . dCRFEENAME ,
CR : record . CR ,
CUSTNO : '' ,
MBLNO : '' ,
REMARK : ''
} ) ;
me . storeCtnrIn . add ( record ) ;
}
me . Save ( '0' ) ;
var win = Ext . getCmp ( "importWin" ) ;
win . close ( ) ;
} ,
failure : function ( form , action ) {
form . reset ( ) ;
Ext . Msg . show ( { title : Zi . LAN . ChuoWu , msg : Zi . LAN . ShangChuanGuoChengChuXianCuoWu , icon : Ext . Msg . ERROR , buttons : Ext . Msg . OK } ) ; //'上传过程出现错误!'
}
} ) ;
//imgform.form.submit({
// url: '/MvcContainer/MsOpCtnr/CtrnFromExcel',
// waitMsg: '正在上传', //'正在上传',
// method: 'POST',
// params: {
// bsno: BSNO
// },
// success: function (f, a) {
// var result = a.result,
// dataList = result.data;
// for (var i = 0; i < dataList.length; i++) {
// var record = dataList[i];
// var newid = NewGuid();
// record = Ext.create('MsOpCtnrDetail', {
// BSNO: '*',
// CTNGID: newid,
// CTNALL: record.data.CTNALL,
// CNTRNO: record.data.CNTRNO,
// CNTRSOURCE: record.data.CNTRSOURCE,
// CTNSTATUS: data.BLTYPE,
// CTNSTATUSTIME: data.BSDATE,
// PORT: record.data.PORT,
// YARD: record.data.YARD,
// CTNEF: '',
// CTNEFREF: '空',
// CRFEENAME: record.data.CRFEENAME,
// CR: record.data.CR,
// CUSTNO: '',
// MBLNO: '',
// REMARK: ''
// });
// this.storeCtnrIn.add(record);
// }
// var win = Ext.getCmp("importWin");
// win.close();
// Ext.Msg.alert('Success', result.Message);
// },
// failure: function (form, action) {
// form.reset();
// Ext.Msg.show({ title:'错误', msg:'上传的文件有误', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });//'上传过程出现错误!'
// }
//});
}
} , {
text : '关闭' , //'关闭',
type : 'submit' ,
handler : function ( ) {
win . close ( this ) ;
}
} ]
} ) ;
var win = new Ext . Window ( {
title : "上传EXCEL" , //"上传EXCEL",
width : 380 ,
height : 120 ,
id : 'importWin' ,
modal : true ,
resizable : false ,
border : false ,
items : imgform
} ) ;
win . show ( ) ;
return ;
} ,
MakeCtnrIn : function ( CNTRNO ) {
var store = null ;
var data = this . formEdit . getForm ( ) . getValues ( ) ;
store = this . storeCtnrIn ;
var record = null ;
if ( this . OpStatus == "add" ) {
BSNO = "" ;
} else {
BSNO = this . EditRecord . get ( 'BSNO' ) ;
}
var newid = NewGuid ( ) ;
record = Ext . create ( 'MsOpCtnrDetail' , {
BSNO : newid
} ) ;
store . add ( record ) ;
cellediting = this . cellEditing ;
var n = store . getCount ( ) ;
cellediting . startEditByPosition ( { row : n - 1 , column : 2 } ) ;
this . storeCtnrIn . each ( function ( record ) {
if ( record . get ( 'BSNO' ) == newid ) {
record . set ( 'ACCDATE' , Ext . util . Format . date ( currdate , 'Y-m' ) ) ;
}
} ) ;
}
//#endregion
} ) ;