Ext.namespace('Shipping'); Shipping.MsOpFeeView= function (config) { Ext.applyIf(this, config); this.initUIComponents(); window.Shipping.MsOpFeeView.superclass.constructor.call(this); }; Ext.extend(Shipping.MsOpFeeView, Ext.Panel, { ParentWin: null, OpStatus: 'add', StoreList: null, editRecord: null, region: 'north', bsno: '', AccDate: null, IsAccDate: '', initUIComponents: function () { //枚举参照相关 //编辑form this.storebill = Ext.create('Ext.data.Store', { model: 'MsOpBill', remoteSort: false, proxy: { type: 'ajax', url: '/MvcShipping/MsOpBill/GetBLData', reader: { id: 'GId', root: 'data', totalProperty: 'totalCount' } } }); this.bsno = getUrlParam('bsno'); this.StoreCargoid = Ext.create('Ext.data.Store', { fields: ['ID', 'NAME'] }); this.StoreCargoid.add({ "ID": "S", "NAME": "S普通货" }); this.StoreCargoid.add({ "ID": "R", "NAME": "R冻柜" }); this.StoreCargoid.add({ "ID": "D", "NAME": "D危险品" }); this.StoreCargoid.add({ "ID": "O", "NAME": "O超限箱" }); this.comboxCargoid = Ext.create('DsExt.ux.RefTableCombox', { store: this.StoreCargoid, fieldLabel: "货物标示", forceSelection: true, readOnly:true, name: 'CARGOID', valueField: 'ID', displayField: 'NAME' }); //按钮Toolbar this.formHead = Ext.widget('form', { id: 'FeeHead', region: 'center', frame: true, bodyPadding: 5, trackResetOnLoad: true, fieldDefaults: { margins: '2 2 2 2', labelAlign: 'right', flex: 1, labelWidth: 70, msgTarget: 'qtip' }, items: [ {//fieldset 1 xtype: 'fieldset', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [{ xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ { fieldLabel: '业务编号', name: 'BSNO', flex: 0, hidden: true, margins: '0' }, { fieldLabel: 'OPLB', name: 'OPLB', flex: 0, hidden: true, margins: '0' }, { fieldLabel: 'PARENTID', name: 'PARENTID', flex: 0, hidden: true, margins: '0' }, { fieldLabel: 'OPLBNAME', name: 'OPLBNAME', flex: 0, hidden: true, margins: '0' }, { fieldLabel: '委托编号', readOnly: true, name: 'CUSTNO' }, { fieldLabel: '主提单号', readOnly: true, name: 'MBLNO' }, { fieldLabel: '业务锁定', readOnly: true, name: 'BSSTATUSREF' }, { fieldLabel: '费用锁定', readOnly: true, name: 'FEESTATUSREF' }, { fieldLabel: '会计期间', readOnly: true, xtype: 'monthfield', name: 'ACCDATE' } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '委托单位', readOnly: true, name: 'CUSTOMERNAME' }, { fieldLabel: '业务来源', readOnly: true, name: 'BSSOURCE' }, { fieldLabel: '来源明细', readOnly: true, name: 'BSSOURCEDETAIL' }, { fieldLabel: '揽货人', readOnly: true, name: 'SALE' }, { fieldLabel: '操 作', readOnly: true, name: 'OP' }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '业务日期', readOnly: true, name: 'ETD' }, { fieldLabel: '卸货港', readOnly: true, name: 'PORTDISCHARGE' }, { fieldLabel: '目的港', readOnly: true, name: 'DESTINATION' }, { fieldLabel: '报关单号', readOnly: true, name: 'CUSTOMNO' }, { fieldLabel: '起运港', readOnly: true, name: 'PORTLOAD' }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '分提单号', readOnly: true, name: 'HBLNO' }, { fieldLabel: '放箱申请号', readOnly: true, name: 'APPLYNO' }, { fieldLabel: '类型', readOnly: true, name: 'OPTYPE' }, { fieldLabel: '运输类型', readOnly: true, name: 'OPLBNAME' }, this.comboxCargoid] }]//end items(fieldset 1) }]//end root items }); //end this.formEdit this.panelBtn = new Ext.Panel({ region: "north", tbar: [ { text: "退出", handler: function (button, event) { window.close(); }, scope: this },'-' , { text: "查看业务信息", handler: function (button, event) { var bsno = this.formHead.getForm().findField('PARENTID').getValue(); var OPLBNAME = this.formHead.getForm().findField('OPLBNAME').getValue(); var openSet = "height=700, width=1024, toolbar=no, menubar=no,scrollbars=1, resizable=1,location=no, status=no,Top= " + (screen.height - 750) / 2 + ",Left= " + (screen.width - 1100) / 2 var openType = "_blank"; var openUrl = ""; if (OPLBNAME == "海运出口") { openUrl = "../../MvcShipping/MsOpSeae/EditView?handle=check&bsno=" + bsno; } else if (OPLBNAME == "海运进口" ||OPLBNAME == "海运进口散货") { openUrl = "../../MvcShipping/MsOpSeai/EditView?handle=check&bsno=" + bsno; } else if (OPLBNAME == "空运出口") { openUrl = "../../MvcShipping/MsOpAire/EditView?handle=check&bsno=" + bsno; } else if (OPLBNAME == "空运进口") { openUrl = "../../MvcShipping/MsOpAiri/EditView?handle=check&bsno=" + bsno; } else if (OPLBNAME== "报关业务") { openUrl = "../../MvcShipping/MsOpApply/EditView?handle=check&bsno=" + bsno; } else if (OPLBNAME == "综合业务") { openUrl = "../../MvcShipping/MsOpOther/EditView?handle=check&bsno=" + bsno; } window.open(openUrl, openType, openSet); }, scope: this } ] }); this.panelTop = new Ext.Panel({ layout: "border", region: "north", height: 180, id: "BillHead", items: [this.panelBtn,this.formHead] }); this.panelFee = new Shipping.FeeViewGrid({ region: 'center', layout: 'border' }); Ext.apply(this, { items: [this.panelTop, this.panelFee] }); this.InitData(); }, //end initUIComponents //#region 加载数据 InitData: function () { var condition = ''; this.opStatus = 'edit'; _this = this; this.LoadData(this.bsno); }, //end InitData LoadData: function (bsno) { _this = this; var condition = "BSNO='" + bsno + "'"; Ext.Ajax.request({ waitMsg: '正在查询主表数据...', url: '/MvcShipping/MsOpBill/GetBLData', params: { handle: 'edit', condition: condition }, callback: function (options, success, response) { if (success) { var result = Ext.JSON.decode(response.responseText); if (!result.Success) { Ext.Msg.show({ title: '提示', msg: result.Message, icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK }); return; } data = result.data; this.formHead.getForm().reset(); this.formHead.getForm().setValues(data); var bsno = _this.bsno; var bstype = data.OPLBNAME; oplb = 'op_other'; oplbdrOp = 'modOtherRecvFeeManagement'; oplbCrOp = 'modOtherPayFeeManagement'; if (bstype == '海运出口') { oplb = 'op_Seae'; oplbdrOp = 'modRecvFeeManagement'; oplbCrOp = 'modPayFeeManagement'; } if (bstype == '海运进口') { oplb = 'op_Seai'; oplbdrOp = 'modSeaiRecvFeeManagement'; oplbCrOp = 'modSeaiPayFeeManagement'; } if (bstype == '综合业务') { oplb = 'op_other'; oplbdrOp = 'modOtherRecvFeeManagement'; oplbCrOp = 'modOtherPayFeeManagement'; } if (bstype == '大宗散货') { oplb = 'op_Bulk'; oplbdrOp = 'modBulkRecvFeeManagement'; oplbCrOp = 'modBulkPayFeeManagement'; } if (bstype == '报关业务') { oplb = 'op_Apply'; oplbdrOp = 'modApplyRecvFeeManagement'; oplbCrOp = 'modApplyPayFeeManagement'; } if (bstype == '铁路运输') { oplb = 'op_railway'; oplbdrOp = 'modRailwayRecvFeeManagement'; oplbCrOp = 'modRailwayPayFeeManagement'; } if (bstype == '空运出口') { oplb = 'op_Aire'; oplbdrOp = 'modRailwayRecvFeeManagement'; oplbCrOp = 'modRailwayPayFeeManagement'; } if (bstype == '空运进口') { oplb = 'op_Airi'; oplbdrOp = 'modAiriRecvFeeManagement'; oplbCrOp = 'modAiriPayFeeManagement'; } this.panelFee.stroplb = oplb; this.panelFee.strBSNO = bsno; this.panelFee.StoreDrOpRange.load({ params: { optype: oplbdrOp} }); this.panelFee.StoreCrOpRange.load({ params: { optype: oplbCrOp} }); if (data.OPTYPE == '更改单') { this.panelFee.storeDrChFee.load({ params: { billno: bsno, type: 1, optype: oplb, condition: " FeeType=1 and exists (select 1 from v_op_bill b where b.BSNO=ch_fee.BSNO and b.PARENTID IN (SELECT PARENTID FROM V_OP_BILL WHERE BSNO='" + bsno + "'))" } }); this.panelFee.storeCrChFee.load({ params: { billno: bsno, type: 2, optype: oplb, condition: " FeeType=2 and exists (select 1 from v_op_bill b where b.BSNO=ch_fee.BSNO and b.PARENTID IN (SELECT PARENTID FROM V_OP_BILL WHERE BSNO='" + bsno + "'))" } }); } else { this.panelFee.storeDrChFee.load({ params: { billno: bsno, type: 1, optype: oplb, condition: " FeeType=1 and exists (select 1 from v_op_bill b where b.BSNO=ch_fee.BSNO and b.PARENTID='" + bsno + "')" } }); this.panelFee.storeCrChFee.load({ params: { billno: bsno, type: 2, optype: oplb, condition: " FeeType=2 and exists (select 1 from v_op_bill b where b.BSNO=ch_fee.BSNO and b.PARENTID='" + bsno + "')" } }); } this.panelFee.storeBodySum.load({ params: { bsno: this.bsno, optype: oplb} }); this.panelFee.storeChFeeGain.load({ params: { bsno: this.bsno, optype: oplb} }); } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); }, onSelLockClick: function (button, event, type) { var GidStr = ''; var oplb = this.formHead.getForm().findField('OPLB').getValue(); _this = this; Ext.Ajax.request({ waitMsg: '正在锁定...', url: '/Account/Chfee_lock/SelLockBsNo', params: { bsno: this.bsno, type: type, oplb: oplb }, 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.Ajax.request({ waitMsg: '正在查询主表数据...', url: '/MvcShipping/MsOpBill/GetBLData', params: { handle: 'edit', condition: "BSNO='" + _this.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; } data = result.data; _this.formHead.getForm().reset(); _this.formHead.getForm().setValues(data); var editp = Ext.create('MsOpBill', data); _this.editRecord.fields.each(function (field) { if (field.persist) { name = field.name; if (name != 'id') _this.editRecord.set(name, editp.get(name)); } }, this); _this.editRecord.commit(); } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); Ext.Msg.show({ title: '提示', msg: result.Message, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); }, onSelFeeLockClick: function (button, event, type) { var GidStr = ''; if (this.CheckAccMonth.checked) { this.IsAccDate = '1' } else this.IsAccDate = '0' var oplb = this.formHead.getForm().findField('OPLB').getValue(); _this = this; Ext.Ajax.request({ waitMsg: '正在锁定...', url: '/Account/Chfee_lock/SelFeeLockBsNo', params: { bsno: this.bsno, isAccDate: _this.IsAccDate, AccDate: _this.AccDate, oplb: oplb }, 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.Ajax.request({ waitMsg: '正在查询主表数据...', url: '/MvcShipping/MsOpBill/GetBLData', params: { handle: 'edit', condition: "BSNO='" + _this.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; } data = result.data; _this.formHead.getForm().reset(); _this.formHead.getForm().setValues(data); var editp = Ext.create('MsOpBill', data); _this.editRecord.fields.each(function (field) { if (field.persist) { name = field.name; if (name != 'id') _this.editRecord.set(name, editp.get(name)); } }, this); _this.editRecord.commit(); } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); Ext.Msg.show({ title: '提示', msg: result.Message, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); _this.winFeeCloseShow.close(); } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); }, onSelUnLockClick: function (button, event, type) { var GidStr = ''; var oplb = this.formHead.getForm().findField('OPLB').getValue(); Ext.Ajax.request({ waitMsg: '正在解除锁定...', url: '/Account/Chfee_lock/SelUnLockBsNo', params: { bsno: this.bsno, type: type, oplb: oplb }, 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.Ajax.request({ waitMsg: '正在查询主表数据...', url: '/MvcShipping/MsOpBill/GetBLData', params: { handle: 'edit', condition: "BSNO='" + _this.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; } data = result.data; _this.formHead.getForm().reset(); _this.formHead.getForm().setValues(data); var editp = Ext.create('MsOpBill', data); _this.editRecord.fields.each(function (field) { if (field.persist) { name = field.name; if (name != 'id') _this.editRecord.set(name, editp.get(name)); } }, this); _this.editRecord.commit(); } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); Ext.Msg.show({ title: '提示', msg: "解除锁定成功!", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); }, 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'); var bstype = this.editRecord.get('OPLBNAME'); this.LoadData(this.bsno, bstype); }, NextRecord: function () { var j = this.StoreList.indexOf(this.editRecord); if (j == (this.StoreList.count - 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'); var bstype = this.editRecord.get('OPLBNAME'); this.LoadData(this.bsno, bstype); } });