Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/updateAmount.jsp =================================================================== diff -u -r29610 -r29663 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/updateAmount.jsp (.../updateAmount.jsp) (revision 29610) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/updateAmount.jsp (.../updateAmount.jsp) (revision 29663) @@ -140,7 +140,6 @@ return } window.parent.openElement.value =inputObj.value; - window.parent.changeRecycleAmount(row); if(window.parent.setTousseItemLoadedAmountCss){ window.parent.setTousseItemLoadedAmountCss(row); } Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js =================================================================== diff -u -r29656 -r29663 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 29656) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 29663) @@ -1,29 +1,220 @@ +// 缓存器械包的数组 var tousseArray = new Array(); -var splitTousseArray = new Array(); +// 不同申请科室或者不同资产归属的器械包 var splitTousseArray2 = new Array(); var newSplitTousseArray = new Array(); +// 删除的器械包数组 var deleteTousseItemArray = new Array(); // 科室绑定的篮筐的条码数组 var departBindingBasketBarcodes = []; +// 保存使用的材料数据 var materialsMapForSave = {}; -var newAmount = 0; -var isDelete = false; +// 缓存篮筐的数组 var saveBasketsArr = []; +// 缓存器械包的科室 var shareDepartsMap = new newMap(); var shareDepartsArr = []; +// 缓存清洗装载状态的篮筐条码数组 var basketArray = []; -//缓存扫描的包实例条码 +// 缓存扫描的包实例条码 var sessionTousseInstance = {}; -/** - * 不回收的器械包的集合。这个是由绑定带出来的器械包,并且不回收,在回收这里本来是不做处理的。现在要能修改原来的申请数量,相关的还有装配任务 - */ +// 不回收的器械包的集合。这个是由绑定带出来的器械包,并且不回收,在回收这里本来是不做处理的。现在要能修改原来的申请数量,相关的还有装配任务 var unrecycleTousseItemArray = new Array(); -//回收时自动加载清洗装载状态的篮筐 -if(sstsConfig.loadWashLoadingStatusBasketsWhenRecycling){ - getWashLoadingStatusBaskets() +// 可以终止的TousseItem的id.已经回收但是还没有发货的话,也是可以终止的。目前部分发货不能终止 +var canTerminateTousseItemIds = []; + +// 是否开启根据科室加载模板 +function openLoadTemplateByUnit(){ + if(sstsConfig.isOpenLoadTemplateByUnit){ + $("#departmentTemplate").change(function(){ + var requestParms = {}; + requestParms.templateId = $('#departmentTemplate').val(); + requestParms.orgUnitCoding = $("#departCode").val(); + $.ajax({ + type:'get', + url:WWWROOT + '/disinfectSystem/recyclingRecordAction!loadDepartmentAppTemplateForRecycle.do', + data:requestParms, + dataType:'json', + success:function(dataArray){ + //if(dataArray.length > 0){ + //获取页面显示的每个包 + var tousseItemsTable2 = $('#tousseItemTable').children().first().children(); + var tousseItemsTable2length = tousseItemsTable2.length; + + var hasCloumns = [];//存数量大于等于1的tousseDefinitionID + var hasCloumsObjs = [];//存数量大于等于1的对象 + + for (var j = 0; j < tousseItemsTable2.length; j++) { + var recycleAmountVal = parseInt($('#recycleAmount'+j).val(), 10); + if(recycleAmountVal >= 1){ + hasCloumns.push($('#tousseDefinitionID' + j).val()); + + var obj = {}; + obj.tousseItemId = ""; + obj.tousseName = $("#tousseName" + j).val(); + obj.tousseDefinitionID = $("#tousseDefinitionID" + j).val(); + obj.applicationAmount = $("#applicationAmount" + j).val(); + obj.recycleAmount = recycleAmountVal; + obj.loadedAmount = $("#loadedAmount" + j).val(); + obj.isCleanedEntirely = $("#isCleanedEntirely" + j).val(); + obj.tousseType = $("#tousseType" + j).val(); + obj.isThereIdentificationCard = $("#isThereIdentificationCard" + j).val(); + obj.isApplyEntireTousse = $("#isApplyEntireTousse" + j).val(); + obj.urgentAmount = $("#urgentAmount" + j).val(); + obj.tousseRemark = $("#tousseRemark" + j).val(); + obj.errorDamageQmKey = $("#hiddenErrorDamageQmKey" + j).val(); + obj.spelling = $("#spelling" + j).val(); + + hasCloumsObjs.push(obj); + + } + $('#tousseItemsTr'+j).remove();//把全部都删掉,后面挨个添加,先添加数量大于等于1,再添加接口返回的 + } + + + var addColumnArr = [];//用来增加的数据 + if (hasCloumns.length > 0) { + //先获取到大于等于1的包的,循环拿到row,赋值给大于等于1的对象的row,保证这个id唯一和连续 + for (var m = 0; m < hasCloumns.length; m++) { + var myObj = hasCloumsObjs[m]; + myObj.row = m; + addColumnArr.push(myObj); + } + } + //获取到大于等于1的数组的长度,后面每次加一下,就是新增加的包的row + var totalLength = hasCloumns.length - 1; + for(var i =0;i < dataArray.length; i++){ + //没找到,就是数量大于等于1的id,在后台返回的数据中没有,这时候就需要直接取到后台数据,增加到页面上 + if(hasCloumns.indexOf(dataArray[i].tousseDefinitionID + "") == -1){ + totalLength++; + var timeStr = new Date().getTime(); + var errorDamageQmKey = dataArray[i].tousseDefinitionID + "_" + timeStr; + var toussItem = { + row: totalLength, + 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, + spelling : dataArray[i].spelling + }; + addColumnArr.push(toussItem); + } + } + + for (var i = 0; i < addColumnArr.length; i++) { + var addColumnObj = addColumnArr[i]; + //统一增加的原因,是防止下次去拿数据的时候,拿到刚增加进去的数据 + addToussItem(addColumnObj, true); + } + + //恢复点击入筐后,回收数量和装配数量背景色的控制,因为前面删掉了全部的数据 + if(hasCloumns.length > 0){ + for(var k=0;k 0){ + var newBasketArr = []; + $("#basketsUl li").each(function(i){ + var basketValue = $(this).find('input').eq(0).val(); + if(basketValue){ + basketValue = JSON.parse(basketValue); + newBasketArr[i] = basketValue.barcode; + } + }); + for(var i=0;i -1){ + continue; + } + for(var j=0;j'; + basketElement += ''; + basketElement += '使用'; + basketElement += ''; + basketElement += ''; + + var showBasketLoadMaterialAmount = sstsConfig.showBasketLoadMaterialAmount; + var imageButton = ''; + if(showBasketLoadMaterialAmount == true){ + imageButton = ''; + } + + if(text !== ''){ + if(text.split(',').length > 4){ + sumText = text.split(',')[0]+','+text.split(',')[1]+','+text.split(',')[2]+'......'; + }else { + if(text.split(',').length == 2){ + sumText = text.split(',')[0]; + }else if(text.split(',').length == 3){ + sumText = text.split(',')[0]+','+text.split(',')[1]; + }else if(text.split(',').length == 4){ + sumText = text.split(',')[0]+','+text.split(',')[1]+','+text.split(',')[2] + } + } + } + + var amountStyle = (result[i].percentage == 1)?'color:red':''; + + basketElement += '' + (containerName) + '' + imageButton +''; + basketElement += '' + sumAmount + ''; + basketElement += '
'+sumText+'
'; + basketElement += ''; + var obj = $(basketElement); + $("#loadingPutBasket").prepend(obj); + basketArray[i] = containerBarcode; + } + $("#scanContainerBarcodeTipUl").hide(); + }else { + if($("#basketsUl > li").length == 0){ + $("#scanContainerBarcodeTipUl").show(); + }else{ + $("#scanContainerBarcodeTipUl").hide(); + } + } + } + }) + } +} + +// 左边的器械包重新排序 function tousseItemTableSort(name){ var tousseName = name || ''; if(sstsConfig.enableSortWaitRecyclingListByIntoBasketStatus){ @@ -54,7 +245,8 @@ $("#tousseItemTable").html(arr4); } } -//弹出不同申请科室或者不同资产归属的器械包 + +// 弹出不同申请科室或者不同资产归属的器械包 function loadApplicationTousseSplitByOrgUnit(){ $.ajax({ type : "post", @@ -95,7 +287,8 @@ } }) } -//打开不同申请科室或者不同资产归属的器械包 + +// 打开不同申请科室或者不同资产归属的器械包 function openApplicationTousseSplitByOrgUnit(newTousseArray,tousseArray){ var table = '
该申请单中以下物品不属于当前回收科室(回收科室名称),请确认是否拆单回收:
'; var name = (sstsConfig.methodOfSplitRecyclingApplication == 2)?'资产归属':'所属科室'; @@ -155,18 +348,16 @@ } }); } -loadApplicationTousseSplitByOrgUnit(); -if(basketsStr !== ''){ - getBasketsCode(true); -} -//重新加载所有篮筐 + +// 重新加载所有篮筐 function getBasketsCode(isSave){ var basketsArray = basketsStr.split(','); basketsArray.forEach(function(e){ loadBarcodeDevice(e,isSave); }); } -//添加或删除器械包 + +// 添加或删除器械包 function addOrDelTousse(item){ var classifiedItemId = item.classifiedItemId; var tousseName = item.tousseName; @@ -243,11 +434,11 @@ var ab; var lock = false; -//锁定键盘 +// 锁定键盘 function lockup(e){ e.preventDefault(); } -//高亮层不锁定 +// 高亮层不锁定 function lockout(e){ e.stopPropagation(); } - +// 通用的弹出层 function alertDiv(alertWord,hideCloseButton,showOtherButton){ lock = true; document.getElementById ("showWord").innerHTML = alertWord; @@ -278,70 +469,24 @@ ab.center = true; ab.show(); } - +// 通用的关闭弹出层 function closeDiv(){ ab.close(); } +// 器械包类型 +var applicationType = null; +// 条形码对应的用户名 +var userNameByBarcode = ""; -//Annie 清点确认按钮权限 -$(document).ready(function(){ - if(sstsConfig.enbaleCheckToConfirm){ - $('#isCheckIntoTheBox').show(); - } - if(sstsConfig.enbaleRecoveryCheckLeftKeyboard){ - $('#btnBoxGoods').show(); - } - //自送人显示 - if(sstsConfig.showSelfTransportorInRecycleForm){ - $('.departmentSender').show(); - } -}); -/** - * 刷新当前页面 - * @returns - */ -function refresh(){ - location.reload(); -} - var applicationType = null; - var userNameByBarcode = "";//条形码对应的用户名 - -function showMessage(message){ - if(document.getElementById('messageDiv') == null || !$('#messageDiv').dialog('isOpen')){ - $("
"+message+"
").dialog({ - title : '提示', - width :520, - modal: true, - show: { - effect: "explode", - duration: 1000 - }, - hide: { - effect: "explode", - duration: 1000 - }, - buttons: { - '关闭': function() { - $(this).dialog( "close" ); - } - } - }); - } -} -var isSecondSupplyRoom = false; -var supplyRoomType_val = params_type; -if(supplyRoomType_val==2){ - isSecondSupplyRoom = true; -} - +// 时间转换函数 function addZero(str){ if(str<10){ return "0"+str; }else{ return str; } } - +// 时间转换函数 function dateObjFormat(v){ if(v == null){ return ""; @@ -350,8 +495,7 @@ } } -var msgObj; - +// 回收数量把整数外的其他字符置为空 function validateNumber(thiz){ if(thiz.value.length==1){ thiz.value=thiz.value.replace(/[^1-9]/g,''); @@ -360,10 +504,7 @@ } } -/** - * 增加物品(即点击左边的“+”图标). - * @param row - */ +// 增加物品(即点击左边的“+”图标) function add(row){ var recycleAmount = $('#recycleAmount'+row).val() == ''?0:parseInt($('#recycleAmount'+row).val(),10); //是否整包申请 @@ -385,10 +526,8 @@ var recycleAmountChange = recycleAmount+1; playAudioAndTts(recycleAmountChange,'recycleAudioAmount'); } -/** - * 验证加急数量是否大于回收数量。如果加急数量大于回收数量,返回true,否则返回false - * @param row - */ + +// 验证加急数量是否大于回收数量。如果加急数量大于回收数量,返回true,否则返回false function validateUrgentAmount(row,recycleAmount){ var urgentAmount = $('#urgentAmount'+row).val() == ''?0:parseInt($('#urgentAmount'+row).val(),10); if(urgentAmount > recycleAmount){ @@ -397,10 +536,8 @@ } return false; } -/** - * 减少回收数量时验证丢失报损的数量是否大于回收数量 - * @param row - */ + +// 减少回收数量时验证丢失报损的数量是否大于回收数量 function validateReduceAmount(recycleAmount,row){ var recyclingError = $('#recyclingError' + row).val(); var recyclingDamage = $('#recyclingDamage' + row).val(); @@ -432,10 +569,8 @@ } return materialNameArray; } -/** - * 减少物品(即点击左边的“-”图标). - * @param row - */ + +// 减少物品(即点击左边的“-”图标) function reduce(row){ var recycleAmount = $('#recycleAmount'+row).val() == ''?0:parseInt($('#recycleAmount'+row).val(),10)-1; if(validateReduceAmount(recycleAmount,row).length > 0){ @@ -450,30 +585,14 @@ $('#recycleAmount'+row).val(recycleAmount); updateBindGoods(row); } - changeRecycleAmount(row); setTousseItemLoadedAmountCss(row); if(recycleAmount <= 0){ recycleAmount = "0"; } playAudioAndTts(recycleAmount,'recycleAudioAmount'); } -/** - * 清除掉已经删除掉的器械包. - * @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){ //必须是已使用。因为使用记录才会有包实例上的丢失报损 @@ -498,6 +617,8 @@ $('#hiddenDamageRemark' + row).val(drArr.join(';')); } } + +// 加载未补充的丢失报损 function loadUnSupplementMaterial(msg,tmpRow,tousseBarcode){ if(msg.unSupplementMaterials != null){ var materials = msg.unSupplementMaterials; @@ -582,15 +703,7 @@ } } -/** - * 删除物品. - * @param confirmMsg - * @param actionFunction - * @param row - * @param deleteButton - * @param basketBarcode - * @param basketId - */ +// 删除物品 function deleteConfirm(confirmMsg,actionFunction,row,deleteButton,basketBarcode,basketId){ $("#dialogConfirm").dialog({ resizable: false, @@ -721,9 +834,8 @@ } }); } -/** - * 检查是否有丢失报损信息,如果有,返回提示信息。否则返回空字符 - */ + +// 检查是否有丢失报损信息,如果有,返回提示信息。否则返回空字符 function checkHaveErrorDamage(row){ var returnMsg = ""; var recyclingErrorJsonArrayStr = $('#recyclingError'+row).val(); @@ -752,6 +864,8 @@ } return returnMsg; } + +// 删除器械包 function deleteTousseItem(row){ var returnMsg = checkHaveErrorDamage(row); var loadedAmount = $('#loadedAmount'+row).val(); @@ -824,7 +938,7 @@ return true; } - +// 不明白什么意思 function unloadStaff(tousseDefinitionID,amount,idCardBarcode){ $('#tousseItemTable').children().first().children().each(function(i,element){ if($('#tousseDefinitionID'+i).val() == tousseDefinitionID && $('#tousseItemsTr'+i).css("display") !== 'none'){ @@ -876,9 +990,7 @@ } } -/** - * 由于删除篮筐中的一个物品后,数组长度发生变化,继续循环删除其他物品就会报错,所以每次只循环一次就跳出循环,重新获取数组长度继续循环 - */ +// 由于删除篮筐中的一个物品后,数组长度发生变化,继续循环删除其他物品就会报错,所以每次只循环一次就跳出循环,重新获取数组长度继续循环 function deleteAction(thiz){ $(thiz).find('dl').children().each(function(i,element){ if($(this).attr('class') == 'del'){ @@ -892,6 +1004,7 @@ } } +//删除包内的材料 function deleteMaterialItem(deleteButton,containerBarcode,basketId){ var hideElement = $(deleteButton).parent().prev().prev().prev().prev(); var nameElement = $(deleteButton).parent().prev().prev().prev(); @@ -923,6 +1036,7 @@ delElement.remove(); } +// 刷新篮筐序号 function refreshSequence(liElement,sequence){ if(liElement){ if(!sequence || sequence <= 0){ @@ -938,10 +1052,8 @@ } } } -/** - * 刷新对应篮筐的包与材料总数量 - * @param liElement - */ + +// 刷新对应篮筐的包与材料总数量 function refreshBasketTotalNum(liElement){ if(liElement){ var total = 0; @@ -956,9 +1068,8 @@ liElement.find('span.sumCount').html(sumCount+parseInt(total)); } } -/** - * 刷新所有篮筐的包与材料总数量 - */ + +// 刷新所有篮筐的包与材料总数量 function refreshAllBasketTotalNum(){ $("#basketsUl li").each(function(){ refreshBasketTotalNum($(this)); @@ -1107,29 +1218,19 @@ tousseItemTableSort(name); } -//清理视图列表 -function cleanTableList(){ - $("#tousseItemTable").empty(); - $("#basketsUl").empty(); -} - -function cleanMaterialAndBasketTableList(){ - $("#basketsUl").empty(); -} - /*--------------------------- 功能:停止事件冒泡 ---------------------------*/ function stopBubble(e) { - //如果提供了事件对象,则这是一个非IE浏览器 + // 如果提供了事件对象,则这是一个非IE浏览器 if ( e && e.stopPropagation ) - //因此它支持W3C的stopPropagation()方法 + // 因此它支持W3C的stopPropagation()方法 e.stopPropagation(); else - //否则,我们需要使用IE的方式来取消事件冒泡 + // 否则,我们需要使用IE的方式来取消事件冒泡 window.event.cancelBubble = true; } -//阻止浏览器的默认行为 +// 阻止浏览器的默认行为 function stopDefault( e ) { //阻止默认浏览器动作(W3C) if ( e && e.preventDefault ) @@ -1140,18 +1241,14 @@ return false; } -/** - * 在页面无需将光标定位在输入框相应全局的扫描枪事件,并且阻止冒泡事件和阻止浏览器的默认行为. - */ +// 在页面无需将光标定位在输入框相应全局的扫描枪事件,并且阻止冒泡事件和阻止浏览器的默认行为 var barcodeGloble = ''; 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,false); } @@ -1180,23 +1277,11 @@ loadBarcodeDevice(barcodeGloble,true); } } - - stopBubble(event); stopDefault(event); } -// 扫描第二个篮框时,取消合并提示,默认不合并 -function mergedBasket(){ - return false; -} - - -/** - * 判断此标识牌条码是否已经入筐. - * @param barcode - * @returns {Boolean} - */ +// 判断此标识牌条码是否已经入筐 function idCardIsExist(barcode){ var exist = false; $('dl[class="sed clearfix"]').each(function(){ @@ -1216,11 +1301,7 @@ return exist; } -/** - * 判断此包实例条码是否已经入筐. - * @param barcode - * @return {Boolean} - */ +// 判断此包实例条码是否已经入筐 function tousseInstanceBarcodeIsExist(barcode){ var exist = false; $('dl[class="sed clearfix"]').each(function(){ @@ -1240,11 +1321,7 @@ return exist; } - -/** - * 创建物品入筐 - * @param basketItem - */ +// 创建物品入筐 function addBasketItemElement(basketItem){ var ci_id = basketItem.ci_id; var type = basketItem.type; @@ -1386,6 +1463,7 @@ addOrDelTousse(tousse); } +// 更新丢失报损的数量 function setIdCardErrorIntoBasketAmount(row,amount){ var recyclingErrorJsonArrayStr = $('#recyclingError'+row).val(); if(!isUndefinedOrNullOrEmpty(recyclingErrorJsonArrayStr)){ @@ -1401,45 +1479,47 @@ } } +// 是否显示篮筐装载器械总件数 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); + 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); - var isLessIE11 = navigator.userAgent.indexOf('compatible') > -1 && navigator.userAgent.indexOf('MSIE') > -1; + var isLessIE11 = navigator.userAgent.indexOf('compatible') > -1 && navigator.userAgent.indexOf('MSIE') > -1; - if(!isLessIE11){ - document.body.style.zoom = 1; - documentGetElementsByClassName('mbody')[0].style.zoom = zoomRatio; - } + if(!isLessIE11){ + document.body.style.zoom = 1; + documentGetElementsByClassName('mbody')[0].style.zoom = 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',''] - }); + 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 userContainer(that,user,basketName,basketBarcode,classifyBasketId,washClassifyType){ if ( event && event.preventDefault ){ event.preventDefault(); @@ -1461,6 +1541,7 @@ } } +// 创建篮筐 function createBasketUiElement(basketBarcode,classifyBasketId,basketName,washClassifyType,sequence,isIdCard,sumCount){ var basketElement = '
  • '; basketElement += ''; @@ -1489,6 +1570,8 @@ $("#basketsUl li:first").find('input').val(json); toggleItems(obj.find('span')[0]); } + +// 提示标识牌的使用次数 function noticeIdCardUseAmount(useAmount){ if(sstsConfig && sstsConfig.idCardUseAmountNoticeType){ var msg = '此标识牌已经使用' + useAmount + '次'; @@ -1502,6 +1585,8 @@ } } } + +// 添加篮筐 function addBasketElement(basketItem,isIdCard,isSave){ if(basketArray.length > 0){ if(basketArray.indexOf(basketItem.containerBarcode) >= 0){ @@ -1584,9 +1669,8 @@ } return barcode; } -/** - * 是否正在显示装配任务对话框,防止重复显示 - */ + +// 是否正在显示装配任务对话框,防止重复显示 var showingPackingTask = false; function showUnfinishedPackingTask(msg){ var message = null; @@ -1616,82 +1700,74 @@ } } } -/** - * 显示申请单终止原因 - */ -function showSelectTousseDiscardCauseWin(){ - var endCase = openModalWindowForExt(WWWROOT+"/disinfectsystem/recyclingApplication/selectTousseDiscardCause.jsp", '','请选择终止原因', "760", "400"); - - if(endCase == undefined){ - return; - }else { - var loop = setInterval(function() { - if(endCase.hidden) { - clearInterval(loop); - var returnValue = endCase.returnValue || ''; - - if(returnValue == ''){ - return; - } - - return returnValue; - } - },500); - } +// 显示申请单终止原因 +function showSelectTousseDiscardCauseWin(){ + var endCase = openModalWindowForExt(WWWROOT+"/disinfectsystem/recyclingApplication/selectTousseDiscardCause.jsp", '','请选择终止原因', "760", "400"); + + if(endCase == undefined){ + return; + }else { + var loop = setInterval(function() { + if(endCase.hidden) { + clearInterval(loop); + var returnValue = endCase.returnValue || ''; + if(returnValue == ''){ + return; + } + + return returnValue; + } + },500); + } } +// 清洗完成或清洗中确认是否继续使用篮筐 function loadDialogConfirm(msg,isSave){ - - $("#dialogConfirm").dialog({ - resizable: false, - height:325, - width:600, - modal: true, - open: function() { - $("#confirmMsg").text("【"+msg.basket.containerName + "】当前状态为【" + msg.containerStatus + "】,还有物品未装配,是否继续使用该篮筐?"); - }, - close: function() { - $("#confirmMsg").text(""); - }, - buttons: { - "是": function() { - addBasketElement(msg.basket,false,isSave); - $( this ).dialog( "close" ); - - loadNextBindingBasket(); + $("#dialogConfirm").dialog({ + resizable: false, + height:325, + width:600, + modal: true, + open: function() { + $("#confirmMsg").text("【"+msg.basket.containerName + "】当前状态为【" + msg.containerStatus + "】,还有物品未装配,是否继续使用该篮筐?"); + }, + close: function() { + $("#confirmMsg").text(""); + }, + buttons: { + "是": function() { + addBasketElement(msg.basket,false,isSave); + $( this ).dialog( "close" ); + + loadNextBindingBasket(); - }, - "否": function() { - $( this ).dialog( "close" ); - - loadNextBindingBasket(); - - } - } - }); + }, + "否": function() { + $( this ).dialog( "close" ); + + loadNextBindingBasket(); + + } + } + }); } /** * 加载下一个绑定的清洗篮筐。 * 加载前,从绑定篮筐的数组中删除已经做了扫描处理的篮筐条码 - * */ function loadNextBindingBasket(){ if (departBindingBasketBarcodes.length > 0){ // 删除数组的第1个元素,即已经做了扫描处理的篮筐条码 departBindingBasketBarcodes.splice(0, 1); } - if (departBindingBasketBarcodes.length > 0){ loadBarcodeDevice(departBindingBasketBarcodes[0],false); } } -/** - * 根据扫描的条码加载对应的对象. - * @param barcodeTemp - */ +// 根据扫描的条码加载对应的对象. function loadBarcodeDevice(barcodeTemp,isSave){ if(barcodeTemp.length >= 1){ //var barcode = barcodeTemp.substring(barcodeTemp.length-9,barcodeTemp.length); @@ -1831,8 +1907,6 @@ barcode : ti.barcode }; addBindGoods(toussItem,sstsConfig.addTousseAtLastForRecycle); - //清除已删除的包 - cleanDeleteTousseItem(td.id); addErrorDamageRemark(ti,tmpRow); var orgUnitName = $('#depart').val(); addToussItem(toussItem,sstsConfig.addTousseAtLastForRecycle,true,ti.id,msg.isFixedBarcode); @@ -2012,15 +2086,17 @@ } } -//选择回收人员 +// 选择回收人员 function selectRecyclingUser(){ $('#recyclingUser').val(userNameByBarcode); } -//选择清点人员 + +// 选择清点人员 function selectOperator(){ $('#operator').val(userNameByBarcode); } +// 打开选择申请单的窗口 function openselectRecyclingApplication(){ var width = 740; var height = 400; @@ -2040,8 +2116,8 @@ }); } +// 打开材料丢失的窗口 function openRecyclingErrorPage(row,errorDamageQmKey){ - var tousseType = $('#tousseType' + row).val(); if(tousseType == '外来器械包'){ alertDiv("外来器械包不能添加丢失项!"); @@ -2098,6 +2174,61 @@ }); } +// 打开材料报损的窗口 +function openRecyclingDamagePage(row,tousseName,tousseItemId,errorDamageQmKey){ + var tousseType = $('#tousseType' + row).val(); + if(tousseType == '外来器械包'){ + alertDiv("外来器械包不能添加报损项!"); + return false; + } + + 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; + } + var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); + var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); + + var isLessIE11 = navigator.userAgent.indexOf('compatible') > -1 && navigator.userAgent.indexOf('MSIE') > -1; + + if(!isLessIE11){ + document.body.style.zoom = 1; + documentGetElementsByClassName('mbody')[0].style.zoom = 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='+encodeURI(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 openSetUrgentAmountPage(row){ var tousseItemId = $('#tousseItemId'+row).val(); if(tousseItemId != ''){ @@ -2157,10 +2288,16 @@ }); } +// 丢失报损界面获取相应的数量 function getTousseItemRecyclingError(row){ return $('#recyclingError' + row).val(); } +function getTousseItemRecyclingDamage(row){ + return $('#recyclingDamage' + row).val(); +} + +// 丢失报损界面保存更新最新的数量 function setTousseItemRecyclingError(row,jsonstr,errorRemark){ $('#recyclingError' + row).val(jsonstr); if(!isUndefinedOrNull(errorRemark)){ @@ -2169,11 +2306,17 @@ refreshErrorRemarkView(row); refreshErrorMaterialsView(row); } -/** - * 将丢失报损的材料json字符串格式化为 名称*数量;名称*数量 的形式.如果数量为0,则排除 - * @param materialArrayStr - * @returns - */ + +function setTousseItemRecyclingDamage(row,jsonstr,damageRemark){ + $('#recyclingDamage' + row).val(jsonstr); + if(!isUndefinedOrNull(damageRemark)){ + $('#hiddenDamageRemark' + row).val(damageRemark); + } + refreshDamageRemarkView(row); + refreshDamageMaterialsView(row); +} + +// 将丢失报损的材料json字符串格式化为 名称*数量;名称*数量 的形式.如果数量为0,则排除 function formatErrorOrDamageMaterials(materialArrayStr){ if(!isUndefinedOrNullOrEmpty(materialArrayStr)){ var materialArray = JSON.parse(materialArrayStr); @@ -2188,10 +2331,8 @@ } return ""; } -/** - * 刷新丢失材料的显示,如果没有启用回收的丢失报损备注功能,或者没有丢失材料,那么隐藏整行 - * @param row 行号 - */ + +// 刷新丢失材料的显示,如果没有启用回收的丢失报损备注功能,或者没有丢失材料,那么隐藏整行 function refreshErrorMaterialsView(row){ var hide = true; if(sstsConfig.enableRecycleMaterialErrorDamageRemark){ @@ -2208,10 +2349,8 @@ $('#errorMaterialsTr' + row).show(); } } -/** - * 刷新丢失备注的显示,如果没有启用回收的丢失报损备注功能,或者没有丢失备注,那么隐藏整行 - * @param row 行号 - */ + +// 刷新丢失备注的显示,如果没有启用回收的丢失报损备注功能,或者没有丢失备注,那么隐藏整行 function refreshErrorRemarkView(row){ var hide = true; if(sstsConfig.enableRecycleMaterialErrorDamageRemark){ @@ -2227,10 +2366,8 @@ $('#errorRemarkTr' + row).show(); } } -/** - * 刷新报损备注的显示,如果没有启用回收的丢失报损备注功能,或者没有报损备注,那么隐藏整行 - * @param row 行号 - */ + +// 刷新报损备注的显示,如果没有启用回收的丢失报损备注功能,或者没有报损备注,那么隐藏整行 function refreshDamageRemarkView(row){ var hide = true; if(sstsConfig.enableRecycleMaterialErrorDamageRemark){ @@ -2246,10 +2383,8 @@ $('#damageRemarkTr' + row).show(); } } -/** - * 刷新拆包器械拆分篮筐数量的显示界面。如果没有启用拆分篮筐显示功能,或者没有报损备注,那么隐藏整行 - * @param row 行号 - */ + +// 刷新拆包器械拆分篮筐数量的显示界面。如果没有启用拆分篮筐显示功能,或者没有报损备注,那么隐藏整行 function refreshSplitBasketView(){ if(sstsConfig.enableSplitBasketCount){ //包定义id与包拆分的篮筐的映射 @@ -2281,10 +2416,8 @@ }); } } -/** - * 刷新报损材料明细的显示,如果没有启用回收的丢失报损备注功能,或者没有报损材料,那么隐藏整行 - * @param row 行号 - */ + +// 刷新报损材料明细的显示,如果没有启用回收的丢失报损备注功能,或者没有报损材料,那么隐藏整行 function refreshDamageMaterialsView(row){ var hide = true; if(sstsConfig.enableRecycleMaterialErrorDamageRemark){ @@ -2302,19 +2435,7 @@ } } -function getTousseItemRecyclingDamage(row){ - return $('#recyclingDamage' + row).val(); -} - -function setTousseItemRecyclingDamage(row,jsonstr,damageRemark){ - $('#recyclingDamage' + row).val(jsonstr); - if(!isUndefinedOrNull(damageRemark)){ - $('#hiddenDamageRemark' + row).val(damageRemark); - } - refreshDamageRemarkView(row); - refreshDamageMaterialsView(row); -} - +// 更新加急数量 function updateUrgentAmount(row,urgentAmount,urgentLevel){ $('#urgentAmount'+row).val(urgentAmount); $('#urgentAmountDiv'+row).html(urgentAmount); @@ -2332,59 +2453,7 @@ } } -function openRecyclingDamagePage(row,tousseName,tousseItemId,errorDamageQmKey){ - var tousseType = $('#tousseType' + row).val(); - if(tousseType == '外来器械包'){ - alertDiv("外来器械包不能添加报损项!"); - return false; - } - - 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; - } - var zoomRatio = calculateZoomRatio(designedWidth,designedHeight,actualWidth,actualHeight); - var size = calculateSizeAfterZoom(designedTousseWidth,designedTousseHeight,zoomRatio); - - var isLessIE11 = navigator.userAgent.indexOf('compatible') > -1 && navigator.userAgent.indexOf('MSIE') > -1; - - if(!isLessIE11){ - document.body.style.zoom = 1; - documentGetElementsByClassName('mbody')[0].style.zoom = 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='+encodeURI(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', @@ -2400,6 +2469,7 @@ }); } +// 点击器械包名称根据器械包类型打开不同的窗口 function amendDisinfectionTousse(row){ var tousseName = $('#tousseName'+row).val(); var tousseDefinitionID = $('#tousseDefinitionID'+row).val(); @@ -2446,55 +2516,37 @@ }); } }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 - }); - var windowScreenH = window.screen.height; - if(windowScreenH == 1080){ - $(".mfp-iframe-scaler iframe").css({"top":"10px","height":"100%"}); - $(".mfp-iframe-holder .mfp-close").css({"top":"12px"}); - }else if(windowScreenH == 1050){ - $(".mfp-iframe-scaler iframe").css({"top":"10px","height":"100%"}); - $(".mfp-iframe-holder .mfp-close").css({"top":"0px"}); - }else{ - $(".mfp-iframe-scaler iframe").css({"top":"10px","height":"100%"}); - } -// error:function(XMLHttpRequest, textStatus, errorThrown){ -// } -// }); + $.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 + }); + var windowScreenH = window.screen.height; + if(windowScreenH == 1080){ + $(".mfp-iframe-scaler iframe").css({"top":"10px","height":"100%"}); + $(".mfp-iframe-holder .mfp-close").css({"top":"12px"}); + }else if(windowScreenH == 1050){ + $(".mfp-iframe-scaler iframe").css({"top":"10px","height":"100%"}); + $(".mfp-iframe-holder .mfp-close").css({"top":"0px"}); + }else{ + $(".mfp-iframe-scaler iframe").css({"top":"10px","height":"100%"}); + } }else if(tousseType == '自定义器械包'){ var width = 740; var height = 400; @@ -2575,6 +2627,7 @@ } } +// 篮筐信息包装为json字符串 function getBasketJSON(itemId,barcode,washClassifyType,sequence,basketName,isIdCard){ var json = {}; json.classifyBasketId = itemId; @@ -2587,32 +2640,28 @@ } function getBasketItemJSON(ci_id,type,orgUnitName,tousseName,materialName,amount,tousseAmount,idCardBarcode, - tousseDefinitionID,basketGroupBarcodes,putBasketMaxAmount,tousseType,lastTousseInstanceId,tousseInstanceBarcode,washClassifyType){ - 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; - json.lastTousseInstanceId = lastTousseInstanceId; - json.tousseInstanceBarcode = tousseInstanceBarcode; - json.washClassifyType = washClassifyType || ''; - return JSON.stringify(json); + tousseDefinitionID,basketGroupBarcodes,putBasketMaxAmount,tousseType,lastTousseInstanceId,tousseInstanceBarcode,washClassifyType){ +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; +json.lastTousseInstanceId = lastTousseInstanceId; +json.tousseInstanceBarcode = tousseInstanceBarcode; +json.washClassifyType = washClassifyType || ''; +return JSON.stringify(json); } -/** - * 获取已入篮筐的数据. - * @param isCleanedEntirely - * @returns {Array} - */ +// 获取已入篮筐的数据 function getScanedGoods(isCleanedEntirely){ var basketJsonArray = new Array(); $("#basketsUl li").each(function(){ @@ -2687,6 +2736,7 @@ * @param idCardBarcode * @returns {Number} */ +var isDelete = false; function tousseIntoBasketFunction(tousseInstanceId,tousseDefinitionID,tousseName,recycleAmount,isCleanedEntirely,orgUnitName,idCardBarcode,tousseInstanceBarcode,tousseType,row,isIDCard,callbackType,msgObj){ var params = getScanedGoods(isCleanedEntirely); newAmount = 0; @@ -3025,8 +3075,6 @@ }; addToussItem(toussItem,sstsConfig.addTousseAtLastForRecycle); addBindGoods(toussItem,sstsConfig.addTousseAtLastForRecycle); - //清除已删除的包 - cleanDeleteTousseItem(td.id); addErrorDamageRemark(ti,tmpRow); //未补充的丢失报损 loadUnSupplementMaterial(msgObj,tmpRow,ti.barcode); @@ -3073,8 +3121,6 @@ }; addToussItem(toussItem,sstsConfig.addTousseAtLastForRecycle); addBindGoods(toussItem,sstsConfig.addTousseAtLastForRecycle); - //清除已删除的包 - cleanDeleteTousseItem(td.id); addErrorDamageRemark(ti,tmpRow); //未补充的丢失报损 loadUnSupplementMaterial(msgObj,tmpRow,ti.barcode); @@ -3091,7 +3137,7 @@ return loadedAmount; } -//将器械包放入篮筐中 +//将器械包放入篮筐中,入筐 function putTousseInTheBasket(row,recycleAmountNew){ var inputSuccess = false; newAmount = 0; @@ -3267,6 +3313,7 @@ return inputSuccess; } +// 设置加载数量的背景颜色 function setTousseItemLoadedAmountCss(row){ var recycleAmount = parseInt($('#recycleAmount'+row).val(),10); var loadedAmount = parseInt($('#loadedAmount'+row).val(),10); @@ -3278,10 +3325,8 @@ $("#loadedAmount" + row).css("background","#ffffff");//白色 } } -/** - * 修改数量的时候,更新绑定物品.调用此方法的时候,回收数量已经更新 - * @param row - */ + +// 修改数量的时候,更新绑定物品.调用此方法的时候,回收数量已经更新 function updateBindGoods(row){ var toussItem = { tousseDefinitionID: $('#tousseDefinitionID' + row).val(), @@ -3291,10 +3336,8 @@ }; addBindGoods(toussItem,sstsConfig.addTousseAtLastForRecycle); } -/** - * 查找绑定的不回收的器械包。绑定中的包定义id都是祖先id - * @param ancestorTdId - */ + +// 查找绑定的不回收的器械包。绑定中的包定义id都是祖先id function findBindGoodsItem(ancestorTdId){ for(var i = 0; i < unrecycleTousseItemArray.length;++i){ if(unrecycleTousseItemArray[i].id == ancestorTdId){ @@ -3303,6 +3346,7 @@ } return null; } + /** * 添加绑定物品 * @param toussItem @@ -3361,12 +3405,9 @@ errorDamageQmKey:errorDamageQmKey }; addToussItem(toussItem,appendLast); - //已删除又添加该物品jsonArray处理 - cleanDeleteTousseItem(record.id); } $('#recycleAmount'+row).val(record.count); setTousseItemLoadedAmountCss(row); - changeRecycleAmount(row); } } } @@ -3376,6 +3417,7 @@ } }); } + /** * 判断是否存在对应的物品,如果存在,返回对应的行号,否则返回-1; * @param tousseDefinitionID 包定义id @@ -3396,6 +3438,8 @@ }); return row; } + +// 器械包高亮闪烁 function highlightExistTousseItem(row){ //先滑动到对应的行 var scrollTop = $("#tousseItemsTr" + row).offset().top-$('#tousseItemTable').offset().top; @@ -3583,7 +3627,7 @@ ''+ ''+ addButton + - ''+ + ''+ reduceButton + ''+ '入筐'+ @@ -3628,71 +3672,68 @@ 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().getTime()), - 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("未知错误,请联系管理员!"); - } - }); + $.ajax({ + type:'get', + url:encodeURI(WWWROOT + '/disinfectSystem/core/httpOptionAction!getHttpOptionsById.do?time='+new Date().getTime()), + 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); @@ -3715,7 +3756,7 @@ return materialMsg; } -//打开编辑数量页面 +// 打开编辑数量的窗口 var openElement; function openUpdateAmount(obj,row){ var isApplyEntireTousse = $('#isApplyEntireTousse'+row).val(); @@ -3767,6 +3808,7 @@ }); } +// 打开修改数量的窗口 function openUpdateStuffInTheBasketAmount(obj,tousseName,name,type){ obj.blur(); var width = 550; @@ -3804,12 +3846,9 @@ closeBtn : [2 , true], offset : [offsetTop,''] }); - } -/** - * 获取回收误差信息,拼成字符串传到后台 - */ +// 获取回收误差信息,拼成字符串传到后台 function getMaterialErrorDamageDetail() { var errorJsonArray = new Array(); $('#tousseItemTable').children().first().children().each(function(i,element){ @@ -3825,8 +3864,6 @@ } } - - } var recyclingItemDamageJsonStr = $('#recyclingDamage'+i).val(); if(!isUndefinedOrNullOrEmpty(recyclingItemDamageJsonStr)){ @@ -3843,9 +3880,7 @@ return errorJsonArray; } -/** - * 加急物品 - */ +// 加急物品 function getUrgentTousseItems(){ var urgentItemJsonArray = new Array(); $('#tousseItemTable').children().first().children().each(function(index,element){ @@ -3870,10 +3905,7 @@ return urgentItemJsonArray; } -/** - * 获取左边的回收的信息. - * @returns {Array} - */ +// 获取左边的回收的信息 function getRecyclingItemInfo(){ var recyclingItemJsonArray = new Array(); $('#tousseItemTable').children().first().children().each(function(index,element){ @@ -3910,6 +3942,7 @@ }); return recyclingItemJsonArray; } + /** * 添加保存使用的材料数据 * @param tousseDefinitionID 对应的包id @@ -3923,6 +3956,7 @@ } materialsMapForSave[tousseDefinitionID] = materialsArrayForSave; } + /** * 判断tousseItem表是否是空的。删除的项不算在内 */ @@ -3937,6 +3971,8 @@ }); return isEmpty; } + +// 保存回收记录时验证 function submitCheck(){ var isThereTousseItems = false; var isAllTousseInTheBasket = true; @@ -4019,7 +4055,8 @@ } return true; } -//合并丢失或报损的数量,根据是否已确定分开计算 + +// 合并丢失或报损的数量,根据是否已确定分开计算 function newArray(arr){ var newArr = []; var map = {},dest = []; @@ -4060,7 +4097,7 @@ return newArr; } -//合并数组 +// 合并数组(用于丢失报损的增加减少) function newArray2(arr){ var map = {},dest = []; var newArr = []; @@ -4198,6 +4235,7 @@ } }); } + /** * 检查是否有未归还的器械包-针对回收保存,如果有,那就提示. * @param confirmation 确认回收记录操作 @@ -4304,9 +4342,7 @@ } } -/** - * 显示回收物品清单 - */ +// 显示回收物品清单 function showRecyclingDetail(recyclingItems,confirmCallback){ if(recyclingItems && recyclingItems.length > 0){ var tdStyle = 'font-size:28px;text-align:center;'; @@ -4338,6 +4374,7 @@ }); } } + /** * 提交回收记录. * @param confirmation 确认回收记录操作 @@ -4398,29 +4435,6 @@ } } -//是否进行清点确认 false 为保存,true 为清点确认 -var IntheBoxState = false; -//合并数组并去重 -function MergeArray(arr1,arr2){ - var _arr = new Array(); - for(var i=0;i tbody > tr").each(function(row) { @@ -5512,7 +5527,7 @@ return canEmpty; } -/*加载选择模板下拉框的数据*/ +// 加载选择模板下拉框的数据 function loadTemplateSelectData(){ if(sstsConfig.isOpenLoadTemplateByUnit){ var appType = $("#appType").val(); @@ -5548,7 +5563,7 @@ } } -/*根据科室编码加载该科室绑定的清洗篮筐*/ +// 根据科室编码加载该科室绑定的清洗篮筐 function loadWashBasketsByDepartCode(departCode){ $.ajax({ type:'get', @@ -5580,6 +5595,8 @@ } }) } + +// 切换科室 function selectDepart(departName,departCode){ var tousseNameArr = []; @@ -5695,114 +5712,7 @@ } } -$(function(){ - if(sstsConfig.isOpenLoadTemplateByUnit){ - $("#departmentTemplate").change(function(){ - var requestParms = {}; - requestParms.templateId = $('#departmentTemplate').val(); - requestParms.orgUnitCoding = $("#departCode").val(); - $.ajax({ - type:'get', - url:WWWROOT + '/disinfectSystem/recyclingRecordAction!loadDepartmentAppTemplateForRecycle.do', - data:requestParms, - dataType:'json', - success:function(dataArray){ - //if(dataArray.length > 0){ - //获取页面显示的每个包 - var tousseItemsTable2 = $('#tousseItemTable').children().first().children(); - var tousseItemsTable2length = tousseItemsTable2.length; - - var hasCloumns = [];//存数量大于等于1的tousseDefinitionID - var hasCloumsObjs = [];//存数量大于等于1的对象 - - for (var j = 0; j < tousseItemsTable2.length; j++) { - var recycleAmountVal = parseInt($('#recycleAmount'+j).val(), 10); - if(recycleAmountVal >= 1){ - hasCloumns.push($('#tousseDefinitionID' + j).val()); - - var obj = {}; - obj.tousseItemId = ""; - obj.tousseName = $("#tousseName" + j).val(); - obj.tousseDefinitionID = $("#tousseDefinitionID" + j).val(); - obj.applicationAmount = $("#applicationAmount" + j).val(); - obj.recycleAmount = recycleAmountVal; - obj.loadedAmount = $("#loadedAmount" + j).val(); - obj.isCleanedEntirely = $("#isCleanedEntirely" + j).val(); - obj.tousseType = $("#tousseType" + j).val(); - obj.isThereIdentificationCard = $("#isThereIdentificationCard" + j).val(); - obj.isApplyEntireTousse = $("#isApplyEntireTousse" + j).val(); - obj.urgentAmount = $("#urgentAmount" + j).val(); - obj.tousseRemark = $("#tousseRemark" + j).val(); - obj.errorDamageQmKey = $("#hiddenErrorDamageQmKey" + j).val(); - obj.spelling = $("#spelling" + j).val(); - - hasCloumsObjs.push(obj); - - } - $('#tousseItemsTr'+j).remove();//把全部都删掉,后面挨个添加,先添加数量大于等于1,再添加接口返回的 - } - - - var addColumnArr = [];//用来增加的数据 - if (hasCloumns.length > 0) { - //先获取到大于等于1的包的,循环拿到row,赋值给大于等于1的对象的row,保证这个id唯一和连续 - for (var m = 0; m < hasCloumns.length; m++) { - var myObj = hasCloumsObjs[m]; - myObj.row = m; - addColumnArr.push(myObj); - } - } - //获取到大于等于1的数组的长度,后面每次加一下,就是新增加的包的row - var totalLength = hasCloumns.length - 1; - for(var i =0;i < dataArray.length; i++){ - //没找到,就是数量大于等于1的id,在后台返回的数据中没有,这时候就需要直接取到后台数据,增加到页面上 - if(hasCloumns.indexOf(dataArray[i].tousseDefinitionID + "") == -1){ - totalLength++; - var timeStr = new Date().getTime(); - var errorDamageQmKey = dataArray[i].tousseDefinitionID + "_" + timeStr; - var toussItem = { - row: totalLength, - 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, - spelling : dataArray[i].spelling - }; - addColumnArr.push(toussItem); - } - } - - for (var i = 0; i < addColumnArr.length; i++) { - var addColumnObj = addColumnArr[i]; - //统一增加的原因,是防止下次去拿数据的时候,拿到刚增加进去的数据 - addToussItem(addColumnObj, true); - } - - //恢复点击入筐后,回收数量和装配数量背景色的控制,因为前面删掉了全部的数据 - if(hasCloumns.length > 0){ - for(var k=0;k li").length == 0){ @@ -6064,21 +5960,22 @@ } } -//装载数量根据其值更新背景色 +// 装载数量根据其值更新背景色 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");//默认白色 - } - }); + $('#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 addApplicantToRemark(application){ var confirmRecyclingAmount = getSystemSetConfig('confirmRecyclingAmount',false); if(confirmRecyclingAmount){ @@ -6092,10 +5989,8 @@ $("#remarkText").text(rmk); } } -/** - * 根据回收记录id加载回收记录的数据. 方便测试 - * @param id - */ + +// 根据回收记录id加载回收记录的数据 function loadRecyclingRecordById(id){ DWREngine.setAsync(false); RecyclingRecordTableManager.getRecyclingRecordById(id,function(record){ @@ -6417,6 +6312,7 @@ DWREngine.setAsync(true); } +// 转码 function encodeAll(text) { var encoded = encodeURI(text); encoded = encoded.replace('#','%23');// 对#号进行转码 @@ -6426,34 +6322,6 @@ // 语音识别的处理 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){ @@ -6485,18 +6353,7 @@ DWREngine.setAsync(true); } -function getRowByName(name){ - var row = -1; - $('#tousseItemTable').children().first().children().each( - function(i, element) { - var tousseName = $('#tousseName' + i).val(); - if(tousseName == name){ - row = i; - return false; - } - }); - return row; -} +// 暂不明白这个作用 var processSpeechResult_recycle_addTousse = null; function processSpeechResult_recycle(r){ if(r.grammerName == 'tousses_recycle'){ @@ -6508,15 +6365,9 @@ }else{ openSelectTousse(r.Text); } -// var row = getRowByName(r.Text); -// if(row == -1){ -// return; -// } -// putTousseInTheBasket(row); -// refreshSplitBasketView(); -// refreshAllBasketTotalNum(); } } + /** * 记录材料修改的数据 * @param dataJson 材料修改数据 @@ -6546,6 +6397,7 @@ return true; } + // 页面初始加载清空旧数据 function cleanIsRecyclingFun(){ if(window.opener){ window.opener.isRecyclingWindow = null; @@ -6559,88 +6411,31 @@ window.onunload = cleanIsRecyclingFun; } -//获取清洗装载状态的篮筐 -function getWashLoadingStatusBaskets(){ - $.ajax({ - type : "post", - url : WWWROOT + '/disinfectSystem/recyclingRecordAction!getWashLoadingStatusBaskets.do', - dataType:'json', - async:true, - success:function(result){ - if(result.length > 0){ - var newBasketArr = []; - $("#basketsUl li").each(function(i){ - var basketValue = $(this).find('input').eq(0).val(); - if(basketValue){ - basketValue = JSON.parse(basketValue); - newBasketArr[i] = basketValue.barcode; - } - }); - for(var i=0;i -1){ - continue; - } - for(var j=0;j'; - basketElement += ''; - basketElement += '使用'; - basketElement += ''; - basketElement += ''; - - var showBasketLoadMaterialAmount = sstsConfig.showBasketLoadMaterialAmount; - var imageButton = ''; - if(showBasketLoadMaterialAmount == true){ - imageButton = ''; - } - - if(text !== ''){ - if(text.split(',').length > 4){ - sumText = text.split(',')[0]+','+text.split(',')[1]+','+text.split(',')[2]+'......'; - }else { - if(text.split(',').length == 2){ - sumText = text.split(',')[0]; - }else if(text.split(',').length == 3){ - sumText = text.split(',')[0]+','+text.split(',')[1]; - }else if(text.split(',').length == 4){ - sumText = text.split(',')[0]+','+text.split(',')[1]+','+text.split(',')[2] - } - } - } - - var amountStyle = (result[i].percentage == 1)?'color:red':''; - - basketElement += '' + (containerName) + '' + imageButton +''; - basketElement += '' + sumAmount + ''; - basketElement += '
    '+sumText+'
    '; - basketElement += '
  • '; - var obj = $(basketElement); - $("#loadingPutBasket").prepend(obj); - basketArray[i] = containerBarcode; - } - $("#scanContainerBarcodeTipUl").hide(); - }else { - if($("#basketsUl > li").length == 0){ - $("#scanContainerBarcodeTipUl").show(); - }else{ - $("#scanContainerBarcodeTipUl").hide(); - } - } - } - }) -} +$(function(){ + // 是否开启根据科室加载模板 + openLoadTemplateByUnit(); + // 回收时自动加载清洗装载状态的篮筐 + getWashLoadingStatusBaskets(); + // 弹出不同申请科室或者不同资产归属的器械包 + loadApplicationTousseSplitByOrgUnit(); + // 地址栏的篮筐信息不为空,则重新加载篮筐 + if(basketsStr !== ''){ + getBasketsCode(true); + } + //是否启用清点确认按钮 + if(sstsConfig.enbaleCheckToConfirm){ + $('#isCheckIntoTheBox').show(); + } + //是否启用回收清点左边键盘按钮 + if(sstsConfig.enbaleRecoveryCheckLeftKeyboard){ + $('#btnBoxGoods').show(); + } + //在回收界面是否显示科室自送人输入框, + if(sstsConfig.showSelfTransportorInRecycleForm){ + $('.departmentSender').show(); + } +}) + /** BJ307YY-35:扫描包实例条码思路注释 扫描包实例条码: @@ -6675,4 +6470,4 @@ }else { return '添加器械包,回收数量+1'; } -*/ \ No newline at end of file +*/