Index: ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js =================================================================== diff -u -r17413 -r17424 --- ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 17413) +++ ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 17424) @@ -1751,7 +1751,31 @@ } } } - +var lastSelectedTousseName = null; +// 选中的和勾选的是否一致 +function useManualSelectPackageType(){ + var basketTreeGrid = Ext4.getCmp('basketTreeGrid'); + var waitPackingTreeGrid = Ext4.getCmp('waitPackingTreeGrid'); + + var basketTreeGridCheckedNodes = basketTreeGrid.getView().getChecked(); + var waitPackingTreeCheckedNodes = waitPackingTreeGrid.getView().getChecked(); + var totalCheckedNodesLength = basketTreeGridCheckedNodes.length + waitPackingTreeCheckedNodes.length; + if(totalCheckedNodesLength != 1){ + return false; + } + var checkedNode = null; + if(basketTreeGridCheckedNodes.length > 0){ + checkedNode = basketTreeGridCheckedNodes[0]; + }else{ + checkedNode = waitPackingTreeCheckedNodes[0]; + } + var tousseName = checkedNode.get("tousseName"); + if(tousseName != lastSelectedTousseName){ + return false; + } +// alert('useManualSelectPackageType'); + return true; +} // 固定装配1个 function printTousseByIDcardTaskNode(taskNode){ var waitPackingTreeGrid = Ext4.getCmp('waitPackingTreeGrid'); @@ -1781,11 +1805,11 @@ var taskId = taskNode.get("taskId"); var packageType = taskNode.get("packageType"); - if(packageType == "" || (selLength == 1 && useViewingPackageType)){ + if(useManualSelectPackageType()){ packageType = Ext4.getCmp('packageType').getValue(); } var sterilingType = taskNode.get("sterilingMethod"); - if(sterilingType == "" || selLength == 1){ + if(isUndefinedOrNullOrEmpty(sterilingType) || useManualSelectPackageType()){ sterilingType = Ext4.getCmp('sterilingType').getValue(); } var sType = Ext4.getCmp('sterilingType'); @@ -1860,6 +1884,79 @@ return true; } +// 校验是否有选中的装配任务包装类型为空 +function ifCheckedPackingTasksHaveEmptyPackageType(){ + var bRet = false; + var basketTree = Ext4.getCmp('basketTreeGrid'); + var waitPackingTreeGrid = Ext4.getCmp('waitPackingTreeGrid'); + var selNodes = basketTree.getView().getChecked(); + var selLength = selNodes.length; + + //遍历器械包节点 + Ext4.each(selNodes, function(pNode){ + var pTousseName = pNode.get('tousseName'); + //器械包装配数量 + var packingAmount = pNode.get('amount'); + if(packingAmount <= 0){ + return; + } + var tousseName; + var packageType; + var sterilingType; + //遍历器械包下的每条装配任务数据 + Ext4.each(pNode.childNodes,function(cNode){ + tousseName = cNode.get("tousseName"); + packageType = cNode.get("packageType"); + sterilingType = cNode.get("sterilingMethod"); + if(isUndefinedOrNullOrEmpty(packageType)){ + bRet = true; + showResult("【"+tousseName+"】未定义包装类型,请定义包装类型后装配!"); + } +// if(isUndefinedOrNullOrEmpty(sterilingType)){ +// bRet = true; +// showResult("【"+tousseName+"】未定义灭菌程序,请定义灭菌程序后装配!"); +// } + }); + }); + if(!bRet){ + //不回收的物品 + var isShow = Ext4.getCmp('save_print').isVisible(); + if(isShow){ + //选择统计的敷料包选项全打印 + var selNodes = waitPackingTreeGrid.getView().getChecked(); + var selLength = selNodes.length; + Ext4.each(selNodes, function(pNode) { + if(pNode.get('taskType') == taskType_recyclingRecord){ + return true;//在each(jquery、ext都如此)循环中,return true表示continue,return false表示break + } + var packingAmount = pNode.get('amount'); + var urgentAmount = pNode.get("urgentAmount"); + + var tousseName; + var packageType; + var sterilingType; + + Ext4.each(pNode.childNodes, function(cNode) { + if(packingAmount <= 0){ + return; + } + tousseName = cNode.get("tousseName"); + packageType = cNode.get("packageType"); + sterilingType = cNode.get("sterilingMethod"); + if(isUndefinedOrNullOrEmpty(packageType)){ + bRet = true; + showResult("【"+tousseName+"】未定义包装类型,请定义包装类型后装配!"); + } +// if(isUndefinedOrNullOrEmpty(sterilingType)){ +// bRet = true; +// showResult("【"+tousseName+"】未定义灭菌程序,请定义灭菌程序后装配!"); +// } + }); + }); + } + } + return bRet; +} var packing = false; // 装配按钮调用 function packingTousseBtnClick(){ @@ -1869,8 +1966,10 @@ packedToussesArray = []; tousseesToPrint = []; } + if(ifCheckedPackingTasksHaveEmptyPackageType()){ + return ; + } - // 首先处理标识牌的打印 var scanScanIDCardBarcode = Ext4.getCmp('scanIdCardBarcode'); if(scanScanIDCardBarcode.isVisible(true)){ @@ -1938,11 +2037,11 @@ amount = packingAmount; } packageType = cNode.get("packageType"); - if(packageType == "" || selLength == 1){ + if(useManualSelectPackageType()){ packageType = Ext4.getCmp('packageType').getValue(); } sterilingType = cNode.get("sterilingMethod"); - if(sterilingType == "" || selLength == 1){ + if(isUndefinedOrNullOrEmpty(sterilingType) || useManualSelectPackageType()){ sterilingType = Ext4.getCmp('sterilingType').getValue(); } tousseType = cNode.get("tousseType"); @@ -2043,11 +2142,11 @@ amount = packingAmount; } packageType = cNode.get("packageType"); - if(selLength == 1){ + if(useManualSelectPackageType()){ packageType = Ext4.getCmp('packageType').getValue(); } sterilingType = cNode.get("sterilingMethod"); - if(selLength == 1){ + if(isUndefinedOrNullOrEmpty(sterilingType) || useManualSelectPackageType()){ sterilingType = Ext4.getCmp('sterilingType').getValue(); } tousseType = cNode.get("tousseType"); @@ -2073,6 +2172,7 @@ } Ext4.getCmp('sterilingType').setValue(null); Ext4.getCmp('packageType').setValue(null); + lastSelectedTousseName = null; //如果装配界面的配包/审核人是否默认为上一次装配的配包/审核人配置为false,则装配完后需要重新清空 if(packingPageOperatorDefaultLastOperator == false){ @@ -2397,7 +2497,7 @@ Ext4.getCmp('sterilingType').setValue(sterilingMethod); } Ext4.getCmp('packageType').setValue(packageType); - + lastSelectedTousseName = tousseName; var waitPackingTreeGrid = Ext4.getCmp('waitPackingTreeGrid'); var selNodes = waitPackingTreeGrid.getView().getChecked(); Ext4.each(selNodes, function(pNode){ @@ -2637,7 +2737,7 @@ Ext4.getCmp('sterilingType').setValue(sterilingMethod); } Ext4.getCmp('packageType').setValue(packageType); - + lastSelectedTousseName = tousseName; //将上部分grid中的复选框置为不选中 var basketTreeGrid = Ext4.getCmp('basketTreeGrid'); var selNodes = basketTreeGrid.getView().getChecked();