Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/changeDepart.png =================================================================== diff -u Binary files differ Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/addDepart.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/addDepart.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/addDepart.js (revision 40874) @@ -0,0 +1,159 @@ +$("#spellingCode").on("change paste keyup", function () { + searchTousse(""); +}); + +function closeLayer() { + if (typeof parent.closeLayer == 'function') { + //统一到父窗口 + parent.closeLayer(); + } else if (parent.LAYER) { + //layer库1.4版本的 + var index = parent.LAYER.getFrameIndex(); + parent.LAYER.close(index); + } else if (parent.layer) { + //新版本的layer库 + var index = parent.layer.getFrameIndex(window.name); + parent.layer.close(index); + } +} + +function addDepart(departCode, departName) { + //待回收列表弹出窗 + if (isFilterApplication) { + window.parent.setApplyDepartment(departName, departCode); + closeLayer(); + } else if (departType == 4) { + window.parent.selectSettleAccountsDepart(departName, departCode); + closeLayer(); + } else { + window.parent.selectDepart(departName, departCode); + closeLayer(); + } +} + +function pageUp() { + var inputValue = document.getElementById('spellingCode').value; + if (inputValue == null || inputValue == "") { + return; + } + if (pages <= 1) { + return; + } else { + pages--; + searchTousse(""); + + } +} + +function pageDown() { + var inputValue = document.getElementById('spellingCode').value; + if (inputValue == null || inputValue == "") { + return; + } + if (num < 12) { + return; + } + pages++; + searchTousse(""); +} + +/** + *检索科室 + */ +function searchTousse(sign) { + var inputObj = document.getElementById('spellingCode'); + var inputValue = inputObj.value; + inputObj.value = inputValue + sign; + if (sign != "") { + pages = 1; + } + OrgUnitTableManager.searchOrgUnitBySpellOrWbCode(inputObj.value, pages, pageSize, showDisableOrgUnit, departType, function (result) { + if (result != null) { + var htmlResultCode = ""; + document.getElementById('tousseListDiv').innerHTML = htmlResultCode; + } else { + cleanTousseList(); + } + }); +} + +function backSpaceInputText() { + pages = 1; + var currentValue = document.getElementById('spellingCode').value; + if (currentValue == "") { + return; + } + document.getElementById('spellingCode').value = currentValue.substring(0, currentValue.length - 1); + if (document.getElementById('spellingCode').value == "") { + cleanInputText(); + } else { + searchTousse(''); + } +} + +function cleanInputText() { + document.getElementById('spellingCode').value = ""; + pages = 1; + cleanTousseList(); +} + +function cleanTousseList() { + var htmlResultCode = ""; + document.getElementById('tousseListDiv').innerHTML = htmlResultCode; +}; + +window.onload = function () { + var zoom = getZoom(1920, 1080); + $('.add-bao').css('zoom', zoom - 0.08) + + if (sstsConfig.enableAddQuickTecoveryOptionForDepartments) { + $('.add-bao').css({ + position: 'fixed', + left: '200px' + }) + $('.changeDepart').show(); + $('.changeDepart').css('zoom', zoom - 0.08) + $('.changeDepart ul').css('height', parseInt(height) + 'px'); + $.ajax({ + type: "post", + url: WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!getAllConfigsJSONArray.do', + dataType: 'json', + async: true, + success: function (result) { + if (result.data.length > 0) { + var html = ''; + for (var i = 0; i < result.data.length; i++) { + html += '
  • ' + result.data[i].orgUnitName + '
  • ' + } + $('#changeDepartUl').html(html) + } + } + }) + } +} \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/expressRecycleForTouchScreen.jsp =================================================================== diff -u -r40853 -r40874 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/expressRecycleForTouchScreen.jsp (.../expressRecycleForTouchScreen.jsp) (revision 40853) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/expressRecycleForTouchScreen.jsp (.../expressRecycleForTouchScreen.jsp) (revision 40874) @@ -38,7 +38,12 @@ - + +
    +
    快速选择
    + +
    - + Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/awaitForRecycleList.js =================================================================== diff -u -r40302 -r40874 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/awaitForRecycleList.js (.../awaitForRecycleList.js) (revision 40302) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/awaitForRecycleList.js (.../awaitForRecycleList.js) (revision 40874) @@ -1040,6 +1040,11 @@ location.href = "expressRecycleForTouchScreen.jsp?resolution=" + resolution + "&id=" + id + '&source=' + source; } +//GDSFYBJY-29:科室快速回收 +function openQuickForDepartRecyclePage() { + location.href = "expressRecycleForTouchScreen.jsp?resolution=" + resolution + "&id=" + id + '&source=' + source + '&type=departExpressRecycling'; +} + //DGZYY-236:外来器械新增快速回收 function openForeignTousseRecyclePage() { location.href = "foreignTousseRecycleForTouchScreen.jsp?resolution=" + resolution + "&id=" + id + '&source=' + source; @@ -2094,6 +2099,11 @@ $("#quickRecycleImg").hide(); } + //GDSFYBJY-29:科室快速回收 + if (sstsConfig.enableAddQuickTecoveryOptionForDepartments) { + $("#quickRecycleForDepartImg").show(); + } + //首先判断是否启用回收超时提示配置项 if (sstsConfig.awaitRecyclingTimeoutNoticeHours && sstsConfig.awaitRecyclingTimeoutNoticeHours > 0) { fetchAwaitRecyclingTimeoutData(1); Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/expressRecycleForTouchScreen.js =================================================================== diff -u -r40853 -r40874 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/expressRecycleForTouchScreen.js (.../expressRecycleForTouchScreen.js) (revision 40853) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/expressRecycleForTouchScreen.js (.../expressRecycleForTouchScreen.js) (revision 40874) @@ -45,22 +45,13 @@ if (ratio) { ratio = Math.round(ratio * 100); } - var value; if (type == 'width') { var width = window.screen.width; - if (isIE()) { - value = width * ratio / 100; - } else { - value = width; - } + value = width * ratio / 100; } else { var height = window.screen.height; - if (isIE()) { - value = height * ratio / 100; - } else { - value = height; - } + value = height * ratio / 100; } return parseInt(value); @@ -100,9 +91,7 @@ } function filterApplication() { - var selectDepartGroupId = $("#inputselect").val(); //科室分组过滤 - var tousseGroupSelect = $('#tousseGroupSelect').val(); //器械包分组过滤 - loadItem(tousseGroupSelect, selectDepartGroupId); + loadItem(); } function showMessage(message) { @@ -158,18 +147,36 @@ } function unloadStaff(name, amount, applicationId) { - $('#tousseItemTable').children().first().children().each(function (i, element) { - if ($('#tousseName' + i).val() == name && applicationId == $('#applicationId' + i).val()) { - var newLoadedAmount = parseInt($('#loadedAmount' + i).val(), 10) - parseInt(amount, 10); - $('#loadedAmount' + i).val(newLoadedAmount); - if (newLoadedAmount > 0) { - document.getElementById('showTousseName' + i).className = 'input-a-yellow3'; - } else { - document.getElementById('showTousseName' + i).className = 'input-a'; + if (sstsConfig.enableAddQuickTecoveryOptionForDepartments && departExpressRecycling == 'departExpressRecycling') { + $('#tousseItemTable').children().first().children().each(function (row, element) { + var childCount = $('#childCount' + row).val(); + for (var i = 0; i < childCount; i++) { + if ($('#tousseName' + row + '_' + i).val() == name && applicationId == $('#applicationId' + row + '_' + i).val()) { + var newLoadedAmount = parseInt($('#loadedAmount' + row + '_' + i).val(), 10) - parseInt(amount, 10); + $('#loadedAmount' + row + '_' + i).val(newLoadedAmount); + if (newLoadedAmount > 0) { + document.getElementById('showTousseName' + row + '_' + i).className = 'input-a-yellow3'; + } else { + document.getElementById('showTousseName' + row + '_' + i).className = 'input-a'; + } + return false; + } } - return false; - } - }); + }); + } else { + $('#tousseItemTable').children().first().children().each(function (i, element) { + if ($('#tousseName' + i).val() == name && applicationId == $('#applicationId' + i).val()) { + var newLoadedAmount = parseInt($('#loadedAmount' + i).val(), 10) - parseInt(amount, 10); + $('#loadedAmount' + i).val(newLoadedAmount); + if (newLoadedAmount > 0) { + document.getElementById('showTousseName' + i).className = 'input-a-yellow3'; + } else { + document.getElementById('showTousseName' + i).className = 'input-a'; + } + return false; + } + }); + } } function delBasketItem(liElement) { @@ -281,8 +288,6 @@ 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(); @@ -292,7 +297,7 @@ if (obj.type == '材料' && obj.tousseName == item.tousseName && obj.basketGroupBarcodes == basketGroupBarcodes && obj.app_id == item.app_id) { var delButton = $(this).next().next().next().find('a'); - deleteMaterialItem(delButton, basketJSON.barcode, basketJSON.classifyBasketId); + deleteMaterialItem(delButton, basket.barcode, basket.classifyBasketId); } } } @@ -444,8 +449,12 @@ basketElement += ''; var obj = $(basketElement); $("#basketsUl").prepend(obj); - var json = getBasketJSON(basketItem.id, basketItem.containerBarcode, basketItem.washClassifyType); - $("#basketsUl li:first").find('input').val(json); + var json = { + classifyBasketId: basketItem.id, + barcode: basketItem.containerBarcode, + washClassifyType: basketItem.washClassifyType + }; + $("#basketsUl li:first").find('input').val(JSON.stringify(json)); toggleItems(obj.find('span')[0]); } } @@ -501,34 +510,14 @@ } } -function getBasketJSON(itemId, barcode, washClassifyType) { - var json = {}; - json.classifyBasketId = itemId; - json.barcode = barcode; - json.washClassifyType = washClassifyType; - return JSON.stringify(json); -} - -function getBasketItemJSON(ci_id, type, orgUnitName, tousseName, materialName, amount, tousseAmount, app_id, tousseDefinitionID, basketGroupBarcodes, putBasketMaxAmount, invoicePlanVersion) { - 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.app_id = app_id; - json.tousseDefinitionID = tousseDefinitionID; - json.basketGroupBarcodes = basketGroupBarcodes; - json.putBasketMaxAmount = putBasketMaxAmount; - json.invoicePlanVersion = invoicePlanVersion; - return JSON.stringify(json); -} - //创建物品入筐 -function addBasketItemElement(ci_id, type, orgUnitName, tousseName, materialName, showName, amount, tousseAmount, basketBarcode, app_id, tousseDefinitionID, basketGroupBarcodes, putBasketMaxAmount, invoicePlanVersion) { +function addBasketItemElement(paramsItem) { var basketElement = $('dl[class="sed clearfix"]:eq(0)'); + var ci_id = paramsItem.ci_id || ''; + var type = paramsItem.type || ''; + var showName = paramsItem.showName || ''; + var amount = paramsItem.amount || ''; + var basketBarcode = paramsItem.basketBarcode || ''; if (type == '材料') { $("#basketsUl li").each(function () { @@ -581,10 +570,10 @@ element += '
    ' + str + '
    '; element += '
    ' + amount + '
    '; element += '
    删除
    '; - - var json = getBasketItemJSON(ci_id, type, orgUnitName, tousseName, materialName, amount, tousseAmount, app_id, tousseDefinitionID, basketGroupBarcodes, putBasketMaxAmount, invoicePlanVersion); + var json = paramsItem; + json.classifiedItemId = ci_id; basketElement.prepend($(element)); - basketElement.find("input:first").val(json); + basketElement.find("input:first").val(JSON.stringify(json)); } //一键入筐 function allInputBasket() { @@ -603,46 +592,54 @@ }); setTimeout(function () { - var length = $('#tousseItemTable').find('tbody tr').length; var amountArray = []; - - for (var i = 0, k = 0; i < length; i++) { - var that = $('#tousseItemsTr' + i).find('td').find('a'); - var amount = parseInt($('#recycleAmount' + i).val(), 10) - parseInt($('#loadedAmount' + i).val(), 10); - var tousseName = $('#tousseName' + i).val(); - var showTousseName = $('#showTousseName' + i).val(); - var isCleanedEntirely = $('#isCleanedEntirely' + i).val(); - var tousseDefinitionID = $('#tousseDefinitionID' + i).val(); - var app_id = $('#applicationId' + i).val(); - var invoicePlanVersion = $('#invoicePlanVersion' + i).val(); - var orgUnitName = $('#depart').val(); - - if (amount > 0 && that.is(":visible")) { - if (amount <= 9999) { - amountArray[k] = { - amount: amount, - tousseName: tousseName, - showTousseName: showTousseName, - isCleanedEntirely: isCleanedEntirely, - tousseDefinitionID: tousseDefinitionID, - app_id: app_id, - invoicePlanVersion: invoicePlanVersion, - orgUnitName: orgUnitName || '', - index: i - }; - k++ + var length = $('#tousseItemTable').find('tbody tr').length; + if ($('#basketsUl').children().length == 0) { + alertDiv('请先扫描篮筐条码。'); + layer.close(index); + return + } + if (sstsConfig.enableAddQuickTecoveryOptionForDepartments && departExpressRecycling == 'departExpressRecycling') { + for (var row = 0; row < length; row++) { + var childCount = $('#childCount' + row).val(); + if (childCount && childCount > 0) { + putTousseInTheBasketForChild(row); } } - } + } else { + for (var i = 0, k = 0; i < length; i++) { + var that = $('#tousseItemsTr' + i).find('td').find('a'); + var amount = parseInt($('#recycleAmount' + i).val(), 10) - parseInt($('#loadedAmount' + i).val(), 10); + var tousseName = $('#tousseName' + i).val(); + var showTousseName = $('#showTousseName' + i).val(); + var isCleanedEntirely = $('#isCleanedEntirely' + i).val(); + var tousseDefinitionID = $('#tousseDefinitionID' + i).val(); + var app_id = $('#applicationId' + i).val(); + var invoicePlanVersion = $('#invoicePlanVersion' + i).val(); + var orgUnitName = $('#depart').val(); - if ($('#basketsUl').children().length > 0) { + if (amount > 0 && that.is(":visible")) { + if (amount <= 9999) { + amountArray[k] = { + amount: amount, + tousseName: tousseName, + showTousseName: showTousseName, + isCleanedEntirely: isCleanedEntirely, + tousseDefinitionID: tousseDefinitionID, + app_id: app_id, + invoicePlanVersion: invoicePlanVersion, + orgUnitName: orgUnitName || '', + index: i + }; + k++ + } + } + } if (amountArray.length == 0) { alertDiv('没有可以放入篮筐的器械包。'); } else { putTousseInTheBasketAll(amountArray); } - } else { - alertDiv('请先扫描篮筐条码。'); } layer.close(index); @@ -658,6 +655,19 @@ } } +//GDSFYBJY-29:点击父级入筐所有物品 +function putTousseInTheBasketForChild(row) { + var childCount = $('#childCount' + row).val(); + for (var i = 0; i < childCount; i++) { + var loadedAmount = $('#loadedAmount' + row + '_' + i).val(); + var recycleAmount = $('#recycleAmount' + row + '_' + i).val(); + if (loadedAmount !== recycleAmount) { + putTousseInTheBasket(row + '_' + i); + } + } + refreshAllBasketTotalNum(); +} + //将器械包放入篮筐中 function putTousseInTheBasket(row) { if ($('#basketsUl').children().length > 0) { @@ -697,7 +707,16 @@ if (amount == 0) { alertDiv('没有可以放入篮筐的器械包。'); } else { - var loadedAmount = tousseIntoBasketFunction(tousseDefinitionID, tousseName, amount, isCleanedEntirely, orgUnitName, app_id, invoicePlanVersion); + var itemJson = { + tousseDefinitionID: tousseDefinitionID, + tousseName: tousseName, + amount: amount, + isCleanedEntirely: isCleanedEntirely, + orgUnitName: orgUnitName, + app_id: app_id, + invoicePlanVersion: invoicePlanVersion + } + var loadedAmount = tousseIntoBasketFunction(itemJson); if (loadedAmount > 0) { $('#loadedAmount' + row).val(parseInt(loadedAmount, 10) + parseInt($('#loadedAmount' + row).val(), 10)); if (parseInt($('#loadedAmount' + row).val(), 10) == parseInt($('#recycleAmount' + row).val(), 10)) { @@ -742,8 +761,36 @@ } -function addToussItem(row, tousseItemId, tousseName, applicationAmount, recycleAmount, loadedAmount, isApplyEntireTousse, isCleanedEntirely, - tousseType, isThereIdentificationCard, depart, applicationId, tousseDefinitionID, departGroupId, tousseGroupId, invoicePlanVersion) { +//GDSFYBJY-29:展开 +function expandAllTousse(thiz, row) { + if ($(thiz).text() == '展开') { + $('.tousseItemsTr' + row).show(); + $(thiz).text('收回'); + } else { + $('.tousseItemsTr' + row).hide(); + $(thiz).text('展开'); + } +} + +function addToussItem(paramsItem) { + var row = paramsItem.row; + var tousseItemId = paramsItem.tousseItemId || ''; + var tousseName = paramsItem.tousseName || ''; + var applicationAmount = paramsItem.applicationAmount || ''; + var recycleAmount = paramsItem.recycleAmount || ''; + var loadedAmount = paramsItem.loadedAmount || ''; + var isApplyEntireTousse = paramsItem.isApplyEntireTousse || ''; + var isCleanedEntirely = paramsItem.isCleanedEntirely || ''; + var tousseType = paramsItem.tousseType || ''; + var isThereIdentificationCard = paramsItem.isThereIdentificationCard || ''; + var depart = paramsItem.depart || ''; + var applicationId = paramsItem.applicationId || ''; + var tousseDefinitionID = paramsItem.tousseDefinitionID || ''; + var invoicePlanVersion = paramsItem.invoicePlanVersion || ''; + var itemLevel = paramsItem.itemLevel; + var childRow = paramsItem.childRow || 0; + var childCount = paramsItem.childCount || 0; + var showTousseName = tousseName; var _index = tousseName.indexOf('_'); if (_index >= 0) { @@ -754,9 +801,9 @@ var reduceButton = ""; var onclickFun = ""; if (tousseType != '消毒物品' || (tousseType == '消毒物品' && '是' == isApplyEntireTousse)) { - addButton = '+'; - reduceButton = '-'; - onclickFun = 'onclick="openUpdateAmount(this,' + row + ');"'; + addButton = '+'; + reduceButton = '-'; + onclickFun = 'onclick="openUpdateAmount(this,\'' + row + '\');"'; } else { addButton = '+'; reduceButton = '-'; @@ -840,28 +887,56 @@ td6 = '110px'; } - var trElement = $('' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - depart + '' + - '' + - '' + - '' + addButton + '' + - '' + - '' + - '' + reduceButton + '' + - '入筐' + - ''); + var html = ''; + if (itemLevel == 1) { + html += ''; + } else if (itemLevel == 3) { + html += ''; + } else { + html += ''; + } + html += ''; + if (itemLevel == 1) { + html += '
    ' + depart + '
    '; + } else if (itemLevel == 2) { + html += ''; + html += '
    ' + depart + '
    '; + } else { + html += '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + ''; + if (itemLevel == 3) { + html += '
    ' + depart + '
    '; + } else { + html += depart; + } + } + html += ''; + if (itemLevel !== 1) { + html += '' + + '' + + '' + addButton + '' + + '' + + '' + + '' + reduceButton + ''; + if (itemLevel == 2) { + html += '入筐'; + } else { + html += '入筐'; + } + } + html += ''; + var trElement = $(html); $("#tousseItemTable").append(trElement); return true; @@ -900,22 +975,59 @@ function submitCheck() { var isThereTousseItems = false; var isThereRecycleAmountEmpty = false; + var submitCheckFaildMsg = ""; if (!isSecondSupplyRoom && $('#recyclingApplicationId').val() == "") { alertDiv('该科室没有申请回收。'); return false; } - $('#tousseItemTable').children().first().children().each(function (index, element) { - if ($('#deleted' + index).val() == '0') { - if ($('#loadedAmount' + index).val() != 0) { - isThereTousseItems = true; - if ($('#recycleAmount' + index).val() == '' || parseInt($('#recycleAmount' + index).val(), 10) == 0) { - isThereRecycleAmountEmpty = true; + if (sstsConfig.enableAddQuickTecoveryOptionForDepartments && departExpressRecycling == 'departExpressRecycling') { + $('#tousseItemTable').children().first().children().each(function (row, element) { + var childCount = $('#childCount' + row).val(); + for (var i = 0; i < childCount; i++) { + var deleted = $('#deleted' + row + '_' + i).val(); + var recycleAmount = parseInt($('#recycleAmount' + row + '_' + i).val(), 10); + var loadedAmount = parseInt($('#loadedAmount' + row + '_' + i).val(), 10); + var depart = $('#depart' + row + '_' + i).val(); + var showTousseName = $('#showTousseName' + row + '_' + i).val(); + if (deleted == '0') { + if (loadedAmount != 0) { + isThereTousseItems = true; + if (recycleAmount == '' || recycleAmount == 0) { + isThereRecycleAmountEmpty = true; + return false; + } + } + if (loadedAmount > 0 && recycleAmount > loadedAmount) { + submitCheckFaildMsg = (depart + " 的 " + showTousseName + " 还有 " + (recycleAmount - loadedAmount) + " 个未放入篮筐。"); + return false; + } + } + + } + }); + } else { + $('#tousseItemTable').children().first().children().each(function (index, element) { + var deleted = $('#deleted' + index).val() + var recycleAmount = parseInt($('#recycleAmount' + index).val(), 10); + var loadedAmount = parseInt($('#loadedAmount' + index).val(), 10); + var depart = $('#depart' + index).val(); + var showTousseName = $('#showTousseName' + index).val(); + if (deleted == '0') { + if (loadedAmount != 0) { + isThereTousseItems = true; + if (recycleAmount == '' || recycleAmount == 0) { + isThereRecycleAmountEmpty = true; + return false; + } + } + if (loadedAmount > 0 && recycleAmount > loadedAmount) { + submitCheckFaildMsg = (depart + " 的 " + showTousseName + " 还有 " + (recycleAmount - loadedAmount) + " 个未放入篮筐。"); return false; } } - } - }); + }); + } if (!isThereTousseItems) { alertDiv('回收记录中至少要有一条所回收器械包信息。'); return false; @@ -926,18 +1038,6 @@ return false; } - var submitCheckFaildMsg = ""; - $('#tousseItemTable').children().first().children().each(function (i, element) { - var recycleAmount = parseInt($('#recycleAmount' + i).val(), 10); - var loadAmount = parseInt($('#loadedAmount' + i).val(), 10); - if (loadAmount > 0 && recycleAmount > loadAmount) { - var depart = $('#depart' + i).val(); - var showTousseName = $('#showTousseName' + i).val(); - submitCheckFaildMsg = (depart + " 的 " + showTousseName + " 还有 " + (recycleAmount - loadAmount) + " 个未放入篮筐。"); - return false; - } - }); - if (submitCheckFaildMsg != "") { alertDiv(submitCheckFaildMsg); return false; @@ -1056,19 +1156,34 @@ var materials = data.materials; for (var i = 0; i < materials.length; i++) { var item = materials[i]; - var invoicePlanVersion = amountArray[i].invoicePlanVersion; - addBasketItemElement("", '材料', orgUnitName, data.tousseName, item.materialName, item.materialName, item.materialAmount, data.amount, item.basketBarcode, amountArray[0].app_id, data.tousseDefinitionID, item.basketGroupBarcodes, item.putBasketMaxAmount, invoicePlanVersion); + var paramsItem = item; + paramsItem.type = '材料'; + paramsItem.tousseName = data.tousseName; + paramsItem.tousseAmount = data.amount; + paramsItem.showName = item.materialName; + paramsItem.amount = item.materialAmount; + paramsItem.app_id = amountArray[0].app_id; + paramsItem.invoicePlanVersion = amountArray[i].invoicePlanVersion; + + addBasketItemElement(paramsItem); } } else { - addBasketItemElement("", '器械包', '', data.tousseName, "", data.tousseName, data.amount, data.amount, "", amountArray[i].app_id, data.tousseDefinitionID, "", data.putBasketMaxAmount, amountArray[i].invoicePlanVersion); + var paramsItem = data; + paramsItem.type = '器械包'; + paramsItem.tousseAmount = data.amount; + paramsItem.showName = data.tousseName; + paramsItem.app_id = amountArray[i].app_id; + paramsItem.invoicePlanVersion = amountArray[i].invoicePlanVersio; + + addBasketItemElement(paramsItem); } if (data.amount > 0) { $('#loadedAmount' + amountArray[i].index).val(parseInt(data.amount, 10) + parseInt($('#loadedAmount' + amountArray[i].index).val(), 10)); if (parseInt($('#loadedAmount' + amountArray[i].index).val(), 10) == parseInt($('#recycleAmount' + amountArray[i].index).val(), 10)) { document.getElementById('showTousseName' + amountArray[i].index).className = 'input-a-yellow'; } else { - document.getElementById('showTousseName' + amountArray[i].indexi).className = 'input-a-yellow3'; + document.getElementById('showTousseName' + amountArray[i].index).className = 'input-a-yellow3'; } total += parseInt(data.amount); @@ -1084,7 +1199,15 @@ DWREngine.setAsync(true); } -function tousseIntoBasketFunction(tousseDefinitionID, tousseName, recycleAmount, isCleanedEntirely, orgUnitName, app_id, invoicePlanVersion) { +function tousseIntoBasketFunction(itemJson) { + var tousseDefinitionID = itemJson.tousseDefinitionID || ''; + var tousseName = itemJson.tousseName || ''; + var recycleAmount = itemJson.amount || ''; + var isCleanedEntirely = itemJson.isCleanedEntirely || ''; + var orgUnitName = itemJson.orgUnitName || ''; + var app_id = itemJson.app_id || ''; + var invoicePlanVersion = itemJson.invoicePlanVersion || ''; + var params = getScanedGoods(isCleanedEntirely); var loadedAmount = 0; DWREngine.setAsync(false); @@ -1101,19 +1224,211 @@ var materials = data.materials; for (var i = 0; i < materials.length; i++) { var item = materials[i]; - addBasketItemElement("", '材料', orgUnitName, tousseName, item.materialName, item.materialName, item.materialAmount, loadedAmount, item.basketBarcode, app_id, tousseDefinitionID, item.basketGroupBarcodes, item.putBasketMaxAmount, invoicePlanVersion); + var paramsItem = item; + paramsItem.type = '材料'; + paramsItem.orgUnitName = orgUnitName; + paramsItem.tousseName = tousseName; + paramsItem.tousseAmount = loadedAmount; + paramsItem.showName = item.materialName; + paramsItem.amount = item.materialAmount; + paramsItem.app_id = app_id; + paramsItem.tousseDefinitionID = tousseDefinitionID; + paramsItem.invoicePlanVersion = invoicePlanVersion; + + addBasketItemElement(paramsItem); } } else { - addBasketItemElement("", '器械包', orgUnitName, tousseName, "", tousseName, loadedAmount, loadedAmount, "", app_id, tousseDefinitionID, "", data.putBasketMaxAmount, invoicePlanVersion); + var paramsItem = { + type: '器械包', + orgUnitName: orgUnitName, + tousseName: tousseName, + showName: tousseName, + amount: loadedAmount, + tousseAmount: loadedAmount, + app_id: app_id, + tousseDefinitionID: tousseDefinitionID, + putBasketMaxAmount: data.putBasketMaxAmount, + invoicePlanVersion: invoicePlanVersion + } + + addBasketItemElement(paramsItem); } } }); DWREngine.setAsync(true); return loadedAmount; } -function submintApplication(i) { +function getSplitTousseArray(splitTousseArray) { + var newTousseArray = []; + var length = splitTousseArray.length; + if (length > 0) { + var k = 0; + for (var j = 0; j < length; j++) { + var tousseName = splitTousseArray[j].tousseName; + var amount = splitTousseArray[j].amount; + var depart = splitTousseArray[j].depart; + var idCardInstanceBarcode = splitTousseArray[j].splitTousseBarcodes[0].idCardInstanceBarcode || ''; + for (var i = 0; i < tousseArray.length; i++) { + if (tousseArray[i].tousseName == tousseName) { + if (idCardInstanceBarcode !== '') { + if (idCardInstanceBarcode == tousseArray[i].idCardBarcode) { + newTousseArray[k] = { + tousseName: tousseName, + amount: amount, + depart: depart + } + k++ + } + } else { + newTousseArray[k] = { + tousseName: tousseName, + amount: amount, + depart: depart + } + k++ + } + } + } + } + } + return newTousseArray; +} + +// 弹出不同申请科室或者不同资产归属的器械包 +function loadApplicationTousseSplitByOrgUnit(index) { + var appId = array[index].app_id; + var tousseJson = array[index].tousseJson; $.ajax({ + type: "post", + url: WWWROOT + '/disinfectSystem/recyclingRecordAction!loadApplicationTousseSplitByOrgUnit.do', + data: { + recyclingRecordId: appId + }, + dataType: 'json', + success: function (result) { + if (result.success) { + if (result.data.length > 0) { + closeDiv(); + var data = result.data; + var depart = $('#currentDepartLabel').text(); + var table = '
    该申请单中以下物品不属于当前回收科室"' + depart + '",请确认需要拆单回收的物品以及所属科室:
    '; + var name = (sstsConfig.methodOfSplitRecyclingApplication == 2) ? '资产归属' : '所属科室'; + table += ''; + table += ''; + table += ''; + table += ''; + table += ''; + for (var i = 0; i < data.length; i++) { + table += ''; + table += ''; + table += ''; + } + table += ''; + table += '
    物品名称数量' + name + '是否拆单
    ' + data[i].tousseName + '' + data[i].amount + '' + data[i].depart + '
    '; + table += '
    '; + layer.open({ + type: 1, + skin: 'layui-layer-rim', //加上边框 + area: ['500px', '400px'], //宽高 + title: '拆单回收', + content: table, + success: function () { + //保存不同申请科室或者不同资产归属的器械包 + document.getElementById('saveApplicationTousseSplitByOrgUnit').addEventListener('click', function () { + var k = 0; + var splitTousseArray = []; + var newSplitTousseArray = []; + var sumAmountMap = {}; + var tousseArrayMap = {}; + var newTousseJson = tousseJson; + $('.saveTousseTable').find('.isSplit').each(function (item) { + var isSplit = $(this).find('input:checked').val(); + var tousseName = $(this).parent().find('td').eq(0).text(); + var amount = parseInt($(this).parent().find('td').eq(1).text()); + if (isSplit == 'true') { + if (sumAmountMap[tousseName]) { + sumAmountMap[tousseName] += amount; + } else { + sumAmountMap[tousseName] = amount; + } + } + }) + for (var j = 0; j < tousseJson.length; j++) { + var tousseName = tousseJson[j].tousseName; + var amount = tousseJson[j].amount; + if (tousseArrayMap[tousseName]) { + tousseArrayMap[tousseName] += amount; + } else { + tousseArrayMap[tousseName] = amount; + } + } + var isAlert = false; + var showTousseName = ''; + for (var item in sumAmountMap) { + var amount = sumAmountMap[item]; + if (tousseArrayMap[item] && tousseArrayMap[item] < amount) { + showTousseName = item; + isAlert = true; + continue + } + } + if (isAlert) { + layer.closeAll(); + alertDiv(showTousseName + '拆分数量不能大于回收数量'); + return + } + $('.saveTousseTable').find('.isSplit').each(function (item) { + var isSplit = $(this).find('input:checked').val(); + var tousseName = $(this).parent().find('td').eq(0).text(); + var amount = parseInt($(this).parent().find('td').eq(1).text()); + var depart = $(this).parent().find('td').eq(2).text(); + if (isSplit == 'true') { + splitTousseArray[k] = { + isSplit: isSplit, + tousseName: tousseName, + amount: amount, + depart: depart + } + for (var j = 0; j < newTousseJson.length; j++) { + if (newTousseJson[j].tousseName == tousseName) { + if (newTousseJson[j].amount - amount <= 0) { + newSplitTousseArray[k] = $.extend({}, newTousseJson[j], splitTousseArray[k]); + newTousseJson.splice(j, 1); + } else { + newTousseJson[j].amount = newTousseJson[j].amount - amount; + newSplitTousseArray[k] = $.extend({}, newTousseJson[j], splitTousseArray[k]); + } + } + } + k++; + } + }) + array[index].splitTousseJson = newSplitTousseArray; + //array[index].tousseJson = newTousseJson; + alertDiv("保存中,请稍候......", true); + submintApplication(index, true); + layer.closeAll(); + }) + } + }); + } else { + submintApplication(index, true); + } + } else { + $('#saveBtnTd').find('input').removeAttr('disabled'); + showResult(result.message) + } + } + }) +} + +function submintApplication(i, isConfirm) { + if (sstsConfig.methodOfSplitRecyclingApplication && !isConfirm) { + loadApplicationTousseSplitByOrgUnit(i) + return; + } + $.ajax({ url: WWWROOT + "/disinfectSystem/recyclingRecordAction!saveExpressRecycling.do", type: "POST", timeout: 300000, @@ -1160,9 +1475,7 @@ if (parseInt(val) < maxLen) { setTimeout("submintApplication(" + parseInt(val) + ")", 50); } else { - var selectDepartGroupId = $("#inputselect").val(); //科室分组过滤 - var tousseGroupSelect = $('#tousseGroupSelect').val(); //器械包分组过滤 - loadItem(tousseGroupSelect, selectDepartGroupId); + loadItem(); array = new Array(); } } @@ -1176,7 +1489,6 @@ } else { $('#saveBtnTd').find('input').attr('disabled', 'disabled'); alertDiv("保存中,请稍候......", true); - maxLen = array.length; submintApplication(0); } @@ -1185,12 +1497,52 @@ function cancel() { if (confirm("确认取消吗?")) { - location.href = 'awaitForRecycleList.jsp?resolution=${param.resolution}&source=${param.source}'; + location.href = 'awaitForRecycleList.jsp?resolution=' + resolution + '&source=' + source; } } -function loadItem(tousseGroupSelect, selectDepartGroupId) { +function selectDepart(departName, departCode) { + departCoding = departCode; + $('#currentDepartLabel').text(departName); + loadItem(); +} +function openSelectDepart(departType) { + 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 offsetLeft = ''; + var heightExtra = 10; + if (resolution == '1980') { + width = 1100; + height = 860; + } + var zoomRatio = calculateZoomRatio(designedWidth, designedHeight, actualWidth, actualHeight); + var actualWidth = window.screen.availWidth; + var actualHeight = window.screen.availHeight; + var size = calculateSizeAfterZoom(designedTousseWidth, designedTousseHeight, zoomRatio); + + width = size.width; + height = size.height; + offsetTop = offsetTop * zoomRatio + 'px'; + layerIndex = layer.open({ + type: 2, + title: ['选择科室', true], + content: 'addDepart.jsp?resolution=' + resolution + '&width=' + width + '&height=' + height + "&showDisableOrgUnit=false&departType=" + departType, + area: [width + 'px', height + heightExtra + 'px'], + border: [5, 0.3, '#fff', true], + closeBtn: [2, true], + offset: [offsetTop, offsetLeft] + }); +} + +function loadItem() { $("#tousseItemTable").empty(); $("#basketsUl").empty(); $("#loadingPutBasket").empty(); @@ -1208,23 +1560,85 @@ }); } }); + + var params = {} + + //GDSFYBJY-29:科室快速回收 + if (sstsConfig.enableAddQuickTecoveryOptionForDepartments) { + params.type = departExpressRecycling; + params.departCoding = departCoding; + } else { + var selectDepartGroupId = $("#inputselect").val(); //科室分组过滤 + var tousseGroupSelect = $('#tousseGroupSelect').val(); //器械包分组过滤 + params.tousseGroupId = tousseGroupSelect; + params.departmentGroupId = selectDepartGroupId; + } + $.ajax({ type: 'post', - url: WWWROOT - + '/disinfectSystem/recyclingRecordAction!getAwaitForQuickRecyclingTousse.do', + url: WWWROOT + '/disinfectSystem/recyclingRecordAction!getAwaitForQuickRecyclingTousse.do', dataType: 'json', - data: { 'tousseGroupId': tousseGroupSelect, 'departmentGroupId': selectDepartGroupId }, + data: params, success: function (msg) { - for (var i = 0; i < msg.length; i++) { - var recycleAmount = msg[i].prepareRecycleAmount; - if (recycleAmount == null || recycleAmount == 0) { - recycleAmount = msg[i].amount; + if (sstsConfig.enableAddQuickTecoveryOptionForDepartments && departExpressRecycling == 'departExpressRecycling') { + for (var i = 0; i < msg.length; i++) { + var item = msg[i]; + var m = 0; + for (var itemDate in item) { + var date = itemDate; + var paramsItem = { + isThereIdentificationCard: '否', + depart: date, + itemLevel: 1 + }; + addToussItem(paramsItem); + for (var tousse in item[date]) { + var tousseName = tousse; + var paramsItem = { + row: m, + depart: '展开', + tousseName: tousseName, + applicationAmount: 1, + isThereIdentificationCard: '否', + recycleAmount: 1, + itemLevel: 2, + childCount: item[date][tousseName].length + }; + addToussItem(paramsItem); + for (var k = 0; k < item[date][tousseName].length; k++) { + var lastTousseItem = item[date][tousseName][k]; + var paramsItem = lastTousseItem; + var recycleAmount = lastTousseItem.prepareRecycleAmount; + if (recycleAmount == null || recycleAmount == 0) { + recycleAmount = lastTousseItem.amount; + } + paramsItem.row = m + '_' + k; + paramsItem.isThereIdentificationCard = '否'; + paramsItem.applicationAmount = lastTousseItem.amount; + paramsItem.recycleAmount = recycleAmount; + paramsItem.itemLevel = 3; + paramsItem.childRow = m; + paramsItem.depart = paramsItem.serialNumber; + addToussItem(paramsItem); + } + m++; + } + } } + } else { + for (var i = 0; i < msg.length; i++) { + var recycleAmount = msg[i].prepareRecycleAmount; + if (recycleAmount == null || recycleAmount == 0) { + recycleAmount = msg[i].amount; + } + var paramsItem = msg[i]; + paramsItem.row = i; + paramsItem.isThereIdentificationCard = '否'; + paramsItem.applicationAmount = msg[i].amount; + paramsItem.recycleAmount = recycleAmount; - addToussItem(i, '', msg[i].tousseName, - msg[i].amount, recycleAmount, '', msg[i].isApplyEntireTousse, msg[i].isCleanedEntirely, - msg[i].tousseType, '否', msg[i].depart, - msg[i].applicationId, msg[i].tousseDefinitionID, '', '', msg[i].invoicePlanVersion); + addToussItem(paramsItem); + } } layer.close(index); }, @@ -1398,8 +1812,9 @@ var screenWidth = changeRatio('width'); var screenHeight = changeRatio('height'); $('.mbody').css('width', '100%'); + var width = 2600; if (screenWidth < 1030) { - $('.mbody').css({ 'width': '2600px', 'height': '1717px' }); + $('.mbody').css({ 'width': width + 'px', 'height': '1717px' }); $('.data-table').css({ 'width': '1450px', 'height': '1110px', 'bottom': '100px', 'left': '160px' }); $('.data-table .box').css({ 'height': '1030px' }); $('#tousseItemTable').css({ 'width': '1520px' }); @@ -1411,7 +1826,8 @@ $('#divselect').css({ 'left': '1060px' }); } else if (screenWidth > 1270 && screenWidth < 1300) { if (screenHeight < 730) { - $('.mbody').css({ 'width': '2750px', 'height': '1350px' }); + width = 2750; + $('.mbody').css({ 'width': width + 'px', 'height': '1350px' }); $('.data-table').css({ 'width': '1630px', 'height': '860px', 'bottom': '80px', 'left': '56px' }); $('.data-table .box').css({ 'height': '780px' }); $('#tousseItemTable').css({ 'width': '1350px' }); @@ -1421,7 +1837,7 @@ $('#divTousseGroup').css({ 'left': '50px' }); $('#divselect').css({ 'left': '1060px' }); } else if (screenHeight > 730 && screenHeight < 780) { - $('.mbody').css({ 'width': '2600px', 'height': '1420px' }); + $('.mbody').css({ 'width': width + 'px', 'height': '1420px' }); $('.data-table').css({ 'width': '1540px', 'height': '920px', 'bottom': '80px', 'left': '56px' }); $('.data-table .box').css({ 'height': '840px' }); $('#tousseItemTable').css({ 'width': '1350px' }); @@ -1431,7 +1847,7 @@ $('#divTousseGroup').css({ 'left': '50px' }); $('#divselect').css({ 'left': '1060px' }); } else if (screenHeight > 790 && screenHeight < 810) { - $('.mbody').css({ 'width': '2600px', 'height': '1450px' }); + $('.mbody').css({ 'width': width + 'px', 'height': '1450px' }); $('.data-table').css({ 'width': '1540px', 'height': '920px', 'bottom': '80px', 'left': '56px' }); $('.data-table .box').css({ 'height': '840px' }); $('#tousseItemTable').css({ 'width': '1350px' }); @@ -1441,7 +1857,7 @@ $('#divTousseGroup').css({ 'left': '50px' }); $('#divselect').css({ 'left': '1060px' }); } else { - $('.mbody').css({ 'width': '2600px', 'height': '1900px' }); + $('.mbody').css({ 'width': width + 'px', 'height': '1900px' }); $('.data-table').css({ 'width': '1550px', 'height': '1240px', 'bottom': '120px', 'left': '56px' }); $('.data-table .box').css({ 'height': '1160px' }); $('#tousseItemTable').css({ 'width': '1350px' }); @@ -1453,7 +1869,8 @@ $('#divselect').css({ 'left': '1060px' }); } } else if (screenWidth > 1350 && screenWidth < 1370) { - $('.mbody').css({ 'width': '2745px', 'height': '1360px' }); + width = 2745; + $('.mbody').css({ 'width': width + 'px', 'height': '1360px' }); $('.data-table').css({ 'width': '1660px', 'height': '860px', 'bottom': '90px', 'left': '56px' }); $('.data-table .box').css({ 'height': '780px' }); $('#tousseItemTable').css({ 'width': '1350px' }); @@ -1463,7 +1880,7 @@ $('#divTousseGroup').css({ 'left': '50px' }); $('#divselect').css({ 'left': '1060px' }); } else if (screenWidth > 1390 && screenWidth < 1450) { - $('.mbody').css({ 'width': '2600px', 'height': '1460px' }); + $('.mbody').css({ 'width': width + 'px', 'height': '1460px' }); $('.data-table').css({ 'width': '1560px', 'height': '930px', 'bottom': '90px', 'left': '56px' }); $('.data-table .box').css({ 'height': '850px' }); $('#tousseItemTable').css({ 'width': '1350px' }); @@ -1472,8 +1889,9 @@ $('#allIntoBasket').css({ 'top': '160px', 'left': '1234px' }); $('#divTousseGroup').css({ 'left': '50px' }); $('#divselect').css({ 'left': '1060px' }); - } else if (screenWidth > 1590 && screenWidth < 1610) { - $('.mbody').css({ 'width': '2720px', 'height': '1400px' }); + } else if (screenWidth > 1590 && screenWidth < 1690) { + width = 2720; + $('.mbody').css({ 'width': width + 'px', 'height': '1400px' }); $('.data-table').css({ 'width': '1620px', 'height': '900px', 'bottom': '80px', 'left': '56px' }); $('.data-table .box').css({ 'height': '820px' }); $('#tousseItemTable').css({ 'width': '1350px' }); @@ -1483,7 +1901,8 @@ $('#divTousseGroup').css({ 'left': '50px' }); $('#divselect').css({ 'left': '1060px' }); } else if (screenWidth > 1910 && screenWidth < 1930) { - $('.mbody').css({ 'width': '2700px', 'height': '1400px' }); + width = 2700; + $('.mbody').css({ 'width': width + 'px', 'height': '1400px' }); $('.data-table').css({ 'width': '1620px', 'height': '890px', 'bottom': '80px', 'left': '56px' }); $('.data-table .box').css({ 'height': '810px' }); $('#tousseItemTable').css({ 'width': '1350px' }); @@ -1495,6 +1914,10 @@ $('#divTousseGroup').css({ 'left': '50px' }); $('#divselect').css({ 'left': '1060px' }); } + var actualWidth = window.screen.availWidth; + var actualHeight = window.screen.availHeight; + var bodyZoom = calculateZoomRatio(2600, 1462, actualWidth, actualHeight); + $('.mbody').css('zoom', bodyZoom); } $(function () { @@ -1514,6 +1937,13 @@ }); // 售后-中山大学附属第一医院ASSZDFY-48 快速回收响应慢问题,配置项为true,打开快速回收页面时显示空白页,不加载快速回收信息 if (!sstsConfig.showBlankPageWhenOpenExpressRecyclePage) { - loadItem("", ""); + loadItem(); } + + if (sstsConfig.enableAddQuickTecoveryOptionForDepartments && departExpressRecycling == 'departExpressRecycling') { + $('#divTousseGroup').hide(); + $('#currentDepart').show(); + $('#divselect').hide(); + $('#changeDepart').show(); + } }); \ No newline at end of file