Ext . namespace ( 'Shipping' ) ;
Shipping . MsCwVouchersGlSettlementIndex = function ( config ) {
Ext . applyIf ( this , config ) ;
this . initUIComponents ( ) ;
window . Shipping . MsCwVouchersGlSettlementIndex . superclass . constructor . call ( this ) ;
} ;
Ext . extend ( Shipping . MsCwVouchersGlSettlementIndex , Ext . Panel , {
PageSize : 100 ,
SelectedRecord : null ,
OprationStatus : null , //仅当弹出界面时使用
sqlcontext : '' ,
strCwSTARTGID : '' ,
initUIComponents : function ( ) {
this . formname = "MsCwVouGlSettlementIndex" ; //结算凭证
this . sqlcontext = "" ;
_this = this ;
//#region formSearch 下拉框信息加载
//凭证状态
Ext . define ( 'ISVOUALLNOModel' , { extend : 'Ext.data.Model' , fields : [ { name : 'Name' , type : 'string' } ] } ) ;
var dataISVOUALLNO = [ { "Name" : "未生成" } , { "Name" : "已生成" } , { "Name" : "" } ] ;
var storeISVOUALLNO = Ext . create ( 'Ext.data.Store' , { model : 'ISVOUALLNOModel' , data : dataISVOUALLNO } ) ;
this . comboxISVOUALLNO = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '凭证状态' ,
forceSelection : true ,
store : storeISVOUALLNO ,
id : 'ISVOUALLNO' ,
name : 'ISVOUALLNO' ,
labelAlign : 'right' ,
valueField : 'Name' ,
displayField : 'Name' ,
value : "未生成" ,
enableKeyEvents : true , //激活键盘事件
listeners : {
scope : this ,
'keyup' : {
fn : function ( _field , e ) {
if ( e . getKey ( ) == 13 ) {
this . onRefreshClick ( ) ;
}
} ,
scope : this
}
}
} ) ;
//结算类型
Ext . define ( 'BILLTYPEModel' , { extend : 'Ext.data.Model' , fields : [ { name : 'Name' , type : 'string' } ] } ) ;
var dataBILLTYPE = [ { "Name" : "应收结算" } , { "Name" : "应付结算" } , { "Name" : "" } ] ;
var storeBILLTYPE = Ext . create ( 'Ext.data.Store' , { model : 'BILLTYPEModel' , data : dataBILLTYPE } ) ;
this . comboxBILLTYPE = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '结算类型' ,
forceSelection : true ,
store : storeBILLTYPE ,
id : 'BILLTYPE' ,
name : 'BILLTYPE' ,
labelAlign : 'right' ,
valueField : 'Name' ,
displayField : 'Name' ,
value : "收费结算" ,
enableKeyEvents : true , //激活键盘事件
listeners : {
scope : this ,
'keyup' : {
fn : function ( _field , e ) {
if ( e . getKey ( ) == 13 ) {
this . onRefreshClick ( ) ;
}
} ,
scope : this
}
}
} ) ;
//是否垫付
Ext . define ( 'ISADVANCEDPAYModel' , { extend : 'Ext.data.Model' , fields : [ { name : 'Name' , type : 'string' } ] } ) ;
var dataISADVANCEDPAY = [ { "Name" : "是" } , { "Name" : "否" } , { "Name" : "" } ] ;
var storeISADVANCEDPAY = Ext . create ( 'Ext.data.Store' , { model : 'ISADVANCEDPAYModel' , data : dataISADVANCEDPAY } ) ;
this . comboxISADVANCEDPAY = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '是否垫付' ,
forceSelection : true ,
store : storeISADVANCEDPAY ,
name : 'ISADVANCEDPAY' ,
labelAlign : 'right' ,
valueField : 'Name' ,
displayField : 'Name' ,
value : '' ,
enableKeyEvents : true , //激活键盘事件
listeners : {
scope : this ,
'keyup' : {
fn : function ( _field , e ) {
if ( e . getKey ( ) == 13 ) {
this . onRefreshClick ( ) ;
}
} ,
scope : this
}
}
} ) ;
//是否禁开发票
Ext . define ( 'ISINVOICEModel' , { extend : 'Ext.data.Model' , fields : [ { name : 'Name' , type : 'string' } ] } ) ;
var dataISINVOICE = [ { "Name" : "是" } , { "Name" : "否" } , { "Name" : "" } ] ;
var storeISINVOICE = Ext . create ( 'Ext.data.Store' , { model : 'ISINVOICEModel' , data : dataISINVOICE } ) ;
this . comboxISINVOICE = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '禁开发票' ,
forceSelection : true ,
store : storeISINVOICE ,
name : 'ISINVOICE' ,
labelAlign : 'right' ,
valueField : 'Name' ,
displayField : 'Name' ,
value : '' ,
enableKeyEvents : true , //激活键盘事件
listeners : {
scope : this ,
'keyup' : {
fn : function ( _field , e ) {
if ( e . getKey ( ) == 13 ) {
this . onRefreshClick ( ) ;
}
} ,
scope : this
}
}
} ) ;
//所属公司, 需求编号: SR2017062800002
Ext . define ( 'SubComp' , {
extend : 'Ext.data.Model' ,
fields : [
{ name : 'GID' , type : 'string' } ,
{ name : 'NAME' , type : 'string' } ,
{ name : 'ENNAME' , type : 'string' }
]
} ) ;
this . StoreSubComp = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'SubComp' ,
proxy : { url : '/MvcShipping/MsBaseInfo/GetCompanyEN' }
} ) ;
this . StoreSubComp . load ( { params : { condition : "" } } ) ;
this . comboxSubComp = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '所属公司' ,
store : this . StoreSubComp ,
name : 'SUBCOMP' ,
valueField : 'GID' ,
displayField : 'NAME' ,
value : COMPANYID ,
enableKeyEvents : true ,
listeners : {
keyup : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
}
} ) ;
//#endregion
//#region 账单所属公司
Ext . define ( 'SubComp' , {
extend : 'Ext.data.Model' ,
fields : [
{ name : 'GID' , type : 'string' } ,
{ name : 'NAME' , type : 'string' } ,
{ name : 'ENNAME' , type : 'string' }
]
} ) ;
this . StoreSALECORP = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'SubComp' ,
proxy : { url : '/MvcShipping/MsBaseInfo/GetCompanyEN' }
} ) ;
this . StoreSALECORP . load ( { params : { condition : "" } } ) ;
this . comboxSALECORP = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '账单所属公司' ,
store : this . StoreSALECORP ,
name : 'SALECORP' ,
valueField : 'GID' ,
displayField : 'NAME' ,
value : '' ,
labelWidth : 100 ,
enableKeyEvents : true ,
listeners : {
keyup : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
}
} ) ;
this . StoreBANK = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'BANK' ,
proxy : { url : '/MvcShipping/MsBaseInfo/GetBANKList' }
} ) ;
this . StoreBANK . load ( { params : { condition : "" } } ) ;
this . comboxBANK = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '结算银行' ,
store : this . StoreBANK ,
forceSelection : true ,
name : 'ACCOUNT' ,
valueField : 'GID' ,
displayField : 'BANKACCOUNT'
} ) ;
//#endregion
//#region formSearch 查询面板
this . formSearch = Ext . widget ( 'form' , {
frame : true ,
region : 'center' ,
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 . comboxISVOUALLNO , {
fieldLabel : '凭证号' ,
name : 'VOUALLNO' ,
enableKeyEvents : true , //激活键盘事件
listeners : {
scope : this ,
'keyup' : {
fn : function ( _field , e ) {
if ( e . getKey ( ) == 13 ) {
this . onRefreshClick ( ) ;
}
} ,
scope : this
}
}
} , this . comboxBILLTYPE , {
fieldLabel : '结算单号' ,
name : 'BsNo' ,
enableKeyEvents : true ,
listeners : {
keyup : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
this . onRefreshClick ( ) ;
}
}
}
} , this . comboxSubComp , this . comboxSALECORP , {
fieldLabel : '结算金额' ,
name : 'StlAmount' ,
enableKeyEvents : true ,
listeners : {
specialkey : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
}
} ] //所属公司, 需求编号: SR2017062800002
} , {
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ {
fieldLabel : '结算单位' ,
name : 'CustName' ,
enableKeyEvents : true ,
listeners : {
keyup : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
this . onRefreshClick ( ) ;
}
}
}
} , {
fieldLabel : '结算日期' ,
format : 'Y-m-d' ,
xtype : 'datefield' ,
name : 'ExpDateBgn' ,
enableKeyEvents : true ,
listeners : {
keyup : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
this . onRefreshClick ( ) ;
}
}
}
} , {
fieldLabel : '到' ,
format : 'Y-m-d' ,
xtype : 'datefield' ,
name : 'ExpDateEnd' ,
enableKeyEvents : true ,
listeners : {
keyup : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
this . onRefreshClick ( ) ;
}
}
}
} , this . comboxISADVANCEDPAY , this . comboxISINVOICE , this . comboxBANK , { xtype : 'hiddenfield' , flex : 1 } ]
} ] //end items(fieldset 1)
} ] //end root items
} ) ;
//#endregion formSearch
//#region 定义数据集
this . storeList = Ext . create ( 'Ext.data.Store' , {
pageSize : this . PageSize ,
model : 'MsCwVouchersGlSettlementModel' ,
remoteSort : true ,
proxy : {
type : 'ajax' ,
url : '/MvcShipping/MsCwVouchersGlSettlement/GetDataList' ,
reader : {
id : 'GID' ,
root : 'data' ,
totalProperty : 'totalCount'
}
}
} ) ;
//#endregion
//#region 定义列
this . Pagenum = Ext . create ( 'Ext.form.field.Number' , {
name : 'bottles' ,
fieldLabel : '每页记录数' , //每页记录数
labelAlign : 'right' ,
value : this . PageSize ,
maxValue : 100000 ,
width : 180 ,
minValue : 0 ,
listeners : {
specialkey : function ( field , e ) {
if ( e . getKey ( ) == e . ENTER ) {
_this . onRefreshClick ( ) ;
}
}
}
} ) ;
Ext . grid . RowNumberer = Ext . extend ( Ext . grid . RowNumberer , {
width : 30
} ) ;
this . GridCheckBoxModel = Ext . create ( 'Ext.selection.CheckboxModel' ) ;
this . initgirdcolums = [ {
dataIndex : 'GID' ,
header : 'GID' ,
hidden : true ,
width : 0
} , {
sortable : true ,
dataIndex : 'BILLNO' ,
header : '结算单号' ,
width : 120
} , {
sortable : true ,
dataIndex : 'BILLSTATUSREF' ,
header : '状态' ,
width : 50
} , {
sortable : true ,
dataIndex : 'CUSTOMERNAME' ,
header : '结算单位' ,
width : 120
} , {
sortable : true ,
dataIndex : 'SALECORP' ,
header : '账单所属公司' ,
width : 120
} , {
sortable : true ,
dataIndex : 'BILLTYPENAME' ,
header : '结算类型' ,
width : 80
} , {
sortable : true ,
dataIndex : 'SETTLEMODEREF' ,
header : '结算类别' ,
width : 60
} , {
sortable : true ,
dataIndex : 'SETTLETYPEREF' ,
header : '结算方式' ,
width : 60
} , {
sortable : true ,
dataIndex : 'NOINVOICE' ,
header : '未开票' ,
renderer : function ( value , cellmeta , record , rowIndex , columnIndex , store ) { try { var lsValue = usMoney ( value , 2 , '' , false ) ; if ( lsValue != "NaN" ) { value = lsValue ; if ( parseFloat ( lsValue ) < 0 ) { return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>' ; } } else { return value ; } } catch ( e ) { return value ; } return value ; } ,
align : 'right' ,
width : 120
} , {
sortable : true ,
dataIndex : 'AMOUNTRMB' ,
header : 'RMB' ,
summaryType : 'sum' , align : 'right' ,
summaryRenderer : function ( value , cellmeta , record , rowIndex , columnIndex , store ) {
value = usMoney ( value , 2 , '' , true ) ;
return value ;
} ,
renderer : function ( value , cellmeta , record , rowIndex , columnIndex , store ) { try { var lsValue = usMoney ( value , 2 , '' , false ) ; if ( lsValue != "NaN" ) { value = lsValue ; if ( parseFloat ( lsValue ) < 0 ) { return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>' ; } } else { return value ; } } catch ( e ) { return value ; } return value ; } ,
align : 'right' ,
width : 120
} , {
sortable : true ,
dataIndex : 'AMOUNTUSD' ,
header : 'USD' ,
summaryType : 'sum' , align : 'right' ,
summaryRenderer : function ( value , cellmeta , record , rowIndex , columnIndex , store ) {
value = usMoney ( value , 2 , '' , true ) ;
return value ;
} ,
renderer : function ( value , cellmeta , record , rowIndex , columnIndex , store ) { try { var lsValue = usMoney ( value , 2 , '' , false ) ; if ( lsValue != "NaN" ) { value = lsValue ; if ( parseFloat ( lsValue ) < 0 ) { return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>' ; } } else { return value ; } } catch ( e ) { return value ; } return value ; } ,
align : 'right' ,
width : 120
} , {
sortable : true ,
dataIndex : 'ACCOUNTREF' ,
header : '结算账户' ,
width : 150
} , {
sortable : true ,
dataIndex : 'SETTLETIME' ,
header : '结算日期' ,
width : 100
} , {
sortable : true ,
dataIndex : 'SETTLEUSERREF' ,
header : '结算人' ,
width : 100
} , {
sortable : true ,
dataIndex : 'ISEXPORT' ,
header : '是否导出凭证' ,
width : 120 ,
renderer : function ( value , meta , record ) {
if ( value == true ) {
value = '是' ;
} else value = '否' ;
return value ;
}
} , {
sortable : true ,
dataIndex : 'ISNOTVOU' ,
header : '禁止生成凭证' ,
width : 120 ,
renderer : function ( value , meta , record ) {
if ( value == true ) {
value = '是' ;
} else value = '否' ;
return value ;
}
} , {
sortable : true ,
dataIndex : 'REMARK' ,
header : '备注' ,
width : 160
} , {
sortable : true ,
dataIndex : 'VOUCHERNO' ,
header : '总账凭证号' ,
width : 150
} ] ;
//#endregion
this . girdcolums = DsTruck . GetGridPanel ( USERID , this . formname , this . initgirdcolums , 1 ) ;
this . girdcolums . unshift ( new Ext . grid . RowNumberer ( ) ) ;
//#region List列表显示信息
this . gridList = new Ext . grid . GridPanel ( {
store : this . storeList ,
region : 'center' ,
loadMask : { msg : "数据加载中,请稍等..." } ,
enableHdMenu : false , //是否显示表格列的菜单
stripeRows : true , //斑马线效果
rowLines : true ,
columnLines : true ,
columns : this . girdcolums ,
selModel : this . GridCheckBoxModel ,
viewConfig : {
enableTextSelection : true , //允许复制数据
autoFill : true
} ,
features : [ {
ftype : 'summary' //Ext.grid.feature.Summary表格汇总特性
} ] ,
// paging bar on the bottom
bbar : [ Ext . create ( 'Ext.PagingToolbar' , {
store : this . storeList ,
displayInfo : true ,
displayMsg : '当前显示 {0} - {1}条记录 /共 {2}条记录' ,
emptyMsg : "没有数据"
} ) , this . Pagenum ]
} ) ;
/////////////以下部分为获取存储的gridpanel显示样式
//this.column = DsTruck.GetGridPanel(USERID, this.formname, this.girdcolums, 1); //使用者id, 表名, 中间column数组, 跳过一开始的几列
//this.gridList.reconfigure(this.storeList, this.girdcolums);
////////////////////////////////////////////////
this . gridList . addListener ( 'itemdblclick' , function ( dataview , record , item , index , e , b ) {
this . SelectedRecord = record ;
this . OprationStatus = 'edit' ;
//收
if ( record . data . BILLTYPENAME . toString ( ) == '应收结算' && record . data . SETTLEMODE == 1 ) {
DsOpenEditWin ( '/MvcShipping/MsCwVouchersGlSettlement/RecvAppEdit' ) ;
}
else if ( record . data . BILLTYPENAME . toString ( ) == '应收结算' && record . data . SETTLEMODE == 3 ) {
DsOpenEditWin ( '/MvcShipping/MsCwVouchersGlSettlement/RecvInvEdit' ) ;
}
else if ( record . data . BILLTYPENAME . toString ( ) == '应收结算' ) {
DsOpenEditWin ( '/MvcShipping/MsCwVouchersGlSettlement/RecvBLEdit' ) ;
}
//付
if ( record . data . BILLTYPENAME . toString ( ) == '应付结算' && ( record . data . SETTLEMODE == 1 || record . data . SETTLEMODE == 3 ) ) {
DsOpenEditWin ( '/MvcShipping/MsCwVouchersGlSettlement/PayAppEdit' ) ;
}
else if ( record . data . BILLTYPENAME . toString ( ) == '应付结算' ) {
DsOpenEditWin ( '/MvcShipping/MsCwVouchersGlSettlement/PayBLEdit' ) ;
}
} , this ) ;
//#endregion
//#region 按钮工具条
this . panelBtn = new Ext . Panel ( {
region : "center" ,
border : false ,
tbar : [ {
text : "执行查询" ,
iconCls : "btnrefresh" ,
handler : function ( button , event ) {
this . onRefreshClick ( ) ;
} ,
scope : this
} , {
text : "重置条件" ,
iconCls : "btnreset" ,
handler : function ( button , event ) {
this . onClearSql ( button , event ) ;
} ,
scope : this
} , '-' , {
text : "生成凭证" ,
id : "btnAddCwVouchers" ,
iconCls : "btnadd" ,
handler : function ( button , event ) {
this . onAddCwVouchers ( ) ;
} ,
scope : this
} , '-' , {
text : "高级查询" ,
iconCls : "btnmore" ,
handler : function ( button , event ) {
var sql = this . getCondition ( ) ;
var winAccess = new Shipping . DsQuery ( {
} ) ;
winAccess . StoreList = this . storeList ;
winAccess . formname = this . formname ;
winAccess . condition = sql ;
winAccess . show ( ) ;
} ,
scope : this
} , '-' , {
text : "导出Excel" ,
id : "btnExportExcel" ,
iconCls : 'btnexportexcel' ,
handler : function ( button , event ) {
this . onExportClick ( button , event ) ;
} ,
scope : this
} , {
text : "保存列表样式" ,
id : "btntest" ,
menu : [
{
text : "保存列表" ,
handler : function ( button , event ) {
_this . onSaveGridClick ( button , event ) ;
}
} , {
text : "刷新列表" ,
handler : function ( button , event ) {
_this . oninitGridClick ( button , event ) ;
}
} ] ,
scope : this
} , '-' , {
text : "禁止生成凭证" ,
id : "btnIsNotVou" ,
iconCls : "btnadd" ,
handler : function ( button , event ) {
this . onUpNotVouClick ( button , event , true ) ;
} ,
scope : this
} , '-' , {
text : "取消禁止生成凭证" ,
id : "btnCancelIsNotVou" ,
iconCls : "btnadd" ,
handler : function ( button , event ) {
this . onUpNotVouClick ( button , event , false ) ;
} ,
scope : this
}
//{
// text: "导出Excel",
// id: "btnExportExcel",
// iconCls: 'btnexportexcel',
// handler: function (button, event) {
// this.onExportClick(button, event);
// },
// scope: this
//}
//, {
// text: "打印",
// iconCls: 'btnprint',
// handler: function (button, event) {
// this.Print();
// },
// scope: this
//}
]
} ) ;
//#endregion
//#region 页面布局
this . panelZQ = new Ext . Panel ( {
layout : "border" ,
region : "east" ,
width : 500 ,
style : 'text-align:right;' ,
border : false ,
items : [ {
xtype : 'displayfield' ,
id : 'lbTitle2' ,
name : 'lbTitle2' ,
value : " "
} ]
} ) ;
this . panelTopF = new Ext . Panel ( {
layout : "border" ,
region : "north" ,
height : 26 ,
//border: false,
items : [ this . panelBtn , this . panelZQ ]
} ) ;
this . panelTop = new Ext . Panel ( {
layout : "border" ,
region : "north" ,
height : 95 ,
border : false ,
items : [ this . panelTopF , this . formSearch ]
} ) ;
Ext . apply ( this , {
border : false ,
items : [ this . panelTop , this . gridList ]
} ) ;
//this.onRefreshClick();
//#endregion
//#region 页面加载
this . storeList . on ( 'beforeload' , function ( store ) {
var strCondition = this . getCondition ( ) ;
Ext . apply ( store . proxy . extraParams , { condition : strCondition } ) ;
} , this ) ;
//#endregion
//#region 生成凭证_汇率列表
//#region 加载数据
//制单人
this . storePREPAREDCode = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.UserRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetUserRefList' }
} ) ;
this . storePREPAREDCode . load ( ) ;
this . comboxPREPARED = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '制单人' ,
store : this . storePREPAREDCode ,
forceSelection : true ,
id : 'PREPARED' ,
name : 'PREPARED' ,
valueField : 'UserName' ,
displayField : 'CodeAndName' ,
value : SHOWNAME
} ) ;
//键值维护表_凭证字//需求编号: SR2017080200007
this . storeCrmKeyCodeCode = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsShipping.ux.CrmKeyCodeModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetCrmKeyCodeList' }
} ) ;
this . storeCrmKeyCodeCode . load ( { params : { condition : " and KEYTYPE='凭证字'" } } ) ;
this . comboxVKNO = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '凭证字' ,
store : this . storeCrmKeyCodeCode ,
forceSelection : true ,
name : 'VKNO' ,
valueField : 'KEYVALUE' ,
displayField : 'KEYVALUE'
} ) ;
//#endregion
//#region 定义数据集
this . storeListCw = Ext . create ( 'Ext.data.Store' , {
pageSize : this . PageSize ,
model : 'MsCodeCurrencyList' ,
remoteSort : true ,
proxy : {
type : 'ajax' ,
url : '/Account/Chfee_settlement/GetCodeCurrencyList' ,
reader : {
id : 'CURR' ,
root : 'data' ,
totalProperty : 'totalCount'
}
}
} ) ;
//#endregion
//#region 列定义
this . girdcolums = [ {
sortable : false ,
text : '币别' ,
dataIndex : 'CURR' ,
width : 100 ,
align : 'center'
} , {
sortable : false ,
text : '调整汇率' ,
dataIndex : 'FCYEXRATE' ,
width : 118 ,
align : 'right' ,
renderer : function ( value , cellmeta , record , rowIndex , columnIndex , store ) { try { var lsValue = usMoney ( value , 5 , '' , false ) ; if ( lsValue != "NaN" ) { value = lsValue ; if ( parseFloat ( lsValue ) < 0 ) { return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>' ; } } else { return value ; } } catch ( e ) { return value ; } return value ; } ,
editor : {
xtype : 'numberfield' ,
selectOnFocus : true , //得到焦点时自动选择文本
allowDecimals : true , //允许输入小数
decimalPrecision : 5 , //允许保留的小数位数,并四舍五入
nanText : '请输入有效数值' ,
hideTrigger : true //是否隐藏上下调节按钮
}
} ] ;
//#endregion
//#region gridList列表显示信息
this . gridListCellEditing = Ext . create ( 'Ext.grid.plugin.CellEditing' , {
clicksToEdit : 1 //1单击, 2双击
} ) ;
this . gridListCw = new Ext . grid . GridPanel ( {
region : 'center' ,
width : 220 ,
store : this . storeListCw ,
enableHdMenu : false , //是否显示表格列的菜单
hideHeaders : false , //是否隐藏表头
rowLines : true ,
columnLines : true ,
loadMask : { msg : "数据加载中,请稍等..." } ,
plugins : [ this . gridListCellEditing ] ,
selType : 'cellmodel' ,
columns : this . girdcolums
} ) ;
//#endregion
//#endregion
//#region 页面加载
this . InitData ( ) ;
} , //end initUIComponents
//#region 加载事件
InitData : function ( ) {
Ext . Ajax . request ( {
waitMsg : '正在查询主表数据...' ,
url : '/MvcShipping/RptCwGenlegAccitems/GetData' ,
callback : function ( options , success , response ) {
if ( success ) {
var result = Ext . JSON . decode ( response . responseText ) ;
if ( ! result . Success ) {
return ;
}
data = result . data ;
var arrtmp = data . toString ( ) . split ( "&" ) ;
this . strCwSTARTGID = arrtmp [ 0 ] . toString ( ) ;
var strCwSTARTNAME = arrtmp [ 1 ] . toString ( ) ;
var strCwACCDATE = arrtmp [ 2 ] . toString ( ) ;
var sYear = arrtmp [ 3 ] . toString ( ) ;
var sMonth = arrtmp [ 4 ] . toString ( ) ;
//
var sZQ = " 当前登录账套:“" + strCwSTARTNAME + "” 当前财务账期:“" + sYear + "年第" + sMonth + "期” " ;
Ext . getCmp ( "lbTitle2" ) . setValue ( sZQ ) ;
//this.onRefreshClick();
} else {
//Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
} ,
scope : this
} ) ;
} , //end InitData
//#endregion
//#region 执行查询
onRefreshClick : function ( ) {
var strCondition = this . getCondition ( ) ;
this . sqlcontext = strCondition ;
this . PageSize = this . Pagenum . getValue ( ) ;
this . storeList . pageSize = this . PageSize ;
this . storeList . load ( { params : { start : 0 , limit : this . PageSize , sort : '' , condition : strCondition } , waitMsg : "正在查询数据..." , scope : this } ) ;
} ,
onDsQuery : function ( ) {
var strCondition = this . sqlcontext ;
this . PageSize = this . Pagenum . getValue ( ) ;
this . storeList . pageSize = this . PageSize ;
this . storeList . load ( { params : { start : 0 , limit : this . PageSize , sort : '' , condition : strCondition } , waitMsg : "正在查询数据..." , scope : this } ) ;
} ,
onUpNotVouClick : function ( button , event , isnotvou ) {
var selections = this . gridList . getSelectionModel ( ) . getSelection ( ) ;
if ( selections . length == 0 ) {
Ext . Msg . show ( { title : '提示' , msg : '请选择要设置的结算单' , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
return ;
}
var bodyAddDatas = [ ] ;
var icount = 0 ;
for ( var i = 0 ; i < selections . length ; i ++ ) {
var rec = selections [ i ] ;
var isdelete = true ;
if ( isnotvou ) {
if ( rec . data . ISNOTVOU ) {
Ext . Msg . show ( { title : '警告' , msg : '当前已设置为不生成凭证!' , icon : Ext . Msg . WARNING , buttons : Ext . Msg . OK } ) ;
isdelete = false ;
return ;
}
} else {
if ( ! rec . data . ISNOTVOU ) {
Ext . Msg . show ( { title : '警告' , msg : '当前已设置为不生成凭证!' , icon : Ext . Msg . WARNING , buttons : Ext . Msg . OK } ) ;
isdelete = false ;
return ;
}
}
if ( isdelete ) {
bodyAddDatas . push ( rec ) ;
icount = icount + 1 ;
}
}
Ext . MessageBox . confirm ( '提示' , "确实要更新选中的【" + icount . toString ( ) + "】票结算单吗?" , function ( btn ) {
if ( btn == 'yes' ) {
var jsonbodyAddDatas = ConvertRecordsToJsonAll ( bodyAddDatas ) ;
Ext . Msg . wait ( '正在操作数据。。。' ) ;
Ext . Ajax . request ( {
waitMsg : '正在操作数据。。。' ,
url : '/Account/Chfee_settlement/UpdateNotVou' ,
params : {
data : jsonbodyAddDatas ,
isnot : isnotvou
} ,
callback : function ( options , success , response ) {
if ( success ) {
var jsonresult = Ext . JSON . decode ( response . responseText ) ;
if ( jsonresult . Success ) {
this . onDsQuery ( ) ;
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
}
} , this ) ;
} ,
getCondition : function ( ) {
var form = this . formSearch . getForm ( ) ;
var sql = "" ;
//凭证状态
var ISVOUALLNO = form . findField ( 'ISVOUALLNO' ) . getValue ( ) ;
if ( ISVOUALLNO == "未生成" ) {
//sql = sql + getAndConSql(sql, ISVOUALLNO, "(VOUCHERNO='' or VOUCHERNO is null)");
sql = sql + getAndConSql ( sql , ISVOUALLNO , " ((AMOUNTRMB<>0 and AMOUNTUSD<>0) OR (isnull(ISNOTVOU,0)=0 and gid not in (select BSGID from [cw_vouno_bs_gl] where [BSTABLENAME]='ch_fee_settlement' and [STARTGID]='" + this . strCwSTARTGID + "')))" ) ;
}
else if ( ISVOUALLNO == "已生成" ) {
//sql = sql + getAndConSql(sql, ISVOUALLNO, "(VOUCHERNO<>'' and VOUCHERNO is not null)");
sql = sql + getAndConSql ( sql , ISVOUALLNO , "gid in (select BSGID from [cw_vouno_bs_gl] where [BSTABLENAME]='ch_fee_settlement' and [STARTGID]='" + this . strCwSTARTGID + "')" ) ;
}
//凭证号
var VOUALLNO = form . findField ( 'VOUALLNO' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , VOUALLNO , "gid in (select BSGID from [cw_vouno_bs_gl] where [BSTABLENAME]='ch_fee_settlement' and [STARTGID]='" + this . strCwSTARTGID + "' and VOUALLNO like '%" + VOUALLNO + "%')" ) ;
//结算类型
var BILLTYPE = form . findField ( 'BILLTYPE' ) . getValue ( ) ;
if ( BILLTYPE == "应收结算" ) {
sql = sql + getAndConSql ( sql , BILLTYPE , "BILLTYPE=1" ) ;
}
else if ( BILLTYPE == "应付结算" ) {
sql = sql + getAndConSql ( sql , BILLTYPE , "BILLTYPE=2" ) ;
}
var customNo = form . findField ( 'BsNo' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , customNo , "BILLNO like '%" + customNo + "%'" ) ;
var custName = form . findField ( 'CustName' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , custName , "CUSTOMERNAME like '%" + custName + "%'" ) ;
var expDateBgn = form . findField ( 'ExpDateBgn' ) . getRawValue ( ) ;
sql = sql + getAndConSql ( sql , expDateBgn , "SETTLETIME >='" + expDateBgn + "'" ) ;
var expDateEnd = form . findField ( 'ExpDateEnd' ) . getRawValue ( ) ;
sql = sql + getAndConSql ( sql , expDateEnd , "SETTLETIME <='" + expDateEnd + " 23:59:59'" ) ;
//是否垫付
var ISADVANCEDPAY = form . findField ( 'ISADVANCEDPAY' ) . getValue ( ) ;
if ( ISADVANCEDPAY == "是" ) {
//sql = sql + getAndConSql(sql, ISADVANCEDPAY, "BILLNO in (SELECT billno from ch_fee_do where FEEID in (select gid from ch_fee where ISADVANCEDPAY=1))");
sql = sql + getAndConSql ( sql , ISADVANCEDPAY , "ISADVANCEDPAY=1" ) ;
}
else if ( ISADVANCEDPAY == "否" ) {
//sql = sql + getAndConSql(sql, ISADVANCEDPAY, "BILLNO in (SELECT billno from ch_fee_do where FEEID in (select gid from ch_fee where ISADVANCEDPAY=0))");
sql = sql + getAndConSql ( sql , ISADVANCEDPAY , "ISADVANCEDPAY=0" ) ;
}
//是否禁开发票
var ISINVOICE = form . findField ( 'ISINVOICE' ) . getValue ( ) ;
if ( ISINVOICE == "是" ) {
//sql = sql + getAndConSql(sql, ISINVOICE, "BILLNO in (SELECT billno from ch_fee_do where FEEID in (select gid from ch_fee where ISINVOICE=1))");
sql = sql + getAndConSql ( sql , ISINVOICE , "ISINVOICE=1" ) ;
}
else if ( ISINVOICE == "否" ) {
//sql = sql + getAndConSql(sql, ISINVOICE, "BILLNO in (SELECT billno from ch_fee_do where FEEID in (select gid from ch_fee where ISINVOICE=0))");
sql = sql + getAndConSql ( sql , ISINVOICE , "ISINVOICE=0" ) ;
}
//所属公司, 需求编号: SR2017062800002
var SUBCOMP = form . findField ( 'SUBCOMP' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , SUBCOMP , "COMPANYID='" + SUBCOMP + "'" ) ;
//账单所属公司, 需求编号: SR2017062800002
var SALECORP = form . findField ( 'SALECORP' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , SALECORP , "SALECORPID='" + SALECORP + "'" ) ;
var ACCOUNT = form . findField ( 'ACCOUNT' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , ACCOUNT , " (ACCOUNTRMB='" + ACCOUNT + "' OR ACCOUNTUSD='" + ACCOUNT + "') " ) ;
var StlAmount = form . findField ( 'StlAmount' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , StlAmount , " (AMOUNTRMB=" + StlAmount + " OR AMOUNTUSD=" + StlAmount + ") " ) ;
return sql ;
} ,
//#endregion
//#region 重置条件
onClearSql : function ( ) {
var form = this . formSearch . getForm ( ) ;
form . reset ( ) ;
} ,
//#endregion
onSaveGridClick : function ( button , event ) {
this . girdcolums = DsTruck . SaveGridPanel ( USERID , this . formname , this . gridList . columns , this . girdcolums , 1 , true ) ;
} ,
oninitGridClick : function ( button , event ) {
this . gridList . reconfigure ( this . storeList , this . initgirdcolums ) ;
this . girdcolums = DsTruck . SaveGridPanel ( USERID , this . formname , this . gridList . columns , this . initgirdcolums , 1 , true ) ;
} ,
//#region 导出Excel
onExportClick : function ( button , event ) {
if ( this . storeList . getCount ( ) == 0 ) {
return ;
}
var strCondition = this . getCondition ( ) ;
Ext . Msg . wait ( '正在组织数据, 请稍侯..' ) ;
Ext . Ajax . request ( {
waitMsg : '正在组织数据...' ,
url : '/MvcShipping/MsCwVouchersGlSettlement/GetDataListStr' ,
scope : this ,
params : {
condition : strCondition
} ,
callback : function ( options , success , response ) {
if ( success ) {
Ext . MessageBox . hide ( ) ;
var jsonresult = Ext . JSON . decode ( response . responseText ) ;
if ( jsonresult . Success ) {
var returnstr = jsonresult . data ;
var sql1 = returnstr ;
sql1 = sql1 . replace ( /\+/g , "@@@" )
if ( sql1 != '' ) {
GridExportBySql ( sql1 , this . formname , '结算信息列表.xls' ) ;
//var openSet = "height=1, width=400, toolbar=no, menubar=no,scrollbars=no, resizable=no,location=no, status=no,Top=" + (screen.height - 200) / 2 + ",Left=" + (screen.width - 400) / 2;
//var openType = "_blank";
// var openUrl = "../../Reports/RptExport.aspx?handle=DsRptExcel&formname=" + this.formname + 'dr'+ "&condition1=" + sql1;
//window.open(openUrl, openType, openSet);
}
} 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
} ) ;
}
}
} ) ;
} ,
//#endregion
//#region 生成凭证
onAddCwVouchers : function ( button , event ) {
var selections = this . gridList . getSelectionModel ( ) . getSelection ( ) ;
if ( selections . length == 0 ) {
Ext . Msg . show ( { title : '提示' , msg : '请先选择单据!' , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
return ;
}
var strGids = "" ;
for ( var i = 0 ; i < selections . length ; i ++ ) {
var rec = selections [ i ] ;
if ( rec . data . ISNOTVOU ) {
Ext . Msg . show ( { title : '警告' , msg : '当前已设置为不生成凭证,不允许生成凭证!' , icon : Ext . Msg . WARNING , buttons : Ext . Msg . OK } ) ;
return ;
}
if ( strGids == "" )
strGids = rec . data . GID ;
else {
strGids += "," + rec . data . GID ;
}
}
Ext . Ajax . request ( {
waitMsg : '正在预读数据,请稍候...' ,
url : '/Account/Chfee_settlement/GetIsVoucher' ,
params : {
strGids : strGids
} ,
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 ;
}
//
this . storeListCw . load ( {
params : { jsonBody : '' , dataDiv : '' , strGids : strGids } ,
callback : function ( r , options , success ) {
if ( success ) {
this . showContactForm ( false , strGids , this , selections . length ) ;
}
} ,
waitMsg : "正在刷新数据..." , scope : this
} ) ;
} else {
Ext . MessageBox . alert ( '请求出现错误,请重试' , response . responseText ) ;
}
} ,
scope : this
} ) ;
} ,
//#endregion
//#region 层_显示信息
showContactForm : function ( win , strGids , _this , iGids ) {
var required = '<span style="color:red;font-weight:bold;" data-qtip="Required">*</span>' ;
if ( ! win ) {
//#region 编辑formDiv 基本信息
var formDiv = Ext . widget ( 'form' , {
border : false ,
bodyPadding : 10 ,
fieldDefaults : {
labelAlign : 'right' ,
labelWidth : 60 ,
labelStyle : 'font-weight:bold'
} ,
items : [ this . comboxPREPARED , {
fieldLabel : '记账日期' ,
format : 'Y-m-d' ,
xtype : 'datefield' ,
allowBlank : false ,
name : 'VOUDATE' ,
value : Ext . util . Format . date ( Ext . Date . add ( new Date ( ) , Ext . Date . MONTH - 1 , 1 ) , "Y-m-d" )
} , this . comboxVKNO , //需求编号: SR2017080200007
{
xtype : "checkbox" , //checkbox控件
name : "ButtSettlement" ,
boxLabel : "对抵结算是否生成银行账款" ,
width : 200 ,
inputValue : "true" , //选中的值
uncheckedValue : "false" //未选中的值
} , //需求编号: SR2017080200007
{
xtype : "checkbox" , //checkbox控件
name : "ISSTBANKGROUP" ,
boxLabel : '银行科目合并' ,
width : 200 ,
inputValue : "true" , //选中的值
uncheckedValue : "false" //未选中的值
} , {
xtype : "checkbox" , //checkbox控件
name : "ISRATE" ,
boxLabel : "是否按照系统录入汇率" ,
width : 200 ,
inputValue : "true" , //选中的值
uncheckedValue : "false" , //未选中的值
checked : true , //绘制时的选中状态,
listeners : {
'change' : function ( field , newValue , oldValue , eOpts ) {
if ( field . checked . toString ( ) == "false" ) {
this . gridListCw . show ( ) ;
}
else {
this . gridListCw . hide ( ) ;
}
} ,
scope : this
}
} , this . gridListCw
] ,
buttons : [ {
text : '生成凭证' ,
handler : function ( options , success , response ) {
if ( ! this . up ( 'form' ) . getForm ( ) . isValid ( ) ) {
return ;
}
var dataDiv = this . up ( 'form' ) . getForm ( ) . getValues ( false , false , false ) ;
//
var j = 0 ;
var bodydatas = [ ] ;
for ( var i = 0 ; i < _this . storeListCw . getCount ( ) ; i += 1 ) {
var member = _this . storeListCw . getAt ( i ) ;
bodydatas . push ( member ) ;
}
var jsonBody ;
if ( bodydatas . length > 0 ) {
jsonBody = ConvertRecordsToJsonAll ( bodydatas ) ;
}
//
Ext . Msg . wait ( '正在生成' + iGids + '票结算单数据, 请稍侯...' ) ;
Ext . Ajax . request ( {
waitMsg : '正在生成' + iGids + '票结算单数据, 请稍侯...' ,
url : '/Account/Chfee_settlement/onAddCwVouchers' ,
scope : this ,
params : {
strGids : strGids ,
dataDiv : Ext . JSON . encode ( dataDiv ) ,
jsonBody : jsonBody
} ,
callback : function ( options , success , response ) {
if ( success ) {
Ext . MessageBox . hide ( ) ;
var jsonresult = Ext . JSON . decode ( response . responseText ) ;
if ( jsonresult . Success ) {
Ext . Msg . show ( { title : '提示' , msg : jsonresult . Message , icon : Ext . MessageBox . INFO , buttons : Ext . Msg . OK } ) ;
_this . onRefreshClick ( ) ;
return ;
} 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 } ) ;
}
} ,
timeout : 3000000 //30秒
} ) ;
//
this . up ( 'form' ) . getForm ( ) . reset ( ) ;
this . up ( 'window' ) . hide ( ) ;
}
} , {
text : '取消' ,
handler : function ( ) {
this . up ( 'form' ) . getForm ( ) . reset ( ) ;
this . up ( 'window' ) . hide ( ) ;
}
} ] ,
listeners : {
scope : this ,
'render' : function ( thisDiv , thisExtend ) {
//var ISRATE = thisDiv.form.findField('ISRATE').getValue().toString();
//if (ISRATE == "false") {
// this.gridListCw.show();
//}
//else {
// this.gridListCw.hide();
//}
this . gridListCw . hide ( ) ;
//
Ext . Ajax . request ( {
waitMsg : '正在查询委托编号状态...' ,
url : '/MvcShipping/MsBaseInfo/GetCwVOUNO' ,
params : {
VKNO : "记"
} ,
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 . INFO , buttons : Ext . Msg . OK } ) ;
return ;
}
//
data = result . data ;
var arrayList = new Array ( ) ;
arrayList = data . split ( "~" ) ;
var strY = arrayList [ 0 ] . toString ( ) ;
var strM = arrayList [ 1 ] . toString ( ) ;
var sVOUNO = arrayList [ 2 ] . toString ( ) ;
var strVOUNO = arrayList [ 3 ] . toString ( ) ;
var strVOUDATE = arrayList [ 4 ] . toString ( ) ;
var strACCDATE = arrayList [ 5 ] . toString ( ) ;
//
thisDiv . form . findField ( 'VOUDATE' ) . setValue ( strVOUDATE ) ;
thisDiv . form . findField ( 'VOUDATE' ) . setMinValue ( strACCDATE + "-01" ) ;
//Ext.getCmp('VOUDATE').setValue(strVOUDATE);
//Ext.getCmp('VOUDATE').setMinValue(strACCDATE + "-01");
} else {
Ext . MessageBox . alert ( '请求出现错误,请重试' , response . responseText ) ;
}
} ,
scope : this
} ) ;
}
}
} ) ;
//#endregion
win = Ext . widget ( 'window' , {
title : '辅助核算' ,
closeAction : 'hide' ,
width : 250 ,
height : 320 ,
layout : 'fit' ,
resizable : true ,
modal : true ,
closable : false ,
items : formDiv
} ) ;
}
win . show ( ) ;
} ,
//#endregion
OprationSwap : function ( ) {
var ret = new Array ( ) ;
ret [ 0 ] = this . OprationStatus ;
ret [ 1 ] = this . storeList ;
ret [ 2 ] = this . SelectedRecord ;
return ret ;
}
} ) ;