Ext.namespace('Shipping'); Shipping.MsOp_BLISSUESPEdit = function (config) { Ext.applyIf(this, config); this.initUIComponents(); window.Shipping.MsOp_BLISSUESPEdit.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(), //minuet "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); Ext.extend(Shipping.MsOp_BLISSUESPEdit, Ext.Panel, { ParentWin: null, opStatus: 'add', HTH: "", StoreList: null, EditRecord: null, addstore: false, PageSize: 30, VISIBLERANGE: 4, OPERATERANGE: 4, _thisGID2: "", currCUSTOMERNAME:"", initUIComponents: function () { this.serialNo = 0; this.workSerialNo = 0; this.bodyDel = []; this.FeeSql = ''; this.BillSql = ''; this.DuiBillSql = ''; this.IsDebit = '0'; parentWin = window.parent.opener; mainWin = getMainForm(parentWin); this.feeBodyDel = []; this.formname = "MsOp_BLISSUESPEdit"; //页面名称 this.bsnosql = getUrlParam('bsnosql'); this.bsCust = getUrlParam('bsCust'); //this.formname_fee = "formImportSalesEdit_Fee"; //页面名称 //#region 编辑form //枚举参照相关(编辑form) this.storeMustBe = Ext.create('Ext.data.Store', { model: 'DsShipping.ux.OpDefValue', remoteSort: true, proxy: { type: 'ajax', url: '/MvcShipping/MsCodeOpMustField/GetDataList', reader: { id: 'GID', root: 'data', totalProperty: 'totalCount' } } }); //表参照相关(编辑form) this.StoreCUSTCARGOAFTER = Ext.create('Ext.data.Store', { fields: ['CUSTCARGOAFTER'] }); this.StoreCUSTCARGOAFTER.add({ "CUSTCARGOAFTER": "有" }); this.StoreCUSTCARGOAFTER.add({ "CUSTCARGOAFTER": "无" }); this.comboxCUSTCARGOAFTER = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '后面是否有货', store: this.StoreCUSTCARGOAFTER, forceSelection: true, name: 'CUSTCARGOAFTER', valueField: 'CUSTCARGOAFTER', displayField: 'CUSTCARGOAFTER' }); this.storeAuditCode = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.UserRefModel', proxy: { url: '/CommMng/WorkFlow/GetWorkFlowStepAuditor' } }); this.storeAuditCode.load( { params: { TYPENO: '406' } } ); this.comboxAUDITOPERATOR = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '审核人', store: this.storeAuditCode, forceSelection: true, matchFieldWidth: false, name: 'AUDITOR', valueField: 'UserName', displayField: 'CodeAndName' }); _this = this; //编辑form this.formEdit = Ext.widget('form', { region: 'center', frame: true, bodyPadding: 3, trackResetOnLoad: true, // autoScroll: true, fieldDefaults: { margins: '2 2 2 2', labelAlign: 'right', flex: 1, labelWidth: 90, msgTarget: 'qtip' }, items: [ {//fieldset 1 xtype: 'fieldset', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [{ xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [{ fieldLabel: '申请序列号', id: "thisGID", name: 'GID'//, flex: 0, margins: '0' }, { fieldLabel: '时间戳', name: 'TimeMark', flex: 0, hidden: true, margins: '0' }, { fieldLabel: 'SALECORPID', name: 'SALECORPID', flex: 0, hidden: true } , { fieldLabel: '申请人', name: 'OPNAME'//, //flex: 0, margins: '0' } , { fieldLabel: '申请日期', format: 'Y-m-d', xtype: 'datefield', renderer: Ext.util.Format.dateRenderer('Y-m-d'), name: 'OPTIME' }, { fieldLabel: '审批状态', name: 'BLSTATUS' }, { fieldLabel: '总经理复核状态', name: 'MNGBLSTATUS' }, this.comboxAUDITOPERATOR ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ { fieldLabel: '委托单位', id: "thisCUSTOMERNAME", name: 'CUSTOMERNAME', readOnly: true }, { fieldLabel: 'RMB欠款', name: 'RMBNODR', readOnly: true }, { fieldLabel: 'USD欠款', name: 'USDNODR', readOnly: true }, { fieldLabel: '总欠款', name: 'TTLNODR', readOnly: true }, { fieldLabel: '后面是否有货', name: 'CUSTCARGOAFTER', readOnly: true }, { fieldLabel: '揽货人', id: "thisSALE", name: 'SALE', readOnly: true } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ { fieldLabel: '客户结算方式', name: 'STLNAME', readOnly: true }, { fieldLabel: '销售部门', name: 'SALEDEPT', readOnly: true }, { fieldLabel: Zi.LAN.ISDEPTARREARS, name: 'ISDEPTARREARS', readOnly: true }, { fieldLabel: Zi.LAN.MAXARREARS, name: 'MAXARREARS', readOnly: true }, { fieldLabel: Zi.LAN.DEPTTTLDR, name: 'DEPTTTLDR', readOnly: true }, { fieldLabel: '是否超期欠费', name: 'ISCHAOQI', readOnly: true } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ { fieldLabel: '客户欠费_RMB', name: 'RMBNODR_ALL', readOnly: true }, { fieldLabel: '客户欠费_USD', name: 'USDNODR_ALL', readOnly: true }, { fieldLabel: '客户欠费_全部', name: 'TTLNODR_ALL', readOnly: true }, { xtype:'hiddenfield',flex:1 }, { xtype: 'hiddenfield', flex: 1 }, { xtype: 'hiddenfield', flex: 1 } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'numberfield', items: [ { xtype: 'datefield', //grow: true, fieldLabel: '承诺付款日期', format: 'Y-m-d', //height: 40, name: 'COMMITREMARK', anchor: '100%' }, { xtype: 'textareafield', //grow: true, flex: 3, fieldLabel: '申请说明', height: 40, name: 'REMARK', anchor: '100%' } ] }, { xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ { fieldLabel: '金额', hidden: true, name: 'AMOUNT', }, { fieldLabel: 'RMB金额', hidden: true, name: 'AMOUNTRMB', } ] } ]//end items(fieldset 1) }//end fieldset 1 ]//end root items }); //end this.formEdit //#endregion //#region 按钮Toolbar this.panelBtn = new Ext.Panel({ region: "north", tbar: [ { id: 'btnESave', text: "保存", iconCls: "btnsave", handler: function (button, event) { this.Save('0'); }, scope: this }, '-', { text: "打印", handler: function (button, event) { this.Print(); }, scope: this }, '-', { text: "提交审核", id: "SP_Start", handler: function (button, event) { this.onSP_StartClick('0'); }, scope: this }, '-', { text: "提交新建", id: "SP_Start_Save", handler: function (button, event) { this.onSP_StartClick('1'); }, scope: this }, { text: "撤回提交", id: "SP_Back", tooltip: '取消特殊放单审请', handler: function (button, event) { this.onSP_BackClick(button, event); }, scope: this }, '-', { text: "审核通过", id: "SP_Audit", //iconCls: "btnrefresh", handler: function (button, event) { var basicForm = this.formEdit.getForm(); if (!basicForm.isValid()) { return; } var data = basicForm.getValues(); Ext.Ajax.request({ waitMsg: Zi.LAN.ZhengZaiCaoZuoShuJu, url: '/MvcShipping/MsOp_BLISSUE/CanCheckOut_SP', async: false, params: { GID: data.GID }, callback: function (options, success, response) { if (success) { var result = Ext.JSON.decode(response.responseText); if (!result.Success) { //Ext.Msg.show({ // title: '提示', // msg: result.Message, // icon: Ext.MessageBox.ERROR, // buttons: Ext.Msg.OK //}); Ext.MessageBox.confirm("警告", result.Message, function (btn) { if (btn == 'yes') { this.winAuditShow.show(); } }); } } } }); }, scope: this }, { text: "审核驳回", id: "SP_AuditBack", handler: function (button, event) { this.winAuditBackShow.show(); }, scope: this }, '-', { text: "复核通过", id: "MNGSP_Audit", //iconCls: "btnrefresh", handler: function (button, event) { this.onMNGSP_AuditClick(); }, scope: this }, { text: "复核驳回", id: "MNGSP_AuditBack", handler: function (button, event) { this.onMNGSP_AuditBackClick(); }, scope: this }, '-', { id: 'btnESaveAndClose', text: "保存并关闭", handler: function (button, event) { this.Save('1'); }, scope: this }, '-', { id: 'btnEClose', text: "关闭", handler: function (button, event) { window.close(); }, scope: this } ] }); //end 按钮Toolbar //#endregion //明细表表格相关 //#region 明细表-特殊放单明细 this.GridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel'); this.storeBodyList = Ext.create('Ext.data.Store', { model: 'MsOp_BLISSUEmb', remoteSort: false, proxy: { type: 'ajax', url: '/MvcShipping/MsOp_BLISSUE/GetSPDetail', reader: { id: 'GID', root: 'data', totalProperty: 'totalCount' } } }); this.gridListCellEditing = Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 }); this.initgirdcolums = [ { sortable: true, hidden: true, dataIndex: 'GID', header: 'GID', width: 80 }, { sortable: true, hidden: true, dataIndex: 'BSNO', header: 'BSNO', width: 80 }, { sortable: true, dataIndex: 'OPLBNAME', header: '业务类型', width: 60 }, { sortable: true, dataIndex: 'BLNO', header: '主提单号', width: 80 }, { sortable: true, dataIndex: 'HBLNO', header: '分提单号', width: 80 }, { sortable: true, dataIndex: 'ZDFD', header: '主/分单', width: 80 }, { sortable: true, hidden: true, dataIndex: 'BLNAME', header: 'BLNAME', width: 80 }, { sortable: true, hidden: true, dataIndex: 'BLSTATUS', header: 'BLSTATUS', width: 80 }, { sortable: true, hidden: true, dataIndex: 'BLORDERNO', header: 'BLORDERNO', width: 80 }, { sortable: true, dataIndex: 'ISSUETYPE', header: '签单方式', width: 80 }, { sortable: true, dataIndex: 'OPNAME', header: '最近操作人', width: 80 }, { sortable: true, dataIndex: 'OPTIME', header: '操作时间', width: 80 }, { sortable: true, hidden: true, dataIndex: 'BSINKNO', header: 'BSINKNO', width: 80 }, { sortable: true, hidden: true, dataIndex: 'REMARK', header: '备注', width: 80 }, { sortable: true, hidden: true, dataIndex: 'DELFLAG', header: 'DELFLAG', width: 80 }, { sortable: true, hidden: true, dataIndex: 'EXPRESSCORP', header: 'EXPRESSCORP', width: 80 }, { sortable: true, hidden: true, dataIndex: 'EXPRESSNO', header: 'EXPRESSNO', width: 80 }, { sortable: true, hidden: true, dataIndex: 'ISADD', header: 'ISADD', width: 80 }, { sortable: true, hidden: true, dataIndex: 'PUTSINGLETIME', header: 'PUTSINGLETIME', width: 80 }, { sortable: true, hidden: true, dataIndex: 'PUTSINGLE', header: 'PUTSINGLE', width: 80 }, { sortable: true, hidden: true, dataIndex: 'PAYTIME', header: 'PAYTIME', width: 80 }, { sortable: true, hidden: true, dataIndex: 'PAYRMB', header: 'PAYRMB', width: 80 }, { sortable: true, hidden: true, dataIndex: 'PAYUSD', header: 'PAYUSD', width: 80 }, { sortable: true, dataIndex: 'BLTYPE', header: '装运方式', width: 80 }, { sortable: true, dataIndex: 'CUSTNO', header: '委托编号', width: 80 }, { sortable: true, dataIndex: 'CUSTOMERNAME', header: '委托单位', width: 80 }, { sortable: true, dataIndex: 'SALE', header: '销售', width: 80 }, { sortable: true, dataIndex: 'ACCTYPE', header: '结算方式', width: 80 }, { sortable: true, dataIndex: 'ETD', header: '开船日期', width: 80 }, { sortable: true, dataIndex: 'STLDATE', header: '结算日期', width: 80 }, { sortable: true, dataIndex: 'TTLNODR', header: '未收合计', width: 80 }, { sortable: true, dataIndex: 'CARRIER', header: '船公司', width: 80 }, { sortable: true, dataIndex: 'VESSEL', header: '船名', width: 80 }, { sortable: true, dataIndex: 'VOYNO', header: '航次', width: 80 }, { sortable: true, dataIndex: 'OP', header: '操作', width: 80 }, { sortable: true, dataIndex: 'BLISSUESTATUS', header: '提单签发状态', width: 80 }, { sortable: true, dataIndex: 'TSFD', header: '特殊放单', width: 80 }, { sortable: true, dataIndex: 'XYTS', header: '协议天数', width: 80 }, { sortable: true, dataIndex: 'CQTS', header: '超期天数', width: 80 }, { sortable: true, dataIndex: 'SJTS', header: '实际天数', width: 80 } ]; this.girdcolums = this.initgirdcolums; this.gridList = new Ext.grid.GridPanel({ store: this.storeBodyList, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, selModel: this.GridCheckBoxModel, viewConfig: { enableTextSelection: true, //允许复制数据 autoFill: true }, plugins: [this.gridListCellEditing], tbar: [{ text: '删除明细', tooltip: '删除明细', id: 'btndeldetail', iconCls: "btndeletedetail", handler: function (button, event) { this.onDeleteClick(button, event, 1); }, scope: this }, '-', { text: "保存列表样式", id: "btnSaveTable", handler: function (button, event) { //this.column = DsTruck.SaveGridPanel(GID, this.formname, this.gridList.columns, this.column, 1, true); var tempcolumns = this.gridList.columns; DsTruck.SaveGridPanel(USERID, this.formname, tempcolumns, this.girdcolums, 1, true); }, scope: this }/*,{ text: '生成应收', tooltip: '根据销售单生成应收费用', id: 'btnmakefee', iconCls: "btnadddetail", handler: function (button, event) { this.MakeFee(button, event, 1); }, scope: this }*/], columns: this.girdcolums }); /////////////以下部分为获取存储的gridpanel显示样式 this.girdcolums = DsTruck.GetGridPanel(USERID, this.formname, this.girdcolums, 1); //使用者id,表名,中间column数组,跳过一开始的几列 this.gridList.reconfigure(this.storeBodyList, this.girdcolums); this.gridList.columns[0] = new Ext.grid.RowNumberer(); //////////////////////////////////////////////// this.gridList.addListener('itemdblclick', function (dataview, record, item, index, e, b) { this.SelectedRecord = record; var openSet = "height=700, width=1024, toolbar=no, menubar=no,scrollbars=1, resizable=1,location=no, status=no,Top= " + (screen.height - 750) / 2 + ",Left= " + (screen.width - 1100) / 2 var openType = "_blank"; var openUrl = ""; if (record.data.OPLBNAME == "报关业务") { openUrl = "../MsOpApply/ApplyFeeView?handle=check&bsno=" + record.data.BSNO; } else { openUrl = "../MsOpBill/MsOpFeeView?handle=check&bsno=" + record.data.BSNO; } window.open(openUrl, openType, openSet); }, this); //#endregion //#region 添加明细 this.storeAddList = Ext.create('Ext.data.Store', { pageSize: this.PageSize, model: 'MsOp_BLISSUEmb', remoteSort: true, //groupField: 'GroupDate', proxy: { type: 'ajax', //url: '/TruckMng/MsRptPcHeadOperate/QryData_ADL', url: '/MvcShipping/MsOp_BLISSUE/GetDataList', //this.storeList.proxy.url = '/TruckMng/MsRptPcHeadOperate/QryData_ADL'; reader: { id: '', root: 'data', totalProperty: 'totalCount' } } }); this.column_Add = [ { sortable: true, hidden: true, dataIndex: 'GID', header: 'GID', width: 80 }, { sortable: true, hidden: true, dataIndex: 'BSNO', header: 'BSNO', width: 80 }, { sortable: true, dataIndex: 'OPLBNAME', header: '业务类型', width: 60 }, { sortable: true, dataIndex: 'BLNO', header: '主提单号', width: 140 }, { sortable: true, dataIndex: 'HBLNO', header: '分提单号', width: 140 }, { sortable: true, dataIndex: 'ZDFD', header: '主/分单', width: 80 }, { sortable: true, hidden: true, dataIndex: 'BLNAME', header: 'BLNAME', width: 80 }, { sortable: true, hidden: true, dataIndex: 'BLSTATUS', header: 'BLSTATUS', width: 80 }, { sortable: true, hidden: true, dataIndex: 'BLORDERNO', header: 'BLORDERNO', width: 80 }, { sortable: true, dataIndex: 'ISSUETYPE', header: '签单方式', width: 80 }, { sortable: true, dataIndex: 'OPNAME', header: '最近操作人', width: 80 }, { sortable: true, dataIndex: 'OPTIME', header: '操作时间', width: 80 }, { sortable: true, hidden: true, dataIndex: 'BSINKNO', header: 'BSINKNO', width: 80 }, { sortable: true, hidden: true, dataIndex: 'REMARK', header: '备注', width: 80 }, { sortable: true, hidden: true, dataIndex: 'DELFLAG', header: 'DELFLAG', width: 80 }, { sortable: true, hidden: true, dataIndex: 'EXPRESSCORP', header: 'EXPRESSCORP', width: 80 }, { sortable: true, hidden: true, dataIndex: 'EXPRESSNO', header: 'EXPRESSNO', width: 80 }, { sortable: true, hidden: true, dataIndex: 'ISADD', header: 'ISADD', width: 80 }, { sortable: true, hidden: true, dataIndex: 'PUTSINGLETIME', header: 'PUTSINGLETIME', width: 80 }, { sortable: true, hidden: true, dataIndex: 'PUTSINGLE', header: 'PUTSINGLE', width: 80 }, { sortable: true, hidden: true, dataIndex: 'PAYTIME', header: 'PAYTIME', width: 80 }, { sortable: true, hidden: true, dataIndex: 'PAYRMB', header: 'PAYRMB', width: 80 }, { sortable: true, hidden: true, dataIndex: 'PAYUSD', header: 'PAYUSD', width: 80 }, { sortable: true, dataIndex: 'BLTYPE', header: '装运方式', width: 80 }, { sortable: true, dataIndex: 'CUSTNO', header: '委托编号', width: 120 }, { sortable: true, dataIndex: 'CUSTOMERNAME', header: '委托单位', width: 80 }, { sortable: true, dataIndex: 'SALE', header: '销售', width: 80 }, { sortable: true, dataIndex: 'STLNAME', header: '结算方式', width: 80 }, { sortable: true, dataIndex: 'ETD', header: '开船日期', width: 80 }, { sortable: true, dataIndex: 'STLDATE', header: '结算日期', width: 80 }, { sortable: true, dataIndex: 'CARRIER', header: '船公司', width: 80 }, { sortable: true, dataIndex: 'VESSEL', header: '船名', width: 80 }, { sortable: true, dataIndex: 'VOYNO', header: '航次', width: 80 }, { sortable: true, dataIndex: 'OP', header: '操作', width: 80 }, { sortable: true, dataIndex: 'BLISSUESTATUS', header: '提单签发状态', width: 80 }, { sortable: true, dataIndex: 'TSFD', header: '特殊放单', width: 80 }, { sortable: true, dataIndex: 'XYTS', header: '协议天数', width: 80 }, { sortable: true, dataIndex: 'CQTS', header: '超期天数', width: 80 }, { sortable: true, dataIndex: 'SJTS', header: '实际天数', width: 80 }, { sortable: true, dataIndex: 'TTLNODR', header: '业务应收', width: 80 } ]; Ext.grid.RowNumberer = Ext.extend(Ext.grid.RowNumberer, { width: 40 }); this.AddGridCheckBoxModel = Ext.create('Ext.selection.CheckboxModel'); this.gridAddList = new Ext.grid.GridPanel({ store: this.storeAddList, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, selModel: this.AddGridCheckBoxModel, disableSelection: false, viewConfig: { enableTextSelection: true, //允许复制数据 autoFill: true }, tbar: [{ text: '添加明细', tooltip: '添加明细', id: 'btnadddetail', iconCls: "btnadd", handler: function (button, event) { this.onAddSP(button, event); }, scope: this }, '-', { text: "保存列表样式", id: "btnSaveTable2", handler: function (button, event) { //this.column = DsTruck.SaveGridPanel(GID, this.formname, this.gridList.columns, this.column, 1, true); var tempcolumns = this.gridAddList.columns; DsTruck.SaveGridPanel(USERID, this.formname + 'add', tempcolumns, this.column_Add, 1, true); }, scope: this }], columns: this.column_Add, plugins: [ //this.cellEditing ], /*features: [{ id: 'group', ftype: 'grouping', groupHeaderTpl: '{name}', hideGroupedHeader: true, enableGroupingMenu: true }],*/ viewConfig: { enableTextSelection: true, //允许复制数据 autoFill: true }, bbar: Ext.create('Ext.PagingToolbar', { store: this.storeAddList, displayInfo: true, displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录', emptyMsg: "没有数据" }) }); this.column_Add = DsTruck.GetGridPanel(USERID, this.formname + 'add', this.column_Add, 1); //使用者id,表名,中间column数组,跳过一开始的几列 this.gridAddList.reconfigure(this.storeAddList, this.column_Add); this.gridAddList.columns[0] = new Ext.grid.RowNumberer(); _this = this; //#region formSearch //#region formSearch枚举参照相关 this.storeBLSTATUS = Ext.create('Ext.data.Store', { fields: ['BLSTATUS'] }); this.storeBLSTATUS.add({ "BLSTATUS": "录入状态" }); this.storeBLSTATUS.add({ "BLSTATUS": "提交审核" }); this.storeBLSTATUS.add({ "BLSTATUS": "审核通过" }); this.storeBLSTATUS.add({ "BLSTATUS": "驳回提交" }); this.comboxBLSTATUS = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '特殊放单审请状态', store: this.storeBLSTATUS, forceSelection: true, name: 'BLSTATUS', valueField: 'BLSTATUS', displayField: 'BLSTATUS', listeners: { scope: this, change: function (field, newValue, oldValue, eOpts) { } } }); this.StoreOpLb = Ext.create('Ext.data.Store', { fields: ['OPLBNAME'] }); this.StoreOpLb.add({ "OPLBNAME": "海运出口" }); this.StoreOpLb.add({ "OPLBNAME": "海运进口" }); this.comboxOpLb = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '业务类别', store: this.StoreOpLb, valueField: 'OPLBNAME', displayField: 'OPLBNAME', labelWidth: 80, forceSelection: true, name: 'OPLBNAME', enableKeyEvents: true, listeners: { keyup: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick(); } } } }); //人员信息加载 this.storeOpCode = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.UserRefModel', proxy: { url: '/CommMng/BasicDataRef/GetUserLinkRefListRm' } }); this.storeSaleCode = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.UserRefModel', proxy: { url: '/CommMng/BasicDataRef/GetUserLinkRefListRm' } }); //揽货人 this.comboxSALE = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '揽货人', //'揽货人', store: this.storeSaleCode, forceSelection: true, queryMode: 'remote', minChars: 0, queryParam: 'CODENAME', labelWidth: 45, name: 'SALE', flex: 0.6, valueField: 'UserName', displayField: 'CodeAndName', enableKeyEvents: true, listeners: { keyup: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick(); } } } }); //操 作 this.comboxOP = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '操作', //'操 作', store: this.storeOpCode, queryMode: 'remote', minChars: 0, queryParam: 'CODENAME', labelWidth: 30, forceSelection: true, name: 'OP', flex: 0.6, valueField: 'UserName', displayField: 'CodeAndName', enableKeyEvents: true, listeners: { keyup: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick(); } } } }); this.storeCustCode = Ext.create('DsExt.ux.RefTableStore', { model: 'DsShipping.ux.CustomRefModel', proxy: { url: '/CommMng/BasicDataRef/GetCustomRefListController' } }); this.storeCustCode.loadData(mainWin.GetPubStore("PubStore_CustomerAll").data.items); // this.storeCustCode.load({ params: { condition: "ISCONTROLLER='1'"} }); this.comboxCustCode = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '委托单位', store: this.storeCustCode, forceSelection: true, matchFieldWidth: false, //queryMode: 'remote', //minChars: 1, labelWidth: 80, queryParam: 'CODENAME', name: 'CUSTOMERNAME', valueField: 'CustName', displayField: 'CodeAndName', listeners: { scope: this, beforequery: function (e) { return FilterCombox(e, 1); }, specialkey: function (combo, e) { //将回车13转义成tab9 GetComboxFirstValueOnTableClick_RefTable(combo, e, 'CustName'); if (e.getKey() == e.ENTER) { _this.onRefreshClick_Add(); } }, 'select': function (combo, records, eOpts) { if (records.length > 0) { //var data = combo.value; //this.formEdit.getForm().findField('SALER').setValue(records[0].data.SALE); } } } }); //#endregion this.formSearch_SP = Ext.widget('form', { frame: true, region: 'north', bodyPadding: 5, fieldDefaults: { margins: '2 2 2 2', labelAlign: 'right', flex: 1, labelWidth:40, msgTarget: 'qtip' }, items: [ {//fieldset 1 xtype: 'container', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [{ xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [ { fieldLabel: '编号', name: 'MBLNO', flex: 0.6, listeners: { specialkey: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick_Add(); } } } }, this.comboxOpLb , this.comboxCustCode, { fieldLabel: '从开船日期', labelWidth: 85, format: 'Y-m-d', xtype: 'datefield', name: 'ETD_BGN', listeners: { specialkey: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick_Add(); } } } }, { fieldLabel: '到开船日期', labelWidth: 85, format: 'Y-m-d', xtype: 'datefield', name: 'ETD_END', listeners: { specialkey: function (field, e) { if (e.getKey() == e.ENTER) { _this.onRefreshClick_Add(); } } } }, this.comboxOP, this.comboxSALE, { xtype: 'button', width: 90, // flex: 0.5, text: "执行查询", iconCls: "btnrefresh", handler: function (button, event) { this.onRefreshClick_Add(button, event); }, scope: this }] } ]//end items(fieldset 1) }//end fieldset 1 ]//end root items }); //#endregion formSearch //#region 后续货物 this.storeBillList = Ext.create('Ext.data.Store', { pageSize: this.PageSize, model: 'MsChFeedoBill', remoteSort: true, proxy: { type: 'ajax', timeout: 120000, url: '/MvcShipping/MsOp_BLISSUE/GetBLListData', reader: { id: 'BSNO', root: 'data', totalProperty: 'totalCount' } } }); this.initgirdcolumsbill = [{ sortable: true, dataIndex: 'BSNO', header: 'BSNO', hidden: true, width: 100 }, { sortable: true, dataIndex: 'CUSTNO', header: '委托编号', width: 120 }, { sortable: true, dataIndex: 'MBLNO', header: '主提单号', width: 120 }, { sortable: true, dataIndex: 'HBLNO', header: '分提单号', width: 120 }, { sortable: true, //hidden: true, dataIndex: 'BLISSUESTATUS', style: 'text-align:center;', align: 'left', header: '提单签发状态', width: 80, renderer: function (value, meta) { if (value == '提单签出') { meta.tdCls = 'feestatus_pass'; } else if (value == '录入状态') { } else if (value == '提单签入') { meta.tdCls = 'feestatus_refer'; } else if (value == '扣单') { meta.tdCls = 'feestatus_nopass'; } else if (value == '可放单') { meta.tdCls = 'feestatus_refer'; } return value; } }, { sortable: true, dataIndex: 'CUSTOMNO', header: '报关单号', width: 120 }, { sortable: true, id: '', align: 'center', dataIndex: 'BSSTATUSREF', header: '业务锁定', width: 60, renderer: function (value, cellmeta) { if (value == '锁定') { return ""; } } }, { sortable: true, id: '', align: 'center', dataIndex: 'FEESTATUSREF', header: '费用锁定', width: 60, renderer: function (value, cellmeta) { if (value == '锁定') { return ""; } } }, { sortable: true, id: '', dataIndex: 'DRFEESTATUS', header: '应收费用', align: 'center', width: 60, renderer: function (value, meta) { if (value == '审核通过') { meta.tdCls = 'feestatus_pass'; } else if (value == '录入状态') { } else if (value == '提交审核') { meta.tdCls = 'feestatus_refer'; } else if (value == '部分结算') { meta.tdCls = 'feestatus_refer'; } else if (value == '结算完毕') { meta.tdCls = 'feestatus_settle'; } else if (value == '未录入') { } else if (value == '部分结算') { meta.tdCls = 'feestatus_settle'; } else if (value == '部分审核') { meta.tdCls = 'feestatus_pass'; } else if (value == '部分提交') { meta.tdCls = 'feestatus_refer'; } return value; } }, { sortable: true, id: '', dataIndex: 'CRFEESTATUS', header: '应付费用', align: 'center', width: 60, renderer: function (value, meta) { if (value == '审核通过') { meta.tdCls = 'feestatus_pass'; } else if (value == '录入状态') { } else if (value == '提交审核') { meta.tdCls = 'feestatus_refer'; } else if (value == '部分结算') { meta.tdCls = 'feestatus_refer'; } else if (value == '结算完毕') { meta.tdCls = 'feestatus_settle'; } else if (value == '未录入') { } else if (value == '部分结算') { meta.tdCls = 'feestatus_settle'; } else if (value == '部分审核') { meta.tdCls = 'feestatus_pass'; } else if (value == '部分提交') { meta.tdCls = 'feestatus_refer'; } return value; } }, { sortable: true, dataIndex: 'OPSTATUS', header: '费用状态', width: 180 }, { sortable: true, dataIndex: 'CUSTOMERNAME', header: '委托单位', width: 100 }, { sortable: true, dataIndex: 'ETD', header: '开船日期', renderer: Ext.util.Format.dateRenderer('Y-m-d'), width: 100 }, { sortable: true, dataIndex: 'SALE', header: '揽货人', width: 80 }, { sortable: true, dataIndex: 'CNTRTOTAL', header: '集装箱', width: 120 }, { sortable: true, dataIndex: 'ACCDATE', header: '会计期间', width: 80 }, { sortable: true, dataIndex: 'BSSOURCE', header: '业务来源', width: 80 }, { sortable: true, dataIndex: 'ENTERP', header: '经营单位', width: 80 }, { sortable: true, dataIndex: 'REMARK', header: '备注', width: 80 }, { sortable: true, dataIndex: 'OP', header: '操作', width: 80 }, { sortable: true, dataIndex: 'INPUTBY', header: '录入人', width: 80 }, { sortable: true, dataIndex: 'PORTLOAD', header: '起运港', width: 120 }, { sortable: true, dataIndex: 'PORTDISCHARGE', header: '目的港', width: 120 }, { sortable: true, dataIndex: 'VESSEL', header: '船名', width: 150 }, { sortable: true, dataIndex: 'VOYNO', header: '航次', width: 60 }, { sortable: true, dataIndex: 'CUSTOMSNUM', header: '报关项数', width: 60 }, { sortable: true, dataIndex: 'PKGS', header: '件数', width: 60 }, { sortable: true, dataIndex: 'KGS', header: '重量', width: 60 }, { sortable: true, dataIndex: 'CBM', header: '尺码', width: 60 }, { sortable: true, dataIndex: 'ISSUETYPE', header: '签单方式', width: 80 } ]; this.girdcolumsbill = this.initgirdcolumsbill; _this = this; this.gridBillList = new Ext.grid.GridPanel({ store: this.storeBillList, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, viewConfig: { enableTextSelection: true }, disableSelection: false, tbar: [{ text: "保存列表样式", id: "btntestbody", menu: [ { text: "保存", handler: function (button, event) { _this.girdcolumsbill = DsTruck.SaveGridPanel(USERID, _this.formname + 'bill', _this.gridBillList.columns, _this.girdcolumsbill, 1, true); } }, { text: "初始化", handler: function (menu, event) { _this.girdcolumsbill = DsTruck.SaveGridPanel(USERID, _this.formname + 'bill', _this.gridBillList.columns, _this.initgirdcolumsbill, 1, true); } }], scope: this }, { text: "扣单", id: "LOCKBL", //hidden: true, iconCls: 'btislock', handler: function (button, event) { this.onKDClick(); }, scope: this }], columns: this.girdcolumsbill, // paging bar on the bottom bbar: [Ext.create('Ext.PagingToolbar', { store: this.storeBillList, displayInfo: true, displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录', emptyMsg: "没有要审核的数据" })] }); this.girdcolumsbill = DsTruck.GetGridPanel(USERID, this.formname + 'bill', this.girdcolumsbill, 1); //使用者id,表名,中间column数组,跳过一开始的几列 this.gridBillList.reconfigure(this.storeBillList, this.girdcolumsbill); this.gridBillList.addListener('itemdblclick', function (dataview, record, item, index, e, b) { this.SelectedRecord = record; var openSet = "height=700, width=1024, toolbar=no, menubar=no,scrollbars=1, resizable=1,location=no, status=no,Top= " + (screen.height - 750) / 2 + ",Left= " + (screen.width - 1100) / 2 var openType = "_blank"; var openUrl = ""; openUrl = "../../MvcShipping/MsOpSeae/EditView?handle=check&bsno=" + record.data.BSNO; window.open(openUrl, openType, openSet); // DsOpenEditWin("/TruckMng/MsWlPc/Edit"); }, this); this.storeBillList.on('beforeload', function (store) { var _thisCUSTOMERNAME = Ext.getCmp("thisCUSTOMERNAME").getValue(); var sql = "CUSTOMERNAME='" + _thisCUSTOMERNAME + "' and isnull(op_seae.ISCANCEL,0)<>1 AND NOT EXISTS (SELECT 1 FROM op_blissue WHERE op_seae.BSNO=op_blissue.BSNO and op_blissue.BLSTATUS='提单签出') " + " AND NOT EXISTS (SELECT 1 FROM v_op_blissuelist_Detail d WHERE op_seae.BSNO=d.BSNO and d.BLSTATUS='审核通过') "; Ext.apply(store.proxy.extraParams, { condition: sql }); }, this); this.panelBillList = new Ext.Panel({ layout: "border", region: 'center', title: '此客户未签单业务', //width: 620, split: true, margin: '2 2', items: [this.gridBillList] }); //#endregion //#region 明细表-附件管理 this.storeReceiptid = Ext.create('DsExt.ux.RefEnumStore', {}); this.storeReceiptid.load({ params: { enumTypeId: 2} }); this.comboxReceiptid = Ext.create('DsExt.ux.RefEnumCombox', { store: this.storeReceiptid, name: 'RECEIPTTYPE', valueField: 'EnumValueName', displayField: 'EnumValueName' }); //明细表-数据集 this.storeDocList = Ext.create('Ext.data.Store', { model: 'MsUploadFile', remoteSort: true, proxy: { type: 'ajax', url: '/MvcShipping/MsOp_BLISSUE/GetFileList', reader: { id: 'GID', root: 'data', totalProperty: 'totalCount' } } }); //明细表表格 this.gridListCellEditing_Doc = Ext.create('Ext.grid.plugin.CellEditing', { clicksToEdit: 1 }); this.CBM_Doc = Ext.create('Ext.selection.CheckboxModel'); this.gridDocList = new Ext.grid.GridPanel({ store: this.storeDocList, enableHdMenu: false, region: 'west', width: 350, loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, plugins: [this.gridListCellEditing_Doc], selModel: this.CBM_Doc, selType: 'cellmodel', tbar: [{ text: '添加', tooltip: '添加', iconCls: "btnadddetail", handler: function (button, event) { this.onAddFileClick(button, event); }, scope: this }, '-', { text: '删除', tooltip: '删除', iconCls: "btndeletedetail", handler: function (button, event) { this.onDelFileClick(button, event); }, scope: this }, '-', { text: '保存', tooltip: '保存', iconCls: "btnsave", handler: function (button, event) { this.onPostFileClick(button, event); }, scope: this }, '-', { text: '上传附件', tooltip: '上传附件', iconCls: "btnadddetail", handler: function (button, event) { this.onUpLoadFileClick(button, event); }, scope: this }, '-', { text: '打印附件', tooltip: '打印附件', iconCls: "btnprint", handler: function (button, event) { this.onPrintFileClick(button, event); }, scope: this }], columns: [{ sortable: true, dataIndex: 'GID', header: '单据号', hidden: true, width: 120 }, { sortable: true, dataIndex: 'PID', header: '单据号', hidden: true, width: 120 }, { sortable: true, dataIndex: 'FILEPATH', header: '文件路径', // hidden: true, width: 120 }, { sortable: true, dataIndex: 'FILETYPE', header: '文件类型', hidden: true, width: 120 }, { sortable: true, dataIndex: 'FILENAME', header: '附件名称', editor: { xtype: 'textfield', selectOnFocus: true }, width: 160 } ] }); this.gridDocList.getSelectionModel().on('select', function (model, record, index) { if (this.Loading == true) { return; } var PICURL = record.data.FILEPATH; Ext.getCmp('panelPic').body.update(' '); }, this); //#endregion //#region 布局 //控件布局 this.panelService = new Ext.Panel({ layout: "border", //region: 'center', region: 'west', width: 600, split: true, margin: '2 2', items: [this.gridList] }); this.panelPic = new Ext.Panel({ id: "panelPic", layout: "fit", region: "center", autoScroll: true, frame: false, html: ' '//ftp://bjes:@120.27.53.37/dhm-11111/2.jpg }); this.panelAddfee = new Ext.Panel({ layout: "border", region: 'east', width: 400, split: true, margin: '2 2', items: [this.formInfo_2] }); this.paneldetail = new Ext.Panel({ //title: '', layout: "border", height: 240, region: "north", split: true, items: [ this.panelService, this.panelBillList ] }); this.panelAddService = new Ext.Panel({ layout: "border", region: 'center', margin: '2 2', items: [this.gridAddList] }); this.paneladddetail = new Ext.Panel({ layout: "border", region: 'center', height: 300, items: [this.panelAddService ] }); this.paneladd = new Ext.Panel({ title: '添加申请明细', layout: "border", // region: 'south', region: "center", // height: 420, items: [ this.formSearch_SP, this.paneladddetail ] }); var _this = this; this.MainTab = new Ext.tab.Panel({ layout: "border", region: "center", split: true, items: [this.paneladd, this.panelaccdetail ], listeners: { tabchange: function (tp, p) { if (p.title == '认款/确认核销') { } } } }); this.panelTop = new Ext.Panel({ layout: "border", region: "north", height: 185, items: [this.panelBtn, this.formEdit] }); this.page1 = new Ext.Panel({ layout: "border", title: "特殊放单业务明细", region: "center", items: [this.paneldetail, this.MainTab] }); this.page2 = new Ext.Panel({ layout: "border", title: "相关附件", region: "center", items: [this.gridDocList, this.panelPic ] }); this.tabBottom = new Ext.TabPanel({ activeTab: 0, autoWidth: true, //border: true, frame: false, region: 'center', //enableTabScroll: true, items: [ this.page1 , this.page2 ] }); Ext.apply(this, { items: [this.panelTop, this.tabBottom] }); //#endregion //绑定查询窗体 this.ParentWin = window.parent.opener; //初始化数据 if (this.bsnosql != undefined) { this.opStatus = 'add' this.LoadData(this.opStatus,'1=2'); } else this.InitData(); //绑定事件 var billno = '*'; if (this.opStatus == 'edit') { billno = this.editRecord.get('BILLNO'); }; if (this.opStatus == 'Audit') { billno = this.editRecord.get('SALESNO'); }; this.storeBodyList.on('beforeload', function (store) { var sql = " BILLNO='" + billno + "'"; Ext.apply(store.proxy.extraParams, { condition: sql }); }, this); this.storeAddList.on('beforeload', function (store) { var sql = this.getCondition_Add(); Ext.apply(store.proxy.extraParams, { condition: sql }); }, this); this.storeBodyList.on('load', function (store, records) { if (store.getCount() > 0) { this.gridList.getSelectionModel().select(0); } }, this); this.gridAddList.getSelectionModel().on('select', function (model, record, index) { var bsno = record.data.BSNO; var feeobjname = record.data.FEEOBJNAME; var sql = ""; sql = " BSNO='" + bsno + "' AND CUSTOMERNAME='" + feeobjname + "'"; sql = sql + getAndConSql(sql, this.FeeSqlStr, this.FeeSqlStr); //this.storeAddFeeList.load({ params: { condition: sql} }); }, this); this.gridList.on('edit', function (editor, e, eOpts) { this.DetailAfterEdit(editor, e, eOpts); }, this); this.formReason = Ext.widget('form', { frame: true, region: 'center', bodyPadding: 5, fieldDefaults: { margins: '2 2 2 2', labelAlign: 'right', flex: 1, labelWidth: 90, msgTarget: 'qtip' }, items: [ { fieldLabel: '备注', id: "REASON", xtype: 'textfield', name: 'REASON', width: 400, listeners: { change: function (field, eOpts) { if (field.lastValue != "") { //this.formHead.getForm().findField('STOCKDATE_1').setValue(field.rawValue); } }, scope: this } }] }); this.formReason2 = Ext.widget('form', { frame: true, region: 'center', bodyPadding: 5, fieldDefaults: { margins: '2 2 2 2', labelAlign: 'right', flex: 1, labelWidth: 90, msgTarget: 'qtip' }, items: [ { fieldLabel: '备注', id: "REASON2", xtype: 'textfield', name: 'REASON', width: 400, listeners: { change: function (field, eOpts) { if (field.lastValue != "") { //this.formHead.getForm().findField('STOCKDATE_1').setValue(field.rawValue); } }, scope: this } }] }); var _this2 = this; this.winAuditShow = Ext.create('Ext.window.Window', { id: "winAuditShow", title: "审核通过", width: 450, //height : 120, //plain : true, iconCls: "addicon", resizable: false, // 是否可以拖动 // draggable:false, collapsible: true, // 允许缩放条 closeAction: 'close', closable: true, modal: 'true', buttonAlign: "center", bodyStyle: "padding:0 0 0 0", items: [this.formReason], buttons: [ { text: "确定", minWidth: 70, handler: function () { _this2.onSP_AuditClick(Ext.getCmp("REASON").getRawValue()); } }, { text: "取消", minWidth: 70, handler: function () { _this2.winAuditShow.Close(); } }] }); this.winAuditBackShow = Ext.create('Ext.window.Window', { id: "winAuditBackShow", title: "驳回申请", width: 450, //height : 120, //plain : true, iconCls: "addicon", resizable: false, // 是否可以拖动 // draggable:false, collapsible: true, // 允许缩放条 closeAction: 'close', closable: true, modal: 'true', buttonAlign: "center", bodyStyle: "padding:0 0 0 0", items: [this.formReason2], buttons: [ { text: "确定", minWidth: 70, handler: function () { _this2.onSP_AuditBackClick(Ext.getCmp("REASON2").getRawValue()); } }, { text: "取消", minWidth: 70, handler: function () { _this2.winAuditShow.Close(); } }] }); var btnAudit = Ext.getCmp('SP_Audit'); var btnAuditBack = Ext.getCmp('SP_AuditBack'); Ext.Ajax.request({ waitMsg: '正在添加数据...', url: '/MvcShipping/MsBaseInfo/GetUserModuleEnable', params: { modulename: 'MsOp_BLISSUE_SP' }, callback: function (options, success, response) { if (success) { var result = Ext.JSON.decode(response.responseText); //测试 //if (result.Success) { // btnAudit.setVisible(true); // btnAuditBack.setVisible(true); //} else { // btnAudit.setVisible(false); // btnAuditBack.setVisible(false); //} } }, scope: this }); var btnMNGAuditPass = Ext.getCmp('MNGSP_Audit'); var btnMNGAuditBack = Ext.getCmp('MNGSP_AuditBack'); Ext.Ajax.request({ waitMsg: '', url: '/MvcShipping/MsBaseInfo/GetUserModuleEnable', params: { modulename: "MNGSP_AUDIT" }, callback: function (options, success, response) { if (success) { var result = Ext.JSON.decode(response.responseText); if (result.Success != true) { btnMNGAuditPass.setVisible(false); btnMNGAuditBack.setVisible(false); } else { btnMNGAuditPass.setVisible(true); btnMNGAuditBack.setVisible(true); } } else { } }, scope: this }); this.LoadMustBe(); //累积选中的“本次核销金额” }, //end initUIComponents InitData: function () { this.opStatus = 'add'; var condition = ''; if (this.ParentWin) { var ret = this.ParentWin.OprationSwap(); this.opStatus = ret[0]; this.StoreList = ret[1]; this.editRecord = ret[2]; //this.CWAuditSales = ret[3]; } if (this.opStatus == 'edit') condition = " ob.GID='" + this.editRecord.get('GID') + "'"; else condition = " 1=2 " this.LoadData(this.opStatus, condition); }, //end InitData LoadData: function (opstatus, condition) { this.serialNo = 0; this.workSerialNo = 0; this.bodyDel = []; this.opStatus = opstatus; _this = this; Ext.Ajax.request({ async: false, waitMsg: '正在查询主表数据...', url: '/MvcShipping/MsOp_BLISSUE/GetSPData', params: { handle: opstatus, condition: condition }, callback: function (options, success, response) { if (success) { var result = Ext.JSON.decode(response.responseText); if (!result.Success) { Ext.Msg.show({ title: '提示', msg: result.Message, icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.OK }); return; } var data = result.data; if (data.SALESDATE == "") { data.SALESDATE = currdate.format('yyyy-MM-dd') }; if (data.OP == "") { data.OP = USERNAME }; if (data.BSSTATUS == "") { data.BSSTATUS = "0" }; if (data.FEESTATUS == "") { data.FEESTATUS = "0" }; if (data.PREPAYMENT == "") { data.PREPAYMENT = "0" }; if (data.FUNDRATE == "") { data.FUNDRATE = "0" }; _this.formEdit.getForm().reset(); _this.formEdit.getForm().setValues(data); _this.GetEditStatus(); if (data.CUSTOMERNAME != '') { this.currCUSTOMERNAME = data.CUSTOMERNAME; //this.storeBillList.load({ // params: { start: 0, limit: 100, sort: '', condition: "CUSTOMERNAME='" + data.CUSTOMERNAME // + "' and isnull(op_seae.ISCANCEL,0)<>1 AND NOT EXISTS (SELECT 1 FROM op_blissue WHERE op_seae.BSNO=op_blissue.BSNO and op_blissue.BLSTATUS='提单签出') " // + " AND NOT EXISTS (SELECT 1 FROM v_op_blissuelist_Detail d WHERE op_seae.BSNO=d.BSNO and d.BLSTATUS='审核通过') " // } //}); this.loadBillList(); } billno = data.GID; this.storeDocList.load({ params: { PID: billno} }); this.SetBtnEnable(data); if (this.bsnosql != undefined && this.bsnosql !='') { var sql = " not exists (select 1 from op_blissueList_Detail ob1 where ob1.bsno=B.bsno) and isnull(ob.BLSTATUS,'')<>'提单签出' "; sql = sql + " and B.bsno='" + this.bsnosql + "' " this.storeAddList.load({ params: { start: 0, limit: this.PageSize, condition: sql }, callback: function (r, options, success) { if (success) { if (r.length != 0) { _this.gridAddList.getSelectionModel().selectAll(); _this.onAddSP(); } else { //Ext.MessageBox.alert('提示', '无添加申请费用明细!'); } } } }); //this.bsnosql = ''; } } else { Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); } }, scope: this }); var billno = '*'; if (this.opStatus == 'edit' && this.bsnosql == undefined) { GID = this.editRecord.get('GID'); this.storeBodyList.load({ params: { condition: " obd.LINKGID='" + GID + "'" }, callback: function (r, options, success) { if (success) { if (this.storeBodyList.getCount() > 0) { // this.HTH = this.storeBodyList.getAt(0).data.HTH; } else { //this.comboxCustCode.setReadOnly(false); } } }, scope: this }); }; if (this.opStatus == 'add') { this.storeBodyList.removeAll(); }; //this.storeBodyList.load({ params: { condition: " obd.LINKGID='" + GID + "'" }, // callback: function (r, options, success) { // if (success) { // if (this.storeBodyList.getCount() > 0) { // this.HTH = this.storeBodyList.getAt(0).data.HTH; // } // else { // //this.comboxCustCode.setReadOnly(false); // } // } // }, // scope: this //}); }, // end LoadDate SetBtnEnable: function (data) { var BLSTATUS = this.formEdit.getForm().findField('BLSTATUS').getValue(); var btnESave = Ext.getCmp('btnESave'); var btnESaveAndClose = Ext.getCmp('btnESaveAndClose'); var btndeldetail = Ext.getCmp('btndeldetail'); var btnadddetail = Ext.getCmp('btnadddetail'); var btnSP_Start = Ext.getCmp('SP_Start'); var btnSP_Back = Ext.getCmp('SP_Back'); var btnSP_Start_Save = Ext.getCmp('SP_Start_Save'); if (BLSTATUS == '录入状态') { btnESave.enable(); btnESaveAndClose.enable(); btndeldetail.enable(); btnadddetail.enable(); btnSP_Start.enable(); btnSP_Back.disable(); btnSP_Start_Save.enable(); } else { btnESave.disable(); btnESaveAndClose.disable(); btndeldetail.disable(); btnadddetail.disable(); btnSP_Start.disable(); btnSP_Back.enable(); btnSP_Start_Save.disable(); } var btnAudit = Ext.getCmp('SP_Audit'); var btnAuditBack = Ext.getCmp('SP_AuditBack'); var btnMNGAuditPass = Ext.getCmp('MNGSP_Audit'); var btnMNGAuditBack = Ext.getCmp('MNGSP_AuditBack'); var MNGBLSTATUS = this.formEdit.getForm().findField('MNGBLSTATUS').getValue(); if (BLSTATUS == '提交审核') { btnAudit.enable(); btnAuditBack.disable(); btnMNGAuditPass.disable(); btnMNGAuditBack.disable(); btnSP_Start.disable(); btnSP_Back.enable(); btnSP_Start_Save.disable(); } else if (BLSTATUS == '审核通过') { btnAudit.disable(); btnSP_Start.disable(); btnSP_Back.disable(); btnSP_Start_Save.disable(); if (MNGBLSTATUS == '录入状态') { btnAuditBack.enable(); btnMNGAuditPass.enable(); btnMNGAuditBack.enable(); } else if (MNGBLSTATUS == '审核通过') { btnAuditBack.disable(); btnMNGAuditPass.disable(); btnMNGAuditBack.enable(); } else { btnAuditBack.enable(); btnMNGAuditPass.enable(); btnMNGAuditBack.disable(); } } }, Save: function (type) { var basicForm = this.formEdit.getForm(); if (!basicForm.isValid()) { return; } var data = basicForm.getValues(); Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ waitMsg: '正在保存数据...', async: false, url: '/MvcShipping/MsOp_BLISSUE/SaveSP', scope: this, params: { opstatus: this.opStatus, data: Ext.JSON.encode(data)/*, SaleDetailList: jsonDetailBody*/ }, callback: function (options, success, response) { if (success) { //this.feeBodyDel = []; //this.storeBodyChFee.commitChanges(); Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { var returnData = jsonresult.Data; this.formEdit.getForm().setValues(returnData); this._thisGID2 = returnData.GID; //this.storeBodyList.commitChanges(); if (this.opStatus == 'add') { var arrNewRecords = this.StoreList.add(returnData); this.editRecord = arrNewRecords[0]; //_thisGID2 = returnData.data.GID; } else if (this.opStatus == 'edit') { var editp = Ext.create('MsOp_BLISSUEListmb', returnData); this.editRecord.fields.each(function (field) { if (field.persist) { name = field.name; if (name != 'id') this.editRecord.set(name, editp.get(name)); } }, this); this.editRecord.commit(); } if (type == '0') { this.opStatus = 'edit'; //this.storeBodyList.load({ params: { condition: " s.SaleSNO='" + this.editRecord.get("SALESNO") + "'"} }); this.storeBodyList.load({ params: { condition: " obd.LINKGID='" + this.editRecord.get("GID") + "'"} }); } else if (type == '1') { window.close(); } else { this.LoadData('add', ''); } } 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 }); } } }); }, //end save onAddDetailClick: function (button, event) { this.addstore = true; this.addDetail(); }, //end onAddDetailClick onAddBillClick: function (button, event) { this.addstore = true; this.addBill(); }, //end onAddDetailClick onDelDetailClick: function (button, event, type) { this.deleteDetail(); }, //onDelDetailClick onAddSP: function (button, event) { var basicForm = this.formEdit.getForm(); if (!basicForm.isValid()) { return; } var data = basicForm.getValues(); var _thisGID = this._thisGID2; //Ext.getCmp("thisGID").getValue(); var _thisCUSTOMERNAME = Ext.getCmp("thisCUSTOMERNAME").getValue(); var bodyList = []; var selectedRecords = this.gridAddList.selModel.getSelection(); if (selectedRecords.length == 0) { //未选中任何一条 就什么都不做 } else { for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; if (_thisCUSTOMERNAME == "" || _thisCUSTOMERNAME == rec.data.CUSTOMERNAME) { if (rec.data.ISSUETYPE == '') { Ext.Msg.show({ title: '提示', msg: '签单方式为空,不允许申请特放!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } else { Ext.getCmp("thisCUSTOMERNAME").setValue(rec.data.CUSTOMERNAME); bodyList.push(rec); } } else { alert("只能添加相同委托单位的业务"); return; } } var data = basicForm.getValues(); Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ waitMsg: '正在保存数据...', async: false, url: '/MvcShipping/MsOp_BLISSUE/SaveSP', scope: this, params: { opstatus: this.opStatus, data: Ext.JSON.encode(data)/*, SaleDetailList: jsonDetailBody*/ }, callback: function (options, success, response) { if (success) { //this.feeBodyDel = []; //this.storeBodyChFee.commitChanges(); Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { var returnData = jsonresult.Data; this.formEdit.getForm().setValues(returnData); this._thisGID2 = returnData.GID; //this.storeBodyList.commitChanges(); if (this.bsnosql != undefined) { } else { if (this.opStatus == 'add') { var arrNewRecords = this.StoreList.add(returnData); this.editRecord = arrNewRecords[0]; //_thisGID2 = returnData.data.GID; } else if (this.opStatus == 'edit') { var editp = Ext.create('MsOp_BLISSUEListmb', returnData); this.editRecord.fields.each(function (field) { if (field.persist) { name = field.name; if (name != 'id') this.editRecord.set(name, editp.get(name)); } }, this); this.editRecord.commit(); } this.opStatus = 'edit'; } var _thisGID = this._thisGID2; //Ext.getCmp("thisGID").getValue(); var _thisCUSTOMERNAME = Ext.getCmp("thisCUSTOMERNAME").getValue(); var _thisSALE = Ext.getCmp("thisSALE").getValue(); var bodyList = []; var selectedRecords = this.gridAddList.selModel.getSelection(); for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; if (_thisCUSTOMERNAME == "" || _thisCUSTOMERNAME == rec.data.CUSTOMERNAME) { Ext.getCmp("thisCUSTOMERNAME").setValue(rec.data.CUSTOMERNAME); //bodyList.push(rec); } else { alert("只能添加相同委托单位的业务"); return; } if (_thisSALE == "" || _thisSALE == rec.data.SALE) { Ext.getCmp("thisSALE").setValue(rec.data.SALE); //bodyList.push(rec); } else { alert("只能添加相同销售的业务"); return; } bodyList.push(rec); } var jsonBody = ConvertRecordsToJsonAll(bodyList); if (jsonBody == "") { return; } // this.Save("0"); Ext.Msg.wait('正在提交数据...'); Ext.Ajax.request({ waitMsg: '正在提交数据...', url: '/MvcShipping/MsOp_BLISSUE/ADDSP2', params: { LINKGID: _thisGID, data: jsonBody }, callback: function (options, success, response) { Ext.Msg.hide(); if (success) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { _thisGID = Ext.getCmp("thisGID").getValue(); condition = " ob.GID='" + _thisGID + "'"; this.LoadData("edit", condition); this.storeBodyList.load({ params: { condition: " obd.LINKGID='" + _thisGID + "'"} }); //this.onRefreshClick_Add(button, event); } 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 }); //end Ext.Ajax.request } 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 }); } } }); } } //onDeleteClick , onDeleteClick: function (button, event) { var MainList = ""; var GID = ""; var _thisGID = Ext.getCmp("thisGID").getValue(); formEdit = this.formEdit.getForm(); //var SALESNO = formEdit.findField('SALESNO').getValue(); selectedRecords = this.gridList.selModel.getSelection(); for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; if (MainList == "") { MainList = "'" + rec.get('GID') + "'"; } else { MainList = MainList + ",'" + rec.get('GID') + "'"; } } var formEdit = this.formEdit.getForm(); //var SALESNO = formEdit.findField('SALESNO').getValue(); if (MainList == "") { return; } else Ext.MessageBox.confirm('提示', '确定删除这些记录吗?', function (btn) { if (btn == 'yes') { Ext.Ajax.request({ waitMsg: '正在删除数据...', url: '/MvcShipping/MsOp_BLISSUE/DeleteDetail', params: { LINKGID: _thisGID, GIDList: MainList }, callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { condition = " ob.GID='" + _thisGID + "'"; this.LoadData("edit", condition); this.storeBodyList.load({ params: { condition: " obd.LINKGID='" + _thisGID + "'" } , callback: function (r, options, success) { if (success) { if (_this.storeBodyList.getCount() == 0) { Ext.getCmp("thisCUSTOMERNAME").setValue(""); //formEdit.findField('CUSTOMERNAME').setvalue(""); this.storeBillList.removeAll(); } } }, scope: this }); //Ext.Msg.show({ title: '提示', msg: jsonresult.Message, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); } else { //Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); } Ext.Msg.hide(); } }, failure: function (response, options) { Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); }, success: function (response, options) { }, scope: this }); //end Ext.Ajax.request } }, this); }, //end onAddDetailClick cellEditingChFeeBeforeEdit: function (editor, e) { var chfeefeeStatus = e.record.get('FeeStatus'); var canedit = chfeefeeStatus == 1 || chfeefeeStatus == 6; //alert(canedit); return canedit; }, onNextKeyClick: function (col) { var rows = this.gridAddFeeList.getSelectionModel().getSelection(); var row = rows[rows.length - 1]; var s = this.gridAddFeeList.getStore(); var number = s.indexOf(row) + 1; this.cellEditingFee.startEditByPosition({ row: number, column: col }); }, onUpKeyClick: function (col) { var rows = this.gridAddFeeList.getSelectionModel().getSelection(); var row = rows[rows.length - 1]; var s = this.gridAddFeeList.getStore(); var number = s.indexOf(row) - 1; if (number < 0) number = 0; this.cellEditingFee.startEditByPosition({ row: number, column: col }); }, onClearSql: function () { var form = this.formSearch_SP.getForm(); form.reset(); }, // #region 根据权限和状态判断是否允许修改 GetEditStatus: function () { var me = this; Ext.Ajax.request({ waitMsg: '正在查询用户权限...', url: '/CommMng/BasicDataRef/GetAuthorityRange', params: { modName: "modImportSales", USERID: USERID }, callback: function (options, success, response) { if (success) { var result = Ext.JSON.decode(response.responseText); rec = result.data; this.VISIBLERANGE = rec.VISIBLERANGE; this.OPERATERANGE = rec.OPERATERANGE; if (this.OPERATERANGE == "0" || this.OPERATERANGE == "2" || this.OPERATERANGE == "3") { this.setSaveBtnStatus(true); } else { this.setSaveBtnStatus(false); } } else Ext.MessageBox.alert('请求出现错误,请重试', response.responseText); }, scope: this }); //request over /* this.StoreOpRange.load({ params: { optype: "modImportSales" }, callback: function (r, options, success) { if (success) { if (r.length != 0) { var records = DsStoreQueryBy(_this.StoreOpRange, 'OPID', op); if (records.getCount() > 0) { canedit = true; if (bsStatus == 1||bsStatus == 6) btnESubmitAudit.enable(); else btnESubmitAudit.disable(); if (bsStatus == 2) btnESubmitAuditBack.enable(); else btnESubmitAuditBack.disable(); } else { canedit = false; btnESubmitAudit.disable(); btnESubmitAuditBack.disable(); } if ((bsStatus != 1) && (bsStatus != 6)) { _this.setSaveBtnStatus(false); } else { _this.setSaveBtnStatus(canedit); } } } } }); */ }, setSaveBtnStatus: function (enable) { /* var btnESave = Ext.getCmp('btnESave'); var btnESaveAndClose = Ext.getCmp('btnESaveAndClose'); var btnESaveAndNew = Ext.getCmp('btnESaveAndNew'); var btnEAddDetail = Ext.getCmp('btnadddetail'); var btnEDeleteDetail = Ext.getCmp('btndeldetail'); if (enable) { btnESave.enable(); btnESaveAndClose.enable(); btnESaveAndNew.enable(); btnEAddDetail.enable(); btnEDeleteDetail.enable(); } else { btnESave.disable(); btnESaveAndClose.disable(); btnESaveAndNew.disable(); btnEAddDetail.disable(); btnEDeleteDetail.disable(); }*/ }, // #endregion //合计选中的费用数字和 getCustName: function () { var custName = this.formEdit.getForm().findField('CUSTOMERNAME'); return custName.getValue(); }, getCondition_Add: function () { var form = this.formSearch_SP.getForm(); var sql = " not exists (select 1 from op_blissueList_Detail ob1 where ob1.bsno=B.bsno) and isnull(ob.BLSTATUS,'') <>'提单签出' and isnull(ob.BLSTATUS,'') <>'已放货' and isnull(ob.BLSTATUS,'') <>'可放单' "; var MBLNO = form.findField('MBLNO').getValue(); sql = sql + getAndConSql(sql, MBLNO, " (isnull(b.CUSTNO,'')+' '+isnull(b.MBLNO,'')+' '+isnull(b.HBLNO,'') like '%" + MBLNO + "%') "); // var CUSTNO = form.findField('CUSTNO').getValue(); // sql = sql + getAndConSql(sql, CUSTNO, " B.CUSTNO like '%" + CUSTNO + "%' "); var CUSTOMERNAME = form.findField('CUSTOMERNAME').getValue(); sql = sql + getAndConSql(sql, CUSTOMERNAME, " B.CUSTOMERNAME='" + CUSTOMERNAME + "' "); var ETD_BGN = form.findField('ETD_BGN').getRawValue(); sql = sql + getAndConSql(sql, ETD_BGN, " B.ETD>='" + ETD_BGN + "'"); var ETD_END = form.findField('ETD_END').getRawValue(); sql = sql + getAndConSql(sql, ETD_END, " B.ETD<='" + ETD_END + " 23:59:59'"); var OPLBNAME = form.findField('OPLBNAME').getValue(); sql = sql + getAndConSql(sql, OPLBNAME, " B.OPLBNAME = '" + OPLBNAME + "' "); //操作人 var OP = form.findField('OP').getValue(); sql = sql + getAndConSql(sql, OP, "B.OP='" + OP + "'"); //揽货人 var SALE = form.findField('SALE').getValue(); sql = sql + getAndConSql(sql, SALE, "B.SALE='" + SALE + "'"); return sql; }, onRefreshClick_Add: function (button, event) { //if (!this.checkSearchCondition()) //return; var sql = this.getCondition_Add(); this.storeAddList.load({ params: { start: 0, limit: this.PageSize, condition: sql }, waitMsg: "正在查询数据...", scope: this }); //} } //添加附件 , onAddFileClick: function (button, event) { var billno = this.formEdit.getForm().findField('GID').value; var myDate = new Date(); var record = Ext.create('MsUploadFile', { GID: NewGuid(), PID: '*', UPLOADEMPLY: SHOWNAME, UPLOADDATE: myDate, FILETYPE: '特殊放单附件', FILEPATH: '', FILENAME: '' }); this.storeDocList.add(record); var n = this.storeDocList.getCount(); this.gridListCellEditing_Doc.startEditByPosition({ row: n - 1, column: 5 }); } , onPostFileClick: function (button, event) { var billno = this.formEdit.getForm().findField('GID').value; var bodyDatas = []; var i; for (i = 0; i < this.storeDocList.getCount(); i += 1) { var memberyf = this.storeDocList.getAt(i); bodyDatas.push(memberyf); var FILENAME = memberyf.data.FILENAME; if (FILENAME == '') { Ext.Msg.show({ title: '警告', msg: '文件名称不能为空', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } }; var jsonBody = ConvertRecordsToJsonAll(bodyDatas); _this = this; Ext.Msg.wait('正在保存数据, 请稍侯..'); Ext.Ajax.request({ waitMsg: '正在保存数据...', url: '/MvcShipping/MsOp_BLISSUE/SaveFile', scope: this, params: { bsno: billno, body: jsonBody }, callback: function (options, success, response) { if (success) { Ext.MessageBox.hide(); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { for (var i = 0; i < this.storeDocList.getCount(); i += 1) { var member = this.storeDocList.getAt(i); member.set("PID", billno); member.commit(); } } 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 }); } } }); } //end save , onDelFileClick: function (button, event) { var feeGidSql = ''; var selectedRecords = []; selectedRecords = this.CBM_Doc.selected.items; if (selectedRecords.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要删除的附件!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } Ext.MessageBox.confirm('提示', '确定要删除选中的附件吗?', function (btn) { if (btn == 'yes') { if (selectedRecords.length > 0) { for (var i = 0; i < selectedRecords.length; i++) { var rec = selectedRecords[i]; if (rec.data.PID == "*") //如果是新增但没有保存的数据,没有必要提交到后台 { this.storeDocList.remove(selectedRecords[i]); } else { var feeGId = "'" + rec.data.GID + "'"; if (feeGidSql == '') { feeGidSql = feeGId; } else { feeGidSql = feeGidSql + "," + feeGId; } } } } _this = this; Ext.Msg.wait('正在删除数据...'); if (feeGidSql != '') { Ext.Ajax.request({ waitMsg: '正在删除数据...', url: '/MvcShipping/MsOp_BLISSUE/DeleteUploadFile', params: { data: feeGidSql }, callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { for (var i = 0; i < selectedRecords.length; i++) { this.storeDocList.remove(selectedRecords[i]); } Ext.Msg.show({ title: '提示', msg: jsonresult.Message, 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 }); //end Ext.Ajax.request } else { Ext.Msg.show({ title: '提示', msg: "删除成功!", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); } } }, this); } , onUpLoadFileClick: function (button, event) { var billno = this.formEdit.getForm().findField('GID').value; var selections = this.gridDocList.getSelectionModel().getSelection(); if (selections.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要上传的证件名称!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var record = selections[0]; var PID = record.data.PID; if (PID == '*') { Ext.Msg.show({ title: '提示', msg: '请先保存附件,再上传!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var GID = record.data.GID; me = this; var imgform = new Ext.FormPanel({ region: 'center', labelWidth: 40, frame: true, bodyStyle: 'padding:5px 5px 0', autoScroll: true, border: false, fileUpload: true, items: [{ xtype: 'fileuploadfield', id: 'LoadImage', name: 'LoadImage', emptyText: '请选择图片', fieldLabel: '图片', buttonText: '选择文件', allowBlank: false, buttonCfg: { iconCls: 'uploaddialog' }, anchor: '98%' }], buttons: [{ text: '上传', type: 'submit', handler: function () { var UserFilePath = Ext.getCmp('LoadImage').getValue(); if (!CheckFileExt(UserFilePath, /.jpg|.gif|.png|.bmp/i)) { Ext.Msg.show({ title: '错误', msg: '请确认你上传的文件为图片文件!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } if (!imgform.form.isValid()) { return; } imgform.form.submit({ url: '/MvcShipping/MsOp_BLISSUE/UploadFile', waitMsg: '正在上传', method: 'POST', params: { fileGid: GID }, success: function (form, action) { win.close(this); Ext.Msg.show({ title: '提示', msg: '上传成功!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); me.storeDocList.load({ params: { PID: billno} }); }, failure: function (form, action) { form.reset(); if (action.failureType == Ext.form.Action.SERVER_INVALID) Ext.MessageBox.alert('警告', action.result.errors.msg); } }); } }, { text: '关闭', type: 'submit', handler: function () { win.close(this); } }] }); var win = new Ext.Window({ title: "上传图片", width: 360, height: 120, modal: true, resizable: false, border: false, items: imgform }); win.show(); } , onPrintFileClick: function (button, event) { selectedRecords = this.CBM_Doc.selected.items; if (selectedRecords.length == 0) { Ext.Msg.show({ title: '提示', msg: '请先选择要打印的证件!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); return; } var sql1 = ""; var feeGidSql = ''; for (var i = 0; i < selectedRecords.length; i++) { var record = selectedRecords[i]; var feeGId = "'" + record.get('GID') + "'"; if (feeGidSql == '') { feeGidSql = feeGId; } else { feeGidSql = feeGidSql + "," + feeGId; } }; if (feeGidSql != '') { sql1 = " Select * from info_files where Gid in (" + feeGidSql + ") "; } var sql2 = ""; var sql3 = ""; var sql4 = ""; var sql5 = ""; var sql6 = ""; PrintComm('DriverFilePrint', sql1, sql2, sql3, sql4, sql5, sql6); } , onSP_StartClick: function (optype) { var basicForm = this.formEdit.getForm(); if (!basicForm.isValid()) { return; } var _this = this; var data = basicForm.getValues(); var JSNODATA = "[" + Ext.JSON.encode(data) + "]"; //20230314 提交审核前进行验证和提示 GID = data.GID; Ext.Ajax.request({ waitMsg: Zi.LAN.ZhengZaiCaoZuoShuJu, url: '/MvcShipping/MsOp_BLISSUE/CanCheckOut_SP', async: false, params: { GID: GID }, callback: function (options, success, response) { if (success) { var result = Ext.JSON.decode(response.responseText); if (!result.Success) { Ext.MessageBox.confirm("警告", result.Message+"\r\n"+"是否继续提交", function (btn) { if (btn == 'yes') { Ext.Ajax.request({ waitMsg: '正在提交数据...', url: '/MvcShipping/MsOp_BLISSUE/SP_Start', params: { USERID: USERID, data: JSNODATA }, callback: function (options, success, response) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { var returnData = jsonresult.Data; _this.formEdit.getForm().reset(); _this.formEdit.getForm().setValues(returnData); if (optype == '1') { _this.LoadData('add', ''); } else { _this.SetBtnEnable(); } } else { Ext.Msg.show({ title: '警告', msg: result.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 }); //end Ext.Ajax.request } }); } } } }); } , onSP_BackClick: function () { var basicForm = this.formEdit.getForm(); if (!basicForm.isValid()) { return; } var data = basicForm.getValues(); var JSNODATA = "[" + Ext.JSON.encode(data) + "]"; Ext.Ajax.request({ waitMsg: '正在撤销提交数据...', url: '/MvcShipping/MsOp_BLISSUE/SP_Back', params: { USERID: USERID, data: JSNODATA }, callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { var returnData = jsonresult.Data; this.formEdit.getForm().reset(); this.formEdit.getForm().setValues(returnData); this.SetBtnEnable(); } } }, failure: function (response, options) { Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); }, success: function (response, options) { }, scope: this }); //end Ext.Ajax.request }, onSP_AuditClick: function (REASON) { //this.onSaveClick(); var basicForm = this.formEdit.getForm(); if (!basicForm.isValid()) { return; } var data = basicForm.getValues(); var JSNODATA = "[" + Ext.JSON.encode(data) + "]"; Ext.Ajax.request({ waitMsg: '正在提交数据...', url: '/MvcShipping/MsOp_BLISSUE/SP_Audit', params: { USERID: USERID, data: JSNODATA, REASON: REASON }, callback: function (options, success, response) { if (success) { this.winAuditShow.close(); Ext.getCmp("REASON").setValue(""); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { var returnData = jsonresult.Data; this.formEdit.getForm().reset(); this.formEdit.getForm().setValues(returnData); this.SetBtnEnable(); } } }, failure: function (response, options) { Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); }, success: function (response, options) { }, scope: this }); //end Ext.Ajax.request } , onSP_AuditBackClick: function (REASON) { //this.onSaveClick(); var basicForm = this.formEdit.getForm(); if (!basicForm.isValid()) { return; } var data = basicForm.getValues(); var JSNODATA = "[" + Ext.JSON.encode(data) + "]"; Ext.Ajax.request({ waitMsg: '正在提交数据...', url: '/MvcShipping/MsOp_BLISSUE/SP_AuditBack', params: { USERID: USERID, data: JSNODATA, REASON: REASON }, callback: function (options, success, response) { if (success) { this.winAuditBackShow.close(); Ext.getCmp("REASON2").setValue(""); var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { var returnData = jsonresult.Data; this.formEdit.getForm().reset(); this.formEdit.getForm().setValues(returnData); this.SetBtnEnable(); } } }, failure: function (response, options) { Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); }, success: function (response, options) { }, scope: this }); //end Ext.Ajax.request } , onMNGSP_AuditClick: function () { //this.onSaveClick(); var basicForm = this.formEdit.getForm(); if (!basicForm.isValid()) { return; } var data = basicForm.getValues(); var JSNODATA = "[" + Ext.JSON.encode(data) + "]"; Ext.Ajax.request({ waitMsg: '正在提交数据...', url: '/MvcShipping/MsOp_BLISSUE/MNGSP_Audit', params: { USERID: USERID, data: JSNODATA }, callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { var returnData = jsonresult.Data; this.formEdit.getForm().reset(); this.formEdit.getForm().setValues(returnData); this.SetBtnEnable(); } } }, failure: function (response, options) { Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); }, success: function (response, options) { }, scope: this }); //end Ext.Ajax.request } , onMNGSP_AuditBackClick: function () { //this.onSaveClick(); var basicForm = this.formEdit.getForm(); if (!basicForm.isValid()) { return; } var data = basicForm.getValues(); var JSNODATA = "[" + Ext.JSON.encode(data) + "]"; Ext.Ajax.request({ waitMsg: '正在提交数据...', url: '/MvcShipping/MsOp_BLISSUE/MNGSP_AuditBack', params: { USERID: USERID, data: JSNODATA }, callback: function (options, success, response) { if (success) { var jsonresult = Ext.JSON.decode(response.responseText); if (jsonresult.Success) { var returnData = jsonresult.Data; this.formEdit.getForm().reset(); this.formEdit.getForm().setValues(returnData); this.SetBtnEnable(); } } }, failure: function (response, options) { Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); }, success: function (response, options) { }, scope: this }); //end Ext.Ajax.request }, LoadMustBe: function () { this.storeMustBe.load({ params: { condition: "BSTYPE='特殊放单申请'" }, callback: function (r, options, success) { if (success) { if (this.storeMustBe.getCount() > 0) { for (var j = 0; j < this.storeMustBe.getCount() ; j += 1) { var member = this.storeMustBe.getAt(j); var headfield = this.formEdit.getForm().findField(member.data.FIELDNAME); if (headfield != NaN && headfield != null) { if (member.data.ISMUST == "1") headfield.allowBlank = false; if (member.data.ISCOLOR == "1") headfield.setFieldStyle({ background: '#ffc' }); if (member.data.ISREADONLY == "1") headfield.setReadOnly(true); } }; } else { } } }, scope: this }); }, Print: function () { var basicForm = this.formEdit.getForm(); var billNo = basicForm.findField('GID').value; if (billNo == '*' || billNo == '') { Ext.Msg.show({ title: '错误', msg: '单据还没有保存,请保存后再打印', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK }); return; } function GetDateStr(AddDayCount) { var dd = new Date(); dd.setDate(dd.getDate() + AddDayCount); //获取AddDayCount天后的日期 var y = dd.getFullYear(); var m = dd.getMonth() + 1; //获取当前月份的日期 var d = dd.getDate(); return y + "-" + m + "-" + d; } //alert(GetDateStr(+5)); var madedate = GetDateStr(0); var CUSTOMERNAME = basicForm.findField('CUSTOMERNAME').value; var printType = 'MsOp_BLISSUESPEdit_Form'; var sql1 = " select ob.GID,ob.BLSTATUS,(select BLSTATUS from op_blissue where bsno=ob.BSNO) BL_BLSTATUS"; sql1 = sql1 + " ,ob.BSNO,ob.OPNAME,dbo.trimdate(ob.OPTIME) OPTIME,ob.REMARK,ob.SPREMARK, "; sql1 = sql1 + " CASE WHEN(select COUNT(*) from v_op_seae_iscargo where CUSTOMERNAME=ob.CUSTOMERNAME)>0 THEN '有' ELSE '无' END CUSTCARGOAFTER,ob.STLNAME,ob.SALEDEPT,ob.ISDEPTARREARS,ob.MNGBLSTATUS "; sql1 = sql1 + " ,ob.CUSTOMERNAME,g.MBLNO,g.HBLNO,g.ETD,g.VESSEL,g.VOYNO "; sql1 = sql1 + " ,convert(bigint ,ob.TimeMark) as TimeMark,ob.RMBNODR,ob.USDNODR,ob.TTLNODR "; sql1 = sql1 + " ,isnull(dp.MAXARREARS,0) MAXARREARS,isnull((select sum(TTLDR-STLTTLDR) from v_op_gain_sum where EXISTS (select 1 from v_op_blissuelist_Detail bl"; sql1 = sql1 + " where v_op_gain_sum.BSNO=bl.bsno and bl.BLSTATUS='审核通过' and bl.MNGBLSTATUS<>'审核通过' AND SALEDEPT=ob.SALEDEPT and "; sql1 = sql1 + " not exists (select 1 from v_op_seae_iscargo i where bl.customername=i.customername))),0) AS DEPTTTLNODR "; sql1 = sql1 + " from op_blissuelist ob "; sql1 = sql1 + " left join v_op_blissue_bill g on g.bsno=ob.bsno "; sql1 = sql1 + " left join workflow_using wu on wu.bsno=ob.GID "; sql1 = sql1 + " left join SYS_DEPT_ARREARS dp on dp.DEPT=ob.SALEDEPT "; sql1 = sql1 + " WHERE ob.GID='" + billNo + "' "; var sql2 = " select obd.GID,B.BSNO,B.mblno BLNO,B.HBLNO "; sql2 = sql2 + " ,B.OPTYPE ZDFD "; sql2 = sql2 + " ,ob.BLNAME,ob.BLSTATUS,ob.BLORDERNO "; sql2 = sql2 + " ,B.ISSUETYPE "; sql2 = sql2 + " ,ob.OPNAME,ob.OPTIME,ob.BSINKNO,ob.ISVESSELPROVE,ob.VESSELPROVETIME,ob.VESSELPROVEREMARK "; sql2 = sql2 + " ,ob.REMARK,ob.DELFLAG,ob.EXPRESSCORP,ob.EXPRESSNO,ob.ISADD,dbo.trimdate(ob.PUTSINGLETIME) PUTSINGLETIME "; sql2 = sql2 + " ,ob.PUTSINGLE,ob.PAYTIME,ob.PAYRMB,ob.PAYUSD,obd.SPREMARK SPREMARK "; sql2 = sql2 + " ,B.BLTYPE,B.CUSTNO,B.customername,B.sale "; sql2 = sql2 + " ,(select top 1 acctype from info_client_accdate where LINKGID=(select top 1 gid from info_client where SHORTNAME=B.customername) "; sql2 = sql2 + " and BGNDATE<=B.ETD and ENDDATE>B.ETD and (isnull(SALE,'')='' or SALE=B.SALE)) acctype "; sql2 = sql2 + " ,dbo.trimdate(B.ETD) ETD,dbo.trimdate(B.STLDATE) STLDATE,B.CARRIER,B.VESSEL,B.VOYNO,B.OP "; sql2 = sql2 + " ,B.BLISSUESTATUS "; sql2 = sql2 + " ,obd.BLSTATUS TSFD "; sql2 = sql2 + " ,DATEDIFF(day,B.ETD,B.STLDATE) XYTS "; sql2 = sql2 + " ,datediff(day,B.STLDATE,getdate()) cqts "; sql2 = sql2 + " ,DATEDIFF(day,B.ETD,getdate()) SJTS "; sql2 = sql2 + " ,g.RMBNODR "; sql2 = sql2 + " ,g.USDNODR "; sql2 = sql2 + " ,g.TTLNODR "; sql2 = sql2 + " ,g.TTLDR "; sql2 = sql2 + " ,B.OPLBNAME,B.STLNAME "; sql2 = sql2 + " from v_op_blissue_bill B "; sql2 = sql2 + " left join op_blissue ob on ob.BSNO=B.BSNO "; sql2 = sql2 + " left join v_op_blissuelist_Detail obd on obd.BSNO=B.BSNO "; sql2 = sql2 + " left join v_op_bill_gain g on g.BSNO=B.BSNO "; sql2 = sql2 + " where obd.LINKGID='" + billNo + "'"; // var sql3 = " select * from company where gid=(select top 1 companyid from ch_fee_do where BILLNO='" + billNo + "') "; var sql3 = ""; var sql4 = "select '" + madedate + "' as madedate,(select DESCRIPTION from info_client where SHORTNAME='" + CUSTOMERNAME + "') as CUSTOMERNAME,'" + SHOWNAME + "' as SHOWNAME"; var sql5 = ""; var sql6 = ""; PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6); } , loadBillList() { this.storeBillList.load({ params: { start: 0, limit: 100, sort: '', condition: "CUSTOMERNAME='" + this.currCUSTOMERNAME + "' and isnull(op_seae.ISCANCEL,0)<>1 AND NOT EXISTS (SELECT 1 FROM op_blissue WHERE op_seae.BSNO=op_blissue.BSNO and op_blissue.BLSTATUS='提单签出') " + " AND NOT EXISTS (SELECT 1 FROM v_op_blissuelist_Detail d WHERE op_seae.BSNO=d.BSNO and d.BLSTATUS='审核通过') " } }); } , onKDClick: function () { //this.onSaveClick(); var selections = this.gridBillList.getSelectionModel().getSelection(); var bodyList = []; for (i = 0; i < selections.length; i += 1) { var member = selections[i]; bodyList.push(member); }; var jsonBody = ConvertRecordsToJsonAll(bodyList); if (jsonBody == '') { return; } Ext.Ajax.request({ waitMsg: '正在提交数据...', url: '/MvcShipping/MsOp_BLISSUE/KD_NoCancel', params: { USERID: USERID, data: jsonBody }, callback: function (options, success, response) { if (success) { //this.winQCShow.close(); //Ext.getCmp("REASON").setValue(""); this.loadBillList(); } }, failure: function (response, options) { Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK }); }, success: function (response, options) { }, scope: this }); //end Ext.Ajax.request } });