Index: ssts-web/src/main/webapp/disinfectsystem/config/szslgzxyy/config.js =================================================================== diff -u -r36360 -r36807 --- ssts-web/src/main/webapp/disinfectsystem/config/szslgzxyy/config.js (.../config.js) (revision 36360) +++ ssts-web/src/main/webapp/disinfectsystem/config/szslgzxyy/config.js (.../config.js) (revision 36807) @@ -190,6 +190,8 @@ recallRecordViewOfPda:true, //装配管理左上角的待装配任务列表,对于启用了标识牌的器械包,允许进行多选后批量装配。 allowSelectMultipleIDCardsForBatchPacking:true, + //启用外来器械包定义的批量修改功能 + enableBulkModificationOfForeignTousseDefinitionFunction:true, //是否启用显示发货单上的物品信息功能 enableDisplaysTheItemInformationOfPDAInvoice:true } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/foreigntoussedefinition/foreignTousseDefinitionForm.js =================================================================== diff -u -r36438 -r36807 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/foreigntoussedefinition/foreignTousseDefinitionForm.js (.../foreignTousseDefinitionForm.js) (revision 36438) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/foreigntoussedefinition/foreignTousseDefinitionForm.js (.../foreignTousseDefinitionForm.js) (revision 36807) @@ -822,8 +822,15 @@ buttons : [{ id : 'saveBtn', text : '保存', - handler : saveForeign + handler: function () { + saveForeign(null, null, this, false); + } }, { + id : 'saveAsBtn', + text : '另存为', + hidden:id == 0?true:false, + handler : saveAsForeign + }, { text : '取消', id : 'saveAndNewBtn', handler : cancelForeign @@ -940,7 +947,7 @@ } } -function validateAndSubmit() { +function validateAndSubmit(foreignTousseName, newSupplierId, isExpend) { var fmdStore = top.Ext.getCmp('foreignMaterialDefinitionGrid').getStore(); var rowIndex = fmdStore.getCount();// grid的行数 var materialDefinitionConfigResult = ""; @@ -966,31 +973,64 @@ jsonArray[length].includeImplant = includeImplant; } var paramStr = JSON.stringify(jsonArray); + + var validateId = (foreignTousseName == null ? top.Ext.getCmp('id').getValue() : null); + var validateName = (foreignTousseName == null ? top.Ext.getCmp('name').getValue() : foreignTousseName); + var valifateCompanyId = (foreignTousseName == null ? top.Ext.getCmp('supplierId').getValue() : newSupplierId); + var supplierName = (foreignTousseName == null ? top.Ext.getCmp('supplierName').getRawValue() : top.Ext.getCmp('newSupplierName').getRawValue()); + + var expendTousseImg = ""; + var expendInstructionBook = ""; + var expendWashOperationImg = ""; + var expendPackingviewImg = ""; + var expendPackingviewVideo = ""; + + if (isExpend) {//如果是另存为的话,就把沿用的那几项的选择传过去 + expendTousseImg = top.Ext.getCmp('expendTousseImg').getValue(); + expendInstructionBook = top.Ext.getCmp('expendInstructionBook').getValue(); + expendWashOperationImg = top.Ext.getCmp('expendWashOperationImg').getValue(); + expendPackingviewImg = top.Ext.getCmp('expendPackingviewImg').getValue(); + expendPackingviewVideo = top.Ext.getCmp('expendPackingviewVideo').getValue(); + } Ext.Ajax.request({ - url : WWWROOT - + '/disinfectSystem/baseData/tousseDefinitionAction!validate.do', + url : WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!validate.do', params : { - validateId : top.Ext.getCmp('id').getValue(), - valifateName : top.Ext.getCmp('name').getValue(), - valifateCompanyId : top.Ext.getCmp('supplierName').getRawValue(), + validateId : validateId, + valifateName : validateName, + valifateCompanyId : supplierName, tousseType : top.Ext.getCmp('tousseType').getValue() }, success : function(response, options) { var result = Ext.decode(response.responseText); if (result.stauts == 1) { + if (foreignTousseName != null) { + top.Ext.getCmp('id').setValue(''); + top.Ext.getCmp('spelling').setValue(''); + top.Ext.getCmp('wbCode').setValue(''); + } formObj.form.submit({ - url : WWWROOT - + '/disinfectSystem/baseData/tousseDefinitionAction!saveTousseDefinition.do', + url : WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!saveTousseDefinition.do', method : 'POST', waitMsg : '正在保存数据,请稍候', waitTitle : '提交表单', params : { - materialDefinitionConfigResult : paramStr + materialDefinitionConfigResult : paramStr, + expendTousseImg: expendTousseImg, + expendInstructionBook: expendInstructionBook, + expendWashOperationImg: expendWashOperationImg, + expendPackingviewImg: expendPackingviewImg, + expendPackingviewVideo: expendPackingviewVideo, + supplierId:valifateCompanyId, + supplierName:supplierName, + name:foreignTousseName }, success : function(form, action) { showResult('保存成功'); grid.dwrReload(); foreignTousseDefinitionWin.close(); + if (foreignTousseName != null) { + newSaveMsgWin.close(); + } }, failure : function(form, action) { showResult(action.result.msg); @@ -1010,11 +1050,11 @@ } -function saveForeign() { - this.disable(); +function saveForeign(foreignTousseName, newSupplierId, thiz, isExpend) { + thiz.disable(); if (!formObj.form.isValid()) { showResult('请正确填写表单各值!'); - this.enable(); + thiz.enable(); return false; } var fmdGrid = top.Ext.getCmp('foreignMaterialDefinitionGrid'); @@ -1024,27 +1064,264 @@ var materialName = record.get('name'); if (materialName == '' || materialName == null || materialName == ' ') { showResult('请填写材料名称!'); - this.enable(); + thiz.enable(); return false; } -// var materialAmount = record.get('count'); -// if (materialAmount == '' || materialAmount == null -// || materialAmount == ' ') { -// showResult('请填写材料数量!'); -// this.enable(); -// return false; -// } var includeImplant = record.get('includeImplant'); - if (includeImplant == '' || includeImplant == null - || includeImplant == ' ') { + if (includeImplant == '' || includeImplant == null || includeImplant == ' ') { showResult('请填写是否植入物!'); - this.enable(); + thiz.enable(); return false; } } - validateAndSubmit(); + if (isExpend) { + validateAndSubmit(foreignTousseName, newSupplierId, isExpend); + } else { + top.Ext.MessageBox.confirm("请确认", "是否确定要保存外来器械包?",function (button, text) { + if ("yes" == button) { + validateAndSubmit(foreignTousseName, newSupplierId, isExpend); + } else { + thiz.enable(); + } + }); + } } +//SZSLGZXYY-20:另存为 +var newSaveMsgWin; +function saveAsForeign(){ + var foldersCompanyJsonStore = new Ext.data.SimpleStore({ + fields : ['companyID', 'companyName'], + url : WWWROOT + '/disinfectSystem/baseData/supplierAction!getCompanyInfo.do?fields=companyID,companyName', + baseParams : {type:SUPPLIER_TYPE_RENTTOUSSE}, + listeners : { + load : function(store, records) { + if (records.length > 0 && id == 0) { + top.Ext.getCmp('newSupplierName').setRawValue(records[0].data.companyName); + top.Ext.getCmp('newSupplierName').setValue(records[0].data.companyID); + top.Ext.getCmp('newSupplierId').setValue((records[0].data.companyID)); + } + } + } + }); + foldersCompanyJsonStore.load(); + + newSaveMsgWin = new top.Ext.Window({ + id: 'newSaveMsgWin', + layout: 'fit', + title: '请确认另存为信息', + width: 400, + border: false, + modal: true, + height: 300, + plain: true, + items: [ + new top.Ext.FormPanel({ + id: 'expendTousseDefinitionForm', + frame: true, + labelSeparator: ':', + labelAlign: 'right', + fileUpload: true, + bodyStyle: 'padding:5px 5px 0px 5px;', + width: 400, + columnWidth: 1, + labelWidth: 160, + autoScroll: true, + height: 300, + items: [{ + columnWidth: 1, + layout: 'form', + labelAlign: "right", + items: [{ + xtype: 'textfield', + fieldLabel: "请输入新的包名称", + allowBlank: false, + blankText: '请输入新的包名称!', + name: "newName", + id: "newName", + anchor: '100%' + }] + }, { + columnWidth: 1, + layout: 'form', + labelAlign: "right", + items: [{ + xtype : 'hidden', + name : 'newSupplierId', + id : 'newSupplierId' + }, { + xtype : 'combo', + fieldLabel : "供应商", + valueField : 'companyID', + displayField : 'companyName', + store : foldersCompanyJsonStore, + forceSelection : true, + triggerAction : 'all', + name : "newSupplierName", + id : "newSupplierName", + anchor: '100%', + allowBlank : false, + listeners : { + select : function(combo, record, index) { + top.Ext.getCmp('newSupplierId').setValue(record.data.companyID); + } + } + }] + }, { + columnWidth: 1, + layout: 'form', + labelAlign: "right", + items: [{ + xtype: 'combo', + fieldLabel: '沿用器械包图片', + id: 'expendTousseImg', + name: 'expendTousseImg', + editable: false, + valueField: 'value', + displayField: 'value', + allowBlank: false, + store: new Ext.data.SimpleStore({ + fields: ['value'], + data: [['是'], ['否']] + }), + value: '是', + forceSelection: true, + mode: 'local', + triggerAction: 'all', + anchor: '100%' + }] + }, { + columnWidth: 1, + layout: 'form', + labelAlign: "right", + items: [{ + xtype: 'combo', + fieldLabel: '沿用说明书', + id: 'expendInstructionBook', + name: 'expendInstructionBook', + editable: false, + valueField: 'value', + displayField: 'value', + allowBlank: false, + store: new Ext.data.SimpleStore({ + fields: ['value'], + data: [['是'], ['否']] + }), + value: '是', + forceSelection: true, + mode: 'local', + triggerAction: 'all', + anchor: '100%' + }] + }, { + columnWidth: 1, + layout: 'form', + labelAlign: "right", + items: [{ + xtype: 'combo', + fieldLabel: '沿用清洗操作指引图片', + id: 'expendWashOperationImg', + name: 'expendWashOperationImg', + editable: false, + valueField: 'value', + displayField: 'value', + allowBlank: false, + store: new Ext.data.SimpleStore({ + fields: ['value'], + data: [['是'], ['否']] + }), + value: '是', + forceSelection: true, + mode: 'local', + triggerAction: 'all', + anchor: '100%' + }] + }, { + columnWidth: 1, + layout: 'form', + labelAlign: "right", + items: [{ + xtype: 'combo', + fieldLabel: '沿用装配教学图片', + id: 'expendPackingviewImg', + name: 'expendPackingviewImg', + editable: false, + valueField: 'value', + displayField: 'value', + allowBlank: false, + store: new Ext.data.SimpleStore({ + fields: ['value'], + data: [['是'], ['否']] + }), + value: '是', + forceSelection: true, + mode: 'local', + triggerAction: 'all', + anchor: '100%' + }] + }, { + columnWidth: 1, + layout: 'form', + labelAlign: "right", + items: [{ + xtype: 'combo', + fieldLabel: '沿用配包教学视频', + id: 'expendPackingviewVideo', + name: 'expendPackingviewVideo', + editable: false, + valueField: 'value', + displayField: 'value', + allowBlank: false, + store: new Ext.data.SimpleStore({ + fields: ['value'], + data: [['是'], ['否']] + }), + value: '是', + forceSelection: true, + mode: 'local', + triggerAction: 'all', + anchor: '100%' + }] + }], + buttons: [{ + id: 'newSaveBtn', + text: '保存', + handler: function () { + newSaveBtn(); + } + }, { + id: 'newCancelBtn', + text: '取消', + handler: function () { + newSaveMsgWin.close(); + } + }] + }) + ] + }); + newSaveMsgWin.show(); + top.Ext.getCmp('newName').focus(false, 100); +} + +function newSaveBtn(){ + top.Ext.getCmp('newSaveBtn').disable(); + if (!top.Ext.getCmp('expendTousseDefinitionForm').form.isValid()) { + showResult('请正确填写表单各值!'); + top.Ext.getCmp('newSaveBtn').enable(); + return false; + } + + var newName = top.Ext.getCmp('newName').getValue(); + var regex = /[\?\&\'\"]+/; + if (regex.test(newName)) { + showResult('名称不能包含?&\'"'); + top.Ext.getCmp('newSaveBtn').enable(); + return false; + } + var newSupplierId = top.Ext.getCmp('newSupplierId').getValue(); + saveForeign(newName, newSupplierId, top.Ext.getCmp('saveBtn'), true); +} + function cancelForeign() { foreignTousseDefinitionWin.close(); } Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/foreignTousseView.js =================================================================== diff -u -r29342 -r36807 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/foreignTousseView.js (.../foreignTousseView.js) (revision 29342) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/foreignTousseView.js (.../foreignTousseView.js) (revision 36807) @@ -59,6 +59,320 @@ } +//SZSLGZXYY-20:批量修改 +function batchEdit(grid){ + var records = grid.getSelectionModel().getSelections(); + if(records.length == 0){ + showResult("请选择要修改的外来器械包!"); + return false; + } + var ids = []; + for ( var i = 0, len = records.length; i < len; i++) { + ids.push(records[i].data['id']); + } + batchEditForeignTousseDefinition(ids); +} + +function batchEditForeignTousseDefinition(ids){ + //默认包装类型数据 + var packageTypeStore = new Ext.data.SimpleStore({ + fields : [ 'typeName','validDate','validDateUnit','warningDate' ], + url : WWWROOT + '/disinfectSystem/baseData/expirationDateInfoAction!getPackageTypeAndExpirationDateInfo.do', + baseParams :{addNullValue:true} + }); + + //标签纸类型combo的store + var barcodePaperTypeStore = new Ext.data.JsonStore({ + fields : [ 'name'], + url : WWWROOT + '/disinfectSystem/labelTemplateAction!getAllBarcodePaperType.do' + }); + + //灭菌程序 + var sterilisationStore = new Ext.data.SimpleStore({ + fields : ['id', 'value' ], + url : WWWROOT + '/disinfectSystem/baseData/sterilizerAction!getSterilizerType.do', + listeners:{ + load:function(store,records) { + if(records.length>0 && id==0) { + if (top.Ext.getCmp('sterilingMethod') && top.Ext.getCmp('sterilingMethod').getValue() == '') { + top.Ext.getCmp('sterilingMethod').setValue(records[0].data.taskGroupName); + } + } + } + } + }); + + var batchModifyFormObj + var colWidth = 0.5; + batchModifyFormObj = new top.Ext.FormPanel({ + id: 'batchModifyTousseDefinitionForm', + frame: true, + labelSeparator: ':', + labelAlign: 'right', + fileUpload: true, + bodyStyle: 'padding:5px 5px 0px 5px;', + labelWidth: 110, + autoScroll: true, + items: [{ + layout: 'column', + items: [{ + layout: 'column', + autoHeight: true, + items: [{ + columnWidth: colWidth, + layout: 'form', + labelAlign: "right", + items: [{ + xtype : 'combo', + fieldLabel : '默认包装类型', + id : 'packageType', + name : 'packageType', + valueField : 'typeName', + displayField : 'typeName', + store : packageTypeStore, + forceSelection : true, + editable : false, + triggerAction : 'all', + anchor : '95%' + }] + }, { + columnWidth: colWidth, + layout: 'form', + labelAlign: "right", + items: [{ + xtype : 'combo', + fieldLabel : '默认灭菌程序', + id : 'sterilingMethod', + name : 'sterilingMethod', + valueField : 'value', + displayField : 'value', + editable:false, + store : sterilisationStore, + forceSelection : true, + triggerAction : 'all', + anchor : '95%' + }] + }, { + columnWidth: colWidth, + layout: 'form', + labelAlign: "right", + items: [{ + xtype : 'combo', + fieldLabel : '标签纸类型', + id : 'barcodePaperType', + name : 'barcodePaperType', + editable:false, + valueField : 'name', + displayField : 'name', + store : barcodePaperTypeStore, + forceSelection : true, + triggerAction : 'all', + anchor : '95%' + }] + }, { + columnWidth: colWidth, + layout: 'form', + items: [{ + xtype : 'combo', + fieldLabel : '大小', + id : 'packageSize', + name : 'packageSize', + editable:false, + valueField : 'value', + displayField : 'value', + store : new Ext.data.SimpleStore({ + fields : [ 'value'], + data : packageSizeArray + }), + forceSelection : true, + mode : 'local', + triggerAction : 'all', + anchor : '95%' + }] + }, { + columnWidth: colWidth, + layout: 'form', + labelAlign: "right", + items: [{ + xtype : 'combo', + fieldLabel : '是否停用', + id : 'isDisable', + name : 'isDisable', + valueField : 'value', + displayField : 'value', + store : new Ext.data.SimpleStore( { + fields : [ 'value'], + data : [['是'],['否']] + }), + editable : false, + forceSelection : true, + mode : 'local', + triggerAction : 'all', + anchor : '95%' + }] + }, { + columnWidth: colWidth, + layout: 'form', + labelWidth: 160, + labelAlign: "right", + items: [{ + xtype : 'combo', + fieldLabel : '签收后录入使用记录', + id : 'registUseRecordAfterSigned', + name : 'registUseRecordAfterSigned', + valueField : 'value', + displayField : 'value', + store : new Ext.data.SimpleStore( { + fields : [ 'value'], + data : [['是'],['否']] + }), + editable : false, + forceSelection : true, + mode : 'local', + triggerAction : 'all', + anchor : '95%' + }] + }, { + columnWidth: colWidth, + layout: 'form', + labelAlign: "right", + items: [{ + xtype : 'numberfield', + fieldLabel : "打印份数", + allowNegative:false, + name : 'printAmount', + id : 'printAmount', + anchor : '95%' + }] + }] + }] + }], + buttons: [{ + id: 'saveBtn', + text: '保存', + handler: function () { + saveBatchModify(this,ids); + } + }, { + text: '取消', + id: 'saveAndNewBtn', + handler: function () { + batchModifyWin.close(); + grid.dwrReload(); + } + }] + }); + batchModifyWin = new top.Ext.Window({ + id: 'batchModifyWin', + layout: 'fit', + title: '批量修改外来器械包定义属性(只保存填了数据的属性)', + width: 700, + border: false, + modal: true, + height: 220, + plain: true, + items: [batchModifyFormObj] + }); + batchModifyWin.show(); +} + +function NeedBatchModify(tousseDefinitionIds, packageType, sterilingMethod, barcodePaperType, packageSize, isDisable, registUseRecordAfterSigned, printAmount) { + this.tousseDefinitionIds = tousseDefinitionIds; + this.packageType = packageType; + this.sterilingMethod = sterilingMethod; + this.barcodePaperType = barcodePaperType; + this.packageSize = packageSize; + this.isDisable = isDisable; + this.registUseRecordAfterSigned = registUseRecordAfterSigned; + this.printAmount = printAmount; +} + +function submintNeedBatchModify(thiz,needBatchModify){ + var myMask = new top.Ext.LoadMask(top.Ext.getBody(), { + msg: "正在保存,请稍候..." + }); + myMask.show(); + Ext4.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionController/saveTousseDefinitionBatchModify.mhtml', + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + jsonData: needBatchModify, + success: function (response, options) { + var result = Ext.decode(response.responseText); + var success = result.success; + if (true != success) { + showResult(result.message); + myMask.hide(); + thiz.enable(); + return; + } else { + showResult('保存成功'); + myMask.hide(); + batchModifyWin.close(); + grid.dwrReload(); + thiz.enable(); + } + }, + failure: function (response, options) { + myMask.hide(); + var result = Ext.decode(response.responseText); + if(result && result.message){ + showResult(result.message); + }else { + showResult("保存失败,请重新操作!"); + } + thiz.enable(); + } + }); +} + +function saveBatchModify(thiz,ids){ + thiz.disable(); + var packageType = top.Ext.getCmp('packageType').getValue(); + var sterilingMethod = top.Ext.getCmp('sterilingMethod').getValue(); + var barcodePaperType = top.Ext.getCmp('barcodePaperType').getValue(); + var packageSize = top.Ext.getCmp('packageSize').getValue(); + var isDisable = top.Ext.getCmp('isDisable').getValue(); + var registUseRecordAfterSigned = top.Ext.getCmp('registUseRecordAfterSigned').getValue(); + var printAmount = top.Ext.getCmp('printAmount').getValue(); + + var message = "是否确定批量修改" + ids.length + "个外来器械包的属性:

