/// Ext.namespace('DsTruck'); var BillNoCount=0; DsTruck.AuditEdit = function (config) { Ext.applyIf(this, config); this.initUIComponents(); window.DsTruck.AuditEdit.superclass.constructor.call(this); }; Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, //month "d+": this.getDate(), //day "h+": this.getHours(), //hour "m+": this.getMinutes(), //minute "s+": this.getSeconds(), //second "q+": Math.floor((this.getMonth() + 3) / 3), //quarter "S": this.getMilliseconds() //millisecond } if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); return format; } var xhr = new XMLHttpRequest(); var currdate = new Date(); if (!xhr) { //...其他生成xmlhttprequest方法 } xhr.open("HEAD", location.href, true); xhr.onreadystatechange = function () { if (xhr.readyState == 4 && xhr.status == 200) { var datestr = xhr.getResponseHeader("Date"); currdate = new Date(datestr); // alert(currdate.format('yyyy-MM-dd')); } } xhr.send(null); function getSaved(){ //var cargodirty=DsTruck.GetDirty(panelEdit.storeCargo,panelEdit.CargoDel); //var appstatedirty=DsTruck.GetDirty(panelEdit.storeappstate,panelEdit.AppstateDel); if (panelEdit.formEdit.getForm().isDirty()== true ) { return true; } else return false; } Ext.extend(DsTruck.AuditEdit, Ext.Panel, { parentWin: null, OpStatus: 'edit', StoreList: null, editRecord: null, // parentfunction: null, _First: true, initUIComponents: function () { this.bodyDel = []; this.CargoDel = []; this.AppstateDel = []; this.KCDel = []; this.AuditStatusBodyDel=[]; this.feeSerialNo = 0; this.feeBodyDel = []; this.FormName_1="Audit_CargoForm"; this.FormName_2="Audit_AppStateForm"; this.AuditStatusGID=""; this.AuditRECEIPTNAME=""; //#region 枚举参照相关(编辑form) this.storeMainstate = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeMainstate.load({ params: { enumTypeId: 3} }); this.comboxMainstate = Ext.create('DsExt.ux.RefEnumCombox', { fieldLabel: '合同状态', forceSelection: true, store: this.storeMainstate, name: 'Mainstate' }); this.storeBillType = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeBillType.load({ params: { enumTypeId: 6} }); this.comboxBillType = Ext.create('DsExt.ux.RefEnumCombox', { fieldLabel: '提单提交方式', disabled: true, forceSelection: true, store: this.storeBillType, name: 'BillType' }); this.storeShipCompany = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeShipCompany.load({ params: { enumTypeId: 5} }); this.comboxShipCompany = Ext.create('DsExt.ux.RefEnumCombox', { fieldLabel: '船公司', forceSelection: true, store: this.storeShipCompany, name: 'ShipCompany_id' }); this.storeSecurityDeposit = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeSecurityDeposit.load({ params: { enumTypeId: 0} }); this.comboxSecurityDeposit = Ext.create('DsExt.ux.RefEnumCombox', { fieldLabel: '是否已交保证金', disabled: true, forceSelection: true, store: this.storeSecurityDeposit, name: 'SecurityDeposit' }); this.storeMZBZ = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeMZBZ.load({ params: { enumTypeId: 0} }); this.comboxMZBZ = Ext.create('DsExt.ux.RefEnumCombox', { fieldLabel: '是否木质包装', forceSelection: true, store: this.storeMZBZ, name: 'MZBZ' }); this.storeCIQ_canbesearch = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeCIQ_canbesearch.load({ params: { enumTypeId: 0} }); this.comboxCIQ_canbesearch = Ext.create('DsExt.ux.RefEnumCombox', { fieldLabel: '卫生证是否可查', store: this.storeCIQ_canbesearch, name: 'CIQ_canbesearch' }); this.storeTransactionMethod = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeTransactionMethod.load({ params: { enumTypeId: 1} }); this.comboxTransactionMethod = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '成交方式', forceSelection: true, store: this.storeTransactionMethod, name: 'TransactionMethod', valueField: 'EnumValueId', displayField: 'EnumValueName', triggerAction: 'all', selectOnFocus: true, listeners: { change: function (field, newValue, oldValue) { this.setBaolv(field, newValue, oldValue); }, scope: this }, flex:1 }); this.storePaymentMethods = Ext.create('DsExt.ux.RefEnumStore', {}); this.storePaymentMethods.load({ params: { enumTypeId: 4} }); this.comboxPaymentMethods = Ext.create('DsExt.ux.RefEnumCombox', { fieldLabel: '付款方式', disabled: true, forceSelection: true, store: this.storePaymentMethods, name: 'PaymentMethods' }); this.storeport = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeport.load({ params: { enumTypeId: 10} }); this.comboxport = Ext.create('DsExt.ux.RefEnumCombox', { fieldLabel: '目的港', disabled: true, forceSelection: true, store: this.storeport, name: 'port' }); //表参照相关 this.storeCountry = Ext.create('DsExt.ux.RefTableStore', { model: 'ConutryRef', proxy: { url: '/CommMng/BasicDataRef/GetCountryRefList' } }); this.storeTradeCountry = Ext.create('DsExt.ux.RefTableStore', { model: 'ConutryRef', proxy: { url: '/CommMng/BasicDataRef/GetCountryRefList' } }); _this = this; this.storeCountry.load({ params: { condition: "" } , callback: function (r, options, success) { if (success) { _this.storeTradeCountry.removeAll(); _this.storeTradeCountry.add(r); } }, scope: this }); this.comboxCountry = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '进口国', //forceSelection: true, store: this.storeCountry, name: 'countryid', valueField: 'countryid', displayField: 'country_idandname' }); this.comboxTradeCountry = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '贸易国',//readOnly:true, //forceSelection: true, flex:1, store: this.storeCountry, name: 'TRADECOUNTRY', valueField: 'countryid', displayField: 'country_idandname' }); this.comboxCountry.addListener('select', function (combo, record, index) { var s = " countryid='" + combo.value+"'"; //alert(s); //this.storeCargoinfo.removeAll(); this.storeCargoinfo.load({ params: { condition: s} }); //this.comboxCargoinfo.clearValue(); }, this); this.storeUser = Ext.create('DsExt.ux.RefTableStore', { model: 'DsTruckMng.ux.UserRefModel', proxy: { url: '/CommMng/BasicDataRef/GetUserRefList' } }); this.storeUser.load({ params: { condition: "(ISDELETED=0 and ISDISABLE=0)"} }); this.comboxCreator = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '接单人', disabled: true, store: this.storeUser, name: 'creator', flex: 4, valueField: 'UserCode', displayField: 'CodeAndName' }); this.comboxAuditor = Ext.create('DsExt.ux.RefTableCombox', { allowBlank: false, fieldLabel: '审单人', store: this.storeUser, name: 'Auditor', valueField: 'UserCode', displayField: 'CodeAndName' }); //this.storeCompany = Ext.create('DsExt.ux.RefTableStore', { // model: 'companymb', // proxy: { url: '/CommMng/BasicDataRef/GetcompanyList' } //}); ////this.storeCompany.load({ params: { condition: ""} }); //this.comboxCompany = Ext.create('DsExt.ux.RefTableCombox', { // fieldLabel: '用证公司', // disabled: true, // forceSelection: true, // store: this.storeCompany, // name: 'company', // valueField: 'gid', // displayField: 'name', // listeners: { // focus: function (field, newValue, oldValue) { // if (this.storeCompany.getCount() <= 1) { // this.storeCompany.load(); // } // }, // scope: this // } //}); this.storeSeller = Ext.create('DsExt.ux.RefTableStore', { model: 'Tradermb', proxy: { url: '/CommMng/BasicDataRef/GetTrader' } }); this.storeSeller.load({ params: { condition: " isagent=1"} }); this.comboxSeller = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '贸易商', disabled: true, forceSelection: true, store: this.storeSeller, name: 'seller', valueField: 'name', displayField: 'codename', listeners: { blur: function (field, newValue, oldValue) { if (field.displayTplData[0].ISSTOP=="True"){ alert("该往来单位已经停用"); } }, scope: this } }); this.storeBuyer = Ext.create('DsExt.ux.RefTableStore', { model: 'Tradermb', proxy: { url: '/CommMng/BasicDataRef/GetTrader' } }); this.storeBuyer.load({ params: { condition: " isagentcn=1 "} }); this.comboxBuyer = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '客户(购货方)', disabled: true, forceSelection: true,readOnly:true, store: this.storeBuyer, name: 'buyer', valueField: 'name', displayField: 'codename', listeners: { blur: function (field, newValue, oldValue) { if (field.displayTplData[0].ISSTOP=="True"){ alert("该往来单位已经停用"); } }, scope: this } }); this.storeTRADINGAGENCY = Ext.create('DsExt.ux.RefTableStore', { model: 'Tradermb', proxy: { url: '/CommMng/BasicDataRef/GetTrader' } }); this.storeTRADINGAGENCY.load({ params: { condition: " ISTRADINGAGENCY=1 "} }); this.comboxTRADINGAGENCY = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '订货方(中间商)', disabled: true, forceSelection: true, store: this.storeTRADINGAGENCY, name: 'TRADINGAGENCY', valueField: 'name', displayField: 'codename', listeners: { blur: function (field, newValue, oldValue) { if (field.displayTplData[0].ISSTOP=="True"){ alert("该往来单位已经停用"); } }, scope: this } }); this.storeInspection_Buyer = Ext.create('DsExt.ux.RefTableStore', { model: 'Tradermb', proxy: { url: '/CommMng/BasicDataRef/GetTrader' } }); this.storeInspection_Buyer.load({ params: { condition: "" } }); this.comboxInspection_Buyer = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '商检收货单位',flex:1,disabled: true, forceSelection: true, store: this.storeInspection_Buyer, name: 'Inspection_Buyer', valueField: 'name', displayField: 'codename',readOnly:true }); this.storeContainerType = Ext.create('DsExt.ux.RefTableStore', { model: 'DsTruckMng.ux.CtnRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCtnDispList' } }); this.storeContainerType.load({ params: { condition: ""} }); this.comboxContainerType = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '箱型', store: this.storeContainerType, name: 'CTN', valueField: 'CtnName', //disabled: true, displayField: 'CtnName' }); //#endregion //国内港口(出口装货港、进口卸货港) this.storeCodeLoadport = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CodeLoadportModel', proxy: { url: '/CommMng/BasicDataRef/GetCodeLoadportList' } }); this.storeCodeLoadport.load(); this.comboxPORTDISCHARGE = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '起运港', store: this.storeCodeLoadport, name: 'PORTLOAD', valueField: 'PORT', queryMode: 'remote', minChars: 1, queryParam: 'PORT', displayField: 'PORT' }); ///商务汇率 取当日的应付汇率 this.storeExchangerate = Ext.create('DsExt.ux.RefTableStore', { model: 'MsCurrencyExchange', proxy: { url: '/MvcShipping/MsCurrencyExchange/GetExchangeRate' } }); this.comboxExchangerate = Ext.create('DsExt.ux.DCombox', { store: this.storeExchangerate, name: 'Exchangerate', //id: "ISPAYED", matchFieldWidth: false, forceSelection: false, valueField: 'CRVALUE', displayField: 'CrRef' }); ///海关汇率 取到港日的海关汇率 this.storeExchangerate2 = Ext.create('DsExt.ux.RefTableStore', { model: 'MsCurrencyExchange', proxy: { url: '/MvcShipping/MsCurrencyExchange/GetExchangeRate' } }); this.comboxExchangerate2 = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeExchangerate2, name: 'Exchangerate_Customs', //id: "ISPAYED", matchFieldWidth: false, forceSelection: false, valueField: 'CUSTOMVALUE', displayField: 'CustomRef' }); //#region 编辑form:formEdit this.formEdit = Ext.widget('form', { // layout: "border", title:'业务基础信息', region: 'north', height:435, collapsed: false, collapsible: true, frame: true, bodyPadding: 3, trackResetOnLoad: true, fieldDefaults: { margins: '2 2 2 2', labelAlign: 'right', flex: 1, labelWidth: 90, msgTarget: 'qtip' //,split:true }, items: [ {//fieldset 1 xtype: 'fieldset', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [{//container_1 xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '合同序列号', // allowBlank: false, disabled: true,flex:4, name: 'ContractNo' }, { fieldLabel: '合同号', flex: 4, name: 'HTH' }, { fieldLabel: '合同日期', format: 'Y-m-d', xtype: 'datefield', renderer: Ext.util.Format.dateRenderer('Y-m-d'), flex: 4, name: 'HTDATE' }, this.comboxCreator,{ fieldLabel: '接单时间', disabled: true, format: 'Y-m-d', xtype: 'datefield', flex: 4, renderer: Ext.util.Format.dateRenderer('Y-m-d'), name: 'creattime' }, /**/{ fieldLabel: 'id', name: 'id', flex: 0, hidden: true, margins: '0' }, { fieldLabel: 'cgid', name: 'cgid', flex: 0, hidden: true, margins: '0' }, { fieldLabel: '时间戳', name: 'TimeMark', flex: 0, hidden: true, margins: '0' } ] }, //container_1 end { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ this.comboxMainstate, //this.comboxCompany, { name: 'companyname', fieldLabel: '用证公司', readOnly:true }, { name: 'company', fieldLabel: 'company', hidden: true }, this.comboxCountry, //this.comboxPrinted, this.comboxport] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [this.comboxAuditor, { fieldLabel: '审单时间', format: 'Y-m-d H:i:s', xtype: 'datefield', renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'), name: 'Audittime' },{ fieldLabel: '提单号', name: 'BillNo' },{ xtype : 'checkbox',flex:1, fieldLabel: '提单号可重复', name: 'MBLNOREPEAT' }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '提单时间', disabled: true, format: 'Y-m-d', xtype: 'datefield', renderer: Ext.util.Format.dateRenderer('Y-m-d'), name: 'BillTime' },{ fieldLabel: '箱号', name: 'ContainerNo' }, { fieldLabel: '铅封号', name: 'SealNo' },this.comboxMZBZ ] },{ xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [this.comboxSeller, this.comboxBuyer, this.comboxTRADINGAGENCY, { fieldLabel: '双抬头', disabled: true, name: 'STT' } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [this.comboxShipCompany,{ fieldLabel: '免箱期(日)',disabled: true, name: 'Freetime', },{ fieldLabel: '船名', //disabled: true, name: 'Vessel' }, { fieldLabel: '航次', //disabled: true, name: 'Voyage' } ] }, { xtype: 'container', layout: 'hbox', items: [{ fieldLabel: '预计开船日', disabled: true, format: 'Y-m-d', xtype: 'datefield', renderer: Ext.util.Format.dateRenderer('Y-m-d'), name: 'Ex_sailingdate' }, { fieldLabel: '开船日期', format: 'Y-m-d', xtype: 'datefield', name: 'Sailingdate' }, { fieldLabel: '到港日期', format: 'Y-m-d H:i:s', xtype: 'datefield', name: 'ArrivalDate' },this.comboxSecurityDeposit] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '卫生证序列号', name: 'CIQ_licence' },this.comboxCIQ_canbesearch, this.comboxTransactionMethod, this.comboxPaymentMethods ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [this.comboxTradeCountry, { fieldLabel: '卫生证签发日期', format: 'Y-m-d',//readOnly:true, xtype: 'datefield', name: 'CIQDATE' },{ flex:1,//readOnly:true, fieldLabel: '兽医官签字', name: 'VSIGN' }, this.comboxPORTDISCHARGE ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ { fieldLabel: '备注', name: 'remark',id:"remark" },{ fieldLabel: '回空日期', format: 'Y-m-d', xtype: 'datefield', name: 'RecDate',hidden:true }, { fieldLabel: '港口天数', name: 'PortDays', readOnly:true,hidden:true }] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ this.comboxContainerType ,{ fieldLabel: '国外寄单快递号', name: 'BILLTRANCNO',id:"BILLTRANCNO" }, this.comboxBillType ,{xtype:'hiddenfield',flex:1}] }, { xtype: 'container', layout: 'hbox', readOnly : true, defaultType: 'textfield', items: [{ fieldLabel: '报检号',disabled: true, name: 'inspection_no', flex:1 },this.comboxInspection_Buyer ,{ fieldLabel: '商检_电话',disabled: true, name: 'Inspection_Tel',flex:1 },{ fieldLabel: '商检_Email',disabled: true, name: 'Inspection_Email',flex:1 }] } , { xtype: 'container', layout: 'hbox', readOnly : true, defaultType: 'textfield', items: [{ fieldLabel: '商检_联系人',disabled: true, name: 'Inspection_Contacter', flex:1 },{ fieldLabel: '商检_组织机构代码',disabled: true, name: 'Inspection_Code',flex:1 },{ fieldLabel: '商检_送货地址',disabled: true, name: 'Inspection_DeliveryAddress',flex:2 }] } , { xtype: 'container', layout: 'hbox', readOnly : true, defaultType: 'textfield', items: [{ xtype : 'checkbox',flex:1, fieldLabel: '已有合同', name: 'HaveContract' }, { xtype : 'checkbox',flex:1, fieldLabel: '有商品标签', name: 'HaveCargoMark' },{ fieldLabel: '寄单情况', name: 'Receiptremark', flex:6 }, { xtype : 'checkbox',flex:1, fieldLabel: '已做样本清单', name: 'HAVESAMPLE' }, { xtype : 'checkbox',flex:1, fieldLabel: '样本清单已检查', name: 'CHECKSAMPLE' }] } ]//end items(fieldset 1) }//end fieldset 1 ]//end root items }); //end this.formEdit //#endregion //#region 明细 <<<< 商品 >>>> //#region 相关参照 this.storeCargoinfo = Ext.create('DsExt.ux.RefTableStore', { model: 'CargoTax', proxy: { url: '/CommMng/BasicDataRef/GetCargoTax' } }); // this.storeCargoinfo.load({ params: { condition: ""} }); this.comboxCargoinfo = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeCargoinfo, name: 'Cargoinfo_id', valueField: 'id', displayField: 'codeandname' //HS代码 }); this.storeCargociq = Ext.create('DsExt.ux.RefTableStore', { model: 'CargociqRef', proxy: { url: '/CommMng/BasicDataRef/GetCargociqRefList' } }); this.storeCargociq.load({ params: { condition: ""} }); this.comboxCargociq = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeCargociq, name: 'Cargociq_id', valueField: 'id', displayField: 'codeandname' //ciq代码 }); this.storecurr = Ext.create('DsExt.ux.RefTableStore', { model: 'currRef', proxy: { url: '/CommMng/BasicDataRef/GetcurrRefList' } }); this.storecurr.load({ params: { condition: ""} }); this.comboxcurr = Ext.create('DsExt.ux.RefTableCombox', { store: this.storecurr, name: 'currid', valueField: 'gid', displayField: 'codename' //币别 }); //枚举参照 this.storeUnit = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeUnit.load({ params: { enumTypeId: 11} }); this.comboxUnit = Ext.create('DsExt.ux.RefEnumCombox', { store: this.storeUnit, name: 'Unit' }); this.storepaypart = Ext.create('DsExt.ux.RefEnumStore', {}); this.storepaypart.load({ params: { enumTypeId: 12} }); this.comboxpaypart = Ext.create('DsExt.ux.RefEnumCombox', { store: this.storepaypart, name: 'paypart' }); this.storeExporter = Ext.create('DsExt.ux.RefTableStore', { model: 'Tradermb', proxy: { url: '/CommMng/BasicDataRef/GetTrader' } }); this.storeExporter.load({ params: { condition: " isenterp=1 "} }); this.comboxExporter = Ext.create('DsExt.ux.RefTableCombox', { //fieldLabel: '出口商', forceSelection: true, store: this.storeExporter, name: 'Exporter', valueField: 'name', displayField: 'codeEnName' }); this.storeFactoryNo = Ext.create('DsExt.ux.RefTableStore', { model: 'FactoryNomb', proxy: { url: '/Import/CargoName/GetFactoryNoList' } }); this.storeFactoryNo.load({ params: { start:0,limit:5000,condition: ""} }); this.comboxFactoryNo = Ext.create('DsExt.ux.RefTableCombox', { //fieldLabel: '厂号', //autosize: true, //bodyPadding: 5, //flex: 1, //forceSelection: true, width: 100, //labelWidth: 90, store: this.storeFactoryNo, //queryMode: 'local', //triggerOnClick: false, name: 'FactoryNo', valueField: 'FACTORYNO', displayField: 'FACTORYNO' }); this.storeCargoName = Ext.create('DsExt.ux.RefTableStore', { model: 'CargoName_Cnmb', proxy: { url: '/Import/CargoName/GetCargoNameList' } }); //this.storeCargoName.load({ params: { condition: ""} }); this.comboxCargoName = Ext.create('DsExt.ux.RefTableCombox', { //fieldLabel: '出口商', forceSelection: true, store: this.storeCargoName, name: 'name', valueField: 'CNNAME', displayField: 'CNNAME' }); this.storeCargoName_EN = Ext.create('DsExt.ux.RefTableStore', { model: 'CargoName_Enmb', proxy: { url: '/Import/CargoName/GetCargoNameList' } }); this.comboxCargoENName = Ext.create('DsExt.ux.RefTableCombox', { forceSelection: true, store: this.storeCargoName_EN, name: 'Ename', valueField: 'ENNAME', displayField: 'ENNAME' }); //商品规格 20160420 this.storeSPECIFICATIONS = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeSPECIFICATIONS.load({ params: { enumTypeId: 34} }); this.comboxSPECIFICATIONS = Ext.create('DsExt.ux.RefEnumCombox', { store: this.storeSPECIFICATIONS, forceSelection: true, name: 'SPECIFICATIONS', valueField: 'EnumValueName', displayField: 'EnumValueName' }); //#endregion //数据集 this.storeCargo = Ext.create('Ext.data.Store', { model: 'Cargomb', remoteSort: false, proxy: { type: 'ajax', url: '/Import/XXH/GetCargoList_Audit', reader: { id: 'id,ContractNo', root: 'data', totalProperty: 'totalCount' } } }); this.Cargocolumns= [{ dataIndex: 'id', header: '自增序列号', width: 80, hidden: true, editor: { xtype: 'textfield' } }, { dataIndex: 'ContractNo', header: '合同号', width: 80, hidden: true }, { dataIndex: 'SEQUENCE', header: '序号', width: 44, editor: { xtype: 'numberfield', //numberfield textfield selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } },{ dataIndex: 'Exporter', header: '出口商', width: 150, editor: this.comboxExporter, renderer: function(value){ if (value == "") { return " "; } return ""+value+""; } },{ dataIndex: 'FactoryNo', header: '厂号', width: 80, editor: this.comboxFactoryNo, renderer: function(value){ if (value == "") { return " "; } return ""+value+""; } },{ dataIndex: 'Ename', header: '英文品名', width: 100, editor: this.comboxCargoENName , renderer: function(value){ return ""+value+" "; } },{ dataIndex: 'name', header: '标签品名', width: 80, editor: this.comboxCargoName , renderer: function(value){ return ""+value+" "; } }, { dataIndex: 'TAGPICURL', header: '标签图片', width: 60, renderer: function (value, p, record) { if (value == '' || typeof (value) == "undefined") { //return ' 下载图片 '; } },{ dataIndex: 'SPECIFICATIONS', header: '商品规格', width: 60, editor: this.comboxSPECIFICATIONS }, { dataIndex: 'CargoType', header: '产品类型', width: 50 }, { dataIndex: 'cargoinfo_id', header: 'HS代码', renderer: function(value, p, record) { if (value == null || value == '') return ''; else return ""+record.data.cicodeandname+" "; }, //editor: this.comboxCargoinfo, width: 140 }, { dataIndex: 'cargociq_id', header: 'CIQ代码', renderer: function(value, p, record) { if (value == null || value == '') return ''; else return ""+record.data.ciqcodeandname+" "; }, //editor: this.comboxCargociq, width: 140 }, { dataIndex: 'Unit', header: '重量单位', renderer: function(value, p, record) { if (value == null || value == '') return " "; else return ""+record.data.UnitRef+""; }, editor: this.comboxUnit, width: 60 }, { dataIndex: 'currid', header: '币别', renderer: function(value, p, record) { if (value == null || value == '') { return " "; } else { return ""+record.data.codename+""; } }, editor: this.comboxcurr, width: 50 }, { dataIndex: 'Exchangerate', header: '汇率_商务', width: 75, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } },{ dataIndex: 'Exchangerate_Customs', header: '汇率_海关', width: 75, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } }, { dataIndex: 'U_PRICE', header: '单价(重量单位)', width: 80, //hidden: true, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'U_weight', header: '净重(重量单位)', width: 80, editor: { xtype: 'numberfield', allowDecimals: true, decimalPrecision: 6, selectOnFocus: true } }, { dataIndex: 'price', header: '单价(币别/kg)', width: 100, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ if (value == "") { return " "; } return ""+value+""; } }, { dataIndex: 'weight', header: '净重(kg)', width: 80, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ if (value == "") { return " "; } return ""+value+""; } }, { dataIndex: 'm_weight', header: '毛重', width: 50, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } }, { dataIndex: 'BoxCount', header: '箱/件数', width: 80, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'BoxWeight', header: '规格', width: 50, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'price_agio', header: '单价(差价价格)', width: 100, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'price_limit', header: '海关估价', width: 60, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } }, { dataIndex: 'AMOUNT_WRITEOFFS', header: '申证金额', width: 80, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ if (value == "") { return " "; } return ""+value+""; } }, { dataIndex: 'pay_Amount', header: '合同金额', width: 100, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ if (value == "") { return " "; } return ""+value+""; } }, { dataIndex: 'tax_Amount', header: '完税价格', width: 80, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } }, { dataIndex: 'baolv', header: '保率', width: 55, renderer: function(value){ return ""+value+" "; } }, { dataIndex: 'Amount', header: '合同金额(对客户)', width: 100, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } },{ dataIndex: 'PreProportion', header: '付预付比例%', width: 80, //hidden: true, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } }, { dataIndex: 'RecProportion', header: '收预付比例%', width: 80, //hidden: true, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function (value) { return "" + value + " "; } },{ dataIndex: 'prepayments', header: '预付款(应收)', width: 80, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } },{ dataIndex: 'balance', header: '尾款(应收)', width: 80, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } },{ dataIndex: 'pay_prepayments', header: '预付款(应付)', width: 80, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } },{ dataIndex: 'pay_balance', header: '尾款(应付)', width: 80, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } }, { dataIndex: 'Paypart', header: '付款方式', renderer: function(value, p, record) { if (value == null || value == '') return ''; else return record.data.paypartRef; }, editor: this.comboxpaypart, width: 50, renderer: function(value){ return ""+value+" "; } }, { dataIndex: 'tariff', header: '关税类型', width: 80, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } }, { dataIndex: 'tax', header: '关税税率', width: 80, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } }, { dataIndex: 'tax_cl', header: '从量税率', tooltip: '如从量税率不为零,则关税按照此标准(分/kg),而非关税税率进行计算', width: 60, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function (value) { return "" + value + " "; } }, { dataIndex: 'tax_zz', header: '增值税税率', width: 80, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } },{ dataIndex: 'tax_1', header: '关税(应收)', width: 80, renderer: function(value){ return ""+value+" "; }, editor: { xtype: 'numberfield', selectOnFocus: true, allowDecimals: true, decimalPrecision: 2 } }, { dataIndex: 'tax_zz_1', header: '增值税(应收)', width: 100, renderer: function(value){ return ""+value+" "; }, editor: { xtype: 'numberfield', selectOnFocus: true, allowDecimals: true, decimalPrecision: 2 } },{ dataIndex: 'tax_2', header: '关税(应付)', width: 100, renderer: function(value){ return ""+value+" "; }, editor: { xtype: 'numberfield', selectOnFocus: true, allowDecimals: true, decimalPrecision: 2 } }, { dataIndex: 'tax_zz_2', header: '增值税(应付)', width: 100, renderer: function(value){ return ""+value+" "; }, editor: { xtype: 'numberfield', selectOnFocus: true, allowDecimals: true, decimalPrecision: 2 } }, { dataIndex: 'Productiondate', header: '生产日期', width: 80, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ if (value == "") { return " "; } return ""+value+""; } }, { dataIndex: 'BZTCHNO', header: '批次号', width: 80, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'Declarenumber', header: '报关单号', width: 80, editor: { xtype: 'textfield', selectOnFocus: true }, renderer: function(value){ return ""+value+" "; } },{ dataIndex: 'REMARK', header: '备注', width: 140, editor: { xtype: 'textfield', selectOnFocus: true } }, { dataIndex: 'AGENCRATE',hidden:true, header: '代理费率(元/吨)', width: 80 }]; //表格 this.cellEditingCargo = Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 }); this.cargoCheckBoxModel = Ext.create('Ext.selection.CheckboxModel'); this.formCargo = new Ext.grid.GridPanel({ store: this.storeCargo, enableHdMenu: false, layout: "border", //region: 'center', anchor: '100% 50%', //collapsible: true, margin: '0 0', //height: 260, //title: '商品信息', split: true, loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, plugins: [this.cellEditingCargo], selModel: this.cargoCheckBoxModel, selType: 'cellmodel', tbar: [ '商品信息', { text: '增加明细', tooltip: '增加明细', iconCls: "btnadddetail", handler: function (button, event) { this.onAddCargoClick(button, event); }, scope: this }, '-', { text: '删除明细', tooltip: '删除明细', iconCls: "btndeletedetail", handler: function (button, event) { this.onDelCargoClick(button, event); }, scope: this }, { text: "保存列表样式", id: "btnsavelist", handler: function (button, event) { var tempcolumns = this.formCargo.columns; DsTruck.SaveGridPanel(USERID, _this.FormName_1, tempcolumns,1); }, scope: this }], columns: this.Cargocolumns }); this.Cargocolumns= DsTruck.GetGridPanel(USERID, this.FormName_1, this.Cargocolumns); //使用者id,表名 ,中间column数组,跳过一开始的几列 this.formCargo.reconfigure(this.storeCargo, this.Cargocolumns); this.formCargo.addListener('cellclick', function(view, cell, cellIdx, record, row, rowIdx, eOpts) { if(cellIdx === 4){ //alert(record.get('cargoinfo_id')); //if (!record.get('cargoinfo_id')>=0) return; var s=" cargoinfoid="+record.get('cargoinfo_id'); //alert(s); this.storeCargociq.load({ params: { condition: s} }); } }, this); /* listeners: { beforecellmousedown: function(view, cell, cellIdx, record, row, rowIdx, eOpts){ if(cellIdx === 1){ alert("dfd"); } } } */ //#endregion 明细<<<< 商品 >>>>结束 //#region 明细 <<<< 许可证使用 >>>> //表参照 可用许可证 this.storeApp = Ext.create('DsExt.ux.RefTableStore', { model: 'Appmb', proxy: { url: '/Import/XXH/GetApp' } }); this.comboxApp = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeApp, name: 'app_id', valueField: 'app_id', displayField: 'info' }); this.comboxCargo = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeCargo, name: 'cargo_id', valueField: 'id', displayField: 'name' }); this.storecancellation = Ext.create('DsExt.ux.RefEnumStore', {}); this.storecancellation.load({ params: { enumTypeId: 13} }); this.comboxcancellation = Ext.create('DsExt.ux.RefEnumCombox', { //fieldLabel: '许可证使用', store: this.storecancellation, name: 'cancellation' }); //结果集 this.storeAppstate = Ext.create('Ext.data.Store', { model: 'Appstatemb', remoteSort: false, proxy: { type: 'ajax', url: '/Import/XXH/GetAppstate', reader: { id: 'id', root: 'data', totalProperty: 'totalCount' } } }); //表格 this.AppStatecolumns= [ { hidden: true, dataIndex: 'id', header: 'id', width: 80 }, { dataIndex: 'SEQUENCE', header: '序号', width: 40 }, { hidden: true, dataIndex: 'ContractNo', header: 'ContractNo', width: 80 }, { dataIndex: 'app_id', header: '许可证号', renderer: function (value, p, record) { if (value == null || value == '') return ''; else return ""+record.data.appno+" "; }, //editor: this.comboxApp, width: 180 }, // { hidden: true, dataIndex: 'app_id', header: 'app_id', width: 80 }, { dataIndex: 'name', header: '商品手册名称', width: 80, renderer: function(value){ return ""+value+" "; } }, //this.comboxCargo, { dataIndex: 'cargo_id', header: '货名', renderer: function (value, p, record) { if (value == null || value == '') return ''; else return ""+record.data.cargoname;+" "; }, editor: this.comboxCargo, width: 80 }, { dataIndex: 'appweight', header: '许可证额度(吨)', width: 80, renderer: function(value){ return ""+value+" "; } }, { dataIndex: 'appremain', header: '未核销(吨)', width: 80, renderer: function(value){ return ""+value+" "; } }, { dataIndex: 'canbeused', header: '未配证(吨)', width: 80, renderer: function(value){ return ""+value+" "; } }, { dataIndex: 'country', header: '进口国', width: 80, renderer: function(value){ return ""+value+" "; } }, { dataIndex: 'weight', header: '使用重量(吨)' ,editor: { xtype: 'textfield', selectOnFocus: true } },{ dataIndex: 'cancellation', header: '许可证使用状态', renderer: function (value, p, record) { if (value == null || value == '') return ''; else return ""+record.data.cancellationRef+" "; }, editor: this.comboxcancellation, width: 100 },{ dataIndex: 'validdate', header: '有效期', width: 80, renderer: function(value){ return ""+value+" "; } } ] this.cellEditingAppstate = Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 }); this.formAppstate = new Ext.grid.GridPanel({ store: this.storeAppstate, enableHdMenu: false, //layout: "border", region: 'center', //height: 140, title: '许可证使用 (注意,商品信息保存后才能选择使用许可证和商品)', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, plugins: [this.cellEditingAppstate], selType: 'cellmodel', tbar: [{ text: "保存列表样式", id: "btnsavelist2", handler: function (button, event) { var tempcolumns = _this.formAppstate.columns; DsTruck.SaveGridPanel(USERID, _this.FormName_2, tempcolumns,1); }, scope: this }], columns: this.AppStatecolumns }); this.AppStatecolumns= DsTruck.GetGridPanel(USERID, this.FormName_2, this.AppStatecolumns); //使用者id,表名 ,中间column数组,跳过一开始的几列 this.formAppstate.reconfigure(this.storeAppstate, this.AppStatecolumns); //#endregion //#region 明细<<<< 单据表 >>>> //单据表表格相关 //#region 单据表用 枚举参照 this.storePaymentMethods = Ext.create('DsExt.ux.RefEnumStore', {}); this.storePaymentMethods.load({ params: { enumTypeId: 4} }); this.comboxPaymentMethods = Ext.create('DsExt.ux.RefEnumCombox', { fieldLabel: '付款方式', store: this.storePaymentMethods, name: 'PaymentMethods' }); this.storeReceiptid = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeReceiptid.load({ params: { enumTypeId: 2} }); this.comboxReceiptid = Ext.create('DsExt.ux.RefEnumCombox', { store: this.storeReceiptid, name: 'Receiptid' }); this.storeReceiptstate = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeReceiptstate.load({ params: { enumTypeId: 7} }); this.comboxReceiptstate = Ext.create('DsExt.ux.RefEnumCombox', { store: this.storeReceiptstate, name: 'state' }); //#endregion //单据表-数据集 this.storeReceipt = Ext.create('Ext.data.Store', { model: 'Receiptmb', remoteSort: false, proxy: { type: 'ajax', url: '/Import/XXH/GetReceiptList', reader: { id: 'id,ContractNo', root: 'data', totalProperty: 'totalCount' } } }); //单据表表格 this.cellEditingReceipt = Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 }); // this.ReceiptGridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel'); this.gridListReceipt = new Ext.grid.GridPanel({ store: this.storeReceipt, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, plugins: [this.cellEditingReceipt], selType: 'cellmodel', tbar: [{ text: '增加明细', tooltip: '增加明细', iconCls: "btnadddetail", handler: function (button, event) { this.onAddReceiptClick(button, event); }, scope: this }, '-', { text: '删除明细', tooltip: '删除明细', iconCls: "btndeletedetail", handler: function (button, event) { this.onDelReceiptClick(button, event); }, scope: this }/*, { text: 'AA', tooltip: 'AA', handler: function (button, event) { var selectedRecords = this.gridListReceipt.selModel.getSelection(); // alert(selectedRecords.length); }, scope: this }*/], columns: [ { sortable: true, hidden: true, dataIndex: 'id', header: 'id', width: 80 }, { sortable: true, hidden: true, dataIndex: 'ContractNo', header: 'ContractNo', width: 80 }, { sortable: true, dataIndex: 'Receiptid', header: '单据类型/名称', renderer: function (value, p, record) { if (value == null || value == '') return ''; else return record.data.ReceiptName; }, editor: this.comboxReceiptid, width: 80 }, { sortable: true, dataIndex: 'ReceiptNo', header: '单据编号', width: 100, editor: { xtype: 'textfield', selectOnFocus: true } }, { sortable: true, dataIndex: 'state', header: '收发状态', renderer: function (value, p, record) { if (value == null || value == '') return ''; else return record.data.statename; }, editor: this.comboxReceiptstate, width: 80 }, { sortable: true, dataIndex: 'Send_date', header: '发出时间', width: 80, renderer: Ext.util.Format.dateRenderer('Y-m-d'), editor: { format: 'Y-m-d', xtype: 'datefield', selectOnFocus: true } }, { sortable: true, dataIndex: 'receive_date', header: '收到时间', editor: { xtype: 'datefield', format: 'Y-m-d', selectOnFocus: true }, renderer: Ext.util.Format.dateRenderer('Y-m-d'), width: 80 }, { sortable: true, dataIndex: 'repeat_date', header: '回复时间', width: 80, renderer: Ext.util.Format.dateRenderer('Y-n-j'), editor: { format: 'Y-n-j', xtype: 'datefield' } }, { sortable: true, dataIndex: 'trancer', header: '快递公司', width: 80, editor: { xtype: 'textfield' } }, { sortable: true, dataIndex: 'trancNo', header: '快递号', width: 80, editor: { xtype: 'textfield' } } ] }); //#endregion //#region 明细表 审单状态 //#region 明细表表格相关 this.storeFeeTypeRef = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeFeeTypeRef.load({ params: { enumTypeId: 99020} }); this.comboxFeeTypeRef = Ext.create('DsExt.ux.RefEnumCombox', { store: this.storeFeeTypeRef, name: 'FeeType' }); this.storeFeeNameRef = Ext.create('DsExt.ux.RefTableStore', { model: 'DsTruckMng.ux.FeeTypeRefModel', proxy: { url: '/CommMng/BasicDataRef/GetFeeTypeRefList' } }); this.storeFeeNameRef.load({ params: { condition: ""} }); 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: 'DsTruckMng.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetTrader' } }); this.storeCustomerNameRef.load({ params: { condition: "isnull(ISSTOP,0)=0"} }); this.comboxCustomerNameRef = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeCustomerNameRef, forceSelection: true, name: 'CustomerName', valueField: 'name', displayField: 'codename' }); Ext.define('ASmb', { extend: 'Ext.data.Model', fields: [ { name: 'ASName', type: 'string' } ] }); var ASData = [{ "ASName": "NO" }, { "ASName": "OK" } ]; this.storeAS = Ext.create('Ext.data.Store', { model: 'ASmb', data: ASData }); this.comboxAS = Ext.create('DsExt.ux.RefEnumCombox', { //fieldLabel: '收付类型', forceSelection: true, store: this.storeAS, name: 'AUDITSTATUS', valueField: 'ASName', displayField: 'ASName' }); this.storeAS2 = Ext.create('Ext.data.Store', { model: 'ASmb', data: ASData }); this.comboxAS2 = Ext.create('DsExt.ux.RefEnumCombox', { //fieldLabel: '收付类型', forceSelection: true, store: this.storeAS2, name: 'AUDITSTATUS', valueField: 'ASName', displayField: 'ASName' }); //#endregion //明细表-数据集 this.storeAuditStatus = Ext.create('Ext.data.Store', { model: 'AuditStatusmb', remoteSort: false, proxy: { type: 'ajax', url: '/Import/audit/GetAuditStatusList', reader: { id: 'GID', root: 'data', totalProperty: 'totalCount' } } }); this.storeAuditStatusBody = Ext.create('Ext.data.Store', { model: 'AuditStatusBodymb', remoteSort: false, proxy: { type: 'ajax', url: '/Import/audit/GetAuditStatusBodyList', reader: { id: 'GID', root: 'data', totalProperty: 'totalCount' } } }); //明细表表格 this.cellEditingAuditStatus_Body = Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 }); this.AuditStatusBody_CBM = Ext.create('Ext.selection.CheckboxModel'); this.gridAuditStatus = new Ext.grid.GridPanel({ store: this.storeAuditStatus, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, selType: 'cellmodel', viewConfig: { autoFill: true }, tbar: [/*{ text: '增加明细', tooltip: '增加明细', iconCls: "btnadddetail", handler: function (button, event) { this.onAddDetailClick(button, event, '2'); }, scope: this }, '-', { text: '删除明细', tooltip: '删除明细', iconCls: "btndeletedetail", handler: function (button, event) { this.onDelDetailClick(button, event, '2'); }, scope: this }, '-', { text: '提交审核', tooltip: '提交审核', iconCls: 'btnsubmitaudit', handler: function (button, event) { this.onSubmitAuditClick(button, event); }, scope: this }*/], columns: [{ sortable: true, dataIndex: 'GID', header: 'GID', hidden: true, width: 160 }, { sortable: true, dataIndex: 'BSNO', header: '业务序列号', hidden: true, width: 200 }, { sortable: true, dataIndex: 'RECEIPTNAME', header: '单据名称', width: 66 }, { sortable: true, dataIndex: 'AUDITSTATUS', header: 'CHECK 状态', width: 45, editor:this.comboxAS2, renderer: function (value) { if (value == "NO") { return ""+value+""; } else if (value == "OK") { return ""+value+""; } } }, { sortable: true, dataIndex: 'CZSTATUS', header: 'CORRECTION 修改明细', width: 250 }, { sortable: true, dataIndex: 'MODIFIEDTIME', header: 'TIME 审单时间', renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'), width: 100 }, { sortable: true, dataIndex: 'MODIFIEDUSER', header: '审单人', width: 66 } ] }); this.gridAuditStatusBody = new Ext.grid.GridPanel({ store: this.storeAuditStatusBody, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, plugins: [this.cellEditingAuditStatus_Body], selType: 'cellmodel', selModel: this.AuditStatusBody_CBM, viewConfig: { autoFill: true }, tbar: [{ text: '增加明细', tooltip: '增加明细', iconCls: "btnadddetail", handler: function (button, event) { this.addAuditStatusBody(button, event); }, scope: this },{ // id: "saveandclose", text: "保存", iconCls: "btnsave", handler: function (button, event) { this.Save('0'); }, scope: this }, '-', { text: '删除明细',hidden:true, tooltip: '删除明细', iconCls: "btndeletedetail", handler: function (button, event) { this.deleteAuditStatusBody(button, event); }, scope: this }, '-', { xtype: "label", id: "ReceiptName", text: "", handler: function () { ; } }], columns: [{ sortable: true, dataIndex: 'GID', header: 'GID', hidden: true, width: 160 }, { sortable: true, dataIndex: 'BSNO', header: '业务序列号', hidden: true, width: 200 }, { sortable: true, dataIndex: 'LINKID', header: 'LINKID', hidden: true, width: 66 }, { sortable: true, dataIndex: 'AUDITSTATUS', header: 'CHECK 状态', editor:this.comboxAS, width: 45, renderer: function (value) { if (value == "NO") { return ""+value+""; } else if (value == "OK") { return ""+value+""; } } }, { sortable: true, dataIndex: 'CZSTATUS', header: 'CORRECTION 修改明细', editor: { xtype: 'textfield', selectOnFocus: true }, width: 250 }, { sortable: true, dataIndex: 'MODIFIEDTIME', header: 'TIME 审单时间', renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'), editor: { xtype: 'datetimefield', selectOnFocus: true }, width: 100 }, { sortable: true, dataIndex: 'MODIFIEDUSER', header: '审单人', width: 66 } ] }); //#endregion //公共按钮Toolbar:panelBtn this.panelBtn = new Ext.Panel({ region: "north", tbar: [ { // id: "saveandclose", text: "保存",disabled:true,id:"SAVE1", handler: function (button, event) { this.Save('0'); }, scope: this }, { // id: "saveandclose", text: "保存并关闭",disabled:true,id:"SAVE2", handler: function (button, event) { this.Save('1'); }, scope: this },/* { // id: "saveandclose", text: "保存并新建", handler: function (button, event) { this.Save('2'); }, scope: this },{ // id: "saveandclose", text: "保存并新建类似合同", handler: function (button, event) { this.Save('3'); }, scope: this }, */'-', { // id: "saveandclose", text: "关闭", handler: function (button, event) { window.close(); }, scope: this }, '-', { // id: "saveandclose", text: "打印", handler: function (button, event) { this.Print(); }, scope: this } ] }); //end 按钮Toolbar //布局 /* 3 */ this.panelTop = new Ext.Panel({ layout: "border", region: "north", height: 32, items: [this.panelBtn]//, this.formEdit] }); this.panelBodyReceipt = new Ext.Panel({ title: '票据管理', layout: "border", region: 'center', margin: '5 10', items: [this.gridListReceipt] }); this.panelAuditStatusMain = new Ext.Panel({ title: 'DOCUMENTS 单据种类', layout: "border", region: 'west', margin: '0 0', split: true, width: 540, items: [this.gridAuditStatus] }); this.panelAuditStatusBody = new Ext.Panel({ layout: "border", region: 'center', margin: '0 0', //height: 450, width: 450, split: true, items: [this.gridAuditStatusBody] }); this.panelAuditStatus = new Ext.Panel({ // layout: "border", region: 'center', margin: '0 0', height: 600, //width: 450, split: true, items: [this.panelAuditStatusMain, this.panelAuditStatusBody] }); this.panelformAppstate = new Ext.Panel({ // title: '货物信息和许可证使用', //layout: "border", //region: 'center', layout: "border", anchor: '100% 50%', margin: '0 0', //height: 320, split: true, //autoScroll: true, items: [this.formAppstate] }); this.panelCargoandApp = new Ext.Panel({ // title: '货物信息和许可证使用', layout: "anchor", region: 'center', //margin: '3 3', //height: 420, autoScroll: true, split: true, items: [this.formCargo, this.panelformAppstate] }); this.page_1 = new Ext.Panel({ title: "合同基础信息", autoScroll: true, layout: "border", region: 'center', autoScroll: true, split: true, items: [this.formEdit, this.panelCargoandApp] }); this.page_2 = new Ext.Panel({ title: "票据管理", items: [this.gridListReceipt] }); this.page_3 = new Ext.Panel({ title: "审单状态", //autoScroll: true, layout: "border", region: 'center', items: [this.panelAuditStatus] }); this.panelReceipt = new Ext.Panel({ layout: "border", region: "center", items: [this.panelBodyReceipt] }); this.MainTab = new Ext.tab.Panel({ layout: "border", region: "center", items: [this.page_1 , this.page_2 , this.page_3 ] }) Ext.apply(this, { items: [this.panelTop, this.MainTab] }); parentWin = window.parent.opener; this.InitData(); //集中绑定编辑后事件 this.gridListReceipt.on('edit', function (editor, e, eOpts) { this.ReceiptAfterEdit(editor, e, eOpts); }, this); this.formCargo.on('edit', function (editor, e, eOpts) { this.CargoAfterEdit(editor, e, eOpts); }, this); this.cellEditingCargo.on('beforeedit', function (editor, e) { return this.CargoBeforeEdit(editor, e); }, this); this.formAppstate.on('edit', function (editor, e, eOpts) { this.AppstateAfterEdit(editor, e, eOpts); }, this); /* this.formKC.on('edit', function (editor, e, eOpts) { this.KCAfterEdit(editor, e, eOpts); }, this);*/ var _this=this; Ext.getCmp("remark").on('render', function(c){ c.getEl().on('dblclick', function(){ //alert('double click test'); var Remark = _this.formEdit.getForm().findField('remark').getValue(); _this.formEdit.getForm().findField('remark').setValue("审单:OK"+Remark); }); }); this.gridAuditStatus.getSelectionModel().on('select', function (model, record, index) { var BodyDirty=DsTruck.GetDirty(this.storeAuditStatusBody,this.AuditStatusBodyDel); if (BodyDirty== true){ alert("请先保存再接换项目"); return; }else{ var LINKID=record.data.GID; this.AuditStatusGID=LINKID; this.AuditRECEIPTNAME=record.data.RECEIPTNAME; Ext.getCmp("ReceiptName").setText(" 审单项目: "+this.AuditRECEIPTNAME); this.storeAuditStatusBody.load({ params: { condition: " LINKID='"+LINKID+"'"} }); } }, this); this.gridAuditStatusBody.on('edit', function (editor, e, eOpts) { this.AuditStatusBodyAfterEdit(editor, e, eOpts); }, this); }, //end initUIComponents //#region 商品表的相关方法 onAddCargoClick: function (button, event) { var TransactionMethod = this.formEdit.getForm().findField('TransactionMethod').getRawValue(); var baolv='1.000'; if (TransactionMethod=='CFR') { baolv='1.003'; } var _r=this.reLine(); var record = Ext.create('Cargomb', { 'id': '', 'ContractNo': '', 'cargoinfo_id': '', 'SEQUENCE': _r, 'name': '', 'price': '0', 'price_agio': '0', 'price_limit': '0', 'amount': '0', 'weight': '', 'Unit':'0', 'UnitRate':'1', 'BoxCount': '0', 'BoxWeight': '0', 'Exporter': '', 'FactoryNo': '', 'Productiondate': '', 'baolv':'1.000', 'tax':'0.0', 'tax_zz':'0.0', 'Unit':'0', 'currid':'740DF21C-BDE4-4C3E-A258-683A183AD3B4', 'UnitRef':'KG', 'codename':'USD', 'Exchangerate':'6.15' }); this.storeCargo.add(record); var n = this.storeCargo.getCount(); this.cellEditingCargo.startEditByPosition({ row: n - 1, column: 2 }); }, onDelCargoClick: function (button, event) { var selectedRecords = this.formCargo.selModel.getSelection(); Ext.MessageBox.confirm('提示', '确定删除记录吗?', function (btn) { if (btn == 'yes') { var _Used=0; for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; var cargo_id=rec.data.id; if (cargo_id==""||cargo_id==null){ //continue; }else{ Ext.Ajax.request({ waitMsg: '正在查询数据...', url: '/CommMng/BasicDataRef/GeneralSelect', scope: this, async:false, params: {condition: "select Count(*) GVALUE,'' as GID from Import_appstate where isnull(cancellation,0)=0 and cargo_id="+cargo_id+" "} , waitMsg: "正在查询数据...", callback: function (options, success, response) { var result = Ext.JSON.decode(response.responseText); _Used=parseFloat(result.data[0].GVALUE); } }); } if (parseFloat( _Used)>0){ alert("此商品已配证,不能删除"); }else{ if (rec.ContractNo != "" || rec.ContractNo != "*") //如果是新增但没有保存的数据,没有必要提交到后台 { this.CargoDel.push(rec); } this.storeCargo.remove(selectedRecords[i]); } } var _r=this.reLine(); } }, this); }, reLine: function (button, event) { var _L=1; this.storeCargo.each(function(record) { var ln=_L+""; _L=_L+1; record.set('SEQUENCE',ln); }); }, onKCStartClick: function (button,event){//初始化库存, Ext.MessageBox.confirm('提示', '这将会清空该货物的所有库存重新开始记录。确定初始化库存吗?', function (btn) { if (btn == 'yes') { var selectedRecords = this.formCargo.selModel.getSelection(); if (selectedRecords.length==0){ alert('请选择至少一条商品记录'); return; } var cargoidlist=''; for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; if (i==0) { cargoidlist=rec.get('id'); } else { cargoidlist=cargoidlist+','+rec.get('id'); } } Ext.Ajax.request({// waitMsg: '正在初始化库存数据...', url: '/Import/XXH/KCStart', params: { cargo_id: cargoidlist }, callback: function (_count) { //alert('初始化完成'); //重新load库存表的store this.storeKC.load({ params: { condition: this.editRecord.get('ContractNo')} }); }, scope: this });//request over } }, this);//确认窗口over }, onbtnCWStartClick: function(button, event) { //初始化应收应付, Ext.MessageBox.confirm('提示', '这将会在应收应付列表增加一些内容,如不保存就不会真正增加。确定吗?', function(btn) { if (btn == 'yes') { // addChFee: function(FeeType,Currency,FeeName,price,Quantity) /* var selectedRecords = this.formCargo.selModel.getSelection(); Ext.MessageBox.confirm('提示', '确定删除记录吗?', function(btn) { if (btn == 'yes') { for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; alert(rec.ContractNo); if (rec.ContractNo != "" || rec.ContractNo != "*") //如果是新增但没有保存的数据,没有必要提交到后台 { this.CargoDel.push(rec); } this.storeCargo.remove(selectedRecords[i]); } } }, this);*/ var selectedRecords = this.formCargo.selModel.getSelection(); for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; this.addChFee(1,rec.get('codename'),'预付款',rec.get('prepayments'),1,'单价'+rec.get('price')+'*重量'+rec.get('weight')+'='+rec.get('Amount')); this.addChFee(1,rec.get('codename'),'尾款',rec.get('balance'),1,''); this.addChFee(2,rec.get('codename'),'预付款',rec.get('prepayments'),1,''); var Buybalance=parseFloat(rec.get('pay_Amount'))-parseFloat(rec.get('prepayments')) this.addChFee(2,rec.get('codename'),'尾款',Buybalance,1,'差价'+rec.get('price_agio')+' 付贸易商购货款'+rec.get('pay_Amount')); this.addChFee(1,'RMB','代理费',300,(rec.get('weight')/1000).toFixed(4)); this.addChFee(1,'RMB','THC',1280,1); this.addChFee(1,'RMB','拖车费',1400,1); this.addChFee(1,'RMB','验货费',620,1); //var tax=parseFloat(rec.get('tax_Amount'))*parseFloat(rec.get('tax')); var priceandtax=parseFloat(rec.get('tax_Amount'))*(1+parseFloat(rec.get('tax'))); var tax=parseFloat(rec.get('tax_Amount'))*(parseFloat(rec.get('tax'))); this.addChFee(1,rec.get('codename'),'关税',rec.get('tax_Amount'),rec.get('tax'),'海关估价'+rec.get('price_limit')+' 完税价格'+rec.get('tax_Amount')); this.addChFee(1,rec.get('codename'),'增值税',priceandtax.toFixed(2),rec.get('tax_zz'),'完税价格'+rec.get('tax_Amount')+'+关税'+tax.toFixed(2)+'='+priceandtax.toFixed(2)); this.addChFee(2,rec.get('codename'),'关税',rec.get('tax_Amount'),rec.get('tax')); this.addChFee(2,rec.get('codename'),'增值税',priceandtax.toFixed(2),rec.get('tax_zz')); } /* //alert(this.editRecord.get('ContractNo')) Ext.Ajax.request({ // waitMsg: '正在初始化应收应付...', url: '/Import/XXH/CWStart', params: { ContractNo: this.editRecord.get('ContractNo') }, callback: function(_count) { //alert('初始化完成'); //重新load库存表的store this.storeBodyChFee.load({ params: { billno: this.editRecord.get('ContractNo') } }); }, scope: this }); //request over */ } }, this); //确认窗口over }, addChFee: function(FeeType,Currency,FeeName,price,Quantity,Remark) { var _CustomerName=''; if (FeeType==1) { var _FeeType=1; var _FeeType_Ref='应收'; _CustomerName=this.getCustName(); } else { var _FeeType=2; var _FeeType_Ref='应付'; _CustomerName=this.getSellerName(); if (FeeName=='关税'||FeeName=='增值税'){_CustomerName='报关行';} //CustomerName: this.formEdit.getForm().findField('seller'); }; //var _Amount=price*Quantity; var _Amount=0; record = Ext.create('MsChFee', { GId: NewGuid(), BsNo: '*', FeeStatus: 1, FeeStatus_Ref: '录入状态', FeeType: _FeeType, FeeType_Ref: _FeeType_Ref, FeeName: FeeName, FeeName_Ref: '', FeeDescription: '', CustomerType: '', CustomerName: _CustomerName, //this.formEdit.getForm().findField('buyer'); CustomerName_Ref: '', Unit: '', price: 0, UnitPrice: price, Quantity: Quantity, Amount: _Amount, Currency: Currency, ExChangerate: 1, Reason: '', Remark: Remark, Commissionrate: 0, Settlement: 0, Invoice: 0, OrderAmount: 0, OrderInvoice: 0, SubmitDate: null, Auditoperator: '', AuditDate: null, EnteroPerator: GetCookie_UserId(), EnterDate: null, DebitNo: '', IsDebit: "0", IsOpen: "0", IsAdvancedpay: "0", Sort: "0", IsInvoice: "0", FeeFrt: '', IsCrmOrderFee: "0", AuditStatus: 0, InvoiceNum: '', ChequeNum: '', WmsOutBsNo: '' }); this.storeBodyChFee.add(record); }, CargoAfterEdit: function(editor, e, eOpts) { //if (e.value==e.originalValue){return;} function decimal(str,length){ var _r=round2(str,length); return(_r); } var _this=this; var cargo_id = e.record.get('id'); APPUsing=0; if (cargo_id==""||cargo_id==null) {} else Ext.Ajax.request({ waitMsg: '正在查询数据...', url: '/Import/UseApproval/Getused', scope: this, async:false, params: {cargo_id: cargo_id }, waitMsg: "正在查询数据...", callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); var returnData = jsonresult.data; //alert(returnData.Count); this.APPUsing=parseFloat(returnData.Count); } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } } }); var HSCODE=e.record.get('cicode'); if (e.field == 'weight'){ _weight=parseFloat(e.value); _APPUsing = Mul(this.APPUsing,1000,2); if (_weight>_APPUsing && _APPUsing>0 ) {// alert("重量大于许可证用证重量:"+ this.APPUsing); e.record.set('weight', e.originalValue); return; } } if ((e.field == 'name'||e.field == 'Ename')&&this.APPUsing>0){ var cicode=e.record.get('cicode'); if (cicode=="0203290090" ){ alert("HS代码0203290090的商品配证后不能修改品名"); canedit=false; }else{ //canedit=true; } } if (e.field == 'Exchangerate' && e.record.get('Exchangerate_Customs') == 0) { e.record.set('Exchangerate_Customs', parseFloat(e.record.get('Exchangerate'))) } if (e.field == 'Unit') { var U_weight = parseFloat(e.record.get('U_weight')); var Unitrecords = DsStoreQueryBy(this.storeUnit, 'EnumValueId', e.value); if (Unitrecords.getCount() > 0) { var Unitdata = Unitrecords.getAt(0).data; e.record.set('UnitRef', Unitdata.EnumValueName); if (Unitdata.EnumValueName == '磅') { e.record.set('UnitRate', '0.4535970244035199'); var weight = Mul(U_weight,0.4535970244035199); e.record.set('weight', weight); } if (Unitdata.EnumValueName == '吨') { e.record.set('UnitRate', '1000'); var weight = Mul(U_weight,1000); e.record.set('weight', weight); } if (Unitdata.EnumValueName == 'KG') { e.record.set('UnitRate', '1'); var weight = Mul(U_weight,1); e.record.set('weight', weight); } } else { e.record.set('UnitRef', ''); e.record.set('UnitRate', '1'); } } if (e.field == 'U_weight'||e.field == 'U_PRICE') { if (parseFloat(e.value)==0){ return; } var U_weight = parseFloat(e.record.get('U_weight')); var U_PRICE = parseFloat(e.record.get('U_PRICE')); var UnitRate = parseFloat(e.record.get('UnitRate')); //if (e.record.get('Unit') != '1') {//不是磅 var weight = Mul(U_weight,UnitRate); //decimal(U_weight * UnitRate, 2); e.record.set('weight', weight); var price = Div(U_PRICE,UnitRate,4); e.record.set('price', price); } if (e.field == 'Unit'||e.field == 'U_weight'||e.field == 'weight'||e.field == 'BoxCount'){ //计算规格 只舍不进 var BoxCount=e.record.get('BoxCount'); var weight=e.record.get('weight'); var _boxcount=Div(weight,BoxCount,0); if (parseFloat(_boxcount)>Div(weight,BoxCount,2)){ _boxcount=Cut(_boxcount,1,0); }else{ } e.record.set('BoxWeight', _boxcount); } if (e.field == 'currid') { //alert(e.field); var currrecords = DsStoreQueryBy(this.storecurr, 'gid', e.value); if (currrecords.getCount() > 0) { var currdata = currrecords.getAt(0).data; e.record.set('codename', currdata.codename); //e.record.set('Exchangerate', currdata.DEFRATE); } else { e.record.set('codename', ''); } } //price price_agio price_limit weight baolv //单价 差价 估价 净重 保率 //amount tax_amount pax_amount //合同金额 完税价格 购货价 if (e.field == 'price' || e.field == 'price_agio' || e.field == 'price_limit' || e.field == 'baolv' ||e.field == 'U_weight'||e.field == 'U_PRICE' || e.field == 'weight' || e.field == 'Exchangerate' || e.field == 'Exchangerate_Customs' || e.field == 'tax' || e.field == 'tax_zz' || e.field == 'tax_cl'||e.field == 'Unit') { /*if (tax_CL > 0) { isChicken = true; var priceandtax = Mul(tax_amount, Exchangerate_Customs) + Div(Mul(weight, tax_CL), 1000); var tax_1 = Div(Mul(weight, tax_CL), 1000); var tax_zz_1 = Mul(priceandtax, tax_zz); var tax_2 = tax_1; var tax_zz_2 = tax_zz_1; }*/ var UNIT= e.record.get('UnitRef'); if (UNIT!='磅') { var price = parseFloat(e.record.get('price')); var price_agio = parseFloat(e.record.get('price_agio')); var price_limit = parseFloat(e.record.get('price_limit')); var baolv = parseFloat(e.record.get('baolv')); var weight = parseFloat(e.record.get('weight')); if (price_agio==0){ var amount = Mul(weight,price);} //Mul(price_limit,weight,baolv,2) else {amount = Mul(weight,price_agio);} //amount=对国内客户的合同金额 var amount_writeoffs=Mul(weight,price); //get_tax_amount 用于向客户收税金的完税价格 //tax_amount 用于向海关交税金的完税价格 if (price_limit != 0 && price_limit > price) { var tax_amount = Mul3(price_limit,weight,baolv,2); if (price_agio!=0 && price_limit>price_agio){//海关限价最高 var get_tax_amount=tax_amount; }else{var get_tax_amount= Mul3(price_agio,weight,baolv,2);}//差价(对国内客户)高于限价 } else { var tax_amount = Mul3(price,weight,baolv,2); if (price_agio!=0 ){ var get_tax_amount=Mul3(price_agio,weight,baolv,2); }else{var get_tax_amount= tax_amount;}//差价(对国内客户)高于限价 } var pay_amount = Mul(weight,price);//贸易商价格x重量x单价 e.record.set('Amount', amount); e.record.set('tax_Amount', tax_amount); e.record.set('pay_Amount', pay_amount); } else{ var U_weight = parseFloat(e.record.get('U_weight')); var U_PRICE = parseFloat(e.record.get('U_PRICE')); var UnitRate = parseFloat(e.record.get('UnitRate')); //var weight = Mul(U_weight,UnitRate); var weight = parseFloat(e.record.get('weight')); //e.record.set('weight', weight); var price = parseFloat(e.record.get('price')); var price_agio = parseFloat(e.record.get('price_agio')); var price_limit = parseFloat(e.record.get('price_limit')); var baolv = parseFloat(e.record.get('baolv')); var amount = Mul(U_weight,U_PRICE); var amount_writeoffs=Mul(weight,price); var tax_amount =0; var pay_amount=Mul(U_weight,U_PRICE); var UNIT= e.record.get('UnitRef'); if ((UNIT=='磅')&&(price_agio==0)) { if (price_limit != 0 && price_limit > (price)) { tax_amount = Mul3(price_limit,weight,baolv,2); } else { tax_amount = Mul3(U_weight,U_PRICE,baolv,2); } //var pay_amount = Mul(U_weight,U_PRICE); }else{ if (price_limit != 0 && price_limit > price_agio) { tax_amount = Mul3(price_limit,weight,baolv,2); } else { tax_amount = Mul3(U_weight,U_PRICE,baolv,2); } if (price_agio>price) { amount = Mul(weight,price_agio); //pay_amount = Mul(U_weight,U_PRICE); }else{ //amount = Mul(U_weight,U_PRICE); //pay_amount = Mul(U_weight,U_PRICE); } } e.record.set('Amount', amount); e.record.set('AMOUNT_WRITEOFFS',amount_writeoffs); e.record.set('tax_Amount', tax_amount); e.record.set('pay_Amount', pay_amount); amount=parseFloat(e.record.get('Amount')); tax_amount=parseFloat(e.record.get('tax_Amount')); pay_amount=parseFloat(e.record.get('pay_Amount')); } //if (amount>tax_amount){tax_amount=amount;}//确保tax_amount为给客户显示并使用的完税价格 var tax = parseFloat(e.record.get('tax'));//关税税率 var tax_zz = parseFloat(e.record.get('tax_zz'));//增值税税率 var tax_cl = parseFloat(e.record.get('tax_cl'));//从量税率 20190929 var Exchangerate_Customs = e.record.get('Exchangerate_Customs');//海关汇率 var HS = e.record.get('cicode'); var isChicken = false; var ChickenTax = parseFloat('0.0'); if (tax_cl>0) { isChicken = true; ChickenTax = tax_cl; } if (isChicken) { //Mul(weight,price); var priceandtax = Mul(tax_amount, Exchangerate_Customs) + Div(Mul(weight,ChickenTax),100); var tax_1 = Div(Mul(weight,ChickenTax),100);//因为从量税是分每千克 关税乘完要除以100 var tax_zz_1 = Mul(priceandtax,tax_zz); var tax_2 = tax_1; var tax_zz_2 = tax_zz_1; } else { var priceandtax =Mul(tax_amount,(1.0 + tax)); //完税价格x(1+关税税率)=含关税价格 //应付的 var tax_2 =Mul3(tax_amount,tax,Exchangerate_Customs,2); //关税 var tax_zz_2 =Mul4(tax_amount,(1.0 + tax) ,tax_zz,Exchangerate_Customs); //decimal(tax_amount * (1.0 + tax) * tax_zz * Exchangerate_Customs,2); //增值税 //向客户收取的 var weight = parseFloat(e.record.get('weight')); var price_agio = parseFloat(e.record.get('price_agio')); if (price_agio != 0 && price_agio>price_limit){//如果“差价(对国内客户价格)”不为零而且高于限价 关税的完税价格依据差价价格计算 var tax_1 = Mul3(Mul3(weight,price_agio,baolv),tax,Exchangerate_Customs); //应收关税 var tax_zz_1 = Mul4(Mul3(weight,price_agio,baolv),(1.0 + tax),tax_zz,Exchangerate_Customs);//应收增值税 }else { var tax_1 = tax_2; var tax_zz_1 = tax_zz_2; } } e.record.set('tax_1', tax_1); e.record.set('tax_zz_1', tax_zz_1); e.record.set('tax_2', tax_2); e.record.set('tax_zz_2', tax_zz_2); var prepayments = parseFloat(parseFloat( e.record.get('prepayments')).toFixed(2)); var balance = Cut(amount,prepayments); e.record.set('balance', balance); var pay_prepayments = parseFloat(parseFloat( e.record.get('pay_prepayments')).toFixed(2)); var pay_balance = Cut(pay_amount,pay_prepayments); e.record.set('pay_balance', pay_balance); } if (e.field == 'prepayments'||e.field == 'Amount') { //alert(e.field); var prepayments = e.record.get('prepayments'); var Amount = e.record.get('Amount'); var balance = Cut(Amount,prepayments); e.record.set('balance', balance); } if (e.field == 'pay_prepayments'||e.field == 'pay_Amount') { //alert(e.field); var pay_prepayments = e.record.get('pay_prepayments'); var pay_Amount = e.record.get('pay_Amount'); var pay_balance = Cut(pay_Amount,pay_prepayments); e.record.set('pay_balance', pay_balance); } if (e.field == 'PreProportion') { //alert(e.field); var Amount = parseFloat(e.record.get('Amount')); var prepayments = round2(Amount * parseFloat(e.record.get('PreProportion')) * 0.01, 2); var balance = Amount - prepayments; e.record.set('pay_prepayments', prepayments); e.record.set('pay_balance', balance); } if (e.field == 'RecProportion') { //alert(e.field); var Amount = parseFloat(e.record.get('Amount')); var prepayments = round2(Amount * parseFloat(e.record.get('RecProportion')) * 0.01, 2); var balance = Amount - prepayments; e.record.set('prepayments', prepayments); e.record.set('balance', balance); } /* if (e.field == 'name') { var CargoNamerecords = DsStoreQueryBy(this.storeCargoName, 'CNNAME', e.value); if (CargoNamerecords.getCount() > 0) { var CargoNamedata = CargoNamerecords.getAt(0).data; e.record.set('Ename', CargoNamedata.ENNAME); } else { //e.record.set('Ename', ''); } } if (e.field == 'Ename') { var CargoNamerecords = DsStoreQueryBy(this.storeCargoName, 'ENNAME', e.value); if (CargoNamerecords.getCount() > 0) { var CargoNamedata = CargoNamerecords.getAt(0).data; e.record.set('name', CargoNamedata.CNNAME); } else { //e.record.set('name', ''); } } if (e.field == 'Ename'|| e.field == 'name') { //带出HS代码 CIQ代码 申报要素 税率 var CargoNamerecords = ""; if (e.field == 'Ename'){CargoNamerecords=DsStoreQueryBy(this.storeCargoName, 'ENNAME', e.value);} if (e.field == 'name'){CargoNamerecords=DsStoreQueryBy(this.storeCargoName, 'CNNAME', e.value);} if (CargoNamerecords.getCount() > 0) { var CargoNamedata = CargoNamerecords.getAt(0).data; if (CargoNamedata.HS_ID!="" && CargoNamedata.HS_ID!= undefined){ e.record.set('cargoinfo_id', CargoNamedata.HS_ID); Cargoinforecords = DsStoreQueryBy(this.storeCargoinfo, 'id', CargoNamedata.HS_ID); if (Cargoinforecords.getCount() > 0) { var Cargoinfodata = Cargoinforecords.getAt(0).data; e.record.set('cicodeandname', Cargoinfodata.codeandname); e.record.set('tariff', Cargoinfodata.tariff); e.record.set('tax', Cargoinfodata.tax); e.record.set('tax_zz', Cargoinfodata.tax_zz); e.record.set('CargoType', Cargoinfodata.CARGOTYPE); }else { e.record.set('ciqcodeandname', ''); } } if (CargoNamedata.CIQ_ID!="" && CargoNamedata.CIQ_ID!= undefined){ e.record.set('cargociq_id', CargoNamedata.CIQ_ID); var Cargociqrecords = DsStoreQueryBy(this.storeCargociq, 'id', CargoNamedata.CIQ_ID); if (Cargociqrecords.getCount() > 0) { var Cargociqdata = Cargociqrecords.getAt(0).data; e.record.set('ciqcodeandname', Cargociqdata.codeandname); } else { e.record.set('ciqcodeandname', ''); } } e.record.set('SBYS', CargoNamedata.SBYS); } else { //e.record.set('name', ''); } }*/ if (e.field == 'name') { var CargoNamerecords = DsStoreQueryBy(this.storeCargoName, 'CNNAME', e.value); if (CargoNamerecords.getCount() > 0) { var _CNRec = CargoNamerecords.getAt(0).data; var _this=this; //1 载入Ename this.storeCargoName_EN.load({ params: { start: 0, limit: 5000, sort: '', condition: " CNNAME='"+e.value+"'"} }); //2 载入HS代码 var FactoryNo = e.record.get('FactoryNo'); var name = e.record.get('name'); if ((FactoryNo=="" || FactoryNo==null)&&(name!="" && name!=null)){ //如果没选厂号 选了中文品名 //根据品名确定范围 var s=" countryid='"+this.formEdit.getForm().findField('countryid').getValue()+"'"; s=s+" and ci.id in(select hs_id from Import_Cargoname where CNNAME='"+name+"')" /* this.storeCargoinfo.load({ params: { condition: s} , callback: function (options, success, response) { if (success) { if (_this.storeCargoinfo.getCount()==1){ var rec = _this.storeCargoinfo.getAt(0).data; e.record.set('cargoinfo_id', rec.id); e.record.set('cicodeandname', rec.codeandname); e.record.set('cargociq_id', _CNRec.CIQ_ID); e.record.set('ciqcodeandname', _CNRec.CIQREF); e.record.set('tariff', rec.tariff); e.record.set('tax', rec.tax); e.record.set('tax_zz', rec.tax_zz); e.record.set('CargoType', rec.CARGOTYPE); e.record.set('Ename', _CNRec.ENNAME); } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); */ } if ((FactoryNo!="" && FactoryNo!=null)&&(name!="" && name!=null)){ //如果选了厂号 选了中文品名 //根据厂号和品名确定范围 var s=" countryid='"+this.formEdit.getForm().findField('countryid').getValue()+"'"; s=s+" and ci.id in(select hs_id from Import_Cargoname where CNNAME='"+name+"' and FactoryNoGID in(select GID from Import_Factoryno where FactoryNo='"+FactoryNo+"')) " /* this.storeCargoinfo.load({ params: { condition: s} , callback: function (options, success, response) { if (success) { if (_this.storeCargoinfo.getCount()==1){ var rec = _this.storeCargoinfo.getAt(0).data; e.record.set('cargoinfo_id', rec.id); e.record.set('cicodeandname', rec.codeandname); e.record.set('cargociq_id', _CNRec.CIQ_ID); e.record.set('ciqcodeandname', _CNRec.CIQREF); e.record.set('tariff', rec.tariff); e.record.set('tax', rec.tax); e.record.set('tax_zz', rec.tax_zz); e.record.set('CargoType', rec.CARGOTYPE); e.record.set('Ename', _CNRec.ENNAME); } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); */ } } else { //e.record.set('Ename', ''); } } if (e.field == 'FactoryNo') { var FactoryNo = e.record.get('FactoryNo'); var name = e.record.get('name'); if ((FactoryNo!="" && FactoryNo!=null)&&(name!="" && name!=null)){ //如果选了厂号 选了中文品名 //根据厂号和品名确定范围 var s=" countryid='"+this.formEdit.getForm().findField('countryid').getValue()+"'"; s=s+" and ci.id in(select hs_id from Import_Cargoname where CNNAME='"+name+"' and FactoryNoGID in(select GID from Import_Factoryno where FactoryNo='"+FactoryNo+"')) " /* this.storeCargoinfo.load({ params: { condition: s} , callback: function (options, success, response) { if (success) { if (_this.storeCargoinfo.getCount()==1){ var rec = _this.storeCargoinfo.getAt(0).data; e.record.set('cargoinfo_id', rec.id); e.record.set('cicodeandname', rec.codeandname); e.record.set('cargociq_id', _CNRec.CIQ_ID); e.record.set('ciqcodeandname', _CNRec.CIQREF); e.record.set('tariff', rec.tariff); e.record.set('tax', rec.tax); e.record.set('tax_zz', rec.tax_zz); e.record.set('CargoType', rec.CARGOTYPE); e.record.set('Ename', _CNRec.ENNAME); } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); */ } } if (this.APPUsing>0 && e.record.get('cicode')!=HSCODE){ alert("注意!已配证商品的HS代码发生了改变!!请确认你的修改,并及时通知单证部门!!"); } /* if (e.field == 'Ename') { var CargoNamerecords = DsStoreQueryBy(this.storeCargoName_EN, 'ENNAME', e.value); if (CargoNamerecords.getCount() > 0) { var _this=this; //1 载入Ename this.storeCargoName.load({ params: { start: 0, limit: 5000, sort: '', condition: " ENNAME='"+e.value+"'"} }); //2 载入HS代码 var FactoryNo = e.record.get('FactoryNo'); var Ename = e.record.get('Ename'); if ((FactoryNo=="" || FactoryNo==null)&&(Ename!="" && Ename!=null)){ //如果没选厂号 选了中文品名 //根据品名确定范围 var s=" countryid='"+this.formEdit.getForm().findField('countryid').getValue()+"'"; s=s+" and ci.id in(select hs_id from Import_Cargoname where ENNAME='"+Ename+"')" this.storeCargoinfo.load({ params: { condition: s} , callback: function (options, success, response) { if (success) { if (_this.storeCargoinfo.getCount()==1){ var rec = _this.storeCargoinfo.getAt(0).data; e.record.set('cargoinfo_id', rec.id); e.record.set('cicodeandname', rec.codeandname); e.record.set('tariff', rec.tariff); e.record.set('tax', rec.tax); e.record.set('tax_zz', rec.tax_zz); e.record.set('CargoType', rec.CARGOTYPE); } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); } if ((FactoryNo!="" && FactoryNo!=null)&&(Ename!="" && Ename!=null)){ //如果选了厂号 选了中文品名 //根据厂号和品名确定范围 var s=" countryid='"+this.formEdit.getForm().findField('countryid').getValue()+"'"; s=s+" and ci.id in(select hs_id from Import_Cargoname where ENNAME='"+Ename+"' and FactoryNoGID in(select GID from Import_Factoryno where FactoryNo='"+FactoryNo+"')) " this.storeCargoinfo.load({ params: { condition: s} , callback: function (options, success, response) { if (success) { if (_this.storeCargoinfo.getCount()==1){ var rec = _this.storeCargoinfo.getAt(0).data; e.record.set('cargoinfo_id', rec.id); e.record.set('cicodeandname', rec.codeandname); e.record.set('tariff', rec.tariff); e.record.set('tax', rec.tax); e.record.set('tax_zz', rec.tax_zz); e.record.set('CargoType', rec.CARGOTYPE); } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); } } else { //e.record.set('Ename', ''); } }*/ }, CargoBeforeEdit: function (editor, e) { var cargo_id = e.record.get('id'); if (cargo_id=='') {cargo_id=-1;} var canedit=true; this.APPUsingCount=0; if (e.field == 'cargociq_id'){ //20150112 var cargoinfoid=e.record.get('cargoinfo_id'); var s=" cargoinfoid="+cargoinfoid; this.storeCargociq.load({ params: { condition: s} }); } if (e.field == 'FactoryNo'){ if (e.record.get('Exporter')==""){ //canedit=false; //alert("请先选择出口商!"); }else{ //this.storeFactoryNo.load({ params: { condition: " CLIENTGID=(select gid from info_client where shortname='"+e.record.get('Exporter')+"') "} }); } } if (e.field == 'name'){ if (e.record.get('FactoryNo')==""||e.record.get('FactoryNo')==null){ this.storeCargoName.load({ params: { start: 0, limit: 5000, sort: '',condition: "HS_ID="+e.record.get('cargoinfo_id') } , callback: function (options, success, response) { if (success) { } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } } }); //this.FactoryNo=e.record.get('FactoryNo'); }else{ //if (this.FactoryNo!=e.record.get('FactoryNo')) { this.storeCargoName.load({ params: { start: 0, limit: 5000, sort: '', condition: " FACTORYNOGID=(select gid from import_factoryno where factoryno='"+e.record.get('FactoryNo')+"') and HS_ID="+e.record.get('cargoinfo_id')+" "} // }); this.FactoryNo=e.record.get('FactoryNo'); } } } if (e.field == 'Ename'){ if (e.record.get('FactoryNo')==""){ this.storeCargoName_EN.load({ params: { start: 0, limit: 5000, sort: '', condition: ""} }); //this.FactoryNo=e.record.get('FactoryNo'); }else{ //if (this.FactoryNo!=e.record.get('FactoryNo')) { this.storeCargoName_EN.load({ params: { start: 0, limit: 5000, sort: '', condition: " FACTORYNOGID=(select gid from import_factoryno where factoryno='"+e.record.get('FactoryNo')+"') and HS_ID="+e.record.get('cargoinfo_id')+" "} // }); this.FactoryNo=e.record.get('FactoryNo'); } } } if (e.field == 'SPECIFICATIONS') { var cicode = e.record.get('cicode'); if (cicode == "0203290090" || cicode == "0306120000" || cicode == "03051900" || cicode == "0306171900" || cicode == "0306172900") { //alert("只有HS代码为0203290090的商品才能修改规格"); if (this.APPUsingCount > 0) { canedit = true; } } else { canedit = false; } } if (e.field == 'cargoinfo_id'){ var FactoryNo = e.record.get('FactoryNo'); var name = e.record.get('name'); if ((FactoryNo=="" || FactoryNo==null)&&(name!="" && name!=null)){ //如果没选厂号 选了中文品名 //根据品名确定范围 var s=" countryid='"+this.formEdit.getForm().findField('countryid').getValue()+"'"; s=s+" and ci.id in(select hs_id from Import_Cargoname where CNNAME='"+name+"')" this.storeCargoinfo.load({ params: { condition: s} }); }else if ((FactoryNo!="" && FactoryNo!=null)&&(name!="" && name!=null)){ //如果选了厂号 选了中文品名 //根据厂号和品名确定范围 var s=" countryid='"+this.formEdit.getForm().findField('countryid').getValue()+"'"; s=s+" and ci.id in(select hs_id from Import_Cargoname where CNNAME='"+name+"' and FactoryNoGID in(select GID from Import_Factoryno where FactoryNo='"+FactoryNo+"')) " this.storeCargoinfo.load({ params: { condition: s} }); }else{ this.storeCargoinfo.load({ params: { condition: ""} }); } } if (e.field == 'Exchangerate' || e.field == 'Exchangerate_Customs' || e.field == 'currid') { //商务汇率 编辑前载入汇率 但只载入一次 //如果不同商品使用不同币别,则会有错误隐患 if (this.storeExchangerate.getCount() == 0) { this.storeExchangerate.load({ params: { Date: currdate.format('yyyy-MM-dd'), Currency: USDGID //传入币别GID } }); } //海关汇率 if (this.storeExchangerate2.getCount() == 0) { data = this.formEdit.getForm().getValues(); this.storeExchangerate2.load({ params: { Date: data.ArrivalDate, Currency: USDGID //传入币别GID } }); } } return canedit; }, //#endregion 明细表<<<商品>>>的相关方法 //#region <<<许可证使用>>>明细表相关方法 onAddAppstateClick: function (button, event) { var record = Ext.create('Appstatemb', { 'id': '', 'appno': '', 'cargoinfo_id': '', 'app_id': '', 'name': ' ', 'cargo_id': ' ', 'cargoname': ' ', 'appweight': '0 ', 'appremain': ' ', 'country': ' ', 'ValidDate': '', 'weight': '', 'info': '' }); this.storeAppstate.add(record); var n = this.storeAppstate.getCount(); this.cellEditingAppstate.startEditByPosition({ row: n - 1, column: 2 }); }, onDelAppstateClick: function (button, event) { var selectedRecords = this.formAppstate.selModel.getSelection(); for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; // alert(rec.ContractNo); if (rec.ContractNo != "" || rec.ContractNo != "*") //如果是新增但没有保存的数据,没有必要提交到后台 { this.AppstateDel.push(rec); } //alert(i); this.storeAppstate.remove(selectedRecords[i]); } }, AppstateAfterEdit: function (editor, e, eOpts) { //需要自己实现里面的事件 if (e.field == 'weight') { var cargoweight=0; var cargoweight_S=""; var cargo = DsStoreQueryBy(this.storeCargo, 'id', e.record.get('cargo_id')); if (cargo.getCount() > 0) { var cargodata = cargo.getAt(0).data; cargoweight_S=cargodata.weight; } else { cargoweight_S=""; } if (cargoweight_S=="") {cargoweight=0;} else { var _start=cargoweight_S.indexOf("重量:"); cargoweight_S=cargoweight_S.substr(_start+3); cargoweight=parseFloat(cargoweight_S); } if (parseFloat(e.value)-cargoweight>1 ) {// alert("许可证使用数量超过货物重量1吨以上,请确认许可证使用数量:"+ e.value); }else if (parseFloat(e.value)canbeused ){ alert("此次许可证新增使用数量"+ (parseFloat(e.value)-parseFloat(e.originalValue))+" 超过未配证数量:"+canbeused+",请认真核对"); return; } if (parseFloat(e.value)==0 ){ alert("配证重量不允许为0!"); e.record.set('weight', e.originalValue); return; } } _this = this; if (e.field == 'app_id') { var apprecords = DsStoreQueryBy(this.storeApp, 'app_id', e.value); if (apprecords.getCount() > 0) { currcompany = this.formEdit.getForm().findField('company').getValue(); var appdata = apprecords.getAt(0).data; if (appdata.company != currcompany) { Ext.MessageBox.confirm('提示', '选用这个许可证将会更改用证公司,确定吗?', function (btn) { if (btn == 'yes') { e.record.set('app_id', appdata.app_id); e.record.set('appno', appdata.appno); e.record.set('name', appdata.name); e.record.set('appweight', appdata.appweight); e.record.set('appremain', appdata.appremain); e.record.set('country', appdata.country); e.record.set('validdate', appdata.validdate); e.record.set('canbeused', appdata.canbeused); _this.storeCompany.load(); _this.formEdit.getForm().findField('company').setValue(appdata.company); } else { return; } }); } else { var appdata = apprecords.getAt(0).data; e.record.set('app_id', appdata.app_id); e.record.set('appno', appdata.appno); e.record.set('name', appdata.name); e.record.set('appweight', appdata.appweight); e.record.set('appremain', appdata.appremain); e.record.set('country', appdata.country); e.record.set('validdate', appdata.validdate); e.record.set('canbeused', appdata.canbeused); } } else { e.record.set('name', ' '); e.record.set('appweight', ' '); e.record.set('appremain', ' '); e.record.set('country', ' '); e.record.set('validdate', ' '); } } if (e.field == 'cargo_id') { var cargo = DsStoreQueryBy(this.storeCargo, 'id', e.value); if (cargo.getCount() > 0) { var cargodata = cargo.getAt(0).data; e.record.set('cargo_id', cargodata.id); e.record.set('cargoname', cargodata.NAME_REF); //alert(e.record.get('cargo_id')); } else { //alert(cargodata.name); e.record.set('cargoname', ' '); } } if (e.field == 'cancellation') { var cancellationrecords = DsStoreQueryBy(this.storecancellation, 'EnumValueId', e.value); if (cancellationrecords.getCount() > 0) { var cancellationdata = cancellationrecords.getAt(0).data; e.record.set('cancellationRef', cancellationdata.EnumValueName); } else { e.record.set('cancellationRef', ''); } } saved = false; }, //#endregion ----明细表<<<许可证使用>>>的相关方法 over //#region 单据表 明细表相关方法 onAddReceiptClick: function (button, event) { this.addDetail(); }, //end onAddDetailClick onDelReceiptClick: function (button, event) { this.deleteDetail(); }, //onDelDetailClick ReceiptAfterEdit: function (editor, e, eOpts) { //需要自己实现里面的事件 if (e.field == 'Receiptid') { var Receiptrecords = DsStoreQueryBy(this.storeReceiptid, 'EnumValueId', e.value); if (Receiptrecords.getCount() > 0) { var Receiptdata = Receiptrecords.getAt(0).data; e.record.set('ReceiptName', Receiptdata.EnumValueName); } else { e.record.set('ReceiptName', ''); } } if (e.field == 'state') { var staterecords = DsStoreQueryBy(this.storeReceiptstate, 'EnumValueId', e.value); if (staterecords.getCount() > 0) { var statedata = staterecords.getAt(0).data; e.record.set('statename', statedata.EnumValueName); } else { e.record.set('statename', ''); } } }, addDetail: function () { // var newSerialno = DsGetNewSerialNo(this.storeBodyList, this.serialNo); // this.serialNo = newSerialno; var record = Ext.create('Receiptmb', { 'id': '', 'ContractNo': '', 'Receiptid': '0', 'ReceiptName': '', 'ReceiptNo': '', 'state': '0', 'Send_date': '', 'receive_date': '', 'repeat_date': '', 'trancer': '', 'trancNo': '' }); this.storeReceipt.add(record); var n = this.storeReceipt.getCount(); this.cellEditingReceipt.startEditByPosition({ row: n - 1, column: 2 }); }, deleteDetail: function () { var selectedRecords = this.gridListReceipt.selModel.getSelection(); for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; // alert(rec.ContractNo); if (rec.ContractNo != "" || rec.ContractNo != "*") //如果是新增但没有保存的数据,没有必要提交到后台 { this.bodyDel.push(rec); } //alert(i); this.storeReceipt.remove(selectedRecords[i]); } }, //#endregion 单据表 明细表相关方法 // 明细表 <<<<<<<<<<<<<费用表相关方法 /* onAddDetailClick: function (button, event, type) { var allow = this.getAllowOperationDetail(); if (allow == false) { return; } var store = null; if (type == 1) { store = this.storeBodyFix; } else if (type == 2) { store = this.storeBodyChFee; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } var newSerialno = this.GetHandleSerialNo(store, type); var record = null; if (type == 1) { record = Ext.create('MsWlPcFixed', { GId: NewGuid(), BillNo: '*', SerialNo: newSerialno, FeeStatus: 1, FeeStatus_Ref: '录入状态', AuditStatus: 0, CreditDebit: "2", CreditDebit_Ref: "应付", FeeTypeCode: '', FeeTypeCode_Ref: '', FeeTypeName: '', DistCount: 0, Price: 0, FsTotal: 0, JsTotal: 0, Remark: '' }); } else if (type == 2) {////////////////////// record = Ext.create('MsChFee', { GId: NewGuid(), BsNo: '*', FeeStatus: 1, FeeStatus_Ref: '录入状态', FeeType: 1, FeeType_Ref: '应收', FeeName: '', FeeName_Ref: '', FeeDescription: '', CustomerType: '', CustomerName: this.getCustName(), CustomerName_Ref: '', Unit: '', UnitPrice: 0, Quantity: 1, Amount: 0, Currency: 'RMB', ExChangerate: '1', Reason: '', Remark: '', Commissionrate: 0, Settlement: 0, Invoice: 0, OrderAmount: 0, OrderInvoice: 0, SubmitDate: null, Auditoperator: '', AuditDate: null, EnteroPerator: GetCookie_UserId(), EnterDate: null, DebitNo: '', IsDebit: "0", IsOpen: "0", IsAdvancedpay: "0", Sort: "0", IsInvoice: "0", FeeFrt: '', IsCrmOrderFee: "0", AuditStatus: 0, InvoiceNum: '', ChequeNum: '', WmsOutBsNo: '' }); } store.add(record); var editColumnIndex = 0; var cellediting = null; if (type == 1) { cellediting = this.cellEditingFix; editColumnIndex = 2; } else if (type == 2) { cellediting = this.cellEditingChFee; editColumnIndex = 4; } var n = store.getCount(); cellediting.startEditByPosition({ row: n - 1, column: editColumnIndex }); }, GetHandleSerialNo: function (store, type) { var result = 0; if (type == 1) { result = this.fixSerialNo; } else if (type == 2) { result = this.feeSerialNo; } if (result == 0) { for (var i = 0; i < store.getCount(); i += 1) { var member = store.getAt(i); if (member.data.SerialNo > result) { result = member.data.SerialNo; } } } result = result + 1; if (type == 1) { this.fixSerialNo = result; } else if (type == 2) { this.feeSerialNo = result; } return result; }, onDelDetailClick: function (button, event, type) { var allow = this.getAllowOperationDetail(); if (allow == false) { return; } var store = null; if (type == 1) { store = this.storeBodyFix; } else if (type == 2) { store = this.storeBodyChFee; } else { alert('函数(onAddDetailClick)的参数type类型设置的不对'); return; } var result = 0; if (type == '1') { result = this.fixSerialNo; } else if (type == '2') { result = this.feeSerialNo; } if (result == 0) { for (var i = 0; i < store.getCount(); i += 1) { var member = store.getAt(i); if (member.data.SerialNo > this.giSerialNo) { result = member.data.SerialNo; } } } if (type == '1') { this.fixSerialNo = result; } else if (type == '2') { this.feeSerialNo = result; } var selectedRecords = []; if (type == '1') { selectedRecords = this.gridListFix.selModel.getSelection(); } else if (type == '2') { selectedRecords = this.gridListChFee.selModel.getSelection(); var candelete = DsTruck.CheckChFeeDelete(selectedRecords); if (candelete == false) return; } if (selectedRecords.length > 0) { for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; if (rec.BillNo != "" || rec.BillNo != "*") //如果是新增但没有保存的数据,没有必要提交到后台 { if (type == '1') { this.fixBodyDel.push(rec); } else if (type == '2') { this.feeBodyDel.push(rec); } } if (type == '1') { this.storeBodyFix.remove(selectedRecords[i]); } else if (type == '2') { this.storeBodyChFee.remove(selectedRecords[i]); } } } }, onSubmitAuditClick: function (button, event) { var records = this.feeGridCheckBoxModel.selected.items; DsTruck.MsChFeeAudit(records, 2, '正在提交审核数据, 请稍侯..'); }, getCustName: function () { var custName = this.formEdit.getForm().findField('buyer'); return custName.getValue(); }, getAllowOperationDetail: function () { var feeStatus = this.getFeeStatus(); if (feeStatus == '0') return true; else { Ext.Msg.show({ title: '错误', msg: "费用已锁定,不允许操作费用!", icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return false; } return true; }, getFeeStatus: function () { //var basicForm = this.formEdit.getForm(); //var feeStatus = basicForm.findField('FeeStatus').value; //return feeStatus; return 0; }, cellEditingChFeeBeforeEdit: function (editor, e) { var chfeefeeStatus = e.record.get('FeeStatus'); var canedit = chfeefeeStatus == 1 || chfeefeeStatus == 6; if (canedit) { var feeStatus = this.getFeeStatus(); var billStatus = this.getBillStatus(); canedit = feeStatus == '0' && billStatus == '0'; } //return canedit; return true; }, gridListChFeeAfterEdit: function (editor, e, eOpts) { if (e.field == 'FeeType') { var records = DsStoreQueryBy(this.storeFeeTypeRef, 'EnumValueId', e.value); if (records.getCount() > 0) { var data = records.getAt(0).data; e.record.set('FeeType_Ref', data.EnumValueName); } else { e.record.set('FeeType_Ref', ''); } } else if (e.field = 'UnitPrice' || e.field == 'Quantity' ) { var unitPrice = e.record.data['UnitPrice']; var quantity = e.record.data['Quantity']; //var ExChangerate= e.record.data['ExChangerate']; e.record.set('Amount', (unitPrice * quantity ).toFixed(2)); } }, */ // 明细表 费用表相关方法 end //#region 添加审单情况 addAuditStatusBody: function () { if (this.AuditStatusGID==""){ return; }else{ var MODIFIEDTIME= currdate.format('yyyy-MM-dd hh:mm:ss'); record = Ext.create('AuditStatusBodymb', { 'GID': NewGuid(), 'BSNO': '', 'LINKID': this.AuditStatusGID, 'MODIFIEDTIME': MODIFIEDTIME, 'MODIFIEDUSER': '', 'AUDITSTATUS': 'NO', 'CZSTATUS': '' }); this.storeAuditStatusBody.insert(0,record); //var n = this.storeAuditStatusBody.getCount(); this.cellEditingAuditStatus_Body.startEditByPosition({ row: 0, column: 2 }); } var islast=true; var _date=Date.parse(MODIFIEDTIME); for(var i=0;i_date){ islast=false; } } if (islast==true){ for(var i=0;i_date){ islast=false; } } if (islast==true){ for(var i=0;i 0) { var sellerdata = seller.getAt(0).data; if (sellerdata.ISSTOP=="True"){ alert("你选择的贸易商已经停用"); _r=false; //return; } } var buyer_name=_form.findField('buyer').getValue(); var buyer = DsStoreQueryBy(this.storeBuyer, 'name', buyer_name); if (buyer.getCount() > 0) { var buyerdata = buyer.getAt(0).data; if (buyerdata.ISSTOP=="True"){ alert("你选择的购货商已经停用"); //return; _r=false; } } var TRADINGAGENCY_name=_form.findField('TRADINGAGENCY').getValue(); var TRADINGAGENCY = DsStoreQueryBy(this.storeTRADINGAGENCY, 'name', TRADINGAGENCY_name); if (TRADINGAGENCY.getCount() > 0) { var buyerdata = TRADINGAGENCY.getAt(0).data; if (buyerdata.ISSTOP=="True"){ alert("你选择的中间商已经停用"); //return; _r=false; } } if (this.storeCargo.getCount()==0){}//return true; else{ for (var i = 0; i < this.storeCargo.getCount(); i += 1) { var cargomember = this.storeCargo.getAt(i).data; if (cargomember.weight=="0") { alert("请填写货物重量,请注意单位是千克"); _r= false; } if (cargomember.name=="") { alert("请填写货名。"); _r= false; } }//end for }//end if for (var i = 0; i < this.storeAppstate.getCount(); i += 1) { var Appstatemember = this.storeAppstate.getAt(i).data; if ( Appstatemember.cargoname=="" || Appstatemember.cargo_id=="" ) { alert("第"+(i+1)+"行 请选择货物名称"); _r = false; //return result; } if ( Appstatemember.weight=="" || parseFloat(Appstatemember.weight)==0 ) { alert("第"+(i+1)+"行 没有填写许可证使用重量"); _r = false; //return result; } //20140110 增加对货物和许可证关系的验证 Ext.Ajax.request({ waitMsg: '正在查询数据...', url: '/Import/UseApproval/GetAppCargo', scope: this, async: false, params: {app_id:Appstatemember.app_id,cargo_id:Appstatemember.cargo_id }, waitMsg: "正在查询数据...", callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); var returnData = jsonresult.data; var editp = Ext.create('AppCargomb', returnData); //alert(editp.get('Match')); var Match=editp.get('Match'); if (Match==0){ alert("第"+(i+1)+"行 商品与许可证的HS代码或CIQ代码不匹配"); _r=false; } } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } //end if }//end callback }); } return _r; }, Save: function (type) { if (!this.checkedit()) { return; } var basicForm = this.formEdit.getForm(); if (!basicForm.isValid()) { return; } if (!validateEditorGridPanel(this.gridListReceipt)) { return; } // alert('save'); basicForm.findField('ContractNo').setDisabled(false); basicForm.findField('creator').setDisabled(false); basicForm.findField('creattime').setDisabled(false); basicForm.findField('company').setDisabled(false); basicForm.findField('countryid').setDisabled(false); basicForm.findField('port').setDisabled(false); basicForm.findField('BillType').setDisabled(false); basicForm.findField('BillTime').setDisabled(false); basicForm.findField('seller').setDisabled(false); basicForm.findField('buyer').setDisabled(false); basicForm.findField('TRADINGAGENCY').setDisabled(false); basicForm.findField('STT').setDisabled(false); //basicForm.findField('Vessel').setDisabled(false); //basicForm.findField('Voyage').setDisabled(false); basicForm.findField('Ex_sailingdate').setDisabled(false); basicForm.findField('SecurityDeposit').setDisabled(false); basicForm.findField('PaymentMethods').setDisabled(false); basicForm.findField('Freetime').setDisabled(false); basicForm.findField('inspection_no').setDisabled(false); basicForm.findField('Inspection_Buyer').setDisabled(false); var data = this.formEdit.getForm().getValues(); var HTH = data.HTH; var ContractNo = data.ContractNo; basicForm.findField('ContractNo').setDisabled(true); basicForm.findField('creator').setDisabled(true); basicForm.findField('creattime').setDisabled(true); basicForm.findField('company').setDisabled(true); basicForm.findField('countryid').setDisabled(true); basicForm.findField('port').setDisabled(true); basicForm.findField('BillType').setDisabled(true); basicForm.findField('BillTime').setDisabled(true); basicForm.findField('seller').setDisabled(true); basicForm.findField('buyer').setDisabled(true); basicForm.findField('TRADINGAGENCY').setDisabled(true); basicForm.findField('STT').setDisabled(true); //basicForm.findField('Vessel').setDisabled(true); //basicForm.findField('Voyage').setDisabled(true); basicForm.findField('Ex_sailingdate').setDisabled(true); basicForm.findField('SecurityDeposit').setDisabled(true); basicForm.findField('PaymentMethods').setDisabled(true); basicForm.findField('Freetime').setDisabled(true); basicForm.findField('inspection_no').setDisabled(false); basicForm.findField('Inspection_Buyer').setDisabled(false); var _MBLNOREPEAT=this.formEdit.getForm().findField('MBLNOREPEAT').getValue()?1:0; if (_MBLNOREPEAT==0){ this.BillNoCount=0; Ext.Ajax.request({ waitMsg: '正在查询数据...', url: '/CommMng/BasicDataRef/GeneralSelect', scope: this, async:false, params: {condition: "select BillNo as GVALUE,ContractNo as GID from Import_Main where BillNo='"+data.BillNo+"' and isnull(BillNo,'')<>'' and ContractNo<>'"+data.ContractNo+"'"}, //params: {condition: "select BillNo as GVALUE,ContractNo as GID from Import_Main "}, waitMsg: "正在查询数据...", callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.success==false){ }else{ var returnData = jsonresult.data; //alert(returnData.Count); this.BillNoCount=parseInt(returnData.length); /* if (this.BillNoCount>0){ alert("提单号重复!"); //return; }*/ } } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } } /* /CommMng/BasicDataRef/GeneralSelect loadstore的callback结果 callback: function (options, success, response) { if (response==false){ this.BillNoCount=0; }else{ var result = options[0].data; this.BillNoCount=options.length; alert("提单号重复"); return; } }*/ }); if (this.BillNoCount>0){ alert("提单号重复!"); return; } } // #region 防止合同号重复 var HTHCount=0; Ext.Ajax.request({ waitMsg: '正在查询数据...', url: '/CommMng/BasicDataRef/GeneralSelect', scope: this, async:false, params: {condition: "select HTH as GVALUE,ContractNo as GID from Import_Main where HTH='"+data.HTH+"' and isnull(HTH,'')<>'' and ContractNo<>'"+data.ContractNo+"'"}, //params: {condition: "select BillNo as GVALUE,ContractNo as GID from Import_Main "}, waitMsg: "正在查询数据...", callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.success==false){ }else{ var returnData = jsonresult.data; HTHCount=parseInt(returnData.length); } } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } } }); if (HTHCount>0){ alert("合同号重复!"); return; } //#endregion var bodydatas = []; for (var i = 0; i < this.storeReceipt.getCount(); i += 1) { var member = this.storeReceipt.getAt(i); bodydatas.push(member); } var Cargodatas = []; for (var i = 0; i < this.storeCargo.getCount(); i += 1) { var member = this.storeCargo.getAt(i); Cargodatas.push(member); } var Appstatedatas = []; for (var i = 0; i < this.storeAppstate.getCount(); i += 1) { var member = this.storeAppstate.getAt(i); Appstatedatas.push(member); } /* var KCdatas = []; for (var i = 0; i < this.storeKC.getCount(); i += 1) { var member = this.storeKC.getAt(i); KCdatas.push(member); }*/ var AuditStatusList = []; for (var i = 0; i < this.storeAuditStatus.getCount(); i += 1) { var member = this.storeAuditStatus.getAt(i); AuditStatusList.push(member); } var AuditStatusBodyList = []; for (var i = 0; i < this.storeAuditStatusBody.getCount(); i += 1) { var member = this.storeAuditStatusBody.getAt(i); AuditStatusBodyList.push(member); } //票据明细用 var jsonBody = ConvertRecordsToJson(bodydatas); var jsonDelBody = ConvertRecordsToJsonAll(this.bodyDel); //商品明细 var CargoBody = ConvertRecordsToJson(Cargodatas); var CargoDelBody = ConvertRecordsToJsonAll(this.CargoDel); //许可证使用 var AppstateBody = ConvertRecordsToJson(Appstatedatas); var AppstateDelBody = ConvertRecordsToJsonAll(this.AppstateDel); //库存记录 //var KCBody = ConvertRecordsToJson(KCdatas); //var KCDelBody = ConvertRecordsToJsonAll(this.KCDel); //库存记录 var AuditStatus = ConvertRecordsToJson(AuditStatusList); var AuditStatusDel = ""; var AuditStatusBody = ConvertRecordsToJson(AuditStatusBodyList); var AuditStatusDelBody = ConvertRecordsToJsonAll(this.AuditStatusBodyDel); //费用 /* var bodyChFeeDatas = []; for (i = 0; i < this.storeBodyChFee.getCount(); i += 1) { var memberyf = this.storeBodyChFee.getAt(i); bodyChFeeDatas.push(memberyf); var amount = memberyf.data.Amount; if (amount == 0) { Ext.Msg.show({ title: '警告', msg: '费用的金额不允许为0,请修改后再保存', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } }; var jsonChFeeBody = ConvertRecordsToJson(bodyChFeeDatas); var jsonChFeeDelBody = ConvertRecordsToJsonAll(this.feeBodyDel); */ data.HaveContract=this.formEdit.getForm().findField('HaveContract').getValue()?1:0; data.HaveCargoMark=this.formEdit.getForm().findField('HaveCargoMark').getValue()?1:0; data.HAVESAMPLE=this.formEdit.getForm().findField('HAVESAMPLE').getValue()?1:0; data.CHECKSAMPLE=this.formEdit.getForm().findField('CHECKSAMPLE').getValue()?1:0; data.MBLNOREPEAT=this.formEdit.getForm().findField('MBLNOREPEAT').getValue()?1:0; Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ waitMsg: '正在保存数据...', url: '/Import/audit/Save', scope: this, params: { opstatus: this.opStatus, data: Ext.JSON.encode(data), Receiptbody: jsonBody, Receiptdelbody: jsonDelBody, CargoBody: CargoBody, CargoDelBody: CargoDelBody, AppstateBody: AppstateBody, AppstateDelBody: AppstateDelBody, AuditStatus:AuditStatus, AuditStatusDel:AuditStatusDel, AuditStatusBody:AuditStatusBody, AuditStatusDelBody:AuditStatusDelBody }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { // this.storeCargo.commitChanges(); this.storeReceipt.commitChanges(); this.storeAppstate.commitChanges(); //this.storeAuditStatus.commitChanges(); this.storeAuditStatus.load({ params: { condition: " BSNO='"+data.ContractNo+"' "} ,callback:function(){ for (var i = 0; i < this.storeAuditStatus.getCount(); i++) { var row = this.storeAuditStatus.getAt(i); var GID = row.get('GID' ); if (this.AuditStatusGID==GID) { this.gridAuditStatus.selModel.select(i, true, false ); } } } }); //this.storeAuditStatusBody.commitChanges(); this.storeAuditStatusBody.load({ params: { condition: " LINKID='"+this.AuditStatusGID+"'"} }); var returnData = jsonresult.Data; this.formEdit.getForm().setValues(returnData); if (this.opStatus == 'add') { var arrNewRecords = this.StoreList.add(returnData); this.editRecord = arrNewRecords[0]; // alert(editRecord.get('ContractNo')); } else if (this.opStatus == 'edit') { var editp = Ext.create('XXHmb', returnData); this.editRecord.fields.each(function (field) { if (field.persist) { name = field.name; //alert(name + ' -- ' + editp.get(name)); if (name != 'id') this.editRecord.set(name, editp.get(name)); } }, this); this.editRecord.commit(); } if (type == '0') { this.opStatus = 'edit'; basicForm.findField('ContractNo').setDisabled(false); this.storeApp.load({ params: { condition: this.editRecord.get('ContractNo')} }); this.storeCargo.load({ params: { condition: this.editRecord.get('ContractNo')} }); basicForm.findField('ContractNo').setDisabled(true); } else if (type == '1') {//保存并关闭 window.close(); } else if (type == '2'){//保存并全部新建 this.opStatus = 'add'; this.formEdit.getForm().reset(); //this.LoadData('add', ''); basicForm.findField('ContractNo').setDisabled(false); this.storeCargo.removeAll(); this.storeApp.removeAll(); this.storeAppstate.removeAll(); this.storeKC.removeAll(); this.storeReceipt.removeAll(); } else if (type == '3'){//保存并新建,同时保留合同基础信息、货物信息、许可证使用信息 this.formEdit.getForm().setValues({ContractNo:''}); this.opStatus = 'add'; //this.LoadData('add', ''); this.formEdit.getForm().findField('ContractNo').setDisabled(true); this.storeKC.removeAll(); this.storeReceipt.removeAll(); var Cargodatas = []; for (var i = 0; i < this.storeCargo.getCount(); i += 1) { this.storeCargo.getAt(i).set("ContractNo",""); } var Appstatedatas = []; for (var i = 0; i < this.storeAppstate.getCount(); i += 1) { var member = this.storeAppstate.getAt(i).set("ContractNo",""); } alert('注意,提单号、箱号、铅封号等信息不要重复'); } } else { Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } } else { Ext.Msg.show({ title: '请重试', msg: '服务器响应出错', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } //alert('03'); } }); }, //end save Print: function () { var basicForm = this.formEdit.getForm(); var ContractNo = this.editRecord.get('ContractNo') if (ContractNo == '*' || ContractNo == '') { Ext.Msg.show({ title: '错误', msg: '单据还没有保存,请保存后再打印', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } var printType = 'XXH_CW_YS'; // var sql1 = "SET LANGUAGE 'us_english' SELECT price,weight,6.1667 as exchange FROM import_cargo WHERE contractno = '" + ContractNo + "' "; var sql2 = ""; var sql3 = ""; var sql4 = ""; var sql5 = ""; var sql6 = ""; PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6); } });