editview.js 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  1. var loadFlag = true;
  2. var grid = null;
  3. var hoverId = "";
  4. function gridRefresh() {
  5. }
  6. $(document).ready(function () {
  7. grid = mini.get("m_grid");
  8. if (grid != null) {
  9. grid.pageSize = _page_size;
  10. if (loadFlag) {
  11. grid.load();
  12. }
  13. grid._OnRowMouseOver = function (e) {
  14. var row = grid.getRow(e.record._index);
  15. row.rowCls = "mini-grid-row mini-grid-row-hover";
  16. hoverId = e.record.ID;
  17. if ($("#op_" + hoverId).length > 0) $("#op_" + hoverId).show();
  18. }
  19. grid._OnRowMouseOut = function (e) {
  20. var row = grid.getRow(e.record._index);
  21. row.rowCls = "mini-grid-row";
  22. if ($("#op_" + hoverId).length > 0) $("#op_" + hoverId).hide();
  23. }
  24. }
  25. //查询过滤
  26. $("#sp_date_filter").find("a").bind({
  27. click: function () {
  28. var t = $(this).html();
  29. var _dt = GetCurDate();
  30. switch (t) {
  31. case "前一天":
  32. {
  33. _dt = mini.get("txtEdate").getValue();
  34. _dt.setDate(_dt.getDate() - 1);
  35. mini.get("txtEdate").setValue(_dt);
  36. break;
  37. }
  38. case "后一天":
  39. {
  40. _dt = mini.get("txtEdate").getValue();
  41. _dt.setDate(_dt.getDate() + 1);
  42. mini.get("txtEdate").setValue(_dt);
  43. break;
  44. }
  45. case "昨天": {
  46. if (mini.get("txtSdate") != null) mini.get("txtSdate").setValue(null);
  47. _dt.setDate(_dt.getDate() - 1);
  48. mini.get("txtEdate").setValue(_dt);
  49. break;
  50. }
  51. case "明天": {
  52. if (mini.get("txtSdate") != null) mini.get("txtSdate").setValue(null);
  53. _dt.setDate(_dt.getDate() + 1);
  54. mini.get("txtEdate").setValue(_dt);
  55. break;
  56. }
  57. case "今天": {
  58. set_SearchCurDay(_dt);
  59. break;
  60. }
  61. case "所有": {
  62. mini.get("txtSdate").setValue(null);
  63. mini.get("txtEdate").setValue(null);
  64. break;
  65. }
  66. case "本月": {
  67. set_SearchCurMonth(_dt);
  68. break;
  69. }
  70. case "上月":
  71. case "上一月": {
  72. set_SearchPrevMonth(_dt);
  73. break;
  74. }
  75. case "下月":
  76. case "下一月": {
  77. set_SearchNextMonth(_dt);
  78. break;
  79. }
  80. }
  81. view_search();
  82. }
  83. });
  84. //过滤
  85. $("#txtKey").keydown(function (e) {
  86. if (e.which == 13) {
  87. view_search();
  88. }
  89. });
  90. //if (/msie [1-7].0/.test(navigator.userAgent.toLowerCase())) {
  91. //} else {
  92. // $("#m_toolbar").css({ position: "fixed", width: "100%", "z-Index": "999", top: "0px" });
  93. // var h = $("#m_toolbar").height();
  94. // h = parseInt(h) + 1;
  95. // $(".mini-fit").css({ "margin-top": h + "px" });
  96. // $(".report_div").css({ "margin-top": "40px" });
  97. //}
  98. });
  99. function FillCurDay() {
  100. var hd = $("#hDate").val();
  101. var dt = null;
  102. if (hd != "") dt = formatTdate(hd);
  103. else dt = GetCurDate();
  104. cur_dtime = formatTdate(dt, "yyyy-MM-dd");
  105. mini.get("txtEdate").setValue(dt);
  106. }
  107. function FillCurMonth() {
  108. var hd = $("#hDate").val();
  109. var dt = null;
  110. if (hd != "") dt = formatTdate(hd);
  111. else dt = GetCurDate();
  112. cur_dtime = formatTdate(dt, "yyyy-MM-dd");
  113. set_SearchCurMonth(dt);
  114. //mini.get("txtEdate").setValue(dt);
  115. }
  116. function set_SearchCurDay(_dt) {
  117. if (mini.get("txtSdate") != undefined) mini.get("txtSdate").setValue(null);
  118. mini.get("txtEdate").setValue(_dt);
  119. }
  120. function set_SearchPrevMonth(_dt) {
  121. if (mini.get("txtSdate") == undefined) {
  122. _dt = mini.get("txtEdate").getValue();
  123. _dt.setMonth(_dt.getMonth() - 1);
  124. mini.get("txtEdate").setValue(_dt);
  125. } else {
  126. if (mini.get("txtEdate").getValue() != "") _dt = mini.get("txtEdate").getValue();
  127. var e = new Date(_dt.getTime());
  128. _dt.setMonth(_dt.getMonth() - 1);
  129. var s = new Date(_dt.getFullYear(), _dt.getMonth(), 1);
  130. e.setDate(0);
  131. mini.get("txtSdate").setValue(s);
  132. mini.get("txtEdate").setValue(e);
  133. }
  134. }
  135. function set_SearchCurMonth(_dt) {
  136. if (mini.get("txtSdate") != undefined) {
  137. var s = new Date(_dt.getFullYear(), _dt.getMonth(), 1);
  138. mini.get("txtSdate").setValue(s);
  139. }
  140. mini.get("txtEdate").setValue(_dt);
  141. }
  142. function set_SearchNextMonth(_dt) {
  143. if (mini.get("txtSdate") == undefined) {
  144. _dt = mini.get("txtEdate").getValue();
  145. _dt.setMonth(_dt.getMonth() + 1);
  146. mini.get("txtEdate").setValue(_dt);
  147. } else {
  148. if (mini.get("txtEdate").getValue() != "") _dt = mini.get("txtEdate").getValue();
  149. var e = new Date(_dt.getTime());
  150. _dt.setMonth(_dt.getMonth() + 1);
  151. var s = new Date(_dt.getFullYear(), _dt.getMonth(), 1);
  152. e.setMonth(e.getMonth() + 2);
  153. e.setDate(-1);
  154. mini.get("txtSdate").setValue(s);
  155. mini.get("txtEdate").setValue(e);
  156. }
  157. }
  158. function getColumns(columns) {
  159. columns = grid.getBottomColumns().clone();
  160. for (var i = columns.length - 1; i >= 0; i--) {
  161. var column = columns[i];
  162. if (!column.field) {
  163. columns.removeAt(i);
  164. } else {
  165. var c = { header: column.header, field: column.field };
  166. columns[i] = c;
  167. }
  168. }
  169. return columns;
  170. }
  171. function getColumnsHeader(columns) {
  172. columns = grid.getBottomColumns().clone();
  173. var arr = new Array();
  174. for (var i = columns.length - 1; i >= 0; i--) {
  175. var column = columns[i];
  176. if (!column.field) {
  177. columns.removeAt(i);
  178. } else {
  179. arr.push(column.header);
  180. }
  181. }
  182. return arr.join(",");
  183. }
  184. String.prototype.asCurrency = function () {
  185. var f1 = this;
  186. var f2 = (Math.round((f1 - 0) * 100)) / 100;
  187. f2 = Math.floor(f2) == f2 ? f2 + ".00" : (Math.floor(f2 * 10) == f2 * 10) ? f2 + '0' : f2;
  188. f2 = String(f2);
  189. r = /(\d+)(\d{3})/;
  190. fs = String(f2);
  191. while (r.test(f2)) {
  192. f2 = f2.replace(r, '$1' + ',' + '$2');
  193. }
  194. return ('¥' + f2); // TODO 没考虑金额为负的情况
  195. }
  196. //格式化时间
  197. function formatDateFn(e) {
  198. if (e.value == "") return "未确定";
  199. var dt = GetCurDate();
  200. var result = formatTdate(e.value, "yyyy-MM-dd");
  201. var res = e.record;
  202. if (getTaskMinute(res.DispatchTime) > -3) {
  203. e.rowCls = "flag_row";
  204. return "<b style=\"color:#FF0000\">" + result + "</b>";
  205. }
  206. if (result == dt.format("yyyy-MM-dd")) {
  207. return "<span style=\"color:#FF0000\">" + result + "</span>";
  208. }
  209. return result;
  210. }
  211. function getLastDay(dt) {
  212. var new_year = dt.getFullYear(); //取当前的年份
  213. var new_month = dt.getMonth() + 1;//取下一个月的第一天,方便计算(最后一天不固定)
  214. if (new_month > 12) //如果当前大于12月,则年份转到下一年
  215. {
  216. new_month -= 12; //月份减
  217. new_year++; //年份增
  218. }
  219. var new_date = new Date(new_year, new_month, 1); //取当年当月中的第一天
  220. return (new Date(new_date.getTime() - 1000 * 60 * 60 * 24));//获取当月最后一天日期
  221. }
  222. function getTaskMinute(dt2) {
  223. var dt = GetCurDate();
  224. return (dt2 - dt) / (1000 * 60)
  225. }
  226. function getDayMinute(dt2) {
  227. var dt = GetCurDate();
  228. return (dt2.getTime() - dt.getTime()) / (1000 * 60 * 60 * 24);
  229. }
  230. function getDiffDay(dt2) {
  231. var dt = GetCurDate();
  232. return Math.floor((dt.getTime() - dt2.getTime()) / (1000 * 60 * 60 * 24));
  233. }
  234. //工程名称
  235. function ennameFn(e) {
  236. //#6F5315
  237. return "<span t=\"en\" style=\"color:#E1292A;font-size:9pt\">" + e.value + "</span>";
  238. }
  239. function bodyFn(e) {
  240. return "<span style=\"color:#732794\">" + e.value + "</span>";
  241. }
  242. $(document).keydown(function (e) {
  243. switch (e.which) {
  244. case 8://back
  245. {
  246. var targ = null;
  247. if (e.target) targ = e.target;
  248. else targ = e.srcElement;
  249. if ((targ.type == "textarea" && (targ.getAttribute("readonly") == null || targ.getAttribute("readonly") == "")) || targ.type == "text") return true;
  250. else return false;
  251. break;
  252. }
  253. case 27://ESC
  254. {
  255. if (opCloseFn != undefined) opCloseFn();
  256. break;
  257. }
  258. case 13://回车
  259. {
  260. hideKB();
  261. break;
  262. }
  263. }
  264. });
  265. function getColumns(columns) {
  266. columns = grid.getBottomColumns().clone();
  267. for (var i = columns.length - 1; i >= 0; i--) {
  268. var column = columns[i];
  269. if (!column.field) {
  270. columns.removeAt(i);
  271. } else {
  272. var c = { header: column.header, field: column.field };
  273. columns[i] = c;
  274. }
  275. }
  276. return columns;
  277. }
  278. function fDouble(v) {
  279. if (v == undefined || v == "") return 0;
  280. var m = parseFloat(v);
  281. if (m == 0) return 0;
  282. return Math.round(parseFloat(m) * 100) / 100;
  283. }