projectTaskManager.js 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. var taskListTable,projNodeIdSelect;
  2. $(function(){
  3. $("#projId").ligerComboBox({width:150, slide:false, resize:false, onSelected:onchange4ProjNode});
  4. projNodeIdSelect = $("#projNodeId").ligerComboBox({width:150, slide:false, resize:false});
  5. onchange4ProjNode($("#projId").val());
  6. $("#createDateStart").ligerDateEditor({ showTime: false, labelAlign: 'left'});
  7. $("#createDateEnd").ligerDateEditor({ showTime: false, labelAlign: 'left'});
  8. $("#createDate").ligerComboBox({width:150, slide:false, resize:false, onSelected:function(value, text){
  9. if(value != 3){
  10. $("#createDateStartPanel").css("visibility", "hidden");
  11. $("#createDateToPanel").css("visibility", "hidden");
  12. $("#createDateEndPanel").css("visibility", "hidden");
  13. }else{
  14. $("#createDateStartPanel").css("visibility", "visible");
  15. $("#createDateToPanel").css("visibility", "visible");
  16. $("#createDateEndPanel").css("visibility", "visible");
  17. }
  18. }});
  19. $("#taskState").ligerComboBox({
  20. width:150, slide:false, resize:false, isShowCheckBox:true, isMultiSelect:true, selectBoxHeight:180, split:",",valueFieldID:"taskStateId"
  21. ,data: getTaskStateJson()});
  22. // $("#taskState").ligerGetComboBoxManager().selectValue("1,2,3");
  23. initTaskListTable({"projId": document.getElementById("projId").value, "createDate" : document.getElementById("createDate").value});
  24. $("#pageloading").hide();
  25. });
  26. function onchange4ProjNode(value, text){
  27. var projNode = document.getElementById("projNodeId");
  28. projNode.options.length = 0;
  29. if(value > 0){
  30. $.ajax({
  31. type:"post",
  32. url:"ProjectTaskManagerAction.do?task=getProjNodeList&time=" + new Date().getTime(),
  33. data:{"projId":value} ,
  34. timeout:20000,
  35. cache:false,
  36. dataType:"json",
  37. success:function(data){
  38. if(data.error){
  39. showAjaxError(data.error);
  40. return;
  41. }
  42. var projNodeList = data.projNodeList;
  43. for(var i = 0; i < projNodeList.length; i++){
  44. if(projNodeList[i].projectid){
  45. projNodeList[i].node_name = projNodeList[i].node_name + "(当前阶段)";
  46. }
  47. addSelectOption(projNode, projNodeList[i].node_name, projNodeList[i].universalid);
  48. }
  49. },
  50. error:function(err){
  51. showAjaxError(err);
  52. },
  53. complete:function(msg,err){
  54. addSelectOption(projNode, " ", "");
  55. projNode.value = "";
  56. projNodeIdSelect.setSelect();
  57. }
  58. });
  59. }else{
  60. addSelectOption(projNode, "", "");
  61. projNode.value = "";
  62. projNodeIdSelect.setSelect();
  63. }
  64. }
  65. function initTaskListTable(params){
  66. if(params == undefined){
  67. params = "";
  68. }
  69. if(taskListTable == undefined){
  70. taskListTable = $("#taskList").ligerGrid({
  71. columns: [
  72. { display: '任务名称', name: 'task_name_text', align: 'left', minWidth: 290, frozen: true
  73. ,render: function (row)
  74. {
  75. var html = '<a href="#" onclick="seeTask(' + row.universalid + ')">'+ row.task_name + '(' + row.proc_finish_per + '%)' +'</a>';
  76. return html;
  77. }
  78. },
  79. { display: '任务状态', name: 'task_state_text', width: 70, align: 'center', frozen: true
  80. ,render: function (row) {
  81. var html = displayTaskState(row);
  82. return html;
  83. }
  84. },
  85. { display: '计划用时', name: 'plan_man_hour', width: 60, align: 'center' , frozen: true },
  86. { display: '已用时', name: 'prac_man_hour', width: 55, align: 'center' , frozen: true },
  87. { display: '工期差距(天)', name: 'between_day', width: 80, align: 'center', frozen: true
  88. ,render: function (row) {
  89. var html = displayBetweenDay(row);
  90. return html;
  91. }
  92. },
  93. { display: '任务类型', name: 'task_type_text', width: 145, align: 'center'
  94. ,render: function (row)
  95. {
  96. var html = row.task_type_text + '(' + row.task_source_text + ')';
  97. return html;
  98. }
  99. },
  100. { display: '责任人', name: 'prov_user', width:100,align: 'center'
  101. ,render: function (row)
  102. {
  103. var html = '<a href="#" onclick="seeUser(' + row.develop_user_id + ')">' + row.develop_user + '</a>';
  104. return html;
  105. }
  106. },
  107. { display: '指派人', name: 'prov_user', width:100,align: 'center'
  108. ,render: function (row)
  109. {
  110. var html = '<a href="#" onclick="seeUser(' + row.prov_user_id + ')">' + row.prov_user + '</a>';
  111. return html;
  112. }
  113. },
  114. { display: '创建人', name: 'prov_user', width:100,align: 'center'
  115. ,render: function (row)
  116. {
  117. var html = '<a href="#" onclick="seeUser(' + row.create_user_id + ')">' + row.create_user + '</a>';
  118. return html;
  119. }
  120. },
  121. { display: '计划完成时间', name: 'plan_fin_date', width:150,align: 'center' , format:'yyyy-MM-dd hh:mm:ss'},
  122. { display: '实际完成时间', name: 'prac_fin_date', width:150,align: 'center' , format:'yyyy-MM-dd hh:mm:ss' },
  123. { display: '创建时间', name: 'create_date', width:150,align: 'center' , format:'yyyy-MM-dd hh:mm:ss' }
  124. ], pageSize:20,
  125. url: 'ProjectTaskManagerAction.do?task=searchTask&time=' + new Date().getTime(),
  126. parms : params,
  127. pageParmName: 'curPage',
  128. pagesizeParmName: 'pageSize',
  129. width: '99.8%',
  130. height: '99%',
  131. checkbox: false,
  132. rownumbers:true,
  133. enabledSort:false,
  134. method:"post",
  135. onAfterShowData:function(data){
  136. disableBtn(false);
  137. if(data.Rows.length == 0){
  138. $("#taskList").find("div[class*='l-grid-body-inner']:first").html("<div style='padding-top:50px;width:100%;text-align:center'>没有查询到相关信息……</div>");
  139. }
  140. }
  141. });
  142. }else{
  143. taskListTable._setParms(params);
  144. taskListTable.loadData();
  145. }
  146. }
  147. function searchTask(){
  148. var projId = $("#projId").val();
  149. var projNodeId = $("#projNodeId").val();
  150. var createDate = $("#createDate").val();
  151. var createDateStart = $.trim($("#createDateStart").val());
  152. var createDateEnd = $.trim($("#createDateEnd").val());
  153. var taskState = $("#taskStateId").val();
  154. var searchStr = "{";
  155. if(projId != undefined && projId != -1){
  156. searchStr += ('"projId":' + projId + ",");
  157. }
  158. if(projNodeId != "" && projNodeId != "0"){
  159. searchStr += ('"projNodeId":"' + projNodeId + '",');
  160. }
  161. if(createDate != ""){
  162. searchStr += ('"createDate":"' + createDate + '",');
  163. }
  164. if(createDateStart != ""){
  165. searchStr += ('"createDateStart":"' + createDateStart + '",');
  166. }
  167. if(createDateEnd != ""){
  168. searchStr += ('"createDateEnd":"' + createDateEnd + '",');
  169. }
  170. if(taskState != ""){
  171. searchStr += ('"taskState":"' + taskState + '",');
  172. }
  173. if(searchStr.lastIndexOf(",") == searchStr.length - 1 ){
  174. searchStr = searchStr.substring(0, searchStr.length - 1);
  175. }
  176. searchStr += "}";
  177. var searchObj = (new Function(" return " + searchStr))();
  178. disableBtn(true);
  179. initTaskListTable(searchObj);
  180. }
  181. function disableBtn(isDisable){
  182. $("#searchBtn").attr("disabled", isDisable);
  183. $("#rejectBtn").attr("disabled", isDisable);
  184. $("#finishBtn").attr("disabled", isDisable);
  185. }
  186. function createTask(){
  187. addTab("CreateTaskAction.do?task=createTask", "新建临时任务", "CreateTaskAction.do?task=createTask", true);
  188. }