merchantList2.vue 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  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 :accordion="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}}</span></view>
  16. <view><span>温度:</span><span>{{equipment.cabinetTm}}</span></view>
  17. <view><span>湿度:</span><span>{{equipment.cabinetHd}}</span></view>
  18. <view><span>转速:</span><span>{{equipment.furnaceSp}}</span></view>
  19. <view><span>报警内容:</span><span>{{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 :accordion="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}}</span></view>
  38. <view><span>温度:</span><span>{{equipment.cabinetTm}}</span></view>
  39. <view><span>湿度:</span><span>{{equipment.cabinetHd}}</span></view>
  40. <view><span>转速:</span><span>{{equipment.furnaceSp}}</span></view>
  41. <view><span>报警内容:</span><span>{{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. methods: {
  81. ...mapActions('chart', ['getEquipmentListByUser']),
  82. change(e) {
  83. // console.log(e)
  84. },
  85. showEquipment(merchant){
  86. merchant['ifShow']=!merchant['ifShow'];
  87. },
  88. showLabel(merchant){
  89. return merchant['ifShow']?'收起':'展开';
  90. },
  91. getMerchantTitle(merchant){
  92. return merchant.name?merchant.name:merchant.username;
  93. },
  94. getEquipmentTitle(equipment){
  95. return equipment.name?equipment.name:'暂无名称';
  96. },
  97. getEquipmentListData(){
  98. this.getEquipmentListByUser(this.loginUser)
  99. .then(data => {
  100. this.merchantList = data;
  101. uni.stopPullDownRefresh();
  102. }
  103. , _ => void uni.stopPullDownRefresh());
  104. }
  105. }
  106. }
  107. </script>
  108. <style>
  109. .status-css {
  110. position: absolute;width: 30upx;height: 30upx;right: 86upx;top: 30upx;border-radius: 30upx;
  111. }
  112. .status-error {
  113. background-color: #dd524d
  114. }
  115. .status-normal {
  116. background-color: #4cd964
  117. }
  118. </style>