Index: ssts-web/src/main/webapp/disinfectsystem/config/gdszyy/config.js =================================================================== diff -u -r30960 -r31109 --- ssts-web/src/main/webapp/disinfectsystem/config/gdszyy/config.js (.../config.js) (revision 30960) +++ ssts-web/src/main/webapp/disinfectsystem/config/gdszyy/config.js (.../config.js) (revision 31109) @@ -200,5 +200,7 @@ //外来器械包签收和录入使用记录前必须先查看装配图片 mustViewPackingPhotoBeforeForeignTousseSignAndUse:true, //核算月报中单独显示属于科研项目的一次性物品申请单发货的总金额 - showTotalMoneyOfSciProjectDisposableGoodsInvoiceInAccountingMonthlyReport:true + showTotalMoneyOfSciProjectDisposableGoodsInvoiceInAccountingMonthlyReport:true, + //启用装配外来器械包时,检查是否上传了图片 + enableCheckUploadPhotoBeforePackingForeignTousse:true } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/packing/splitForeignTousseView.js =================================================================== diff -u -r31076 -r31109 --- ssts-web/src/main/webapp/disinfectsystem/packing/splitForeignTousseView.js (.../splitForeignTousseView.js) (revision 31076) +++ ssts-web/src/main/webapp/disinfectsystem/packing/splitForeignTousseView.js (.../splitForeignTousseView.js) (revision 31109) @@ -9,7 +9,7 @@ * @param tousseDefinitionId 包定义id * @param isLook 是查看还是拍摄 true查看 false需要拍摄和上传 */ -function takeImgAndVideoSplit(imageIdsArry,videoIdsArry,isLook){ +function takeImgAndVideoSplit(imageIdsArry,videoIdsArry,isLook,tousseDefinitionId){ var imageType = '包实例装配采集图片'; if(Ext4.chromeVersion < 62){ showResult("请使用62以上版本的chrome浏览器!" , null , sstsConfig.messagePauseTimeOnPackingPage); @@ -30,13 +30,39 @@ if(videoIds == ""){ videoIds = null; } - tousseDefinitionId = ""; tousseName = ""; var urls = WWWROOT + '/disinfectsystem/test/videoAndImg.jsp?goodsName='+ tousseName +'&imageType='+imageType+'&videoType='+videoTypePacking+'&objectId='+tousseDefinitionId+'&videoIds='+videoIds+'&imageIds='+imageIds+'&isLook='+isLook; var videoImgWin = openFullSizeWindowWithName(urls,true,'图片视频拍摄'); if(videoImgWin != null ){ - videoImgWin.focus(); + videoImgWin.focus(); + var loop = setInterval(function() { + if(videoImgWin.closed) { + clearInterval(loop); + videoImgWin.focus(); + var splitedTousseStore = top.Ext4.getCmp("splitedTousseGrid").getStore(); + var item = []; + for(var i=0;i 0 || videoIdsArry.length > 0 || record.data.haveImageFileAmount){ + p.css='tousseName_background_1'; + return ''+v+''; + } + } + if(record.data.partialSplitForeignTousse){ + p.css='tousseName_background'; + return ''+v+''; + } + }else if(sstsConfig.enableCheckUploadPhotoBeforePackingForeignTousse && !sstsConfig.allowForeignToussePartSplitWhenPacking){ + if(record.data.imageIdsArry && record.data.videoIdsArry || record.data.haveImageFileAmount){ + var imageIdsArry = record.data.imageIdsArry || []; + var videoIdsArry = record.data.videoIdsArry || []; + if(imageIdsArry.length > 0 || videoIdsArry.length > 0 || record.data.haveImageFileAmount){ + p.css='tousseName_background_1'; + return ''+v+''; + } + } + }else if(!sstsConfig.enableCheckUploadPhotoBeforePackingForeignTousse && sstsConfig.allowForeignToussePartSplitWhenPacking){ + if(record.data.partialSplitForeignTousse){ + p.css='tousseName_background'; + return ''+v+''; + } }else { - p.css=''; return ''+v+''; } } @@ -1233,7 +1291,6 @@ showResult("只能选择一个包!" , null , sstsConfig.messagePauseTimeOnPackingPage); return false; } - var data = records[0].data; imageIdsArry = data.imageIdsArry; if(!imageIdsArry){ @@ -1244,8 +1301,9 @@ if(!videoIdsArry){ data.videoIdsArry = []; videoIdsArry = data.videoIdsArry; - } - takeImgAndVideoSplit(imageIdsArry,videoIdsArry,false); + } + var tousseDefinitionId = ''; + takeImgAndVideoSplit(imageIdsArry,videoIdsArry,false,tousseDefinitionId); // 弹出窗口 /* var pageUrl = WWWROOT + '/disinfectsystem/test/video_split.jsp'; @@ -1277,36 +1335,38 @@ return; } var splitedTousseStore = top.Ext4.getCmp("splitedTousseGrid").getStore(); - top.Ext4.MessageBox.progress('正在上传图片', '请稍候...'); //外来器械拆分小包名称带总拆包数量 var count = splitedTousseStore.getCount(); + var k=0; for ( var i = 0; i < count; i++) { var record = splitedTousseStore.getAt(i); - var imageIdsArry = record.data.imageIdsArry; - var videoIdsArry = record.data.videoIdsArry; - if(imageIdsArry == undefined && videoIdsArry == undefined){ - continue; - } - - if(imageIdsArry == undefined){ - imageIdsArry = ""; - }else{ - imageIdsArry = imageIdsArry.join(","); - } - - if(videoIdsArry == undefined){ - videoIdsArry = ""; - }else{ - videoIdsArry = videoIdsArry.join(","); - } - uploadTousseCameraPhoto(tousses[i].id,imageIdsArry,videoIdsArry); + if(!record.get("partialSplitForeignTousse")){ + var imageIdsArry = record.data.imageIdsArry; + var videoIdsArry = record.data.videoIdsArry; + if(imageIdsArry == undefined && videoIdsArry == undefined){ + continue; + } + if(imageIdsArry == undefined){ + imageIdsArry = ""; + }else{ + imageIdsArry = imageIdsArry.join(","); + } + + if(videoIdsArry == undefined){ + videoIdsArry = ""; + }else{ + videoIdsArry = videoIdsArry.join(","); + } + uploadTousseCameraPhoto(tousses[k].id,imageIdsArry,videoIdsArry); + k++; + } } hideMessageBox4(true); } function uploadTousseCameraPhoto(objectId,imageIds,videoIds){ - var url = WWWROOT + '/disinfectSystem/baseData/uploadImageAndVideoAction!bindingImageVideoFile.do'; + var url = WWWROOT + '/disinfectSystem/baseData/uploadImageAndVideoAction!bindingImageVideoFile.do'; $.ajax({ type: "POST", url: url, @@ -1418,6 +1478,32 @@ showResult("已拆分的器械包不能为空!" , null , sstsConfig.messagePauseTimeOnPackingPage); return false; } + + if(sstsConfig.enableCheckUploadPhotoBeforePackingForeignTousse){ + var isHasImgOrVideo = true; + var msg = ''; + for ( var i = 0; i < splitedTousseStore.getCount(); i++) { + var record = splitedTousseStore.getAt(i); + var imageIdsArry = record.get("imageIdsArry"); + var videoIdsArry = record.get("videoIdsArry"); + var tousseName = record.get("tousseName"); + if(!record.get("partialSplitForeignTousse")){ + if(typeof imageIdsArry == 'object' && typeof videoIdsArry == 'object'){ + if(imageIdsArry.length == 0 || videoIdsArry.length == 0){ + isHasImgOrVideo = false; + msg = tousseName+"还未上传照片,不能装配,请先上传照片!"; + } + }else { + isHasImgOrVideo = false; + msg = tousseName+"还未上传照片,不能装配,请先上传照片!"; + } + } + } + if(!isHasImgOrVideo){ + showResult(msg); + return + } + } operator = top.Ext4.getCmp('operator2').getValue(); operatorCode = top.Ext4.getCmp('operatorCode2').getValue(); Index: ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js =================================================================== diff -u -r31105 -r31109 --- ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 31105) +++ ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 31109) @@ -354,49 +354,6 @@ Ext4.getCmp('damageBtn').hide(); } -/** - * 拍照 - * @param tousseName 包定义名称 - * @param tousseDefinitionId 包定义id - * @param isLook 是查看还是拍摄 true查看 false需要拍摄和上传 - * @param imageType 图片类型 - * @param videoType 视频类型 - */ -function takeImgAndVideo(tousseName,tousseDefinitionId,isLook,imageType,videoType){ - if(Ext4.chromeVersion < 62){ - showResult("请使用62以上版本的chrome浏览器!" , null , sstsConfig.messagePauseTimeOnPackingPage); - return ; - } - var imageIds = null; - var videoIds = null; - - if(tousseDefinitionId == "null"){ - tousseDefinitionId = ""; - } - - var urls = WWWROOT + '/disinfectsystem/test/videoAndImg.jsp?goodsName='+ tousseName +'&imageType='+imageType+'&videoType='+videoType+'&objectId='+tousseDefinitionId+'&videoIds='+videoIds+'&imageIds='+imageIds+'&isLook='+isLook; - - /* var winW = 1020; - var winH = 600; - var tops = (window.screen.availHeight -winH)/2; - var lefts = (window.screen.availWidth -winW)/2; - if(window.screen.height == 768){ - lefts = 0; - tops = 0; - } - - var style = "resizable=yes,top="+tops+",left="+lefts+",width="+winW+",height="+winH+",status=no,menubar=no,toolbar=no,Scrollbars=no,Location=no,Direction=no,resizable=no"; - /* var videoImgWin = window.open(urls,'图片视频拍摄',style); - if(videoImgWin != null ){ - videoImgWin.focus(); - } */ - var videoImgWin = openFullSizeWindowWithName(urls,true,'图片视频拍摄'); - if(videoImgWin != null ){ - videoImgWin.focus(); - } -} - - function addTaskNode(params){ var leaf = false; if(params.taskId != ''){ @@ -413,8 +370,6 @@ return node; } - - Ext4.onReady(function() { taskGroupObj = getTaskGroupObjByName(taskGroup); packingPageAutoSetSterilizationProgramAfterSelectTousse = getBoolValueFromJs('sstsConfig.packingPageAutoSetSterilizationProgramAfterSelectTousse',true); @@ -911,16 +866,6 @@ dataIndex: 'tousseName', renderer: function(v,p,record,rowIndex, columnIndex, store,view){ p.style='word-wrap: break-word !important;'; - if(record.get('tousseType') == '外来器械包' && sstsConfig.allowForeignToussePartSplitWhenPacking){ - if(record.get('partPacking') && !record.get('isTimeout')){ - p.css = 'tousseName_background'; - } - } - if(record.get('tousseType') == '外来器械包' && sstsConfig.enableCheckUploadPhotoBeforePackingForeignTousse){ - if(record.get('packedPhotographed') && !record.get('isTimeout')){ - p.css = 'tousseName_background_1'; - } - } var tousseName = record.get('tousseName'); var showName = '' + tousseName + ''; if(record.get('taskType') == taskType_application || record.get('taskType') == taskType_returnGoods @@ -942,11 +887,38 @@ showName = '' + showName + ''; } } + var resultName = ''; if(record.get('leaf') && record.get('patient') !== '' && record.get('tousseType') == '外来器械包'){ - return showName+'-'+ record.get('patient'); + resultName = showName+'-'+ record.get('patient'); }else { - return showName + resultName = showName; } + if(record.get('tousseType') == '外来器械包'){ + if(sstsConfig.enableCheckUploadPhotoBeforePackingForeignTousse && sstsConfig.allowForeignToussePartSplitWhenPacking){ + if(record.get('packedPhotographed')){ + p.css = 'tousseName_background_1'; + return resultName; + } + if(record.get('partPacking')){ + p.css = 'tousseName_background'; + return resultName; + } + }else if(sstsConfig.enableCheckUploadPhotoBeforePackingForeignTousse && !sstsConfig.allowForeignToussePartSplitWhenPacking){ + if(record.get('packedPhotographed') && !record.get('isTimeout')){ + p.css = 'tousseName_background_1'; + return resultName; + } + }else if(!sstsConfig.enableCheckUploadPhotoBeforePackingForeignTousse && sstsConfig.allowForeignToussePartSplitWhenPacking){ + if(record.get('partPacking')){ + p.css = 'tousseName_background'; + return resultName; + } + }else { + return resultName; + } + }else { + return resultName; + } } },{ header: '数量', @@ -1296,6 +1268,7 @@ {xtype:'hidden',id:'td_id'}, {xtype:'hidden',id:'isTraceable'}, {xtype:'hidden',id:'hideTousseName'}, + {xtype:'hidden',id:'hidePackedPhotographed'}, '->', { xtype : 'button', @@ -1685,6 +1658,14 @@ id : 'idCardBarcode', name : 'idCardBarcode' },{ + xtype : 'hidden', + id : 'packedPhotographed', + name : 'packedPhotographed' + },{ + xtype : 'hidden', + id : 'hiddenMessage', + name : 'hiddenMessage' + },{ columnWidth : .5, hidden : sstsConfig.disableIdCard, xtype : 'textfield', @@ -2298,7 +2279,7 @@ var url = WWWROOT+'/disinfectsystem/touchScreen/recycle/tousseImage.jsp?resolution=1980&clientHeight='+iframeHeight+'&parentPageName=packingView&tousseDefinitionID='+tousseDefinitionID+'&materialId='+materialId+'&tousseName='+encodeURIComponent(tousseName)+'&imgName='+encodeURIComponent(imgName)+'&number='+currentPage; openFullSizeWindowWithName(url,false,imgName); } -function loadGoodsImage(tousseName,type,materialId,currentPage,vedioName,td_id){ +function loadGoodsImage(tousseName,type,materialId,currentPage,vedioName,td_id,packedPhotographed){ var url; if(type == '器械包装配教学图片'){ url = WWWROOT+'/disinfectSystem/packingAction!getImage.do?id='+td_id+'&page='+currentPage+'&imageType='+encodeURIComponent(type)+'&originalImg=true'; @@ -2311,6 +2292,7 @@ Ext4.getCmp('materialId').setValue(materialId); Ext4.getCmp('vedioName').setValue(vedioName); Ext4.getCmp('td_id').setValue(td_id); + Ext4.getCmp('hidePackedPhotographed').setValue(packedPhotographed); var panel = Ext4.getCmp('imageContentPanel'); var image = Ext4.getCmp('browseImage'); @@ -2383,8 +2365,8 @@ panel.add(newImage); } -function loadTousseInfo(tousseName,type,vedioName,td_id,isTraceable,taskId){ - loadGoodsImage(tousseName,type,'',1,vedioName,td_id); +function loadTousseInfo(tousseName,type,vedioName,td_id,isTraceable,taskId,packedPhotographed){ + loadGoodsImage(tousseName,type,'',1,vedioName,td_id,packedPhotographed); materialStore.load({params: {tousseName:tousseName,tousseDefinitionId:td_id}}); Ext4.getCmp('isTraceable').setValue(isTraceable); Ext4.getCmp('hideTousseName').setValue(tousseName); @@ -3377,6 +3359,11 @@ // 验证参数 function validateFormParamsForPack(){ + if(sstsConfig.enableCheckUploadPhotoBeforePackingForeignTousse && Ext4.getCmp('packedPhotographed').getValue() == 'false'){ + var msg = Ext4.getCmp('hiddenMessage').getValue(); + showResult(msg, null , sstsConfig.messagePauseTimeOnPackingPage); + return false; + } if(!Ext4.getCmp('operator').getValue()){ showResult("请扫描装配人条码!" , null , sstsConfig.messagePauseTimeOnPackingPage); return false; @@ -3612,10 +3599,8 @@ packingToussesArray = []; // 清除所装配的器械包数组 packedToussesArray = []; tousseesToPrint = []; + Ext4.getCmp('packedPhotographed').setValue(''); } -// if(ifCheckedPackingTasksHaveEmptyPackageType()){ -// return ; -// } // 备注不为空时只能装配一个包实例 if(!validateRemark()){ onPackingTousseBtnClickComplete(); @@ -3673,6 +3658,8 @@ } } var params = []; + var packedPhotographed = true; + var msg = ''; for(var i=0;i 0){ - isChackAll = true; - } if(cNode.get("tousseName") == pTousseName && cNode.childNodes.length == 0){ tousseName = cNode.get("tousseName"); status = cNode.get("status"); @@ -3739,6 +3723,12 @@ damages = cNode.get("damages"); errors = cNode.get("errors"); department = cNode.get("department"); + if(sstsConfig.enableCheckUploadPhotoBeforePackingForeignTousse && cNode.get("tousseType") == '外来器械包'){ + if(cNode.get("packedPhotographed") == '' || cNode.get("packedPhotographed") == false){ + msg = cNode.get("tousseName") +'还未上传照片,不能装配,请先上传照片!'; + packedPhotographed = false; + } + } if(status == '待确认'){ showResult(tousseName+",有器械丢失,请确认!" , null , sstsConfig.messagePauseTimeOnPackingPage); return; @@ -3785,6 +3775,21 @@ parentAmout += parseInt(amount); } + if(cNode.childNodes.length > 0){ + isChackAll = true; + if(sstsConfig.enableCheckUploadPhotoBeforePackingForeignTousse && cNode.data.tousseType == '外来器械包'){ + var arr = []; + for(var k=0;k 0){ + msg = arr.join(',')+'还未上传照片,不能装配,请先上传照片!'; + } + } + } }); var taskIdMap = {}; var taskIdDest = []; @@ -3811,12 +3816,19 @@ }else { lastAmount = parentAmout; } + Ext4.getCmp('packedPhotographed').setValue(packedPhotographed); + Ext4.getCmp('hiddenMessage').setValue(msg); //请求后台装配方法 var par = packingTousse(false,basketBarcode,scannedBasketBarcodes.join(";"),taskIdArray.join(";"),tousseName,tousseType,lastAmount,packageType,sterilingType,supplierName,departmentArray.join(";"),pNode.get('urgentAmount'),JSON.stringify(taskIdDest),noUserFormSterilizationInfo); if(par !== false){ params.push(par); } } + if(!packedPhotographed){ + hidePackingTousseBtnClick_mask(); + Ext4.getCmp('save_print').enable(); + return; + } isConfirmRequestPackingTousse(params,0,true); }else{ //不回收的物品 @@ -4080,7 +4092,7 @@ for(var k=0;kparseInt(packAmount))?parseInt(packAmount):parseInt(par.packAmount); + var newPackAmount = (parseInt(par.packAmount)>parseInt(packAmount))?parseInt(packAmount):parseInt(par.packAmount); processAfterPacking(par.printImmediately,result, showName, newPackAmount); //保存装配视频监控 if(sstsConfig.enableVideoMonitorModule && setVideoWhenAddPackingRecord){ @@ -4109,7 +4121,6 @@ params : {packingParams : JSON.stringify(par)}, success: function(rs1) { var result = Ext4.decode(rs1.responseText); -// if(result.success){ var taskIdToAmountMapInfo = par.taskIdToAmountMapInfo; var obj = JSON.parse(taskIdToAmountMapInfo); @@ -4169,15 +4180,7 @@ if(isTrue){ printLabelsAfterPacking(); //刷新篮筐内物品 - var basketBarcodeArr = getBasketBarcode(); - if(basketBarcodeArr.length > 0){ - Ext4.getCmp('basketTreeGrid').getStore().reload(); - for(var z=0;z 0){ + Ext4.getCmp('basketTreeGrid').getStore().reload(); + for(var z=0;z 0){ + self.returnValue = true; + }else { + self.returnValue = false; + } $("#videImgNum").html(lens); } //关闭视频 Index: ssts-web/src/main/webapp/common/common.css =================================================================== diff -u -r31076 -r31109 --- ssts-web/src/main/webapp/common/common.css (.../common.css) (revision 31076) +++ ssts-web/src/main/webapp/common/common.css (.../common.css) (revision 31109) @@ -194,4 +194,11 @@ /* BJ307YY-76:新增的颜色 */ .tousseName_background { background: #DDA0DD !important; +} +/* GDSZYY-83:新增的颜色 */ +.gridTr.x4-grid-row-selected td{ + border-color: #00FF7F !important; +} +.tousseName_background_1 { + background: #BFEFFF !important; } \ No newline at end of file Index: ssts-web/src/main/webapp/ext/fontSize12/styles/common.css =================================================================== diff -u -r30686 -r31109 --- ssts-web/src/main/webapp/ext/fontSize12/styles/common.css (.../common.css) (revision 30686) +++ ssts-web/src/main/webapp/ext/fontSize12/styles/common.css (.../common.css) (revision 31109) @@ -439,4 +439,12 @@ .x4-css-shadow,.x4-ie-shadow { z-index: 7500 !important; +} + +/* GDSZYY-83:新增的颜色 */ +.gridTr.x4-grid-row-selected td{ + border-color: #00FF7F !important; +} +.tousseName_background_1 { + background: #BFEFFF !important; } \ No newline at end of file