Ext.namespace('Shipping'); Shipping.FeeEditGrid = function (config) { Ext.applyIf(this, config); this.initUIComponents(); window.Shipping.FeeEditGrid.superclass.constructor.call(this); }; Ext.extend(Shipping.FeeEditGrid, Ext.Panel, { ParentWin: null, //弹出式 ParentPanel: null, //Tab页编辑模式 OpStatus: 'add', StoreBill: null, StoreCustType: null, EditRecord: null, RefBillNo: '*', DataLoading: true, stroplb: '', strBSNO: '', strMBLNO: '', WMSOUTBSNO: '', feeType: 0, CR_condition: "", DR_condition: "", OprationSwap: function () { var ret = new Array(); ret[0] = this.stroplb; ret[1] = this.feeType; ret[2] = this.storeDrChFee; ret[3] = this.storeCrChFee; return ret; }, // region: 'center', initUIComponents: function () { this.feeDrSerialNo = 0; this.feeDrBodyDel = []; this.feeCrSerialNo = 0; this.feeCrBodyDel = []; this.StoreDrOpRange = Ext.create('DsExt.ux.RefTableStore', { model: 'MsFeeOP', proxy: { url: '/MvcShipping/MsChFee/GetFeeOpRang' } }); this.StoreCrOpRange = Ext.create('DsExt.ux.RefTableStore', { model: 'MsFeeOP', proxy: { url: '/MvcShipping/MsChFee/GetFeeOpRang' } }); this.StoreCustType = Ext.create('Ext.data.Store', { fields: ['SCUSTTYPE', 'CUSTTYPE', 'CUSTNAME'] }); this.comboxCustType = Ext.create('DsExt.ux.RefTableCombox', { store: this.StoreCustType, forceSelection: true, name: 'CustomerType', valueField: 'CUSTTYPE', displayField: 'SCUSTTYPE' }); this.StoreFeeFrt = Ext.create('Ext.data.Store', { fields: ['Frt'] }); this.StoreFeeFrt.add({ "Frt": "PP" }); this.StoreFeeFrt.add({ "Frt": "CC" }); this.comboxFeeFrt = Ext.create('DsExt.ux.RefTableCombox', { store: this.StoreFeeFrt, forceSelection: true, name: 'FeeFrt', valueField: 'Frt', displayField: 'Frt' }); this.storeFeeNameRef = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.FeeTypeRefModel', proxy: { url: '/MvcShipping/MsChFee/GetFeeTypeRefList' } }); 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: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefListRm' } }); this.storeCustomerNameRefDr = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefListRm' } }); this.storeCustomerNameRefCr = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefListRm' } }); //this.storeCustomerNameRef.load({ params: { condition: ""} }); this.comboxCustomerNameRef = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeCustomerNameRef, forceSelection: true, queryMode: 'remote', minChars: 1, queryParam: 'CODENAME', name: 'CustomerName', valueField: 'CustName', displayField: 'CodeAndName', listeners: { scope: this, 'focus': function (_this, eOpts) { var selections = this.gridDrChFee.getSelectionModel().getSelection(); //获得选中的项 var strCustomerName = selections[0].get('CustomerName'); var recordCustCode = Ext.create('DsShipping.ux.CustomRefModel', { GId: NewGuid(), CustCode: strCustomerName, CustName: strCustomerName, CodeAndName: strCustomerName, DESCRIPTION: strCustomerName }); _thisfee.storeCustomerNameRefDr.add(recordCustCode); } } }); this.StoreUnit = Ext.create('DsExt.ux.RefTableStore', { model: 'MsFeeUnit', proxy: { url: '/MvcShipping/MsChFee/GetCtnUnitList' } }); this.comboxUnit = Ext.create('DsExt.ux.RefTableCombox', { store: this.StoreUnit, name: 'Unit', valueField: 'UNIT', displayField: 'SUNIT' }); this.StoreDateCurr = Ext.create('DsExt.ux.RefTableStore', { model: 'MsFeeCurr', proxy: { url: '/MvcShipping/MsChFee/GetFeeDateCurrList' } }); this.StoreCurr = Ext.create('DsExt.ux.RefTableStore', { model: 'MsFeeCurr', proxy: { url: '/MvcShipping/MsChFee/GetFeeCurrList' } }); this.StoreCurr.load({ params: { condition: ""} }); this.comboxCurr = Ext.create('DsExt.ux.RefTableCombox', { store: this.StoreCurr, forceSelection: true, name: 'Currency', valueField: 'CURR', displayField: 'CURR' }); this.StoreFeeINPUTMODE = Ext.create('Ext.data.Store', { fields: ['Frt'] }); this.StoreFeeINPUTMODE.add({ "Frt": "出口报价" }); this.StoreFeeINPUTMODE.add({ "Frt": "进口报价" }); this.StoreFeeINPUTMODE.add({ "Frt": "代理报价" }); this.StoreFeeINPUTMODE.add({ "Frt": "场站报价" }); this.StoreFeeINPUTMODE.add({ "Frt": "手工" }); this.comboxFeeINPUTMODE = Ext.create('DsExt.ux.RefTableCombox', { store: this.StoreFeeINPUTMODE, forceSelection: true, name: 'INPUTMODE', valueField: 'Frt', displayField: 'Frt' }); //明细表-数据集 this.storeDrChFee = Ext.create('Ext.data.Store', { model: 'MsChFee', remoteSort: false, proxy: { type: 'ajax', url: '/MvcShipping/MsChFee/GetDataList', reader: { id: 'GId', root: 'data', totalProperty: 'totalCount' } } }); this.storeCrChFee = Ext.create('Ext.data.Store', { model: 'MsChFee', remoteSort: false, proxy: { type: 'ajax', url: '/MvcShipping/MsChFee/GetDataList', reader: { id: 'GId', root: 'data', totalProperty: 'totalCount' } } }); this.storeChFeeGain = Ext.create('Ext.data.Store', { model: 'MsChFeeGain', remoteSort: false, proxy: { type: 'ajax', url: '/MvcShipping/MsChFee/GetGainData', reader: { id: 'GId', root: 'data', totalProperty: 'totalCount' } } }); this.storeChFeeModify = Ext.create('Ext.data.Store', { model: 'MsChFee', remoteSort: false, proxy: { type: 'ajax', url: '/MvcShipping/MsChFee/GetModifyData', reader: { id: 'GId', root: 'data', totalProperty: 'totalCount' } } }); this.cellEditingDrChFee = Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 }); this.feeDrGridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel'); _thisfee = this; this.initgirdDrcolums = [{ sortable: true, dataIndex: 'GId', header: '惟一编号', hidden: true, width: 160 }, { sortable: true, dataIndex: 'BsNo', header: '业务编号', hidden: true, width: 200 }, { sortable: true, dataIndex: 'FeeStatus', header: '费用状态', renderer: function (value, p, record) { return record.data.FeeStatus_Ref; }, width: 66 }, { sortable: true, dataIndex: 'FeeName', header: '应收费用名称', editor: this.comboxFeeNameRef, width: 90 }, { sortable: true, dataIndex: 'CustomerType', header: '客户类别', editor: this.comboxCustType, // hidden: true, width: 75 }, { sortable: true, dataIndex: 'CustomerName', header: '结算对象', editor: this.comboxCustomerNameRef, width: 110 }, { sortable: true, dataIndex: 'Unit', header: '单位标准', editor: this.comboxUnit, width: 60 }, { sortable: true, dataIndex: 'UnitPrice', header: '不含税单价', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, decimalPrecision: 4, enableKeyEvents: true, listeners: { keydown: function (textfield, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(1, 8) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(1, 8) } } } }, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 4, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; }, align: 'right', width: 80 }, { sortable: true, dataIndex: 'TaxRate', header: '税率', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, enableKeyEvents: true, listeners: { keydown: function (textfield, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(1, 9) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(1, 9) } } } }, 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; }, align: 'right', width: 60 }, { sortable: true, dataIndex: 'TaxUnitPrice', header: '单价', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, decimalPrecision: 4, hideTrigger: true, mouseWheelEnabled: false, enableKeyEvents: true, listeners: { keydown: function (textfield, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(1, 10) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(1, 10) } } } }, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 4, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; }, align: 'right', width: 80 }, { sortable: true, dataIndex: 'Quantity', header: '数量', editor: { xtype: 'numberfield', keyNavEnabled: false, allowDecimals: true, decimalPrecision: 4, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, enableKeyEvents: true, listeners: { keydown: function (textfield, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(1, 11) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(1, 11) } } } }, width: 60 }, { sortable: true, dataIndex: 'NoTaxAmount', header: '不含税金额', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, enableKeyEvents: true, listeners: { keydown: function (textfield, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(1, 12) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(1, 12) } } } }, 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; }, align: 'right', width: 80 }, { sortable: true, dataIndex: 'Amount', header: '金额', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, enableKeyEvents: true, listeners: { keydown: function (textfield, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(1, 13) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(1, 13) } } } }, 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; }, align: 'right', width: 80 }, { sortable: true, dataIndex: 'Currency', header: '币别', editor: this.comboxCurr, width: 40 }, { sortable: true, dataIndex: 'ExChangerate', header: '汇率', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, decimalPrecision: 6, hideTrigger: true, mouseWheelEnabled: false, enableKeyEvents: true, listeners: { keydown: function (textfield, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(1, 15) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(1, 15) } } } }, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 6, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; }, align: 'right', width: 60 }, { sortable: true, dataIndex: 'AccTaxRate', header: '销项税率', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, enableKeyEvents: true, listeners: { keydown: function (textfield, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(1, 16) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(1, 16) } } } }, 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; }, align: 'right', width: 80 }, { sortable: true, dataIndex: 'Remark', header: '备注', editor: { xtype: 'textfield', selectOnFocus: true, enableKeyEvents: true, listeners: { keydown: function (textfield, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(1, 17) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(1, 17) } } } }, width: 150 }, { sortable: true, dataIndex: 'FeeDescription', header: '费用英文名称', 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) } } } }, width: 150 }, { sortable: true, dataIndex: 'IsOpen', header: '是否机密', hidden: true, editor: { xtype: 'checkboxfield', inputValue: '1', uncheckedValue: '0' // selectOnFocus: true }, renderer: function (value, cellmeta) { if (value == 'true' || value == '1') { return "√"; } else return ""; }, width: 60 }, { sortable: true, dataIndex: 'IsAdvancedpay', header: '是否垫付', editor: { xtype: 'checkboxfield', inputValue: '1', uncheckedValue: '0' // selectOnFocus: true }, renderer: function (value, cellmeta) { if (value == '1') { return "√"; } }, width: 60 }, { sortable: true, dataIndex: 'IsInvoice', header: '禁开发票', editor: { xtype: 'checkboxfield', inputValue: '1', uncheckedValue: '0' // selectOnFocus: true }, renderer: function (value, cellmeta) { if (value == '1' || value == true) { return "√"; } }, width: 60 }, { sortable: true, dataIndex: 'FeeFrt', header: 'FRT', editor: this.comboxFeeFrt, width: 40 }, { sortable: true, dataIndex: 'Commissionrate', header: '佣金比率', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, mouseWheelEnabled: false, enableKeyEvents: true, listeners: { keydown: function (textfield, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(1, 23) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(1, 23) } } } }, width: 60 }, { sortable: true, dataIndex: 'OpName', header: '录入人', width: 60 }, { sortable: true, dataIndex: 'EnterDate', header: '录入日期', renderer: Ext.util.Format.dateRenderer('Y-m-d'), width: 80 }, { sortable: true, dataIndex: 'Settlement', header: '结算金额', align: 'right', 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 '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; } }, { sortable: true, dataIndex: 'Invoice', header: '已开票金额', align: 'right', 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 '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; } }, { sortable: true, dataIndex: 'InvoiceNum', header: '发票号码', width: 80 }, { sortable: true, dataIndex: 'DebitNo', header: '対帐编号', width: 80 }, { sortable: true, dataIndex: 'Auditoperator', header: '审核人', width: 60 }, { sortable: true, dataIndex: 'AuditDate', header: '审核日期', renderer: Ext.util.Format.dateRenderer('Y-m-d'), width: 80 }, { sortable: true, dataIndex: 'MODIFIEDUSER', header: '修改人', width: 60 }, { sortable: true, dataIndex: 'MODIFIEDTIME', header: '修改日期', renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'), width: 130 }, { sortable: true, dataIndex: 'OrderInvoice', header: '发票申请金额', align: 'right', 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 '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; } }, { dataIndex: 'UNINVOICE', header: '未开票金额', width: 60, 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: 'PreAmount', header: '预估金额', // editor: { // xtype: 'numberfield', // keyNavEnabled: false, // selectOnFocus: true, // hideTrigger: true, // mouseWheelEnabled: false, // enableKeyEvents: true, // listeners: { // keydown: function (textfield, e) { // if (e.getKey() == 40) { // _thisfee.onNextKeyClick(1, 30) // } else if (e.getKey() == 38) { // _thisfee.onUpKeyClick(1, 30) // } // } // } // }, 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; }, align: 'right', width: 80 }, { sortable: true, dataIndex: 'INPUTMODE', header: '录入方式', editor: this.comboxFeeINPUTMODE, width: 150 }, { sortable: true, dataIndex: 'WmsOutBsNo', header: '相关业务号', width: 150 } ]; this.girdDrcolums = this.initgirdDrcolums; this.gridDrChFee = new Ext.grid.GridPanel({ store: this.storeDrChFee, enableHdMenu: false, region: 'center', id: 'gridDrChFee', // allowDeselect:true, loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, plugins: [this.cellEditingDrChFee], selModel: this.feeDrGridCheckBoxModel, selType: 'cellmodel', viewConfig: { autoFill: true, getRowClass: function (record, rowIndex, rowParams, store) { var feeStatus = record.get('FeeStatus'); var ISSEL = record.get('ISSEL'); if (ISSEL == '1') return Shipping.FeeGetRowClassFont(feeStatus); else return Shipping.FeeGetRowClass(feeStatus); } }, tbar: [{ xtype: 'label', text: '应收费用', style: 'font-size:18px', labelColor: '#000', //style:'background-color: #4b9bf5', x: '5%', y: '5%' }, { text: '', tooltip: '添加应收费用', iconCls: "btnadd", id: 'btnFeeAddDr', handler: function (button, event) { this.onAddDetailClick(button, event, 1); }, scope: this }, '-', { text: '', tooltip: '保存应收费用', iconCls: "btnsave", id: 'btnFeeSaveDr', handler: function (button, event) { this.onPostDetailClick(button, event, 1); }, scope: this }, '-', { text: '', tooltip: '删除应收费用', iconCls: "btndelete", id: 'btnFeeDelDr', handler: function (button, event) { this.onDelDetailClick(button, event, 1); }, scope: this }, '-', { text: '', tooltip: '取消修改', iconCls: "btncancel", id: 'btnFeeCancelDr', handler: function (button, event) { this.onCancelDetailClick(button, event, 1); }, scope: this }, '-', { text: '', tooltip: '刷新应收', iconCls: "btnrefresh", id: 'btnFeeRefDr', handler: function (button, event) { //this.storeDrChFee.load({ params: { billno: this.strBSNO, type: 1, optype: this.stroplb} }); this.LoadDrChFee(); }, scope: this }, '-', { text: '', tooltip: '打印应收', iconCls: "btnprint", menu: [ { text: "打印应收账单", menu: [//海运进口应收应付列表 {text: "所选应收打印", handler: function (menu, event) { _thisfee.onPrintSelectDetailClick(menu, event, 1); } }, { text: "应收客户打印", handler: function (menu, event) { _thisfee.onPrintCustDetailClick(menu, event, 1); } }, { text: "所有应收打印", handler: function (menu, event) { _thisfee.onPrintAllDetailClick(menu, event, 1); } } ] }, '-', { text: "利润核算单打印", handler: function (menu, event) { _thisfee.onPrintGainClick(menu, event, 1); } } ], /* handler: function (button, event) { this.onPrintDetailClick(button, event, 1); }, */ scope: this }, '-', { text: '提交审核', tooltip: '提交审核', id: 'btnFeeAuditDr', menu: [ { text: "提交审核", handler: function (menu, event) { _thisfee.onSubmitAuditClick(menu, event, 1); } }, { text: "应收提交", handler: function (menu, event) { _thisfee.onSubmitAuditAllClick(menu, event, 1); } }, { text: "整票提交", handler: function (menu, event) { _thisfee.onSubmitAuditBillClick(menu, event, 1); } }, { text: "撤销提交", handler: function (menu, event) { _thisfee.onCancelAuditNewClick(menu, event, 1); } }], scope: this }, '-', { text: '申请修改', tooltip: '申请修改', id: 'btnFeeShenDr', handler: function (button, event) { this.onShenModifyClick(button, event, 1); }, scope: this }, '-', { text: '申请删除', tooltip: '申请删除', id: 'btnFeeShenDelDr', handler: function (button, event) { this.onShenDeleteClick(button, event, 1); }, scope: this }, '-', { text: '取消申请', tooltip: '取消申请', id: 'btnFeeShenCancelDr', handler: function (button, event) { this.onCancelShenClick(button, event, 1); }, scope: this }, // '-', { // text: '不开发票', // tooltip: '不开发票', // menu: // [ // { // text: '不开发票', // tooltip: '不开发票', // handler: function (button, event) { // this.onNoIvoiceClick(button, event, 1); // }, // scope: this // }, { // text: '解禁发票', // tooltip: '解禁发票', // handler: function (button, event) { // this.onCancelNoIvoiceClick(button, event, 1); // }, // scope: this // }], // scope: this // }, // '-', { text: '查看信息', tooltip: '查看信息', handler: function (button, event) { this.onViewDetailClick(button, event, 1); }, scope: this }, '-', { text: '引入费用', tooltip: '引入费用', id: 'btnFeeImpAddDr', menu: [ { text: "历史引入", handler: function (menu, event) { _thisfee.onHistryAddDetailClick(menu, event, 1); } }, { text: "引入费用模板", handler: function (menu, event) { _thisfee.onTemplateAddDetailClick(menu, event, 1); } }, { text: "罐箱费用引入", handler: function (menu, event) { _thisfee.onCtnTkAddDetailClick(menu, event, 1); } }, '-', { text: "生成应付", menu: [ { text: "所选生成应付", handler: function (menu, event) { _thisfee.onAddSelectDetailClick(menu, event, 2); } }, { text: "所有生成应付", handler: function (menu, event) { _thisfee.onAddAllDetailClick(menu, event, 2); } } ] } ], /* handler: function (button, event) { this.onCopyAddClick(button, event, 1); }, */ scope: this }, '-', { text: "保存列表样式", menu: [ { text: "保存", handler: function (button, event) { _thisfee.girdDrcolums = DsTruck.SaveGridPanel(GID, 'FEEDRGRID', _thisfee.gridDrChFee.columns, _thisfee.girdDrcolums, 0, true); } }, { text: "初始化", handler: function (menu, event) { _thisfee.gridDrChFee.reconfigure(this.storeList, _thisfee.initgirdDrcolums); _thisfee.girdDrcolums = DsTruck.SaveGridPanel(GID, 'FEEDRGRID', _thisfee.gridDrChFee.columns, _thisfee.initgirdDrcolums, 0, true); } }], scope: this }], columns: this.girdDrcolums }); this.girdDrcolums = DsTruck.GetGridPanel(GID, 'FEEDRGRID', this.girdDrcolums, 0); //使用者id,表名,中间column数组,跳过一开始的几列 // this.gridDrChFee.reconfigure(this.storeDrChFee, this.girdDrcolums); this.gridDrChFee.on('edit', function (editor, e, eOpts) { this.gridListChFeeAfterEdit(editor, e, eOpts); }, this); this.gridDrChFee.on('cellclick', function (_thisTable, td, cellIndex, record, tr, rowIndex, e, eOpts) { if ((cellIndex == 37) && record.data.IsCrmOrderFee == 'True') { return false; } }, this); this.cellEditingDrChFee.on('beforeedit', function (editor, e) { return this.cellEditingChFeeBeforeEdit(editor, e); }, this); this.cellEditingCrChFee = Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 }); this.feeCrGridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel'); _thisfee = this; this.initgirdCrcolums = [{ sortable: true, dataIndex: 'GId', header: '惟一编号', hidden: true, width: 160 }, { sortable: true, dataIndex: 'BsNo', header: '业务编号', hidden: true, width: 200 }, { sortable: true, dataIndex: 'FeeStatus', header: '费用状态', renderer: function (value, p, record) { return record.data.FeeStatus_Ref; }, width: 66 }, { sortable: true, dataIndex: 'FeeName', header: '应付费用名称', editor: this.comboxFeeNameRef, width: 100 }, { sortable: true, dataIndex: 'CustomerType', header: '客户类别', editor: this.comboxCustType, // hidden: true, width: 80 }, { sortable: true, dataIndex: 'CustomerName', header: '结算对象', editor: this.comboxCustomerNameRef, width: 120 }, { sortable: true, dataIndex: 'Unit', header: '单位标准', editor: this.comboxUnit, width: 60 }, { sortable: true, dataIndex: 'UnitPrice', header: '不含税单价', editor: { xtype: 'numberfield', allowDecimals: true, //这里允许保留3位小数,所以你输入11.996就不会进位了 decimalPrecision: 6, keyNavEnabled: false, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, enableKeyEvents: true, listeners: { keydown: function (textField, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(2, 8) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(2, 8) } } } }, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 6, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; }, align: 'right', width: 80 }, { sortable: true, dataIndex: 'TaxRate', header: '税率', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, enableKeyEvents: true, listeners: { keydown: function (textField, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(2, 9) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(2, 9) } } } }, 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; }, align: 'right', width: 60 }, { sortable: true, dataIndex: 'TaxUnitPrice', header: '单价', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, decimalPrecision: 4, hideTrigger: true, mouseWheelEnabled: false, enableKeyEvents: true, listeners: { keydown: function (textField, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(2, 10) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(2, 10) } } } }, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 4, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; }, align: 'right', width: 80 }, { sortable: true, dataIndex: 'Quantity', header: '数量', editor: { xtype: 'numberfield', keyNavEnabled: false, allowDecimals: true, decimalPrecision: 4, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, enableKeyEvents: true, listeners: { keydown: function (textfield, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(2, 11) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(2, 11) } } } }, width: 60 }, { sortable: true, dataIndex: 'NoTaxAmount', header: '不含税金额', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, enableKeyEvents: true, hideTrigger: true, mouseWheelEnabled: false, listeners: { keydown: function (textField, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(2, 12) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(2, 12) } } } }, 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; }, align: 'right', width: 80 }, { sortable: true, dataIndex: 'Amount', header: '金额', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, enableKeyEvents: true, listeners: { keydown: function (textField, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(2, 13) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(2, 13) } } } }, 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; }, align: 'right', width: 80 }, { sortable: true, dataIndex: 'Currency', header: '币别', editor: this.comboxCurr, width: 40 }, { sortable: true, dataIndex: 'ExChangerate', header: '汇率', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, decimalPrecision: 6, hideTrigger: true, mouseWheelEnabled: false, enableKeyEvents: true, listeners: { keydown: function (textField, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(2, 15) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(2, 15) } } } }, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 6, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; }, align: 'right', width: 60 }, { sortable: true, dataIndex: 'AccTaxRate', header: '进项税率', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, enableKeyEvents: true, listeners: { keydown: function (textField, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(2, 16) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(2, 16) } } } }, 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; }, align: 'right', width: 80 }, { sortable: true, dataIndex: 'Remark', header: '备注', editor: { xtype: 'textfield', selectOnFocus: true, enableKeyEvents: true, listeners: { keydown: function (textField, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(2, 17) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(2, 17) } } } }, width: 150 }, { sortable: true, dataIndex: 'FeeDescription', header: '费用英文名称', editor: { xtype: 'textfield', selectOnFocus: true, enableKeyEvents: true, listeners: { keydown: function (textField, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(2, 18) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(2, 18) } } } }, width: 150 }, { sortable: true, dataIndex: 'IsAdvancedpay', header: '是否垫付', editor: { xtype: 'checkboxfield', inputValue: '1', uncheckedValue: '0' // selectOnFocus: true }, renderer: function (value, cellmeta) { if (value == '1' || value == true) { return "√"; } }, width: 60 }, { sortable: true, dataIndex: 'IsOpen', header: '是否机密', hidden: true, editor: { xtype: 'checkboxfield', inputValue: '1', uncheckedValue: '0' // selectOnFocus: true }, renderer: function (value, cellmeta) { if (value == '1' || value == true) { return "√"; } }, width: 60 }, { sortable: true, dataIndex: 'IsInvoice', header: '禁开发票', editor: { xtype: 'checkboxfield', inputValue: '1', uncheckedValue: '0' // selectOnFocus: true }, renderer: function (value, cellmeta) { if (value == '1' || value == true) { return "√"; } }, width: 60 }, { sortable: true, dataIndex: 'FeeFrt', header: 'FRT', editor: this.comboxFeeFrt, width: 40 }, { sortable: true, dataIndex: 'Commissionrate', header: '佣金比率', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, enableKeyEvents: true, hideTrigger: true, mouseWheelEnabled: false, listeners: { keydown: function (textField, e) { if (e.getKey() == 40) { _thisfee.onNextKeyClick(2, 23) } else if (e.getKey() == 38) { _thisfee.onUpKeyClick(2, 23) } } } }, width: 60 }, { sortable: true, dataIndex: 'OpName', header: '录入人', width: 60 }, { sortable: true, dataIndex: 'EnterDate', header: '录入日期', renderer: Ext.util.Format.dateRenderer('Y-m-d'), width: 80 }, { sortable: true, dataIndex: 'Auditoperator', header: '审核人', width: 60 }, { sortable: true, dataIndex: 'AuditDate', header: '审核日期', renderer: Ext.util.Format.dateRenderer('Y-m-d'), width: 80 }, { sortable: true, dataIndex: 'Settlement', header: '结算金额', align: 'right', 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 '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; } }, { sortable: true, dataIndex: 'Invoice', header: '已开票金额', align: 'right', 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 '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; } }, { sortable: true, dataIndex: 'OrderAmount', header: '申请金额', align: 'right', 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 '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; } }, { sortable: true, dataIndex: 'MODIFIEDUSER', header: '修改人', width: 60 }, { sortable: true, dataIndex: 'MODIFIEDTIME', header: '修改日期', renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'), width: 130 }, { sortable: true, dataIndex: 'DebitNo', header: '対帐编号', width: 80 }, { sortable: true, dataIndex: 'OrderInvoice', header: '发票申请金额', align: 'right', 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 '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; } }, { dataIndex: 'UNINVOICE', header: '未开票金额', width: 60, 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: 'PreAmount', header: '预估金额', // editor: { // xtype: 'numberfield', // keyNavEnabled: false, // selectOnFocus: true, // hideTrigger: true, // mouseWheelEnabled: false, // enableKeyEvents: true, // listeners: { // keydown: function (textfield, e) { // if (e.getKey() == 40) { // _thisfee.onNextKeyClick(2, 31) // } else if (e.getKey() == 38) { // _thisfee.onUpKeyClick(2, 31) // } // } // } // }, 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; }, align: 'right', width: 80 }, { sortable: true, dataIndex: 'INPUTMODE', header: '录入方式', editor: this.comboxFeeINPUTMODE, width: 80 }, { sortable: true, dataIndex: 'WmsOutBsNo', header: '相关业务号', width: 150 } ]; this.girdCrcolums = this.initgirdCrcolums; this.gridCrChFee = new Ext.grid.GridPanel({ store: this.storeCrChFee, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, plugins: [this.cellEditingCrChFee], selModel: this.feeCrGridCheckBoxModel, selType: 'cellmodel', viewConfig: { autoFill: true, getRowClass: function (record, rowIndex, rowParams, store) { var feeStatus = record.get('FeeStatus'); var ISSEL = record.get('ISSEL'); if (ISSEL == '1') return Shipping.FeeGetRowClassFont(feeStatus); else return Shipping.FeeGetRowClass(feeStatus); } }, tbar: [{ xtype: 'label', text: '应付费用', style: 'font-size:18px', labelColor: '#000', //style:'background-color: #4b9bf5', x: '5%', y: '5%' }, { text: '', tooltip: '添加应付费用', iconCls: "btnadd", id: 'btnFeeAddCr', handler: function (button, event) { this.onAddDetailClick(button, event, 2); }, scope: this }, '-', { text: '', tooltip: '保存应付费用', iconCls: "btnsave", id: 'btnFeeSaveCr', handler: function (button, event) { this.onPostDetailClick(button, event, 2); }, scope: this }, '-', { text: '', tooltip: '删除应付费用', iconCls: "btndelete", id: 'btnFeeDelCr', handler: function (button, event) { this.onDelDetailClick(button, event, 2); }, scope: this }, '-', { text: '', tooltip: '取消修改', iconCls: "btncancel", id: 'btnFeeCancelCr', handler: function (button, event) { this.onCancelDetailClick(button, event, 2); }, scope: this }, '-', { text: '', tooltip: '刷新应付', iconCls: "btnrefresh", handler: function (button, event) { //this.storeCrChFee.load({ params: { billno: this.strBSNO, type: 2, optype: this.stroplb} }); this.LoadCrChFee(button, event); }, scope: this }, '-', { text: '', tooltip: '打印应付', iconCls: "btnprint", menu: [ { text: "打印应付账单", menu: [ { text: "所选应付打印", handler: function (menu, event) { _thisfee.onPrintSelectDetailClick(menu, event, 2); } }, { text: "应付客户打印", handler: function (menu, event) { _thisfee.onPrintCustDetailClick(menu, event, 2); } }, { text: "所有应付打印", handler: function (menu, event) { _thisfee.onPrintAllDetailClick(menu, event, 2); } } ] }, '-', { text: "利润核算单打印", handler: function (menu, event) { _thisfee.onPrintGainClick(menu, event, 1); } } ], scope: this }, '-', { text: '提交审核', tooltip: '提交审核', id: 'btnFeeAuditCr', menu: [ { text: "提交审核", handler: function (menu, event) { _thisfee.onSubmitAuditNewClick(menu, event, 2); } }, { text: "全部提交", handler: function (menu, event) { _thisfee.onSubmitAuditAllClick(menu, event, 2); } }, { text: "整票提交", handler: function (menu, event) { _thisfee.onSubmitAuditBillClick(menu, event, 2); } }, { text: "撤销提交", handler: function (menu, event) { _thisfee.onCancelAuditNewClick(menu, event, 2); } }], scope: this }, '-', { text: '申请修改', tooltip: '申请修改', id: 'btnFeeShenCr', handler: function (button, event) { this.onShenModifyClick(button, event, 2); }, scope: this }, '-', { text: '申请删除', tooltip: '申请删除', id: 'btnFeeShenDelCr', handler: function (button, event) { this.onShenDeleteClick(button, event, 2); }, scope: this }, '-', { text: '取消申请', tooltip: '取消申请', id: 'btnFeeShenCancelCr', handler: function (button, event) { this.onCancelShenClick(button, event, 2); }, scope: this }, // // // '-', { // text: '不开发票', // tooltip: '不开发票', // menu: // [ // { // text: '不开发票', // tooltip: '不开发票', // handler: function (button, event) { // this.onNoIvoiceClick(button, event, 2); // }, // scope: this // }, { // text: '解禁发票', // tooltip: '解禁发票', // handler: function (button, event) { // this.onCancelNoIvoiceClick(button, event, 2); // }, // scope: this // }], // scope: this // }, '-', { text: '查看信息', tooltip: '查看信息', handler: function (button, event) { this.onViewDetailClick(button, event, 2); }, scope: this }, { text: "生成清洗改装", handler: function (menu, event) { _thisfee.onAddClearRepairClick(menu, event); } }, '-', { text: '引入费用', tooltip: '引入费用', id: 'btnFeeImpAddCr', menu: [ { text: "引入堆存费备注", handler: function (menu, event) { _thisfee.onAddYardRemarkClick(menu, event); } },{ text: "历史引入", handler: function (menu, event) { _thisfee.onHistryAddDetailClick(menu, event, 2); } }, { text: "引入费用模板", handler: function (menu, event) { _thisfee.onTemplateAddDetailClick(menu, event, 2); } }, { text: "罐箱费用引入", handler: function (menu, event) { _thisfee.onCtnTkAddDetailClick(menu, event, 2); } }, '-', { text: "生成应收", menu: [ { text: "所选生成应收", handler: function (menu, event) { _thisfee.onAddSelectDetailClick(menu, event, 1); } }, { text: "所有生成应收", handler: function (menu, event) { _thisfee.onAddAllDetailClick(menu, event, 1); } } ] } ], scope: this }, '-', { text: "保存列表样式", menu: [ { text: "保存", handler: function (button, event) { _thisfee.girdCrcolums = DsTruck.SaveGridPanel(GID, 'FEECRGRID', _thisfee.gridCrChFee.columns, _thisfee.girdCrcolums, 0, true); } }, { text: "初始化", handler: function (menu, event) { _thisfee.gridCrChFee.reconfigure(this.storeList, _thisfee.initgirdCrcolums); _thisfee.girdCrcolums = DsTruck.SaveGridPanel(GID, 'FEECRGRID', _thisfee.gridCrChFee.columns, _thisfee.initgirdCrcolums, 0, true); } }], scope: this }], columns: this.girdCrcolums }); this.girdCrcolums = DsTruck.GetGridPanel(GID, 'FEECRGRID', this.girdCrcolums, 0); //使用者id,表名,中间column数组,跳过一开始的几列 // this.gridCrChFee.reconfigure(this.storeCrChFee, this.girdCrcolums); this.gridCrChFee.on('edit', function (editor, e, eOpts) { this.gridListChFeeAfterEdit(editor, e, eOpts); }, this); this.gridCrChFee.on('cellclick', function (_thisTable, td, cellIndex, record, tr, rowIndex, e, eOpts) { if ((cellIndex == 37) && record.data.IsCrmOrderFee == 'True') { return false; } }, this); this.cellEditingCrChFee.on('beforeedit', function (editor, e) { return this.cellEditingChFeeBeforeEdit(editor, e); }, this); //#endregion this.InitDrGrid(this.girdDrcolums); this.InitCrGrid(this.girdCrcolums); this.storeBodySum = Ext.create('Ext.data.Store', { model: 'MsOPGain', remoteSort: false, proxy: { type: 'ajax', url: '/MvcShipping/MsChFee/GetOPGainList', reader: { root: 'data', totalProperty: 'totalCount' } } }); this.gridSum = new Ext.grid.GridPanel({ store: this.storeBodySum, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, columns: [{ header: "总 计", sortable: false, align: 'center', dataIndex: 'CURR', width: 160 }, { text: '应 收', columns: [{ header: '不含税', dataIndex: 'NORATEDR', 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; }, align: 'right', width: 160 }, { header: '含税', dataIndex: 'DR', align: 'right', 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; }, width: 160 }] }, { text: '应 付', columns: [{ header: '不含税', dataIndex: 'NORATECR', align: 'right', 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; }, width: 160 }, { header: '含税', dataIndex: 'CR', align: 'right', 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; }, width: 160 }] }, { text: '利 润', columns: [{ header: '不含税', dataIndex: 'NORATEPR', 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; }, align: 'right', width: 160 }, { header: '含税', dataIndex: 'PR', align: 'right', 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; }, width: 160 }] } ] }); //定义Grid this.gridListCust = new Ext.grid.GridPanel({ store: this.storeChFeeGain, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, // features: [{ // ftype: 'summary'//Ext.grid.feature.Summary表格汇总特性 // }], columns: [{ sortable: true, dataIndex: 'CUSTOMERNAME', header: '结算对象', // summaryRenderer: function () { // return '合计' // }, width: 110 }, { sortable: true, dataIndex: 'RMBDR', header: 'RMB应收', 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; }, align: 'right', // summaryType: 'sum', // summaryRenderer: Ext.util.Format.numberRenderer('00.00'), width: 80 }, { sortable: true, dataIndex: 'RMBCR', header: 'RMB应付', 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; }, // summaryType: 'sum', // summaryRenderer: Ext.util.Format.numberRenderer('00.00'), align: 'right', width: 80 }, { sortable: true, dataIndex: 'RMBPROFIT', header: 'RMB利润', 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; }, // summaryType: 'sum', // summaryRenderer: Ext.util.Format.numberRenderer('00.00'), align: 'right', width: 80 }, { sortable: true, dataIndex: 'USDDR', header: 'USD应收', 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; }, // summaryType: 'sum', // summaryRenderer: Ext.util.Format.numberRenderer('00.00'), align: 'right', width: 80 }, { sortable: true, dataIndex: 'USDCR', header: 'USD应付', 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; }, // summaryType: 'sum', // summaryRenderer: Ext.util.Format.numberRenderer('00.00'), align: 'right', width: 80 }, { sortable: true, dataIndex: 'USDPROFIT', header: 'USD利润', 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; }, // summaryType: 'sum', // summaryRenderer: Ext.util.Format.numberRenderer('00.00'), align: 'right', width: 80 }, { sortable: true, dataIndex: 'OTDR', header: '其他币别应收', renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; }, // summaryType: 'sum', // summaryRenderer: Ext.util.Format.numberRenderer('00.00'), align: 'right', width: 80 }, { sortable: true, dataIndex: 'OTCR', header: '其他币别应付', renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; }, // summaryType: 'sum', // summaryRenderer: Ext.util.Format.numberRenderer('00.00'), align: 'right', width: 80 }, { sortable: true, dataIndex: 'OTPROFIT', header: '其他币别利润', renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; }, // summaryType: 'sum', // summaryRenderer: Ext.util.Format.numberRenderer('00.00'), align: 'right', width: 80 }, { sortable: true, dataIndex: 'TTLDR', header: '合计应收', renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; }, align: 'right', // summaryType: 'sum', // summaryRenderer: Ext.util.Format.numberRenderer('00.00'), width: 80 }, { sortable: true, dataIndex: 'TTLCR', header: '合计应付', renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; }, align: 'right', // summaryType: 'sum', // summaryRenderer: Ext.util.Format.numberRenderer('00.00'), width: 80 }, { sortable: true, dataIndex: 'TTLPROFIT', header: '合计利润', renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { try { var lsValue = usMoney(value, 2, '', false); if (lsValue != "NaN") { value = lsValue; if (parseFloat(lsValue) < 0) { return '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; }, align: 'right', // summaryType: 'sum', // summaryRenderer: Ext.util.Format.numberRenderer('00.00'), width: 80 } ], // paging bar on the bottom bbar: Ext.create('Ext.PagingToolbar', { store: this.storeChFeeGain, displayInfo: true, displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录', emptyMsg: "没有数据" }) }); this.panelCustSum = new Ext.Panel({ title: '客户合计', layout: "border", region: 'center', animate: true, autoScroll: true, // containerScroll: true, frame: false, items: [this.gridListCust] }); this.panelCurrSum = new Ext.Panel({ title: '币别合计', layout: "border", region: 'center', animate: true, autoScroll: true, // containerScroll: true, frame: false, items: [this.gridSum] }); this.tabTotal = new Ext.TabPanel({ activeTab: 0, autoWidth: true, border: true, height: 210, frame: false, region: 'south', enableHdMenu: false, // region: 'center', title: "利润合计", collapsed: true, collapsible: true, split: true, enableTabScroll: true, items: [ this.panelCustSum, this.panelCurrSum ] }); // this.formtotal = Ext.widget('form', { // region: 'south', // title: "利润统计", // //height: 150, // items: [this.tabTotal] // }); //#region 申请修改和删除界面 this.comboxFeeFrtModify = Ext.create('DsExt.ux.RefTableCombox', { store: this.StoreFeeFrt, forceSelection: true, fieldLabel: 'FRT', name: 'FeeFrt', valueField: 'Frt', displayField: 'Frt' }); this.storeFeeNameRefModify = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.FeeTypeRefModel', proxy: { url: '/MvcShipping/MsChFee/GetFeeTypeRefList' } }); this.storeFeeNameRefModify.load({ params: { condition: ""} }); this.comboxFeeNameRefModify = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeFeeNameRefModify, fieldLabel: '费用名称', forceSelection: true, name: 'FeeName', valueField: 'Name', displayField: 'CodeAndName' }); this.storeCustomerNameRefM = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefList' } }); this.storeCustomerNameRefM.load({ params: { condition: ""} }); this.comboxCustomerNameRefModify = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeCustomerNameRefM, forceSelection: true, fieldLabel: '结费对象', name: 'CustomerName', valueField: 'CustName', displayField: 'CodeAndName' }); this.comboxUnitModify = Ext.create('DsExt.ux.RefTableCombox', { store: this.StoreUnit, fieldLabel: '单位标准', name: 'Unit', valueField: 'UNIT', displayField: 'SUNIT' }); this.CheckIsAdvancedpay = new Ext.form.Checkbox({ fieldLabel: '是否垫付', uncheckedValue: '0', inputValue: '1', name: 'IsAdvancedpay' }); this.comboxCurrModify = Ext.create('DsExt.ux.RefTableCombox', { store: this.StoreCurr, fieldLabel: '币别', forceSelection: true, labelWidth: 40, name: 'Currency', valueField: 'CURR', displayField: 'CURR', listeners: { scope: this, 'select': function (combo, records, eOpts) { if (records.length > 0) { if (this.DataLoading == true) return; var CURR = records[0].data.CURR; var form = _thisfee.NewFeeEdit.getForm(); if (CURR == 'RMB') { form.findField('ExChangerate').setValue(1); } else { var FFrecords = DsStoreQueryBy(this.StoreDateCurr, 'CURR', CURR); if (FFrecords.getCount() > 0) { var ffdata = FFrecords.getAt(0).data; var DEFRATE = ffdata.DEFRATE; form.findField('ExChangerate').setValue(DEFRATE); } else { var DFrecords = DsStoreQueryBy(this.StoreCurr, 'CURR', CURR); if (DFrecords.getCount() > 0) { var dfdata = DFrecords.getAt(0).data; var DEFRATE = dfdata.DEFRATE; form.findField('ExChangerate').setValue(DEFRATE); } else { form.findField('ExChangerate').setValue(1); } } } } } } }); _thisfee = this; this.NewFeeEdit = Ext.widget('form', { frame: true, region: 'center', trackResetOnLoad: true, title: '费用新值', bodyPadding: 5, fieldDefaults: { margins: '2 2 2 2', labelAlign: 'right', flex: 1, labelWidth: 80, msgTarget: 'qtip' }, items: [ {//fieldset 1 xtype: 'container', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [{ xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '业务编号', name: 'BsNo', hidden: true }, { fieldLabel: 'GId', name: 'GId', flex: 0, hidden: true, margins: '0' }, { fieldLabel: 'FeeType', name: 'FeeType', flex: 0, hidden: true, margins: '0' }, this.comboxFeeNameRefModify, this.comboxCustomerNameRefModify, this.comboxUnitModify] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '不含税单价', xtype: 'numberfield', name: 'UnitPrice', 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; }, listeners: { scope: this, 'change': function (ths, newValue, oldValue, eOpts) { if (this.DataLoading == true) return; if (newValue == oldValue) return; var form = _thisfee.NewFeeEdit.getForm(); var unitPrice = newValue; if (unitPrice == null) unitPrice = 0; var FeeName = form.findField('FeeName').getValue(); var quantity = form.findField('Quantity').getValue(); var taxrate = form.findField('TaxRate').getValue(); this.DataLoading = true; if (taxrate != null) { var taxrateb = parseFloat(1 + parseFloat(taxrate / 100)); var TaxUnitPrice = (parseFloat(unitPrice).mul(taxrateb)).toFixed(2); form.findField('TaxUnitPrice').setValue(TaxUnitPrice); } var notaxamount = (parseFloat(unitPrice).mul(quantity)).toFixed(2); form.findField('NoTaxAmount').setValue(notaxamount); taxrate = parseFloat(taxrate) / 100; var tax = parseFloat(notaxamount).mul(taxrate); var amount = (parseFloat(notaxamount).add(parseFloat(tax))).toFixed(2); form.findField('Amount').setValue(amount); this.DataLoading = false; } } }, { fieldLabel: '税率', xtype: 'numberfield', name: 'TaxRate', listeners: { scope: this, 'change': function (ths, newValue, oldValue, eOpts) { if (this.DataLoading == true) return; if (newValue == oldValue) return; var form = _thisfee.NewFeeEdit.getForm(); var unitPrice = form.findField('UnitPrice').getValue(); var FeeName = form.findField('FeeName').getValue(); var quantity = form.findField('Quantity').getValue(); var taxrate = newValue; if (taxrate == null) taxrate = 0; this.DataLoading = true; if (unitPrice != null) { var taxrateb = parseFloat(1 + parseFloat(taxrate / 100)); var TaxUnitPrice = (parseFloat(unitPrice).mul(taxrateb)).toFixed(2); form.findField('TaxUnitPrice').setValue(TaxUnitPrice); } var notaxamount = form.findField('NoTaxAmount').getValue(); taxrate = parseFloat(taxrate) / 100; var tax = parseFloat(notaxamount).mul(taxrate); var amount = (parseFloat(notaxamount).add(parseFloat(tax))).toFixed(2); form.findField('Amount').setValue(amount); this.DataLoading = false; } } }, { fieldLabel: '含税单价', xtype: 'numberfield', name: 'TaxUnitPrice', 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; }, listeners: { scope: this, 'change': function (ths, newValue, oldValue, eOpts) { if (this.DataLoading == true) return; if (newValue == oldValue) return; var form = _thisfee.NewFeeEdit.getForm(); var quantity = form.findField('Quantity').getValue(); var TaxUnitPrice = newValue; if (TaxUnitPrice == null) TaxUnitPrice = 0; var taxrate = form.findField('TaxRate').getValue(); this.DataLoading = true; if (TaxUnitPrice != 0) { var taxrateb = parseFloat(1 + parseFloat(taxrate / 100)); var unitPrice = (parseFloat(TaxUnitPrice).div(parseFloat(taxrateb))).toFixed(2); form.findField('UnitPrice').setValue(unitPrice); } if (quantity != null) { var amount = (parseFloat(TaxUnitPrice).mul(quantity)).toFixed(2); form.findField('Amount').setValue(amount); var notaxamount = (parseFloat(amount).div(taxrateb)).toFixed(2); form.findField('NoTaxAmount').setValue(notaxamount); } this.DataLoading = false; } } } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '计费数量', xtype: 'numberfield', name: 'Quantity', listeners: { scope: this, 'change': function (ths, newValue, oldValue, eOpts) { if (this.DataLoading == true) return; if (newValue == oldValue) return; var form = _thisfee.NewFeeEdit.getForm(); var unitPrice = form.findField('UnitPrice').getValue(); var FeeName = form.findField('FeeName').getValue(); var quantity = newValue; if (quantity == null) quantity = 0; var taxrate = form.findField('TaxRate').getValue(); this.DataLoading = true; if (taxrate != null) { var taxrateb = parseFloat(1 + parseFloat(taxrate / 100)); var TaxUnitPrice = (parseFloat(unitPrice).mul(taxrateb)).toFixed(2); form.findField('TaxUnitPrice').setValue(TaxUnitPrice); } var notaxamount = (parseFloat(unitPrice).mul(quantity)).toFixed(2); form.findField('NoTaxAmount').setValue(notaxamount); taxrate = parseFloat(taxrate) / 100; var tax = parseFloat(notaxamount).mul(taxrate); var amount = (parseFloat(notaxamount).add(parseFloat(tax))).toFixed(2); form.findField('Amount').setValue(amount); this.DataLoading = false; } } }, { fieldLabel: '不含税金额', xtype: 'numberfield', name: 'NoTaxAmount', 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; }, listeners: { scope: this, 'change': function (ths, newValue, oldValue, eOpts) { if (this.DataLoading == true) return; if (newValue == oldValue) return; var form = _thisfee.NewFeeEdit.getForm(); var notaxamount = newValue; if (notaxamount == null) notaxamount = 0; var taxrate = form.findField('TaxRate').getValue(); this.DataLoading = true; if (taxrate != null) { taxrate = parseFloat(taxrate) / 100; var tax = parseFloat(notaxamount).mul(taxrate); var amount = (parseFloat(notaxamount).add(parseFloat(tax))).toFixed(2); form.findField('Amount').setValue(amount); } this.DataLoading = false; } } }, { fieldLabel: '含税金额', xtype: 'numberfield', name: '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 '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; }, listeners: { scope: this, 'change': function (ths, newValue, oldValue, eOpts) { if (this.DataLoading == true) return; if (newValue == oldValue) return; var form = _thisfee.NewFeeEdit.getForm(); var amount = newValue; if (amount == null) amount = 0; var taxrate = form.findField('TaxRate').getValue(); this.DataLoading = true; if (taxrate != null) { var taxrateb = Add(1, Mul(taxrate, 0.01)); //parseFloat(1 + parseFloat(taxrate.mul(0.01))); var notaxamount = Div(amount, taxrateb); //(parseFloat(amount).div(taxrateb)).toFixed(2); form.findField('NoTaxAmount').setValue(notaxamount); var quantity = form.findField('Quantity').getValue(); if (quantity != null && quantity != 0) { var unitPrice = Div(notaxamount, quantity); //(parseFloat(notaxamount).div(parseFloat(quantity))).toFixed(2); form.findField('UnitPrice').setValue(unitPrice); var TaxUnitPrice = Div(amount, quantity); form.findField('TaxUnitPrice').setValue(TaxUnitPrice); } var tax = Div(Mul(notaxamount, taxrate), 100); //parseFloat(notaxamount).mul(taxrate); form.findField('Tax').setValue(tax); } this.DataLoading = false; } } } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [this.comboxCurrModify, { fieldLabel: '税额', xtype: 'numberfield', labelWidth: 40, decimalPrecision: 6, name: 'Tax' }, { fieldLabel: '汇率', xtype: 'numberfield', labelWidth: 40, decimalPrecision: 6, name: 'ExChangerate' }, { fieldLabel: '财务税率', xtype: 'numberfield', name: 'AccTaxRate' }, this.CheckIsAdvancedpay ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel:'备注', //'备注', name: 'Remark' },{ fieldLabel: '修改原因', name: 'Reason' }] } ]//end items(fieldset 1) }//end fieldset 1 ]//end root items }); this.OldFee = Ext.widget('form', { frame: true, region: 'center', title: '费用旧值', trackResetOnLoad: true, 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: [{ fieldLabel: '业务编号', name: 'BsNo', hidden: true }, { fieldLabel: 'GId', name: 'GId', flex: 0, hidden: true, margins: '0' }, { fieldLabel: '费用名称', readOnly: true, name: 'FeeName' }, { fieldLabel: '费用对象', readOnly: true, name: 'CustomerName' }, { fieldLabel: '单位标准', readOnly: true, name: 'Unit' }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '不含税单价', readOnly: true, name: 'UnitPrice', 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; } }, { fieldLabel: '税率', readOnly: true, name: 'TaxRate' }, { fieldLabel: '含税单价', readOnly: true, name: 'TaxUnitPrice', 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; } } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '计费数量', readOnly: true, name: 'Quantity' }, { fieldLabel: '不含税金额', readOnly: true, name: 'NoTaxAmount', 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; } }, { fieldLabel: '含税金额', readOnly: true, name: '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 '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; } } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '币别', readOnly: true, name: 'Currency' }, { fieldLabel: '汇率', readOnly: true, name: 'ExChangerate' }, { fieldLabel: '财务税率', readOnly: true, name: 'AccTaxRate' }, { fieldLabel: '是否垫付', readOnly: true, name: 'IsAdvancedpay' } ] } ]//end items(fieldset 1) }//end fieldset 1 ]//end root items }); this.DeleteFee = Ext.widget('form', { frame: true, region: 'center', trackResetOnLoad: true, 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: [{ fieldLabel: '业务编号', name: 'BsNo', hidden: true }, { fieldLabel: 'GId', name: 'GId', flex: 0, hidden: true, margins: '0' }, { fieldLabel: 'FeeType', name: 'FeeType', flex: 0, hidden: true, margins: '0' }, { fieldLabel: '费用名称', name: 'FeeName', flex: 0, hidden: true, margins: '0' }, { fieldLabel: '费用对象', name: 'CustomerName', flex: 0, hidden: true, margins: '0' }, { fieldLabel: '单位标准', name: 'Unit', flex: 0, hidden: true, margins: '0' }, { fieldLabel: '不含税单价', name: 'UnitPrice', flex: 0, hidden: true, margins: '0', 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; } }, { fieldLabel: '税率', name: 'TaxRate', flex: 0, hidden: true, margins: '0' }, { fieldLabel: '含税单价', name: 'TaxUnitPrice', flex: 0, hidden: true, margins: '0', 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; } }, { fieldLabel: '计费数量', name: 'Quantity', flex: 0, hidden: true, margins: '0' }, { fieldLabel: '不含税金额', name: 'NoTaxAmount', flex: 0, hidden: true, margins: '0', 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; } }, { fieldLabel: '含税金额', name: 'Amount', flex: 0, hidden: true, margins: '0', 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; } }, { fieldLabel: '币别', name: 'Currency', flex: 0, hidden: true, margins: '0' }, { fieldLabel: '汇率', name: 'ExChangerate', flex: 0, hidden: true, margins: '0' }, { fieldLabel: '财务税率', name: 'AccTaxRate', flex: 0, hidden: true, margins: '0' }, { fieldLabel: '是否垫付', name: 'IsAdvancedpay', flex: 0, hidden: true, margins: '0' }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '删除原因', name: 'Reason' } ] } ]//end items(fieldset 1) }//end fieldset 1 ]//end root items }); this.NewFeeShowDr = Ext.widget('form', { frame: true, region: 'east', hidden: true, title: '费用修改新值', width: 600, trackResetOnLoad: true, 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: [{ fieldLabel: '业务编号', name: 'BsNo', hidden: true }, { fieldLabel: 'GId', name: 'GId', flex: 0, hidden: true, margins: '0' }, { fieldLabel: '费用名称', readOnly: true, name: 'FeeName' }, { fieldLabel: '费用对象', readOnly: true, name: 'CustomerName' }, { fieldLabel: '单位标准', readOnly: true, name: 'Unit' }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '不含税单价', readOnly: true, name: 'UnitPrice', 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; } }, { fieldLabel: '税率', readOnly: true, name: 'TaxRate' }, { fieldLabel: '含税单价', readOnly: true, name: 'TaxUnitPrice', 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; } } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '计费数量', readOnly: true, name: 'Quantity' }, { fieldLabel: '不含税金额', readOnly: true, name: 'NoTaxAmount', 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; } }, { fieldLabel: '含税金额', readOnly: true, name: '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 '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; } } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '币别', readOnly: true, name: 'Currency' }, { fieldLabel: '汇率', readOnly: true, labelWidth: 60, name: 'ExChangerate' }, { fieldLabel: '财务税率', readOnly: true, labelWidth: 60, name: 'AccTaxRate' }, { fieldLabel: '是否垫付', readOnly: true, name: 'IsAdvancedpay' } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '备注', //'备注', name: 'Remark' }, { fieldLabel: '修改原因', readOnly: true, name: 'Reason' }] } ]//end items(fieldset 1) }//end fieldset 1 ]//end root items }); this.NewFeeShowCr = Ext.widget('form', { frame: true, region: 'east', hidden: true, title: '费用修改新值', width: 600, trackResetOnLoad: true, 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: [{ fieldLabel: '业务编号', name: 'BsNo', hidden: true }, { fieldLabel: 'GId', name: 'GId', flex: 0, hidden: true, margins: '0' }, { fieldLabel: '费用名称', readOnly: true, name: 'FeeName' }, { fieldLabel: '费用对象', readOnly: true, name: 'CustomerName' }, { fieldLabel: '单位标准', readOnly: true, name: 'Unit' }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '不含税单价', readOnly: true, name: 'UnitPrice', 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; } }, { fieldLabel: '税率', readOnly: true, name: 'TaxRate' }, { fieldLabel: '含税单价', readOnly: true, name: 'TaxUnitPrice', 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; } } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '计费数量', readOnly: true, name: 'Quantity' }, { fieldLabel: '不含税金额', readOnly: true, name: 'NoTaxAmount', 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; } }, { fieldLabel: '含税金额', readOnly: true, name: '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 '' + lsValue + ''; } } else { return value; } } catch (e) { return value; } return value; } } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '币别', readOnly: true, name: 'Currency' }, { fieldLabel: '汇率', readOnly: true, labelWidth: 60, name: 'ExChangerate' }, { fieldLabel: '财务税率', readOnly: true, labelWidth: 60, name: 'AccTaxRate' }, { fieldLabel: '是否垫付', readOnly: true, name: 'IsAdvancedpay' } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '备注', //'备注', name: 'Remark' }, { fieldLabel: '修改原因', readOnly: true, name: 'Reason' }] } ]//end items(fieldset 1) }//end fieldset 1 ]//end root items }); me = this; this.winShenModifyShow = Ext.create('Ext.window.Window', { title: "费用申请修改", width: 600, //height : 120, //plain : true, iconCls: "addicon", resizable: false, // 是否可以拖动 // draggable:false, collapsible: true, // 允许缩放条 closeAction: 'close', closable: true, modal: 'true', buttonAlign: "center", bodyStyle: "padding:0 0 0 0", layout: "anchor", items: [this.OldFee, this.NewFeeEdit], buttons: [{ text: "提交申请", minWidth: 70, handler: function () { var form = me.NewFeeEdit.getForm(); var FeeName = form.findField('FeeName').getValue(); if (FeeName == '' || FeeName == null || FeeName == undefined) { Ext.Msg.show({ title: '提示', msg: '费用名称不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var CustomerName = form.findField('CustomerName').getValue(); if (CustomerName == '' || CustomerName == null || CustomerName == undefined) { Ext.Msg.show({ title: '提示', msg: '结费对象不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var TaxRate = form.findField('TaxRate').getValue(); if (TaxRate == null || TaxRate == undefined) { Ext.Msg.show({ title: '提示', msg: '税率不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var Currency = form.findField('Currency').getValue(); if (Currency == '' || Currency == null || Currency == undefined) { Ext.Msg.show({ title: '提示', msg: '币别不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var ExChangerate = form.findField('ExChangerate').getValue(); if (ExChangerate == '' || ExChangerate == null || ExChangerate == undefined) { Ext.Msg.show({ title: '提示', msg: '汇率不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var REASON = form.findField('Reason').getValue(); if (REASON == '' || REASON == null || REASON == undefined) { Ext.Msg.show({ title: '提示', msg: '修改原因不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var type = form.findField('FeeType').getValue(); me.onCreateModifyClick(type); } }, { text: "取消申请", minWidth: 70, handler: function () { me.winShenModifyShow.close(); } }] }); this.winShenDeleteShow = Ext.create('Ext.window.Window', { title: "费用申请删除", width: 600, //height : 120, //plain : true, iconCls: "addicon", resizable: false, // 是否可以拖动 // draggable:false, collapsible: true, // 允许缩放条 closeAction: 'close', closable: true, modal: 'true', buttonAlign: "center", bodyStyle: "padding:0 0 0 0", layout: "anchor", items: [this.DeleteFee], buttons: [{ text: "提交申请", minWidth: 70, handler: function () { var form = me.DeleteFee.getForm(); var REASON = form.findField('Reason').getValue(); if (REASON == '' || REASON == null || REASON == undefined) { Ext.Msg.show({ title: '提示', msg: '删除原因不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var type = form.findField('FeeType').getValue(); me.onCreateDeleteClick(type); } }, { text: "取消申请", minWidth: 70, handler: function () { me.winShenDeleteShow.close(); } }] }); this.AuditBackReasonDr = Ext.widget('form', { frame: true, region: 'east', trackResetOnLoad: true, hidden: true, width: 300, 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: 'textareafield', grow: true, fieldLabel: '驳回原因', height: 70, name: 'Reason', anchor: '100%' } ] } ]//end items(fieldset 1) }//end fieldset 1 ]//end root items }); this.AuditBackReasonCr = Ext.widget('form', { frame: true, region: 'east', trackResetOnLoad: true, hidden: true, width: 300, 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: 'textareafield', grow: true, fieldLabel: '驳回原因', height: 70, name: 'Reason', anchor: '100%' } ] } ]//end items(fieldset 1) }//end fieldset 1 ]//end root items }); //#endregion this.panelDrChFee = new Ext.Panel({ //title: '应收费用', layout: "border", anchor: '100% 50%', frame: true, split: true, items: [this.gridDrChFee, this.NewFeeShowDr, this.AuditBackReasonDr] }); this.panelCrChFee = new Ext.Panel({ //title: '应付费用', layout: "border", anchor: '100% 50%', // region: 'center', frame: true, items: [this.gridCrChFee, this.NewFeeShowCr, this.AuditBackReasonCr] }); this.panelFee = new Ext.Panel({ // layout: "border", layout: "anchor", // region: 'north', // height: 560, region: 'center', items: [ this.panelDrChFee, this.panelCrChFee ] }); //#region 布局 Ext.apply(this, { items: [this.panelFee, this.tabTotal] }); //#endregion this.opStatus = 'add'; /* parentWin = window.parent.opener; { if (parentWin) { var ret = parentWin.OprationSwap(); var fun = ret[4]; } } */ _thisfee = this; this.gridDrChFee.getSelectionModel().on('select', function (model, record, index) { var FeeStatus = record.data.FeeStatus; var GId = record.data.GId; if (FeeStatus == 3) { this.NewFeeShowDr.setVisible(true); this.storeChFeeModify.load({ params: { FeeID: GId, ApplyType: 2 }, callback: function (r, options, success) { if (success) { _thisfee.NewFeeShowDr.getForm().loadRecord(_thisfee.storeChFeeModify.getAt(0)); } }, scope: this }); } else { this.NewFeeShowDr.setVisible(false); } if (FeeStatus == 6) { var reason = this.AuditBackReasonDr.getForm().findField('Reason').setValue(record.data.Reason); this.AuditBackReasonDr.setVisible(true); } else { this.AuditBackReasonDr.setVisible(false); } var FeeName = record.data.FeeName; for (i = 0; i < this.storeCrChFee.getCount(); i += 1) { var memberyf = this.storeCrChFee.getAt(i); var recchange = memberyf.getChanges(); if (memberyf.data.FeeName == FeeName) { memberyf.set("ISSEL", '1'); } else { memberyf.set("ISSEL", '0'); } if (isEmptyObject(recchange)) memberyf.commit(); }; }, this); this.gridCrChFee.getSelectionModel().on('select', function (model, record, index) { var FeeStatus = record.data.FeeStatus; var GId = record.data.GId; if (FeeStatus == 3) { this.NewFeeShowCr.setVisible(true); this.storeChFeeModify.load({ params: { FeeID: GId, ApplyType: 2 }, callback: function (r, options, success) { if (success) { _thisfee.NewFeeShowCr.getForm().loadRecord(_thisfee.storeChFeeModify.getAt(0)); } }, scope: this }); } else { this.NewFeeShowCr.setVisible(false); } if (FeeStatus == 6) { var reason = this.AuditBackReasonCr.getForm().findField('Reason').setValue(record.data.Reason); this.AuditBackReasonCr.setVisible(true); } else { this.AuditBackReasonCr.setVisible(false); } var FeeName = record.data.FeeName; for (i = 0; i < this.storeDrChFee.getCount(); i += 1) { var memberyf = this.storeDrChFee.getAt(i); var recchange = memberyf.getChanges(); if (memberyf.data.FeeName == FeeName) { memberyf.set("ISSEL", '1'); } else { memberyf.set("ISSEL", '0'); } if (isEmptyObject(recchange)) memberyf.commit(); }; }, this); this.gridDrChFee.on({ selectionchange: function (sm, selections) { if (selections.length == 0) { for (i = 0; i < _thisfee.storeCrChFee.getCount(); i += 1) { var memberyf = _thisfee.storeCrChFee.getAt(i); var recchange = memberyf.getChanges(); memberyf.set("ISSEL", '0'); if (isEmptyObject(recchange)) memberyf.commit(); }; } else { var rec = selections[0]; var custname = rec.data.CustomerName; var recordCustCode = Ext.create('DsShipping.ux.CustomRefModel', { GId: NewGuid(), CustCode: custname, CustName: custname, CodeAndName: custname, DESCRIPTION: custname }); _thisfee.storeCustomerNameRefDr.add(recordCustCode); } } }); this.gridCrChFee.on({ selectionchange: function (sm, selections) { if (selections.length == 0) { for (i = 0; i < _thisfee.storeDrChFee.getCount(); i += 1) { var memberyf = _thisfee.storeDrChFee.getAt(i); var recchange = memberyf.getChanges(); memberyf.set("ISSEL", '0'); if (isEmptyObject(recchange)) memberyf.commit(); }; } } }); this.InitData(); }, //end initUIComponents //#region 加载数据 InitData: function () { var condition = ''; /* if (this.ParentPanel) { var ret = this.ParentPanel.OprationSwap(); this.opStatus = ret[0]; this.StoreList = ret[1]; this.editRecord = ret[2]; this.RefBillNo = ret[3]; } */ this.LoadData(this.opStatus, condition, this.RefBillNo); }, //end InitData LoadData: function (opstatus, condition, refbillno) { this.feeCrSerialNo = 0; this.feeCrBodyDel = []; this.feeCrSerialNo = 0; this.feeCrBodyDel = []; this.opStatus = opstatus; // var el = Ext.get("gridDrChFee"); /* this.storeDrChFee.load({ params: { billno: this.gid, type: 1} }); this.storeCrChFee.load({ params: { billno: this.gid, type: 2} }); this.storeChFeeGain.load({ params: { bsno: this.gid }, callback: function (r, options, success) { if (success) { this.formtotal.getForm().loadRecord(this.storeChFeeGain.getAt(0)); } }, scope: this }); */ }, // end LoadDate //#endregion //#region 明细操作 onNextKeyClick: function (type, col) { if (type == 1) { var rows = this.gridDrChFee.getSelectionModel().getSelection(); var row = rows[rows.length - 1]; var s = this.gridDrChFee.getStore(); var number = s.indexOf(row) + 1; if (number == this.gridDrChFee.getStore().getCount()) { this.onAddDetailClick(s, event, type); } else { this.cellEditingDrChFee.startEditByPosition({ row: number, column: col }); } } else { var rows = this.gridCrChFee.getSelectionModel().getSelection(); var row = rows[rows.length - 1]; var s = this.gridCrChFee.getStore(); var number = s.indexOf(row) + 1; if (number == this.gridCrChFee.getStore().getCount()) { this.onAddDetailClick(s, event, type); } else { this.cellEditingCrChFee.startEditByPosition({ row: number, column: col }); } } }, onUpKeyClick: function (type, col) { if (type == 1) { var rows = this.gridDrChFee.getSelectionModel().getSelection(); var row = rows[rows.length - 1]; var s = this.gridDrChFee.getStore(); var number = s.indexOf(row) - 1; if (number < 0) number = 0; this.cellEditingDrChFee.startEditByPosition({ row: number, column: col }); } else { var rows = this.gridCrChFee.getSelectionModel().getSelection(); var row = rows[rows.length - 1]; var s = this.gridCrChFee.getStore(); var number = s.indexOf(row) - 1; if (number < 0) number = 0; this.cellEditingCrChFee.startEditByPosition({ row: number, column: col }); } }, onAddDetailClick: function (button, event, type) { var allow = this.getAllowOperationDetail(); if (allow == false) { return; } var store = null; if (type == 1) { store = this.storeDrChFee; } else if (type == 2) { store = this.storeCrChFee; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } var custtype = ''; if (type == 1) custtype = '委托单位' else custtype = '订舱代理' var records = DsStoreQueryBy(this.StoreCustType, 'CUSTTYPE', custtype); if (records.getCount() > 0) { var data = records.getAt(0).data; var custname = this.EditRecord.get(data.CUSTNAME); } else { var custname = ''; } var newSerialno = this.GetHandleSerialNo(store); var newsort = store.getCount() + 1; var myDate = new Date(); var record = null; record = Ext.create('MsChFee', { GId: NewGuid(), BsNo: '*', FeeStatus: 1, FeeStatus_Ref: '录入状态', FeeType: type, FeeName: '', FeeDescription: '', CustomerType: custtype, CustomerName: custname, Unit: '', UnitPrice: 0, TaxUnitPrice: 0, Quantity: 1, TaxRate: 0, NoTaxAmount: 0, Amount: 0, AccTaxRate: 0, Currency: 'RMB', ExChangerate: 1, Reason: '', Remark: '', Commissionrate: 0, Settlement: 0, Invoice: 0, OrderAmount: 0, OrderInvoice: 0, SubmitDate: null, Auditoperator: '', AuditDate: null, EnteroPerator: USERID, OpName: SHOWNAME, EnterDate: myDate, DebitNo: '', IsDebit: "0", IsOpen: "0", IsAdvancedpay: "0", Sort: newSerialno, IsInvoice: "0", ISACC: "0", FeeFrt: '', IsCrmOrderFee: "0", AuditStatus: 0, InvoiceNum: '', ChequeNum: '', WmsOutBsNo: this.WMSOUTBSNO, UNINVOICE: -1 }); var z = store.add(record); var editColumnIndex = 0; var cellediting = null; if (type == 1) { cellediting = this.cellEditingDrChFee; editColumnIndex = 4; } else if (type == 2) { cellediting = this.cellEditingCrChFee; editColumnIndex = 4; } var n = store.getCount(); var feeid = z[0].internalId; var rown = store.data.keys.indexOf(feeid); cellediting.startEditByPosition({ row: rown, column: editColumnIndex }); }, onAddSelectDetailClick: function (button, event, type) { var allow = this.getAllowOperationDetail(); if (allow == false) { return; } var allow = this.getAllowOperationDetail(); if (allow == false) { return; } var selectedRecords = []; var storeadd = null; if (type == 2) { selectedRecords = this.feeDrGridCheckBoxModel.selected.items; storeadd = this.storeCrChFee; } else if (type == 1) { selectedRecords = this.feeCrGridCheckBoxModel.selected.items; storeadd = this.storeDrChFee; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } if (selectedRecords.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要添加的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var myDate = new Date(); for (var i = 0; i < selectedRecords.length; i++) { var memberyf = selectedRecords[i]; var custtype = ''; if (type == 1) custtype = '委托单位' else custtype = '订舱代理' var records = DsStoreQueryBy(this.StoreCustType, 'CUSTTYPE', custtype); if (records.getCount() > 0) { var data = records.getAt(0).data; var custname = this.EditRecord.get(data.CUSTNAME); } else { var custname = ''; } var newSerialno = this.GetHandleSerialNo(storeadd); var newsort = storeadd.getCount() + 1; var record = null; record = Ext.create('MsChFee', { GId: NewGuid(), BsNo: '*', FeeStatus: 1, FeeStatus_Ref: '录入状态', FeeType: type, FeeName: memberyf.data.FeeName, FeeDescription: memberyf.data.FeeDescription, CustomerType: custtype, CustomerName: custname, Unit: memberyf.data.Unit, UnitPrice: memberyf.data.UnitPrice, TaxUnitPrice: memberyf.data.TaxUnitPrice, Quantity: memberyf.data.Quantity, TaxRate: memberyf.data.TaxRate, NoTaxAmount: memberyf.data.NoTaxAmount, Amount: memberyf.data.Amount, AccTaxRate: memberyf.data.AccTaxRate, Currency: memberyf.data.Currency, ExChangerate: memberyf.data.ExChangerate, Reason: '', Remark: memberyf.data.Remark, Commissionrate: memberyf.data.Commissionrate, Settlement: 0, Invoice: 0, OrderAmount: 0, OrderInvoice: 0, SubmitDate: null, Auditoperator: '', AuditDate: null, EnteroPerator: USERID, OpName: SHOWNAME, EnterDate: myDate, DebitNo: '', IsDebit: "0", IsOpen: "0", ISACC: "0", IsAdvancedpay: "0", Sort: newSerialno, IsInvoice: "0", FeeFrt: memberyf.data.FeeFrt, IsCrmOrderFee: "0", AuditStatus: 0, InvoiceNum: '', ChequeNum: '', WmsOutBsNo: this.WMSOUTBSNO }); storeadd.add(record); }; var editColumnIndex = 0; var cellediting = null; if (type == 2) { cellediting = this.cellEditingDrChFee; editColumnIndex = 4; } else if (type == 1) { cellediting = this.cellEditingCrChFee; editColumnIndex = 4; } var n = storeadd.getCount(); cellediting.startEditByPosition({ row: n - 1, column: editColumnIndex }); this.calcDetailTotal(); }, onAddAllDetailClick: function (button, event, type) { var allow = this.getAllowOperationDetail(); if (allow == false) { return; } var store = null; var storeadd = null; if (type == 2) { store = this.storeDrChFee; storeadd = this.storeCrChFee; } else if (type == 1) { store = this.storeCrChFee; storeadd = this.storeDrChFee; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } var myDate = new Date(); for (i = 0; i < store.getCount(); i += 1) { var memberyf = store.getAt(i); var custtype = ''; if (type == 1) custtype = '委托单位' else custtype = '订舱代理' var records = DsStoreQueryBy(this.StoreCustType, 'CUSTTYPE', custtype); if (records.getCount() > 0) { var data = records.getAt(0).data; var custname = this.EditRecord.get(data.CUSTNAME); } else { var custname = ''; } var newSerialno = this.GetHandleSerialNo(storeadd); var newsort = storeadd.getCount() + 1; var record = null; record = Ext.create('MsChFee', { GId: NewGuid(), BsNo: '*', FeeStatus: 1, FeeStatus_Ref: '录入状态', FeeType: type, FeeName: memberyf.data.FeeName, FeeDescription: memberyf.data.FeeDescription, CustomerType: custtype, CustomerName: custname, Unit: memberyf.data.Unit, UnitPrice: memberyf.data.UnitPrice, TaxUnitPrice: memberyf.data.TaxUnitPrice, Quantity: memberyf.data.Quantity, TaxRate: memberyf.data.TaxRate, NoTaxAmount: memberyf.data.NoTaxAmount, Amount: memberyf.data.Amount, AccTaxRate: memberyf.data.AccTaxRate, Currency: memberyf.data.Currency, ExChangerate: memberyf.data.ExChangerate, Reason: '', Remark: memberyf.data.Remark, Commissionrate: memberyf.data.Commissionrate, Settlement: 0, Invoice: 0, OrderAmount: 0, OrderInvoice: 0, SubmitDate: null, Auditoperator: '', AuditDate: null, EnteroPerator: USERID, OpName: SHOWNAME, EnterDate: myDate, DebitNo: '', IsDebit: "0", IsOpen: "0", ISACC: "0", IsAdvancedpay: "0", Sort: newSerialno, IsInvoice: "0", FeeFrt: memberyf.data.FeeFrt, IsCrmOrderFee: "0", AuditStatus: 0, InvoiceNum: '', ChequeNum: '', WmsOutBsNo: this.WMSOUTBSNO }); storeadd.add(record); }; var editColumnIndex = 0; var cellediting = null; if (type == 2) { cellediting = this.cellEditingDrChFee; editColumnIndex = 4; } else if (type == 1) { cellediting = this.cellEditingCrChFee; editColumnIndex = 4; } var n = storeadd.getCount(); cellediting.startEditByPosition({ row: n - 1, column: editColumnIndex }); this.calcDetailTotal(); }, onAddClearRepairClick: function (menu, event) { var selectedRecords = []; selectedRecords = this.feeCrGridCheckBoxModel.selected.items; if (selectedRecords.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要生成的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var bodyDrChFeeDatas = []; for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; bodyDrChFeeDatas.push(rec); } var jsonChFeeBody = ConvertRecordsToJsonAll(bodyDrChFeeDatas); Ext.Ajax.request({ waitMsg:'正在处理数据...', url: '/MvcContainer/MsOpCtnBsCard/CreateOpCtnRepairFromFee', params: { data: jsonChFeeBody }, 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; } else { Ext.Msg.show({ title:'提示', msg: '已生成业务信息!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); } } else { Ext.MessageBox.alert('服务器响应出错!', response.responseText); } }, scope: this }); }, onAddYardRemarkClick: function (menu, event) { selectedRecords = this.feeCrGridCheckBoxModel.selected.items; if (selectedRecords.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要生成的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var bsno = selectedRecords[0].data.BsNo; Ext.Ajax.request({ waitMsg: '正在处理数据...', url: '/MvcContainer/MsOpCtnBsCard/GetYardRemark', params: { bsno: bsno }, 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; } else { var remark = result.Data; for (var i = 0; i < selectedRecords.length; i++) { var memberyf = selectedRecords[i]; memberyf.set("Remark", remark); } } } else { Ext.MessageBox.alert('服务器响应出错!', response.responseText); } }, scope: this }); }, onHistryAddDetailClick: function (menu, event, type) { var allow = this.getAllowOperationDetail(); if (allow == false) { return; } this.onPostDetailClick(menu, event, type); this.feeType = type; var store = null; if (type == 1) { store = this.storeDrChFee; } else if (type == 2) { store = this.storeCrChFee; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } DsOpenEditWin("/MvcContainer/MsOpCtnBsCard/CtnStatusFee?ishistry=1", "引入罐箱费用"); }, onTemplateAddDetailClick: function (menu, event, type) { var allow = this.getAllowOperationDetail(); if (allow == false) { return; } this.onPostDetailClick(menu, event, type); this.feeType = type; var store = null; if (type == 1) { store = this.storeDrChFee; } else if (type == 2) { store = this.storeCrChFee; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } DsOpenEditWin("/MvcShipping/MsFeeTemplate/AddFeeIndex", "模板引入费用"); // window.open('/MvcShipping/MsFeeTemplate/AddFeeIndex', "模板引入费用", 'width=1200,height=760,top=0,left=0,resizable=yes,status=yes,menubar=no,scrollbars=yes'); // DsOpenEditWin("/MvcShipping/MsFeeTemplate/AddFeeIndex", "模板引入费用"); }, onCtnTkAddDetailClick: function (menu, event, type) { var allow = this.getAllowOperationDetail(); if (allow == false) { return; } this.onPostDetailClick(menu, event, type); this.feeType = type; var store = null; if (type == 1) { store = this.storeDrChFee; } else if (type == 2) { store = this.storeCrChFee; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } DsOpenEditWin("/MvcContainer/MsOpCtnBsCard/CtnStatusFee", "引入罐箱费用"); }, onCancelDetailClick: function (menu, event, type) { var store = null; if (type == 1) { store = this.storeDrChFee; } else if (type == 2) { store = this.storeCrChFee; } else { alert('函数(onCancelDetailClick)的参数type类型设置的不对'); return; } for (var i = 0; i < store.getCount(); i += 1) { var member = store.getAt(i); member.reject(); } this.calcDetailTotal(); }, GetHandleSerialNo: function (store) { var result = 0; if (result == 0) { for (var i = 0; i < store.getCount(); i += 1) { var member = store.getAt(i); if (parseInt(member.data.Sort) > parseInt(result)) { result = member.data.Sort; } } } result = parseInt(result) + 1; return result; }, onDelDetailClick: function (button, event, type) { var allow = this.getAllowOperationDetail(); if (allow == false) { return; } var feeGidSql = ''; var selectedRecords = []; if (type == '1') { selectedRecords = this.feeDrGridCheckBoxModel.selected.items; var candelete = this.CheckChFeeDelete(selectedRecords, 1); if (candelete == false) return; } else if (type == '2') { selectedRecords = this.feeCrGridCheckBoxModel.selected.items; var candelete = this.CheckChFeeDelete(selectedRecords, 2); if (candelete == false) return; } if (selectedRecords.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要删除的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } Ext.MessageBox.confirm('提示', '确定要删除选中的费用吗?', function (btn) { if (btn == 'yes') { if (selectedRecords.length > 0) { for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; if (rec.data.BsNo == "*") //如果是新增但没有保存的数据,没有必要提交到后台 { if (type == '1') { this.storeDrChFee.remove(selectedRecords[i]); } else if (type == '2') { this.storeCrChFee.remove(selectedRecords[i]); } this.calcDetailTotal(); } else { var feeGId = "'" + rec.data.GId + "'"; if (feeGidSql == '') { feeGidSql = feeGId; } else { feeGidSql = feeGidSql + "," + feeGId; } } } } _thisfee = this; Ext.Msg.wait('正在删除数据...'); if (feeGidSql != '') { Ext.Ajax.request({ waitMsg: '正在删除数据...', url: '/MvcShipping/MsChFee/Delete', params: { bsno: _thisfee.strBSNO, data: feeGidSql }, callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { for (var i = 0; i < selectedRecords.length; i++) { if (type == '1') { this.storeDrChFee.remove(selectedRecords[i]); } else if (type == '2') { this.storeCrChFee.remove(selectedRecords[i]); } } // this.calcDetailTotal(); this.storeChFeeGain.load({ params: { bsno: _thisfee.strBSNO, optype: _thisfee.stroplb} }); this.storeBodySum.load({ params: { bsno: _thisfee.strBSNO, optype: _thisfee.stroplb }, callback: function (r, options, success) { if (success) { _thisfee.setTotalHead(); } } }); Ext.Msg.hide(); } else { Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } } }, failure: function (response, options) { Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); }, success: function (response, options) { }, scope: this }); //end Ext.Ajax.request } else { Ext.Msg.show({ title: '提示', msg: "删除成功!", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); } } }, this); }, CheckChFeeDelete: function (records, type) { for (var i = 0; i < records.length; i++) { var rec = records[i]; var feeStatus = rec.data.FeeStatus; if (feeStatus != 1 && feeStatus != 6) canDelete = false; if (canDelete == false) { Ext.Msg.show({ title: '提示', msg: '只能删除费用状态为[录入状态]和[驳回提交]的费用,请重新选择', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } if (canDelete) { var op = rec.data.EnteroPerator; var opname = rec.data.OpName; if (type == 1) { var recop = DsStoreQueryBy(this.StoreDrOpRange, 'OPID', op); if (recop.getCount() > 0) { } else { Ext.Msg.show({ title: '提示', msg: '你没有权限删除' + opname + '录入的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); canDelete = false; } } else if (type == 2) { var recop = DsStoreQueryBy(this.StoreCrOpRange, 'OPID', op); if (recop.getCount() > 0) { } else { Ext.Msg.show({ title: '提示', msg: '你没有权限删除' + opname + '录入的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); canDelete = false; } } } if (canDelete) { if (rec.data.Invoice != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用已开出发票无法删除!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); canDelete = false; } } if (canDelete) { if (rec.data.OrderAmount != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用已申请费用无法删除!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); canDelete = false; } } if (canDelete) { if (rec.data.OrderInvoice != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用已申请开票无法删除!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); canDelete = false; } } if (canDelete) { if (rec.data.IsDebit == 'True' || rec.data.IsDebit == '1') { Ext.Msg.show({ title: '提示', msg: '当前费用已対帐无法删除!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); canDelete = false; } } if (canDelete) { if (rec.data.IsCrmOrderFee == 'True' || rec.data.IsCrmOrderFee == '1') { Ext.Msg.show({ title: '提示', msg: '当前费用为成本核算费用,无法删除!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); canDelete = false; } } if (canDelete) { if (rec.data.WmsOutBsNo != '' && rec.data.WmsOutBsNo == null) { Ext.Msg.show({ title: '提示', msg: '当前费用已引入操作模块,无法删除!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); canDelete = false; } } } return canDelete; }, onPostDetailClick: function (button, event, type) { var bodyDrChFeeDatas = []; var i; if (type == '1') { for (i = 0; i < this.storeDrChFee.getCount(); i += 1) { var memberyf = this.storeDrChFee.getAt(i); bodyDrChFeeDatas.push(memberyf); var ExChangerate = memberyf.data.ExChangerate; }; var jsonChFeeBody = ConvertFeeRecordsToJson(bodyDrChFeeDatas); } else if (type == '2') { for (i = 0; i < this.storeCrChFee.getCount(); i += 1) { var memberyf = this.storeCrChFee.getAt(i); bodyDrChFeeDatas.push(memberyf); var amount = memberyf.data.Amount; var ExChangerate = memberyf.data.ExChangerate; }; var jsonChFeeBody = ConvertFeeRecordsToJson(bodyDrChFeeDatas); }; _thisfee = this; Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ waitMsg: '正在保存数据...', url: '/MvcShipping/MsChFee/Save', scope: this, params: { bsno: _thisfee.strBSNO, type: type, chfeebody: jsonChFeeBody }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { // if (type == '1') { // for (var i = 0; i < this.storeDrChFee.getCount(); i += 1) { // var member = this.storeDrChFee.getAt(i); // member.set("BsNo", _thisfee.strBSNO); // member.commit(); // } //// this.gridDrChFee.unSelectAll(); // } else if (type == '2') { // for (var i = 0; i < this.storeCrChFee.getCount(); i += 1) { // var member = this.storeCrChFee.getAt(i); // member.set("BsNo", _thisfee.strBSNO); // member.commit(); // } //// this.gridCrChFee.unSelectAll(); // } if (type == 1) { _thisfee.LoadDrChFee(); } else { _thisfee.LoadCrChFee(); } this.storeChFeeGain.load({ params: { bsno: _thisfee.strBSNO, optype: _thisfee.stroplb} }); this.storeBodySum.load({ params: { bsno: _thisfee.strBSNO, optype: _thisfee.stroplb }, callback: function (r, options, success) { if (success) { _thisfee.setTotalHead(); } } }); } 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 }); } } }); }, //end save onShenModifyClick: function (button, event, type) { var allow = this.getAllowOperationDetail(); if (allow == false) { return; } var selectedRecords = []; if (type == '1') { selectedRecords = this.feeDrGridCheckBoxModel.selected.items; } else if (type == '2') { selectedRecords = this.feeCrGridCheckBoxModel.selected.items; } if (selectedRecords.count == 0) { Ext.Msg.show({ title: '提示', msg: '没有选择要申请修改的业务!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var rec = selectedRecords[0]; if (rec.data.FeeStatus != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用状态无法申请修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (rec.data.Settlement != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用已结算无法申请修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (rec.data.IsDebit == 'True' || rec.data.IsDebit == '1') { Ext.Msg.show({ title: '提示', msg: '当前费用已対帐无法申请修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (rec.data.Invoice != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用已开出发票无法申请修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (rec.data.OrderAmount != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用已申请费用无法申请修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (rec.data.OrderInvoice != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用已申请开票无法申请修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } this.DataLoading = true; this.NewFeeEdit.getForm().loadRecord(rec); this.OldFee.getForm().loadRecord(rec); this.DataLoading = false; this.winShenModifyShow.show(); }, onCreateModifyClick: function (type) { var feeGIdSql = ''; var form = this.NewFeeEdit.getForm(); var data = this.NewFeeEdit.getForm().getValues(); var olddata = this.OldFee.getForm().getValues(); _thisfee = this; Ext.Ajax.request({ waitMsg: '正在添加数据...', url: '/Account/Chfee_Audit/ShenModify', params: { data: Ext.JSON.encode(data), olddata: Ext.JSON.encode(olddata), optype: _thisfee.stroplb }, 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; } else { if (type == 1) //_this.storeDrChFee.load({ params: { billno: _this.strBSNO, type: 1, optype: _this.stroplb} }); _thisfee.LoadDrChFee(); if (type == 2) //_this.storeCrChFee.load({ params: { billno: _this.strBSNO, type: 2, optype: _this.stroplb} }); _thisfee.LoadCrChFee(); _thisfee.winShenModifyShow.close(); } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); }, onShenDeleteClick: function (button, event, type) { var allow = this.getAllowOperationDetail(); if (allow == false) { return; } var selectedRecords = []; if (type == '1') { selectedRecords = this.feeDrGridCheckBoxModel.selected.items; } else if (type == '2') { selectedRecords = this.feeCrGridCheckBoxModel.selected.items; } if (selectedRecords.count == 0) { Ext.Msg.show({ title: '提示', msg: '没有选择要申请删除的业务!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var rec = selectedRecords[0]; if (rec.data.FeeStatus != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用状态无法申请删除!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (rec.data.Settlement != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用已结算无法申请删除!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (rec.data.Invoice != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用已开出发票无法申请删除!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (rec.data.IsDebit == 'True' || rec.data.IsDebit == '1') { Ext.Msg.show({ title: '提示', msg: '当前费用已対帐无法申请删除!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (rec.data.OrderAmount != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用已申请费用无法申请删除!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (rec.data.OrderInvoice != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用已申请开票无法申请删除!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } this.DataLoading = true; this.DeleteFee.getForm().loadRecord(rec); this.DataLoading = false; this.winShenDeleteShow.show(); }, onCreateDeleteClick: function (type) { var feeGIdSql = ''; var form = this.DeleteFee.getForm(); var data = this.DeleteFee.getForm().getValues(); _thisfee = this; Ext.Ajax.request({ waitMsg: '正在申请删除...', url: '/Account/Chfee_Audit/ShenDelete', params: { data: Ext.JSON.encode(data), optype: _thisfee.stroplb }, 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; } else { if (type == 1) //_this.storeDrChFee.load({ params: { billno: _this.strBSNO, type: 1, optype: _this.stroplb} }); _thisfee.LoadDrChFee(); if (type == 2) //_this.storeCrChFee.load({ params: { billno: _this.strBSNO, type: 2, optype: _this.stroplb} }); _thisfee.LoadCrChFee(); _thisfee.winShenDeleteShow.close(); } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); }, onCancelShenClick: function (button, event, type) { var allow = this.getAllowOperationDetail(); if (allow == false) { return; } var selectedRecords = []; if (type == '1') { selectedRecords = this.feeDrGridCheckBoxModel.selected.items; } else if (type == '2') { selectedRecords = this.feeCrGridCheckBoxModel.selected.items; } if (selectedRecords.count == 0) { Ext.Msg.show({ title: '提示', msg: '没有选择要取消申请的业务!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var rec = selectedRecords[0]; if (rec.data.FeeStatus != 3 && rec.data.FeeStatus != 4) { Ext.Msg.show({ title: '提示', msg: '当前费用状态无法取消申请!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } // var bodyDrChFeeDatas = []; // bodyDrChFeeDatas.push(rec); // var jsonChFeeBody = ConvertFeeRecordsToJson(bodyDrChFeeDatas); Ext.Ajax.request({ waitMsg: '正在取消申请...', url: '/Account/Chfee_Audit/CancelShen', params: { Feeid: rec.data.GId, optype: _thisfee.stroplb }, 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; } else { if (type == 1) { /* _this.storeDrChFee.load({ params: { billno: _this.strBSNO, type: 1, optype: _this.stroplb }, callback: function (r, options, success) { if (success) { if (r.length > 0) { _this.storeDrChFee.getSelectionModel().select(0); } else { } } }, scope: this });*/ this.LoadDrChFee(button, event); this.NewFeeShowDr.setVisible(false); } if (type == 2) { /* _this.storeCrChFee.load({ params: { billno: _this.strBSNO, type: 2, optype: _this.stroplb }, callback: function (r, options, success) { if (r.length > 0) { _this.storeCrChFee.getSelectionModel().select(0); } else { } }, scope: this });*/ this.LoadCrChFee(button, event); this.NewFeeShowCr.setVisible(false); } } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); }, onViewDetailClick: function (button, event, type) { var openSet = "height=740, width=890, toolbar=no, menubar=no,scrollbars=no, resizable=no,location=no, status=no,Top= " + (screen.height - 540) / 2 + ",Left= " + (screen.width - 890) / 2 var openType = "_blank"; //打开费用“历史信息查询”页面 // var openUrl = "../../Shipping/FeeHistory.aspx?bsno=" + this.strBSNO + "&oplb=" + this.stroplb + "&type=" + type; var openUrl = "../../MvcShipping/MsOpBill/MsFeeHistoryView??bsno=" + this.strBSNO + "&oplb=" + this.stroplb + "&type=" + type; window.open(openUrl, openType, openSet); }, getAllowOperationDetail: function () { var feeStatus = this.getFeeStatus(); if (feeStatus == '0' || feeStatus == '' || typeof (feeStatus) == 'undefined' || feeStatus == false || feeStatus == 'false') return true; else { Ext.Msg.show({ title: '错误', msg: "此票委托已费用已锁定,不允许操作费用!", icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return false; } }, //#endregion InitDrGrid: function (grid) { _thisfee = this; var agirdcolums = grid; Ext.Ajax.request({ waitMsg: '', url: '/MvcShipping/MsSysParamSet/GetData', params: { condition: "PARAMNAME='Feenotopen'" }, callback: function (options, success, response) { if (success) { var result = Ext.JSON.decode(response.responseText); if (result.Success != true) { _thisfee.gridDrChFee.reconfigure(_thisfee.storeDrChFee, agirdcolums); } else { var data = result.data; if (data.PARAMVALUE == '1') { for (var j = 0; j < agirdcolums.length; j++) { if (agirdcolums[j].dataIndex == 'IsOpen') agirdcolums[j].hidden = false; } } else { for (var j = 0; j < agirdcolums.length; j++) { if (agirdcolums[j].dataIndex == 'IsOpen') agirdcolums[j].hidden = true; } } _thisfee.gridDrChFee.reconfigure(_thisfee.storeDrChFee, agirdcolums); } } else { _this.gridDrChFee.reconfigure(_this.storeDrChFee, agirdcolums); } }, scope: this }); }, InitCrGrid: function (grid) { _thisfee = this; var agirdcolums = grid; // this.gridCrChFee.reconfigure(this.storeCrChFee, agirdcolums); Ext.Ajax.request({ waitMsg: '', url: '/MvcShipping/MsSysParamSet/GetData', params: { condition: "PARAMNAME='Feenotopen'" }, callback: function (options, success, response) { if (success) { var result = Ext.JSON.decode(response.responseText); if (result.Success != true) { _thisfee.gridCrChFee.reconfigure(_thisfee.storeCrChFee, agirdcolums); } else { var data = result.data; if (data.PARAMVALUE == '1') { for (var j = 0; j < agirdcolums.length; j++) { if (agirdcolums[j].dataIndex == 'IsOpen') agirdcolums[j].hidden = false; } } else { for (var j = 0; j < agirdcolums.length; j++) { if (agirdcolums[j].dataIndex == 'IsOpen') agirdcolums[j].hidden = true; } } _thisfee.gridCrChFee.reconfigure(_thisfee.storeCrChFee, agirdcolums); } } else { _thisfee.gridCrChFee.reconfigure(_thisfee.storeCrChFee, agirdcolums); } }, scope: this }); }, //#region 表格的AfterEdit gridListChFeeAfterEdit: function (editor, e, eOpts) { if (e.value == e.originalValue) return; //var BSNO = e.record.get('BSNO'); if (e.field == 'UnitPrice') { var unitPrice = e.record.data['UnitPrice']; var quantity = e.record.data['Quantity']; var taxrate = e.record.data['TaxRate']; if (taxrate != null) { var taxrateb = Add(1, Div(taxrate, 100)); //parseFloat(1 + parseFloat(taxrate).mul(0.01)); var TaxUnitPrice = Mul(unitPrice, taxrateb); //(parseFloat(unitPrice).mul(taxrateb)).toFixed(2); e.record.set('TaxUnitPrice', TaxUnitPrice); } var notaxamount = Mul(unitPrice, quantity); //(parseFloat(unitPrice).mul(quantity)).toFixed(2); e.record.set('NoTaxAmount', notaxamount); ////taxrate = Div(taxrate, 100); //parseFloat(taxrate).mul(0.01); // tax = notaxamount * taxrate; var tax = Div(Mul(notaxamount, taxrate), 100); //parseFloat(notaxamount).mul(taxrate); var amount = Add(notaxamount, tax); //(parseFloat(notaxamount).add(parseFloat(tax))).toFixed(2);// e.record.set('Amount', Ext.util.Format.number(amount, '0.00')); e.record.set('Amount', amount); this.calcDetailTotal(); } else if (e.field == 'TaxUnitPrice') { var TaxUnitPrice = e.record.data['TaxUnitPrice']; if (e.value != 0) { var quantity = e.record.data['Quantity']; var taxrate = e.record.data['TaxRate']; var taxrateb = Add(1, Div(taxrate, 100), 4); //parseFloat(1 + parseFloat(taxrate).mul(0.01)); var unitPrice = Div(TaxUnitPrice, taxrateb); //(parseFloat(TaxUnitPrice).div(parseFloat(taxrateb))).toFixed(2); e.record.set('UnitPrice', unitPrice); if (quantity != null) { var amount = Mul(TaxUnitPrice, quantity); //(parseFloat(TaxUnitPrice).mul(quantity)).toFixed(2); e.record.set('Amount', amount); var notaxamount = Div(amount, taxrateb); //(parseFloat(amount).div(taxrateb)).toFixed(2); e.record.set('NoTaxAmount', notaxamount); } this.calcDetailTotal(); } } else if (e.field == 'Quantity') { var unitPrice = e.record.data['UnitPrice']; var quantity = e.record.data['Quantity']; var TaxUnitPrice = e.record.data['TaxUnitPrice']; var taxrate = e.record.data['TaxRate']; if (taxrate != null) { var taxrateb = Add(1, Div(taxrate, 100)); if ((TaxUnitPrice == null || TaxUnitPrice == 0 || TaxUnitPrice == NaN) && (unitPrice != null)) { var TaxUnitPrice = Mul(unitPrice, taxrateb); e.record.set('TaxUnitPrice', TaxUnitPrice); } } if (unitPrice != null) { var notaxamount = Mul(unitPrice, quantity); //(parseFloat(unitPrice).mul(quantity)).toFixed(2); e.record.set('NoTaxAmount', notaxamount); } if (TaxUnitPrice != null) { var amount = Mul(TaxUnitPrice, quantity); //(parseFloat(unitPrice).mul(quantity)).toFixed(2); e.record.set('Amount', amount); } this.calcDetailTotal(); } else if (e.field == 'FeeName') { var records = DsStoreQueryBy(this.storeFeeNameRef, 'Name', e.value); var FEENAME = e.value; if (records.getCount() > 0) { var data = records.getAt(0).data; var Currency = data.DefaultCurr; var Description = data.Description; var DEFAULTUNIT = data.DefaultUnit; var UNIT = ''; var custtype = ''; var FeeType = e.record.data['FeeType']; var codeFEETYPE = data.FEETYPE; //alert(codeFEETYPE); e.record.set('Currency', Currency); e.record.set('FeeDescription', Description); if (DEFAULTUNIT == "1" || DEFAULTUNIT == "11") { e.record.set('Unit', "单票"); e.record.set('Quantity', 1); UNIT = '单票'; } else if (DEFAULTUNIT == "2") { e.record.set('Unit', "重量"); UNIT = '重量'; //设置重量,如果是进口的设置净重 Quantity //获取业务类型 获取重量 设置 } else if (DEFAULTUNIT == "5") { e.record.set('Unit', "TEU"); UNIT = 'TEU'; //设置数量 //获取业务类型 获取所有集装箱信息 折算TEU } else if (DEFAULTUNIT == "6") { e.record.set('Unit', "净重"); UNIT = '净重'; //如果是进口的设置净重 } else if (DEFAULTUNIT == "10" || DEFAULTUNIT == "3") { e.record.set('Unit', "尺码"); UNIT = '尺码'; //如果是进口的设置净重 } else if (DEFAULTUNIT == "9") { var Unitrecords = DsStoreQueryLikeBy(this.StoreUnit, 'UNIT', 1, '2'); if (Unitrecords.getCount() > 0) { var ffdata = Unitrecords.getAt(0).data; var aUNIT = ffdata.UNIT; e.record.set('Unit', aUNIT); UNIT = aUNIT; } else { var Unitrecords = DsStoreQueryLikeBy(this.StoreUnit, 'UNIT', 1, '4'); if (Unitrecords.getCount() > 0) { var ffdata = Unitrecords.getAt(0).data; var aUNIT = ffdata.UNIT; e.record.set('Unit', aUNIT); UNIT = aUNIT; } } //如果是进口的设置净重 } else { e.record.set('Unit', DEFAULTUNIT); UNIT = DEFAULTUNIT; } if (Currency != 'RMB') { var FeeType = e.record.data['FeeType']; var FFrecords = DsStoreQueryBy(this.StoreDateCurr, 'CURR', Currency); if (FFrecords.getCount() > 0) { var ffdata = FFrecords.getAt(0).data; if (FeeType == 2) var DEFRATE = ffdata.CRDEFRATE; else var DEFRATE = ffdata.DEFRATE; e.record.set('ExChangerate', DEFRATE); } else { var DFrecords = DsStoreQueryBy(this.StoreCurr, 'CURR', Currency); if (DFrecords.getCount() > 0) { var dfdata = DFrecords.getAt(0).data; if (FeeType == 2) var DEFRATE = dfdata.CRDEFRATE; else var DEFRATE = dfdata.DEFRATE; e.record.set('ExChangerate', DEFRATE); } else { e.record.set('ExChangerate', 0); } } } else { e.record.set('ExChangerate', 1); }; var Unitrecords = DsStoreQueryBy(this.StoreUnit, 'UNIT', UNIT); var QUANTITY = 1; if (Unitrecords.getCount() > 0) { var Unitdata = Unitrecords.getAt(0).data; QUANTITY = Unitdata.QUANTITY; if ((UNIT == '重量') && (QUANTITY == 0)) { Unitrecords = DsStoreQueryBy(this.StoreUnit, 'UNIT', '净重'); if (Unitrecords.getCount() > 0) { Unitdata = Unitrecords.getAt(0).data; QUANTITY = Unitdata.QUANTITY; } } e.record.set('Quantity', QUANTITY); } else { e.record.set('Quantity', 1); } var taxrate = e.record.data['TaxRate']; if (taxrate == null) taxrate = 0; var unitPrice = e.record.data['UnitPrice']; var notaxamount = Mul(unitPrice, QUANTITY); //(parseFloat(unitPrice).mul(QUANTITY)).toFixed(2); if (notaxamount == null || notaxamount == NaN) notaxamount = 0; e.record.set('NoTaxAmount', notaxamount); //taxrate = parseFloat(taxrate) / 100; var tax = Mul3(notaxamount, taxrate, 0.01); //parseFloat(notaxamount).mul(taxrate); var amount = Add(notaxamount, tax); //(parseFloat(notaxamount).add(parseFloat(tax))).toFixed(2); if (amount == null || amount == NaN) amount = 0; e.record.set('Amount', amount); this.calcDetailTotal(); // if (codeFEETYPE == "普通") { // e.record.set('IsAdvancedpay', "0"); // } else { // e.record.set('IsAdvancedpay', "1"); // } } else { e.record.set('Currency', 'RMB'); e.record.set('FeeDescription', ''); } } else if (e.field == 'TaxRate') { var taxrate = e.record.data['TaxRate']; var unitPrice = e.record.data['UnitPrice']; var quantity = e.record.data['Quantity']; if (unitPrice != null) { var taxrateb = Add(1, Div(taxrate, 100, 4), 4); //parseFloat(1 + parseFloat(taxrate).mul(0.01)); var TaxUnitPrice = Mul(unitPrice, taxrateb); //(parseFloat(unitPrice).mul(taxrateb)).toFixed(2); e.record.set('TaxUnitPrice', TaxUnitPrice); } var notaxamount = e.record.data['NoTaxAmount']; ////taxrate = Div(taxrate, 100); //parseFloat(taxrate).mul(0.01); var tax = Div(Mul(notaxamount, taxrate), 100); //parseFloat(notaxamount).mul(taxrate); var amount = Add(notaxamount, tax); //(parseFloat(notaxamount).add(parseFloat(tax))).toFixed(2); e.record.set('Amount', amount); this.calcDetailTotal(); } else if (e.field == 'NoTaxAmount') { var taxrate = e.record.data['TaxRate']; var notaxamount = e.record.data['NoTaxAmount']; ////taxrate = parseFloat(taxrate).mul(0.01); var tax = Div(Mul(notaxamount, taxrate), 100); //parseFloat(notaxamount).mul(taxrate); var amount = Add(notaxamount, tax); //(parseFloat(notaxamount).add(parseFloat(tax))).toFixed(2); e.record.set('Amount', amount); var quantity = e.record.data['Quantity']; if (quantity != null && quantity != 0) { var unitPrice = Div(notaxamount, quantity); //(parseFloat(notaxamount).div(parseFloat(quantity))).toFixed(2); e.record.set('UnitPrice', unitPrice); var TaxUnitPrice = Div(amount, quantity); e.record.set('TaxUnitPrice', TaxUnitPrice); } /* var amount = parseFloat(notaxamount) + parseFloat(notaxamount * taxrate / 100); e.record.set('Amount', Ext.util.Format.number(amount, '0.00')); */ this.calcDetailTotal(); } else if (e.field == 'Amount') { var taxrate = e.record.data['TaxRate']; var amount = e.record.data['Amount']; if (taxrate != null) { var taxrateb = Add(1, Mul(taxrate, 0.01)); //parseFloat(1 + parseFloat(taxrate.mul(0.01))); var notaxamount = Div(amount, taxrateb); //(parseFloat(amount).div(taxrateb)).toFixed(2); e.record.set('NoTaxAmount', notaxamount); var quantity = e.record.data['Quantity']; if (quantity != null && quantity != 0) { var unitPrice = Div(notaxamount, quantity); //(parseFloat(notaxamount).div(parseFloat(quantity))).toFixed(2); e.record.set('UnitPrice', unitPrice); var TaxUnitPrice = Div(amount, quantity); e.record.set('TaxUnitPrice', TaxUnitPrice); } }; this.calcDetailTotal(); } else if (e.field == 'Unit') { var records = DsStoreQueryBy(this.StoreUnit, 'UNIT', e.value); var QUANTITY = 1; if (records.getCount() > 0) { var data = records.getAt(0).data; QUANTITY = data.QUANTITY; e.record.set('Quantity', QUANTITY); } else { e.record.set('Quantity', 1); } var taxrate = e.record.data['TaxRate']; if (taxrate == null) taxrate = 0; var unitPrice = e.record.data['UnitPrice']; var notaxamount = Mul(unitPrice, QUANTITY); //(parseFloat(unitPrice).mul(QUANTITY)).toFixed(2); e.record.set('NoTaxAmount', notaxamount); //taxrate = parseFloat(taxrate) / 100; var tax = Mul3(notaxamount, taxrate, 0.01); //parseFloat(notaxamount).mul(taxrate); var amount = Add(notaxamount, tax); //(parseFloat(notaxamount).add(parseFloat(tax))).toFixed(2); e.record.set('Amount', amount); this.calcDetailTotal(); } else if (e.field == 'Currency') { var FeeType = e.record.data['FeeType']; if (e.value == 'RMB') { e.record.set('ExChangerate', 1); } else { var FFrecords = DsStoreQueryBy(this.StoreDateCurr, 'CURR', e.value); if (FFrecords.getCount() > 0) { var ffdata = FFrecords.getAt(0).data; if (FeeType == 2) var DEFRATE = ffdata.CRDEFRATE; else var DEFRATE = ffdata.DEFRATE; e.record.set('ExChangerate', DEFRATE); } else { var DFrecords = DsStoreQueryBy(this.StoreCurr, 'CURR', e.value); if (DFrecords.getCount() > 0) { var dfdata = DFrecords.getAt(0).data; if (FeeType == 2) var DEFRATE = dfdata.CRDEFRATE; else var DEFRATE = dfdata.DEFRATE; e.record.set('ExChangerate', DEFRATE); } else { e.record.set('ExChangerate', 0); } } } this.calcDetailTotal(); } else if (e.field == 'CustomerType') { var records = DsStoreQueryBy(this.StoreCustType, 'CUSTTYPE', e.value); if (records.getCount() > 0) { var data = records.getAt(0).data; var CUSTNAME = this.EditRecord.get(data.CUSTNAME); e.record.set('CustomerName', CUSTNAME); } else { // e.record.set('CustomerName', 0); } } }, calcDetailTotal: function () { var rmbdr = 0; var rmbcr = 0; var usddr = 0; var usdcr = 0; var otdr = 0; var otcr = 0; var ttldr = 0; var ttlcr = 0; var notaxrmbdr = 0; var notaxrmbcr = 0; var notaxusddr = 0; var notaxusdcr = 0; var notaxotdr = 0; var notaxotcr = 0; var notaxttldr = 0; var notaxttlcr = 0; for (var i = 0; i < this.storeDrChFee.getCount(); i += 1) { var member = this.storeDrChFee.getAt(i); var value = member.get('Amount'); var notaxvalue = member.get('NoTaxAmount'); var curr = member.get('Currency'); var rate = member.get('ExChangerate'); if (curr == 'RMB') { rmbdr = parseFloat(rmbdr) + parseFloat(value); notaxrmbdr = parseFloat(notaxrmbdr) + parseFloat(notaxvalue); } else if (curr == 'USD') { usddr = parseFloat(usddr) + parseFloat(value); notaxusddr = parseFloat(notaxusddr) + parseFloat(notaxvalue); } else { otdr = parseFloat(otdr) + parseFloat(value); notaxotdr = parseFloat(notaxotdr) + parseFloat(notaxvalue); } ttldr = parseFloat(ttldr) + parseFloat(value) * parseFloat(rate); notaxttldr = parseFloat(notaxttldr) + parseFloat(notaxvalue) * parseFloat(rate); } for (var i = 0; i < this.storeCrChFee.getCount(); i += 1) { var member = this.storeCrChFee.getAt(i); var value = member.get('Amount'); var curr = member.get('Currency'); var rate = member.get('ExChangerate'); var notaxvalue = member.get('NoTaxAmount'); if (curr == 'RMB') { rmbcr = parseFloat(rmbcr) + parseFloat(value); notaxrmbcr = parseFloat(notaxrmbcr) + parseFloat(notaxvalue); } else if (curr == 'USD') { usdcr = parseFloat(usdcr) + parseFloat(value); notaxusdcr = parseFloat(notaxusdcr) + parseFloat(notaxvalue); } else { otcr = parseFloat(otcr) + parseFloat(value); notaxotcr = parseFloat(notaxotcr) + parseFloat(notaxvalue); } ttlcr = parseFloat(ttlcr) + parseFloat(value) * parseFloat(rate); notaxttlcr = parseFloat(notaxttlcr) + parseFloat(notaxvalue) * parseFloat(rate); } var rmbprofit = parseFloat(rmbdr) - parseFloat(rmbcr); var usdprofit = parseFloat(usddr) - parseFloat(usdcr); var otprofit = parseFloat(otdr) - parseFloat(otcr); var ttlprofit = parseFloat(ttldr) - parseFloat(ttlcr); var notaxrmbprofit = parseFloat(notaxrmbdr) - parseFloat(notaxrmbcr); var notaxusdprofit = parseFloat(notaxusddr) - parseFloat(notaxusdcr); var notaxotprofit = parseFloat(notaxotdr) - parseFloat(notaxotcr); var notaxttlprofit = parseFloat(notaxttldr) - parseFloat(notaxttlcr); for (i = 0; i < this.storeBodySum.getCount(); i += 1) { var memberyf = this.storeBodySum.getAt(i); if (memberyf.data.CURR == '人民币') { memberyf.set("NORATEDR", notaxrmbdr); memberyf.set("DR", rmbdr); memberyf.set("NORATECR", notaxrmbcr); memberyf.set("CR", rmbcr); memberyf.set("NORATEPR", notaxrmbprofit); memberyf.set("PR", rmbprofit); memberyf.commit(); } else if (memberyf.data.CURR == '美元') { memberyf.set("NORATEDR", notaxusddr); memberyf.set("DR", usddr); memberyf.set("NORATECR", notaxusdcr); memberyf.set("CR", usdcr); memberyf.set("NORATEPR", notaxusdprofit); memberyf.set("PR", usdprofit); memberyf.commit(); } if (memberyf.data.CURR == '其他币别') { memberyf.set("NORATEDR", notaxotdr); memberyf.set("DR", otdr); memberyf.set("NORATECR", notaxotcr); memberyf.set("CR", otcr); memberyf.set("NORATEPR", notaxotprofit); memberyf.set("PR", otprofit); memberyf.commit(); } if (memberyf.data.CURR == '合计') { memberyf.set("NORATEDR", notaxttldr); memberyf.set("DR", ttldr); memberyf.set("NORATECR", notaxttlcr); memberyf.set("CR", ttlcr); memberyf.set("NORATEPR", notaxttlprofit); memberyf.set("PR", ttlprofit); memberyf.commit(); } } this.setTotalHead(); }, setTotalHead: function () { var rmbdr = 0; var rmbcr = 0; var usddr = 0; var usdcr = 0; var otdr = 0; var otcr = 0; var ttldr = 0; var ttlcr = 0; var rmbprofit = 0; var usdprofit = 0; var otprofit = 0; var ttlprofit = 0; var profitrate = 0; for (i = 0; i < this.storeBodySum.getCount(); i += 1) { var memberyf = this.storeBodySum.getAt(i); if (memberyf.data.CURR == '人民币') { rmbdr = memberyf.data.DR; rmbcr = memberyf.data.CR; rmbprofit = memberyf.data.PR; } else if (memberyf.data.CURR == '美元') { usddr = memberyf.data.DR; usdcr = memberyf.data.CR; usdprofit = memberyf.data.PR; } if (memberyf.data.CURR == '其他币别') { otdr = memberyf.data.DR; otcr = memberyf.data.CR; otprofit = memberyf.data.PR; } if (memberyf.data.CURR == '合计') { ttldr = memberyf.data.DR; ttlcr = memberyf.data.CR; ttlprofit = memberyf.data.PR; profitrate = memberyf.data.PROFITRATE; } } var rmblb = ""; var usdlb = ""; var otlb = ""; var ttllb = ""; if (rmbdr != 0 || rmbcr != 0 || rmbprofit != 0) { rmblb = "   RMB应收:" + returnfloat(rmbdr) + "    RMB应付: " + returnfloat(rmbcr) + "   RMB利润:" + returnfloat(rmbprofit) + "   |"; // rmblb = "统计信息(文字标题)(字段名-中文):(字段值-负值)(字段名-中文):(字段值-正值)"; } if (usddr != 0 || usdcr != 0 || usdprofit != 0) { usdlb = "   USD应收: " + returnfloat(usddr) + "   USD应付:" + returnfloat(usdcr) + "   USD利润" + returnfloat(usdprofit) + "   |"; } if (otdr != 0 || otcr != 0 || otprofit != 0) { otlb = "   其他币别应收: " + returnfloat(otdr) + "    其他币别应付:" + returnfloat(otcr) + "   其他币别利润" + returnfloat(otprofit) + "   |"; } if (ttldr != 0 || ttlcr != 0 || ttlprofit != 0) { ttllb = "   合计应收: " + returnfloat(ttldr) + "   合计应付:" + returnfloat(ttlcr) + "   合计利润" + returnfloat(ttlprofit) + "  利润率" + returnfloat(profitrate) + ""; } this.tabTotal.setTitle("利润合计:" + rmblb + usdlb + otlb + ttllb); }, setHeadFieldValue: function (fieldName, value) { var field = this.formtotal.getForm().findField(fieldName); field.setValue(value); }, //#endregion cellEditingChFeeBeforeEdit: function (editor, e) { var allow = this.getAllowOperationDetail(); if (allow == false) { return false; } var chfeefeeStatus = e.record.get('FeeStatus'); var canedit = chfeefeeStatus == 1 || chfeefeeStatus == 6 || chfeefeeStatus == 2; var IsDebit = e.record.get('IsDebit'); if (canedit) { if (IsDebit == 'True' || IsDebit == '1') { Ext.Msg.show({ title: '提示', msg: '当前费用已対帐无法修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); canedit = false; } }; if (canedit) { if (e.record.get('Invoice') != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用已开出发票无法申请修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); canedit = false; } } if (canedit) { if (e.record.get('OrderAmount') != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用已申请费用无法申请修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); canedit = false; } } if (canedit) { if (e.record.get('OrderInvoice') != 0) { Ext.Msg.show({ title: '提示', msg: '当前费用已申请开票无法申请修改!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); canedit = false; } } if (canedit) { var type = e.record.get('FeeType'); var op = e.record.get('EnteroPerator'); var opname = e.record.get('OpName'); if (type == 1) { var records = DsStoreQueryBy(this.StoreDrOpRange, 'OPID', op); if (records.getCount() > 0) { } else { Ext.Msg.show({ title: '提示', msg: '你没有权限修改' + opname + '录入的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); canedit = false; } } else if (type == 2) { var records = DsStoreQueryBy(this.StoreCrOpRange, 'OPID', op); if (records.getCount() > 0) { } else { Ext.Msg.show({ title: '提示', msg: '你没有权限修改' + opname + '录入的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); canedit = false; } } } return canedit; }, refBillNoSeChange: function (field, newValue, oldValue) { // if (newValue != oldValue) { // alert(newValue + "," + oldValue); // } }, onSubmitAuditClick: function (button, event, type) { var GidStr = ''; var allow = this.getAllowOperationDetail(); if (allow == false) { return; } var store = null; if (type == 1) { store = this.storeDrChFee; } else if (type == 2) { store = this.storeCrChFee; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } var modifyrecords = store.getUpdatedRecords(); // 获取修改的行的数据,无法获取幻影数据 var phantoms = store.getNewRecords(); //获得幻影行 modifyrecords = modifyrecords.concat(phantoms); //将幻影数据与真实数据合并 if (modifyrecords.length != 0) { Ext.Msg.show({ title: '提示', msg: '有未保存的费用,请先保存费用然后再提交审核!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (type == '1') { var records = this.feeDrGridCheckBoxModel.selected.items; } else if (type == '2') { var records = this.feeCrGridCheckBoxModel.selected.items; }; if (records.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要提交审核的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var insert; for (var i = 0; i < records.length; i++) { var rec = records[i]; var bsno = rec.data.BsNo; if (bsno == '*') { insert = true; } var custname = rec.data.CustomerName; if (custname == '') { Ext.Msg.show({ title: '提示', msg: '客户名称不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var FeeName = rec.data.FeeName; if (FeeName == '') { Ext.Msg.show({ title: '提示', msg: '费用名称不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var Currency = rec.data.Currency; if (Currency == '') { Ext.Msg.show({ title: '提示', msg: '币别不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var ExChangerate = rec.data.ExChangerate; if (ExChangerate == 0) { Ext.Msg.show({ title: '提示', msg: '汇率不能为0!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var Amount = rec.data.Amount; if (Amount == 0) { Ext.Msg.show({ title: '提示', msg: '金额为0,不能提交!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; } if (insert == true) { Ext.Msg.show({ title: '提示', msg: '有未保存的费用,请先保存费用然后再提交审核!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var iSuccess = 0; var iFailure = 0; var postCount = 0; var postBillNO = ""; var loadVal = 0; var bodyDrChFeeDatas = []; for (var i = 0; i < records.length; i++) { var rec = records[i]; var feeStatus = rec.data.FeeStatus; var Gid = rec.data.GId; var canDelete = feeStatus == 1 || feeStatus == 6; if (canDelete == false) { Ext.Msg.show({ title: '提示', msg: '只能费用状态为[录入状态]和[驳回提交]的费用才能提交审核,请重新选择', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } else { bodyDrChFeeDatas.push(rec); GidStr = GidStr + Gid; } } var jsonChFeeBody = ConvertRecordsToJsonAll(bodyDrChFeeDatas); _thisfee = this; if (GidStr == '') { } else { Ext.Ajax.request({ waitMsg: '正在添加数据...', url: '/Account/Chfee_Audit/SubmitAuditNew', params: { feebody: jsonChFeeBody, optype: _thisfee.stroplb }, 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; } else { if (type == 1) { //_this.storeDrChFee.load({ params: { billno: _this.strBSNO, type: 1, optype: _this.stroplb} }); _thisfee.LoadDrChFee(button, event); } else { //_this.storeCrChFee.load({ params: { billno: _this.strBSNO, type: 2, optype: _this.stroplb} }); _thisfee.LoadCrChFee(button, event); } this.storeChFeeGain.load({ params: { bsno: _thisfee.strBSNO, optype: _thisfee.stroplb} }); this.storeBodySum.load({ params: { bsno: _thisfee.strBSNO, optype: _thisfee.stroplb }, callback: function (r, options, success) { if (success) { _thisfee.setTotalHead(); } } }); if (result.Data != '') { Ext.Msg.show({ title: '提示', msg: '已提交审核,' + result.Data, icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK }); } } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); } }, onSubmitAuditNewClick: function (button, event, type) { var GidStr = ''; var allow = this.getAllowOperationDetail(); if (allow == false) { return; } var store = null; if (type == 1) { store = this.storeDrChFee; } else if (type == 2) { store = this.storeCrChFee; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } var modifyrecords = store.getUpdatedRecords(); // 获取修改的行的数据,无法获取幻影数据 var phantoms = store.getNewRecords(); //获得幻影行 modifyrecords = modifyrecords.concat(phantoms); //将幻影数据与真实数据合并 if (modifyrecords.length != 0) { Ext.Msg.show({ title: '提示', msg: '有未保存的费用,请先保存费用然后再提交审核!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (type == '1') { var records = this.feeDrGridCheckBoxModel.selected.items; } else if (type == '2') { var records = this.feeCrGridCheckBoxModel.selected.items; }; if (records.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要提交审核的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var insert; for (var i = 0; i < records.length; i++) { var rec = records[i]; var bsno = rec.data.BsNo; if (bsno == '*') { insert = true; } var custname = rec.data.CustomerName; if (custname == '') { Ext.Msg.show({ title: '提示', msg: '客户名称不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var FeeName = rec.data.FeeName; if (FeeName == '') { Ext.Msg.show({ title: '提示', msg: '费用名称不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var Currency = rec.data.Currency; if (Currency == '') { Ext.Msg.show({ title: '提示', msg: '币别不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var ExChangerate = rec.data.ExChangerate; if (ExChangerate == 0) { Ext.Msg.show({ title: '提示', msg: '汇率不能为0!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var Amount = rec.data.Amount; if (Amount == 0) { Ext.Msg.show({ title: '提示', msg: '金额为0,不能提交!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; } if (insert == true) { Ext.Msg.show({ title: '提示', msg: '有未保存的费用,请先保存费用然后再提交审核!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var iSuccess = 0; var iFailure = 0; var postCount = 0; var postBillNO = ""; var loadVal = 0; for (var i = 0; i < records.length; i++) { var rec = records[i]; var feeStatus = rec.data.FeeStatus; var Gid = rec.data.GId; var canDelete = feeStatus == 1 || feeStatus == 6; if (canDelete == false) { Ext.Msg.show({ title: '提示', msg: '只能费用状态为[录入状态]和[驳回提交]的费用才能提交审核,请重新选择', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } else { if (GidStr == '') GidStr = Gid; else { GidStr = GidStr + ',' + Gid; } } } _thisfee = this; if (GidStr == '') { } else { Ext.Ajax.request({ waitMsg: '正在添加数据...', url: '/Account/Chfee_Audit/SubmitAudit', params: { GidStr: GidStr, optype: _thisfee.stroplb }, 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; } else { if (type == 1) { //_this.storeDrChFee.load({ params: { billno: _this.strBSNO, type: 1, optype: _this.stroplb} }); _thisfee.LoadDrChFee(button, event); } else { //_this.storeCrChFee.load({ params: { billno: _this.strBSNO, type: 2, optype: _this.stroplb} }); _thisfee.LoadCrChFee(button, event); } this.storeChFeeGain.load({ params: { bsno: _thisfee.strBSNO, optype: _thisfee.stroplb} }); this.storeBodySum.load({ params: { bsno: _thisfee.strBSNO, optype: _thisfee.stroplb }, callback: function (r, options, success) { if (success) { _thisfee.setTotalHead(); } } }); } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); } }, onSubmitAuditAllClick: function (button, event, type) { var GidStr = ''; var allow = this.getAllowOperationDetail(); if (allow == false) { return; } var store = null; if (type == 1) { store = this.storeDrChFee; } else if (type == 2) { store = this.storeCrChFee; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } for (var i = 0; i < store.getCount(); i++) { var rec = store.getAt(i); var bsno = rec.data.BsNo; if (bsno == '*') { insert = true; } var custname = rec.data.CustomerName; if (custname == '') { Ext.Msg.show({ title: '提示', msg: '客户名称不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var FeeName = rec.data.FeeName; if (FeeName == '') { Ext.Msg.show({ title: '提示', msg: '费用名称不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var Currency = rec.data.Currency; if (Currency == '') { Ext.Msg.show({ title: '提示', msg: '币别不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var ExChangerate = rec.data.ExChangerate; if (ExChangerate == 0) { Ext.Msg.show({ title: '提示', msg: '汇率不能为0!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var Amount = rec.data.Amount; if (Amount == 0) { Ext.Msg.show({ title: '提示', msg: '金额为0,不能提交!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; } var modifyrecords = store.getUpdatedRecords(); // 获取修改的行的数据,无法获取幻影数据 var phantoms = store.getNewRecords(); //获得幻影行 modifyrecords = modifyrecords.concat(phantoms); //将幻影数据与真实数据合并 if (modifyrecords.length != 0) { var bodyDrChFeeDatas = []; var i; if (type == '1') { for (i = 0; i < this.storeDrChFee.getCount(); i += 1) { var memberyf = this.storeDrChFee.getAt(i); bodyDrChFeeDatas.push(memberyf); var ExChangerate = memberyf.data.ExChangerate; }; var jsonChFeeBody = ConvertFeeRecordsToJson(bodyDrChFeeDatas); } else if (type == '2') { for (i = 0; i < this.storeCrChFee.getCount(); i += 1) { var memberyf = this.storeCrChFee.getAt(i); bodyDrChFeeDatas.push(memberyf); var amount = memberyf.data.Amount; var ExChangerate = memberyf.data.ExChangerate; }; var jsonChFeeBody = ConvertFeeRecordsToJson(bodyDrChFeeDatas); }; _thisfee = this; Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ waitMsg: '正在保存数据...', url: '/MvcShipping/MsChFee/Save', scope: this, params: { bsno: _thisfee.strBSNO, type: type, chfeebody: jsonChFeeBody }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { if (type == '1') { for (var i = 0; i < this.storeDrChFee.getCount(); i += 1) { var member = this.storeDrChFee.getAt(i); member.set("BsNo", _thisfee.strBSNO); member.commit(); } } else if (type == '2') { for (var i = 0; i < this.storeCrChFee.getCount(); i += 1) { var member = this.storeCrChFee.getAt(i); member.set("BsNo", _thisfee.strBSNO); member.commit(); } } this.onSubmitAuditAllfn(button, event, type); } 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 }); } } }); } else { this.onSubmitAuditAllfn(button, event, type); } }, onSubmitAuditAllfn: function (button, event, type) { var GidStr = ''; var store = null; if (type == 1) { store = this.storeDrChFee; } else if (type == 2) { store = this.storeCrChFee; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } var bodyDrChFeeDatas = []; for (var i = 0; i < store.getCount(); i++) { var rec = store.getAt(i); var feeStatus = rec.data.FeeStatus; var Gid = rec.data.GId; var canDelete = feeStatus == 1 || feeStatus == 6; if (canDelete == false) { } else { bodyDrChFeeDatas.push(rec); GidStr = GidStr + ',' + Gid; } } _thisfee = this; if (GidStr == '') { } else { var jsonChFeeBody = ConvertRecordsToJsonAll(bodyDrChFeeDatas); Ext.Ajax.request({ waitMsg: '正在添加数据...', url: '/Account/Chfee_Audit/SubmitAuditNew', params: { feebody: jsonChFeeBody, optype: _thisfee.stroplb }, 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; } else { if (type == 1) { //_this.storeDrChFee.load({ params: { billno: _this.strBSNO, type: 1, optype: _this.stroplb} }); _thisfee.LoadDrChFee(button, event); } else { //_this.storeCrChFee.load({ params: { billno: _this.strBSNO, type: 2, optype: _this.stroplb} }); _thisfee.LoadCrChFee(button, event); } this.storeChFeeGain.load({ params: { bsno: _thisfee.strBSNO, optype: _thisfee.stroplb} }); this.storeBodySum.load({ params: { bsno: _thisfee.strBSNO, optype: _thisfee.stroplb }, callback: function (r, options, success) { if (success) { _thisfee.setTotalHead(); } } }); if (result.Data != '' && result.Data != null) { Ext.Msg.show({ title: '提示', msg: '已提交审核,' + result.Data, icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK }); } } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); } }, onSubmitAuditBillClick: function (button, event, type) { var GidStr = ''; var allow = this.getAllowOperationDetail(); if (allow == false) { return; } var store = null; if (type == 1) { store = this.storeDrChFee; } else if (type == 2) { store = this.storeCrChFee; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } for (var i = 0; i < this.storeDrChFee.getCount(); i++) { var rec = this.storeDrChFee.getAt(i); var bsno = rec.data.BsNo; if (bsno == '*') { insert = true; } var custname = rec.data.CustomerName; if (custname == '') { Ext.Msg.show({ title: '提示', msg: '客户名称不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var FeeName = rec.data.FeeName; if (FeeName == '') { Ext.Msg.show({ title: '提示', msg: '费用名称不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var Currency = rec.data.Currency; if (Currency == '') { Ext.Msg.show({ title: '提示', msg: '币别不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var ExChangerate = rec.data.ExChangerate; if (ExChangerate == 0) { Ext.Msg.show({ title: '提示', msg: '汇率不能为0!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; } for (var i = 0; i < this.storeCrChFee.getCount(); i++) { var rec = this.storeCrChFee.getAt(i); var bsno = rec.data.BsNo; if (bsno == '*') { insert = true; } var custname = rec.data.CustomerName; if (custname == '') { Ext.Msg.show({ title: '提示', msg: '客户名称不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var FeeName = rec.data.FeeName; if (FeeName == '') { Ext.Msg.show({ title: '提示', msg: '费用名称不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var Currency = rec.data.Currency; if (Currency == '') { Ext.Msg.show({ title: '提示', msg: '币别不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; var ExChangerate = rec.data.ExChangerate; if (ExChangerate == 0) { Ext.Msg.show({ title: '提示', msg: '汇率不能为0!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; }; } var modifyrecords = this.storeDrChFee.getUpdatedRecords(); // 获取修改的行的数据,无法获取幻影数据 var phantoms = this.storeDrChFee.getNewRecords(); //获得幻影行 modifyrecords = modifyrecords.concat(phantoms); //将幻影数据与真实数据合并 var crmodifyrecords = this.storeCrChFee.getUpdatedRecords(); // 获取修改的行的数据,无法获取幻影数据 var crphantoms = this.storeCrChFee.getNewRecords(); //获得幻影行 crmodifyrecords = crmodifyrecords.concat(crphantoms); //将幻影数据与真实数据合并 if (modifyrecords.length != 0 || crmodifyrecords.length != 0) { var bodyDrChFeeDatas = []; var i; for (i = 0; i < this.storeDrChFee.getCount(); i += 1) { var memberyf = this.storeDrChFee.getAt(i); bodyDrChFeeDatas.push(memberyf); var ExChangerate = memberyf.data.ExChangerate; }; for (i = 0; i < this.storeCrChFee.getCount(); i += 1) { var memberyf = this.storeCrChFee.getAt(i); bodyDrChFeeDatas.push(memberyf); var amount = memberyf.data.Amount; var ExChangerate = memberyf.data.ExChangerate; }; var jsonChFeeBody = ConvertFeeRecordsToJson(bodyDrChFeeDatas); _thisfee = this; Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ waitMsg: '正在保存数据...', url: '/MvcShipping/MsChFee/Save', scope: this, params: { bsno: _thisfee.strBSNO, type: type, chfeebody: jsonChFeeBody }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { for (var i = 0; i < this.storeDrChFee.getCount(); i += 1) { var member = this.storeDrChFee.getAt(i); member.set("BsNo", _thisfee.strBSNO); member.commit(); } for (var i = 0; i < this.storeCrChFee.getCount(); i += 1) { var member = this.storeCrChFee.getAt(i); member.set("BsNo", _thisfee.strBSNO); member.commit(); } this.onSubmitAuditBillfn(button, event, type); } 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 }); } } }); } else { this.onSubmitAuditBillfn(button, event, type); } }, onSubmitAuditBillfn: function (button, event, type) { var GidStr = ''; var bodyDrChFeeDatas = []; for (var i = 0; i < this.storeDrChFee.getCount(); i++) { var rec = this.storeDrChFee.getAt(i); var feeStatus = rec.data.FeeStatus; var Gid = rec.data.GId; var canDelete = feeStatus == 1 || feeStatus == 6; if (canDelete == false) { } else { bodyDrChFeeDatas.push(rec); GidStr = GidStr + ',' + Gid; } } for (var i = 0; i < this.storeCrChFee.getCount(); i++) { var rec = this.storeCrChFee.getAt(i); var feeStatus = rec.data.FeeStatus; var Gid = rec.data.GId; var canDelete = feeStatus == 1 || feeStatus == 6; if (canDelete == false) { } else { bodyDrChFeeDatas.push(rec); GidStr = GidStr + ',' + Gid; } } _thisfee = this; if (GidStr == '') { } else { var jsonChFeeBody = ConvertRecordsToJsonAll(bodyDrChFeeDatas); Ext.Ajax.request({ waitMsg: '正在添加数据...', url: '/Account/Chfee_Audit/SubmitAuditBL', params: { feebody: jsonChFeeBody, optype: _thisfee.stroplb }, 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; } else { _thisfee.LoadDrChFee(button, event); _thisfee.LoadCrChFee(button, event); this.storeChFeeGain.load({ params: { bsno: _thisfee.strBSNO, optype: _thisfee.stroplb} }); this.storeBodySum.load({ params: { bsno: _thisfee.strBSNO, optype: _thisfee.stroplb} }); if (result.Data != '' && result.Data != null) { Ext.Msg.show({ title: '提示', msg: '已提交审核,' + result.Data, icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK }); } } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); } }, onCancelAuditNewClick: function (menu, event, type) { var GidStr = ''; var allow = this.getAllowOperationDetail(); if (allow == false) { return; } var store = null; if (type == 1) { store = this.storeDrChFee; } else if (type == 2) { store = this.storeCrChFee; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } var modifyrecords = store.getUpdatedRecords(); // 获取修改的行的数据,无法获取幻影数据 var phantoms = store.getNewRecords(); //获得幻影行 modifyrecords = modifyrecords.concat(phantoms); //将幻影数据与真实数据合并 if (modifyrecords.length != 0) { Ext.Msg.show({ title: '提示', msg: '有未保存的费用,请先保存费用然后再撤销提交!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (type == '1') { var records = this.feeDrGridCheckBoxModel.selected.items; } else if (type == '2') { var records = this.feeCrGridCheckBoxModel.selected.items; }; if (records.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要撤销提交的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var iSuccess = 0; var iFailure = 0; var postCount = 0; var postBillNO = ""; var loadVal = 0; for (var i = 0; i < records.length; i++) { var rec = records[i]; var feeStatus = rec.data.FeeStatus; var Gid = rec.data.GId; var canDelete = feeStatus == 2; if (canDelete == false) { Ext.Msg.show({ title: '提示', msg: '只能费用状态为[提交审核]的费用才能撤销提交审核,请重新选择', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } else { if (GidStr == '') GidStr = Gid; else { GidStr = GidStr + ',' + Gid; } } } _thisfee = this; if (GidStr == '') { } else { Ext.Ajax.request({ waitMsg: '正在添加数据...', url: '/Account/Chfee_Audit/CancelAudit', params: { GidStr: GidStr, optype: _thisfee.stroplb }, 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; } else { if (type == 1) { //_this.storeDrChFee.load({ params: { billno: _this.strBSNO, type: 1, optype: _this.stroplb} }); _thisfee.LoadDrChFee(); } else { //_this.storeCrChFee.load({ params: { billno: _this.strBSNO, type: 2, optype: _this.stroplb} }); _thisfee.LoadCrChFee(); } this.storeChFeeGain.load({ params: { bsno: _thisfee.strBSNO, optype: _thisfee.stroplb} }); this.storeBodySum.load({ params: { bsno: _thisfee.strBSNO, optype: _thisfee.stroplb }, callback: function (r, options, success) { if (success) { _thisfee.setTotalHead(); } } }); } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); } }, onNoIvoiceClick: function (button, event, type) { var GidStr = ''; if (type == '1') { var records = this.feeDrGridCheckBoxModel.selected.items; } else if (type == '2') { var records = this.feeCrGridCheckBoxModel.selected.items; }; if (records.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要禁开发票的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } for (var i = 0; i < records.length; i++) { var rec = records[i]; var feeStatus = rec.data.FeeStatus; var Gid = rec.data.GId; if (GidStr == '') GidStr = Gid; else { GidStr = GidStr + ',' + Gid; } } _this = this; if (GidStr == '') { } else { Ext.Ajax.request({ waitMsg: '正在提交数据...', url: '/Account/Chfee_Audit/NoIvoice', params: { bill: GidStr }, 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; } else { if (type == 1) { _thisfee.LoadDrChFee(); } else { _thisfee.LoadCrChFee(); } } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); } }, onCancelNoIvoiceClick: function (button, event, type) { var GidStr = ''; if (type == '1') { var records = this.feeDrGridCheckBoxModel.selected.items; } else if (type == '2') { var records = this.feeCrGridCheckBoxModel.selected.items; }; if (records.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要解禁开发票的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } // isAll = this.comboxaddDCType.getValue(); for (var i = 0; i < records.length; i++) { var rec = records[i]; var feeStatus = rec.data.FeeStatus; var Gid = rec.data.GId; if (GidStr == '') GidStr = Gid; else { GidStr = GidStr + ',' + Gid; } } _this = this; if (GidStr == '') { } else { Ext.Ajax.request({ waitMsg: '正在提交数据...', url: '/Account/Chfee_Audit/CancelNoIvoice', params: { bill: GidStr }, 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; } else { if (type == 1) { _thisfee.LoadDrChFee(); } else { _thisfee.LoadCrChFee(); } } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); } }, getModifyStatus: function () { var drmodify = this.storeDrChFee.getModifiedRecords(); var crmodify = this.storeCrChFee.getModifiedRecords(); if (drmodify.length != 0 || crmodify.length != 0) { return true } else { for (i = 0; i < this.storeDrChFee.getCount(); i += 1) { var memberyf = this.storeDrChFee.getAt(i); if (memberyf.data.BsNo == "*") return true } for (i = 0; i < this.storeCrChFee.getCount(); i += 1) { var memberyf = this.storeCrChFee.getAt(i); if (memberyf.data.BsNo == "*") return true } return false; } }, getFeeStatus: function () { var feeStatus = this.EditRecord.get('FEESTATUS'); return feeStatus; /* //if (this.EditRecord == null || typeof (this.EditRecord) == 'undefined') { // return ''; //} else { var feeStatus = this.EditRecord.get('FEESTATUS'); if (typeof (this.EditRecord) == 'undefined') { return "0"; } else { return feeStatus; } //} */ }, getBillStatus: function () { // var basicForm = this.formEdit.getForm(); // var billStatus = basicForm.findField('BillStatus').value; // return billStatus; }, getCustName: function () { // var custName = this.formEdit.getForm().findField('RefCustomerName'); //return custName.getValue(); }, setSaveBtnStatus: function (enable) { var bsbtnSave = Ext.getCmp('pcbtnSave'); var bsbtnSaveAndClose = Ext.getCmp('pcbtnSaveAndClose'); var bsbtnSaveAndNew = Ext.getCmp('pcbtnSaveAndNew'); var pcbtnNew = Ext.getCmp('pcbtnNew'); if (enable) { bsbtnSave.enable(); bsbtnSaveAndClose.enable(); bsbtnSaveAndNew.enable(); pcbtnNew.enable(); } else { //bsbtnSave.disable(); //bsbtnSaveAndClose.disable(); bsbtnSaveAndNew.disable(); pcbtnNew.disable(); } }, onPrintSelectDetailClick: function (button, event, type) { var MBLNO = ""; var USDEXRATE = 0; var FFrecords = DsStoreQueryBy(this.StoreDateCurr, 'CURR', 'USD'); if (FFrecords.getCount() > 0) { var ffdata = FFrecords.getAt(0).data; USDEXRATE = ffdata.DEFRATE; } else { var DFrecords = DsStoreQueryBy(this.StoreCurr, 'CURR', 'USD'); if (DFrecords.getCount() > 0) { var dfdata = DFrecords.getAt(0).data; USDEXRATE = dfdata.DEFRATE; } } var selectedRecords = []; var storeadd = null; if (type == 1) { selectedRecords = this.feeDrGridCheckBoxModel.selected.items; MBLNO = this.strMBLNO + "应收费用"; } else if (type == 2) { selectedRecords = this.feeCrGridCheckBoxModel.selected.items; MBLNO = this.strMBLNO + "应付费用"; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } if (selectedRecords.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要打印的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (this.stroplb == 'op_Seae') { var printType = ''; if (type == 1) { printType = 'SEAEDRFEE'; } else { printType = 'SEAECRFEE'; }; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_seae WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_Apply') { var printType = ''; if (type == 1) { printType = 'APPLYDRFEE'; } else { printType = 'APPLYCRFEE'; }; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_apply WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_Seai') { var printType = ''; if (type == 1) { printType = 'SEAIDRFEE'; } else { printType = 'SEAICRFEE'; }; var sql1 = /*"SET LANGUAGE 'us_english' " + */" select * from op_seai WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_Bulk') { var printType = ''; if (type == 1) { printType = 'BULKDRFEE'; } else { printType = 'BULKCRFEE'; }; var sql1 = /*"SET LANGUAGE 'us_english' " + */" select * from op_bulk WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_other') { var printType = ''; if (type == 1) { printType = 'OTHERDRFEE'; } else { printType = 'OTHERCRFEE'; }; var sql1 = /*"SET LANGUAGE 'us_english' " + */" select * from op_other WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_railway') { var printType = ''; if (type == 1) { printType = 'RAILWAYDRFEE'; } else { printType = 'RAILWAYCRFEE'; }; var sql1 = /*"SET LANGUAGE 'us_english' " + */" select * from op_railway WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_Aire') { var printType = ''; if (type == 1) { printType = 'AIREDRFEE'; } else { printType = 'AIRECRFEE'; }; var sql1 = /*"SET LANGUAGE 'us_english' " + */" select * from op_aire WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_Airi') { var printType = ''; if (type == 1) { printType = 'AIRIDRFEE'; } else { printType = 'AIRICRFEE'; }; var sql1 = /*"SET LANGUAGE 'us_english' " + */" select * from op_airi WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'OpCtnBsCard') { var printType = ''; if (type == 1) { printType = 'CTNBSCARDDRFEE'; } else { printType = 'CTNBSCARDCRFEE'; }; var sql1 = /*"SET LANGUAGE 'us_english' " + */" select * from op_ctnbscard WHERE GID= '" + this.strBSNO + "'"; }; var feeGidSql = ''; for (var i = 0; i < selectedRecords.length; i++) { var record = selectedRecords[i]; var feeGId = "''" + record.get('GId') + "''"; if (feeGidSql == '') { feeGidSql = feeGId; } else { feeGidSql = feeGidSql + "," + feeGId; } }; var sql2 = " declare @sql varchar(8000) "; sql2 = sql2 + " set @sql = 'select bsno '"; sql2 = sql2 + " select @sql = @sql + ' , sum(case feename when ''' + feename + ''' then amount else 0 end) [' + feename + ']' "; sql2 = sql2 + " from (select name as feename from code_fee where name in "; sql2 = sql2 + " ('掏箱费','港杂费','关税','增值税','监管费','滞报金','保证金','滞纳金', "; sql2 = sql2 + " '二次换单费','换单费','报检费','仓储费','分拨费','港杂费','港建费','港口包干费', "; sql2 = sql2 + " '验货费','熏蒸费','还柜吊柜费','转栈费','海运费','空运费','捆绑费', "; sql2 = sql2 + " '铁路运费','公路运费','短途运输费','木检运费','搬倒费','装箱费','修箱费', "; sql2 = sql2 + " '滞箱费','出入库费','拆箱费','吊箱费',"; sql2 = sql2 + " '国际运费','报关费','保险费','包干费','THC','运费','商检验货费','集装箱费'"; sql2 = sql2 + " )) as a set @sql = @sql + ' from ch_fee where bsno=''" + this.strBSNO + "'' ' "; if (feeGidSql != '') { sql2 = sql2 + " set @sql = @sql + ' and Gid in (" + feeGidSql + ") '"; } sql2 = sql2 + "set @sql = @sql +' group by bsno ' exec(@sql) "; var feeGidSql = ''; for (var i = 0; i < selectedRecords.length; i++) { var record = selectedRecords[i]; var feeGId = "'" + record.get('GId') + "'"; if (feeGidSql == '') { feeGidSql = feeGId; } else { feeGidSql = feeGidSql + "," + feeGId; } }; var sql3 = ""; if (feeGidSql != '') { sql3 = sql3 + " Select c.*,(select showname from [user] where gid=c.enteroperator) as 录入人,(select DESCRIPTION from info_client where SHORTNAME=c.CUSTOMERNAME) CUSTFULLNAME from ch_fee c where c.Gid in (" + feeGidSql + ") order by sort,LineNum "; } var sql4 = " Select ic.*,icc.showname,icc.addr from info_client ic "; sql4 = sql4 + " left join info_client_contact icc on icc.linkid=ic.gid where shortname=(select customername from v_op_bill where bsno='" + this.strBSNO + "')"; var sql5 = ""; var sql6 = " SELECT " + USDEXRATE + " AS USDEXRATE FROM [USER]"; PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6, MBLNO); }, onPrintCustDetailClick: function (button, event, type) { var MBLNO = ""; var USDEXRATE = 0; var FFrecords = DsStoreQueryBy(this.StoreDateCurr, 'CURR', 'USD'); if (FFrecords.getCount() > 0) { var ffdata = FFrecords.getAt(0).data; USDEXRATE = ffdata.DEFRATE; } else { var DFrecords = DsStoreQueryBy(this.StoreCurr, 'CURR', 'USD'); if (DFrecords.getCount() > 0) { var dfdata = DFrecords.getAt(0).data; USDEXRATE = dfdata.DEFRATE; } } var selectedRecords = []; var storeadd = null; if (type == 1) { selectedRecords = this.feeDrGridCheckBoxModel.selected.items; MBLNO = this.strMBLNO + "应收费用"; } else if (type == 2) { selectedRecords = this.feeCrGridCheckBoxModel.selected.items; MBLNO = this.strMBLNO + "应付费用"; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } if (selectedRecords.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要打印的费用!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (this.stroplb == 'op_Seae') { var printType = ''; if (type == 1) { printType = 'SEAEDRFEE'; } else { printType = 'SEAECRFEE'; }; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_seae WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_Apply') { var printType = ''; if (type == 1) { printType = 'APPLYDRFEE'; } else { printType = 'APPLYCRFEE'; }; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_apply WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_Seai') { var printType = ''; if (type == 1) { printType = 'SEAIDRFEE'; } else { printType = 'SEAICRFEE'; }; var sql1 = /*"SET LANGUAGE 'us_english' " + */" select * from op_seai WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_Bulk') { var printType = ''; if (type == 1) { printType = 'BULKDRFEE'; } else { printType = 'BULKCRFEE'; }; var sql1 = /*"SET LANGUAGE 'us_english' " + */" select * from op_bulk WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_other') { var printType = ''; if (type == 1) { printType = 'OTHERDRFEE'; } else { printType = 'OTHERCRFEE'; }; var sql1 = /*"SET LANGUAGE 'us_english' " + */" select * from op_other WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_railway') { var printType = ''; if (type == 1) { printType = 'RAILWAYDRFEE'; } else { printType = 'RAILWAYCRFEE'; }; var sql1 = /*"SET LANGUAGE 'us_english' " + */" select * from op_railway WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_Aire') { var printType = ''; if (type == 1) { printType = 'AIREDRFEE'; } else { printType = 'AIRECRFEE'; }; var sql1 = /*"SET LANGUAGE 'us_english' " + */" select * from op_aire WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_Airi') { var printType = ''; if (type == 1) { printType = 'AIRIDRFEE'; } else { printType = 'AIRICRFEE'; }; var sql1 = /*"SET LANGUAGE 'us_english' " + */" select * from op_airi WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'OpCtnBsCard') { var printType = ''; if (type == 1) { printType = 'CTNBSCARDDRFEE'; } else { printType = 'CTNBSCARDCRFEE'; }; var sql1 = /*"SET LANGUAGE 'us_english' " + */" select * from op_ctnbscard WHERE GID= '" + this.strBSNO + "'"; }; var feeGidSql = ''; for (var i = 0; i < selectedRecords.length; i++) { var record = selectedRecords[i]; var custname = record.get('CustomerName'); var FeeType = record.get('FeeType'); var BsNo = record.get('BsNo'); }; var sql2 = " declare @sql varchar(8000) "; sql2 = sql2 + " set @sql = 'select bsno '"; sql2 = sql2 + " select @sql = @sql + ' , sum(case feename when ''' + feename + ''' then amount else 0 end) [' + feename + ']' "; sql2 = sql2 + " from (select name as feename from code_fee where name in "; sql2 = sql2 + " ('掏箱费','港杂费','关税','增值税','监管费','滞报金','保证金','滞纳金', "; sql2 = sql2 + " '二次换单费','换单费','报检费','仓储费','分拨费','港杂费','港建费','港口包干费', "; sql2 = sql2 + " '验货费','熏蒸费','还柜吊柜费','转栈费','海运费','空运费','捆绑费', "; sql2 = sql2 + " '铁路运费','公路运费','短途运输费','木检运费','搬倒费','装箱费','修箱费', "; sql2 = sql2 + " '滞箱费','出入库费','拆箱费','吊箱费',"; sql2 = sql2 + " '国际运费','报关费','保险费','包干费','THC','运费','商检验货费','集装箱费'"; sql2 = sql2 + " )) as a set @sql = @sql + ' from ch_fee where bsno=''" + this.strBSNO + "'' ' "; if (custname != '') { sql2 = sql2 + " set @sql = @sql + ' and CustomerName=''" + custname + "'' and Bsno=''" + BsNo + "'' and feetype=" + FeeType + " '"; } sql2 = sql2 + "set @sql = @sql +' group by bsno ' exec(@sql) "; var sql3 = ""; sql3 = sql3 + " Select c.*,(select showname from [user] where gid=c.enteroperator) as 录入人,(select DESCRIPTION from info_client where SHORTNAME=c.CUSTOMERNAME) CUSTFULLNAME from ch_fee c where c.CustomerName='" + custname + "' and c.BsNo='" + BsNo + "' and c.feetype=" + FeeType + " order by sort,LineNum "; var sql4 = " Select ic.*,icc.showname,icc.addr from info_client ic "; sql4 = sql4 + " left join info_client_contact icc on icc.linkid=ic.gid where shortname=(select customername from v_op_bill where bsno='" + this.strBSNO + "')"; var sql5 = ""; var sql6 = " SELECT " + USDEXRATE + " AS USDEXRATE FROM [USER]"; PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6, MBLNO); }, onPrintAllDetailClick: function (button, event, type) { var MBLNO = ""; if (type == 1) { MBLNO = this.strMBLNO + "应收费用"; } else if (type == 2) { MBLNO = this.strMBLNO + "应付费用"; } if (this.stroplb == 'op_Seae') { var printType = ''; if (type == 1) { printType = 'SEAEDRFEEALL'; } else { printType = 'SEAECRFEEALL'; }; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_seae WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_Apply') { var printType = ''; if (type == 1) { printType = 'APPLYDRFEEALL'; } else { printType = 'APPLYCRFEEALL'; }; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_apply WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_Seai') { var printType = ''; if (type == 1) { printType = 'SEAIDRFEEALL'; } else { printType = 'SEAICRFEEALL'; }; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_seai WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_Bulk') { var printType = ''; if (type == 1) { printType = 'BULKDRFEEALL'; } else { printType = 'BULKCRFEEALL'; }; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_bulk WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_other') { var printType = ''; if (type == 1) { printType = 'OTHERDRFEEALL'; } else { printType = 'OTHERCRFEEALL'; }; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_other WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_railway') { var printType = ''; if (type == 1) { printType = 'RAILWAYDRFEEALL'; } else { printType = 'RAILWAYCRFEEALL'; }; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_railway WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_Aire') { var printType = ''; if (type == 1) { printType = 'AIREDRFEEALL'; } else { printType = 'AIRECRFEEALL'; }; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_aire WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'op_Airi') { var printType = ''; if (type == 1) { printType = 'AIRIDRFEEALL'; } else { printType = 'AIRICRFEEALL'; }; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_airi WHERE BsNo = '" + this.strBSNO + "'"; } else if (this.stroplb == 'OpCtnBsCard') { var printType = ''; if (type == 1) { printType = 'CTNBSCARDDRFEEALL'; } else { printType = 'CTNBSCARDCRFEEALL'; }; var sql1 = /*"SET LANGUAGE 'us_english' " + */" select * from op_ctnbscard WHERE GID= '" + this.strBSNO + "'"; }; var sql2 = "SET LANGUAGE 'us_english' SELECT *,(select DESCRIPTION from info_client where SHORTNAME=c.CUSTOMERNAME) CUSTFULLNAME from ch_fee c where BsNo='" + this.strBSNO + "' and FEETYPE=" + type + " order by sort,LineNum "; var sql3 = ""; var sql4 = ""; var sql5 = ""; var sql6 = ""; PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6, MBLNO); }, onPrintGainClick: function (button, event, type) { var MBLNO = this.strMBLNO; _this = this; Ext.Msg.wait('正在组织数据, 请稍侯..'); Ext.Ajax.request({ waitMsg: '正在组织数据...', url: '/MvcShipping/MsChFee/GetGainPrint', scope: this, params: { bsno: _thisfee.strBSNO, oplb: _thisfee.stroplb }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { if (_this.stroplb == 'op_Seae') { var printType = 'SEAEGAIN'; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_seae WHERE BSNO = '" + _this.strBSNO + "'"; } else if (_this.stroplb == 'op_Apply') { var printType = 'APPLYGAIN'; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_apply WHERE BSNO = '" + _this.strBSNO + "'"; } else if (_this.stroplb == 'op_Seai') { var printType = 'SEAIGAIN'; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_seai WHERE BSNO = '" + _this.strBSNO + "'"; } else if (_this.stroplb == 'op_Bulk') { var printType = 'BULKGAIN'; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_bulk WHERE BSNO = '" + _this.strBSNO + "'"; } else if (_this.stroplb == 'op_other') { var printType = 'OTHERGAIN'; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_other WHERE BSNO = '" + _this.strBSNO + "'"; } else if (_this.stroplb == 'op_railway') { var printType = 'RAILWAYGAIN'; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_railway WHERE BSNO = '" + _this.strBSNO + "'"; } else if (_this.stroplb == 'op_Aire') { var printType = 'AIREGAIN'; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_aire WHERE BSNO = '" + _this.strBSNO + "'"; } else if (_this.stroplb == 'op_Airi') { var printType = 'AIRIGAIN'; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_airi WHERE BSNO = '" + _this.strBSNO + "'"; } else if (_this.stroplb == 'OpCtnBsCard') { var printType = 'CTNBSCARDGAIN'; var sql1 = "SET LANGUAGE 'us_english' " + " select * from op_ctnbscard WHERE GID= '" + _this.strBSNO + "'"; }; // sql3 = sql3 + " Select c.*,(select showname from [user] where gid=c.enteroperator) as 录入人 from ch_fee c where c.Gid in (" + feeGidSql + ") order by sort,LineNum "; var sql2 = "SET LANGUAGE 'us_english' Select c.*,(select showname from [user] where gid=c.enteroperator) as 录入人,(select DESCRIPTION from info_client where SHORTNAME=c.CUSTOMERNAME) CUSTFULLNAME from ch_fee c where c.BSNO='" + _this.strBSNO + "' and c.FEETYPE=1 order by sort,LineNum "; var sql3 = "SET LANGUAGE 'us_english' Select c.*,(select showname from [user] where gid=c.enteroperator) as 录入人,(select DESCRIPTION from info_client where SHORTNAME=c.CUSTOMERNAME) CUSTFULLNAME from ch_fee c where c.BSNO='" + _this.strBSNO + "' and c.FEETYPE=2 order by sort,LineNum "; //全部费用利润 或 海运费利润 或 仓储利润 var sql4 = "SELECT BSNO" + ",SUM(RMBDR) as RMBDR,SUM(RMBCR) as RMBCR,SUM(USDDR) as USDDR,SUM(USDCR) as USDCR" + ",SUM(RMBDR+USDTORMBDR) as DRTTL" + ",SUM(RMBCR+USDTORMBCR) as CRTTL" + ",(SUM(RMBDR)-SUM(RMBCR)) AS RMBPROFIT" + ",(SUM(USDDR)-SUM(USDCR)) AS USDPROFIT" + ",SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR) as TTLPROFIT" //+ ",(CAST(CAST(CASE WHEN SUM(RMBCR+USDTORMBCR) = 0 THEN 100 ELSE (ROUND((case when SUM(RMBDR+USDTORMBDR)=0 then 0 else (SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR))/SUM(RMBDR+USDTORMBDR) END),4))*100 END as decimal(18,2)) as varchar(20))+'%') AS PROFITRATE" + ",(CAST(CAST(CASE WHEN SUM(RMBCR+USDTORMBCR) = 0 THEN 100 ELSE (ROUND(((SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR))/SUM(RMBCR+USDTORMBCR)),4))*100 END as decimal(18,2)) as varchar(20))+'%') AS PROFITRATE" + ",'" + SHOWNAME + "' as CREATEUSER,GETDATE() as CREATETIME " + " FROM (" + "SELECT BSNO,CURRENCY,FEETYPE" + ",SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as RMBDR" + ",SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as RMBCR" + ",SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as USDDR" + ",SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as USDCR" + ",SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT*EXCHANGERATE ELSE 0 END) as USDTORMBDR" + ",SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT*EXCHANGERATE ELSE 0 END) as USDTORMBCR " + " FROM ch_fee WHERE 1=1 and BSNO='" + _this.strBSNO + "'" + " GROUP BY BSNO,CURRENCY,EXCHANGERATE,FEETYPE " + " ) AS C GROUP BY BSNO "; var sql5 = "exec GetPrintData '" + _this.strBSNO + "'"; var sql6 = ""; PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6, MBLNO); } 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 }); } } }); }, LoadDrChFee: function (button, event) { if (this.DR_condition != "") { this.LoadDrChFee2(this.DR_condition); } else { this.storeDrChFee.load({ params: { billno: this.strBSNO, type: 1, optype: this.stroplb } , callback: function (r, options, success) { if (success) { if (r.length > 0) { // _thisfee.storeDrChFee.getSelectionModel().select(0); } else { } } }, scope: this }); } }, LoadCrChFee: function (button, event) { /*var fieldcomm = []; var valuecomm = []; if (this.WMSOUTBSNO != "") { fieldcomm.push("WMSOUTBSNO"); valuecomm.push(this.WMSOUTBSNO); } var _thisfee = this; if (fieldcomm.length == 0) {*/ if (this.CR_condition != "") { this.LoadCrChFee2(this.CR_condition); } else { _thisfee.storeCrChFee.load({ params: { billno: this.strBSNO, type: 2, optype: this.stroplb }, callback: function (r, options, success) { if (r.length > 0) { // _thisfee.storeCrChFee.getSelectionModel().select(0); } else { } }, scope: this }); } /* } else { _thisfee.storeCrChFee.load({ params: { billno: this.strBSNO, type: 2, optype: this.stroplb, Fields: fieldcomm, Values: valuecomm }, callback: function (r, options, success) { if (r.length > 0) { // _thisfee.storeCrChFee.getSelectionModel().select(0); } else { } }, scope: this }); //}*/ }, setBtnStatusDr: function (enable) { var btnFeeAddDr = Ext.getCmp('btnFeeAddDr'); var btnFeeSaveDr = Ext.getCmp('btnFeeSaveDr'); var btnFeeDelDr = Ext.getCmp('btnFeeDelDr'); var btnFeeCancelDr = Ext.getCmp('btnFeeCancelDr'); var btnFeeAuditDr = Ext.getCmp('btnFeeAuditDr'); var btnFeeShenDr = Ext.getCmp('btnFeeShenDr'); var btnFeeShenDelDr = Ext.getCmp('btnFeeShenDelDr'); var btnFeeShenCancelDr = Ext.getCmp('btnFeeShenCancelDr'); var btnFeeImpAddDr = Ext.getCmp('btnFeeImpAddDr'); if (enable) { btnFeeAddDr.enable(); btnFeeSaveDr.enable(); btnFeeDelDr.enable(); btnFeeCancelDr.enable(); btnFeeAuditDr.enable(); btnFeeShenDr.enable(); btnFeeShenDelDr.enable(); btnFeeShenCancelDr.enable(); btnFeeImpAddDr.enable(); } else { btnFeeAddDr.disable(); btnFeeSaveDr.disable(); btnFeeDelDr.disable(); btnFeeCancelDr.disable(); btnFeeAuditDr.disable(); btnFeeShenDr.disable(); btnFeeShenDelDr.disable(); btnFeeShenCancelDr.disable(); btnFeeImpAddDr.disable(); } }, setBtnStatusCr: function (enable) { var btnFeeAddDr = Ext.getCmp('btnFeeAddCr'); var btnFeeSaveDr = Ext.getCmp('btnFeeSaveCr'); var btnFeeDelDr = Ext.getCmp('btnFeeDelCr'); var btnFeeCancelDr = Ext.getCmp('btnFeeCancelCr'); var btnFeeAuditDr = Ext.getCmp('btnFeeAuditCr'); var btnFeeShenDr = Ext.getCmp('btnFeeShenCr'); var btnFeeShenDelDr = Ext.getCmp('btnFeeShenDelCr'); var btnFeeShenCancelDr = Ext.getCmp('btnFeeShenCancelCr'); var btnFeeImpAddDr = Ext.getCmp('btnFeeImpAddCr'); if (enable) { btnFeeAddDr.enable(); btnFeeSaveDr.enable(); btnFeeDelDr.enable(); btnFeeCancelDr.enable(); btnFeeAuditDr.enable(); btnFeeShenDr.enable(); btnFeeShenDelDr.enable(); btnFeeShenCancelDr.enable(); btnFeeImpAddDr.enable(); } else { btnFeeAddDr.disable(); btnFeeSaveDr.disable(); btnFeeDelDr.disable(); btnFeeCancelDr.disable(); btnFeeAuditDr.disable(); btnFeeShenDr.disable(); btnFeeShenDelDr.disable(); btnFeeShenCancelDr.disable(); btnFeeImpAddDr.disable(); } }, LoadDrChFee2: function (condition) { this.DR_condition = condition; this.storeDrChFee.load({ params: { billno: this.strBSNO, type: 1, optype: this.stroplb, condition: condition } , callback: function (r, options, success) { if (success) { if (r.length > 0) { // _thisfee.storeDrChFee.getSelectionModel().select(0); } else { } } }, scope: this }); }, LoadCrChFee2: function (condition) { this.CR_condition = condition; _thisfee.storeCrChFee.load({ params: { billno: this.strBSNO, type: 2, optype: this.stroplb, condition: condition }, callback: function (r, options, success) { if (r.length > 0) { // _thisfee.storeCrChFee.getSelectionModel().select(0); } else { } }, scope: this }); } });