Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java =================================================================== diff -u -r18175 -r18209 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 18175) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 18209) @@ -878,7 +878,8 @@ updateItemsApplyInfo(applicationItemMap, diposableJsonArray,applicationId); - if (diposableJsonArray.size() > 0) { + appendJsonString(rightStoreJson, diposableJsonArray.toString()); + /*if (diposableJsonArray.size() > 0) { for (int i = 0; i < diposableJsonArray.size(); i++) { if (i < size) { appendJsonString(leftStoreJson, @@ -888,7 +889,7 @@ diposableJsonArray.get(i).toString()); } } - } + }*/ } } } @@ -936,7 +937,7 @@ updateItemsApplyInfo(applicationItemMap, diposableJsonArray,applicationId); - int size = diposableJsonArray.size(); + /*int size = diposableJsonArray.size(); if (size > 0) { int maxRowsPerStore = size / 2; for (int i = 0; i < size; i++) { @@ -946,7 +947,8 @@ appendJsonString(rightStoreJson, diposableJsonArray.get(i).toString()); } } - } + }*/ + appendJsonString(rightStoreJson, diposableJsonArray.toString()); } } } Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsTemplateApplicationView.js =================================================================== diff -u -r18100 -r18209 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsTemplateApplicationView.js (.../goodsTemplateApplicationView.js) (revision 18100) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsTemplateApplicationView.js (.../goodsTemplateApplicationView.js) (revision 18209) @@ -36,6 +36,8 @@ 'printMask' : null, 'loadMask' : null } +//弹窗提示管理器 +var tipManager = {}; // 打开表单的对象 var openFormObj = { @@ -1767,7 +1769,8 @@ header : "物品", xtype : 'treecolumn', dataIndex : 'name', - flex : 1, + // flex : 1, + width : 310, sortable: false },{ header : "最小单位数量", @@ -1819,7 +1822,7 @@ },{ header : "单位", dataIndex : 'unit', - width : 45 * fontSizeScale, + width : 42 * fontSizeScale, hidden:type=='器械包申请单'?true:false, menuDisabled : true },{ @@ -1833,7 +1836,7 @@ },{ id:'rowTotalPrice2', header : "小计", - width : 62 * fontSizeScale, + width : 56 * fontSizeScale, hidden : sstsConfig.hideDisposablePriceColumn, align:'right', dataIndex : 'totalPrice', @@ -2652,6 +2655,13 @@ flex : 1, height : configWinHeight - 200, store : rightTemplateStore, + listeners : { + itemmouseenter: function (_this, record, item, index, e, eOpts) { + var tousseDefinitionID = record.get('tousseDefinitionID'); + var tousseType = record.get('tousseType'); + popGoodTips(tousseDefinitionID + tousseType, item, record); + } + }, tbar : [{ text:"数量:" },{ @@ -3804,6 +3814,55 @@ }; } +/** + * 构建物品的提示框html + * @param name 物品的名字 + * @param nameWidth 物品的宽度 + * @returns {string} + */ +function buildTBodyContent(name, nameWidth) { + var tBodyContent = ""; + tBodyContent += + "" + + "" + name + "" + + ""; + return tBodyContent; +} + +/** + * 弹出物品的名称提示窗 + * @param cacheId 这个窗口的缓存标识 + * @param target 要渲染的地方 + * @param record 要显示的内容 + */ +function popGoodTips(cacheId, target, record) { + var title = "申请物品情况:

