Ext.namespace('Shipping'); String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, ""); } Shipping.MsCtBankCheckingIndex = function (config) { Ext.applyIf(this, config); this.initUIComponents(); window.Shipping.MsCtBankCheckingIndex.superclass.constructor.call(this); }; Ext.extend(Shipping.MsCtBankCheckingIndex, Ext.Panel, { PageSize: 2000, strCtSTARTGID: '', strACCDATE: '', strACCDAY: '', strACCTODAY: '', initUIComponents: function () { this.formname = "formMsCtBankCheckingIndex"; //页面名称 //#region formSearch 下拉框信息加载 //银行存款科目加载 this.storeCwAccitems = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CwAccitemsGlModel', proxy: { url: '/CommMng/BasicDataRef/GetCwAccitemsGl' } }); this.storeCwAccitems.load({ params: { condition: "DETAILED=1 and ISENABLE=1 and ISBANK=1"} }); this.comboxACCNAME = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '银行科目', store: this.storeCwAccitems, forceSelection: true, //输入值是否严格为待选列表中存在的值 id: 'ACCNAME', name: 'ACCNAME', valueField: 'ACCID', displayField: 'ACCIDNAME', allowBlank: false }); //是否对账 Ext.define('CHECKINGModel', { extend: 'Ext.data.Model', fields: [{ name: 'Name', type: 'string'}] }); var dataCHECKING = [{ "Name": "" }, { "Name": "未达" }, { "Name": "已达"}]; var storeCHECKING = Ext.create('Ext.data.Store', { model: 'CHECKINGModel', data: dataCHECKING }); this.comboxCHECKING = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '是否对账', forceSelection: true, store: storeCHECKING, name: 'CHECKING', valueField: 'Name', displayField: 'Name', value: '未达', enableKeyEvents: true, //激活键盘事件 listeners: { scope: this, 'select': function (combo, records, eOpts) { if (combo.value.toString() == "已达") { Ext.getCmp("VOUDATE").setValue(""); } else { Ext.getCmp("VOUDATE").setValue(this.strACCTODAY); } } // } }); //#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: [{ xtype: 'container', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [{ xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [this.comboxACCNAME, this.comboxCHECKING, { xtype: 'hiddenfield' }, { xtype: 'hiddenfield' }, { xtype: 'hiddenfield' }, { fieldLabel: '当前对账日期', labelWidth: 80, id: 'VOUDATE', name: 'VOUDATE', xtype: 'datefield', format: 'Y-m-d', //allowBlank: false, //是否允许为空 enableKeyEvents: true, //激活键盘事件 listeners: { scope: this, 'keyup': { fn: function (_field, e) { if (e.getKey() == 13) { this.onRefreshClick(); } }, scope: this } } }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '会计期间(日记账)', labelWidth: 100, xtype: 'monthfield', editable: false, // allowBlank: false, //是否允许为空 id: 'ACCDATEbgn', name: 'ACCDATEbgn', enableKeyEvents: true, //激活键盘事件 listeners: { scope: this, 'keyup': { fn: function (_field, e) { if (e.getKey() == 13) { this.onRefreshClick(); } }, scope: this } } }, { fieldLabel: '至', xtype: 'monthfield', editable: false, // allowBlank: false, //是否允许为空 id: 'ACCDATEend', name: 'ACCDATEend', enableKeyEvents: true, //激活键盘事件 listeners: { scope: this, 'keyup': { fn: function (_field, e) { if (e.getKey() == 13) { this.onRefreshClick(); } }, scope: this } } }, { fieldLabel: '结算日期(对账单)', id: 'VOUbgn', name: 'VOUbgn', labelWidth:100, xtype: 'datefield', format: 'Y-m-d', // allowBlank: false, //是否允许为空 enableKeyEvents: true, //激活键盘事件 listeners: { scope: this, 'keyup': { fn: function (_field, e) { if (e.getKey() == 13) { this.onRefreshClick(); } }, scope: this } } }, { fieldLabel: '截止日期', id: 'VOUend', name: 'VOUend', xtype: 'datefield', format: 'Y-m-d', // allowBlank: false, //是否允许为空 enableKeyEvents: true, //激活键盘事件 listeners: { scope: this, 'keyup': { fn: function (_field, e) { if (e.getKey() == 13) { this.onRefreshClick(); } }, scope: this } } }, { xtype: 'hiddenfield' }, { xtype: 'hiddenfield' }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ xtype: "label", id: "HeJiDR", text: "日记账 选中借方:", width: 100 }, { xtype: "label", id: "HeJi_DR", text: "", width: 120 }, { xtype: "label", id: "HeJiCR", text: "选中贷方:", width: 60 }, { xtype: "label", id: "HeJi_CR", text: "", width: 200 }, { xtype: "label", id: "HeJiDR_2", text: "银行对账单 选中借方:", width: 130 }, { xtype: "label", id: "HeJi_DR_2", text: "", width: 120 }, { xtype: "label", id: "HeJiCR_2", text: "选中贷方:", width: 60 }, { xtype: "label", id: "HeJi_CR_2", text: "", width: 150 }] }] }] }); //#endregion formSearch //#region 银行日记账 //#region 定义数据集 this.storeList = Ext.create('Ext.data.Store', { pageSize: this.PageSize, model: 'MsCtBankJournalModel', remoteSort: true, proxy: { type: 'ajax', url: '/MvcShipping/MsCtBankChecking/GetDataList', reader: { id: 'GID', root: 'data', totalProperty: 'totalCount' } } //,autoLoad: true //自动加载 }); //#endregion //#region 列定义 this.GridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel'); this.girdcolums = [{ sortable: true, dataIndex: 'GID', header: '', //唯一编码 hidden: true, width: 0 }, { sortable: true, dataIndex: 'ISCHECKING', header: '对账', align: 'center', width: 35 }, { sortable: true, dataIndex: 'SVOUDATE', renderer: Ext.util.Format.dateRenderer('Y-m-d'), align: 'center', header: '结算日期', width: 80 }, { sortable: true, dataIndex: 'VKNO', header: '凭证字', align: 'center', width: 50 }, { sortable: true, dataIndex: 'VOUNO', header: '凭证号', align: 'center', width: 50 }, { sortable: true, dataIndex: 'SETTLETYPENAME', header: '结算方式', align: 'center', width: 60 }, { sortable: true, dataIndex: 'BILLNO', header: '结算号', align: 'center', width: 80 }, { sortable: true, dataIndex: 'FCYNO', header: '币别', align: 'center', width: 40 }, { sortable: true, dataIndex: 'DR', header: '借方金额', align: 'right', width: 100, 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 '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; } }, { sortable: true, dataIndex: 'CR', header: '贷方金额', align: 'right', width: 100, 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 '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; } }, { sortable: true, dataIndex: 'VOUDATE_C', renderer: Ext.util.Format.dateRenderer('Y-m-d'), align: 'center', header: '对账日期', width: 80 }, { sortable: true, dataIndex: 'VOUDATE', renderer: Ext.util.Format.dateRenderer('Y-m-d'), align: 'center', header: '凭证日期', width: 80 }, { sortable: true, dataIndex: 'EXPLAN', header: '摘要', width: 300 }, { sortable: true, dataIndex: 'CHECKINGGID', header: '对账GID', align: 'center', hidden: true, width: 0 }]; //#endregion //#region gridList列表显示信息 this.gridList = new Ext.grid.GridPanel({ title: '银行日记账', store: this.storeList, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, columns: this.girdcolums, selModel: this.GridCheckBoxModel, // columnLines: true, //是否显示列分割线,默认为false iconCls: 'icon-grid', renderTo: Ext.getBody(), // paging bar on the bottom bbar: [Ext.create('Ext.PagingToolbar', { store: this.storeList, displayInfo: true, displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录', emptyMsg: "没有数据" })] }); //#endregion //#endregion //#region 银行日记账 //#region 定义数据集 this.storeListStatement = Ext.create('Ext.data.Store', { pageSize: this.PageSize, model: 'MsCtBankStatementModel', remoteSort: true, proxy: { type: 'ajax', url: '/MvcShipping/MsCtBankChecking/GetDataListStatement', reader: { id: 'GID', root: 'data', totalProperty: 'totalCount' } } //,autoLoad: true //自动加载 }); //#endregion //#region 列定义 this.GridCheckBoxModelStatement = Ext.create('Ext.selection.CheckboxModel'); this.girdcolumsStatement = [{ sortable: true, dataIndex: 'GID', header: '', //唯一编码 hidden: true, width: 0 }, { sortable: true, dataIndex: 'ISCHECKING', header: '对账', align: 'center', width: 35 }, { sortable: true, dataIndex: 'VOUDATE', renderer: Ext.util.Format.dateRenderer('Y-m-d'), align: 'center', header: '结算日期', width: 80 }, { sortable: true, dataIndex: 'ACCNAME', align: 'center', header: '银行', width: 100 }, { sortable: true, dataIndex: 'SETTLETYPENAME', header: '结算方式', align: 'center', width: 60 }, { sortable: true, dataIndex: 'BILLNO', header: '结算号', align: 'center', width: 80 }, { sortable: true, dataIndex: 'FCYNO', header: '币别', align: 'center', width: 40 }, { sortable: true, dataIndex: 'DR', header: '银行借方', align: 'right', width: 100, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; } }, { sortable: true, dataIndex: 'CR', header: '银行贷方', align: 'right', width: 100, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; } }, { sortable: true, dataIndex: 'VOUDATE_C', renderer: Ext.util.Format.dateRenderer('Y-m-d'), align: 'center', header: '对账日期', width: 80 }, { sortable: true, dataIndex: 'CHECKINGGID', header: '对账GID', align: 'center', hidden: true, width: 0 }]; //#endregion //#region gridListStatement列表显示信息 this.gridListStatement = new Ext.grid.GridPanel({ title: '银行对账单', store: this.storeListStatement, region: 'south', height: 300, loadMask: { msg: "数据加载中,请稍等..." }, columns: this.girdcolumsStatement, selModel: this.GridCheckBoxModelStatement, columnLines: true, //是否显示列分割线,默认为false iconCls: 'icon-grid', renderTo: Ext.getBody(), // paging bar on the bottom bbar: [Ext.create('Ext.PagingToolbar', { store: this.storeListStatement, displayInfo: true, displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录', emptyMsg: "没有数据" })] }); //#endregion //#endregion _this = this; //#region 按钮工具条/页面布局 this.panelBtn = new Ext.Panel({ region: "north", 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: "自动对账", iconCls: "btnadd", handler: function (button, event) { this.onAutoClick(false); }, scope: this }, { text: "手工对账", iconCls: "btnadd", handler: function (button, event) { this.onAddClick(button, event); }, scope: this }, '-', { text: "取消对账", iconCls: "btndelete", handler: function (button, event) { this.onDeleteClick(false); }, scope: this }, '-', { text: "EXCEL导出", //"保存列表样式", iconCls: "btnexportexcel", menu: [ { text: "银行日记账", //"保存", handler: function (button, event) { _this.onExportClick(); } }, { text: "银行对账单", //"初始化", handler: function (menu, event) { _this.onExport2Click(); } } ], scope: this }] }); this.panelTop = new Ext.Panel({ layout: "border", region: "north", height: 135, items: [this.panelBtn, this.formSearch] }); Ext.apply(this, { items: [this.panelTop, this.gridList, this.gridListStatement] }); //#endregion //#region 页面加载 this.gridList.getSelectionModel().on('select', function (_this, record, index, eOpts) { // this.onSelectFee(1); var sCHECKING = this.formSearch.getForm().findField('CHECKING').getValue(); if (sCHECKING != null) { if (sCHECKING != "未达") { var sCHECKINGGID = record.data.CHECKINGGID.toString(); this.onSelectCls(sCHECKINGGID); } } }, this); this.gridListStatement.getSelectionModel().on('select', function (_this, record, index, eOpts) { // this.onSelectFee(2); var sCHECKING = this.formSearch.getForm().findField('CHECKING').getValue(); if (sCHECKING != null) { if (sCHECKING != "未达") { var sCHECKINGGID = record.data.CHECKINGGID.toString(); this.onSelectCls(sCHECKINGGID); } } }, this); this.gridList.on({ selectionchange: function (sm, selections) { var sumDR = 0; var sumCR = 0; if (selections.length == 0) { Ext.getCmp("HeJi_DR").setText(sumDR); Ext.getCmp("HeJi_CR").setText(sumCR); return; } for (var i = 0; i < selections.length; i++) { var rec = selections[i]; sumDR = sumDR + rec.get("DR"); sumCR = sumCR + rec.get("CR"); } sumDR = usMoney(sumDR, 2, '', false); sumCR = usMoney(sumCR, 2, '', false); Ext.getCmp("HeJi_DR").setText(sumDR); Ext.getCmp("HeJi_CR").setText(sumCR); } }); this.gridListStatement.on({ selectionchange: function (sm, selections) { var sumDR = 0; var sumCR = 0; if (selections.length == 0) { Ext.getCmp("HeJi_DR_2").setText(sumDR); Ext.getCmp("HeJi_CR_2").setText(sumCR); return; } for (var i = 0; i < selections.length; i++) { var rec = selections[i]; sumDR = sumDR + rec.get("DR"); sumCR = sumCR + rec.get("CR"); } sumDR = usMoney(sumDR, 2, '', false); sumCR = usMoney(sumCR, 2, '', false); Ext.getCmp("HeJi_DR_2").setText(sumDR); Ext.getCmp("HeJi_CR_2").setText(sumCR); } }); this.InitData(); this.storeList.on('beforeload', function (store) { var sql = this.getCondition(); if (sql.toString() != "") { Ext.apply(store.proxy.extraParams, { condition: sql }); } }, this); this.storeListStatement.on('beforeload', function (store) { var sql = this.getCondition(); if (sql.toString() != "") { Ext.apply(store.proxy.extraParams, { condition: sql }); } }, this); //#endregion }, //end initUIComponents //#region 加载事件 InitData: function () { Ext.Ajax.request({ waitMsg: '正在查询...', url: '/MvcShipping/MsCtBankJournal/GetInitData', params: { isInitial: 0 }, callback: function (options, success, response) { if (success) { var result = Ext.JSON.decode(response.responseText); if (!result.Success) { return; } var strArg = result.data.toString().split(","); this.strCtSTARTGID = strArg[0].toString(); this.strACCDATE = strArg[1].toString(); this.strACCDAY = strArg[2].toString(); this.strACCTODAY = strArg[3].toString(); Ext.getCmp("VOUDATE").setValue(this.strACCTODAY); // this.onRefreshClick(); } }, scope: this }); }, //#endregion //#region 查询/重置条件 onRefreshClick: function () { var sql = this.getCondition(); var sqlstat = sql; var ACCDATEbgn = this.formSearch.getForm().findField('ACCDATEbgn').getRawValue(); if (ACCDATEbgn != null) { if (ACCDATEbgn != "") { sql = sql + getAndConSql(sql, ACCDATEbgn, "ACCDATE >='" + ACCDATEbgn.toString().trim() + "'"); } } var ACCDATEend = this.formSearch.getForm().findField('ACCDATEend').getRawValue(); if (ACCDATEend != null) { if (ACCDATEend != "") { sql = sql + getAndConSql(sql, ACCDATEend, "ACCDATE <='" + ACCDATEend.toString().trim() + "'"); } } this.storeList.load({ params: { start: 0, limit: this.PageSize, sort: '', condition: sql }, waitMsg: "正在刷新数据...", scope: this }); var VOUDATEbgn = this.formSearch.getForm().findField('VOUbgn').getRawValue(); if (VOUDATEbgn != null) { if (VOUDATEbgn != "") { sqlstat = sqlstat + getAndConSql(sqlstat, VOUDATEbgn, "convert(varchar,VOUDATE,23)>='" + VOUDATEbgn.toString().trim() + "'"); } } var VOUDATEend = this.formSearch.getForm().findField('VOUend').getRawValue(); if (VOUDATEend != null) { if (VOUDATEend != "") { sqlstat = sqlstat + getAndConSql(sqlstat, VOUDATEend, "convert(varchar,VOUDATE,23)<='" + VOUDATEend.toString().trim() + "'"); } } this.storeListStatement.load({ params: { start: 0, limit: this.PageSize, sort: '', condition: sqlstat }, waitMsg: "正在刷新数据...", scope: this }); }, getCondition: function () { if (!this.formSearch.getForm().isValid()) { return "1<0"; } var sql = ''; //银行科目 var sACCID = this.formSearch.getForm().findField('ACCNAME').getValue(); if (sACCID != null) { if (sACCID != "") { var sGID = ""; var AccitemsList = DsStoreQueryBy(this.storeCwAccitems, 'ACCID', sACCID); if (AccitemsList.length > 0) { var AccitemsRaw = AccitemsList.getAt(0).raw; sGID = AccitemsRaw.GID.toString(); } if (sGID != "") { sql = sql + getAndConSql(sql, sGID, "ACCGID='" + sGID.trim() + "'"); } } } //是否对账 var sCHECKING = this.formSearch.getForm().findField('CHECKING').getValue(); if (sCHECKING != null) { if (sCHECKING == "未达") { sql = sql + getAndConSql(sql, sCHECKING, "(CHECKINGGID='' or CHECKINGGID is null)"); } else if (sCHECKING == "已达") { sql = sql + getAndConSql(sql, sCHECKING, "(CHECKINGGID<>'' and CHECKINGGID is not null)"); //对账日期 var sVOUDATE = this.formSearch.getForm().findField('VOUDATE').getRawValue(); if (sVOUDATE != null) { if (sVOUDATE != "") { sql = sql + getAndConSql(sql, sVOUDATE, "CHECKINGGID in (select GID from [ct_bank_checking] where STARTGID='" + this.strCtSTARTGID + "' and VOUDATE ='" + sVOUDATE.toString().trim() + "')"); } } } } return sql; }, onExportClick: function (button, event) { GridExportExcelPage(this.gridList); }, onExport2Click: function (button, event) { GridExportExcelPage(this.gridListStatement); }, onClearSql: function () { var form = this.formSearch.getForm(); form.reset(); this.InitData(); }, //#endregion //#region 点击列表合计金额 onSelectFee: function (iType) { var selectedRecords = this.gridList.selModel.getSelection(); if (iType == 2) { selectedRecords = this.gridListStatement.selModel.getSelection(); } var sumDR = 0; var sumCR = 0; for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; sumDR = sumDR + rec.get("DR"); sumCR = sumCR + rec.get("CR"); } sumDR = usMoney(sumDR, 2, '', false); sumCR = usMoney(sumCR, 2, '', false); if (iType == 1) { Ext.getCmp("HeJi_DR").setText(sumDR); Ext.getCmp("HeJi_CR").setText(sumCR); } else { Ext.getCmp("HeJi_DR_2").setText(sumDR); Ext.getCmp("HeJi_CR_2").setText(sumCR); } }, //#endregion //#region 点击改变行颜色 onSelectCls: function (sCHECKINGGID) { //x-grid-row-alt//x-grid-view//altRowCls//removeRowCls var gView = this.gridList.getView(); for (var i = 0; i < gView.store.data.length; i++) { var strCHECKINGGID = gView.store.data.items[i].data.CHECKINGGID.toString(); if (sCHECKINGGID == strCHECKINGGID && sCHECKINGGID != "") { gView.addRowCls(i, 'feestatus_refer'); //grid.getView().addRowCls(行号, 'css类名') } else { gView.removeRowCls(i, 'feestatus_refer'); //grid.getView().addRowCls(行号, 'css类名') } } // var gViewStatement = this.gridListStatement.getView(); for (var i = 0; i < gViewStatement.store.data.length; i++) { var strCHECKINGGID = gViewStatement.store.data.items[i].data.CHECKINGGID.toString(); if (sCHECKINGGID == strCHECKINGGID && sCHECKINGGID != "") { gViewStatement.addRowCls(i, 'feestatus_refer'); //grid.getView().addRowCls(行号, 'css类名') } else { gViewStatement.removeRowCls(i, 'feestatus_refer'); //grid.getView().addRowCls(行号, 'css类名') } } }, //#endregion //#region 取消对账 onDeleteClick: function (win) { if (!this.formSearch.getForm().isValid()) { return; } var required = '*'; if (!win) { //#region 编辑formDiv 基本信息 var formDiv = Ext.widget('form', { id: 'delForm', //title: '对账条件', border: false, bodyPadding: 10, fieldDefaults: { flex: 1, labelAlign: 'right', labelWidth: 110, labelStyle: 'font-weight:bold' }, items: [{ fieldLabel: '取消日期范围内的', id: 'cbVOUDATE', name: 'cbVOUDATE', xtype: 'checkbox', //style:'direction:rtl',//这样就可以让输入框的光标定位在右边 checked: false, listeners: { render: function (obj) { var font = document.createElement("cbVOUDATE"); font.setAttribute("color", "black"); var redStar = document.createTextNode('(注:如果不选,则操作已经选择的及其对应的数据!)'); font.appendChild(redStar); obj.el.dom.parentNode.appendChild(font); } } }, { fieldLabel: '取消日期', id: 'VOUDATEbgn', name: 'VOUDATEbgn', xtype: 'datefield', format: 'Y-m-d', value: this.strACCTODAY }, { fieldLabel: '至', id: 'VOUDATEend', name: 'VOUDATEend', xtype: 'datefield', format: 'Y-m-d', value: this.strACCTODAY }], buttons: [{ text: '返回', handler: function () { this.up('form').getForm().reset(); this.up('window').close(); } }, { text: '取消对账', handler: function (options, success, response) { var form = Ext.getCmp("delForm").getForm(); if (!form.isValid()) { //Ext.Msg.show({ title: '错误', msg: "不允许为空!", icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } // var sACCGID = ""; var comboxList = DsStoreQueryBy(this.storeCwAccitems, 'ACCID', Ext.getCmp('ACCNAME').getValue()); if (comboxList.length > 0) { var comboxRaw = comboxList.getAt(0).raw; sACCGID = comboxRaw.GID.toString(); } // var gidS = ""; var gidJ = ""; var sql = ""; var sCbVOUDATE = Ext.getCmp('cbVOUDATE').getValue() ? 1 : 0; if (sCbVOUDATE == 0) { var selections = this.gridList.getSelectionModel().getSelection(); var selections2 = this.gridListStatement.getSelectionModel().getSelection(); if (selections.length == 0 && selections2.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要操作的单据!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK }); //this.up('form').getForm().reset(); form.reset(); //this.up('window').close(); win.close(); return; } for (var i = 0; i < selections.length; i++) { var record = selections[i]; if (i == 0) { //gidJ = record.get('GID'); gidJ = record.get('CHECKINGGID'); } else { //gidJ += "," + record.get('GID'); gidJ += "," + record.get('CHECKINGGID'); } } for (var i = 0; i < selections2.length; i++) { var record2 = selections2[i]; if (i == 0) { //gidS = record2.get('GID'); gidS = record2.get('CHECKINGGID'); } else { //gidS += "," + record2.get('GID'); gidS += "," + record2.get('CHECKINGGID'); } } } else { var VOUDATEbgn = Ext.getCmp('VOUDATEbgn').getRawValue(); if (VOUDATEbgn != null) { if (VOUDATEbgn != "") { sql = sql + getAndConSql(sql, VOUDATEbgn, "convert(varchar,VOUDATE,23)>='" + VOUDATEbgn.toString().trim() + "'"); } } var VOUDATEend = Ext.getCmp('VOUDATEend').getRawValue(); if (VOUDATEend != null) { if (VOUDATEend != "") { sql = sql + getAndConSql(sql, VOUDATEend, "convert(varchar,VOUDATE,23)<='" + VOUDATEend.toString().trim() + "'"); } } } Ext.MessageBox.confirm('提示', '确定取消对账吗?', function (btn) { if (btn == 'yes') { Ext.Msg.wait('正在操作数据...'); Ext.Ajax.request({ waitMsg: '正在操作数据...', url: '/MvcShipping/MsCtBankChecking/Delete', params: { gidJ: gidJ, gidS: gidS, sql: sql, sCbVOUDATE: sCbVOUDATE, sACCGID: sACCGID }, callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { this.onRefreshClick(); Ext.Msg.alert('Success', jsonresult.Message); //this.up('form').getForm().reset(); form.reset(); //this.up('window').close(); win.close(); 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.WARNING, buttons: Ext.Msg.OK }); }, success: function (response, options) { }, scope: this }); } }, this); }, scope: this }] }); //#endregion win = Ext.widget('window', { title: '取消对账', closeAction: 'destroy', //hide, width: 310, height: 200, layout: 'fit', resizable: true, modal: true, closable: false, //为false时tab上不显示叉号 resizable: false, //是否可改变列宽,默认为true items: formDiv //draggable: false,//不允许窗体被拖拽 //获取当前鼠标坐标并设置为其生产的初始位置 //x: 250, //y: 150, }); } win.show(); }, //#endregion //#region 手工对账 onAddClick: function (button, event) { var selections = this.gridList.getSelectionModel().getSelection(); var selections2 = this.gridListStatement.getSelectionModel().getSelection(); if (selections.length == 0 && selections2.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要操作的单据!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK }); return; } // //var sVOUDATE = Ext.getCmp('VOUDATE').getRawValue(); //对账日期 var sVOUDATE = this.formSearch.getForm().findField('VOUDATE').getRawValue(); if (sVOUDATE == null) { Ext.Msg.show({ title: '提示', msg: '对账日期不能为空!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK }); return; } else { if (sVOUDATE == "") { Ext.Msg.show({ title: '提示', msg: '对账日期不能为空!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK }); return; } } // var sACCGID = ""; var comboxList = DsStoreQueryBy(this.storeCwAccitems, 'ACCID', Ext.getCmp('ACCNAME').getValue()); if (comboxList.length > 0) { var comboxRaw = comboxList.getAt(0).raw; sACCGID = comboxRaw.GID.toString(); } // //借贷是否平衡的判断提示 var dHeJi_DR = Ext.getCmp("HeJi_DR").text; var dHeJi_CR = Ext.getCmp("HeJi_CR").text; var dHeJi_DR2 = Ext.getCmp("HeJi_DR_2").text; var dHeJi_CR2 = Ext.getCmp("HeJi_CR_2").text; var dCE = dHeJi_DR - dHeJi_CR; var dCE2 = dHeJi_DR2 - dHeJi_CR2; var dCE3 = dCE + dCE2; var _this = this; if (dCE3 != 0) { var sError = "银行日记账借方合计:" + dHeJi_DR + "
银行日记账贷方合计:" + dHeJi_CR + "
银行日记账借方合计减贷方合计:" + dCE + "
银行对账单借方合计:" + dHeJi_DR2 + "
银行对账单贷方合计:" + dHeJi_CR2 + "
是否继续对账?"; Ext.MessageBox.confirm('提示', sError, function (btn) { if (btn == 'yes') { //#region 手工对账 var gidJ = ""; for (var i = 0; i < selections.length; i++) { var record = selections[i]; if (i == 0) { gidJ = record.get('GID'); } else { gidJ += "," + record.get('GID'); } } // var gidS = ""; for (var i = 0; i < selections2.length; i++) { var record2 = selections2[i]; if (i == 0) { gidS = record2.get('GID'); } else { gidS += "," + record2.get('GID'); } } // Ext.MessageBox.confirm('提示', '确定手工对账吗?', function (btn) { if (btn == 'yes') { Ext.Msg.wait('正在操作数据...'); Ext.Ajax.request({ waitMsg: '正在操作数据...', url: '/MvcShipping/MsCtBankChecking/onAddClick', params: { sACCGID: sACCGID, sVOUDATE: sVOUDATE, gidJ: gidJ, gidS: gidS }, callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { //this.storeList.remove(record); _this.onRefreshClick(); 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.WARNING, buttons: Ext.Msg.OK }); }, success: function (response, options) { }, scope: this }); //end Ext.Ajax.request } }, this); //#endregion } }); } else { //#region 手工对账 var gidJ = ""; for (var i = 0; i < selections.length; i++) { var record = selections[i]; if (i == 0) { gidJ = record.get('GID'); } else { gidJ += "," + record.get('GID'); } } // var gidS = ""; for (var i = 0; i < selections2.length; i++) { var record2 = selections2[i]; if (i == 0) { gidS = record2.get('GID'); } else { gidS += "," + record2.get('GID'); } } // var sVOUDATE = Ext.getCmp('VOUDATE').getRawValue(); Ext.MessageBox.confirm('提示', '确定手工对账吗?', function (btn) { if (btn == 'yes') { Ext.Msg.wait('正在操作数据...'); Ext.Ajax.request({ waitMsg: '正在操作数据...', url: '/MvcShipping/MsCtBankChecking/onAddClick', params: { sACCGID: sACCGID, sVOUDATE: sVOUDATE, gidJ: gidJ, gidS: gidS }, callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { //this.storeList.remove(record); this.onRefreshClick(); 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.WARNING, buttons: Ext.Msg.OK }); }, success: function (response, options) { }, scope: this }); //end Ext.Ajax.request } }, this); //#endregion } }, //#endregion //#region 自动对账 onAutoClick: function (win) { if (!this.formSearch.getForm().isValid()) { return; } var required = '*'; if (!win) { //#region 编辑formDiv 基本信息 var formDiv = Ext.widget('form', { id: 'importForm', //title: '对账条件', border: false, bodyPadding: 10, fieldDefaults: { flex: 1, labelAlign: 'right', labelWidth: 120, labelStyle: 'font-weight:bold' }, items: [{ fieldLabel: '截止日期', id: 'VOUDATEend2', name: 'VOUDATEend2', xtype: 'datefield', format: 'Y-m-d', selectOnFocus: true, //得到焦点时自动选择文本 allowBlank: false, value: this.strACCTODAY }, { fieldLabel: '日期 允许相差天数', id: 'DaysOf', name: 'DaysOf', xtype: 'numberfield', allowBlank: false, //是否允许为空 selectOnFocus: true, //得到焦点时自动选择文本 allowDecimals: false, //允许输入小数 hideTrigger: true, //是否隐藏上下调节按钮 nanText: '请输入有效数值', minValue: 0, value: 0 }, { fieldLabel: '结算方式相同', id: 'cbSETTLETYPE', name: 'cbSETTLETYPE', xtype: 'checkbox', checked: false }, { fieldLabel: '结算号相同', id: 'cbBILLNO', name: 'cbBILLNO', xtype: 'checkbox', checked: false }, { fieldLabel: '结算日期相同', id: 'cbVOUDATE', name: 'cbVOUDATE', xtype: 'checkbox', checked: false }], buttons: [{ text: '取消', handler: function () { this.up('form').getForm().reset(); this.up('window').close(); } }, { text: '对账', handler: function (options, success, response) { var form = Ext.getCmp("importForm").getForm(); if (!form.isValid()) { //Ext.Msg.show({ title: '错误', msg: "不允许为空!", icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } // //var sVOUDATE = Ext.getCmp('VOUDATE').getRawValue(); //对账日期 var sVOUDATE = this.formSearch.getForm().findField('VOUDATE').getRawValue(); if (sVOUDATE == null) { Ext.Msg.show({ title: '提示', msg: '对账日期不能为空!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK }); return; } else { if (sVOUDATE == "") { Ext.Msg.show({ title: '提示', msg: '对账日期不能为空!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK }); return; } } // var sACCGID = ""; var comboxList = DsStoreQueryBy(this.storeCwAccitems, 'ACCID', Ext.getCmp('ACCNAME').getValue()); if (comboxList.length > 0) { var comboxRaw = comboxList.getAt(0).raw; sACCGID = comboxRaw.GID.toString(); } var sVOUDATE = Ext.getCmp('VOUDATE').getRawValue(); var sVOUDATEend = Ext.getCmp('VOUDATEend2').getRawValue(); var sDaysOf = Ext.getCmp('DaysOf').getValue(); var sCbSETTLETYPE = Ext.getCmp('cbSETTLETYPE').getValue() ? 1 : 0; var sCbBILLNO = Ext.getCmp('cbBILLNO').getValue() ? 1 : 0; var sCbVOUDATE = Ext.getCmp('cbVOUDATE').getValue() ? 1 : 0; Ext.MessageBox.confirm('提示', '确定自动对账吗?', function (btn) { if (btn == 'yes') { Ext.Msg.wait('正在操作数据...'); Ext.Ajax.request({ waitMsg: '正在操作数据...', url: '/MvcShipping/MsCtBankChecking/onAutoClick', params: { sACCGID: sACCGID, sVOUDATE: sVOUDATE, sVOUDATEend: sVOUDATEend, sDaysOf: sDaysOf, sCbSETTLETYPE: sCbSETTLETYPE, sCbBILLNO: sCbBILLNO, sCbVOUDATE: sCbVOUDATE }, callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { this.onRefreshClick(); Ext.Msg.alert('Success', jsonresult.Message); //this.up('form').getForm().reset(); form.reset(); //this.up('window').close(); win.close(); 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.WARNING, buttons: Ext.Msg.OK }); }, success: function (response, options) { }, scope: this }); //end Ext.Ajax.request } }, this); }, scope: this }] }); //#endregion win = Ext.widget('window', { title: '自动对账', closeAction: 'destroy', //hide, width: 310, height: 240, layout: 'fit', resizable: true, modal: true, closable: false, //为false时tab上不显示叉号 resizable: false, //是否可改变列宽,默认为true items: formDiv //draggable: false,//不允许窗体被拖拽 //获取当前鼠标坐标并设置为其生产的初始位置 //x: 250, //y: 150, }); } win.show(); } //#endregion });