Ext.namespace('Shipping'); Shipping.PiliangAireFee = function (config) { Ext.applyIf(this, config); this.initUIComponents(); window.Shipping.PiliangAireFee.superclass.constructor.call(this); }; Ext.extend(Shipping.PiliangAireFee, Ext.Panel, { ParentWin: null, OpStatus: 'add', StoreList: null, EditRecord: null, region: 'north', BsNo: '', feeType:null, StoreFee: null, StoreFeeUnit: null, StoreFeeCust:null, initUIComponents: function () { this.formHead = Ext.widget('form', { frame: true, region: 'center', bodyPadding: 5, fieldDefaults: { margins: '2 2 2 2', labelAlign: 'right', flex: 1, labelWidth: 70, msgTarget: 'qtip' }, items: [ { xtype: 'fieldset', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [ { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '委托编号', readOnly: true, name: 'CUSTNO' }, { fieldLabel: '主提单号', readOnly: true, name: 'MBLNO' }, { fieldLabel: '付费方式', readOnly: true, name: 'BLFRT' }, { fieldLabel: '其他付费方式', labelWidth: 80, readOnly: true, name: 'OTFRT' }, { fieldLabel: '发票号', //'发票号', name: 'INVNO' }, { fieldLabel: '订舱代理', //'发票号', name: 'FORWARDER' } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '揽货人', readOnly: true, name: 'SALE' }, { fieldLabel: '委托单位', readOnly: true, name: 'CUSTOMERNAME' }, { fieldLabel: '目的港', readOnly: true, name: 'PORTDISCHARGE' }, { fieldLabel: '航班', readOnly: true, name: 'VESSEL' }, { fieldLabel: '商检单号', name: 'INSPECTIONNO' }, { fieldLabel: '操作员', name: 'OP' } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '件数', name: 'PKGS' }, { fieldLabel: '重量', name: 'KGS' }, { fieldLabel: '尺码', name: 'CBM' }, { fieldLabel: '计费重量', name: 'FEEKGS' }, { fieldLabel: '航线', name: 'LANE' }, { fieldLabel: '航班日期', name: 'ETD' } ] } ] }] }); //end this.formEdit //#region 按钮Toolbar this.panelBtn = new Ext.Panel({ region: "north", tbar: [{ id: 'btnEPrev', text: "上一票", // iconCls: "btnsave", handler: function (button, event) { this.PrevRecord(); }, scope: this }, { id: 'btnENext', text: "下一票", // iconCls: "btnsave", handler: function (button, event) { this.NextRecord(); }, scope: this }] }); //end 按钮Toolbar //#endregion //客户加载_委托单位 this.storeCustCode = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefListController' } }); // this.storeCustCode.load({ params: { condition: "ISCONTROLLER='1'"} }); // this.storeCustCode.loadData(mainWin.GetPubStore("OPSEAE_CUST_ISCONTROLLER").data.items); //委托单位 _this = this; this.comboxCustCode = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '委托单位', //'委托单位', store: this.storeCustCode, queryMode: 'remote', matchFieldWidth: false, minChars: 1, queryParam: 'CODENAME', name: 'CUSTOMERNAME', valueField: 'CustName', displayField: 'CodeAndName', enableKeyEvents: true, listeners: { keyup: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick(); } } //, //'beforequery': function (e) { // return FilterCombox(e,2);//在beforequery使用此方法 //} , specialkey: function (field, e) { //if (e.getKey() == e.ENTER) { // e.keyCode = 9; //} if (e.keyCode == 9) { if (field.value == null) { _rec = _this.storeCustCode.getAt(0); _this.formSearch.getForm().findField('CUSTOMERNAME').setValue(_rec.data.CustName); } } } } }); this.formSearch = Ext.widget('form', { frame: true, region: 'north', height:45, 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: 'MblNo', enableKeyEvents: true, listeners: { specialkey: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick(); } } } }, this.comboxCustCode, { fieldLabel: '航班日期', format: 'Y-m-d', xtype: 'datefield', name: 'ETDbgn', enableKeyEvents: true, listeners: { specialkey: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick(); } } } }, { fieldLabel: '至', format: 'Y-m-d', xtype: 'datefield', name: 'ETDend', enableKeyEvents: true, listeners: { specialkey: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick(); } } } }, { xtype: 'button', width: 90, text: "执行查询", iconCls: "btnrefresh", handler: function (button, event) { this.onRefreshClick(button, event); }, scope: this } ] }] }] }); this.storeList = Ext.create('Ext.data.Store', { pageSize: this.PageSize, model: 'MsOpAireModel', remoteSort: true, proxy: { type: 'ajax', url: '/MvcShipping/MsOpAire/GetDataList', reader: { id: 'GId', root: 'data', totalProperty: 'totalCount' } } }); this.panelTop = new Ext.Panel({ layout: "border", region: "north", height: 180, id: "BillHeadAire", items: [this.panelBtn, this.formSearch,this.formHead] }); this.panelFee = new Shipping.FeeEditGrid({ region: 'center', layout: 'border' }); this.panelFee.stroplb = 'op_Aire'; this.panelFee.StoreCustType.add({ "SCUSTTYPE": "WTDW-委托单位", "CUSTTYPE": "委托单位", "CUSTNAME": "CUSTOMERNAME" }); this.panelFee.StoreCustType.add({ "SCUSTTYPE": "HKGS-航空公司", "CUSTTYPE": "航空公司", "CUSTNAME": "AIRLINES" }); this.panelFee.StoreCustType.add({ "SCUSTTYPE": "DCDL-订舱代理", "CUSTTYPE": "订舱代理", "CUSTNAME": "FORWARDER" }); this.panelFee.StoreCustType.add({ "SCUSTTYPE": "BGH-报关行", "CUSTTYPE": "报关行", "CUSTNAME": "CUSTOMSER" }); this.panelFee.StoreCustType.add({ "SCUSTTYPE": "CD-车队", "CUSTTYPE": "车队", "CUSTNAME": "TRUCKER" }); this.panelFee.StoreCustType.add({ "SCUSTTYPE": "FHR-发货人", "CUSTTYPE": "发货人", "CUSTNAME": "SHIPPERID" }); this.panelFee.StoreCustType.add({ "SCUSTTYPE": "SHR-收货人", "CUSTTYPE": "收货人", "CUSTNAME": "CONSIGNEEID" }); this.panelFee.StoreCustType.add({ "SCUSTTYPE": "TZR-通知人", "CUSTTYPE": "通知人", "CUSTNAME": "NOTIFYPARTYID" }); this.panelFee.StoreCustType.add({ "SCUSTTYPE": "DL-代理", "CUSTTYPE": "代理", "CUSTNAME": "AGENTID" }); this.panelFee.StoreDrOpRange.load({ params: { optype: "modAireRecvFeeManagement"} }); this.panelFee.StoreCrOpRange.load({ params: { optype: "modAirePayFeeManagement"} }); this.panelFee.storeFeeNameRef.load({ params: { condition: "ISAIR='1' "} }); Ext.apply(this, { items: [this.panelTop, this.panelFee] }); parentWin = window.parent.opener; this.InitData(); }, //#region 加载事件 InitData: function () { this.opStatus = 'add'; var condition = ''; _this = this; if (parentWin) { var ret = parentWin.OprationSwap(); this.opStatus = ret[0]; this.StoreList = ret[1]; this.EditRecord = ret[2]; } this.BsNo = this.EditRecord.get('BSNO'); this.LoadData(); }, //end InitData LoadData: function () { this.formHead.getForm().loadRecord(this.EditRecord); this.panelFee.EditRecord = this.EditRecord; this.panelFee.strBSNO = this.BsNo; this.panelFee.strPBSNO = this.BsNo; this.panelFee.StoreDateCurr.load({ params: { optype: "op_Aire", bsno: this.BsNo} }); this.panelFee.StoreUnit.load({ params: { bsno: this.BsNo, bstype: "op_Aire"} }); this.panelFee.storeDrChFee.load({ params: { billno: this.BsNo, type: 1, optype: "op_Aire"} }); this.panelFee.storeCrChFee.load({ params: { billno: this.BsNo, type: 2, optype: "op_Aire"} }); this.panelFee.storeBodySum.load({ params: { bsno: this.BsNo} }); this.panelFee.storeChFeeGain.load({ params: { bsno: this.BsNo} }); this.panelFee.storeBodyList_GuDingFeeWeiHu.load({ params: { condition: "CUSTOMERNAME='" + this.EditRecord.get('CUSTOMERNAME') + "'" } }); }, // end LoadDate //#region 打印 Print: function () { var basicForm = this.formHead.getForm(); var billNo = basicForm.findField('BSNO').value; if (billNo == '*' || billNo == '') { Ext.Msg.show({ title: '错误', msg: '单据还没有保存,请保存后再打印', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } var printType = 'MSOPAIRE'; var sql1 = "SET LANGUAGE 'us_english' SELECT * FROM op_aire WHERE BSNO = '" + billNo + "'"; var sql2 = ""; var sql3 = ""; var sql4 = ""; var sql5 = ""; var sql6 = ""; PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6); }, //#endregion PrevRecord: function () { var j = this.StoreList.indexOf(this.EditRecord); if (j == 0) { Ext.Msg.show({ title: '警告', msg: '已是最前一票', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } if (j == this.StoreList.count) { Ext.Msg.show({ title: '警告', msg: '已是最后一票', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } j = j - 1; this.EditRecord = this.StoreList.getAt(j); this.BsNo = this.EditRecord.get('BSNO'); this.LoadData(); }, NextRecord: function () { var j = this.StoreList.indexOf(this.EditRecord); if (j == (this.StoreList.data.length - 1)) { Ext.Msg.show({ title: '警告', msg: '已是最后一票', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } j = j + 1; this.EditRecord = this.StoreList.getAt(j); this.BsNo = this.EditRecord.get('BSNO'); this.LoadData(); }, onRefreshClick: function (button, event) { var sql = this.getCondition(); this.storeList.load({ params: { start: 0, limit: this.PageSize, sort: '', condition: sql }, callback: function (r, options, success) { if (success) { if (this.storeList.getCount() > 0) { this.EditRecord = this.storeList.getAt(0); this.BsNo = this.EditRecord.get('BSNO'); this.LoadData(); } else { } } }, waitMsg: "正在查询数据...", scope: this }); }, getCondition: function () { var form = this.formSearch.getForm(); if (!form.isValid()) { Ext.Msg.alert('提示', '查询条件赋值错误,请检查。'); return ''; } var sql = ''; //#region formSearch 查询面板 //编号包括(主提单号) var MblNo = form.findField('MblNo').getValue(); sql = sql + getAndConSql(sql, MblNo, "(isnull(b.MblNo,'')+' '+isnull(b.CONTRACTNO,'')+' '+isnull(b.CUSTNO,'')+' '+isnull(b.HBLNO,'')+' '+isnull(b.ORDERNO,'') like '%" + MblNo + "%')"); //客户名称 var CUSTOMERNAME = form.findField('CUSTOMERNAME').getValue(); sql = sql + getAndConSql(sql, CUSTOMERNAME, "B.CUSTOMERNAME='" + CUSTOMERNAME + "'"); //到港日期 var ETDbgn = form.findField('ETDbgn').getRawValue(); sql = sql + getAndConSql(sql, ETDbgn, "B.ETD >='" + ETDbgn + "'"); var ETDend = form.findField('ETDend').getRawValue(); sql = sql + getAndConSql(sql, ETDend, "B.ETD <='" + ETDend + "'"); return sql; }, getModifyStatus: function () { return this.panelFee.getModifyStatus(); }, feeType: function () { return this.panelFee.feeType; }, StoreFee: function () { return this.panelFee.StoreFee; }, StoreFeeUnit: function () { return this.panelFee.StoreFeeUnit; }, StoreFeeCust: function () { return this.panelFee.StoreFeeCust; } });