index.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. <template>
  2. <div class="content main">
  3. <community-tree @organId="currentOrganId"></community-tree>
  4. <div class="content-right">
  5. <div class="search">
  6. <el-input
  7. clearable
  8. placeholder="输入设备编号/设备名称"
  9. class="search-input"
  10. v-trim
  11. v-model.trim="mixins_query.name"
  12. ></el-input>
  13. <el-date-picker
  14. v-model="pickerTime"
  15. value-format="yyyy-MM-dd hh:mm:ss"
  16. type="daterange"
  17. range-separator="至"
  18. start-placeholder="开始日期"
  19. end-placeholder="结束日期"
  20. @change="timeToggle"
  21. :editable="false"
  22. ></el-date-picker>
  23. <el-button
  24. class="search-btn"
  25. type="primary"
  26. @click="mixins_search()"
  27. :disabled="mixins_onQuery"
  28. :loading="mixins_onQuery"
  29. icon="el-icon-search"
  30. >搜索</el-button
  31. >
  32. </div>
  33. <zz-table
  34. :settings="{ showIndex: true, stripe: true }"
  35. :cols="cols"
  36. :loading="mixins_onQuery"
  37. :data="mixins_list"
  38. :pageset="mixins_pageset"
  39. @page-change="pageChange"
  40. >
  41. <template slot-scope="scope" slot="opt">
  42. <div class="opt">
  43. <el-tooltip class="item" effect="light" placement="bottom" content="查看">
  44. <i class="zoniot_font zoniot-icon-xiangqing" @click="lookPage(scope.row)"></i>
  45. </el-tooltip>
  46. </div>
  47. </template>
  48. </zz-table>
  49. </div>
  50. </div>
  51. </template>
  52. <script>
  53. import communityTree from './stepPage/communityTree.vue';
  54. import list from '@utils/list.js';
  55. export default {
  56. mixins: [list],
  57. components: {
  58. communityTree
  59. },
  60. data() {
  61. return {
  62. currentId: '',
  63. pickerTime: '',
  64. cols: [
  65. {
  66. label: '社区名称',
  67. prop: 'communityName'
  68. },
  69. {
  70. label: '设备编号',
  71. prop: 'deviceNo'
  72. },
  73. {
  74. label: '设备名称',
  75. prop: 'deviceName'
  76. },
  77. {
  78. label: '门禁机类型',
  79. prop: 'gateType',
  80. format(val) {
  81. if (val == 1) {
  82. return '围墙机';
  83. } else if (val == 2) {
  84. return '单元机';
  85. }
  86. }
  87. },
  88. {
  89. label: '告警类型',
  90. prop: 'alarmType',
  91. format(val) {
  92. if (val == 501) {
  93. return '消防报警';
  94. } else if (val == 601) {
  95. return '非法进入报警';
  96. } else if (val == 701) {
  97. return '防拆报警';
  98. } else if (val == 801) {
  99. return '门长开报警';
  100. }
  101. }
  102. },
  103. {
  104. label: '告警时间',
  105. prop: 'createDate'
  106. },
  107. {
  108. label: '设备地址',
  109. prop: 'address'
  110. }
  111. ],
  112. mixins_post: 'get'
  113. };
  114. },
  115. methods: {
  116. currentOrganId(data) {
  117. this.mixins_query.communityId = data.id || '';
  118. this.mixins_search();
  119. },
  120. timeToggle(e) {
  121. let start = '00:00:00',
  122. end = '23:59:59';
  123. if (!!e) {
  124. this.mixins_query.startTime = `${e[0]} ${start}`;
  125. this.mixins_query.endTime = `${e[1]} ${end}`;
  126. } else {
  127. this.mixins_query.startTime = ``;
  128. this.mixins_query.endTime = ``;
  129. }
  130. }
  131. },
  132. created() {
  133. this.mixins_dataUrl = '/sc-gate-web/alarm/page'; // 分页查询接口
  134. this.mixins_search();
  135. }
  136. };
  137. </script>
  138. <style scoped lang='scss'>
  139. @import '@assets/css/public-style.scss';
  140. /deep/ .el-icon-caret-right {
  141. &:before {
  142. content: '';
  143. width: 4px;
  144. height: 4px;
  145. border-radius: 50%;
  146. display: block;
  147. background: $defaultColor;
  148. }
  149. }
  150. /deep/ .is-current {
  151. .el-tree-node__label,
  152. .el-tree-node__expand-icon.is-leaf {
  153. color: $mainTextColor;
  154. }
  155. .el-icon-caret-right {
  156. &:before {
  157. background: $mainTextColor;
  158. }
  159. }
  160. }
  161. .content-right {
  162. font-size: 12px;
  163. height: calc(100% - 100px);
  164. .item-title {
  165. /deep/ .el-input {
  166. display: inline-block;
  167. width: 120px;
  168. margin: 0 10px;
  169. }
  170. }
  171. }
  172. </style>