myTaskList.js 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825
  1. var myDTask, myDTaskUndone, myDTaskExpired, myPTask, myCTask;
  2. var curTab = 1;
  3. $(function () {
  4. $("#projId").ligerComboBox({width: 150, slide: false});
  5. $("#createDateStart").ligerDateEditor({showTime: false, labelAlign: 'left'});
  6. $("#createDateEnd").ligerDateEditor({showTime: false, labelAlign: 'left'});
  7. $("#createDate").ligerComboBox({
  8. width: 150, slide: false, resize: false, onSelected: function (value, text) {
  9. if (value != 3) {
  10. $("#createDateStartPanel").css("display", "none");
  11. $("#createDateToPanel").css("display", "none");
  12. $("#createDateEndPanel").css("display", "none");
  13. } else {
  14. $("#createDateStartPanel").css("display", "block");
  15. $("#createDateToPanel").css("display", "block");
  16. $("#createDateEndPanel").css("display", "block");
  17. }
  18. }
  19. });
  20. $("#taskState").ligerComboBox({
  21. width: 150, slide: false, resize: false, isShowCheckBox: true, isMultiSelect: true, selectBoxHeight: 180, split: ",", valueFieldID: "taskStateId"
  22. , data: getTaskStateJson()
  23. });
  24. // 初始化表必须在tab创建之前
  25. $("#myTaskTab").ligerTab({
  26. changeHeightOnResize: true, onAfterSelectTabItem: function (tabId) {
  27. switch (tabId) {
  28. case "tabitem1" :
  29. curTab = 1;
  30. break;
  31. case "tabitem2" :
  32. curTab = 2;
  33. break;
  34. case "tabitem3" :
  35. curTab = 3;
  36. break;
  37. case "tabitem4" :
  38. curTab = 4;
  39. break;
  40. case "tabitem5" :
  41. curTab = 5;
  42. break;
  43. default :
  44. break;
  45. }
  46. searchTask();
  47. }
  48. });
  49. initPageSearchParams();
  50. // 初始化我负责的任务列表
  51. searchTask();
  52. $("#pageloading").hide();
  53. });
  54. /**
  55. * 初始化页面查询参数
  56. * @param json json对象
  57. */
  58. function initPageSearchParams() {
  59. if (jsonParam) {
  60. var taskState = jsonParam.taskState;
  61. var tab = jsonParam.tab;
  62. if (taskState) {
  63. $("#taskState").ligerGetComboBoxManager().selectValue(taskState);
  64. }
  65. if (tab) {
  66. curTab = tab;
  67. }
  68. }
  69. }
  70. function searchTask() {
  71. var projId = $("#projId").val();
  72. var taskName = $.trim($("#taskName").val());
  73. var createDate = $.trim($("#createDate").val());
  74. var createDateStart = $.trim($("#createDateStart").val());
  75. var createDateEnd = $.trim($("#createDateEnd").val());
  76. var taskState = $("#taskStateId").val();
  77. var developUserName = $("#developUserName").val();
  78. var provUserId = $("#provUserId").val();
  79. var searchStr = "{";
  80. if (projId != undefined && projId != -1) {
  81. searchStr += ('"projId":' + projId + ",");
  82. }
  83. if (taskName != "") {
  84. taskName = encodeURI(taskName);
  85. searchStr += ('"taskName":"' + taskName + '",');
  86. }
  87. if (createDate != "") {
  88. searchStr += ('"createDate":"' + createDate + '",');
  89. }
  90. if (createDateStart != "") {
  91. searchStr += ('"createDateStart":"' + createDateStart + '",');
  92. }
  93. if (createDateEnd != "") {
  94. searchStr += ('"createDateEnd":"' + createDateEnd + '",');
  95. }
  96. if (taskState != "") {
  97. searchStr += ('"taskState":"' + taskState + '",');
  98. }
  99. if (developUserName != "") {
  100. developUserName = encodeURI(developUserName);
  101. searchStr += ('"developUserName":"' + developUserName + '",');
  102. }
  103. if (provUserId !=undefined && provUserId != "" && provUserId != 'null') {
  104. searchStr += ('"provUserId":"' + provUserId + '",');
  105. }
  106. if (searchStr.lastIndexOf(",") == searchStr.length - 1) {
  107. searchStr = searchStr.substring(0, searchStr.length - 1);
  108. }
  109. searchStr += "}";
  110. // 根据当前tab判断查询对应的任务列表
  111. // alert(searchStr);
  112. // var searchObj = eval("(" + searchStr + ")");
  113. var searchObj = (new Function(" return " + searchStr))();
  114. switch (curTab) {
  115. //所有的
  116. case 1 :
  117. initMyDTask(searchObj);
  118. break;
  119. //未完成
  120. case 2 :
  121. initMyDTaskUndone(searchObj);
  122. break;
  123. //已延期
  124. case 3 :
  125. initMyDTaskExpired(searchObj);
  126. break;
  127. //我指派的
  128. case 4 :
  129. initMyPTask(searchObj);
  130. break;
  131. //我创建的
  132. case 5 :
  133. initMyCTask(searchObj);
  134. break;
  135. default :
  136. break;
  137. }
  138. }
  139. function initMyDTask(params) {
  140. if (params == undefined) {
  141. params = "";
  142. }
  143. if (myDTask == undefined) {
  144. myDTask = $("#myDTask").ligerGrid({
  145. columns: [
  146. {
  147. display: '任务名称', name: 'task_name', align: 'left', minWidth: 230
  148. , render: function (row, index) {
  149. var html = '<a href="javascript:void(' + index + ');" onclick="seeTask(' + row.universalid + ')">' + row.task_name + '</a>';
  150. return html;
  151. }
  152. },
  153. {
  154. display: '任务进度', name: 'proc_finish_per', align: 'left', minWidth: 120
  155. , render: function (row) {
  156. var html = "<div style='padding-top:2px;' id=taskProcFinishPer_" + row.universalid + ">" + row.proc_finish_per + "</div>";
  157. return html;
  158. }
  159. },
  160. {
  161. display: '任务状态', name: 'task_state', width: 60, align: 'center'
  162. , render: function (row) {
  163. var html = displayTaskState4User(row, true);
  164. return html;
  165. }
  166. },
  167. {display: '已用时', name: 'prac_man_hour', width: 45, align: 'center'},
  168. {
  169. display: '工期差距/天', name: 'between_day', width: 80, align: 'center', isSort: false
  170. , render: function (row) {
  171. var html = displayBetweenDay(row);
  172. return html;
  173. }
  174. },
  175. {
  176. display: '任务类型', name: 'task_type', width: 130, align: 'center'
  177. , render: function (row) {
  178. var html = row.task_type_text + '(' + row.task_source_text + ')';
  179. return html;
  180. }
  181. },
  182. {
  183. display: '项目名称', name: 'proj_name', width: 105, align: 'center'
  184. , render: function (row) {
  185. if (row.proj_id != 0) {
  186. var html = '<a href="#" onclick="seeProject(' + row.proj_id + ')">' + row.proj_name + '</a>';
  187. return html;
  188. } else {
  189. return row.proj_name;
  190. }
  191. }
  192. },
  193. {
  194. display: '负责人', name: 'develop_user', width: 70, align: 'center'
  195. , render: function (row) {
  196. var html = '<a href="#" onclick="seeUser(' + row.develop_user_id + ')">' + row.develop_user + '</a>';
  197. return html;
  198. }
  199. },
  200. {display: '创建人', name: 'create_user', width: 70, align: 'center'},
  201. {
  202. display: '指派人', name: 'prov_user', width: 70, align: 'center'
  203. , render: function (row) {
  204. var html = '<a href="#" onclick="seeUser(' + row.prov_user_id + ')">' + row.prov_user + '</a>';
  205. return html;
  206. }
  207. },
  208. {display: '计划完成时间', name: 'plan_fin_date', width: 150, align: 'center', format: 'yyyy-MM-dd hh:mm:ss'},
  209. {display: '实际完成时间', name: 'prac_fin_date', width: 150, align: 'center', format: 'yyyy-MM-dd hh:mm:ss'},
  210. {display: '创建时间', name: 'create_date', width: 150, align: 'center', format: 'yyyy-MM-dd hh:mm:ss'},
  211. {
  212. display: '操作', name: '', width: 145, align: 'center', frozen: true, render: function (row, index) {
  213. var html = '';
  214. if (row.task_state != 7 && (row.create_user_id == jsonParam.LoginID || row.prov_user_id == jsonParam.LoginID)){
  215. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'editTask\')">编辑</a>&nbsp;';
  216. }
  217. if (row.task_state == 1 && row.develop_user_id == jsonParam.LoginID ){
  218. html += '<a href="#" onclick="receiveTask(' + row.universalid + ')">接收</a>&nbsp;'
  219. }
  220. if (row.task_state == 2 && row.develop_user_id == jsonParam.LoginID ){
  221. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'addTmsWork\')">日志填写</a>&nbsp;';
  222. }
  223. if ( row.task_state != 7 && (row.create_user_id == jsonParam.LoginID || row.prov_user_id == jsonParam.LoginID)){
  224. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'cancelTask\')">撤销</a>&nbsp;';
  225. }
  226. if ((row.task_state == 5 || row.task_state == 6) && row.prov_user_id == jsonParam.LoginID ){
  227. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'finishTask\')">审核</a>&nbsp;';
  228. }
  229. html += '<a href="javascript:void(' + index + ');" onclick="seeTask(' + row.universalid + ')">详情</a>';
  230. return html;
  231. }
  232. }
  233. ],
  234. pageSize: 20,
  235. url: 'MyTaskAction.do?task=searchMyDevelopTask&time=' + new Date().getTime(),
  236. parms: params,
  237. pageParmName: 'curPage',
  238. pagesizeParmName: 'pageSize',
  239. width: '100%',
  240. height: '99%',
  241. checkbox: false,
  242. rownumbers: false,
  243. enabledSort: true,
  244. method: "post",
  245. onAfterShowData: function () {
  246. buildProgressbar("myDTask");
  247. setTimeout(function () {
  248. var width2 = $('#myDTask .l-grid2').css("width");
  249. $('#myDTask .l-grid2').css("left", '0px');
  250. $('#myDTask .l-grid1').css("left", width2);
  251. }, 0);
  252. },
  253. onError: function (err) {
  254. alert("获取数据失败,请刷新页面后重试!");
  255. }
  256. });
  257. } else {
  258. myDTask._setParms(params);
  259. myDTask.loadData();
  260. }
  261. }
  262. function initMyDTaskUndone(params) {
  263. if (params == undefined) {
  264. params = "";
  265. }
  266. if (myDTaskUndone == undefined) {
  267. myDTaskUndone = $("#myDTaskUndone").ligerGrid({
  268. columns: [
  269. {
  270. display: '任务名称', name: 'task_name', align: 'left', minWidth: 230
  271. , render: function (row, index) {
  272. var html = '<a href="javascript:void(' + index + ');" onclick="seeTask(' + row.universalid + ')">' + row.task_name + '</a>';
  273. return html;
  274. }
  275. },
  276. {
  277. display: '任务进度', name: 'proc_finish_per', align: 'left', minWidth: 120
  278. , render: function (row) {
  279. var html = "<div style='padding-top:2px;' id=taskProcFinishPer_" + row.universalid + ">" + row.proc_finish_per + "</div>";
  280. return html;
  281. }
  282. },
  283. {
  284. display: '任务状态', name: 'task_state', width: 60, align: 'center'
  285. , render: function (row) {
  286. var html = displayTaskState4User(row, true);
  287. return html;
  288. }
  289. },
  290. {display: '已用时', name: 'prac_man_hour', width: 45, align: 'center'},
  291. {
  292. display: '工期差距/天', name: 'between_day', width: 80, align: 'center', isSort: false
  293. , render: function (row) {
  294. var html = displayBetweenDay(row);
  295. return html;
  296. }
  297. },
  298. {
  299. display: '任务类型', name: 'task_type', width: 130, align: 'center'
  300. , render: function (row) {
  301. var html = row.task_type_text + '(' + row.task_source_text + ')';
  302. return html;
  303. }
  304. },
  305. {
  306. display: '项目名称', name: 'proj_name', width: 105, align: 'center'
  307. , render: function (row) {
  308. if (row.proj_id != 0) {
  309. var html = '<a href="#" onclick="seeProject(' + row.proj_id + ')">' + row.proj_name + '</a>';
  310. return html;
  311. } else {
  312. return row.proj_name;
  313. }
  314. }
  315. },
  316. {
  317. display: '负责人', name: 'develop_user', width: 70, align: 'center'
  318. , render: function (row) {
  319. var html = '<a href="#" onclick="seeUser(' + row.develop_user_id + ')">' + row.develop_user + '</a>';
  320. return html;
  321. }
  322. },
  323. {display: '创建人', name: 'create_user', width: 70, align: 'center'},
  324. {
  325. display: '指派人', name: 'prov_user', width: 70, align: 'center'
  326. , render: function (row) {
  327. var html = '<a href="#" onclick="seeUser(' + row.prov_user_id + ')">' + row.prov_user + '</a>';
  328. return html;
  329. }
  330. },
  331. {display: '计划完成时间', name: 'plan_fin_date', width: 150, align: 'center', format: 'yyyy-MM-dd hh:mm:ss'},
  332. {display: '实际完成时间', name: 'prac_fin_date', width: 150, align: 'center', format: 'yyyy-MM-dd hh:mm:ss'},
  333. {display: '创建时间', name: 'create_date', width: 150, align: 'center', format: 'yyyy-MM-dd hh:mm:ss'},
  334. {
  335. display: '操作', name: '', width: 145, align: 'center', frozen: true, render: function (row, index) {
  336. var html = '';
  337. if (row.task_state != 7 && (row.create_user_id == jsonParam.LoginID || row.prov_user_id == jsonParam.LoginID)){
  338. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'editTask\')">编辑</a>&nbsp;';
  339. }
  340. if (row.task_state == 1 && row.develop_user_id == jsonParam.LoginID ){
  341. html += '<a href="#" onclick="receiveTask(' + row.universalid + ')">接收</a>&nbsp;'
  342. }
  343. if (row.task_state == 2 && row.develop_user_id == jsonParam.LoginID ){
  344. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'addTmsWork\')">日志填写</a>&nbsp;';
  345. }
  346. if ( row.task_state != 7 && (row.create_user_id == jsonParam.LoginID || row.prov_user_id == jsonParam.LoginID)){
  347. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'cancelTask\')">撤销</a>&nbsp;';
  348. }
  349. if ((row.task_state == 5 || row.task_state == 6) && row.prov_user_id == jsonParam.LoginID ){
  350. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'finishTask\')">审核</a>&nbsp;';
  351. }
  352. html += '<a href="javascript:void(' + index + ');" onclick="seeTask(' + row.universalid + ')">详情</a>';
  353. return html;
  354. }
  355. }
  356. ], pageSize: 20,
  357. url: 'MyTaskAction.do?task=searchMyDevelopTaskUndone&time=' + new Date().getTime(),
  358. parms: params,
  359. pageParmName: 'curPage',
  360. pagesizeParmName: 'pageSize',
  361. width: '100%',
  362. height: '99%',
  363. checkbox: false,
  364. rownumbers: false,
  365. enabledSort: true,
  366. method: "post",
  367. onAfterShowData: function () {
  368. buildProgressbar("myDTaskUndone");
  369. setTimeout(function () {
  370. var width2 = $('#myDTaskUndone .l-grid2').css("width");
  371. $('#myDTaskUndone .l-grid2').css("left", '0px');
  372. $('#myDTaskUndone .l-grid1').css("left", width2);
  373. }, 0);
  374. },
  375. onError: function (err) {
  376. alert("获取数据失败,请刷新页面后重试!");
  377. }
  378. });
  379. } else {
  380. myDTaskUndone._setParms(params);
  381. myDTaskUndone.loadData();
  382. }
  383. }
  384. function initMyDTaskExpired(params) {
  385. if (params == undefined) {
  386. params = "";
  387. }
  388. if (myDTaskExpired == undefined) {
  389. myDTaskExpired = $("#myDTaskExpired").ligerGrid({
  390. columns: [
  391. {
  392. display: '任务名称', name: 'task_name', align: 'left', minWidth: 230
  393. , render: function (row, index) {
  394. var html = '<a href="javascript:void(' + index + ');" onclick="seeTask(' + row.universalid + ')">' + row.task_name + '</a>';
  395. return html;
  396. }
  397. },
  398. {
  399. display: '任务进度', name: 'proc_finish_per', align: 'left', minWidth: 120
  400. , render: function (row) {
  401. var html = "<div style='padding-top:2px;' id=taskProcFinishPer_" + row.universalid + ">" + row.proc_finish_per + "</div>";
  402. return html;
  403. }
  404. },
  405. {
  406. display: '任务状态', name: 'task_state', width: 60, align: 'center'
  407. , render: function (row) {
  408. var html = displayTaskState4User(row, true);
  409. return html;
  410. }
  411. },
  412. {display: '已用时', name: 'prac_man_hour', width: 45, align: 'center'},
  413. {
  414. display: '工期差距/天', name: 'between_day', width: 80, align: 'center', isSort: false
  415. , render: function (row) {
  416. var html = displayBetweenDay(row);
  417. return html;
  418. }
  419. },
  420. {
  421. display: '任务类型', name: 'task_type', width: 130, align: 'center'
  422. , render: function (row) {
  423. var html = row.task_type_text + '(' + row.task_source_text + ')';
  424. return html;
  425. }
  426. },
  427. {
  428. display: '项目名称', name: 'proj_name', width: 105, align: 'center'
  429. , render: function (row) {
  430. if (row.proj_id != 0) {
  431. var html = '<a href="#" onclick="seeProject(' + row.proj_id + ')">' + row.proj_name + '</a>';
  432. return html;
  433. } else {
  434. return row.proj_name;
  435. }
  436. }
  437. },
  438. {
  439. display: '负责人', name: 'develop_user', width: 70, align: 'center'
  440. , render: function (row) {
  441. var html = '<a href="#" onclick="seeUser(' + row.develop_user_id + ')">' + row.develop_user + '</a>';
  442. return html;
  443. }
  444. },
  445. {display: '创建人', name: 'create_user', width: 70, align: 'center'},
  446. {
  447. display: '指派人', name: 'prov_user', width: 70, align: 'center'
  448. , render: function (row) {
  449. var html = '<a href="#" onclick="seeUser(' + row.prov_user_id + ')">' + row.prov_user + '</a>';
  450. return html;
  451. }
  452. },
  453. {display: '计划完成时间', name: 'plan_fin_date', width: 150, align: 'center', format: 'yyyy-MM-dd hh:mm:ss'},
  454. {display: '实际完成时间', name: 'prac_fin_date', width: 150, align: 'center', format: 'yyyy-MM-dd hh:mm:ss'},
  455. {display: '创建时间', name: 'create_date', width: 150, align: 'center', format: 'yyyy-MM-dd hh:mm:ss'},
  456. {
  457. display: '操作', name: '', width: 145, align: 'center', frozen: true, render: function (row, index) {
  458. var html = '';
  459. if (row.task_state != 7 && (row.create_user_id == jsonParam.LoginID || row.prov_user_id == jsonParam.LoginID)){
  460. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'editTask\')">编辑</a>&nbsp;';
  461. }
  462. if (row.task_state == 1 && row.develop_user_id == jsonParam.LoginID ){
  463. html += '<a href="#" onclick="receiveTask(' + row.universalid + ')">接收</a>&nbsp;'
  464. }
  465. if (row.task_state == 2 && row.develop_user_id == jsonParam.LoginID ){
  466. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'addTmsWork\')">日志填写</a>&nbsp;';
  467. }
  468. if ( row.task_state != 7 && (row.create_user_id == jsonParam.LoginID || row.prov_user_id == jsonParam.LoginID)){
  469. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'cancelTask\')">撤销</a>&nbsp;';
  470. }
  471. if ((row.task_state == 5 || row.task_state == 6) && row.prov_user_id == jsonParam.LoginID ){
  472. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'finishTask\')">审核</a>&nbsp;';
  473. }
  474. html += '<a href="javascript:void(' + index + ');" onclick="seeTask(' + row.universalid + ')">详情</a>';
  475. return html;
  476. }
  477. }
  478. ], pageSize: 20,
  479. url: 'MyTaskAction.do?task=searchMyDevelopTaskExpired&time=' + new Date().getTime(),
  480. parms: params,
  481. pageParmName: 'curPage',
  482. pagesizeParmName: 'pageSize',
  483. width: '100%',
  484. height: '99%',
  485. checkbox: false,
  486. rownumbers: false,
  487. enabledSort: true,
  488. method: "post",
  489. onAfterShowData: function () {
  490. buildProgressbar("myDTaskExpired");
  491. setTimeout(function () {
  492. var width2 = $('#myDTaskExpired .l-grid2').css("width");
  493. $('#myDTaskExpired .l-grid2').css("left", '0px');
  494. $('#myDTaskExpired .l-grid1').css("left", width2);
  495. }, 0);
  496. },
  497. onError: function (err) {
  498. alert("获取数据失败,请刷新页面后重试!");
  499. }
  500. });
  501. } else {
  502. myDTaskExpired._setParms(params);
  503. myDTaskExpired.loadData();
  504. }
  505. }
  506. function initMyPTask(params) {
  507. if (params == undefined) {
  508. params = [];
  509. }
  510. if (myPTask == undefined) {
  511. myPTask = $("#myPTask").ligerGrid({
  512. columns: [
  513. {
  514. display: '任务名称', name: 'task_name', align: 'left', minWidth: 230
  515. , render: function (row) {
  516. var html = '<a href="#" onclick="seeTask(' + row.universalid + ')">' + row.task_name + '</a>';
  517. return html;
  518. }
  519. },
  520. {
  521. display: '任务进度', name: 'proc_finish_per', align: 'left', minWidth: 120
  522. , render: function (row) {
  523. var html = "<div style='padding-top:2px;' id=taskProcFinishPer_" + row.universalid + ">" + row.proc_finish_per + "</div>";
  524. return html;
  525. }
  526. },
  527. {
  528. display: '任务状态', name: 'task_state', width: 60, align: 'center'
  529. , render: function (row) {
  530. var html = displayTaskState4User(row, false);
  531. return html;
  532. }
  533. },
  534. {display: '已用时', name: 'prac_man_hour', width: 45, align: 'center'},
  535. {
  536. display: '工期差距/天', name: 'between_day', width: 80, align: 'center', isSort: false
  537. , render: function (row) {
  538. var html = displayBetweenDay(row);
  539. return html;
  540. }
  541. },
  542. {
  543. display: '任务类型', name: 'task_type', width: 130, align: 'center'
  544. , render: function (row) {
  545. var html = row.task_type_text + '(' + row.task_source_text + ')';
  546. return html;
  547. }
  548. },
  549. {
  550. display: '项目名称', name: 'proj_name', width: 105, align: 'center'
  551. , render: function (row) {
  552. if (row.proj_id != 0) {
  553. var html = '<a href="#" onclick="seeProject(' + row.proj_id + ')">' + row.proj_name + '</a>';
  554. return html;
  555. } else {
  556. return row.proj_name;
  557. }
  558. }
  559. },
  560. {
  561. display: '负责人', name: 'develop_user', width: 70, align: 'center'
  562. , render: function (row) {
  563. var html = '<a href="#" onclick="seeUser(' + row.develop_user_id + ')">' + row.develop_user + '</a>';
  564. return html;
  565. }
  566. },
  567. {
  568. display: '指派人', name: 'prov_user', width: 70, align: 'center'
  569. , render: function (row) {
  570. var html = '<a href="#" onclick="seeUser(' + row.prov_user_id + ')">' + row.prov_user + '</a>';
  571. return html;
  572. }
  573. },
  574. {display: '创建人', name: 'create_user', width: 70, align: 'center'},
  575. {display: '计划完成时间', name: 'plan_fin_date', width: 150, align: 'center', format: 'yyyy-MM-dd hh:mm:ss'},
  576. {display: '实际完成时间', name: 'prac_fin_date', width: 150, align: 'center', format: 'yyyy-MM-dd hh:mm:ss'},
  577. {display: '创建时间', name: 'create_date', width: 150, align: 'center', format: 'yyyy-MM-dd hh:mm:ss'},
  578. {
  579. display: '操作', name: '', width: 145, align: 'center', frozen: true, render: function (row, index) {
  580. var html = '';
  581. if (row.task_state != 7 && (row.create_user_id == jsonParam.LoginID || row.prov_user_id == jsonParam.LoginID)){
  582. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'editTask\')">编辑</a>&nbsp;';
  583. }
  584. if (row.task_state == 1 && row.develop_user_id == jsonParam.LoginID ){
  585. html += '<a href="#" onclick="receiveTask(' + row.universalid + ')">接收</a>&nbsp;'
  586. }
  587. if (row.task_state == 2 && row.develop_user_id == jsonParam.LoginID ){
  588. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'addTmsWork\')">日志填写</a>&nbsp;';
  589. }
  590. if ( row.task_state != 7 && (row.create_user_id == jsonParam.LoginID || row.prov_user_id == jsonParam.LoginID)){
  591. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'cancelTask\')">撤销</a>&nbsp;';
  592. }
  593. if ((row.task_state == 5 || row.task_state == 6) && row.prov_user_id == jsonParam.LoginID ){
  594. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'finishTask\')">审核</a>&nbsp;';
  595. }
  596. html += '<a href="javascript:void(' + index + ');" onclick="seeTask(' + row.universalid + ')">详情</a>';
  597. return html;
  598. }
  599. }
  600. ], pageSize: 20,
  601. url: 'MyTaskAction.do?task=searchMyProvTask&time=' + new Date().getTime(),
  602. parms: params,
  603. pageParmName: 'curPage',
  604. pagesizeParmName: 'pageSize',
  605. width: '100%',
  606. height: '99%',
  607. checkbox: false,
  608. // rownumbers: true,
  609. enabledSort: true,
  610. method: "post",
  611. onAfterShowData: function () {
  612. buildProgressbar("myPTask");
  613. setTimeout(function () {
  614. var width2 = $('#myPTask .l-grid2').css("width");
  615. $('#myPTask .l-grid2').css("left", '0px');
  616. $('#myPTask .l-grid1').css("left", width2);
  617. }, 0);
  618. },
  619. onError: function (err) {
  620. alert("获取数据失败,请刷新页面后重试!");
  621. }
  622. });
  623. } else {
  624. myPTask._setParms(params);
  625. myPTask.loadData();
  626. }
  627. }
  628. function initMyCTask(params) {
  629. if (params == undefined) {
  630. params = "";
  631. }
  632. if (myCTask == undefined) {
  633. myCTask = $("#myCTask").ligerGrid({
  634. columns: [
  635. {
  636. display: '任务名称', name: 'task_name', align: 'left', minWidth: 230
  637. , render: function (row) {
  638. var html = '<a href="#" onclick="seeTask(' + row.universalid + ')">' + row.task_name + '</a>';
  639. return html;
  640. }
  641. },
  642. {
  643. display: '任务进度', name: 'proc_finish_per', align: 'left', minWidth: 120
  644. , render: function (row) {
  645. var html = "<div style='padding-top:2px;' id=taskProcFinishPer_" + row.universalid + ">" + row.proc_finish_per + "</div>";
  646. return html;
  647. }
  648. },
  649. {
  650. display: '任务状态', name: 'task_state', width: 60, align: 'center'
  651. , render: function (row) {
  652. var html = displayTaskState4User(row, false);
  653. return html;
  654. }
  655. },
  656. {display: '已用时', name: 'prac_man_hour', width: 45, align: 'center'},
  657. {
  658. display: '工期差距/天', name: 'between_day', width: 80, align: 'center', isSort: false
  659. , render: function (row) {
  660. var html = displayBetweenDay(row);
  661. return html;
  662. }
  663. },
  664. {
  665. display: '任务类型', name: 'task_type', width: 130, align: 'center'
  666. , render: function (row) {
  667. var html = row.task_type_text + '(' + row.task_source_text + ')';
  668. return html;
  669. }
  670. },
  671. {
  672. display: '项目名称', name: 'proj_name', width: 105, align: 'center'
  673. , render: function (row) {
  674. if (row.proj_id != 0) {
  675. var html = '<a href="#" onclick="seeProject(' + row.proj_id + ')">' + row.proj_name + '</a>';
  676. return html;
  677. } else {
  678. return row.proj_name;
  679. }
  680. }
  681. },
  682. {display: '创建人', name: 'create_user', width: 70, align: 'center'},
  683. {
  684. display: '负责人', name: 'develop_user', width: 70, align: 'center'
  685. , render: function (row) {
  686. var html = '<a href="#" onclick="seeUser(' + row.develop_user_id + ')">' + row.develop_user + '</a>';
  687. return html;
  688. }
  689. },
  690. {
  691. display: '指派人', name: 'prov_user', width: 70, align: 'center'
  692. , render: function (row) {
  693. var html = '<a href="#" onclick="seeUser(' + row.prov_user_id + ')">' + row.prov_user + '</a>';
  694. return html;
  695. }
  696. },
  697. {display: '计划完成时间', name: 'plan_fin_date', width: 150, align: 'center', format: 'yyyy-MM-dd hh:mm:ss'},
  698. {display: '实际完成时间', name: 'prac_fin_date', width: 150, align: 'center', format: 'yyyy-MM-dd hh:mm:ss'},
  699. {display: '创建时间', name: 'create_date', width: 150, align: 'center', format: 'yyyy-MM-dd hh:mm:ss'},
  700. {
  701. display: '操作', name: '', width: 145, align: 'center', frozen: true, render: function (row, index) {
  702. var html = '';
  703. if (row.task_state != 7 && (row.create_user_id == jsonParam.LoginID || row.prov_user_id == jsonParam.LoginID)){
  704. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'editTask\')">编辑</a>&nbsp;';
  705. }
  706. if (row.task_state == 1 && row.develop_user_id == jsonParam.LoginID ){
  707. html += '<a href="#" onclick="receiveTask(' + row.universalid + ')">接收</a>&nbsp;'
  708. }
  709. if (row.task_state == 2 && row.develop_user_id == jsonParam.LoginID ){
  710. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'addTmsWork\')">日志填写</a>&nbsp;';
  711. }
  712. if ( row.task_state != 7 && (row.create_user_id == jsonParam.LoginID || row.prov_user_id == jsonParam.LoginID)){
  713. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'cancelTask\')">撤销</a>&nbsp;';
  714. }
  715. if ((row.task_state == 5 || row.task_state == 6) && row.prov_user_id == jsonParam.LoginID ){
  716. html += '<a href="#" onclick="seeTask(' + row.universalid + ',\'finishTask\')">审核</a>&nbsp;';
  717. }
  718. html += '<a href="javascript:void(' + index + ');" onclick="seeTask(' + row.universalid + ')">详情</a>';
  719. return html;
  720. }
  721. }
  722. ], pageSize: 20,
  723. url: 'MyTaskAction.do?task=searchMyCreateTask&time=' + new Date().getTime(),
  724. parms: params,
  725. pageParmName: 'curPage',
  726. pagesizeParmName: 'pageSize',
  727. width: '100%',
  728. height: '99%',
  729. checkbox: false,
  730. // rownumbers: true,
  731. enabledSort: true,
  732. method: "post",
  733. onAfterShowData: function () {
  734. buildProgressbar("myCTask");
  735. setTimeout(function () {
  736. var width2 = $('#myCTask .l-grid2').css("width");
  737. $('#myCTask .l-grid2').css("left", '0px');
  738. $('#myCTask .l-grid1').css("left", width2);
  739. }, 0);
  740. },
  741. onError: function (err) {
  742. alert("获取数据失败,请刷新页面后重试!");
  743. }
  744. });
  745. } else {
  746. myCTask._setParms(params);
  747. myCTask.loadData();
  748. }
  749. }
  750. function buildProgressbar(tableId) {
  751. $("#" + tableId).find("div[id^='taskProcFinishPer_']").each(function () {
  752. $(this).progressBar(this.innerHTML, {width: 70, increment: 5, speed: 1});
  753. })
  754. }
  755. /** 以下是接收任务相关代码 **/
  756. function receiveTask(taskId) {
  757. if (confirm("您确定接收并开始该项任务吗?")) {
  758. $.ajax({
  759. type: "POST",
  760. url: "TaskDetailAction.do?task=receiveTask&time=" + new Date().getTime(),
  761. timeout: 30000,
  762. cache: false,
  763. dataType: "json",
  764. data: {"taskId": taskId},
  765. beforeSend: function () {
  766. showWaittingDialog("正在提交中,请稍后……");
  767. },
  768. success: function (data) {
  769. var error = data.error;
  770. if (error == undefined) {
  771. $.ligerDialog.open({
  772. content: "操作成功,该项任务已接收", "title": "操作成功!", "type": "success", allowClose: false,
  773. buttons: [{
  774. text: '确定', onclick: function (item, dialog) {
  775. refreshWindow();
  776. }
  777. }]
  778. });
  779. } else {
  780. showAjaxError(null, data.error);
  781. }
  782. },
  783. error: function (err) {
  784. showAjaxError(err);
  785. },
  786. complete: function () {
  787. closeWaittingDialog();
  788. }
  789. });
  790. }
  791. }
  792. /** 以上是接收任务相关代码 **/
  793. /**
  794. * 新建临时任务
  795. */
  796. function createTask() {
  797. var uri = "CreateTaskAction.do?task=createTask";
  798. addTab(uri, "新建临时任务", uri, true);
  799. }