tree_view.js 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. var treeData = null;
  2. var treeSel = null;
  3. var tree = null;
  4. var grid = null;
  5. var autoLoad = true;
  6. function toFloat(sum) {
  7. if (sum == "") return 0;
  8. sum = Math.round(sum * 1000) / 1000;
  9. return sum;
  10. }
  11. //工程名称
  12. function ennameFn(e) {
  13. //#6F5315
  14. return "<span style=\"color:#E1292A;font-size:10pt;font-weight:bold\">" + e.value + "</span>";
  15. }
  16. function biaohaoFn(e) {
  17. return "<b>" + e.value + "</b>";
  18. }
  19. function bodyFn(e) {
  20. return "<span style=\"color:#732794\">" + e.value + "</span>";
  21. }
  22. function getColumns(columns) {
  23. columns = grid.getBottomColumns().clone();
  24. for (var i = columns.length - 1; i >= 0; i--) {
  25. var column = columns[i];
  26. if (!column.field) {
  27. columns.removeAt(i);
  28. } else {
  29. var c = { header: column.header, field: column.field };
  30. columns[i] = c;
  31. }
  32. }
  33. return columns;
  34. }
  35. function getColumnsHeader(columns) {
  36. columns = grid.getBottomColumns().clone();
  37. var arr = new Array();
  38. for (var i = columns.length - 1; i >= 0; i--) {
  39. var column = columns[i];
  40. if (!column.field) {
  41. columns.removeAt(i);
  42. } else {
  43. arr.push(column.header);
  44. }
  45. }
  46. return arr.join(",");
  47. }
  48. $(document).ready(function () {
  49. tree = mini.get("m_tree");
  50. grid = mini.get("m_grid");
  51. if (grid != null) {
  52. //grid.pageSize = _page_size;
  53. grid.setPageSize(_page_size);
  54. }
  55. if (autoLoad) {
  56. if (treeData != null) {
  57. tree.loadList(treeData, "id", "pid");
  58. $_selTreeNode();
  59. } else {
  60. treeNodeSelFn();
  61. }
  62. var tk = getQueryString("treekey");
  63. if (tk != "") {
  64. $("#txtTreeKey").val(decodeURI(tk));
  65. tree_filter();
  66. }
  67. }
  68. $("#txtTreeKey").keydown(function (e) {
  69. if (e.which == 13) {
  70. tree_filter();
  71. }
  72. });
  73. //过滤
  74. $("#txtKey").keydown(function (e) {
  75. if (e.which == 13) {
  76. view_search();
  77. }
  78. });
  79. //查询过滤
  80. $("#sp_date_filter").find("a").bind({
  81. click: function () {
  82. var t = $(this).html();
  83. var _dt = GetCurDate();
  84. switch (t) {
  85. case "前一天":
  86. {
  87. _dt = mini.get("txtEdate").getValue();
  88. _dt.setDate(_dt.getDate() - 1);
  89. mini.get("txtEdate").setValue(_dt);
  90. break;
  91. }
  92. case "后一天":
  93. {
  94. _dt = mini.get("txtEdate").getValue();
  95. _dt.setDate(_dt.getDate() + 1);
  96. mini.get("txtEdate").setValue(_dt);
  97. break;
  98. }
  99. case "昨天": {
  100. if (mini.get("txtSdate") != null) mini.get("txtSdate").setValue(null);
  101. _dt.setDate(_dt.getDate() - 1);
  102. mini.get("txtEdate").setValue(_dt);
  103. break;
  104. }
  105. case "明天": {
  106. if (mini.get("txtSdate") != null) mini.get("txtSdate").setValue(null);
  107. _dt.setDate(_dt.getDate() + 1);
  108. mini.get("txtEdate").setValue(_dt);
  109. break;
  110. }
  111. case "今天": {
  112. set_SearchCurDay(_dt);
  113. break;
  114. }
  115. case "所有": {
  116. mini.get("txtSdate").setValue(null);
  117. mini.get("txtEdate").setValue(null);
  118. break;
  119. }
  120. case "本月": {
  121. set_SearchCurMonth(_dt);
  122. break;
  123. }
  124. case "上月": {
  125. set_SearchPrevMonth(_dt);
  126. break;
  127. }
  128. case "上一月": {
  129. set_SearchPrevMonth(_dt);
  130. break;
  131. }
  132. case "下月":
  133. case "下一月": {
  134. set_SearchNextMonth(_dt);
  135. break;
  136. }
  137. }
  138. view_search();
  139. }
  140. });
  141. if (/msie [1-7].0/.test(navigator.userAgent.toLowerCase())) {
  142. } else {
  143. //$("#m_toolbar").css({ position: "fixed", width: "100%", "z-Index": "999", top: "0px" });
  144. //var h = $("#m_toolbar").height();
  145. //h = parseInt(h) + 1;
  146. //$(".mini-fit").css({ "margin-top": h + "px" });
  147. //$(".report_div").css({ "margin-top": "40px" });
  148. }
  149. });
  150. function $_selTreeNode() {
  151. if (treeSel == null || treeSel == "" || tree.getNode(treeSel) == null) return;
  152. tree.expandPath(treeSel);
  153. tree.expandNode(treeSel);
  154. tree.selectNode(treeSel);
  155. tree.scrollIntoView(tree.getNode(treeSel));
  156. }
  157. function checkShow(v, str) {
  158. if (str == "") return false;
  159. return str.indexOf(v) != -1 ? true : false;
  160. }
  161. String.prototype.asCurrency = function () {
  162. var f1 = this;
  163. var f2 = (Math.round((f1 - 0) * 100)) / 100;
  164. f2 = Math.floor(f2) == f2 ? f2 + ".00" : (Math.floor(f2 * 10) == f2 * 10) ? f2 + '0' : f2;
  165. f2 = String(f2);
  166. r = /(\d+)(\d{3})/;
  167. fs = String(f2);
  168. while (r.test(f2)) {
  169. f2 = f2.replace(r, '$1' + ',' + '$2');
  170. }
  171. return ('¥' + f2); // TODO 没考虑金额为负的情况
  172. }
  173. //格式化时间
  174. function formatDateFn(e) {
  175. var dt = GetCurDate();
  176. var result = formatTdate(e.value, "yyyy-MM-dd");
  177. var res = e.record;
  178. if (getTaskMinute(res.DispatchTime) > -3) {
  179. e.rowCls = "flag_row";
  180. return "<span style=\"color:#FF0000\">" + result + "</span><b>(新)</b>";
  181. }
  182. if (result == dt.format("yyyy-MM-dd")) {
  183. return "<span style=\"color:#FF0000\">" + result + "</span>";
  184. }
  185. return result;
  186. }
  187. function getTaskMinute(dt2) {
  188. var dt = GetCurDate();
  189. return (dt2 - dt) / (1000 * 60)
  190. }
  191. $(document).keydown(function (e) {
  192. if (e.which == 8) {
  193. var targ = null;
  194. if (e.target) targ = e.target;
  195. else targ = e.srcElement;
  196. if ((targ.type == "textarea" && (targ.getAttribute("readonly") == null || targ.getAttribute("readonly") == "")) || targ.type == "text") return true;
  197. else return false;
  198. }
  199. });
  200. function tree_filter() {
  201. var key = $("#txtTreeKey").val();
  202. if (key == "") {
  203. tree.clearFilter();
  204. } else {
  205. key = key.toLowerCase();
  206. tree.filter(function (node) {
  207. //alert(node.name);
  208. var text = node.name ? node.name.toLowerCase() : "";
  209. if (text.indexOf(key) != -1) {
  210. return true;
  211. }
  212. });
  213. }
  214. }
  215. function keyClear() {
  216. $("#txtTreeKey").val("");
  217. tree_filter();
  218. }
  219. function set_SearchCurDay(_dt) {
  220. if (mini.get("txtSdate") != undefined) mini.get("txtSdate").setValue(null);
  221. mini.get("txtEdate").setValue(_dt);
  222. }
  223. function set_SearchPrevMonth(_dt) {
  224. if (mini.get("txtSdate") == undefined) {
  225. _dt = mini.get("txtEdate").getValue();
  226. _dt.setMonth(_dt.getMonth()-1);
  227. mini.get("txtEdate").setValue(_dt);
  228. } else {
  229. if(mini.get("txtEdate").getValue()!="")_dt = mini.get("txtEdate").getValue();
  230. var e = new Date(_dt.getTime());
  231. _dt.setMonth(_dt.getMonth() - 1);
  232. var s = new Date(_dt.getFullYear(), _dt.getMonth(), 1);
  233. e.setDate(0);
  234. mini.get("txtSdate").setValue(s);
  235. mini.get("txtEdate").setValue(e);
  236. }
  237. }
  238. function set_SearchCurMonth(_dt) {
  239. if (mini.get("txtSdate") != undefined) {
  240. var s = new Date(_dt.getFullYear(), _dt.getMonth(), 1);
  241. mini.get("txtSdate").setValue(s);
  242. }
  243. mini.get("txtEdate").setValue(_dt);
  244. }
  245. function set_SearchNextMonth(_dt) {
  246. if (mini.get("txtSdate") == undefined) {
  247. _dt = mini.get("txtEdate").getValue();
  248. _dt.setMonth(_dt.getMonth() + 1);
  249. mini.get("txtEdate").setValue(_dt);
  250. } else {
  251. if (mini.get("txtEdate").getValue() != "") _dt = mini.get("txtEdate").getValue();
  252. var e = new Date(_dt.getTime());
  253. _dt.setMonth(_dt.getMonth() + 1);
  254. var s = new Date(_dt.getFullYear(), _dt.getMonth(), 1);
  255. e.setMonth(e.getMonth() + 2);
  256. e.setDate(-1);
  257. mini.get("txtSdate").setValue(s);
  258. mini.get("txtEdate").setValue(e);
  259. }
  260. }