Ext . namespace ( 'DsTruck' ) ;
DsTruck . BaoxiaoAuditIndex = function ( config ) {
Ext . applyIf ( this , config ) ;
this . initUIComponents ( ) ;
window . DsTruck . BaoxiaoAuditIndex . superclass . constructor . call ( this ) ;
} ;
Ext . extend ( DsTruck . BaoxiaoAuditIndex , Ext . Panel , {
PageSize : 500 ,
OprationStatus : null , //仅当弹出界面时使用
SelectedRecord : null ,
VISIBLERANGE : 0 ,
OPERATERANGE : 0 ,
CurrentWorkFlowState : [ ] ,
initUIComponents : function ( ) {
//定义数据集
this . storeList = Ext . create ( 'Ext.data.Store' , {
model : 'BaoxiaoAuditmb' ,
remoteSort : false ,
pageSize : this . PageSize ,
proxy : {
type : 'ajax' ,
url : '/OA/BaoxiaoAudit/GetDataList' ,
reader : {
idProperty : 'Feeid' ,
root : 'data' ,
totalProperty : 'totalCount'
}
}
} ) ;
this . formname = "OA_Baoxiao" ;
this . WorkFlowName = "BaoxiaoMod" ;
//this.InWorkFlow=false;
//枚举参照
this . BXCB = Ext . create ( 'Ext.selection.CheckboxModel' , { checkOnly : true } ) ;
Ext . grid . RowNumberer = Ext . extend ( Ext . grid . RowNumberer , {
width : 45
} ) ;
this . column = [ {
sortable : true ,
dataIndex : '' , id : "" ,
header : '' ,
width : 80
} , {
sortable : true , hidden : true ,
dataIndex : 'BXGID' , id : "BXGID" ,
header : '报销单序列号' ,
width : 100
} , {
sortable : true ,
dataIndex : 'BXNO' , id : "BXNO" ,
header : '报销单号' ,
width : 100
} ,
{
sortable : true , hidden : true ,
dataIndex : 'BSNO' , id : "BSNO" ,
header : '委托编号' ,
width : 80
} ,
{
sortable : true , hidden : true ,
dataIndex : 'COMPANY' , id : "COMPANY" ,
header : '所属公司' ,
width : 80
} ,
{
sortable : true , hidden : true ,
dataIndex : 'DEPTNAME' , id : "DEPTNAME" ,
header : '部门' ,
width : 80
} ,
{
sortable : true ,
dataIndex : 'CREATEUSER' , id : "CREATEUSER" ,
header : '报销人' ,
width : 80
} ,
{
sortable : true ,
dataIndex : 'CREATEDATE' , id : "CREATEDATE" ,
header : '报销日期' ,
width : 80
} , {
sortable : true ,
dataIndex : 'AMOUNT' , id : "AMOUNT" ,
header : '报销金额' ,
width : 80 ,
renderer : function ( value , cellmeta , record , rowIndex , columnIndex , store ) {
try {
var lsValue = usMoney ( value , 2 , '' , false ) ;
if ( lsValue != "NaN" ) {
value = lsValue ; if ( parseFloat ( lsValue ) < 0 ) {
return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>' ;
}
}
else {
return value ;
}
}
catch ( e ) {
return value ;
}
return value ;
}
} ,
{
sortable : true , hidden : true ,
dataIndex : 'ISDELETE' , id : "ISDELETE" ,
header : 'ISDELETE' ,
width : 80
} ,
{
sortable : true , hidden : true ,
dataIndex : 'DELETEUSER' , id : "DELETEUSER" ,
header : 'DELETEUSER' ,
width : 80
} ,
{
sortable : true , hidden : true ,
dataIndex : 'DELETETIME' , id : "DELETETIME" ,
header : 'DELETETIME' ,
width : 80
} ,
{
sortable : true , hidden : true ,
dataIndex : 'BXSTATUS' , id : "BXSTATUS" ,
header : 'BXSTATUS' ,
width : 80
} ,
{
sortable : true ,
dataIndex : 'CHEQUENO' , id : "CHEQUENO" ,
header : '支票号' ,
width : 80
} ,
{
sortable : true ,
dataIndex : 'CHEQUEAMOUNT' , id : "CHEQUEAMOUNT" ,
header : '支票额度' ,
width : 80
} , {
sortable : true ,
dataIndex : 'BXSTATUS_REF' , id : "BXSTATUS_REF" ,
header : '报销状态' ,
width : 80
} ,
{
sortable : true ,
dataIndex : 'REMARK' , id : "REMARK" ,
header : '备注' ,
width : 80
} ,
{
sortable : true ,
dataIndex : 'ISVOU_REF' , id : "ISVOU_REF" ,
header : '已生成凭证' ,
width : 80
} ,
{
sortable : true ,
dataIndex : 'VOUCHERNO' , id : "VOUCHERNO" ,
header : '凭证号' ,
width : 100
} ,
{
sortable : true ,
dataIndex : 'ISPAYED' , id : "ISPAYED" ,
header : '已支付完成' ,
width : 100
} ,
{
sortable : true , hidden : true ,
dataIndex : 'WORKFLOWID' , id : "WORKFLOWID" ,
header : 'WORKFLOWID' ,
width : 80
} ] ;
//定义Grid
this . gridList = new Ext . grid . GridPanel ( {
store : this . storeList ,
enableHdMenu : false ,
region : 'center' ,
loadMask : { msg : "数据加载中,请稍等..." } ,
trackMouseOver : true ,
disableSelection : false ,
stripeRows : true ,
viewConfig : {
autoFill : true ,
enableTextSelection : true
} ,
columns : [ new Ext . grid . RowNumberer ( ) ] ,
bbar : Ext . create ( 'Ext.PagingToolbar' , {
store : this . storeList ,
displayInfo : true ,
displayMsg : '当前显示 {0} - {1}条记录 /共 {2}条记录' ,
emptyMsg : "没有数据"
} )
} ) ;
/////////////以下部分为获取存储的gridpanel显示样式
this . column = DsTruck . GetGridPanel ( USERID , this . formname , this . column , 1 , true ) ;
//使用者id, 表名 , 中间column数组, 跳过一开始的几列
this . gridList . reconfigure ( this . storeList , this . column ) ;
this . gridList . columns [ 0 ] = new Ext . grid . RowNumberer ( ) ;
////////////////////////////
//#region formSearch
this . storeDEPT = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsTruckMng.ux.DEPTRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetDeptList_All_Group' } //proxy: { url: '/CommMng/BasicDataRef/GetDeptList' }
} ) ;
this . storeDEPT . load ( { params : { condition : "" } } ) ;
this . comboxDEPT = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '部门' ,
store : this . storeDEPT ,
name : 'DEPTID' , id : "DEPTID" ,
valueField : 'GID' ,
displayField : 'DeptName'
} ) ;
this . storeUser = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsTruckMng.ux.UserRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetUserRefList' }
} ) ;
this . storeUser . load ( { params : { condition : "" } } ) ;
this . comboxUser = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '制单人' ,
store : this . storeUser ,
name : 'CREATEUSER' ,
valueField : 'UserCode' ,
displayField : 'CodeAndName' ,
value : SHOWNAME
} ) ;
this . comboxUser _1 = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '报销人' ,
store : this . storeUser ,
name : 'CREATEUSER' , id : "CREATEUSER" ,
valueField : 'UserName' ,
displayField : 'CodeAndName'
} ) ;
/ *
Ext . define ( 'BXSTATUSmb' , {
extend : 'Ext.data.Model' ,
fields : [
{ name : 'status' , type : 'string' } ,
{ name : 'statusRef' , type : 'string' }
]
} ) ;
var StatusData = [ { "status" : "0" , "statusRef" : "审核通过" } ,
{ "status" : "1" , "statusRef" : "录入状态" } ,
{ "status" : "2" , "statusRef" : "提交审核" } ,
{ "status" : "6" , "statusRef" : "驳回提交" } ] ;
this . storeStauts = Ext . create ( 'Ext.data.Store' , {
model : 'BXSTATUSmb' ,
data : StatusData
} ) ;
this . comboxStatus = Ext . create ( 'Ext.ux.form.field.BoxSelect' , {
fieldLabel : '报销单状态' ,
autosize : true ,
bodyPadding : 5 ,
flex : 2 , name : 'BXSTATUS' ,
width : 500 ,
labelWidth : 90 ,
store : this . storeStauts ,
queryMode : 'local' ,
triggerOnClick : false ,
valueField : 'status' ,
displayField : 'statusRef'
} ) ; * /
Ext . define ( 'ISPAYEDmb' , {
extend : 'Ext.data.Model' ,
fields : [
{ name : 'ID' , type : 'string' } ,
{ name : 'ISPAYED' , type : 'string' }
]
} ) ;
var ISPAYEDData = [ { "ID" : "0" , "ISPAYED" : "全部" } ,
{ "ID" : "1" , "ISPAYED" : "已支付" } ,
{ "ID" : "2" , "ISPAYED" : "未支付" } ] ;
this . storeISPAYED = Ext . create ( 'Ext.data.Store' , {
model : 'ISPAYEDmb' ,
data : ISPAYEDData
} ) ;
this . comboxISPAYED = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '支付状态' ,
store : this . storeISPAYED ,
name : 'ISPAYED' , id : "ISPAYED" ,
valueField : 'ID' ,
displayField : 'ISPAYED'
} ) ;
this . storeWorkFlowStep = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'WorkFlowStepmb' ,
proxy : { url : '/CommMng/WorkFlow/GetWorkFlowStep' }
} ) ;
this . storeWorkFlowStep . load ( { params : { WorkFlowName : this . WorkFlowName } } ) ;
this . comboxWorkFlowStep = Ext . create ( 'DsExt.ux.RefTableCombox' , {
fieldLabel : '当前步骤' ,
store : this . storeWorkFlowStep ,
name : 'WorkFlowStep' , id : "WorkFlowStep" ,
valueField : 'GID' ,
displayField : 'NAME' ,
values : 1 ,
flex : 1
} ) ;
this . formSearch = Ext . widget ( 'form' , {
frame : true ,
region : 'center' ,
bodyPadding : 5 ,
fieldDefaults : {
margins : '2 2 2 2' ,
labelAlign : 'right' ,
flex : 1 ,
labelWidth : 90 ,
msgTarget : 'qtip'
} ,
items : [
{ //fieldset 1
xtype : 'container' ,
defaultType : 'textfield' ,
layout : 'anchor' ,
defaults : {
anchor : '100%'
} ,
items : [ {
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ this . comboxDEPT , {
fieldLabel : '报销单号' ,
name : 'BXGID' , id : "BXGID_S"
} , this . comboxUser _1 , {
fieldLabel : '从..报销日' ,
format : 'Y-m-d' ,
xtype : 'datefield' ,
name : 'CREATEDATE_min'
} , {
fieldLabel : '到..报销日' ,
format : 'Y-m-d' ,
xtype : 'datefield' ,
name : 'CREATEDATE_max'
} ]
} ]
} , //end items(fieldset 1)
{ //fieldset 2
xtype : 'container' ,
defaultType : 'textfield' ,
layout : 'anchor' ,
defaults : {
anchor : '100%'
} ,
items : [ {
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [
{
fieldLabel : '包含审核通过' ,
xtype : 'checkbox' ,
name : 'Passed'
} ,
this . comboxISPAYED ,
{
fieldLabel : '费用金额' ,
name : 'Fee_Amount' ,
renderer : function ( value , cellmeta , record , rowIndex , columnIndex , store ) {
try {
var lsValue = usMoney ( value , 2 , '' , false ) ;
if ( lsValue != "NaN" ) {
value = lsValue ; if ( parseFloat ( lsValue ) < 0 ) {
return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>' ;
}
}
else {
return value ;
}
}
catch ( e ) {
return value ;
}
return value ;
}
} , {
fieldLabel : '支票号' ,
name : 'CHEQUENUM'
} , {
xtype : 'hiddenfield' ,
flex : 1 ,
name : 'hidden2' ,
layout : 'anchor'
}
//this.comboxStatus
]
} ]
} , //end fieldset 2
{ //fieldset 3
xtype : 'container' ,
defaultType : 'textfield' ,
layout : 'anchor' ,
defaults : {
anchor : '100%'
} ,
items : [ {
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ {
fieldLabel : '提单号/船名' ,
name : 'MBLNO' , id : "MBLNO"
} , {
fieldLabel : '客户名称' ,
name : 'CUSTOMERNAME' , id : "CUSTOMERNAME"
} , {
fieldLabel : '费用名称' ,
name : 'FEENAME' , id : "FEENAME"
} , {
fieldLabel : '从..金额' ,
name : 'Amount_min' ,
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 ;
}
} , {
fieldLabel : '到..金额' ,
name : 'Amount_max' ,
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 ;
}
}
]
} ]
} , //end items(fieldset 3)
{ //fieldset 5
xtype : 'container' ,
defaultType : 'textfield' ,
//layout: 'anchor',
defaults : {
anchor : '100%'
} ,
items : [ this . comboxWorkFlowStep ,
{
xtype : 'hiddenfield' ,
flex : 4 ,
name : 'hidden1' ,
layout : 'anchor'
} ]
} //end items(fieldset 5)
] //end root items
} ) ;
//#endregion formSearch
//_this = this;
this . CBMWorkFlow = new Ext . form . Checkbox ( {
fieldLabel : '只显示待处理业务' ,
labelwidth : 200 ,
} ) ;
//查询工具条
this . panelBtn = new Ext . Panel ( {
region : "north" ,
tbar : [
{
text : "新建" ,
iconCls : "btnadd" , id : "NEW" ,
handler : function ( button , event ) {
this . OprationStatus = 'add' ;
DsOpenEditWin ( "/OA/Baoxiao/Edit" , "新建合同" , "450" , "800" ) ;
} ,
scope : this
} ,
{
text : "删除" ,
iconCls : "btndelete" , id : "DEL" ,
handler : function ( button , event ) {
this . onDeleteClick ( button , event ) ;
} ,
scope : this
} ,
'-' ,
{
text : "执行查询" ,
iconCls : "btnrefresh" ,
handler : function ( button , event ) {
this . onRefreshClick ( button , event ) ;
} ,
scope : this
} ,
{
text : "重置条件" ,
iconCls : "btnreset" ,
handler : function ( button , event ) {
//this.onResetClick(button, event);
//alert(this.getCondition);
} ,
scope : this
} , '-' ,
{
text : "打开" ,
iconCls : "btnright" , id : "OPEN" ,
handler : function ( button , event ) {
this . onOpenClick ( button , event ) ;
} ,
scope : this
} , {
text : "保存列表样式" ,
id : "btntest" ,
handler : function ( button , event ) {
this . column = DsTruck . SaveGridPanel ( USERID , this . formname , this . gridList . columns , this . column , 1 , true ) ;
//alert(this.column[0].id);
} ,
scope : this
}
]
} ) ;
//#region <<<< 收支费用明细 >>>>
this . comboxAccitems = Ext . create ( 'DsExt.ux.RefTableCombox' , {
forceSelection : true ,
store : this . storeAccitems ,
name : 'FEENAME' ,
valueField : 'ACCID' ,
displayField : 'ACCIDNAME'
} ) ;
this . storeFeeNameRef = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsTruckMng.ux.FeeTypeRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetFeeTypeRefList' }
} ) ;
this . storeFeeNameRef . load ( { params : { condition : "" } } ) ;
this . comboxFeeNameRef = Ext . create ( 'DsExt.ux.RefTableCombox' , {
store : this . storeFeeNameRef ,
forceSelection : true ,
name : 'FeeName' ,
valueField : 'Name' ,
displayField : 'CodeAndName'
} ) ;
this . storeCustomerNameRef = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'DsTruckMng.ux.CustomRefModel' ,
proxy : { url : '/CommMng/BasicDataRef/GetCustomRefList' }
} ) ;
this . storeCustomerNameRef . load ( { params : { condition : "" } } ) ;
this . comboxCustomerNameRef = Ext . create ( 'DsExt.ux.RefTableCombox' , {
forceSelection : true ,
store : this . storeCustomerNameRef ,
name : 'CustomerName' ,
valueField : 'CustName' ,
displayField : 'CodeAndName'
} ) ;
this . storecurr = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'currRef' ,
proxy : { url : '/CommMng/BasicDataRef/GetcurrRefList' }
} ) ;
this . storecurr . load ( { params : { condition : "" } } ) ;
this . comboxcurr = Ext . create ( 'DsExt.ux.RefTableCombox' , {
store : this . storecurr ,
name : 'currid' ,
valueField : 'gid' ,
displayField : 'codename'
//币别
} ) ;
this . storeTAXRATE = Ext . create ( 'DsExt.ux.RefEnumStore' , { } ) ;
this . storeTAXRATE . load ( { params : { enumTypeId : 25 } } ) ;
this . comboxTAXRATE = Ext . create ( 'DsExt.ux.RefEnumCombox' , {
//fieldLabel: '税率',
store : this . storeTAXRATE ,
name : 'TAXRATE' ,
valueField : 'EnumValueName' ,
displayField : 'EnumValueName' ,
id : "TAXRATE"
} ) ;
this . storeCHEQUENUM = Ext . create ( 'DsExt.ux.RefTableStore' , {
model : 'CHEQUENUMmb' ,
proxy : { url : '/CommMng/BasicDataRef/GetUnusedCHEQUENUM' }
} ) ;
//this.storeCHEQUENUM.load({ params: { DEPTID: DEPTGID, BXGID: bxgid} });
this . comboxCHEQUENUM = Ext . create ( 'DsExt.ux.RefTableCombox' , {
//fieldLabel: '支票号',来自未使用的支票
store : this . storeCHEQUENUM ,
name : 'CHEQUENUM' ,
valueField : 'CHEQUENUM' ,
displayField : 'CHEQUENUM'
//,id: "CHEQUENUM"
} ) ;
//数据集
this . storeBodyChfee = Ext . create ( 'Ext.data.Store' , {
model : 'MsChFee' ,
remoteSort : false ,
readonly : true ,
pruneModifiedRecords : true ,
proxy : {
type : 'ajax' ,
url : '/OA/Baoxiao/GetFeeList' ,
reader : {
id : 'gid' ,
root : 'data' ,
totalProperty : 'totalCount'
}
}
} ) ;
//表格
this . cellEditing = Ext . create ( 'Ext.grid.plugin.CellEditing' , {
clicksToEdit : 1
} ) ;
this . CheckBoxModel = Ext . create ( 'Ext.selection.CheckboxModel' ) ;
this . formFeeBody = new Ext . grid . GridPanel ( {
store : this . storeBodyChfee ,
readonly : true ,
enableHdMenu : false ,
region : 'center' ,
//title: '费用明细',
loadMask : { msg : "数据加载中,请稍等..." } ,
trackMouseOver : true ,
disableSelection : false ,
plugins : [ this . cellEditing ] ,
selModel : this . CheckBoxModel ,
selType : 'cellmodel' ,
tbar : [ {
// id: "saveandclose",
text : "审核通过" , id : "Pass" ,
handler : function ( button , event ) {
this . onAuditPassClick ( ) ;
} ,
scope : this
} ,
{
// id: "saveandclose",
text : "驳回提交" , id : "Refuse" ,
handler : function ( button , event ) {
//this.onAuditRefuseClick();
this . winReason . show ( ) ;
} ,
scope : this
} ] ,
columns : [
{
sortable : true ,
dataIndex : 'GId' ,
header : '惟一编号' ,
hidden : true ,
width : 160
} , {
sortable : true ,
dataIndex : 'CustomerName' ,
header : '结算对象' ,
editor : this . comboxCustomerNameRef ,
width : 120
} , {
sortable : true ,
dataIndex : 'BsNo' ,
header : '业务编号(台账号)' ,
//hidden: true,
width : 150 ,
renderer : function ( value , p , record ) {
if ( value == null || value == '' ) return '' ;
else return record . data . CUSTNO ;
} ,
editor : this . comboxCUSTNO
} , {
sortable : true ,
dataIndex : 'MBLNO' ,
header : '业务编号(提单号)' ,
//hidden: true,
width : 150 ,
renderer : function ( value , p , record ) {
if ( value == null || value == '' ) return '' ;
else return record . data . MBLNO ;
} ,
editor : this . comboxMBLNO
} , {
sortable : true ,
dataIndex : 'Reason' ,
header : '支付种类' ,
width : 60 ,
editor : this . comboxPayType
} ,
//comboxPayType
{
sortable : true ,
dataIndex : 'FeeName' ,
header : '费用名称' ,
//editor: this.comboxFeeNameRef,
width : 80
} , {
sortable : true ,
dataIndex : 'BXGID' ,
header : '报销单号' ,
hidden : true ,
width : 200
} , {
sortable : true , hidden : true ,
dataIndex : 'FeeStatus' ,
header : '费用状态' ,
//renderer: function (value, p, record) {
// return record.data.FeeStatus_Ref;
//},
width : 66
} , {
sortable : true ,
dataIndex : 'FeeDescription' ,
header : '费用英文名称' ,
hidden : true ,
width : 200
} , {
sortable : true ,
dataIndex : 'CustomerType' ,
header : '客户类别' ,
hidden : true ,
width : 200
} , {
sortable : true ,
dataIndex : 'Unit' ,
header : '单位标准' ,
hidden : true ,
width : 200
} , {
sortable : true , hidden : true ,
dataIndex : 'UnitPrice' ,
header : '单价' ,
//editor: {
// xtype: 'textfield', //numberfield
// selectOnFocus: true
//},
width : 80 ,
renderer : function ( value , cellmeta , record , rowIndex , columnIndex , store ) {
try {
var lsValue = usMoney ( value , 2 , '' , false ) ;
if ( lsValue != "NaN" ) {
value = lsValue ; if ( parseFloat ( lsValue ) < 0 ) {
return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>' ;
}
}
else {
return value ;
}
}
catch ( e ) {
return value ;
}
return value ;
}
} , {
sortable : true , hidden : true ,
dataIndex : 'Quantity' ,
header : '数量' ,
//editor: {
// xtype: 'textfield',
// selectOnFocus: true
//},
width : 60
} , {
sortable : true ,
dataIndex : 'NOTAXAMOUNT' ,
header : '金额' ,
width : 80 ,
renderer : function ( value , cellmeta , record , rowIndex , columnIndex , store ) {
try {
var lsValue = usMoney ( value , 2 , '' , false ) ;
if ( lsValue != "NaN" ) {
value = lsValue ; if ( parseFloat ( lsValue ) < 0 ) {
return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>' ;
}
}
else {
return value ;
}
}
catch ( e ) {
return value ;
}
return value ;
}
//,editor: {
// xtype: 'textfield', //numberfield
// selectOnFocus: true
//}
} , {
sortable : true ,
dataIndex : 'TAXRATE' ,
header : '税率(%)' ,
//editor: this.comboxTAXRATE,
//renderer: function (value, p, record) {
// return record.data.TAXRATE;
//},
width : 66
} , {
sortable : true ,
dataIndex : 'TAX' ,
header : '税额' ,
//editor: {
// xtype: 'textfield', //numberfield
// selectOnFocus: true
//},
width : 80 ,
renderer : function ( value , cellmeta , record , rowIndex , columnIndex , store ) {
try {
var lsValue = usMoney ( value , 2 , '' , false ) ;
if ( lsValue != "NaN" ) {
value = lsValue ; if ( parseFloat ( lsValue ) < 0 ) {
return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>' ;
}
}
else {
return value ;
}
}
catch ( e ) {
return value ;
}
return value ;
}
} , {
sortable : true ,
dataIndex : 'Amount' ,
header : '价税(票面)金额' ,
//editor: {
// xtype: 'textfield', //numberfield
// selectOnFocus: true
//},
width : 80 ,
renderer : function ( value , cellmeta , record , rowIndex , columnIndex , store ) {
try {
var lsValue = usMoney ( value , 2 , '' , false ) ;
if ( lsValue != "NaN" ) {
value = lsValue ; if ( parseFloat ( lsValue ) < 0 ) {
return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>' ;
}
}
else {
return value ;
}
}
catch ( e ) {
return value ;
}
return value ;
}
} , {
sortable : true , hidden : true ,
dataIndex : 'Currency' ,
header : '币别' ,
//editor: this.comboxcurr,
width : 50
} , {
sortable : true , hidden : true ,
dataIndex : 'ExChangerate' ,
header : '汇率' ,
//hidden: true,
//editor: {
// xtype: 'textfield',
// selectOnFocus: true
//},
width : 60
} , {
sortable : true , hidden : true ,
dataIndex : 'EnterDate' ,
header : '时间' ,
//renderer: Ext.util.Format.dateRenderer('Y-m-d'),
//editor: {
// format: 'Y-m-d',
// xtype: 'datefield',
// selectOnFocus: true
//}
width : 80
} , {
sortable : true ,
dataIndex : 'CHEQUENUM' ,
header : '支票号' ,
//editor: this.comboxCHEQUENUM,
width : 140
} , {
sortable : true ,
dataIndex : 'IsOpen' ,
header : '是否抵扣销项税' ,
//editor: this.comboxIsOpen,
//renderer: function (value, p, record) {
// if (value == null || value == '') return '';
// else return record.data.IsOpen_REF;
//},
width : 95
} , {
sortable : true ,
dataIndex : 'Remark' ,
header : '备注' ,
//editor: {
// xtype: 'textfield',
// selectOnFocus: true
//},
width : 250
} ]
} ) ;
//#endregion
//#region 报销单审核状态
this . formWorkFlowState = Ext . widget ( 'form' , { // layout: "border",
region : 'south' ,
layout : 'hbox' ,
readonly : true ,
frame : true ,
bodyPadding : 2 ,
height : 45 ,
fieldDefaults : {
margins : '1 1 1 1' ,
labelAlign : 'right' ,
flex : 5 ,
//labelWidth: 90,//label标签宽度
msgTarget : 'qtip' ,
sourcelabelWidth : '100' //,split:true
} ,
items : [ ]
} ) ; //end this.formEdit
//#endregion
//#region 选择load
//var _this=this;
this . gridList . getSelectionModel ( ) . on ( 'select' , function ( model , record , index ) {
var BXGID = record . data . BXGID ;
var WORKFLOWID = record . data . WORKFLOWID ;
this . storeBodyChfee . load ( { params : { BXGID : BXGID } } ) ;
/////////////以下部分为获取工作流
this . column = DsTruck . GetWorkFlowState ( WORKFLOWID , BXGID ) ;
//使用者id, 表名 , 中间column数组, 跳过一开始的几列
////////////////////
/ *
this . formWorkFlowState . add ( {
xtype : 'textfield' ,
fieldLabel : '提单号/船名' ,
name : 'MBLNO'
} ) ;
* /
this . formWorkFlowState . removeAll ( ) ;
//setTimeout('this.formWorkFlowState.add(this.column)',500*1);
this . formWorkFlowState . add ( this . column ) ;
//setTimeout('this.formWorkFlowState.doLayout()',550*1);
this . formWorkFlowState . doLayout ( ) ;
} , this ) ;
//#endregion 选择load
//#region 弹出理由窗口
this . formReason = Ext . widget ( 'form' , {
frame : true ,
region : 'center' ,
bodyPadding : 5 ,
fieldDefaults : {
margins : '2 2 2 2' ,
labelAlign : 'right' ,
flex : 1 ,
labelWidth : 90 ,
msgTarget : 'qtip'
} ,
items : [
{ //fieldset 1
xtype : 'container' ,
defaultType : 'textfield' ,
layout : 'anchor' ,
defaults : {
anchor : '100%'
} ,
items : [ {
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ ]
} , {
xtype : 'container' ,
layout : 'hbox' ,
defaultType : 'textfield' ,
items : [ {
fieldLabel : '驳回理由' ,
xtype : 'textfield' ,
name : 'Reason'
} ]
}
] //end items(fieldset 1)
} //end fieldset 1
] //end root items
} ) ;
me = this ;
this . winReason = Ext . create ( 'Ext.window.Window' , {
title : "驳回理由" ,
width : 450 ,
//height : 120,
//plain : true,
iconCls : "addicon" ,
resizable : true ,
// 是否可以拖动
// draggable:false,
collapsible : true , // 允许缩放条
closeAction : 'close' ,
closable : true ,
modal : 'true' ,
buttonAlign : "center" ,
bodyStyle : "padding:0 0 0 0" ,
items : [ this . formReason ] ,
buttons : [ {
text : "驳回" ,
minWidth : 70 ,
handler : function ( ) {
me . onAuditRefuseClick ( ) ;
}
} , {
text : "关闭" ,
minWidth : 70 ,
handler : function ( ) {
me . winReason . close ( ) ;
}
} ]
} ) ;
//#endregion
//#region 布局
this . panelFeeBody = new Ext . Panel ( {
layout : "border" ,
split : true ,
region : "south" ,
height : 250 ,
items : [ this . formFeeBody , this . formWorkFlowState ]
} ) ;
this . panelTop = new Ext . Panel ( {
layout : "border" ,
region : "north" ,
height : 150 ,
split : true ,
items : [ this . formSearch , this . panelBtn ]
} ) ;
Ext . apply ( this , {
items : [ this . panelTop , this . gridList , this . panelFeeBody ]
} ) ;
//#endregion 布局
this . InitData ( ) ;
//集中绑定事件
this . storeList . on ( 'beforeload' , function ( store ) {
var sql = this . getCondition ( ) ;
Ext . apply ( store . proxy . extraParams , { condition : sql } ) ;
} , this ) ;
} , //end initUIComponents
checkHandler : function ( ) {
alert ( 'Checked a menu item' ) ;
} ,
onRefreshClick : function ( button , event ) {
var sql = this . getCondition ( ) ;
this . storeList . load ( {
params : { start : 0 , limit : this . PageSize , sort : '' , condition : sql } ,
waitMsg : "正在查询数据..." ,
scope : this
} ) ;
this . storeBodyChfee . removeAll ( ) ;
//alert(this.storeList.getCount());
} ,
InitData : function ( ) {
Ext . Ajax . request ( {
waitMsg : '正在查询用户权限...' ,
url : '/CommMng/BasicDataRef/GetAuthorityRange' ,
params : {
modName : "mod_Baoxiao" ,
USERID : USERID
} ,
callback : function ( options , success , response ) {
if ( success ) {
var result = Ext . JSON . decode ( response . responseText ) ;
rec = result . data ;
//alert(rec.VISIBLERANGE);
//alert(rec.OPERATERANGE);
//可操作为0则全都可见, 3为可提交/驳回,2为可审核/驳回, 1为只能看
this . VISIBLERANGE = rec . VISIBLERANGE ;
/ *
this . OPERATERANGE = rec . OPERATERANGE ;
if ( this . OPERATERANGE == "0" ) {
Ext . getCmp ( "Submit" ) . enable ( ) ;
Ext . getCmp ( "Pass" ) . enable ( ) ;
Ext . getCmp ( "Refuse" ) . enable ( ) ;
Ext . getCmp ( "NEW" ) . enable ( ) ;
Ext . getCmp ( "DEL" ) . enable ( ) ;
Ext . getCmp ( "VOUCHER" ) . enable ( ) ;
} else
if ( this . OPERATERANGE == "1" ) {
Ext . getCmp ( "Submit" ) . disable ( ) ;
Ext . getCmp ( "Pass" ) . disable ( ) ;
Ext . getCmp ( "Refuse" ) . disable ( ) ;
Ext . getCmp ( "NEW" ) . disable ( ) ;
Ext . getCmp ( "DEL" ) . disable ( ) ;
Ext . getCmp ( "VOUCHER" ) . disable ( ) ;
} else
if ( this . OPERATERANGE == "2" ) {
Ext . getCmp ( "Submit" ) . disable ( ) ;
Ext . getCmp ( "Pass" ) . enable ( ) ;
Ext . getCmp ( "Refuse" ) . enable ( ) ;
Ext . getCmp ( "NEW" ) . disable ( ) ;
Ext . getCmp ( "DEL" ) . enable ( ) ;
Ext . getCmp ( "VOUCHER" ) . enable ( ) ;
} else {
Ext . getCmp ( "Submit" ) . enable ( ) ;
Ext . getCmp ( "Pass" ) . disable ( ) ;
Ext . getCmp ( "Refuse" ) . enable ( ) ;
Ext . getCmp ( "NEW" ) . enable ( ) ;
Ext . getCmp ( "DEL" ) . enable ( ) ;
Ext . getCmp ( "VOUCHER" ) . disable ( ) ;
} * /
} else {
Ext . MessageBox . alert ( '请求出现错误,请重试' , response . responseText ) ;
}
} ,
scope : this
} ) ; //request over
} , //end InitData
onDeleteClick : 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 selectedRecords = [ ] ;
selectedRecords = this . gridList . selModel . getSelection ( ) ;
var candelete = DsTruck . CheckBaoxiaoDelete ( selectedRecords ) ;
if ( candelete == false ) {
return ;
}
var record = selections [ 0 ] ;
Ext . MessageBox . confirm ( '提示' , '确定删除该记录吗?' , function ( btn ) {
if ( btn == 'yes' ) {
Ext . Msg . wait ( '正在删除数据...' ) ;
Ext . Ajax . request ( {
waitMsg : '正在删除数据...' ,
url : '/OA/Baoxiao/Delete' ,
params : {
data : Ext . JSON . encode ( record . data ) ,
USERID : USERID
} ,
callback : function ( options , success , response ) {
if ( success ) {
var jsonresult = Ext . JSON . decode ( response . responseText ) ;
if ( jsonresult . Success ) {
this . storeList . remove ( record ) ;
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 ) ;
InitData ( ) ;
} , //onDeleteClick
onOpenClick : 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 ;
}
if ( selections . length > 1 ) {
Ext . Msg . show ( { title : '提示' , msg : '请注意,将打开所选内容的第一条!' , icon : Ext . Msg . INFO , buttons : Ext . Msg . OK } ) ;
}
var selectedRecords = [ ] ;
selectedRecords = this . gridList . selModel . getSelection ( ) ;
this . SelectedRecord = selectedRecords [ 0 ] ;
this . OprationStatus = 'edit' ;
DsOpenEditWin ( "/OA/Baoxiao/Edit" , "" , "620" , "1000" ) ;
} , //onDeleteClick
getToday : function ( ) {
var now = new Date ( ) ;
var year = now . getFullYear ( ) ; //年
var month = now . getMonth ( ) + 1 ; //月
var day = now . getDate ( ) ; //日
var clock = year + "-" ;
if ( month < 10 )
clock += "0" ;
clock += month + "-" ;
if ( day < 10 )
clock += "0" ;
clock += day + " " ;
return ( clock ) ;
} ,
onResetClick : function ( button , event ) {
this . formSearch . getForm ( ) . reset ( ) ;
} ,
getCondition : function ( ) {
var form = this . formSearch . getForm ( ) ;
if ( ! form . isValid ( ) ) {
Ext . Msg . alert ( '提示' , '查询条件赋值错误,请检查。' ) ;
return '' ;
}
if ( this . VISIBLERANGE == "0" ) //查看权限 全部
{
var sql = '' ;
} else
if ( this . VISIBLERANGE == "1" ) //分公司
{
var sql = " BX.company='" + COMPANYID + "'" ;
} else
if ( this . VISIBLERANGE == "2" ) //部门
{
var sql = " BX.DEPTNAME ='" + DEPTGID + "'" ;
} else
if ( this . VISIBLERANGE == "3" ) //个人
{
var sql = " BX.createuser='" + SHOWNAME + "'" ;
}
else {
sql = " 1<0" ;
}
//OPERATERANGE
var DEPTID = Ext . getCmp ( "DEPTID" ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , DEPTID , "BX.DEPTNAME like '%" + DEPTID + "%'" ) ;
var BXGID = Ext . getCmp ( "BXGID_S" ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , BXGID , "BX.BXGID like '%" + BXGID + "%' or BX.BXNO like '%" + BXGID + "%'" ) ;
var CREATEUSER = Ext . getCmp ( "CREATEUSER" ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , CREATEUSER , "BX.CREATEUSER = '" + CREATEUSER + "'" ) ;
var CREATEDATE _min = form . findField ( 'CREATEDATE_min' ) . getRawValue ( ) ;
sql = sql + getAndConSql ( sql , CREATEDATE _min , "BX.CREATEDATE >= '" + CREATEDATE _min + "'" ) ;
var CREATEDATE _max = form . findField ( 'CREATEDATE_max' ) . getRawValue ( ) ;
sql = sql + getAndConSql ( sql , CREATEDATE _max , "BX.CREATEDATE <= '" + CREATEDATE _max + " 23:59:59'" ) ;
/ *
var Status = this . comboxStatus . getValue ( ) ;
if ( Status != "" ) {
sql = sql + getAndConSql ( sql , Status , "bx.bxstatus in (" + Status + ")" ) ;
} * /
var Passed = form . findField ( "Passed" ) . getValue ( ) ;
if ( Passed )
{
sql = sql + getAndConSql ( sql , Passed , " bx.bxstatus in (2,0,6) and bx.bxgid in(select distinct billno from workflow_do where auditor=@userid )" ) ; //and isdelete is null
} else
{
sql = sql + getAndConSql ( sql , true , " dbo.[GetUsingStep](wu.workflowid,wu.currentid,@userid,wu.stepno)<>0 " ) ;
}
var Amount _min = form . findField ( 'Amount_min' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , Amount _min , "BX.amount >= " + Amount _min ) ;
var Amount _max = form . findField ( 'Amount_max' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , Amount _max , "BX.amount <= " + Amount _max ) ;
var Fee _Amount = form . findField ( 'Fee_Amount' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , Fee _Amount , "BX.BXGID in (select bxgid from ch_fee where amount =" + Fee _Amount + ")" ) ;
var CHEQUENUM = form . findField ( 'CHEQUENUM' ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , CHEQUENUM , "BX.BXGID in (select bxgid from ch_fee where CHEQUENUM like '%" + CHEQUENUM + "%')" ) ;
var ISPAYED = this . comboxISPAYED . getValue ( ) ;
var CUSTOMERNAME = Ext . getCmp ( "CUSTOMERNAME" ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , CUSTOMERNAME , "BX.BXGID in (select bxgid from ch_fee where customername like '%" + CUSTOMERNAME + "%')" ) ;
var FEENAME = Ext . getCmp ( "FEENAME" ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , FEENAME , "BX.BXGID in (select bxgid from ch_fee where FEENAME like '%" + FEENAME + "%')" ) ;
var MBLNO = Ext . getCmp ( "MBLNO" ) . getValue ( ) ;
sql = sql + getAndConSql ( sql , MBLNO , "BX.BXGID in (select bxgid from ch_fee where bsno in( select bsno from vw_settlement where mblno like '%" + MBLNO + "%'))" ) ;
if ( ISPAYED == "1" ) { //已支付
sql = sql + getAndConSql ( sql , ISPAYED , " (select isnull(sum(obp.amount),0) from OA_Baoxiao_Pay obp where obp.BXGID=bx.BXGID)=isnull(bx.amount,0) " ) ;
//alert("1");
} ;
if ( ISPAYED == "2" ) {
sql = sql + getAndConSql ( sql , ISPAYED , " (select isnull(sum(obp.amount),0) from OA_Baoxiao_Pay obp where obp.BXGID=bx.BXGID)<>isnull(bx.amount,0) " ) ;
//alert("2");
} ;
/ *
var WorkFlow = form . findField ( "WorkFlow" ) . getValue ( ) ;
if ( WorkFlow )
{ sql = sql + getAndConSql ( sql , WorkFlow , " (m.ReceiptStatus is null or m.ReceiptStatus=0 )" ) ; }
* /
/ *
var WorkFlowStep = form . findField ( "WorkFlowStep" ) . getValue ( ) ;
if ( WorkFlowStep != "" && WorkFlowStep != null ) {
var index = this . storeWorkFlowStep . find ( "GID" , WorkFlowStep ) ;
//alert (this.storeWorkFlowStep.getAt(index).get("NAME"));
var STEPNO = this . storeWorkFlowStep . getAt ( index ) . get ( "STEPNO" ) ;
var STEPID = this . storeWorkFlowStep . getAt ( index ) . get ( "GID" ) ;
var BSNOList = "" ;
var returnData = [ ] ;
Ext . Ajax . request ( {
waitMsg : '正在查询数据...' ,
url : '/CommMng/WorkFlow/GetWorkFlowBSNO' ,
scope : this ,
async : false ,
params : { WorkFlowName : this . WorkFlowName , STEPNO : STEPNO } ,
waitMsg : "正在查询数据..." ,
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
//});
sql = sql + getAndConSql ( sql , "1>2" , " 1>2 " ) ;
//return;
} else {
var jsonresult = Ext . JSON . decode ( response . responseText ) ;
returnData = jsonresult . data ;
for ( var i = 0 ; i < returnData . length ; i ++ ) {
var rec = returnData [ i ] ;
if ( BSNOList == "" ) { BSNOList = "'" + rec . BSNO + "'" ; }
else { BSNOList = BSNOList + ",'" + rec . BSNO + "'" ; }
}
sql = sql + getAndConSql ( sql , BSNOList , " BX.BXGID in (" + BSNOList + ") " ) ;
}
//this.InWorkFlow=true;
} else {
Ext . Msg . show ( { title : '请重试' ,
msg : '服务器响应出错' ,
icon : Ext . Msg . ERROR , buttons : Ext . Msg . OK
} ) ;
return ;
}
}
} ) ;
} else {
//this.InWorkFlow=false;
} * /
return sql ;
} ,
onGetremind : function ( field , newValue , oldValue ) {
if ( newValue != null ) {
this . storeList . load ( {
params : { start : 0 , limit : this . PageSize , sort : '' , condition : newValue } ,
waitMsg : "正在查询数据..." ,
scope : this
} ) ;
}
} ,
OprationSwap : function ( ) {
var ret = new Array ( ) ;
ret [ 0 ] = this . OprationStatus ;
ret [ 1 ] = this . storeList ;
ret [ 2 ] = this . SelectedRecord ;
return ret ;
} ,
onSubmitAuditClick : function ( button , event ) {
//提交审核
var records = this . gridList . selModel . getSelection ( ) ;
DsTruck . BaoxiaoAudit ( records , 2 , '正在审核数据, 请稍侯..' ) ;
InitData ( ) ;
} ,
onAuditPassClick : function ( button , event ) {
//审核通过
//var records = this.MainCB.selected.items;
var records = this . gridList . selModel . getSelection ( ) ;
DsTruck . BaoxiaoAudit ( records , 0 , this . WorkFlowName , '正在审核数据, 请稍侯..' ) ;
this . onRefreshClick ( button , event ) ;
} ,
onAuditRefuseClick : function ( button , event ) {
//驳回提交
var records = this . gridList . selModel . getSelection ( ) ;
var form = this . formReason . getForm ( ) ;
var Reason = form . findField ( 'Reason' ) . getRawValue ( ) ;
DsTruck . BaoxiaoAudit ( records , 6 , this . WorkFlowName , '正在审核数据, 请稍侯..' , Reason ) ;
this . onRefreshClick ( button , event ) ;
this . winReason . close ( ) ;
}
} ) ;