desktop.jsp 12 KB

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