ReviewList.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. MWF.xDesktop.requireApp("process.TaskCenter", "TaskCompletedList", null, false);
  2. MWF.xApplication.process.TaskCenter.ReviewList = new Class({
  3. Extends: MWF.xApplication.process.TaskCenter.TaskCompletedList,
  4. _getCurrentPageData: function(callback, count){
  5. this.app.getAction(function(){
  6. if (this.filterData){
  7. this.filterListNode.empty();
  8. var data = {};
  9. Object.each(this.filterData, function(v, key){
  10. if (key!="key"){
  11. if (v) {
  12. //data[this.app.options.filterMap[key]] = v.value;
  13. if (!data[this.app.options.filterMap[key]]) data[this.app.options.filterMap[key]] = [];
  14. data[this.app.options.filterMap[key]].push(v.value);
  15. this.createFilterItemNode(key, v);
  16. }
  17. }else{
  18. data.key = v;
  19. }
  20. }.bind(this));
  21. if (this.filterData.key){
  22. this.createFilterItemNode("key", {"name": this.filterData.key});
  23. }
  24. var id = (this.items.length) ? this.items[this.items.length-1].data.id : "(0)";
  25. this.app.action.listReviewFilter(function(json){
  26. if (callback) callback(json);
  27. }, null, id, count || this.pageCount, data);
  28. }else{
  29. var id = (this.items.length) ? this.items[this.items.length-1].data.id : "(0)";
  30. this.app.action.listReviewNext(function(json){
  31. if (callback) callback(json);
  32. }, null, id, count || this.pageCount);
  33. }
  34. }.bind(this));
  35. },
  36. _getApplicationCount: function(callback){
  37. this.app.getAction(function(){
  38. this.app.action.listReviewApplication(function(json){
  39. if (callback) callback(json);
  40. }.bind(this));
  41. }.bind(this));
  42. },
  43. _createItem: function(task){
  44. return new MWF.xApplication.process.TaskCenter.ReviewList.Item(task, this)
  45. },
  46. _getFilterCount: function(callback){
  47. this.app.action.listReviewFilterCount(function(json){
  48. if (callback) callback(json);
  49. });
  50. }
  51. });
  52. MWF.xApplication.process.TaskCenter.ReviewList.Item = new Class({
  53. Extends: MWF.xApplication.process.TaskCenter.TaskCompletedList.Item,
  54. setFlowChart: function(data){
  55. var idx = 0;
  56. data.workLogTokenList = {};
  57. data.workLogList.each(function(worklog){
  58. data.workLogTokenList[worklog.fromActivityToken] = worklog;
  59. if (!worklog.taskCompletedList) worklog.taskCompletedList = [];
  60. if (!worklog.taskList) worklog.taskList = [];
  61. if (worklog.taskCompletedList.length || worklog.taskList.length){
  62. this.createFlowInforWorklogNode(worklog.fromActivityName, worklog.taskCompletedList, worklog.taskList || [], idx, false);
  63. idx++;
  64. }
  65. }.bind(this));
  66. return idx;
  67. },
  68. _getSimpleJobByTaskComplete: function(callback){
  69. this.list.app.action.getSimpleJobByReview(function(json){
  70. if (callback) callback(json.data);
  71. }.bind(this), null, this.data.id);
  72. }
  73. // setContent: function(){
  74. // this.titleActionNode = new Element("div", {"styles": this.list.css.titleActionNode}).inject(this.titleNode);
  75. // this.titleTextNode = new Element("div", {"styles": this.list.css.titleTextNode, "title": this.data.title}).inject(this.titleNode);
  76. //
  77. // this.titleTextNode.set("html", "<font style=\"color: #333;\">["+this.data.processName+"]</font>"+this.data.title);
  78. //
  79. // //var processNode = new Element("div", {"styles": this.list.css.itemInforProcessNode,"text": this.data.processName}).inject(this.inforNode);
  80. // var timeNode = new Element("div", {"styles": this.list.css.itemInforTimeNode, "text": this.data.startTime}).inject(this.inforNode);
  81. // var activityNode = new Element("div", {"styles": this.list.css.itemInforActivityNode, "text": this.data.applicationName, "title": this.data.applicationName}).inject(this.inforNode);
  82. //
  83. // this.loadActions();
  84. // this.loadApplicationIcon();
  85. // // this.setTimeIconNode();
  86. // }
  87. });