"; + + if (!isUndefinedOrNullOrEmpty(packageType)) { + message += "默认包装类型:(" + packageType + ");"; + } + if (!isUndefinedOrNullOrEmpty(sterilingMethod)) { + message += "默认灭菌程序:(" + sterilingMethod + ");"; + } + if (!isUndefinedOrNullOrEmpty(barcodePaperType)) { + message += "标签纸类型:(" + barcodePaperType + ");"; + } + if (!isUndefinedOrNullOrEmpty(packageSize)) { + message += "包大小:(" + packageSize + ");"; + } + if (!isUndefinedOrNullOrEmpty(isDisable)) { + message += "是否停用:(" + isDisable + ");"; + } + if (!isUndefinedOrNullOrEmpty(registUseRecordAfterSigned)) { + message += "签收后录入使用记录:(" + registUseRecordAfterSigned + ");"; + } + if (!isUndefinedOrNullOrEmpty(printAmount)) { + message += "打印份数:(" + printAmount + ");"; + } + + var needBatchModify = new NeedBatchModify(ids, packageType, sterilingMethod, barcodePaperType, packageSize, isDisable, registUseRecordAfterSigned, printAmount); + + top.Ext.MessageBox.confirm("请确认", message,function (button, text) { + if ("yes" == button) { + submintNeedBatchModify(thiz,needBatchModify); + } else { + thiz.enable(); + } + }); +} + function printTousse(id,tousseName){ var materilenStore = new top.Ext.data.Store({ @@ -102,11 +416,11 @@ var loadFormData = function(grid) { var records = grid.getSelectionModel().getSelections(); if (records.length == 0) { - showResult("请选择要修改的器械包!"); + showResult("请选择要修改的外来器械包!"); return false; } if (records.length > 1) { - showResult("一次只能修改一个器械包!"); + showResult("不支持批量修改!"); return false; } id = records[0].data['id']; @@ -187,22 +501,32 @@ handler : function() { addAndEditForeignTousseDefinition(0); } - }, /*'-',{ + }, '-', {//若有其他修改功能则隐藏该修改按钮 text : '修改', - hidden : SSTS_Tousse_Update, + hidden : sstsConfig.enableBulkModificationOfForeignTousseDefinitionFunction, iconCls : 'btn_ext_application_edit', id : 'editTbar', handler : function() { loadFormData(grid); } - },'-',{ - text : '删除', - hidden : SSTS_Tousse_Delete, - iconCls : 'btn_ext_application_del', - handler : function() { - deleteTousse(grid); - } - },*/'-',{ + }, { + type: 'button', + text: '修改', + iconCls : 'btn_ext_application_edit', + hidden : !sstsConfig.enableBulkModificationOfForeignTousseDefinitionFunction, + menu: new Ext.menu.Menu({ + items: [ + {text:'修改',handler: function(){ + loadFormData(grid); + }}, + {text:'批量修改', + //hidden:!sstsConfig.tousseDefinitionCanBatchEdit, + handler:function(){ + batchEdit(grid); + }} + ] + }) + },{ text : '打印器械包明细单', hidden : true, //SSTS_Tousse_Delete, iconCls : 'icon_print', Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/foreignTousseView.jsp =================================================================== diff -u -r34903 -r36807 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/foreignTousseView.jsp (.../foreignTousseView.jsp) (revision 34903) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/foreignTousseView.jsp (.../foreignTousseView.jsp) (revision 36807) @@ -41,6 +41,7 @@ <%@ include file="/common/includeExtJsAndCss.jsp"%> +<%@ include file="/common/include_Ext425JsAndCss.jsp"%>