///<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 . MsOpCtnrSellEdit = function ( config ) {
Ext . applyIf ( this , config ) ;
this . initUIComponents ( ) ;
window . Shipping . MsOpCtnrSellEdit . superclass . constructor . call ( this ) ;
} ;
Ext . extend ( Shipping . MsOpCtnrSellEdit , Ext . Panel , {
parentWin : null ,
OpStatus : 'add' ,
StoreList : null ,
EditRecord : null ,
parentRecord : null ,
PageSize : 500 ,
initUIComponents : function ( ) {
this . formname = 'MsCtnrSellEdit' ;
this . CtnrSellBodyDel = [ ] ;
_this = this ;
//#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
} ) ;
this . comboxCustCodeSearch = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '租买公司' ,
store : this . storeCustCode ,
forceSelection : true ,
queryMode : 'remote' ,
minChars : 0 ,
queryParam : 'CODENAME' ,
id : 'CUSTOMERNAMEBUY' ,
name : 'CUSTOMERNAMEBUY' ,
valueField : 'CustName' ,
displayField : 'CodeAndName' ,
allowBlank : true
} ) ;
//租买类型
Ext . define ( 'BLTypemb' , {
extend : 'Ext.data.Model' ,
fields : [
{ name : 'BLType' , type : 'string' }
]
} ) ;
var BLTypeData = [
{ "BLType" : "卖箱" } , { "BLType" : "退租" } , { "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' ,
value : '卖箱'
} ) ;
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 : 'CNTRSOURCE' ,
displayField : 'CNTRSOURCE'
} ) ;
//人员信息加载
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 . storeDept = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.DeptModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetDeptList' }
} ) ;
this . storeDept . load ( ) ;
this . comboxDept = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '所属部门' , //'所属部门',
store : this . storeDept ,
// flex: 0.5,
// labelWidth: 60,
forceSelection : true ,
name : 'SALEDEPT' ,
value : DEPTNAME ,
valueField : 'DeptName' ,
displayField : 'DeptName'
//,hidden: true
} ) ;
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 ,
name : 'PORTLOAD' ,
valueField : 'PORT' ,
displayField : 'CodeAndName' ,
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' ,
valueField : 'PORT' ,
queryMode : 'remote' ,
minChars : 1 ,
queryParam : 'PORT' ,
displayField : 'CodeAndName' ,
listeners : {
scope : this ,
blur : function ( field , The , eOpts ) {
field . setRawValue ( field . value ) ;
}
}
} ) ;
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 . storeRETURNYARD = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.CustomRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetCustomRefListYARD' }
} ) ;
this . storeRETURNYARD . load ( ) ;
//
this . comboxRETURNYARD = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '目的地场站' ,
store : this . storeRETURNYARD ,
forceSelection : true ,
queryMode : 'remote' ,
labelWidth : 80 ,
minChars : 0 ,
queryParam : 'CODENAME' ,
name : 'RETURNYARD' ,
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 . storeDetailYARD = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.CustomRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetCustomRefListYARD' }
} ) ;
this . storeDetailYARD . load ( ) ;
this . comboxRETURNYARDDetail = Ext . create ( 'DsExt.ux.RefTableCombox' , {
store : this . storeDetailYARD ,
forceSelection : true ,
queryMode : 'remote' ,
minChars : 0 ,
queryParam : 'CODENAME' ,
name : 'RETURNYARD' ,
valueField : 'CustName' ,
displayField : 'CodeAndName'
} ) ;
this . storeSource = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.SourceModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetSource' }
} ) ;
this . storeSource . load ( ) ;
this . storeSourceDetail = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.SourceDetailModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetSourceDetail2' }
} ) ;
this . comboxBSSOURCE = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '业务来源' , //'业务来源',
store : this . storeSource ,
// forceSelection: true,
name : 'BSSOURCE' ,
valueField : 'SourceName' ,
displayField : 'SourceName' ,
listeners : {
scope : this ,
'select' : function ( combo , records , eOpts ) {
if ( records . length > 0 ) {
var recs = DsStoreQueryBy ( this . storeSource , 'SourceID' , records [ 0 ] . data . SourceID ) ;
if ( recs . getCount ( ) > 0 ) {
var data = recs . getAt ( 0 ) . data ;
var s = "SOURCEID='" + data . SourceID + "'" ;
this . storeSourceDetail . load ( { params : { condition : s } } ) ;
} else {
var BSSOURCEDETAIL = this . formEdit . getForm ( ) . findField ( 'BSSOURCEDETAIL' ) ;
BSSOURCEDETAIL . setValue ( '' ) ;
}
}
}
}
} ) ;
this . storeSourceDetail . load ( ) ;
this . comboxBSSOURCEDETAIL = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '来源明细' , //'来源明细',
store : this . storeSourceDetail ,
// forceSelection: true,
name : 'BSSOURCEDETAIL' ,
valueField : 'SourceDetail' ,
displayField : 'SourceDetail'
} ) ;
//人员信息加载
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 ( ) ;
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 . storeRETURNTYPE = Ext . create ( 'DsExt.ux.RefEnumStore' , { } ) ;
this . storeRETURNTYPE . load ( { params : { enumTypeId : 99061 } } ) ;
this . comboxRETURNTYPE = Ext . create ( 'DsExt.ux.RefEnumCombox' , {
store : this . storeRETURNTYPE ,
fieldLabel : '处理方式' , //'来源明细',
name : 'RETURNTYPE' ,
valueField : 'EnumValueName' ,
displayField : 'EnumValueName'
} ) ;
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 : 270 ,
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 . comboxPORTDISCHARGE ,
this . comboxRETURNYARD
]
} ,
{
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [
{
fieldLabel : '提单号' ,
name : 'MBLNO'
} , {
fieldLabel : '运输工具' ,
name : 'VESSEL'
} , {
fieldLabel : '班次号' ,
name : 'VOYNO'
} , {
fieldLabel : '开航日期' ,
format : 'Y-m-d' ,
xtype : 'datefield' ,
name : 'ETD'
} , this . comboxSALE , this . comboxOP
]
} ,
{
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [
this . comboxBSSOURCE , this . comboxBSSOURCEDETAIL , this . comboxDept , {
fieldLabel : '生成费用' ,
readOnly : true ,
name : 'ISCREATEFEEREF'
} ,
{
fieldLabel : '生成业务费用' ,
readOnly : true ,
labelWidth : 120 ,
name : 'CREATEBSFEEREF'
} , {
fieldLabel : '箱型箱量' ,
readOnly : true ,
name : 'CNTRTOTAL'
}
]
} , {
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ {
fieldLabel : '最后一次更改人' ,
name : 'MODIFIEDUSER' ,
hidden : true
} , {
fieldLabel : '备注' ,
name : 'REMARK' ,
height : 40 ,
xtype : "textarea"
} ]
}
]
}
]
} ) ;
//#endregion
//#region 编辑
//数据集
this . storeCtnrSell = Ext . create ( 'Ext.data.Store' , {
model : 'MsOpCtnrDetail' ,
pageSize : this . PageSize ,
remoteSort : false ,
pruneModifiedRecords : true ,
proxy : {
type : 'ajax' ,
url : '/MvcContainer/MsOpCtnr/GetCtnrSellDetail' ,
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 : 100 , hidden : false , editor : {
xtype : 'textfield'
}
} ,
{
sortable : true ,
dataIndex : 'CTNEF' ,
header : '空重' ,
width : 40 ,
editor : this . comboxCTNEF ,
renderer : function ( value , p , record ) {
return record . data . CTNEFREF ;
}
} , {
sortable : true ,
dataIndex : 'CTNALL' ,
header : '箱型' ,
width : 40 ,
editor : this . comboxCTNALL
} , {
sortable : true ,
dataIndex : 'CNTRSOURCE' ,
header : '箱源' ,
width : 60 ,
editor : this . comboxCNTRSOURCEDetail
} , {
sortable : true ,
dataIndex : 'CTNSTATUS' ,
header : '当前箱动态' ,
width : 100 ,
editor : this . comboxCTNSTATUS
} ,
{
sortable : true ,
dataIndex : 'CTNSTATUSTIME' ,
header : '箱动态时间' ,
width : 100 ,
editor : {
xtype : 'datefield' ,
format : 'Y-m-d' ,
selectOnFocus : true
} ,
renderer : Ext . util . Format . dateRenderer ( 'Y-m-d' )
} ,
{
sortable : true ,
dataIndex : 'PORT' ,
header : '当前地点' ,
width : 100 ,
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 : 'DRFEENAME' ,
header : '应收费用名称' ,
width : 80 ,
editor : this . comboxFeeNameRef
} ,
{
sortable : true ,
dataIndex : 'DR' ,
header : '应收费用' ,
width : 80 ,
editor : {
xtype : 'textfield'
} ,
summaryType : 'sum' , align : 'right'
} ,
{
sortable : true ,
dataIndex : 'CRFEENAME' ,
header : '应付费用名称' ,
width : 80 ,
editor : this . comboxFeeNameRefCr
} ,
{
sortable : true ,
dataIndex : 'CR' ,
header : '应付费用' ,
width : 80 ,
editor : {
xtype : 'textfield'
}
} ,
{
sortable : true ,
dataIndex : 'MXCR' ,
header : '买箱成本' ,
summaryType : 'sum' , align : 'right'
} ,
{
sortable : true ,
dataIndex : 'RETURNYARD' ,
header : '目的地场站' ,
width : 80 ,
editor : this . comboxRETURNYARDDetail
} ,
{
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' ) ;
this . formCtnrInBody = new Ext . grid . GridPanel ( {
store : this . storeCtnrSell ,
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 : "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
} , '-' , {
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 . storeCtnrSell , _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 . storeAddDCType = Ext . create ( 'Ext.data.Store' , {
fields : [ 'DC' , 'NAME' ]
} ) ;
this . storeAddDCType . add ( { "DC" : "" , "NAME" : "" } ) ;
this . storeAddDCType . add ( { "DC" : "1" , "NAME" : "是" } ) ;
this . comboxaddDCType = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '需返箱' ,
labelWidth : 60 ,
store : this . storeAddDCType ,
valueField : 'DC' ,
displayField : 'NAME' ,
forceSelection : true ,
name : 'ISBERETURN' ,
value : '' ,
enableKeyEvents : true ,
listeners : {
keyup : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
}
} ) ;
this . formSearch = Ext . widget ( 'form' , {
frame : true ,
region : 'north' ,
bodyPadding : 5 ,
fieldDefaults : {
margins : '2 2 2 2' ,
labelAlign : 'right' ,
flex : 1 ,
labelWidth : 60 ,
msgTarget : 'qtip'
} ,
items : [
{ //fieldset 1
xtype : 'container' ,
defaultType : 'textfield' ,
layout : 'anchor' ,
defaults : {
anchor : '100%'
} ,
items : [ {
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ this . comboxOpLb , {
fieldLabel : '租买单号' ,
name : 'BuyBillNo' ,
enableKeyEvents : true ,
listeners : {
specialkey : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
}
} , this . comboxCustCodeSearch , {
fieldLabel : '箱号' ,
labelWidth : 30 ,
name : 'CNTRNO' ,
enableKeyEvents : true ,
listeners : {
specialkey : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
}
} ,
{
fieldLabel : '买箱时间从' ,
format : 'Y-m-d' ,
labelWidth : 70 ,
xtype : 'datefield' ,
name : 'BUY_BSDATE' ,
enableKeyEvents : true ,
listeners : {
specialkey : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
}
} , {
fieldLabel : '买箱时间到' ,
format : 'Y-m-d' ,
xtype : 'datefield' ,
labelWidth : 70 ,
name : 'BUY_BSDATETO' ,
enableKeyEvents : true ,
listeners : {
specialkey : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
}
} , this . comboxaddDCType , {
xtype : 'button' ,
text : "批量箱号查询" ,
iconCls : "btnsearch" ,
handler : function ( button , event ) {
this . formCntrList . getForm ( ) . findField ( 'CNTRNOLIST' ) . setValue ( '' ) ;
this . winCntrListShow . show ( ) ;
} ,
scope : this
} , {
xtype : 'button' ,
text : "查询" ,
iconCls : "btnsearch" ,
handler : function ( button , event ) {
this . onRefreshClick ( ) ;
} ,
scope : this
} , {
xtype : 'button' ,
text : "清空条件" ,
iconCls : "btnreset" ,
handler : function ( button , event ) {
this . onClearSql ( button , event ) ;
} ,
scope : this
}
]
}
] //end items(fieldset 1)
} //end fieldset 1
] //end root items
} ) ;
//#endregion
//region 数据表
//定义数据集
this . storeListSearch = Ext . create ( 'Ext.data.Store' , {
model : 'MsOpCtnrDetail' ,
pageSize : this . PageSize ,
remoteSort : false ,
pruneModifiedRecords : true ,
proxy : {
type : 'ajax' ,
url : '/MvcContainer/MsOpCtnr/GetCtnrSearchList' ,
reader : {
id : 'CTNGID' ,
root : 'data' ,
totalProperty : 'totalCount'
}
}
} ) ;
//定义Grid
_this = this ;
this . initgirdcolumsSearch = [
{
sortable : true , //1
dataIndex : 'CTNGID' ,
header : '惟一编号' ,
width : 80 , hidden : true
} , {
sortable : true , //1
dataIndex : 'CNTRNO' ,
header : '箱号' ,
width : 100
} ,
{
sortable : true ,
dataIndex : 'CTNEF' ,
header : '空重' ,
width : 60
} , {
sortable : true ,
dataIndex : 'CTNALL' ,
header : '箱型' ,
width : 60
} , {
sortable : true ,
dataIndex : 'CNTRSOURCE' ,
header : '箱源' ,
width : 80
} , {
sortable : true ,
dataIndex : 'CTNSTATUS' ,
header : '当前箱动态' ,
width : 100
} ,
{
sortable : true ,
dataIndex : 'CTNSTATUSTIME' ,
header : '箱动态时间' ,
width : 100 ,
renderer : Ext . util . Format . dateRenderer ( 'Y-m-d' )
} ,
{
sortable : true ,
dataIndex : 'ISBERETURNREF' ,
header : '需返箱' ,
width : 100
} ,
{
sortable : true ,
dataIndex : 'PORT' ,
header : '当前地点' ,
width : 100
} ,
{
sortable : true ,
dataIndex : 'YARD' ,
header : '当前场站' ,
width : 80
} ,
{
sortable : true ,
dataIndex : 'REMARK' ,
header : '备注' ,
width : 120
} ] ;
this . girdcolumsSearch = this . initgirdcolumsSearch ;
this . girdcolumsSearch = DsTruck . GetGridPanel ( USERID , this . formname , this . girdcolumsSearch , 0 ) ;
this . GridCheckBoxModelSearch = Ext . create ( 'Ext.selection.CheckboxModel' ) ;
this . gridListSearch = new Ext . grid . GridPanel ( {
store : this . storeListSearch ,
enableHdMenu : false ,
region : 'center' ,
loadMask : { msg : "数据加载中,请稍等..." } ,
trackMouseOver : true ,
disableSelection : false ,
selModel : this . GridCheckBoxModelSearch ,
tbar : [ {
text : '添加选中集装箱' ,
tooltip : '添加选中集装箱' ,
id : 'btnadd' ,
iconCls : "btnadd" ,
handler : function ( button , event ) {
this . onAddSelected ( ) ;
} ,
scope : this
} , '-' , {
text : "保存列表样式" ,
menu : [ {
text : "保存" ,
handler : function ( button , event ) {
_this . girdcolumsSearch = DsTruck . SaveGridPanel ( USERID , _this . formname , _this . gridListSearch . columns , _this . girdcolumsSearch , 0 , true ) ; //使用者id, 表名, 中间column数组, 跳过一开始的几列
}
} , {
text : "初始化" ,
handler : function ( menu , event ) {
_this . gridListSearch . reconfigure ( _this . storeListFee , _this . initgirdcolumsFee ) ;
_this . girdcolumsSearch = DsTruck . SaveGridPanel ( USERID , _this . formname , _this . gridListSearch . columns , _this . initgirdcolumsSearch , 0 , true ) ; //使用者id, 表名, 中间column数组, 跳过一开始的几列
}
} ] ,
scope : this
} ] ,
columns : this . girdcolumsSearch ,
viewConfig : {
enableTextSelection : true
}
} ) ;
this . gridListSearch . addListener ( 'itemdblclick' , function ( dataview , record , item , index , e , b ) {
//this.SelectedRecordSearch = record;
} , this ) ;
//#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//布局
parentWin = window . parent . opener ;
if ( parentWin ) {
var ret = parentWin . OprationSwap ( ) ;
this . OpStatus = ret [ 0 ] ; //edit
this . StoreList = ret [ 1 ] ;
this . EditRecord = ret [ 2 ] ; //SelectedRecord
this . parentRecord = ret [ 3 ] ;
}
this . panelTop = new Ext . Panel ( {
region : "north" ,
height : 200 ,
items : [ this . panelBtn , this . formEdit ]
} ) ;
//#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
this . panelDetail = new Ext . Panel ( {
layout : "border" ,
region : 'center' ,
items : [ this . formCtnrInBody ]
} ) ;
this . panelSearch = new Ext . Panel ( {
layout : "border" ,
region : 'south' ,
frame : true ,
height : 200 ,
resizable : true ,
items : [ this . formSearch , this . gridListSearch ]
} ) ;
this . page _1 = new Ext . Panel ( {
id : "page_1" ,
title : "卖箱信息" ,
layout : "border" ,
region : 'center' ,
items : [ this . panelDetail , this . panelSearch ]
} ) ;
this . page _2 = new Ext . Panel ( {
id : "page_2" ,
autoScroll : true ,
title : "卖箱相关应收应付费用" ,
layout : "border" ,
region : 'center' ,
items : [ this . panelChFee
]
} ) ;
//#region 明细表-单据图片档案管理
_this = this ;
this . storeDocList = Ext . create ( 'Ext.data.Store' , {
model : 'ReceiptDocmb' ,
remoteSort : true ,
proxy : {
type : 'ajax' ,
url : '/Import/ReceiptDoc/GetDocList' ,
reader : {
id : 'GID' ,
root : 'data' ,
totalProperty : 'totalCount'
}
}
} ) ;
//明细表表格
this . DocListCellEditing = Ext . create ( 'Ext.grid.plugin.CellEditing' , {
clicksToEdit : 1
} ) ;
this . DocCM = Ext . create ( 'Ext.selection.CheckboxModel' ) ;
this . gridDocList = new Ext . grid . GridPanel ( {
store : this . storeDocList ,
enableHdMenu : false ,
region : 'center' ,
loadMask : { msg : "数据加载中,请稍等..." } ,
trackMouseOver : true ,
disableSelection : false ,
plugins : [ this . DocListCellEditing ] ,
selModel : this . DocCM ,
selType : 'cellmodel' ,
tbar : [ {
text : '删除' ,
tooltip : '删除' ,
iconCls : "btndeletedetail" ,
handler : function ( button , event ) {
this . onDelFileClick ( button , event ) ;
} ,
scope : this
} , '-' , {
text : '上传附件' ,
tooltip : '上传附件' ,
iconCls : "btnadddetail" ,
handler : function ( button , event ) {
this . onUpLoadFileClick ( button , event ) ;
} ,
scope : this
} ] ,
columns : [ {
sortable : true , hidden : true ,
dataIndex : 'GID' ,
header : 'GID' ,
width : 80
} ,
{
sortable : true , hidden : true ,
dataIndex : 'R_GID' ,
header : 'R_GID' ,
width : 80
} ,
{
sortable : true , hidden : true ,
dataIndex : 'BSNO' ,
header : 'BSNO' ,
width : 80
} ,
{
sortable : true ,
dataIndex : 'URL' ,
header : '文件名' ,
width : 140 ,
renderer : function ( value , p , record ) {
return '<a href="' + record . data . Driect _URL + '" style=' + '"text-decoration:none"' + '>' + value + '</a>' ;
}
} ,
{
sortable : true , hidden : true ,
dataIndex : 'Driect_URL' ,
header : 'Driect_URL' ,
width : 80
} ,
{
sortable : true , hidden : true ,
dataIndex : 'MODIFIEDUSER' ,
header : 'MODIFIEDUSER' ,
width : 80
} ,
{
sortable : true ,
dataIndex : 'MODIFIEDUSERRef' ,
header : '上传人' ,
width : 80
} ,
{
sortable : true ,
dataIndex : 'MODIFIEDTIME' ,
header : '上传时间' ,
width : 135
}
]
} ) ;
this . panelDoc = new Ext . Panel ( {
id : "panelDoc" ,
layout : "border" ,
region : "center" ,
//width: 350,
title : '上传附件' , //autoScroll: true,
frame : false ,
split : true ,
items : [ this . gridDocList ]
} ) ;
//#endregion
this . MainTab = new Ext . tab . Panel ( {
layout : "border" ,
region : "center" , split : true ,
items : [ this . page _1 , this . page _2 , this . panelDoc ]
} ) ;
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 . formCntrList = 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 : '箱号' ,
name : 'CNTRNO' ,
enableKeyEvents : true ,
listeners : {
keyup : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
var cnlist = _this . formCntrList . getForm ( ) . findField ( 'CNTRNOLIST' ) . getValue ( ) ;
if ( cnlist == '' ) {
cnlist = field . value ;
} else {
cnlist = cnlist + '\n' + field . value ;
}
_this . formCntrList . getForm ( ) . findField ( 'CNTRNOLIST' ) . setValue ( cnlist ) ;
_this . formCntrList . getForm ( ) . findField ( 'CNTRNO' ) . setValue ( '' ) ;
}
}
}
}
]
} //container_1 end
,
{
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [
{
xtype : 'textareafield' ,
grow : true ,
flex : 2 ,
fieldLabel : '箱号列表' , //'AGENT',
height : 120 ,
name : 'CNTRNOLIST' ,
anchor : '100%'
}
]
}
]
}
]
} ) ;
this . winCntrListShow = Ext . create ( 'Ext.window.Window' , {
title : "批量箱号查询" , //"批量修改",
width : 820 ,
//height : 120,
//plain : true,
iconCls : "addicon" ,
resizable : false ,
// 是否可以拖动
// draggable:false,
collapsible : true , // 允许缩放条
closeAction : 'close' ,
closable : true ,
modal : 'true' ,
buttonAlign : "center" ,
bodyStyle : "padding:0 0 0 0" ,
items : [ this . formCntrList ] ,
buttons : [ {
text : '查询' , //"确认修改",
minWidth : 70 ,
handler : function ( ) {
_this . onCntrListClick ( )
_this . winCntrListShow . close ( ) ;
}
} , {
text : "取消" , //"关闭",
minWidth : 70 ,
handler : function ( ) {
_this . winCntrListShow . close ( ) ;
}
} ]
} ) ;
} , //end initUIComponents
onRefreshClick : function ( button , event ) {
var sql = this . getCondition ( ) ;
this . sqlcontext = sql ;
this . storeListSearch . load ( {
params : { start : 0 , limit : this . PageSize , sort : '' , condition : sql } ,
waitMsg : "正在查询数据..." ,
scope : this
} ) ;
} ,
onCntrListClick : function ( button , event ) {
var cntrliststr = this . formCntrList . getForm ( ) . findField ( 'CNTRNOLIST' ) . getValue ( ) ;
var sql = '' ;
if ( cntrliststr == '' ) {
Ext . Msg . show ( { title : '提示' , msg : '没有要查询的箱号' , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
return ;
}
var cntrlist = cntrliststr . match ( /.+[\n]*/g ) ; //按行匹配
for ( var j = 0 ; j < cntrlist . length ; j ++ ) {
if ( cntrlist [ j ] . replace ( /\n/g , "" ) != '' ) {
if ( sql == '' ) {
sql = sql + "'" + cntrlist [ j ] . replace ( /\n/g , "" ) + "'" ;
} else {
sql = sql + ",'" + cntrlist [ j ] . replace ( /\n/g , "" ) + "'" ;
}
}
}
if ( sql == '' ) {
Ext . Msg . show ( { title : '提示' , msg : '没有要查询的箱号' , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
return ;
}
sql = " detail.CNTRNO in (" + sql + ") "
this . sqlcontext = sql ;
this . storeListSearch . load ( {
params : { start : 0 , limit : this . PageSize , sort : '' , condition : sql } ,
waitMsg : "正在查询数据..." ,
scope : this
} ) ;
} ,
getCondition : function ( ) {
var form = this . formSearch . getForm ( ) ;
if ( ! form . isValid ( ) ) {
Ext . Msg . alert ( '提示' , '查询条件赋值错误,请检查。' ) ;
return '' ;
}
var sql = " ISNULL(detail.ISSTOP,0)=0 AND (ISNULL(detail.ISLOCK,'')='' or ISNULL(detail.ISLOCK,'')='0' ) AND (ISNULL(detail.CTNSTATUS,'')='可用') " ;
var BuyBILLNO = form . findField ( 'BuyBillNo' ) . getValue ( ) ;
if ( BuyBILLNO != '' && BuyBILLNO != null ) {
sql = " ctn.BILLNO like '%" + BuyBILLNO + "%'" ;
}
var ISBERETURN = form . findField ( 'ISBERETURN' ) . getValue ( ) ;
if ( ISBERETURN == '1' ) {
sql = " detail.ISBERETURN=1 " ;
}
var CUSTOMERNAMEBUY = form . findField ( 'CUSTOMERNAMEBUY' ) . getRawValue ( ) ;
sql = sql + getAndConSql ( sql , CUSTOMERNAMEBUY , " ctn.CUSTOMERNAME like '%" + CUSTOMERNAMEBUY + "%'" ) ;
var CNTRNO = form . findField ( 'CNTRNO' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , CNTRNO , " detail.CNTRNO like '%" + CNTRNO + "%'" ) ;
var BuyBSDATE = form . findField ( 'BUY_BSDATE' ) . getRawValue ( ) ;
sql = sql + getAndConSql ( sql , BuyBSDATE , " ctn.BSDATE >= '" + BuyBSDATE + "'" ) ;
var BSDATETO = form . findField ( 'BUY_BSDATETO' ) . getRawValue ( ) ;
if ( BSDATETO != '' && BSDATETO != null ) {
sql = sql + getAndConSql ( sql , BSDATETO , " ctn.BSDATE <= '" + BSDATETO + "'" ) ;
}
return sql ;
} ,
onClearSql : function ( ) {
var form = this . formSearch . getForm ( ) ;
form . reset ( ) ;
//this.InitData();
} ,
//添加选中的箱子到卖箱明细
onAddSelected : function ( ) {
var BILLNO = this . formEdit . getForm ( ) . findField ( 'BILLNO' ) . getValue ( ) ;
if ( BILLNO == '' ) {
Ext . Msg . show ( { title : '提示' , msg : '请先保存业务信息!' , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
return ;
}
var selectedRecords = this . GridCheckBoxModelSearch . selected . items ;
if ( selectedRecords . length == 0 ) {
Ext . Msg . show ( { title : '提示' , msg : '请先选择要添加的集装箱!' , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
return ;
}
var data = this . formEdit . getForm ( ) . getValues ( ) ;
store = this . storeCtnrSell ;
var record = null ;
var BSNO = '' ;
var PORT = '' ;
var YARD = '' ;
PORT = data . PORTDISCHARGE ;
YARD = data . YARD ;
var BLTYPE = data . BLTYPE ;
var RETURNYARD = data . RETURNYARD ;
//var btnadd = Ext.getCmp('btnadd');
//btnadd.disable();
var store = this . storeCtnrSell ;
var myDate = new Date ( ) ;
var mydatestr = Ext . util . Format . date ( myDate , 'Y-m-d' ) ;
var bodydatas = [ ] ;
for ( var i = 0 ; i < selectedRecords . length ; i ++ ) {
recordSearch = selectedRecords [ i ] ;
bodydatas . push ( recordSearch ) ;
var recs = DsStoreQueryBy ( store , 'CNTRNO' , recordSearch . data . CNTRNO ) ;
if ( recs . getCount ( ) > 0 ) {
} else {
var record = null ;
record = Ext . create ( 'MsOpCtnrDetail' , {
BSNO : "*" ,
CTNGID : recordSearch . data . CTNGID ,
CTNALL : recordSearch . data . CTNALL ,
CNTRNO : recordSearch . data . CNTRNO ,
CNTRSOURCE : recordSearch . data . CNTRSOURCE ,
CTNSTATUS : BLTYPE ,
CTNSTATUSTIME : mydatestr ,
PORT : PORT ,
YARD : YARD ,
RETURNYARD : RETURNYARD ,
CTNEF : recordSearch . data . CTNEF ,
CTNEFREF : recordSearch . data . CTNEFREF ,
CUSTNO : recordSearch . data . CUSTNO ,
MBLNO : recordSearch . data . MBLNO ,
REMARK : recordSearch . data . REMARK
} ) ;
store . add ( record ) ;
}
this . storeListSearch . remove ( recordSearch ) ;
}
//var currBody = ConvertRecordsToJsonAll(bodydatas);
//var data = this.formEdit.getForm().getValues();
//Ext.Ajax.request({
// waitMsg: '正在添加数据...',
// url: '/MvcContainer/MsOpCtnr/AddSellDetail',
// params: {
// OpStatus: this.OpStatus,
// data: data,
// ctndetail: currBody
// },
// callback: function (options, success, response) {
// if (success) {
// var result = Ext.JSON.decode(response.responseText);
// if (!result.Success) {
// btnadd.enable();
// Ext.Msg.show({
// title: '提示',
// msg: result.Message,
// icon: Ext.MessageBox.ERROR,
// buttons: Ext.Msg.OK
// });
// return;
// } else {
// }
// } else {
// btnadd.enable();
// Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
// }
// },
// scope: this
//});
} ,
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 . storeCtnrSell ;
var myDate = new Date ( ) ;
var record = null ;
var BSNO = '' ;
var PORT = '' ;
var YARD = '' ;
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' ) ;
}
var newid = NewGuid ( ) ;
record = Ext . create ( 'MsOpCtnrDetail' , {
CTNGID : newid ,
CTNALL : '' ,
CNTRNO : '' ,
CNTRSOURCE : CNTRSOURCE ,
CTNSTATUS : '' ,
CTNSTATUSTIME : Ext . util . Format . date ( myDate , 'Y-m-d' ) ,
PORT : PORT ,
YARD : YARD ,
CTNEF : '' ,
CUSTNO : '' ,
MBLNO : '' ,
REMARK : ''
} ) ;
store . 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 ;
}
var data = this . formEdit . getForm ( ) . getValues ( ) ;
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 . storeCtnrSell . remove ( selectedRecords [ i ] ) ;
} else {
CtnrIndatas . push ( rec ) ;
}
}
if ( CtnrIndatas . length > 0 ) {
var CtnrInBody = ConvertRecordsToJsonAll ( CtnrIndatas ) ;
Ext . Msg . wait ( '正在删除...' ) ;
Ext . Ajax . request ( {
waitMsg : '正在删除...' , //'正在删除数据...',
url : '/MvcContainer/MsOpCtnr/DeleteSellDetail' ,
params : {
headdata : Ext . JSON . encode ( data ) ,
data : CtnrInBody ,
bsno : bsno
} ,
callback : function ( options , success , response ) {
if ( success ) {
var jsonresult = Ext . JSON . decode ( response . responseText ) ;
if ( jsonresult . Success ) {
this . storeCtnrSell . 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 ) ;
} ,
onUpdateCtnrYardClick : function ( button , event , type ) {
var bsno = this . formEdit . getForm ( ) . findField ( 'BSNO' ) . getValue ( ) ;
var PORTDISCHARGE = this . formEdit . getForm ( ) . findField ( 'PORTDISCHARGE' ) . getValue ( ) ;
var selectedRecords = [ ] ;
_this = this ;
selectedRecords = this . CheckBoxModel . selected . items ;
if ( selectedRecords . length == 0 ) {
Ext . Msg . show ( { title : '提示' , msg : '请先选择要更新的集装箱信息!' , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
return ;
}
var data = this . formEdit . getForm ( ) . getValues ( ) ;
Ext . MessageBox . confirm ( '提示' , '确定要更新选中的集装箱信息,确认到场吗?' , function ( btn ) {
if ( btn == 'yes' ) {
if ( selectedRecords . length > 0 ) {
var CtnrIndatas = [ ] ;
for ( var i = 0 ; i < selectedRecords . length ; i ++ ) {
var memberyf = selectedRecords [ i ] ;
memberyf . data . PORT = PORTDISCHARGE ;
memberyf . data . YARD = memberyf . data . RETURNYARD ;
memberyf . data . CTNSTATUS = '在场' ;
memberyf . data . CTNSTATUSTIME = Ext . util . Format . date ( currdate , 'Y-m-d' ) ,
memberyf . commit ( ) ;
CtnrIndatas . push ( memberyf ) ;
}
if ( CtnrIndatas . length > 0 ) {
var CtnrInBody = ConvertRecordsToJsonAll ( CtnrIndatas ) ;
Ext . Msg . wait ( '正在更新...' ) ;
Ext . Ajax . request ( {
waitMsg : '正在更新...' , //'正在删除数据...',
url : '/MvcContainer/MsOpCtnr/SaveSellDetail' ,
params : {
headdata : Ext . JSON . encode ( data ) ,
data : CtnrInBody ,
bsno : bsno
} ,
callback : function ( options , success , response ) {
if ( success ) {
var jsonresult = Ext . JSON . decode ( response . responseText ) ;
if ( jsonresult . Success ) {
this . storeCtnrSell . 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 . storeCtnrSell . getCount ( ) ; i ++ ) {
var _t = parseInt ( this . storeCtnrSell . 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
this . parentRecord = ret [ 3 ] ;
}
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=1) " } } ) ;
this . panelFee . storeBodySum . load ( {
params : { bsno : this . panelFee . strBSNO , optype : "op_other" } ,
callback : function ( r , options , success ) {
if ( success ) {
_this . panelFee . setTotalHead ( ) ;
}
}
} ) ;
this . panelFee . storeChFeeGain . load ( { params : { bsno : this . panelFee . strBSNO , optype : "op_other" } } ) ;
} else {
Ext . MessageBox . alert ( '请求出现错误,请重试' , response . responseText ) ;
}
} ,
scope : this
} ) ; //request over
if ( this . OpStatus == 'edit' ) {
var BSNO = this . EditRecord . get ( 'BSNO' ) ;
this . storeCtnrSell . load ( {
params : { start : 0 , limit : this . PageSize , sort : '' , condition : " mng.BSNO='" + BSNO + "'" } ,
waitMsg : "正在查询数据..." ,
scope : this
} ) ;
var acondition = " BSNO='" + this . EditRecord . get ( 'BSNO' ) + "'" ;
_this . Loading = true ;
_this . storeDocList . load ( {
params : { condition : acondition } ,
waitMsg : "正在查询数据..." ,
scope : this ,
callback : function ( ) {
_this . Loading = false ;
}
} ) ;
}
} , // 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 . storeCtnrSell . getCount ( ) ; i += 1 ) {
var member = this . storeCtnrSell . getAt ( i ) ;
var CTNSTATUSTIME = member . data . CTNSTATUSTIME ;
if ( CTNSTATUSTIME != '' )
CTNSTATUSTIME = Ext . util . Format . date ( CTNSTATUSTIME , 'Y-m-d' ) ;
member . data . CTNSTATUSTIME = CTNSTATUSTIME ;
CtnrIndatas . push ( member ) ;
}
var CtnrInBody = ConvertRecordsToJsonAll ( CtnrIndatas ) ;
var CtnrInBodyDel = ConvertRecordsToJsonAll ( this . CtnrSellBodyDel ) ;
var _this = this ;
Ext . Msg . wait ( '正在保存数据, 请稍侯..' ) ;
Ext . Ajax . request ( {
waitMsg : '正在保存数据...' ,
url : '/MvcContainer/MsOpCtnr/SaveSell' ,
scope : this ,
async : false ,
params : {
OpStatus : this . OpStatus ,
data : Ext . JSON . encode ( data ) ,
CtnrInBody : CtnrInBody ,
CtnrInBodyDel : CtnrInBodyDel
} ,
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 . storeCtnrSell . commitChanges ( ) ;
if ( type == '0' ) {
this . OpStatus = 'edit' ;
var BSNO = _this . EditRecord . get ( 'BSNO' ) ;
this . storeCtnrSell . load ( {
params : { start : 0 , limit : this . PageSize , sort : '' , condition : " mng.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 ) ;
}
}
} ,
gridAfterEdit : function ( editor , e , eOpts ) {
//需要自己实现里面的事件
if ( e . field == 'CTNEF' ) {
var isctn = e . value ;
if ( isctn == 'F' )
e . record . set ( 'CTNEFEF' , "重" ) ;
else
e . record . set ( 'CTNEFREF' , "空" ) ;
} else if ( e . field == 'DRFEENAME' ) {
var DRFEENAME = e . record . data [ 'DRFEENAME' ] ;
for ( var j = 0 ; j < this . storeCtnrIn . getCount ( ) ; j += 1 ) {
var memberbody = this . storeCtnrIn . getAt ( j ) ;
if ( memberbody . data . DRFEENAME == "" || memberbody . data . DRFEENAME == NaN || memberbody . data . DRFEENAME == null ) {
memberbody . set ( "DRFEENAME" , DRFEENAME ) ;
// memberbody.commit();
}
} ;
} 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();
}
} ;
}
} ,
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 . storeCtnrSell . getCount ( ) ; i += 1 ) {
var member = this . storeCtnrSell . 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 : "op_other" , condition : "((BSNO = '" + this . panelFee . strBSNO + "' OR WMSOUTBSNO='" + this . panelFee . strBSNO + "') and feetype=1) " } } ) ;
this . panelFee . storeCrChFee . load ( { params : { billno : this . panelFee . strBSNO , type : 2 , optype : "op_other" , condition : "((BSNO = '" + this . panelFee . strBSNO + "' OR WMSOUTBSNO='" + this . panelFee . strBSNO + "') and feetype=1) " } } ) ;
this . LoadData ( this . OpStatus , "BSNO='" + bsno + "'" ) ;
} else {
Ext . MessageBox . alert ( '提示' , result . Message ) ;
return ;
}
} else {
Ext . MessageBox . alert ( '请求出现错误,请重试' , response . responseText ) ;
}
}
}
} ) ;
} ,
onDelFileClick : function ( button , event ) {
var feeGidSql = '' ;
var selectedRecords = [ ] ;
selectedRecords = this . DocCM . 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 ) {
for ( var i = 0 ; i < selectedRecords . length ; i ++ ) {
var rec = selectedRecords [ i ] ;
if ( rec . data . GID == "*" ) //如果是新增但没有保存的数据,没有必要提交到后台
{
this . storeDocList . remove ( selectedRecords [ i ] ) ;
} else {
var feeGId = "'" + rec . data . GID + "'" ;
if ( feeGidSql == '' ) {
feeGidSql = feeGId ;
} else {
feeGidSql = feeGidSql + "," + feeGId ;
}
}
}
}
_this = this ;
Ext . Msg . wait ( '正在删除数据...' ) ;
if ( feeGidSql != '' ) {
Ext . Ajax . request ( {
waitMsg : '正在删除数据...' ,
url : '/MvcContainer/MsOpReceipt/DeleteUploadFile' ,
params : {
data : feeGidSql
} ,
callback : function ( options , success , response ) {
if ( success ) {
var jsonresult = Ext . JSON . decode ( response . responseText ) ;
if ( jsonresult . Success ) {
for ( var i = 0 ; i < selectedRecords . length ; i ++ ) {
this . storeDocList . remove ( selectedRecords [ i ] ) ;
}
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 } ) ;
} ,
success : function ( response , options ) {
} ,
scope : this
} ) ; //end Ext.Ajax.request
} else {
Ext . Msg . show ( { title : '提示' , msg : "删除成功!" , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
}
}
} , this ) ;
}
, onUpLoadFileClick : function ( button , event ) {
var billno = this . EditRecord . get ( "BSNO" ) ;
var custno = this . EditRecord . get ( "BILLNO" ) ;
me = this ;
var imgform = new Ext . FormPanel ( {
region : 'center' ,
labelWidth : 40 ,
frame : true ,
bodyStyle : 'padding:5px 5px 0' ,
autoScroll : true ,
border : false ,
fileUpload : true ,
items : [ {
xtype : 'fileuploadfield' ,
id : 'LoadFile' ,
name : 'LoadFile' ,
emptyText : '请选择文件' ,
fieldLabel : '文件' ,
buttonText : '选择文件' ,
allowBlank : false ,
buttonCfg :
{
iconCls : 'uploaddialog'
} ,
anchor : '98%'
} ] ,
buttons : [ {
text : '上传' ,
type : 'submit' ,
handler : function ( ) {
var UserFilePath = Ext . getCmp ( 'LoadFile' ) . getValue ( ) ;
// if (!CheckFileExt(UserFilePath, /.jpg|.gif|.png|.bmp|.pdf/i)) {
// Ext.Msg.show({ title: '错误', msg: '请确认你上传的文件为图片文件!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
// return;
// }
if ( ! imgform . form . isValid ( ) ) { return ; }
imgform . form . submit ( {
url : '/MvcContainer/MsOpReceipt/UploadFile' ,
waitMsg : '正在上传' ,
method : 'POST' ,
submitEmptyText : false ,
async : false ,
params : {
CUSTNO : custno ,
BSNO : billno
} ,
success : function ( form , action ) {
win . close ( this ) ;
Ext . Msg . show ( { title : '提示' , msg : '上传成功!' , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
var condition = billno ;
var condition2 = " BSNO='" + condition + "' " ;
me . Loading = true ;
me . storeDocList . load ( {
params : { condition : condition2 } ,
waitMsg : "正在查询数据..." ,
scope : this ,
callback : function ( ) {
me . Loading = false ;
}
} ) ;
} ,
failure : function ( form , action ) {
form . reset ( ) ;
if ( action . failureType == Ext . form . Action . SERVER _INVALID )
Ext . MessageBox . alert ( '警告' , '上传过程中出现错误!' ) ;
}
} ) ;
}
} , {
text : '关闭' ,
type : 'submit' ,
handler : function ( ) {
win . close ( this ) ;
}
} ]
} ) ;
var win = new Ext . Window ( {
title : "上传文件" ,
width : 360 ,
height : 120 ,
modal : true ,
resizable : false ,
border : false ,
items : imgform
} ) ;
win . show ( ) ;
} ,
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
} ) ;
}
//#endregion
//#endregion
} ) ;