Ext.namespace('Shipping'); Shipping.MsOpSeaeModify = function (config) { Ext.applyIf(this, config); this.initUIComponents(); window.Shipping.MsOpSeaeModify.superclass.constructor.call(this); }; Ext.extend(Shipping.MsOpSeaeModify, Ext.Panel, { ParentWin: null, OpStatus: 'add', StoreList: null, EditRecord: null, region: 'north', salefee: '', initUIComponents: function () { //按钮Toolbar // var mainform = Ext.getCmp('OpSeaeEdit'); // var mainform = window.window._this; this.stroplb = 'op_Seae' this.bsno = getUrlParam('bsno'); this.bstype = getUrlParam('bstype'); _thisSeaeModify = this; this.storecodeservice = Ext.create('DsExt.ux.RefTableStore', { model: 'MsCodeOpService', proxy: { url: '/MvcShipping/MsCodeOpService/GetDataList' } }); // EditRecord = mainform.editRecord; //#region 集装箱-数据集 this.storeBodyList1 = Ext.create('Ext.data.Store', { model: 'MsOpSeaeDetail', remoteSort: true, proxy: { type: 'ajax', url: '/MvcShipping/MsOpSeae/GetBodyList', reader: { id: 'BSNO,CTNCODE,CTN_ID', root: 'data', totalProperty: 'totalCount' } } }); //明细表表格 this.gridListCellEditing = Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 }); this.initctncolumns1 = [{ sortable: true, dataIndex: 'CTN_ID', header: Zi.LAN.CTN_ID, //'编号', hidden: true, width: 0 }, { sortable: true, dataIndex: 'BSNO', header: Zi.LAN.BSNO2, //'业务编号', hidden: true, width: 0 }, { sortable: true, dataIndex: 'CTNCODE', header: Zi.LAN.CTNCODE, //'序号', width: 30 }, { dataIndex: 'CTNALL', header: Zi.LAN.CTNALL, //'箱型', width: 65 }, { dataIndex: 'CTNNUM', header: Zi.LAN.CTNNUM, //'箱量', width: 60 }, { dataIndex: 'CNTRNO', header: Zi.LAN.CNTRNO, //'箱号', width: 100 }, { dataIndex: 'SEALNO', header: Zi.LAN.SEALNO, //'封号', width: 80 }, { sortable: true, dataIndex: 'PKGS', header: Zi.LAN.PKGS, //'件数', width: 60 }, { dataIndex: 'KINDPKGS', header: Zi.LAN.KINDPKGS, //'包装', width: 70 }, { dataIndex: 'KGS', header: Zi.LAN.KGS3, //'重量', width: 60 }, { dataIndex: 'CBM', header: Zi.LAN.CBM2, //'尺码', width: 60 }, { dataIndex: 'TAREWEIGHT', header: Zi.LAN.TAREWEIGHT, //'箱皮重', width: 60 }, { dataIndex: 'TTLWEIGHT', header: Zi.LAN.TTLWEIGHT, //'参考重量', width: 60 }, { dataIndex: 'WEIGHTYPE', header: Zi.LAN.WEIGHTYPE, //'称重方式', width: 60 }, { dataIndex: 'WEIGHKGS', header: Zi.LAN.WEIGHKGS, //'称重重量', width: 60 }, { dataIndex: 'WEIGHATTN', header: Zi.LAN.WEIGHATTN, //'VGM联系人', width: 80 }, { dataIndex: 'VGMCONNCOM', header: 'VGM联系公司', //'VGM联系人', width: 80 }, { dataIndex: 'WEIGHTEL', header: Zi.LAN.WEIGHTEL, //'VGM联系电话', width: 80 }, { dataIndex: 'WEIGHSIGN', header: Zi.LAN.WEIGHSIGN, //'VGM联系人签名', width: 100 }, { sortable: true, dataIndex: 'WEIGHDATE', header: Zi.LAN.WEIGHDATE, //'VGM称重日期', renderer: Ext.util.Format.dateRenderer('Y-m-d'), width: 100 }, { dataIndex: 'VGMADDR', header: Zi.LAN.VGMADDR, //'VGM联系人签名', width: 100 }, { dataIndex: 'VGMEMAIL', header: Zi.LAN.VGMEMAIL, //'VGM联系人签名', width: 100 }, { dataIndex: 'REMARK', header: Zi.LAN.REMARK, //'备注', width: 150 }, { dataIndex: 'CTNSTATUS', header: Zi.LAN.CTNSTATUS, //'箱状态', width: 70, renderer: function (value, p, record) { if (value == 'E') return '空箱'; else if (value == 'L') return '拼箱'; else return '整箱'; } }, { dataIndex: 'MASTERNO', header: Zi.LAN.MASTERNO2, //'主拼号', width: 100 }, { dataIndex: 'TRUCKER', header: Zi.LAN.TRUCKER, width: 65, }, { dataIndex: 'TRUCKNO', header: Zi.LAN.TRUCKNO, //'车号', width: 100 }, { sortable: true, dataIndex: 'TRUCKFEE', header: Zi.LAN.TRUCKFEE, //'运费', align: 'right', width: 80 }, { dataIndex: 'FREESTORAGEDAY', header: Zi.LAN.FREESTORAGEDAY, width: 60 }, { dataIndex: 'STORAGEDAY', header: Zi.LAN.STORAGEDAY, width: 60 }, { sortable: true, dataIndex: 'STORAGEPRICE', header: Zi.LAN.STORAGEPRICE, //'运费', align: 'right', width: 80 }, { sortable: true, dataIndex: 'STORAGEFEE', header: Zi.LAN.STORAGEFEE, //'运费', align: 'right', width: 80 }, { dataIndex: 'FREECTNDAY', header: Zi.LAN.FREECTNDAY, width: 60 }, { dataIndex: 'CTNDAY', header: Zi.LAN.CTNDAY, width: 60 }, { sortable: true, dataIndex: 'CTNPRICE', header: Zi.LAN.CTNPRICE, //'运费', align: 'right', width: 80 }, { sortable: true, dataIndex: 'CTNFEE', header: Zi.LAN.CTNFEE, //'运费', align: 'right', width: 80 }]; this.ctncolumns1 = this.initctncolumns1; this.gridList1 = new Ext.grid.GridPanel({ store: this.storeBodyList1, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, // plugins: [this.gridListCellEditing], selType: 'cellmodel', columns: this.ctncolumns1 }); // this.ctncolumns = DsTruck.GetGridPanel(USERID, 'SEAECTNCOLUMN', this.ctncolumns, 1); //使用者id,表名,中间column数组,跳过一开始的几列 //#endregion this.panelBodyCtn1 = new Ext.Panel({ title: Zi.LAN.panelBodyCtn, //'集装箱信息', layout: "border", height: 140, //margin: '5 10', frame: true, items: [this.gridList1] }); this.formHead = Ext.widget('form', { frame: true, title:'修改旧值', 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: Zi.LAN.CUSTNO, //'委托编号', readOnly: true, name: 'CUSTNO' }, { fieldLabel: Zi.LAN.MBLNO, //'主提单号', readOnly: true, name: 'MBLNO' }, { fieldLabel: Zi.LAN.CUSTSERVICE, //'箱型箱量', readOnly: true, name: 'CUSTSERVICE' }, { fieldLabel: Zi.LAN.SALE, //'毛重', readOnly: true, name: 'SALE' }, { fieldLabel: Zi.LAN.OP, //'付费方式', readOnly: true, name: 'OP' } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ { fieldLabel: Zi.LAN.CUSTOMERNAME, //'委托单位', readOnly: true, name: 'CUSTOMERNAME' }, { fieldLabel: Zi.LAN.CARRIER, //'卸货港', readOnly: true, name: 'CARRIER' }, { fieldLabel: Zi.LAN.DOC, //'付费方式', readOnly: true, name: 'DOC' }, { fieldLabel: Zi.LAN.LANE, //'揽货人', readOnly: true, name: 'LANE' }, { fieldLabel: Zi.LAN.FORWARDER, //'船名', readOnly: true, name: 'FORWARDER' } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ { fieldLabel: Zi.LAN.YARD, //'航次', readOnly: true, name: 'YARD' }, { fieldLabel: Zi.LAN.ISSUETYPE, //'目的地', readOnly: true, name: 'ISSUETYPE' }, { fieldLabel: Zi.LAN.VESSEL, //'船名', readOnly: true, name: 'VESSEL' }, { fieldLabel: Zi.LAN.VOYNO, //'船名', readOnly: true, name: 'VOYNO' }, { fieldLabel: Zi.LAN.ETD, //'船名', readOnly: true, name: 'ETD' } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ { fieldLabel: Zi.LAN.PORTDISCHARGE, //'卸货港', readOnly: true, name: 'PORTDISCHARGE' }, { fieldLabel: Zi.LAN.DESTINATION, //'目的地', readOnly: true, name: 'DESTINATION' }, { fieldLabel: Zi.LAN.PLACEDELIVERY, //'目的地', readOnly: true, name: 'PLACEDELIVERY' }, { xtype: 'hiddenfield' }, { xtype: 'hiddenfield' } ] }, this.panelBodyCtn1 ] }] }); //end this.formEdit // this.formHead.getForm().loadRecord(EditRecord); this.storeOpCode = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.UserRefModel', proxy: { url: '/CommMng/BasicDataRef/GetUserLinkRefListRm' } }); this.storeOpCode2 = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.UserRefModel', proxy: { url: '/CommMng/BasicDataRef/GetUserLinkRefListRm' } }); this.storeOpCode3 = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.UserRefModel', proxy: { url: '/CommMng/BasicDataRef/GetUserLinkRefListRm' } }); this.storeOpCode4 = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.UserRefModel', proxy: { url: '/CommMng/BasicDataRef/GetUserLinkRefListRm' } }); this.storeOpCode5 = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.UserRefModel', proxy: { url: '/CommMng/BasicDataRef/GetUserLinkRefListRm' } }); //客服 this.comboxCUSTSERVICE = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: Zi.LAN.CUSTSERVICE, //'客服', store: this.storeOpCode, // forceSelection: true, queryMode: 'remote', // flex: 0.5, minChars: 0, queryParam: 'CODENAME', name: 'CUSTSERVICE', valueField: 'UserName', displayField: 'CodeAndName', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }); //揽货人 this.comboxSALE = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: Zi.LAN.SALE, //'揽货人', store: this.storeOpCode2, // forceSelection: true, queryMode: 'remote', minChars: 0, queryParam: 'CODENAME', name: 'SALE', valueField: 'UserName', displayField: 'CodeAndName', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }); //操 作 this.comboxOP = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: Zi.LAN.OP, //'操 作', store: this.storeOpCode3, // forceSelection: true, queryMode: 'remote', minChars: 0, queryParam: 'CODENAME', name: 'OP', valueField: 'UserName', displayField: 'CodeAndName', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }); //单证 this.comboxDOC = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: Zi.LAN.DOC, //'单 证', store: this.storeOpCode4, // forceSelection: true, queryMode: 'remote', minChars: 0, queryParam: 'CODENAME', name: 'DOC', valueField: 'UserName', displayField: 'CodeAndName', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }); this.comboxFRCUSTSERVICE = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: Zi.LAN.FRCUSTSERVICE, //'客服', store: this.storeOpCode5, // forceSelection: true, queryMode: 'remote', minChars: 0, queryParam: 'CODENAME', name: 'FRCUSTSERVICE', valueField: 'UserName', displayField: 'CodeAndName', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }); //客户加载_委托单位 this.storeCustCode = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefListController' } }); //委托单位 this.comboxCustCode = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: Zi.LAN.CUSTOMERNAME, //'委托单位', store: this.storeCustCode, // forceSelection: true, queryMode: 'remote', minChars: 0, queryParam: 'CODENAME', name: 'CUSTOMERNAME', valueField: 'CustName', displayField: 'CodeAndName', allowBlank: false, listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }); //客户加载_场站 this.storeYARD = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefListYARD' } }); this.storeYARD.load(); // this.comboxYARD = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: Zi.LAN.YARD, //'场站', store: this.storeYARD, // forceSelection: true, queryMode: 'remote', minChars: 0, queryParam: 'CODENAME', name: 'YARD', valueField: 'CustName', displayField: 'CodeAndName', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }); //客户加载_船公司 this.storeCARRIER = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefListCARRIER' } }); this.storeCARRIER.load(); //船公司 this.comboxCARRIER = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: Zi.LAN.CARRIER, //'船公司', store: this.storeCARRIER, // forceSelection: true, queryMode: 'remote', minChars: 0, queryParam: 'CODENAME', name: 'CARRIER', valueField: 'CustName', displayField: 'CodeAndName', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }); //客户加载_订舱代理 this.storeFORWARDER = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefListFORWARDER' } }); this.storeFORWARDER.load(); //船公司 this.comboxFORWARDER = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: Zi.LAN.FORWARDER, //'订舱代理', store: this.storeFORWARDER, // forceSelection: true, queryMode: 'remote', minChars: 0, queryParam: 'CODENAME', name: 'FORWARDER', valueField: 'CustName', displayField: 'CodeAndName', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }); //客户加载_车队 this.storeTRUCKER = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefListTRUCK' } }); this.storeTRUCKER.load(); //车队 this.comboxTRUCKER = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: Zi.LAN.TRUCKER, //'车队', store: this.storeTRUCKER, forceSelection: true, queryMode: 'remote', minChars: 0, queryParam: 'CODENAME', name: 'TRUCKER', valueField: 'CustName', displayField: 'CodeAndName', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }); //箱型_集装箱列表中的下拉框加载 this.storeLANE = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.Lane', proxy: { url: '/CommMng/BasicDataRef/GetCodeLaneList' } }); this.storeLANE.load(); this.comboxLANE = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: Zi.LAN.LANE, //'航线', store: this.storeLANE, name: 'LANE', valueField: 'LANE', displayField: 'LANE', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }); this.storeVoyVeg = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.VesselModel', proxy: { url: '/CommMng/BasicDataRef/GetVesselList' } }); this.comboxVoyVeg = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: Zi.LAN.VESSEL, //'船 名', store: this.storeVoyVeg, name: 'VESSEL', valueField: 'VESSEL', // flex: 2, displayField: 'VESSEL', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }); //签单方式 this.storeISSUETYPE = Ext.create('DsExt.ux.RefTableStore', { model: 'CODE_BLTYPE', proxy: { url: '/CommMng/BasicDataRef/GetCodeBLTYPEList' } }); this.storeISSUETYPE.load({ params: { condition: "" } }); this.comboxISSUETYPE = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: Zi.LAN.ISSUETYPE, //'签单方式', store: this.storeISSUETYPE, forceSelection: true, name: 'ISSUETYPE', valueField: 'BLTYPE', displayField: 'BLTYPE' }); //#region 集装箱-数据集 this.storeBodyList = Ext.create('Ext.data.Store', { model: 'MsOpSeaeDetail', remoteSort: true, proxy: { type: 'ajax', url: '/MvcShipping/MsOpSeae/GetBodyList', reader: { id: 'BSNO,CTNCODE,CTN_ID', root: 'data', totalProperty: 'totalCount' } } }); this.StoreCTNSTATUS = Ext.create('Ext.data.Store', { fields: ['ID', 'NAME'] }); this.StoreCTNSTATUS.add({ "ID": "F", "NAME": "F整箱" }); this.StoreCTNSTATUS.add({ "ID": "E", "NAME": "E空箱" }); this.StoreCTNSTATUS.add({ "ID": "L", "NAME": "L拼箱" }); this.comboxCTNSTATUS = Ext.create('DsExt.ux.RefTableCombox', { store: this.StoreCTNSTATUS, forceSelection: true, name: 'CTNSTATUS', valueField: 'ID', displayField: 'NAME' }); //集装箱_称重方式 this.StoreWEIGHTYPE = Ext.create('Ext.data.Store', { fields: ['NAME'] }); this.StoreWEIGHTYPE.add({ "NAME": "累加" }); this.StoreWEIGHTYPE.add({ "NAME": "总重" }); this.StoreWEIGHTYPE.add({ "NAME": "" }); this.comboxWEIGHTYPE = Ext.create('DsExt.ux.RefTableCombox', { store: this.StoreWEIGHTYPE, forceSelection: true, name: 'WEIGHTYPE', valueField: 'NAME', displayField: 'NAME' }); //客户加载_车队 this.storeTRUCKERCTN = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefListTRUCK' } }); //车队 this.comboxTRUCKERCTN = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeTRUCKERCTN, queryMode: 'remote', minChars: 0, queryParam: 'CODENAME', name: 'TRUCKER', valueField: 'CustName', displayField: 'CodeAndName' }); this.storeCodeCtn = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CodeCtnModel', proxy: { url: '/CommMng/BasicDataRef/GetCodeCtnList' } }); this.storeCodeCtn.load(); this.comboxCTNALL = Ext.create('DsExt.ux.RefTableCombox', { //fieldLabel: Zi.LAN.CTNALL, //'箱型', store: this.storeCodeCtn, forceSelection: true, name: 'CTNALL', valueField: 'CTN', displayField: 'CTN' }); this.storeCodePackage = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CodePackageModel', proxy: { url: '/CommMng/BasicDataRef/GetCodePackageList' } }); this.storeCodePackage.load(); this.comboxKINDPKGS_CTN = Ext.create('DsExt.ux.RefTableCombox', { //fieldLabel: Zi.LAN.KINDPKGS, //'件数包装', store: this.storeCodePackage, // forceSelection: true, name: 'KINDPKGS', valueField: 'PKGS', displayField: 'PKGS' }); //明细表表格 this.gridListCellEditing = Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 }); this.initctncolumns = [{ sortable: true, dataIndex: 'CTN_ID', header: Zi.LAN.CTN_ID, //'编号', hidden: true, width: 0 }, { sortable: true, dataIndex: 'BSNO', header: Zi.LAN.BSNO2, //'业务编号', hidden: true, width: 0 }, { sortable: true, dataIndex: 'CTNCODE', header: Zi.LAN.CTNCODE, //'序号', width: 30 }, { dataIndex: 'CTNALL', header: Zi.LAN.CTNALL, //'箱型', width: 65, editor: this.comboxCTNALL }, { dataIndex: 'CTNNUM', header: Zi.LAN.CTNNUM, //'箱量', width: 60, editor: { xtype: 'numberfield', allowBlank: false, selectOnFocus: true } }, { dataIndex: 'CNTRNO', header: Zi.LAN.CNTRNO, //'箱号', width: 100, editor: { xtype: 'textfield', // regex: /^[a-zA-Z]{4}[0-9]{7}$/, // regextext: Zi.LAN., //'请输入正确的箱号!', selectOnFocus: true }, renderer: function (value, cellmeta) { return value.trim(); } }, { dataIndex: 'SEALNO', header: Zi.LAN.SEALNO, //'封号', width: 80, editor: { xtype: 'textfield', selectOnFocus: true } }, { sortable: true, dataIndex: 'PKGS', header: Zi.LAN.PKGS, //'件数', width: 60, editor: { xtype: 'numberfield', allowBlank: false, selectOnFocus: true } }, { dataIndex: 'KINDPKGS', header: Zi.LAN.KINDPKGS, //'包装', width: 70, editor: this.comboxKINDPKGS_CTN }, { dataIndex: 'KGS', header: Zi.LAN.KGS3, //'重量', width: 60, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'CBM', header: Zi.LAN.CBM2, //'尺码', width: 60, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'TAREWEIGHT', header: Zi.LAN.TAREWEIGHT, //'箱皮重', width: 60, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'TTLWEIGHT', header: Zi.LAN.TTLWEIGHT, //'参考重量', width: 60, renderer: function (value, meta, record) { return Add(record.data.KGS, record.data.TAREWEIGHT); } }, { dataIndex: 'WEIGHTYPE', header: Zi.LAN.WEIGHTYPE, //'称重方式', width: 60, editor: this.comboxWEIGHTYPE }, { dataIndex: 'WEIGHKGS', header: Zi.LAN.WEIGHKGS, //'称重重量', width: 60, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'WEIGHATTN', header: Zi.LAN.WEIGHATTN, //'VGM联系人', width: 80, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'VGMCONNCOM', header: 'VGM联系公司', //'VGM联系人', width: 80, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'WEIGHTEL', header: Zi.LAN.WEIGHTEL, //'VGM联系电话', width: 80, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'WEIGHSIGN', header: Zi.LAN.WEIGHSIGN, //'VGM联系人签名', width: 100, editor: { xtype: 'textfield', selectOnFocus: true } }, { sortable: true, dataIndex: 'WEIGHDATE', header: Zi.LAN.WEIGHDATE, //'VGM称重日期', editor: { xtype: 'datefield', format: 'Y-m-d' }, renderer: Ext.util.Format.dateRenderer('Y-m-d'), width: 100 }, { dataIndex: 'VGMADDR', header: Zi.LAN.VGMADDR, //'VGM联系人签名', width: 100, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'VGMEMAIL', header: Zi.LAN.VGMEMAIL, //'VGM联系人签名', width: 100, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'REMARK', header: Zi.LAN.REMARK, //'备注', width: 150, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'CTNSTATUS', header: Zi.LAN.CTNSTATUS, //'箱状态', width: 70, editor: this.comboxCTNSTATUS, renderer: function (value, p, record) { if (value == 'E') return '空箱'; else if (value == 'L') return '拼箱'; else return '整箱'; } }, { dataIndex: 'MASTERNO', header: Zi.LAN.MASTERNO2, //'主拼号', width: 100, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'TRUCKER', header: Zi.LAN.TRUCKER, width: 65, editor: this.comboxTRUCKERCTN }, { dataIndex: 'TRUCKNO', header: Zi.LAN.TRUCKNO, //'车号', width: 100, editor: { xtype: 'textfield', selectOnFocus: true } }, { sortable: true, dataIndex: 'TRUCKFEE', header: Zi.LAN.TRUCKFEE, //'运费', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, decimalPrecision: 2, enableKeyEvents: true }, align: 'right', width: 80 }, { dataIndex: 'FREESTORAGEDAY', header: Zi.LAN.FREESTORAGEDAY, width: 60, editor: { xtype: 'numberfield', allowBlank: false, selectOnFocus: true } }, { dataIndex: 'STORAGEDAY', header: Zi.LAN.STORAGEDAY, width: 60, editor: { xtype: 'numberfield', allowBlank: false, selectOnFocus: true } }, { sortable: true, dataIndex: 'STORAGEPRICE', header: Zi.LAN.STORAGEPRICE, //'运费', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, decimalPrecision: 2, enableKeyEvents: true }, align: 'right', width: 80 }, { sortable: true, dataIndex: 'STORAGEFEE', header: Zi.LAN.STORAGEFEE, //'运费', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, decimalPrecision: 2, enableKeyEvents: true }, align: 'right', width: 80 }, { dataIndex: 'FREECTNDAY', header: Zi.LAN.FREECTNDAY, width: 60, editor: { xtype: 'numberfield', allowBlank: false, selectOnFocus: true } }, { dataIndex: 'CTNDAY', header: Zi.LAN.CTNDAY, width: 60, editor: { xtype: 'numberfield', allowBlank: false, selectOnFocus: true } }, { sortable: true, dataIndex: 'CTNPRICE', header: Zi.LAN.CTNPRICE, //'运费', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, decimalPrecision: 2, enableKeyEvents: true }, align: 'right', width: 80 }, { sortable: true, dataIndex: 'CTNFEE', header: Zi.LAN.CTNFEE, //'运费', editor: { xtype: 'numberfield', keyNavEnabled: false, selectOnFocus: true, hideTrigger: true, mouseWheelEnabled: false, decimalPrecision: 2, enableKeyEvents: true }, align: 'right', width: 80 }]; this.ctncolumns = this.initctncolumns; this.gridList = new Ext.grid.GridPanel({ store: this.storeBodyList, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, plugins: [this.gridListCellEditing], selType: 'cellmodel', tbar: [ { text: Zi.LAN.btnadddetail, //'增加明细', tooltip: Zi.LAN.btnadddetail, //'增加明细', id: "btnadddetail", iconCls: "btnadddetail", handler: function (button, event) { this.onAddDetailClick(button, event); }, scope: this }, '-', { text: Zi.LAN.btndeldetail, //'删除明细', tooltip: Zi.LAN.btndeldetail, //'删除明细', id: "btndeldetail", iconCls: "btndeletedetail", handler: function (button, event) { this.onDelDetailClick(button, event, 1); }, scope: this }, '-', { text: Zi.LAN.btntest, //"保存列表样式", menu: [ { text: Zi.LAN.SaveGridPanel, //"保存", handler: function (button, event) { _this.ctncolumns = DsTruck.SaveGridPanel(USERID, 'SEAECTNCOLUMN', _this.gridList.columns, _this.ctncolumns, 0, true); _this.gridListshow.reconfigure(this.storeBodyList, _this.ctncolumns); } }, { text: Zi.LAN.SaveGridPanel2, //"初始化", handler: function (menu, event) { _this.gridList.reconfigure(this.storeBodyList, _this.initctncolumns); _this.ctncolumns = DsTruck.SaveGridPanel(USERID, 'SEAECTNCOLUMN', _this.gridList.columns, _this.initctncolumns, 0, true); } }], scope: this }], columns: this.ctncolumns }); this.ctncolumns = DsTruck.GetGridPanel(USERID, 'SEAECTNCOLUMN', this.ctncolumns, 1); //使用者id,表名,中间column数组,跳过一开始的几列 //#endregion this.panelBodyCtn = new Ext.Panel({ title: Zi.LAN.panelBodyCtn, //'集装箱信息', layout: "border", height: 200, //margin: '5 10', frame: true, items: [this.gridList] }); this.formEdit = Ext.widget('form', { frame: true, title: '修改新值', 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: Zi.LAN.CUSTNO, //'委托编号', readOnly: true, name: 'CUSTNO' }, { fieldLabel: Zi.LAN.MBLNO, //'主提单号', name: 'MBLNO', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }, this.comboxCUSTSERVICE, this.comboxSALE, this.comboxOP ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [this.comboxCustCode, this.comboxCARRIER, this.comboxDOC, this.comboxLANE, this.comboxFORWARDER ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [this.comboxYARD, this.comboxISSUETYPE, this.comboxVoyVeg, { fieldLabel: Zi.LAN.VOYNO, //'船名', name: 'VOYNO', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }, { fieldLabel: Zi.LAN.ETD, //'船名', format: 'Y-m-d', flex: 1, xtype: 'datefield', name: 'ETD', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ { fieldLabel: Zi.LAN.PORTDISCHARGE, //'卸货港', name: 'PORTDISCHARGE', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }, { fieldLabel: Zi.LAN.DESTINATION, //'目的地', name: 'DESTINATION', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }, { fieldLabel: Zi.LAN.PLACEDELIVERY, //'目的地', name: 'PLACEDELIVERY', listeners: { scope: this, change: function (field, nv, ov, eOpts) { _thisSeaeModify.getFormChange(); } } }, { fieldLabel: '申请修改原因', //'主提单号', flex: 2, labelWidth: 80, name: 'REMARK' } ] }, this.panelBodyCtn ] }], // paging bar on the bottom bbar: [{ xtype: "button", id: "button_add", iconCls: "btnadd", text: "申请修改", handler: function (button, event) { _this.onCreateModifyClick(); } }, '-', { xtype: "button", id: "button_close", text: "取消退出", handler: function (button, event) { window.close(); } } ] }); //end this.formEdit this.panelTop = new Ext.Panel({ layout: "border", region: "north", height: 300, items: [this.formHead] }); this.panelBody = new Ext.Panel({ layout: "border", region: "center", items: [this.formEdit] }); Ext.apply(this, { items: [this.panelTop, this.panelBody] }); this.LoadData(this.bsno); }, LoadData: function (bsno) { _this = this; var condition = "BSNO='" + bsno + "'"; Ext.Ajax.request({ waitMsg: '正在查询主表数据...', url: '/MvcShipping/MsSeaeOrder/GetData', 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); this.formEdit.getForm().reset(); this.formEdit.getForm().setValues(data); } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); this.storeBodyList.load({ params: { condition: condition } }); this.storeBodyList1.load({ params: { condition: condition } }); }, onCreateModifyClick: function () { var REMARK = this.formEdit.getForm().findField('REMARK').getValue(); if (REMARK=='') { Ext.Msg.show({ title: '提示', msg: '修改原因不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var data = this.formEdit.getForm().getValues(); var olddata = this.formHead.getForm().getValues(); var bodydatas = []; for (var i = 0; i < this.storeBodyList.getCount(); i += 1) { var member = this.storeBodyList.getAt(i); bodydatas.push(member); } var bodydatas1 = []; for (var i = 0; i < this.storeBodyList1.getCount(); i += 1) { var member = this.storeBodyList1.getAt(i); bodydatas1.push(member); } var jsonBody = ConvertRecordsToJsonAll(bodydatas); var jsonBody1 = ConvertRecordsToJsonAll(bodydatas1); Ext.Ajax.request({ waitMsg: '正在添加数据...', //'正在添加数据...', url: '/MvcShipping/MsSeaeOrder/ShenModify', params: { data: Ext.JSON.encode(data), olddata: Ext.JSON.encode(olddata), ctnbody: jsonBody, oldctnbody: jsonBody1, optype: _thisSeaeModify.bstype, bsno: _thisSeaeModify.bsno }, callback: function (options, success, response) { if (success) { var result = Ext.JSON.decode(response.responseText); if (!result.Success) { Ext.Msg.show({ title: Zi.LAN.FEE.TiShi, msg: result.Message, icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK }); return; } else { window.close(); } } else { Ext.MessageBox.alert('服务器响应出错!', response.responseText); } }, scope: this }); }, getFormChange() { if (this.formEdit.getForm().findField('MBLNO').getValue() != this.formHead.getForm().findField('MBLNO').getValue()) this.formEdit.getForm().findField('MBLNO').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('MBLNO').setFieldStyle({ color: '#000000' }); if (this.formEdit.getForm().findField('OP').getValue() != this.formHead.getForm().findField('OP').getValue()) this.formEdit.getForm().findField('OP').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('OP').setFieldStyle({ color: '#000000' }); if (this.formEdit.getForm().findField('CUSTSERVICE').getValue() != this.formHead.getForm().findField('CUSTSERVICE').getValue()) this.formEdit.getForm().findField('CUSTSERVICE').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('CUSTSERVICE').setFieldStyle({ color: '#000000' }); if (this.formEdit.getForm().findField('SALE').getValue() != this.formHead.getForm().findField('SALE').getValue()) this.formEdit.getForm().findField('SALE').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('SALE').setFieldStyle({ color: '#000000' }); if (this.formEdit.getForm().findField('CARRIER').getValue() != this.formHead.getForm().findField('CARRIER').getValue()) this.formEdit.getForm().findField('CARRIER').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('CARRIER').setFieldStyle({ color: '#000000' }); if (this.formEdit.getForm().findField('FORWARDER').getValue() != this.formHead.getForm().findField('FORWARDER').getValue()) this.formEdit.getForm().findField('FORWARDER').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('FORWARDER').setFieldStyle({ color: '#000000' }); //if (this.formHead.getForm().findField('TRUCKER').getValue() != this.formHead.getForm().findField('TRUCKER').getValue()) // this.formHead.getForm().findField('TRUCKER').setFieldStyle({ color: '#FF4500' }); //else // this.formHead.getForm().findField('TRUCKER').setFieldStyle({ color: '#000000' }); if (this.formEdit.getForm().findField('DOC').getValue() != this.formHead.getForm().findField('DOC').getValue()) this.formEdit.getForm().findField('DOC').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('DOC').setFieldStyle({ color: '#000000' }); if (this.formEdit.getForm().findField('VESSEL').getValue() != this.formHead.getForm().findField('VESSEL').getValue()) this.formEdit.getForm().findField('VESSEL').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('VESSEL').setFieldStyle({ color: '#000000' }); if (this.formEdit.getForm().findField('VOYNO').getValue() != this.formHead.getForm().findField('VOYNO').getValue()) this.formEdit.getForm().findField('VOYNO').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('VOYNO').setFieldStyle({ color: '#000000' }); if (this.formEdit.getForm().findField('YARD').getValue() != this.formHead.getForm().findField('YARD').getValue()) this.formEdit.getForm().findField('YARD').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('YARD').setFieldStyle({ color: '#000000' }); if (this.formEdit.getForm().findField('ETD').getRawValue() != this.formHead.getForm().findField('ETD').getValue()) this.formEdit.getForm().findField('ETD').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('ETD').setFieldStyle({ color: '#000000' }); if (this.formEdit.getForm().findField('PORTDISCHARGE').getValue() != this.formHead.getForm().findField('PORTDISCHARGE').getValue()) this.formEdit.getForm().findField('PORTDISCHARGE').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('PORTDISCHARGE').setFieldStyle({ color: '#000000' }); if (this.formEdit.getForm().findField('DESTINATION').getValue() != this.formHead.getForm().findField('DESTINATION').getValue()) this.formEdit.getForm().findField('DESTINATION').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('DESTINATION').setFieldStyle({ color: '#000000' }); if (this.formEdit.getForm().findField('PLACEDELIVERY').getValue() != this.formHead.getForm().findField('PLACEDELIVERY').getValue()) this.formEdit.getForm().findField('PLACEDELIVERY').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('PLACEDELIVERY').setFieldStyle({ color: '#000000' }); if (this.formEdit.getForm().findField('LANE').getValue() != this.formHead.getForm().findField('LANE').getValue()) this.formEdit.getForm().findField('LANE').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('LANE').setFieldStyle({ color: '#000000' }); if (this.formEdit.getForm().findField('ISSUETYPE').getValue() != this.formHead.getForm().findField('ISSUETYPE').getValue()) this.formEdit.getForm().findField('ISSUETYPE').setFieldStyle({ color: '#FF4500' }); else this.formEdit.getForm().findField('ISSUETYPE').setFieldStyle({ color: '#000000' }); }, onAddDetailClick: function (button, event) { this.addDetail(); }, //end onAddDetailClick onDelDetailClick: function (button, event) { this.deleteDetail(); }, //onDelDetailClick addDetail: function () { var CTNSTATUS = 'F'; var MASTERNO = ''; if (this.storeBodyList.getCount() > 0) { var memberbody = this.storeBodyList.getAt(0); CTNSTATUS = memberbody.data.CTNSTATUS; MASTERNO = memberbody.data.MASTERNO; } var newSerialno = this.DsGetNewNo(this.storeBodyList); this.serialNo = newSerialno; var record = Ext.create('MsOpSeaeDetail', { CTN_ID: NewGuid(), BSNO: '*', CTNCODE: newSerialno, CTNALL: '', CTNNUM: 1, CNTRNO: '', SEALNO: '', PKGS: 0, KINDPKGS: '', KGS: 0, TAREWEIGHT: 0, CBM: 0, FENPKGS: 0, FENKGS: 0, FENCBM: 0, WEIGHTYPE: '', WEIGHKGS: 0, WEIGHATTN: '', WEIGHTEL: '', WEIGHSIGN: '', // WEIGHATTN: custop, // WEIGHTEL: custoptel, // WEIGHSIGN: custop, CTNSTATUS: CTNSTATUS, MASTERNO: MASTERNO, TRUCKER: '', TRUCKFEE: 0, FREESTORAGEDAY: 0, STORAGEDAY: 0, STORAGEPRICE: 0, STORAGEFEE: 0, FREECTNDAY: 0, CTNDAY: 0, CTNPRICE: 0, CTNFEE: 0, REMARK: '' }); this.storeBodyList.add(record); var n = this.storeBodyList.getCount(); this.gridListCellEditing.startEditByPosition({ row: n - 1, column: 2 }); }, deleteDetail: function () { var selectedRecords = this.gridList.selModel.getSelection(); for (var i = 0; i < selectedRecords.length; i++) { this.storeBodyList.remove(selectedRecords[i]); //this.storeBodyList.remove(selectedRecords[i]); } }, DsGetNewNo: function (store) { var result = store.getCount(); if (result == 0) { return '01'; } // var record = store.getAt(result - 1).data.CTNCODE; result = result + 1; var resultstr = result.toString(); if (resultstr.length == 1) resultstr = '0' + resultstr; return resultstr; } });