merchantList.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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. <uni-collapse-item title="总销售情况">
  11. <view style="padding: 20upx;">
  12. <mainStatistics :adminId="merchant.id"></mainStatistics>
  13. </view>
  14. </uni-collapse-item>
  15. <view v-for="equipment in merchant.equipmentList" :key="equipment.id">
  16. <uni-collapse-item :title="getEquipmentTitle(equipment)">
  17. <view style="padding: 20upx;">
  18. <mainStatistics :equipmentId="equipment.id"></mainStatistics>
  19. </view>
  20. </uni-collapse-item>
  21. </view>
  22. </uni-collapse>
  23. </view>
  24. </view>
  25. </uni-collapse-item>
  26. </view>
  27. </uni-collapse>
  28. </view>
  29. <view v-else>
  30. <view v-if="merchantList[0].equipmentList.length>1">
  31. <uni-collapse :accordion="true">
  32. <uni-collapse-item title="总销售情况">
  33. <view style="padding: 20upx;">
  34. <mainStatistics :adminId="merchantList[0].id"></mainStatistics>
  35. </view>
  36. </uni-collapse-item>
  37. <view v-for="equipment in merchantList[0].equipmentList" :key="equipment.id">
  38. <uni-collapse-item :title="getEquipmentTitle(equipment)">
  39. <view style="padding: 20upx;">
  40. <mainStatistics :equipmentId="equipment.id"></mainStatistics>
  41. </view>
  42. </uni-collapse-item>
  43. </view>
  44. </uni-collapse>
  45. </view>
  46. <view v-else style="text-align: center;">暂无数据</view>
  47. </view>
  48. </template>
  49. <script>
  50. import {mapState,mapActions,mapMutations} from 'vuex'
  51. import uniCollapse from '@/components/uni-collapse/uni-collapse.vue'
  52. import uniCollapseItem from '@/components/uni-collapse-item/uni-collapse-item.vue'
  53. import uniList from '@/components/uni-list/uni-list.vue'
  54. import uniListItem from '@/components/uni-list-item/uni-list-item.vue'
  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. }
  71. },
  72. computed: {
  73. ...mapState(['loginUser']),
  74. },
  75. onLoad(state){
  76. this.getEquipmentListData();
  77. },
  78. methods: {
  79. ...mapActions('chart', ['getEquipmentListByUser']),
  80. change(e) {
  81. // console.log(e)
  82. },
  83. showEquipment(merchant){
  84. merchant['ifShow']=!merchant['ifShow'];
  85. },
  86. showLabel(merchant){
  87. return merchant['ifShow']?'收起':'展开';
  88. },
  89. getMerchantTitle(merchant){
  90. return merchant.name?merchant.name:merchant.username;
  91. },
  92. getEquipmentTitle(equipment){
  93. return equipment.name?equipment.name:equipment.clientId;
  94. },
  95. getEquipmentListData(){
  96. this.getEquipmentListByUser(this.loginUser)
  97. .then(data => {
  98. this.merchantList = data;
  99. uni.stopPullDownRefresh();
  100. }
  101. , _ => void uni.stopPullDownRefresh());
  102. }
  103. }
  104. }
  105. </script>
  106. <style>
  107. </style>