task-back.html 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>退回上一步</title>
  5. <!--#include file="common/_header.html"-->
  6. </head>
  7. <body>
  8. <article id="app" class="page-container">
  9. <form class="form form-horizontal" id="form1">
  10. <template v-if="prevTaskList.length>0">
  11. <div class="row cl">
  12. <label class="form-label col-xs-4 col-sm-3">上一步: </label>
  13. <div class="formControls col-xs-8 col-sm-9">
  14. <select v-model="prevTaskId">
  15. <option v-for="item in prevTaskList" :value="item.id">{{item.name}}-{{item.endTime}}</option>
  16. </select>
  17. </div>
  18. </div>
  19. <div class="row cl">
  20. <label class="form-label col-xs-4 col-sm-3">上一步经办人:</label>
  21. <div class="formControls col-xs-8 col-sm-9">
  22. <template v-if="prevTask.assignee!=null">
  23. <span v-html="prevTask.assignee.realName + '(' + prevTask.assignee.userName + ')'"></span>
  24. </template>
  25. </div>
  26. </div>
  27. <div class="row cl">
  28. <label class="form-label col-xs-4 col-sm-3">上一步完成时间:</label>
  29. <div class="formControls col-xs-8 col-sm-9">
  30. <template v-if="prevTask!=null">
  31. <span v-html="prevTask.endTime"></span>
  32. </template>
  33. </div>
  34. </div>
  35. <div class="row cl">
  36. <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
  37. <input @click="submit" class="btn btn-primary radius" type="button" value="退回">
  38. </div>
  39. </div>
  40. </template>
  41. <template v-else>
  42. <h5 v-if="loading">当前步骤无上一步或上一步为并发步骤,无法退回!</h5>
  43. <h5 v-else>加载中...</h5>
  44. </template>
  45. </form>
  46. </article>
  47. <!--_footer 作为公共模版分离出去-->
  48. <!--#include file="common/_footer.html"-->
  49. <!--/_footer 作为公共模版分离出去-->
  50. <!--请在下方写此页面业务相关的脚本-->
  51. <script type="text/javascript" src="lib/jquery.validation/1.14.0/jquery.validate.js"></script>
  52. <script type="text/javascript" src="lib/jquery.validation/1.14.0/validate-methods.js"></script>
  53. <script type="text/javascript" src="lib/jquery.validation/1.14.0/messages_zh.js"></script>
  54. <script type="text/javascript" src="scripts/global.js"></script>
  55. <script type="text/javascript" src="lib/vue/vue.js"></script>
  56. <script type="text/javascript">
  57. var path = global_backend_url;
  58. //获取url中传参
  59. var taskId = getQueryString("id");
  60. var app = new Vue({
  61. el:"#app",
  62. data:{
  63. prevTaskList:[],
  64. prevTaskId: "",
  65. prevTask: {},
  66. loading : true
  67. },
  68. watch: {
  69. prevTaskId: function(newValue,oldValue){
  70. this.prevTaskList.forEach(task => {
  71. if(task.id == this.prevTaskId){
  72. this.prevTask = task;
  73. return;
  74. }
  75. });
  76. }
  77. },
  78. mounted:function(){
  79. var loadingIndex = top.layer.load(1, {shade: [0.1,'#fff']});
  80. var self = this;
  81. $.get(path + "/task/findPrevTasks",{
  82. taskId : taskId
  83. }, function(json){
  84. top.layer.close(loadingIndex);
  85. self.loading = false;
  86. if(json.result){
  87. self.prevTaskList = json.data;
  88. if(self.prevTaskList.length>0){
  89. self.prevTaskId = self.prevTaskList[0].id;
  90. }
  91. }
  92. else{
  93. top.layer.msg(json.message + "");
  94. }
  95. },"json");
  96. },
  97. methods:{
  98. submit : function(){
  99. var loadingIndex = top.layer.load(1, {shade: [0.5,'#fff']});
  100. $.post(global_backend_url + "/task/back",{
  101. taskId : taskId,
  102. prevTaskId : this.prevTaskId
  103. },function(resp){
  104. top.layer.close(loadingIndex);
  105. if(resp.result){
  106. if(parent!=null){
  107. var index = parent.layer.getFrameIndex(window.name);
  108. //layer.close(loadingIndex1);
  109. if(index>=0){
  110. parent.reloadList();
  111. parent.layer.close(index);
  112. }
  113. }
  114. else{
  115. top.layer.msg("退回成功!");
  116. }
  117. }
  118. else{
  119. top.layer.msg(resp.message);
  120. }
  121. },"json");
  122. }
  123. }
  124. });
  125. </script>
  126. <!--/请在上方写此页面业务相关的脚本-->
  127. </body>
  128. </html>