device-Manage.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <template>
  2. <view class="">
  3. <view class="cu-list menu-avatar">
  4. <view class="cu-item" :class="modalName=='move-box-'+ index?'move-cur':''"
  5. v-for="(item,index) in getData" :key="index" :data-target="'move-box-' + index"
  6. @tap="goDeviceDetail(item)">
  7. <view class="cu-avatar round lg">
  8. <image class="image-bg" src="/static/device-icon.png"/>
  9. </view>
  10. <view class="content">
  11. <view class="pro-title">
  12. <view class="cut">{{item.owner_name}}</view>
  13. </view>
  14. <view class="pro-des ">
  15. <view class="text-cut">
  16. {{item.unitinfo}}
  17. </view>
  18. </view>
  19. <view class="pro-date ">{{item.install_time}}</view>
  20. </view>
  21. <view class="nav-right num">
  22. <view class="text-grey">
  23. <!-- <span class="online">{{item.device_state}}</span> -->
  24. <span :class="item.device_state=='在线'?'online':'offline'">{{item.device_state}}</span>
  25. <!-- <span class="offline" v-if="item.status==1">离线</span>
  26. <span class="error" v-if="item.status==2">故障</span> -->
  27. <text class="icon iconfont margin-right-xs margin-left-lg">&#xe629;</text>
  28. </view>
  29. </view>
  30. </view>
  31. </view>
  32. </view>
  33. </template>
  34. <script>
  35. import json from '../../data/json.js';
  36. export default {
  37. data() {
  38. return {
  39. deviceManage: json.deviceManage,
  40. modalName: null,
  41. getData:[],
  42. dwtype:0
  43. };
  44. },
  45. onLoad: function(option) {
  46. this.dwtype=option.dwtype
  47. let url = "";
  48. switch (parseInt(option.dwtype)) {
  49. case 1:
  50. url = "火警"
  51. break;
  52. case 2:
  53. url = "水警"
  54. break;
  55. case 3:
  56. url = "烟感"
  57. break;
  58. case 4:
  59. url = "消防栓监测"
  60. break;
  61. case 5:
  62. url = "液位"
  63. break;
  64. case 6:
  65. url = "RTU测控终端"
  66. break;
  67. case 7:
  68. url = "电气火灾"
  69. break;
  70. case 16:
  71. url = "视频告警"
  72. break;
  73. case 17:
  74. url = "电梯报警"
  75. break;
  76. case 128:
  77. url = "井盖监测"
  78. break;
  79. case 129:
  80. url = "地磁"
  81. break;
  82. case 130:
  83. url = "门磁"
  84. break;
  85. case 131:
  86. url = "可燃气体"
  87. break;
  88. default:
  89. break;
  90. }
  91. uni.setNavigationBarTitle({
  92. title: "设备管理(" + url + ")",
  93. });
  94. this.getDeviceList({'company_code':uni.getStorageSync('selectedCode'),"dwtype":option.dwtype})
  95. },
  96. onNavigationBarButtonTap(e) {
  97. console.log(e)
  98. uni.navigateTo({
  99. url: './export/export?dwtype='+this.dwtype,
  100. });
  101. },
  102. methods: {
  103. // 页面跳转
  104. goDeviceDetail(item) {
  105. uni.navigateTo({
  106. url: '/pages/deviceDetail/deviceDetail?id='+item.id,
  107. });
  108. },
  109. // 设备类型数据请求
  110. async getDeviceList(params = {}) {
  111. const res = await this.$myRequest({
  112. url: 'DeviceManagement/getDeviceList',
  113. data:params,
  114. showLoading: true
  115. })
  116. this.getData=res.data.data;
  117. console.log(this.getData);
  118. },
  119. }
  120. }
  121. </script>
  122. <style lang="scss">
  123. .cu-item {
  124. height: 180rpx !important
  125. }
  126. </style>