Index: ssts-web/src/main/webapp/js/initStoreUtils.js =================================================================== diff -u --- ssts-web/src/main/webapp/js/initStoreUtils.js (revision 0) +++ ssts-web/src/main/webapp/js/initStoreUtils.js (revision 41262) @@ -0,0 +1,121 @@ +// 查找某科室的人员 +function loadUsersBySearchString() { + var store = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/systemmanage/user/userAction!loadUsersBySearchString.do', + method: 'POST' + }), + reader: new Ext.data.JsonReader({ + fields: [ + { name: 'id' }, + { name: 'fullName' }, + { name: 'orgUnitName' } + ] + }) + }); + return store; +} + +// 获取器械包和一次性物品的数据 +function getTousseAndDiposableGoodsData(type) { + var store = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getTousseAndDiposableGoodsData.do', + method: 'POST' + }), + baseParams: { + type: type + }, + reader: new Ext.data.JsonReader({ + totalProperty: 'totalCount', + root: 'data' + }, [ + { name: 'id', mapping: 'id' }, + { name: 'spelling', mapping: 'spelling' }, + { name: 'name', mapping: 'name' }, + { name: 'displayName', mapping: 'displayName' }, + { name: 'amount', mapping: 'amount' }] + ) + }); + return store; +} + +// 获取抽检器械数据(质量监测) +function getMaterialDefinitionDataIncludeForeignMD(selectType) { + var store = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getMaterialDefinitionDataIncludeForeignMD.do', + method: 'POST' + }), + baseParams: { + selectType: selectType + }, + reader: new Ext.data.JsonReader({ + totalProperty: 'totalCount', + root: 'data' + }, [ + { name: 'id', mapping: 'id' }, + { name: 'spelling', mapping: 'spelling' }, + { name: 'name', mapping: 'name' }, + { name: 'count', mapping: 'count' } + ]) + }); + return store; +} + +// 获取抽检器械数据(定期监测) +function getMaterialDefinitionData() { + var store = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getMaterialDefinitionData.do', + method: 'POST' + }), + reader: new Ext.data.JsonReader({ + totalProperty: 'totalCount', + root: 'data' + }, [ + { name: 'id', mapping: 'id' }, + { name: 'spelling', mapping: 'spelling' }, + { name: 'name', mapping: 'name' }, + { name: 'count', mapping: 'count' } + ]) + }); + return store; +} + +// 获取监测项 +function loadLastDeployFormDefinitionGroupByFormName(qmFormType) { + var store = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/qualityMonitoringDefinitionAction!loadLastDeployFormDefinitionGroupByFormName.do', + method: 'POST' + }), + baseParams: { formType: qmFormType }, + reader: new Ext.data.JsonReader({ + root: 'data' + }, [ + { name: 'id' }, + { name: 'name' } + ]) + }); + return store; +} + +// 获取炉次 +function getFrequency(sterilizerDate) { + var store = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/sterilization/sterilizationRecordAction!getFrequency.do', + method: 'POST' + }), + baseParams: { sterilizerDate: sterilizerDate || '' }, + reader: new Ext.data.JsonReader({ + root: 'data' + }, [ + { name: 'value' }, + ] + ) + }); + return store; +} + Index: ssts-web/src/main/webapp/disinfectsystem/routineMonitoring/routineMonitoringForm.jsp =================================================================== diff -u -r41241 -r41262 --- ssts-web/src/main/webapp/disinfectsystem/routineMonitoring/routineMonitoringForm.jsp (.../routineMonitoringForm.jsp) (revision 41241) +++ ssts-web/src/main/webapp/disinfectsystem/routineMonitoring/routineMonitoringForm.jsp (.../routineMonitoringForm.jsp) (revision 41262) @@ -23,7 +23,12 @@ <%@ include file="/common/includeExtJsAndCss.jsp"%> + + + + + @@ -35,7 +40,7 @@ //自定义表单类型:定期监测、质量监测 var formType_routineMonitoring = '<%=FormDefinition.FOMRTYPE_PERIODICMONITORING%>'; var formType_qualityMonitoring = '<%=FormDefinition.FOMRTYPE_QUALITYMONITORING%>'; - +var parm_s_type = "定期监测"; var qualityMonitoringUpdateMode = '${qualityMonitoringUpdateMode}'; var userName = '${userName}'; //GZSZYY-122:定期监测记录全局修改 Index: ssts-web/src/main/webapp/js/qualityAndRoutineMonitoringUtils.js =================================================================== diff -u --- ssts-web/src/main/webapp/js/qualityAndRoutineMonitoringUtils.js (revision 0) +++ ssts-web/src/main/webapp/js/qualityAndRoutineMonitoringUtils.js (revision 41262) @@ -0,0 +1,126 @@ +//判断是否为有效的条码,9到11位 +function isValidBarcode(text) { + var re = /^([0-9]{9,11})$/; + if (re.test(text)) { + return true; + } + else { + return false; + } +} + +// 根据条码获取用户名 +function loadResponPersonByBarcode(barcode, domId, type) { + if (isUndefinedOrNullOrEmpty(barcode)) { + showResultQM('条码不能为空!'); + return; + } + UserTableManager.getUserByBarcodeAndCurrentOrgUnitCoding(barcode, Ext.getCmp("orgUnitCoding").getValue(), function (responseText) { + if (!isUndefinedOrNullOrEmpty(responseText)) { + var result = Ext.decode(responseText); + if (domId == 'responsiblePerson') { + if (!result.success) { + showResultQM(result.message || "请输入正确的人员条码!"); + return; + } + if ((result.fullName || '') !== '') { + Ext.getCmp('responsiblePerson').disable(); + } + } else { + if (!result.success) { + if (result.isNotSameOrgUnit) { + showResultQM(result.message || "登记人需为当前科室用户!"); + } else { + showResultQM(result.message || "请输入正确的人员条码!"); + } + return; + } + } + if (sstsConfig.enableAddingMultipleResponsiblePersons && type == '质量监测') { + getBarcodeResponsiblePerson('', result.fullName, domId); + } else { + Ext.getCmp(domId).setValue(result.fullName); + } + } else { + showResultQM('找不到该条码所对应的人员信息'); + } + }); +} + +//单选多选触发项 +function triggerItemAction(valueTriggerItemIds, action) { + if (valueTriggerItemIds != null && valueTriggerItemIds != "") { + var itemIdArray = valueTriggerItemIds.split(","); + if (itemIdArray.length > 0) { + for (var n = 0; n < itemIdArray.length; n++) { + var triggerItemId = itemIdArray[n]; + if (triggerItemId != null && triggerItemId != "") { + var hideElement = Ext.getCmp("hideElement" + triggerItemId); + if (hideElement) { + if ("show" == action) { + hideElement.show(); + } else { + var xtype = hideElement.getXType(); + if (xtype == 'fieldset') { + var length = hideElement.items.each(function (fsItem) { + var itemType = fsItem.getXType(); + if (itemType == "panel") { + fsItem.items.each(function (item, index, length) { + if (item.items && item.items.items[0] && item.items.items[0].setValue) { + item.items.items[0].setValue(false); + } + }); + } else if (itemType == "hidden") { + if (fsItem.setValue) { + fsItem.setValue(""); + } + } + }); + } else if (xtype == 'panel') { + hideElement.items.each(function (item, index, length) { + if (item.setValue) { + item.setValue(""); + } + }); + } + hideElement.hide(); + } + } + } + } + } + } +} + +//显示提示信息 +function showResultQM(msg) { + showResult(msg); + try { + speakContentThrouhtAndroid(msg); + } catch (e) { + + } +} + +//SZSDSRMYY-76:获取条码的备注 +function getBarcodeRemark(result) { + if (result.remark !== '') { + var remark = '【' + result.tousseName + '(' + result.barcode + '):' + result.remark + '】'; + var oldRemark = Ext.getCmp('remark').getValue(); + if (oldRemark == '') { + var resultRemark = '装配备注:' + remark; + Ext.getCmp('remark').setValue(resultRemark); + } else { + if (oldRemark.indexOf('装配备注:') == -1) { + var resultRemark = '装配备注:' + remark; + Ext.getCmp('remark').setValue(oldRemark + resultRemark); + } else { + Ext.getCmp('remark').setValue(oldRemark + remark); + } + } + } +} + +function isLoadIframe() { + return true +} \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceForm.js =================================================================== diff -u -r41253 -r41262 --- ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceForm.js (.../qualitymonitoringInstanceForm.js) (revision 41253) +++ ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceForm.js (.../qualitymonitoringInstanceForm.js) (revision 41262) @@ -6,14 +6,15 @@ // 添加抽检器械的材料store var materialDefinitionAddStore; var tousseDefinitionStore; +// 查找某科室的人员的store +var departUsersStore; var materialItemCount = 0; var tousseItemCount = 0; var tousseWrapperCount = 0; var tousseAndMaterialWrapperCount = 0; var formPanel; //监测项的combo var formDefinitionStore; -var frequencyStore; var materialCountRecords; var materialMsg = null; var tousseInstanceInfo = ""; @@ -27,25 +28,9 @@ var addExtractClick;//抽检器械后面添加按钮的显示与隐藏 var addTousseClick;//器械包条码后面添加按钮的显示与隐藏 var labelWidthLeft = 135; -var currentOrgUnitName = currentOrgUnitName || ''; -var currentOrgUnitCoding = currentOrgUnitCoding || ''; var newTousseItems = [] var updateId = '' -var userReader = new Ext.data.JsonReader({ - fields: [ - { name: 'id' }, - { name: 'fullName' }, - { name: 'orgUnitName' } - ] -}); -// 查找某科室的人员的store -var departUsersStore = new Ext.data.Store({ - proxy: new Ext.data.HttpProxy({ - url: WWWROOT + '/systemmanage/user/userAction!loadUsersBySearchString.do', - method: 'POST' - }), - reader: userReader -}); + if (Ext.getCmp("tousseInfoFieldSet")) { var getWidth = Ext.getCmp("tousseInfoFieldSet").items.items[0].el.dom.clientWidth; } @@ -98,50 +83,6 @@ } } -function triggerItemAction(valueTriggerItemIds, action) { - if (valueTriggerItemIds != null && valueTriggerItemIds != "") { - var itemIdArray = valueTriggerItemIds.split(","); - if (itemIdArray.length > 0) { - for (var n = 0; n < itemIdArray.length; n++) { - var triggerItemId = itemIdArray[n]; - if (triggerItemId != null && triggerItemId != "") { - var hideElement = Ext.getCmp("hideElement" + triggerItemId); - if (hideElement) { - if ("show" == action) { - hideElement.show(); - } else { - var xtype = hideElement.getXType(); - if (xtype == 'fieldset') { - var length = hideElement.items.each(function (fsItem) { - var itemType = fsItem.getXType(); - if (itemType == "panel") { - fsItem.items.each(function (item, index, length) { - if (item.items && item.items.items[0] && item.items.items[0].setValue) { - item.items.items[0].setValue(false); - } - }); - } else if (itemType == "hidden") { - if (fsItem.setValue) { - fsItem.setValue(""); - } - } - }); - } else if (xtype == 'panel') { - hideElement.items.each(function (item, index, length) { - if (item.setValue) { - item.setValue(""); - } - }); - } - hideElement.hide(); - } - } - } - } - } - } -} - function addTousseBags(hiddenTousseIndex, tousseBagsStore, tousseItems) { var scope = Ext.getCmp('scope').getValue(); var firstMaterialInfosStore = new Ext.data.SimpleStore({ @@ -1446,7 +1387,7 @@ if (e.getKey() == 13) { var text = field.getValue(); if (isValidBarcode(text)) { - loadResponPersonByBarcode(text, 'configItemOption' + field.index); + loadResponPersonByBarcode(text, 'configItemOption' + field.index, parm_s_type); } else if (isValidStaffNumber(text)) { UserTableManager.getUserByLoginName(text, function (responseText) { if (!isUndefinedOrNullOrEmpty(responseText)) { @@ -2885,25 +2826,6 @@ } } -//SZSDSRMYY-76:获取条码的备注 -function getBarcodeRemark(result) { - if (result.remark !== '') { - var remark = '【' + result.tousseName + '(' + result.barcode + '):' + result.remark + '】'; - var oldRemark = Ext.getCmp('remark').getValue(); - if (oldRemark == '') { - var resultRemark = '装配备注:' + remark; - Ext.getCmp('remark').setValue(resultRemark); - } else { - if (oldRemark.indexOf('装配备注:') == -1) { - var resultRemark = '装配备注:' + remark; - Ext.getCmp('remark').setValue(oldRemark + resultRemark); - } else { - Ext.getCmp('remark').setValue(oldRemark + remark); - } - } - } -} - //HZSRMYY-90:获取条码的责任人 function getBarcodeResponsiblePerson(oldResponsiblePerson, newResponsiblePerson, domId) { if (sstsConfig.enableRecordsQualifiedOfQualityMonitoringFunction) { @@ -3152,34 +3074,18 @@ var items3 = new Array(); var items5 = new Array(); - materialDefinitionAddStore = new Ext.data.Store({ - proxy: new Ext.data.HttpProxy({ - url: WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getMaterialDefinitionDataIncludeForeignMD.do?selectType=material', - method: 'POST' - }), - reader: new Ext.data.JsonReader({ - totalProperty: 'totalCount', - root: 'data' - }, [ - { name: 'id', mapping: 'id' }, - { name: 'spelling', mapping: 'spelling' }, - { name: 'name', mapping: 'name' }, - { name: 'count', mapping: 'count' } - ]), - listeners: { - beforeload: function (thiz, options) { - if (tousseDefinitionId) { - thiz.baseParams['tousseDefinitionId'] = tousseDefinitionId; - } else { - if (tousseItemCount == 0) { - thiz.baseParams['tousseDefinitionId'] = Ext.getCmp('tousseDefinitionId').getValue(); - } else if (tousseItemCount !== undefined) { - thiz.baseParams['tousseDefinitionId'] = Ext.getCmp('tousseDefinitionId' + tousseItemCount).getValue(); - } - } + materialDefinitionAddStore = getMaterialDefinitionDataIncludeForeignMD('material'); + materialDefinitionAddStore.on('beforeload', function (thiz) { + if (tousseDefinitionId) { + thiz.baseParams['tousseDefinitionId'] = tousseDefinitionId; + } else { + if (tousseItemCount == 0) { + thiz.baseParams['tousseDefinitionId'] = Ext.getCmp('tousseDefinitionId').getValue(); + } else if (tousseItemCount !== undefined) { + thiz.baseParams['tousseDefinitionId'] = Ext.getCmp('tousseDefinitionId' + tousseItemCount).getValue(); } } - }); + }) var actualWidth = document.body.clientWidth; @@ -6124,10 +6030,10 @@ if (focusInputId !== '') { switch (focusInputId) { case 'responsiblePersonBarcode'://扫描责任人条码 - loadResponPersonByBarcode(barcode, 'responsiblePerson'); + loadResponPersonByBarcode(barcode, 'responsiblePerson', parm_s_type); break; case 'createUserName'://扫描登记人 - loadResponPersonByBarcode(barcode, 'createUserName'); + loadResponPersonByBarcode(barcode, 'createUserName', parm_s_type); break; case 'scanBarcode'://重新回收篮筐条码 loadBasketByBarcodeAndProcedures(barcode); @@ -6165,43 +6071,6 @@ } } -function loadResponPersonByBarcode(barcode, domId) { - if (isUndefinedOrNullOrEmpty(barcode)) { - showResultQM('条码不能为空!'); - return; - } - UserTableManager.getUserByBarcodeAndCurrentOrgUnitCoding(barcode, Ext.getCmp("orgUnitCoding").getValue(), function (responseText) { - if (!isUndefinedOrNullOrEmpty(responseText)) { - var result = Ext.decode(responseText); - if (domId == 'responsiblePerson') { - if (!result.success) { - showResultQM(result.message || "请输入正确的人员条码!"); - return; - } - if ((result.fullName || '') !== '') { - Ext.getCmp('responsiblePerson').disable(); - } - } else { - if (!result.success) { - if (result.isNotSameOrgUnit) { - showResultQM(result.message || "登记人需为当前科室用户!"); - } else { - showResultQM(result.message || "请输入正确的人员条码!"); - } - return; - } - } - if (sstsConfig.enableAddingMultipleResponsiblePersons) { - getBarcodeResponsiblePerson('', result.fullName, domId); - } else { - Ext.getCmp(domId).setValue(result.fullName); - } - } else { - showResultQM('找不到该条码所对应的人员信息'); - } - }); -} - //CDSLQYQYYY-147:重新回收篮筐条码 function loadBasketByBarcodeAndProcedures(barcode) { ContainerTableManager.getBasketByBarcodeAndProcedures(barcode, basketAllowProcedure, function (jsonStr) { @@ -6937,121 +6806,58 @@ * 初始化Store. */ function initStore() { - materialDefinitionStore = new Ext.data.Store({ - proxy: new Ext.data.HttpProxy({ - url: WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getMaterialDefinitionDataIncludeForeignMD.do?selectType=material', - method: 'POST' - }), - reader: new Ext.data.JsonReader({ - totalProperty: 'totalCount', - root: 'data' - }, [ - { name: 'id', mapping: 'id' }, - { name: 'spelling', mapping: 'spelling' }, - { name: 'name', mapping: 'name' }, - { name: 'count', mapping: 'count' } - ]), - listeners: { - beforeload: function (thiz, options) { - thiz.baseParams['tousseDefinitionId'] = Ext.getCmp('tousseDefinitionId').getValue(); - } + // 查找某科室的人员 + departUsersStore = loadUsersBySearchString(); + // 获取器械包和一次性物品的数据 + tousseDefinitionStore = getTousseAndDiposableGoodsData('器械包和外来器械包'); + // 获取抽检器械数据 + materialDefinitionStore = getMaterialDefinitionDataIncludeForeignMD('material'); + materialDefinitionStore.on('beforeload', function (thiz) { + if (Ext.getCmp('tousseDefinitionId')) { + thiz.baseParams['tousseDefinitionId'] = Ext.getCmp('tousseDefinitionId').getValue(); } - }); - - tousseDefinitionStore = new Ext.data.Store({ - proxy: new Ext.data.HttpProxy({ - url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getTousseAndDiposableGoodsData.do?type=' + encodeURI('器械包和外来器械包'), - method: 'POST' - }), - reader: new Ext.data.JsonReader({ - totalProperty: 'totalCount', - root: 'data' - }, [ - { name: 'id', mapping: 'id' }, - { name: 'spelling', mapping: 'spelling' }, - { name: 'name', mapping: 'name' }, - { name: 'displayName', mapping: 'displayName' }, - { name: 'amount', mapping: 'amount' }] - ) - }); - - formDefinitionStore = new Ext.data.Store({ - proxy: new Ext.data.HttpProxy({ - url: WWWROOT + '/disinfectSystem/qualityMonitoringDefinitionAction!loadLastDeployFormDefinitionGroupByFormName.do', - method: 'POST' - }), - baseParams: { formType: qmFormType }, - reader: new Ext.data.JsonReader({ - root: 'data' - }, [ - { name: 'id' }, - { name: 'name' } - ] - ), - listeners: { - load: function (store, records) { - if (otherPartAddQM == true) { - if (records.length > 0) { - if (Ext.getCmp('responsibilityPart').getValue() == '装配管理') { - var formName = ''; - var formDefinitionId = ''; - for (var i = 0; i < records.length; i++) { - if (records[i].data.name == '包装不合格') { - formName = records[i].data.name; - formDefinitionId = records[i].data.id; - } - } - if (formName !== '') { - Ext.getCmp('formName').setValue(formName); - addQualityMonitoringItem(formDefinitionId, formName); - Ext.getCmp("formDefinitionId").setValue(formDefinitionId); - Ext.getCmp("name").setValue(formName); - } - } else { - Ext.getCmp('formName').setValue(records[0].data.name); - addQualityMonitoringItem(records[0].data.id, records[0].data.name); - Ext.getCmp("formDefinitionId").setValue(records[0].data.id); - Ext.getCmp("name").setValue(records[0].data.name); + }) + // 获取监测项 + formDefinitionStore = loadLastDeployFormDefinitionGroupByFormName(qmFormType); + formDefinitionStore.on('beforeload', function (thiz) { + if (Ext.getCmp('orgUnitCoding')) { + thiz.baseParams['orgUnitCoding'] = Ext.getCmp('orgUnitCoding').getValue(); + } + }) + formDefinitionStore.on('load', function (thiz, records) { + if (otherPartAddQM == true) { + if (records.length > 0) { + if (Ext.getCmp('responsibilityPart').getValue() == '装配管理') { + var formName = ''; + var formDefinitionId = ''; + for (var i = 0; i < records.length; i++) { + if (records[i].data.name == '包装不合格') { + formName = records[i].data.name; + formDefinitionId = records[i].data.id; } - } else { - // 没有找到监测项 - Ext.getCmp('formName').setValue(''); } + if (formName !== '') { + Ext.getCmp('formName').setValue(formName); + addQualityMonitoringItem(formDefinitionId, formName); + Ext.getCmp("formDefinitionId").setValue(formDefinitionId); + Ext.getCmp("name").setValue(formName); + } + } else { + Ext.getCmp('formName').setValue(records[0].data.name); + addQualityMonitoringItem(records[0].data.id, records[0].data.name); + Ext.getCmp("formDefinitionId").setValue(records[0].data.id); + Ext.getCmp("name").setValue(records[0].data.name); } - // 加载监测项对所选的项赋初值,只是从其他环节进来执行一次. - otherPartAddQM = false; - }, beforeload: function (store) { - formDefinitionStore.baseParams.orgUnitCoding = Ext.getCmp("orgUnitCoding").getValue(); + } else { + // 没有找到监测项 + Ext.getCmp('formName').setValue(''); } } - }); - - frequencyStore = new Ext.data.Store({ - proxy: new Ext.data.HttpProxy({ - url: WWWROOT + '/disinfectSystem/sterilization/sterilizationRecordAction!getFrequency.do?', - method: 'POST' - }), - baseParams: { sterilizerDate: "" }, - reader: new Ext.data.JsonReader({ - root: 'data' - }, [ - { name: 'value' }, - ] - ) - }); + // 加载监测项对所选的项赋初值,只是从其他环节进来执行一次. + otherPartAddQM = false; + }) } -//测试是否为有效的条码,9到11位 -function isValidBarcode(text) { - var re = /^([0-9]{9,11})$/; - if (re.test(text)) { - return true; - } - else { - return false; - } -} - // 测试是否为工号,长度大于1位,小于等于6位,并且仅允许数字和字母 function isValidStaffNumber(text) { if (text.length < 1 || text.length > 6) { @@ -7187,7 +6993,7 @@ var createUserNameBox = Ext.getCmp('createUserName'); var text = createUserNameBox.getValue(); if (isValidBarcode(text)) { - loadResponPersonByBarcode(text, 'createUserName'); + loadResponPersonByBarcode(text, 'createUserName', parm_s_type); } else if (isValidStaffNumber(text)) { UserTableManager.getUserByLoginName(text, function (responseText) { if (!isUndefinedOrNullOrEmpty(responseText)) { @@ -7257,7 +7063,7 @@ if (e.getKey() == 13) { var barcodeValue = field.getValue(); Ext.getCmp("responsiblePersonBarcode").setValue(''); - loadResponPersonByBarcode(barcodeValue, 'responsiblePerson'); + loadResponPersonByBarcode(barcodeValue, 'responsiblePerson', parm_s_type); } }, focus: function () { @@ -8387,11 +8193,8 @@ Ext.getCmp('responsibilityPart').setValue(responPartName); if (sstsConfig.hasOwnProperty('responsibilityPartNotLimitInspect') && sstsConfig.responsibilityPartNotLimitInspect) { formDefinitionStore.baseParams.responsiblePerson = responPartName; - //formDefinitionStore.baseParams.isNotLimitInspect = "是"; - //formDefinitionStore.load(); } else { formDefinitionStore.baseParams.responsiblePerson = responPartName; - //formDefinitionStore.load(); } if (!isUndefinedOrNullOrEmpty(errorDamageQmKey)) { Ext.getCmp("errorDamageQmKey").setValue(errorDamageQmKey); @@ -8422,27 +8225,8 @@ Ext.getCmp("operationRoom").setValue(operationRoom); Ext.getCmp("operationRoom").disable(); } - // formDefinitionStore.baseParams.responsiblePerson = "回收清点"; - // formDefinitionStore.load(); } -function showResultQM(msg) { - if (recycleQM == true) { - showResultCurPage(msg); - } else { - showResult(msg); - } - try { - speakContentThrouhtAndroid(msg); - } catch (e) { - - } -} - -function isLoadIframe() { - return true -} - Ext.onReady(function () { formPanel = getFormPanelContent(id); try { Index: ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceForm.jsp =================================================================== diff -u -r41241 -r41262 --- ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceForm.jsp (.../qualitymonitoringInstanceForm.jsp) (revision 41241) +++ ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceForm.jsp (.../qualitymonitoringInstanceForm.jsp) (revision 41262) @@ -20,6 +20,8 @@ %> + + @@ -69,7 +71,9 @@ var basketAllowProcedure = '<%=Container.CONTAINER_STATUS_FREE%>;<%=Container.CONTAINER_STATUS_WASHLOADING%>;<%=Container.CONTAINER_STATUS_WASHED%>;<%=Container.CONTAINER_STATUS_PACKED%>'; var qualityMonitoringUpdateMode = '${qualityMonitoringUpdateMode}'; var imageType_qualitymonitoring = '<%=ImageFile.IMAGE_TYPE_QUALITYMONITORING%>'; - + //当前用户所在的当前科室 + var currentOrgUnitCoding = '<%=AcegiHelper.getCurrentOrgUnitCode()%>'; + var currentOrgUnitName = '<%=AcegiHelper.getCurrentOrgUnitName()%>'; /** * 页面完成加载后,调用此函数 * 此函数被Ext.onReady函数调用,然后再调用安卓的函数 Index: ssts-web/src/main/webapp/disinfectsystem/routineMonitoring/routineMonitoringForm.js =================================================================== diff -u -r41241 -r41262 --- ssts-web/src/main/webapp/disinfectsystem/routineMonitoring/routineMonitoringForm.js (.../routineMonitoringForm.js) (revision 41241) +++ ssts-web/src/main/webapp/disinfectsystem/routineMonitoring/routineMonitoringForm.js (.../routineMonitoringForm.js) (revision 41262) @@ -1,107 +1,15 @@ var formPanel; var focusInputId = ''; +var tousseDefinitionStore; var materialDefinitionStore; -var qmInstanceStore = new Ext.data.Store({ - proxy: new Ext.data.MemoryProxy([]), - reader: new Ext.data.JsonReader({ - fields: [{ - name: 'id' - }, { - name: 'name' - }, { - name: 'dateTime' - }] - }) -}); +var frequencyStore; var goodsRecord = Ext.data.Record.create([ { name: 'id' }, { name: 'name' }, { name: 'dateTime' } ]); -frequencyStore = new Ext.data.Store({ - proxy: new Ext.data.HttpProxy({ - url: WWWROOT + '/disinfectSystem/sterilization/sterilizationRecordAction!getFrequency.do?', - method: 'POST' - }), - baseParams: { sterilizerDate: "" }, - reader: new Ext.data.JsonReader({ - root: 'data' - }, [ - { name: 'value' }, - ] - ) -}); - -function removeItem(gridId) { - var gridObj = Ext.getCmp(gridId); - var rows = gridObj.getSelectionModel().getSelections(); - if (rows) { - var store = gridObj.getStore(); - for (var i = 0; i < rows.length; i++) { - store.remove(rows[i]); - } - } -} - -function addQMInstance(id, name, dateTime) { - var isExist = false; - for (var i = 0; i < qmInstanceStore.getCount(); i++) { - var record = qmInstanceStore.getAt(i); - if (record.get('id') == id) { - isExist = true; - break; - } - } - if (!isExist) { - var record = new goodsRecord({ - id: id, - name: name, - dateTime: dateTime - }); - qmInstanceStore.add(record); - } else { - showResultQM(name + ",已添加!"); - } -} - -function triggerItemAction(valueTriggerItemIds, action) { - if (valueTriggerItemIds != null && valueTriggerItemIds != "") { - var itemIdArray = valueTriggerItemIds.split(","); - if (itemIdArray.length > 0) { - for (var n = 0; n < itemIdArray.length; n++) { - var triggerItemId = itemIdArray[n]; - if (triggerItemId != null && triggerItemId != "") { - if ("show" == action) { - Ext.getCmp("hideElement" + triggerItemId).show(); - } else { - var xtype = Ext.getCmp("hideElement" + triggerItemId).getXType(); - if (xtype == 'fieldset') { - var length = Ext.getCmp("hideElement" + triggerItemId).items.each(function (fsItem) { - var itemType = fsItem.getXType(); - if (itemType == "panel") { - fsItem.items.each(function (item, index, length) { - item.setValue(false); - }); - } else if (itemType == "hidden") { - fsItem.setValue(""); - } - }); - } else if (xtype == 'panel') { - var panel = Ext.getCmp("hideElement" + triggerItemId); - panel.items.each(function (item, index, length) { - item.setValue(""); - }); - } - Ext.getCmp("hideElement" + triggerItemId).hide(); - } - } - } - } - } -} - //返回炉次显示框 function createRoutineMonitoringElementSterFre(value) { return { @@ -140,51 +48,12 @@ }; } -//返回炉次显示框 质量监测 -function createRoutineMonitoringElementSterNameQW(value) { - return { - columnWidth: .5, - layout: 'form', - labelWidth: 90, - items: [{ - xtype: 'textfield', - fieldLabel: '炉次', - maxLength: '30', - id: 'configItemOptionSterNameQW', - name: 'configItemOptionSterNameQW', - allowBlank: true, - readOnly: true, - value: value, - anchor: '95%' - }] - }; -} -// 返回炉号显示框 质量监测 -function createRoutineMonitoringElementSterFreQW(value) { - return { - columnWidth: .5, - layout: 'form', - labelWidth: 90, - items: [{ - xtype: 'textfield', - fieldLabel: '炉号', - maxLength: '30', - id: 'configItemOptionSterFreQW', - name: 'configItemOptionSterFreQW', - allowBlank: true, - readOnly: true, - value: value, - anchor: '95%' - }] - }; -} - //BJDXZLYY-69:根据条码处理不同的业务,focusInputId为焦点所在的输入框的id,目前只有PDA有用 function receiveBarcodeByPDA(barcode) { if (focusInputId !== '') { switch (focusInputId) { case 'tempBarcode'://扫描责任人条码 - getTousseInstanceNameAndResponsiblePerson2(barcode, Ext.getCmp('formDefinitionId').getValue(), materialDefinitionStore, false, true); + getTousseInstanceNameAndResponsiblePerson(barcode, Ext.getCmp('formDefinitionId').getValue(), materialDefinitionStore, false, true); Ext.getCmp('tempBarcode').setValue(''); break; default: @@ -216,22 +85,71 @@ if ((value == null || value == "") && !doNotSetDefaultValue) { value = options; } + var items = [{ + xtype: 'textfield', + fieldLabel: name, + maxLength: '30', + id: 'configItemOption' + id, + name: 'configItemOption' + id, + allowBlank: allowBlank, + value: value, + anchor: '95%' + }] + if (sstsConfig.enableElementAssociation && options == '关联当前科室用户') { + items = [{ + xtype: 'combo', + fieldLabel: name, + id: 'configItemOption' + id, + name: 'configItemOption' + id, + queryParam: 'spell', + minChars: 0, + displayField: 'fullName', + store: departUsersStore, + forceSelection: false, + lazyInit: true, + triggerAction: 'all', + hideTrigger: false, + typeAhead: false, + allowBlank: false, + anchor: '95%', + index: id, + listeners: { + specialkey: function (field, e) { + if (e.getKey() == 13) { + var text = field.getValue(); + if (isValidBarcode(text)) { + loadResponPersonByBarcode(text, 'configItemOption' + field.index, parm_s_type); + } else if (isValidStaffNumber(text)) { + UserTableManager.getUserByLoginName(text, function (responseText) { + if (!isUndefinedOrNullOrEmpty(responseText)) { + var result = Ext.decode(responseText); + if (result.isBelongsToCurrentLoginUserOrgs == false) { + showResultQM("登记人需为当前科室用户!"); + return + } + Ext.getCmp('configItemOption' + field.index).setValue(result.fullName); + } else { + showResultQM('找不到该工号对应的人员信息'); + } + }); + } else { + showResultQM('该工号或条码不存在!'); + } + } + }, + focus: function (field) { + focusInputId = 'configItemOption' + field.index + } + } + }] + } return { columnWidth: columnWidth, layout: 'form', labelWidth: 90, hidden: hideElement, id: 'hideElement' + id, - items: [{ - xtype: 'textfield', - fieldLabel: name, - maxLength: '30', - id: 'configItemOption' + id, - name: 'configItemOption' + id, - allowBlank: allowBlank, - value: value, - anchor: '95%' - }] + items: items }; } else if (type == '文本框') { if ((value == null || value == "") && !doNotSetDefaultValue) { @@ -422,15 +340,15 @@ } optionsArray.push({ layout: 'form', - columnWidth: actualWidth > 500 ? .5 : 1, + columnWidth: actualWidth > 500 ? .5 : 1, labelWidth: actualWidth > 500 ? 200 : 150, style: 'margin-top:10px', items: [{ name: 'cconfigItemOption' + id, fieldLabel: optionsJson[j].name, xtype: 'checkbox', checked: checked, - columnWidth: actualWidth > 500 ? .5 : 1, + columnWidth: actualWidth > 500 ? .5 : 1, inputValue: JSON.stringify(optionsJson[j]), listeners: { check: function (thiz, checked) { @@ -549,12 +467,6 @@ } else { showRoutineMonitoringTousseMsg(); } - - // 如果显示炉次炉号,添加表单 - if (result.data.showSterilizerNumFrequency == '是') { - items.push(createRoutineMonitoringElementSterNameQW('')); - items.push(createRoutineMonitoringElementSterFreQW('')); - } for (var i = 0; i < result.data.items.length; i++) { var item = result.data.items[i]; if (Ext.getCmp('optionAmount2').getValue() == null || Ext.getCmp('optionAmount2').getValue() == '') { @@ -600,15 +512,6 @@ } -function showResultQM(msg) { - showResult(msg); - try{ - speakContentThrouhtAndroid(msg); - }catch(e){ - - } -} - // 打开定期监测,加载包和材料的信息 function loadRoutineMonitoringTousseAndMaterialMsg(routineMonitoringGoodsList) { if (routineMonitoringGoodsList == null || routineMonitoringGoodsList == '' || routineMonitoringGoodsList.length == 0) { @@ -923,77 +826,6 @@ var formDefinitionStore; //BJDXZLYY-69:表单跟内容拆分,先渲染再加载数据 function getFormPanelContent(id) { - materialDefinitionStore = new Ext.data.Store({ - proxy: new Ext.data.HttpProxy({ - url: WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getMaterialDefinitionData.do', - method: 'POST' - }), - reader: new Ext.data.JsonReader({ - totalProperty: 'totalCount', - root: 'data' - }, [ - { name: 'id', mapping: 'id' }, - { name: 'spelling', mapping: 'spelling' }, - { name: 'name', mapping: 'name' }, - { name: 'count', mapping: 'count' } - ]), - listeners: { - beforeload: function (thiz, options) { - thiz.baseParams['tousseDefinitionId'] = Ext.getCmp('tousseDefinitionId').getValue(); - } - } - }); - var tousseDefinitionStore = new Ext.data.Store({ - proxy: new Ext.data.HttpProxy({ - url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getTousseAndDiposableGoodsData.do?type=' + encodeURI('器械包和外来器械包'), - method: 'POST' - }), - reader: new Ext.data.JsonReader({ - totalProperty: 'totalCount', - root: 'data' - }, [ - { name: 'id', mapping: 'id' }, - { name: 'spelling', mapping: 'spelling' }, - { name: 'name', mapping: 'name' }, - { name: 'displayName', mapping: 'displayName' }, - { name: 'amount', mapping: 'amount' }] - ) - }); - formDefinitionStore = new Ext.data.Store({ - proxy: new Ext.data.HttpProxy({ - url: WWWROOT + '/disinfectSystem/qualityMonitoringDefinitionAction!loadLastDeployFormDefinitionGroupByFormName.do', - method: 'POST' - }), - baseParams: { formType: formType_routineMonitoring }, - reader: new Ext.data.JsonReader({ - root: 'data' - }, [ - { name: 'id' }, - { name: 'name' } - ] - ), - listeners: { - load: function (store, records) { - if (records.length > 0) { - Ext.getCmp('formName').setValue(records[0].data.name); - if (sterilerConfirmObj && sterilerConfirmObj.defaultQualityMonitoringId) { - addRoutineMonitoringItem(sterilerConfirmObj.defaultQualityMonitoringId); - Ext.getCmp("formDefinitionId").setValue(sterilerConfirmObj.defaultQualityMonitoringId); - Ext.getCmp("formName").setRawValue(sterilerConfirmObj.defaultQualityMonitoring); - Ext.getCmp("name").setValue(sterilerConfirmObj.defaultQualityMonitoring); - } else { - addRoutineMonitoringItem(records[0].data.id); - Ext.getCmp("formDefinitionId").setValue(records[0].data.id); - Ext.getCmp("name").setValue(records[0].data.name); - } - } else { - // 没有找到监测项 - Ext.getCmp('formName').setValue(''); - } - } - } - }); - var actualWidth = document.body.clientWidth; var actualHeight = document.body.clientHeight; var columnWidth = actualWidth > 500 ? 0.5 : 1; @@ -1043,7 +875,7 @@ xtype: 'hidden', name: 'type', id: 'type', - value: '定期监测' + value: parm_s_type }, { xtype: 'hidden', name: 'name', @@ -1054,10 +886,6 @@ id: 'optionAmount' }, { xtype: 'hidden', - name: 'qualityMonitoringItems', - id: 'qualityMonitoringItems' - }, { - xtype: 'hidden', name: 'isRecycle', id: 'isRecycle' }, { @@ -1212,7 +1040,7 @@ listeners: { specialkey: function (field, e) { if (e.getKey() == 13) { - getTousseInstanceNameAndResponsiblePerson2(field.getValue(), Ext.getCmp('formDefinitionId').getValue(), materialDefinitionStore, false, true); + getTousseInstanceNameAndResponsiblePerson(field.getValue(), Ext.getCmp('formDefinitionId').getValue(), materialDefinitionStore, false, true); field.setValue(''); } }, @@ -1582,16 +1410,6 @@ if (Ext.getCmp('resultFieldSet')) { Ext.getCmp('resultFieldSet').doLayout(); } - qmInstanceStore.removeAll(); - var monitorings = result.data.qualityMonitorings; - if (monitorings != null && monitorings.length > 0) { - Ext.getCmp("addRoutineMonitoringGrid").show(); - for (var j = 0; j < monitorings.length; j++) { - var qmForRoutine = monitorings[j]; - var tmpDateTime = Ext.util.Format.date(new Date(qmForRoutine.dateTime.time), "Y-m-d H:i"); - addQMInstance(qmForRoutine.id, qmForRoutine.name, tmpDateTime); - } - } //打开已有质量监测记录,器械包条码,器械包名称,重新回收和重新装配都禁用掉,不能再修改 Ext.getCmp('recycle').disable(); Ext.getCmp('repacking').disable(); @@ -1715,41 +1533,7 @@ Ext.getCmp('disabledBarcode').setValue(false); } -//SZSDSRMYY-76:获取条码的备注 -function getBarcodeRemark(result) { - if (result.remark !== '') { - var remark = '【' + result.tousseName + '(' + result.barcode + '):' + result.remark + '】'; - var oldRemark = Ext.getCmp('remark').getValue(); - if (Ext.getCmp('remark2')) { - var oldRemark2 = Ext.getCmp('remark2').getValue(); - if (oldRemark2 == '') { - var resultRemark = '装配备注:' + remark; - Ext.getCmp('remark2').setValue(resultRemark); - } else { - if (oldRemark2.indexOf('装配备注:') == -1) { - var resultRemark = '装配备注:' + remark; - Ext.getCmp('remark2').setValue(oldRemark + resultRemark); - } else { - Ext.getCmp('remark2').setValue(oldRemark + remark); - } - } - } else { - if (oldRemark == '') { - var resultRemark = '装配备注:' + remark; - Ext.getCmp('remark').setValue(resultRemark); - } else { - if (oldRemark.indexOf('装配备注:') == -1) { - var resultRemark = '装配备注:' + remark; - Ext.getCmp('remark').setValue(oldRemark + resultRemark); - } else { - Ext.getCmp('remark').setValue(oldRemark + remark); - } - } - } - } -} - -function getTousseInstanceNameAndResponsiblePerson2(tempBarcode, qmDefinitionId, materialDefinitionStore, isQMView, isScan) { +function getTousseInstanceNameAndResponsiblePerson(tempBarcode, qmDefinitionId, materialDefinitionStore, isQMView, isScan) { if (tempBarcode) { Ext.Ajax.request({ url: WWWROOT + '/disinfectSystem/qualityMonitoringDefinitionAction!getTousseInstanceNameAndResponsiblePerson.do', @@ -1767,11 +1551,6 @@ } else { Ext.getCmp('tousseName2').setValue(result.tousseName); } - if (!isUndefinedOrNullOrEmpty(Ext.getCmp('configItemOptionSterNameQW'))) { - // 显示炉次和炉号 - Ext.getCmp('configItemOptionSterNameQW').setValue(result.sterilizerName); - Ext.getCmp('configItemOptionSterFreQW').setValue(result.sterileFrequency); - } Ext.getCmp('barcode2').setValue(tempBarcode); Ext.getCmp('tousseInstanceId2').setValue(result.tousseInstanceId); if (result.tousseDefinitionId) { @@ -1876,15 +1655,6 @@ } function submitForm(thiz, sterilerConfirmObj) { - var qmArray = []; - for (var i = 0; i < qmInstanceStore.getCount(); i++) { - var record = qmInstanceStore.getAt(i); - qmArray.push({ - id: record.get("id") - }); - } - Ext.getCmp('qualityMonitoringItems').setValue(Ext.encode(qmArray)); - var material = Ext.getCmp("material").getValue(); var amount = Ext.getCmp("amount").getValue(); if (isUndefinedOrNullOrEmpty(tousseName)) { @@ -1955,29 +1725,60 @@ }); } +// store初始化 +function initStore() { + // 查找某科室的人员 + departUsersStore = loadUsersBySearchString(); + // 炉次 + frequencyStore = getFrequency(); + // 获取器械包和一次性物品的数据 + tousseDefinitionStore = getTousseAndDiposableGoodsData('器械包和外来器械包'); + // 抽检器械 + materialDefinitionStore = getMaterialDefinitionData(); + materialDefinitionStore.on('beforeload', function (thiz) { + if (Ext.getCmp('tousseDefinitionId')) { + thiz.baseParams['tousseDefinitionId'] = Ext.getCmp('tousseDefinitionId').getValue(); + } + }) + // 获取监测项 + formDefinitionStore = loadLastDeployFormDefinitionGroupByFormName(formType_routineMonitoring); + formDefinitionStore.on('load', function (thiz, records) { + if (records.length > 0) { + Ext.getCmp('formName').setValue(records[0].data.name); + if (sterilerConfirmObj && sterilerConfirmObj.defaultQualityMonitoringId) { + addRoutineMonitoringItem(sterilerConfirmObj.defaultQualityMonitoringId); + Ext.getCmp("formDefinitionId").setValue(sterilerConfirmObj.defaultQualityMonitoringId); + Ext.getCmp("formName").setRawValue(sterilerConfirmObj.defaultQualityMonitoring); + Ext.getCmp("name").setValue(sterilerConfirmObj.defaultQualityMonitoring); + } else { + addRoutineMonitoringItem(records[0].data.id); + Ext.getCmp("formDefinitionId").setValue(records[0].data.id); + Ext.getCmp("name").setValue(records[0].data.name); + } + } else { + // 没有找到监测项 + Ext.getCmp('formName').setValue(''); + } + }) +} + Ext.onReady(function () { + initStore(); formPanel = getFormPanelContent(id); + try { + loadPage(); + } catch (e) { + + } }); function cancelRoutineMonitoring() { if (top.Ext.getCmp('routineMonitoringWin')) { top.Ext.getCmp('routineMonitoringWin').close(); } - try{ + try { backToAndroidListPage(); - }catch(e){ - - } -} + } catch (e) { -function isLoadIframe() { - return true -} - -Ext.onReady(function () { - try{ - loadPage(); - }catch(e){ - } -}); \ No newline at end of file +} \ No newline at end of file