Pārlūkot izejas kodu

[Feat 0000]风窗、主通风机SVG动画接入 瓦斯日报页面修改

bobo04052021@163.com 3 dienas atpakaļ
vecāks
revīzija
62a090c76a

+ 6 - 5
common/service/config.service.js

@@ -10,14 +10,15 @@ if (process.env.NODE_ENV == "development") {
   // BASE_URL = "http://172.16.53.16:9999"; //大海则煤矿
   //BASE_URL = "http://10.7.0.19:9999"; //特拉布拉
   //BASE_URL = "http://10.35.116.82:9999"; //棋盘井东区
-  BASE_URL = "http://182.92.126.35:9999"; //测试环境
+  // BASE_URL = "http://182.92.126.35:9999"; //测试环境
 }
 let staticDomainURL = BASE_URL + "/sys/common/static";
 const configService = {
-  // apiUrl: uni.getStorageSync("apiUrl") || BASE_URL,
-  apiUrl: BASE_URL || uni.getStorageSync("apiUrl"),
-  apiUrlP: "http://182.92.126.35",
-  // apiUrlP: 'http://10.248.235.101',//神东
+  apiUrl: uni.getStorageSync("apiUrl") || BASE_URL,
+  // apiUrl: BASE_URL || uni.getStorageSync("apiUrl"),
+  // apiUrlP: "http://182.92.126.35",
+  // apiUrlP: 'http://10.248.235.101',
+  apiUrlP: uni.getStorageSync("apiUrl"),
   staticDomainURL: staticDomainURL,
   hasBaseUrl: !!BASE_URL,
 };

+ 4 - 1
common/util/deviceIcon.js

@@ -111,7 +111,7 @@ export function getDeviceIcon(monitorcode, des, fanNo) {
     return "/static/icon-new/type_merge.svg";
   }
   // 甲烷类字段(ch4_merge 等,含 ch4 即可)使用 ch4.svg
-  if (code.indexOf("ch4") > -1) {
+  if (code.indexOf("ch4") > -1 || desText.indexOf("甲烷") > -1) {
     return "/static/icon-new/ch4.svg";
   }
   // 时间类字段(readTime、时间 等)使用 T.svg,排除“是否定时”等 timed 字段
@@ -124,6 +124,9 @@ export function getDeviceIcon(monitorcode, des, fanNo) {
   if (desText.indexOf("温度") > -1) {
     return "/static/icon-new/centerTemperature.svg";
   }
+  if (desText.indexOf("一氧化碳") > -1) {
+    return "/static/icon-new/coval.svg";
+  }
   // 风机主机/备机:monitorcode 形如 fan1xxx / fan_mot1_xxx,按编号取对应图标
   if (fanNo) {
     code = code.replace(/^(fan)_?mot[12]/, "$1_mot" + fanNo);

+ 8 - 2
pages.json

@@ -192,10 +192,16 @@
       "path": "pages/home/detail/autodoor/autodoor"
     },
     {
-      "path": "pages/home/detail/doorAnimate/doorAnimate"
+      "path": "pages/home/detail/doorAnimate/autodoor-dandao"
     },
     {
-      "path": "pages/home/detail/windowAnimate/windowAnimate"
+      "path": "pages/home/detail/doorAnimate/autodoor-shuangdao"
+    },
+    {
+      "path": "pages/home/detail/windowAnimate/window-dandao"
+    },
+    {
+      "path": "pages/home/detail/windowAnimate/window-shuangdao"
     },
     {
       "path": "pages/home/detail/windrectAnimate/windrectAnimate"

+ 4 - 4
pages/gasreport/components/Recognition.vue

@@ -1,7 +1,7 @@
 <template>
   <view class="Recognition">
-    <u-list :height="666">
-      <u-list-item v-for="(item, index) in listData" :key="index">
+    <view class="recognition-list">
+      <view v-for="(item, index) in listData" :key="index">
         <u-cell
           :title="`${item.deviceName} (${
             item.checkNum == '1'
@@ -34,8 +34,8 @@
             }}</text>
           </view>
         </u-cell>
-      </u-list-item>
-    </u-list>
+      </view>
+    </view>
   </view>
 </template>
 

+ 13 - 24
pages/gasreport/components/gasImgIdentify.vue

@@ -89,15 +89,6 @@
     <!-- 新增弹窗 -->
     <view
       v-if="isShowAdd"
-      :style="{
-        padding: imageSrcView
-          ? '295px 0px 10px 0px'
-          : imageSrc
-          ? '330px 0px 10px 0px'
-          : saveImg
-          ? '330px 0px 10px 0px'
-          : '54px 0px 10px 0px',
-      }"
       :class="statusShow == 'edit' ? 'bot-gas-list1' : 'bot-gas-list'"
     >
       <view class="top-dialog-area">
@@ -110,7 +101,7 @@
             clearable
           ></u--input>
         </view>
-        <view class="dialog-item">
+        <!-- <view class="dialog-item">
           <text class="dialog-label">检测次数:</text>
           <u--input
             inputAlign="center"
@@ -118,7 +109,7 @@
             v-model="formState.count"
             clearable
           ></u--input>
-        </view>
+        </view> -->
         <view class="dialog-item">
           <text class="dialog-label">检测地点:</text>
 
