Index: ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js =================================================================== diff -u -r12599 -r12626 --- ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 12599) +++ ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 12626) @@ -481,6 +481,21 @@ }); return existTask; } +function uncheckAllExceptCurrentIDCardPackingTask(){ + var basketTree = Ext4.getCmp('basketTreeGrid'); + var waitPackingTreeGrid = Ext4.getCmp('waitPackingTreeGrid'); + Ext4.each(basketTree.getView().getChecked(), function(pNode){ + if(idCardTaskNode.get('tousseName') != pNode.get('tousseName')){ + pNode.set("checked", false); + } + }); + Ext4.each(waitPackingTreeGrid.getView().getChecked(), function(pNode){ + if(idCardTaskNode.get('tousseName') != pNode.get('tousseName')){ + pNode.set("checked", false); + } + }); +} + function loadIdCardByBarcode(barcodeField){ var barcode = barcodeField.getValue(); @@ -499,6 +514,8 @@ showResult('不存在该标识牌对应的装配任务!'); return; } + // 取消选中所有的装配任务,只选中该标识牌的 + uncheckAllExceptCurrentIDCardPackingTask(); currentIDCardInfo = result.idCard; Ext4.getCmp('idCardBarcode').setValue(barcode); Ext4.getCmp('idCardName').setValue(tousseName + "(条码:" + barcode + ")"); @@ -1010,7 +1027,7 @@ name : 'idCardBarcode' },{ columnWidth : .5, - hidden : sstsConfig.disableIdCard, + hidden : true, xtype : 'textfield', id : 'scanIdCardBarcode', fieldLabel : "标识牌条码", @@ -1027,7 +1044,7 @@ } },{ columnWidth : .47, - hidden : sstsConfig.disableIdCard, + hidden : true, xtype : 'textfield', fieldLabel : '标识牌', componentCls:'formItemMgn', @@ -1767,21 +1784,40 @@ } } //重新设置标识牌的可见状态 -function resetScanIDCardBarcodeVisibility(){ +function resetScanIDCardBarcodeVisibility(node){ // alert('resetScanIDCardBarcodeVisibility') var basketTree = Ext4.getCmp('basketTreeGrid'); var waitPackingTree = Ext4.getCmp('waitPackingTreeGrid'); var basketTreeSelNodes = basketTree.getView().getChecked(); var waitPackingTreeSelNodes = waitPackingTree.getView().getChecked(); // alert(basketTreeSelNodes.length + ' '+waitPackingTree.length) - if(basketTreeSelNodes.length > 0 || waitPackingTreeSelNodes.length > 0){ +// // 包含标识牌,且选中了多个节点,不允许选中 +// if(haveEnabledIDCard(basketTreeSelNodes) && basketTreeSelNodes.length>1){ +// showResult('启用了标识牌的包,只能单独选择!'); +// node.set("checked", false); +// return; +// } + if(haveEnabledIDCard(basketTreeSelNodes)){ + if(!sstsConfig.disableIdCard){ + showScanIDCardBarcode();// 没有禁用标识牌功能时,才显示标识牌输入框 + } + }else{ hideScanIDCardBarcode();// 只要左边有选中的项,那么隐藏标识牌输入框 - return; } - if(!sstsConfig.disableIdCard){ - showScanIDCardBarcode();// 没有禁用标识牌功能时,才显示标识牌输入框 - } } + +// 选中的节点是否包含标识牌 +function haveEnabledIDCard(nodes){ + var have = false; + Ext4.each(nodes, function(pNode){ + var haveIDCard = pNode.get("haveIDCard"); + if(haveIDCard){ + have = true; + } + return true; + }); + return have; +} function hideScanIDCardBarcode(){ var scanScanIDCardBarcode = Ext4.getCmp('scanIdCardBarcode'); var idCardName = Ext4.getCmp('idCardName'); @@ -2174,15 +2210,15 @@ if(!isLeaf){ if(record.get('checked') == false){ record.set('checked', true); - thiz.fireEvent('checkchange'); + waitPackingTreeGrid.getView().fireEvent('checkchange'); } }else{ return false; } }, checkchange:function( node, checked, eOpts ){ - resetScanIDCardBarcodeVisibility(); + resetScanIDCardBarcodeVisibility(node); } }, tbar:[{ @@ -2356,14 +2392,14 @@ if(!isLeaf){ if(record.get('checked') == false){ record.set('checked', true); - thiz.fireEvent('checkchange'); + basketTreeGrid.getView().fireEvent('checkchange'); } }else{ return false; } }, checkchange:function( node, checked, eOpts ){ - resetScanIDCardBarcodeVisibility(); + resetScanIDCardBarcodeVisibility(node); } }, store: waitPackingTaskStore,