Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (revision 12648) @@ -0,0 +1,2138 @@ +var tousseArray = new Array(); +//添加或删除器械包 +function addOrDelTousse(tousse){ + var basketBarcode = tousse.basketBarcode; + var basketId = tousse.basketId; + var classifiedItemId = tousse.classifiedItemId; + var tousseName = tousse.tousseName; + var amount = tousse.amount; + var tousseAmountForMaterial = tousse.tousseAmountForMaterial; + var itemType = tousse.itemType; + var tousseNameForMaterial = tousse.tousseNameForMaterial; + var idCardBarcode = tousse.idCardBarcode; + + var length = tousseArray.length; + var sigle = true; + for(var i = 0;i < length ; i++){ + var t_basketBarcode = tousseArray[i].basketBarcode; + var t_tousseName = tousseArray[i].tousseName; + var t_amount = tousseArray[i].amount; + var tousseNameForM = tousseArray[i].tousseNameForMaterial; + var t_idCardBarcode = tousseArray[i].idCardBarcode; + var t_amountForMaterial = tousseArray[i].tousseAmountForMaterial; + if(t_basketBarcode == basketBarcode && t_tousseName == tousseName && t_idCardBarcode == idCardBarcode){ + if(itemType == '材料' && tousseNameForMaterial != tousseNameForM){ + continue; + } + tousseArray[i].amount = t_amount + amount; + tousseArray[i].tousseAmountForMaterial = t_amountForMaterial + tousseAmountForMaterial; + sigle = false; + } + } + if(sigle){ + var newTousse = { + basketBarcode: basketBarcode, + basketId: basketId, + classifiedItemId: '', + tousseName: tousseName, + tousseDefinitionID: tousse.tousseDefinitionID, + amount: amount, + tousseAmountForMaterial: tousseAmountForMaterial, + itemType: itemType, + tousseNameForMaterial: tousseNameForMaterial, + idCardBarcode: idCardBarcode + }; + tousseArray.push(newTousse); + } + //alert(JSON.stringify(tousseArray)); +} + + +var ab; +var lock = false; +//锁定键盘 +function lockup(e){ e.preventDefault(); } +//高亮层不锁定 +function lockout(e){ e.stopPropagation(); } + +function alertDiv(alertWord,hideCloseButton,showOtherButton){ + lock = true; + document.getElementById ("showWord").innerHTML = alertWord; + if(typeof(hideCloseButton) != 'undefined' && hideCloseButton){ + $('#idBoxClose').hide(); + } + else{ + $('#idBoxClose').show(); + } + if(showOtherButton){ + $('#idBoxCenterUserType').show(); + }else{ + $('#idBoxCenterUserType').hide(); + } + ab = new AlertBox("idBox"); + ab.onShow = function(){ + if ( lock ) { + $$E.addEvent( document, "keydown", lockup ); + $$E.addEvent( this.box, "keydown", lockout ); + OverLay.show(); + } + }; + ab.onClose = function(){ + $$E.removeEvent( document, "keydown", lockup ); + $$E.removeEvent( this.box, "keydown", lockout ); + OverLay.close(); + }; + + ab.center = true; + ab.show(); +} + function closeDiv(){ + ab.close(); + } + + var applicationType = null; + var userNameByBarcode = "";//条形码对应的用户名 + +function showMessage(message){ + if(document.getElementById('messageDiv') == null || !$('#messageDiv').dialog('isOpen')){ + $("
"+message+"
").dialog({ + title : '提示', + width :520, + modal: true, + show: { + effect: "explode", + duration: 1000 + }, + hide: { + effect: "explode", + duration: 1000 + }, + buttons: { + '关闭': function() { + $(this).dialog( "close" ); + } + } + }); + } +} +var isSecondSupplyRoom = false; +var supplyRoomType_val = params_type; +if(supplyRoomType_val==2){ + isSecondSupplyRoom = true; +} + +function addZero(str){ + if(str<10){ + return "0"+str; + }else{ + return str; + } +} + +function dateObjFormat(v){ + if(v == null){ + return ""; + } else { + return (parseInt(v.year,10)+1900)+"-"+addZero(parseInt(v.month,10)+1)+"-"+addZero(v.date)+" "+addZero(v.hours)+":"+addZero(v.minutes); + } +} + +//回收误差 +var recyclingErrorsArray = new Array(); +//回收报损 +var recyclingDamageArray = new Array(); +var msgObj; + +function validateNumber(thiz){ + if(thiz.value.length==1){ + thiz.value=thiz.value.replace(/[^1-9]/g,''); + }else{ + thiz.value=thiz.value.replace(/\D/g,''); + } +} + +function add(row){ + if("消毒物品申请单" == applicationType){ + return; + } + increaseAmount(row); +} + +function reduce(row){ + var recycleAmount = $('#recycleAmount'+row).val() == ''?0:parseInt($('#recycleAmount'+row).val(),10)-1; + if(recycleAmount >= 0){ + $('#recycleAmount'+row).val(recycleAmount); + } + changeRecycleAmount(row); +} + +function deleteTousseItem(row){ + $('#tousseItemsTr'+row).hide(); + $('#deleted'+row).val('1'); + var tousseName = $('#tousseName'+row).val(); + var amountLeft = parseInt($('#loadedAmount'+row).val(),10); + var idCardBarcode = ''; + var tousse = { + basketBarcode: '', + basketId: '', + classifiedItemId: '', + tousseName: tousseName, + amount: -amountLeft, + tousseAmountForMaterial: -amountLeft, + itemType: "器械包", + tousseNameForMaterial: '', + idCardBarcode: '' + } + addOrDelTousse(tousse); + //移除篮筐内物品 + $("#basketsUl li").each(function(){ + var jsonObj = null; + $(this).find('dl').children().each(function(i,element){ + if($(this).attr('type') == 'hidden'){ + var obj = $(this).val(); + jsonObj = JSON.parse(obj); + }else if($(this).attr('class') == 'del'){ + if(jsonObj.tousseName == tousseName){ + var deleteButton = $(this).find('a'); + deleteBasketItem(deleteButton,false); + } + } + }); + }); +} + + +function unloadStaff(name,amount){ + $('#tousseItemTable').children().first().children().each(function(i,element){ + if($('#tousseName'+i).val() == name){ + $('#loadedAmount'+i).val(parseInt($('#loadedAmount'+i).val(),10)-parseInt(amount,10)); + return false; + } + }); +} + +//删除整个篮筐 +function deleteBasket(deleteButton,basketBarcode,basketId){ + var liElement = $(deleteButton).parent().parent(); + var delBasktJsonStr = liElement.find('input').val(); + var basketJson = JSON.parse(delBasktJsonStr); + var array = new Array(); + $("#basketsUl li").each(function(){ + var hideStr = $(this).find('input').val(); + var hiddenjson = JSON.parse(hideStr); + var actionBasketBarcode = basketJson.barcode; + if( hiddenjson.barcode == actionBasketBarcode || (basketJson.basketGroupName != "" && hiddenjson.basketGroupName == basketJson.basketGroupName)){ + $(this).find('dl').children().each(function(i,element){ + if($(this).attr('type') == 'hidden'){ + var obj = $(this).val(); + var itemJson = JSON.parse(obj); + //删篮筐内容是修改物品装载数量 + if(itemJson.type == '材料'){ + var exist = false; + var length = array.length; + for(var i = 0;i li").length == 0){ + $("#scanContainerBarcodeTipUl").show(); + } +} + + +//删除篮筐中的物品 +function deleteBasketItem(deleteButton,isUserClick){ + var hideElement = $(deleteButton).parent().prev().prev().prev().prev(); + var nameElement = $(deleteButton).parent().prev().prev().prev(); + var barcodeElement = $(deleteButton).parent().prev().prev(); + var amountElement = $(deleteButton).parent().prev(); + var delElement = $(deleteButton).parent(); + + var basketElement = $(deleteButton).parent().parent(); + var basketJSON = basketElement.prev().prev().prev().prev(); + var basket = JSON.parse(basketJSON.val()); + + var item = JSON.parse(hideElement.val()); + var name = ""; + var tousseNameForMaterial = ""; + var type = item.type; + var idCardBarcode = item.idCardBarcode; + //材料全部删除 + if(type == "材料" && isUserClick){ + name = item.materialName; + tousseNameForMaterial = item.tousseName; + $('dl[class="sed clearfix"]').each(function(){ + var basketEle = $(this).prev().prev().prev().prev().val(); + var basketJSON = JSON.parse(basketEle); + $(this).children().each(function(){ + if($(this).attr('type') == 'hidden'){ + var hideValue = $(this).val(); + if(hideValue != null && hideValue != ""){ + var obj = JSON.parse(hideValue); + if(obj.type == '材料' && obj.tousseName == item.tousseName && basket.basketGroupName == basketJSON.basketGroupName && obj.idCardBarcode == idCardBarcode){ + var delButton = $(this).next().next().next().next().find('a'); + deleteBasketItem(delButton,false); + } + } + } + }); + }); + } + var amount = item.amount; + var tousseAmountForMaterial = item.tousseAmount; + if(type == '材料'){ + name = item.materialName; + tousseNameForMaterial = item.tousseName; + }else{ + name = item.tousseName; + } + var usebasketAmount = item.usebasketAmount; + var basketGroupNum = item.basketGroupNum; + //alert(name+"--"+type+"--"+amount+"--"+tousseNameForMaterial+"--"+usebasketAmount+"--"+basketGroupNum); + //alert(item.tousseName+"--"+amount); + if(isUserClick){ + if(type == '材料'){ + unloadStaff(item.tousseName,tousseAmountForMaterial); + }else{ + unloadStaff(item.tousseName,amount); + } + } + + var basketId = basket.classifyBasketId; + var containerBarcode = basket.barcode; + if(!isUserClick || type != '材料'){ + var tousse = { + basketBarcode: containerBarcode, + basketId: basketId, + classifiedItemId: '', + tousseName: name, + amount: -parseInt(amount), + tousseAmountForMaterial: -parseInt(tousseAmountForMaterial), + itemType: type, + tousseNameForMaterial: tousseNameForMaterial, + idCardBarcode: idCardBarcode + } + addOrDelTousse(tousse); + } + hideElement.remove(); + nameElement.remove(); + barcodeElement.remove(); + amountElement.remove(); + delElement.remove(); + + //相关器械包样式变更以区分是否已入筐 + $("input[id^=showTousseName]").each(function(item){ + if(type == '材料'){ + if($(this).val() == tousseNameForMaterial){ + var elementId = $(this).attr("id"); + $("#loadedAmount" + elementId.substring(elementId.length - 1)).css("background","#FFFFFF"); + return false; + } + }else{ + if($(this).val() == name){ + var elementId = $(this).attr("id"); + $("#loadedAmount" + elementId.substring(elementId.length - 1)).css("background","#FFFFFF"); + return false; + } + } + + }); + + checkLoadedAmount(); +} + +//清理视图列表 +function cleanTableList(){ + $("#tousseItemTable").empty(); + $("#basketsUl").empty(); +} + +function cleanMaterialAndBasketTableList(){ + $("#basketsUl").empty(); +} + +/*--------------------------- +功能:停止事件冒泡 +---------------------------*/ +function stopBubble(e) { + //如果提供了事件对象,则这是一个非IE浏览器 + if ( e && e.stopPropagation ) + //因此它支持W3C的stopPropagation()方法 + e.stopPropagation(); + else + //否则,我们需要使用IE的方式来取消事件冒泡 + window.event.cancelBubble = true; +} +//阻止浏览器的默认行为 +function stopDefault( e ) { + //阻止默认浏览器动作(W3C) + if ( e && e.preventDefault ) + e.preventDefault(); + //IE中阻止函数器默认动作的方式 + else + window.event.returnValue = false; + return false; +} + +//在页面无需将光标定位在输入框相应全局的扫描枪事件 +var barcodeGloble = ''; +function showKeyDown(){ + if(event.keyCode == 48 || event.keyCode == 96){ + barcodeGloble += '0'; + }else if(event.keyCode == 49 || event.keyCode == 97){ + barcodeGloble += '1'; + }else if(event.keyCode == 50 || event.keyCode == 98){ + barcodeGloble += '2'; + }else if(event.keyCode == 51 || event.keyCode == 99){ + barcodeGloble += '3'; + }else if(event.keyCode == 52 || event.keyCode == 100){ + barcodeGloble += '4'; + }else if(event.keyCode == 53 || event.keyCode == 101){ + barcodeGloble += '5'; + }else if(event.keyCode == 54 || event.keyCode == 102){ + barcodeGloble += '6'; + }else if(event.keyCode == 55 || event.keyCode == 103){ + barcodeGloble += '7'; + }else if(event.keyCode == 56 || event.keyCode == 104){ + barcodeGloble += '8'; + }else if(event.keyCode == 57 || event.keyCode == 105){ + barcodeGloble += '9'; + }else if(event.keyCode == 13){ + loadBarcodeDevice(barcodeGloble); + } + + stopBubble(event); + stopDefault(event); +} + +// 扫描第二个篮框时,取消合并提示,默认不合并 +function mergedBasket(){ + return false; +} + +function idCardIsExist(barcode){ + var exist = false; + $('dl[class="sed clearfix"]').each(function(){ + $(this).children().each(function(){ + if($(this).attr('type') == 'hidden'){ + var hideValue = $(this).val(); + if(hideValue != null && hideValue != ""){ + var hiddenjson = JSON.parse(hideValue); + if(hiddenjson.idCardBarcode == barcode){ + exist = true; + return false; + } + } + } + }); + }); + return exist; +} + +//创建物品入筐 +function addBasketItemElement(basketItem){ + var ci_id = basketItem.ci_id; + var type = basketItem.type; + var orgUnitName = basketItem.orgUnitName; + var tousseName = basketItem.tousseName; + var materialName = basketItem.materialName; + var showName = basketItem.showName; + var amount = basketItem.amount; + var tousseAmount = basketItem.tousseAmount; + var usebasketAmount = basketItem.usebasketAmount; + var basketGroupNum = basketItem.basketGroupNum; + var basketBarcode = basketItem.basketBarcode; + var idCardBarcode = basketItem.idCardBarcode; + var tousseDefinitionID = basketItem.tousseDefinitionID; + var isExist = false; + var basketElement = $('dl[class="sed clearfix"]:eq(0)'); + var basketHidenValue = $("#basketsUl li:first").find('input').val(); + if(type == '材料'){ + if(usebasketAmount != "" && basketGroupNum != ""){ + $("#basketsUl li").each(function(){ + var hideStr = $(this).find('input').val(); + var json = JSON.parse(hideStr); + if(json.barcode == basketBarcode){ + basketElement = $(this).find("dl"); + basketHidenValue = hideStr; + $(this).find('dl').children().each(function(){ + if($(this).attr('type') == 'hidden'){ + var hideStr = $(this).val(); + var json = JSON.parse(hideStr); + if(json.materialName == materialName && json.tousseName == tousseName && json.idCardBarcode == idCardBarcode){ + isExist = true; + json.amount = (json.amount + amount); + json.tousseAmount = (json.tousseAmount + tousseAmount); + $(this).val(JSON.stringify(json)); + $(this).next().next().next().text(json.amount); + return false; + } + } + }); + return false; + } + }); + } + }else{ + $("#basketsUl li:first").find('dl').children().each(function(){ + if($(this).attr('type') == 'hidden'){ + var hideStr = $(this).val(); + var json = JSON.parse(hideStr); + if(json.tousseName == tousseName && json.idCardBarcode == idCardBarcode){ + json.amount = (json.amount + amount); + $(this).val(JSON.stringify(json)); + $(this).next().next().next().text(json.amount); + isExist = true; + return false; + } + } + }); + } + if(!isExist){ + var str = showName; + if(showName.length > 12){ + str = showName.substring(0,12) + "..."; + } + var element = ''; + element += '
' + str + '
'; + element += '
 ' + idCardBarcode + '
