Index: ssts-web/src/main/webapp/WEB-INF/spring/security-standard/applicationContext-acegi-security.xml =================================================================== diff -u -r37099 -r37246 --- ssts-web/src/main/webapp/WEB-INF/spring/security-standard/applicationContext-acegi-security.xml (.../applicationContext-acegi-security.xml) (revision 37099) +++ ssts-web/src/main/webapp/WEB-INF/spring/security-standard/applicationContext-acegi-security.xml (.../applicationContext-acegi-security.xml) (revision 37246) @@ -94,6 +94,7 @@ + Index: ssts-web/src/main/webapp/buttjoint/useRecord/useRecordForm.js =================================================================== diff -u -r37216 -r37246 --- ssts-web/src/main/webapp/buttjoint/useRecord/useRecordForm.js (.../useRecordForm.js) (revision 37216) +++ ssts-web/src/main/webapp/buttjoint/useRecord/useRecordForm.js (.../useRecordForm.js) (revision 37246) @@ -1,6 +1,17 @@ var entityName = '使用记录'; var iskeypress = false; +/** + * 加急加急级别数据,格式如下: + * hasLoaded:true|false, //加载过一次后该值将设为true,后面将不再加载。用于第一次扫物品条码时先进行加载,完成后再调条码接口 + * data:[{id:1,urgentLevel:"一般"},{id:2,urgentLevel:"较急"}] + * defaultUrgentLevel:{id:2,urgentLevel:"较急",default:"是"} + * lowestGradeUrgentLevel:{id:1,urgentLevel:"一般"} + */ +var urgentLevelData = {}; +//加急急别的json键值对,key为加急急别的id,值为加载对象的json +var urgentLevelDataMap = {}; + Ext4.define('TousseInstance', { extend: 'Ext4.data.Model', fields: ['id', 'barcode', 'tousseDefinitionName', @@ -38,6 +49,55 @@ } } +/** + * 使用物品明细行的加急列的加急级别选择 + * @param barcode + * @param urgentLevelId + */ + function urgentLevelSelect(barcode, urgentLevelId) { + var tousseInstanceGrid = Ext4.getCmp('tousseInstanceGrid'); + setUseItemsStoreRecordUrgentLevelId(tousseInstanceGrid, barcode, "urgentLevelIdForUseRecord", urgentLevelId); +} + +/** + * 设置record的属性对应的值,并将该record移除后再添加进来 + * @parm gridObj + * @parm barcode + * @param propName + * @param urgentLevelId + */ +function setUseItemsStoreRecordUrgentLevelId(gridObj, barcode, propName, urgentLevelId) { + var store = gridObj.getStore(); + var foundRecord = null; + var position; + for (var i = 0; i < store.getCount(); ++i) { + var record = store.getAt(i); + if (record.data.barcode == barcode) { + foundRecord = record; + position = i; + break; + } + } + if (foundRecord != null) { + store.remove(foundRecord); + if (urgentLevelId) { + foundRecord.data[propName] = urgentLevelId; + foundRecord.data.urgentLevelForUseRecord = urgentLevelDataMap[urgentLevelId]; + } else { + delete foundRecord.data[propName]; + delete foundRecord.data.urgentLevelForUseRecord; + } + store.insert(position, foundRecord); + if(sstsConfig.enableUrgentFunction && sstsConfig.recyclingOnlyInTheCorrespondingApplicationFormWhenScanningUniqueBarcode && sstsConfig.enableExtendedInformationOfUrgentFunction){ + if(foundRecord.data.urgentLevelForUseRecord && foundRecord.data.urgentLevelForUseRecord.additionalInfo == '是'){ + var urgentLevelIdForUseRecord = foundRecord.data.urgentLevelForUseRecord.id; + showUrgentLevelInfo(urgentLevelIdForUseRecord,position); + } + } + } + +} + //获取扫描的物品所有条码 function getTousseGridData() { var tousseInstanceBarcodes = ""; @@ -617,11 +677,46 @@ menuDisabled: true }, { - header: '加急', width: 35, hidden: true, + header: '加急', width: 100, hidden: (!sstsConfig.enableUrgentFunction), renderer: function (v, p, record, rowIndex, colIndex) { - var imgName = (record.data.isUrgentForUseRecord == '是') ? 'arrow_down' : 'arrow_top'; - var str = "
"; - return str; + //由图标按钮调整为下拉框 + var useRecordBarcode = record.data.barcode; + var selectElementId = "select_" + useRecordBarcode; + var urgentLevelComboHtml = ""; + return urgentLevelComboHtml; }, menuDisabled: true }, { @@ -1510,6 +1605,38 @@ formObj.render("formDiv"); + if (sstsConfig.enableUrgentFunction) { + Ext.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/urgentLevelAction!getUrgentsForSelect.do', + success: function (response, options) { + var result = Ext.decode(response.responseText); + if (result.message) { + showResult(result.message); + } + if (result.success) { + urgentLevelData.data = result.data; + if (result.data && result.data.length > 0) { + urgentLevelData.lowestGradeUrgentLevel = result.data[0]; + for (var i = 0; i < result.data.length; i++) { + var urgentLevelDataItem = result.data[i]; + if (!urgentLevelData.defaultUrgentLevel && urgentLevelDataItem.urgentDefaultValue == '是') { + urgentLevelData.defaultUrgentLevel = urgentLevelDataItem; + } + urgentLevelDataMap[urgentLevelDataItem.id] = urgentLevelDataItem; + } + } + } else { + if (!result.message) { + showResult("加载加急级别失败."); + } + } + }, + failure: function (response, options) { + showResult("加载加急级别失败."); + } + }); + } + function checkForSave(btObj) { if (!sstsConfig.noInputTreatmentNumOrHospitalNum && (Ext4.getCmp('treatmentNum').getValue() || '') == '' && (Ext4.getCmp('hospitalNum').getValue() || '') == '' && (Ext4.getCmp('patientName').getValue() || '') == '') { showResult('请输入诊疗号或者住院号或者病人姓名');