Index: ssts-web/src/main/webapp/dx-disinfectsystem/js/reviewView/reviewView.js =================================================================== diff -u -r24840 -r24918 --- ssts-web/src/main/webapp/dx-disinfectsystem/js/reviewView/reviewView.js (.../reviewView.js) (revision 24840) +++ ssts-web/src/main/webapp/dx-disinfectsystem/js/reviewView/reviewView.js (.../reviewView.js) (revision 24918) @@ -36,11 +36,13 @@ //点击导航 的审核统计、入筐器械包时才渲染数据 $("a[href='#reviewedChartTab']").click(function () { - // + //获得数据 setGridData(reviewedChartGrid, WWWROOT + "/disinfectSystem/packingReviewController/loadReviewRecord.mhtml", { taskGroup: taskGroup }); // + // attachAutoResizeDataGrid(reviewedChartGrid,'reviewedChartGridId','reviewedChartGridContainer',30); + //设置已审核器械包数 setReviewedsum(); }); $("a[href='#reviewedBasketTab']").click(function () { @@ -1069,9 +1071,8 @@ }) // 创建unReviewTousseGrid - unReviewTousseGrid = renderGrid("unReviewTousseGridId", "unReviewToussegridContainer", - unReviewTousseGridColums, "", checkboxSelector - ); + unReviewTousseGrid = renderGrid("unReviewTousseGridId",unReviewTousseGridColums, "", checkboxSelector); + attachAutoResizeDataGrid(unReviewTousseGrid, 'unReviewTousseGridId', 'unReviewToussegridContainer',150);//调整列宽高度 //加载数据并分页 renderGridDateAndPage(unReviewTousseGrid, 'unReviewGridPager', WWWROOT + "/disinfectSystem/packingReviewController/findUnReviewedTousseInstanceList.mhtml", { @@ -1080,14 +1081,15 @@ ); //双击 右边待审核列触发 unReviewTousseGrid.onDblClick.subscribe(function (e, args) { + // console.log(args); var rowData = unReviewTousseGrid.getDataItem(args.row); getAndShowTousseInModel(rowData); }); //单击 右边待审核列触发 - // unReviewTousseGrid.onClick.subscribe(function (e, args){ - // //被选中后不能触发双击事件 - // unReviewTousseGrid.setSelectedRows([args.row]); - // }); + unReviewTousseGrid.onClick.subscribe(function (e, args){ + //被选中后不能触发双击事件 + // unReviewTousseGrid.setSelectedRows([args.row]); + }); /*********** 左边 页面的已加入的待审核器械包列表*************/ var forReviewGridColumns = [{ @@ -1172,19 +1174,19 @@ var forReviewGridOptions = { enableCellNavigation: true, enableColumnReorder: false, + forceFitColumns: true, // autoHeight: true, // rowHeight: 28, // editable: false, // enableAddRow: false, - // forceFitColumns: true, // checked: true, // enableForHeaderCells: false }; var forReviewGridDataView = new Slick.Data.DataView({ inlineFilters: true }); forReviewGrid = new Slick.Grid("#forReviewGridId", forReviewGridDataView, forReviewGridColumns, forReviewGridOptions); - attachAutoResizeDataGrid(forReviewGrid, 'forReviewGridId', 'forReviewGridContainer');//调整列宽高度 + attachAutoResizeDataGrid(forReviewGrid, 'forReviewGridId', 'forReviewGridContainer',128);//调整列宽高度 //当行数改变时触发 forReviewGridDataView.onRowCountChanged.subscribe(function (e, args) { forReviewGrid.updateRowCount(); @@ -1221,7 +1223,11 @@ }]; var reviewedChartGridOptions = { enableCellNavigation: true, - enableColumnReorder: false + enableColumnReorder: false, + // rowHeight: 28, + // editable: false, + // enableAddRow: false, + forceFitColumns: true//强迫适应宽度 }; var reviewedChartGridDataView = new Slick.Data.DataView({ inlineFilters: true @@ -1278,7 +1284,7 @@ * @param {*} checkboxSelector * @returns */ -function renderGrid(gridId, gridContainerId, columns, options, checkboxSelector) { +function renderGrid(gridId, columns, options, checkboxSelector) { var options = { enableCellNavigation: true, enableColumnReorder: false, @@ -1298,7 +1304,6 @@ if (!isUndefinedOrNullOrEmpty(checkboxSelector)) { grid.registerPlugin(checkboxSelector); } - attachAutoResizeDataGrid(grid, gridId, gridContainerId); grid.setSelectionModel(new Slick.RowSelectionModel({ selectActiveRow: false //单选 })); @@ -1362,7 +1367,6 @@ /** * - * * @param {*} grid * @param {*} url * @param {*} params @@ -1388,8 +1392,8 @@ // tousseName: i // }) // } + // grid.setData(a); // grid.setData(result.rows); - grid.setData(result.rows); grid.render(); }, error: function () { @@ -1399,8 +1403,7 @@ } /** - * - * + *获取被选中的行数据 * @param {*} grid * @returns */ @@ -1472,24 +1475,45 @@ } /********************************************************* */ /****************动态计算表格列宽************************ */ -function attachAutoResizeDataGrid(grid, gridId, gridContainerId) { +function attachAutoResizeDataGrid(grid, gridId, gridContainerId,bottom_padding) { var gridDomElm = $('#' + gridId); if (!gridDomElm || typeof gridDomElm.offset() === "undefined") { return null; } - resizeToFitBrowserWindow(grid, gridId, gridContainerId); + resizeToFitBrowserWindow(grid, gridId, gridContainerId,bottom_padding); $(window).on("resize", function () { - resizeToFitBrowserWindow(grid, gridId, gridContainerId); - resizeToFitBrowserWindow(grid, gridId, gridContainerId); + resizeToFitBrowserWindow(grid, gridId, gridContainerId,bottom_padding); + resizeToFitBrowserWindow(grid, gridId, gridContainerId,bottom_padding); }); } -function calculateGridNewDimensions(gridId, gridContainerId) { + +function resizeToFitBrowserWindow(grid, gridId, gridContainerId,bottom_padding) { + var newSizes = calculateGridNewDimensions(gridId, gridContainerId,bottom_padding); + if (newSizes) { + $('#' + gridId).height(newSizes.height); + $('#' + gridId).width(newSizes.width); + if (new RegExp('MSIE [6-8]').exec(navigator.userAgent) === null && grid) { + grid.resizeCanvas(); + } + } +}; + +function calculateGridNewDimensions(gridId, gridContainerId,bottom_padding) { var DATAGRID_MIN_HEIGHT = 0; var DATAGRID_MIN_WIDTH = 300; - var DATAGRID_BOTTOM_PADDING = 150; + if(!bottom_padding){ + bottom_padding = 0; + } + var DATAGRID_BOTTOM_PADDING = bottom_padding; var availableHeight = $(window).height() - $('#' + gridId).offset().top - DATAGRID_BOTTOM_PADDING; var availableWidth = $('#' + gridContainerId).width(); + if($('#' + gridId).offset().top == 0){ + availableHeight = $(window).height()-window.parent.$(".head-index").height()- window.parent.$(".content-index").height()-bottom_padding; + }; + if($('#' + gridContainerId).width() == 0){ + availableWidth=$(window).width(); + } // console.log('#' + gridContainerId + ":availableHeight-" + availableHeight); // console.log('#' + gridContainerId + ":availableWidth-" + availableWidth); var newHeight = availableHeight; @@ -1507,14 +1531,5 @@ }; }; -function resizeToFitBrowserWindow(grid, gridId, gridContainerId) { - var newSizes = calculateGridNewDimensions(gridId, gridContainerId); - if (newSizes) { - $('#' + gridId).height(newSizes.height); - $('#' + gridId).width(newSizes.width); - if (new RegExp('MSIE [6-8]').exec(navigator.userAgent) === null && grid) { - grid.resizeCanvas(); - } - } -}; + /************************************** */ \ No newline at end of file Fisheye: Tag 24918 refers to a dead (removed) revision in file `ssts-web/src/main/webapp/dx-disinfectsystem/js/reviewView/modifyTousseInstances.js'. Fisheye: No comparison available. Pass `N' to diff? Index: ssts-web/src/main/webapp/dx-disinfectsystem/js/reviewView/review-modifyTousseInstances.js =================================================================== diff -u --- ssts-web/src/main/webapp/dx-disinfectsystem/js/reviewView/review-modifyTousseInstances.js (revision 0) +++ ssts-web/src/main/webapp/dx-disinfectsystem/js/reviewView/review-modifyTousseInstances.js (revision 24918) @@ -0,0 +1,388 @@ +/**********************修改器械包显示******************************** */ +/** + *点击修改按钮,显示器械包修改模态框 + * @returns + */ +function modifyTousseInstances() { + // console.log("修改按钮"); + // var selectRecords = $('#unReviewTousseTable').bootstrapTable('getSelections'); + var selectRecords = getSelectedRowsData(unReviewTousseGrid); //右边待审核列表已选择的器械包信息 + // console.log(selectRecords); + if (selectRecords.length == 0) { + alert("请选择要修改的器械包!"); + // $(".alert-warning strong").text("请选择要修改的器械包!"); + // $("#warningAlert").show(); + return; + } + //选中的修改器械包ids + var tousseInstanceIds = ''; + for (var i = 0, len = selectRecords.length; i < len; i++) { + if (tousseInstanceIds == '') { + tousseInstanceIds = selectRecords[i].id; + } else { + tousseInstanceIds += ',' + selectRecords[i].id; + } + } + // console.log(tousseInstanceIds); + + //显示修改器械包模态框 + $("#modal-modifyTousseInstances").modal({ + show: true, + backdrop: "static" + }); + + //渲染点击提交事件 + $("#updateTousseInstance").one("click",updateTousseInstanceForModifyPackingRecord); + + //渲染下拉框 + renderDropDown1('packer', '/systemmanage/user/userAction!loadUsersBySearchString.do'); + renderDropDown1('reviewer2', '/systemmanage/user/userAction!loadUsersBySearchString.do'); + renderDropDown2('sterilingType2', '/disinfectSystem/baseData/sterilizerAction!getSterilizerTypeAndSterilizationPurpose.do'); + renderDropDown2('packageType', '/disinfectSystem/baseData/expirationDateInfoAction!getPackageType.do'); + + //重写select2 回车事件用于 回车时根据条码获得用户信息 + resetEvent("packer"); + resetEvent("reviewer2"); + + //渲染回车事件 + /** + */ + // $("#packer").next().find('.select2-search__field').on('keydown',function(event){ + // console.log('进入了'); + // if (event.keyCode == 13) { + // var barcode = $("#packer").next().find('.select2-search__field').val(); + // if(isValidBarcode(barcode)){ + // console.log(barcode); + // //扫描条码获取用户信息 + // scanBarcodeForUser(barcode); + // } + // } + // }); + +}; + +/** + *重写select2 keypress触发事件 + * @param {id} 下拉框id + */ +function resetEvent(id) { + var select2 = $("#" + id).data().select2; + select2.listeners.keypress = [function (evt) { + var KEYS = { + BACKSPACE: 8, + TAB: 9, + ENTER: 13, + SHIFT: 16, + CTRL: 17, + ALT: 18, + ESC: 27, + SPACE: 32, + PAGE_UP: 33, + PAGE_DOWN: 34, + END: 35, + HOME: 36, + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40, + DELETE: 46 + }; + var self = select2; + var key = evt.which; + if (self.isOpen()) { + if (key === KEYS.ESC || key === KEYS.TAB || (key === KEYS.UP && evt.altKey)) { + self.close(); + evt.preventDefault(); + } else if (key === KEYS.ENTER) { + // console.log(self); + var barcode = $('#' + id).next().find('.select2-search__field').val(); //当前文本框的文本 + var selectedVal = $('#' + id).val(); //已被选中的选项 + var maximumSelectionLength = select2.dataAdapter.maximumSelectionLength //最大可以选择的次数 + // console.log(maximumSelectionLength); + // console.log(selectedVal); + // console.log(barcode); + var count = isUndefinedOrNullOrEmpty(selectedVal) ? 0 : selectedVal.length; + if (count < maximumSelectionLength && isValidBarcode(barcode)) { + //调用扫描条码获得人员的方法 + scanBarcodeForUser(id, barcode); + } else { + self.trigger('results:select', {}); + evt.preventDefault(); + } + } else if ((key === KEYS.SPACE && evt.ctrlKey)) { + self.trigger('results:toggle', {}); + evt.preventDefault(); + } else if (key === KEYS.UP) { + self.trigger('results:previous', {}); + evt.preventDefault(); + } else if (key === KEYS.DOWN) { + self.trigger('results:next', {}); + evt.preventDefault(); + } + } else { + if (key === KEYS.ENTER || key === KEYS.SPACE || (key === KEYS.DOWN && evt.altKey)) { + self.open(); + evt.preventDefault(); + } + } + }]; +} + +//是否为有效的条码 +function isValidBarcode(barcode) { + var re = /^([0-9]{9})$/; + if (re.test(barcode)) { + return true; + } else { + return false; + } +} + +/** + * + *调用下拉框扫描条码获取人员接口 + * @param {*} barcode + */ +function scanBarcodeForUser(id, barcode) {//没接口 + // console.log("用户条码" + barcode); + + var data = { + id: 1, + text: '测试人员' + }; + if ($('#' + id).find("option[value='" + data.id + "']").length) { + $('#' + id).val(data.id).trigger('change'); + } else { + // Create a DOM Option and pre-select by default + var newOption = new Option(data.text, data.id, true, true); + // Append it to the select + $('#' + id).append(newOption).trigger('change'); + } + $('#' + id).next().find('.select2-search__field').val(null); //修改当前文本框的文本为空 + $('#' + id).select2('close'); + // $('#'+id).val('1'); + + //暂时没接口 + /* $.ajax({ + type: 'get', + url: 'http://rap2api.taobao.org/app/mock/85153/disinfectSystem/tousseInstanceController/scanBarcodeForReview.mhtml', + //url: WWWROOT + "/disinfectSystem/packingReviewController/scanBarcode.mhtml", // + async: false, + dataType: 'json', + data: { + barcode: barcode, + }, + success: function (result) { + console.log(result); + if(result.success){ + + }else{ + alert(result.message); + } + }, + error: function () { + + } + }) */ +} + +/** + *更新器械包 + */ +function updateTousseInstanceForModifyPackingRecord() { + // var selectRecords = $('#unReviewTousseTable').bootstrapTable('getSelections'); + var selectRecords = getSelectedRowsData(unReviewTousseGrid); + // console.log(selectRecords); + if (selectRecords.length == 0) { + alert("获取不到要修改的器械包!"); + // $(".alert-warning strong").text("请选择要修改的器械包!"); + // $("#warningAlert").show(); + return; + } + //选中的修改器械包ids + var tousseInstanceIds = ''; + for (var i = 0, len = selectRecords.length; i < len; i++) { + if (tousseInstanceIds == '') { + tousseInstanceIds = selectRecords[i].id; + } else { + tousseInstanceIds += ',' + selectRecords[i].id; + } + } + + // console.log(tousseInstanceIds); + var sterilingType2 = $("#sterilingType2").val(); //灭菌程序 + var packageType = $("#packageType").val(); //包装类型 + var packer = $("#packer").val(); //配包人 + var packerCode2 = $("#packer").val(); + var reviewer2 = $("#reviewer2").val(); //审核人 + var reviewerCode2 = $("#reviewer2").val(); + var sterileStartTime2 = $("#sterileStartTime").val(); //灭菌开始时间 + var sterilizer2 = $("#sterilizer2").val(); //灭菌炉 + var frequency2 = $("#frequency2").val(); //炉次 + + var modificationInfo = { + 'packer': packer, + 'packerCode': packerCode2, + 'reviewer': reviewer2, + 'reviewerCode': reviewerCode2, + 'sterilingType': sterilingType2, + 'packageType': packageType, + 'sterilizer': sterilizer2, + 'frequency': frequency2, + 'sterileStartTime': sterileStartTime2 + } + // console.log(modificationInfo); + var update = false; + for (var mp in modificationInfo) { + if (modificationInfo.hasOwnProperty(mp) && !isUndefinedOrNullOrEmpty(modificationInfo[mp])) { + update = true; + } + } + if (update) { + // 更新器械包 + //updateTousseInstance(tousseInstanceIds,modificationInfo);//没接口 + } + $("#modal-modifyTousseInstances").modal('hide'); +} + +/** + *修改更新器械包信息接口 + * @param {*} tousseInstanceIds + * @param {*} modificationInfo + */ +function updateTousseInstance(tousseInstanceIds, modificationInfo) {//没接口 + $.ajax({ + type: "method", + url: "url", + data: { + modificationInfo: modificationInfo, + tousseInstanceIds: tousseInstanceIds + }, + dataType: "dataType", + success: function (response) { + + } + }); +} + +/******************************************************************** */ + +/** + *下拉框1 + * @param {*} elementId + * @param {*} url + * @param {*} maximumSelectionLength + */ +function renderDropDown1(elementId, url, maximumSelectionLength) {//没接口 + $("#" + elementId).select2({ + //tags:false,//是否可以自由填选项 + language: 'zh-CN', //转为中文版 + placeholder: '关键词搜索', + // closeOnSelect: true, + multiple: true, + allowClear: true, //true 则显示x 可以清除全部 + maximumSelectionLength: 1, //最多可以选择多少个值 + minimumInputLength: 1, //输入多少值时开始搜索 + ajax: { + url: WWWROOT + url, + dataType: 'json', + type: 'get', + cache: true, + delay: 1000, //在发送请求之前,用户停止输入需要延迟的时间 + data: function (params) { + return { + spell: params.term, // 关键词 + limit: 20, + page: params.page || 1, //第几页返回查询 + offset: ((params.page || 1) - 1) * 20 + }; + }, + processResults: function (data, params) { + return { + //result: select2DataFormat(dataArray, resultFormId, resultFormText), + results: [ + /* { + id: 1, + text: 1 + }, { + id: 2, + text: 2 + } */ + ], + paginate: { //是否滚动分页 + more: (params.page || 1 * 20) < data.count + } + } + } + } + }); + $("#" + elementId).next().attr('style', 'width:100%;'); +} + +/** + * + *下拉框2 + * @param {*} elementId + * @param {*} url + * @param {*} resultFormId + * @param {*} resultFormText + */ +function renderDropDown2(elementId, url, resultFormId, resultFormText) {//没接口 + // console.log(elementId); + $("#" + elementId).select2({ + language: 'zh-CN', //转为中文版 + minimumResultsForSearch: Infinity, //隐藏搜索框 + ajax: { + url: WWWROOT + url, + dataType: 'text', //暂时用则 + // dataType:'json', + type: 'get', + data: function (params) { + return { + limit: 20, + page: params.page || 1, //第几页返回查询 + offset: ((params.page || 1) - 1) * 20 + } + }, + processResults: function (data, params) { //加工结果 + //console.log(data) + return { + results: [ + /* { + id: 1, + text: 1 + }, { + id: 2, + text: 2 + } */ + ], + //result: select2DataFormat(dataArray, resultFormId, resultFormText), + paginate: { //是否滚动分页 + // more: (params.page||1 * 20) < data.count + more: false + } + } + } + } + }) + $("#" + elementId).next().attr('style', 'width:100%;'); +} + +/** + * + *返回select2插件规定的数据格式 + * @param {*} dataArray + * @param {*} id + * @param {*} text + * @returns + */ +function select2DataFormat(dataArray, id, text) { + var result = []; + $.map(dataArray, function (obj) { + var data = {}; + data.id = obj[id] + data.text = obj[text] + result.push(data); + }) + return result +} \ No newline at end of file