merchantList.vue 3.4 KB

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