desktop.jsp 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. <%@ page language="java" pageEncoding="UTF-8" isELIgnored="false" %>
  2. <%@ taglib uri="/ssTag" prefix="ss"%>
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6. <meta http-equiv="pragma" content="no-cache">
  7. <meta http-equiv="cache-control" content="no-cache">
  8. <meta http-equiv="expires" content="0">
  9. <script>window.loginStatus="${empty sessionScope['ssUser']?'0':'1'}"</script>
  10. <ss:skin file='main.css'/>
  11. <script type="text/javascript" src="/ss/jquery/jquery.js"></script>
  12. <script type="text/javascript" src="/ss/artdialog/artDialogUtil.js"></script>
  13. <script type="text/javascript" src="/ss/js/base.js"></script>
  14. <script> if(!window.wd) var wd={}; if(!wd.display) wd.display={}; wd.display.wdDialogId="1"; if(!wd.app) wd.app={}; wd.app.name='pms';</script>
  15. <script type="text/javascript" src="/ss/js/masklayer.js"></script>
  16. <script type="text/javascript" src="/ss/js/wdDialogInit.js"></script>
  17. <script type="text/javascript" src="/ss/js/common.js"></script>
  18. <script type="text/javascript" src="/ss/js/display.js"></script>
  19. <script type="text/javascript" src="/ss/js/edit.js"></script>
  20. <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.js"></script>
  21. <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.iframehelper.min.js"></script>
  22. <title>首页模板个人</title>
  23. <!-- 调用jquery,注意你放置的目录不要搞错了哦! -->
  24. <script type="text/javascript" src="/ss/jquery/jquery-1.7.2.min.js"></script>
  25. <!-- 调用gridster.js和css,注意你放置的目录不要搞错了哦! -->
  26. <script type="text/javascript" src="/ss/gridster/jquery.gridster.min.js"></script>
  27. <script type="text/javascript" src="/ss/gridster/Gridster-Wd.js"></script>
  28. <link rel="stylesheet" type="text/css" href="/ss/gridster/theme/jquery.gridster.min.css">
  29. <script type="text/javascript" src="/ss/menu/dhtmlxmenu_ext.js"></script>
  30. <%-- 去掉,上面已经有了。Lin(新UI)
  31. <script type="text/javascript" src="/ss/js/base.js"></script>
  32. --%>
  33. <script type="text/javascript" src="/ss/artdialog/artDialogUtil.js"></script>
  34. <script type="text/javascript" src="/ss/js/masklayer.js"></script>
  35. <script type="text/javascript" src="/ss/js/wdDialogInit.js"></script>
  36. <%-- 去掉,上面已经有了。Lin(新UI)
  37. <script type="text/javascript" src="/ss/js/display.js"></script>
  38. --%>
  39. <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.js"></script>
  40. <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.iframehelper.min.js"></script>
  41. <link rel="stylesheet" type="text/css" href="/ss/window/theme/dhtmlxwindows.css">
  42. <link rel="stylesheet" type="text/css" href="/ss/window/theme/dhx_blue/dhtmlxwindows_dhx_blue.css">
  43. <script type="text/javascript" src="/ss/window/dhtmlxcommon.js"></script>
  44. <script type="text/javascript" src="/ss/window/dhtmlxwindows.js"></script>
  45. <script type="text/javascript" src="/ss/window/dhtmlxcontainer.js"></script>
  46. <%-- 去掉,上面已经有了。Lin(新UI)
  47. <script type="text/javascript" src="/ss/js/common.js"></script>
  48. --%>
  49. <script type="text/javascript" src="/ss/js/growHeight.js"></script>
  50. <style>
  51. <%--首页部件居中--%>
  52. .gridster>ul {
  53. margin-top: 5px;
  54. margin-bottom: 30px;
  55. margin-left: 0px;
  56. width:100%;
  57. height:100%;
  58. background-color: rgba(255, 255, 255, 0);
  59. margin: 0 auto;
  60. }
  61. <%--首页部件关闭按钮--%>
  62. .gridster .close {
  63. background-image: url("/ss/gridster/img/close-1.png");
  64. cursor: pointer;
  65. right: 1px;
  66. top: 1px;
  67. position: absolute;
  68. width: 15px;
  69. height: 15px;
  70. font-size: 0;
  71. z-index: 2;
  72. }
  73. <%--工具条--%>
  74. .pg_cj {
  75. position: relative;
  76. top: 0px;
  77. left: 0px;
  78. width: 100%;
  79. height: 100%;
  80. overflow: auto;
  81. }
  82. .nav_btn {
  83. position: fixed;
  84. top: 12;
  85. z-index: 1111;
  86. width: 100%;
  87. margin-left:5px;
  88. }
  89. </style>
  90. </head>
  91. <body>
  92. <div id="slder"
  93. style="display:none; width:987px; height:35px;">
  94. <div class="nav_btn">
  95. <%-- <button class="content-button" onclick="saveedit()">
  96. 保存
  97. </button>
  98. <button class="content-button" onclick="exitEdit()">
  99. 取消
  100. </button> --%>
  101. <%-- &nbsp;&nbsp; &nbsp;&nbsp;拿到用户Id:${sessionScope['wd.yh'].yhId} --%>
  102. <input type="hidden" value="${sessionScope['ssUser'].ryid}" id="yhid" />
  103. <input type="hidden" value="${sessionScope['ssUser'].xm}" id="xm" />
  104. <%-- <select name="sdf" id="addslt" class="sel">
  105. <option value="0">请选择</option>
  106. <logic:iterate id="bjlb" name="bjlblist">
  107. <option value='<bean:write name="bjlb" property="bjlbm"/>' >
  108. <bean:write name="bjlb" property="mc"/>
  109. </option>
  110. </logic:iterate>
  111. </select> --%>
  112. <%--
  113. 类别:
  114. <select id="bjlbSelect">
  115. <option>
  116. --请选择--
  117. </option>
  118. <logic:iterate id="bjlb" name="bjlblist">
  119. <option value='<bean:write name="bjlb" property="bjlbm"/>'>
  120. <bean:write name="bjlb" property="mc" />
  121. [
  122. <bean:write name="bjlb" property="bjlistsize" />
  123. ]
  124. </option>
  125. </logic:iterate>
  126. </select>
  127. 部件:
  128. <select class="sybj">
  129. <option>
  130. --请选择--
  131. </option>
  132. </select>
  133. <logic:iterate id="bjlb" name="bjlblist">
  134. <select id="addslt" class="sybj">
  135. <option>
  136. ----请选择部件----
  137. </option>
  138. <logic:iterate id="bj" name="bjlb" property="bjlist">
  139. <option value='<bean:write name="bj" property="bjid"/>'>
  140. <bean:write name="bj" property="mc" />
  141. </option>
  142. </logic:iterate>
  143. </select>
  144. </logic:iterate>
  145. <script>
  146. var selectSybj=0;
  147. //级联菜单绑定事件
  148. (function initCascadeForSybj(){
  149. $("#bjlbSelect").change(function(){
  150. //console.info("onchange方法");
  151. $("#bjlbSelect option").each(function(i,o){
  152. //console.info("打印select: "+$(this).prop("selected"));
  153. if($(this).attr("selected"))
  154. {
  155. $(".sybj").hide();
  156. $(".sybj").eq(i).show();
  157. //console.info("选中第"+i+"个");
  158. selectSybj=i;
  159. }
  160. });
  161. });
  162. $("#bjlbSelect").change();
  163. })();
  164. </script>
  165. --%>
  166. <input name="symbbjlb" placeholder="类别" width="120px" />
  167. <input name="symbbjid" placeholder="部件" width="100px"/>
  168. <ss:ccp name='bjlb_bj@symb'/>
  169. <button class="content-button" onclick="add()">
  170. 增加
  171. </button>
  172. <button class="content-button" onclick="saveedit()">
  173. 保存
  174. </button>
  175. <button class="content-button" onclick="exitEdit()">
  176. 取消
  177. </button>
  178. <%--
  179. <button class="content-button" onclick="reset();">
  180. 重置
  181. </button>
  182. --%>
  183. </div>
  184. </div>
  185. <div id="pg_cj" class="pg_cj scrollbar" style="position:relative;top:0px;left:0px;width:100%;height:100%;overflow:auto;padding-top:25px;">
  186. <div class="gridster ready" style="width:100%;margin: auto;">
  187. <ul style="position: relative;padding-bottom: 25px;">
  188. </ul>
  189. </div>
  190. </div>
  191. <ss:help/>
  192. </body>
  193. <script>
  194. //测试 准备读取的数据
  195. var json='${json}';
  196. var SESSION_STATE="${sessionScope['SESSION_STATE']}";
  197. var EditType="${sessionScope['Edit-Type']}";
  198. if(SESSION_STATE==''){
  199. alert("登录超时");
  200. wd.topWindow.location.href = "/";
  201. }
  202. //Gridster参数
  203. var widget_base_dimensions=[dimensions,dimensions]; //宽高的单位像素
  204. var widget_margins=[margins,margins]; //模块的间距像素 [上下,左右]
  205. //通过javascript脚本来配置拖动实例,随后我们会讲每个配置参数的意义
  206. //首先定义一个变量gridster,为了以后调用gridster的方法
  207. var gridster;
  208. var SYBJCTRL;
  209. $(function() {
  210. gridster = $(".gridster ul").gridster({ //通过jquery选择DOM实现gridster
  211. widget_base_dimensions:widget_base_dimensions, //模块的宽高 [宽,高]
  212. widget_margins: widget_margins, //模块的间距 [上下,左右] //5.1?? 避免gridster Bug,新增时总存在缝隙会导致生成位置有错 by Rd 2016-01-07
  213. autogrow_rows: true,
  214. autogrow_cols:true,
  215. max_cols: Math.max($(wd.topWindow).outerWidth(true),calWidthAndHeight(1025)),//最大1024宽度
  216. draggable: {
  217. handle: null //'header' //模块内定义拖动的元素<header>,这里也支持jquery选择器,如"span.drag_handle"
  218. },
  219. helper: 'clone',
  220. resize: {
  221. enabled: true,
  222. resize:function(e, ui, $widget){
  223. $widget.find("[onload]").trigger("onload");
  224. }
  225. }
  226. }).data('gridster');
  227. SYBJCTRL=new GridsterWd(gridster,json);//初始化首页部件控制器 by Rd 2015-12-24
  228. });
  229. function saveedit() {
  230. SYBJCTRL.saveedit(SESSION_STATE);
  231. };
  232. function reset(){
  233. SYBJCTRL.reset();
  234. }
  235. // 初始化编辑
  236. function userEdit(gfOrgr) {
  237. SYBJCTRL.userEdit(gfOrgr);
  238. };
  239. function yesedit() { //开启编辑模式
  240. SYBJCTRL.yesedit();
  241. edit_en=true;
  242. };
  243. function closediv(obj) {
  244. SYBJCTRL.closediv(obj);
  245. };
  246. //新增方法
  247. function add() {
  248. // var sybjsjLb = $('#bjlbSelect')[0].value;
  249. // var sybjsjId = $(".sybj").eq(selectSybj).val();
  250. var sybjsjLb = $('[name=symbbjlb]')[0].value;
  251. var sybjsjId =$('[name=symbbjid]')[0].value;
  252. var data=SYBJCTRL.getParams("serviceType=2&sybjsjLb="+sybjsjLb+"&sybjsyId="+sybjsjId);
  253. //请求服务获得数据信息
  254. if(data["bjId"]){
  255. //新部件改为放在最后
  256. var new_col=1;
  257. var new_row=1;
  258. $("li.gs-w").each(function(){
  259. new_row=Math.max($(this).data("row")+$(this).data("sizey"),new_row);
  260. });
  261. gridster.add_widget2(data["bjId"],data["bjLb"],data["serviceUrl"],calWidthAndHeight(data["size_x"]),calWidthAndHeight(data["size_y"]),new_col,new_row);
  262. var liId="#"+data['bjId'];
  263. //返回部件代码
  264. $(liId+" ."+SYBJCTRL.containerForLoad).load(data["serviceUrl"],{"sybjId":data["bjId"],"sybjLb":data["bjLb"],"serviceUrl":data["serviceUrl"]},function(){
  265. $(liId+" ."+SYBJCTRL.imgheader).attr({style:SYBJCTRL.flushIconStyle});
  266. SYBJCTRL.scrollEvent(liId);
  267. });
  268. $(this).on('click','.'+SYBJCTRL.imgheader,function(){//绑定刷新事件
  269. SYBJCTRL.flushBj(liId);
  270. });
  271. }
  272. }
  273. //加载部件(初始化数据并绑定刷新事件)
  274. function loadHtmlAndBindFlushEvent() {
  275. $("li.gs-w").on("click",'.'+SYBJCTRL.imgheader,function(){
  276. var id=$(this).parents("[initurl]").attr("id");
  277. if(id)
  278. SYBJCTRL.flushBj("#"+id, this);
  279. }).on('mousedown',function(){
  280. var id=$(this).attr("id");
  281. if(id)
  282. SYBJCTRL.EventCtrl.setBjId("#"+id);
  283. });
  284. //遍历类名为gs-w的元素
  285. $("li.gs-w").each(function(){
  286. try{
  287. //有li标签拿到bjId,bjLb,initUrl
  288. var id=$(this).attr("id");
  289. var bjLb=$(this).attr("bjlb");
  290. var initUrl=$(this).attr("initurl");
  291. //返回部件代码,并绑定刷新事件
  292. $(this).find("."+SYBJCTRL.containerForLoad).load(initUrl,{"sybjId":id,"sybjLb":bjLb});
  293. }catch(e){
  294. console.log(e)
  295. }
  296. });
  297. }
  298. function flushBj(liId){
  299. SYBJCTRL.flushBj(liId);
  300. }
  301. //页面加载完自动调用初始化方法
  302. window.onload = function() {
  303. SYBJCTRL.initGridster();
  304. SYBJCTRL.noedit();
  305. //console.info("菜单显示状态:" + "${sessionScope['Edit-Open']}");
  306. if ('0' != EditType) { //不为0开启编辑菜单
  307. //console.info("开启编辑菜单");
  308. SYBJCTRL.yesedit();
  309. }
  310. if(SESSION_STATE== "SESSION_STATE_MAIN_BG") { //不为0开启编辑菜单
  311. SYBJCTRL.yesedit();
  312. }
  313. wd.topWindow.gxhymWindow = window;
  314. loadHtmlAndBindFlushEvent();
  315. }
  316. // window.onbeforeunload=function(){
  317. // SYBJCTRL.rollBackChangeAndExit();
  318. // }
  319. function exitEdit(){
  320. SYBJCTRL.rollBackChangeAndExit();
  321. wd.topWindow.wd.display.home();
  322. }
  323. </script>
  324. </html>
  325. <script type="text/javascript">
  326. tokenCleanser("<ss:serv name='ss.clearPageToken'/>", {tokenList:"<%= pageContext.getAttribute(ss.page.PageC.PAGE_tokenList)%>"});
  327. </script>