Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/customIntoBasket.js =================================================================== diff -u -r24673 -r25392 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/customIntoBasket.js (.../customIntoBasket.js) (revision 24673) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/customIntoBasket.js (.../customIntoBasket.js) (revision 25392) @@ -372,11 +372,9 @@ }); return findEl; } -/** - * 创建物品入筐 - */ -function addBasketItemElement(tousseName,materialName,materialAmount,tousseAmount,tousseDefinitionID,idCardBarcode,putBasketMaxAmount, - batchToBasket,materialInstanceId,isImplant,tousseType){ +/*** 创建物品入筐*/ + +function addBasketItemElement(tousseName,materialName,materialAmount,tousseAmount,tousseDefinitionID,idCardBarcode,putBasketMaxAmount, batchToBasket,materialInstanceId,isImplant,tousseType){ var success = true; var recyclingApplicationId = param_recyclingApplicationId; if(batchToBasket && sstsConfig.enableMaterialWashclasifyInCustomRecycle){ @@ -430,8 +428,7 @@ * 将物品添加到篮筐 * trElement basketsUl中的li元素,通过jquery封装的对象 */ -function addItemToThisBasket(trElement,tousseName,materialName,materialAmount,tousseAmount,tousseDefinitionID, - idCardBarcode,putBasketMaxAmount,materialInstanceId,isImplant,tousseType){ +function addItemToThisBasket(trElement,tousseName,materialName,materialAmount,tousseAmount,tousseDefinitionID, idCardBarcode,putBasketMaxAmount,materialInstanceId,isImplant,tousseType){ if(trElement == null){ //目前不可能会有这种情况 return false; Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js =================================================================== diff -u -r25368 -r25392 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 25368) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 25392) @@ -3017,7 +3017,6 @@ } }); - // console.log(confirmation) submitFormFunction(confirmation,saveAndNew,false,print,recyclingAmountConfirm,true); } } @@ -3036,17 +3035,16 @@ var recyclingRecordId = $('#recyclingApplicationId').val(); if (isTousseItemTableEmpty() && recyclingRecordId == ''){ alert("空白的回收单不能保存!"); + alert("空白的回收单不能保存!"); return false; } var isEmptyFormSubmit = true; $('#tousseItemTable').children().first().children().each(function(index,element){ - // console.log(element) if($('#deleted'+index).val() == '0'){ isThereTousseItems = true; var tousseType = $('#tousseType'+index).val(); var recyclingAmount = parseInt($('#recycleAmount'+index).val(),10); var loadedAmount = parseInt($('#loadedAmount'+index).val(),10); - // console.log(loadedAmount) if(loadedAmount > 0 && recyclingAmount > loadedAmount){ isAllTousseInTheBasket = false; return false; Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/speediness_hover.png =================================================================== diff -u Binary files differ Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/customIntoBasketStyle.css =================================================================== diff -u -r19704 -r25392 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/customIntoBasketStyle.css (.../customIntoBasketStyle.css) (revision 19704) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/customIntoBasketStyle.css (.../customIntoBasketStyle.css) (revision 25392) @@ -28,6 +28,7 @@ .blank40 {clear:both; height:40px; display:block; font-size:1px;overflow:hidden;} .mbody{ background:url(customIntoBasket.png) no-repeat; width:1980px; height:1080px; margin:0 auto; position:relative} +#mbody{ background:url(express_into_basket.jpg) no-repeat; width:1980px; height:1080px; margin:0 auto; position:relative} .mbody .btn-h{ margin-left: 220px;margin-top: 140px; background:url(allIntoBasket.png) no-repeat; background-position:0 0; width:150px; height:64px; border:none; line-height:200px; overflow:hidden;} .mbody .btn-h:hover{ margin-left: 220px;margin-top: 140px; background:url(allIntoBaskehovert.png) no-repeat; background-position:0 0; width:150px; height:64px; border:none; line-height:200px; overflow:hidden;} @@ -45,6 +46,7 @@ .add-form .add a:hover{ background-position:0 -63px;} .data-table{position:absolute; width:1160px; height:670px; bottom:90px; left:20px} +#boxContent{position:absolute; width:1160px; height:670px; bottom:52px; left:33px} .data-table .box{ height:580px; overflow-y:scroll; overflow-x:hidden;} .data-table .box table{ margin:0 auto; width:1083px} .data-table .input-a{ background:url(pic_bg.jpg) no-repeat 0 -206px; border:none; width:349px; height:62px; font-size:26px; padding:0 10px; line-height:40px;} Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/express_into_basket.jpg =================================================================== diff -u Binary files differ Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/btn-box.png =================================================================== diff -u Binary files differ Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/disinfectionInthaBox.js =================================================================== diff -u -r25349 -r25392 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/disinfectionInthaBox.js (.../disinfectionInthaBox.js) (revision 25349) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/disinfectionInthaBox.js (.../disinfectionInthaBox.js) (revision 25392) @@ -1,95 +1,44 @@ -var tousseArray = new Array(); -var deleteTousseItemArray = new Array(); -/** - * 不回收的器械包的集合。这个是由绑定带出来的器械包,并且不回收,在回收这里本来是不做处理的。现在要能修改原来的申请数量,相关的还有装配任务 - */ -var unrecycleTousseItemArray = new Array(); -//添加或删除器械包 -function addOrDelTousse(item){ - var basketBarcode = item.basketBarcode; - var basketId = item.basketId; - var classifiedItemId = item.classifiedItemId; - var tousseName = item.tousseName; - var amount = item.amount; - var tousseAmountForMaterial = item.tousseAmountForMaterial; - var itemType = item.itemType; - var tousseNameForMaterial = item.tousseNameForMaterial; - var idCardBarcode = item.idCardBarcode; - var basketGroupBarcodes = item.basketGroupBarcodes; +var ab; +var lock = false; +var progressbar = null; +var progressLabel= null; - var length = tousseArray.length; - var sigle = true; - var deleteIndex = []; - 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 t_tousseNameForMaterial = tousseArray[i].tousseNameForMaterial; - var t_tousseDefinitionID = tousseArray[i].tousseDefinitionID; - var t_idCardBarcode = tousseArray[i].idCardBarcode; - var t_amountForMaterial = tousseArray[i].tousseAmountForMaterial; - var t_basketGroupBarcodes = tousseArray[i].basketGroupBarcodes; - var t_itemType = tousseArray[i].itemType; - if(t_basketBarcode == basketBarcode && itemType == t_itemType && t_tousseName == tousseName && t_tousseDefinitionID == item.tousseDefinitionID && t_idCardBarcode == idCardBarcode){ - if(itemType == '材料' && (tousseNameForMaterial != t_tousseNameForMaterial || basketGroupBarcodes != t_basketGroupBarcodes)){ - continue; - } - tousseArray[i].amount = t_amount + amount; - tousseArray[i].tousseAmountForMaterial = t_amountForMaterial + tousseAmountForMaterial; - tousseArray[i].basketSequence = item.basketSequence; - if(tousseArray[i].amount === 0){ - //如果数量为0,入筐后又移除了 - deleteIndex.push(i); - } - sigle = false; +$(function() { + progressbar = $("#progressbar"); + progressLabel = $(".progress-label"); + progressbar.progressbar({ + value: false, + change: function() { + progressLabel.text( parseInt(progressbar.progressbar("value")) + "%"); + }, + complete: function() { + progressLabel.text( "完成!" ); } - } - for(var i = 0; i < deleteIndex.length;++i){ - tousseArray.splice(deleteIndex[i],1); - } - if(sigle){ - if(basketBarcode && item.tousseDefinitionID && amount && tousseName && itemType){ - //需要保证基本信息是有效的 - var newTousse = { - basketBarcode: basketBarcode, - basketId: basketId, - classifiedItemId: '', - tousseDefinitionID: item.tousseDefinitionID, - tousseName: tousseName, - amount: amount, - tousseAmountForMaterial: tousseAmountForMaterial, - itemType: itemType, - tousseNameForMaterial: tousseNameForMaterial, - idCardBarcode: idCardBarcode, - basketGroupBarcodes: basketGroupBarcodes, - basketSequence: item.basketSequence - }; - tousseArray.push(newTousse); - } - } + }); +}); +function progress(i) { + progressbar.progressbar( "option", {value: i }); } +//是否有外来器械包。如果有外来器械包,就显示拆包信息,否则隐藏 +var hasForeignTousse = false; - -var ab; -var lock = false; //锁定键盘 function lockup(e){ e.preventDefault(); } //高亮层不锁定 function lockout(e){ e.stopPropagation(); } -function alertDiv(alertWord,hideCloseButton,showOtherButton){ +function alertDiv(alertWord, hideCloseButton){ lock = true; document.getElementById ("showWord").innerHTML = alertWord; if(typeof(hideCloseButton) != 'undefined' && hideCloseButton){ $('#idBoxClose').hide(); - }else{ + $("#progressbar").show(); + } + else{ $('#idBoxClose').show(); + $("#progressbar").hide(); } - if(showOtherButton){ - $('#idBoxCenterUserType').show(); - }else{ - $('#idBoxCenterUserType').hide(); - } + ab = new AlertBox("idBox"); ab.onShow = function(){ if ( lock ) { @@ -107,19 +56,9 @@ ab.center = true; ab.show(); } - function closeDiv(){ ab.close(); } -/** - * 刷新当前页面 - * @returns - */ -function refresh(){ - location.reload(); -} -var applicationType = null; -var userNameByBarcode = "";//条形码对应的用户名 function showMessage(message){ if(document.getElementById('messageDiv') == null || !$('#messageDiv').dialog('isOpen')){ @@ -143,349 +82,10 @@ }); } } -var isSecondSupplyRoom = false; -var supplyRoomType_val = params_type; -if(supplyRoomType_val==2){ - isSecondSupplyRoom = true; -} +var barcodeTemp = ''; -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 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,''); - } -} - -/** - * 增加物品(即点击左边的“+”图标). - * @param row - */ -function add(row){ - var recycleAmount = $('#recycleAmount'+row).val() == ''?0:parseInt($('#recycleAmount'+row).val(),10); - //是否整包申请 - var isApplyEntireTousse = $('#isApplyEntireTousse'+row).val(); - var tousseType = $('#tousseType'+row).val(); - if(recycleAmount >= 1){ - if(tousseType == '外来器械包'){ - alertDiv("外来器械包回收数量不能大于1,请点击器械包名修改材料数量!"); - return; - } - if(tousseType == '消毒物品' && '是' != isApplyEntireTousse){ - alertDiv("拆包申请的消毒物品回收数量不能大于1,请点击器械包名修改材料数量!"); - return; - } - } - increaseAmount(row); - setTousseItemLoadedAmountCss(row); - updateBindGoods(row); -} -/** - * 验证加急数量是否大于回收数量。如果加急数量大于回收数量,返回true,否则返回false - * @param row - */ -function validateUrgentAmount(row,recycleAmount){ - var urgentAmount = $('#urgentAmount'+row).val() == ''?0:parseInt($('#urgentAmount'+row).val(),10); - if(urgentAmount > recycleAmount){ - alertDiv('回收数量不能小于加急数量'); - return true; - } - return false; -} -/** - * 减少物品(即点击左边的“-”图标). - * @param row - */ -function reduce(row){ - var recycleAmount = $('#recycleAmount'+row).val() == ''?0:parseInt($('#recycleAmount'+row).val(),10)-1; - if(recycleAmount >= 0){ - if(validateUrgentAmount(row,recycleAmount)){ - return; - } - $('#recycleAmount'+row).val(recycleAmount); - updateBindGoods(row); - } - changeRecycleAmount(row); - setTousseItemLoadedAmountCss(row); -} - -/** - * 清除掉已经删除掉的器械包. - * @param tousseDefinitionID - */ -function cleanDeleteTousseItem(tousseDefinitionID){ - var length = deleteTousseItemArray.length; - for(var i = 0;i < length ; i++){ - var oldTousseDefinitionID = deleteTousseItemArray[i].tousseDefinitionID; - if(oldTousseDefinitionID == tousseDefinitionID){ - //删除 - deleteTousseItemArray.splice(i,1); - break; - } - } -} -//扫描器械包条码和标识牌,添加丢失报损备注到已经存在的回收项 -function addErrorDamageRemark(ti,row){ - if(ti.status == used){ - //必须是已使用。因为使用记录才会有包实例上的丢失报损 - var er = $('#hiddenErrorRemark' + row).val(); - var dr = $('#hiddenDamageRemark' + row).val(); - var erArr = []; - var drArr = []; - if(!isUndefinedOrNullOrEmpty(er)){ - erArr.push(er); - } - if(!isUndefinedOrNullOrEmpty(ti.errorRemark)){ - erArr.push(ti.errorRemark); - } - - if(!isUndefinedOrNullOrEmpty(dr)){ - drArr.push(dr); - } - if(!isUndefinedOrNullOrEmpty(ti.damageRemark)){ - drArr.push(ti.damageRemark); - } - $('#hiddenErrorRemark' + row).val(erArr.join(';')); - $('#hiddenDamageRemark' + row).val(drArr.join(';')); - } -} -function loadUnSupplementMaterial(msg,tmpRow,tousseBarcode){ - if(msg.unSupplementMaterials != null){ - - var errorStr = $('#recyclingError' + tmpRow).val(); - var damageStr = $('#recyclingDamage' + tmpRow).val(); - - var recyclingErrorJsonArray = new Array(); - if(!isUndefinedOrNullOrEmpty(errorStr)){ - recyclingErrorJsonArray = JSON.parse(errorStr); - for(var i = 0 ; i < recyclingErrorJsonArray.length ; i++){ - if(recyclingErrorJsonArray[i].tousseBarcode == tousseBarcode){ - return false; - } - } - } - var recyclingDamageJsonArray = new Array(); - if(!isUndefinedOrNullOrEmpty(damageStr)){ - recyclingDamageJsonArray = JSON.parse(damageStr); - for(var i = 0 ; i < recyclingDamageJsonArray.length ; i++){ - if(recyclingDamageJsonArray[i].tousseBarcode == tousseBarcode){ - return false; - } - } - } - - for(var m = 0 ; m < msg.unSupplementMaterials.length ; m++){ - var detail = msg.unSupplementMaterials[m]; - if(detail.amount <= 0){ - continue; - } - if(detail.type == '回收误差'){ - var errorObj = { - detailId: detail.id, - tousseDefinitionID: detail.tousseDefinitionId, - materialDefinitionId: detail.materialDefinitionId, - materialName: detail.materialName, - amount: detail.amount, - errorType: detail.errorType, - tousseBarcode:detail.tousseBarcode, - intoBasketAmount:detail.amount, - errorDamageQmKey : detail.errorDamageQmKey - }; - recyclingErrorJsonArray.push(errorObj); - }else if(detail.type == '器械报损'){ - var item = { - detailId: detail.id, - tousseDefinitionID: detail.tousseDefinitionId, - materialDefinitionId: detail.materialDefinitionId, - materialName: detail.materialName, - tousseBarcode:detail.tousseBarcode, - amount: detail.amount, - errorDamageQmKey : detail.errorDamageQmKey - }; - recyclingDamageJsonArray.push(item); - } - } - if(recyclingErrorJsonArray.length > 0){ - setTousseItemRecyclingError(tmpRow,JSON.stringify(recyclingErrorJsonArray)); - document.getElementById('recyclingErrorButton'+tmpRow).className = 'btn-b-edit'; - } - if(recyclingDamageJsonArray.length > 0){ - setTousseItemRecyclingDamage(tmpRow,JSON.stringify(recyclingDamageJsonArray)); - document.getElementById('recyclingDamageButton'+tmpRow).className = 'btn-c-edit'; - } - if(recyclingErrorJsonArray.length > 0 || recyclingDamageJsonArray.length > 0){ - document.getElementById('showTousseName'+tmpRow).className = 'input-a-yellow'; - } - } -} - -/** - * 删除物品. - * @param confirmMsg - * @param actionFunction - * @param row - * @param deleteButton - * @param basketBarcode - * @param basketId - */ -function deleteConfirm(confirmMsg,actionFunction,row,deleteButton,basketBarcode,basketId){ - $("#dialogConfirm").dialog({ - resizable: false, - height:310, - width:600, - modal: true, - open: function() { - $("#confirmMsg").text(confirmMsg); - }, - close: function() { - $("#confirmMsg").text(""); - }, - buttons: { - "是": function() { - if(actionFunction == 'deleteTousse'){//删器械包 - deleteTousseItem(row); - }else if(actionFunction == 'deleteBasketItem'){//删篮筐内物品 - deleteBasketItem(deleteButton); - }else if(actionFunction == 'deleteBasket'){//删篮筐 - deleteBasket(deleteButton,basketBarcode,basketId); - } - refreshSplitBasketView(); - refreshAllBasketTotalNum(); - $(this).dialog("close"); - },"否": function() { - $(this).dialog("close"); - } - } - }); -} -/** - * 检查是否有丢失报损信息,如果有,返回提示信息。否则返回空字符 - */ -function checkHaveErrorDamage(row){ - var returnMsg = ""; - var recyclingErrorJsonArrayStr = $('#recyclingError'+row).val(); - if(!isUndefinedOrNullOrEmpty(recyclingErrorJsonArrayStr)){ - var recyclingErrorJsonArray = JSON.parse(recyclingErrorJsonArrayStr); - for(var j = 0;j < recyclingErrorJsonArray.length;j++) { - var errorAmount = recyclingErrorJsonArray[j].amount; - if(errorAmount > 0){ - returnMsg = "该器械包有登记丢失信息,请先删除丢失信息后再删除!"; - break; - } - } - } - if(returnMsg == ""){ - var recyclingItemDamageJsonStr = $('#recyclingDamage'+row).val(); - if(!isUndefinedOrNullOrEmpty(recyclingItemDamageJsonStr)){ - var jsonArray = JSON.parse(recyclingItemDamageJsonStr); - for(var j = 0;j < jsonArray.length ; j++){ - var errorAmount = jsonArray[j].amount; - if(errorAmount > 0){ - returnMsg = "该器械包有登记报损信息,请先删除报损信息后再删除!"; - break; - } - } - } - } - return returnMsg; -} -function deleteTousseItem(row){ - var returnMsg = checkHaveErrorDamage(row); - - if(!isUndefinedOrNullOrEmpty(returnMsg)){ - alertDiv(returnMsg); - return false; - } - - $('#tousseItemsTr'+row).hide(); - $('#deleted'+row).val('1'); - var tousseName = $('#tousseName'+row).val(); - var amountLeft = parseInt($('#loadedAmount'+row).val(),10); - var tousseDefinitionID = parseInt($('#tousseDefinitionID'+row).val(),10); - var tousse = { - tousseDefinitionID: tousseDefinitionID, - tousseName: tousseName, - amount: amountLeft - } - deleteTousseItemArray.push(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); - } - } - }); - }); - var depart = $('#depart').val(); - var recyclingTime = $('#recyclingTime').val(); - var applicationAmount = $('#applicationAmount'+row).val(); - var description = "ID=" + params_appId + ",科室[" + depart + "]的申请单在" + recyclingTime + "回收时删除[" + tousseName + "]" + applicationAmount + "个"; - //日志记录 - $.ajax({ - type:'get', - url : WWWROOT + '/log/saveLog.do', - data:'model=' + encodeURI("回收模块") + '&type=D&description=' + encodeURI(description), - dataType:'text', - success:function(msg){ - }, - error:function(msg){ - } - }); - return true; -} - - -function unloadStaff(tousseDefinitionID,amount,idCardBarcode){ - $('#tousseItemTable').children().first().children().each(function(i,element){ - if($('#tousseDefinitionID'+i).val() == tousseDefinitionID){ - $('#loadedAmount'+i).val(parseInt($('#loadedAmount'+i).val(),10)-parseInt(amount,10)); - var idCard = $('#isThereIdentificationCard'+i).val(); - if(idCard == '是' && idCardBarcode == ''){ - var recyclingErrorJsonArrayStr = $('#recyclingError'+i).val(); - if(!isUndefinedOrNullOrEmpty(recyclingErrorJsonArrayStr)){ - var recyclingErrorJsonArray = JSON.parse(recyclingErrorJsonArrayStr); - for(var j = 0;j < recyclingErrorJsonArray.length;j++) { - if(recyclingErrorJsonArray[j].materialName == '器械包标识牌'){ - var intoBasketAmount = parseInt(recyclingErrorJsonArray[j].intoBasketAmount); - recyclingErrorJsonArray[j].intoBasketAmount = intoBasketAmount - parseInt(amount); - $('#recyclingError'+i).val(JSON.stringify(recyclingErrorJsonArray)); - break; - } - } - } - } - return false; - } - }); -} - //删除整个篮筐 -function deleteBasket(deleteButton,basketBarcode,basketId){ +function deleteBasket(deleteButton){ var liElement = $(deleteButton).parent().parent(); var delBasktJsonStr = liElement.find('input').val(); var basketJson = JSON.parse(delBasktJsonStr); @@ -494,180 +94,66 @@ var hiddenjson = JSON.parse(hideStr); var actionBasketBarcode = basketJson.barcode; if(hiddenjson.barcode == actionBasketBarcode){ - deleteAction(this); + $(this).find('dl').children().each(function(i,element){ + if($(this).attr('class') == 'delBtn'){ + var deleteButton = $(this).find('a'); + deleteBasketItem(deleteButton); + } + }); $(this).remove(); + removeLiElement($(this)); } }); - - //如果篮筐全被删除完时,则提示信息放开 - if($("#basketsUl > li").length == 0){ - $("#scanContainerBarcodeTipUl").show(); - } + refreshBasketStatus(); + refreshAllBasketTotalNum(); } - -/** - * 由于删除篮筐中的一个物品后,数组长度发生变化,继续循环删除其他物品就会报错,所以每次只循环一次就跳出循环,重新获取数组长度继续循环 - */ -function deleteAction(thiz){ - $(thiz).find('dl').children().each(function(i,element){ - if($(this).attr('class') == 'del'){ - var deleteButton = $(this).find('a'); - deleteBasketItem(deleteButton); - return false;//跳出each循环 +function removeImplants(removeBtn){ + var liElement = $(removeBtn).parent().parent(); + liElement.find('dl > input').each(function(i,element){ + var materialJsonStr = $(this).val(); + if(materialJsonStr && materialJsonStr.length > 0){ + var materialJson = JSON.parse(materialJsonStr); + if(materialJson.isImplant == "是"){ + deleteBasketItem($(this).nextAll(".delBtn").children("a.btn").first()); + } } }); - if($(thiz).find('dl').children().length > 0){ - deleteAction(thiz); - } + refreshBasketStatus(); + refreshAllBasketTotalNum(); } - -function deleteMaterialItem(deleteButton,containerBarcode,basketId){ +//删除篮筐中的物品 +function deleteBasketItem(deleteButton){ var hideElement = $(deleteButton).parent().prev().prev().prev().prev(); - var nameElement = $(deleteButton).parent().prev().prev().prev(); - var barcodeElement = $(deleteButton).parent().prev().prev(); + var tousseNameElement = $(deleteButton).parent().prev().prev().prev(); + var materialNameElement = $(deleteButton).parent().prev().prev(); var amountElement = $(deleteButton).parent().prev(); var delElement = $(deleteButton).parent(); + var basketHideJson = $(deleteButton).parent().parent().prev().prev().prev().prev().prev().val(); var item = JSON.parse(hideElement.val()); - var tousse = { - basketBarcode: containerBarcode, - basketId: basketId, - classifiedItemId: '', - tousseName: item.materialName, - tousseDefinitionID: item.tousseDefinitionID, - amount: -parseInt(item.amount), - tousseAmountForMaterial: -parseInt(item.tousseAmount), - itemType: item.type, - tousseNameForMaterial: item.tousseName, - idCardBarcode: item.idCardBarcode, - basketGroupBarcodes:item.basketGroupBarcodes - } - addOrDelTousse(tousse); - - refreshSequence(delElement.parent().parent(),0); + var basketItem = basketHideJson?JSON.parse(basketHideJson):{}; hideElement.remove(); - nameElement.remove(); - barcodeElement.remove(); + tousseNameElement.remove(); + materialNameElement.remove(); amountElement.remove(); delElement.remove(); -} -function refreshSequence(liElement,sequence){ - if(liElement){ - if(!sequence || sequence <= 0){ - sequence = 0; - } - var basketHidenValue = liElement.find('input:first').val(); - if(basketHidenValue){ - var basketInfo = JSON.parse(basketHidenValue); - basketInfo.sequence = sequence; - liElement.find('input:first').val(JSON.stringify(basketInfo)) - var showName = sequence > 0?(sequence + '.' + basketInfo.basketName):basketInfo.basketName; - liElement.find('font:first').html(showName); - } - } -} -/** - * 刷新对应篮筐的包与材料总数量 - * @param liElement - */ -function refreshBasketTotalNum(liElement){ - if(liElement){ - var total = 0; - liElement.find('dd.num').each(function(){ - var num = parseInt($(this).html()); - if(num){ - total += num; - } - }); - liElement.find('font.totalnum').html(total); - } -} -/** - * 刷新所有篮筐的包与材料总数量 - */ -function refreshAllBasketTotalNum(){ - $("#basketsUl li").each(function(){ - refreshBasketTotalNum($(this)); - }); -} - -//删除篮筐中的物品 -function deleteBasketItem(deleteButton){ - 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().prev(); - var basket = basketJSON.val()?JSON.parse(basketJSON.val()):{}; - var item = hideElement.val()?JSON.parse(hideElement.val()):{}; - var name = ""; - var tousseNameForMaterial = ""; - var type = item.type; + var intoBasketAmount = item.amount; var idCardBarcode = item.idCardBarcode; - var basketGroupBarcodes = item.basketGroupBarcodes; - //删除材料所在包 内的 全部删除 - if(type == "材料"){ - name = item.materialName; - tousseNameForMaterial = item.tousseName; - $('dl[class="sed clearfix"]').each(function(){ - var basketEle = $(this).prev().prev().prev().prev().prev().val(); - var basketJSON = JSON.parse(basketEle); - $(this).children().each(function(){ - if($(this).attr('type') == 'hidden'){ - var hideValue = $(this).val(); - if(!isUndefinedOrNullOrEmpty(hideValue)){ - var obj = JSON.parse(hideValue); - if(obj.type == '材料' && obj.tousseDefinitionID == item.tousseDefinitionID && - obj.basketGroupBarcodes == basketGroupBarcodes && - obj.idCardBarcode == idCardBarcode){ - var delButton = $(this).next().next().next().next().find('a'); - deleteMaterialItem(delButton,basketJSON.barcode,basketJSON.classifyBasketId); - } - } - } - }); - }); - } - var tousseAmountForMaterial = item.tousseAmount; - //alert(name+"--"+type+"--"+amount+"--"+tousseNameForMaterial+"--"+usebasketAmount+"--"+basketGroupNum); - if(type == '材料'){ - unloadStaff(item.tousseDefinitionID,tousseAmountForMaterial,idCardBarcode); - }else{ - name = item.tousseName; - var amount = item.amount; + $('#tousseItemTable').children().first().children().each(function(i,element){ + if($('#tousseDefinitionID'+i).val() == item.tousseDefinitionID && + $('#materialName'+i).val() == item.materialName && + $('#idCardBarcode'+i).val() == idCardBarcode){ - unloadStaff(item.tousseDefinitionID,amount,idCardBarcode); + $('#tousseItemsTr'+i).show(); + $('#deleted'+i).val('0'); - var basketId = basket.classifyBasketId; - var containerBarcode = basket.barcode; - var tousse = { - basketBarcode: containerBarcode, - basketId: basketId, - classifiedItemId: '', - tousseName: name, - tousseDefinitionID: item.tousseDefinitionID, - amount: -parseInt(amount), - tousseAmountForMaterial: -parseInt(tousseAmountForMaterial), - itemType: type, - tousseNameForMaterial: tousseNameForMaterial, - idCardBarcode: idCardBarcode, - basketGroupBarcodes: basketGroupBarcodes + var loadedAmount = parseInt($('#loadedAmount'+i).val(),10); + $('#loadedAmount'+i).val(loadedAmount - intoBasketAmount ); } - addOrDelTousse(tousse); - - hideElement.remove(); - nameElement.remove(); - barcodeElement.remove(); - amountElement.remove(); - delElement.remove(); - } - checkLoadedAmount(); - refreshSequence(delElement.parent().parent(),0); + }); + tousseIntoBasketInfo.remove(item.tousseDefinitionID,basketItem.barcode); } //清理视图列表 @@ -680,9 +166,6 @@ $("#basketsUl").empty(); } -/*--------------------------- -功能:停止事件冒泡 ----------------------------*/ function stopBubble(e) { //如果提供了事件对象,则这是一个非IE浏览器 if ( e && e.stopPropagation ) @@ -703,48 +186,35 @@ return false; } -/** - * 在页面无需将光标定位在输入框相应全局的扫描枪事件,并且阻止冒泡事件和阻止浏览器的默认行为. - */ -var barcodeGloble = ''; +//在页面无需将光标定位在输入框相应全局的扫描枪事件 +var barcodeTemp = ''; +var basketBarcode = null; +var tempBasketBarcode = ""; function showKeyDown(){ - - if(event.char){ - var isCRLF = (event.keyCode == 13 || event.char == '\n' || event.char == '\r'); - if(!isCRLF){ - barcodeGloble += event.char; - } - - if(isCRLF){ - loadBarcodeDevice(barcodeGloble); - } - }else{ - 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); - } + if(event.keyCode == 48 || event.keyCode == 96){ + barcodeTemp += '0'; + }else if(event.keyCode == 49 || event.keyCode == 97){ + barcodeTemp += '1'; + }else if(event.keyCode == 50 || event.keyCode == 98){ + barcodeTemp += '2'; + }else if(event.keyCode == 51 || event.keyCode == 99){ + barcodeTemp += '3'; + }else if(event.keyCode == 52 || event.keyCode == 100){ + barcodeTemp += '4'; + }else if(event.keyCode == 53 || event.keyCode == 101){ + barcodeTemp += '5'; + }else if(event.keyCode == 54 || event.keyCode == 102){ + barcodeTemp += '6'; + }else if(event.keyCode == 55 || event.keyCode == 103){ + barcodeTemp += '7'; + }else if(event.keyCode == 56 || event.keyCode == 104){ + barcodeTemp += '8'; + }else if(event.keyCode == 57 || event.keyCode == 105){ + barcodeTemp += '9'; + }else if(event.keyCode == 13){ + loadBarcodeDevice(barcodeTemp); } - stopBubble(event); stopDefault(event); } @@ -753,1706 +223,426 @@ function mergedBasket(){ return false; } - - -/** - * 判断此标识牌条码是否已经入筐. - * @param barcode - * @returns {Boolean} - */ -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(!isUndefinedOrNullOrEmpty(hideValue)){ - var hiddenjson = JSON.parse(hideValue); - if(hiddenjson.idCardBarcode == barcode){ - exist = true; - return false; - } - } - } - }); - }); - return exist; -} - -/** - * 创建物品入筐 - * @param basketItem - */ -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 basketBarcode = basketItem.basketBarcode; - var idCardBarcode = basketItem.idCardBarcode; - var tousseDefinitionID = basketItem.tousseDefinitionID; - var tousseType = basketItem.tousseType; - var basketGroupBarcodes = basketItem.basketGroupBarcodes; - var putBasketMaxAmount = basketItem.putBasketMaxAmount; - var isExist = false; - var basketElement = $('dl[class="sed clearfix"]:eq(0)'); - var basketHidenValue = $("#basketsUl li:first").find('input').val(); - if(type == '材料'){ - $("#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.tousseDefinitionID == tousseDefinitionID && - json.idCardBarcode == idCardBarcode && json.basketGroupBarcodes == basketGroupBarcodes){ - 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").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.tousseDefinitionID == tousseDefinitionID && json.idCardBarcode == idCardBarcode){ - json.amount = (json.amount + amount); - $(this).val(JSON.stringify(json)); - $(this).next().next().next().text(json.amount); - isExist = true; - return false; - } - } - }); - return false; - } - }); - } - if(!isExist){ - - var showBarcode = idCardBarcode; - if(type == '材料' && idCardBarcode == ""){ - showBarcode = tousseName; - } - var element = ''; - element += '
' + showName + '
'; - element += '
 ' + showBarcode + '
'; - element += '
' + amount + '
'; - element += '
删除
'; - - var json = getBasketItemJSON(ci_id,type,orgUnitName,tousseName,materialName,amount,tousseAmount,idCardBarcode,tousseDefinitionID,basketGroupBarcodes,putBasketMaxAmount,tousseType); - 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, - basketGroupBarcodes: basketGroupBarcodes, - basketSequence:basketJson.sequence - } - addOrDelTousse(tousse); -} - -function setIdCardErrorIntoBasketAmount(row,amount){ - var recyclingErrorJsonArrayStr = $('#recyclingError'+row).val(); - if(!isUndefinedOrNullOrEmpty(recyclingErrorJsonArrayStr)){ - var recyclingErrorJsonArray = JSON.parse(recyclingErrorJsonArrayStr); - for(var j = 0;j < recyclingErrorJsonArray.length;j++) { - if(recyclingErrorJsonArray[j].materialName == '器械包标识牌'){ - var intoBasketAmount = recyclingErrorJsonArray[j].intoBasketAmount; - recyclingErrorJsonArray[j].intoBasketAmount = parseInt(intoBasketAmount) + parseInt(amount); - $('#recyclingError'+row).val(JSON.stringify(recyclingErrorJsonArray)); - break; - } - } - } -} -function basketLoadGoods(basketName,basketBarcode,classifyBasketId){ - 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 = 1080; - height = 800; - } - var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); - var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); - width = size.width; - height = size.height; - offsetTop = offsetTop*zoomRatio; - layerIndex=layer.open({ - type : 2, - title : ['['+basketName + '] 已装载物品列表',true], - content : 'basketLoadGoodsView.jsp?resolution=' + resolution + '&width=' + width + '&height=' + height + '&basketBarcode=' + basketBarcode + '&classifyBasketId=' + classifyBasketId, - area : [ width + 'px' , height +heightExtra + 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : [offsetTop+'px',''] - }); -} - -function createBasketUiElement(basketBarcode,classifyBasketId,basketName,washClassifyType,sequence){ - var basketElement = '
  • '; - basketElement += ''; - basketElement += ''; - basketElement += '删除'; - basketElement += ''; - basketElement += ''; - - var showBasketLoadMaterialAmount = sstsConfig.showBasketLoadMaterialAmount; - var imageButton = ''; - if(showBasketLoadMaterialAmount == true){ - imageButton = ''; - } - - basketElement += '' + (sequence&&sequence>0?(sequence+'.' + basketName):basketName) + '      ' + imageButton +''; - basketElement += '' + 0 + ''; - basketElement += '
    '; - basketElement += '
  • '; - var obj = $(basketElement); - $("#basketsUl").prepend(obj); - var json = getBasketJSON(classifyBasketId,basketBarcode,washClassifyType,sequence,basketName); - $("#basketsUl li:first").find('input').val(json); - toggleItems(obj.find('span')[0]); -} -function noticeIdCardUseAmount(useAmount){ - if(sstsConfig && sstsConfig.idCardUseAmountNoticeType){ - var msg = '此标识牌已经使用' + useAmount + '次'; - if(1 == sstsConfig.idCardUseAmountNoticeType){ - jShowResult(msg); - }else if(2 == sstsConfig.idCardUseAmountNoticeType){ - speaker.speak(msg); - }else if(3 == sstsConfig.idCardUseAmountNoticeType){ - speaker.speak(msg); - jShowResult(msg); - } - } -} -function addBasketElement(basketItem){ - var currentNode; - var isBasketLoaded = false; - $("#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')[1]); - }else{ - createBasketUiElement(basketItem.containerBarcode,basketItem.id,basketItem.containerName,basketItem.washClassifyType); - } - $("#scanContainerBarcodeTipUl").hide(); -} -/** - * 在添加器械包之前验证是否需要先选择科室。如果配置了要加载模板,并且还没有选择科室,在添加器械包之前需要先选择科室。 - *
    因为没有选择科室,就添加器械包,会导致在后面选择科室之后,添加的器械包会被清空. - * 返回true,表示已经选择了科室,或者没有加载模板的功能,不选科室也没关系。返回false表示必须先选科室了才能添加器械包,并且当前还没有选择科室。 - */ -function checkSelectDepartBeforeAddTousse(){ - if(sstsConfig.isLoadApplyTemplateForAddRecycleRecord == true){ - var departName = document.getElementById('depart').value; - var departCode = document.getElementById('departCode').value; - if(isUndefinedOrNullOrEmpty(departCode) || isUndefinedOrNullOrEmpty(departName)){ - alertDiv("请选择科室"); - return false; - } - } - return true; -} - -/** - * 追加条码到条码集合中. - * @param originalBarcodes 条码集合 - * @param barcode 需要追加的条码 - */ -function appendBarcodes(originalBarcodes, barcode) { - if (originalBarcodes) { - return originalBarcodes + ';' + barcode; - } - return barcode; -} -/** - * 是否正在显示装配任务对话框,防止重复显示 - */ -var showingPackingTask = false; -function showUnfinishedPackingTask(msg){ - var message = null; - if(!msg.unfinishedPackingTask || msg.unfinishedPackingTask.length == 0){ - message = msg.errorMessage; - alertDiv(message); - }else{ - if(!showingPackingTask){ - var tdStyle = 'font-size:28px;text-align:center;'; - var nameWidth = '440px;',taskGroupWidth='200px;',amoutWidth='140px;'; - var table = ''; - for(var i = 0; i < msg.unfinishedPackingTask.length;++i){ - var task = msg.unfinishedPackingTask[i]; - table += ''; - } - table += '
    '+msg.errorMessage+'
    任务组器械包数量
    '+task.taskGroup+''+task.name+''+task.unPackAmount+'
    '; - var html = '
    '+table+'
    '; - $(html).dialog({ - maxHeight: 600, - width: 800, - modal:true, - close: function( event, ui ) { - showingPackingTask = false; - } - }); - showingPackingTask = true; - } - } -} -/** - * 根据扫描的条码加载对应的对象. - * @param barcodeTemp - */ -function loadBarcodeDevice(barcodeTemp){ - if(barcodeTemp.length >= 1){ +function loadBarcodeDevice(barcodeTempParam){ + if(barcodeTemp.length >= 9){ //var barcode = barcodeTemp.substring(barcodeTemp.length-9,barcodeTemp.length); - //由于条码可能超过9位,所以取全部 - var barcode = barcodeTemp; + //由于条码可能超过9位,所以要取整个条码字符串了 + var barcode = barcodeTempParam; + barcodeTemp = ''; $.ajax({ type:'get', - url:encodeURI(WWWROOT + '/disinfectSystem/recyclingRecordAction!getBarcodeInfo.do?time='+new Date()+'&barcode='+barcode+''), - data:'recyclingRecordId=' + encodeURI($('#id').val()) + '&formType=' + encodeURI($('#appType').val()), + url:encodeURI(WWWROOT + '/disinfectSystem/recyclingRecordAction!getBarcodeInfo.do?time='+new Date()+'&barcode='+barcode), dataType:'json', success:function(msg){ if(msg.errorMessage != null ){ - if(msg.unfinishedPackingTask!=null){ - showUnfinishedPackingTask(msg); - }else{ - alertDiv(msg.errorMessage); - } - }else if(msg.orgUnit!= null){ - //只更新科室名称及编码信息(since2015-12-16 SYF),添加新单时才更新部门 - if(params_appId == null || params_appId == "null" || params_appId == ""){ - selectDepart(msg.orgUnit.name,msg.orgUnit.orgUnitCoding) - }else{ - alertDiv("已有回收单不可更改科室"); - } + alertDiv(msg.errorMessage); }else if(msg.basket != null){ - //不装配的篮筐不能回收扫描 - var containerStatus = msg.basket.containerStatus; - if(containerStatus == "清洗完成" || containerStatus == "清洗中"){ - $("#dialogConfirm").dialog({ - resizable: false, - height:310, - width:600, - modal: true, - open: function() { - $("#confirmMsg").text("【"+msg.basket.containerName + "】当前状态为【" + containerStatus + "】,还有物品未装配,是否继续使用该篮筐?"); - }, - close: function() { - $("#confirmMsg").text(""); - }, - buttons: { - "是": function() { - addBasketElement(msg.basket); - $( this ).dialog( "close" ); - }, - "否": function() { - $( this ).dialog( "close" ); - } - } - }); - }else{ - addBasketElement(msg.basket); - } - }else if(msg.tousseInstance != null){ - if(!checkSelectDepartBeforeAddTousse()){ - return false; - } + var isBasketLoaded = false; + var currentNode; - if(!msg.isIDCardInstance){ //扫描器械包实例的条码 - var ti = msg.tousseInstance; - var td = ti.tousseDefinition; - - var isExist = false; - $('#tousseItemTable').children().first().children().each(function(i,element){ - if($('#tousseName'+i).val() == td.name && $('#deleted'+i).val() == '0'){ - $('#recycleAmount'+i).val(parseInt($('#recycleAmount'+i).val()) + 1); - $('#tousseOrIDCardInstanceBarcodes'+i).val(appendBarcodes($('#tousseOrIDCardInstanceBarcodes'+i).val(), ti.barcode)); - addErrorDamageRemark(ti,i); - loadUnSupplementMaterial(msg,i,ti.barcode); - isExist = true; - } - }); - - if(!isExist){ - var isThereIdentificationCard = '否'; - if(td.isDisableIDCard == "否"){ - isThereIdentificationCard = '是'; - } - var tmpRow = $("#tousseItemTable > tbody > tr").length; //获取子元素,不包含孙子及以下的元素 - var timeStr = new Date().getTime(); - var errorDamageQmKey = td.id + "_" + timeStr; - var toussItem = { - row: tmpRow, - tousseItemId: '', - tousseName: td.name, - tousseDefinitionID: td.id, - applicationAmount: 0, - recycleAmount: 1, - loadedAmount: 0, - isCleanedEntirely: td.isCleanedEntirely, - tousseType: td.tousseType, - isThereIdentificationCard: isThereIdentificationCard, - isApplyEntireTousse: td.isApplyEntireTousse, - urgentAmount : 0, - tousseRemark:'', - errorDamageQmKey : errorDamageQmKey, - barcode : ti.barcode - }; - addToussItem(toussItem,sstsConfig.addTousseAtLastForRecycle); - //清除已删除的包 - cleanDeleteTousseItem(td.id); - addErrorDamageRemark(ti,tmpRow); - //未补充的丢失报损 - loadUnSupplementMaterial(msg,tmpRow,ti.barcode); + var basketItem = msg.basket; + $("#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; } - }else{ //扫描标识牌实例条码 - barcode = msg.idCardInstance.barcode; - if($('#depart').attr('value') == ''){ - $('#depart').val(msg.tousseInstance.locationForDisplay) - $('#departCode').val(msg.tousseInstance.location) - } - var tousseDepart = isUndefinedOrNullOrEmpty(msg.tousseInstance.locationForDisplay2)?msg.tousseInstance.locationForDisplay:msg.tousseInstance.locationForDisplay2; - // 对于已废弃的包,不检查其位置和所属科室的信息 - if(!isUndefinedOrNullOrEmpty(tousseDepart) && $('#depart').attr('value') != tousseDepart && msg.tousseInstance.status != '已废弃'){ - alertDiv('该器械包不属于该科室。'); - }else{ - var ti = msg.tousseInstance; - var td = ti.tousseDefinition; - - var exist = idCardIsExist(barcode); - if(exist){ - alertDiv(barcode+",已入筐!"); - scanned = true; - }else{ - var orgUnitName = $('#depart').val(); - var addSuccess = false; - var idCardClassifyBasket = msg.idCardClassifyBasket; - if(idCardClassifyBasket){ - if(idCardClassifyBasket.containerStatus == "清洗完成" || idCardClassifyBasket.containerStatus == "清洗中"){ - alertDiv("【"+idCardClassifyBasket.containerName + "】当前状态为【" + idCardClassifyBasket.containerStatus + "】,还有物品未装配"); - return false; - }else{ - addBasketElement(idCardClassifyBasket); - } - } - var basketHideStr = $("#basketsUl li:first").find('input').val(); - if(basketHideStr == null || basketHideStr == ""){ - alertDiv("请扫描篮筐条码!"); - return false; - } - - var loadedAmount = tousseIntoBasketFunction(td.id,td.name,1,td.isCleanedEntirely,orgUnitName,barcode,td.tousseType); - - if(loadedAmount > 0){ - 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)); - $('#tousseOrIDCardInstanceBarcodes'+i).val(appendBarcodes($('#tousseOrIDCardInstanceBarcodes'+i).val(), ti.barcode)); - if(parseInt($('#loadedAmount'+i).val()) > parseInt($('#recycleAmount'+i).val())){ - $('#recycleAmount'+i).val(parseInt($('#loadedAmount'+i).val())); - } - addErrorDamageRemark(ti,i); - loadUnSupplementMaterial(msg,i,ti.barcode); - } - }); - if(!tousseIsExist){ - var tmpRow = $("#tousseItemTable > tbody > tr").length; - var timeStr = new Date().getTime(); - var errorDamageQmKey = td.id + "_" + timeStr; - var toussItem = { - row: tmpRow, - tousseItemId: '', - tousseName: td.name, - tousseDefinitionID: td.id, - applicationAmount: 0, - recycleAmount: 1, - loadedAmount: 1, - isCleanedEntirely: td.isCleanedEntirely, - tousseType: td.type, - isThereIdentificationCard: '是', - isApplyEntireTousse: td.isApplyEntireTousse, - urgentAmount : 0, - tousseRemark:'', - errorDamageQmKey : errorDamageQmKey, - barcode : ti.barcode - }; - addToussItem(toussItem,sstsConfig.addTousseAtLastForRecycle); - //清除已删除的包 - cleanDeleteTousseItem(td.id); - addErrorDamageRemark(ti,tmpRow); - //未补充的丢失报损 - loadUnSupplementMaterial(msg,tmpRow,ti.barcode); - } - noticeIdCardUseAmount(msg.idCardUseAmount); - if(msg.isTousseNeedMaintain != null && msg.isTousseNeedMaintain == true){ - alertDiv('\'' + msg.tousseInstance.tousseDefinition.name + '\'' + '需要保养了.'); - } - refreshAllBasketTotalNum(); - } - - //记住扫描的标志牌 - $('#tousseItemTable').children().first().children().each(function(i,element){ - if($('#tousseName'+i).val() == td.name && $('#deleted'+i).val() == '0'){ - var barcodesStr = $('#barcodes'+i).val(); - if(barcodesStr == ""){ - var idCardBarcodeArray = new Array(); - idCardBarcodeArray[0] = {}; - idCardBarcodeArray[0].barcode = barcode; - idCardBarcodeArray[0].addSuccess = addSuccess; - $('#barcodes'+i).val(JSON.stringify(idCardBarcodeArray)); - }else{ - var idCardBarcodeArray = JSON.parse(barcodesStr); - var idCardIsExist = false; - var idCardLen = idCardBarcodeArray.length; - for(var n = 0;n < idCardLen;n++){ - if(idCardBarcodeArray[n].barcode == barcode){ - idCardIsExist = true; - break; - } - } - if(!idCardIsExist){ - idCardBarcodeArray[idCardLen] = {}; - idCardBarcodeArray[idCardLen].barcode = barcode; - idCardBarcodeArray[idCardLen].addSuccess = addSuccess; - $('#barcodes'+i).val(JSON.stringify(idCardBarcodeArray)); - } - } - } - }); - } - } + }); + $("#seleniumResult").val("1"); + if(isBasketLoaded){ + //将篮筐放置在最前面 + $("#basketsUl").prepend(currentNode); + toggleItems(currentNode.find('span')[0]); + }else{ + var basketElement = '
  • '; + basketElement += ''; + basketElement += ''; + basketElement += '删除'; + basketElement += '删除'; + basketElement += ''; + basketElement += ''; + basketElement += '
    '+basketItem.containerName+'
    ' + basketElement += '' + 0 + ''; + basketElement += '
    '; + basketElement += '
  • '; + var obj = $(basketElement); + $("#basketsUl").prepend(obj); + var json = getBasketJSON(basketItem.id,basketItem.containerBarcode,basketItem.containerName,basketItem.washClassifyType); + $("#basketsUl li:first").find('input').val(json); + updateRemoveImplantBtn($("#basketsUl li:first"),false); + toggleItems(obj.find('span')[0]); } - checkLoadedAmount(); - }else if(msg.user != null){ - userNameByBarcode = msg.user.fullName; - //点击选中回收人员或是清点人员 - if(currentUserType == userType_recycling){ - $('#recyclingUser').val(userNameByBarcode); - currentUserType = userType_operator; - }else if(currentUserType == userType_operator){ - $('#operator').val(userNameByBarcode); - currentUserType = userType_recycling; - } - selectUserType(currentUserType); + refreshBasketStatus(); + refreshAllBasketTotalNum(); }else{ alertDiv('没有找到该条码所对应的信息。'); } $("#codeScan").val(""); - barcodeGloble = ""; }, - error:function(msg){ - barcodeGloble = ""; - //提示信息输出... - } + error:function(){} }); }else{ alertDiv('条码长度不符合规范。'); } } -//选择回收人员 -function selectRecyclingUser(){ - $('#recyclingUser').val(userNameByBarcode); +function getBasketJSON(itemId,barcode,containerName,washClassifyType){ + var json = {}; + json.classifyBasketId = itemId; + json.barcode = barcode; + json.containerName = containerName; + json.washClassifyType = washClassifyType; + return JSON.stringify(json); } -//选择清点人员 -function selectOperator(){ - $('#operator').val(userNameByBarcode); -} - -function openselectRecyclingApplication(){ - var width = 740; - var height = 400; - if(resolution == '1980'){ - width = 980; - height = 420; - } - - layerIndex=layer.open({ - type : 2, - title : ['选择申请单',true], - content : 'recyclingApplications.jsp?resolution='+resolution, - area : [ width + 'px' , height + 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : ['100px',''] - }); +function getBasketItemJSON(tousseName,materialName,materialAmount,tousseAmount,tousseDefinitionID, + idCardBarcode,putBasketMaxAmount,materialInstanceId,isImplant,tousseType){ + var json = {}; + json.tousseName = tousseName; + json.materialName = materialName; + json.amount = materialAmount;//td显示的数量 + json.tousseAmount = tousseAmount;//材料相对的包数量 + json.tousseDefinitionID = tousseDefinitionID; + json.idCardBarcode = idCardBarcode; + json.putBasketMaxAmount = putBasketMaxAmount; + json.materialInstanceId = materialInstanceId; + json.isImplant = isImplant; + json.tousseType = tousseType; + return JSON.stringify(json); } - -function openRecyclingErrorPage(row,errorDamageQmKey){ - - var tousseType = $('#tousseType' + row).val(); - if(tousseType == '外来器械包'){ - alertDiv("外来器械包不能添加丢失项!"); - return false; - } - - 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); - var errorRemark = $('#hiddenErrorRemark'+row).val(); - - width = size.width; - height = size.height; - - offsetTop = offsetTop*zoomRatio; - layerIndex=layer.open({ - type : 2, - title : ['材料丢失',true], - content : 'recyclingErrors.jsp?resolution='+resolution+'&isEditIDCardError='+isEditIDCardError+'&width='+width+'&height='+height - +'&row='+row+'&tousseDefinitionID='+$('#tousseDefinitionID'+row).val()+'&tousseName='+encodeAll(tousseName) - +'&recordType=' + params_recordType - +'&tousseCount='+($('#recycleAmount'+row).val()==''?0:$('#recycleAmount'+row).val()) + '&errorRemark=' + errorRemark - +'&errorDamageQmKey=' + errorDamageQmKey, - area : [ width + 'px' , height +heightExtra + 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : [offsetTop+'px',''] - }); +function getFirstBasketScanedGoods(){ + var basketJsonArray = new Array(); + basketJsonArray.push(getBasketScanedGoods($("#basketsUl li:first"))); + return basketJsonArray; } - -function openSetUrgentAmountPage(row){ - - var tousseItemId = $('#tousseItemId'+row).val(); - if(tousseItemId != ''){ - return false; - } - - var isEditIDCardError = false; - if($('#id').val() == ""){ - isEditIDCardError = true; - } - var tousseName = $('#tousseName'+row).val(); - var applyAmount = $('#applicationAmount'+row).val(); - var recycleAmount = $('#recycleAmount'+row).val(); - var urgentAmount = $('#urgentAmount'+row).val(); - var urgentLevel = $('#urgentLevel' + 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; - layerIndex=layer.open({ - type : 2, - title : ['器械包加急',true], - //iframe : {src : 'setTousseUrgentAmount.jsp?resolution='+resolution+'&width='+width+'&height='+height+'&row='+row+'&tousseDefinitionID='+$('#tousseDefinitionID'+row).val()+'&tousseName='+encodeAll(tousseName)+'&applyAmount='+applyAmount+'&recycleAmount='+recycleAmount+'&urgentAmount='+urgentAmount}, - content : 'setTousseUrgentAmount.jsp?resolution='+resolution+'&width='+width - +'&height='+height+'&row='+row+'&tousseDefinitionID='+$('#tousseDefinitionID'+row).val() - +'&tousseName='+encodeAll(tousseName)+'&applyAmount='+applyAmount+'&recycleAmount=' - +recycleAmount+'&urgentAmount='+urgentAmount + '&urgentName=' + encodeAll(urgentLevel), - area : [ width + 'px' , height +heightExtra + 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : [offsetTop+'px',''] +function getScanedGoods(){ + var basketJsonArray = new Array(); + $("#basketsUl li").each(function(){ + basketJsonArray.push(getBasketScanedGoods($(this))); }); + return basketJsonArray; } +function getBasketScanedGoods(basketElement){ + var hideStr = basketElement.find('input').val(); + var hiddenjson = JSON.parse(hideStr); -function getTousseItemRecyclingError(row){ - return $('#recyclingError' + row).val(); -} + var scanedGoodsArray = new Array(); -function setTousseItemRecyclingError(row,jsonstr,errorRemark){ - $('#recyclingError' + row).val(jsonstr); - if(!isUndefinedOrNull(errorRemark)){ - $('#hiddenErrorRemark' + row).val(errorRemark); - } - refreshErrorRemarkView(row); - refreshErrorMaterialsView(row); -} -/** - * 将丢失报损的材料json字符串格式化为 名称*数量;名称*数量 的形式.如果数量为0,则排除 - * @param materialArrayStr - * @returns - */ -function formatErrorOrDamageMaterials(materialArrayStr){ - if(!isUndefinedOrNullOrEmpty(materialArrayStr)){ - var materialArray = JSON.parse(materialArrayStr); - var materials = ""; - for(var i = 0; i < materialArray.length;++i){ - var amount = parseInt(materialArray[i].amount); - if(amount > 0){ - materials += materialArray[i].materialName + "*" + materialArray[i].amount + ";"; + basketElement.find('dl').children().each(function(i,element){ + if($(this).attr('type') == 'hidden'){ + var itemJson = $(this).val(); + var json = JSON.parse(itemJson); + var type = json.type; + var name = json.tousseName; + if(type == '材料'){ + name = json.materialName; } + scanedGoodsArray.push({ + name:name, + tousseDefinitionID:json.tousseDefinitionID, + tousseName:json.tousseName, + tousseType:json.tousseType, + type:json.type, + amount:json.amount, + idCardBarcode : json.idCardBarcode, + putBasketMaxAmount:json.putBasketMaxAmount + }); } - return materials.length > 0?materials.substring(0,materials.length - 1):""; - } - return ""; + }); + return { + barcode : hiddenjson.barcode, + name:hiddenjson.containerName, + washClassifyType : hiddenjson.washClassifyType, + scanedGoods : scanedGoodsArray + }; } -/** - * 刷新丢失材料的显示,如果没有启用回收的丢失报损备注功能,或者没有丢失材料,那么隐藏整行 - * @param row 行号 - */ -function refreshErrorMaterialsView(row){ - var hide = true; - if(sstsConfig.enableRecycleMaterialErrorDamageRemark){ - var recyclingErrorJsonArrayStr = $('#recyclingError' + row).val(); - var materials = formatErrorOrDamageMaterials(recyclingErrorJsonArrayStr); - if(!isUndefinedOrNullOrEmpty(materials)){ - $('#errorMaterials' + row).text('丢失材料:' + materials); - hide = false; +function getBasketElement(basketBarcode){ + var findEl = null; + $("#basketsUl li").each(function(index,element){ + var basketStr = $(this).find('input').val(); + var basket = JSON.parse(basketStr); + if(basket){ + if(basket.barcode == basketBarcode){ + findEl = $(this); + return false; + } } - } - if(hide){ - $('#errorMaterialsTr' + row).hide(); - }else{ - $('#errorMaterialsTr' + row).show(); - } + }); + return findEl; } -/** - * 刷新丢失备注的显示,如果没有启用回收的丢失报损备注功能,或者没有丢失备注,那么隐藏整行 - * @param row 行号 - */ -function refreshErrorRemarkView(row){ - var hide = true; - if(sstsConfig.enableRecycleMaterialErrorDamageRemark){ - var errorRemark = $('#hiddenErrorRemark' + row).val(); - if(!isUndefinedOrNullOrEmpty(errorRemark)){ - $('#errorRemark' + row).text('丢失备注:' + errorRemark); - hide = false; - } - } - if(hide){ - $('#errorRemarkTr' + row).hide(); - }else{ - $('#errorRemarkTr' + row).show(); - } -} -/** - * 刷新报损备注的显示,如果没有启用回收的丢失报损备注功能,或者没有报损备注,那么隐藏整行 - * @param row 行号 - */ -function refreshDamageRemarkView(row){ - var hide = true; - if(sstsConfig.enableRecycleMaterialErrorDamageRemark){ - var errorRemark = $('#hiddenDamageRemark' + row).val(); - if(!isUndefinedOrNullOrEmpty(errorRemark)){ - $('#damageRemark' + row).text('报损备注:' + errorRemark); - hide = false; - } - } - if(hide){ - $('#damageRemarkTr' + row).hide(); - }else{ - $('#damageRemarkTr' + row).show(); - } -} -/** - * 刷新拆包器械拆分篮筐数量的显示界面。如果没有启用拆分篮筐显示功能,或者没有报损备注,那么隐藏整行 - * @param row 行号 - */ -function refreshSplitBasketView(){ - if(sstsConfig.enableSplitBasketCount){ - //包定义id与包拆分的篮筐的映射 - var tousseDefIdBasketGroupMap = {}; - $('dl[class="sed clearfix"]').each(function(){ - $(this).children().each(function(){ - if($(this).attr('type') == 'hidden'){ - var hideValue = $(this).val(); - if(!isUndefinedOrNullOrEmpty(hideValue)){ - var obj = JSON.parse(hideValue); - if(obj.type == '材料'){ - tousseDefIdBasketGroupMap[obj.tousseDefinitionID] = obj.basketGroupBarcodes; +/*** 创建物品入筐*/ + +function addBasketItemElement(tousseName,materialName,materialAmount,tousseAmount,tousseDefinitionID,idCardBarcode,putBasketMaxAmount, batchToBasket,materialInstanceId,isImplant,tousseType){ + var success = true; + var recyclingApplicationId = param_recyclingApplicationId; + if(batchToBasket && sstsConfig.enableMaterialWashclasifyInCustomRecycle){ + var params = getScanedGoods(); + DWREngine.setAsync(false); + ////Annie 组合数组 + var putMaterialIntoBasketGood=[{ + materialInstanceId:materialInstanceId, + amount:1, + scanedBasketAnmaterials:'asd', + tousseIntoBasketInfo:'asd', + recyclingApplicationId:1, + }]; + + RecyclingRecordTableManager.putMaterialIntoBasket(materialInstanceId,materialAmount,JSON.stringify(params),JSON.stringify(tousseIntoBasketInfo.getResult()),recyclingApplicationId,function(result){ + var jsonObj = JSON.parse(result); + + if(!jsonObj.success){ + alertDiv(jsonObj.message); + success = false; + }else{ + var materials = jsonObj.materials; + if(materials == null){ + alertDiv("异常数据,请联系管理员!"); + success = false; + }else{ + for(var i = 0;i < materials.length;i++){ + var item = materials[i]; + var basketElement = getBasketElement(item.basketBarcode); + + success = addItemToThisBasket(basketElement,tousseName,item.materialName,item.materialAmount,tousseAmount, + tousseDefinitionID,idCardBarcode,item.putBasketMaxAmount,materialInstanceId,isImplant,tousseType); + if(!success){ + break; } } } - }); + } }); - $("#tousseItemTable > tbody > tr").each(function(row,element) { - var tousseDefinitionId = $("#tousseDefinitionID" + row).val(); - var tousseType = $("#tousseType" + row).val();//省医现在希望最好是只有外来器械才显示 - var basketGroupBarcodes = tousseDefIdBasketGroupMap[tousseDefinitionId]; - if((tousseType == '外来器械包'|| tousseType == '外来器械拆分小包' ) && !isUndefinedOrNull(basketGroupBarcodes)){ - $('#splitBasket' + row).text('拆分篮筐数:' + basketGroupBarcodes.split(";").length); - $('#splitBasketTr' + row).show(); + DWREngine.setAsync(true); + }else{ + var params = getFirstBasketScanedGoods(); + DWREngine.setAsync(false); + //Annie 组合数组 + var materialInstanceGoood =[{ + materialInstanceId:materialInstanceId, + scanedBasketAnmaterials:'asd', + tousseIntoBasketInfo:'asd', + recyclingApplicationId:1, + }] + RecyclingRecordTableManager.canAddThisBasketItem(materialInstanceId,JSON.stringify(params),JSON.stringify(tousseIntoBasketInfo.getResult()),recyclingApplicationId,function(result){ + var jsonObj = JSON.parse(result); + + if(!jsonObj.success){ + alertDiv(jsonObj.message); + success = false; }else{ - $('#splitBasket' + row).text(''); - $('#splitBasketTr' + row).hide(); + success = addItemToThisBasket($("#basketsUl li:first"),tousseName,materialName,materialAmount,tousseAmount, + tousseDefinitionID,idCardBarcode,putBasketMaxAmount,materialInstanceId,isImplant,tousseType); } }); + DWREngine.setAsync(true); } + return success; } /** - * 刷新报损材料明细的显示,如果没有启用回收的丢失报损备注功能,或者没有报损材料,那么隐藏整行 - * @param row 行号 + * 将物品添加到篮筐 + * trElement basketsUl中的li元素,通过jquery封装的对象 */ -function refreshDamageMaterialsView(row){ - var hide = true; - if(sstsConfig.enableRecycleMaterialErrorDamageRemark){ - var recyclingDamageArrayStr = $('#recyclingDamage' + row).val(); - var materials = formatErrorOrDamageMaterials(recyclingDamageArrayStr); - if(!isUndefinedOrNullOrEmpty(materials)){ - $('#damageMaterials' + row).text('报损材料:' + materials); - hide = false; - } +function addItemToThisBasket(trElement,tousseName,materialName,materialAmount,tousseAmount,tousseDefinitionID, idCardBarcode,putBasketMaxAmount,materialInstanceId,isImplant,tousseType){ + if(trElement == null){ + //目前不可能会有这种情况 + return false; } - if(hide){ - $('#damageMaterialsTr' + row).hide(); - }else{ - $('#damageMaterialsTr' + row).show(); + var basketElement = trElement.find('dl[class="sed clearfix"]:eq(0)'); + var basketHidenValue = trElement.find('input').val(); + var basketBarcode = null; + var basketName = null; + if(basketHidenValue){ + var basketItem = JSON.parse(basketHidenValue); + basketBarcode = basketItem.barcode; + basketName = basketItem.containerName; } -} - -function getTousseItemRecyclingDamage(row){ - return $('#recyclingDamage' + row).val(); -} - -function setTousseItemRecyclingDamage(row,jsonstr,damageRemark){ - $('#recyclingDamage' + row).val(jsonstr); - if(!isUndefinedOrNull(damageRemark)){ - $('#hiddenDamageRemark' + row).val(damageRemark); + //var basketElement = $('dl[class="sed clearfix"]:eq(0)'); + //var basketHidenValue = $("#basketsUl li:first").find('input').val(); + var showName = tousseName; + if(idCardBarcode != ""){ + showName += "["+idCardBarcode+"]"; } - refreshDamageRemarkView(row); - refreshDamageMaterialsView(row); -} -function updateUrgentAmount(row,urgentAmount,urgentLevel){ - $('#urgentAmount'+row).val(urgentAmount); - $('#urgentAmountDiv'+row).html(urgentAmount); - $('#urgentLevel' + row).val(urgentLevel); - if(urgentAmount > 0){ - $('#urgentAmountDiv'+row).css("background-image","url(urgentBg.png)"); - if(sstsConfig.showUrgentLevel){ - $('#urgentAmountDiv'+row).html(urgentLevel); - }else{ - $('#urgentAmountDiv'+row).html(urgentAmount); + var isExist = false; + + trElement.find('dl > input').each(function(){ + var hideStr = $(this).val(); + var json = hideStr?JSON.parse(hideStr):{}; + if(json.tousseDefinitionID == tousseDefinitionID && json.materialName == materialName && json.idCardBarcode == idCardBarcode){ + isExist = true; + json.amount = (json.amount + materialAmount); + $(this).val(JSON.stringify(json)); + $(this).next().next().next().text(json.amount); + if(json.amount == 0){ + // + tousseIntoBasketInfo.remove(tousseDefinitionID,basketBarcode); + } + return false; } - }else{ - $('#urgentAmountDiv'+row).css("background-image","url(unUrgentBg.png)"); - $('#urgentAmountDiv'+row).html("+"); + }); + + if(!isExist){ + var element = ''; + element += '
    ' + showName + '
    '; + element += '
    ' + materialName + '
    '; + element += '
    ' + materialAmount + '
    '; + element += '
    删除
    '; + var json = getBasketItemJSON(tousseName,materialName,materialAmount,tousseAmount,tousseDefinitionID,idCardBarcode, + putBasketMaxAmount,materialInstanceId,isImplant,tousseType); + basketElement.prepend($(element)); + basketElement.find("input:first").val(json); + sortBasketSequence(trElement,tousseDefinitionID,tousseType); + tousseIntoBasketInfo.addTousseBasket({tousseDefinitionID:tousseDefinitionID,tousseName:tousseName, + tousseType:tousseType},{barcode:basketBarcode,basketName:basketName}) } + return true; } +/** + * 记录篮筐的序号,以包定义的id为key,值为一组篮筐的li元素,顺序排列 + */ +var basketSequences = {}; -function openRecyclingDamagePage(row,tousseName,tousseItemId,errorDamageQmKey){ - - var tousseType = $('#tousseType' + row).val(); - if(tousseType == '外来器械包'){ - alertDiv("外来器械包不能添加报损项!"); - return false; +/** + * 添加篮筐序号。如果已经有序号了,那就不要再添加了.也不改变 + * @param trElement + * @returns + */ +function sortBasketSequence(trElement,tousseDefinitionID,tousseType){ + if(!trElement){ + return; } - - 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(); - var damageRemark = $('#hiddenDamageRemark' + row).val(); - if(resolution == '1980'){ - width = 980; - height = 700; + if(!tousseDefinitionID){ + return; } - var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); - var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); - - width = size.width; - height = size.height; - - offsetTop = offsetTop*zoomRatio; - layerIndex=layer.open({ - type : 2, - title : ['材料报损',true], - content : 'recyclingDamage.jsp?resolution='+resolution+'&width='+width+'&height='+height - +'&row='+row+'&tousseDefinitionID='+$('#tousseDefinitionID'+row).val()+'&tousseName='+tousseName - +'&tousseItemId='+tousseItemId+'&tousseCount='+$('#recycleAmount'+row).attr('value') - +'&recordType=' + params_recordType - +'&depart='+depart+'&departCode='+departCode+ '&damageRemark=' + damageRemark - +'&errorDamageQmKey=' + errorDamageQmKey, - area : [ width + 'px' , height +heightExtra + 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : [offsetTop+'px',''] - }); -} - -function submitForeignTousseDefinition(applicationId,foreignTousseInfo){ - $.ajax({ - type : 'post', - url : WWWROOT + '/disinfectSystem/foreigntousseapplication/foreignTousseApplicationAction!updateForeignTousseDefiniton.do', - data : {id : applicationId,foreignTousseInfo : foreignTousseInfo}, - dataType : 'json', - success : function(msg) { - alert(msg.message); - }, - error: function(XMLHttpRequest, textStatus, errorThrown) { - alert(textStatus); + if(tousseType==PACKAGE_TYPE_SPLIT|| tousseType==PACKAGE_TYPE_FOREIGN){ + var sequences = basketSequences[tousseDefinitionID]; + if(!sequences){ + sequences = []; + basketSequences[tousseDefinitionID] = sequences; } - }); -} - -function amendDisinfectionTousse(row){ - var tousseName = $('#tousseName'+row).val(); - var tousseDefinitionID = $('#tousseDefinitionID'+row).val(); - var tousseType = $('#tousseType'+row).val(); - if(tousseType == '消毒物品' || tousseType == '灭菌物品'){ - var width = 740; - var height = 400; - if(resolution == '1980'){ - width = 980; - height = 700; + var find = false; + for(var i = 0; i < sequences.length;++i){ + if(isSameBasket(sequences[i],trElement)){ + find = true; + } } - - layerIndex=layer.open({ - type : 2, - title : ['消毒物品明细',true], - content : 'disinfectionTousseItems.jsp?resolution='+resolution+'&row='+row+'&tousseDefinitionID='+tousseDefinitionID, - 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:'id=' + tousseDefinitionID, -// 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(); -// } - $.magnificPopup.open({ - items: [{ - src:'tousseImage.jsp?resolution='+resolution+'&tousseDefinitionID='+tousseDefinitionID+'&tousseName='+encodeURIComponent(tousseName)+'&number='+1, - type :'iframe' - },{ - //只是为了让箭头出现,如果可以有其他办法,这里可以去掉。因为在tousseImage.jsp内部,修改了下一页和上一页的处理 - src: '
    永远看不到我
    ', - type: 'inline' - }], - tClose: '关闭(Esc)', - gallery: { - enabled: true, - tPrev: '上一页 (左箭头)', // Alt text on left arrow - tNext: '下一页 (右箭头)' - }, - image: { - verticalFit: true - }, - type: 'image' // this is default type - }); -// }, -// error:function(XMLHttpRequest, textStatus, errorThrown){ -// } -// }); - }else if(tousseType == '自定义器械包'){ - 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; + if(!find){ + sequences[sequences.length] = trElement; } - var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); - var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); - - width = size.width; - height = size.height; - - offsetTop = offsetTop*zoomRatio; - layerIndex=layer.open({ - type : 2, - title : [tousseName + ' 材料信息',true], - content : 'setMaterialRecycleAmount.jsp?resolution='+resolution+'&width='+width+'&height='+height+'&row='+row+'&tousseDefinitionID=' + tousseDefinitionID, - area : [ width + 'px' , height +heightExtra + 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : [offsetTop+'px',''] - }); - }else if(tousseType == '外来器械包'){ - 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 = 1080; - height = 800; - } - var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); - var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); - - width = size.width; - height = size.height; - - offsetTop = offsetTop*zoomRatio; - - layerIndex=layer.open({ - type : 2, - title : [tousseName + ' 信息',true], - content : 'setForeignTousseDefinition.jsp?resolution='+resolution+'&width='+width+'&height='+height+'&row='+row+'&tousseDefinitionID=' + tousseDefinitionID + '&applicationId=' + params_appId + '&recyclingrecordId=' + params_id, - area : [ width + 'px' , height +heightExtra + 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : [offsetTop+'px',''] - }); } } - -function getBasketJSON(itemId,barcode,washClassifyType,sequence,basketName){ - var json = {}; - json.classifyBasketId = itemId; - json.barcode = barcode; - json.washClassifyType = washClassifyType; - json.sequence = sequence; - json.basketName = basketName; - return JSON.stringify(json); -} - -function getBasketItemJSON(ci_id,type,orgUnitName,tousseName,materialName,amount,tousseAmount,idCardBarcode, - tousseDefinitionID,basketGroupBarcodes,putBasketMaxAmount,tousseType){ - 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.idCardBarcode = idCardBarcode; - json.tousseDefinitionID = tousseDefinitionID; - json.tousseType = tousseType; - json.putBasketMaxAmount = putBasketMaxAmount; - json.useBasketBarcodes = new Array(); - json.basketGroupBarcodes = basketGroupBarcodes; - return JSON.stringify(json); -} - -/** - * 获取已入篮筐的数据. - * @param isCleanedEntirely - * @returns {Array} - */ -function getScanedGoods(isCleanedEntirely){ - var basketJsonArray = new Array(); - $("#basketsUl li").each(function(){ - var hideStr = $(this).find('input').val(); - var hiddenjson = JSON.parse(hideStr); - - var scanedGoodsArray = new Array(); - - $(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 type = json.type; - var name = json.tousseName; - if(type == '材料'){ - name = json.materialName; - } - scanedGoodsArray.push({ - name:name, - tousseDefinitionID:json.tousseDefinitionID, - tousseName:json.tousseName, - tousseType:json.tousseType, - type:json.type, - amount:json.amount, - idCardBarcode : json.idCardBarcode, - putBasketMaxAmount:json.putBasketMaxAmount - }); +function removeLiElement(li){ + if(li){ + for(var tdId in basketSequences){ + var sequences = basketSequences[tdId]; + for(var i = 0; i < sequences.length;++i){ + if(isSameBasket(sequences[i],li)){ + find = true; + sequences.splice(i,1); } } - }); - - if(isCleanedEntirely == "是"){ - if(sstsConfig.cleanedEntirelyTousseIntoWashClassifyEmptyBasket){ - if(isUndefinedOrNullOrEmpty(hiddenjson.washClassifyType)){ - basketJsonArray.push({ - barcode : hiddenjson.barcode, - name:hiddenjson.basketName, - washClassifyType : hiddenjson.washClassifyType, - scanedGoods : scanedGoodsArray - }); - return false; - } - }else{ - basketJsonArray.push({ - barcode : hiddenjson.barcode, - name:hiddenjson.basketName, - washClassifyType : hiddenjson.washClassifyType, - scanedGoods : scanedGoodsArray - }); - return false; - } - }else{ - basketJsonArray.push({ - barcode : hiddenjson.barcode, - name:hiddenjson.basketName, - washClassifyType : hiddenjson.washClassifyType, - scanedGoods : scanedGoodsArray - }); } - }); - return basketJsonArray; + } } - -/** - * 判断此次能入筐的数量. - * @param tousseDefinitionID - * @param tousseName - * @param recycleAmount - * @param isCleanedEntirely - * @param orgUnitName - * @param idCardBarcode - * @returns {Number} - */ -function tousseIntoBasketFunction(tousseDefinitionID,tousseName,recycleAmount,isCleanedEntirely,orgUnitName,idCardBarcode,tousseType){ - var params = getScanedGoods(isCleanedEntirely); - if(params.length <=0){ - if(isCleanedEntirely == "是" && sstsConfig.cleanedEntirelyTousseIntoWashClassifyEmptyBasket){ - //因为篮筐列表不会为空(之前已经验证过了),但是整包申请的包,如果配置为必须入清洗分类类型为空的篮筐,那可能就会执行到这里 - alertDiv("缺少清洗分类类型为空的篮筐,请扫描"); - return 0; +//判断两个li中是否是同一个篮筐。如果篮筐条码一样,那就是同一个篮筐,否则 不是 +function isSameBasket(li1,li2){ + if(!li1){ + return false; + } + if(!li2){ + return false; + } + var barcode1 = ''; + var barcode2 = ''; + if(li1){ + var basketHidenValue = li1.find('input:first').val(); + if(basketHidenValue){ + var basketInfo = JSON.parse(basketHidenValue); + barcode1 = basketInfo.barcode; } } - var loadedAmount = 0; - var recyclingApplicationId = $('#recyclingApplicationId').val(); - DWREngine.setAsync(false); - RecyclingRecordTableManager.getTousseIntoBasketAmount(tousseDefinitionID,recycleAmount,idCardBarcode,JSON.stringify(params),JSON.stringify(getTousseIntoBasketInfo()),recyclingApplicationId,function(result){ - var jsonObj = JSON.parse(result); - - if(!jsonObj.success){ - alertDiv(jsonObj.message); - }else{ - var data = jsonObj.data; - loadedAmount = data.amount; - if(isCleanedEntirely == "否"){ - var materials = data.materials; - if(materials == null){ - alertDiv("异常数据,请联系管理员!"); - return; - } - for(var i = 0;i < materials.length;i++){ - var item = materials[i]; - var basketItem = { - ci_id: "", - type: '材料', - orgUnitName: orgUnitName, - tousseName: tousseName, - tousseDefinitionID: tousseDefinitionID, - tousseType:tousseType, - materialName: item.materialName, - showName: item.materialName, - amount: item.materialAmount, - tousseAmount: loadedAmount, - basketBarcode: item.basketBarcode, - idCardBarcode: idCardBarcode, - basketGroupBarcodes:item.basketGroupBarcodes, - putBasketMaxAmount : item.putBasketMaxAmount - }; - addBasketItemElement(basketItem); - } - }else{ - var basketItem = { - ci_id: "", - type: '器械包', - orgUnitName: orgUnitName, - tousseName: tousseName, - tousseDefinitionID: tousseDefinitionID, - tousseType:tousseType, - materialName: "", - showName: tousseName, - amount: loadedAmount, - tousseAmount: loadedAmount, - basketBarcode: data.basketBarcode, - idCardBarcode: idCardBarcode, - basketGroupBarcodes: data.basketBarcode, - putBasketMaxAmount : data.putBasketMaxAmount - }; - addBasketItemElement(basketItem); - } + if(li2){ + var basketHidenValue = li2.find('input:first').val(); + if(basketHidenValue){ + var basketInfo = JSON.parse(basketHidenValue); + barcode2 = basketInfo.barcode; } - }); - DWREngine.setAsync(true); - return loadedAmount; + } + return barcode1 == barcode2; } //将器械包放入篮筐中 -function putTousseInTheBasket(row){ +function putMaterialInBasket(row,batchToBasket,thisAmount){ var inputSuccess = false; if($('#basketsUl').children().length > 0){ var tousseName = $('#tousseName'+row).val(); + var isCleanedEntirely = $('#isCleanedEntirely'+row).val(); + var materialName = $('#materialName'+row).val(); + var recycleAmount = parseInt($('#recycleAmount'+row).val(),10); + var applicationAmount = parseInt($('#applicationAmount'+row).val(),10); + var loadedAmount = parseInt($('#loadedAmount'+row).val(),10); + var tousseAmount = parseInt($('#tousseAmount'+row).val(),10); var tousseDefinitionID = $('#tousseDefinitionID'+row).val(); - var showTousseName = $('#showTousseName'+row).val(); + var idCardBarcode = $('#idCardBarcode'+row).val(); + var putBasketMaxAmount = $('#putBasketMaxAmount'+row).val(); + var washClassifyType = $('#washClassifyType'+row).val(); + var materialInstanceId = $('#materialInstanceId'+row).val(); + var isImplant = $('#isImplant'+row).val(); var tousseType = $('#tousseType'+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(amount > 9999){ - msg = "入筐数量不能大于9999!"; - } - - if(!isUndefinedOrNullOrEmpty(msg)){ - alertDiv(msg); + var insertBasketAmount = thisAmount?thisAmount:(recycleAmount - loadedAmount); + if(insertBasketAmount <= 0){ + alertDiv('放入篮筐的数量必须大于0!'); return false; } - var isIDCard = $('#isThereIdentificationCard'+row).val(); - if(isIDCard == '是'){ - var showMsg = null; - var recyclingErrorJsonArrayStr = $('#recyclingError'+row).val(); - if(!isUndefinedOrNullOrEmpty(recyclingErrorJsonArrayStr)){ - var recyclingErrorJsonArray = JSON.parse(recyclingErrorJsonArrayStr); - var isIdCardLost = false; - for(var j = 0;j < recyclingErrorJsonArray.length;j++) { - if(recyclingErrorJsonArray[j].materialName == '器械包标识牌'){ - isIdCardLost = true; - var errorAmount = parseInt(recyclingErrorJsonArray[j].amount); - var intoBasketAmount = parseInt(recyclingErrorJsonArray[j].intoBasketAmount); - if(errorAmount == 0 || errorAmount == intoBasketAmount){ - showMsg = $('#tousseName'+row).val()+"扫描的标识牌数量不等于回收数量,如果标识牌丢失,请在回收误差中登记丢失记录!"; - }else{ - if(errorAmount - intoBasketAmount >0){ - amount = errorAmount - intoBasketAmount; - } - } - break; - } - } - if(!isIdCardLost && amount > 0){ - showMsg = $('#tousseName'+row).val()+"扫描的标识牌数量不等于回收数量,如果标识牌丢失,请在回收误差中登记丢失记录!"; - } - }else{ - var tousseAmount = parseInt($('#recycleAmount'+row).val(),10); - var scannedAmount = parseInt($('#loadedAmount'+row).val(),10); - if(tousseAmount != scannedAmount){ - showMsg = $('#tousseName'+row).val()+"扫描的标识牌数量不等于回收数量,如果标识牌丢失,请在回收误差中登记丢失记录!"; - } - } + var success = addBasketItemElement(tousseName,materialName,insertBasketAmount,tousseAmount,tousseDefinitionID,idCardBarcode, + putBasketMaxAmount,batchToBasket,materialInstanceId,isImplant,tousseType); - if(showMsg != null){ - alertDiv(showMsg); - return false; - } - } + if(success){ + $('#loadedAmount'+row).val(loadedAmount + insertBasketAmount) - var orgUnitName = $('#depart').val(); - if(amount == 0){ - alertDiv('没有可以放入篮筐的器械包。'); - }else{ - var loadedAmount = tousseIntoBasketFunction(tousseDefinitionID,tousseName,amount,isCleanedEntirely,orgUnitName,"",tousseType); - - if(loadedAmount > 0){ - $('#loadedAmount'+row).val(parseInt(loadedAmount,10)+parseInt($('#loadedAmount'+row).val(),10)); - //丢失报损器械 - if(isIDCard == '是'){ - setIdCardErrorIntoBasketAmount(row,loadedAmount); - } - - setTousseItemLoadedAmountCss(row); - - inputSuccess = true; + if(applicationAmount == parseInt($('#loadedAmount'+row).val(),10)){ + deleteTousseItem(row); } + inputSuccess = true; } }else{ alertDiv('请先扫描篮筐条码。'); } - $('#depart').focus(); - return inputSuccess; } +function putMaterialInBasketWithAmount(row,amount){ + putMaterialInBasket(row,false,amount); + refreshBasketStatus(); + refreshAllBasketTotalNum(); +} -function setTousseItemLoadedAmountCss(row){ +function deleteTousseItem(row){ + $('#tousseItemsTr'+row).hide(); + $('#deleted'+row).val('1'); +} + +function add(row){ var recycleAmount = parseInt($('#recycleAmount'+row).val(),10); - var loadedAmount = parseInt($('#loadedAmount'+row).val(),10); - if(loadedAmount > 0 && recycleAmount > loadedAmount){ - $("#loadedAmount" + row).css("background","#FFE66F");//黄色 - }else if(recycleAmount == loadedAmount){ - $("#loadedAmount" + row).css("background","#b7d9a5");//绿色 + var applicationAmount = parseInt($('#applicationAmount'+row).val(),10); + if(recycleAmount >= applicationAmount){ + return; } + $('#recycleAmount'+row).val(recycleAmount+1); } -/** - * 修改数量的时候,更新绑定物品.调用此方法的时候,回收数量已经更新 - * @param row - */ -function updateBindGoods(row){ - var toussItem = { - tousseDefinitionID: $('#tousseDefinitionID' + row).val(), - tousseName:$('#tousseName' + row).val(), - recycleAmount:$('#recycleAmount' + row).val(), - tousseType:$('#tousseType' + row).val() - }; - addBindGoods(toussItem,sstsConfig.addTousseAtLastForRecycle); -} -/** - * 查找绑定的不回收的器械包。绑定中的包定义id都是祖先id - * @param ancestorTdId - */ -function findBindGoodsItem(ancestorTdId){ - for(var i = 0; i < unrecycleTousseItemArray.length;++i){ - if(unrecycleTousseItemArray[i].id == ancestorTdId){ - return unrecycleTousseItemArray[i]; - } - } - return null; -} -/** - * 添加绑定物品 - * @param toussItem - * @param appendLast - */ -function addBindGoods(toussItem,appendLast){ - var params = { -// settleAccountsDepartCoding: top.Ext4.getCmp('settleAccountsDepartCoding').getValue(),//只有一次性物品才用 -// handleDepartCode: top.Ext4.getCmp('handleDepartCoding').getValue(),//只有一次性物品才用 - goodName: toussItem.tousseName, - bindCount: toussItem.recycleAmount, - goodId: toussItem.tousseDefinitionID, - time: new Date().getTime(),//添加时间参数,避免缓存问题。现场反馈物品绑定偶尔带不出绑定的敷料包 - goodType: toussItem.tousseType - }; - $.ajax({ - type:'POST', - url:WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getBindGoods.do', - data:params, - dataType:'json', - success:function(result){ - if(result && result.success && result.data.length > 0){ - for(var i = 0; i < result.data.length;++i){ - var record = result.data[i]; - if(record.isRecycling != '是' || (record.tousseType != PACKAGE_TYPE_INSIDE && record.tousseType != PACKAGE_TYPE_DISINFECTION)){ - //不回收的器械包、消毒物品、敷料包,放到不回收器械包集合中,传到后台再添加申请(或者修改申请数量) - var existItem = findBindGoodsItem(record.id); - if(existItem){ - existItem.count = record.count; - }else{ - unrecycleTousseItemArray.push(record); - } - }else{ - var row = tousseItemExists(record.id,record.name,record.tousseType); - if(row == -1){ - row = document.getElementById("tousseItemTable").rows.length; - var timeStr = new Date().getTime(); - var errorDamageQmKey = record.id + "_" + timeStr; - var toussItem = { - row: row, - tousseItemId: '', - tousseName: record.name, - tousseDefinitionID: record.id, - applicationAmount: 0, - recycleAmount: 0, - loadedAmount: 0, - isCleanedEntirely: record.isCleanedEntirely, - tousseType: record.tousseType, - isThereIdentificationCard: record.isThereIdentificationCard, - isApplyEntireTousse: record.isApplyEntireTousse, - urgentAmount:0, - errorDamageQmKey:errorDamageQmKey - }; - addToussItem(toussItem,appendLast); - //已删除又添加该物品jsonArray处理 - cleanDeleteTousseItem(record.id); - } - $('#recycleAmount'+row).val(record.count); - setTousseItemLoadedAmountCss(row); - changeRecycleAmount(row); - } - } - } - }, - error:function(XMLHttpRequest, textStatus, errorThrown){ - alertDiv('获取绑定物品失败'); - } - }); -} -/** - * 判断是否存在对应的物品,如果存在,返回对应的行号,否则返回-1; - * @param tousseDefinitionID 包定义id - * @param tousseName 器械包名称,如果是消毒物品,就用名称匹配,因为消毒物品的id可能跟界面上的不一样 - * @param tousseType 器械包类型 - * @returns {Number} - */ -function tousseItemExists(tousseDefinitionID,tousseName,tousseType){ - var row = -1; - $('#tousseItemTable').children().first().children().each(function(i,element){ - if(($('#tousseDefinitionID'+i).val() == tousseDefinitionID)||(tousseType == '消毒物品' && $('#tousseName'+i).val() == tousseName)){ - //显示的列表中是否有该器械包 - if($('#deleted'+i).val() == '0'){ - row = i; - return false; - } - } - }); - return row; -} -function highlightExistTousseItem(row){ - //先滑动到对应的行 - var scrollTop = $("#tousseItemsTr" + row).offset().top-$('#tousseItemTable').offset().top; - $('#tousseItemBox').stop(true, false).animate({ - scrollTop: scrollTop - }, 500); - //闪烁一定的次数 - for(var i = 0; i < 5;++i){ - $("#tousseItemsTr" + row).animate({ - backgroundColor: "#7ABD32" - }, 300 ).animate({ - backgroundColor: "transparent" - }, 300 ) - } -} -/** - * 添加回收记录明细,tousseName为器械包名称,applicationAmount为申请数量,recycleAmount为回收数量,loadedAmount为装载数量 - * @param toussItem 物品明细 - * @param appendLast 是否追加到最后一行 - * @returns {Boolean} - */ -function addToussItem(toussItem,appendLast){ - 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 urgentAmount = toussItem.urgentAmount; - var tousseRemark = isUndefinedOrNullOrEmpty(toussItem.tousseRemark)?'':toussItem.tousseRemark; - var urgentLevel = toussItem.urgentLevel?toussItem.urgentLevel:""; - var errorDamageQmKey = toussItem.errorDamageQmKey?toussItem.errorDamageQmKey:""; - //器械包实例或者标识牌实例条码 - var barcode = toussItem.barcode?toussItem.barcode:""; - var b = true; - $('#tousseItemTable').children().first().children().each(function(i,element){ - if(($('#tousseDefinitionID'+i).val() == tousseDefinitionID)||(tousseType == '消毒物品' && $('#tousseName'+i).val() == tousseName)){ - //显示的列表中是否有该器械包 - if($('#deleted'+i).val() == '0'){ - alertDiv(tousseName + ",回收列表已存在!"); - b = false; - highlightExistTousseItem(i); - //删除后再添加该消毒物品,删除的项还原,原因是添加的消毒物品包定义和申请项的包定义不一样 - }else if(tousseType == '消毒物品'){ - $('#deleted'+i).val('0'); - $('#tousseItemsTr'+i).show(); - cleanDeleteTousseItem($('#tousseDefinitionID'+i).val()); - b = false; - } - } - }); - if(b){ - var showTousseName = tousseName; - var addButton = '+'; - var reduceButton = '-'; - var onclickFun = 'onclick="openUpdateAmount(this,'+ row +');"'; - var urgentAmountElement = ""; - if(!isUndefinedOrNull(urgentAmount) && urgentAmount > 0){ - var msg = urgentAmount; - var fontSize="30px"; - if(sstsConfig.showUrgentLevel){ - msg = urgentLevel; - fontSize = "16px"; - } - urgentAmountElement = '
    '+msg+'
    '; - }else{ - var bgMsg = "background-image:url(unUrgentBg.png);"; - var msg = "+"; - if(!isUndefinedOrNullOrEmpty(tousseItemId)){ - bgMsg = ""; - msg = ""; - } - var fontSize="30px";//如果要显示加急等级,字体就要小 - if(sstsConfig.showUrgentLevel){ - fontSize = "16px"; - } - urgentAmountElement = '
    '+msg+'
    '; - } - var errorRemark =toussItem.errorRemark; //"注备注备注"; - var damageRemark = toussItem.damageRemark;//"备注备注"; - errorRemark = isUndefinedOrNullOrEmpty(errorRemark)?'':errorRemark; - damageRemark = isUndefinedOrNullOrEmpty(damageRemark)?'':damageRemark; - var trStr = ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - '
    '+ - ''+ - addButton + - ''+ - reduceButton + - ''+ - ''+ - // ''+ - // ''+ - ''; - trStr += ''; - trStr += ''; - trStr += ''; - trStr += ''; - trStr += ''; - trStr += '
    ' + - urgentAmountElement + '' + - '入筐丢失报损删除
     
     
     
     
     
    '; - var trElement = $(trStr) - if(appendLast){ - trElement.appendTo("#tousseItemTable");//在表格最后一行追加 - }else{ - trElement.prependTo("#tousseItemTable");//在表格第一行追加行 - } - refreshErrorRemarkView(row); - refreshDamageRemarkView(row); +function reduce(row){ + var recycleAmount = parseInt($('#recycleAmount'+row).val(),10); + if(recycleAmount > 0){ + $('#recycleAmount'+row).val(recycleAmount-1); } - 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(); -} - -function setRemarkToRecycleItem(row,remark){ - remark = isUndefinedOrNullOrEmpty(remark)?"":remark; - $('#tousseRemark'+row).val(remark); - $("#dialogConfirm").dialog("close"); -} - -function setTousseRemark(row){ - $.ajax({ - type:'get', - url:encodeURI(WWWROOT + '/disinfectSystem/core/httpOptionAction!getHttpOptionsById.do?time='+new Date()), - data:'optionId=recycleItem_remark', - dataType:'json', - success:function(result){ - if(result.success){ - var htmlCode = ""; - var oldRemark = $('#tousseRemark'+row).val(); - for(var i = 0 ; i < result.data.length ; i++){ - var tmpRemark = result.data[i].value; - var redColor = ""; - if(oldRemark == tmpRemark){ - redColor = "color:red;"; - } - htmlCode += "

    " + result.data[i].value + "

    " - } - if(htmlCode == ""){ - alertDiv("未设置回收物品备注信息!"); - }else{ - $("#dialogConfirm").dialog({ - resizable: false, - height:530, - width:800, - title:'选择器械包备注信息', - modal: true, - open: function() { - $("#confirmMsg").html(htmlCode); - }, - close: function() { - $("#confirmMsg").html(""); - }, - buttons: { - "取消": function() { - $( this ).dialog( "close" ); - } - } - }); - } - } - }, - error:function(XMLHttpRequest, textStatus, errorThrown){ - alertDiv("未知错误,请联系管理员!"); - } - }); -} -var layerIndex; -function closeLayer(){ - layer.close(layerIndex); - layerIndex = null; -} -var qmLayerIndex = null; -function setQmLayerIndex(layerIndex){ - qmLayerIndex = layerIndex; -} -function closeQmLayer(){ - layer.close(qmLayerIndex); - qmLayerIndex = null; -} - -var materialMsg; -function setMaterialMsg(mMsg){ - materialMsg = mMsg; -} -function getMaterialMsg(){ - return materialMsg; -} - //打开编辑数量页面 var openElement; function openUpdateAmount(obj,row){ - var isApplyEntireTousse = $('#isApplyEntireTousse'+row).val(); - var tousseType = $('#tousseType'+row).val(); - - if(tousseType == '外来器械包'){ - alertDiv("外来器械包回收数量修改请使用旁边的按钮操作"); - return; - } - if(tousseType == '消毒物品' && '是' != isApplyEntireTousse){ - alertDiv("拆包的消毒物品回收数量修改请使用旁边的按钮操作"); - return; - } obj.blur(); var width = 550; var height = 300; @@ -2471,1705 +661,431 @@ offset : ['250px',''] }); } - -function openUpdateStuffInTheBasketAmount(obj,tousseName,name,type){ +//打开输入装载数量页面 +function openUpdateLoadAmount(obj,row){ + if(!sstsConfig.enableCustomIntoBasketWithCustomAmount){ + //没有启用此功能,不处理 + return; + } + var recycleAmount = parseInt($('#recycleAmount'+row).val(),10); + var loadedAmount = parseInt($('#loadedAmount'+row).val(),10); + if(loadedAmount >= recycleAmount){ + alertDiv("已经都装载入筐了"); + return; + } + if($('#basketsUl').children().length <= 0){ + alertDiv('请先扫描篮筐条码。'); + return; + } obj.blur(); var width = 550; var height = 300; if(resolution == '1980'){ width = 750; height = 400; } - openElement = obj; - layerIndex=layer.open({ + layerIndex = layer.open({ type : 2, - title : ['修改数量',true], - content : 'updateAmount.jsp?resolution='+resolution+'&tousseName='+tousseName+'&name='+name+'&type='+type, + title : ['装载入筐',true], + content : 'updateAmount.jsp?resolution='+resolution+'&row='+row + '&recycleAmount=' + + recycleAmount + '&loadedAmount=' + loadedAmount + '&from=customLoadedAmount', area : [width + 'px' , height + 'px'], border : [5, 0.3, '#fff', true], closeBtn : [2 , true], offset : ['250px',''] }); - } - -/** - * 获取回收误差信息,拼成字符串传到后台 - */ -function getMaterialErrorDamageDetail() { - var errorJsonArray = new Array(); - $('#tousseItemTable').children().first().children().each(function(i,element){ - if(!isUndefinedOrNullOrEmpty($('#recyclingError'+i).val())){ - var recyclingItemErrorJsonStr = $('#recyclingError'+i).val(); - if(!isUndefinedOrNullOrEmpty(recyclingItemErrorJsonStr)){ - var jsonArray = JSON.parse(recyclingItemErrorJsonStr); - for(var j = 0;j < jsonArray.length ; j++){ - jsonArray[j].itemType = '回收误差'; - errorJsonArray.push(jsonArray[j]); - } - } - } - var recyclingItemDamageJsonStr = $('#recyclingDamage'+i).val(); - if(!isUndefinedOrNullOrEmpty(recyclingItemDamageJsonStr)){ - var jsonArray = JSON.parse(recyclingItemDamageJsonStr); - for(var j = 0;j < jsonArray.length ; j++){ - jsonArray[j].itemType = '器械报损'; - errorJsonArray.push(jsonArray[j]); - } - } - }); - return errorJsonArray; +function changeRecycleAmount(){ + //空实现。主要是updateAmount.jsp中有调用这个方法 } - -/** - * 加急物品 - */ -function getUrgentTousseItems(){ - var urgentItemJsonArray = new Array(); - $('#tousseItemTable').children().first().children().each(function(index,element){ - if($('#deleted'+index).val() == '0'){ - var tousseName = $('#tousseName'+index).val(); - var tousseDefinitionID = $('#tousseDefinitionID'+index).val(); - var originalUrgentAmount = parseInt($('#originalUrgentAmount'+index).val(),10); - var urgentAmount = parseInt($('#urgentAmount'+index).val(),10); - var tousseItemId = $('#tousseItemId'+index).val(); - //已保存的tousseItem不能再修改 - if(tousseItemId == ""){ - urgentItemJsonArray.push({ - tousseName:tousseName, - tousseDefinitionID:tousseDefinitionID, - urgentAmount:urgentAmount - }); - } - } - }); - return urgentItemJsonArray; +var layerIndex; +function closeLayer(){ + layer.close(layerIndex); + layerIndex = null; } - /** - * 获取左边的回收的信息. - * @returns {Array} + * 添加待回收的材料项 */ -function getRecyclingItemInfo(){ - var recyclingItemJsonArray = new Array(); - $('#tousseItemTable').children().first().children().each(function(index,element){ - if($('#deleted'+index).val() == '0'){ - var tousseName = $('#tousseName'+index).val(); - var recycleAmount = $('#recycleAmount'+index).val(); - var tousseDefinitionID = $('#tousseDefinitionID'+index).val(); - var tousseRemark = $('#tousseRemark'+index).val(); - var errorRemark = $('#hiddenErrorRemark'+index).val(); - var damageRemark = $('#hiddenDamageRemark'+index).val(); - var urgentLevel = $('#urgentLevel'+index).val(); - var errorDamageQmKey = $('#hiddenErrorDamageQmKey'+index).val(); - var tousseOrIDCardInstanceBarcodes = $('#tousseOrIDCardInstanceBarcodes'+index).val(); - recyclingItemJsonArray.push({ - tousseName:tousseName, - recycleAmount:recycleAmount, - tousseDefinitionID:tousseDefinitionID, - tousseRemark:tousseRemark, - errorRemark:errorRemark, - damageRemark:damageRemark, - urgentLevel:urgentLevel, - errorDamageQmKey:errorDamageQmKey, - tousseOrIDCardInstanceBarcodes:tousseOrIDCardInstanceBarcodes - }); - } - }); - console.log(recyclingItemJsonArray) - return recyclingItemJsonArray; +function addWaitRecycleMaterialItem(row,materialItem){ + var tousseName = materialItem.tousseName; + var materialName = materialItem.materialName; + var recycleAmount = materialItem.amount; + var tousseDefinitionID = materialItem.tousseDefinitionID; + var tousseAmount = materialItem.tousseAmountForMaterial; + var idCardBarcode = materialItem.idCardBarcode; + var putBasketMaxAmount = materialItem.putBasketMaxAmount; + var washClassifyType = materialItem.washClassifyType; + var materialInstanceId = materialItem.materialInstanceId; + var isImplant = materialItem.isImplant; + var tousseType = materialItem.tousseType; + if(tousseType==PACKAGE_TYPE_SPLIT|| tousseType==PACKAGE_TYPE_FOREIGN){ + hasForeignTousse = true; + } + // var trElement = $(''+ + // ''+ + // ''+ + // '' + + // ''+ + // '' + + // ''+ + // ''+ + // ''+ + // ''+ + // ''+ + // '' + idCardBarcode + '' + + // '' + tousseName + '' + + // ''+ + // ''+ + // '+'+ + // ''+ + // '-'+ + // ''+ + // '入筐'+ + // ''); + +//Annie 改 + var trElement = $(''+ + ''+ + ''+ + '' + + ''+ + '' + + ''+ + ''+ + ''+ + ''+ + ''+ + // '' + idCardBarcode + '' + + // '' + tousseName + '' + + ''+ + ''+ + '+'+ + ''+ + '-'+ + ''+ + '入筐'+ + ''); + $("#tousseItemTable").append(trElement); + return true; } -/** - * 判断tousseItem表是否是空的。删除的项不算在内 - */ -function isTousseItemTableEmpty(){ - var isEmpty = true; - $("#tousseItemTable > tbody > tr").each(function() { - var style = $(this).attr("style"); - if (style != 'display: none;'){ - isEmpty = false; - return false; - } - }); - return isEmpty; + +//待装载篮筐视图中的树形菜单伸缩的处理 +function toggleItems(spanElement){ + $(spanElement).toggleClass("minus"); + $(spanElement).nextAll('.sed').toggle(); } + function submitCheck(){ - var isThereTousseItems = false; - var isAllTousseInTheBasket = true; - var urgentAmountError = false; - if($('#depart').val()== ''){ - alertDiv('请先扫描科室条码。'); - return false; - } - var recyclingRecordId = $('#recyclingApplicationId').val(); - if (isTousseItemTableEmpty() && recyclingRecordId == ''){ - alert("空白的回收单不能保存!"); - return false; - } - var isEmptyFormSubmit = true; + var isThereRecycleAmountEmpty = false; $('#tousseItemTable').children().first().children().each(function(index,element){ if($('#deleted'+index).val() == '0'){ - isThereTousseItems = true; - - var tousseType = $('#tousseType'+index).val(); - var recyclingAmount = parseInt($('#recycleAmount'+index).val(),10); - var loadedAmount = parseInt($('#loadedAmount'+index).val(),10); - - if(loadedAmount > 0 && recyclingAmount > loadedAmount){ - isAllTousseInTheBasket = false; - return false; - } - - if(loadedAmount > 0){ - isEmptyFormSubmit = false; - } - if(validateUrgentAmount(index,recyclingAmount)){ - highlightExistTousseItem(index); - urgentAmountError = true; - return false; - } - - //标识牌丢失验证 - var isIDCard = $('#isThereIdentificationCard'+index).val(); - if(isIDCard == '是'){ - var recyclingErrorJsonArrayStr = $('#recyclingError'+index).val(); - if(!isUndefinedOrNullOrEmpty(recyclingErrorJsonArrayStr)){ - var recyclingErrorJsonArray = JSON.parse(recyclingErrorJsonArrayStr); - for(var j = 0;j < recyclingErrorJsonArray.length;j++) { - if(recyclingErrorJsonArray[j].materialName == '器械包标识牌'){ - var errorType = recyclingErrorJsonArray[j].errorType; - var errorAmount = recyclingErrorJsonArray[j].amount; - var intoBasketAmount = recyclingErrorJsonArray[j].intoBasketAmount; - if(errorType == '缺失' && errorAmount != intoBasketAmount){ - isAllTousseInTheBasket = false; - } - break; - } - } - } - } + isThereRecycleAmountEmpty = true; + return false; } }); - - if(!isAllTousseInTheBasket){ - alertDiv('部分器械包回收数量大于装载数量,不能保存。'); + if(isThereRecycleAmountEmpty){ + alertDiv('还有物品未入筐,请全部入筐后再保存!'); return false; } - if(urgentAmountError){ - return false; - } - if(isEmptyFormSubmit){ - alertDiv("不能保存空的回收单!"); - return false; - } - - //验证清点人是否为空(前提为配置清点人强制不能为空,默认为允许为空) - if(sstsConfig.recyclePageOperatorNotNull == true && $("#operator").val() == ''){ - alertDiv('清点人不能为空,请扫描清点人条码。'); - return false; - } - - //验证清点人是否为空(前提为配置清点人强制不能为空) - if(sstsConfig.recyclePageRecyclingUserNotNull == true && $("#recyclingUser").val() == ''){ - alertDiv('回收人不能为空,请扫描回收人条码。'); - return false; - } return true; } -/** - * 获取此次回收的数据. - * @param confirmation - * @returns - */ -function getJsonParams(confirmation){ - var paramJson = {}; - paramJson.tousseJson = tousseArray; - paramJson.delToussItems = deleteTousseItemArray; - paramJson.unrecycleTousseItemArray = unrecycleTousseItemArray; - paramJson.tousseIntoBasketInfo = getTousseIntoBasketInfo(); - paramJson.errorDamageDetail = getMaterialErrorDamageDetail(); - paramJson.urgentTousseItems = getUrgentTousseItems(); - paramJson.confirmation = confirmation; - paramJson.recyclingItemArray = getRecyclingItemInfo(); - return JSON.stringify(paramJson); -} - -/** - * 弹出确认提示筐 - * @param text 提示内容 - * @param yesCallback 选择“是”的回调函数 - * @param nocallback 选择“是”的回调函数 - * @param dialogWidth 对话框宽度 - * @param dialogHeight 对话筐高度 - */ -function dialogConfirm(text,yesCallback,nocallback , dialogWidth , dialogHeight){ - $("#dialogConfirm").dialog({ - resizable: false, - height:dialogHeight ? dialogHeight : 310, - width:dialogWidth ? dialogWidth : 600, - modal: true, - open: function() { - $("#confirmMsg").html(text); - }, - close: function() { - $("#confirmMsg").html(""); - }, - buttons: { - "是": function() { - $( this ).dialog( "close" ); - if(yesCallback){ - yesCallback(); - } - - }, - "否": function() { - $( this ).dialog( "close" ); - if(nocallback){ - nocallback(); - } - } - } - }); -} - -/** - * 检查是否有未归还的器械包,如果有,那就提示. - * @param confirmation 确认回收记录操作 - * @param saveAndNew 保存并新建回收记录操作 - * @param print 保存并打印回收记录操作 - */ -function checkAutoReturnBorrowing(confirmation,saveAndNew,print,recyclingAmountConfirm){ - //除申请还物单、自定义器械申请单、外来器械申请单、历史回收记录等可以直接提交外,其它类型的单回收都需要判断是否有物品要归还,包括手动添加回收申请单、科室申领添加的申请单、使用记录转换的申请单等都需要判断是否需要自动归还 - if(!isUndefinedOrNullOrEmpty(params_id)){ - submitFormFunction(confirmation,saveAndNew,false,print,recyclingAmountConfirm); - return; - } - var tousseNames = []; - for(var i = 0; i < tousseArray.length;++i){ - if(parseInt(tousseArray[i].amount) > 0){ - if(tousseArray[i].itemType == '材料'){ - tousseNames.push(tousseArray[i].tousseNameForMaterial); - }else{ - tousseNames.push(tousseArray[i].tousseName); - } - } - } - var departCode = document.getElementById('departCode').value; - var borrowApplicationInfo = null; - DWREngine.setAsync(false); - RecyclingApplicationTableManager.getUnReturnBorrowApplication(params_appId , departCode,tousseNames.join(';'),function(datesOfTousseLease){ - borrowApplicationInfo = datesOfTousseLease; - }); - DWREngine.setAsync(true); - if(borrowApplicationInfo){ - var borrowApplicationInfoJson = JSON.parse(borrowApplicationInfo); - var borrowTimes = borrowApplicationInfoJson.borrowTimes; - var tousseLeaseAmount = borrowTimes.split(';').length; - - var confirmMessage = '您有'+tousseLeaseAmount+'张申请日期为'+borrowTimes+'的借物单的以下物品未归还,是否申请归还?'; - var tdStyle = 'font-size:28px;text-align:center;'; - var nameWidth = '440px;',taskGroupWidth='200px;',amoutWidth='140px;'; - var table = ''; - for(var i = 0; i < borrowApplicationInfoJson.tousseData.length;++i){ - var tousseData = borrowApplicationInfoJson.tousseData[i]; - table += ''; - } - table += '
    '+ confirmMessage +'
    器械包数量
    '+tousseData.tousseName+''+tousseData.amount+'
    '; - var html = '
    '+table+'
    '; - dialogConfirm(html,function(){ - submitFormFunction(confirmation,saveAndNew,true,print,recyclingAmountConfirm); - },function(){ - submitFormFunction(confirmation,saveAndNew,false,print,recyclingAmountConfirm); - },800 , 500); - }else{ - submitFormFunction(confirmation,saveAndNew,false,print,recyclingAmountConfirm); - } -} -/** - * 显示回收物品清单 - */ -function showRecyclingDetail(recyclingItems,confirmCallback){ - if(recyclingItems && recyclingItems.length > 0){ - var tdStyle = 'font-size:28px;text-align:center;'; - var tdLeftStyle = 'font-size:28px;text-align:left;'; - var tdRightStyle = 'font-size:28px;text-align:right;'; - var seqWidth = '70px;', nameWidth = '570px;',amoutWidth='140px;'; - var table = ''; - for(var i = 0; i < recyclingItems.length;++i){ - var recyclingItem = recyclingItems[i]; - table += ''; - } - table += '
    回收物品清单
    序号器械包回收数量
    '+(i+1)+''+recyclingItem.tousseName+''+recyclingItem.recyclingAmount+'
    '; - var html = '
    '+table+'
    '; - $(html).dialog({ - maxHeight: 600, - width: 800, - modal:true, - buttons: { - '保存':function(){ - if(confirmCallback){ - confirmCallback(); - } - $(this).dialog( "close" ); - }, - '取消': function() { - $(this).dialog( "close" ); - } - } - }); - } -} -/** - * 提交回收记录. - * @param confirmation 确认回收记录操作 - * @param saveAndNew 保存并新建回收记录操作 - * @param print 保存并打印回收记录操作 - * @param recyclingAmountConfirm 是否确认回收数量 - */ -function submitFunction(confirmation,saveAndNew,print,recyclingAmountConfirm){ +var btSave=false; +function doSaveAction(){ if(submitCheck()){ - //回收物品清单 - var recyclingTousses = []; - var isPartIntheBasket = false; - $('#tousseItemTable').children().first().children().each(function(index,element){ - if($('#deleted'+index).val() == '0'){ - var tousseName = $('#tousseName'+index).val(); - var recyclingAmount = parseInt($('#recycleAmount'+index).val(),10); - var loadedAmount = parseInt($('#loadedAmount'+index).val(),10); - if(recyclingAmount > 0){ - //有回收,那加入回收物品清单 - recyclingTousses.push({tousseName:tousseName,recyclingAmount:recyclingAmount}); - } - if(recyclingAmount > loadedAmount){ - isPartIntheBasket = true; - return false; - } - } - }); - //部分入筐提示 - if(isPartIntheBasket){ - if(sstsConfig.enablePartRecycle == true){ - dialogConfirm("还有部分器械包未装入篮筐,是否继续保存?",function(){ - if(sstsConfig.showRecyclingDetail && recyclingTousses.length > 0){ - showRecyclingDetail(recyclingTousses,function(){ - checkAutoReturnBorrowing(confirmation,saveAndNew,print,recyclingAmountConfirm); - }); - }else{ - checkAutoReturnBorrowing(confirmation,saveAndNew,print,recyclingAmountConfirm); - } - }); - }else{ - alertDiv('还有部分器械包未装入容器,不能保存。'); - } - }else{ - if(sstsConfig.showRecyclingDetail && recyclingTousses.length > 0){ - showRecyclingDetail(recyclingTousses,function(){ - checkAutoReturnBorrowing(confirmation,saveAndNew,print,recyclingAmountConfirm); - }); - }else{ - checkAutoReturnBorrowing(confirmation,saveAndNew,print,recyclingAmountConfirm); - } - } - } -} - -/** - * 提交回收记录. - * @param confirmation 确认回收记录操作 - * @param saveAndNew 保存并新建回收记录操作 - * @param autoReturnTheBorrowingTousse 自动归还借物单 - * @param print 保存并打印回收记录操作 - */ -function submitFormFunction(confirmation,saveAndNew,autoReturnTheBorrowingTousse,print,recyclingAmountConfirm){ - - alertDiv("保存中,请稍候......", true); - var jsonStr = getJsonParams(confirmation); - var id = document.getElementById('id').value; - var app_id = document.getElementById('recyclingApplicationId').value; - var departCode = document.getElementById('departCode').value; - var recyclingUser = document.getElementById('recyclingUser').value; - var operator = document.getElementById('operator').value; - var depart = document.getElementById('depart').value; - var recyclingTime = document.getElementById('recyclingTime').value; - var recyclingUserDefault = true; - if(sstsConfig.hasOwnProperty('recyclingUserDefault') && !sstsConfig.recyclingUserDefault){ - recyclingUserDefault = false; - } - $.ajax({ - url : WWWROOT + "/disinfectSystem/recyclingRecordAction!saveRecyclingRecord.do", - type : "POST", - timeout : 300000, - dataType :'json', - data : { - jsonParam : "" + jsonStr + "", - id : id, - recyclingApplicationId : app_id, - invoicePlanVersion : $("#invoicePlanVersion").val(), - departCode : departCode, - recyclingUser : recyclingUser, - operator : operator, - depart : depart, - recyclingTime : recyclingTime, - recyclingUserDefault : recyclingUserDefault, - autoReturnTheBorrowingTousse : autoReturnTheBorrowingTousse, - recyclingAmountConfirm:recyclingAmountConfirm, - remark:$('#remarkText').text(), - communicationUserName:$('#communicationUserName').val(), - communicationUserCode:$('#communicationUserCode').val(), - needPrint : print - }, - success : function(result) { - if(result.success){ - if(print && result.recyclingPrintData && result.recyclingPrintData.length > 0){ - printRecyclingDetail(result.recyclingPrintData); - } - alertDiv(result.message, true); - setTimeout("closeDiv()",1200); - - var voluntarilyUrgentItems = result.voluntarilyUrgentItems; - var voluntarilyUrgentItemsString = ''; - if (sstsConfig.enableTousseVoluntarilyUrgent && - voluntarilyUrgentItems && voluntarilyUrgentItems.length > 0) { - voluntarilyUrgentItemsString = JSON.stringify(voluntarilyUrgentItems); - } - if(saveAndNew){ - location.href = "recycleForTouchScreen.jsp?resolution=" + resolution + "&rememberRecycleUser=" + rememberRecycleUser; - }else{ - location.href = "awaitForRecycleList.jsp?resolution=" + resolution + "&voluntarilyUrgentItems=" + voluntarilyUrgentItemsString; - } - }else{ - if(result.versionNotMatch){ - closeDiv(); - layer.open({ - type: 1, - content: '' + result.message + '', //这里content是一个普通的String - btn: ['关闭','关闭并刷新'], - area: ['600px', '400px'], - btnAlign: 'c', - btn2:function(){ - refresh(); + var array = new Array(); + $("#basketsUl").children().each(function(){ + var id = null; + var basketBarcode = null; + var containerName = null; + var washClassifyType = null; + var sequence = null; + var classifiedItemsInfo = {}; + $(this).children().each(function(){ + if($(this).is('input') && $(this).attr('type') == 'hidden'){ + var baskethideStr = $(this).val(); + var basketJson = JSON.parse(baskethideStr); + basketBarcode = basketJson.barcode; + id = basketJson.classifyBasketId; + containerName = basketJson.containerName; + washClassifyType = basketJson.washClassifyType; + sequence = basketJson.sequence; + }else if($(this).is('dl')){ + $(this).children().each(function(i,element){ + if($(this).attr('type') == 'hidden'){ + var itemJson = $(this).val(); + var json = JSON.parse(itemJson); + var obj = {}; + obj.basketBarcode = basketBarcode; + obj.containerName = containerName; + obj.washClassifyType = washClassifyType; + obj.sequence = sequence; + obj.basketId = id; + obj.materialName = json.materialName; + obj.materialAmount = json.amount; + obj.tousseName = json.tousseName; + obj.tousseAmountForMaterial = json.tousseAmount; + obj.tousseDefinitionID = json.tousseDefinitionID; + obj.idCardBarcode = json.idCardBarcode; + obj.putBasketMaxAmount = json.putBasketMaxAmount; + var isExist = false; + var len = array.length; + for(var j = 0;j < len;j++){ + if(array[j].tousseDefinitionID == json.tousseDefinitionID){ + isExist = true; + var materials = array[j].materials; + if(materials == null){ + materials = new Array(); + } + var m_len = materials.length; + var idCardIsExist = false; + for(var n = 0 ; n < m_len ; n++){ + if(materials[n].idCardBarcode == json.idCardBarcode){ + idCardIsExist = true; + } + } + if(!idCardIsExist){ + array[j].recycleAmount = (parseInt(array[j].recycleAmount) + parseInt(json.tousseAmount)); + } + materials[m_len] = obj; + } + } + if(!isExist){ + array[len] = {}; + array[len].tousseDefinitionID = json.tousseDefinitionID; + array[len].tousseName = json.tousseName; + array[len].tousseType = json.tousseType; + array[len].recycleAmount = json.tousseAmount; + array[len].idCardBarcode = json.idCardBarcode; + array[len].materials = new Array(); + array[len].materials[0] = obj; + } } }); - }else{ - alertDiv(result.message); } - - } - }, - error: function(x, t, m) { - closeDiv(); - if(t == "timeout") { - alert("提交超时,请重试"); - } else { - alert(t); - } - } - }); -} - -/** - * 保存回收记录 - */ -function doSaveAction(){ - submitFunction(false,false,false,false); -} - -/** - * 保存并新建回收记录 - */ -function doSaveAndNewAction(){ - submitFunction(false,true,false,false); -} - -/** - * 保存并打印回收记录 - */ -function doSaveAndPrintAction(){ - submitFunction(false,false,true,false); -} - -/** - * 保存并打印并新建回收记录 - */ -function doSaveAndPrintAndNewAction(){ - submitFunction(false,true,true,false); -} - -/** - * 确认回收记录 - */ -function doConfirmAction(){ - submitFunction(true,false,false,false); -} -/** - * 确认回收数量(确认沟通) - */ -function recyclingAmountConfirm(){ - submitFunction(false,false,false,true); -} - -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(canTerminateTousseItemIds); - $.ajax({ - type:'get', - url:WWWROOT + '/disinfectSystem/invoicePlanAction!terminateTousseItems.do', - data:'tousseItemIds=' + encodeURI(paramStr)+'&endCase='+encodeURI(endCase), - dataType:'text', - success:function(resultStr){ - var result = JSON.parse(resultStr); - alertDiv(result.message); - if(result.success){ - location.href = 'awaitForRecycleList.jsp?resolution=' + resolution; - } - }, - error:function(XMLHttpRequest, textStatus, errorThrown){ - } + }); }); + window.opener.customIntoBasketFun(array); + window.close(); } } + +function cancel() { + window.close(); +} //一键入筐 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; - } + putMaterialInBasket(row,true); + //var success = putMaterialInBasket(row); + //if(!success){ + //return false; + //} } } }); + refreshBasketStatus(); refreshAllBasketTotalNum(); + sortBasket(); } - -function cancel(){ - if (confirm("确认取消吗?")) { - location.href = 'awaitForRecycleList.jsp?resolution=' + resolution; +/** + * 根据配置初始化控件 + */ +function initConfigControl(){ + var divElement = document.getElementById('divElement'); + if(sstsConfig.recycleAllMaterialIntoBasket){ + $('#allIntoBasket').css('visibility','visible'); + }else{ + $("#allIntoBasket").css('visibility','hidden');//元素隐藏,需要显示,否则拆分信息显示的位置会不对 } } - -function getUnCleanedEntirelyTousseInfo(){ - var result = new Array(); - $('#tousseItemTable').children().first().children().each(function(i,element){ - var recycleAmount = parseInt($('#recycleAmount'+i).val(),10); - var loadedAmount = parseInt($('#loadedAmount'+i).val(),10); - var unLoadedAmount = recycleAmount - loadedAmount; - if($('#isCleanedEntirely'+i).val() == '否' && unLoadedAmount > 0){ - var isThereIdentificationCard = $('#isThereIdentificationCard'+i).val(); - var tousseId = $('#tousseDefinitionID'+i).val(); - var idCardBarcodes = $('#barcodes'+i).val(); - if(isThereIdentificationCard == '是'){ - var idCardUnLoadedAmount = 0; - if(!isUndefinedOrNullOrEmpty(idCardBarcodes)){ - var jsonArray = JSON.parse(idCardBarcodes); - for(var j = 0;j < jsonArray.length;j++){ - if(jsonArray[j].addSuccess == false){ - addJsonItem(result,tousseId,1,'是',jsonArray[j].barcode); - idCardUnLoadedAmount++; - } +/* +function loadItem() { + initConfigControl(); + tousseIntoBasketInfo.parseJson(param_tousseIntoBasketInfo); + $("#tousseItemTable").empty(); + $("#basketsUl").empty(); + document.onkeydown = showKeyDown; + $.ajax({ + type : 'post', + url : encodeURI(WWWROOT + '/disinfectSystem/recyclingRecordAction!loadUnCleanedEntirelyMaterial.do?data=' + param_data), + dataType : 'json', + success : function(result) { + if(result && result.success){ + for ( var i = 0; i < result.data.length; i++) { + var materialAmount = result.data[i].amount; + if(materialAmount <= 0){ + continue; } + addWaitRecycleMaterialItem(i,result.data[i]); } - var recyclingErrorJsonArrayStr = $('#recyclingError' + i).val(); - if(!isUndefinedOrNullOrEmpty(recyclingErrorJsonArrayStr)){ - var recyclingErrorJsonArray = JSON.parse(recyclingErrorJsonArrayStr); - for(var j = 0;j < recyclingErrorJsonArray.length;j++) { - if(recyclingErrorJsonArray[j].materialName == '器械包标识牌'){ - var errorAmount = parseInt(recyclingErrorJsonArray[j].amount); - var intoBasketAmount = parseInt(recyclingErrorJsonArray[j].intoBasketAmount); - if(errorAmount - intoBasketAmount > 0){ - addJsonItem(result,tousseId,errorAmount - intoBasketAmount,'是',''); - } - break; - } - } - } - }else{ - addJsonItem(result,tousseId,unLoadedAmount,'否',''); } + updateSplitInfo(); + }, + error : function() { } }); - return JSON.stringify(result); } +*/ -function addJsonItem(result,tousseId,unLoadedAmount,isIdCard,idCardBarcode){ - var obj = {}; - obj.tousseId = tousseId; - obj.recycleAmount = unLoadedAmount; - obj.isThereIdentificationCard = isIdCard; - obj.idCardBarcode = idCardBarcode; - var len = result.length; - result[len] = obj; +function encodeAll(text) { + var encoded = encodeURI(text); + encoded = encoded.replace('#', '%23');// 对#号进行转码 + return encoded; } -function getTousseIntoBasketInfo(){ - tousseIntoBasketInfo.clear(); - $("#basketsUl li").each(function(){ - var hide = $(this).find('input:first'); - var basketItem = JSON.parse(hide.val()); - - $(this).find('dl').children().each(function(i,element){ - if($(this).attr('type') == 'hidden'){ - var obj = $(this).val(); - var tousseItem = JSON.parse(obj); - tousseIntoBasketInfo.addTousseBasket(tousseItem,basketItem); - } - }); - }); - return tousseIntoBasketInfo.getResult(); -} -function openCustomIntoBasketPage(){ - var data = getUnCleanedEntirelyTousseInfo(); - var tousseIntoBasketInfo = JSON.stringify(getTousseIntoBasketInfo()); - if(data != "[]"){ - var url = encodeURI(WWWROOT+'/disinfectsystem/touchScreen/recycle/customIntoBasket.jsp?data='+data+'&resolution=1980' - + '&tousseIntoBasketInfo=' + tousseIntoBasketInfo + '&recyclingApplicationId=' + $('#recyclingApplicationId').val()); - var style='menubar=no,location=no,directories=no,toolbar=no,statusbar=no,resizable=yes,top=100,left=100,width=1400,height=800,scrollbars=null'; - var popwin=window.open(url,"customIntoBasket",style); +/** + * 根据篮筐的当前状态,更新拆分篮筐数 + */ +function updateSplitInfo(){ + if(sstsConfig.showSplitInfoInCustomIntoBasket&&hasForeignTousse){ + $('.splitInfo').show(); + $('#spanToolsInfo').html("工具拆分篮筐数:" + toolsSplitBasketAmount); + $('#spanImplantInfo').html("植入物拆分篮筐数:" + implantSplitBasketAmount); }else{ - alertDiv("没有符合条件待装载的物品!"); + $('.splitInfo').hide(); } - } -//选择器械包 -function openSelectTousse(tousseName){ - - var tousseType = $('#appType').val(); - if(tousseType == TYPE_FOREIGNTOUSSEAPPLIACTION){ - alertDiv("外来器械回收单不能添加器械包!"); - return false; - } - if(!checkSelectDepartBeforeAddTousse()){ - return false; - } - if(!tousseName){ - tousseName = ''; - } - - 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 = 1380; - height = 830; - } - var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); - var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); - - width = size.width; - height = size.height; - - offsetTop = offsetTop*zoomRatio; - layerIndex=layer.open({ - type : 2, - title : ['添加器械包',true], - content : 'addTousse.jsp?resolution='+resolution+'&width='+width+'&height='+height+'&tousseName='+tousseName, - area : [ width + 'px' , height +heightExtra+ 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : [offsetTop+'px',''] - }); +function sortBasket(){ +// $("#basketsUl").prepend($("#basketsUl li.otherBasket"));//其实不需要,因为把植入物跟空篮筐都排前后,剩下的自然就在最后面了 + $("#basketsUl").prepend($("#basketsUl li.containImplantBasket")); + $("#basketsUl").prepend($("#basketsUl li.emptyBasket")); } -//输入备注 -function openInputRemark(){ - if(!sstsConfig.modifyRemarkInRecycling){ - return; - } - var width = 780; - var height = 100; - var designedTousseWidth = 1080; - var designedTousseHeight = 100; - var designedWidth = 1920; - var designedHeight = 1080; - var actualWidth = window.screen.availWidth; - var actualHeight = window.screen.availHeight; - var offsetTop = 400; - - if(resolution == '1980'){ - width = 1380; - height = 100; - } - var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); - var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); - - var width = 980; - var height = 330; - var heightExtra = 10; - - offsetTop = offsetTop*zoomRatio; - layerIndex=layer.open({ - type : 2, - title : ['输入备注',true], - content : 'inputRemark.jsp?resolution='+resolution+'&width='+width+'&height='+height+'&remark=' + encodeURIComponent($('#remarkText').text()), - area : [ width + 'px' , height +heightExtra+ 'px'], - border : [5, 0.3, '#fff', true], - closeBtn : [2 , true], - offset : [offsetTop+'px',''] - }); -} +//工具拆分篮筐数 +var toolsSplitBasketAmount = 0; +//植入物拆分篮筐数 +var implantSplitBasketAmount = 0; /** - * 设置申请单备注 - * @param remark + * 刷新篮筐的状态。如果是外来器械,并且配置的显示拆分信息的,需要显示拆分篮筐数及是否包含植入物。 + * 如果有篮筐序号,就在篮筐名称前面显示篮筐序号 + * @returns */ -function setRemark(remark){ - if(isUndefinedOrNullOrEmpty(remark)){ - remark = ""; - } - $('#remarkText').text(remark); -} -// 添加质量监测记录 -function addQM(){ - - 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 = 1380; - height = 830; - } - var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); - var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); - - width = size.width; - height = size.height; - - offsetTop = offsetTop*zoomRatio; - qmLayerIndex=layer.open({ - type : 2, - title : ['添加质量监测记录',true], - content : 'addQualityMonitoring.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 customIntoBasketFun(data){ - if(data != null){ - for(var j = 0;j < data.length;j++){ - var materials = data[j].materials; - var tousseName = data[j].tousseName; - var recycleAmount = data[j].recycleAmount; - var tousseDefinitionID = data[j].tousseDefinitionID; - var tousseType = data[j].tousseType; - var tousseIdCardBarcode = data[j].idCardBarcode; - var basketGroupBarcodeArray = new Array(); - for(var i = 0;i < materials.length;i++){ - var item = materials[i]; - var sigle = true; - var b_len = basketGroupBarcodeArray.length; - for(var n = 0;n < b_len;n++){ - if(basketGroupBarcodeArray[n] == item.basketBarcode){ - sigle = false; +function refreshBasketStatus(){ + toolsSplitBasketAmount = 0; + implantSplitBasketAmount = 0; + $("#basketsUl > li").each(function(){ + $(this).removeClass('emptyBasket containImplantBasket');//用于排序篮筐的css类 + var count = $(this).find('dl[class="sed clearfix"]').children().length; + if(count == 0){ + $(this).addClass('emptyBasket'); + $(this).find('div').addClass('status-empty-yellow'); + }else{ + $(this).find('div').removeClass('status-empty-yellow'); + } + refreshSequence($(this),0); + if(sstsConfig.showSplitInfoInCustomIntoBasket){ + var containImplant = '否'; + var containTools = '否'; + var haveForeignTousse = false;//是否有外来器械 + //遍历是否有植入物,然后存到 li 的hidden里(存了篮筐信息的) + $(this).find('dl[class="sed clearfix"] > input').each(function(){ + var jsonStr = $(this).val(); + var materialInfo = JSON.parse(jsonStr); + if(materialInfo.tousseType == PACKAGE_TYPE_SPLIT || materialInfo.tousseType==PACKAGE_TYPE_FOREIGN){ + if(materialInfo.isImplant == '是'){ + containImplant = "是"; + $(this).next().next().addClass('status-implant-green'); + }else{ + containTools = '是'; + $(this).next().next().removeClass('status-implant-green'); } } - if(sigle){ - basketGroupBarcodeArray[b_len] = item.basketBarcode; - //添加篮筐 - var isBasketLoaded = false; - $("#basketsUl li").each(function(){ - var hide = $(this).find('input'); - var oldItem = JSON.parse(hide.val()); - if(oldItem.barcode == item.basketBarcode){ - refreshSequence($(this),item.sequence); - isBasketLoaded = true; - return false; - } - }); - if(!isBasketLoaded){ - createBasketUiElement(item.basketBarcode,item.basketId,item.containerName,item.washClassifyType,item.sequence); - $("#scanContainerBarcodeTipUl").hide(); - } - } + }); + + var el = $(this).find('.containImplant'); + if(containImplant == '是'){ + $(this).addClass('containImplantBasket'); + implantSplitBasketAmount++; + el.html("含有植入物"); + updateRemoveImplantBtn($(this),true); + }else{ + el.html(""); + updateRemoveImplantBtn($(this),false); } - basketGroupBarcodeArray.sort(); - var orgUnitName = $('#depart').val(); - for(var i = 0;i < materials.length;i++){ - var item = materials[i]; - var basketItem = { - ci_id: "", - type: '材料', - orgUnitName: orgUnitName, - tousseName: tousseName, - tousseDefinitionID: tousseDefinitionID, - tousseType: tousseType, - materialName: item.materialName, - showName: item.materialName, - amount: item.materialAmount, - tousseAmount: item.tousseAmountForMaterial, - basketBarcode: item.basketBarcode, - idCardBarcode: item.idCardBarcode, - putBasketMaxAmount:item.putBasketMaxAmount, - basketGroupBarcodes:basketGroupBarcodeArray.join(";") - }; - addBasketItemElement(basketItem); + if(containTools == '是'){ + toolsSplitBasketAmount++; } - - $('#tousseItemTable').children().first().children().each(function(i,element){ - if($('#tousseDefinitionID'+i).val() == tousseDefinitionID){ - $('#loadedAmount'+i).val(parseInt(recycleAmount,10)+parseInt($('#loadedAmount'+i).val(),10)); - var idCard = $('#isThereIdentificationCard'+i).val(); - if(idCard == '是' && tousseIdCardBarcode == ''){ - setIdCardErrorIntoBasketAmount(i,recycleAmount); - } - setTousseItemLoadedAmountCss(i); - return false; - } - }); } - refreshAllBasketTotalNum(); - refreshSplitBasketView(); - } + }); + updateSplitInfo(); + updateClassifyBasketSequence(); } /** - * 点击选中回收人员或是清点人员 - * @param currentElementId 当前被点中的元素的id + * 刷新篮筐材料总数量 + * @param liElement + * @returns */ -function selectUserType(currentElementId){ - currentUserType = currentElementId; - $("#" + currentElementId).css("background","#DDDDDD"); - if(currentElementId == userType_recycling){ - $("#operator").css("background","white"); - }else if(currentElementId == userType_operator){ - $("#recyclingUser").css("background","white"); +function refreshBasketTotalNum(liElement){ + if(liElement){ + var total = 0; + liElement.find('dd.materialNum').each(function(){ + var num = parseInt($(this).html()); + if(num){ + total += num; + } + }); + liElement.find('font.totalnum').html(total); } } -//选择科室 -function selectCommunicationUser(currentElementId){ - //只有历史回收记录才能修改沟通确认人 -// if('history' != params_recordType){ -// return; -// } - 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 = 1100; - height = 860; - } - var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); - var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); - - width = size.width; - height = size.height; - - offsetTop = offsetTop*zoomRatio; - layerIndex=layer.open({ - type : 2, - title : ['选择沟通人',true], - content : 'selectUser.jsp?p=p&searchLoginUserDepart=false&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 selectUser(userName,userFullName){ - if(isUndefinedOrNullOrEmpty(userName)){ - alertDiv('请选择沟通人'); - return; - } - if(isUndefinedOrNullOrEmpty(userFullName)){ - alertDiv('所选用户名不能为空'); - return; - } - $('#communicationUserName').val(userFullName); - $('#communicationUserCode').val(userName); -} -//选择科室 -/* -function openSelectDepart(){ - var canChangeDepart = false; - if(isUndefinedOrNullOrEmpty(params_appId)){ - //添加的回收申请单,可以修改科室 - canChangeDepart = true; - }else if(sstsConfig.canChangeDepartInRecyclingForwaitRecycleInvoicePlan){ - canChangeDepart = true; - } - //如果是历史回收记录,不能修改科室 - if('history' == params_recordType){ - canChangeDepart = false; - } - if(!canChangeDepart){ - //不可以修改科室,那就返回喽 - return; - } - 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 = 1100; - height = 860; - } - var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); - var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); - - width = size.width; - height = size.height; - - offsetTop = offsetTop*zoomRatio; - layerIndex=layer.open({ - type : 2, - title : ['选择科室',true], - content : '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',''] - }); -} -*/ /** - * - - * 在清空器械包之前,要选删除篮筐 + * 刷新所有篮筐的器械总数 + * @returns */ -function emptyTousseItemTable(){ - $("#tousseItemTable").empty(); - $("#basketsUl").empty(); - tousseArray = []; +function refreshAllBasketTotalNum(){ + $("#basketsUl li").each(function(){ + refreshBasketTotalNum($(this)); + }); } /** - * 判断是否可以清空器械包列表。如果有丢失报损,需要先删除才能清空。需要先提醒用户做删除操作 + * 更新移除植入物按钮。如果有配置,则显示移除植入物按钮,否则隐藏起来并调整样式 + * @param liElement + * @param hasImplant + * @returns */ -function canEmptyTousseItemTable(){ - var canEmpty = true; - $("#tousseItemTable > tbody > tr").each(function(row) { - var style = $(this).attr("style"); - if (style != 'display: none;'){ - var message = checkHaveErrorDamage(row); - if(!isUndefinedOrNullOrEmpty(message)){ - canEmpty = false; - return false; - } - } - }); - return canEmpty; -} -function selectDepart(departName,departCode){ - var oldValue = document.getElementById('departCode').value; - //加载科室申领模板 - if(params_id == '' && params_appId == '' && sstsConfig.isLoadApplyTemplateForAddRecycleRecord == true){ - if(oldValue != departCode){ - if(!canEmptyTousseItemTable()){ - alertDiv('器械包有登记丢失报损信息,请先删除后再操作!'); - return false; - } - var processFun = function(){ - $.ajax({ - type:'get', - url:WWWROOT + '/disinfectSystem/recyclingRecordAction!loadDepartmentAppTemplateForRecycle.do', - data:'orgUnitCoding=' + encodeURI(departCode), - dataType:'json', - success:function(dataArray){ - document.getElementById('depart').value = departName; - document.getElementById('departCode').value = departCode; - emptyTousseItemTable(); -// $("#tousseItemTable").empty(); - if(dataArray.length > 0){ - for(var i = (dataArray.length -1) ; i >= 0; i--){ - var timeStr = new Date().getTime(); - var errorDamageQmKey = dataArray[i].tousseDefinitionID + "_" + timeStr; - var toussItem = { - row: i, - tousseItemId: '', - tousseName: dataArray[i].tousseName, - tousseDefinitionID: dataArray[i].tousseDefinitionID, - applicationAmount: 0, - recycleAmount: 0, - loadedAmount: 0, - isCleanedEntirely: dataArray[i].isCleanedEntirely, - tousseType: dataArray[i].tousseType, - isThereIdentificationCard: dataArray[i].isThereIdentificationCard, - isApplyEntireTousse: dataArray[i].isApplyEntireTousse, - urgentAmount : 0, - tousseRemark : '', - errorDamageQmKey : errorDamageQmKey - }; - addToussItem(toussItem,false); - } - } - } - }); - } - if(isTousseItemTableEmpty()){ - processFun(); - }else{ - dialogConfirm('切换科室将删除所有器械包,是否继续',processFun); - } - } +function updateRemoveImplantBtn(liElement,hasImplant){ + if(sstsConfig.showSplitInfoInCustomIntoBasket){ + liElement.find('.btn-removeImplant').show(); + liElement.find('.totalnum').hide(); + liElement.find('i').css("text-align","right"); + liElement.find('i').css("width","223px"); }else{ - document.getElementById('depart').value = departName; - document.getElementById('departCode').value = departCode; + liElement.find('.btn-removeImplant').hide(); + liElement.find('.totalnum').show(); + liElement.find('i').css("text-align","center"); + liElement.find('i').css("width","129px"); } } /** - * 可以终止的TousseItem的id.已经回收但是还没有发货的话,也是可以终止的。 - * 目前部分发货不能终止 + * 更新篮筐序号 + * @returns */ -var canTerminateTousseItemIds = []; - -function loadItem(){ - //是否开启“一键入筐”的功能 - if(sstsConfig.recycleAllTousseIntoBasket){ - var divElement = document.getElementById('divElement'); - divElement.innerHTML = ''; - } - - selectUserType(currentUserType); - - document.onkeydown = showKeyDown; - var recyclingApplicationId = params_appId; - var barcode = params_barcode; - var recyclingStatus = null; - if(!isUndefinedOrNullOrEmpty(recyclingApplicationId)){ - DWREngine.setAsync(false); - RecyclingApplicationTableManager.getRecyclingApplicationForRecycle(recyclingApplicationId,function(application){ - if(application == null) - return; - recyclingStatus = application.recyclingStatus; - if(application.recyclingRecordId != null && application.type != TYPE_FOREIGNTOUSSEAPPLIACTION){//外来器械申请单二次回收,会有历史回收记录 - loadRecyclingRecordById(application.recyclingRecordId); - }else{ - if (sstsConfig.showSettleAccountsDepartInRecycling){ - $("#depart").val(application.settleAccountsDepart); - $("#departCode").val(application.settleAccountsDepartCoding); - }else{ - $("#depart").val(application.depart); - $("#departCode").val(application.departCoding); - } - $("#invoicePlanVersion").val(application.version); - $("#appType").val(application.type); - $("#applyTime").val(application.submitTime); - $("#remarkText").text($("#remarkText").html() + (application.remark == null ? "" : application.remark)); - //备注添加申请人 - addApplicantToRemark(application); - - $("#recyclingApplicationId").val(application.id); - $("#tousseItemTable").empty(); - $("#basketsUl").empty(); - if(application.type == '自定义器械包申请单'){ - $('#add-bao').hide(); - applicationType = application.type; - } - if(application.applicationItems != null){ - var row = 0; - canTerminateTousseItemIds = []; - 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 errorDamageQmKey = item.errorDamageQmKey; - if(isUndefinedOrNullOrEmpty(errorDamageQmKey)){ - var timeStr = new Date().getTime(); - errorDamageQmKey = item.tousseDefinitionId + "_" + timeStr; - } - 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, - urgentAmount : item.urgentAmount, - errorRemark : item.errorRemark, - damageRemark : item.damageRemark, - urgentLevel : item.urgentLevel, - tousseRemark : '', - errorDamageQmKey : errorDamageQmKey - }; - addToussItem(toussItem,false); - canTerminateTousseItemIds.push(item.id); - ++row; - } - } - //是否有丢失报损 - var tousseBarcodes = application.tousseBarcodes; - if(!isUndefinedOrNullOrEmpty(tousseBarcodes)){ - $.ajax({ - type:'get', - url:WWWROOT + '/disinfectSystem/recyclingRecordAction!findMaterialErrorDamageByTousseBarcode.do', - data:'tousseBarcodes=' + encodeURI(tousseBarcodes), - dataType:'json', - success:function(result){ - //result的格式为:[{tousseBarcode:"包条码1",tousseDefinitionId:"包定义1",unSupplementMaterials:[{MaterialErrorDamageDetail对象1},{MaterialErrorDamageDetail对象2}]} - //,{tousseBarcode:"包条码2",tousseDefinitionId:"包定义2",unSupplementMaterials:[{MaterialErrorDamageDetail对象1},{MaterialErrorDamageDetail对象2}]}...{}] - for(var i = 0 ; i < result.length ; i++){ - var item = result[i]; - $('#tousseItemTable').children().first().children().each(function(j,element){ - if($('#tousseDefinitionID' + j).val() == item.tousseDefinitionId){ - loadUnSupplementMaterial(item,j,item.tousseBarcode); - } - }); - } - }, - error:function(msg){ - - } - }); - } - //如果回收数量为0不显示 - if(sstsConfig.hideZeroPrerecycleAmountTousseItem && application.isPrepareRecycled === 1){ - //配置为预回收为0的物品不显示,相当于删除,但是需要是没有丢失报损的 - var rows = $("#tousseItemTable > tbody > tr").length; - for(var index = 0; index < rows;++index){ - var message = checkHaveErrorDamage(index); - if(isUndefinedOrNullOrEmpty(message)){ - var recycleAmountStr = $("#recycleAmount" + index).val(); - var recycleAmount = parseInt(recycleAmountStr); - if(recycleAmount==0){ - deleteTousseItem(index); - } - } - } - } - } +function updateClassifyBasketSequence(){ + if(sstsConfig.enableClassifyBasketSequence){ + for(var tdid in basketSequences){ + var sequences = basketSequences[tdid]; + for(var i = 0; i < sequences.length;++i){ + var liElement = sequences[i]; + refreshSequence(liElement,i+1); } - }); - DWREngine.setAsync(true); - } - var id = params_id; - if(!isUndefinedOrNullOrEmpty(id)){ - loadRecyclingRecordById(id); - }else{ - $("#recyclingTime").val(today); - - var recyclePageCheckUserDefaultCurrentUser = true; - if(sstsConfig.recyclePageCheckUserDefaultCurrentUser == false){ - recyclePageCheckUserDefaultCurrentUser = false; } - //如果配置为默认当前登录人为清点人,则赋值 - if(recyclePageCheckUserDefaultCurrentUser != false){ - $("#operator").val(userName); - } - //触摸屏回收回收人设置默认值 (默认值取当前登录用户) - if(sstsConfig.isRecycleUserSetDefaultValue == true){ - $("#recyclingUser").val(userName); - } - - if(rememberRecycleUser == 'true'){ - $("#recyclingUser").val(sessionRecyclingUser); - $("#operator").val(sessionOperator); - }else{ - //回收人使用上一次回收时选的回收人 - if(sstsConfig.recyclePageRecyclingUserDefaultLastRecyclingUser == true){ - $("#recyclingUser").val(sessionRecyclingUser); - } - //清点人使用上一次回收时选的清点人 - if(sstsConfig.recyclePageOperatorDefaultLastOperator == true){ - $("#operator").val(sessionOperator); - } - } - //如果有传递科室参数,那设置回收科室,并加载模板 - if(!isUndefinedOrNullOrEmpty(params_departCoding)){ - selectDepart(params_departName,params_departCoding); - } } - - if(isSecondSupplyRoom && id == "" && params_appId == ""){ - //二级供应室回收时科室名称与编码改为也不赋值 - //$("#depart").val(secondOrgUnitName); - //$("#departCode").val(secondOrgUnitCoding); - } - - //如果篮筐为空,隐藏扫描篮筐提示 - if($("#basketsUl > li").length == 0){ - $("#scanContainerBarcodeTipUl").show(); - }else{ - $("#scanContainerBarcodeTipUl").hide(); - } - - checkLoadedAmount(); - - //如果是历史回收记录界面进入,则不显示终止按钮 - if(canTerminateTousseItemIds.length == 0){ - //没有可以终止的申请项,那就把终止按钮隐藏 - $('#btn-terminate').hide(); - } - //是否显示保存并打印按钮 - if(sstsConfig.showRecyclingPrintDetail && $("#appType").val() == TYPE_FOREIGNTOUSSEAPPLIACTION){ - $('#saveAndPrintBtnTd').show(); - }else{ - $('#saveAndPrintBtnTd').hide(); - } - //是否显示保存打印并新建按钮 - if(sstsConfig.showRecyclingSaveAndPrintAndNewActionButton){ - $('#saveAndPrintAndNewBtnTd').show(); - }else{ - $('#saveAndPrintAndNewBtnTd').hide(); - } - if(recyclingStatus == '部分回收'){ - $('#saveBtnTd').show(); - } - refreshSplitBasketView(); - refreshAllBasketTotalNum(); - if('history' != params_recordType || !getSystemSetConfig('confirmRecyclingAmount',true)){ - $('div.communicationUserName').hide(); - $('#recyclingAmountConfirm').hide(); - }else{ - $("#remark").css('max-width','582px'); - } - if(ENABLE_SPEECH_RECOGNITION){ - setTousseGrammer(); - } } - -//装载数量根据其值更新背景色 -function checkLoadedAmount(){ - $('#tousseItemTable').children().first().children().each(function(i,element){ - var recycleAmount = parseInt($('#recycleAmount' + i).val(),10); - var loadedAmount = parseInt($('#loadedAmount' + i).val(),10); - if(loadedAmount > 0 && recycleAmount > loadedAmount){ - $("#loadedAmount" + i).css("background","#FFE66F");//黄色 - }else if(recycleAmount == loadedAmount){ - $("#loadedAmount" + i).css("background","#b7d9a5");//绿色 - }else{ - $("#loadedAmount" + i).css("background","#FFFFFF");//默认白色 +function refreshSequence(liElement,sequence){ + if(liElement){ + if(!sequence || sequence <= 0){ + sequence = 0; } - }); -} -//备注添加申请人 -function addApplicantToRemark(application){ - var confirmRecyclingAmount = getSystemSetConfig('confirmRecyclingAmount',true); - if(confirmRecyclingAmount){ - var rmk = $("#remarkText").text(); - if(!isUndefinedOrNullOrEmpty(rmk)){ - rmk += ";"; + var basketHidenValue = liElement.find('input:first').val(); + if(basketHidenValue){ + var basketInfo = JSON.parse(basketHidenValue); + basketInfo.sequence = sequence; + liElement.find('input:first').val(JSON.stringify(basketInfo)) + var showName = sequence > 0?(sequence + '.' + basketInfo.containerName):basketInfo.containerName; + liElement.find('div.basketName div:last').html(showName); } - if(!isUndefinedOrNullOrEmpty(application.applicant)){ - rmk += '申请人:' + application.applicant; - } - $("#remarkText").text(rmk); } } -/** - * 根据回收记录id加载回收记录的数据. - * @param id - */ -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); - $("#operator").val(record.operator); - $("#departCode").val(record.departCode); - $("#recyclingTime").val(dateObjFormat(record.recyclingTime)); - $("#communicationUserName").val(record.communicationUserName); - $("#communicationUserCode").val(record.communicationUserCode); - var application = record.recyclingApplication; - if(application != null){ - $("#recyclingApplicationId").val(application.id); - $("#invoicePlanVersion").val(application.version); - var recordType = application.type; - if(recordType == '自定义器械包申请单'){ - $('#add-bao').hide(); - applicationType = application.type; - } - - $("#appType").val(application.type); - $("#applyTime").val(dateObjFormat(application.submitTime)); - $("#remarkText").text($("#remarkText").text() + (application.remark == null ? "" : application.remark)); - addApplicantToRemark(application); - } - userName = record.operator; - $("#tousseItemTable").empty(); - $("#basketsUl").empty(); - - if(record.status == '未确认'){ - $('#confirmBtnTd').show(); - }else if(record.status == '已确认'){ - $('#saveBtnTd').hide(); - $('#saveAndNewBtnTd').hide(); - $('#recyclingAmountConfirm').hide(); - } - if(application != null){ - //部分回收需要能够再次保存 - if(application.recyclingStatus == '部分回收'){ - $('#saveBtnTd').show(); - } - } - var row = 0; - //快速回收后未回收的包 - var recyclingApplication = record.recyclingApplication; - if(record.items != null){ - canTerminateTousseItemIds = []; - 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].tousseDefinitionId == tousseItem.tousseDefinitionId){ - applyAmount = applyItems[n].amount; - break; - } - } - } - var errorDamageQmKey = tousseItem.errorDamageQmKey; - if(isUndefinedOrNullOrEmpty(errorDamageQmKey)){ - var timeStr = new Date().getTime(); - errorDamageQmKey = tousseItem.tousseDefinitionId + "_" + timeStr; - } - var toussItem = { - row: row, - tousseItemId: tousseItem.id, - tousseName: tousseItem.tousseName, - tousseDefinitionID: tousseItem.tousseDefinitionId, - applicationAmount: applyAmount, - recycleAmount: tousseItem.amount, - loadedAmount: tousseItem.amount, - isCleanedEntirely: tousseItem.isCleanedEntirely, - tousseType: tousseItem.tousseType, - isThereIdentificationCard: tousseItem.isThereIdentificationCard, - isApplyEntireTousse: tousseItem.isApplyEntireTousse, - urgentAmount : tousseItem.urgentAmount, - errorRemark : tousseItem.errorRemark, - damageRemark : tousseItem.damageRemark, - urgentLevel : tousseItem.urgentLevel, - tousseRemark : tousseItem.remark, - errorDamageQmKey : errorDamageQmKey - }; - var successAdd = addToussItem(toussItem,false); - if(!successAdd){ - continue; - } - var errorLen = tousseItem.recyclingErrors.length; - if(errorLen > 0){ - var recyclingErrorJsonArray = new Array(); - for(var j = 0;j < errorLen;j++){ - var error = tousseItem.recyclingErrors[j]; - if(error.amount <= 0){ - continue; - } - var errorObj = { - detailId: error.id, - tousseDefinitionID: error.tousseDefinitionId, - materialDefinitionId: error.materialDefinitionId, - materialName: error.materialName, - amount: error.amount, - errorType: error.errorType, - tousseBarcode:error.tousseBarcode, - intoBasketAmount:error.amount, - errorDamageQmKey : error.errorDamageQmKey - }; - recyclingErrorJsonArray.push(errorObj); - } - setTousseItemRecyclingError(row,JSON.stringify(recyclingErrorJsonArray)); - if(recyclingErrorJsonArray.length > 0){ - document.getElementById('showTousseName'+row).className = 'input-a-yellow'; - document.getElementById('recyclingErrorButton'+row).className = 'btn-b-edit'; - } - } - var damageLen = tousseItem.recyclingDamages.length; - if(damageLen > 0){ - var recyclingDamageJsonArray = new Array(); - for(var j = 0;j < damageLen ; j++){ - var damage = tousseItem.recyclingDamages[j]; - if(damage.amount <= 0){ - continue; - } - var item = { - detailId: damage.id, - tousseDefinitionID: damage.tousseDefinitionId, - materialDefinitionId: damage.materialDefinitionId, - materialName: damage.materialName, - tousseBarcode:damage.tousseBarcode, - amount: damage.amount, - errorDamageQmKey : damage.errorDamageQmKey - }; - recyclingDamageJsonArray.push(item); - } - setTousseItemRecyclingDamage(row,JSON.stringify(recyclingDamageJsonArray)); - if(recyclingDamageJsonArray.length > 0){ - document.getElementById('showTousseName'+row).className = 'input-a-yellow'; - document.getElementById('recyclingDamageButton'+row).className = 'btn-c-edit'; - } - } - row++; - } - } - - var applicationitems = null; - var recyclingStatus = null; - var deliverStatus = null; - var endStatus = null; - - if (recyclingApplication != null) { - recyclingStatus = recyclingApplication.recyclingStatus; - applicationitems = recyclingApplication.applicationItems; - deliverStatus = recyclingApplication.deliverStatus; - endStatus = recyclingApplication.endStatus; - } - - if(applicationitems != null){ - for(var i = 0; i < applicationitems.length;i++){ - var tousseDefinitionId = applicationitems[i].tousseDefinitionId; - var recycled = false; - if(record.items != null){ - for(var j = 0 ; j< record.items.length ; j++){ - var tousseDefinitionId2 = record.items[j].tousseDefinitionId; - if(tousseDefinitionId == tousseDefinitionId2){ - recycled = true; - } - } - } - if(!recycled && recyclingStatus != "已回收" && recyclingStatus != '已接收'){ - if(applicationitems[i].diposable == '否' && applicationitems[i].isRecycling == '是' && applicationitems[i].tousseType != '敷料包' && applicationitems[i].tousseType != '自制物品'){ - var errorDamageQmKey = applicationitems[i].errorDamageQmKey; - if(isUndefinedOrNullOrEmpty(errorDamageQmKey)){ - var timeStr = new Date().getTime(); - errorDamageQmKey = applicationitems[i].tousseDefinitionId + "_" + timeStr; - } - var recyclingAmount = applicationitems[i].recyclingTempAmout; - if(!recyclingAmount){ - recyclingAmount = applicationitems[i].amount; - } - var toussItem = { - row: row, - tousseItemId: '', - tousseName: applicationitems[i].tousseName, - tousseDefinitionID: applicationitems[i].tousseDefinitionId, - applicationAmount: applicationitems[i].amount, - recycleAmount: recyclingAmount, - loadedAmount: 0, - isCleanedEntirely: applicationitems[i].isCleanedEntirely, - tousseType: applicationitems[i].tousseType, - isThereIdentificationCard: applicationitems[i].isThereIdentificationCard, - isApplyEntireTousse: applicationitems[i].isApplyEntireTousse, - urgentAmount : applicationitems[i].urgentAmount, - urgentLevel : applicationitems[i].urgentLevel, - tousseRemark : '', - errorDamageQmKey : errorDamageQmKey - }; - addToussItem(toussItem,false); - canTerminateTousseItemIds.push(applicationitems[i].id); - row++; - } - }else if(deliverStatus != '已发货' && deliverStatus != '部分发货' && endStatus != '已终止'){ - //单没有发货,也没有终止那已经回收的物品也是可以终止的 - //如果recycled为true,说明回收项中包含对应的申请项,也就是在界面上是可以看到的 - if(recycled && applicationitems[i].diposable == '否' && applicationitems[i].tousseType != '敷料包' && applicationitems[i].tousseType != '自制物品'){ - if('是' == applicationitems[i].isInvoice){ - canTerminateTousseItemIds.push(applicationitems[i].id); - } - } - } - } - } - if(record.classifyBaskets != null){ - for(var i = 0 ; i< record.classifyBaskets.length ; i++){ - var basket = record.classifyBaskets[i]; - - createBasketUiElement(basket.containerBarcode,basket.id,record.classifyBaskets[i].containerName,basket.washClassifyType,basket.sequence) - - 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; - } - var tousseType = ci.tousseDefinition?ci.tousseDefinition.tousseType:''; - if(ci.itemType == '材料'){ - var materialName = ci.materialDefinition.name; - var putBasketMaxAmount = ci.materialDefinition.intoBasketMaxAmount; - if(putBasketMaxAmount == null){ - putBasketMaxAmount = 0; - } - if(!isUndefinedOrNullOrEmpty(ci.materialDefinition.specification)){ - materialName += '['+ci.materialDefinition.specification+']'; - } - var tousseNameForMaterial = ci.tousseNameForMaterial; - - var showBarcode = ci.idCardBarcode; - if(ci.idCardBarcode == ""){ - showBarcode = tousseNameForMaterial; - } - - var element = ''; - element += '
    '+materialName+'
    '; - element += '
     '+showBarcode+'
    '; - 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,ci.idCardBarcode,ci.tousseDefinitionID,ci.basketGroupBarcodes,putBasketMaxAmount,tousseType); - $('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 putBasketMaxAmount = ci.tousseDefinition.intoBasketMaxAmount; - if(putBasketMaxAmount == null){ - putBasketMaxAmount = 0; - } - var element = ''; - element += '
    '+ci.tousseDefinition.name+'
    '; - element += '
     '+ci.idCardBarcode+'
    '; - element += '
    '+ci.amount+'
    '; - element += '
    删除
    '; - $('dl[class="sed clearfix"]:eq(0)').prepend(element); - - var json = getBasketItemJSON(ci.id,"器械包",ci.orgUnitName,ci.tousseDefinition.name,"",ci.amount,ci.tousseAmountForMaterial,ci.idCardBarcode,ci.tousseDefinitionID,ci.basketGroupBarcodes,putBasketMaxAmount,tousseType); - $('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; -} - -// 语音识别的处理 -function setTousseGrammer(){ -// var tousses = []; -// $('#tousseItemTable').children().first().children().each( -// function(i, element) { -// var tousseName = $('#tousseName' + i).val(); -// var row = i+''; -// var tousseDefinitionId = $('#tousseDefinitionID' + i).val(); -// var tousse = { -// tousseName : tousseName, -// row : row, -// tousseDefinitionId : tousseDefinitionId -// } -// tousses.push(tousse); -// }); -// if(tousses.length > 0){ -// var g = { -// type: 'tousses_recycle', -// typeInfo: JSON.stringify({ -// tousses: tousses -// }) -// } -// updateGrammer(g); -// startRecognize(); -// } -// var tousseType = $('#appType').val(); -// if(tousseType == TYPE_FOREIGNTOUSSEAPPLIACTION){ -// return false; -// } - /// - DWREngine.setAsync(false); - TousseDefinitionTableManager.getInsideTousseAndDiposableGoods('',1,0,function(result){ - if(result != null && result.length > 0){ - var tousseArray = JSON.parse(result); - if(tousseArray.length > 0){ - var tousses = []; - for(var i=0;i - <%@page import="com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig"%> - <%@ page contentType="text/html; charset=UTF-8"%> - <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> - <%@page import="java.util.Date"%> - <%@page import="java.text.SimpleDateFormat"%> - <%@page import="com.forgon.tools.SpringBeanManger"%> - <%@page import="com.forgon.disinfectsystem.common.*"%> - <%@page import="com.forgon.directory.acegi.tools.AcegiHelper"%> - <%@page import="com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition"%> - - <%@page import="com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance,com.forgon.disinfectsystem.entity.recyclingerror.RecyclingError,com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager"%> - + <%@page import="com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager"%> + <%@page import="com.forgon.disinfectsystem.entity.recyclingerror.RecyclingError"%> + <%@page import="com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance"%> + <%@page import="com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition"%> + <%@ page contentType="text/html; charset=UTF-8"%> + <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> + <%@page import="java.util.Date"%> + <%@page import="java.text.SimpleDateFormat"%> + <%@page import="com.forgon.tools.SpringBeanManger"%> + <%@page import="com.forgon.directory.acegi.tools.AcegiHelper"%> + + 消毒供应中心质量追溯管理系统 + - - - @@ -33,300 +30,122 @@ - - - - - - - - - - - + + <%----%> + - - + layer.config({ + extend: 'myskin/style.css', //加载您的扩展样式 + skin: 'layer-ext-myskin' + }); + + + +<%----%> + - -<% -String orgUnitCoding = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); -String orgUnitName = AcegiHelper.getLoginUser().getCurrentOrgUnitName(); -SupplyRoomConfigManager supplyRoomConfigManager = (SupplyRoomConfigManager)SpringBeanManger.getBean("supplyRoomConfigManager"); -int supplyRoomType = supplyRoomConfigManager.getSupplyRoomTypeByOrgUnitCoding(orgUnitCoding); -request.setAttribute("supplyRoomType", supplyRoomType); -request.setAttribute("userName",AcegiHelper.getLoginUser().getUserFullName()); -SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); -request.setAttribute("today", dateFormat.format(new Date())); -request.setAttribute("orgUnitCoding",orgUnitCoding); -request.setAttribute("orgUnitName",orgUnitName); - -boolean havePosition = CssdUtils.getSystemSetConfigByNameBool("recycleAddQualityMonitoring"); -if(havePosition == true){ -session.setAttribute("recycleAddQualityMonitoring", "display: block"); -}else{ -session.setAttribute("recycleAddQualityMonitoring", "display: none"); -} - -String v_ENABLE_SPEECH_RECOGNITION = (String)session.getAttribute(WebConstants.KEY_ENABLE_SPEECH_RECOGNITION); -boolean ENABLE_SPEECH_RECOGNITION = WebConstants.VALUE_ENABLE.equals(v_ENABLE_SPEECH_RECOGNITION); - -request.setAttribute("ENABLE_SPEECH_RECOGNITION",ENABLE_SPEECH_RECOGNITION); -%> - - - - - - - - - - - - - - - - - - - - - - - - + .totalnum{ + display:inline-block; + text-align:center; + float:right; + width:86px; + height:58px; + overflow:hidden; + margin: 0px; + } + - -
    -

    -
    -
    +
    -
    - + - - - - - <%--
    回收人  
    --%> - <%--
    清点人  
    --%> - <%--
    回收时间  
    --%> -
    选择查看类型: - -
    -
    按科室分组过滤: - -
    -
    按器械包分组过滤: - -
    - <%--
    类  型   
    --%> - <%--
    申请时间  
    --%> + + + + + + + - <%--
    --%> +
    - <%--
    --%> - <%----%> - <%--
    --%> - <%--
    备注:
    --%> - <%--
       沟通人  
    --%>
    -
    +
    + +
    + +
    + +
    +
    -
    -
    +
    +
    - <%----%> - - <%----%> - <%----%> - <%----%> - <%----%> - <%----%> - - <%----%> + +
    @@ -335,15 +154,41 @@
    -
    • 请扫描篮筐条码
    - - -
    + Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/expressStyle.css =================================================================== diff -u -r20067 -r25392 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/expressStyle.css (.../expressStyle.css) (revision 20067) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/expressStyle.css (.../expressStyle.css) (revision 25392) @@ -28,6 +28,7 @@ .blank40 {clear:both; height:40px; display:block; font-size:1px;overflow:hidden;} .mbody{ background:url(express_recycle.jpg) no-repeat; width:1980px; height:1080px; margin:0 auto; position:relative} +#mbody{ background:url(express_into_basket.jpg) no-repeat; width:1980px; height:1080px; margin:0 auto; position:relative} .mbody .btn-h{ margin-left: 95px;margin-top: 113px; background:url(allIntoBasket.png) no-repeat; background-position:0 0; width:150px; height:64px; border:none; line-height:200px; overflow:hidden;} .mbody .btn-h:hover{ margin-left: 95px;margin-top: 113px; background:url(allIntoBaskehovert.png) no-repeat; background-position:0 0; width:150px; height:64px; border:none; line-height:200px; overflow:hidden;} @@ -42,6 +43,7 @@ .add-form .add a:hover{ background-position:0 -63px;} .data-table{position:absolute; width:1160px; height:670px; bottom:90px; left:33px} +#boxContent{position:absolute; width:1160px; height:670px; bottom:52px; left:33px} .data-table .box{ height:580px; overflow-y:scroll; overflow-x:hidden;} .data-table .box table{ margin:0 auto; width:1083px} .data-table .input-a{ background:url(pic_bg.jpg) no-repeat 0 -206px; border:none; width:349px; height:62px; font-size:26px; padding:0 10px; line-height:40px;} Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp =================================================================== diff -u -r25357 -r25392 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp (.../recycleForTouchScreen.jsp) (revision 25357) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.jsp (.../recycleForTouchScreen.jsp) (revision 25392) @@ -270,9 +270,9 @@
    科   室  
    类  型   
    申请时间  
    - -
    -
    + <%----%> + <%--<%–
    –%>--%> + <%--
    --%>
    Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/style.css =================================================================== diff -u -r25349 -r25392 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/style.css (.../style.css) (revision 25349) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/style.css (.../style.css) (revision 25392) @@ -68,7 +68,8 @@ padding: 4px 10px; } .data-table .btn-box input{ background:url(btn-box.jpg) no-repeat; border:none; line-height:200px; overflow:hidden; text-indent:-9999px} -.data-table .btn-box input.btn-inventory{ width: 202px;height: 64px;border: none; background:url(btn-box_02.png) no-repeat; line-height: 0; border:none; overflow:hidden; text-indent:-9999px} +.data-table .btn-box input.btn-inventory{ width: 140px;height: 64px;border: none; background:url(btn-box.png) no-repeat; background-position:-1210px 0; no-repeat; line-height: 0; border:none; overflow:hidden; text-indent:-9999px} +.data-table .btn-box input.btn-inventory:hover{ width: 140px;height: 64px;border: none; background:url(btn-box.png) no-repeat; background-position:-1210px -64px; no-repeat; line-height: 0; border:none; overflow:hidden; text-indent:-9999px} .data-table .btn-box .btn-e{ background:url(btn_save.png) no-repeat; background-position:0 0; width:137px; height:64px; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} .data-table .btn-box .btn-e:hover{ background:url(btn_save1.png) no-repeat; background-position:0 0; border:none; line-height:200px; overflow:hidden; text-indent:-9999px; display:block;} .data-table .btn-box .btn-b{ background-position:-142px 0; width:203px; height:64px;}