123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263 |
- <template>
- <view class="app-container">
- <view
- v-if="iframeloading"
- class="loadding-box"
- :style="{
- height: wvHeight + 'px',
- width: wvWidth + 'px',
- marginTop: wvTop + 'px',
- border: 'none',
- }"
- >
- <!-- <u-loading-icon></u-loading-icon> -->
- </view>
- <iframe
- v-if="PageCur == 'tun2D'"
- ref="iframe"
- src="http://182.92.126.35:8098/"
- @load="viewLoad"
- :style="{
- height: wvHeight + 'px',
- width: wvWidth + 'px',
- marginTop: wvTop + 'px',
- border: 'none',
- background: '#000',
- }"
- ></iframe>
- <Device
- v-if="PageCur == 'device'"
- :style="{ marginTop: wvTop + 20 + 'px' }"
- ></Device>
- <filecenter :cur="PageCur" v-if="PageCur == 'filecenter'"></filecenter>
- <warndata v-if="PageCur == 'warndata'" :cur="PageCur"></warndata>
- <gasreport :cur="PageCur" v-if="PageCur == 'gasreport'"></gasreport>
- <user :cur="PageCur" v-if="PageCur == 'user'"></user>
- <u-tabbar
- :value="PageCur"
- @change="NavChange"
- :fixed="true"
- :placeholder="true"
- :safeAreaInsetBottom="true"
- >
- <u-tabbar-item
- v-for="(item, index) in permission"
- :key="index"
- :text="item.meta.title"
- :name="item.component"
- :icon="
- (index = 0
- ? 'list-dot'
- : index == 1
- ? 'calendar'
- : index == 2
- ? 'plus-circle'
- : index == 3
- ? 'file-text'
- : index == 4
- ? 'bell'
- : 'list-dot')
- "
- ></u-tabbar-item>
- <!-- <u-tabbar-item
- text="通风系统图"
- name="tun2D"
- icon="list-dot"
- ></u-tabbar-item> -->
- <!-- <u-tabbar-item
- text="设备中心"
- name="device"
- icon="calendar"
- ></u-tabbar-item>
- <u-tabbar-item
- text="预警分析"
- name="warndata"
- icon="plus-circle"
- ></u-tabbar-item>
- <u-tabbar-item
- text="文件共享"
- name="filecenter"
- icon="file-text"
- ></u-tabbar-item>
- <u-tabbar-item
- text="瓦斯日报"
- name="gasreport"
- icon="bell"
- ></u-tabbar-item> -->
- <u-tabbar-item text="我的" name="user" icon="bell"></u-tabbar-item>
- </u-tabbar>
- </view>
- </template>
- <script>
- import { nextTick } from "vue";
- import Device from "../device/index.vue";
- export default {
- components: {
- Device,
- },
- data() {
- return {
- isLandScape: "",
- PageCur: "",
- tun3DPage: null,
- wvHeight: getApp().globalData.windowHeight,
- wvWidth: getApp().globalData.windowWidth,
- wvTop: 0,
- iframeloading: true,
- };
- },
- computed: {
- permission: function () {
- var data = uni.getStorageSync("menuPermission");
- console.log(JSON.stringify(data));
- if (data == null || data == "" || data.length == 0) {
- data = [
- {
- redirect: null,
- path: "/device",
- ver: null,
- component: "device",
- route: "1",
- meta: {
- keepAlive: false,
- des: null,
- internalOrExternal: false,
- componentName: "device",
- title: "设备中心",
- },
- name: "device",
- id: "1862300062379954178",
- },
- {
- redirect: null,
- path: "/warndata",
- ver: null,
- component: "warndata",
- route: "1",
- meta: {
- keepAlive: false,
- des: null,
- internalOrExternal: false,
- componentName: "warndata",
- title: "预警分析",
- },
- name: "warndata",
- id: "1862301272310829057",
- },
- {
- redirect: null,
- path: "/filecenter",
- ver: null,
- component: "filecenter",
- route: "1",
- meta: {
- keepAlive: false,
- des: null,
- internalOrExternal: false,
- componentName: "filecenter",
- title: "文件共享中心",
- },
- name: "filecenter",
- id: "1862301712700166146",
- },
- {
- redirect: null,
- path: "/gasreport",
- ver: null,
- component: "gasreport",
- route: "1",
- meta: {
- keepAlive: false,
- des: null,
- internalOrExternal: false,
- componentName: "gasreport",
- title: "瓦斯上报",
- },
- name: "gasreport",
- id: "1862302433877184513",
- },
- ];
- }
- return data;
- },
- },
- watch: {
- permission: {
- handler(newV, oldV) {
- debugger;
- if (newV != null && newV != "") this.PageCur = newV[0].component;
- },
- immediate: true,
- },
- },
- onLoad() {
- this.changeWV();
- },
- mounted() {},
- onShow() {
- // this.changeWV()
- },
- onResize() {
- this.changeWV();
- },
- methods: {
- NavChange: function (e) {
- this.PageCur = e;
- if (e == "tun2D") {
- // this.changeWV()
- this.iframeloading = true;
- }
- },
- viewLoad(event) {
- const _this = this;
- setTimeout(() => {
- _this.iframeloading = false;
- }, 2000);
- },
- changeWV() {
- const _this = this;
- uni.getSystemInfo({
- // 获取当前设备的具体信息
- success: (sysinfo) => {
- if (sysinfo.windowWidth > sysinfo.windowHeight) {
- // 横屏
- _this.isLandScape = true;
- } else {
- // 竖屏
- _this.isLandScape = false;
- }
- _this.wvTop = _this.isLandScape ? 0 : sysinfo.statusBarHeight + 20;
- _this.wvHeight = _this.isLandScape
- ? sysinfo.windowHeight - sysinfo.statusBarHeight - 20
- : sysinfo.windowHeight -
- sysinfo.statusBarHeight -
- sysinfo.statusBarHeight -
- 38;
- _this.wvWidth = _this.isLandScape
- ? sysinfo.windowWidth
- : sysinfo.windowWidth;
- console.log("屏幕模式--->", _this.isLandScape ? "横屏" : "竖屏");
- console.log(_this.wvTop, _this.wvWidth, _this.wvHeight);
- },
- });
- },
- },
- };
- </script>
- <style>
- .app-container {
- width: 100%;
- height: 100%;
- }
- .loadding-box {
- position: absolute;
- display: flex;
- justify-content: center;
- align-items: center;
- }
- </style>
|