executed-detail.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <div id="app" v-cloak>
  2. <el-card shadow="never" style="border:0" class="box-card" body-style="background-color: #f3f3f3;padding: 20px 0 0;" class="box-card" v-loading="cardLoading">
  3. <div slot="header">
  4. <el-breadcrumb separator="/">
  5. <el-breadcrumb-item>
  6. <span style="color: #409EFF;cursor: pointer"
  7. @click="$navigate({r:'admin/task/executed-list'})">
  8. 任务记录
  9. </span>
  10. </el-breadcrumb-item>
  11. <el-breadcrumb-item>记录详情</el-breadcrumb-item>
  12. <el-button style="margin: -5px 0;float: right" type="primary" size="small" @click="$navigate({r:'admin/task/executed-list'})"> 返回 </el-button>
  13. </el-breadcrumb>
  14. </div>
  15. <div class="form-body">
  16. <el-form :model="ruleForm" :rules="rules" ref="ruleForm" size="mini" label-width="150px" class="demo-ruleForm">
  17. <el-form-item label="执行命令" prop="type">
  18. <p>{{ruleForm.command}}</p>
  19. </el-form-item>
  20. <el-form-item label="任务类型" prop="type">
  21. <p>{{task_type[ruleForm.type]}}</p>
  22. </el-form-item>
  23. <el-form-item label="任务耗时" prop="type">
  24. <p>{{ruleForm.running_time}}ms</p>
  25. </el-form-item>
  26. <el-form-item label="任务预设开始时间" prop="start_time">
  27. <p>{{ruleForm.start_time|dateTimeFormat('Y-m-d H:i:s')}}</p>
  28. </el-form-item>
  29. <el-form-item label="任务实际执行时间" prop="execute_time">
  30. <p>{{ruleForm.execute_time|dateTimeFormat('Y-m-d H:i:s')}}</p>
  31. </el-form-item>
  32. <el-form-item label="实际完成时间" prop="complete_time">
  33. <p>{{ruleForm.complete_time|dateTimeFormat('Y-m-d H:i:s')}}</p>
  34. </el-form-item>
  35. <el-form-item label="执行状态" prop="exec_process">
  36. <p>{{exec_status[ruleForm.exec_process]}}</p>
  37. </el-form-item>
  38. <el-form-item label="结果输出" prop="result">
  39. <p>{{ruleForm.result}}</p>
  40. </el-form-item>
  41. </el-form>
  42. </div>
  43. </el-card>
  44. </div>
  45. <script>
  46. const app = new Vue({
  47. el: '#app',
  48. data() {
  49. return {
  50. btnLoading:false,
  51. cardLoading: false,
  52. ruleForm: {
  53. id: 0,
  54. name:'',
  55. type:1,
  56. status:1,
  57. command:'',
  58. rule:''
  59. },
  60. rules: {
  61. name: [{
  62. required: true,
  63. message: '请输入任务名称',
  64. trigger: 'blur'
  65. }, ],
  66. rule: [{
  67. required: true,
  68. message: '任务执行规则不能为空',
  69. trigger: 'blur'
  70. }, ],
  71. command: [{
  72. required: true,
  73. message: '执行命令不能为空',
  74. trigger: 'blur'
  75. }, ],
  76. },
  77. task_type: { 1: 'shell脚本', 2: '站内脚本', 3: '访问URL' },
  78. exec_status: { 1: '准备中', 2: '执行中', 3: '任务失败', 4: '已完成' }
  79. };
  80. },
  81. created() {
  82. },
  83. mounted: function() {
  84. let id = getQuery('id');
  85. if (id) {
  86. this.getCrontabInfo(id);
  87. }
  88. },
  89. methods: {
  90. getCrontabInfo(id) {
  91. let self = this;
  92. self.cardLoading = true;
  93. request({
  94. params: {
  95. r: 'admin/task/executed-detail',
  96. id:id,
  97. },
  98. method: 'get'
  99. }).then(e => {
  100. self.cardLoading = false;
  101. if (e.data.code == 0) {
  102. self.ruleForm = e.data.data;
  103. } else {
  104. self.$message.error(e.data.msg);
  105. }
  106. }).catch(e => {
  107. self.cardLoading = false;
  108. self.$message.error(e);
  109. });
  110. },
  111. }
  112. });
  113. </script>