Ext.namespace('Shipping'); String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, ""); } //#region 当前日期格式 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(), //cond "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; } //#endregion //#region 获取 YYYY-mm-dd 格式的日期 var xhr = new XMLHttpRequest(); var currdate = new Date(); 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); } } xhr.send(null); //#endregion //#region 关闭窗口前的判断 function getSaved() { var changelines = panelEdit.storeDetailList.getModifiedRecords(); var changecount = changelines.length; var AllDirty = true; if (changecount == 0) { return false; } if (panelEdit.formHead.getForm().isDirty() == true || AllDirty == true) { return true; } else { return false }; } //#endregion Shipping.WMSOUT_GuiGeEdit = function (config) { Ext.applyIf(this, config); this.initUIComponents(); window.Shipping.WMSOUT_GuiGeEdit.superclass.constructor.call(this); }; Ext.extend(Shipping.WMSOUT_GuiGeEdit, Ext.Panel, { parentWin: null, opStatus: 'add', EditRecord: null, btnRefresh: null, outType: null, blISLOCK: false, sqlcontext: '', initUIComponents: function () { this.formname = "formWMSOUT_GuiGeEdit_LTJY"; //出库单 this.formname_out = "formWMSOUTDetail_GuiGeEdit_LTJY"; //出库单明细 this.pcnostr = ""; //#region 页面加载 this.opStatus = 'add'; parentWin = window.parent.opener; if (parentWin) { var ret = parentWin.OprationSwap(); this.opStatus = ret[0]; this.EditRecord = ret[1]; this.btnRefresh = ret[2]; this.outType = ret[3]; } //#endregion //#region formSearch 下拉框信息加载 //委托单位 this.storeCustCode = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefList' } }); this.storeCustCode.load(); this.comboxCustCode = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '客户名称', //需求编号:SR2017071300002-2 store: this.storeCustCode, forceSelection: true, name: 'CUSTOMERNAME', valueField: 'CustName', displayField: 'CodeAndName', listeners: { specialkey: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick(""); } } } }); //转移对象,需求编号:SR2017073000001 this.storeCLIENTNAMEOLD = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefList' } }); this.storeCLIENTNAMEOLD.load({ params: { condition: "ISCONTROLLER='1'"} }); this.comboxCLIENTNAMEOLD = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '转移对象', store: this.storeCLIENTNAMEOLD, //forceSelection: true, id: 'CLIENTNAMEOLD', name: 'CLIENTNAMEOLD', valueField: 'CustName', displayField: 'CodeAndName' }); //应收仓储客户,需求编号:SR2017073000001 this.storeARCLIENTWMSOUT = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefList' } }); this.storeARCLIENTWMSOUT.load({ params: { condition: "ISCONTROLLER='1'"} }); this.comboxARCLIENTWMSOUT = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '应收仓储客户', store: this.storeARCLIENTWMSOUT, //forceSelection: true, name: 'ARCLIENTWMSOUT', valueField: 'CustName', displayField: 'CodeAndName' }); //应收出库客户,需求编号:SR2017073000001 this.storeARCLIENT = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefList' } }); this.storeARCLIENT.load({ params: { condition: "ISCONTROLLER='1'"} }); this.comboxARCLIENT = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '应收出库客户', store: this.storeARCLIENT, //forceSelection: true, name: 'ARCLIENT', valueField: 'CustName', displayField: 'CodeAndName' }); //应付客户,需求编号:SR2017073000001 this.storeTRUCKNAME = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefList' } }); this.storeTRUCKNAME.load({ params: { condition: "ISCONTROLLER='1'"} }); this.comboxTRUCKNAME = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '应付客户', store: this.storeTRUCKNAME, //forceSelection: true, name: 'TRUCKNAME_OUT', valueField: 'CustName', displayField: 'CodeAndName' }); //所属仓库 this.storeSTORAGENAME = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefList' } }); this.storeSTORAGENAME.load({ params: { condition: " ISWAREHOUSE=1 "} }); this.comboxSTORAGENAME = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '仓库名称', store: this.storeSTORAGENAME, forceSelection: true, name: 'STORAGENAME', valueField: 'CustName', displayField: 'CodeAndName', listeners: { specialkey: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick(""); } } } }); //品名 this.storeCodeGoodsList = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.DICModel', proxy: { url: '/CommMng/TruckBasicDataRef/GetCommaWord' } }); this.storeCodeGoodsList.load({ params: { tablename: "wms_in", columnname: "goodsname", condition: ""} }); this.comboxGOODSNAME = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '品名', store: this.storeCodeGoodsList, forceSelection: true, name: 'GOODSNAME', valueField: 'KEYFIELD', displayField: 'KEYFIELD', listeners: { specialkey: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick(""); } } } }); //品名明细表_规格 this.storeCodeGoodsDetailList = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CodeGoodsDetailModel', proxy: { url: '/CommMng/BasicDataRef/GetCodeGoodsDetailList' } }); this.storeCodeGoodsDetailList.load(); this.comboxCodeGoodsDetail = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '单位', //品牌 store: this.storeCodeGoodsDetailList, hidden: true, forceSelection: true, name: 'GOODSDETAILNAME', valueField: 'GOODSDETAILNAME', displayField: 'GOODSDETAILNAME', listeners: { specialkey: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick(""); } } } }); //枚举维护表tSysEnumValue_车辆类型99019//需求编号:SR2017073000001 this.storeTSysEnumValueCode = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.TSysEnumValueDataModel', proxy: { url: '/CommMng/BasicDataRef/GetTSysEnumValueList' } }); this.storeTSysEnumValueCode.load({ params: { condition: " and EnumTypeID=99019"} }); //车辆类型 this.comboxTRUCKTYPE = Ext.create('DsExt.ux.RefTableCombox', { //fieldLabel: '车辆类型', store: this.storeTSysEnumValueCode, forceSelection: true, name: 'TRUCKTYPE', valueField: 'EnumValueName', displayField: 'EnumValueName' }); //装卸工下拉框//需求编号:SR2017073000001 Ext.regModel('ZHUANGXIEGONGMODEL', { fields: [{ name: 'GID' }, { name: 'NAME' }, { name: 'CODE' }, { name: 'CODENAME'}] }) this.storeZhuangXieGong = Ext.create('DsExt.ux.RefTableStore', { model: 'ZHUANGXIEGONGMODEL', proxy: { url: '/MvcShipping/WMSNew/GetZhuangXieGongList' } }); this.storeZhuangXieGong.load(); this.comboxZhuangXieGong = Ext.create('DsExt.ux.RefTableCombox', { store: this.storeZhuangXieGong, name: 'ZHUANGXIEGONGID_OUT', forceSelection: true, valueField: 'NAME', displayField: 'CODENAME' }); //#region 进口国 Ext.define('ConutryRef', { extend: 'Ext.data.Model', fields: [ { name: 'countryid', type: 'string' }, { name: 'country', type: 'string' }, { name: 'country_idandname', type: 'string' } ] }); this.storeCountry = Ext.create('DsExt.ux.RefTableStore', { model: 'ConutryRef', proxy: { url: '/CommMng/BasicDataRef/GetCountryRefList' } }); this.storeCountry.load({ params: { condition: ""} }); this.comboxCountry = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '进口国', hidden: true, forceSelection: true, store: this.storeCountry, name: 'COUNTRYID', valueField: 'countryid', displayField: 'country_idandname', listeners: { specialkey: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick(""); } } } }); //#endregion //#endregion //#region formSearch 查询面板 this.formSearch = Ext.widget('form', { title: '查询信息', frame: true, //collapsible: true, //将激活折叠功能 region: 'north', border: false, fieldDefaults: { margins: '2 2 2 2', labelAlign: 'right', flex: 1, labelWidth: 60, msgTarget: 'qtip' }, items: [{//fieldset 1 xtype: 'container', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [{ xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '箱号', name: 'CNTRNO', enableKeyEvents: true, //激活键盘事件 listeners: { scope: this, 'keyup': { fn: function (_field, e) { if (e.getKey() == 13) { this.onRefreshClick(""); } }, scope: this } // ,specialkey: function (field, e) { // if (e.getKey() == e.ENTER) { // _this.onRefreshClick(""); // } // } } }, { fieldLabel: '箱数', xtype: 'numberfield', name: 'BOXCOUNT', value: 0, enableKeyEvents: true, //激活键盘事件 listeners: { scope: this, 'keyup': { fn: function (_field, e) { if (e.getKey() == 13) { this.onRefreshClick(""); } }, scope: this } } }, { fieldLabel: '入库单号', name: 'WMSNO', editable: false, enableKeyEvents: true, //激活键盘事件 listeners: { scope: this, 'keyup': { fn: function (_field, e) { if (e.getKey() == 13) { this.onRefreshClick(""); } }, scope: this } // ,specialkey: function (field, e) { // if (e.getKey() == e.ENTER) { // _this.onRefreshClick(""); // } // } } }, { fieldLabel: '批次号', name: 'PICIHAO', editable: false, enableKeyEvents: true, //激活键盘事件 listeners: { scope: this, 'keyup': { fn: function (_field, e) { if (e.getKey() == 13) { this.onRefreshClick(""); } }, scope: this } } }, this.comboxCustCode, this.comboxSTORAGENAME, this.comboxGOODSNAME , this.comboxCodeGoodsDetail , this.comboxCountry , { xtype: 'button', width: 80, text: "执行查询", iconCls: "btnrefresh", handler: function (button, event) { this.onRefreshClick(button, event); }, scope: this }, { xtype: 'button', width: 80, text: "重置条件", iconCls: "btnreset", handler: function (button, event) { this.onClearSql(button, event); this.pcnostr = ""; }, scope: this }] }]//end items(fieldset 1) }]//end root items }); //#endregion formSearch //#region 编辑formHead 基本信息 this.formHead = Ext.widget('form', { title: this.outType, //'出库信息', frame: true, region: 'north', border: false, fieldDefaults: { margins: '2 2 2 2', labelAlign: 'right', flex: 1, labelWidth: 90, msgTarget: 'qtip' }, items: [{//fieldset 1 xtype: 'container', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [{ xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '出库主表GID', name: 'OUTGID', hidden: true }, { fieldLabel: '出库单号', name: 'OUTBSNO_OUT', editable: true, readOnly: true, disabled: false }, { fieldLabel: '出库日期', name: 'DODATE_OUT', xtype: 'datefield', format: 'Y-m-d', value: currdate.format('yyyy-MM-dd'), editable: false, allowBlank: false, listeners: { select: function (dfield, records, eOpts) { var sDODATE_OUT = dfield.rawValue; Ext.getCmp('OLDCUSTFEEDATE').setValue(sDODATE_OUT); } } }, { fieldLabel: '结束计费日期', //需求编号:SR2017073000001 id: 'OLDCUSTFEEDATE', name: 'OLDCUSTFEEDATE', xtype: 'datefield', format: 'Y-m-d', value: currdate.format('yyyy-MM-dd'), editable: false, allowBlank: false }, this.comboxCLIENTNAMEOLD, this.comboxARCLIENTWMSOUT, this.comboxARCLIENT //需求编号:SR2017073000001 ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '费用状态', readOnly: true, disabled: true, name: 'FEESTATUSREF_OUT' }, { fieldLabel: '会计期间', name: 'ACCDATE_OUT', xtype: 'monthfield', format: 'Y-m', value: currdate.format('yyyy-MM'), editable: false, allowBlank: false }, this.comboxTRUCKNAME //需求编号:SR2017073000001 , { xtype: "checkbox", //checkbox控件 id: "cbCCF", name: "cbCCF", boxLabel: "", fieldLabel: "是否生成仓储费", inputValue: "true", //选中的值 uncheckedValue: "false", //未选中的值 checked: true //绘制时的选中状态 }, { fieldLabel: '备注', flex: 2, //需求编号:SR2017073000001 name: 'OUTREMARK' }] }]//end items(fieldset 1) }]//end root items }); //#endregion //#region 权限范围 /* this.StoreOpRange = Ext.create('DsExt.ux.RefTableStore', { model: 'MsOP', //proxy: { url: '/MvcShipping/MsBaseInfo/GetOpRang' } proxy: { url: '/MvcShipping/MsBaseInfo/GetOpRang4' } }); this.StoreOpRange.load({ params: { optype: "WMSOUT_GuiGeCHECKED"} }); this.StoreOpRange2 = Ext.create('DsExt.ux.RefTableStore', { model: 'MsOP', //proxy: { url: '/MvcShipping/MsBaseInfo/GetOpRang' } proxy: { url: '/MvcShipping/MsBaseInfo/GetOpRang4' } }); this.StoreOpRange2.load({ params: { optype: "WMSOUT_GuiGeNotCHECKED"} }); */ //#endregion //#region 出库明细列表 //#region 定义数据集 this.storeDetailList = Ext.create('Ext.data.Store', { model: 'VwWmsDetailModel', remoteSort: false, proxy: { type: 'ajax', url: '/MvcShipping/WMSOUT_GuiGe/GetDetailList_Box', reader: { id: 'NID', root: 'data', totalProperty: 'totalCount' } } }); //#endregion //#region 列定义 this.initgirdDrcolums = [{ sortable: false, dataIndex: 'NID', header: '唯一编码', //唯一编码 hidden: true, width: 0 }, { sortable: false, dataIndex: 'OUTBSNO_OUT', header: '出库单号', align: 'center', width: 80 }, { sortable: true, dataIndex: 'CNTRNO', header: '箱号', align: 'center', width: 80 }, { //需求编号:SR2017062600003 sortable: false, hidden: true, dataIndex: 'ISBONDEDNAME', header: '是否保税业务', align: 'center', width: 80 }, { sortable: false, dataIndex: 'CUSTOMERNAME', header: '客户名称', //需求编号:SR2017071300002-2 width: 120 }, { sortable: false, dataIndex: 'STORAGENAME', header: '所属仓库', width: 120 }, { sortable: false, hidden: true, dataIndex: 'BLNO', header: '提单号', width: 120 }, { sortable: false, dataIndex: 'PICIHAO', header: '批次号', width: 120 }, { sortable: false, dataIndex: 'WMSNO', header: '入库单号', width: 120 }, { sortable: false, dataIndex: 'WMSDATE', header: '入库时间', width: 80 }, { sortable: false, dataIndex: 'GOODSNAME', header: '品名', width: 120 }, { sortable: false, hidden: true, dataIndex: 'GOODSMODEL', header: '单位', //品牌,需求编号:SR2017061800001-12 width: 60 }, { sortable: false, hidden: true, dataIndex: 'GOODSSTANDARD', header: '规格', align: 'right', width: 60 }, { sortable: false, hidden: true, dataIndex: 'GOODSPACKSTOCK', header: '剩余件数', align: 'right', width: 80 }, { //需求编号:SR2017062200002 sortable: false, hidden: true, dataIndex: 'WeiWanShui', header: '未完税件数', align: 'right', width: 80 }, { sortable: false, hidden: true, dataIndex: 'GOODSNUM', header: '完税库存件数', //需求编号:SR2017062200002 align: 'right', width: 80 }, { sortable: false, hidden: true, dataIndex: 'GOODSPACKPFSL_OUT', header: '出库件数', align: 'right', width: 80, editor: { xtype: 'numberfield', allowBlank: false, selectOnFocus: true, //得到焦点时自动选择文本 allowDecimals: true, //允许输入小数 nanText: '请输入有效数值', value: 0, minValue: 0, //maxValue: 100000, keyNavEnabled: false, //键盘导航是否可用,启用后可以通过键盘的上下箭头调整数值 hideTrigger: true, //是否隐藏上下调节按钮 mouseWheelEnabled: false, //鼠标滚轮是否可用,启用后可以通过滚动鼠标滚轮调整数值 //step: 2,//通过调节按钮、键盘、鼠标滚轮调节数值时的大小 enableKeyEvents: true, //激活键盘事件 listeners: { scope: this, 'keyup': { fn: function (_field, e) { if (e.getKey() == 13) { this.onNextKeyClick(13); } }, scope: this } } } }, { //需求编号:SR2017061800001-7,SR2017071100001 sortable: false, hidden: true, dataIndex: 'GOODSSLICE_OUT', header: '出库包装件数', align: 'right', width: 80 } , { sortable: false, dataIndex: 'GOODSSTOCK', header: '剩余库存', width: 80 } , { sortable: false, dataIndex: 'GOODSPFSL_OUT', header: '出库量', align: 'right', width: 80, editor: { xtype: 'numberfield', allowBlank: false, selectOnFocus: true, //得到焦点时自动选择文本 allowDecimals: true, //允许输入小数 nanText: '请输入有效数值', value: 0, minValue: 0, //maxValue: 100000, keyNavEnabled: false, //键盘导航是否可用,启用后可以通过键盘的上下箭头调整数值 hideTrigger: true, //是否隐藏上下调节按钮 mouseWheelEnabled: false, //鼠标滚轮是否可用,启用后可以通过滚动鼠标滚轮调整数值 //step: 2,//通过调节按钮、键盘、鼠标滚轮调节数值时的大小 enableKeyEvents: true, //激活键盘事件 listeners: { scope: this, 'keyup': { fn: function (_field, e) { if (e.getKey() == 13) { this.onNextKeyClick(14); } }, scope: this } } } }, { //需求编号:SR2017073000001 sortable: false, hidden: true, dataIndex: 'QianFengNO', header: '铅封号', width: 100, editor: { xtype: 'textfield', selectOnFocus: true, enableKeyEvents: true, //激活键盘事件 listeners: { scope: this, 'keyup': { fn: function (_field, e) { if (e.getKey() == 13) { this.onNextKeyClick(15); } }, scope: this } } } }, { //需求编号:SR2017073000001 sortable: false, hidden: true, dataIndex: 'TRUCKNO_OUT', header: '车号', width: 100, editor: { xtype: 'textfield', selectOnFocus: true, enableKeyEvents: true, //激活键盘事件 listeners: { scope: this, 'keyup': { fn: function (_field, e) { if (e.getKey() == 13) { this.onNextKeyClick(15); } }, scope: this } } } }, { //需求编号:SR2017073000001 sortable: false, hidden: true, dataIndex: 'TRUCKTYPE_OUT', header: '车辆类型', width: 100, editor: this.comboxTRUCKTYPE }, { //需求编号:SR2017073000001 sortable: false, hidden: true, dataIndex: 'ZHUANGXIEGONGID_OUT', header: '装卸工', width: 100, editor: this.comboxZhuangXieGong }, { //需求编号:SR2017073000001 sortable: false, hidden: true, dataIndex: 'TRUCKKGS_OUT', header: '平均重量', value: '0', width: 80 }, { //需求编号:SR2017073000001 sortable: false, hidden: true, dataIndex: 'ARFEE_OUT', header: '铅封费', align: 'right', width: 100, summaryType: 'sum', editor: { xtype: 'numberfield', allowBlank: false, selectOnFocus: true, //得到焦点时自动选择文本 allowDecimals: true, //允许输入小数 nanText: '请输入有效小数', minValue: -999999999.99, maxValue: 999999999.99, value: 0.00, keyNavEnabled: false, //键盘导航是否可用,启用后可以通过键盘的上下箭头调整数值 hideTrigger: true, //是否隐藏上下调节按钮 mouseWheelEnabled: false //鼠标滚轮是否可用,启用后可以通过滚动鼠标滚轮调整数值 //step: 2,//通过调节按钮、键盘、鼠标滚轮调节数值时的大小 }, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; }, summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; } }, { //需求编号:SR2017073000001 sortable: false, hidden: true, dataIndex: 'ARFEE_2_OUT', header: '过磅费', align: 'right', width: 100, summaryType: 'sum', editor: { xtype: 'numberfield', allowBlank: false, selectOnFocus: true, //得到焦点时自动选择文本 allowDecimals: true, //允许输入小数 nanText: '请输入有效小数', minValue: -999999999.99, maxValue: 999999999.99, value: 0.00, keyNavEnabled: false, //键盘导航是否可用,启用后可以通过键盘的上下箭头调整数值 hideTrigger: true, //是否隐藏上下调节按钮 mouseWheelEnabled: false //鼠标滚轮是否可用,启用后可以通过滚动鼠标滚轮调整数值 //step: 2,//通过调节按钮、键盘、鼠标滚轮调节数值时的大小 }, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; }, summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; } }, { //需求编号:SR2017073000001 sortable: false, hidden: true, dataIndex: 'GOODSOUTFEE_OUT', header: '应收仓储费', align: 'right', width: 100, summaryType: 'sum', renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; }, summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; } }, { //需求编号:SR2017073000001 sortable: false, hidden: true, dataIndex: 'GOODSOUTFEEAP_OUT', header: '应付仓储费', align: 'right', width: 100, summaryType: 'sum', renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; }, summaryRenderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; } }, { sortable: false, hidden: true, dataIndex: 'REMARK_OUT', header: '备注', width: 300, editor: { xtype: 'textfield', selectOnFocus: true, enableKeyEvents: true, //激活键盘事件 listeners: { scope: this, 'keyup': { fn: function (_field, e) { if (e.getKey() == 13) { this.onNextKeyClick(15); } }, scope: this } } } }, { sortable: false, hidden: true, dataIndex: 'CHIMA1', header: '尺码1', width: 120 }, { sortable: false, hidden: true, dataIndex: 'CHIMA2', header: '尺码2', width: 120 }, { sortable: false, hidden: true, dataIndex: 'GOODSKGS', header: '重量', width: 120 }, { sortable: false, hidden: true, dataIndex: 'ZHONGLIANG2', header: '重量2', width: 120 }, { sortable: false, hidden: true, dataIndex: 'WMSGID', header: '入库GID', hidden: true, width: 0 }, { sortable: false, hidden: true, dataIndex: 'GID', header: '入库明细GID', hidden: true, width: 0 }, { sortable: false, hidden: true, dataIndex: 'OUTGID', header: '出库GID', hidden: true, width: 0 }, { sortable: false, hidden: true, dataIndex: 'GID_OUT', header: '出库明细GID', hidden: true, width: 0 }, { sortable: false, hidden: true, dataIndex: 'BSNO_OUT', header: '出库明细单号', hidden: true, width: 0 }, { sortable: false, hidden: true, dataIndex: 'ASSOCIATEDNO', header: '业务GID', hidden: true, width: 0 }, { sortable: false, hidden: true, dataIndex: 'GOODSNAMEID', header: '品名gid', hidden: true, width: 0 }, { sortable: false, dataIndex: 'WHS_CODE', header: '库别', hidden: true, width: 0 }, { sortable: false, dataIndex: 'AREANAME', header: '储位', hidden: true, width: 0 }, { sortable: false, dataIndex: 'BZTCHNO', header: '电子账册号', hidden: true, width: 0 }, { sortable: false, dataIndex: 'CUSTOMNO', header: '报关单号', hidden: true, width: 0 }, { //需求编号:SR2017061900001-1 sortable: false, dataIndex: 'ISBONDED', header: '是否报税业务', hidden: true, width: 0 }, { sortable: false, dataIndex: 'GOODSPACKPFSL_OUT_2', header: '出库件数_用于判断', align: 'right', width: 0 }, { //需求编号:SR2017073000001 sortable: false, dataIndex: 'CHARGEUNIT', header: '入库计费单位', hidden: true, width: 0 }, { sortable: false, dataIndex: 'COUNTRY', header: '进口国', align: 'left', width: 120 }, { sortable: false, dataIndex: 'AREACODE', header: '库位编码', align: 'left', width: 80 }, { sortable: false,//34 dataIndex: 'LOADERFEE', header: 'LOADERFEE' } ]; this.girdcolums = this.initgirdDrcolums; this.girdcolums = DsTruck.GetGridPanel(GID, this.formname_out, this.girdcolums, 0); //使用者id,表名,中间column数组,跳过一开始的几列 //#endregion //#region gridList列表显示信息 this.gridListCellEditing = Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 //1单击,2双击 }); this.gridList = new Ext.grid.GridPanel({ region: 'center', store: this.storeDetailList, enableHdMenu: false, //是否显示表格列的菜单 hideHeaders: false, //是否隐藏表头 enableColumnHide: true, ///隐藏表头列 sortableColumns: false, ///隐藏表头排序 //disableSelection: false, //是否禁止选择表格行或列,默认为false //trackMouseOver: true, //高亮显示鼠标所在的行,默认为true, //stripeRows: true, //斑马线效果 rowLines: true, columnLines: true, loadMask: { msg: "数据加载中,请稍等..." }, plugins: [this.gridListCellEditing], selType: 'cellmodel', columns: this.girdcolums, features: [{ ftype: 'summary'//Ext.grid.feature.Summary表格汇总特性 }], tbar: [{ text: "全部出库", id: "order_modify", handler: function (button, event) { //alert(DsTruck.GetDirty1(panelWMSNewINEdit.storeWMSIN, null)); this.OUTALL(); }, scope: this }, { text: "保存列表样式", menu: [{ text: "保存", handler: function (button, event) { //_thisfee.girdDrcolums = DsTruck.SaveGridPanel(GID, 'FEEDRGRID', _thisfee.gridDrChFee.columns, _thisfee.girdDrcolums, 0, true); _this.girdcolums = DsTruck.SaveGridPanel(GID, _this.formname_out, _this.gridList.columns, _this.girdcolums, 0, true); //使用者id,表名,中间column数组,跳过一开始的几列 } }, { text: "初始化", handler: function (menu, event) { //_thisfee.gridDrChFee.reconfigure(this.storeList, _thisfee.initgirdDrcolums); //_thisfee.girdDrcolums = DsTruck.SaveGridPanel(GID, 'FEEDRGRID', _thisfee.gridDrChFee.columns, _thisfee.initgirdDrcolums, 0, true); _this.gridList.reconfigure(_this.storeDetailList, _this.initgirdDrcolums); _this.girdcolums = DsTruck.SaveGridPanel(GID, _this.formname_out, _this.gridList.columns, _this.initgirdDrcolums, 0, true); //使用者id,表名,中间column数组,跳过一开始的几列 } }], scope: this }, { text: "打印", id: "PrintBtn", handler: function (button, event) { //alert(DsTruck.GetDirty1(panelWMSNewINEdit.storeWMSIN, null)); this.Print_OUT(); }, scope: this }], listeners: { scope: this, 'edit': function (editor, e, eOpts) { if (e.value == e.originalValue) { return; } if (e.field == "GOODSPACKPFSL_OUT") { //需求编号:SR2017073000001 var dlOriginalValue = e.originalValue; if (this.OpStatus == 'edit') { dlOriginalValue = e.record.data['GOODSPACKPFSL_OUT_2']; //需求编号:SR2017073000001 } // var dlGOODSPACKPFSL_OUT = e.value; //出库件数 var blISBONDED = e.record.data['ISBONDED'].toString(); //是否报税业务//需求编号:SR2017061900001-1 if (blISBONDED == "true") { //需求编号:SR2017073000001 var dlGOODSNUM = e.record.data['GOODSNUM'].toString(); //完税件数 if (this.OpStatus == 'edit') { dlGOODSNUM = e.record.data['GOODSNUM'] + dlOriginalValue; //完税件数 } if (dlGOODSPACKPFSL_OUT > dlGOODSNUM) { e.record.set('GOODSPACKPFSL_OUT', dlOriginalValue); Ext.Msg.show({ title: '警告', msg: '注意:出库件数不能大于完税件数!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK }); } } //需求编号:SR2017073000001 var dlGOODSPACKSTOCK = e.record.data['GOODSPACKSTOCK'].toString(); //剩余件数 if (this.OpStatus == 'edit') { dlGOODSPACKSTOCK = e.record.data['GOODSPACKSTOCK'] + dlOriginalValue; //剩余件数 } if (dlGOODSPACKPFSL_OUT > dlGOODSPACKSTOCK) { e.record.set('GOODSPACKPFSL_OUT', dlOriginalValue); Ext.Msg.show({ title: '警告', msg: '注意:出库件数不能大于剩余件数!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK }); } //需求编号:SR2017073000001 var rqWMSDATE = e.record.data['WMSDATE']; //入库日期 var rqDODATE_OUT = this.formHead.getForm().findField('DODATE_OUT').getRawValue(); //出库日期 if (rqWMSDATE > rqDODATE_OUT) { e.record.set('GOODSPACKPFSL_OUT', dlOriginalValue); Ext.Msg.show({ title: '警告', msg: '注意:出库日期不能小于入库日期!', icon: Ext.Msg.WARNING, buttons: Ext.Msg.OK }); } // if (this.formHead.getForm().findField('CLIENTNAMEOLD').getValue() == undefined || this.formHead.getForm().findField('CLIENTNAMEOLD').getValue().toString().trim() == "") { this.formHead.getForm().findField('CLIENTNAMEOLD').setValue(e.record.data['CUSTOMERNAME'].toString()); //转移对象 } if (this.formHead.getForm().findField('ARCLIENTWMSOUT').getValue() == undefined || this.formHead.getForm().findField('ARCLIENTWMSOUT').getValue().toString().trim() == "") { this.formHead.getForm().findField('ARCLIENTWMSOUT').setValue(e.record.data['CUSTOMERNAME'].toString()); //应收仓储客户 } if (this.formHead.getForm().findField('ARCLIENT').getValue() == undefined || this.formHead.getForm().findField('ARCLIENT').getValue().toString().trim() == "") { this.formHead.getForm().findField('ARCLIENT').setValue(e.record.data['CUSTOMERNAME'].toString()); //应收出库客户 } } else if (e.field == "GOODSPFSL_OUT") {//需求编号:SR2017073000001 var dlGOODSPFSL_OUT = e.value; //出库量 var dlGOODSPACKPFSL_OUT = e.record.data['GOODSPACKPFSL_OUT'].toString(); //出库件数 if (dlGOODSPACKPFSL_OUT == 0) { e.record.set('TRUCKKGS_OUT', 0); } else { var dlTRUCKKGS_OUT = parseFloat(dlGOODSPFSL_OUT / dlGOODSPACKPFSL_OUT).toFixed(4); e.record.set('TRUCKKGS_OUT', dlTRUCKKGS_OUT); } // if (this.formHead.getForm().findField('CLIENTNAMEOLD').getValue() == undefined || this.formHead.getForm().findField('CLIENTNAMEOLD').getValue().toString().trim() == "") { this.formHead.getForm().findField('CLIENTNAMEOLD').setValue(e.record.data['CUSTOMERNAME'].toString()); //转移对象 } if (this.formHead.getForm().findField('ARCLIENTWMSOUT').getValue() == undefined || this.formHead.getForm().findField('ARCLIENTWMSOUT').getValue().toString().trim() == "") { this.formHead.getForm().findField('ARCLIENTWMSOUT').setValue(e.record.data['CUSTOMERNAME'].toString()); //应收仓储客户 } if (this.formHead.getForm().findField('ARCLIENT').getValue() == undefined || this.formHead.getForm().findField('ARCLIENT').getValue().toString().trim() == "") { this.formHead.getForm().findField('ARCLIENT').setValue(e.record.data['CUSTOMERNAME'].toString()); //应收出库客户 } } } } }); this.gridList.addListener('itemclick', function (dataview, record, item, index, e, b) { var condition2 = "WMSOUTGID='" + record.data.OUTGID + "' and ASSOCIATEDNO='" + record.data.GID_OUT + "'"; this.storeWmsRateDetailList.load({ params: { condition: condition2 }, waitMsg: "正在刷新数据...", timeout: 6000000, //60秒 scope: this }); }, this); //#endregion //#endregion //#region 仓储费列表//需求编号:SR2017073000001 //#region 定义数据集 this.storeWmsRateDetailList = Ext.create('Ext.data.Store', { model: 'WmsRateDetailModel', remoteSort: true, proxy: { type: 'ajax', url: '/MvcShipping/WMSOUT_GuiGe/GetWmsRateDetailList', reader: { id: 'GID', root: 'data', totalProperty: 'totalCount' } } }); //#endregion //#region 列定义 this.girdcolumsWmsRateDetail = [ { sortable: false, dataIndex: 'GID', header: '', //唯一编码 hidden: true, width: 0 }, { sortable: false, dataIndex: 'FEETYPENAME', header: '费用类别', align: 'center', width: 60 }, { sortable: false, dataIndex: 'FEEGRADE', header: '计费等级', align: 'center', width: 60 }, { sortable: false, dataIndex: 'STARTBILLINGDATE', header: '开始计费日期', renderer: Ext.util.Format.dateRenderer('Y-m-d'), align: 'center', width: 100 }, { sortable: false, dataIndex: 'ENDBILLINGDATE', header: '结束计费日期', renderer: Ext.util.Format.dateRenderer('Y-m-d'), align: 'center', width: 100 }, { sortable: false, dataIndex: 'FEESCALE', header: '计费区间', align: 'center', width: 60 } // , // { // sortable: false, // dataIndex: 'FEEUNIT', // header: '计费单位', // align: 'center', // width: 60 // } , { sortable: false, dataIndex: 'FEEPRICE', header: '计费单价', align: 'right', width: 80, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; } }, { sortable: false, dataIndex: 'GOODSPFSL', header: '出库量', align: 'center', width: 80 }, { sortable: false, dataIndex: 'OUTFEE', header: '仓储费', align: 'right', width: 80, renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) { value = usMoney(value, 2, '', true); return value; } }, { sortable: false, dataIndex: 'WMSOUTGID', header: 'WMSOUTGID', hidden: true, align: 'center', width: 0 }, { sortable: false, dataIndex: 'ASSOCIATEDNO', header: '关联号', hidden: true, align: 'center', width: 0 }]; //#endregion //#region gridList列表显示信息 this.gridListWmsRateDetail = new Ext.grid.GridPanel({ title: "仓储费用明细", region: 'south', store: this.storeWmsRateDetailList, enableHdMenu: false, //是否显示表格列的菜单 hideHeaders: false, //是否隐藏表头 enableColumnHide: false, ///隐藏表头列 sortableColumns: false, ///隐藏表头排序 //disableSelection: false, //是否禁止选择表格行或列,默认为false //trackMouseOver: true, //高亮显示鼠标所在的行,默认为true, //stripeRows: true, //斑马线效果 rowLines: true, columnLines: true, loadMask: { msg: "数据加载中,请稍等..." }, selType: 'cellmodel', height: 200, columns: this.girdcolumsWmsRateDetail }); //#endregion //#endregion //#region panelFee 费用信息 this.panelFee = new Shipping.FeeEditGrid({ border: false, //title: '费用信息', region: 'center', //south layout: 'border' //height: 400 //collapsible: true //将激活折叠功能 }); if (this.opStatus == 'edit') { this.panelFee.EditRecord = this.EditRecord; this.panelFee.stroplb = 'op_other'; //需求编号:SR2017061800001-7 //this.panelFee.strBSNO = EditRecord.get('BSNO'); //this.panelFee.strMBLNO = EditRecord.get('MBLNO'); this.panelFee.strBSNO = this.EditRecord.data.GID; this.panelFee.strMBLNO = this.EditRecord.data.BSNO; } //#endregion _this = this; //#region 按钮Toolbar/框架/加载 this.panelBtn = new Ext.Panel({ border: false, region: "north", tbar: [{ text: '新建', tooltip: '新建', id: "btnAdd", iconCls: "btnadd", handler: function (button, event) { this.onAddClick(); }, scope: this }, '-', { id: 'btnSave', text: "保存", iconCls: "btnsave", handler: function (button, event) { this.Save(); }, scope: this }, { text: "关闭", handler: function (button, event) { window.close(); }, scope: this }, '-', { text: '打印', tooltip: '打印', iconCls: "btnprint", handler: function (button, event) { this.Print(button, event); }, scope: this }, '-', { text: "保存列表样式", menu: [{ text: "保存", handler: function (button, event) { //_thisfee.girdDrcolums = DsTruck.SaveGridPanel(GID, 'FEEDRGRID', _thisfee.gridDrChFee.columns, _thisfee.girdDrcolums, 0, true); _this.girdcolums = DsTruck.SaveGridPanel(GID, _this.formname, _this.gridList.columns, _this.girdcolums, 1, true); //使用者id,表名,中间column数组,跳过一开始的几列 } }, { text: "初始化", handler: function (menu, event) { //_thisfee.gridDrChFee.reconfigure(this.storeList, _thisfee.initgirdDrcolums); //_thisfee.girdDrcolums = DsTruck.SaveGridPanel(GID, 'FEEDRGRID', _thisfee.gridDrChFee.columns, _thisfee.initgirdDrcolums, 0, true); _this.gridList.reconfigure(_this.storeDetailList, _this.initgirdDrcolums); _this.girdcolums = DsTruck.SaveGridPanel(GID, _this.formname, _this.gridList.columns, _this.initgirdDrcolums, 1, true); //使用者id,表名,中间column数组,跳过一开始的几列 } }], scope: this }, '-', { text: "费用入账", id: "btIslock", iconCls: "btislock", handler: function (button, event) { this.setislock(button, event); }, scope: this }, { text: "取消入账", id: "btNotIslock", iconCls: "btnotislock", handler: function (button, event) { this.setnotlock(button, event); }, scope: this }] }); //end 按钮Toolbar this.panelTop = new Ext.Panel({ border: false, layout: "border", region: "north", height: 176, items: [this.panelBtn, this.formSearch, this.formHead] }); this.page_1 = new Ext.Panel({ border: false, id: "page_1", title: "出库明细", layout: "border", region: 'center', items: [this.gridList//, this.gridListWmsRateDetail ] }); this.page_2 = new Ext.Panel({ border: false, id: "page_2", autoScroll: true, title: "出库相关应收应付费用", layout: "border", region: 'center', items: [this.panelFee] }); this.MainTab = new Ext.tab.Panel({ border: false, layout: "border", region: "center", split: true, items: [this.page_1, this.page_2] }); Ext.apply(this, { border: false, items: [this.panelTop, this.MainTab] }); //#endregion //#region 页面加载 if (this.opStatus == 'edit') { this.onRefreshClick(""); this.InitData(); this.blISLOCK = this.EditRecord.data.ISLOCK; this.setBtn(); var sBSNO = this.EditRecord.data.BSNO; this.LoadData("OUTBSNO_OUT='" + sBSNO + "'"); } else { this.onRefreshClick(" and 1<0"); } //#endregion }, //end initUIComponents //#region 加载事件 InitData: function () { this.panelFee.StoreCustType.add({ "SCUSTTYPE": "WTDW-委托单位", "CUSTTYPE": "委托单位", "CUSTNAME": "CUSTOMERNAME" }); this.panelFee.StoreCustType.add({ "SCUSTTYPE": "BGH-报关行", "CUSTTYPE": "报关行", "CUSTNAME": "CUSTOMSER" }); this.panelFee.StoreCustType.add({ "SCUSTTYPE": "HG-海关", "CUSTTYPE": "海关", "CUSTNAME": "BYCUSTOM" }); this.panelFee.StoreCustType.add({ "SCUSTTYPE": "DCDL-订舱代理", "CUSTTYPE": "订舱代理", "CUSTNAME": "FORWARDER" }); this.panelFee.StoreCustType.add({ "SCUSTTYPE": "DL-代理", "CUSTTYPE": "代理", "CUSTNAME": "AGENTID" }); this.panelFee.StoreCustType.add({ "SCUSTTYPE": "CZ-场站", "CUSTTYPE": "场站", "CUSTNAME": "YARD" }); this.panelFee.StoreCustType.add({ "SCUSTTYPE": "CGS-船公司", "CUSTTYPE": "船公司", "CUSTNAME": "CARRIER" }); this.panelFee.StoreCustType.add({ "SCUSTTYPE": "CD-车队", "CUSTTYPE": "车队", "CUSTNAME": "TRUCKER" }); this.panelFee.StoreDrOpRange.load({ params: { optype: "modOtherRecvFeeManagement"} }); //需求编号:SR2017061800001-7 this.panelFee.StoreCrOpRange.load({ params: { optype: "modOtherPayFeeManagement"} }); //需求编号:SR2017061800001-7 this.panelFee.StoreUnit.load({ params: { bsno: this.panelFee.strBSNO, bstype: "op_other"} }); //需求编号:SR2017061800001-7 this.panelFee.storeFeeNameRef.load({ params: { condition: ""} }); this.panelFee.StoreDateCurr.load({ params: { optype: "op_other", bsno: this.panelFee.strBSNO} }); //需求编号:SR2017061800001-7 this.panelFee.storeDrChFee.load({ params: { billno: this.panelFee.strBSNO, type: 1, optype: "op_other"} }); //需求编号:SR2017061800001-7 this.panelFee.storeCrChFee.load({ params: { billno: this.panelFee.strBSNO, type: 2, optype: "op_other"} }); //需求编号:SR2017061800001-7 this.panelFee.storeBodySum.load({ params: { bsno: this.panelFee.strBSNO, optype: "op_other" }, //需求编号:SR2017061800001-7 callback: function (r, options, success) { if (success) { _thisfee.setTotalHead(); } } }); this.panelFee.storeChFeeGain.load({ params: { bsno: this.panelFee.strBSNO, optype: "op_other"} }); //需求编号:SR2017061800001-7 }, //end InitData LoadData: function (condition) { this.serialNo = 0; Ext.Ajax.request({ waitMsg: '正在查询数据...', url: '/MvcShipping/WMSOUT_GuiGe/GetData', params: { condition: condition }, callback: function (options, success, response) { if (success) { var result = Ext.JSON.decode(response.responseText); if (!result.Success) { Ext.Msg.show({ title: '提示', msg: result.Message, icon: Ext.MessageBox.INFO, buttons: Ext.Msg.OK }); return; } // data = result.data; this.formHead.getForm().findField('OUTGID').setDisabled(false); this.formHead.getForm().reset(); this.formHead.getForm().setValues(data); this.formHead.getForm().findField('OLDCUSTFEEDATE').setValue(data.OLDCUSTFEEDATE.toString().substring(0, 10)); this.formHead.getForm().findField('OUTGID').setDisabled(true); // var condition2 = "WMSOUTGID='" + data.OUTGID + "'"; this.storeWmsRateDetailList.load({ params: { condition: condition2 }, waitMsg: "正在刷新数据...", timeout: 6000000, //60秒 scope: this }); } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); //this.GetEditStatus(); }, // end LoadDate //#endregion //#region 查询 onRefreshClick: function (sCondition) { var sql = this.getCondition(); if (sCondition.toString().trim() != "" && sCondition.toString().trim() != "[object Object]") { sql += sCondition; } this.sqlcontext = sql; this.storeDetailList.load({ params: { start: 0, limit: this.PageSize, sort: '', opStatus: this.opStatus, condition: sql }, waitMsg: "正在刷新数据...", timeout: 6000000, //30秒 scope: this }); //this.panelFee.hide(); //隐藏按钮 if (this.opStatus == 'edit') { //this.panelFee.show(); //显示按钮 var sBSNO = this.EditRecord.data.BSNO; this.LoadData("OUTBSNO_OUT='" + sBSNO + "'"); } }, getCondition: function () { var sql = ''; //' GOODSSTOCK>0 '; if (this.opStatus == 'edit') { var sBSNO = this.EditRecord.data.BSNO; sql = sql + getAndConSql(sql, sBSNO, "OUTBSNO_OUT='" + sBSNO + "'"); } else { var dl = 0; sql = sql + getAndConSql(sql, "GOODSSTOCK", " GOODSSTOCK > 0 "); // sql += "(GOODSPACKSTOCK<>" + dl + ")"; // or GOODSSTOCK<>" + dl + " } //箱号 var sBLNO = this.formSearch.getForm().findField('CNTRNO').getValue(); var sBOXCOUNT = this.formSearch.getForm().findField('BOXCOUNT').getValue(); if (sBLNO != null && sBLNO != "") { if (sBOXCOUNT <= 0) { sql = sql + getAndConSql(sql, sBLNO, "CNTRNO like '%" + sBLNO.toString().trim() + "%'"); } else { var CNTRNO = sBLNO.toString().trim() var getstartno = new RegExp(/\d+$/); var startno = getstartno.exec(CNTRNO); var CNTRNOString = CNTRNO.replace(startno, ""); var NumberCount = sBOXCOUNT + 0; var _Sql = "CNTRNO in ('" + CNTRNO + "'"; for (var i = 1; i < NumberCount; i++) { var thisno = CNTRNOString + (parseInt(startno) + parseInt(i)); _Sql += ",'" + thisno + "'" } _Sql += ")"; sql = sql + getAndConSql(sql, sBLNO, _Sql); } } //入库单号 var sWMSNO = this.formSearch.getForm().findField('WMSNO').getValue(); if (sWMSNO != null) { if (sWMSNO != "") { sql = sql + getAndConSql(sql, sWMSNO, "WMSNO like '%" + sWMSNO.toString().trim() + "%'"); } } //委托单位 var sCUSTOMERNAME = this.formSearch.getForm().findField('CUSTOMERNAME').getValue(); if (sCUSTOMERNAME != null) { if (sCUSTOMERNAME != "") { sql = sql + getAndConSql(sql, sCUSTOMERNAME, "CUSTOMERNAME='" + sCUSTOMERNAME.toString().trim() + "'"); } } //所属仓库 var sSTORAGENAME = this.formSearch.getForm().findField('STORAGENAME').getValue(); if (sSTORAGENAME != null) { if (sSTORAGENAME != "") { sql = sql + getAndConSql(sql, sSTORAGENAME, "STORAGENAME='" + sSTORAGENAME.toString().trim() + "'"); } } //品名 var sGOODSNAME = this.formSearch.getForm().findField('GOODSNAME').getValue(); if (sGOODSNAME != null) { if (sGOODSNAME != "") { sql = sql + getAndConSql(sql, sGOODSNAME, "GOODSNAME='" + sGOODSNAME.toString().trim() + "'"); } } //品名明细表_规格 var sGOODSDETAILNAME = this.formSearch.getForm().findField('GOODSDETAILNAME').getValue(); if (sGOODSDETAILNAME != null) { if (sGOODSDETAILNAME != "") { sql = sql + getAndConSql(sql, sGOODSDETAILNAME, "GOODSMODEL='" + sGOODSDETAILNAME.toString().trim() + "'"); } } //批次号 var PICIHAO = this.formSearch.getForm().findField('PICIHAO').getValue(); if (PICIHAO != null) { if (PICIHAO != "") { sql = sql + getAndConSql(sql, PICIHAO, "PICIHAO like '%" + PICIHAO.toString().trim() + "%'"); } } //进口国 var COUNTRYID = this.comboxCountry.getValue(); if (COUNTRYID != '' && COUNTRYID != null) { sql = sql + getAndConSql(sql, COUNTRYID, " countryid='" + COUNTRYID + "' "); } if (this.pcnostr != "") { sql = sql + getAndConSql(sql, this.pcnostr, "PICIHAO IN (" + this.pcnostr + ") "); } if (sql != '') { sql += ' and ISLOCK=1 and ISLOCK2=0'; //需求编号:SR2017061400006-1 } else { sql += 'ISLOCK=1 and ISLOCK2=0'; } return sql; }, onClearSql: function () { var form = this.formSearch.getForm(); form.reset(); }, //#endregion //#region 按键事件 onNextKeyClick: function (col) { var rows = this.gridList.getSelectionModel().getSelection(); var row = rows[rows.length - 1]; if (col == 15) { row = rows[rows.length]; col == 11; } var s = this.gridList.getStore(); var number = s.indexOf(row); this.gridListCellEditing.startEditByPosition({ row: number, column: col }); }, //#endregion //#region 新建 onAddClick: function () { this.opStatus = 'add'; this.pcnostr = ""; this.onClearSql(); this.formHead.getForm().findField('OUTGID').setDisabled(false); this.formHead.getForm().reset(); this.formHead.getForm().findField('OUTGID').setDisabled(true); this.storeDetailList.load({ params: { start: 0, limit: this.PageSize, sort: '', opStatus: this.opStatus, condition: "1<0" }, waitMsg: "正在刷新数据...", timeout: 6000000, //60秒 scope: this }); this.storeWmsRateDetailList.load({ params: { condition: "1<0" }, waitMsg: "正在刷新数据...", timeout: 6000000, //60秒 scope: this }); }, //#endregion //#region 保存 Save: function (type) { this.formHead.getForm().findField('OUTGID').setDisabled(false); var data = this.formHead.getForm().getValues(false, false, false); this.formHead.getForm().findField('OUTGID').setDisabled(true); // if (this.outType == "货权转移") { var sCLIENTNAMEOLD = Ext.getCmp('CLIENTNAMEOLD').getValue(); if (sCLIENTNAMEOLD == null) { Ext.Msg.show({ title: '提示', msg: '货权转移对象不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } else { if (sCLIENTNAMEOLD == "") { Ext.Msg.show({ title: '提示', msg: '货权转移对象不能为空!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } } } // var bodydatas = []; for (var i = 0; i < this.storeDetailList.getCount(); i += 1) { var dlGOODSPACKPFSL_OUT = this.storeDetailList.getAt(i).get("GOODSPACKPFSL_OUT"); //出库件数 var dlGOODSPFSL_OUT = this.storeDetailList.getAt(i).get("GOODSPFSL_OUT"); //出库立方 var dlGOODSNUM = this.storeDetailList.getAt(i).get("GOODSNUM"); //完税件数 var dlGOODSPACKSTOCK = this.storeDetailList.getAt(i).get("GOODSPACKSTOCK"); //剩余件数 if (this.opStatus == 'edit') { dlGOODSNUM = this.storeDetailList.getAt(i).get("GOODSNUM") + dlGOODSPACKPFSL_OUT; //完税件数 dlGOODSPACKSTOCK = this.storeDetailList.getAt(i).get("GOODSPACKSTOCK") + dlGOODSPACKPFSL_OUT; //剩余件数 } if (dlGOODSPACKPFSL_OUT != 0 || dlGOODSPFSL_OUT != 0) // && dlGOODSPFSL_OUT != 0 { var member = this.storeDetailList.getAt(i); var blISBONDED = this.storeDetailList.getAt(i).get("ISBONDED").toString(); //是否报税业务//需求编号:SR2017061900001-1 if (blISBONDED == "true") { if (dlGOODSPACKPFSL_OUT > dlGOODSNUM) { continue; } } if (dlGOODSPACKPFSL_OUT > dlGOODSPACKSTOCK) { continue; } //出库日期不能小于入库日期//需求编号:SR2017073000001 var rqWMSDATE = member.data.WMSDATE; //入库日期 var rqDODATE_OUT = this.formHead.getForm().findField('DODATE_OUT').getRawValue(); //出库日期 if (rqWMSDATE > rqDODATE_OUT) { continue; } //需求编号:SR2017073000001 var sZHUANGXIEGONGID_OUT = member.data.ZHUANGXIEGONGID_OUT.toString(); var comboxList = DsStoreQueryBy(this.storeZhuangXieGong, 'NAME', sZHUANGXIEGONGID_OUT); if (comboxList.length > 0) { var comboxRaw = comboxList.getAt(0).raw; member.set("ZHUANGXIEGONGID_OUT", comboxRaw.GID.toString()); } member.data.ISLOCK = member.data.ISLOCK == true ? 1 : 0; member.data.ISLOCK2 = member.data.ISLOCK2 == true ? 1 : 0; member.data.ISBONDED = member.data.ISBONDED == true ? 1 : 0; member.data.ISDELETE = member.data.ISDELETE == true ? 1 : 0; bodydatas.push(member); } } if (bodydatas.length > 0) { var jsonBody = ConvertRecordsToJsonAll(bodydatas); Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ waitMsg: '正在保存数据...', url: '/MvcShipping/WMSOUT_GuiGe/SaveEdit_Box', params: { opStatus: this.opStatus, data: Ext.JSON.encode(data), body: jsonBody, outType: this.outType }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { if (this.opStatus == 'add') { this.opStatus = 'edit'; } var returnData = jsonresult.Data; var editp = Ext.create('VwWmsDetailModel', returnData); this.panelFee.EditRecord = editp; this.panelFee.strBSNO = returnData.OUTGID; this.panelFee.strMBLNO = returnData.OUTBSNO_OUT; this.InitData(); this.formHead.getForm().findField('OUTGID').setDisabled(false); this.formHead.getForm().findField('OUTGID').setValue(returnData.OUTGID); this.formHead.getForm().findField('OUTBSNO_OUT').setValue(returnData.OUTBSNO_OUT); this.formHead.getForm().findField('OLDCUSTFEEDATE').setValue(returnData.OLDCUSTFEEDATE.toString().substring(0, 10)); this.formHead.getForm().findField('OUTGID').setDisabled(true); // var condition = "OUTBSNO_OUT='" + returnData.OUTBSNO_OUT + "'"; this.storeDetailList.load({ params: { start: 0, limit: this.PageSize, sort: '', opStatus: this.opStatus, condition: condition }, waitMsg: "正在刷新数据...", timeout: 6000000, //60秒 scope: this }); // var condition2 = "WMSOUTGID='" + returnData.OUTGID + "'"; this.storeWmsRateDetailList.load({ params: { condition: condition2 }, waitMsg: "正在刷新数据...", timeout: 6000000, //60秒 scope: this }); //this.panelFee.show(); //显示按钮 // if (this.btnRefresh == null) { } else { var btn = opener.document.getElementById(this.btnRefresh.id); btn.click(); } } 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.WARNING, buttons: Ext.Msg.OK }); } }, scope: this }); } else { Ext.Msg.show({ title: '错误', msg: '请先确定出库数据是否正确,再重试!', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } }, //end save //#endregion //#region 费用入账//需求编号:SR2017073000001 setislock: function (button, event) { if (this.opStatus == "add") { Ext.Msg.show({ title: '提示', msg: '请先保存单据!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } // //var sBSNO = this.EditRecord.data.BSNO; //this.LoadData("OUTBSNO_OUT='" + sBSNO + "'"); var sOUTGID = this.formHead.getForm().findField('OUTGID').getValue(); // Ext.MessageBox.confirm('提示', '确定入账该记录吗?', function (btn) { if (btn == 'yes') { Ext.Msg.wait('正在入账数据...'); Ext.Ajax.request({ waitMsg: '正在入账数据...', url: '/MvcShipping/WMSOUT_GuiGe/setislock', params: { sOUTGID: sOUTGID }, callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { this.panelFee.LoadDrChFee2("bsno='" + sOUTGID + "' and feetype=1"); this.panelFee.LoadCrChFee2("bsno='" + sOUTGID + "' and feetype=2"); this.blISLOCK = true; this.setBtn(); // if (this.btnRefresh == null) { } else { var btn = opener.document.getElementById(this.btnRefresh.id); btn.click(); } // Ext.Msg.show({ title: '提示', msg: '入账成功!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); } else { Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } } }, failure: function (response, options) { Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); }, scope: this }); } }, this); }, //#endregion //#region 取消入账//需求编号:SR2017073000001 setnotlock: function (button, event) { if (this.opStatus == "add") { Ext.Msg.show({ title: '提示', msg: '请先保存单据!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var sOUTGID = this.formHead.getForm().findField('OUTGID').getValue(); // Ext.MessageBox.confirm('提示', '确定取消入账吗?', function (btn) { if (btn == 'yes') { Ext.Msg.wait('正在取消入账数据...'); Ext.Ajax.request({ waitMsg: '正在取消入账数据...', url: '/MvcShipping/WMSOUT_GuiGe/setnotlock', params: { sOUTGID: sOUTGID }, callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { this.panelFee.LoadDrChFee2("bsno='" + sOUTGID + "' and feetype=1"); this.panelFee.LoadCrChFee2("bsno='" + sOUTGID + "' and feetype=2"); this.blISLOCK = false; this.setBtn(); // if (this.btnRefresh == null) { } else { var btn = opener.document.getElementById(this.btnRefresh.id); btn.click(); } // Ext.Msg.show({ title: '提示', msg: '取消入账成功!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); } else { Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } } }, failure: function (response, options) { Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); }, success: function (response, options) { }, scope: this }); } }, this); }, //#endregion //#region 按钮是否显示 setBtn: function () { if (this.blISLOCK) { Ext.getCmp('btnAdd').setVisible(false); Ext.getCmp('btnSave').setVisible(false); Ext.getCmp('btIslock').setVisible(false); Ext.getCmp('btNotIslock').setVisible(true); } else { Ext.getCmp('btnAdd').setVisible(true); Ext.getCmp('btnSave').setVisible(true); Ext.getCmp('btIslock').setVisible(true); Ext.getCmp('btNotIslock').setVisible(false); }; }, //#endregion //#region 打印 Print: function (button, event) { if (this.opStatus == "edit") { var sOUTBSNO_OUT = this.formHead.getForm().findField('OUTBSNO_OUT').getValue(); var condition = "OUTBSNO_OUT='" + sOUTBSNO_OUT + "'"; Ext.Ajax.request({ waitMsg: '正在组织数据, 请稍侯...', url: '/MvcShipping/WMSOUT_GuiGe/GetDataListStr', params: { condition: condition }, callback: function (options, success, response) { if (success) { if (Ext.MessageBox.isVisible()) { Ext.MessageBox.hide(); } var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { var returnStr = jsonresult.data; var printType = 'WMSOUT_GuiGeEdit'; var sql1 = returnStr; var sql2 = ""; var sql3 = ""; var sql4 = ""; var sql5 = ""; var sql6 = ""; PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6); } 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 }); } }, scope: this }); } } //#endregion //#region 打印出库列表 , Print_OUT: function () { //费用通知_无过程 var basicForm = this.formHead.getForm(); var OUTBSNO_OUT = basicForm.findField('OUTBSNO_OUT').value; if (OUTBSNO_OUT == "") { alert("请先保存修改"); return; } var printType = 'WMSOUT_LTJY'; // // var sql1 = " SELECT * from VW_WMS_DETAIL where OUTBSNO_OUT='" + OUTBSNO_OUT + "' and ISLOCK=1 and ISLOCK2=0 order by CUSTOMERNAME,BLNO,WMSNO,WMSDATE,BSNO_OUT "; var sql2 = ""; var sql3 = ""; var sql4 = ""; var sql5 = ""; var sql6 = ""; PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6); } //#endregion //#region 打印出库列表 , OUTALL: function () { //费用通知_无过程 this.storeDetailList.each(function (record) { if (record.get('GOODSSTOCK') > 0) { record.set('GOODSPFSL_OUT', record.get('GOODSSTOCK')); } }); } //#endregion });