TraceLog.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <!--
  2. 作者:yangzhijie1488@163.com
  3. 时间:2017-12-12
  4. 描述:追踪日志
  5. -->
  6. <template>
  7. <div>
  8. <div class="panel panel-default">
  9. <div class="panel-heading dashboard-header" @click.self="collapse()">
  10. &nbsp;&nbsp;动态信息
  11. <div class="pull-left">
  12. <span
  13. class="glyphicon"
  14. :class="{
  15. 'glyphicon-triangle-bottom': !isCollapse,
  16. 'glyphicon glyphicon-triangle-top': isCollapse,
  17. }"
  18. />
  19. </div>
  20. </div>
  21. <div v-if="isCollapse == true" id="trace-content" class="container-fluid">
  22. <div v-for="item in traceLogs" :key="item.id">
  23. <h5>
  24. {{ item.dateTime }} &nbsp;{{ item.operatorUserName }}
  25. <!-- eslint-disable-next-line -->
  26. <div v-html="item.content" />
  27. </h5>
  28. </div>
  29. </div>
  30. </div>
  31. </div>
  32. </template>
  33. <script>
  34. var Common = require('../common/Common.js');
  35. export default {
  36. components: {
  37. Common,
  38. },
  39. // props: ['traceId'],
  40. props: {
  41. traceId: {
  42. type: String,
  43. default: null,
  44. },
  45. },
  46. data: function () {
  47. return {
  48. traceLogs: [],
  49. isCollapse: false,
  50. };
  51. },
  52. watch: {
  53. traceId: function (curVal, oldVal) {
  54. if (curVal != undefined && this.isCollapse == true) {
  55. this.getTraceLog();
  56. }
  57. },
  58. },
  59. mounted: function () {
  60. if (this.traceId != undefined && this.isCollapse == true) {
  61. this.getTraceLog();
  62. }
  63. },
  64. methods: {
  65. /**
  66. * 控制展开闭合
  67. * @return {void}
  68. */
  69. collapse: function () {
  70. var _self = this;
  71. _self.isCollapse = !_self.isCollapse;
  72. _self.getTraceLog();
  73. },
  74. /**
  75. * 根据追踪单Id获取追踪日志信息
  76. * @author GuoZhiBo 20171201
  77. */
  78. getTraceLog: function () {
  79. var _self = this;
  80. $.ajax({
  81. url: Common.getApiURL('TraceLogResource/listByTraceId'),
  82. type: 'get',
  83. dataType: 'json',
  84. async: false,
  85. data: {
  86. traceId: _self.traceId,
  87. },
  88. beforeSend: function (request) {
  89. Common.addTokenToRequest(request);
  90. },
  91. success: function (data) {
  92. _self.traceLogs = data;
  93. },
  94. error: function (XMLHttpRequest, textStatus, errorThrown) {
  95. Common.processException(XMLHttpRequest, textStatus, errorThrown);
  96. },
  97. });
  98. },
  99. },
  100. };
  101. </script>
  102. <style>
  103. </style>