equipmentStatusList.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <template>
  2. <view v-if="merchantList.length>1">
  3. <uni-collapse :accordion="true">
  4. <view v-for="(merchant,index) in merchantList" :key="merchant.id" >
  5. <uni-collapse-item :title="getMerchantTitle(merchant)" :open="index===0">
  6. <view style="padding: 20upx;background-color: aliceblue;">
  7. <view v-if="merchant.equipmentList.length==0" style="text-align: center;">暂无数据</view>
  8. <view v-if="merchant.equipmentList.length>0">
  9. <uni-collapse :show-animation="true">
  10. <view style="position: relative;" v-for="equipment in merchant.equipmentList" :key="equipment.id">
  11. <span class="status-css" :class="equipment.hasTodayAlarm===true?statusError : statusNormal"></span>
  12. <uni-collapse-item :title="getEquipmentTitle(equipment)">
  13. <view style="padding: 20upx;background-color: antiquewhite;">
  14. <view><span>机器唯一码:</span><span>{{equipment.clientId}}</span></view>
  15. <view><span>所在地:</span><span>{{equipment.fullName?equipment.fullName:''}}</span></view>
  16. <view><span>温度:</span><span>{{equipment.cabinetTm?equipment.cabinetTm:''}}</span></view>
  17. <view><span>湿度:</span><span>{{equipment.cabinetHd?equipment.cabinetHd:''}}</span></view>
  18. <view><span>转速:</span><span>{{equipment.furnaceSp?equipment.furnaceSp:''}}</span></view>
  19. <view><span>报警内容:</span><span>{{equipment.occurrenceTime?equipment.occurrenceTime:''}} {{equipment.alarmContent}}</span></view>
  20. </view>
  21. </uni-collapse-item>
  22. </view>
  23. </uni-collapse>
  24. </view>
  25. </view>
  26. </uni-collapse-item>
  27. </view>
  28. </uni-collapse>
  29. </view>
  30. <view v-else>
  31. <uni-collapse :show-animation="true">
  32. <view style="position: relative;" v-for="equipment in merchantList[0].equipmentList" :key="equipment.id">
  33. <span class="status-css" :class="equipment.hasTodayAlarm===true?statusError : statusNormal"></span>
  34. <uni-collapse-item :title="getEquipmentTitle(equipment)">
  35. <view style="padding: 20upx;background-color: antiquewhite;">
  36. <view><span>机器唯一码:</span><span>{{equipment.clientId}}</span></view>
  37. <view><span>所在地:</span><span>{{equipment.fullName?equipment.fullName:''}}</span></view>
  38. <view><span>温度:</span><span>{{equipment.cabinetTm?equipment.cabinetTm:''}}</span></view>
  39. <view><span>湿度:</span><span>{{equipment.cabinetHd?equipment.cabinetHd:''}}</span></view>
  40. <view><span>转速:</span><span>{{equipment.furnaceSp?equipment.furnaceSp:''}}</span></view>
  41. <view><span>报警内容:</span><span>{{equipment.occurrenceTime?equipment.occurrenceTime:''}} {{equipment.alarmContent}}</span></view>
  42. </view>
  43. </uni-collapse-item>
  44. </view>
  45. </uni-collapse>
  46. </view>
  47. </template>
  48. <script>
  49. import {mapState,mapActions,mapMutations} from 'vuex'
  50. import uniCollapse from '@/components/uni-collapse/uni-collapse.vue'
  51. import uniCollapseItem from '@/components/uni-collapse-item/uni-collapse-item.vue'
  52. import uniList from '@/components/uni-list/uni-list.vue'
  53. import uniListItem from '@/components/uni-list-item/uni-list-item.vue'
  54. import {dateUtils} from '@/common/util.js';
  55. export default {
  56. components: {
  57. uniCollapse,
  58. uniCollapseItem,
  59. uniList,
  60. uniListItem,
  61. },
  62. data() {
  63. return {
  64. merchantList:[{equipmentList:[]}],
  65. extraIcon: {
  66. color: '#4cd964',
  67. size: '22',
  68. type: 'spinner'
  69. },
  70. statusNormal:'status-normal',
  71. statusError:'status-error',
  72. }
  73. },
  74. computed: {
  75. ...mapState(['loginUser']),
  76. },
  77. onLoad(state){
  78. this.getEquipmentListData();
  79. },
  80. onPullDownRefresh() {
  81. this.getEquipmentListData();
  82. },
  83. methods: {
  84. ...mapActions('chart', ['getEquipmentListByUser']),
  85. getMerchantTitle(merchant){
  86. return merchant.name?merchant.name:merchant.username;
  87. },
  88. getEquipmentTitle(equipment){
  89. return equipment.name?equipment.name:'暂无名称';
  90. },
  91. getEquipmentListData(){
  92. this.getEquipmentListByUser(this.loginUser)
  93. .then(data => {
  94. this.merchantList = data;
  95. var listName = data[0].equipmentList;
  96. var listId = data[0].id;
  97. if(listId!=null && listId!='1'){
  98. uni.setStorageSync("listName",listName);
  99. }
  100. uni.stopPullDownRefresh();
  101. }
  102. , _ => void uni.stopPullDownRefresh());
  103. }
  104. }
  105. }
  106. </script>
  107. <style>
  108. .status-css {
  109. position: absolute;width: 30upx;height: 30upx;right: 86upx;top: 30upx;border-radius: 30upx;
  110. }
  111. .status-error {
  112. background-color: #dd524d
  113. }
  114. .status-normal {
  115. background-color: #4cd964
  116. }
  117. </style>