pchtSet.ss.jsp 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. #savemb {
  6. display: none;
  7. }
  8. #delmb {
  9. display: none;
  10. }
  11. .list-zbdata {
  12. min-height: 41px;
  13. line-height: 41px;
  14. padding-left: 28px;
  15. width: calc(100% - 4px);
  16. box-sizing: border-box;
  17. overflow: hidden;
  18. text-overflow: ellipsis;
  19. white-space: nowrap;
  20. }
  21. </style>
  22. </head>
  23. <script type="text/javascript">
  24. //从请求中获得
  25. var grtjid = "${grtjid}"; //个人统计图ID
  26. /* 改,PstatServ.initPchtSet() 里,把 yjTjzb(Map<String, Object>) 改为 yjtjzbm(Long)。Lin
  27. var yjzbid = "${yjTjzb.tjzbm}"; //个人统计图对应的一级统计指标ID
  28. */var yjzbid = "${yjtjzbm}"; //个人统计图对应的一级统计指标ID
  29. var yhid = "${yhid}"; //当前用户的ID
  30. var yxlist = "${yxlist}";
  31. var kxlist = "${kxlist}";
  32. /* 再改,增加 desc -- mc(名称) 自动填写为 desc。Lin
  33. function selectYjzb(value) {
  34. */function selectYjzb(value, desc) {
  35. $.ajax({
  36. type: "post",
  37. /* 改,"wdToken" 没用到。Lin
  38. url: "@service{name:'ajax_getZbInfo',param:{wdToken:'5'}}@",
  39. */ url: "<serv.ss name='wrPchtSet'/>",
  40. async: false,
  41. dataType: "json", // 增加,统一 Ajax 返回标准 -- .ssCode、.ssMsg、.ssData。Lin
  42. data: {
  43. 'grtjid': grtjid ? grtjid : 0,
  44. 'yjtjzbm': value, // 'yjzbid':。应该是 统计指标码。Lin
  45. 'dxm': "${dxm}"
  46. },
  47. success: function(data) {
  48. console.info(data);
  49. /* 改,增加错误处理 -- 统一 Ajax 返回标准 -- .ssCode、.ssMsg、.ssData。Lin
  50. data = eval('(' + data + ')');
  51. if (data.success) {
  52. */
  53. if (data.ssCode != 0) {
  54. alert(data.ssMsg);
  55. } else {
  56. /// 增加,增加 desc -- mc(名称) 自动填写为 desc。Lin
  57. $("#grtjmc").val(desc);
  58. ///
  59. $("#tjzbSelected").empty(); //清空已选的指标
  60. $("#tjzbOption").empty(); //清空可选的指标
  61. var html = "";
  62. for (var i = 0; i < data.ssData.yxList.length; i++) {
  63. var item = data.ssData.yxList[i];
  64. html += '<div ssObjId="' + item.tjzbm + '" ssPobjId="' + item.sjtjzbm + '" class="list-background list-zbdata list"> ' + ' <span>名称:' + item.mc + ';</span>' + ' <span>描述:' + (item.ms == undefined ? "" : item.ms) + ';</span>' + ' </div>';
  65. if (item.sanjzblist) {
  66. for (var j = 0; j < item.sanjzblist.length; j++) {
  67. var sjitem = item.sanjzblist[j];
  68. html += ' <div ssObjId="' + sjitem.tjzbm + '" ssPobjId="' + sjitem.sjtjzbm + '" class="list-background list-zbdata list"> ' + '<span>名称:' + sjitem.mc + '</span>' + '<span>描述:' + (item.ms == undefined ? "" : item.ms) + ';</span>' + '</div>';
  69. }
  70. }
  71. }
  72. $("#tjzbSelected").append(html);
  73. var kxHtml = "";
  74. for (var i = 0; i < data.ssData.kxList.length; i++) {
  75. var item = data.ssData.kxList[i];
  76. kxHtml += '<div ssObjId="' + item.tjzbm + '" ssPobjId="' + item.sjtjzbm + '" class="list-background list-zbdata list"> ' + ' <span>名称:' + item.mc + ';</span>' + ' <span>描述:' + (item.ms == undefined ? "" : item.ms) + ';</span>' + ' </div>';
  77. if (item.sanjzblist) {
  78. for (var j = 0; j < item.sanjzblist.length; j++) {
  79. var sjitem = item.sanjzblist[j];
  80. kxHtml += ' <div ssObjId="' + sjitem.tjzbm + '" ssPobjId="' + sjitem.sjtjzbm + '" class="list-background list-zbdata list"> ' + '<span>名称:' + sjitem.mc + '</span>' + '<span>描述:' + (item.ms == undefined ? "" : item.ms) + ';</span>' + '</div>';
  81. }
  82. }
  83. }
  84. $("#tjzbOption").append(kxHtml);
  85. DM.getDrager().optionList.reload()
  86. DM.getDrager().selectedList.reload()
  87. }
  88. }
  89. });
  90. }
  91. function deleteECharts() {
  92. var f = document.getElementById("myForm");
  93. /* 改,去掉 'yhid'、'msg',delPstat 里没用到。Lin
  94. f.action = "@service{name:'deleteGrtj',dest:'sys_info',param:{grtjid:'${grtjid}',yhid:'${yhid}',dxm:'${dxm}',grtjmbid:'${grtjmbid}',msg:'删除成功'}}@";
  95. */ f.action = "<serv.ss name='delPstat' dest='info' parm='{grtjid:"${grtjid}",dxm:"${dxm}",grtjmbid:"${grtjmbid}"}'/>";
  96. f.submit();
  97. }
  98. function saveECharts() {
  99. var tjtlbm = $("#tjtlbm").val();
  100. var mc = $("#grtjmc").val();
  101. var grtjmbid = $("#grtjmbid").val();
  102. var tjzbm = $("input[name=tjzbm]").val();
  103. if (tjzbm == undefined || tjzbm.length == 0) {
  104. wd.display.alert("未选择一级统计指标");
  105. return;
  106. }
  107. /* 再去掉 个人统计.代码,页面里用了 "tjt-<ID>" 作为标识。Lin
  108. var dm = "";
  109. if ($("[name=dm]").val()) {
  110. dm = $("[name=dm]").val();
  111. }
  112. */
  113. if (tjtlbm == undefined || tjtlbm.length == 0) {
  114. wd.display.alert("未选择统计图类型");
  115. return;
  116. }
  117. if (mc == undefined || mc.trim().length == 0) {
  118. wd.display.alert("统计图名称不能为空");
  119. return;
  120. }
  121. var els = $("#tjzbSelected").find("[ssObjId]"); // ("[wdobjectid]")。是 wdobjectid,不是 wdObjectId。Lin
  122. console.log(els);
  123. var json = "";
  124. els.each(function(i, val) {
  125. var str = $(val).attr("ssObjId"); // ("wdobjectid")。是 wdobjectid,不是 wdObjectId。Lin
  126. if (i == els.length - 1) {
  127. json += (str);
  128. } else {
  129. json += (str + ",");
  130. }
  131. });
  132. $.ajax({
  133. type: "POST",
  134. url: "<serv.ss name='savePcht'/>", // 'saveMyECharts'。Lin
  135. data: {
  136. "ids": json,
  137. "grtjid": grtjid,
  138. "tjtlbm": tjtlbm,
  139. "dxm": "${dxm}",
  140. "mc": mc,
  141. /* 再去掉 个人统计.代码,页面里用了 "tjt-<ID>" 作为标识。Lin
  142. "dm": dm,
  143. */
  144. "grtjmbid": grtjmbid,
  145. "tjzbm": tjzbm
  146. },
  147. async: false,
  148. success: function(data) {
  149. var obj = eval('(' + data + ')');
  150. if (obj.success) {
  151. wd.display.alert("保存成功");
  152. wd.display.getwdDialogOpener().window.location.reload();
  153. } else {
  154. wd.display.alert(obj.msg);
  155. }
  156. }
  157. });
  158. wd.display.getwdDialogOpener().refreshTjt(grtjid); // 增加,重新计算并重绘。Lin
  159. wd.display.refreshOpener();
  160. wd.display.closeDialog();
  161. }
  162. </script>
  163. <body style="padding: 5px;">
  164. <form id="myForm" name="shortcutForm" action='' method="post">
  165. <input name="bjid" type="hidden" value="${bjid}"/>
  166. <div class="search-div">
  167. <div style="padding: 15px 7px 12px 7px;">
  168. <input name="grtjmbid" type="hidden" id="grtjmbid" value="${grtjmbid}"/>
  169. <input value="${grtj.mc}" type="text" id="grtjmc" name="mc" style="width: 120px;" placeholder="名称"/>
  170. <equal.ss val="${empty dxm}" val2="false">
  171. <input name="tjzbm" type="hidden" value="${yjtjzbm}"/> <%-- value="${yjTjzb.tjzbm}"。PstatServ.initPchtSet() 里,把 yjTjzb(Map<String, Object>) 改为 yjtjzbm(Long)。Lin --%>
  172. <input name="tjzbName" style="width:117px;" type="text" placeholder="一级指标"/>
  173. <objp.ss name='tjzb' cb='fstTjzb' filter='{dxm:"${dxm}"}'/>
  174. <%-- 改,增加默认值 1 = 扇形图。Lin
  175. <@input name="tjtlbm" type="hidden" id="tjtlbm" value="${grtj.tjtlbm}"/> --%>
  176. <input name="tjtlbm" type="hidden" id="tjtlbm" value="${empty grtj.tjtlbm? 1 : grtj.tjtlbm}"/>
  177. <input name="tjtlbmName" style="width:117px;" type="text" placeholder="统计图类型"/>
  178. <objp.ss name="tjtlbm" cb="tjtlb"/>
  179. <%-- 再去掉 个人统计.代码,页面里用了 "tjt-<ID>" 作为标识。Lin
  180. <equal@ss val="${editDm}" val2="true">
  181. <@input name="dm" placeholder="代码" type="text" value="${grtj.dm}"/>
  182. </equal@ss>
  183. --%>
  184. </equal.ss>
  185. <equal.ss val="${empty dxm}" val2="true">
  186. <input name="tjzbm" type="hidden" value="${yjtjzbm}"/> <%-- value="${yjTjzb.tjzbm}"。PstatServ.initPchtSet() 里,把 yjTjzb(Map<String, Object>) 改为 yjtjzbm(Long)。Lin --%>
  187. <input name="tjtlbm" type="hidden" id="tjtlbm" value="${empty grtj.tjtlbm?21:grtj.tjtlbm}"/>
  188. </equal.ss>
  189. </div>
  190. </div>
  191. <div id="container" class="dragList-div">
  192. <div class="box">
  193. <p class="label">已选<span id="tjzbDropAll" class="icon-allRight"></span></p>
  194. <div class="list-body" style="position: relative;overflow-x: hidden;width: 100%;height: 380px;">
  195. <div id="tjzbSelected" ssSelClazz="list-checkedIcon" class="scrollbar" style="height:100%">
  196. <rpt.ss name="yxlist" id="item"> <%-- 二级指标。Lin --%>
  197. <div ssObjId="${item.tjzbm}" class="list-background list" style="min-height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">
  198. <span>名称:${item.mc}</span>
  199. <span>描述:${item.ms};</span>
  200. </div>
  201. <rpt.ss name="${item.sanjzblist}" id="sjitem"> <%-- 三级指标。Lin --%>
  202. <div ssObjId="${sjitem.tjzbm}" ssPobjId="${item.tjzbm}" <%-- wdparentobjectid=。是 wdparentobjectid,不是 wdParentObjectId。Lin --%>
  203. class="list-background list" style="min-height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">
  204. <span>名称:${sjitem.mc}</span>
  205. <span>描述:${sjitem.ms};</span>
  206. </div>
  207. </rpt.ss>
  208. </rpt.ss>
  209. </div>
  210. </div>
  211. </div>
  212. <div class="box">
  213. <p class="label">备选<span id="tjzbPickAll" class="icon-allLeft"></span></p>
  214. <div class="list-body" style="position: relative;overflow-x: hidden;width: 100%;height: 380px;">
  215. <div id="tjzbOption" ssSelClazz="list-checkedIcon" class="scrollbar" style="height:100%">
  216. <rpt.ss name="kxlist" id="item"> <%-- 二级指标。Lin --%>
  217. <div ssObjId="${item.tjzbm}" class="list-background list" style="min-height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">
  218. <span>名称:${item.mc}</span>
  219. <span>描述:${item.ms};</span>
  220. </div>
  221. <rpt.ss name="${item.sanjzblist}" id="sjitem"> <%-- 三级指标。Lin --%>
  222. <div ssObjId="${sjitem.tjzbm}" ssPobjId="${item.tjzbm}" <%-- wdparentobjectid=。是 wdparentobjectid,不是 wdParentObjectId。Lin --%>
  223. class="list-background list" style="min-height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">
  224. <span>名称:${sjitem.mc}</span>
  225. <span>描述:${sjitem.ms};</span>
  226. </div>
  227. </rpt.ss>
  228. </rpt.ss>
  229. </div>
  230. </div>
  231. </div>
  232. <input type="hidden" value="" name="tjzbSelectedId"/>
  233. <drag.ss name="tjzb" grp="true" func="editGroup,editOrder"/>
  234. </div>
  235. <div class='bottom-div border-top'>
  236. <%-- 底部区域$@{gw.gwid}$@{dxid} --%>
  237. <div class="bottom-down-div">
  238. <input type="button" value="保存" onclick="saveECharts();" class="bottom-button" style="letter-spacing: 6px;">
  239. <input type="button" value="删除" onclick="deleteECharts()" class="bottom-button" style="letter-spacing: 6px;"/>
  240. <input type="button" value="取消" onclick="wd.display.closeDialog();" class="bottom-button" style="letter-spacing: 6px;"/>
  241. </div>
  242. <div>
  243. </form>
  244. </body>
  245. <%-- 去掉,母体也没找到。Lin
  246. <script type="text/javascript" src="ajaxFunc.js"></script>
  247. --%>
  248. <script type="text/javascript">
  249. wd.edit.objectPicker.getInstance("tjzb").onchange = function() {
  250. console.log("value:" + this.getValue());
  251. /* 再改,增加自动填写 mc(名称)。Lin
  252. selectYjzb(this.getValue());
  253. */ selectYjzb(this.getValue(), this.getDisplayValue());
  254. };
  255. </script>
  256. </html>