merchantList.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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-list>
  11. <uni-list-item title="总销售情况" @click="openByAdmin(merchant.name,merchant.id)"/>
  12. <view v-for="equipment in merchant.equipmentList" :key="equipment.id">
  13. <uni-list-item :title="getEquipmentTitle(equipment)" @click="openByEquipment(merchant.name,equipment.id)"/>
  14. </view>
  15. </uni-list>
  16. </uni-collapse>
  17. </view>
  18. </view>
  19. </uni-collapse-item>
  20. </view>
  21. </uni-collapse>
  22. </view>
  23. <view v-else>
  24. <view v-if="merchantList[0].equipmentList.length>1">
  25. <uni-collapse :accordion="true">
  26. <uni-list>
  27. <uni-list-item title="总销售情况" @click="openByAdmin(merchantList[0].name,merchantList[0].id)"/>
  28. <view v-for="equipment in merchantList[0].equipmentList" :key="equipment.id">
  29. <uni-list-item :title="getEquipmentTitle(equipment)" @click="openByEquipment(merchantList[0].name,equipment.id)"/>
  30. </view>
  31. </uni-list>
  32. </uni-collapse>
  33. </view>
  34. <view v-else style="text-align: center;">暂无数据</view>
  35. </view>
  36. </template>
  37. <script>
  38. import {mapState,mapActions,mapMutations} from 'vuex'
  39. import uniCollapse from '@/components/uni-collapse/uni-collapse.vue'
  40. import uniCollapseItem from '@/components/uni-collapse-item/uni-collapse-item.vue'
  41. import uniList from '@/components/uni-list/uni-list.vue'
  42. import uniListItem from '@/components/uni-list-item/uni-list-item.vue'
  43. export default {
  44. components: {
  45. uniCollapse,
  46. uniCollapseItem,
  47. uniList,
  48. uniListItem
  49. },
  50. data() {
  51. return {
  52. merchantList:[{equipmentList:[]}],
  53. extraIcon: {
  54. color: '#4cd964',
  55. size: '22',
  56. type: 'spinner'
  57. }
  58. }
  59. },
  60. computed: {
  61. ...mapState(['loginUser']),
  62. },
  63. onLoad(state){
  64. this.getEquipmentListData();
  65. },
  66. onPullDownRefresh() {
  67. this.getEquipmentListData();
  68. },
  69. methods: {
  70. ...mapActions('chart', ['getEquipmentListByUser']),
  71. openByAdmin(pname,adminId){
  72. uni.navigateTo({
  73. url: '/pages/Charts/elseStatistics?adminId=' + adminId+'&pname='+pname,
  74. });
  75. },
  76. openByEquipment(pname,equipmentId){
  77. uni.navigateTo({
  78. url: '/pages/Charts/elseStatistics?equipmentId=' + equipmentId+'&pname='+pname,
  79. });
  80. },
  81. getMerchantTitle(merchant){
  82. return merchant.name?merchant.name:merchant.username;
  83. },
  84. getEquipmentTitle(equipment){
  85. return equipment.name?equipment.name:equipment.clientId;
  86. },
  87. getEquipmentListData(){
  88. this.getEquipmentListByUser(this.loginUser)
  89. .then(data => {
  90. this.merchantList = data;
  91. var listName = data[0].equipmentList;
  92. var listId = data[0].id;
  93. if(listId!=null && listId!='1'){
  94. uni.setStorageSync("listName",listName);
  95. }
  96. uni.stopPullDownRefresh();
  97. }
  98. , _ => void uni.stopPullDownRefresh());
  99. }
  100. }
  101. }
  102. </script>
  103. <style>
  104. </style>