index.vue 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <template>
  2. <view class="content">
  3. <u-toast ref="uToast" />
  4. <u-form :model="queryData" ref="uForm">
  5. <u-row>
  6. <u-col span="4">
  7. <u-form-item label="报警单位:" label-width="80px">
  8. <u--input placeholder="请输入报警单位" border="surround" v-model="queryData.alarmUnit" />
  9. </u-form-item>
  10. </u-col>
  11. <u-col span="4">
  12. <u-form-item label="报警类型:" label-width="80px">
  13. <uni-data-select v-model="queryData.riskType" placeholder="请选择报警类型" :localdata="dicList" />
  14. </u-form-item>
  15. </u-col>
  16. <u-col span="4">
  17. <u-form-item>
  18. <u-button type="primary" @click="queryPageDetails">查询</u-button>
  19. <u-button type="info" @click="reset">重置</u-button>
  20. </u-form-item>
  21. </u-col>
  22. </u-row>
  23. </u-form>
  24. <view class="tableBox">
  25. <uni-table border stripe emptyText="暂无更多数据" :loading="this.loading">
  26. <!-- 表头行 -->
  27. <uni-tr>
  28. <uni-th align="center" width="60">序号</uni-th>
  29. <uni-th align="center">报警单位</uni-th>
  30. <uni-th align="center">库区名称</uni-th>
  31. <uni-th align="center">报警类型</uni-th>
  32. <uni-th align="center">报警时间</uni-th>
  33. <uni-th align="center">报警位置</uni-th>
  34. <uni-th align="center">报警等级</uni-th>
  35. <uni-th align="center" width="80">操作</uni-th>
  36. </uni-tr>
  37. <uni-tr v-for="(item,index) in tableData" :key="item.id">
  38. <uni-td align="center" width="60">{{index + 1}}</uni-td>
  39. <uni-td align="center">{{item.alarmUnit}}</uni-td>
  40. <uni-td align="center">{{item.orgName}}</uni-td>
  41. <uni-td align="center">{{filtrationData(item.riskType)}}</uni-td>
  42. <uni-td align="center">{{item.alarmTime}}</uni-td>
  43. <uni-td align="center">{{item.alarmLocation}}</uni-td>
  44. <uni-td align="center">{{item.alarmLevel}}</uni-td>
  45. <uni-td align="center">
  46. <u-button size='mini' type="primary" @click="lookDetails(item.id)">查看</u-button>
  47. </uni-td>
  48. </uni-tr>
  49. </uni-table>
  50. <uni-pagination show-icon="true" :total="queryData.total" :current="queryData.current"
  51. @change="changePage" />
  52. </view>
  53. </view>
  54. </template>
  55. <script>
  56. import * as api from "@/api/smartSecurity.js"
  57. export default {
  58. data() {
  59. return {
  60. queryData: {
  61. total: 0,
  62. size: 10,
  63. current: 1,
  64. },
  65. loading: false,
  66. tableData: [],
  67. dicList: [{
  68. "value": 1,
  69. "text": "抽烟检测"
  70. }, {
  71. "value": 2,
  72. "text": "未带安全帽"
  73. }, {
  74. "value": 3,
  75. "text": "摄像头遮挡"
  76. }, {
  77. "value": 4,
  78. "text": "姿态识别"
  79. }]
  80. }
  81. },
  82. onLoad() {
  83. this.queryPageDetails()
  84. },
  85. methods: {
  86. queryPageDetails() {
  87. this.loading = true
  88. api.queryData(this.queryData).then(res => {
  89. this.tableData = res.data.records
  90. this.queryData.total = res.data.total
  91. this.loading = false
  92. })
  93. },
  94. changePage(page) {
  95. this.queryData.current = page.current
  96. this.queryPageDetails()
  97. },
  98. lookDetails(id) {
  99. uni.navigateTo({
  100. url: `/pages/smartSecurity/details?id=${id}`
  101. })
  102. },
  103. filtrationData(code) {
  104. let str = ''
  105. this.dicList.map(item => {
  106. if (code == item.value) {
  107. str = item.text
  108. }
  109. })
  110. return str
  111. },
  112. reset() {
  113. this.queryData = {
  114. total: 0,
  115. size: 10,
  116. current: 1,
  117. }
  118. }
  119. }
  120. }
  121. </script>
  122. <style scoped lang="scss">
  123. .content {
  124. margin: 10px 20px;
  125. /deep/.u-form {
  126. margin-bottom: 20px;
  127. .u-form-item {
  128. .uni-select {
  129. height: 38px;
  130. font-size: 15px;
  131. color: #303133;
  132. .uni-select__input-placeholder {
  133. font-size: 15px;
  134. color: #c1c4cc;
  135. }
  136. }
  137. .u-input {
  138. margin-right: 10px;
  139. }
  140. .u-button {
  141. width: 80px;
  142. height: 35px;
  143. margin: 0 5px;
  144. }
  145. }
  146. }
  147. .tableBox {
  148. .uni-table {
  149. .uni-table-td {
  150. .u-button {
  151. width: 60px;
  152. float: left;
  153. margin: 0 5px;
  154. }
  155. }
  156. }
  157. .uni-pagination {
  158. float: right;
  159. margin: 10px 0;
  160. }
  161. }
  162. }
  163. </style>