Ext.namespace('DsTruck'); var C_cargoinfo_id=""; var HTHCount=0; var APPUsingCount=0; DsTruck.MsOpAirn_Freight_Edit = function (config) { Ext.applyIf(this, config); this.initUIComponents(); window.DsTruck.MsOpAirn_Freight_Edit.superclass.constructor.call(this); }; Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, //month "d+": this.getDate(), //day "h+": this.getHours(), //hour "m+": this.getMinutes(), //minute "s+": this.getSeconds(), //sedcond "q+": Math.floor((this.getMonth() + 3) / 3), //quarter "S": this.getMilliseconds() //millisecond } if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); return format; } var xhr = new XMLHttpRequest(); var currdate = new Date(); if (!xhr) { //...其他生成xmlhttprequest方法 } xhr.open("HEAD", location.href, true); xhr.onreadystatechange = function () { if (xhr.readyState == 4 && xhr.status == 200) { var datestr = xhr.getResponseHeader("Date"); currdate = new Date(datestr); // alert(currdate.format('yyyy-MM-dd')); } } xhr.send(null); function getSaved(){ var cargodirty = DsTruck.GetDirty(panelEdit.storeDetail, panelEdit.DetailDel); if (panelEdit.formEdit.getForm().isDirty()== true || cargodirty==true) { return true; } else return false; } Ext.extend(DsTruck.MsOpAirn_Freight_Edit, Ext.Panel, { parentWin: null, opStatus: 'add', StoreList: null, editRecord: null, // parentfunction: null, _First: true, GID: "", CUSTOMERNAME: "", initUIComponents: function () { Ext.Ajax.timeout = 1200000; this.DetailDel = []; this.feeSerialNo = 0; this.feeBodyDel = []; this.DetailListName = "ChFeeAutoDuiDetail"; this.bssql = ''; this.feesql = ''; this.formname = "frmChFeeAutoDuiDetail"; this.FactoryNo = ""; //#region 枚举参照相关(编辑form) var _this = this; //this.storeSeller = Ext.create('DsExt.ux.RefTableStore', { // model: 'Tradermb', // proxy: { url: '/CommMng/BasicDataRef/GetTrader' } //}); //this.storeSeller.load({ params: { condition: ""} }); this.storeCustomerNameRef = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefListRm' } }); this.storeCustomerNameRef.load(); this.comboxCustomer = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '结算对象', flex: 1, forceSelection: true, store: this.storeCustomerNameRef, id: 'CUSTOMERNAME', queryMode: 'remote', minChars: 1, queryParam: 'CODENAME', lazyRender: false, name: 'CUSTOMERNAME', valueField: 'CustName', displayField: 'CodeAndName', allowBlank: false, listeners: { blur: function (field, newValue, oldValue) { Ext.getCmp("CUSTOMERNAME").setValue(field.displayTplData[0].CustName); if (field.displayTplData[0].CustCode != "") { //_this.storeDetailName.load({ params: { start: 0, limit: 9999, condition: " CLIENTGID=(select gid from info_client where codename='" + field.displayTplData[0].code + "') "} }); } }, change: function (field, newValue, oldValue) { if (field.displayTplData[0].CustCode != "") { //_this.storeDetailName.load({ params: { start: 0, limit: 9999, condition: " CLIENTGID=(select gid from info_client where codename='" + field.displayTplData[0].code + "') "} }); } }, scope: this } }); this.storeUser = Ext.create('DsExt.ux.RefTableStore', { model: 'DsTruckMng.ux.UserRefModel', proxy: { url: '/CommMng/BasicDataRef/GetUserRefList' } }); this.storeUser.load({ params: { condition: ""} }); this.comboxOP = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '操作人', readOnly: true, forceSelection: true, store: this.storeUser, name: 'OP', valueField: 'UserName', displayField: 'CodeAndName' //,allowBlank: false }); this.storeFeeType = Ext.create('Ext.data.Store', { fields: ['ID', 'NAME'] }); //this.storeFeeType.add({ "ID": "0", "NAME": "" }); this.storeFeeType.add({ "ID": "1", "NAME": "应收" }); this.storeFeeType.add({ "ID": "2", "NAME": "应付" }); this.storeFeeType.add({ "ID": "3", "NAME": "全部" }); this.comboxFEETYPE = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeFeeType, //id: "STLNAME", fieldLabel: '结算方式', forceSelection: true, flex: 0.6, name: 'FEETYPE', valueField: 'ID', displayField: 'NAME' }); this.storeAddDCType = Ext.create('Ext.data.Store', { fields: ['DC', 'NAME'] }); this.storeAddDCType.add({ "DC": "0", "NAME": "全部" }); this.storeAddDCType.add({ "DC": "1", "NAME": "应收" }); this.storeAddDCType.add({ "DC": "2", "NAME": "应付" }); this.comboxaddDCType = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '费用范围', store: this.storeAddDCType, valueField: 'DC', displayField: 'NAME', flex: 0.5, // labelWidth: 50, forceSelection: true, name: 'FEEDC', enableKeyEvents: true, listeners: { keyup: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick(); } } } }); Ext.define('MsFeeCurr', { extend: 'Ext.data.Model', idProperty: 'CURR', fields: [ { name: 'CURR', type: 'string' }, { name: 'DEFRATE', type: 'number' }, { name: 'CRDEFRATE', type: 'number' } ] }); this.StoreCurr = Ext.create('DsExt.ux.RefTableStore', { model: 'MsFeeCurr', proxy: { url: '/MvcShipping/MsChFee/GetFeeCurrList' } }); this.StoreCurr.load({ params: { condition: ""} }); this.comboxCurr = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '币别', store: this.StoreCurr, forceSelection: true, labelWidth: 30, flex: 0.4, name: 'CURR', valueField: 'CURR', displayField: 'CURR', enableKeyEvents: true, listeners: { keyup: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick(); } } } }); this.storeFSTATUS = Ext.create('Ext.data.Store', { fields: ['FSTATUS', 'NAME'] }); this.storeFSTATUS.add({ "FSTATUS": "0", "NAME": "全部" }); this.storeFSTATUS.add({ "FSTATUS": "1", "NAME": "仅已审核" }); this.storeFSTATUS.add({ "FSTATUS": "2", "NAME": "仅未审核" }); this.storeFSTATUS.add({ "FSTATUS": "3", "NAME": "仅已审核未申请" }); this.storeFSTATUS.add({ "FSTATUS": "4", "NAME": "仅未申请" }); this.comboxFSTATUS = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '费用状态', store: this.storeFSTATUS, valueField: 'FSTATUS', displayField: 'NAME', flex: 0.5, forceSelection: true, name: 'FSTATUS', value: '', enableKeyEvents: true, listeners: { keyup: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick(); } } } }); this.storeDuiType = Ext.create('Ext.data.Store', { fields: ['ID', 'NAME'] }); //this.storeFeeType.add({ "ID": "0", "NAME": "" }); this.storeDuiType.add({ "ID": "1", "NAME": "根据区间对账" }); this.storeDuiType.add({ "ID": "2", "NAME": "根据导入对账" }); this.comboxDUITYPE = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeDuiType, //id: "STLNAME", fieldLabel: '对账方式', flex: 1, forceSelection: true, value:'1', name: 'DUITYPE', valueField: 'ID', displayField: 'NAME' }); this.storeFEEDUITYPE = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeFEEDUITYPE.load({ params: { enumTypeId: 50003 } }); this.comboxFEEDUITYPE = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeFEEDUITYPE, fieldLabel:'', //'对账类别', flex: 0.5, // labelWidth: 60, valueField: 'EnumValueName', displayField: 'EnumValueName', name: 'FEEDUITYPE', forceSelection: true }); this.storeFEEDUITYPECONDIT = Ext.create('Ext.data.Store', { fields: ['ID', 'NAME'] }); //this.storeFeeType.add({ "ID": "0", "NAME": "" }); this.storeFEEDUITYPECONDIT.add({ "ID": "等于", "NAME": "等于" }); this.storeFEEDUITYPECONDIT.add({ "ID": "不等于", "NAME": "不等于" }); this.comboxFEEDUITYPECONDIT = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeFEEDUITYPECONDIT, //id: "STLNAME", fieldLabel: '费用类别', flex:0.5, forceSelection: true, value: '等于', name: 'FEEDUITYPECONDIT', valueField: 'ID', displayField: 'NAME' }); this.storeSALECORP = Ext.create('DsExt.ux.RefTableStore', { model: 'MsCompanySale', proxy: { url: '/MvcShipping/MsCompanys/GetNoPicDataList' } }); this.storeSALECORP.load(); this.comboxSALECORP = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeSALECORP, fieldLabel: '核算单位', //是否开垫付 flex: 0.5, name: 'SALECORP', valueField: 'NAME', displayField: 'CodeAndName' }); //#endregion //编辑form:formEdit this.formEdit = Ext.widget('form', { // layout: "border", region: 'center', frame: true, bodyPadding: 5, trackResetOnLoad: true, //不加的话load之后isdirty即变为true fieldDefaults: { margins: '2 2 2 2', labelAlign: 'right', flex: 1, labelWidth: 60, msgTarget: 'qtip' //,split:true }, items: [ {//fieldset 1 xtype: 'fieldset', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [{//container_1 xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '自动对账编号', labelWidth: 90, // hidden: true, readOnly:true, name: 'GID' }, this.comboxCustomer ,this.comboxDUITYPE , { fieldLabel: '对账状态', //readOnly: true, name: 'DUISTATUS', flex: 1 }, { fieldLabel: '对账单编号', //readOnly: true, labelWidth: 75, name: 'DUINO', flex: 1 } , { fieldLabel: '时间戳', name: 'TimeMark', flex: 0, hidden: true, margins: '0' } ] }, //container_1 end { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ this.comboxBLTYPE , { fieldLabel: '起始时间', format: 'Y-m-d', xtype: 'datefield', renderer: Ext.util.Format.dateRenderer('Y-m-d'), name: 'STARTDATE' } , { fieldLabel: '结束时间', format: 'Y-m-d', xtype: 'datefield', renderer: Ext.util.Format.dateRenderer('Y-m-d'), name: 'ENDDATE' }, this.comboxOP , { fieldLabel: '操作时间', readOnly: true, format: 'Y-m-d H:i:s', xtype: 'datefield', labelWidth: 75, renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'), name: 'OPDATE' }, { xtype: 'hiddenfield' } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ { fieldLabel: '对账情况', readOnly: true, hidden: true, name: 'STATUS', flex: 2 } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ this.comboxaddDCType, this.comboxFEETYPE, this.comboxCurr, this.comboxFSTATUS, this.comboxSALECORP, { xtype: 'checkbox', labelWidth:75, fieldLabel: '包含已对账', name: 'HAVEDEBIT', flex: 0.5 }, this.comboxFEEDUITYPECONDIT, this.comboxFEEDUITYPE ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ //// { //xtype: 'checkbox', flex: 1, fieldLabel: '备注', name: 'REMARK', flex: 1 } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ //// ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ //// ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ //// ] }] }] }); ////////////////////////////////// //#region 自动对账明细 //数据集 this.storeDetail = Ext.create('Ext.data.Store', { pageSize: 9999, model: 'CH_FEE_AutoDuiDetailmb', remoteSort: false, //pruneModifiedRecords: true, proxy: { type: 'ajax', url: '/MvcShipping/MsChFeeAutoDui/GetBodyList', reader: { id: 'GID', root: 'data', totalProperty: 'totalCount' } } }); //表格 this.DetailColumns = [ { sortable: true, hidden: true, dataIndex: 'B_BSNO', text: 'B_BSNO', width: 80 }, { sortable: true, align: 'left', dataIndex: 'MBLNO', text: '主提单号', width: 140, editor: { xtype: 'textfield', selectOnFocus: true } }, { sortable: true, align: 'left', dataIndex: 'CUSTOMERNAME', text: '委托单位', width: 140 }, { sortable: true, align: 'left', dataIndex: 'OP', text: '操作', width: 80 }, { sortable: true, align: 'left', dataIndex: 'ETD', text: 'ETD', renderer: Ext.util.Format.dateRenderer('Y-m-d'), width: 80 }, { sortable: true, align: 'right', dataIndex: 'RMBAMOUNT', text: 'RMB对账金额', width: 80, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; }, summaryType: 'sum', align: 'right', summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; } }, { sortable: true, align: 'right', dataIndex: 'USDAMOUNT', text: 'USD对账金额', width: 80, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; }, summaryType: 'sum', align: 'right', summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; } }, { sortable: true, align: 'right', dataIndex: 'L_RMBAMOUNT', text: 'RMB本地金额', width: 80, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; }, summaryType: 'sum', align: 'right', summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; } }, { sortable: true, align: 'right', dataIndex: 'L_USDAMOUNT', text: 'USD本地金额', width: 80, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; }, summaryType: 'sum', align: 'right', summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; } }, { sortable: true, align: 'right', dataIndex: 'Y_RMBAMOUNT', text: 'RMB差额', width: 80, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; }, summaryType: 'sum', align: 'right', summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; } }, { sortable: true, align: 'right', dataIndex: 'Y_USDAMOUNT', text: 'USD差额', width: 80, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; }, summaryType: 'sum', align: 'right', summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; } }, { sortable: true, dataIndex: 'ISOK', text: '对账完成', align: 'center', width: 80, editor: { xtype: 'checkboxfield', inputValue: '1', uncheckedValue: '0' // selectOnFocus: true }, renderer: function (value, cellmeta) { if (value == '1' || value == "true") { return "√"; } } }, { sortable: true, align: 'left', dataIndex: 'REMARK', text: '备注', width: 120, editor: { xtype: 'textfield', selectOnFocus: true, enableKeyEvents: true/*, listeners: { keydown: function (textField, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(1, 18) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(1, 18) } } }*/ } }, { sortable: true, align: 'left', dataIndex: 'REMARK2', //readOnly:true, text: '对账结果', width: 120 }, { sortable: true, dataIndex: 'CARRIER', //readOnly:true, text: '船公司', width: 100 }, { sortable: true, dataIndex: 'TEU', //readOnly:true, text: 'TEU', width: 60 }, { sortable: true, dataIndex: 'SALE', //readOnly:true, text: '揽货人', width: 60 }, { sortable: true, dataIndex: 'CUSTNO', //readOnly:true, text: '委托编号', width: 60 }, { sortable: true, dataIndex: 'DOC', //readOnly:true, text: '单证', width: 120 }, { sortable: true, dataIndex: 'SALEDEPT', //readOnly:true, text: '销售部门', width: 80 }, { sortable: true, dataIndex: 'SALECORP', //readOnly:true, text: '所属公司', width: 120 } ]; this.cellEditingDetail = Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 }); this.Detail_CBM = Ext.create('Ext.selection.CheckboxModel'); _this = this; Ext.grid.RowNumberer = Ext.extend(Ext.grid.RowNumberer, { width: 40 }); this.formDetail = new Ext.grid.GridPanel({ store: this.storeDetail, enableHdMenu: false, layout: 'border', id: "formDetail", region: 'center', //bodyStyle: 'background:#FFF', trackResetOnLoad: true, height: 160, features: [{ ftype: 'summary'//Ext.grid.feature.Summary表格汇总特性 }], autoScroll: true, loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, plugins: [this.cellEditingDetail], selModel: this.Detail_CBM, selType: 'cellmodel', viewConfig: { enableTextSelection: true, getRowClass: function (record, rowIndex, rowParams, store) { var feeStatus = ""; var ISOK = record.get('ISOK'); var RMBAMOUNT = parseFloat(record.get('RMBAMOUNT')); var USDAMOUNT = parseFloat(record.get('USDAMOUNT')); var L_RMBAMOUNT = parseFloat(record.get('L_RMBAMOUNT')); var L_USDAMOUNT = parseFloat(record.get('L_USDAMOUNT')); var REMARK2 = record.get('REMARK2'); if (record.get('ISOK') == "1") { feeStatus = 9; } else //20221128 增加对本地业务已退舱的支持 if (REMARK2 == "我方无此提单号" || REMARK2 =="该业务已退舱") { feeStatus = 3; //4 } else if (REMARK2 == "对方账单无此提单号") { feeStatus = 3; //4 } else { //如rmb和usd均不相等为6 if (RMBAMOUNT != L_RMBAMOUNT && USDAMOUNT != L_USDAMOUNT) { if (RMBAMOUNT < L_RMBAMOUNT && USDAMOUNT < L_USDAMOUNT) { feeStatus = 3; //2 } else if (RMBAMOUNT > L_RMBAMOUNT && USDAMOUNT > L_USDAMOUNT) { feeStatus = 3; } else { feeStatus = 3; //6 改为3 } } else if (RMBAMOUNT < L_RMBAMOUNT || USDAMOUNT < L_USDAMOUNT) { //RMB我方较多为2 feeStatus = 3; //2 } else if (RMBAMOUNT > L_RMBAMOUNT || USDAMOUNT > L_USDAMOUNT) { //RMB我方较多为2 feeStatus = 3; } else { feeStatus = 99; } //RMB我方较多为2 //RMB对方较多为3 } return RowClass(feeStatus); } }, tbar: [{ text: '增加明细', //hidden:true, tooltip: '增加明细', iconCls: "btnadddetail", handler: function (button, event) { this.onAddCargoClick(button, event); }, scope: this }, '-', { text: '删除明细', tooltip: '删除明细', iconCls: "btndeletedetail", handler: function (button, event) { this.onDelCargoClick(button, event); }, scope: this }, { text: '生成应收应付', tooltip: '生成应收应付', iconCls: "btnCWStart", hidden: true, handler: function (button, event) { this.onbtnCWStartClick(button, event); }, scope: this }, { text: "保存列表样式", id: "btnsavelist", handler: function (button, event) { var tempcolumns = this.formDetail.columns; DsTruck.SaveGridPanel(USERID, _this.DetailListName, tempcolumns); }, scope: this }, '-', { text: "导出Excel", id: "btnExportExcel", iconCls: 'btnexportexcel', handler: function (button, event) { this.onExportClick(button, event); }, scope: this }], columns: this.DetailColumns }); this.DetailColumns = DsTruck.GetGridPanel(USERID, this.DetailListName, this.DetailColumns); this.DetailColumns.unshift(new Ext.grid.RowNumberer()); //使用者id,表名 ,中间column数组,跳过一开始的几列 this.formDetail.reconfigure(this.storeDetail, this.DetailColumns); this.formDetail.addListener('itemdblclick', function (dataview, record, item, index, e, b) { this.SelectedRecord = record; var openSet = "height=700, width=1024, toolbar=no, menubar=no,scrollbars=1, resizable=1,location=no, status=no,Top= " + (screen.height - 750) / 2 + ",Left= " + (screen.width - 1100) / 2 var openType = "_blank"; var openUrl = ""; if (record.data.OPLBNAME == "报关业务") { openUrl = "../MsOpApply/ApplyFeeView?handle=check&bsno=" + record.data.B_BSNO; } else { openUrl = "../MsOpBill/MsOpFeeView?handle=check&bsno=" + record.data.B_BSNO; } window.open(openUrl, openType, openSet); }, this); //#endregion //公共按钮Toolbar:panelBtn this.panelBtn = new Ext.Panel({ region: "north", tbar: [ { id: "savebtn", text: "保存", handler: function (button, event) { this.Save('0'); }, scope: this }, { id: "saveandclosebtn", text: "保存并关闭", handler: function (button, event) { this.Save('1'); }, scope: this }, '-', { text: "打印", //"打印", iconCls: "btnprint", handler: function (button, event) { this.Print(); }, scope: this }, { // id: "saveandclose", text: "关闭", handler: function (button, event) { window.close(); }, scope: this }, '-', { text: "导入对账信息Excel表格", tooltip: '注意!三列数据应分别为:提单号,RMB金额,USD金额', id: "uploadexcelbtn", iconCls: "btnexportexcel", handler: function (button, event) { this.Save('0'); if (this.formEdit.getForm().findField('CUSTOMERNAME').getValue() == "") { alert("必须要选择对账单位"); return; } var winAccess = new DsTruck.FileImport({}); winAccess.StoreList = this.storeDetail; this.GID = this.formEdit.getForm().findField('GID').getValue(); this.CUSTOMERNAME = this.formEdit.getForm().findField('CUSTOMERNAME').getValue(); this.FEETYPE = this.formEdit.getForm().findField('FEETYPE').getValue(); winAccess.show(); }, scope: this }, { id: "remakebtn", text: "重新计算对账信息", tooltip: '不需重新导入对账文档,只根据当前的费用状态重新计算对账数据。注意当生成对账单后此功能不能使用', //iconCls: "btnexportexcel", handler: function (button, event) { //this.Save('0'); this.ReMake(); }, scope: this }, '-', { id: "makeduibtn", text: "生成对账单(对账成功的部分)", tooltip: '仅生成对账成功的部分。如果某条信息由于某种原因需要设为对账成功,可以采取以下方法:1.对方账单金额错误-将excel文档内的数据改正确,然后生成', //iconCls: "btnexportexcel", handler: function (button, event) { this.MakeDui('1'); }, scope: this },{ id: "cfsavebtn", text: "拆分(对账成功的部分)", handler: function (button, event) { this.CFSave(); }, scope: this }, { id: "delduibtn", text: "取消生成对账单", tooltip: '', //iconCls: "btnexportexcel", handler: function (button, event) { this.MakeDui('0'); }, scope: this }, '-', { text: "生成付费申请", //"打印", handler: function (button, event) { this.MakeShen('0'); //this.feesql = ' 1=1 '; //var DUINO = this.formEdit.getForm().findField('GID').getValue(); //this.bssql = " b.BSNO IN (SELECT B_BSNO FROM CH_FEE_AutoDuiDetail WHERE BSNO='" + DUINO + "')"; //var CURR = this.formEdit.getForm().findField('CURR').getValue(); //if (CURR != '' && CURR != null) this.feesql = this.feesql + " and f.Currency='" + CURR + "'" //var FEEDC = this.formEdit.getForm().findField('FEEDC').getValue(); //if (FEEDC == '1' || FEEDC == '2') this.feesql = this.feesql + " and f.feetype='" + FEEDC + "'" //var CUSTOMERNAME = this.formEdit.getForm().findField('CUSTOMERNAME').getValue(); //DsOpenEditWin("/Account/Chfee_payapplication/BLEdit?handle=check&bsnosql=duilist&bsCust=" + CUSTOMERNAME, '付费申请'); }, scope: this } ] }); //end 按钮Toolbar //布局 /* 3 */ this.panelTop = new Ext.Panel({ layout: "border", region: "north", height: 160, items: [this.panelBtn, this.formEdit] }); this.panelCargoandApp = new Ext.Panel({ layout: "border", region: 'center', split: true, height: 500, margin: '1 1', items: [this.formDetail ] }); Ext.apply(this, { items: [this.panelTop, this.panelCargoandApp] }); parentWin = window.parent.opener; this.InitData(); //集中绑定编辑后事件 this.formDetail.on('edit', function (editor, e, eOpts) { this.DetailAfterEdit(editor, e, eOpts); }, this); }, //end initUIComponents SetBtnEnable: function (data) { if (data.DUINO == "") {//没有对账编号 Ext.getCmp('savebtn').enable(); //保存按钮置灰 Ext.getCmp('saveandclosebtn').enable(); //enable; Ext.getCmp('uploadexcelbtn').enable(); Ext.getCmp('remakebtn').enable(); Ext.getCmp('makeduibtn').enable(); Ext.getCmp('delduibtn').disable(); } else if (data.SALESTATUS != "") {//有对账编号 Ext.getCmp('savebtn').disable(); //保存按钮置灰 Ext.getCmp('saveandclosebtn').disable(); //enable; Ext.getCmp('uploadexcelbtn').disable(); Ext.getCmp('remakebtn').disable(); Ext.getCmp('makeduibtn').disable(); Ext.getCmp('delduibtn').enable(); } }, ////////<<<商品>>>明细表相关方法 reLine: function (button, event) { var _L = 1; this.storeDetail.each(function (record) { var ln = _L + ""; _L = _L + 1; record.set('SEQUENCE', ln); }); }, onAddCargoClick: function (button, event) { //var linenum=this.storeDetail.getCount()+1; //var _r=this.reLine(); var record = Ext.create('FreightDetailmb', { 'GID': NewGuid(), 'DESCRIPTION': '', 'PLAN_GID': '', 'CARGOGID': '', 'CARGO_CODE': '', 'CARGO_NAME': '', 'MINFEE': '0', 'MINWEIGHT': '0', 'W_5': '0', 'W_10': '0', 'W_N': '0', 'W_45': '0', 'W_100': '0', 'W_300': '0', 'W_500': '0', 'W_1000': '0', 'REMARK': '', 'REMARK_2': '', 'REMARK_3': '', 'PORTLOADID': '', 'PORTDISCHARGEID': '', 'VESSEL': '', 'PORTLOADID_REF': '', 'PORTDISCHARGEID_REF': '', 'D_INFO': '' }); this.storeDetail.add(record); var n = this.storeDetail.getCount(); this.cellEditingCargo.startEditByPosition({ row: n - 1, column: 2 }); //aftereditform(); }, onDelCargoClick: function (button, event) { var selectedRecords = this.formDetail.selModel.getSelection(); Ext.MessageBox.confirm('提示', '确定删除记录吗?', function (btn) { if (btn == 'yes') { for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; if (rec.BSNO != "" || rec.BSNO != "*") //如果是新增但没有保存的数据,没有必要提交到后台 { this.DetailDel.push(rec); } this.storeDetail.remove(selectedRecords[i]); } } }, this); //aftereditform(); }, DetailAfterEdit: function (editor, e, eOpts) { if (e.field == 'CARGOGID') { var Cargoinforecords = DsStoreQueryBy(this.storeDetailName, 'GID', e.value); if (Cargoinforecords.getCount() > 0) { var Cargoinfodata = Cargoinforecords.getAt(0).data; e.record.set('CARGO_CODE', Cargoinfodata.CODEandNAME); } else { e.record.set('CARGO_CODE', ''); } } if (e.field == 'PORTLOADID') { var Cargoinforecords = DsStoreQueryBy(this.storeCodeDisport, 'PORTID', e.value); if (Cargoinforecords.getCount() > 0) { var Cargoinfodata = Cargoinforecords.getAt(0).data; e.record.set('PORTLOADID_REF', Cargoinfodata.PORTID + "-" + Cargoinfodata.PORTCNAME); } else { e.record.set('PORTLOADID_REF', ''); } } if (e.field == 'PORTDISCHARGEID') { var Cargoinforecords = DsStoreQueryBy(this.storeCodeDisport2, 'PORTID', e.value); if (Cargoinforecords.getCount() > 0) { var Cargoinfodata = Cargoinforecords.getAt(0).data; e.record.set('PORTDISCHARGEID_REF', Cargoinfodata.PORTCNAME); } else { e.record.set('PORTDISCHARGEID_REF', ''); } } }, /////////////明细表<<<商品>>>的相关方法 parentfunction: function (button, event) { var ret1 = window.parent.opener.OprationSwap(); // alert(this.First); ret1[3](); }, InitData: function () { this.opStatus = 'add'; var condition = ''; if (parentWin) { var ret = parentWin.OprationSwap(); this.opStatus = ret[0]; this.StoreList = ret[1]; this.editRecord = ret[2]; // this.parentfunction = ret[3]; } if (this.opStatus == 'edit') condition = " GID='" + this.editRecord.get('GID') + "'"; this.LoadData(this.opStatus, condition); }, //end InitData //载入数据 LoadData: function (opstatus, condition) { this.opStatus = opstatus; var GID = ""; Ext.Ajax.request({ waitMsg: '正在查询主表数据...', url: '/MvcShipping/MsChFeeAutoDui/GetData', params: { handle: opstatus, condition: condition }, callback: function (options, success, response) { if (success) { var result = Ext.JSON.decode(response.responseText); if (!result.Success) { Ext.Msg.show({ title: '提示', msg: result.Message, icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK }); return; } var data = result.data; this.formEdit.getForm().reset(); GID = data.GID; if (data.FEETYPE == "" || data.FEETYPE == "0") { data.FEETYPE = '3'; } this.formEdit.getForm().setValues(data); Ext.getCmp("formDetail").setTitle(data.STATUS + '(' + 'RMB对账金额:' + data.RMBAMOUNT + ',USD对账金额:' + data.USDAMOUNT + ',RMB本地金额:' + data.L_RMBAMOUNT + ',USD本地金额:' + data.L_USDAMOUNT+')'); this.SetBtnEnable(data); } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); //request over if (this.opStatus == 'edit') { this.storeDetail.load({ params: { start: 0, limit: 9999, condition: " BSNO='" + this.editRecord.get('GID') + "'"} }); } }, // end LoadDate ReflashEdt: function (GID) { this.opStatus = 'edit'; condition = " GID='" + GID + "'"; this.LoadData(this.opStatus, condition); //this.storeDetail.load({ params: { condition: condition} }); }, //end InitData checkedit: function () { var _r = true; if (this.HTHCount > 0) { alert("合同号重复"); _r = false; } else { var ContractStatus = this.formEdit.getForm().findField('ContractStatus').getValue() ? 1 : 0 if (ContractStatus == 1) { alert("已经锁定"); _r = false; } else { } //return true; } if (this.storeDetail.getCount() == 0) { } //return true; else { for (var i = 0; i < this.storeDetail.getCount(); i += 1) { var cargomember = this.storeDetail.getAt(i).data; if (cargomember.weight == "0") { alert("请填写货物重量,请注意单位是千克"); _r = false; } else if (cargomember.name == "") { alert("请填写货名。"); _r = false; } else if (cargomember.cicodeandname == '0203290090_其他冻藏猪肉' && (cargomember.SPECIFICATIONS == "" || cargomember.SPECIFICATIONS == null)) { alert("0203290090_其他冻藏猪肉的商品必须选择商品规格(去骨/带骨)"); _r = false; } } //end for } //end if /* if (e.field == 'SPECIFICATIONS'){ var cicodeandname=e.record.get('cicodeandname'); if (cicodeandname!="0202300090_其他冻藏猪肉" ){ //alert("只有HS代码为0203290090的商品才能修改规格"); canedit=false; }else{ //canedit=true; } }*/ _form = this.formEdit.getForm(); var seller_name = _form.findField('seller').getValue(); if (CheckISSTOP(this.storeSeller, 'name', seller_name) == true) { alert("你选择的贸易商已经停用"); _r = false; } var buyer_name = _form.findField('buyer').getValue(); var buyer = DsStoreQueryBy(this.storeBuyer, 'name', buyer_name); if (buyer.getCount() > 0) { var buyerdata = buyer.getAt(0).data; if (buyerdata.ISSTOP == "True") { alert("你选择的购货商已经停用"); //return; _r = false; } } var TRADINGAGENCY_name = _form.findField('TRADINGAGENCY').getValue(); var TRADINGAGENCY = DsStoreQueryBy(this.storeTRADINGAGENCY, 'name', TRADINGAGENCY_name); if (TRADINGAGENCY.getCount() > 0) { var buyerdata = TRADINGAGENCY.getAt(0).data; if (buyerdata.ISSTOP == "True") { alert("你选择的中间商已经停用"); //return; _r = false; } } return _r; }, Save: function (type) { var basicForm = this.formEdit.getForm(); if (!basicForm.isValid()) { return; } //basicForm.findField('ContractNo').setDisabled(false); var data = this.formEdit.getForm().getValues(); //var HTH = data.HTH; //var ContractNo = data.ContractNo; //basicForm.findField('ContractNo').setDisabled(true); data.HAVEDEBIT = this.formEdit.getForm().findField('HAVEDEBIT').getValue() ? 1 : 0; var Cargodatas = []; for (var i = 0; i < this.storeDetail.getCount(); i += 1) { var member = this.storeDetail.getAt(i); if (member.data.ISOK == "true") { member.data.ISOK = "1"; } if (member.data.ISOK == "false") { member.data.ISOK = "0"; } Cargodatas.push(member); } //商品明细 var CargoBody = ConvertRecordsToJson(Cargodatas); var CargoDelBody = ConvertRecordsToJsonAll(this.DetailDel); //将复选框值转化为1/0 //data.ContractStatus=this.formEdit.getForm().findField('ContractStatus').getValue()?1:0; //data.HaveContract=this.formEdit.getForm().findField('HaveContract').getValue()?1:0; //data.INUSE = this.formEdit.getForm().findField('INUSE').getValue() ? 1 : 0; var _this = this; Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ async: false, waitMsg: '正在保存数据...', url: '/MvcShipping/MsChFeeAutoDui/Save', scope: this, params: { opstatus: this.opStatus, data: Ext.JSON.encode(data), CargoBody: CargoBody, CargoDelBody: CargoDelBody }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { this.storeDetail.commitChanges(); var returnData = jsonresult.Data; this.formEdit.getForm().setValues(returnData); if (this.opStatus == 'add') { var arrNewRecords = this.StoreList.add(returnData); this.editRecord = arrNewRecords[0]; // alert(editRecord.get('ContractNo')); } else if (this.opStatus == 'edit') { var editp = Ext.create('MsChFeeAutoDuimb', returnData); this.editRecord.fields.each(function (field) { if (field.persist) { name = field.name; //alert(name + ' -- ' + editp.get(name)); if (name != 'GID') this.editRecord.set(name, editp.get(name)); } }, this); this.editRecord.commit(); } if (type == '0') { this.opStatus = 'edit'; this.GID = returnData.GID; this.ReflashEdt(this.GID); this.SetBtnEnable(returnData); //this.storeDetail.load({ params: { start: 0, limit: 9999, condition: " BSNO='" + this.editRecord.get('GID') + "'"} }); this.SetBtnEnable(returnData); } else if (type == '1') {//保存并关闭 window.close(); } else if (type == '2') {//保存并全部新建 } } else { Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } //alert('03'); } }); }, CFSave: function () { var basicForm = this.formEdit.getForm(); if (!basicForm.isValid()) { return; } //basicForm.findField('ContractNo').setDisabled(false); var data = this.formEdit.getForm().getValues(); //var HTH = data.HTH; //var ContractNo = data.ContractNo; //basicForm.findField('ContractNo').setDisabled(true); data.HAVEDEBIT = this.formEdit.getForm().findField('HAVEDEBIT').getValue() ? 1 : 0; var Cargodatas = []; for (var i = 0; i < this.storeDetail.getCount(); i += 1) { var member = this.storeDetail.getAt(i); if (member.data.ISOK == "true") { member.data.ISOK = "1"; } if (member.data.ISOK == "false") { member.data.ISOK = "0"; } Cargodatas.push(member); } //商品明细 var CargoBody = ConvertRecordsToJson(Cargodatas); var CargoDelBody = ConvertRecordsToJsonAll(this.DetailDel); //将复选框值转化为1/0 //data.ContractStatus=this.formEdit.getForm().findField('ContractStatus').getValue()?1:0; //data.HaveContract=this.formEdit.getForm().findField('HaveContract').getValue()?1:0; //data.INUSE = this.formEdit.getForm().findField('INUSE').getValue() ? 1 : 0; var _this = this; Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ async: false, waitMsg: '正在保存数据...', url: '/MvcShipping/MsChFeeAutoDui/CFSave', scope: this, params: { opstatus: this.opStatus, data: Ext.JSON.encode(data), CargoBody: CargoBody, CargoDelBody: CargoDelBody }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { this.storeDetail.commitChanges(); var returnData = jsonresult.Data; this.formEdit.getForm().setValues(returnData); var arrNewRecords = this.StoreList.add(returnData); this.editRecord = arrNewRecords[0]; // alert(editRecord.get('ContractNo')); this.opStatus = 'edit'; this.GID = returnData.GID; this.ReflashEdt(this.GID); this.SetBtnEnable(returnData); //this.storeDetail.load({ params: { start: 0, limit: 9999, condition: " BSNO='" + this.editRecord.get('GID') + "'"} }); this.SetBtnEnable(returnData); } else { Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } //alert('03'); } }); }, ReMake: function (type) { var basicForm = this.formEdit.getForm(); if (!basicForm.isValid()) { return; } var data = this.formEdit.getForm().getValues(); data.HAVEDEBIT = this.formEdit.getForm().findField('HAVEDEBIT').getValue() ? 1 : 0; var Cargodatas = []; for (var i = 0; i < this.storeDetail.getCount(); i += 1) { var member = this.storeDetail.getAt(i); if (member.data.ISOK == "true") { member.data.ISOK = "1"; } if (member.data.ISOK == "false") { member.data.ISOK = "0"; } Cargodatas.push(member); } //商品明细 var CargoBody = ConvertRecordsToJson(Cargodatas); var CargoDelBody = ConvertRecordsToJsonAll(this.DetailDel); var _this = this; Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ async: false, waitMsg: '正在保存数据...', url: '/MvcShipping/MsChFeeAutoDui/Save', scope: this, params: { opstatus: this.opStatus, data: Ext.JSON.encode(data), CargoBody: CargoBody, CargoDelBody: CargoDelBody }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { this.storeDetail.commitChanges(); var returnData = jsonresult.Data; this.formEdit.getForm().setValues(returnData); if (this.opStatus == 'add') { var arrNewRecords = this.StoreList.add(returnData); this.editRecord = arrNewRecords[0]; // alert(editRecord.get('ContractNo')); } else if (this.opStatus == 'edit') { var editp = Ext.create('MsChFeeAutoDuimb', returnData); this.editRecord.fields.each(function (field) { if (field.persist) { name = field.name; //alert(name + ' -- ' + editp.get(name)); if (name != 'GID') this.editRecord.set(name, editp.get(name)); } }, this); this.editRecord.commit(); } _this = this; Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ waitMsg: '正在保存数据...', url: '/MvcShipping/MsChFeeAutoDui/ReMake', scope: this, timeout: 120000, params: { opstatus: this.opStatus, data: Ext.JSON.encode(data) }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { //this.storeDetail.commitChanges(); var returnData = jsonresult.Data; this.formEdit.getForm().setValues(returnData); if (this.opStatus == 'add') { var arrNewRecords = this.StoreList.add(returnData); this.editRecord = arrNewRecords[0]; // alert(editRecord.get('ContractNo')); } else if (this.opStatus == 'edit') { var editp = Ext.create('MsChFeeAutoDuimb', returnData); this.editRecord.fields.each(function (field) { if (field.persist) { name = field.name; //alert(name + ' -- ' + editp.get(name)); if (name != 'GID') this.editRecord.set(name, editp.get(name)); } }, this); this.editRecord.commit(); } //this.storeDetail.load({ params: { start: 0, limit: 9999, condition: " BSNO='" + returnData.GID + "'"} }); this.ReflashEdt(returnData.GID); this.SetBtnEnable(returnData); } else { Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } //alert('03'); } }); } else { Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } //alert('03'); } }); }, MakeDui: function (type) { var basicForm = this.formEdit.getForm(); if (!basicForm.isValid()) { return; } var data = this.formEdit.getForm().getValues(); data.HAVEDEBIT = this.formEdit.getForm().findField('HAVEDEBIT').getValue() ? 1 : 0; var Cargodatas = []; for (var i = 0; i < this.storeDetail.getCount(); i += 1) { var member = this.storeDetail.getAt(i); if (member.data.ISOK == "true") { member.data.ISOK = "1"; } if (member.data.ISOK == "false") { member.data.ISOK = "0"; } if (member.data.ISOK == "1") Cargodatas.push(member); } //商品明细 if (Cargodatas.length == 0) { Ext.Msg.show({ title: '提示', msg:'没有要生成对账的业务', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } var CargoBody = ConvertRecordsToJson(Cargodatas); var CargoDelBody = ConvertRecordsToJsonAll(this.DetailDel); var _this = this; Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ async: false, timeout: 1200000, waitMsg: '正在保存数据...', url: '/MvcShipping/MsChFeeAutoDui/Save', scope: this, params: { opstatus: this.opStatus, data: Ext.JSON.encode(data), CargoBody: CargoBody, CargoDelBody: CargoDelBody }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { this.storeDetail.commitChanges(); var returnData = jsonresult.Data; this.formEdit.getForm().setValues(returnData); if (this.opStatus == 'add') { var arrNewRecords = this.StoreList.add(returnData); this.editRecord = arrNewRecords[0]; // alert(editRecord.get('ContractNo')); } else if (this.opStatus == 'edit') { var editp = Ext.create('MsChFeeAutoDuimb', returnData); this.editRecord.fields.each(function (field) { if (field.persist) { name = field.name; //alert(name + ' -- ' + editp.get(name)); if (name != 'GID') this.editRecord.set(name, editp.get(name)); } }, this); this.editRecord.commit(); } _this = this; Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ waitMsg: '正在保存数据...', url: '/MvcShipping/MsChFeeAutoDui/MakeDui', timeout: 1200000, scope: this, params: { type: type, data: Ext.JSON.encode(data) }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { //this.storeDetail.commitChanges(); var returnData = jsonresult.Data; this.opStatus = 'edit'; this.formEdit.getForm().setValues(returnData); if (this.opStatus == 'add') { var arrNewRecords = this.StoreList.add(returnData); this.editRecord = arrNewRecords[0]; // alert(editRecord.get('ContractNo')); } else if (this.opStatus == 'edit') { var editp = Ext.create('MsChFeeAutoDuimb', returnData); this.editRecord.fields.each(function (field) { if (field.persist) { name = field.name; //alert(name + ' -- ' + editp.get(name)); if (name != 'GID') this.editRecord.set(name, editp.get(name)); } }, this); this.editRecord.commit(); } this.ReflashEdt(returnData.GID); this.SetBtnEnable(returnData); } else { Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } //alert('03'); } }); } else { Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } //alert('03'); } }); }, MakeShen: function (type) { var basicForm = this.formEdit.getForm(); if (!basicForm.isValid()) { return; } var data = this.formEdit.getForm().getValues(); data.HAVEDEBIT = this.formEdit.getForm().findField('HAVEDEBIT').getValue() ? 1 : 0; var Cargodatas = []; for (var i = 0; i < this.storeDetail.getCount(); i += 1) { var member = this.storeDetail.getAt(i); if (member.data.ISOK == "true") { member.data.ISOK = "1"; } if (member.data.ISOK == "false") { member.data.ISOK = "0"; } Cargodatas.push(member); } //商品明细 var CargoBody = ConvertRecordsToJson(Cargodatas); var CargoDelBody = ConvertRecordsToJsonAll(this.DetailDel); var _this = this; Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ async: false, timeout: 1200000, waitMsg: '正在保存数据...', url: '/MvcShipping/MsChFeeAutoDui/Save', scope: this, params: { opstatus: this.opStatus, data: Ext.JSON.encode(data), CargoBody: CargoBody, CargoDelBody: CargoDelBody }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { this.storeDetail.commitChanges(); var returnData = jsonresult.Data; this.formEdit.getForm().setValues(returnData); if (this.opStatus == 'add') { var arrNewRecords = this.StoreList.add(returnData); this.editRecord = arrNewRecords[0]; // alert(editRecord.get('ContractNo')); } else if (this.opStatus == 'edit') { var editp = Ext.create('MsChFeeAutoDuimb', returnData); this.editRecord.fields.each(function (field) { if (field.persist) { name = field.name; //alert(name + ' -- ' + editp.get(name)); if (name != 'GID') this.editRecord.set(name, editp.get(name)); } }, this); this.editRecord.commit(); } _this = this; Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ waitMsg: '正在保存数据...', url: '/MvcShipping/MsChFeeAutoDui/MakeShen', timeout: 1200000, scope: this, params: { type: type, data: Ext.JSON.encode(data) }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { //this.storeDetail.commitChanges(); var returnData = jsonresult.Data; this.opStatus = 'edit'; this.formEdit.getForm().setValues(returnData); if (this.opStatus == 'add') { var arrNewRecords = this.StoreList.add(returnData); this.editRecord = arrNewRecords[0]; // alert(editRecord.get('ContractNo')); } else if (this.opStatus == 'edit') { var editp = Ext.create('MsChFeeAutoDuimb', returnData); this.editRecord.fields.each(function (field) { if (field.persist) { name = field.name; //alert(name + ' -- ' + editp.get(name)); if (name != 'GID') this.editRecord.set(name, editp.get(name)); } }, this); this.editRecord.commit(); } this.ReflashEdt(returnData.GID); this.SetBtnEnable(returnData); } else { Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } //alert('03'); } }); } else { Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } //alert('03'); } }); }, OprationSwap: function () { var ret = new Array(); ret[0] = this.bssql; ret[1] = this.feesql; return ret; }, //#region 打印 Print: function () { var GID = this.formEdit.getForm().findField('GID').getValue(); var printType = 'MSCHFEEAUTODUI'; var sql1 = "SET LANGUAGE 'us_english' SELECT * FROM CH_FEE_AutoDui WHERE GID= '" + GID + "' "; var sql2 = "SET LANGUAGE 'us_english' SELECT dl.*,b.ETD,B.CUSTOMERNAME,B.OP FROM CH_FEE_AutoDuiDetail dl left join v_op_bs B ON (B.BSNO=dl.B_BSNO) WHERE dl.BSNO = '" + GID + "' "; var sql3 = ""; var sql4 = ""; var sql5 = ""; var sql6 = ""; PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6, ''); }, //#endregion onExportClick: function (button, event) { if (this.storeDetail.getCount() == 0) { return; } var sortstr = ''; var condition=" BSNO='" + this.editRecord.get('GID') + "'" Ext.Msg.wait('正在组织数据, 请稍侯..'); Ext.Ajax.request({ waitMsg: '正在组织数据...', url: '/MvcShipping/MsChFeeAutoDui/GetBodyListStr', scope: this, params: { condition: condition, sort: sortstr }, 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 condition = jsonresult.Message; if (condition != '') condition = ' where ' + condition; var printType = 'MSCHFEEAUTODUI'; var sql1 = returnstr; sql1 = sql1.replace(/\+/g, "@@@") if (sql1 != '') { GridExportBySql(sql1,'ChFeeAutoDuiDetail', '对账明细.xls'); } } 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 }); } } }); } });