index.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <template>
  2. <view class="container">
  3. <cu-custom id="custom"
  4. bgImage="https://yostest175549.obs.cn-east-2.myhuaweicloud.com:443/202306151686796745663B52544232.png"
  5. :isBack="true">
  6. <block slot="backText">返回</block>
  7. <block slot="content">
  8. 设备中心
  9. </block>
  10. </cu-custom>
  11. <list ref="设备列表" v-show="PageCur == '设备列表'" :istabbar="true" />
  12. <my-map ref="设备地图" v-show="PageCur == '设备地图'" />
  13. <view v-if="istabbar" class="cu-bar tabbar bg-white foot" style="z-index: 100000;">
  14. <view v-for="item in pageList" :key="item.label"
  15. :class="PageCur == item.label ? 'action pitch-on-color' : 'action text-gray'">
  16. <view class="iconfont" :class="item.icon" @click="changePage(item.label)" />
  17. {{ item.label }}
  18. </view>
  19. </view>
  20. </view>
  21. </template>
  22. <script>
  23. import list from "./modules/list"
  24. import myMap from "../../pages/facility/my-map.vue";
  25. export default {
  26. components: { list, myMap },
  27. name: "facility",
  28. data() {
  29. return {
  30. istabbar: false,
  31. PageCur: "",
  32. pageList: []
  33. }
  34. },
  35. mounted() {
  36. let authList = uni.getStorageSync('authList')['设备中心'],
  37. pageList = [{
  38. label: "设备列表",
  39. icon: "icon-xunjianzhongxin"
  40. }, {
  41. label: "设备地图",
  42. icon: "icon-ditu-xuanzhong"
  43. }].filter(v => authList[v.label] && authList[v.label].option.some(s => s == 'read'));
  44. if (pageList.length) {
  45. this.pageList = pageList;
  46. this.PageCur = pageList[0].label;
  47. this.istabbar = pageList.length > 1;
  48. this.loadElement();
  49. } else {
  50. uni.showToast({
  51. title: '未查询到可用应用',
  52. icon: "none",
  53. mask: true,
  54. });
  55. }
  56. },
  57. methods: {
  58. changePage(page) {
  59. this.PageCur = page;
  60. this.loadElement()
  61. },
  62. loadElement(forcedUpdating) {
  63. let page = this.$refs[this.PageCur];
  64. if (page.uninitialized || forcedUpdating) page.init();
  65. }
  66. }
  67. }
  68. </script>
  69. <style lang="scss" scoped></style>