Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

SearchLogs.vue 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <template>
  2. <!-- eslint-disable max-len -->
  3. <main id="main" style="margin-top:-20px; padding-bottom:50px">
  4. <div class="container">
  5. <div class="row">
  6. <div class="col-md-12 col-lg-8">
  7. <div class="section-header">
  8. <h2>Search Logs</h2>
  9. </div>
  10. </div>
  11. </div>
  12. </div>
  13. <div class="container">
  14. <div class="form-group row">
  15. <div class="col-md-1">
  16. <label>Filter</label>
  17. </div>
  18. <div class="col-md-3">
  19. <select class="form-control" name="fields" id="fields" v-model="filter.by">
  20. <option v-for="(item, i) in fields" :key="i">{{ item }}</option>
  21. </select>
  22. </div>
  23. <div class="col-md-8 text-left">
  24. <div class="input-group mb-8">
  25. <input class="form-control" type="text" @change="filter()" v-model="filter.value" />
  26. <div class="input-group-append" @click="clearFilter()">
  27. <span class="input-group-text cursor-pointer" style="color: #60CBEB">
  28. <b>X</b>
  29. </span>
  30. </div>
  31. </div>
  32. </div>
  33. </div>
  34. </div>
  35. <div class="container">
  36. <listView
  37. :items="list"
  38. :showNew="false"
  39. :editable="false"
  40. :deleteable="false"
  41. :showColumnChooser="false"
  42. :hideSearch="true"
  43. :sortKey="'date'"
  44. />
  45. </div>
  46. <div class="container">
  47. <div class="form-group row">
  48. <div class="col-md-12" align="right">
  49. <JsonExcel
  50. class="btn btn-b-n"
  51. :data="list"
  52. :fields="exportFields"
  53. type="xls"
  54. worksheet="Log"
  55. name="SearchLog.xls"
  56. >
  57. Download
  58. <eva-icon name="download"></eva-icon>
  59. </JsonExcel>
  60. </div>
  61. </div>
  62. </div>
  63. <br />
  64. </main>
  65. </template>
  66. <script>
  67. import { mapState, mapActions, mapGetters } from "vuex";
  68. import JsonExcel from "vue-json-excel";
  69. import listView from "../../shared/listView.vue";
  70. export default {
  71. name: "searchLog",
  72. components: {
  73. listView,
  74. JsonExcel
  75. },
  76. data() {
  77. return {
  78. exportFields: {
  79. Date: "date",
  80. Time: "time",
  81. User: "userName",
  82. Type: "type",
  83. Field: "property",
  84. Value: "value"
  85. }
  86. };
  87. },
  88. methods: {
  89. ...mapActions("searchLog", ["getPropertySearchLogs", "clearFilter"])
  90. },
  91. mounted() {
  92. this.getPropertySearchLogs();
  93. },
  94. computed: {
  95. ...mapState("searchLog", ["list", "fields", "filter"]),
  96. ...mapGetters({
  97. list: "searchLog/filterList"
  98. })
  99. }
  100. };
  101. </script>