DataLog.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <template>
  2. <div class="log_container">
  3. <el-container>
  4. <el-header>
  5. <el-row>
  6. <el-col :span="12">
  7. <div class="title"></div>
  8. </el-col>
  9. <el-col :span="24">
  10. <div>
  11. <el-date-picker
  12. v-model="datatime"
  13. type="datetimerange"
  14. :picker-options="pickerOptions"
  15. range-separator="至"
  16. start-placeholder="开始日期"
  17. end-placeholder="结束日期"
  18. :align="'right'"
  19. ></el-date-picker>
  20. <el-button type="primary" @click="search">查询</el-button>
  21. </div>
  22. </el-col>
  23. </el-row>
  24. </el-header>
  25. <el-main>
  26. <ListContainer
  27. v-bind="{
  28. listField: listField,
  29. listData: logList,
  30. noDataTip: '暂无数据',
  31. total: total,
  32. pageSize: pageSize,
  33. currentPage: page,
  34. searchData: getDataLog,
  35. }"
  36. ></ListContainer>
  37. </el-main>
  38. <!-- <el-footer>
  39. <div>
  40. <el-pagination
  41. background
  42. layout="prev, pager, next"
  43. :page-size="pageSize"
  44. :total="total"
  45. @current-change="currentPageChange"
  46. ></el-pagination>
  47. </div>
  48. </el-footer>-->
  49. </el-container>
  50. </div>
  51. </template>
  52. <script>
  53. import api from "@/api/datalog";
  54. export default {
  55. components: {
  56. ListContainer: () => import("@/components/Currency/ListContainer.vue"),
  57. },
  58. data() {
  59. return {
  60. pickerOptions: {
  61. shortcuts: [
  62. {
  63. text: "最近一周",
  64. onClick(picker) {
  65. const end = new Date();
  66. const start = new Date();
  67. start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  68. picker.$emit("pick", [start, end]);
  69. },
  70. },
  71. {
  72. text: "最近一个月",
  73. onClick(picker) {
  74. const end = new Date();
  75. const start = new Date();
  76. start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  77. picker.$emit("pick", [start, end]);
  78. },
  79. },
  80. {
  81. text: "最近三个月",
  82. onClick(picker) {
  83. const end = new Date();
  84. const start = new Date();
  85. start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
  86. picker.$emit("pick", [start, end]);
  87. },
  88. },
  89. ],
  90. },
  91. datatime: [
  92. new Date(new Date().getTime() - 7 * 24 * 60 * 60 * 1000),
  93. new Date(),
  94. ],
  95. page: 1,
  96. pageSize: 20,
  97. total: 0,
  98. logList: [],
  99. listField: [
  100. {
  101. name: "userName",
  102. alias: "用户",
  103. span: 5,
  104. },
  105. {
  106. name: "loginIp",
  107. alias: "访问IP/所属城市",
  108. span: 5,
  109. },
  110. {
  111. name: "createTime",
  112. alias: "操作时间",
  113. span: 5,
  114. },
  115. {
  116. name: "dataAmount",
  117. alias: "数据量",
  118. span: 4,
  119. },
  120. {
  121. name: "modelName",
  122. alias: "数据图层",
  123. span: 5,
  124. },
  125. ],
  126. };
  127. },
  128. created() {
  129. this.page = 1;
  130. this.getDataLog(this.page);
  131. },
  132. methods: {
  133. getDataLog(page) {
  134. let that = this;
  135. let requestData = new FormData();
  136. requestData.append("page", page - 1);
  137. requestData.append("pageSize", this.pageSize);
  138. // let obj = {
  139. // page: page - 1 + '',
  140. // pageSize: this.pageSize + ''
  141. // }
  142. // if (this.datatime != null) {
  143. // obj.startDate = this.datatime[0].getTime()
  144. // obj.endDate = this.datatime[1].getTime()
  145. // }
  146. if (this.datatime != null) {
  147. requestData.append("startDate", this.datatime[0].getTime());
  148. requestData.append("endDate", this.datatime[1].getTime());
  149. }
  150. api
  151. .getDataLog(requestData)
  152. .then((result) => {
  153. if (result.code == 200) {
  154. that.total = result.total;
  155. that.logList =
  156. result.content == -1 || result.content == ""
  157. ? []
  158. : result.content;
  159. } else {
  160. that.$checkRequestCode(result);
  161. }
  162. })
  163. .catch((err) => {
  164. that.$message({
  165. type: "error",
  166. message: err,
  167. });
  168. });
  169. },
  170. search() {
  171. this.page = 1;
  172. this.getDataLog(this.page);
  173. },
  174. },
  175. };
  176. </script>
  177. <style lang="less" scoped>
  178. .log_container {
  179. width: 100%;
  180. height: 100%;
  181. .el-container {
  182. width: 100%;
  183. height: 100%;
  184. .el-header {
  185. background-color: #ffffff;
  186. border-radius: 4px;
  187. .el-row {
  188. padding: 10px 0px;
  189. .el-col:nth-child(2) {
  190. > div {
  191. float: right;
  192. }
  193. }
  194. }
  195. .title {
  196. line-height: 40px;
  197. font-size: 20px;
  198. }
  199. .el-date-editor {
  200. margin-right: 20px;
  201. }
  202. }
  203. .el-main {
  204. border-radius: 4px;
  205. margin-top: 20px;
  206. background-color: #ffffff;
  207. }
  208. }
  209. }
  210. </style>