Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js =================================================================== diff -u -r40302 -r40803 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 40302) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 40803) @@ -30,7 +30,7 @@ } var columnTreeIsLoader = false; -var oldFormValue = {} +var oldFormValue = {} var pendingSterilizationColumnTreeWidth = extBodyWidth > 1600 ? 600 : rightWidth - 50; //是否隐藏“一键入炉”按钮 @@ -61,6 +61,22 @@ todayPendingSterilizationTitle = '待灭菌物品'; } +//BJDXZLYY-38:待灭菌物品列表的额外操作项 +var tbarForGoodsSearch = false; +var tbarForAddInBatch = false; +var tbarForTaskGroup = false; +if (sstsConfig.extraActionItemsOfItemsToBeSterilized) { + if (sstsConfig.extraActionItemsOfItemsToBeSterilized.indexOf('goodsSearch') >= 0) { + tbarForGoodsSearch = true; + } + if (sstsConfig.extraActionItemsOfItemsToBeSterilized.indexOf('addInBatch') >= 0) { + tbarForAddInBatch = true; + } + if (sstsConfig.extraActionItemsOfItemsToBeSterilized.indexOf('taskGroup') >= 0) { + tbarForTaskGroup = true; + } +} + var SHELF = "灭菌架"; var BASKET = "灭菌筐"; var STERILIZER = "灭菌炉"; @@ -417,6 +433,7 @@ node.attributes.isTraceable = params.isTraceable || ''; node.attributes.spelling = params.spelling || ''; node.attributes.wbCode = params.wbCode || ''; + node.attributes.taskGroup = params.taskGroup || ''; return node; } @@ -477,6 +494,7 @@ node.attributes.cls = params.cls; node.attributes.spelling = params.spelling || ''; node.attributes.wbCode = params.wbCode || ''; + node.attributes.taskGroup = params.taskGroup || ''; return node; } @@ -550,6 +568,7 @@ node.attributes.typeForSterilizationStatistics = params.typeForSterilizationStatistics; node.attributes.spelling = params.spelling || ''; node.attributes.wbCode = params.wbCode || ''; + node.attributes.taskGroup = params.taskGroup || ''; return node } @@ -600,6 +619,7 @@ node.attributes.typeForSterilizationStatistics = params.typeForSterilizationStatistics; node.attributes.spelling = params.spelling || ''; node.attributes.wbCode = params.wbCode || ''; + node.attributes.taskGroup = params.taskGroup || ''; return node; } @@ -650,6 +670,7 @@ node.attributes.isTimeout = (params.cls == 'itemTimeout') ? true : false; node.attributes.spelling = params.spelling || ''; node.attributes.wbCode = params.wbCode || ''; + node.attributes.taskGroup = params.taskGroup || ''; return node; } @@ -1090,6 +1111,7 @@ var reviewTime = node.attributes.reviewTime; var spelling = node.attributes.spelling || ''; var wbCode = node.attributes.wbCode || ''; + var taskGroup = node.attributes.taskGroup || ''; // 没入篮筐的器械包或者篮筐 if (node.attributes.isParentNode) { if (type == '器械包') { @@ -1108,7 +1130,8 @@ scanAmount: 0, isTraceable: null, spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } var cloneNode = createNode(params); return cloneNode; @@ -1128,7 +1151,8 @@ scanAmount: 0, isTraceable: null, spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } var cloneNode = createNode(params); var childNodes = node.attributes.children; @@ -1143,6 +1167,7 @@ var cReviewTime = childNodes[i].reviewTime; var cSpelling = childNodes[i].spelling || ''; var cWbCode = childNodes[i].wbCode || ''; + var taskGroup = childNodes[i].taskGroup || ''; var params = { isParentNode: false, barcode: cBarcode, @@ -1158,7 +1183,8 @@ scanAmount: 0, isTraceable: null, spelling: cSpelling, - wbCode: cWbCode + wbCode: cWbCode, + taskGroup: taskGroup } cloneNode.appendChild(createNode(params)); } @@ -1176,6 +1202,7 @@ var cReviewTime = childNodes2[i].reviewTime; var cSpelling = childNodes2[i].spelling || ''; var cWbCode = childNodes2[i].wbCode || ''; + var cTaskGroup = childNodes2[i].taskGroup || ''; var params = { isParentNode: false, barcode: cBarcode, @@ -1191,7 +1218,8 @@ scanAmount: 0, isTraceable: null, spelling: cSpelling, - wbCode: cWbCode + wbCode: cWbCode, + taskGroup: cTaskGroup } cloneNode.appendChild(createNode(params)); } @@ -1216,7 +1244,8 @@ scanAmount: 0, isTraceable: null, spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } var cloneNode = createNode(params); return cloneNode; @@ -1251,7 +1280,7 @@ function scanFixedBarcode(fixedBarcode, isLoadAll) { //DGSETYY-72:没有"灭菌时允许增删操作"权限 var currentStatus = top.Ext.getCmp('currentStatus').getValue(); - if(!SSTS_Sterilization_AllowOperation && currentStatus == '灭菌中'){ + if (!SSTS_Sterilization_AllowOperation && currentStatus == '灭菌中') { showMultipleResult("灭菌进行中,不能随意添加物品!", null, sstsConfig.messagePauseTimeOnSterilizationRecordPage); return; } @@ -1326,6 +1355,7 @@ var isTraceable = tousseInstan.isTraceable || ''; var spelling = tousseInstan.spelling || ''; var wbCode = tousseInstan.wbCode || ''; + var taskGroup = tousseInstan.taskGroup || ''; //多个灭菌程序和所选的灭菌程序不同的器械包提示一起提示。同名包只出现一次 if (sterilingTypeTemp != sterilingType && diffTousseNames.indexOf(tousseName) == -1) { diffTousseNames += '[' + tousseName + ']'; @@ -1348,7 +1378,8 @@ scanAmount: scanAmount, isTraceable: isTraceable, spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } var parentNode = createNode(params); var firstChildNode = rootNode.item(0); @@ -1491,6 +1522,7 @@ var typeForSterilizationStatistics = pNode.attributes.typeForSterilizationStatistics || ''; var spelling = pNode.attributes.spelling || ''; var wbCode = pNode.attributes.wbCode || ''; + var taskGroup = pNode.attributes.taskGroup || ''; var amount; if (updateType == 0) { amount = amountRight + parseInt(scanAmount); @@ -1511,7 +1543,8 @@ scanAmount: scanAmount, typeForSterilizationStatistics: typeForSterilizationStatistics, spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } var myNode = createNodeForPendingStarilizationGoods(params) setTimeout(function () { @@ -1540,6 +1573,7 @@ var typeForSterilizationStatistics = pNode.attributes.typeForSterilizationStatistics; var spelling = pNode.attributes.spelling || ''; var wbCode = pNode.attributes.wbCode || ''; + var taskGroup = pNode.attributes.taskGroup || ''; var params = { isParentNode: true, barcode: barcode, @@ -1553,7 +1587,8 @@ scanAmount: scanAmount, typeForSterilizationStatistics: typeForSterilizationStatistics, spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } var item = params; item.objBarcode = barcode; @@ -1625,24 +1660,43 @@ } } -function showfilterNode(item, myNode, tousseName, newTousseName, wbCode, spelling, modeName) { +function showfilterNode(item, myNode, paramsObj) { + var tousseName = paramsObj.tousseName; + var newTousseName = paramsObj.newTousseName; + var wbCode = paramsObj.wbCode; + var spelling = paramsObj.spelling; + var modeName = paramsObj.modeName; + var taskGroups = paramsObj.taskGroups || []; if (modeName == '全部') { if (tousseName == '') { - pendingSterilizationColumnTree.getRootNode().appendChild(myNode); + if (taskGroups.length == 0) { + pendingSterilizationColumnTree.getRootNode().appendChild(myNode); + } else { + if (item.taskGroup !== '' && taskGroups.indexOf(item.taskGroup) >= 0) { + pendingSterilizationColumnTree.getRootNode().appendChild(myNode); + } + } } else { if (item.type == 'BASKET' && item.children && item.children.length > 0) { var has = false; for (var k = 0; k < item.children.length; k++) { var wbCode = item.children[k].wbCode; var spelling = item.children[k].spelling; + var taskGroup = item.children[k].taskGroup; if (wbCode !== '') { wbCode = wbCode.toLowerCase(); } if (spelling !== '') { spelling = spelling.toLowerCase(); } if (item.children[k].objName.indexOf(tousseName) >= 0 || wbCode.indexOf(newTousseName) >= 0 || spelling.indexOf(newTousseName) >= 0) { - has = true; + if (taskGroups.length == 0) { + has = true; + } else { + if (taskGroups.indexOf(taskGroup) >= 0) { + has = true; + } + } break; } } @@ -1651,29 +1705,49 @@ } } else { if (item.objName.indexOf(tousseName) >= 0 || wbCode.indexOf(newTousseName) >= 0 || spelling.indexOf(newTousseName) >= 0) { - pendingSterilizationColumnTree.getRootNode().appendChild(myNode); + if (taskGroups.length == 0) { + pendingSterilizationColumnTree.getRootNode().appendChild(myNode); + } else { + if (taskGroups.indexOf(item.taskGroup) >= 0) { + pendingSterilizationColumnTree.getRootNode().appendChild(myNode); + } + } } } } } else { if (item.type == 'BASKET' && item.children && item.children.length > 0) { var sterilingMode = item.children[0].sterilingMode || ''; + var taskGroup = item.children[0].taskGroup || ''; if (sterilingMode == modeName) { if (tousseName == '') { - pendingSterilizationColumnTree.getRootNode().appendChild(myNode); + if (taskGroups.length == 0) { + pendingSterilizationColumnTree.getRootNode().appendChild(myNode); + } else { + if (taskGroup !== '' && taskGroups.indexOf(taskGroup) >= 0) { + pendingSterilizationColumnTree.getRootNode().appendChild(myNode); + } + } } else { var has = false; for (var k = 0; k < item.children.length; k++) { var wbCode = item.children[k].wbCode; var spelling = item.children[k].spelling; + var taskGroup = item.children[k].taskGroup || ''; if (wbCode !== '') { wbCode = wbCode.toLowerCase(); } if (spelling !== '') { spelling = spelling.toLowerCase(); } if (item.children[k].objName.indexOf(tousseName) >= 0 || wbCode.indexOf(newTousseName) >= 0 || spelling.indexOf(newTousseName) >= 0) { - has = true; + if (taskGroups.length == 0) { + has = true; + } else { + if (taskGroups.indexOf(taskGroup) >= 0) { + has = true; + } + } break; } } @@ -1684,12 +1758,25 @@ } } else { var sterilingMode = item.sterilingMode || ''; + var taskGroup = item.taskGroup || ''; if (sterilingMode == modeName) { if (tousseName == '') { - pendingSterilizationColumnTree.getRootNode().appendChild(myNode); + if (taskGroups.length == 0) { + pendingSterilizationColumnTree.getRootNode().appendChild(myNode); + } else { + if (taskGroup !== '' && taskGroups.indexOf(taskGroup) >= 0) { + pendingSterilizationColumnTree.getRootNode().appendChild(myNode); + } + } } else { if (item.objName.indexOf(tousseName) >= 0 || wbCode.indexOf(newTousseName) >= 0 || spelling.indexOf(newTousseName) >= 0) { - pendingSterilizationColumnTree.getRootNode().appendChild(myNode); + if (taskGroups.length == 0) { + pendingSterilizationColumnTree.getRootNode().appendChild(myNode); + } else { + if (taskGroup !== '' && taskGroups.indexOf(taskGroup) >= 0) { + pendingSterilizationColumnTree.getRootNode().appendChild(myNode); + } + } } } } @@ -1698,7 +1785,24 @@ } //过滤灭菌参数 -function filterSterilingParams(modeName, reviewTimeName, tousseName) { +function filterSterilingParams() { + var modeName = top.Ext.getCmp('sterilingMode').getValue(); + var reviewTimeName = ''; + var tousseName = ''; + var taskGroups = []; + if (listDisplayOfItemsToBeSterilized == 3) { + reviewTimeName = top.Ext.getCmp('reviewTimeCombo').getValue(); + } + if (tbarForGoodsSearch) { + tousseName = top.Ext.getCmp('tousseName').getValue(); + } + if (tbarForTaskGroup) { + var taskGroup = top.Ext.getCmp('taskGroup').getValue(); + if (taskGroup !== '') { + taskGroups = taskGroup.split(';') + } + } + var rootNode = pendingSterilizationColumnTree.getRootNode(); //循环右边的节点 rootNode.eachChild(function (pNode) { @@ -1715,6 +1819,7 @@ params.isParentNode = true; params.spelling = item.spelling || ''; params.wbCode = item.wbCode || ''; + params.taskGroup = item.taskGroup || ''; var wbCode = params.wbCode; var spelling = params.spelling; var newTousseName = tousseName.toLowerCase(); @@ -1740,17 +1845,27 @@ } myNode.appendChild(array); } + var paramsObj = { + tousseName: tousseName, + newTousseName: newTousseName, + wbCode: wbCode, + spelling: spelling, + taskGroups: taskGroups + } if (modeName == '全部') { + paramsObj.modeName = '全部'; if (validReviewTime(reviewTimeName, reviewTime, isTraceable)) { - showfilterNode(item, myNode, tousseName, newTousseName, wbCode, spelling, '全部'); + showfilterNode(item, myNode, paramsObj); } } else if (modeName == '无') { + paramsObj.modeName = ''; if (validReviewTime(reviewTimeName, reviewTime, isTraceable)) { - showfilterNode(item, myNode, tousseName, newTousseName, wbCode, spelling, ''); + showfilterNode(item, myNode, paramsObj); } } else { + paramsObj.modeName = modeName; if (validReviewTime(reviewTimeName, reviewTime, isTraceable)) { - showfilterNode(item, myNode, tousseName, newTousseName, wbCode, spelling, modeName); + showfilterNode(item, myNode, paramsObj); } } }); @@ -1799,6 +1914,7 @@ var unTraceable = pNode.attributes.unTraceable || ''; var spelling = pNode.attributes.spelling || ''; var wbCode = pNode.attributes.wbCode || ''; + var taskGroup = pNode.attributes.taskGroup || ''; var newTraceable = ''; if (unTraceable !== '') { newTraceable = (unTraceable == '是') ? '否' : '是'; @@ -1820,7 +1936,8 @@ scanAmount: scanAmount, isTraceable: isTraceable || newTraceable, spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } var parentNode = createNode(params); pNode.remove();//删除修改后的节点数据 @@ -1890,7 +2007,7 @@ function loadTousseInstance(barcodeStr, sterilizationRecordId, isTimeout, setCode, barcodeType) { //DGSETYY-72:没有"灭菌时允许增删操作"权限 var currentStatus = top.Ext.getCmp('currentStatus').getValue(); - if(!SSTS_Sterilization_AllowOperation && currentStatus == '灭菌中'){ + if (!SSTS_Sterilization_AllowOperation && currentStatus == '灭菌中') { showMultipleResult("灭菌进行中,不能随意添加物品!", null, sstsConfig.messagePauseTimeOnSterilizationRecordPage); return; } @@ -1961,6 +2078,7 @@ var urgentLevel = resultData.urgentLevel;//加急对象 var spelling = resultData.spelling || ''; var wbCode = resultData.wbCode || ''; + var taskGroup = resultData.taskGroup || ''; if (top.Ext.getCmp('sterilizationType').getValue() != sterilingType) { showMultipleResult("器械包[" + tousseName + "]的灭菌程序和所选的灭菌程序不同!", null, sstsConfig.messagePauseTimeOnSterilizationRecordPage, true); } @@ -2018,7 +2136,8 @@ includeImplant: newIncludeImplant, cls: isTimeout ? 'itemTimeout' : '', spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } var parentNode = createNodeForUrgent(params); var firstChildNode = rootNode.item(0); @@ -2041,6 +2160,7 @@ var typeForSterilizationStatistics = resultData.typeForSterilizationStatistics; var spelling = resultData.spelling || ''; var wbCode = resultData.wbCode || ''; + var taskGroup = resultData.taskGroup || ''; if (length < 1) { showMultipleResult('篮筐内无待灭菌物品', null, sstsConfig.messagePauseTimeOnSterilizationRecordPage); sterilizationRecordWin.getEl().unmask(); @@ -2131,7 +2251,8 @@ includeImplant: newIncludeImplant, cls: isTimeout ? 'itemTimeout' : '', spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } var parentNode = createNodeForUrgent(params); var firstChildNode = rootNode.item(0); @@ -2161,6 +2282,7 @@ var isTraceable = (tousseInstan.unTraceable == '是') ? '否' : '是'; var spelling = tousseInstan.spelling; var wbCode = tousseInstan.wbCode; + var taskGroup = tousseInstan.taskGroup; if (typeForSterilizationStatistics == '器械包') { newIncludeImplant = tdIncludeImplant; } else { @@ -2186,7 +2308,8 @@ isTraceable: isTraceable, includeImplant: newIncludeImplant, spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } var childNode = createNodeForUrgent(params); parentNode.appendChild(childNode); @@ -2255,6 +2378,7 @@ var reviewTime = tousseInstan.reviewTime; //审核时间 var spelling = tousseInstan.spelling || ''; var wbCode = tousseInstan.wbCode || ''; + var taskGroup = tousseInstan.taskGroup || ''; if (sterilingTypeTemp != sterilingType) { showMultipleResult("器械包[" + tousseName + "]的灭菌程序和所选的灭菌程序不同!", null, sstsConfig.messagePauseTimeOnSterilizationRecordPage, true); } @@ -2291,7 +2415,8 @@ scanAmount: 0, isTraceable: null, spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } var parentNode = createNode(params); var firstChildNode = rootNode.item(0); @@ -2366,6 +2491,7 @@ var reviewTime = tousseInstan.reviewTime; //审核时间 var spelling = tousseInstan.spelling || ''; var wbCode = tousseInstan.wbCode || ''; + var taskGroup = tousseInstan.taskGroup || ''; if (sterilingTypeTemp != sterilingType) { showMultipleResult("虚拟篮筐[" + virtualBasketSeqNum + "]里面的器械包[" + tousseName + "]的灭菌程序和所选的灭菌程序不同!", null, sstsConfig.messagePauseTimeOnSterilizationRecordPage, true); } @@ -2397,7 +2523,8 @@ scanAmount: 0, isTraceable: null, spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } currentParentNode = createNode(params); var firstChildNode = rootNode.item(0); @@ -2421,7 +2548,8 @@ scanAmount: 0, isTraceable: null, spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } var childNode = createNode(childParams); currentParentNode.appendChild(childNode); @@ -2454,7 +2582,8 @@ scanAmount: 0, isTraceable: null, spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } var childNode = createNode(params); currentParentNode.appendChild(childNode); @@ -2496,6 +2625,7 @@ var urgentLevel = resultData[i].urgentLevel;//加急对象 var spelling = resultData[i].spelling; var wbCode = resultData[i].wbCode; + var taskGroup = resultData[i].taskGroup; if (top.Ext.getCmp('sterilizationType').getValue() != sterilingType) { showMultipleResult("器械包[" + tousseName + "]的灭菌程序和所选的灭菌程序不同!", null, sstsConfig.messagePauseTimeOnSterilizationRecordPage, true); } @@ -2559,7 +2689,8 @@ includeImplant: newIncludeImplant, cls: isTimeout ? 'itemTimeout' : '', spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } var parentNode = createNodeForUrgent(params); var firstChildNode = rootNode.item(0); @@ -2631,7 +2762,8 @@ scanAmount: 0, isTraceable: null, spelling: data.spelling, - wbCode: data.wbCode + wbCode: data.wbCode, + taskGroup: data.taskGroup } parentNode = createNode(params); } else { @@ -2661,7 +2793,8 @@ scanAmount: 0, isTraceable: null, spelling: data.spelling, - wbCode: data.wbCode + wbCode: data.wbCode, + taskGroup: data.taskGroup } parentNode = createNode(params); if (tousseInstanceArr && tousseInstanceArr.length > 0) { @@ -2682,7 +2815,8 @@ scanAmount: 0, isTraceable: (ti.fixedBarcode == '') ? '是' : '否', spelling: ti.spelling, - wbCode: ti.wbCode + wbCode: ti.wbCode, + taskGroup: ti.taskGroup } var childNode = createNode(childParams); parentNode.appendChild(childNode); @@ -2719,7 +2853,8 @@ scanAmount: 0, isTraceable: null, spelling: newObj.spelling, - wbCode: newObj.wbCode + wbCode: newObj.wbCode, + taskGroup: newObj.taskGroup } var newNode = createNode(childParams); rootNode.replaceChild(newNode, pNode); @@ -2859,7 +2994,8 @@ scanAmount: 0, typeForSterilizationStatistics: '', spelling: cNode.attributes.spelling || '', - wbCode: cNode.attributes.wbCode || '' + wbCode: cNode.attributes.wbCode || '', + taskGroup: cNode.attributes.taskGroup || '' } var newNode = createPendingSterilizationGoodsNode(params); newChildNodes.push(newNode); @@ -2878,7 +3014,8 @@ scanAmount: 0, typeForSterilizationStatistics: '', spelling: pNode.attributes.spelling || '', - wbCode: pNode.attributes.wbCode || '' + wbCode: pNode.attributes.wbCode || '', + taskGroup: pNode.attributes.taskGroup || '' } var newNode = createPendingSterilizationGoodsNode(params); rootNode.replaceChild(newNode, pNode); @@ -2969,7 +3106,8 @@ isUrgent: isUrgent, urgentLevel: urgentLevel, spelling: pNode.attributes.spelling, - wbCode: pNode.attributes.wbCode + wbCode: pNode.attributes.wbCode, + taskGroup: pNode.attributes.taskGroup } children.push(params); var childNode = createPendingSterilizationGoodsNodeForUrgent(params); @@ -3002,7 +3140,8 @@ isUrgent: tousseIsUrgent, cls: clickNode.attributes.cls, spelling: clickNode.attributes.spelling, - wbCode: clickNode.attributes.wbCode + wbCode: clickNode.attributes.wbCode, + taskGroup: clickNode.attributes.taskGroup } var node = createPendingSterilizationGoodsNodeForUrgent(params); if (type == 'BASKET') { @@ -3043,6 +3182,7 @@ var typeForSterilizationStatistics = clickNode.attributes.typeForSterilizationStatistics; var spelling = clickNode.attributes.spelling; var wbCode = clickNode.attributes.wbCode; + var taskGroup = clickNode.attributes.taskGroup; var node = ''; pendingSterilizationColumnTree.getRootNode().eachChild(function (pNode) { //移除某一个节点后,再遍历其他节点得到的是undefined @@ -3060,6 +3200,7 @@ item.typeForSterilizationStatistics = typeForSterilizationStatistics; item.spelling = spelling; item.wbCode = wbCode; + item.taskGroup = taskGroup; reloadRightGrid(fixedBarcode, 'add', item); node = createPendingSterilizationGoodsNode(item) } @@ -3075,6 +3216,7 @@ item.objAmount = amount; item.spelling = spelling; item.wbCode = wbCode; + item.taskGroup = taskGroup; reloadRightGrid(fixedBarcode, 'add', item); node = createPendingSterilizationGoodsNode(item); pendingSterilizationColumnTree.getRootNode().appendChild(node); @@ -3126,6 +3268,7 @@ var scanAmount = editNode.attributes.scanAmount; var spelling = editNode.attributes.spelling || ''; var wbCode = editNode.attributes.wbCode || ''; + var taskGroup = editNode.attributes.taskGroup || ''; var rootNode = sterilizationColumnTree.getRootNode(); var params = { isParentNode: true, @@ -3142,7 +3285,8 @@ scanAmount: scanAmount, isTraceable: isTraceable, spelling: spelling, - wbCode: wbCode + wbCode: wbCode, + taskGroup: taskGroup } var parentNode = createNode(params); editNode.remove();//删除修改后的节点数据 @@ -3439,7 +3583,7 @@ header: '删除', width: 50, dataIndex: 'type', renderer: function (v, p, record) { //DGSETYY-72:没有"灭菌时允许增删操作"权限 - if(!SSTS_Sterilization_AllowOperation && currentStatus == '灭菌中'){ + if (!SSTS_Sterilization_AllowOperation && currentStatus == '灭菌中') { return ''; } //只有“没有入篮筐的器械包节点”或者“篮筐节点”,并且灭菌记录的状态不为“已灭菌”和“灭菌失败” 或者 灭菌记录状态为灭菌中的子节点 @@ -3494,7 +3638,8 @@ typeForSterilizationStatistics: result[i].typeForSterilizationStatistics, sterilingMode: result[i].sterilingMode, wbCode: result[i].wbCode, - spelling: result[i].spelling + spelling: result[i].spelling, + taskGroup: result[i].taskGroup } tousseInstanMap.set(result[i].barcode, tousseInstan); } @@ -3670,7 +3815,7 @@ header: '载入', width: 35, dataIndex: 'type', hidden: hideSterilizationLoadBtn, renderer: function (v, p, record) { //DGSETYY-72:没有"灭菌时允许增删操作"权限 - if(!SSTS_Sterilization_AllowOperation && currentStatus == '灭菌中'){ + if (!SSTS_Sterilization_AllowOperation && currentStatus == '灭菌中') { return ''; } var str = "\"\""; @@ -3706,7 +3851,7 @@ dataIndex: 'type', renderer: function (v, p, record) { //DGSETYY-72:没有"灭菌时允许增删操作"权限 - if(!SSTS_Sterilization_AllowOperation && currentStatus == '灭菌中'){ + if (!SSTS_Sterilization_AllowOperation && currentStatus == '灭菌中') { return ''; } var str = "\"\""; @@ -3736,23 +3881,34 @@ } } }); - var tbarForGoodsSearch = false; - var tbarForAddInBatch = false; - if (sstsConfig.extraActionItemsOfItemsToBeSterilized) { - if (sstsConfig.extraActionItemsOfItemsToBeSterilized.indexOf('goodsSearch') >= 0) { - tbarForGoodsSearch = true; + + //NFYY-121:任务组 + var taskGroupStore = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/baseData/taskGroupAction!getTaskGroupList.do', + method: 'POST' + }), + reader: new Ext.data.JsonReader({ + totalProperty: 'totalCount', + root: 'data' + }, [ + { name: 'name', mapping: 'name' } + ]), + listeners: { + beforeload: function () { + taskGroupStore.baseParams["departCoding"] = orgUnitCoding; + } } - if (sstsConfig.extraActionItemsOfItemsToBeSterilized.indexOf('addInBatch') >= 0) { - tbarForAddInBatch = true; - } - } + }); var tbar = []; + var buttonItems = []; + var tbarWidth = 160; tbar.push('灭菌方式:', { xtype: 'combo', fieldLabel: '', id: 'sterilingMode', name: 'sterilingMode', - width: 150, + width: 100, valueField: 'value', displayField: 'value', store: sterilingModeStore, @@ -3764,23 +3920,7 @@ anchor: '95%', listeners: { select: function (combo, record, index) { - var value = '全部'; - if (record.data.id == 0) { - value = '全部'; - } else if (record.data.id == -1) { - value = '无'; - } else { - value = combo.value; - } - var reviewTime = ''; - var tousseName = ''; - if (listDisplayOfItemsToBeSterilized == 3) { - reviewTime = top.Ext.getCmp('reviewTimeCombo').getValue(); - } - if (tbarForGoodsSearch) { - tousseName = top.Ext.getCmp('tousseName').getValue(); - } - filterSterilingParams(value, reviewTime, tousseName); + filterSterilingParams(); } } }); @@ -3807,15 +3947,11 @@ selectOnFocus: true, listeners: { select: function (combo, record, index) { - var sterilingMode = top.Ext.getCmp('sterilingMode').getValue(); - var tousseName = ''; - if (tbarForGoodsSearch) { - tousseName = top.Ext.getCmp('tousseName').getValue(); - } - filterSterilingParams(sterilingMode, combo.value, tousseName); + filterSterilingParams(); } } }); + tbarWidth += 160; } if (tbarForGoodsSearch) { tbar.push('名称:', { @@ -3824,75 +3960,102 @@ name: "tousseName", id: "tousseName", msgTarget: 'side', + width: 150, onTriggerClick: function () { - var sterilingMode = top.Ext.getCmp('sterilingMode').getValue(); - var tousseName = top.Ext.getCmp('tousseName').getValue(); - var reviewTime = ''; - if (listDisplayOfItemsToBeSterilized == 3) { - reviewTime = top.Ext.getCmp('reviewTimeCombo').getValue(); - } - filterSterilingParams(sterilingMode, reviewTime, tousseName); + filterSterilingParams(); }, checkTab: function (e) { if (e.getKey() == 13) { - var sterilingMode = top.Ext.getCmp('sterilingMode').getValue(); - var tousseName = top.Ext.getCmp('tousseName').getValue(); - var reviewTime = ''; - if (listDisplayOfItemsToBeSterilized == 3) { - reviewTime = top.Ext.getCmp('reviewTimeCombo').getValue(); - } - filterSterilingParams(sterilingMode, reviewTime, tousseName); + filterSterilingParams(); } }, triggerClass: 'x-form-search-trigger', anchor: '95%' }) + tbarWidth += 190; } + if (tbarForTaskGroup) { + var taskGroupObj = { + xtype: 'combo', + id: 'taskGroup', + name: 'taskGroup', + queryParam: 'spell', + minChars: 0, + width: 150, + valueField: 'name', + displayField: 'name', + matchFieldWidth: false, + store: taskGroupStore, + forceSelection: true, + lazyInit: true, + editable: false, + triggerAction: 'all', + typeAhead: false, + allowBlank: true, + anchor: '95%', + listeners: { + select: function (combo, record, index) { + filterSterilingParams(); + } + } + } + if (tbarWidth + 160 < pendingSterilizationColumnTreeWidth) { + tbar.push('任务组:', taskGroupObj); + } else { + buttonItems.push('任务组:', taskGroupObj) + } + tbarWidth += 210; + } //DGSETYY-72:没有"灭菌时允许增删操作"权限 - if(!SSTS_Sterilization_AllowOperation && currentStatus == '灭菌中'){ + if (!SSTS_Sterilization_AllowOperation && currentStatus == '灭菌中') { isHideBtnBatchAddTousse = true; tbarForAddInBatch = false; - }else { + } else { isHideBtnBatchAddTousse = sstsConfig.hasOwnProperty('isHideBtnBatchAddTousse') && sstsConfig.isHideBtnBatchAddTousse; } - var buttonItems = []; - if (listDisplayOfItemsToBeSterilized == 3 && tbarForGoodsSearch) { - buttonItems.push({ - hidden: !tbarForAddInBatch, iconCls: 'btn_ext_add_tousse', id: 'btnBatchAddTousse', disabled: true, text: '批量入炉', handler: function (_this) { - var selectedNode = pendingSterilizationColumnTree.getChecked(); - var rootNode = {}; - rootNode.childNodes = selectedNode; - if (selectedNode.length == 0) { - showMultipleResult("请至少选择一个物品!", null, sstsConfig.messagePauseTimeOnSterilizationRecordPage); - return - } - batchAddTousse(rootNode) + + var btnObj = [{ + iconCls: 'btn_ext_add_tousse', + id: 'btnBatchAddTousse', + disabled: true, + text: '批量入炉', + hidden: !tbarForAddInBatch, + handler: function (_this) { + var selectedNode = pendingSterilizationColumnTree.getChecked(); + var rootNode = {}; + rootNode.childNodes = selectedNode; + if (selectedNode.length == 0) { + showMultipleResult("请至少选择一个物品!", null, sstsConfig.messagePauseTimeOnSterilizationRecordPage); + return } - }, { - hidden: isHideBtnBatchAddTousse, iconCls: 'btn_ext_add_tousse', id: 'btnAllAddTousse', disabled: true, text: '一键入炉', handler: function (_this) { - var rootNode = pendingSterilizationColumnTree.getRootNode(); - batchAddTousse(rootNode) - } - }) + batchAddTousse(rootNode) + } + }, { + iconCls: 'btn_ext_add_tousse', + id: 'btnAllAddTousse', + disabled: true, + text: '一键入炉', + hidden: isHideBtnBatchAddTousse, + handler: function (_this) { + var rootNode = pendingSterilizationColumnTree.getRootNode(); + batchAddTousse(rootNode) + } + }] + + if (tbarForAddInBatch) { + tbarWidth += 75; + } + + if (!isHideBtnBatchAddTousse) { + tbarWidth += 75; + } + if (tbarWidth < pendingSterilizationColumnTreeWidth) { + tbar.push('-', '->'); + tbar = tbar.concat(btnObj); } else { - tbar.push('-', '->', { - hidden: !tbarForAddInBatch, iconCls: 'btn_ext_add_tousse', id: 'btnBatchAddTousse', disabled: true, text: '批量入炉', handler: function (_this) { - var selectedNode = pendingSterilizationColumnTree.getChecked(); - var rootNode = {}; - rootNode.childNodes = selectedNode; - if (selectedNode.length == 0) { - showMultipleResult("请至少选择一个物品!", null, sstsConfig.messagePauseTimeOnSterilizationRecordPage); - return - } - batchAddTousse(rootNode) - } - }, { - hidden: isHideBtnBatchAddTousse, iconCls: 'btn_ext_add_tousse', id: 'btnAllAddTousse', disabled: true, text: '一键入炉', handler: function (_this) { - var rootNode = pendingSterilizationColumnTree.getRootNode(); - batchAddTousse(rootNode) - } - }) + buttonItems = buttonItems.concat(btnObj); } + var buttonTbar = new top.Ext.Toolbar({ items: buttonItems }); @@ -3935,12 +4098,16 @@ if (top.Ext.getCmp("btnBatchAddTousse")) { top.Ext.getCmp("btnBatchAddTousse").disable(); } - top.Ext.getCmp("btnAllAddTousse").disable(); + if (top.Ext.getCmp("btnAllAddTousse")) { + top.Ext.getCmp("btnAllAddTousse").disable(); + } } else { if (top.Ext.getCmp("btnBatchAddTousse")) { top.Ext.getCmp("btnBatchAddTousse").enable(); } - top.Ext.getCmp("btnAllAddTousse").enable(); + if (top.Ext.getCmp("btnAllAddTousse")) { + top.Ext.getCmp("btnAllAddTousse").enable(); + } } if (response.responseText == '') { top.Ext.getCmp('saveBtn').enable(); @@ -3965,7 +4132,8 @@ typeForSterilizationStatistics: result[i].typeForSterilizationStatistics, sterilingMode: result[i].sterilingMode, wbCode: result[i].wbCode, - spelling: result[i].spelling + spelling: result[i].spelling, + taskGroup: result[i].taskGroup } tousseInstanMap.set(result[i].objBarcode, tousseInstan); scanAmountMap.set(result[i].objBarcode, result[i].scanAmount); @@ -3999,7 +4167,7 @@ }), listeners: { render: function (thisGrid) { - if (listDisplayOfItemsToBeSterilized == 3 && tbarForGoodsSearch) { + if (buttonItems.length > 0) { buttonTbar.render(thisGrid.tbar); } } @@ -4553,7 +4721,7 @@ p.getEl().on('keypress', function (e) {//可输入或扫描的类型有灭菌架、灭菌筐、灭菌炉、灭菌程序、器械包;20151102新增加虚拟篮筐 if (e.getKey() == 13) {//回车键 //ZSYY-349:“今天审核的待灭菌物品”列表的物品未加载完成时,输入或扫描条码进行操作时,拦截本次操作 - if(!columnTreeIsLoader){ + if (!columnTreeIsLoader) { showMultipleResult('请等待待灭菌物品列表加载完成后再操作。'); return; } @@ -4663,13 +4831,13 @@ top.Ext.getCmp('inputBarcode').setValue(""); } else { - if(result.indexOf('{') == 0 && result.indexOf('}') >= 0){ + if (result.indexOf('{') == 0 && result.indexOf('}') >= 0) { var newResult = Ext.decode(result); if (newResult.success == false) { showMultipleResult(newResult.message); return; } - }else { + } else { showMultipleResult(result); return; } @@ -5216,10 +5384,10 @@ xtype: 'button', text: '复制', iconCls: 'btn_ext_copy', - handler: function(){ - if(tousseItemCountJsonStore.getCount() > 0){ - var copyText = ''; - for(var i=0;i 0) { + var copyText = ''; + for (var i = 0; i < tousseItemCountJsonStore.getCount(); i++) { var item = tousseItemCountJsonStore.getAt(i); var tousseName = item.data.tousseName; var count = item.data.count; @@ -5346,23 +5514,23 @@ id: "biologyResult", allowBlank: false, anchor: sstsConfig.displayPCDMonitoringResultsInTheSterilizationRecordInformation ? '100%' : '50%', - listeners:{ + listeners: { select: function (combo, record, index) { - //NYSY-59:重置相关字段 - if(combo.value == '无' && id !== '' && oldFormValue.biologyResult !== '无'){ - top.Ext.MessageBox.confirm("请确认",'生物监测结果切换为"无"时,将重置相关字段,是否继续?',function (button, text) { + //NYSY-59:重置相关字段 + if (combo.value == '无' && id !== '' && oldFormValue.biologyResult !== '无') { + top.Ext.MessageBox.confirm("请确认", '生物监测结果切换为"无"时,将重置相关字段,是否继续?', function (button, text) { if ("yes" == button) { top.Ext.getCmp('biologicalMonitoringStartDate').setValue(''); top.Ext.getCmp('biologicalMonitoringEndDate').setValue(''); top.Ext.getCmp('monitorUserBarcode').setValue(''); top.Ext.getCmp('monitorUser').setValue(''); top.Ext.getCmp('monitorCheckerBarcode').setValue(''); top.Ext.getCmp('monitorChecker').setValue(''); - - if(sstsConfig.enableBiologicalObserveDate){ + + if (sstsConfig.enableBiologicalObserveDate) { top.Ext.getCmp('biologicalObserveDate').setValue(''); } - if(enableBioreaderInterface){ + if (enableBioreaderInterface) { top.Ext.getCmp('bioreaderName').setValue(''); top.Ext.getCmp('cardPosition').setValue(''); top.Ext.getCmp('monitoringTubeResult').setValue(''); @@ -5373,16 +5541,16 @@ top.Ext.getCmp('controlBatchNum').setValue(''); top.Ext.getCmp('controlTubeExpiryDate').setValue(''); } - if(sstsConfig.needMonitorAuditor){ + if (sstsConfig.needMonitorAuditor) { top.Ext.getCmp('monitorAuditor').setValue(''); top.Ext.getCmp('monitorAuditorBarcode').setValue(''); } oldFormValue.biologyResult = combo.value; - }else { + } else { top.Ext.getCmp('biologyResult').setValue(oldFormValue.biologyResult); } }); - }else { + } else { oldFormValue.biologyResult = combo.value; } } @@ -5592,23 +5760,23 @@ autoLoad: false, data: [['1'], ['2'], ['3'], ['4'], ['5'], ['6'], ['7'], ['8'], ['9'], ['10']] }), - listeners:{ - blur:function(thiz){ - //NYSY-59:重置相关字段 - if(thiz.getRawValue() == '' && oldFormValue.cardPosition !== ''){ - top.Ext.MessageBox.confirm("请确认",'卡位被清空时,将重置相关字段,是否继续?',function (button, text) { + listeners: { + blur: function (thiz) { + //NYSY-59:重置相关字段 + if (thiz.getRawValue() == '' && oldFormValue.cardPosition !== '') { + top.Ext.MessageBox.confirm("请确认", '卡位被清空时,将重置相关字段,是否继续?', function (button, text) { if ("yes" == button) { - if(enableBioreaderInterface){ + if (enableBioreaderInterface) { top.Ext.getCmp('monitoringTubeResult').setValue(''); top.Ext.getCmp('monitoringBatchNum').setValue(''); top.Ext.getCmp('monitoringTubeExpiryDate').setValue(''); } oldFormValue.cardPosition = thiz.getRawValue(); - }else { + } else { top.Ext.getCmp('cardPosition').setValue(oldFormValue.cardPosition); } }); - }else { + } else { oldFormValue.cardPosition = thiz.getRawValue(); } } @@ -5683,23 +5851,23 @@ autoLoad: false, data: [['1'], ['2'], ['3'], ['4'], ['5'], ['6'], ['7'], ['8'], ['9'], ['10']] }), - listeners:{ - blur:function(thiz){ - //NYSY-59:重置相关字段 - if(thiz.getRawValue() == '' && oldFormValue.cardPositionOfControlTube !== ''){ - top.Ext.MessageBox.confirm("请确认",'卡位被清空时,将重置相关字段,是否继续?',function (button, text) { + listeners: { + blur: function (thiz) { + //NYSY-59:重置相关字段 + if (thiz.getRawValue() == '' && oldFormValue.cardPositionOfControlTube !== '') { + top.Ext.MessageBox.confirm("请确认", '卡位被清空时,将重置相关字段,是否继续?', function (button, text) { if ("yes" == button) { - if(enableBioreaderInterface){ + if (enableBioreaderInterface) { top.Ext.getCmp('controlTubeResult').setValue(''); top.Ext.getCmp('controlBatchNum').setValue(''); top.Ext.getCmp('controlTubeExpiryDate').setValue(''); } oldFormValue.cardPositionOfControlTube = thiz.getRawValue(); - }else { + } else { top.Ext.getCmp('cardPositionOfControlTube').setValue(oldFormValue.cardPositionOfControlTube); } }); - }else { + } else { oldFormValue.cardPositionOfControlTube = thiz.getRawValue(); } } @@ -5777,14 +5945,14 @@ return; } //NYSY-59:移除已输入用户 - if(top.Ext.getCmp('monitorUser').getValue() == result.fullName){ - top.Ext.MessageBox.confirm("请确认",'是否移除已输入用户',function (button, text) { + if (top.Ext.getCmp('monitorUser').getValue() == result.fullName) { + top.Ext.MessageBox.confirm("请确认", '是否移除已输入用户', function (button, text) { if ("yes" == button) { top.Ext.getCmp('monitorUser').setValue(''); top.Ext.getCmp('monitorUserBarcode').focus(); } }); - }else { + } else { top.Ext.getCmp('monitorUser').setValue(result.fullName); top.Ext.getCmp('monitorCheckerBarcode').focus(); } @@ -5838,14 +6006,14 @@ return; } //NYSY-59:移除已输入用户 - if(top.Ext.getCmp('monitorChecker').getValue() == result.fullName){ - top.Ext.MessageBox.confirm("请确认",'是否移除已输入用户',function (button, text) { + if (top.Ext.getCmp('monitorChecker').getValue() == result.fullName) { + top.Ext.MessageBox.confirm("请确认", '是否移除已输入用户', function (button, text) { if ("yes" == button) { top.Ext.getCmp('monitorChecker').setValue(''); top.Ext.getCmp('monitorCheckerBarcode').focus(); } }); - }else { + } else { top.Ext.getCmp('monitorChecker').setValue(result.fullName); top.Ext.getCmp('monitorAuditorBarcode').focus(); } @@ -6467,9 +6635,9 @@ //NYSY-59:保存页面显示的值 oldFormValue = { - biologyResult:sr.biologyResult, - cardPosition:sr.cardPosition, - cardPositionOfControlTube:sr.cardPositionOfControlTube + biologyResult: sr.biologyResult, + cardPosition: sr.cardPosition, + cardPositionOfControlTube: sr.cardPositionOfControlTube } }, params: {