"; + var nameWidth = '100px'; + var tHeadConfig = { + '名称': nameWidth + } + //获得提示框的对象 + var tableTips = ext2CompUtil.getTableTips(); + var winConfig = { + title: title, + tipManagerCache: tipManager, + tipManagerCacheId: cacheId, + target: target, + minWidth: 480, + minHeight: 130, + extObj: top.Ext4 + } + tableTips.popTipWinWithLocalRecord(winConfig, function () { + var tBodyContent = buildTBodyContent(record.get('name'), nameWidth); + var tipTable = tableTips.buildTaleTipsWithSetting(tHeadConfig, tBodyContent, winConfig); + if (!tipManager[cacheId]) { + //将生成的html用对应的id缓存到页面,减少请求服务器次数 + tipManager[cacheId] = tipTable; + } + }); +} + + Ext.onReady(function() { Ext.QuickTips.init(); Index: ssts-web/src/main/webapp/js/Ext2CompUtil.js =================================================================== diff -u -r16279 -r18209 --- ssts-web/src/main/webapp/js/Ext2CompUtil.js (.../Ext2CompUtil.js) (revision 16279) +++ ssts-web/src/main/webapp/js/Ext2CompUtil.js (.../Ext2CompUtil.js) (revision 18209) @@ -177,7 +177,35 @@ } }); } + /** + * 用本地数据弹出窗口 + * @param winConfig 弹窗提示框配置(里面有grid,url,title,tipManagerCache) + * @param fn 回调函数 + */ + tableTips.popTipWinWithLocalRecord = function (winConfig, fn) { + var me = this; + var tipManagerCache = winConfig.tipManagerCache; + var id = winConfig.tipManagerCacheId; + var tipTable = tipManagerCache[id]; + if (tipTable) { + me.register({ + text: tipTable, + target: winConfig.target, + title: winConfig.title, + // 最大宽度 + maxWidth: winConfig.maxWidth || 500, + // 最小宽度 + minWidth: winConfig.minWidth || 300, + maxHeight: winConfig.maxHeight || 500, + minHeight: winConfig.minHeight || 150 + }, winConfig.extObj); + } + else { + fn(); + } + } + /** * 加载提示信息 * @param url 请求的url * @param id 该项对应的id @@ -217,14 +245,17 @@ * 生成弹窗小提示 * @param tipConfig 相关配置(必传text,target,title) */ - tableTips.register = function (tipConfig) { - new Ext.ToolTip({ + tableTips.register = function (tipConfig, extObj) { + var obj = extObj || Ext; + new obj.ToolTip({ html: tipConfig.text, target: tipConfig.target, // 最大宽度 maxWidth: tipConfig.maxWidth || 500, // 最小宽度 minWidth: tipConfig.minWidth || 300, + maxHeight: tipConfig.maxHeight || 500, + minHeight: tipConfig.minHeight || 150, //允许溢出 overflowY: 'scroll', overflowX: 'scroll', @@ -257,16 +288,35 @@ * @param title 提示框的信息 */ tableTips.buildTaleTips = function (tHeadConfig, tBodyContent, target, title) { + var toolTipSetting = { + target: target, + title: title + }; + return this.buildTaleTipsWithSetting(tHeadConfig, tBodyContent, toolTipSetting); + } + + /** + * 使用对应的配置项建立提示框 + * @param tHeadConfig table的head设置 + * @param tBodyContent table的正文内容 + * @param toolTipSetting 要弹出的提示框对应的配置项 + * @returns {string} + */ + tableTips.buildTaleTipsWithSetting = function (tHeadConfig, tBodyContent, toolTipSetting) { var me = this; var tableBuilder = ext2CompUtil.getTableBuilder(); //获得生成的table的html var tipTable = tableBuilder.createTable(tHeadConfig, tBodyContent); - var tipContent = { + var tipConfig = { text: tipTable, - target: target, - title: title + target: toolTipSetting.target, + title: toolTipSetting.title, + maxWidth: toolTipSetting.maxWidth || 500, + minWidth: toolTipSetting.minWidth || 300, + maxHeight: toolTipSetting.maxHeight || 500, + minHeight: toolTipSetting.minHeight || 150 }; - me.register(tipContent); + me.register(tipConfig, toolTipSetting.extObj); //返回页面做缓存,不能用register和tipContent返回,tipContent会缓存target,所以鼠标指向的地方要和第一次生成的地方一致才能正常显示,而register会有部分生成不了 return tipTable; } Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp =================================================================== diff -u -r18013 -r18209 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp (.../goodsApplicationView.jsp) (revision 18013) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp (.../goodsApplicationView.jsp) (revision 18209) @@ -160,6 +160,7 @@ +