Index: ssts-web/src/main/webapp/dx-disinfectsystem/js/assemblyManagement/assemblyManagementSlick3.js =================================================================== diff -u --- ssts-web/src/main/webapp/dx-disinfectsystem/js/assemblyManagement/assemblyManagementSlick3.js (revision 0) +++ ssts-web/src/main/webapp/dx-disinfectsystem/js/assemblyManagement/assemblyManagementSlick3.js (revision 24935) @@ -0,0 +1,2507 @@ +//左上 +var dataViewTopTable; +var gridTopTable; +var optionsTopTable; +var assemblyTaskleftTopTable_columns = []; +var visibleColumnsTopTable; +var checkboxSelectorTopTable; +var searchBarcodeHidden; +var loadDataTop=[]; +var assemblyTaskLeftTopTableCon; +var selectedRowsTop; +var multiSelectTopData = []; +var dataviewsTop; +var childTopData; +var topTableLastestSelects = []; +var basketBarcodesAll =[]; +//左下 +var grid,dataView; +var loadData=[]; +var assemblyTaskleftFootTable_columns = []; +var checkboxSelector; +var visibleColumns; +var selectedRows; +var dataviews; +var options; +var addVal = ""; +var multiSelectFootData = []; +var selectionTopOrFoot;//判断上下表格装配 +var footTableLastestSelects = []; + +//材料清单 +var gridMaterials; +var dataViewMaterials; +var optionsMaterials; +var materials_columns = []; +var visibleColumns_Materials; +var materials_checkboxSelector; +var loadMaterials_ParData = []; +var loadMaterials_ChildData = []; + +//删除 +var footTabelids; + +//丢失器械补充 +var lose_colums = []; +var optionsLose; +var gridLose; +var dataViewLose; +var visibleColumns_Lose; +var loadLose_Data = []; +var loseOrDameage_packingTaskId; +var loseOrDameage_type; + +//打印标签部分 +var packingTasks; +var packing = false; +var packingToussesArray = []; // 装配的器械包数组,用于Selenium自动化测试 +var packedToussesArray = [];// 用于一次打印所有装配的包 +var tousseesToPrint = []; +//点击装配 +$("#packPrint").click(function(){ + packing = true; + if(packing){ + packingToussesArray = []; // 清除所装配的器械包数组 + packedToussesArray = []; + tousseesToPrint = []; + } + //检查人 + var inspector = $("#inspectorInput").val(); + // 检查人工号 + var inspectorCode = $("#inspectorCodeInputHidden").val(); + + //配包人 + var operator = $("#operator").val(); + var operatorCode = $("#operatorCodeHidden").val(); + //审核人 + var reviewer = $("#reviewer").val(); + var reviewerCode = $("#reviewerCodeHidden").val(); + //灭菌人 + var sterileUserName = $("#sterileUserName").val(); + var sterileUserCode = $("#sterileUserCodeHidden").val(); + //包装人 + var wrapper = $("#wrapper").val(); + var wrapperCode = $("#wrapperCodeHidden").val(); + + //包装类型 + var packageType = $("#packageType option:selected").val(); + //灭菌程序 + var sterilingType = $("#sterilingType option:selected").val(); + //灭菌日期 + var sterileDate = $("#determineDate").val(); + + if(sterileDate == undefined || sterileDate == ""){ + var date = new Date(); + Y = date.getFullYear(); + M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1); + D = (date.getDate() < 10 ? '0'+(date.getDate()) : date.getDate()); + sterileDate =  Y+"-"+M+"-"+D; + } + + //外来器械拆包信息 splitPackage + //篮筐条码 + //扫描的篮筐条码 scannedBasketBarcodes + //标识牌实例id idCardInstanceID + //标识牌定义id idCardDefinitionId + + //炉次 + var frequency =$("#frequency").val(); + //确认继续 confirmContinue + //tousseWeight 器械包重量 + + //remark 备注 + var remark = $("#remark").val(); + + + if(inspector == ""){ + alert("请扫描检查人条码"); + return; + } + if(operator == "" ){ + alert("请扫描配包人条码"); + return; + } + if(reviewer == ""){ + alert("请扫描审核人条码"); + return; + } + if(wrapper == ""){ + alert("请扫描包装人条码"); + return; + } + if(sterileUserName == ""){ + alert("请扫描灭菌人条码"); + return; + } + var tempTableId = ""; + + // 开始构造参数循环调用装配方法 + if(multiSelectTopData.length>0){ + selectionTopOrFoot = multiSelectTopData; + tempTableId = "assemblyTaskLeftTopTable"; + }else{ + selectionTopOrFoot = multiSelectFootData + tempTableId = "assemblyTaskleftFootTable"; + } + var selections = selectionTopOrFoot; + if(selections == null || selections.length == 0){ + return ; + } + var packingTaskArray = []; + for(var tousseIndex=0;tousseIndex packingAmount){ + amount = packingAmount; + } + packageType = task.packageType; + // if(useManualSelectPackageType()){ + // packageType = Ext4.getCmp('packageType').getValue(); + // } + sterilingType = task.sterilingMethod; + // if(isUndefinedOrNullOrEmpty(sterilingType) || useManualSelectPackageType()){ + // sterilingType = Ext4.getCmp('sterilingType').getValue(); + // } + tousseType = task.tousseType; + supplierName = task.supplierName; + damages = task.damages; + errors = task.errors; + department = task.department; + departmentArray.push(department); + if(!sstsConfig.allowPackingWhenUnSupplementMaterial){ + if(errors != null && errors.length > 0){ + //showResult("材料缺失,不够组成器械包,请补充缺失器械!" , null , sstsConfig.messagePauseTimeOnPackingPage); + alert("材料缺失,不够组成器械包,请补充缺失器械!"); + return; + } + if(damages != null && damages.length > 0){ + //showResult("材料已报损,不够组成器械包,请补充报损器械!" , null , sstsConfig.messagePauseTimeOnPackingPage); + alert("材料已报损,不够组成器械包,请补充报损器械!"); + return; + } + } + taskIdArray.push(taskId); + + }; + taskIdArray = taskIdArray.join(";"); + // packingTousse(false,basketBarcode,scannedBasketBarcodes.join(";"),taskIdArray.join(";"),tousseName,tousseType,pNode.get('amount'),packageType,sterilingType,supplierName,departmentArray.join(";"),pNode.get('urgentAmount')); + //var taskIds = taskIdsArray.join(";"); + //装配数量 + var inputId =""; + if (tempTableId == "assemblyTaskleftFootTable") { + inputId = '#input_'+tousseNode.tousseID; + } else { + inputId = '#inputTop_'+tousseNode.tousseID; + } + var inputAmount = $(inputId).val(); + //return; + var params = { + "taskIds":taskIdArray, + "inspector":inspector, + "inspectorCode":inspectorCode, + "operator":operator, + "operatorCode":operatorCode, + "reviewer":reviewer, + "reviewerCode":reviewerCode, + "sterileUserName":sterileUserName, + "sterileUserCode":sterileUserCode, + "wrapper":wrapper, + "wrapperCode":wrapperCode, + "packageType":packageType, + "sterilingType":sterilingType, + "sterileDate": Date.parse(sterileDate.replace(/-/g,"/")),//这样转换是为了兼容ie8 + "packAmount":inputAmount, + "taskGroup":taskGroup, + "frequency":frequency, + "urgentAmount":urgentAmount, + "remark":remark + }; + + if(inspector == ""){ + alert("请扫描检查人条码"); + return; + } + if(operator == "" ){ + alert("请扫描配包人条码"); + return; + } + if(reviewer == ""){ + alert("请扫描审核人条码"); + return; + } + if(wrapper == ""){ + alert("请扫描包装人条码"); + return; + } + if(sterileUserName == ""){ + alert("请扫描灭菌人条码"); + return; + } + $.ajax({ + url:WWWROOT+"/disinfectSystem/packingController/packingTousse.mhtml", + dataType: "json", + async:false, + cache:false,//解决ie + type: "get", + data:{ + "packingParams": JSON.stringify(params) + }, + success:function(result){ + if(result.success == true){ + alert(result.message); + if (tempTableId == "assemblyTaskleftFootTable") { + multiSelectFootData = [];//清空 + } else { + packingTasks = result.packingTasks; + packingTaskArray = packingTaskArray.concat(packingTasks); + multiSelectTopData=[]; + } + + $("#checkboxAllToptable").prop("checked", false); + //processAfterPacking(false,result,tousseName,inputAmount); + }else{ + var addNumHtml= "
" + + "
提示
" + + "
" + + ""+result.message+"" + + "
" + + "
"; + $("body").append(addNumHtml); + } + } + }); + + + + } + //var leftTopTableInputHiddenArray = JSON.parse($("#leftTopTableInputHidden").val()); + var assembleArray = []; + if (assemblyTaskLeftTopTableCon != undefined && assemblyTaskLeftTopTableCon.length > 0) { + for (var i = 0; i < assemblyTaskLeftTopTableCon.length; i++) { + var assembleModel = assemblyTaskLeftTopTableCon[i]; + if (assembleModel.children.length <= 0) { + continue; + } + var assembleArrayModel = [];//新children + for (var j = 0; j < assembleModel.children.length; j++) { + var objTaskId = assembleModel.children[j].taskId; + for (var k = 0; k < packingTaskArray.length; k++) { + //相等更改数量 + if (objTaskId == packingTaskArray[k].taskId) { + assembleModel.children[j].amount = packingTaskArray[k].unPackAmount; + } + } + + //大于0,保存起来 + if (assembleModel.children[j].amount > 0) { + assembleArrayModel.push(assembleModel.children[j]); + } + } + + if (assembleArrayModel.length > 0) { + //把不需要删除的重新赋值给children,改变了children的值 + assembleModel.children = assembleArrayModel; + assembleModel.amount = 0; + for (var m = 0; m < assembleArrayModel.length; m++) { + assembleModel.amount += parseInt(assembleArrayModel[m].amount); + } + assembleArray.push(assembleModel); + } + } + } + assemblyTaskLeftTopTableCon = assembleArray; + //$("#leftTopTableInputHidden").val(JSON.stringify(assembleArray)); + //刷新左上表格 + loadDataTop = []; + loadDataTop = requestData(assemblyTaskLeftTopTableCon);//加载数据 + gridTopTable.invalidateAllRows(); + dataViewTopTable.beginUpdate(); + dataViewTopTable.setItems(loadDataTop); + dataViewTopTable.setFilter(myFilterTopTable); + dataViewTopTable.endUpdate(); + leftFootLoad();//刷新左下表格 + //printLabelsAfterPacking();//打印标签 +}); + +function hidePackingTousseBtnClick_mask(){ + if(packingTousseBtnClick_mask != null){ + packingTousseBtnClick_mask.destroy(); + packingTousseBtnClick_mask = null; + } +} +function processAfterPacking(printImmediately,result, showName, packAmount){ + var tousses = result.tousses; + packingToussesArray = packingToussesArray.concat(tousses); + packedToussesArray = packedToussesArray.concat(tousses); + + // 取装配物品的是否审核和是否打印的属性(第一个元素的即可) + var isReview = tousses[0].isReview;//是否装配 + var isPrint = tousses[0].isPrint;//是否打印 + // 默认装配时打印标签 + var isPrintLabelNow = true; + + // 如果系统设定为在审核时打印标签,并且该器械包需要审核,则现在不打印标签 + if (sstsConfig.printLabelWhenReviewing == true && isReview == true){ + isPrintLabelNow = false; + } + if (isPrintLabelNow == false || !packing){ + //showResult(packAmount + "个" + showName + "装配完成" , null , sstsConfig.messagePauseTimeOnPackingPage); + alert(packAmount + "个" + showName + "装配完成"); + } + // 现在打印标签 + else{ + // 该物品的器械包定义是否需要打印标签 + if (isPrint){ + + tousseesToPrint = tousseesToPrint.concat(tousses); + } + else{ + + alert(packAmount + "个" + showName + "装配完成,该物品设置为不打印条码标签!"); + } + + } +} + +function printLabelsAfterPacking(){ + if(!packing){ + return; + } + //hidePackingTousseBtnClick_mask();//装配以后提示正在加载的进度条 + var packAmount = packedToussesArray.length;//返回的数据 + //showResult(packAmount + "个" + showName + "装配完成"); + //打印分组类型?这个是获取打印分组类型里面的值吗? + var printGroupType = $("#printPacketTypes option:selected").val(); + //var printGroupType = Ext4.getCmp('printGroupType').getValue(); + var cfg = createPrintLabelsConfig(printGroupType); + + if(tousseesToPrint.length > 0){ + doPrintLabels(tousseesToPrint,cfg);//? + if(sstsConfig.enableConfirmNoticeAfterPackingPrint){ + //打印完成给出确认提示筐,物品是否有缺陷,正常则不管,缺陷则弹出质量监测窗口:CDSLQYQYYY-51 + /*Ext.Msg.show({ + title : '请确认', + msg : '物品是否有缺陷?', + buttons: {"yes":"正常","no":"缺陷"}, + width: 200, + height: 100, + fn : function(btn){ + if(btn == 'no'){ + addQualityMonitoringByResponPart("清洗消毒"); + } + } + });*/ + $("#printLabel").modal('show'); + } + } +} +//检查人条码 +$("#inspectorCodeInput").keydown(function(e){ + if (e.keyCode == 13) { + var inspectorCodeInput = $("#inspectorCodeInput").val(); + requstCode(inspectorCodeInput,"inspectorCodeInput","inspectorInput","inspectorCodeInputHidden"); + } +}) +//配包人条码 +$("#operatorCode").keydown(function(e){ + if (e.keyCode == 13) { + var operatorCode = $("#operatorCode").val(); + requstCode(operatorCode,"operatorCode","operator","operatorCodeHidden"); + } +}) +//审核人条码 +$("#reviewerCode").keydown(function(e){ + if (e.keyCode == 13) { + var reviewerCode = $("#reviewerCode").val(); + requstCode(reviewerCode,"reviewerCode","reviewer","reviewerCodeHidden"); + } +}) +//包装人条码 +$("#wrapperCode").keydown(function(e){ + if (e.keyCode == 13) { + var wrapperCode = $("#wrapperCode").val(); + requstCode(wrapperCode,"wrapperCode","wrapper","wrapperCodeHidden"); + } +}) +//灭菌人条码 +$("#sterileUserCode").keydown(function(e){ + if (e.keyCode == 13) { + var sterileUserCode = $("#sterileUserCode").val(); + requstCode(sterileUserCode,"sterileUserCode","sterileUserName","sterileUserCodeHidden"); + } +}) + +function requstCode(barcode,clearId,name,namecode){ + $.ajax({ + url:WWWROOT+"/disinfectSystem/web/userController/getUserByBarcode.mhtml", + dataType: "json", + async: false, + data: {"barcode":barcode}, + type: "post", + success:function(result){ + if(result.success == true){ + $("#"+name).val(result.fullName);//名字,例如检查人 + $("#"+namecode).val(result.name);//工号放入隐藏域在提交装配时传参 + $("#"+clearId).val("");//清空检查人条码 + $("#"+name).parent().parent().parent().next().children("div:first-child").children().children("input").focus(); + }else{ + alert(result.message); + } + } + }) +} + +//灭菌方式 +$("#sterilingType").change(function(){ + var sterilizationMode = $("#sterilingType option:selected").attr("data-mode"); + $('#sterilizationMode').val(sterilizationMode); +}); +//灭菌炉 +function sterilizerNameRequest(){ + $.ajax({ + url:WWWROOT+"/disinfectSystem/baseData/sterilizerController/getAllSterilizer.mhtml", + type: "get", + async:true, + success:function(result){ + $("#sterilizerName").html(""); + var result = JSON.parse(result); + if(result.success == true){ + for(var i=0;i"+result.rows[i].name+""; + $("#sterilizerName").append(sterilizerOptions); + } + }else{ + alert(result.message); + } + + } + }); +} +//灭菌程序 +var sterilizerName = $("#sterilizerName option:selected").val(); +$.ajax({ + url:WWWROOT+"/disinfectSystem/baseData/sterilisationController/getSterilizerType.mhtml", + type: "get", + data:{"sterilizerName":sterilizerName}, + success:function(result){ + if(result.success == true){ + for(var i=0;i"+result.rows[i].sterilisation+""; + $("#sterilingType").append(options); + + } + }else{ + alert(result.message); + } + + } +}); +//包装类型 +function packageTypeRequest(){ + $.ajax({ + url:WWWROOT+"/disinfectSystem/baseData/expirationDateInfoController/getPackageTypeAndExpirationDateInfo.mhtml", + type: "get", + cache:false,//解决ie + async:false, + success:function(result){ + var result = JSON.parse(result); + if(result.success == true){ + $("#packageType").html(""); + for(var i=0;i"+result.rows[i].optionText+""; + $("#packageType").append(optionText); + } + }else{ + alert(result.message); + } + } + }) +} +$("#packageType").change(function(){ + var packageTypeVal = $("#packageType option:selected").val(); + var validDate = $("#packageType option:selected").attr("data-validDate"); + var validDateUnit = $("#packageType option:selected").attr("data-validDateUnit"); + alert(packageTypeVal+"的失效期为"+validDate+validDateUnit); +}) + +$(function(){ + + //页面一加载就获取焦点 + + //$("#searchBarcode").val(""); + loseAndDamageNum();//丢失和报损的数字 + $("#tableTopBox").show(); + $("#tableFootBox").show(); + topOrFootTableWrappHeight();//上下table父级的高度 + + //左下表格 + $("#assemblyTaskleftFootTable").css("height",($("#tableFootBox").height()-75)+"px"); + leftFootLoad(); + $("#refreshFootTable").click(function(){ + leftFootLoad(); + }) + + /*左上表格 start*/ + leftTopload(); + $("#assemblyTaskleftTopTable").css("height",($("#tableTopBox").height()-60)+"px"); + dataViewTopTable = new Slick.Data.DataView({ inlineFilters: true }); + gridTopTable = new Slick.Grid("#assemblyTaskleftTopTable", [], visibleColumnsTopTable, optionsTopTable); + $(".slick-viewport").css({"overflow":"auto"}); + //subText("assemblyTaskLeftTopTable"); + gridTopTable.init(); + + /*左上在篮筐中输入条码*/ + $("#searchBarcode").keydown(function(e){ + if (e.keyCode == 13) { + var searchBarcodeVal = $("#searchBarcode").val(); + if(searchBarcodeVal == ""){ + alert("请扫描篮筐条码"); + return; + } + + $("#searchBarcodeHidden").val(searchBarcodeVal); + searchBarcodeHidden = $("#searchBarcodeHidden").val(); + //左上表格的刷新 + var codeList = $("#searchBarcodeHidden").attr("codelist"); + basketBarcodesAll = JSON.parse(codeList); + if (codeList != undefined && codeList != "" && codeList != "[]") { + + if (basketBarcodesAll.indexOf(searchBarcodeHidden) > -1) { + alert("不能扫描重复条码!"); + return; + }; + + basketBarcodesAll.push(searchBarcodeHidden); + $("#searchBarcodeHidden").attr("codelist", JSON.stringify(basketBarcodesAll)); + } else { + basketBarcodesAll.push(searchBarcodeVal); + $("#searchBarcodeHidden").attr("codelist", JSON.stringify(basketBarcodesAll)); + } + + $("#searchBarcode").val(""); + reloadTopTableMoreborde(basketBarcodesAll.join(";")); + // subText("assemblyTaskleftTopTable"); + //topTableRowClickEvent(); + } + }) + //点击左下全选 + $("#checkboxAllFoottable").click(function(){ + var checkedFlag = $(this).is(":checked"); + var tableInput = $("#assemblyTaskleftFootTable .grid-canvas .ui-widget-content").find("input[type='checkbox']"); + $(tableInput).prop("checked", checkedFlag); + + multiSelectFootData = []; + if (checkedFlag) { + var items = dataView.getItems(); + for (var i = 0; i < items.length; i++) { + if (items[i].parent == null) { + multiSelectFootData.push(items[i]); + } + } + } + }) + //点击左上全选 + $("#checkboxAllToptable").click(function(){ + var checkedFlag = $(this).is(":checked"); + var tableInput = $("#assemblyTaskleftTopTable .grid-canvas .ui-widget-content").find("input[type='checkbox']"); + $(tableInput).prop("checked", checkedFlag); + + multiSelectTopData = []; + if (checkedFlag) { + var items = dataView.getItems(); + for (var i = 0; i < items.length; i++) { + if (items[i].parent == null) { + multiSelectTopData.push(items[i]); + } + } + } + }) + + //补充丢失 + /*loseColums(); + gridLose = new Slick.Grid("#addLoseTable",[], visibleColumns_Lose, optionsLose);*/ + //材料清单 + materialsTableLoad(); + $("#materialsMenuTable").css("height",($(window).height()-216)+"px"); + dataViewMaterials = new Slick.Data.DataView({ inlineFilters: true }); + gridMaterials = new Slick.Grid("#materialsMenuTable",[], visibleColumns_Materials, optionsMaterials); + gridMaterials.setSelectionModel(new Slick.RowSelectionModel({selectActiveRow: false}));//单选 + gridMaterials.registerPlugin(materials_checkboxSelector); + //gridMaterials.init(); + + //获取焦点 + $("#searchBarcode").focus(); +})/*$(function) end*/ +function topOrFootTableWrappHeight(){ + var documentHeight = $(window).height(); + var tabH = documentHeight-39-123; + var tableHTop = tabH*0.45; + var tableHFoot = tabH*0.55; + $("#tableTopBox").css({"height":tableHTop+"px"}); + $("#tableFootBox").css({"height":tableHFoot+"px"}); + + //中间下面的高度 + var taskmiddleH = documentHeight -335-123; + $(".assembly-task-middlefoot").css({"height":taskmiddleH+"px","overflow-y":"auto"}); +} +/*左上表格start*/ +function leftTopload(){ + optionsTopTable = { + enableCellNavigation: true, + enableColumnReorder: false, + rowHeight: 28, + editable: false, + enableAddRow: false, + checked:true, + enableForHeaderCells:true, + asyncEditorLoading: false + } + assemblyTaskleftTopTable_columns.push( + { + field: 'id', + name: 'ID', + align:'center', + sortable: true, + minWidth: 100 + }, + { + id: "tousseName", + name : '物品名称', + field : 'tousseName', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + minWidth: 180, + resizable: false, + formatter:tousseNameFormatterTopTable + }, + { + id: "amount", + name : '数量', + field : 'amount', + align : 'center', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + minWidth: 100, + resizable: false, + focusable: false, + formatter:amountFormatterTopTable + }, + { + id: "urgentAmount", + name : '加急数量', + field : 'urgentAmount', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + minWidth: 100, + resizable: false + }, + { + id: "urgentLevel", + name : '加急等级', + field : 'urgentLevel', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + minWidth: 100, + resizable: false + }, + { + id: "basketName", + name : '清洗篮筐', + field : 'basketName', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + minWidth: 100, + resizable: false + }, + { + id: "operate", + name : '操作', + field : 'operate', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + minWidth: 200, + resizable: false, + formatter:function(r, c, v, cd, dc){ + if(dc.parent != null){ + var operateHtml = ""; + if(dc.status == '待装配'){ + var supplent = true; + for(var m = 0;m< dc.errors.length; m++) { + if(errorTypeAdd !=dc.errors[m].errorType && ((dc.errors[m].amount - dc.errors[m].additionalAmount) != 0)) { + supplent = false; + } + } + if(!supplent){ + operateHtml += ""; + } + + if(dc.damages.length > 0){ + operateHtml += ""; + } + } + return operateHtml; + } + } + }, + { + id: "department", + name : '申请科室', + field : 'department', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + minWidth: 100, + resizable: false + }, + { + id: "washTime", + name : '清洗时间', + field : 'washTime', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + minWidth: 100, + resizable: false + }, + { + id: "status", + name : '状态', + field : 'status', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + minWidth: 100, + resizable: false + }, + { + id: "dateTime", + name : '回收时间', + field : 'dateTime', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + minWidth: 100, + resizable: false + } + ); + //将id列隐藏 + visibleColumnsTopTable = [];//定义一个数组存放显示的列 + for (var i = 0; i < assemblyTaskleftTopTable_columns.length; i++) { + if (i!=0){ + visibleColumnsTopTable.push(assemblyTaskleftTopTable_columns[i]);//将columns的列push进去 + } + + } +} +function leftToploadTable(){ + dataViewTopTable = new Slick.Data.DataView({ inlineFilters: true }); + gridTopTable = new Slick.Grid("#assemblyTaskleftTopTable", dataViewTopTable, visibleColumnsTopTable, optionsTopTable); + gridTopTable.init(); + + //获取选中行数据 + /*gridTopTable.onSelectedRowsChanged.subscribe(function(){ + })*/ + gridTopTable.onClick.subscribe(function (e, args) { + gridTopTable.setSelectionModel(new Slick.RowSelectionModel());//选中行 + // 上下table互斥 + $("#assemblyTaskleftFootTable .grid-canvas .ui-widget-content") + .find("input[type='checkbox']").each(function(inputIndex, inputEle){ + $(inputEle).prop("checked", false); + }); + multiSelectFootData = []; + + if (dataViewTopTable.getItem(args.row).parent == null) { + var inputEle = $("#assemblyTaskleftTopTable .grid-canvas .ui-widget-content").eq(args.row).find("input[type='checkbox']"); + if (args.cell == 0) { + $(inputEle).prop("checked", $(inputEle).is(':checked')); + } else { + $(inputEle).prop("checked", !$(inputEle).is(':checked')); + } + + //父级材料清单 + var parTopData = dataViewTopTable.getItem(args.row); + requestMaterialsDataParent(parTopData.tousseName,parTopData.tousseID); + + //判断包装类型,灭菌程序 + if ($(inputEle).is(':checked')) { + topTableLastestSelects.push(JSON.stringify(parTopData)); + } else { + // 不选中就删除 + if (topTableLastestSelects.length > 0) { + var tempTopTableParentRows = []; + for(var i = 0; i < topTableLastestSelects.length; i++) { + if (topTableLastestSelects[i] != JSON.stringify(parTopData)) { + tempTopTableParentRows.push(topTableLastestSelects[i]); + continue; + } + } + topTableLastestSelects = tempTopTableParentRows; + } + } + }else if(dataViewTopTable.getItem(args.row).parent != null){ + childTopData = dataViewTopTable.getItem(args.row); + //子级材料清单 + requestMaterialsDataChild(childTopData.tousseName,childTopData.tousseID); + + //判断包装类型,灭菌程序 + for (var k = args.row - 1; k >=0; k--) { + var ToptempParent = dataViewTopTable.getItem(k); + if (ToptempParent.parent == null) { + if (topTableLastestSelects.indexOf(JSON.stringify(ToptempParent)) == -1) { + topTableLastestSelects.push(JSON.stringify(ToptempParent)); + } else { + // 找到了 + var tempTopTableLastestSelects = []; + if (topTableLastestSelects.length > 0) { + for (var i = 0; i < topTableLastestSelects.length; i++) { + if (topTableLastestSelects[i] != JSON.stringify(ToptempParent)) { + tempTopTableLastestSelects.push(topTableLastestSelects[i]); + } + }; + } + topTableLastestSelects = tempTopTableLastestSelects; + topTableLastestSelects.push(JSON.stringify(ToptempParent)); + } + break; + } + } + + } + multiSelectTopData = []; + var inputCheckBox = $("#assemblyTaskleftTopTable .grid-canvas .ui-widget-content").find("input[type='checkbox']:checked"); + for (var i = 0; i < inputCheckBox.length; i++) { + var tdEle = $(inputCheckBox[i]).parent().parent(); + multiSelectTopData.push(dataViewTopTable.getItem($(tdEle).index())); + } + + // 全选与否 + var allCheckBoxes = $("#assemblyTaskleftTopTable .grid-canvas .ui-widget-content").find("input[type='checkbox']"); + var checkboxBoxAllChecked = inputCheckBox.length == allCheckBoxes.length; + $("#checkboxAllToptable").prop("checked", checkboxBoxAllChecked); + + //判断包装类型,灭菌程序 + if(topTableLastestSelects.length>0){ + var numTop = JSON.parse(topTableLastestSelects[topTableLastestSelects.length -1]); + $("#sterilingType").val(numTop.sterilingMethod); + $("#sterilingType").change(); + + sterilizerNameRequest();//灭菌炉 + packageTypeRequest();//包裝類型 + $("#packageType").val(numTop.packageType); + } + + //判断按钮 + packPrintChange("", "top"); + + if ($(e.target).hasClass("toggle")) { + var item = dataViewTopTable.getItem(args.row); + if (item) { + if (!item._collapsed) { + item._collapsed = true; + } else { + item._collapsed = false; + } + dataViewTopTable.updateItem(item.id, item); + } + e.stopImmediatePropagation(); + + } + }); + dataViewTopTable.onRowsChanged.subscribe(function (e, args) { + gridTopTable.invalidateRows(args.rows); + gridTopTable.render(); + }); + //修改样式 + gridTopTable.onBeforeAppendCell.subscribe(function (e, args) { + if (gridTopTable.getColumns()[args.cell].id !== 'tousseName') return null; + var argData = dataViewTopTable.getItem(args.row); + if(argData.parent != null){ + if(argData.status == '待装配'){ + var supplent = true; + for(var m = 0;m< argData.errors.length; m++) { + if(errorTypeAdd !=argData.errors[m].errorType && ((argData.errors[m].amount - argData.errors[m].additionalAmount) != 0)) { + supplent = false; + } + } + if(!supplent){ + return "tousse-name-color"; + } + + if(argData.damages.length > 0){ + return "tousse-name-color"; + } + + } + }else if(argData.parent == null){ + var children = argData.children; + for(var i=0;i 0){ + return "tousse-name-color"; + } + + } + } + } + return "tousse-name-defaultColor"; + }); + +} +function reloadTopTableMoreborde(searchBarcode){ + $.ajax({ + url:WWWROOT+"/disinfectSystem/packingController/getPackingTaskList.mhtml", + dataType: "json", + async: true, + cache:false,//解决ie + data: {"taskGroup":taskGroup,"basketBarcodes":searchBarcode}, + type: "post", + success: function(result) { + topTableLastestSelects = []; + if(result.success == true){ + //assemblyTaskLeftTopTableCon = result.data; + var datas =result.data; + + var tempLeftTopTableInputArray = []; + var tempTousseNameArray = []; + var tempDatas = []; + for (var i = 0; i < datas.length; i++) { + if (tempLeftTopTableInputArray.length == 0 || tempTousseNameArray.indexOf(datas[i].tousseName) == -1) {//未找到 + tempLeftTopTableInputArray.push(datas[i]); + tempTousseNameArray.push(datas[i].tousseName); + continue; + } + + + if (tempTousseNameArray.indexOf(datas[i].tousseName) != -1) {//找到 + tempDatas.push(datas[i]); + } + + } + + var tempIndexArray = []; + for (var k = 0; k < tempLeftTopTableInputArray.length; k++) { + for(var m = 0; m < tempDatas.length; m++) { + if (tempIndexArray.indexOf(m) != -1) { + continue; + } + if (tempLeftTopTableInputArray[k].tousseName == tempDatas[m].tousseName) { + tempLeftTopTableInputArray[k].amount = tempLeftTopTableInputArray[k].amount + tempDatas[m].amount; + tempLeftTopTableInputArray[k].children = (tempLeftTopTableInputArray[k].children).concat((tempDatas[m]).children); + tempIndexArray.push(m); + } + } + } + + + + datas = tempLeftTopTableInputArray; + assemblyTaskLeftTopTableCon = datas; + var tempId = 0; + loadDataTop = []; + loadDataTop = requestData(datas);//加载数据 + dataViewTopTable.beginUpdate(); + dataViewTopTable.setItems(loadDataTop); + dataViewTopTable.setFilter(myFilterTopTable); + dataViewTopTable.endUpdate(); + }else{ + alert(result.message); + } + + } + }); + leftToploadTable(); + +} + +//装配以后刷新 +function reloadPackingLeftTopTasks(datas) { + + var tempId = 0; + var tempLoadDataTop = []; + for(var i=0;i 0) { + //var tipsColor = ""; + // var operateHtml = ""; + for(var j=0; j < childrens.length; j++){ + var k = (tempLoadDataTop[tempId] = {}); + k["id"] = (Math.random()*10000000); + k["indent"] = 1; + k["parent"] = parentId; + k["tousseName"]=childrens[j].tousseName; + k["amount"]=childrens[j].amount; + k["urgentAmount"]=childrens[j].urgentAmount; + k["urgentLevel"]=childrens[j].urgentLevel; + k["basketName"]=childrens[j].basketName; + //k["operate"]=operateHtml; + k["department"]=childrens[j].department; + k["washTime"]=childrens[j].washTime; + k["status"]=childrens[j].status; + k["dateTime"]=childrens[j].dateTime; + + + k["errors"]=childrens[j].errors; + k["damages"]=childrens[j].damages; + k["taskType"]=childrens[j].taskType; + k["sterilingMethod"]=childrens[j].sterilingMethod; + k["packageType"]=childrens[j].packageType; + + tempId ++; + } + } + + } + + return tempLoadDataTop; +} + +function amountFormatterTopTable(row, cell, value, columnDef, dataContext){ + if(dataContext.parent == null){ + var inputId = 'inputTop_'+dataContext.tousseID; + return "
" + + "" + + "
" + + "" + + "" + + "
" + + "
" + }else{ + return value; + } +} +function tousseNameFormatterTopTable(row, cell, value, columnDef, dataContext){ + //如果没有数据,就都返回 + if (value == null || value == undefined || dataContext === undefined) { return ""; } + + value = value.replace(/&/g,"&").replace(//g,">"); + //制造一个占位 + var spacer = ""; + + + //根据ID获取此行内容的索引值 + var idx = dataViewTopTable.getIdxById(dataContext.id); + + if(dataContext.parent !=null){ + spacer += ""; + /*if(dataContext.taskType != taskType_recyclingRecord){ + spacer += ""; + }*/ + } + + if (loadDataTop[idx + 1] && loadDataTop[idx + 1].indent > loadDataTop[idx].indent) { + //如果data中对应的内容不为空,并且此行缩进大于上一行的缩进 + if (dataContext._collapsed) { + + return spacer + "   "+value+"" ;//收缩 + } else { + return spacer + "   "+value+"";//展开 + } + } else { + return spacer + "  "+value+""; + } +} +function myFilterTopTable(item) { + if (item.parent != null) {//代表有子菜单 + var parent = loadDataTop[item.parent]; + while (parent) { + if (parent._collapsed) {//展开 + return false; + } + + parent = loadDataTop[parent.parent]; + } + } + + return true; +} +/*左上表格end*/ +/*左下表格start*/ +function leftFootLoad(){ + options = { + enableCellNavigation: true, + enableColumnReorder: false, + rowHeight: 30, + editable: true, + enableAddRow: false, + forceFitColumns: false, + checked:true, + enableForHeaderCells:true, + asyncEditorLoading: false, + syncColumnCellResize:true//拖动单元格 + }; + assemblyTaskleftFootTable_columns = []; + assemblyTaskleftFootTable_columns.push( + { + field: 'id', + name: 'ID', + align:'center', + sortable: true, + minWidth: 100 + }, + { + id: "tousseName", + name : '物品名称', + field : 'tousseName', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + minWidth: 180, + resizable: false, + formatter:tousseNameFormatter + + }, + { + id:"amount", + name : '数量', + field : 'amount', + align : 'center', + sortable:true, + cssClass: "cell-title", + minWidth: 100, + formatter:function(r, c, v, cd, dc){ + if(dc.parent == null){ + var inputId = 'input_'+dc.tousseID; + return "
" + + "" + + "
" + + "" + + "" + + "
" + + "
" + }else{ + return v; + } + }, + focusable: false + }, + { + id:"urgentAmount", + name : '加急数量', + field : 'urgentAmount', + align : 'center', + sortable:true, + cssClass: "cell-title", + minWidth: 100 + }, + { + id:"urgentLevel", + name : '加急等级', + field : 'urgentLevel', + align : 'center', + sortable:true, + cssClass: "cell-title", + minWidth: 100 + }, + { + id:"basketName", + name : '清洗篮筐', + field : 'basketName', + align : 'center', + sortable:true, + cssClass: "cell-title", + minWidth: 100 + }, + { + id:"operate", + name : '操作', + field : 'operate', + align : 'center', + sortable:true, + width:300, + cssClass: "cell-title", + minWidth: 200, + formatter:function(r, c, v, cd, dc){ + if(dc.parent != null){ + + var tipsColor = ""; + var operateHtml = ""; + if(dc.status == '待装配'){ + var supplent = true; + for(var m = 0;m< dc.errors.length; m++) { + if(errorTypeAdd !=dc.errors[m].errorType && ((dc.errors[m].amount - dc.errors[m].additionalAmount) != 0)) { + supplent = false; + } + } + if(!supplent){ + operateHtml += ""; + tipsColor = "style='color:red;'" + } + + if(dc.damages.length > 0){ + operateHtml += ""; + tipsColor = "style='color:red;'"; + } + } + return operateHtml; + } + } + }, + { + id:"department", + name : '申请科室', + field : 'department', + align : 'center', + sortable:true, + cssClass: "cell-title", + minWidth: 100 + }, + { + id:"washTime", + name : '清洗时间', + field : 'washTime', + align : 'center', + sortable:true, + cssClass: "cell-title", + minWidth: 100 + }, + { + id:"status", + name : '状态', + field : 'status', + align : 'center', + sortable:true, + cssClass: "cell-title", + minWidth: 100 + }, + { + id:"dateTime", + name : '回收时间', + field : 'dateTime', + align : 'center', + sortable:true, + cssClass: "cell-title", + minWidth:150 + } + ); + //将id列隐藏 + visibleColumns = [];//定义一个数组存放显示的列 + for (var i = 0; i < assemblyTaskleftFootTable_columns.length; i++) { + if (i!=0){ + visibleColumns.push(assemblyTaskleftFootTable_columns[i]);//将columns的列push进去 + } + + } + reloadFootTable(); +} +function reloadFootTable(){ + $.ajax({ + url:WWWROOT+"/disinfectSystem/packingController/getPackingTaskList.mhtml", + dataType: "json", + type:'get', + cache:false,//解决ie + data: {"taskGroup":taskGroup}, + success:function(data){ + footTableLastestSelects = []; + var datas =data.data; + loadData = []; + loadData = requestData(datas);//加载数据 + dataView.beginUpdate(); + dataView.setItems(loadData); + dataView.setFilter(myFilter); + dataView.endUpdate(); + } + }) + leftFootTable(); +} + +function leftFootTable(){ + dataView = new Slick.Data.DataView({ inlineFilters: true }); + grid = new Slick.Grid("#assemblyTaskleftFootTable", dataView, visibleColumns, options); + /* $(".slick-viewport").css({ + "overflow-y": "auto" + });*/ + grid.onClick.subscribe(function (e, args) { + grid.setSelectionModel(new Slick.RowSelectionModel());//选中行 + + // 上下table选择互斥 assemblyTaskleftTopTable + $("#assemblyTaskleftTopTable .grid-canvas .ui-widget-content") + .find("input[type='checkbox']").each(function(inputIndex, inputEle){ + $(inputEle).prop("checked", false); + }); + multiSelectTopData = []; + + if (dataView.getItem(args.row).parent == null) { + var inputEle = $("#assemblyTaskleftFootTable .grid-canvas .ui-widget-content").eq(args.row).find("input[type='checkbox']"); + if (args.cell == 0) { + $(inputEle).prop("checked", $(inputEle).is(':checked')); + } else { + $(inputEle).prop("checked", !$(inputEle).is(':checked')); + } + //父级材料清单 + var parData = dataView.getItem(args.row); + requestMaterialsDataParent(parData.tousseName,parData.tousseID); + + + if ($(inputEle).is(':checked')) { + footTableLastestSelects.push(JSON.stringify(parData)); + } else { + // 不选中就删除 + if (footTableLastestSelects.length > 0) { + var tempFootTableParentRows = []; + for(var i = 0; i < footTableLastestSelects.length; i++) { + if (footTableLastestSelects[i] != JSON.stringify(parData)) { + tempFootTableParentRows.push(footTableLastestSelects[i]); + continue; + } + } + footTableLastestSelects = tempFootTableParentRows; + } + } + + }else if(dataView.getItem(args.row).parent != null){ + var childData = dataView.getItem(args.row); + //$("#sterilingType").val(childData.sterilingMethod); + //$("#sterilingType").change(); + + //sterilizerNameRequest();//灭菌炉 + //packageTypeRequest();//包裝類型 + //$("#packageType").val(childData.packageType); + //子级材料清单 + requestMaterialsDataChild(childData.tousseName,childData.tousseID); + + for (var k = args.row - 1; k >=0; k--) { + var tempParent = dataView.getItem(k); + if (tempParent.parent == null) { + if (footTableLastestSelects.indexOf(JSON.stringify(tempParent)) == -1) { + footTableLastestSelects.push(JSON.stringify(tempParent)); + } else { + // 找到了 + var tempFootTableLastestSelects = []; + if (footTableLastestSelects.length > 0) { + for (var i = 0; i < footTableLastestSelects.length; i++) { + if (footTableLastestSelects[i] != JSON.stringify(tempParent)) { + tempFootTableLastestSelects.push(footTableLastestSelects[i]); + } + }; + } + footTableLastestSelects = tempFootTableLastestSelects; + footTableLastestSelects.push(JSON.stringify(tempParent)); + } + break; + } + } + + } + + multiSelectFootData = []; + var inputCheckBox = $("#assemblyTaskleftFootTable .grid-canvas .ui-widget-content").find("input[type='checkbox']:checked"); + for (var i = 0; i < inputCheckBox.length; i++) { + var tdEle = $(inputCheckBox[i]).parent().parent(); + multiSelectFootData.push(dataView.getItem($(tdEle).index())); + } + + //判断按钮 + packPrintChange(dataView.getItem(args.row), "foot"); + + // 全选与否 + var allCheckBoxes = $("#assemblyTaskleftFootTable .grid-canvas .ui-widget-content").find("input[type='checkbox']"); + var checkboxBoxAllChecked = inputCheckBox.length == allCheckBoxes.length; + $("#checkboxAllFoottable").prop("checked", checkboxBoxAllChecked); + + // footTableLastestSelects变量在渲染table的时候需要置空 + if(footTableLastestSelects.length>0){ + var num = JSON.parse(footTableLastestSelects[footTableLastestSelects.length -1]); + $("#sterilingType").val(num.sterilingMethod); + $("#sterilingType").change(); + + sterilizerNameRequest();//灭菌炉 + packageTypeRequest();//包裝類型 + $("#packageType").val(num.packageType); + } + + if ($(e.target).hasClass("toggle")) { + var item = dataView.getItem(args.row); + if (item) { + if (!item._collapsed) { + item._collapsed = true; + } else { + item._collapsed = false; + } + dataView.updateItem(item.id, item); + } + e.stopImmediatePropagation(); + + } + }); + dataView.onRowsChanged.subscribe(function (e, args) { + grid.invalidateRows(args.rows); + grid.render(); + }); + //修改样式 + grid.onBeforeAppendCell.subscribe(function (e, args) { + if (grid.getColumns()[args.cell].id !== 'tousseName') return null; + var argData = dataView.getItem(args.row); + if(argData.parent != null){ + if(argData.status == '待装配'){ + var supplent = true; + for(var m = 0;m< argData.errors.length; m++) { + if(errorTypeAdd !=argData.errors[m].errorType && ((argData.errors[m].amount - argData.errors[m].additionalAmount) != 0)) { + supplent = false; + } + } + if(!supplent){ + return "tousse-name-color"; + } + + if(argData.damages.length > 0){ + return "tousse-name-color"; + } + + } + }else if(argData.parent == null){ + var children = argData.children; + for(var i=0;i 0){ + return "tousse-name-color"; + } + + } + } + } + return "tousse-name-defaultColor"; + }); + + grid.init(); +} +//判断子菜单start +function tousseNameFormatter(row, cell, value, columnDef, dataContext){ + //如果没有数据,就都返回 + if (value == null || value == undefined || dataContext === undefined) { return ""; } + + value = value.replace(/&/g,"&").replace(//g,">"); + //制造一个占位 + var spacer = ""; + + + //根据ID获取此行内容的索引值 + var idx = dataView.getIdxById(dataContext.id); + + //判断星星父菜单 + if(dataContext.parent == null){ + var child = dataContext.children; + for(var i=0;i"; + if(dataContext.taskType != taskType_recyclingRecord){ + spacer += ""; + } + } + if (loadData[idx + 1] && loadData[idx + 1].indent > loadData[idx].indent) { + //如果data中对应的内容不为空,并且此行缩进大于上一行的缩进 + if (dataContext._collapsed) { + + return spacer + "  "+value+"" ;//收缩 + } else { + return spacer + "   "+value+"";//展开 + } + } else { + return spacer + "  "+value+""; + } +} +function myFilter(item) { + if (item.parent != null) {//代表有子菜单 + var parent = loadData[item.parent]; + while (parent) { + if (parent._collapsed) {//展开 + return false; + } + + parent = loadData[parent.parent]; + } + } + + return true; +} +/*判断子菜单end*/ +/*左下表格end*/ + +//上下公共方法数据 +function requestData(data){ + var renderData = []; + var tempId = 0; + for(var i=0;i 0) { + for(var j=0; j < childrens.length; j++){ + var k = (renderData[tempId] = {}); + k["id"] = (Math.random()*10000000); + k["indent"] = 1; + k["parent"] = parentId; + k["tousseName"]=childrens[j].tousseName; + k["amount"]=childrens[j].amount; + k["urgentAmount"]=childrens[j].urgentAmount; + k["urgentLevel"]=childrens[j].urgentLevel; + k["basketName"]=childrens[j].basketName; + k["department"]=childrens[j].department; + k["washTime"]=childrens[j].washTime; + k["status"]=childrens[j].status; + k["dateTime"]=childrens[j].dateTime; + + + k["errors"]=childrens[j].errors; + k["damages"]=childrens[j].damages; + k["taskType"]=childrens[j].taskType; + k["sterilingMethod"]=childrens[j].sterilingMethod; + k["packageType"]=childrens[j].packageType; + k["tousseID"]=childrens[j].tousseID; + k["taskId"]=childrens[j].taskId; + + tempId ++; + } + } + } + return renderData; +} +/*删除装配任务start*/ +//删除按钮弹框,删除左下表格 +$("#deleteMsg").click(function(){ + $('.deleteMsgModel').modal('show'); + var ids = "";//装配任务id + var selections =multiSelectFootData; + //遍历父级tr + for(var j=0;j"+addLoseClassifyTypeOptions+""; + } + }, + { + id:"", + name : '器械类型', + field : '', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + minWidth: 200, + resizable: false, + formatter:function(row, cell, value, columnDef, dataContext){ + return ""; + } + }, + { + id:"", + name : '操作', + field : '', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + minWidth: 100, + resizable: false, + formatter:function(row, cell, value, columnDef, dataContext){ + return ""; + } + } + ) + //将id列隐藏 + visibleColumns_Lose = [];//定义一个数组存放显示的列 + for (var i = 0; i < lose_colums.length; i++) { + if (i!=0){ + visibleColumns_Lose.push(lose_colums[i]);//将columns的列push进去 + } + + } + + //補充丟失分类类型 + var addLoseClassifyTypeOptions = ""; + $.ajax({ + url:WWWROOT+"/disinfectSystem/recyclingrecord/materialErrorDamageController/getDamageErrorDepartType.mhtml", + type: "get", + async:true, + success:function(result){ + if(result.success == true){ + for(var i=0;i"+result.rows[i].value+""; + } + }else{ + //alert(result.message); + } + } + }); +} + +//補充丟失删除行 +function deleteLoseRow(id){ + var LoseTableDelData = gridLose.getData(); + var newData = []; + for(var i=0;i提示" + + "
" + + "请扫描篮筐条码!" + + "
" + + ""; + $("body").append(addNumHtml); + //showResult('请扫描篮筐条码!' , null , sstsConfig.messagePauseTimeOnPackingPage); + } + } + }); + //丢失补充列表 + $.ajax({ + url:WWWROOT+"/disinfectSystem/recyclingrecord/materialErrorDamageController/loadAdditionalMaterialStore.mhtml", + type: "get", + async:true, + cache:false,//解决ie + data:{ + "type":type, + "packingTaskId":loseOrDameage_packingTaskId//这里就是传空的 + }, + success:function(result){ + if(result.success == true){ + loadLose_Data = []; + var loseData = result.rows; + loadLose_Data = requestLoseData(loseData); + gridLose = new Slick.Grid("#addLoseTable", loadLose_Data, visibleColumns_Lose, optionsLose); + addLOseInstrumentTypeSelect("addLOse_instrument");//補充丟失器械類型 + //$("#loseHidden").val(JSON.stringify(loadLose_Data)); + }else{ + alert(result.message); + } + } + }); + +} + +function requestLoseData(datas){ + var renderData = []; + for (var i = 0; i < datas.length; i++) { + var d = (renderData[i] = {}); + d["id"] =datas[i].id; + d["materialName"] = datas[i].materialName; + d["amount"] = datas[i].amount; + d["materialDefinitionId"] = datas[i].materialDefinitionId; + d["packingTaskId"] = datas[i].packingTaskId; + d["departType"] = datas[i].departType; + } + return renderData; +} +//補充丟失器械類型 +function addLOseInstrumentTypeSelect(className){ + $("."+className).on('change',function(){ + var _this = $(this); + var departTypeName =$(_this).find("option:selected").val(); + var brotherSelect = $(_this).parent().next().find("select"); + $(brotherSelect).html(""); + if(departTypeName != '请选择分类类型'){ + $.ajax({ + url:WWWROOT+"/disinfectSystem/recyclingrecord/materialErrorDamageController/getMaterialTypeType.mhtml", + type: "get", + async:true, + data:{ + departTypeName:departTypeName + }, + success:function(result){ + if(result.success == true){ + var addLOseInstrumentTypeOptions = ""; + for(var i=0;i"+result.rows[i].value+""; + } else {*/ + addLOseInstrumentTypeOptions = addLOseInstrumentTypeOptions + ""; + /*}*/ + } + $(brotherSelect).each(function(){ + $(this).append(addLOseInstrumentTypeOptions); + }); + }else{ + //alert(result.message); + } + } + }); + } + }) +}; +registerLoseOrDamageSubmitHandler("comfirmAddlose"); +//确定补充 +function registerLoseOrDamageSubmitHandler(id){ + $("#"+id).click(function(){ + var addLoseTableData = gridLose.getData(); + if(addLoseTableData.length == 0){ + //$('.addLoseModel').modal('hide'); + var addNumHtml= "
" + + "
提示
" + + "
" + + "没有待补充的器械!" + + "
" + + "
"; + $("body").append(addNumHtml); + //showResult("没有待补充的器械!" , null , sstsConfig.messagePauseTimeOnPackingPage); + return false; + } + var materialArray = []; + for(var i=0;i提示" + + "
" + + ""+result.message+"" + + "
" + + ""; + $("body").append(addNumHtml); + loseAndDamageNum();//请求数字 + leftFootLoad();//刷新左下表格 + //当没有扫条码,上面表格不刷新 + if(!Tools.ArrayUtils.isNotEmpty(basketBarcodes) || searchBarcodeHidden !=""){ + reloadTopTableMoreborde(basketBarcodes.join(";"));//左上表格的刷新 + } + + }else{ + alert(result.message); + } + } + }); + }); +} +/*补充丢失end*/ + + + +//材料清单表格start +function materialsTableLoad(){ + optionsMaterials = { + enableCellNavigation: true, + enableColumnReorder: false, + rowHeight: 28, + editable: true, + enableAddRow: false, + forceFitColumns: false, + checked:true, + enableForHeaderCells:true, + asyncEditorLoading: false + }; + materials_columns = []; + materials_checkboxSelector = new Slick.CheckboxSelectColumn({cssClass: "slick-cell-checkboxsel"}); + + materials_columns.push(materials_checkboxSelector.getColumnDefinition()); + materials_columns.push( + { + field: 'id', + name: 'ID', + align:'center', + sortable: true, + }, + { + id: "name", + name : '材料名称', + field : 'name', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + minWidth: 262, + resizable: false, + formatter:function(row, cell, value, columnDef, dataContext){ + if(dataContext.washQualityCheckPoint == undefined ){ + dataContext.washQualityCheckPoint = ""; + } + if(dataContext.washQualityCheckMethod == undefined ){ + dataContext.washQualityCheckMethod = ""; + } + if(dataContext.functionCheck == undefined ){ + dataContext.functionCheck = ""; + } + return ""+value+""; + } + }, + { + id: "count", + name : '数量', + field : 'count', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + resizable: false, + }, + { + id: "detachable", + name : '是否可拆', + field : 'detachable', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + resizable: false, + minWidth:100 + } + ) + //将id列隐藏 + visibleColumns_Materials = [];//定义一个数组存放显示的列 + for (var i = 0; i < materials_columns.length; i++) { + if (i!=1){ + visibleColumns_Materials.push(materials_columns[i]);//将columns的列push进去 + } + + } + +} +function requestMaterialsDataParent(tousseName,tousseID){ + materialsTableLoad(); + $.ajax({ + url:WWWROOT+"/disinfectSystem/baseData/tousseDefinitionController/getMaterialDefinitionByTousseName.mhtml", + dataType: "json", + async: true, + data: {"tousseName":tousseName,"tousseDefinitionId":tousseID}, + type: "post", + success: function(result) { + var materialsParData = result.rows; + if(result.success == true){ + loadMaterials_ParData = []; + for (var i = 0; i < materialsParData.length; i++) { + var d = (loadMaterials_ParData[i] = {}); + d["id"] =materialsParData[i].id; + d["name"] = materialsParData[i].name; + d["count"] = materialsParData[i].count; + d["detachable"] =materialsParData[i].detachable; + d["washQualityCheckPoint"] =materialsParData[i].washQualityCheckPoint; + d["washQualityCheckMethod"] =materialsParData[i].washQualityCheckMethod; + d["functionCheck"] =materialsParData[i].functionCheck; + } + gridMaterials = new Slick.Grid("#materialsMenuTable", loadMaterials_ParData, visibleColumns_Materials, optionsMaterials); + + //器械总数 + $("#materialTotalAmount").text(result.materialTotalAmount); + //一次性物品总数 + $("#diposableGoodsTotalAmount").text(result.diposableGoodsTotalAmount); + metarilsFocus();//显示功能检查 + }else{ + alert(result.message); + } + } + }) + gridMaterials.setSelectionModel(new Slick.RowSelectionModel({selectActiveRow: false}));//单选 + gridMaterials.registerPlugin(materials_checkboxSelector); + +} +function requestMaterialsDataChild(child_tousseName,child_tousseID){ + materialsTableLoad(); + $.ajax({ + url:WWWROOT+"/disinfectSystem/baseData/tousseDefinitionController/getMaterialDefinitionByTousseName.mhtml", + dataType: "json", + async: true, + data: {"tousseName":child_tousseName,"tousseDefinitionId":child_tousseID}, + type: "post", + success: function(result) { + var materialsChildData = result.rows; + if(result.success == true){ + loadMaterials_ChildData = []; + for (var i = 0; i < materialsChildData.length; i++) { + var d = (loadMaterials_ChildData[i] = {}); + d["id"] =materialsChildData[i].id; + d["name"] = materialsChildData[i].name; + d["count"] = materialsChildData[i].count; + d["detachable"] =materialsChildData[i].detachable; + d["washQualityCheckPoint"] =materialsChildData[i].washQualityCheckPoint; + d["washQualityCheckMethod"] =materialsChildData[i].washQualityCheckMethod; + d["functionCheck"] =materialsChildData[i].functionCheck; + } + gridMaterials = new Slick.Grid("#materialsMenuTable", loadMaterials_ChildData, visibleColumns_Materials, optionsMaterials); + //器械总数 + $("#materialTotalAmount").text(result.materialTotalAmount); + //一次性物品总数 + $("#diposableGoodsTotalAmount").text(result.diposableGoodsTotalAmount); + metarilsFocus();//显示功能检查 + }else{ + alert(result.message); + } + } + }) + gridMaterials.setSelectionModel(new Slick.RowSelectionModel({selectActiveRow: false}));//单选 + gridMaterials.registerPlugin(materials_checkboxSelector); +} +//材料清单表格上mouseover显示的表格 +function metarilsFocus(){ + var materialsTr= $("#materialsMenuTable .slick-viewport .grid-canvas .ui-widget-content"); + var tables; + for (var i = 0; i< materialsTr.length; i++) { + $(materialsTr[i]).mouseover(function(e){ + $(".metariles-firstTd").parent().empty().append("清洗质量检查方法清洗质量检查关注点功能检查"); + $(this).css({"cursor":"pointer"}); + var washQualityCheckPoint = $(this).find(".slick-cell span").attr("washQualityCheckPoint"); + var washQualityCheckMethod = $(this).find(".slick-cell span").attr("washQualityCheckMethod"); + var functioncheck = $(this).find(".slick-cell span").attr("functionCheck"); + tables = "" + + ""+washQualityCheckPoint+"" + +""+washQualityCheckMethod+"" + + ""+functioncheck+"" + + ""; + $(".metariles-firstTd").after(tables); + var e =e||window.event; + var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; + var scrollY = document.documentElement.scrollTop || document.body.scrollTop; + var x = e.pageX || e.clientX + scrollX; + var y = e.pageY || e.clientY + scrollY; + var windowWidth = $(window).width(); + var windowHeight = $(window).height(); + var materialsW = $(".metariles-list-tips").width(); + var materialsH = $(".metariles-list-tips").height(); + y= y+10; + if(x>(windowWidth-materialsW)){ + x = (windowWidth-materialsW-50); + } + if(y>(windowHeight-materialsH-100)){ + y = (windowHeight-materialsH-50); + x = (windowWidth-materialsW-300); + } + $(".metariles-list-tips").css({ + "position":"absolute", + "left": x + "px", + "top": y + "px", + "z-index":"200000" + }) + + $(".metariles-list-tips").show(); + }) + $(materialsTr[i]).mouseout(function(e){ + $(".metariles-list-tips").hide(); + }) + } +} +/*材料清单表格end*/ +/*数量增减start*/ +function addNum(that){ + var numVals = parseInt($(that).parent().siblings("input").val()); + var touseName = $(that).parent().siblings("input").attr("tousseName"); + var maxValue = parseInt($(that).parent().siblings("input").attr("max-value")); + if(numVals > 0 && numVals == maxValue){ + var addNumHtml= "
" + + "
提示
" + + "
" + + ""+touseName+"装配数量不能大于"+numVals+"" + + "
" + + "
"; + $("body").append(addNumHtml); + return; + } + if(numVals == 0 || numVals < maxValue){ + addVal = parseInt($(that).parent().siblings("input").val())+1; + $(that).parent().siblings("input").val(addVal); + } +} +setInterval(function(){ + $(".panel-tips").hide(); +},9000); +function reduceNum(that){ + addVal = parseInt($(that).parent().siblings("input").val())-1; + if(addVal<0){ + return; + }else{ + $(that).parent().siblings("input").val(addVal); + } +} +//增加炉次 +function addFrequency(that){ + var addVal = parseInt($(that).parent().siblings("input").val())+1; + if(($(that).parent().siblings("input").val())==""){ + addVal =1; + } + $(that).parent().siblings("input").val(addVal); +} +function reduceFrequency(that){ + var reduceVal = parseInt($(that).parent().siblings("input").val())-1; + if(reduceVal<0){ + return; + }else{ + $(that).parent().siblings("input").val(reduceVal); + } +} +/*数量增减end*/ + +//补充丢失和报损按钮的数字 +function loseAndDamageNum(){ + $.ajax({ + url:WWWROOT+"/disinfectSystem/packingController/getErrorAndDamageCount.mhtml", + type: "get", + async:true, + cache:false, + success:function(result){ + var result = JSON.parse(result); + if(result.success == true){ + $("#addLose b").text(result.errorCount); + $("#addBreakage b").text(result.damageCount); + }else{ + alert(result.message); + } + + } + }); +}; + +//判断按钮显示 +function packPrintChange(selectRowDatas, direction){ + var show = false; + if ("top" == direction) {//左上表格 + show = true; + } else if("foot" == direction) { + if (selectRowDatas.parent == null) { + var selectionsNode = selectRowDatas.children; + for(var j = 0; j < selectionsNode.length; j++){ + //不为回收任务时,不显示装配与打印按钮,只有任务类型为回收任务时才显示 + if(selectionsNode[j].taskType != taskType_recyclingRecord){ + show = true; + break; + } + } + + } else { + if(selectRowDatas.taskType != taskType_recyclingRecord){ + show = true; + } + } + } + + if(show){ + $("#packPrint").show(); + }else{ + $("#packPrint").hide(); + } +} +//添加报损器械按钮弹框 +$("#addBreakageMsg").click(function(){ + $('#addBreakageMsgModel').modal('show'); + $("#addBreakageMsgModel .modal-title").text("器材报损单信息"); +}) +function addBreakageMsgTable(){ + optionsMaterials = { + enableCellNavigation: true, + enableColumnReorder: false, + rowHeight: 28, + editable: true, + enableAddRow: false, + forceFitColumns: false, + checked:true, + enableForHeaderCells:true, + asyncEditorLoading: false + }; + materials_columns = []; + materials_columns.push(materials_checkboxSelector.getColumnDefinition()); + materials_columns.push( + { + field: 'id', + name: 'ID', + align:'center', + sortable: true, + }, + { + id: "count", + name : '数量', + field : 'count', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + resizable: false, + }, + { + id: "name", + name : '材料名称', + field : 'name', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + }, + { + id: "count", + name : '数量', + field : 'count', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + resizable: false, + }, + { + id: "detachable", + name : '是否可拆', + field : 'detachable', + align : 'center', + sortable:true, //正序,逆序 + cssClass: "cell-title", + resizable: false, + minWidth:100 + } + ) + //将id列隐藏 + visibleColumns_Materials = [];//定义一个数组存放显示的列 + for (var i = 0; i < materials_columns.length; i++) { + if (i!=1){ + visibleColumns_Materials.push(materials_columns[i]);//将columns的列push进去 + } + + } + +} + +//日期插件 +function datePick(dateId,format,direction){ + $("#"+dateId).datetimepicker({//选择年月日 +   format: format, +   language: 'zh-CN', +   weekStart: 1, +   todayBtn: 1,//显示‘今日’按钮 +   autoclose: 1, +   todayHighlight: 1, +   startView: 2,//Number, String. 默认值:0, 'hour',日期时间选择器所能够提供的最精确的时间选择视图。 +   minView: 2, +   //clearBtn:true,//清除按钮 +   forceParse: 0, + pickerPosition:direction +  }); +} +datePick("dateFrom_breakage","yyyy-mm-dd hh:ii:ss","bottom-right");//添加报损器械 +datePick("determineDate","yyyy-mm-dd","top-right");//灭菌日期 +datePick("dateFrom_Amend","yyyy-mm-dd hh:ii:ss","bottom-right");//灭菌开始时间 +datePick("dateFrom_printBegin","yyyy-mm-dd hh:ii:ss","bottom-right");//打印回收清单开始时间 +datePick("dateFrom_printEnd","yyyy-mm-dd hh:ii:ss","bottom-right");//打印回收清单结束时间