'; + element += '
' + amount + '
'; + element += '
删除
'; + + var json = getBasketItemJSON(ci_id,type,orgUnitName,tousseName,materialName,amount,tousseAmount,usebasketAmount,basketGroupNum,idCardBarcode); + basketElement.prepend($(element)); + basketElement.find("input:first").val(json); + } + + var basketJson = JSON.parse(basketHidenValue); + var basketBarcode = basketJson.barcode; + var basketId = basketJson.classifyBasketId; + + var goodsName = tousseName; + var tousseNameForMaterial = ""; + if(type == "材料"){ + goodsName = materialName; + tousseNameForMaterial = tousseName; + } + var tousse = { + basketBarcode: basketBarcode, + basketId: basketId, + classifiedItemId: ci_id, + tousseName: goodsName, + amount: amount, + tousseAmountForMaterial: tousseAmount, + itemType: type, + tousseNameForMaterial: tousseNameForMaterial, + idCardBarcode: idCardBarcode, + tousseDefinitionID: tousseDefinitionID + } + addOrDelTousse(tousse); + + checkLoadedAmount(); +} + +function materialIntoBasket(tousseName){ + var materialIntoBasket = true; + var jsonArray = new Array(); + var tousseUseBasketAmount = 0; + DWREngine.setAsync(false); + TousseDefinitionTableManager.getTousseIncludeMaterialsWithOutDisposableGoods(tousseName,function(result){ + var json = JSON.parse(result); + var basketGroupName = ""; + for (var i = 0; i < json.length; i++) { + var materialName = json[i].materialName; + var materialAmount = json[i].amount; + var basketGroupNum = json[i].basketGroupNum; + var usebasketAmount = json[i].usebasketAmount; + if(basketGroupNum == "" || usebasketAmount == ""){ + materialIntoBasket = false; + return; + } + if(tousseUseBasketAmount < usebasketAmount){ + tousseUseBasketAmount = usebasketAmount; + } + var exist = false; + var basketBarcode = ""; + $("#basketsUl li").each(function(){ + var hideStr = $(this).find('input').val(); + var hiddenjson = JSON.parse(hideStr); + if(hiddenjson.groupBasketAmount == usebasketAmount && + hiddenjson.basketGroupNum == basketGroupNum && + (basketGroupName == "" || basketGroupName == hiddenjson.basketGroupName)){ + exist = true; + basketBarcode = hiddenjson.barcode; + basketGroupName = hiddenjson.basketGroupName; + return false; + } + }); + if(!exist){ + materialIntoBasket = false; + return; + } + var len = jsonArray.length; + jsonArray[len] = {}; + jsonArray[len].materialName = materialName; + jsonArray[len].usebasketAmount = usebasketAmount; + jsonArray[len].basketGroupNum = basketGroupNum; + jsonArray[len].materialAmount = materialAmount; + jsonArray[len].basketBarcode = basketBarcode; + } + }); + DWREngine.setAsync(true); + var obj = {}; + obj.success = materialIntoBasket; + obj.materials = jsonArray; + obj.tousseUseBasketAmount = tousseUseBasketAmount; + return obj; +} + +function loadBarcodeDevice(barcodeTemp){ + if(barcodeTemp.length >= 9){ + var barcode = barcodeTemp.substring(barcodeTemp.length-9,barcodeTemp.length); + $.ajax({ + type:'get', + url:WWWROOT + '/disinfectSystem/recyclingRecordAction!getBarcodeInfo.do?time='+new Date()+'&barcode='+barcode+'', + data:'recyclingRecordId='+$('#id').val(), + dataType:'json', + success:function(msg){ + if(msg.errorMessage != null ){ + alertDiv(msg.errorMessage); + }else if(msg.orgUnit!= null){ + //只更新科室名称及编码信息(since2015-12-16 SYF),添加新单时才更新部门 + if(params_appId == null || params_appId == "null"){ + $("#depart").val(msg.orgUnit.name); + $("#departCode").val(msg.orgUnit.orgUnitCoding); + }else{ + alertDiv("已有回收单不可更改科室"); + } + //清理列表(以下逻辑全部注释不用 since2015-12-16 SYF) + /* cleanTableList(); + if(msg.application != null && msg.application.length == 1){ + $("#depart").val(msg.orgUnit.name); + $("#departCode").val(msg.orgUnit.orgUnitCoding); + $("#recyclingApplicationId").val(msg.application[0].id); + $("#tousseItemTable").empty(); + $("#basketsUl").empty(); + var row = 0 ; + for(var i = 0 ; i< msg.application[0].applicationItems.length ; i++){ + if(msg.application[0].applicationItems[i].diposable == '否' && msg.application[0].applicationItems[i].tousseType != '敷料包' && msg.application[0].applicationItems[i].tousseType != '自制物品'){ + var tousseDefinitionId = msg.application[0].applicationItems[i].tousseDefinitionId; + var isRecycling = ""; + DWREngine.setAsync(false); + TousseDefinitionTableManager.getIsRecyclingByTousseDefinitionId(tousseDefinitionId,function(result){ + if(result != ""){ + isRecycling = result; + } + }); + DWREngine.setAsync(true); + if(isRecycling != "否"){ + addToussItem(row,'',msg.application[0].applicationItems[i].tousseName,msg.application[0].applicationItems[i].amount,msg.application[0].applicationItems[i].amount,msg.application[0].applicationItems[i].isCleanedEntirely=='是'?0:'',msg.application[0].applicationItems[i].isCleanedEntirely,msg.application[0].applicationItems[i].tousseType,msg.application[0].applicationItems[i].isThereIdentificationCard); + row++; + } + } + } + }else if(msg.application != null && msg.application.length > 1){ + //添加打开申请单选择页面选择申请单 + $("#depart").val(msg.orgUnit.name); + $("#departCode").val(msg.orgUnit.orgUnitCoding); + msgObj = msg; + openselectRecyclingApplication(); + }else if(msg.application == null || msg.application.length == 0){ + $("#depart").val(msg.orgUnit.name); + $("#departCode").val(msg.orgUnit.orgUnitCoding); + alertDiv("该科室没有申请回收。"); + } */ + }else if(msg.baskets != null && msg.baskets.length > 0){ + var isBasketLoaded = false; + var currentNode; + //不装配的篮筐不能回收扫描 + /* var containerStatus = msg.basketStatus; + if(containerStatus == "清洗完成" || containerStatus == "清洗"){ + var bool = window.confirm("【"+msg.basket.containerName + "】内有器械未装配,是否继续使用该篮筐?"); + if(!bool){ + return false; + } + } */ + + for(var i = 0;i < msg.baskets.length;i++){ + var basketItem = msg.baskets[i]; + $("#basketsUl li").each(function(){ + var hide = $(this).find('input'); + var item = JSON.parse(hide.val()); + if(item.barcode == basketItem.containerBarcode){ + isBasketLoaded = true; + currentNode = $(this); + return false; + } + }); + + if(isBasketLoaded){ + //将篮筐放置在最前面 + $("#basketsUl").prepend(currentNode); + toggleItems(currentNode.find('span')[0]); + }else{ + var basketElement = '
  • '; + basketElement += ''; + basketElement += ''; + basketElement += '删除'; + basketElement += ''; + basketElement += ''; + basketElement += ''+basketItem.containerName+''; + basketElement += '
    '; + basketElement += '
  • '; + var obj = $(basketElement); + $("#basketsUl").prepend(obj); + var json = getBasketJSON(basketItem.id,basketItem.containerBarcode,basketItem.basketGroupName,basketItem.groupBasketAmount,basketItem.basketGroupNum); + $("#basketsUl li:first").find('input').val(json); + toggleItems(obj.find('span')[0]); + } + } + $("#scanContainerBarcodeTipUl").hide(); + }else if(msg.tousseInstance != null){ + if(msg.tousseInstance.tousseFixedBarcode == true && msg.tousseInstance.unTraceableTousse == true){ + var ti = msg.tousseInstance; + var td = ti.tousseDefinition; + var toussItem = { + row: $("#tousseItemTable tbody tr").length, + tousseItemId: '', + tousseName: td.name, + tousseDefinitionID: td.id, + applicationAmount: 0, + recycleAmount: 1, + loadedAmount: 0, + isCleanedEntirely: td.isCleanedEntirely, + tousseType: td.tousseType, + isThereIdentificationCard: '否', + isApplyEntireTousse: td.isApplyEntireTousse + }; + addToussItem(toussItem); + } + + //去掉以理这两个限制,允许扫描篮筐之前先扫描器械包(since 20151217 SYF) + /* else if($('#depart').attr('value') == ''){ + alertDiv('请先扫描科室条码!'); + } */ + else if($('#basketsUl').children().length <= 0){ + alertDiv('请先扫描篮筐条码!'); + } + else{ + if($('#depart').attr('value') == ''){ + $('#depart').val(msg.tousseInstance.locationForDisplay) + $('#departCode').val(msg.tousseInstance.location) + } + + if(msg.tousseInstance.locationForDisplay != null && msg.tousseInstance.locationForDisplay != '' && $('#depart').attr('value') != msg.tousseInstance.locationForDisplay){ + alertDiv('该器械包不属于该科室。'); + }else if(msg.tousseInstance.status != shipped && msg.tousseInstance.status != used + && msg.tousseInstance.status != discard && msg.tousseInstance.status != signed){ + alertDiv('该器械包未发货,不能回收。'); + }else{ + var ti = msg.tousseInstance; + var td = ti.tousseDefinition; + + var exist = idCardIsExist(barcode); + if(exist){ + alertDiv(barcode+",已入筐!"); + scanned = true; + }else{ + var ti = msg.tousseInstance; + var td = ti.tousseDefinition; + var orgUnitName = $('#depart').val(); + if(td.isCleanedEntirely == '是'){ + var basketHideStr = $("#basketsUl li:first").find('input').val(); + var item = JSON.parse(basketHideStr); + var jsonArray = new Array(); + jsonArray[0] = {}; + jsonArray[0].name = td.name; + jsonArray[0].basketBarcode = item.barcode; + + var amount = getTousseIntoBasketAmount(td.name,1,'是',jsonArray); + if(amount <= 0){ + alertDiv('该篮筐器械包数量已达到系统设定的上限数量,不能入筐。'); + return false; + } + var basketItem = { + ci_id: '', + type: '器械包', + orgUnitName: orgUnitName, + tousseName: td.name, + materialName: '', + showName: td.name, + amount: 1, + tousseAmount: 1, + usebasketAmount: '', + basketGroupNum: '', + basketBarcode: '', + idCardBarcode: barcode, + tousseDefinitionID: td.id + }; + addBasketItemElement(basketItem); + }else{ + var obj = materialIntoBasket(td.name); + var success = obj.success; + var jsonArray = obj.materials; + if(success){ + //篮筐上限验证 + var dataArray = new Array(); + for(var i = 0;i < jsonArray.length;i++){ + var item = jsonArray[i]; + var d_len = dataArray.length; + dataArray[d_len] = {}; + dataArray[d_len].name = item.materialName; + dataArray[d_len].basketBarcode = item.basketBarcode; + } + var amount = getTousseIntoBasketAmount(td.name,1,'否',dataArray); + if(amount <= 0){ + alertDiv('该篮筐器械包数量已达到系统设定的上限数量,不能入筐。'); + return false; + } + + for(var i = 0;i < jsonArray.length;i++){ + var item = jsonArray[i]; + var basketItem = { + ci_id: '', + type: '材料', + orgUnitName: orgUnitName, + tousseName: td.name, + materialName: item.materialName, + showName: item.materialName, + amount: item.materialAmount, + tousseAmount: 1, + usebasketAmount: item.usebasketAmount, + basketGroupNum: item.basketGroupNum, + basketBarcode: item.basketBarcode, + idCardBarcode: barcode, + tousseDefinitionID: td.id + }; + addBasketItemElement(basketItem); + } + }else{ + var str1 = "【" + td.name + "】需要使用组内有" + obj.tousseUseBasketAmount + "个篮筐的篮筐组回收"; + if(obj.tousseUseBasketAmount == 0){ + str1 = "该物品的包定义中的材料未设置分组篮筐编号,请设置后再入筐"; + } + alertDiv(str1); + } + } + var tousseIsExist = false; + $('#tousseItemTable').children().first().children().each(function(i,element){ + if($('#tousseName'+i).val() == td.name && $('#deleted'+i).val() == '0'){ + tousseIsExist = true; + $('#loadedAmount'+i).val(1 + parseInt($('#loadedAmount'+i).val(),10)); + if(parseInt($('#loadedAmount'+i).val()) > parseInt($('#recycleAmount'+i).val())){ + $('#recycleAmount'+i).val(parseInt($('#loadedAmount'+i).val())); + } + } + }); + if(!tousseIsExist){ + var toussItem = { + row: $("#tousseItemTable tbody tr").length, + tousseItemId: '', + tousseName: td.name, + tousseDefinitionID: td.id, + applicationAmount: 0, + recycleAmount: 1, + loadedAmount: 1, + isCleanedEntirely: td.isCleanedEntirely, + tousseType: td.type, + isThereIdentificationCard: '是', + isApplyEntireTousse: td.isApplyEntireTousse + }; + addToussItem(toussItem); + } + } + } + } + + checkLoadedAmount(); + }else if(msg.user != null){ + userNameByBarcode = msg.user.fullName; + //点击选中回收人员或是清点人员 + if(currentUserType == 'recyclingUser'){ + $('#recyclingUser').val(userNameByBarcode); + }else if(currentUserType == 'operator'){ + $('#operator').val(userNameByBarcode); + }else{ + alertDiv('请选择条码对应的人员类型!' , true , true); + } + }else{ + alertDiv('没有找到该条码所对应的信息。'); + } + $("#codeScan").val(""); + barcodeGloble = ""; + }, + error:function(){ + } + }); + }else{ + alertDiv('条码长度不符合规范。'); + } +} + +//选择回收人员 +function selectRecyclingUser(){ + $('#recyclingUser').val(userNameByBarcode); +} +//选择清点人员 +function selectOperator(){ + $('#operator').val(userNameByBarcode); +} + + +function openselectRecyclingApplication(){ + var width = 740; + var height = 400; + if(resolution == '1980'){ + width = 980; + height = 420; + } + + $.layer({ + type : 2, + title : ['选择申请单',true], + iframe : {src : 'recyclingApplications.jsp?resolution='+resolution}, + area : [ width + 'px' , height + 'px'], + border : [5, 0.3, '#fff', true], + closeBtn : [2 , true], + offset : ['100px',''] + }); +} + +function openRecyclingErrorPage(row){ + + var isEditIDCardError = false; + if($('#id').val() == ""){ + isEditIDCardError = true; + } + var tousseName = $('#tousseName'+row).val(); + var width = 740; + var height = 400; + var designedTousseWidth = 980; + var designedTousseHeight = 700; + var designedWidth = 1920; + var designedHeight = 1080; + var actualWidth = window.screen.availWidth; + var actualHeight = window.screen.availHeight; + var offsetTop = 100; + var heightExtra = 10; + if(resolution == '1980'){ + width = 980; + height = 700; + } + var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); + var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); + + width = size.width; + height = size.height; + + offsetTop = offsetTop*zoomRatio; + $.layer({ + type : 2, + title : ['材料丢失',true], + iframe : {src : 'recyclingErrors.jsp?resolution='+resolution+'&isEditIDCardError='+isEditIDCardError+'&width='+width+'&height='+height+'&row='+row+'&tousseName='+encodeAll(tousseName)+'&tousseCount='+($('#recycleAmount'+row).val()==''?0:$('#recycleAmount'+row).val())}, + area : [ width + 'px' , height +heightExtra + 'px'], + border : [5, 0.3, '#fff', true], + closeBtn : [2 , true], + offset : [offsetTop+'px',''] + }); +} + +function openRecyclingDamagePage(row,tousseName,tousseItemId){ + var width = 740; + var height = 400; + var designedTousseWidth = 980; + var designedTousseHeight = 700; + var designedWidth = 1920; + var designedHeight = 1080; + var actualWidth = window.screen.availWidth; + var actualHeight = window.screen.availHeight; + var offsetTop = 100; + var heightExtra = 10; + var depart = $('#depart').val(); + var departCode = $('#departCode').val(); + if(resolution == '1980'){ + width = 980; + height = 700; + } + var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); + var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); + + width = size.width; + height = size.height; + + offsetTop = offsetTop*zoomRatio; + $.layer({ + type : 2, + title : ['材料报废',true], + iframe : {src : 'recyclingDamage.jsp?resolution='+resolution+'&width='+width+'&height='+height+'&row='+row+'&tousseName='+tousseName+'&tousseItemId='+tousseItemId+'&tousseCount='+$('#recycleAmount'+row).attr('value')+'&depart='+depart+'&departCode='+departCode}, + area : [ width + 'px' , height +heightExtra + 'px'], + border : [5, 0.3, '#fff', true], + closeBtn : [2 , true], + offset : [offsetTop+'px',''] + }); +} +function amendDisinfectionTousse(row){ + var tousseName = $('#tousseName'+row).val(); + var tousseType = $('#tousseType'+row).val(); + if(tousseType == '消毒物品' || tousseType == '灭菌物品'){ + var width = 740; + var height = 400; + if(resolution == '1980'){ + width = 980; + height = 700; + } + + $.layer({ + type : 2, + title : ['消毒物品明细',true], + iframe : {src : 'disinfectionTousseItems.jsp?resolution='+resolution+'&row='+row+'&tousseName='+tousseName}, + area : [ width + 'px' , height + 'px'], + border : [5, 0.3, '#fff', true], + closeBtn : [2 , true], + offset : ['100px',''] + }); + }else if(tousseType == '器械包'){ + $.ajax({ + type:'post', + url:WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getToussePictureAmount.do', + data:'name='+encodeAll(tousseName), + dataType:'text', + success:function(msg){ + + var amount = parseInt(msg,10); + var items = new Array(); + if(amount == 0){ + amount = 1; + } + for(var i = 0;i < amount;i++){ + items.push({ + src:'tousseImage.jsp?resolution='+resolution+'&tousseName='+tousseName+'&number='+(i+1), + type :'iframe' + }); + } + $.magnificPopup.open({ + items: items, + gallery: { + enabled: true + }, + image: { + verticalFit: true + }, + type: 'image' // this is default type + }); + }, + error:function(XMLHttpRequest, textStatus, errorThrown){ + } + }); + } +} + +function getBasketJSON(itemId,barcode,basketGroupName,groupBasketAmount,basketGroupNum){ + var json = {}; + json.classifyBasketId = itemId; + json.barcode = barcode; + json.basketGroupName = basketGroupName; + json.groupBasketAmount = groupBasketAmount; + json.basketGroupNum = basketGroupNum; + return JSON.stringify(json); +} + +function getBasketItemJSON(ci_id,type,orgUnitName,tousseName,materialName,amount,tousseAmount,usebasketAmount,basketGroupNum,idCardBarcode){ + var json = {}; + json.classifiedItemId = ci_id; + json.type = type; + json.orgUnitName = orgUnitName; + json.tousseName = tousseName; + json.materialName = materialName; + json.amount = amount;//td显示的数量 + json.tousseAmount = tousseAmount;//材料相对的包数量 + json.usebasketAmount = usebasketAmount; + json.basketGroupNum = basketGroupNum; + json.idCardBarcode = idCardBarcode; + return JSON.stringify(json); +} + +function getScanedGoods(barcode){ + var scanedGoodsArray = new Array(); + $("#basketsUl li").each(function(){ + var hideStr = $(this).find('input').val(); + var hiddenjson = JSON.parse(hideStr); + if(hiddenjson.barcode == barcode){ + $(this).find('dl').children().each(function(i,element){ + if($(this).attr('type') == 'hidden'){ + var itemJson = $(this).val(); + var json = JSON.parse(itemJson); + if(json.classifiedItemId == ""){ + var len = scanedGoodsArray.length; + scanedGoodsArray[len] = {}; + var type = json.type; + var name = json.tousseName; + if(type == '材料'){ + name = json.materialName; + } + scanedGoodsArray[len].name = name; + scanedGoodsArray[len].type = json.type; + scanedGoodsArray[len].amount = json.amount; + } + } + }); + } + }); + return scanedGoodsArray; +} + +function getTousseIntoBasketAmount(tousseName,amount,isCleanedEntirely,jsonArray){ + var params = {}; + params.tousseName = tousseName; + params.tousseAmount = amount; + params.isCleanedEntirely = isCleanedEntirely; + var dataArray = new Array(); + for(var i = 0;i < jsonArray.length;i++){ + var item = jsonArray[i]; + + var d_len = dataArray.length; + var isExist = false; + var tmp_index = null; + for(var j = 0;j < d_len;j++){ + if(dataArray[j].barcode == item.basketBarcode){ + isExist = true; + tmp_index = j; + } + } + if(!isExist){ + dataArray[d_len] = {}; + dataArray[d_len].barcode = item.basketBarcode; + dataArray[d_len].scanedGoods = getScanedGoods(item.basketBarcode); + dataArray[d_len].goodsInfo = new Array(); + dataArray[d_len].goodsInfo[0] = {}; + dataArray[d_len].goodsInfo[0].name = item.name; + }else{ + var le = dataArray[tmp_index].goodsInfo.length; + dataArray[tmp_index].goodsInfo[le] = {}; + dataArray[tmp_index].goodsInfo[le].name = item.name; + } + } + params.data = dataArray; + DWREngine.setAsync(false); + var amount; + RecyclingRecordTableManager.getTousseIntoBasketAmount(JSON.stringify(params),function(result){ + var j = JSON.parse(result); + amount = j.loadedAmount; + }); + DWREngine.setAsync(true); + return amount; +} + +//将器械包放入篮筐中 +function putTousseInTheBasket(row){ + var inputSuccess = false; + if($('#basketsUl').children().length > 0){ + var tousseName = $('#tousseName'+row).val(); + var tousseDefinitionID = $('#tousseDefinitionID'+row).val(); + var showTousseName = $('#showTousseName'+row).val(); + var isCleanedEntirely = $('#isCleanedEntirely'+row).val(); + var amount = parseInt($('#recycleAmount'+row).val(),10) - parseInt($('#loadedAmount'+row).val(),10); + + //回收数量扣减入筐操作 如果已经入筐就不能入筐,只能是手动从篮筐里面删除,因为程序不晓得从哪个篮筐里面扣减 + var msg = ""; + if(amount < 0){ + $("#basketsUl li").each(function(){ + $(this).find('dl').children().each(function(i,element){ + if($(this).attr('type') == 'hidden'){ + var hideStr = $(this).val(); + var json = JSON.parse(hideStr); + if(json.tousseName == tousseName){ + msg = tousseName+"已入筐,请从篮筐内删除后再入筐!"; + return false; + } + } + }); + }); + } + if(msg != ""){ + alertDiv(msg); + return false; + } + + var isIDCard = $('#isThereIdentificationCard'+row).val(); + if(isIDCard == '是'){ + var showMsg = null; + if(recyclingErrorsArray[row]){ + for(var j=0;j 0){ + //已入筐数量 + var dataArray = new Array(); + dataArray[0] = {}; + dataArray[0].basketBarcode = tmpBasketBarcode; + dataArray[0].name = tousseName; + amount = getTousseIntoBasketAmount(tousseName,amount,isCleanedEntirely,dataArray); + if(amount <= 0){ + alertDiv('该篮筐器械包数量已达到系统设定的上限数量,不能入筐。'); + return false; + } + } + var basketItem = { + ci_id: "", + type: '器械包', + orgUnitName: orgUnitName, + tousseName: tousseName, + tousseDefinitionID: tousseDefinitionID, + materialName: "", + showName: tousseName, + amount: amount, + tousseAmount: amount, + usebasketAmount: "", + basketGroupNum: "", + basketBarcode: "", + idCardBarcode: "" + }; + addBasketItemElement(basketItem); + $('#loadedAmount'+row).val(parseInt(amount,10)+parseInt($('#loadedAmount'+row).val(),10)); + //相关器械包样式变更以区分是否已入筐 + $("#loadedAmount" + row).css("background","#b7d9a5"); + + inputSuccess = true; + }else{ + var obj = materialIntoBasket(tousseName); + var success = obj.success; + var jsonArray = obj.materials; + if(success){ + //篮筐上限验证 + var dataArray = new Array(); + for(var i = 0;i < jsonArray.length;i++){ + var item = jsonArray[i]; + var d_len = dataArray.length; + dataArray[d_len] = {}; + dataArray[d_len].name = item.materialName; + dataArray[d_len].basketBarcode = item.basketBarcode; + } + amount = getTousseIntoBasketAmount(tousseName,amount,isCleanedEntirely,dataArray); + if(amount <= 0){ + alertDiv('该篮筐器械包数量已达到系统设定的上限数量,不能入筐。'); + return false; + } + + var orgUnitName = $('#depart').val(); + for(var i = 0;i < jsonArray.length;i++){ + var item = jsonArray[i]; + var basketItem = { + ci_id: "", + type: '材料', + orgUnitName: orgUnitName, + tousseName: tousseName, + tousseDefinitionID: tousseDefinitionID, + materialName: item.materialName, + showName: item.materialName, + amount: (item.materialAmount*amount), + tousseAmount: amount, + usebasketAmount: item.usebasketAmount, + basketGroupNum: item.basketGroupNum, + basketBarcode: item.basketBarcode, + idCardBarcode: '' + }; + addBasketItemElement(basketItem); + } + $('#loadedAmount'+row).val(parseInt(amount,10)+parseInt($('#loadedAmount'+row).val(),10)); + //相关器械包样式变更以区分是否已入筐 + $('#loadedAmount'+row).css("background","#b7d9a5"); + + inputSuccess = true; + }else{ + var str1 = "【" + showTousseName + "】需要使用组内有" + obj.tousseUseBasketAmount + "个篮筐的篮筐组回收"; + if(obj.tousseUseBasketAmount == 0){ + str1 = "该物品的包定义中的材料未设置分组篮筐编号,请设置后再入筐"; + } + alertDiv(str1); + } + } + } + }else{ + alertDiv('请先扫描篮筐条码。'); + } + $('#depart').focus(); + + return inputSuccess; + +} + +//添加回收记录明细,tousseName为器械包名称,applicationAmount为申请数量,recycleAmount为回收数量,loadedAmount为装载数量 +function addToussItem(toussItem){ + var row = toussItem.row; + var tousseItemId = toussItem.tousseItemId; + var tousseName = toussItem.tousseName; + var applicationAmount = toussItem.applicationAmount; + var recycleAmount = toussItem.recycleAmount; + var loadedAmount = toussItem.loadedAmount; + var isCleanedEntirely = toussItem.isCleanedEntirely; + var isApplyEntireTousse = toussItem.isApplyEntireTousse; + var tousseType = toussItem.tousseType; + var isThereIdentificationCard = toussItem.isThereIdentificationCard; + var tousseDefinitionID = toussItem.tousseDefinitionID; + var b = true; + if(isThereIdentificationCard != '是'){ + $('#tousseItemTable').children().first().children().each(function(i,element){ + if($('#tousseName'+i).val() == tousseName && $('#deleted'+i).val() == '0'){ + alertDiv(tousseName + ",回收列表已存在!"); + b = false; + } + }); + } + if(b){ + var showTousseName = tousseName; + var addButton = ""; + var reduceButton = ""; + var onclickFun = ""; + if(tousseType != '消毒物品' || (tousseType == '消毒物品' && '是' == isApplyEntireTousse)){ + addButton = '+'; + reduceButton = '-'; + onclickFun = 'onclick="openUpdateAmount(this,'+ row +');"'; + }else{ + addButton = '+'; + reduceButton = '-'; + onclickFun = ''; + } + /* var insertBasketButton = false; + if('是' == isCleanedEntirely){ + insertBasketButton = true; + } */ + var trElement = $(''+ + ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + addButton + + ''+ + reduceButton + + ''+ + '入筐'+ + '丢失'+ + '报废'+ + '删除'); + //$("#tousseItemTable").append(trElement);//在表格末尾追加行 + trElement.prependTo("#tousseItemTable");//在表格第一行追加行 + + //也可以用下面这种方式代替 + /* if($("#tousseItemTable > tbody > tr").length == 0){ + $("#tousseItemTable").append(trElement); + }else{ + trElement.insertBefore("#tousseItemTable > tbody > tr:first"); + } */ + } + return b; +} + +//待装载篮筐视图中的树形菜单伸缩的处理 +function toggleItems(spanElement){ + $(spanElement).toggleClass("minus"); + $(spanElement).nextAll('.sed').toggle(); +} + +function changeRecycleAmount(row){ + var originalValue = $('#originalValue'+row).val() == ''?0:parseInt($('#originalValue'+row).val(),10); + var recycleAmount = $('#recycleAmount'+row).val() == ''?0:parseInt($('#recycleAmount'+row).val(),10); + var originalValue = $('#originalValue'+row).val(); +} + + +//打开编辑数量页面 +var openElement; +function openUpdateAmount(obj,row){ + obj.blur(); + var width = 550; + var height = 300; + if(resolution == '1980'){ + width = 750; + height = 400; + } + openElement = obj; + $.layer({ + type : 2, + title : ['修改数量',true], + iframe : {src : 'updateAmount.jsp?resolution='+resolution+'&row='+row}, + area : [width + 'px' , height + 'px'], + border : [5, 0.3, '#fff', true], + closeBtn : [2 , true], + offset : ['250px',''] + }); +} + +function openUpdateStuffInTheBasketAmount(obj,tousseName,name,type){ + obj.blur(); + var width = 550; + var height = 300; + if(resolution == '1980'){ + width = 750; + height = 400; + } + openElement = obj; + $.layer({ + type : 2, + title : ['修改数量',true], + iframe : {src : 'updateAmount.jsp?resolution='+resolution+'&tousseName='+tousseName+'&name='+name+'&type='+type}, + area : [width + 'px' , height + 'px'], + border : [5, 0.3, '#fff', true], + closeBtn : [2 , true], + offset : ['250px',''] + }); + +} + +/** + * 验证存在回收误差的器械包数量是否小于器械包总数 + */ +function validateRecyclingErrorData(){ + var retValue = true; + $('#tousseItemTable').children().first().children().each(function(i,element){ + if(recyclingErrorsArray[i]) { + var newAmount = parseInt($('#recycleAmount'+i).val(),10); + var errorTousseAmount = 0; + for(var j=0;j 0){ + isAllMaterialInBasket = false; + return false; + } + }); + if(!isAllMaterialInBasket){ + alertDiv('还有部分材料未装入容器,不能保存。'); + return false; + } + + var dataFlag = validateRecyclingErrorData(); + if(dataFlag != true) { + alertDiv(dataFlag); + return false; + } + return true; +} + + +var btSave=false; +function doSaveAction(){ + if(submitCheck()){ + alertDiv("保存中,请稍候......", true); + + setJsonParams(false); + + if (btSave){ + return false; + } else { + btSave=true; + var formObj = document.getElementById('recyclingRecordForm'); + if(formObj != null){ + formObj.submit(); + } else { + btSave=false; + } + } + } +} +function doSaveAndNewAction(){ + if(submitCheck()){ + + setJsonParams(false); + + if (btSave){ + return false; + } else { + btSave=true; + var formObj = document.getElementById('recyclingRecordForm'); + if(formObj != null){ + formObj.submit(); + } else { + btSave=false; + } + } + } +} + +function setJsonParams(confirmation){ + var paramJson = {}; + paramJson.tousseJson = tousseArray; + paramJson.errors = getRecyclingErrors(); + paramJson.damages = getRecyclingDamages(); + paramJson.confirmation = confirmation; + var paramStr = JSON.stringify(paramJson); + $('#jsonParam').val(paramStr); +} + +function doConfirmAction(){ + if(submitCheck()){ + + setJsonParams(true); + + if (btSave){ + return false; + } else { + btSave=true; + var formObj = document.getElementById('recyclingRecordForm'); + if(formObj != null){ + formObj.submit(); + } else { + btSave=false; + } + } + } +} + +function end(){ + if($("#recyclingApplicationId").val() == ''){ + alertDiv("没有待回收记录,不能终止."); + return; + } + var endCase = openModalWindow(WWWROOT+"/disinfectsystem/recyclingApplication/selectEndCause.jsp?time="+new Date(), "选择终止原因", "760", "400"); + if(endCase != null && endCase != undefined && endCase.length > 0){ + var paramStr = JSON.stringify(originalTousseItemIds); + $.ajax({ + type:'get', + url:WWWROOT + '/disinfectSystem/invoicePlanAction!terminateTousseItems.do', + data:'tousseItemIds=' + paramStr+'&endCase='+encodeURI(endCase), + dataType:'text', + success:function(resultStr){ + var result = JSON.parse(resultStr); + alertDiv(result.msg); + if(result.success){ + location.href = 'awaitForRecycleList.jsp?resolution=' + resolution; + } + }, + error:function(XMLHttpRequest, textStatus, errorThrown){ + } + }); + } +} +//一键入筐 +function allInputBasket(){ + $('#tousseItemTable').children().first().children().each(function(row,element){ + if($('#deleted'+row).val() == '0'){ + var amount = parseInt($('#recycleAmount'+row).val(),10) - parseInt($('#loadedAmount'+row).val(),10); + if(amount > 0){ + var success = putTousseInTheBasket(row); + if(!success){ + return false; + } + } + } + }); +} + +function cancel(){ + if (confirm("确认取消吗?")) { + location.href = 'awaitForRecycleList.jsp?resolution=' + resolution; + } +} +//选择器械包 +function openSelectTousse(){ + var width = 780; + var height = 650; + var designedTousseWidth = 1080; + var designedTousseHeight = 770; + var designedWidth = 1920; + var designedHeight = 1080; + var actualWidth = window.screen.availWidth; + var actualHeight = window.screen.availHeight; + var offsetTop = 100; + var heightExtra = 10; + if(resolution == '1980'){ + width = 1080; + height = 770; + } + var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); + var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); + + width = size.width; + height = size.height; + + offsetTop = offsetTop*zoomRatio; + $.layer({ + type : 2, + title : ['添加器械包',true], + iframe : {src : 'addTousse.jsp?resolution='+resolution+'&width='+width+'&height='+height}, + area : [ width + 'px' , height +heightExtra+ 'px'], + border : [5, 0.3, '#fff', true], + closeBtn : [2 , true], + offset : [offsetTop+'px',''] + }); +} + +var currentUserType;//当前用户类型 +//点击选中回收人员或是清点人员 +function selectUserType(currentElementId){ + currentUserType = currentElementId; + $("#" + currentElementId).css("background","#DDDDDD"); + if(currentElementId == 'recyclingUser'){ + $("#operator").css("background","white"); + }else if(currentElementId == 'operator'){ + $("#recyclingUser").css("background","white"); + } +} +//选择科室 +function openSelectDepart(){ + var width = 780; + var height = 650; + var designedTousseWidth = 1080; + var designedTousseHeight = 830; + var designedWidth = 1920; + var designedHeight = 1080; + var actualWidth = window.screen.availWidth; + var actualHeight = window.screen.availHeight; + var offsetTop = 100; + var heightExtra = 10; + if(resolution == '1980'){ + width = 1080; + height = 830; + } + var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); + var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); + + width = size.width; + height = size.height; + + offsetTop = offsetTop*zoomRatio; + $.layer({ + type : 2, + title : ['选择科室',true], + iframe : {src : 'addDepart.jsp?resolution='+resolution+'&width='+width+'&height='+height}, + area : [ width + 'px' , height +heightExtra+ 'px'], + border : [5, 0.3, '#fff', true], + closeBtn : [2 , true], + offset : [offsetTop+'px',''] + }); +} +function selectDepart(departName,departCode){ + document.getElementById('depart').value = departName; + document.getElementById('departCode').value = departCode; +} +var originalTousseItemIds = []; + +function loadItem(){ + if(sstsConfig.recycleAllTousseIntoBasket){ + var divElement = document.getElementById('divElement'); + divElement.innerHTML = ''; + } + + document.onkeydown = showKeyDown; + var recyclingApplicationId = params_appId; + var barcode = params_barcode; + if(recyclingApplicationId != ''){ + DWREngine.setAsync(false); + RecyclingApplicationTableManager.getRecyclingApplicationForRecycle(recyclingApplicationId,function(application){ + if(application == null) + return; + + if(application.recyclingRecordId != null){ + loadRecyclingRecordById(application.recyclingRecordId); + }else{ + if (sstsConfig.showSettleAccountsDepartInRecycling){ + $("#depart").val(application.settleAccountsDepart); + $("#departCode").val(application.settleAccountsDepartCoding); + } + else{ + $("#depart").val(application.depart); + $("#departCode").val(application.departCoding); + } + $("#recyclingApplicationId").val(application.id); + $("#tousseItemTable").empty(); + $("#basketsUl").empty(); + if(application.type == '消毒物品申请单' || application.type == '自定义器械包申请单'){ + $('#add-bao').hide(); + applicationType = application.type; + } + if(application.applicationItems != null){ + var row = 0; + originalTousseItemIds = []; + for(var i = 0 ; i< application.applicationItems.length ; ++i){ + var item = application.applicationItems[i]; + if(item.diposable == '否' && item.isRecycling != '否' && item.tousseType != '敷料包' && item.tousseType != '自制物品'){ + var recycleAmount = item.prepareRecycleAmount; + if(recycleAmount == null){ + recycleAmount = item.amount; + } + var toussItem = { + row: row, + tousseItemId: '', + tousseName: item.tousseName, + tousseDefinitionID: item.tousseDefinitionId, + applicationAmount: item.amount, + recycleAmount: recycleAmount, + loadedAmount: 0, + isCleanedEntirely: item.isCleanedEntirely, + tousseType: item.tousseType, + isThereIdentificationCard: item.isThereIdentificationCard, + isApplyEntireTousse: item.isApplyEntireTousse + }; + addToussItem(toussItem); + originalTousseItemIds.push(item.id); + ++row; + } + } + } + + } + }); + DWREngine.setAsync(true); + } + + var id = params_id; + if(id != ''){ + loadRecyclingRecordById(id); + } + $("#recyclingTime").val(today); + $("#operator").val(userName); + if(sessionRecyclingUser != null && sessionRecyclingUser != 'null'){ + $("#recyclingUser").val(sessionRecyclingUser); + } + if(isSecondSupplyRoom && id == ""){ + $("#depart").val(secondOrgUnitName); + $("#departCode").val(secondOrgUnitCoding); + } + + //如果篮筐为空,隐藏扫描篮筐提示 + if($("#basketsUl > li").length == 0){ + $("#scanContainerBarcodeTipUl").show(); + }else{ + $("#scanContainerBarcodeTipUl").hide(); + //查询篮筐下的器械包与器械包列表中是否一致 + $("#basketsUl > li > dl > input[type=hidden]").each(function(index , item){ + var basketTousseItemJson = JSON.parse($(this).val()); + //相关器械包样式变更以区分是否已入筐 + $("input[id^=showTousseName]").each(function(index1 , item1){ + if(basketTousseItemJson.tousseName == $(this).val()){ + var elementId = $(this).attr("id"); + $("#loadedAmount" + elementId.substring(elementId.length - 1)).css("background","#b7d9a5"); + } + }); + }); + } + + checkLoadedAmount(); +} + +//装载数量根据其值更新背景色 +function checkLoadedAmount(){ + //注册装载数量文本框的值改变事件,当数量大于0时,背景颜色改为浅绿色,否则恢复为原色 + $("input[id^=loadedAmount]").each(function(item){ + var intValue = parseInt($(this).val()); + if(intValue > 0){ + $(this).css("background","#b7d9a5"); + }else{ + $(this).css("background","#FFFFFF"); + } + }); +} + +function loadRecyclingRecordById(id){ + DWREngine.setAsync(false); + RecyclingRecordTableManager.getRecyclingRecordById(id,function(record){ + record = eval("("+record+")"); + if(record != null){ + $("#id").val(record.id); + $("#depart").val(record.depart); + $("#recyclingUser").val(record.recyclingUser); + $("#departCode").val(record.departCode); + if(record.recyclingApplication != null){ + $("#recyclingApplicationId").val(record.recyclingApplication.id); + var recordType = record.recyclingApplication.type; + if(recordType == '消毒物品申请单' || recordType == '自定义器械包申请单'){ + $('#add-bao').hide(); + applicationType = record.recyclingApplication.type; + } + } + today = dateObjFormat(record.recyclingTime); + userName = record.operator; + $("#tousseItemTable").empty(); + $("#basketsUl").empty(); + + if(record.status == '未确认'){ + $('#confirmBtnTd').show(); + }else if(record.status == '已确认'){ + $('#saveBtnTd').hide(); + $('#saveAndNewBtnTd').hide(); + } + var row = 0; + //快速回收后未回收的包 + var recyclingApplication = record.recyclingApplication; + if(record.items != null){ + originalTousseItemIds = []; + for(var i = 0 ; i< record.items.length ; i++){ + var tousseItem = record.items[i]; + + var applyAmount = tousseItem.amount; + if(recyclingApplication != null && recyclingApplication.applicationItems != null){ + var applyItems = recyclingApplication.applicationItems; + for(var n = 0;n < applyItems.length;n++){ + if(applyItems[n].tousseName == tousseItem.tousseName){ + applyAmount = applyItems[n].amount; + break; + } + } + } + var toussItem = { + row: row, + tousseItemId: tousseItem.id, + tousseName: tousseItem.tousseName, + tousseDefinitionID: item.tousseDefinitionId, + applicationAmount: applyAmount, + recycleAmount: tousseItem.amount, + loadedAmount: tousseItem.amount, + isCleanedEntirely: tousseItem.isCleanedEntirely, + tousseType: tousseItem.tousseType, + isThereIdentificationCard: tousseItem.isThereIdentificationCard, + isApplyEntireTousse: tousseItem.isApplyEntireTousse + }; + var successAdd = addToussItem(toussItem); + if(!successAdd){ + continue; + } + originalTousseItemIds.push(tousseItem.id); + if(tousseItem.recyclingErrors != null && tousseItem.recyclingErrors.length > 0){ + document.getElementById('showTousseName'+row).className = 'input-a-yellow'; + recyclingErrorsArray[row] = new Array(); + for(var j=0;j 0){ + document.getElementById('showTousseName'+row).className = 'input-a-yellow'; + recyclingDamageArray[row] = new Array(); + for(var j=0;j删除'; + basketStr += ''; + basketStr += ''+record.classifyBaskets[i].containerName+''; + basketStr += '
    '; + basketStr += ''; + + var basketElement = $(basketStr); + $("#basketsUl").prepend(basketElement); + + var json = getBasketJSON(basket.id,basket.containerBarcode,basket.basketGroupName,basket.groupBasketAmount,basket.basketGroupNum); + $("#basketsUl li:first").find('input').val(json); + + toggleItems(basketElement.find('span')[0]); + for(var j = 0 ; j < record.classifyBaskets[i].classfiedItems.length ; j++){ + var ci = record.classifyBaskets[i].classfiedItems[j]; + var containerBarcode = record.classifyBaskets[i].containerBarcode; + if(record.id != ci.recyclingRecordId){ + continue; + } + if(ci.itemType == '材料'){ + var materialName = ci.materialDefinition.name; + if(ci.materialDefinition.specification != null && ci.materialDefinition.specification != ''){ + materialName += '['+ci.materialDefinition.specification+']'; + } + var tousseNameForMaterial = ci.tousseNameForMaterial; + + + var element = ''; + element += '
    '+materialName+'
    '; + element += '
     '+ci.idCardBarcode+'
    '; + element += '
    '+ci.amount+'
    '; + element += '
    删除
    '; + + $('dl[class="sed clearfix"]:eq(0)').prepend(element); + var json = getBasketItemJSON(ci.id,'材料',ci.orgUnitName,tousseNameForMaterial,materialName,ci.amount,ci.tousseAmountForMaterial,basket.groupBasketAmount,basket.basketGroupNum,ci.idCardBarcode); + $('dl[class="sed clearfix"]:eq(0)').find("input:first").val(json); + + $('td[axis="materialName"]').each(function(){ + if($(this).text() == materialName){ + $(this).parent().remove(); + return false; + } + }); + }else{ + var tousseNameForDisplay = ci.tousseDefinition.name; + + if(tousseNameForDisplay.length > 12){ + tousseNameForDisplay = tousseNameForDisplay.substring(0,12) + "..."; + } + var element = ''; + element += '
    '+tousseNameForDisplay+'
    '; + element += '
     '+ci.idCardBarcode+'
    '; + element += '
    '+ci.amount+'
    '; + element += '
    删除
    '; + $('dl[class="sed clearfix"]:eq(0)').prepend(element); + + var json = getBasketItemJSON(ci.id,ci.itemType,ci.orgUnitName,ci.tousseDefinition.name,"",ci.amount,ci.tousseAmountForMaterial,basket.groupBasketAmount,basket.basketGroupNum,ci.idCardBarcode); + $('dl[class="sed clearfix"]:eq(0)').find("input:first").val(json); + } + } + } + } + } + }); + DWREngine.setAsync(true); +} + +function encodeAll(text) { + var encoded = encodeURI(text); + encoded = encoded.replace('#','%23');// 对#号进行转码 + encoded = encoded.replace('+','%2B');// 对+号进行转码 + return encoded; +} \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp =================================================================== diff -u -r12644 -r12648 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp (.../recycleForTouchScreen.jsp) (revision 12644) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp (.../recycleForTouchScreen.jsp) (revision 12648) @@ -57,103 +57,7 @@ request.setAttribute("orgUnitName",orgUnitName); %> - - - - - -function dateObjFormat(v){ - if(v == null){ - return ""; - } else { - return (parseInt(v.year,10)+1900)+"-"+addZero(parseInt(v.month,10)+1)+"-"+addZero(v.date)+" "+addZero(v.hours)+":"+addZero(v.minutes); - } -} + -//回收误差 -var recyclingErrorsArray = new Array(); -//回收报损 -var recyclingDamageArray = new Array(); -var msgObj; - -function validateNumber(thiz){ - if(thiz.value.length==1){ - thiz.value=thiz.value.replace(/[^1-9]/g,''); - }else{ - thiz.value=thiz.value.replace(/\D/g,''); - } -} - -function add(row){ - if("消毒物品申请单" == applicationType){ - return; - } - increaseAmount(row); -} - -function reduce(row){ - var recycleAmount = $('#recycleAmount'+row).val() == ''?0:parseInt($('#recycleAmount'+row).val(),10)-1; - if(recycleAmount >= 0){ - $('#recycleAmount'+row).val(recycleAmount); - } - changeRecycleAmount(row); -} - -function deleteTousseItem(row){ - $('#tousseItemsTr'+row).hide(); - $('#deleted'+row).val('1'); - var tousseName = $('#tousseName'+row).val(); - var amountLeft = parseInt($('#loadedAmount'+row).val(),10); - var idCardBarcode = ''; - var tousse = { - basketBarcode: '', - basketId: '', - classifiedItemId: '', - tousseName: tousseName, - amount: -amountLeft, - tousseAmountForMaterial: -amountLeft, - itemType: "器械包", - tousseNameForMaterial: '', - idCardBarcode: '' - } - addOrDelTousse(tousse); - //移除篮筐内物品 - $("#basketsUl li").each(function(){ - var jsonObj = null; - $(this).find('dl').children().each(function(i,element){ - if($(this).attr('type') == 'hidden'){ - var obj = $(this).val(); - jsonObj = JSON.parse(obj); - }else if($(this).attr('class') == 'del'){ - if(jsonObj.tousseName == tousseName){ - var deleteButton = $(this).find('a'); - deleteBasketItem(deleteButton,false); - } - } - }); - }); -} - - -function unloadStaff(name,amount){ - $('#tousseItemTable').children().first().children().each(function(i,element){ - if($('#tousseName'+i).val() == name){ - $('#loadedAmount'+i).val(parseInt($('#loadedAmount'+i).val(),10)-parseInt(amount,10)); - return false; - } - }); -} - -//删除整个篮筐 -function deleteBasket(deleteButton,basketBarcode,basketId){ - var liElement = $(deleteButton).parent().parent(); - var delBasktJsonStr = liElement.find('input').val(); - var basketJson = JSON.parse(delBasktJsonStr); - var array = new Array(); - $("#basketsUl li").each(function(){ - var hideStr = $(this).find('input').val(); - var hiddenjson = JSON.parse(hideStr); - var actionBasketBarcode = basketJson.barcode; - if( hiddenjson.barcode == actionBasketBarcode || (basketJson.basketGroupName != "" && hiddenjson.basketGroupName == basketJson.basketGroupName)){ - $(this).find('dl').children().each(function(i,element){ - if($(this).attr('type') == 'hidden'){ - var obj = $(this).val(); - var itemJson = JSON.parse(obj); - //删篮筐内容是修改物品装载数量 - if(itemJson.type == '材料'){ - var exist = false; - var length = array.length; - for(var i = 0;i li").length == 0){ - $("#scanContainerBarcodeTipUl").show(); - } -} - - -//删除篮筐中的物品 -function deleteBasketItem(deleteButton,isUserClick){ - var hideElement = $(deleteButton).parent().prev().prev().prev().prev(); - var nameElement = $(deleteButton).parent().prev().prev().prev(); - var barcodeElement = $(deleteButton).parent().prev().prev(); - var amountElement = $(deleteButton).parent().prev(); - var delElement = $(deleteButton).parent(); - - var basketElement = $(deleteButton).parent().parent(); - var basketJSON = basketElement.prev().prev().prev().prev(); - var basket = JSON.parse(basketJSON.val()); - - var item = JSON.parse(hideElement.val()); - var name = ""; - var tousseNameForMaterial = ""; - var type = item.type; - var idCardBarcode = item.idCardBarcode; - //材料全部删除 - if(type == "材料" && isUserClick){ - name = item.materialName; - tousseNameForMaterial = item.tousseName; - $('dl[class="sed clearfix"]').each(function(){ - var basketEle = $(this).prev().prev().prev().prev().val(); - var basketJSON = JSON.parse(basketEle); - $(this).children().each(function(){ - if($(this).attr('type') == 'hidden'){ - var hideValue = $(this).val(); - if(hideValue != null && hideValue != ""){ - var obj = JSON.parse(hideValue); - if(obj.type == '材料' && obj.tousseName == item.tousseName && basket.basketGroupName == basketJSON.basketGroupName && obj.idCardBarcode == idCardBarcode){ - var delButton = $(this).next().next().next().next().find('a'); - deleteBasketItem(delButton,false); - } - } - } - }); - }); - } - var amount = item.amount; - var tousseAmountForMaterial = item.tousseAmount; - if(type == '材料'){ - name = item.materialName; - tousseNameForMaterial = item.tousseName; - }else{ - name = item.tousseName; - } - var usebasketAmount = item.usebasketAmount; - var basketGroupNum = item.basketGroupNum; - //alert(name+"--"+type+"--"+amount+"--"+tousseNameForMaterial+"--"+usebasketAmount+"--"+basketGroupNum); - //alert(item.tousseName+"--"+amount); - if(isUserClick){ - if(type == '材料'){ - unloadStaff(item.tousseName,tousseAmountForMaterial); - }else{ - unloadStaff(item.tousseName,amount); - } - } - - var basketId = basket.classifyBasketId; - var containerBarcode = basket.barcode; - if(!isUserClick || type != '材料'){ - var tousse = { - basketBarcode: containerBarcode, - basketId: basketId, - classifiedItemId: '', - tousseName: name, - amount: -parseInt(amount), - tousseAmountForMaterial: -parseInt(tousseAmountForMaterial), - itemType: type, - tousseNameForMaterial: tousseNameForMaterial, - idCardBarcode: idCardBarcode - } - addOrDelTousse(tousse); - } - hideElement.remove(); - nameElement.remove(); - barcodeElement.remove(); - amountElement.remove(); - delElement.remove(); - - //相关器械包样式变更以区分是否已入筐 - $("input[id^=showTousseName]").each(function(item){ - if(type == '材料'){ - if($(this).val() == tousseNameForMaterial){ - var elementId = $(this).attr("id"); - $("#loadedAmount" + elementId.substring(elementId.length - 1)).css("background","#FFFFFF"); - return false; - } - }else{ - if($(this).val() == name){ - var elementId = $(this).attr("id"); - $("#loadedAmount" + elementId.substring(elementId.length - 1)).css("background","#FFFFFF"); - return false; - } - } - - }); - - checkLoadedAmount(); -} - -//清理视图列表 -function cleanTableList(){ - $("#tousseItemTable").empty(); - $("#basketsUl").empty(); -} - -function cleanMaterialAndBasketTableList(){ - $("#basketsUl").empty(); -} - -/*--------------------------- -功能:停止事件冒泡 ----------------------------*/ -function stopBubble(e) { - //如果提供了事件对象,则这是一个非IE浏览器 - if ( e && e.stopPropagation ) - //因此它支持W3C的stopPropagation()方法 - e.stopPropagation(); - else - //否则,我们需要使用IE的方式来取消事件冒泡 - window.event.cancelBubble = true; -} -//阻止浏览器的默认行为 -function stopDefault( e ) { - //阻止默认浏览器动作(W3C) - if ( e && e.preventDefault ) - e.preventDefault(); - //IE中阻止函数器默认动作的方式 - else - window.event.returnValue = false; - return false; -} - -//在页面无需将光标定位在输入框相应全局的扫描枪事件 -var barcodeGloble = ''; -function showKeyDown(){ - if(event.keyCode == 48 || event.keyCode == 96){ - barcodeGloble += '0'; - }else if(event.keyCode == 49 || event.keyCode == 97){ - barcodeGloble += '1'; - }else if(event.keyCode == 50 || event.keyCode == 98){ - barcodeGloble += '2'; - }else if(event.keyCode == 51 || event.keyCode == 99){ - barcodeGloble += '3'; - }else if(event.keyCode == 52 || event.keyCode == 100){ - barcodeGloble += '4'; - }else if(event.keyCode == 53 || event.keyCode == 101){ - barcodeGloble += '5'; - }else if(event.keyCode == 54 || event.keyCode == 102){ - barcodeGloble += '6'; - }else if(event.keyCode == 55 || event.keyCode == 103){ - barcodeGloble += '7'; - }else if(event.keyCode == 56 || event.keyCode == 104){ - barcodeGloble += '8'; - }else if(event.keyCode == 57 || event.keyCode == 105){ - barcodeGloble += '9'; - }else if(event.keyCode == 13){ - loadBarcodeDevice(barcodeGloble); - } - - stopBubble(event); - stopDefault(event); -} - -// 扫描第二个篮框时,取消合并提示,默认不合并 -function mergedBasket(){ - return false; -} - -function idCardIsExist(barcode){ - var exist = false; - $('dl[class="sed clearfix"]').each(function(){ - $(this).children().each(function(){ - if($(this).attr('type') == 'hidden'){ - var hideValue = $(this).val(); - if(hideValue != null && hideValue != ""){ - var hiddenjson = JSON.parse(hideValue); - if(hiddenjson.idCardBarcode == barcode){ - exist = true; - return false; - } - } - } - }); - }); - return exist; -} - -//创建物品入筐 -function addBasketItemElement(basketItem){ - var ci_id = basketItem.ci_id; - var type = basketItem.type; - var orgUnitName = basketItem.orgUnitName; - var tousseName = basketItem.tousseName; - var materialName = basketItem.materialName; - var showName = basketItem.showName; - var amount = basketItem.amount; - var tousseAmount = basketItem.tousseAmount; - var usebasketAmount = basketItem.usebasketAmount; - var basketGroupNum = basketItem.basketGroupNum; - var basketBarcode = basketItem.basketBarcode; - var idCardBarcode = basketItem.idCardBarcode; - var tousseDefinitionID = basketItem.tousseDefinitionID; - var isExist = false; - var basketElement = $('dl[class="sed clearfix"]:eq(0)'); - var basketHidenValue = $("#basketsUl li:first").find('input').val(); - if(type == '材料'){ - if(usebasketAmount != "" && basketGroupNum != ""){ - $("#basketsUl li").each(function(){ - var hideStr = $(this).find('input').val(); - var json = JSON.parse(hideStr); - if(json.barcode == basketBarcode){ - basketElement = $(this).find("dl"); - basketHidenValue = hideStr; - $(this).find('dl').children().each(function(){ - if($(this).attr('type') == 'hidden'){ - var hideStr = $(this).val(); - var json = JSON.parse(hideStr); - if(json.materialName == materialName && json.tousseName == tousseName && json.idCardBarcode == idCardBarcode){ - isExist = true; - json.amount = (json.amount + amount); - json.tousseAmount = (json.tousseAmount + tousseAmount); - $(this).val(JSON.stringify(json)); - $(this).next().next().next().text(json.amount); - return false; - } - } - }); - return false; - } - }); - } - }else{ - $("#basketsUl li:first").find('dl').children().each(function(){ - if($(this).attr('type') == 'hidden'){ - var hideStr = $(this).val(); - var json = JSON.parse(hideStr); - if(json.tousseName == tousseName && json.idCardBarcode == idCardBarcode){ - json.amount = (json.amount + amount); - $(this).val(JSON.stringify(json)); - $(this).next().next().next().text(json.amount); - isExist = true; - return false; - } - } - }); - } - if(!isExist){ - var str = showName; - if(showName.length > 12){ - str = showName.substring(0,12) + "..."; - } - var element = ''; - element += '
    ' + str + '
    '; - element += '
     ' + idCardBarcode + '
    '; - element += '
    ' + amount + '
    '; - element += '
    删除
    '; - - var json = getBasketItemJSON(ci_id,type,orgUnitName,tousseName,materialName,amount,tousseAmount,usebasketAmount,basketGroupNum,idCardBarcode); - basketElement.prepend($(element)); - basketElement.find("input:first").val(json); - } - - var basketJson = JSON.parse(basketHidenValue); - var basketBarcode = basketJson.barcode; - var basketId = basketJson.classifyBasketId; - - var goodsName = tousseName; - var tousseNameForMaterial = ""; - if(type == "材料"){ - goodsName = materialName; - tousseNameForMaterial = tousseName; - } - var tousse = { - basketBarcode: basketBarcode, - basketId: basketId, - classifiedItemId: ci_id, - tousseName: goodsName, - amount: amount, - tousseAmountForMaterial: tousseAmount, - itemType: type, - tousseNameForMaterial: tousseNameForMaterial, - idCardBarcode: idCardBarcode, - tousseDefinitionID: tousseDefinitionID - } - addOrDelTousse(tousse); - - checkLoadedAmount(); -} - -function materialIntoBasket(tousseName){ - var materialIntoBasket = true; - var jsonArray = new Array(); - var tousseUseBasketAmount = 0; - DWREngine.setAsync(false); - TousseDefinitionTableManager.getTousseIncludeMaterialsWithOutDisposableGoods(tousseName,function(result){ - var json = JSON.parse(result); - var basketGroupName = ""; - for (var i = 0; i < json.length; i++) { - var materialName = json[i].materialName; - var materialAmount = json[i].amount; - var basketGroupNum = json[i].basketGroupNum; - var usebasketAmount = json[i].usebasketAmount; - if(basketGroupNum == "" || usebasketAmount == ""){ - materialIntoBasket = false; - return; - } - if(tousseUseBasketAmount < usebasketAmount){ - tousseUseBasketAmount = usebasketAmount; - } - var exist = false; - var basketBarcode = ""; - $("#basketsUl li").each(function(){ - var hideStr = $(this).find('input').val(); - var hiddenjson = JSON.parse(hideStr); - if(hiddenjson.groupBasketAmount == usebasketAmount && - hiddenjson.basketGroupNum == basketGroupNum && - (basketGroupName == "" || basketGroupName == hiddenjson.basketGroupName)){ - exist = true; - basketBarcode = hiddenjson.barcode; - basketGroupName = hiddenjson.basketGroupName; - return false; - } - }); - if(!exist){ - materialIntoBasket = false; - return; - } - var len = jsonArray.length; - jsonArray[len] = {}; - jsonArray[len].materialName = materialName; - jsonArray[len].usebasketAmount = usebasketAmount; - jsonArray[len].basketGroupNum = basketGroupNum; - jsonArray[len].materialAmount = materialAmount; - jsonArray[len].basketBarcode = basketBarcode; - } - }); - DWREngine.setAsync(true); - var obj = {}; - obj.success = materialIntoBasket; - obj.materials = jsonArray; - obj.tousseUseBasketAmount = tousseUseBasketAmount; - return obj; -} - -function loadBarcodeDevice(barcodeTemp){ - if(barcodeTemp.length >= 9){ - var barcode = barcodeTemp.substring(barcodeTemp.length-9,barcodeTemp.length); - $.ajax({ - type:'get', - url:WWWROOT + '/disinfectSystem/recyclingRecordAction!getBarcodeInfo.do?time='+new Date()+'&barcode='+barcode+'', - data:'recyclingRecordId='+$('#id').val(), - dataType:'json', - success:function(msg){ - if(msg.errorMessage != null ){ - alertDiv(msg.errorMessage); - }else if(msg.orgUnit!= null){ - //只更新科室名称及编码信息(since2015-12-16 SYF),添加新单时才更新部门 - - $("#depart").val(msg.orgUnit.name); - $("#departCode").val(msg.orgUnit.orgUnitCoding); - - - alertDiv("已有回收单不可更改科室"); - - //清理列表(以下逻辑全部注释不用 since2015-12-16 SYF) - /* cleanTableList(); - if(msg.application != null && msg.application.length == 1){ - $("#depart").val(msg.orgUnit.name); - $("#departCode").val(msg.orgUnit.orgUnitCoding); - $("#recyclingApplicationId").val(msg.application[0].id); - $("#tousseItemTable").empty(); - $("#basketsUl").empty(); - var row = 0 ; - for(var i = 0 ; i< msg.application[0].applicationItems.length ; i++){ - if(msg.application[0].applicationItems[i].diposable == '否' && msg.application[0].applicationItems[i].tousseType != '敷料包' && msg.application[0].applicationItems[i].tousseType != '自制物品'){ - var tousseDefinitionId = msg.application[0].applicationItems[i].tousseDefinitionId; - var isRecycling = ""; - DWREngine.setAsync(false); - TousseDefinitionTableManager.getIsRecyclingByTousseDefinitionId(tousseDefinitionId,function(result){ - if(result != ""){ - isRecycling = result; - } - }); - DWREngine.setAsync(true); - if(isRecycling != "否"){ - addToussItem(row,'',msg.application[0].applicationItems[i].tousseName,msg.application[0].applicationItems[i].amount,msg.application[0].applicationItems[i].amount,msg.application[0].applicationItems[i].isCleanedEntirely=='是'?0:'',msg.application[0].applicationItems[i].isCleanedEntirely,msg.application[0].applicationItems[i].tousseType,msg.application[0].applicationItems[i].isThereIdentificationCard); - row++; - } - } - } - }else if(msg.application != null && msg.application.length > 1){ - //添加打开申请单选择页面选择申请单 - $("#depart").val(msg.orgUnit.name); - $("#departCode").val(msg.orgUnit.orgUnitCoding); - msgObj = msg; - openselectRecyclingApplication(); - }else if(msg.application == null || msg.application.length == 0){ - $("#depart").val(msg.orgUnit.name); - $("#departCode").val(msg.orgUnit.orgUnitCoding); - alertDiv("该科室没有申请回收。"); - } */ - }else if(msg.baskets != null && msg.baskets.length > 0){ - var isBasketLoaded = false; - var currentNode; - //不装配的篮筐不能回收扫描 - /* var containerStatus = msg.basketStatus; - if(containerStatus == "清洗完成" || containerStatus == "清洗"){ - var bool = window.confirm("【"+msg.basket.containerName + "】内有器械未装配,是否继续使用该篮筐?"); - if(!bool){ - return false; - } - } */ - - for(var i = 0;i < msg.baskets.length;i++){ - var basketItem = msg.baskets[i]; - $("#basketsUl li").each(function(){ - var hide = $(this).find('input'); - var item = JSON.parse(hide.val()); - if(item.barcode == basketItem.containerBarcode){ - isBasketLoaded = true; - currentNode = $(this); - return false; - } - }); - - if(isBasketLoaded){ - //将篮筐放置在最前面 - $("#basketsUl").prepend(currentNode); - toggleItems(currentNode.find('span')[0]); - }else{ - var basketElement = '
  • '; - basketElement += ''; - basketElement += ''; - basketElement += '删除'; - basketElement += ''; - basketElement += ''; - basketElement += ''+basketItem.containerName+''; - basketElement += '
    '; - basketElement += '
  • '; - var obj = $(basketElement); - $("#basketsUl").prepend(obj); - var json = getBasketJSON(basketItem.id,basketItem.containerBarcode,basketItem.basketGroupName,basketItem.groupBasketAmount,basketItem.basketGroupNum); - $("#basketsUl li:first").find('input').val(json); - toggleItems(obj.find('span')[0]); - } - } - $("#scanContainerBarcodeTipUl").hide(); - }else if(msg.tousseInstance != null){ - if(msg.tousseInstance.tousseFixedBarcode == true && msg.tousseInstance.unTraceableTousse == true){ - var ti = msg.tousseInstance; - var td = ti.tousseDefinition; - var toussItem = { - row: $("#tousseItemTable tbody tr").length, - tousseItemId: '', - tousseName: td.name, - tousseDefinitionID: td.id, - applicationAmount: 0, - recycleAmount: 1, - loadedAmount: 0, - isCleanedEntirely: td.isCleanedEntirely, - tousseType: td.tousseType, - isThereIdentificationCard: '否', - isApplyEntireTousse: td.isApplyEntireTousse - }; - addToussItem(toussItem); - } - - //去掉以理这两个限制,允许扫描篮筐之前先扫描器械包(since 20151217 SYF) - /* else if($('#depart').attr('value') == ''){ - alertDiv('请先扫描科室条码!'); - } */ - else if($('#basketsUl').children().length <= 0){ - alertDiv('请先扫描篮筐条码!'); - } - else{ - if($('#depart').attr('value') == ''){ - $('#depart').val(msg.tousseInstance.locationForDisplay) - $('#departCode').val(msg.tousseInstance.location) - } - - if(msg.tousseInstance.locationForDisplay != null && msg.tousseInstance.locationForDisplay != '' && $('#depart').attr('value') != msg.tousseInstance.locationForDisplay){ - alertDiv('该器械包不属于该科室。'); - }else if(msg.tousseInstance.status != shipped && msg.tousseInstance.status != used - && msg.tousseInstance.status != discard && msg.tousseInstance.status != signed){ - alertDiv('该器械包未发货,不能回收。'); - }else{ - var ti = msg.tousseInstance; - var td = ti.tousseDefinition; - - var exist = idCardIsExist(barcode); - if(exist){ - alertDiv(barcode+",已入筐!"); - scanned = true; - }else{ - var ti = msg.tousseInstance; - var td = ti.tousseDefinition; - var orgUnitName = $('#depart').val(); - if(td.isCleanedEntirely == '是'){ - var basketHideStr = $("#basketsUl li:first").find('input').val(); - var item = JSON.parse(basketHideStr); - var jsonArray = new Array(); - jsonArray[0] = {}; - jsonArray[0].name = td.name; - jsonArray[0].basketBarcode = item.barcode; - - var amount = getTousseIntoBasketAmount(td.name,1,'是',jsonArray); - if(amount <= 0){ - alertDiv('该篮筐器械包数量已达到系统设定的上限数量,不能入筐。'); - return false; - } - var basketItem = { - ci_id: '', - type: '器械包', - orgUnitName: orgUnitName, - tousseName: td.name, - materialName: '', - showName: td.name, - amount: 1, - tousseAmount: 1, - usebasketAmount: '', - basketGroupNum: '', - basketBarcode: '', - idCardBarcode: barcode, - tousseDefinitionID: td.id - }; - addBasketItemElement(basketItem); - }else{ - var obj = materialIntoBasket(td.name); - var success = obj.success; - var jsonArray = obj.materials; - if(success){ - //篮筐上限验证 - var dataArray = new Array(); - for(var i = 0;i < jsonArray.length;i++){ - var item = jsonArray[i]; - var d_len = dataArray.length; - dataArray[d_len] = {}; - dataArray[d_len].name = item.materialName; - dataArray[d_len].basketBarcode = item.basketBarcode; - } - var amount = getTousseIntoBasketAmount(td.name,1,'否',dataArray); - if(amount <= 0){ - alertDiv('该篮筐器械包数量已达到系统设定的上限数量,不能入筐。'); - return false; - } - - for(var i = 0;i < jsonArray.length;i++){ - var item = jsonArray[i]; - var basketItem = { - ci_id: '', - type: '材料', - orgUnitName: orgUnitName, - tousseName: td.name, - materialName: item.materialName, - showName: item.materialName, - amount: item.materialAmount, - tousseAmount: 1, - usebasketAmount: item.usebasketAmount, - basketGroupNum: item.basketGroupNum, - basketBarcode: item.basketBarcode, - idCardBarcode: barcode, - tousseDefinitionID: td.id - }; - addBasketItemElement(basketItem); - } - }else{ - var str1 = "【" + td.name + "】需要使用组内有" + obj.tousseUseBasketAmount + "个篮筐的篮筐组回收"; - if(obj.tousseUseBasketAmount == 0){ - str1 = "该物品的包定义中的材料未设置分组篮筐编号,请设置后再入筐"; - } - alertDiv(str1); - } - } - var tousseIsExist = false; - $('#tousseItemTable').children().first().children().each(function(i,element){ - if($('#tousseName'+i).val() == td.name && $('#deleted'+i).val() == '0'){ - tousseIsExist = true; - $('#loadedAmount'+i).val(1 + parseInt($('#loadedAmount'+i).val(),10)); - if(parseInt($('#loadedAmount'+i).val()) > parseInt($('#recycleAmount'+i).val())){ - $('#recycleAmount'+i).val(parseInt($('#loadedAmount'+i).val())); - } - } - }); - if(!tousseIsExist){ - var toussItem = { - row: $("#tousseItemTable tbody tr").length, - tousseItemId: '', - tousseName: td.name, - tousseDefinitionID: td.id, - applicationAmount: 0, - recycleAmount: 1, - loadedAmount: 1, - isCleanedEntirely: td.isCleanedEntirely, - tousseType: td.type, - isThereIdentificationCard: '是', - isApplyEntireTousse: td.isApplyEntireTousse - }; - addToussItem(toussItem); - } - } - } - } - - checkLoadedAmount(); - }else if(msg.user != null){ - userNameByBarcode = msg.user.fullName; - //点击选中回收人员或是清点人员 - if(currentUserType == 'recyclingUser'){ - $('#recyclingUser').val(userNameByBarcode); - }else if(currentUserType == 'operator'){ - $('#operator').val(userNameByBarcode); - }else{ - alertDiv('请选择条码对应的人员类型!' , true , true); - } - }else{ - alertDiv('没有找到该条码所对应的信息。'); - } - $("#codeScan").val(""); - barcodeGloble = ""; - }, - error:function(){ - } - }); - }else{ - alertDiv('条码长度不符合规范。'); - } -} - -//选择回收人员 -function selectRecyclingUser(){ - $('#recyclingUser').val(userNameByBarcode); -} -//选择清点人员 -function selectOperator(){ - $('#operator').val(userNameByBarcode); -} - - -function openselectRecyclingApplication(){ - var width = 740; - var height = 400; - if('${param.resolution}' == '1980'){ - width = 980; - height = 420; - } - - $.layer({ - type : 2, - title : ['选择申请单',true], - iframe : {src : 'recyclingApplications.jsp?resolution=${param.resolution}'}, - area : [ width + 'px' , height + 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : ['100px',''] - }); -} - -function openRecyclingErrorPage(row){ - - var isEditIDCardError = false; - if($('#id').val() == ""){ - isEditIDCardError = true; - } - var tousseName = $('#tousseName'+row).val(); - var width = 740; - var height = 400; - var designedTousseWidth = 980; - var designedTousseHeight = 700; - var designedWidth = 1920; - var designedHeight = 1080; - var actualWidth = window.screen.availWidth; - var actualHeight = window.screen.availHeight; - var offsetTop = 100; - var heightExtra = 10; - if('${param.resolution}' == '1980'){ - width = 980; - height = 700; - } - var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); - var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); - - width = size.width; - height = size.height; - - offsetTop = offsetTop*zoomRatio; - $.layer({ - type : 2, - title : ['材料丢失',true], - iframe : {src : 'recyclingErrors.jsp?resolution=${param.resolution}&isEditIDCardError='+isEditIDCardError+'&width='+width+'&height='+height+'&row='+row+'&tousseName='+encodeAll(tousseName)+'&tousseCount='+($('#recycleAmount'+row).val()==''?0:$('#recycleAmount'+row).val())}, - area : [ width + 'px' , height +heightExtra + 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : [offsetTop+'px',''] - }); -} - -function openRecyclingDamagePage(row,tousseName,tousseItemId){ - var width = 740; - var height = 400; - var designedTousseWidth = 980; - var designedTousseHeight = 700; - var designedWidth = 1920; - var designedHeight = 1080; - var actualWidth = window.screen.availWidth; - var actualHeight = window.screen.availHeight; - var offsetTop = 100; - var heightExtra = 10; - var depart = $('#depart').val(); - var departCode = $('#departCode').val(); - if('${param.resolution}' == '1980'){ - width = 980; - height = 700; - } - var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); - var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); - - width = size.width; - height = size.height; - - offsetTop = offsetTop*zoomRatio; - $.layer({ - type : 2, - title : ['材料报废',true], - iframe : {src : 'recyclingDamage.jsp?resolution=${param.resolution}&width='+width+'&height='+height+'&row='+row+'&tousseName='+tousseName+'&tousseItemId='+tousseItemId+'&tousseCount='+$('#recycleAmount'+row).attr('value')+'&depart='+depart+'&departCode='+departCode}, - area : [ width + 'px' , height +heightExtra + 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : [offsetTop+'px',''] - }); -} -function amendDisinfectionTousse(row){ - var tousseName = $('#tousseName'+row).val(); - var tousseType = $('#tousseType'+row).val(); - if(tousseType == '消毒物品' || tousseType == '灭菌物品'){ - var width = 740; - var height = 400; - if('${param.resolution}' == '1980'){ - width = 980; - height = 700; - } - - $.layer({ - type : 2, - title : ['消毒物品明细',true], - iframe : {src : 'disinfectionTousseItems.jsp?resolution=${param.resolution}&row='+row+'&tousseName='+tousseName}, - area : [ width + 'px' , height + 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : ['100px',''] - }); - }else if(tousseType == '器械包'){ - $.ajax({ - type:'post', - url:WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getToussePictureAmount.do', - data:'name='+encodeAll(tousseName), - dataType:'text', - success:function(msg){ - - var amount = parseInt(msg,10); - var items = new Array(); - if(amount == 0){ - amount = 1; - } - for(var i = 0;i < amount;i++){ - items.push({ - src:'tousseImage.jsp?resolution=${param.resolution}&tousseName='+tousseName+'&number='+(i+1), - type :'iframe' - }); - } - $.magnificPopup.open({ - items: items, - gallery: { - enabled: true - }, - image: { - verticalFit: true - }, - type: 'image' // this is default type - }); - }, - error:function(XMLHttpRequest, textStatus, errorThrown){ - } - }); - } -} - -function getBasketJSON(itemId,barcode,basketGroupName,groupBasketAmount,basketGroupNum){ - var json = {}; - json.classifyBasketId = itemId; - json.barcode = barcode; - json.basketGroupName = basketGroupName; - json.groupBasketAmount = groupBasketAmount; - json.basketGroupNum = basketGroupNum; - return JSON.stringify(json); -} - -function getBasketItemJSON(ci_id,type,orgUnitName,tousseName,materialName,amount,tousseAmount,usebasketAmount,basketGroupNum,idCardBarcode){ - var json = {}; - json.classifiedItemId = ci_id; - json.type = type; - json.orgUnitName = orgUnitName; - json.tousseName = tousseName; - json.materialName = materialName; - json.amount = amount;//td显示的数量 - json.tousseAmount = tousseAmount;//材料相对的包数量 - json.usebasketAmount = usebasketAmount; - json.basketGroupNum = basketGroupNum; - json.idCardBarcode = idCardBarcode; - return JSON.stringify(json); -} - -function getScanedGoods(barcode){ - var scanedGoodsArray = new Array(); - $("#basketsUl li").each(function(){ - var hideStr = $(this).find('input').val(); - var hiddenjson = JSON.parse(hideStr); - if(hiddenjson.barcode == barcode){ - $(this).find('dl').children().each(function(i,element){ - if($(this).attr('type') == 'hidden'){ - var itemJson = $(this).val(); - var json = JSON.parse(itemJson); - if(json.classifiedItemId == ""){ - var len = scanedGoodsArray.length; - scanedGoodsArray[len] = {}; - var type = json.type; - var name = json.tousseName; - if(type == '材料'){ - name = json.materialName; - } - scanedGoodsArray[len].name = name; - scanedGoodsArray[len].type = json.type; - scanedGoodsArray[len].amount = json.amount; - } - } - }); - } - }); - return scanedGoodsArray; -} - -function getTousseIntoBasketAmount(tousseName,amount,isCleanedEntirely,jsonArray){ - var params = {}; - params.tousseName = tousseName; - params.tousseAmount = amount; - params.isCleanedEntirely = isCleanedEntirely; - var dataArray = new Array(); - for(var i = 0;i < jsonArray.length;i++){ - var item = jsonArray[i]; - - var d_len = dataArray.length; - var isExist = false; - var tmp_index = null; - for(var j = 0;j < d_len;j++){ - if(dataArray[j].barcode == item.basketBarcode){ - isExist = true; - tmp_index = j; - } - } - if(!isExist){ - dataArray[d_len] = {}; - dataArray[d_len].barcode = item.basketBarcode; - dataArray[d_len].scanedGoods = getScanedGoods(item.basketBarcode); - dataArray[d_len].goodsInfo = new Array(); - dataArray[d_len].goodsInfo[0] = {}; - dataArray[d_len].goodsInfo[0].name = item.name; - }else{ - var le = dataArray[tmp_index].goodsInfo.length; - dataArray[tmp_index].goodsInfo[le] = {}; - dataArray[tmp_index].goodsInfo[le].name = item.name; - } - } - params.data = dataArray; - DWREngine.setAsync(false); - var amount; - RecyclingRecordTableManager.getTousseIntoBasketAmount(JSON.stringify(params),function(result){ - var j = JSON.parse(result); - amount = j.loadedAmount; - }); - DWREngine.setAsync(true); - return amount; -} - -//将器械包放入篮筐中 -function putTousseInTheBasket(row){ - var inputSuccess = false; - if($('#basketsUl').children().length > 0){ - var tousseName = $('#tousseName'+row).val(); - var tousseDefinitionID = $('#tousseDefinitionID'+row).val(); - var showTousseName = $('#showTousseName'+row).val(); - var isCleanedEntirely = $('#isCleanedEntirely'+row).val(); - var amount = parseInt($('#recycleAmount'+row).val(),10) - parseInt($('#loadedAmount'+row).val(),10); - - //回收数量扣减入筐操作 如果已经入筐就不能入筐,只能是手动从篮筐里面删除,因为程序不晓得从哪个篮筐里面扣减 - var msg = ""; - if(amount < 0){ - $("#basketsUl li").each(function(){ - $(this).find('dl').children().each(function(i,element){ - if($(this).attr('type') == 'hidden'){ - var hideStr = $(this).val(); - var json = JSON.parse(hideStr); - if(json.tousseName == tousseName){ - msg = tousseName+"已入筐,请从篮筐内删除后再入筐!"; - return false; - } - } - }); - }); - } - if(msg != ""){ - alertDiv(msg); - return false; - } - - var isIDCard = $('#isThereIdentificationCard'+row).val(); - if(isIDCard == '是'){ - var showMsg = null; - if(recyclingErrorsArray[row]){ - for(var j=0;j 0){ - //已入筐数量 - var dataArray = new Array(); - dataArray[0] = {}; - dataArray[0].basketBarcode = tmpBasketBarcode; - dataArray[0].name = tousseName; - amount = getTousseIntoBasketAmount(tousseName,amount,isCleanedEntirely,dataArray); - if(amount <= 0){ - alertDiv('该篮筐器械包数量已达到系统设定的上限数量,不能入筐。'); - return false; - } - } - var basketItem = { - ci_id: "", - type: '器械包', - orgUnitName: orgUnitName, - tousseName: tousseName, - tousseDefinitionID: tousseDefinitionID, - materialName: "", - showName: tousseName, - amount: amount, - tousseAmount: amount, - usebasketAmount: "", - basketGroupNum: "", - basketBarcode: "", - idCardBarcode: "" - }; - addBasketItemElement(basketItem); - $('#loadedAmount'+row).val(parseInt(amount,10)+parseInt($('#loadedAmount'+row).val(),10)); - //相关器械包样式变更以区分是否已入筐 - $("#loadedAmount" + row).css("background","#b7d9a5"); - - inputSuccess = true; - }else{ - var obj = materialIntoBasket(tousseName); - var success = obj.success; - var jsonArray = obj.materials; - if(success){ - //篮筐上限验证 - var dataArray = new Array(); - for(var i = 0;i < jsonArray.length;i++){ - var item = jsonArray[i]; - var d_len = dataArray.length; - dataArray[d_len] = {}; - dataArray[d_len].name = item.materialName; - dataArray[d_len].basketBarcode = item.basketBarcode; - } - amount = getTousseIntoBasketAmount(tousseName,amount,isCleanedEntirely,dataArray); - if(amount <= 0){ - alertDiv('该篮筐器械包数量已达到系统设定的上限数量,不能入筐。'); - return false; - } - - var orgUnitName = $('#depart').val(); - for(var i = 0;i < jsonArray.length;i++){ - var item = jsonArray[i]; - var basketItem = { - ci_id: "", - type: '材料', - orgUnitName: orgUnitName, - tousseName: tousseName, - tousseDefinitionID: tousseDefinitionID, - materialName: item.materialName, - showName: item.materialName, - amount: (item.materialAmount*amount), - tousseAmount: amount, - usebasketAmount: item.usebasketAmount, - basketGroupNum: item.basketGroupNum, - basketBarcode: item.basketBarcode, - idCardBarcode: '' - }; - addBasketItemElement(basketItem); - } - $('#loadedAmount'+row).val(parseInt(amount,10)+parseInt($('#loadedAmount'+row).val(),10)); - //相关器械包样式变更以区分是否已入筐 - $('#loadedAmount'+row).css("background","#b7d9a5"); - - inputSuccess = true; - }else{ - var str1 = "【" + showTousseName + "】需要使用组内有" + obj.tousseUseBasketAmount + "个篮筐的篮筐组回收"; - if(obj.tousseUseBasketAmount == 0){ - str1 = "该物品的包定义中的材料未设置分组篮筐编号,请设置后再入筐"; - } - alertDiv(str1); - } - } - } - }else{ - alertDiv('请先扫描篮筐条码。'); - } - $('#depart').focus(); - - return inputSuccess; - -} - -//添加回收记录明细,tousseName为器械包名称,applicationAmount为申请数量,recycleAmount为回收数量,loadedAmount为装载数量 -function addToussItem(toussItem){ - var row = toussItem.row; - var tousseItemId = toussItem.tousseItemId; - var tousseName = toussItem.tousseName; - var applicationAmount = toussItem.applicationAmount; - var recycleAmount = toussItem.recycleAmount; - var loadedAmount = toussItem.loadedAmount; - var isCleanedEntirely = toussItem.isCleanedEntirely; - var isApplyEntireTousse = toussItem.isApplyEntireTousse; - var tousseType = toussItem.tousseType; - var isThereIdentificationCard = toussItem.isThereIdentificationCard; - var tousseDefinitionID = toussItem.tousseDefinitionID; - var b = true; - if(isThereIdentificationCard != '是'){ - $('#tousseItemTable').children().first().children().each(function(i,element){ - if($('#tousseName'+i).val() == tousseName && $('#deleted'+i).val() == '0'){ - alertDiv(tousseName + ",回收列表已存在!"); - b = false; - } - }); - } - if(b){ - var showTousseName = tousseName; - var addButton = ""; - var reduceButton = ""; - var onclickFun = ""; - if(tousseType != '消毒物品' || (tousseType == '消毒物品' && '是' == isApplyEntireTousse)){ - addButton = '+'; - reduceButton = '-'; - onclickFun = 'onclick="openUpdateAmount(this,'+ row +');"'; - }else{ - addButton = '+'; - reduceButton = '-'; - onclickFun = ''; - } - /* var insertBasketButton = false; - if('是' == isCleanedEntirely){ - insertBasketButton = true; - } */ - var trElement = $(''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - addButton + - ''+ - reduceButton + - ''+ - '入筐'+ - '丢失'+ - '报废'+ - '删除'); - //$("#tousseItemTable").append(trElement);//在表格末尾追加行 - trElement.prependTo("#tousseItemTable");//在表格第一行追加行 - - //也可以用下面这种方式代替 - /* if($("#tousseItemTable > tbody > tr").length == 0){ - $("#tousseItemTable").append(trElement); - }else{ - trElement.insertBefore("#tousseItemTable > tbody > tr:first"); - } */ - } - return b; -} - -//待装载篮筐视图中的树形菜单伸缩的处理 -function toggleItems(spanElement){ - $(spanElement).toggleClass("minus"); - $(spanElement).nextAll('.sed').toggle(); -} - -function changeRecycleAmount(row){ - var originalValue = $('#originalValue'+row).val() == ''?0:parseInt($('#originalValue'+row).val(),10); - var recycleAmount = $('#recycleAmount'+row).val() == ''?0:parseInt($('#recycleAmount'+row).val(),10); - var originalValue = $('#originalValue'+row).val(); -} - - -//打开编辑数量页面 -var openElement; -function openUpdateAmount(obj,row){ - obj.blur(); - var width = 550; - var height = 300; - if('${param.resolution}' == '1980'){ - width = 750; - height = 400; - } - openElement = obj; - $.layer({ - type : 2, - title : ['修改数量',true], - iframe : {src : 'updateAmount.jsp?resolution=${param.resolution}&row='+row}, - area : [width + 'px' , height + 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : ['250px',''] - }); -} - -function openUpdateStuffInTheBasketAmount(obj,tousseName,name,type){ - obj.blur(); - var width = 550; - var height = 300; - if('${param.resolution}' == '1980'){ - width = 750; - height = 400; - } - openElement = obj; - $.layer({ - type : 2, - title : ['修改数量',true], - iframe : {src : 'updateAmount.jsp?resolution=${param.resolution}&tousseName='+tousseName+'&name='+name+'&type='+type}, - area : [width + 'px' , height + 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : ['250px',''] - }); - -} - -/** - * 验证存在回收误差的器械包数量是否小于器械包总数 - */ -function validateRecyclingErrorData(){ - var retValue = true; - $('#tousseItemTable').children().first().children().each(function(i,element){ - if(recyclingErrorsArray[i]) { - var newAmount = parseInt($('#recycleAmount'+i).val(),10); - var errorTousseAmount = 0; - for(var j=0;j 0){ - isAllMaterialInBasket = false; - return false; - } - }); - if(!isAllMaterialInBasket){ - alertDiv('还有部分材料未装入容器,不能保存。'); - return false; - } - - var dataFlag = validateRecyclingErrorData(); - if(dataFlag != true) { - alertDiv(dataFlag); - return false; - } - return true; -} - - -var btSave=false; -function doSaveAction(){ - if(submitCheck()){ - alertDiv("保存中,请稍候......", true); - - setJsonParams(false); - - if (btSave){ - return false; - } else { - btSave=true; - var formObj = document.getElementById('recyclingRecordForm'); - if(formObj != null){ - formObj.submit(); - } else { - btSave=false; - } - } - } -} -function doSaveAndNewAction(){ - if(submitCheck()){ - - setJsonParams(false); - - if (btSave){ - return false; - } else { - btSave=true; - var formObj = document.getElementById('recyclingRecordForm'); - if(formObj != null){ - formObj.submit(); - } else { - btSave=false; - } - } - } -} - -function setJsonParams(confirmation){ - var paramJson = {}; - paramJson.tousseJson = tousseArray; - paramJson.errors = getRecyclingErrors(); - paramJson.damages = getRecyclingDamages(); - paramJson.confirmation = confirmation; - var paramStr = JSON.stringify(paramJson); - $('#jsonParam').val(paramStr); -} - -function doConfirmAction(){ - if(submitCheck()){ - - setJsonParams(true); - - if (btSave){ - return false; - } else { - btSave=true; - var formObj = document.getElementById('recyclingRecordForm'); - if(formObj != null){ - formObj.submit(); - } else { - btSave=false; - } - } - } -} - -function end(){ - if($("#recyclingApplicationId").val() == ''){ - alertDiv("没有待回收记录,不能终止."); - return; - } - var endCase = openModalWindow(WWWROOT+"/disinfectsystem/recyclingApplication/selectEndCause.jsp?time="+new Date(), "选择终止原因", "760", "400"); - if(endCase != null && endCase != undefined && endCase.length > 0){ - var paramStr = JSON.stringify(originalTousseItemIds); - $.ajax({ - type:'get', - url:WWWROOT + '/disinfectSystem/invoicePlanAction!terminateTousseItems.do', - data:'tousseItemIds=' + paramStr+'&endCase='+encodeURI(endCase), - dataType:'text', - success:function(resultStr){ - var result = JSON.parse(resultStr); - alertDiv(result.msg); - if(result.success){ - location.href = 'awaitForRecycleList.jsp?resolution=${param.resolution}'; - } - }, - error:function(XMLHttpRequest, textStatus, errorThrown){ - } - }); - } -} -//一键入筐 -function allInputBasket(){ - $('#tousseItemTable').children().first().children().each(function(row,element){ - if($('#deleted'+row).val() == '0'){ - var amount = parseInt($('#recycleAmount'+row).val(),10) - parseInt($('#loadedAmount'+row).val(),10); - if(amount > 0){ - var success = putTousseInTheBasket(row); - if(!success){ - return false; - } - } - } - }); -} - -function cancel(){ - if (confirm("确认取消吗?")) { - location.href = 'awaitForRecycleList.jsp?resolution=${param.resolution}'; - } -} -//选择器械包 -function openSelectTousse(){ - var width = 780; - var height = 650; - var designedTousseWidth = 1080; - var designedTousseHeight = 770; - var designedWidth = 1920; - var designedHeight = 1080; - var actualWidth = window.screen.availWidth; - var actualHeight = window.screen.availHeight; - var offsetTop = 100; - var heightExtra = 10; - if('${param.resolution}' == '1980'){ - width = 1080; - height = 770; - } - var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); - var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); - - width = size.width; - height = size.height; - - offsetTop = offsetTop*zoomRatio; - $.layer({ - type : 2, - title : ['添加器械包',true], - iframe : {src : 'addTousse.jsp?resolution=${param.resolution}&width='+width+'&height='+height}, - area : [ width + 'px' , height +heightExtra+ 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : [offsetTop+'px',''] - }); -} - -var currentUserType;//当前用户类型 -//点击选中回收人员或是清点人员 -function selectUserType(currentElementId){ - currentUserType = currentElementId; - $("#" + currentElementId).css("background","#DDDDDD"); - if(currentElementId == 'recyclingUser'){ - $("#operator").css("background","white"); - }else if(currentElementId == 'operator'){ - $("#recyclingUser").css("background","white"); - } -} -//选择科室 -function openSelectDepart(){ - var width = 780; - var height = 650; - var designedTousseWidth = 1080; - var designedTousseHeight = 830; - var designedWidth = 1920; - var designedHeight = 1080; - var actualWidth = window.screen.availWidth; - var actualHeight = window.screen.availHeight; - var offsetTop = 100; - var heightExtra = 10; - if('${param.resolution}' == '1980'){ - width = 1080; - height = 830; - } - var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); - var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); - - width = size.width; - height = size.height; - - offsetTop = offsetTop*zoomRatio; - $.layer({ - type : 2, - title : ['选择科室',true], - iframe : {src : 'addDepart.jsp?resolution=${param.resolution}&width='+width+'&height='+height}, - area : [ width + 'px' , height +heightExtra+ 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : [offsetTop+'px',''] - }); -} -function selectDepart(departName,departCode){ - document.getElementById('depart').value = departName; - document.getElementById('departCode').value = departCode; -} -var originalTousseItemIds = []; - -function loadItem(){ - if(sstsConfig.recycleAllTousseIntoBasket){ - var divElement = document.getElementById('divElement'); - divElement.innerHTML = ''; - } - - document.onkeydown = showKeyDown; - var recyclingApplicationId = '${param.recyclingApplicationId}'; - var barcode = '${param.barcode}'; - if(recyclingApplicationId != ''){ - DWREngine.setAsync(false); - RecyclingApplicationTableManager.getRecyclingApplicationForRecycle(recyclingApplicationId,function(application){ - if(application == null) - return; - - if(application.recyclingRecordId != null){ - loadRecyclingRecordById(application.recyclingRecordId); - }else{ - if (sstsConfig.showSettleAccountsDepartInRecycling){ - $("#depart").val(application.settleAccountsDepart); - $("#departCode").val(application.settleAccountsDepartCoding); - } - else{ - $("#depart").val(application.depart); - $("#departCode").val(application.departCoding); - } - $("#recyclingApplicationId").val(application.id); - $("#tousseItemTable").empty(); - $("#basketsUl").empty(); - if(application.type == '消毒物品申请单' || application.type == '自定义器械包申请单'){ - $('#add-bao').hide(); - applicationType = application.type; - } - if(application.applicationItems != null){ - var row = 0; - originalTousseItemIds = []; - for(var i = 0 ; i< application.applicationItems.length ; ++i){ - var item = application.applicationItems[i]; - if(item.diposable == '否' && item.isRecycling != '否' && item.tousseType != '敷料包' && item.tousseType != '自制物品'){ - var recycleAmount = item.prepareRecycleAmount; - if(recycleAmount == null){ - recycleAmount = item.amount; - } - var toussItem = { - row: row, - tousseItemId: '', - tousseName: item.tousseName, - tousseDefinitionID: item.tousseDefinitionId, - applicationAmount: item.amount, - recycleAmount: recycleAmount, - loadedAmount: 0, - isCleanedEntirely: item.isCleanedEntirely, - tousseType: item.tousseType, - isThereIdentificationCard: item.isThereIdentificationCard, - isApplyEntireTousse: item.isApplyEntireTousse - }; - addToussItem(toussItem); - originalTousseItemIds.push(item.id); - ++row; - } - } - } - - } - }); - DWREngine.setAsync(true); - } - - var id = '${param.id}'; - if(id != ''){ - loadRecyclingRecordById(id); - } - $("#recyclingTime").val(today); - $("#operator").val(userName); - if(sessionRecyclingUser != null && sessionRecyclingUser != 'null'){ - $("#recyclingUser").val(sessionRecyclingUser); - } - if(isSecondSupplyRoom && id == ""){ - $("#depart").val(secondOrgUnitName); - $("#departCode").val(secondOrgUnitCoding); - } - - //如果篮筐为空,隐藏扫描篮筐提示 - if($("#basketsUl > li").length == 0){ - $("#scanContainerBarcodeTipUl").show(); - }else{ - $("#scanContainerBarcodeTipUl").hide(); - //查询篮筐下的器械包与器械包列表中是否一致 - $("#basketsUl > li > dl > input[type=hidden]").each(function(index , item){ - var basketTousseItemJson = JSON.parse($(this).val()); - //相关器械包样式变更以区分是否已入筐 - $("input[id^=showTousseName]").each(function(index1 , item1){ - if(basketTousseItemJson.tousseName == $(this).val()){ - var elementId = $(this).attr("id"); - $("#loadedAmount" + elementId.substring(elementId.length - 1)).css("background","#b7d9a5"); - } - }); - }); - } - - checkLoadedAmount(); -} - -//装载数量根据其值更新背景色 -function checkLoadedAmount(){ - //注册装载数量文本框的值改变事件,当数量大于0时,背景颜色改为浅绿色,否则恢复为原色 - $("input[id^=loadedAmount]").each(function(item){ - var intValue = parseInt($(this).val()); - if(intValue > 0){ - $(this).css("background","#b7d9a5"); - }else{ - $(this).css("background","#FFFFFF"); - } - }); -} - -function loadRecyclingRecordById(id){ - DWREngine.setAsync(false); - RecyclingRecordTableManager.getRecyclingRecordById(id,function(record){ - record = eval("("+record+")"); - if(record != null){ - $("#id").val(record.id); - $("#depart").val(record.depart); - $("#recyclingUser").val(record.recyclingUser); - $("#departCode").val(record.departCode); - if(record.recyclingApplication != null){ - $("#recyclingApplicationId").val(record.recyclingApplication.id); - var recordType = record.recyclingApplication.type; - if(recordType == '消毒物品申请单' || recordType == '自定义器械包申请单'){ - $('#add-bao').hide(); - applicationType = record.recyclingApplication.type; - } - } - today = dateObjFormat(record.recyclingTime); - userName = record.operator; - $("#tousseItemTable").empty(); - $("#basketsUl").empty(); - - if(record.status == '未确认'){ - $('#confirmBtnTd').show(); - }else if(record.status == '已确认'){ - $('#saveBtnTd').hide(); - $('#saveAndNewBtnTd').hide(); - } - var row = 0; - //快速回收后未回收的包 - var recyclingApplication = record.recyclingApplication; - if(record.items != null){ - originalTousseItemIds = []; - for(var i = 0 ; i< record.items.length ; i++){ - var tousseItem = record.items[i]; - - var applyAmount = tousseItem.amount; - if(recyclingApplication != null && recyclingApplication.applicationItems != null){ - var applyItems = recyclingApplication.applicationItems; - for(var n = 0;n < applyItems.length;n++){ - if(applyItems[n].tousseName == tousseItem.tousseName){ - applyAmount = applyItems[n].amount; - break; - } - } - } - var toussItem = { - row: row, - tousseItemId: tousseItem.id, - tousseName: tousseItem.tousseName, - tousseDefinitionID: item.tousseDefinitionId, - applicationAmount: applyAmount, - recycleAmount: tousseItem.amount, - loadedAmount: tousseItem.amount, - isCleanedEntirely: tousseItem.isCleanedEntirely, - tousseType: tousseItem.tousseType, - isThereIdentificationCard: tousseItem.isThereIdentificationCard, - isApplyEntireTousse: tousseItem.isApplyEntireTousse - }; - var successAdd = addToussItem(toussItem); - if(!successAdd){ - continue; - } - originalTousseItemIds.push(tousseItem.id); - if(tousseItem.recyclingErrors != null && tousseItem.recyclingErrors.length > 0){ - document.getElementById('showTousseName'+row).className = 'input-a-yellow'; - recyclingErrorsArray[row] = new Array(); - for(var j=0;j 0){ - document.getElementById('showTousseName'+row).className = 'input-a-yellow'; - recyclingDamageArray[row] = new Array(); - for(var j=0;j删除'; - basketStr += ''; - basketStr += ''+record.classifyBaskets[i].containerName+''; - basketStr += '
    '; - basketStr += ''; - - var basketElement = $(basketStr); - $("#basketsUl").prepend(basketElement); - - var json = getBasketJSON(basket.id,basket.containerBarcode,basket.basketGroupName,basket.groupBasketAmount,basket.basketGroupNum); - $("#basketsUl li:first").find('input').val(json); - - toggleItems(basketElement.find('span')[0]); - for(var j = 0 ; j < record.classifyBaskets[i].classfiedItems.length ; j++){ - var ci = record.classifyBaskets[i].classfiedItems[j]; - var containerBarcode = record.classifyBaskets[i].containerBarcode; - if(record.id != ci.recyclingRecordId){ - continue; - } - if(ci.itemType == '材料'){ - var materialName = ci.materialDefinition.name; - if(ci.materialDefinition.specification != null && ci.materialDefinition.specification != ''){ - materialName += '['+ci.materialDefinition.specification+']'; - } - var tousseNameForMaterial = ci.tousseNameForMaterial; - - - var element = ''; - element += '
    '+materialName+'
    '; - element += '
     '+ci.idCardBarcode+'
    '; - element += '
    '+ci.amount+'
    '; - element += '
    删除
    '; - - $('dl[class="sed clearfix"]:eq(0)').prepend(element); - var json = getBasketItemJSON(ci.id,'材料',ci.orgUnitName,tousseNameForMaterial,materialName,ci.amount,ci.tousseAmountForMaterial,basket.groupBasketAmount,basket.basketGroupNum,ci.idCardBarcode); - $('dl[class="sed clearfix"]:eq(0)').find("input:first").val(json); - - $('td[axis="materialName"]').each(function(){ - if($(this).text() == materialName){ - $(this).parent().remove(); - return false; - } - }); - }else{ - var tousseNameForDisplay = ci.tousseDefinition.name; - - if(tousseNameForDisplay.length > 12){ - tousseNameForDisplay = tousseNameForDisplay.substring(0,12) + "..."; - } - var element = ''; - element += '
    '+tousseNameForDisplay+'
    '; - element += '
     '+ci.idCardBarcode+'
    '; - element += '
    '+ci.amount+'
    '; - element += '
    删除
    '; - $('dl[class="sed clearfix"]:eq(0)').prepend(element); - - var json = getBasketItemJSON(ci.id,ci.itemType,ci.orgUnitName,ci.tousseDefinition.name,"",ci.amount,ci.tousseAmountForMaterial,basket.groupBasketAmount,basket.basketGroupNum,ci.idCardBarcode); - $('dl[class="sed clearfix"]:eq(0)').find("input:first").val(json); - } - } - } - } - } - }); - DWREngine.setAsync(true); -} - -function encodeAll(text) { - var encoded = encodeURI(text); - encoded = encoded.replace('#','%23');// 对#号进行转码 - encoded = encoded.replace('+','%2B');// 对+号进行转码 - return encoded; -} - -//如果用jquery的ready方法会报错,因为dwr的查询需要时间会造成页面的js方法认不到的问题 -