@@ -957,7 +948,7 @@ export default {
           that.imageSrc = res;
           // 压缩成功回调
           that.loading = true;
-          let apiUrlImg = `${configService.apiUrlP}:6008`;
+          let apiUrlImg = configService.apiUrlP.replace(/:\d+$/, ":6008");
           uni.uploadFile({
             url: `${apiUrlImg}/gasIdentifyDs`,
             filePath: that.imageSrc,
@@ -1406,7 +1397,7 @@ export default {
     getIdentyfe() {
       let that = this;
       that.loading = true;
-      let apiUrlImg = `${configService.apiUrlP}:6008`;
+      let apiUrlImg = configService.apiUrlP.replace(/:\d+$/, ":6008");
       uni.uploadFile({
         url: `${apiUrlImg}/gasIdentifyDs`,
         filePath: that.saveImg,
@@ -1863,7 +1854,8 @@ export default {
       this.indexList = [];
       this.indexParam = {};
       this.imageSrc = "";
-      that.$emit("clearImg", true);
+      uni.removeStorageSync(this.deviceID);
+      this.$emit("clearImg", true);
     },
 
     //甲烷三对照选项切换
@@ -3086,6 +3078,7 @@ export default {
           that.getEditSave();
         }
       }
+      console.log("保存成功");
     },
 
     clearData() {
@@ -3261,7 +3254,7 @@ export default {
     //获取任务详情图片
     getTaskImg() {
       let that = this;
-      let apiUrlImg = `${configService.apiUrlP}:6008`;
+      let apiUrlImg = configService.apiUrlP.replace(/:\d+$/, ":6008");
       // let formDataStr = {
       //     reportdate: '2025-04-10',
       //     checkpath: '22106工作面',
@@ -3298,7 +3291,7 @@ export default {
     //更新图片
     getUpdateImg() {
       let that = this;
-      let apiUrlImg = `${configService.apiUrlP}:6008`;
+      let apiUrlImg = configService.apiUrlP.replace(/:\d+$/, ":6008");
       uni.uploadFile({
         url: `${apiUrlImg}/gasImgUpdate`,
         filePath: that.imageSrcView,
@@ -3335,7 +3328,7 @@ export default {
   display: flex;
   flex-direction: column;
   width: 100%;
-  height: 100%;
+  height: auto;
   box-sizing: border-box;
 
   .top-title {
@@ -3463,17 +3456,13 @@ export default {
 
   .bot-gas-list,
   .bot-gas-list1 {
-    /* 顶部面板不再悬浮,表单区占满剩余高度并内部滚动;
-       模版里为固定面板预留的大上内边距在这里覆盖掉 */
-    flex: 1 1 auto;
-    min-height: 0;
+    flex: 0 0 auto;
+    min-height: auto;
     width: 100%;
     height: auto !important;
-    padding-top: 0 !important;
     box-sizing: border-box;
     background-color: #fff;
-    overflow-y: auto;
-    -webkit-overflow-scrolling: touch;
+    overflow: visible;
   }
 
   .bot-gas-list1 {

+ 149 - 126
pages/gasreport/components/gasTask.vue

@@ -1,154 +1,177 @@
 <template>
-    <view class="gas-task">
-        <u-collapse>
-            <u-collapse-item title="一次巡检点巡检路线">
-                <u-icon name="map" size="16" slot="icon"></u-icon>
-                <u-cell icon="pushpin" v-for="(item, index) in firstAddressList" :key="item" :title="item"
-                    :border="false"></u-cell>
-            </u-collapse-item>
-            <u-collapse-item title="一次巡检情况统计">
-                <u-icon name="minus-circle" size="16" slot="icon"></u-icon>
-                <u-cell icon="map" v-for="(ite, ind) in firstTj" :key="ind" :title="ite.address" :border="false">
-                    <text slot="value" class="u-slot-value">
-                        <text :class="ite.isFinish ? 'comlete-xj' : 'complete-xj-n'">{{ ite.isFinish ? '已巡检' : '未巡检'
-                            }}</text>
-                    </text>
-                </u-cell>
-            </u-collapse-item>
-            <u-collapse-item title="两次巡检点巡检路线">
-                <u-icon name="map" size="16" slot="icon"></u-icon>
-                <u-cell icon="pushpin" v-for="(item, index) in secondAddressList" :key="item" :title="item"
-                    :border="false"></u-cell>
-            </u-collapse-item>
-            <u-collapse-item title="两次巡检情况统计">
-                <u-icon name="minus-circle" size="16" slot="icon"></u-icon>
-                <u-cell icon="map" v-for="(ite, ind) in secondTj" :key="ind" :title="ite.address" :border="false">
-                    <view slot="value" class="u-slot-value">
-                        <view class="xj-second-tj">
-                            <text class="task-text">第一次</text>
-                            <text :class="ite.isFinish1 ? 'complete-xj-s' : 'complete-xj-s-n'">{{ ite.isFinish1 ? '已巡检' :
-                                '未巡检' }}</text>
-                        </view>
-                        <view class="xj-second-tj">{{ ite.time1 || '' }}</view>
-                        <view class="xj-second-tj">
-                            <text class="task-text">第二次</text>
-                            <text :class="ite.isFinish2 ? 'complete-xj-s' : 'complete-xj-s-n'">{{ ite.isFinish2 ? '已巡检'
-                                : '未巡检' }}</text>
-                        </view>
-                        <view class="xj-second-tj">{{ ite.time2 || '' }}</view>
-                    </view>
-                </u-cell>
-            </u-collapse-item>
-        </u-collapse>
-    </view>
+  <view class="gas-task">
+    <u-collapse>
+      <u-collapse-item title="一次巡检点巡检路线">
+        <u-icon name="map" size="16" slot="icon"></u-icon>
+        <u-cell
+          icon="pushpin"
+          v-for="(item, index) in firstAddressList"
+          :key="item"
+          :title="item"
+          :border="false"
+        ></u-cell>
+      </u-collapse-item>
+      <u-collapse-item title="一次巡检情况统计">
+        <u-icon name="minus-circle" size="16" slot="icon"></u-icon>
+        <u-cell
+          icon="map"
+          v-for="(ite, ind) in firstTj"
+          :key="ind"
+          :title="ite.address"
+          :border="false"
+        >
+          <text slot="value" class="u-slot-value">
+            <text :class="ite.isFinish ? 'comlete-xj' : 'complete-xj-n'">{{
+              ite.isFinish ? "已巡检" : "未巡检"
+            }}</text>
+          </text>
+        </u-cell>
+      </u-collapse-item>
+      <u-collapse-item title="两次巡检点巡检路线">
+        <u-icon name="map" size="16" slot="icon"></u-icon>
+        <u-cell
+          icon="pushpin"
+          v-for="(item, index) in secondAddressList"
+          :key="item"
+          :title="item"
+          :border="false"
+        ></u-cell>
+      </u-collapse-item>
+      <u-collapse-item title="两次巡检情况统计">
+        <u-icon name="minus-circle" size="16" slot="icon"></u-icon>
+        <u-cell
+          icon="map"
+          v-for="(ite, ind) in secondTj"
+          :key="ind"
+          :title="ite.address"
+          :border="false"
+        >
+          <view slot="value" class="u-slot-value">
+            <view class="xj-second-tj">
+              <text class="task-text">第一次</text>
+              <text
+                :class="ite.isFinish1 ? 'complete-xj-s' : 'complete-xj-s-n'"
+                >{{ ite.isFinish1 ? "已巡检" : "未巡检" }}</text
+              >
+            </view>
+            <view class="xj-second-tj">{{ ite.time1 || "" }}</view>
+            <view class="xj-second-tj">
+              <text class="task-text">第二次</text>
+              <text
+                :class="ite.isFinish2 ? 'complete-xj-s' : 'complete-xj-s-n'"
+                >{{ ite.isFinish2 ? "已巡检" : "未巡检" }}</text
+              >
+            </view>
+            <view class="xj-second-tj">{{ ite.time2 || "" }}</view>
+          </view>
+        </u-cell>
+      </u-collapse-item>
+    </u-collapse>
+  </view>
 </template>
 
 <script>
 export default {
-    name: 'gasTask',
-    props: {
-        firstAddress: {
-            type: String,
-            default: ''
-        },
-        secondAddress: {
-            type: String,
-            default: '',
-        },
-        firstTj: {
-            type: Array,
-            default: () => {
-                return []
-            }
-        },
-        secondTj: {
-            type: Array,
-            default: () => {
-                return []
-            }
-        }
+  name: "gasTask",
+  props: {
+    firstAddress: {
+      type: String,
+      default: "",
+    },
+    secondAddress: {
+      type: String,
+      default: "",
+    },
+    firstTj: {
+      type: Array,
+      default: () => {
+        return [];
+      },
+    },
+    secondTj: {
+      type: Array,
+      default: () => {
+        return [];
+      },
     },
-    data() {
-        return {
-            firstAddressList: [],
-            secondAddressList: []
+  },
+  data() {
+    return {
+      firstAddressList: [],
+      secondAddressList: [],
+    };
+  },
+  computed: {},
+  watch: {
+    firstAddress: {
+      handler(newF, oldF) {
+        if (newF) {
+          this.firstAddressList = newF.split(",");
         }
+      },
+      immediate: true,
     },
-    computed: {},
-    watch: {
-        firstAddress: {
-            handler(newF, oldF) {
-                if (newF) {
-                    this.firstAddressList = newF.split(',')
-                }
-            },
-            immediate: true
-        },
-        secondAddress: {
-            handler(newF, oldF) {
-                if (newF) {
-                    this.secondAddressList = newF.split(',')
-                }
-            },
-            immediate: true
+    secondAddress: {
+      handler(newF, oldF) {
+        if (newF) {
+          this.secondAddressList = newF.split(",");
         }
+      },
+      immediate: true,
     },
-    mounted() { },
-    methods: {},
-}
+  },
+  mounted() {},
+  methods: {},
+};
 </script>
 
 <style lang="scss" scoped>
 .gas-task {
-    position: relative;
-    width: 100%;
-    height: 100%;
-    padding: 10px;
-    box-sizing: border-box;
-    background-color: #FFF;
+  position: relative;
+  width: 100%;
+  height: auto;
+  padding: 10px;
+  box-sizing: border-box;
+  background-color: #fff;
 
-    .task-text {
-        font-size: 12px;
-        margin: 0px 10px;
-    }
+  .task-text {
+    font-size: 12px;
+    margin: 0px 10px;
+  }
 
-    .comlete-xj {
-        color: rgb(59, 221, 10);
-        font-size: 12px;
-    }
+  .comlete-xj {
+    color: rgb(59, 221, 10);
+    font-size: 12px;
+  }
 
-    .complete-xj-n {
-        color: rgb(241, 22, 6);
-        font-size: 12px;
-    }
+  .complete-xj-n {
+    color: rgb(241, 22, 6);
+    font-size: 12px;
+  }
 
-    .xj-second-tj {
-        margin-bottom: 3px;
-        font-size: 12px;
-    }
+  .xj-second-tj {
+    margin-bottom: 3px;
+    font-size: 12px;
+  }
 
-    .complete-xj-s {
-        color: rgb(59, 221, 10);
-        font-size: 12px;
-        margin: 0px 10px;
-    }
+  .complete-xj-s {
+    color: rgb(59, 221, 10);
+    font-size: 12px;
+    margin: 0px 10px;
+  }
 
-    .complete-xj-s-n {
-        color: rgb(241, 22, 6);
-        font-size: 12px;
-        margin: 0px 10px;
-    }
+  .complete-xj-s-n {
+    color: rgb(241, 22, 6);
+    font-size: 12px;
+    margin: 0px 10px;
+  }
 }
 
 ::v-deep .u-collapse-item__content__text {
-    padding: 0px 15px !important;
-}
-
-::v-deep .u-collapse-item__content {
-    overflow-y: auto !important;
+  padding: 0px 15px !important;
 }
 
 ::v-deep .u-cell__title-text {
-    font-size: 14px;
+  font-size: 14px;
 }
 </style>

+ 55 - 6
pages/gasreport/components/taskBoard.vue

@@ -12,8 +12,29 @@
       @leftClick="goBack"
     >
     </u-navbar>
-    <u-list v-if="isShow">
-      <u-list-item v-for="(item, index) in indexList" :key="index">
+    <view v-if="isShow" class="report-time-filter">
+      <text class="report-time-label">任务日期:</text>
+      <view class="report-time-input" @click="showReportCalendar = true">
+        <u--input
+          readonly
+          :value="taskTime"
+          placeholder="请选择任务日期"
+          suffixIcon="arrow-down"
+        ></u--input>
+      </view>
+      <u-calendar
+        :show="showReportCalendar"
+        :minDate="minDate"
+        :maxDate="maxDate"
+        :monthNum="calendarMonthNum"
+        mode="single"
+        closeOnClickOverlay
+        @confirm="changeReportTime"
+        @close="showReportCalendar = false"
+      ></u-calendar>
+    </view>
+    <view v-if="isShow" class="task-list">
+      <view v-for="(item, index) in indexList" :key="index">
         <u-cell icon="share" @click="getBorad(item)">
           <view slot="title" class="u-slot-title">
             <text class="u-cell-text">
@@ -39,8 +60,8 @@
             </u-tag>
           </view>
         </u-cell>
-      </u-list-item>
-    </u-list>
+      </view>
+    </view>
     <!-- 填报日期弹窗 -->
     <u-modal
       v-if="isShow"
@@ -100,6 +121,8 @@ export default {
       showTime: false, //是否显示填报日期弹窗
       titleTime: "",
       searchTime: "", //检测时间
+      taskTime: moment().format("YYYY-MM-DD"),
+      showReportCalendar: false,
       showCalendar: false, //控制日期选型下拉开启
       // timeRan: Number(new Date()),
       minDate: moment()
@@ -149,6 +172,11 @@ export default {
       uni.setStorageSync("searchTime", that.searchTime);
       that.showCalendar = false;
     },
+    changeReportTime(e) {
+      this.taskTime = e[0];
+      this.showReportCalendar = false;
+      this.getTimeList();
+    },
     closeTime() {
       this.searchTime = "";
       this.showCalendar = false;
@@ -185,7 +213,12 @@ export default {
       let that = this;
       new Promise((resolve, reject) => {
         api
-          .teamList({ pageNo: 1, pageSize: 100, teamCode: that.teamCode })
+          .teamList({
+            pageNo: 1,
+            pageSize: 100,
+            teamCode: that.teamCode,
+            taskTime: that.taskTime,
+          })
           .then((response) => {
             if (response.data.code == 200) {
               that.indexList = response.data.result.records;
@@ -207,7 +240,7 @@ export default {
 .taskBoard {
   position: relative;
   width: 90%;
-  height: 100%;
+  height: auto;
   margin-top: 20px;
   background: #f9f9fb;
   border: 1rpx solid #fff;
@@ -216,6 +249,22 @@ export default {
   margin-right: 14px;
 }
 
+.report-time-filter {
+  display: flex;
+  align-items: center;
+  padding: 12px 16px 4px;
+
+  .report-time-label {
+    flex-shrink: 0;
+    color: #303133;
+    font-size: 14px;
+  }
+
+  .report-time-input {
+    flex: 1;
+  }
+}
+
 .dialog-item {
   display: flex;
   align-items: center;

+ 6 - 232
pages/gasreport/components/taskBoardAddress.vue

@@ -24,8 +24,8 @@
         >一键识别</u-button
       >
     </view>
-    <u-list :height="666" :scrollTop="topH" v-if="isShow">
-      <u-list-item v-for="(item, index) in indexList" :key="index">
+    <view v-if="isShow" class="task-detail-list">
+      <view v-for="(item, index) in indexList" :key="index">
         <u-cell icon="share">
           <view slot="title" class="u-slot-title">
             <text class="u-cell-text">{{
@@ -54,8 +54,8 @@
             ></u-icon>
           </view>
         </u-cell>
-      </u-list-item>
-    </u-list>
+      </view>
+    </view>
     <!-- 一键识别List -->
     <view v-if="sbShow">
       <Recognition
@@ -101,8 +101,6 @@ export default {
     return {
       saveImg: "",
       // imgList: [],
-      topH: 0,
-      activeIndex: 0,
       Ids: "",
       checkNum: "", //巡检次数
       classType: "",
@@ -194,7 +192,6 @@ export default {
     },
     getBoradAddress(item, index) {
       let that = this;
-      that.activeIndex = index;
       that.isShow = false;
       that.showBtn = false;
       if (item.checkState == "0") {
@@ -215,7 +212,6 @@ export default {
       this.sbShow = false;
       this.toComponent = "";
       this.urlData = "";
-      this.topH = 39 * this.activeIndex;
       this.taskDetailsLists();
     },
 
@@ -232,229 +228,7 @@ export default {
           .then((response) => {
             if (response.data.code == 200) {
               console.log(response, "地点列表---");
-              // that.indexList = response.data.result.records || [];
-              that.indexList = [
-                {
-                  id: "2117091338227367937",
-                  taskTime: "2026-11-02",
-                  deviceId: "2117091338189619201",
-                  deviceName: "12406胶运顺槽掘进工作面风流",
-                  checkNum: "1",
-                  taskId: "2117091338147676162",
-                  checkState: "0",
-                  isSensor: "1",
-                  checkReg: "12406胶运顺槽掘进工作面",
-                  checkPerson: null,
-                  sysOrgCode: "A02A02",
-                  orgCode: null,
-                  createBy: "admin",
-                  createTime: "2026-11-02 11:08:03",
-                  updateBy: null,
-                  updateTime: null,
-                  orderNum: 1,
-                  taskName: "夜班瓦检10.1 (1)",
-                  classType: "night",
-                  classType_dictText: "晚班",
-                },
-                {
-                  id: "2117091338294476802",
-                  taskTime: "2026-11-02",
-                  deviceId: "2117091338248339458",
-                  deviceName: "12406胶运顺槽掘进工作面回风流",
-                  checkNum: "1",
-                  taskId: "2117091338147676162",
-                  checkState: "0",
-                  isSensor: "1",
-                  checkReg: "12406胶运顺槽掘进工作面",
-                  checkPerson: null,
-                  sysOrgCode: "A02A02",
-                  orgCode: null,
-                  createBy: "admin",
-                  createTime: "2026-11-02 11:08:03",
-                  updateBy: null,
-                  updateTime: null,
-                  orderNum: 2,
-                  taskName: "夜班瓦检10.1 (1)",
-                  classType: "night",
-                  classType_dictText: "晚班",
-                },
-                {
-                  id: "2117091338349002753",
-                  taskTime: "2026-11-02",
-                  deviceId: "2117091338319642626",
-                  deviceName: "22煤新建南回风井下部",
-                  checkNum: "1",
-                  taskId: "2117091338147676162",
-                  checkState: "0",
-                  isSensor: "0",
-                  checkReg: "22煤系统",
-                  checkPerson: null,
-                  sysOrgCode: "A02A02",
-                  orgCode: null,
-                  createBy: "admin",
-                  createTime: "2026-11-02 11:08:03",
-                  updateBy: null,
-                  updateTime: null,
-                  orderNum: 3,
-                  taskName: "夜班瓦检10.1 (1)",
-                  classType: "night",
-                  classType_dictText: "晚班",
-                },
-                {
-                  id: "2117091338420305922",
-                  taskTime: "2026-11-02",
-                  deviceId: "2117091338390945794",
-                  deviceName: "22煤新建南进风井下部",
-                  checkNum: "1",
-                  taskId: "2117091338147676162",
-                  checkState: "0",
-                  isSensor: "0",
-                  checkReg: "22煤系统",
-                  checkPerson: null,
-                  sysOrgCode: "A02A02",
-                  orgCode: null,
-                  createBy: "admin",
-                  createTime: "2026-11-02 11:08:03",
-                  updateBy: null,
-                  updateTime: null,
-                  orderNum: 4,
-                  taskName: "夜班瓦检10.1 (1)",
-                  classType: "night",
-                  classType_dictText: "晚班",
-                },
-                {
-                  id: "2117091338470637569",
-                  taskTime: "2026-11-02",
-                  deviceId: "2117091338449666050",
-                  deviceName: "22煤北翼辅运顶头",
-                  checkNum: "1",
-                  taskId: "2117091338147676162",
-                  checkState: "0",
-                  isSensor: "0",
-                  checkReg: "22煤系统",
-                  checkPerson: null,
-                  sysOrgCode: "A02A02",
-                  orgCode: null,
-                  createBy: "admin",
-                  createTime: "2026-11-02 11:08:03",
-                  updateBy: null,
-                  updateTime: null,
-                  orderNum: 5,
-                  taskName: "夜班瓦检10.1 (1)",
-                  classType: "night",
-                  classType_dictText: "晚班",
-                },
-                {
-                  id: "2117091338529357825",
-                  taskTime: "2026-11-02",
-                  deviceId: "2117091338499997698",
-                  deviceName: "22煤北翼集中辅运巷2联",
-                  checkNum: "1",
-                  taskId: "2117091338147676162",
-                  checkState: "0",
-                  isSensor: "0",
-                  checkReg: "22煤北翼集中主、辅运巷",
-                  checkPerson: null,
-                  sysOrgCode: "A02A02",
-                  orgCode: null,
-                  createBy: "admin",
-                  createTime: "2026-11-02 11:08:03",
-                  updateBy: null,
-                  updateTime: null,
-                  orderNum: 6,
-                  taskName: "夜班瓦检10.1 (1)",
-                  classType: "night",
-                  classType_dictText: "晚班",
-                },
-                {
-                  id: "2117091338571300865",
-                  taskTime: "2026-11-02",
-                  deviceId: "2117091338550329346",
-                  deviceName: "22煤北翼集中辅运巷6联水仓",
-                  checkNum: "1",
-                  taskId: "2117091338147676162",
-                  checkState: "0",
-                  isSensor: "0",
-                  checkReg: "22煤北翼集中主、辅运巷",
-                  checkPerson: null,
-                  sysOrgCode: "A02A02",
-                  orgCode: null,
-                  createBy: "admin",
-                  createTime: "2026-11-02 11:08:03",
-                  updateBy: null,
-                  updateTime: null,
-                  orderNum: 7,
-                  taskName: "夜班瓦检10.1 (1)",
-                  classType: "night",
-                  classType_dictText: "晚班",
-                },
-                {
-                  id: "2117091338630021122",
-                  taskTime: "2026-11-02",
-                  deviceId: "2117091338604855298",
-                  deviceName: "12404综采工作面进风流",
-                  checkNum: "1",
-                  taskId: "2117091338147676162",
-                  checkState: "0",
-                  isSensor: "0",
-                  checkReg: "12404综采工作面",
-                  checkPerson: null,
-                  sysOrgCode: "A02A02",
-                  orgCode: null,
-                  createBy: "admin",
-                  createTime: "2026-11-02 11:08:03",
-                  updateBy: null,
-                  updateTime: null,
-                  orderNum: 8,
-                  taskName: "夜班瓦检10.1 (1)",
-                  classType: "night",
-                  classType_dictText: "晚班",
-                },
-                {
-                  id: "2117091338692935682",
-                  taskTime: "2026-11-02",
-                  deviceId: "2117091338667769858",
-                  deviceName: "12404综采工作面风流",
-                  checkNum: "1",
-                  taskId: "2117091338147676162",
-                  checkState: "0",
-                  isSensor: "1",
-                  checkReg: "12404综采工作面",
-                  checkPerson: null,
-                  sysOrgCode: "A02A02",
-                  orgCode: null,
-                  createBy: "admin",
-                  createTime: "2026-11-02 11:08:03",
-                  updateBy: null,
-                  updateTime: null,
-                  orderNum: 9,
-                  taskName: "夜班瓦检10.1 (1)",
-                  classType: "night",
-                  classType_dictText: "晚班",
-                },
-                {
-                  id: "2117091338747461634",
-                  taskTime: "2026-11-02",
-                  deviceId: "2117091338722295809",
-                  deviceName: "12404综采工作面回风隅角",
-                  checkNum: "1",
-                  taskId: "2117091338147676162",
-                  checkState: "0",
-                  isSensor: "1",
-                  checkReg: "12404综采工作面",
-                  checkPerson: null,
-                  sysOrgCode: "A02A02",
-                  orgCode: null,
-                  createBy: "admin",
-                  createTime: "2026-11-02 11:08:03",
-                  updateBy: null,
-                  updateTime: null,
-                  orderNum: 10,
-                  taskName: "夜班瓦检10.1 (1)",
-                  classType: "night",
-                  classType_dictText: "晚班",
-                },
-              ];
+              that.indexList = response.data.result.records || [];
               if (that.indexList.length != 0) {
                 that.indexList.forEach((el) => {
                   if (uni.getStorageSync(el.deviceId)) {
@@ -482,7 +256,7 @@ export default {
 .taskBoardAddress {
   position: relative;
   width: 100%;
-  height: 100%;
+  height: auto;
   padding: 0px 10px;
   box-sizing: border-box;
 }

+ 2 - 2
pages/gasreport/gasreport.vue

@@ -177,9 +177,9 @@ export default {
   box-sizing: border-box;
 
   .gas-content {
-    height: 666px;
+    height: auto;
     margin-top: calc(50px + var(--status-bar-height, 0px));
-    overflow-y: auto;
+    overflow: visible;
 
     .popup-modal {
       position: absolute;

+ 18 - 13
pages/home/detail/autodoor/autodoor.vue

@@ -182,22 +182,27 @@
             <fanmainAnimate
               ref="fanpage"
               style="width: 100%"
-              :door1="door1"
-              :topdoor1="topdoor1"
-              :fundoor1="fundoor1"
-              :door2="door2"
-              :topdoor2="topdoor2"
-              :fundoor2="fundoor2"
               :nowfengji="qidongfengji"
             ></fanmainAnimate>
           </view>
           <view class="flcard deviceback" v-if="TabCur == 'window'">
-            <windowAnimate
+            <WindowDandao
+              v-if="nwindownum == 1"
+              :maxArea="tableData.maxarea"
+              :frontArea="tableData.frontArea"
+            ></WindowDandao>
+            <WindowShuangdao
+              v-else-if="nwindownum == 2"
+              :maxArea="tableData.maxarea"
+              :frontArea="tableData.frontArea"
+              :rearArea="tableData.rearArea"
+            ></WindowShuangdao>
+            <!-- <windowAnimate
               :windowAngle="windowAngle"
               :windowAngle1="windowAngle1"
               :height="height"
               :windowcount="nwindownum"
-            ></windowAnimate>
+            ></windowAnimate> -->
           </view>
           <view v-if="cameraList.length > 0">
             <view
@@ -432,14 +437,14 @@
 <script>
 import api from "@/api/api";
 import initDictOptions from "@/common/util/dictUtil.js";
-import doorAnimate from "../doorAnimate/doorAnimate.vue";
 import autodoorDandao from "../doorAnimate/autodoor-dandao.vue";
 import autodoorShuangdao from "../doorAnimate/autodoor-shuangdao.vue";
-import windowAnimate from "../windowAnimate/windowAnimate.vue";
 import windrectAnimate from "../windrectAnimate/windrectAnimate.vue";
 import fanlocalAnimate from "../fanlocalAnimate/fanlocalAnimate2.vue";
 import fanmainAnimate from "../fanmainAnimate/fanmainAnimate.vue";
 import { getDeviceIcon } from "@/common/util/deviceIcon";
+import WindowDandao from "../windowAnimate/window-dandao.vue";
+import WindowShuangdao from "../windowAnimate/window-shuangdao.vue";
 export default {
   data() {
     return {
@@ -524,10 +529,10 @@ export default {
     },
   },
   components: {
-    doorAnimate,
     autodoorDandao,
     autodoorShuangdao,
-    windowAnimate,
+    WindowDandao,
+    WindowShuangdao,
     windrectAnimate,
     fanlocalAnimate,
     fanmainAnimate,
@@ -697,7 +702,7 @@ export default {
               this.$refs.fanpage.setQidongfengji(this.qidongfengji);
               var maxarea = result.maxarea;
               this.windowAngle =
-                (this.tableData.forntArea / maxarea) * 100 * 0.9;
+                (this.tableData.frontArea / maxarea) * 100 * 0.9;
               this.windowAngle1 =
                 (this.tableData.rearArea / maxarea) * 100 * 0.9;
               this.deviceid = result.deviceID;

+ 0 - 372
pages/home/detail/doorAnimate/doorAnimate.vue

@@ -1,372 +0,0 @@
-<template>
-  <view style="width: 100%; height: 100%">
-    <div class="door-container">
-      <div v-show="doorcount == 1" :style="{ height: height }">
-        <div class="door1" v-show="doorcount == 1" style="height: 100%">
-          <div class="left_door" v-bind:class="gatestate1 == '1' ||
-            gatestate1 == '开启' ||
-            gatestate1 == '打开' ||
-            gatestate1 == 'true'
-            ? 'open_left'
-            : 'close_left'
-            " id="leftdoor1"></div>
-          <div class="doortitle">风门</div>
-          <div class="right_door" v-bind:class="gatestate1 == '1' ||
-            gatestate1 == '开启' ||
-            gatestate1 == '打开' ||
-            gatestate1 == 'true'
-            ? 'open_right'
-            : 'close_right'
-            " id="rightdoor1"></div>
-        </div>
-        <!-- <div></div> -->
-      </div>
-      <div :style="{ height: height, }" style=" background: linear - gradient(
-          to right,
-          rgba(55, 135, 254, 0.08),
-          rgba(4, 184, 255, 0.08),
-          rgba(60, 161, 237, 0.08)
-        );
-        background-size: 100% 100%;
-        background-repeat: no-repeat" v-show="doorcount == 2">
-        <div class="door2" v-show="doorcount == 2" style="height: 100%">
-          <div class="left_door" v-bind:class="gatestate1 == '1' ||
-            gatestate1 == '开启' ||
-            gatestate1 == '打开' ||
-            gatestate1 == 'true'
-            ? 'open_left'
-            : 'close_left'
-            " id="leftdoor2"></div>
-          <div class="doortitle">前门</div>
-          <div class="right_door" v-bind:class="gatestate1 == '1' ||
-            gatestate1 == '开启' ||
-            gatestate1 == '打开' ||
-            gatestate1 == 'true'
-            ? 'open_right'
-            : 'close_right'
-            " id="rightdoor2"></div>
-        </div>
-        <div class="door2" v-show="doorcount == 2" style="height: 100%;">
-          <div class="left_door" v-bind:class="gatestate3 == '1' ||
-            gatestate3 == '开启' ||
-            gatestate3 == '打开' ||
-            gatestate3 == 'true'
-            ? 'open_left'
-            : 'close_left'
-            " id="leftdoor3"></div>
-          <div class="doortitle">后门</div>
-          <div class="right_door" v-bind:class="gatestate3 == '1' ||
-            gatestate3 == '开启' ||
-            gatestate3 == '打开' ||
-            gatestate3 == 'true'
-            ? 'open_right'
-            : 'close_right'
-            " id="rightdoor3"></div>
-        </div>
-      </div>
-      <div style="" v-show="doorcount == 3" :style="{ height: height }">
-        <div class="door3" v-show="doorcount == 3" style="height: 100%">
-          <div class="left_door" v-bind:class="gatestate1 == '1' ||
-            gatestate1 == '开启' ||
-            gatestate1 == '打开' ||
-            gatestate1 == 'true'
-            ? 'open_left'
-            : 'close_left'
-            " id="leftdoor4"></div>
-          <div class="doortitle">前门</div>
-          <div class="right_door" v-bind:class="gatestate1 == '1' ||
-            gatestate1 == '开启' ||
-            gatestate1 == '打开' ||
-            gatestate1 == 'true'
-            ? 'open_right'
-            : 'close_right'
-            " id="rightdoor4"></div>
-        </div>
-        <div class="door3" v-show="doorcount == 3" style="height: 100%">
-          <div class="left_door" v-bind:class="gatestate2 == '1' ||
-            gatestate2 == '开启' ||
-            gatestate2 == '打开' ||
-            gatestate2 == 'true'
-            ? 'open_left'
-            : 'close_left'
-            " id="leftdoor5"></div>
-          <div class="doortitle">中门</div>
-          <div class="right_door" v-bind:class="gatestate2 == '1' ||
-            gatestate2 == '开启' ||
-            gatestate2 == '打开' ||
-            gatestate2 == 'true'
-            ? 'open_right'
-            : 'close_right'
-            " id="rightdoor5"></div>
-        </div>
-        <div class="door3" v-show="doorcount == 3" style="height: 100%">
-          <div class="left_door" v-bind:class="gatestate3 == '1' ||
-            gatestate3 == '开启' ||
-            gatestate3 == '打开' ||
-            gatestate3 == 'true'
-            ? 'open_left'
-            : 'close_left'
-            " id="leftdoor6"></div>
-          <div class="doortitle">后门</div>
-          <div class="right_door" v-bind:class="gatestate3 == '1' ||
-            gatestate3 == '开启' ||
-            gatestate3 == '打开' ||
-            gatestate3 == 'true'
-            ? 'open_right'
-            : 'close_right'
-            " id="rightdoor6"></div>
-        </div>
-        <div>
-          <!-- <video
-            v-if="item.type == 'flv'"
-            :id="'cameraElement' + item.id"
-            muted
-            autoplay
-            controls
-            width="100%"
-            height="100%"
-            style="width: 100%"
-          ></video> -->
-        </div>
-      </div>
-      <div style="" v-show="doorcount == 4" :style="{ height: height }">
-        <div class="door4" v-show="doorcount == 4" style="height: 100%">
-          <div class="left_door" v-bind:class="gatestate1 == '1' ||
-            gatestate1 == '开启' ||
-            gatestate1 == '打开' ||
-            gatestate1 == 'true'
-            ? 'open_left'
-            : 'close_left'
-            " id="leftdoor7"></div>
-          <div class="doortitle">1号门</div>
-          <div class="right_door" v-bind:class="gatestate1 == '1' ||
-            gatestate1 == '开启' ||
-            gatestate1 == '打开' ||
-            gatestate1 == 'true'
-            ? 'open_right'
-            : 'close_right'
-            " id="rightdoor7"></div>
-        </div>
-        <div class="door4" v-show="doorcount == 4" style="height: 100%">
-          <div class="left_door" v-bind:class="gatestate2 == '1' ||
-            gatestate2 == '开启' ||
-            gatestate2 == '打开' ||
-            gatestate2 == 'true'
-            ? 'open_left'
-            : 'close_left'
-            " id="leftdoor8"></div>
-          <div class="doortitle">2号门</div>
-          <div class="right_door" v-bind:class="gatestate2 == '1' ||
-            gatestate2 == '开启' ||
-            gatestate2 == '打开' ||
-            gatestate2 == 'true'
-            ? 'open_right'
-            : 'close_right'
-            " id="rightdoor8"></div>
-        </div>
-        <div class="door4" v-show="doorcount == 4" style="height: 100%">
-          <div class="left_door" v-bind:class="gatestate3 == '1' ||
-            gatestate3 == '开启' ||
-            gatestate3 == '打开' ||
-            gatestate3 == 'true'
-            ? 'open_left'
-            : 'close_left'
-            " id="leftdoor9"></div>
-          <div class="doortitle">3号门</div>
-          <div class="right_door" v-bind:class="gatestate3 == '1' ||
-            gatestate3 == '开启' ||
-            gatestate3 == '打开' ||
-            gatestate3 == 'true'
-            ? 'open_right'
-            : 'close_right'
-            " id="rightdoor9"></div>
-        </div>
-        <div class="door4" v-show="doorcount == 4" style="height: 100%">
-          <div class="left_door" v-bind:class="gatestate4 == '1' ||
-            gatestate4 == '开启' ||
-            gatestate4 == '打开' ||
-            gatestate4 == 'true'
-            ? 'open_left'
-            : 'close_left'
-            " id="leftdoor10"></div>
-          <div class="doortitle">4号门</div>
-          <div class="right_door" v-bind:class="gatestate4 == '1' ||
-            gatestate4 == '开启' ||
-            gatestate4 == '打开' ||
-            gatestate4 == 'true'
-            ? 'open_right'
-            : 'close_right'
-            " id="rightdoor10"></div>
-        </div>
-        <div>
-          <!-- <video
-            v-if="item.type == 'flv'"
-            :id="'cameraElement' + item.id"
-            muted
-            autoplay
-            controls
-            width="100%"
-            height="100%"
-            style="width: 100%"
-          ></video> -->
-        </div>
-      </div>
-    </div>
-  </view>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      rows: [], //分行
-      height: "200px",
-      videoDeviceId: "",
-      flvPlayer: [],
-      VideoDeviceUrl: "",
-      videoList: [],
-      num: 1, //摄像头个数
-      columnNum: 1, //列数
-      columSpan: 24, //列块
-    };
-  },
-  props: [
-    "gatestate1",
-    "gatestate2",
-    "gatestate3",
-    "gatestate4",
-    "doorcount",
-    "cameralist",
-  ],
-  methods: {},
-  watch: {
-    doorcount(val) {
-      console.log("doorcount", val);
-      if (val == 1) {
-        this.height = "180px";
-      }
-      if (val == 2) {
-        this.height = "180px";
-      }
-      if (val == 3) {
-        this.height = "110px";
-      }
-      if (val == 4) {
-        this.height = "180px";
-      }
-    },
-  },
-};
-</script>
-
-<style scoped>
-/*门里面*/
-div.door1 {
-  width: 50%;
-  float: left;
-  margin-left: 20%;
-  background-image: url(/static/door.png);
-  background-size: 100% 100%;
-  perspective: 800px;
-}
-
-div.door2 {
-  width: 50%;
-  float: left;
-  background-image: url(/static/door.png);
-  background-size: 100% 100%;
-  perspective: 800px;
-}
-
-div.door3 {
-  width: 33.3%;
-  float: left;
-  background-image: url(/static/door.png);
-  background-size: 100% 100%;
-  perspective: 400px;
-}
-
-div.door4 {
-  width: 50%;
-  float: left;
-  background-image: url(/static/door.png);
-  background-size: 100% 100%;
-  perspective: 800px;
-}
-
-/*左门/右门*/
-
-div.left_door {
-  top: 12%;
-  left: 10%;
-  width: 40.5%;
-  height: 78%;
-  box-sizing: border-box;
-  float: left;
-  z-index: 1;
-  position: absolute;
-  transition: all 2s ease;
-  background-image: url(/static/left.png);
-  background-size: 100% 100%;
-}
-
-div.right_door {
-  top: 12%;
-  right: 10%;
-  width: 40.2%;
-  height: 78%;
-  box-sizing: border-box;
-  float: left;
-  z-index: 1;
-  position: absolute;
-  transition: all 2s ease;
-  background-image: url(/static/left.png);
-  background-size: 100% 100%;
-}
-
-div.left_door {
-  transform-origin: left center;
-  border-right: 1px solid rgb(8, 8, 8);
-}
-
-div.right_door {
-  transform-origin: right center;
-  border-left: 1px solid rgb(8, 8, 8);
-}
-
-.open_left {
-  transform: rotateY(100deg);
-}
-
-.open_right {
-  transform: rotateY(-100deg);
-}
-
-.close_left {
-  transform: rotateY(0);
-}
-
-.close_right {
-  transform: rotateY(0deg);
-}
-
-/*使用css变形功能
-
-    div.door:hover div.left_door{
-        transform:rotateY(100deg);
-    }
-
-    div.door:hover div.right_door{
-        transform:rotateY(-100deg);
-    }*/
-.doortitle {
-  position: absolute;
-  top: 50%;
-  left: 50%;
-  transform: translate(-50%, -50%);
-  font-size: 20px;
-  color: #677799;
-  z-index: 999;
-  text-align: center;
-}
-</style>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 406 - 401
pages/home/detail/fanmainAnimate/fanmainAnimate.vue


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 282 - 0
pages/home/detail/windowAnimate/window-dandao.vue


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 304 - 0
pages/home/detail/windowAnimate/window-shuangdao.vue


+ 0 - 294
pages/home/detail/windowAnimate/windowAnimate.vue

@@ -1,294 +0,0 @@
-<template>
-  <view style="width: 100%; height: 100%">
-    <div class="door-container">
-      <div v-show="windowcount == 1">
-        <div
-          class="autowindow_new"
-          v-show="windowcount == 1"
-          :style="{ height: height }"
-          style="margin: 0 auto"
-        >
-          <div
-            class="window_new_1"
-            :style="`transform: rotateX(${windowAngle}deg)`"
-            id="subwindowpic11"
-          ></div>
-          <div
-            class="window_new_2"
-            :style="`transform: rotateX(${windowAngle}deg)`"
-            id="subwindowpic12"
-          ></div>
-          <div
-            class="window_new_3"
-            :style="`transform: rotateX(${windowAngle}deg)`"
-            id="subwindowpic13"
-          ></div>
-          <div
-            class="window_new_4"
-            :style="`transform: rotateX(${windowAngle}deg)`"
-            id="subwindowpic14"
-          ></div>
-          <div
-            class="window_new_5"
-            :style="`transform: rotateX(${windowAngle}deg)`"
-            id="subwindowpic15"
-          ></div>
-        </div>
-        <div>
-          <video controls style="width: 100%"></video>
-        </div>
-      </div>
-      <div v-show="windowcount == 2">
-        <div style="display: flex; flex-wrap: nowrap">
-          <div class="autowindow_new" :style="{ height: height }">
-            <div
-              class="window_new_1"
-              :style="`transform: rotateX(${windowAngle}deg)`"
-              id="subwindowpic11"
-            ></div>
-            <div
-              class="window_new_2"
-              :style="`transform: rotateX(${windowAngle}deg)`"
-              id="subwindowpic12"
-            ></div>
-            <div
-              class="window_new_3"
-              :style="`transform: rotateX(${windowAngle}deg)`"
-              id="subwindowpic13"
-            ></div>
-            <div
-              class="window_new_4"
-              :style="`transform: rotateX(${windowAngle}deg)`"
-              id="subwindowpic14"
-            ></div>
-            <div
-              class="window_new_5"
-              :style="`transform: rotateX(${windowAngle}deg)`"
-              id="subwindowpic15"
-            ></div>
-          </div>
-          <div class="autowindow_new" :style="{ height: height }">
-            <div
-              class="window_new_1"
-              :style="`transform: rotateX(${windowAngle1}deg)`"
-              id="subwindowpic11"
-            ></div>
-            <div
-              class="window_new_2"
-              :style="`transform: rotateX(${windowAngle1}deg)`"
-              id="subwindowpic12"
-            ></div>
-            <div
-              class="window_new_3"
-              :style="`transform: rotateX(${windowAngle1}deg)`"
-              id="subwindowpic13"
-            ></div>
-            <div
-              class="window_new_4"
-              :style="`transform: rotateX(${windowAngle1}deg)`"
-              id="subwindowpic14"
-            ></div>
-            <div
-              class="window_new_5"
-              :style="`transform: rotateX(${windowAngle1}deg)`"
-              id="subwindowpic15"
-            ></div>
-          </div>
-        </div>
-      </div>
-      <div v-show="windowcount == 3">
-        <div style="display: flex; flex-wrap: nowrap">
-          <div class="autowindow_new" :style="{ height: height }">
-            <div
-              class="window_new_1"
-              :style="`transform: rotateX(${windowAngle}deg)`"
-              id="subwindowpic11"
-            ></div>
-            <div
-              class="window_new_2"
-              :style="`transform: rotateX(${windowAngle}deg)`"
-              id="subwindowpic12"
-            ></div>
-            <div
-              class="window_new_3"
-              :style="`transform: rotateX(${windowAngle}deg)`"
-              id="subwindowpic13"
-            ></div>
-            <div
-              class="window_new_4"
-              :style="`transform: rotateX(${windowAngle}deg)`"
-              id="subwindowpic14"
-            ></div>
-            <div
-              class="window_new_5"
-              :style="`transform: rotateX(${windowAngle}deg)`"
-              id="subwindowpic15"
-            ></div>
-          </div>
-          <div class="autowindow_new" :style="{ height: height }">
-            <div
-              class="window_new_1"
-              :style="`transform: rotateX(${windowAngle1}deg)`"
-              id="subwindowpic11"
-            ></div>
-            <div
-              class="window_new_2"
-              :style="`transform: rotateX(${windowAngle1}deg)`"
-              id="subwindowpic12"
-            ></div>
-            <div
-              class="window_new_3"
-              :style="`transform: rotateX(${windowAngle1}deg)`"
-              id="subwindowpic13"
-            ></div>
-            <div
-              class="window_new_4"
-              :style="`transform: rotateX(${windowAngle1}deg)`"
-              id="subwindowpic14"
-            ></div>
-            <div
-              class="window_new_5"
-              :style="`transform: rotateX(${windowAngle1}deg)`"
-              id="subwindowpic15"
-            ></div>
-          </div>
-        </div>
-      </div>
-    </div>
-  </view>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      height: "200px",
-    };
-  },
-  props: ["windowAngle", "windowAngle1", "windowcount"],
-  methods: {},
-  watch: {
-    windownum(val) {
-      if (val == 1) {
-        this.height = "180px";
-      }
-      if (val == 2) {
-        this.height = "180px";
-      }
-    },
-  },
-  onLoad(query) {},
-};
-</script>
-
-<style scoped>
-/*风窗样式*/
-div.autowindow_new {
-  width: 50%;
-  background-image: url(/static/window/window-bk.png);
-  background-size: 100% 100%;
-  perspective: 800px;
-}
-/*风窗1 2 3 4*/
-
-div.window_new_1 {
-  margin-top: 2%;
-  margin-left: 4%;
-  width: 92%;
-  height: 15%;
-  background-color: crimson;
-  box-sizing: border-box;
-  float: left;
-  z-index: 1;
-  transition: all 2s;
-  background-image: url(/static/window/window_new1.png);
-  background-size: 100% 100%;
-}
-div.window_new_2 {
-  margin-top: 1%;
-  margin-left: 4%;
-  width: 92%;
-  height: 15%;
-  background-color: crimson;
-  box-sizing: border-box;
-  float: left;
-  z-index: 1;
-  transition: all 2s;
-  background-image: url(/static/window/window_new1.png);
-  background-size: 100% 100%;
-}
-div.window_new_3 {
-  margin-top: 1%;
-  margin-left: 4%;
-  width: 92%;
-  height: 15%;
-  background-color: crimson;
-  box-sizing: border-box;
-  float: left;
-  z-index: 1;
-  transition: all 2s;
-  background-image: url(/static/window/window_new1.png);
-  background-size: 100% 100%;
-}
-div.window_new_4 {
-  margin-top: 1%;
-  margin-left: 4%;
-  width: 92%;
-  height: 15%;
-  background-color: crimson;
-  box-sizing: border-box;
-  float: left;
-  z-index: 1;
-  transition: all 2s;
-  background-image: url(/static/window/window_new1.png);
-  background-size: 100% 100%;
-}
-div.window_new_5 {
-  margin-top: 1%;
-  margin-left: 4%;
-  width: 92%;
-  height: 15%;
-  background-color: crimson;
-  box-sizing: border-box;
-  float: left;
-  z-index: 1;
-  transition: all 2s;
-  background-image: url(/static/window/window_new1.png);
-  background-size: 100% 100%;
-}
-div.window_new_1 {
-  transition: all 2s ease;
-  transform-origin: center center;
-}
-div.window_new_2 {
-  transition: all 2s ease;
-  transform-origin: center center;
-}
-div.window_new_3 {
-  transition: all 2s ease;
-  transform-origin: center center;
-}
-div.window_new_4 {
-  transition: all 2s ease;
-  transform-origin: center center;
-}
-div.window_new_5 {
-  transition: all 2s ease;
-  transform-origin: center center;
-}
-.open {
-  transform: rotateX(100deg);
-}
-.close {
-  transform: rotateX(0deg);
-}
-/*使用css变形功能
-
-    div.door:hover div.left_door{
-        transform:rotateY(100deg);
-    }
-
-    div.door:hover div.right_door{
-        transform:rotateY(-100deg);
-    }*/
-</style>

+ 1 - 1
pages/index/index.vue

@@ -288,7 +288,7 @@ export default {
 <style>
 .app-container {
   width: 100%;
-  height: 100vh;
+  height: calc(100vh - 50px - env(safe-area-inset-bottom, 0px));
   background: url("../../static/desk-img/1-3.png") no-repeat;
   background-size: 100% auto;
 }

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels