fanghuisheng 2 місяців тому
батько
коміт
2539f80d4b
32 змінених файлів з 280 додано та 250 видалено
  1. 29 15
      src/components/oa-scroll/index.vue
  2. 80 69
      src/pages/business/common/projectMange/list/index.vue
  3. 57 62
      src/pages/business/common/projectMange/record/details.vue
  4. 70 88
      src/pages/business/common/projectMange/record/index.vue
  5. 1 0
      src/pages/business/common/videoMonitor/videoDetail.vue
  6. 1 1
      src/pages/business/common/videoMonitor/videoList.vue
  7. 1 0
      src/pages/business/fireIot/alarmManage/alarmDetails/index.vue
  8. 0 1
      src/pages/business/fireIot/alarmManage/alarmDetailsList/index.vue
  9. 1 0
      src/pages/business/fireIot/alarmManage/index.vue
  10. 1 0
      src/pages/business/fireIot/customManage/index.vue
  11. 1 0
      src/pages/business/fireIot/deviceManage/components/deviceDetails.vue
  12. 1 0
      src/pages/business/fireIot/deviceManage/components/deviceDetailsList.vue
  13. 1 0
      src/pages/business/fireIot/deviceManage/index.vue
  14. 1 0
      src/pages/business/fireIot/facilitiesGather/index.vue
  15. 19 2
      src/pages/business/fireIot/facilitiesManage/facilitiesDetails.vue
  16. 1 0
      src/pages/business/fireIot/facilitiesManage/facilitiesDetailsList.vue
  17. 1 0
      src/pages/business/fireIot/facilitiesManage/index.vue
  18. 1 0
      src/pages/business/fireIot/repairManage/index.vue
  19. 1 0
      src/pages/business/fireIot/repairManage/repairDetails.vue
  20. 0 1
      src/pages/business/fireIot/repairManage/repairDetailsList.vue
  21. 1 0
      src/pages/business/fireIot/repairReport/index.vue
  22. 1 0
      src/pages/business/fireIot/repairReport/record.vue
  23. 1 0
      src/pages/business/mhxf/fireReport/index.vue
  24. 1 0
      src/pages/business/zhaf/xunJian/collect/components/collectDetail.vue
  25. 1 0
      src/pages/business/zhaf/xunJian/collect/index.vue
  26. 0 1
      src/pages/business/zhxf/fireInspect/inspectDetailsList/index.vue
  27. 0 1
      src/pages/common/appMessage/index.vue
  28. 1 1
      src/pages/common/searchSelect/index.vue
  29. 2 2
      src/pages/index.vue
  30. 1 1
      src/pages/info.vue
  31. 1 1
      src/pages/mine/info/index.vue
  32. 2 4
      src/store/modules/setting.js

+ 29 - 15
src/components/oa-scroll/index.vue

@@ -3,10 +3,10 @@
     :class="customClass"
     :style="{
       //#ifdef APP-PLUS || MP-WEIXIN
-      height: !isSticky ? 'calc(100vh - 0px)' : 'calc(100vh - 44px)',
+      height: `calc(100vh - (${!isSticky ? '0px' : '44px'}))`,
       //#endif
       //#ifdef H5
-      height: !isSticky ? 'calc(100vh - 44px)' : 'calc(100vh - 88px)',
+      height: `calc(100vh - (${!isSticky ? '44px' : '88px'}))`,
       //#endif
       ...customStyle,
     }"
@@ -40,11 +40,23 @@
     </slot>
     <slot name="default"> </slot>
     <slot name="bottomLoading">
-      <div class="bottoBox" :style="`margin-top:20px;padding-bottom:${lowerThreshold + 'px'}`">
-        <span v-show="total != 0 && refresherLoad && refresherLoadTitle">
+      <div class="bottoBox">
+        <span
+          v-show="total != 0 && refresherLoad && refresherLoadTitle"
+          :style="{
+            marginTop: '20px',
+            marginBottom: '20px',
+          }"
+        >
           {{ pageSize >= total ? "没有更多啦~" : isScrolltolower }}
         </span>
-        <span v-show="total == 0 && refresherEnabled && refresherEnabledTitle && !triggered">
+        <span
+          v-show="total == 0 && refresherEnabled && refresherEnabledTitle && !triggered"
+          :style="{
+            marginTop: '20px',
+            marginBottom: '20px',
+          }"
+        >
           <image style="width: 160px; height: 160px" src="@/static/images/data.png"></image>
           <view>暂无数据</view>
         </span>
@@ -54,7 +66,7 @@
 </template>
 <script setup>
 import { onReady, onLoad, onShow, onNavigationBarButtonTap, onPullDownRefresh, onReachBottom } from "@dcloudio/uni-app";
-import { ref, onMounted, inject, shallowRef, reactive, getCurrentInstance, watchEffect, toRefs, toRef, watch } from "vue";
+import { ref, onMounted, inject, shallowRef, reactive, getCurrentInstance, watchEffect, toRefs, toRef, watch, computed } from "vue";
 
 const emit = defineEmits(["load", "refresh"]);
 const props = defineProps({
@@ -98,11 +110,6 @@ const props = defineProps({
     type: Boolean,
     default: true,
   },
-  //距离底部上拉加载距离
-  lowerThreshold: {
-    type: Number,
-    default: 0,
-  },
   //是否开启下拉刷新
   refresherEnabled: {
     type: Boolean,
@@ -135,16 +142,23 @@ const props = defineProps({
   },
 });
 
-const { pageSize, total, scrollTop, customClass, customStyle, refresherLoad, lowerThreshold, refresherEnabled, refresherEnabledTitle, refresherThreshold, refresherDefaultStyle, refresherBackground } =
-  toRefs(props);
+const { pageSize, total, scrollTop, customClass, customStyle, refresherLoad, refresherEnabled, refresherEnabledTitle, refresherThreshold, refresherDefaultStyle, refresherBackground } = toRefs(props);
 
-const defaultArray = reactive({
+const state = reactive({
+  StatusBarHeight: computed(() => {
+    let systemInfo = uni.getSystemInfoSync();
+    return systemInfo.statusBarHeight + "px";
+  }),
+  tabBarHeight: computed(() => {
+    let systemInfo = uni.getSystemInfoSync();
+    return systemInfo.screenHeight - systemInfo.safeArea.bottom + "px";
+  }),
   triggered: false,
   topTis: "松手刷新",
   isScrolltolower: "上拉加载更多",
 });
 
-const { triggered, topTis, isScrolltolower } = toRefs(defaultArray);
+const { StatusBarHeight, tabBarHeight, triggered, topTis, isScrolltolower } = toRefs(state);
 
 /**
  * @scrollView上拉刷新

+ 80 - 69
src/pages/business/common/projectMange/list/index.vue

@@ -29,10 +29,10 @@
     :isSticky="true"
     :customStyle="{
       //#ifdef APP-PLUS || MP-WEIXIN
-      height: 'calc(100vh - 132px)',
+      height: `calc(100vh - (138px + ${proxy.$settingStore.StatusBarHeight}))`,
       //#endif
       //#ifdef H5
-      height: 'calc(100vh - 132px)',
+      height: `calc(100vh - (138px))`,
       //#endif
     }"
     :refresherLoad="true"
@@ -46,9 +46,18 @@
     :data-theme="'theme-' + proxy.$settingStore.themeColor.name"
   >
     <template #default>
-      <view class="projectSearchBox" >
-        <u-input v-model="projectTypeName" disabledColor="#fff" disabled clearable  @click="handleAction('项目类型',project_type)" placeholder="项目类型" suffixIcon="arrow-down" suffixIconStyle="color: #909399" />        
-        <u-input v-model="projectName" placeholder="请输入项目名称"  clearable prefixIcon="search" size="small" />
+      <view class="projectSearchBox">
+        <u-input
+          v-model="projectTypeName"
+          disabledColor="#fff"
+          disabled
+          clearable
+          @click="handleAction('项目类型', project_type)"
+          placeholder="项目类型"
+          suffixIcon="arrow-down"
+          suffixIconStyle="color: #909399"
+        />
+        <u-input v-model="projectName" placeholder="请输入项目名称" clearable prefixIcon="search" size="small" />
         <!-- <u-button   type="primary" @click="selectListApi">搜索</u-button> -->
         <u-picker
           :show="actionShow"
@@ -61,23 +70,22 @@
           @cancel="actionShow = false"
           @confirm="selectAction"
         ></u-picker>
-
-      </view>      		
+      </view>
       <view class="menu-list m0">
-        <view class="list-cell" style="color: #666666; line-height: 25px;margin:10px;width:auto;border-radius:10px" v-for="(base, index) in dataList" :key="index">
+        <view class="list-cell" style="color: #666666; line-height: 25px; margin: 10px; width: auto; border-radius: 10px" v-for="(base, index) in dataList" :key="index">
           <view class="content-area-top menu-item">
-            <view class="content-area-top-name" style="color: #559AFF;" @click="toProjectMange(base.id)">{{ base.projectName }} 
+            <view class="content-area-top-name" style="color: #559aff" @click="toProjectMange(base.id)">{{ base.projectName }} </view>
+            <view class="content-area-top-status" :style="{ backgroundColor: proxy.$common.mapping('elTagClass', 'value', base.projectStatus, project_status) }" style="margin-left: 10px">
+              {{ proxy.$common.mapping("label", "value", base.projectStatus, project_status) }}
             </view>
-            <view class="content-area-top-status" :style='{backgroundColor:proxy.$common.mapping("elTagClass", "value", base.projectStatus, project_status)}' style="margin-left:10px" > {{ proxy.$common.mapping("label", "value", base.projectStatus, project_status) }} </view>
 
             <u-icon class="content-area-top-icon" name="more-dot-fill" size="20" color="#000" @click="moreClick(base)"></u-icon>
           </view>
           <view class="content-area-row_wrap menu-item">
-            <view class="content-area-row_wrap-view"> 负责人: {{ proxy.$common.mapping("nickName", "userId", base.projectHead, userDate) }} 
-            </view>
+            <view class="content-area-row_wrap-view"> 负责人: {{ proxy.$common.mapping("nickName", "userId", base.projectHead, userDate) }} </view>
             <view class="content-area-row_wrap-view">
               类型:
-			        {{ proxy.$common.mapping("label", "value", base.projectStatus, project_type) }}
+              {{ proxy.$common.mapping("label", "value", base.projectStatus, project_type) }}
             </view>
             <view class="content-area-row_wrap-view" style="display: block">
               成员:<span>{{ proxy.$common.mapping("nickName", "userId", base.projectMember, userDate) }} </span>
@@ -188,7 +196,7 @@
 <script setup>
 /*----------------------------------依赖引入-----------------------------------*/
 import { onLoad, onShow, onReady, onHide, onLaunch, onNavigationBarButtonTap, onPageScroll } from "@dcloudio/uni-app";
-import { ref, reactive, computed, getCurrentInstance, toRefs, inject,watchEffect} from "vue";
+import { ref, reactive, computed, getCurrentInstance, toRefs, inject, watchEffect } from "vue";
 /*----------------------------------接口引入-----------------------------------*/
 import { projectApi } from "@/api/business/project.js";
 import { dUserList } from "@/api/system/user.js";
@@ -200,7 +208,7 @@ import { useStores } from "@/store/modules/index";
 const { proxy } = getCurrentInstance();
 
 const useStore = useStores();
-const { project_type,project_status } = proxy.useDict("project_type","project_status");
+const { project_type, project_status } = proxy.useDict("project_type", "project_status");
 
 /*----------------------------------变量声明-----------------------------------*/
 const state = reactive({
@@ -227,24 +235,24 @@ const state = reactive({
     content: "", //提示信息
   },
   eventList: {}, //数据存储
-  projectName:'',
+  projectName: "",
   projectTypeName: "", //项目类型名称
   actionShow: false,
   projectType: "", //项目类型
-  projectTypeList:[[]],    
+  projectTypeList: [[]],
 });
 
-const { tabsList, tabsCurrent, dataList, pageSize, current, total, userDate, popup, modal, eventList,array,index,projectTypeName,actionShow,projectType,projectTypeList,projectName} = toRefs(state);
-
+const { tabsList, tabsCurrent, dataList, pageSize, current, total, userDate, popup, modal, eventList, array, index, projectTypeName, actionShow, projectType, projectTypeList, projectName } =
+  toRefs(state);
 
 /**
  * @action弹出框点击事件
  */
- function handleAction(value,event, index, ind) {
-  if(!event.some((element => element.value==0))){
-    event.unshift({label:'全部',value:0})
-  } 
- 
+function handleAction(value, event, index, ind) {
+  if (!event.some((element) => element.value == 0)) {
+    event.unshift({ label: "全部", value: 0 });
+  }
+
   if (value == "项目类型") {
     state.projectTypeList[0] = event;
   }
@@ -255,10 +263,10 @@ const { tabsList, tabsCurrent, dataList, pageSize, current, total, userDate, pop
 /**
  * @action弹出框选择事件
  */
- function selectAction(e) {
-   state.projectType = e.value[0].value;
-   state.projectTypeName = e.value[0].label;
-   state.actionShow = false;
+function selectAction(e) {
+  state.projectType = e.value[0].value;
+  state.projectTypeName = e.value[0].label;
+  state.actionShow = false;
 }
 
 /**
@@ -376,9 +384,9 @@ function refresh() {
  */
 function tabsClick(e) {
   state.tabsCurrent = e.index;
-  state.projectName='';
-  state.projectType='';
-  state.projectTypeName=''
+  state.projectName = "";
+  state.projectType = "";
+  state.projectTypeName = "";
   init();
 }
 /**
@@ -408,59 +416,62 @@ onLoad((options) => {});
   font-size: 14px;
   justify-content: left;
 }
-:deep(.list-container .content-area-top-name){
-  font-size:16px!important;
+:deep(.list-container .content-area-top-name) {
+  font-size: 16px !important;
 }
 </style>
 <style lang="scss" scoped>
 .projectSearchBox {
-  margin:20px 4% ;width:92%;vertical-align:middle;
-  position:relative;
-  display:flex;
-  :deep(.u-input--radius, .u-input--square){
-      border-radius:0
-    }
-  
-  .u-input{
-   display:inline-block;background:#fff;height:34px;line-height:34px;padding:0 5px;
-    .uni-input-input{
-      font-size:12px!important;
+  margin: 20px 4%;
+  width: 92%;
+  vertical-align: middle;
+  position: relative;
+  display: flex;
+  :deep(.u-input--radius, .u-input--square) {
+    border-radius: 0;
+  }
+
+  .u-input {
+    display: inline-block;
+    background: #fff;
+    height: 34px;
+    line-height: 34px;
+    padding: 0 5px;
+    .uni-input-input {
+      font-size: 12px !important;
     }
-    :deep(.u-input__content__prefix-icon){
-      position:absolute;
-      right:8px;
-       .uicon-search{
-        font-size:16px
+    :deep(.u-input__content__prefix-icon) {
+      position: absolute;
+      right: 8px;
+      .uicon-search {
+        font-size: 16px;
       }
     }
   }
-  .u-input:first-child{
-    flex:2;
+  .u-input:first-child {
+    flex: 2;
     border-top-left-radius: 20px;
     border-bottom-left-radius: 20px;
-    border-right:none;
+    border-right: none;
   }
-  .u-input:nth-child(2){
-    flex:4;
+  .u-input:nth-child(2) {
+    flex: 4;
     // width:70%;
     border-top-right-radius: 20px;
     border-bottom-right-radius: 20px;
     // border-left:none
   }
-  .u-popup{
-    flex:0;
+  .u-popup {
+    flex: 0;
   }
-  .u-button{
-    width:50px;
-    position:absolute;
-    right:0px;
-    top:0;
-    height:32px;
-    line-height:32px;
-   
-
+  .u-button {
+    width: 50px;
+    position: absolute;
+    right: 0px;
+    top: 0;
+    height: 32px;
+    line-height: 32px;
   }
-  
 }
 .list-container {
   .content-area {
@@ -526,9 +537,9 @@ onLoad((options) => {});
     }
   }
 }
-:deep(.uni-tag){
-  padding:0px 2px;
-  height:20px;
+:deep(.uni-tag) {
+  padding: 0px 2px;
+  height: 20px;
   line-height: 20px !important;
   border-radius: 10px;
 }

+ 57 - 62
src/pages/business/common/projectMange/record/details.vue

@@ -11,10 +11,10 @@
     customClass="record-details-container scroll-height"
     :style="{
       //#ifdef APP-PLUS || MP-WEIXIN
-      height: 'calc(100vh - 88px)',
+      height: `calc(100vh - (44px + ${proxy.$settingStore.StatusBarHeight}))`,
       //#endif
       //#ifdef H5
-      height: 'calc(100vh - 44px)',
+      height: 'calc(100vh - (44px))',
       //#endif
     }"
     :refresherLoad="false"
@@ -26,9 +26,9 @@
     :data-theme="'theme-' + proxy.$settingStore.themeColor.name"
   >
     <template #default>
-      <view class="content-area radius bg-white" v-for="(item,index) in dataList" :key="index">
+      <view class="content-area radius bg-white" v-for="(item, index) in dataList" :key="index">
         <view class="content-area-header flex mb10">
-          <img :src="item.avatar"  class="content-area-header-avatarImg mr10" v-if="item.avatar"/>
+          <img :src="item.avatar" class="content-area-header-avatarImg mr10" v-if="item.avatar" />
           <u-avatar
             v-if="!item.avatar"
             class="content-area-header-avatar mr10"
@@ -47,36 +47,35 @@
 
         <view class="content-area-center mb10" v-for="child in item.workContents" :key="child">
           <view class="content-area-center-top flex">
-            <view class="content-area-center-top-title mr10" style="color: #559AFF;" @click="toProjectMange(child.projectId)">{{ child.projectName ? child.projectName : " " }}</view>
+            <view class="content-area-center-top-title mr10" style="color: #559aff" @click="toProjectMange(child.projectId)">{{ child.projectName ? child.projectName : " " }}</view>
             <view class="content-area-center-top-time" :style="{ color: proxy.$settingStore.themeColor.color }">{{ child.workTime }}h</view>
           </view>
           <u-text :text="child.workContent" color="#000000" size="14"></u-text>
         </view>
         <view class="content-area-center mb10">
           <view class="content-area-center-top"> 明日计划 </view>
-          <u-text :text="item.tomorrowPlan?item.tomorrowPlan:'无'" color="#000000" size="14"></u-text>
+          <u-text :text="item.tomorrowPlan ? item.tomorrowPlan : '无'" color="#000000" size="14"></u-text>
         </view>
         <view class="content-area-center mb10">
           <view class="content-area-center-top"> 工作协调 </view>
-          <u-text :text="item.coordinateWork?item.coordinateWork:'无'" color="#000000" size="14"></u-text>
+          <u-text :text="item.coordinateWork ? item.coordinateWork : '无'" color="#000000" size="14"></u-text>
         </view>
         <view class="content-area-center mb10">
           <view class="content-area-center-top">图片 </view>
-            <view class="imageBox" v-if="item.reportImage">
-              <image class="image" style="width:50px;margin:5px" mode="widthFix" v-for="(a,index) in JSON.parse(item.reportImage)" :key="index" :src="a.url"  @click="previewImage(index)" />
-            </view>
-            <view class="imageBox" >无</view>
+          <view class="imageBox" v-if="item.reportImage">
+            <image class="image m5" style="width: 50px" mode="widthFix" v-for="(a, index) in JSON.parse(item.reportImage)" :key="index" :src="a.url" @click="previewImage(index)" />
+          </view>
+          <view class="imageBox" v-else>无</view>
         </view>
 
         <view class="content-area-center mb10">
-          <view class="content-area-center-top">附件 </view>
-          <view  v-if="item.reportFile" v-for="(file, index) in JSON.parse(item.reportFile)" :key="index" style="font-size:12px">
-            <uni-link :href="file.url" text="file.url" style="color:rgba(0,0,0,.7)">{{file.name}}</uni-link>
+          <view class="content-area-center-top font12">附件 </view>
+          <view v-if="item.reportFile">
+            <uni-link v-for="(file, index) in JSON.parse(item.reportFile)" :key="index" :href="file.url" text="file.url" style="color: rgba(0, 0, 0, 0.7)">{{ file.name }}</uni-link>
           </view>
           <view v-else>无</view>
         </view>
-        <view class="content-area-center mb10">
-          <!-- <view class="content-area-center-top">抄送人 </view> -->
+        <view class="content-area-center mb10" style="display: flex; flex-wrap: wrap">
           <u-tabs
             :list="tabsList"
             :current="tabsCurrent"
@@ -85,12 +84,13 @@
             :activeStyle="{ color: '#333', fontSize: '14px' }"
             :inactiveStyle="{ color: '#909399', fontSize: '14px' }"
             :scrollable="false"
+            style="width: 100%"
           ></u-tabs>
-          <view class="content-area-header  mt20 mb10 mr5" style="display:inline-block;text-align:center" v-for="(item, index) in reportDetailData.treeSelectNodes" :key="index">
-            <img :src="item.avatar"  class="content-area-header-avatarImg mr10" v-if="item.avatar" style="display:block;width:40px;height:40px"/>
+          <view class="content-area-header mt20 mb10 text-center" style="display: inline-block" v-for="(item, index) in reportDetailData.treeSelectNodes" :key="index">
+            <img v-if="item.avatar" class="content-area-header-avatarImg mlr5" :src="item.avatar" style="display: block; width: 40px; height: 40px" />
             <u-avatar
               v-if="!item.avatar"
-              class="content-area-header-avatar mr10"
+              class="content-area-header-avatar mlr5"
               :text="item.nickName.length > 2 ? item.nickName.slice(1, 3) : item.nickName"
               shape="square"
               size="40"
@@ -98,15 +98,11 @@
               color="#ffffff"
               :bgColor="proxy.$settingStore.themeColor.color"
             ></u-avatar>
-            <u-text :text='item.nickName' color="#000000" size="14"></u-text>
-            </view>
+            <u-text :text="item.nickName" color="#000000" size="14" align="center"></u-text>
+          </view>
         </view>
-
-
       </view>
     </template>
-
-    
   </oa-scroll>
 </template>
 
@@ -130,41 +126,40 @@ const tree = ref({
   children: [],
 });
 const reportDetailData = ref([]);
-const pmReportReaders =ref([]) //已读未读集合
+const pmReportReaders = ref([]); //已读未读集合
 const state = reactive({
   loading: true,
-  dataList: [],//日报列表
-  options: {//日报详情参数
+  dataList: [], //日报列表
+  options: {
+    //日报详情参数
     reportId: "",
   },
-  userData:[],//用户列表
-  images:[],//图片列表
-  files:[],//附件列表
+  userData: [], //用户列表
+  images: [], //图片列表
+  files: [], //附件列表
   tabsList: [
     { name: "已读", value: 0 },
     { name: "未读", value: 1 },
   ],
   tabsCurrent: 0,
-
 });
 
-const { dataList, userData,tabsList,tabsCurrent} = toRefs(state);
+const { dataList, userData, tabsList, tabsCurrent } = toRefs(state);
 
 /**
  * @tabs点击事件
  */
- function tabsClick(e) {
+function tabsClick(e) {
   state.tabsCurrent = e.index;
-  reportDetailData.value.treeSelectNodes = proxy.$common.findTreeNodes(tree.value, state.tabsCurrent==0?pmReportReaders.value.readAlready:pmReportReaders.value.readNotAlready);
+  reportDetailData.value.treeSelectNodes = proxy.$common.findTreeNodes(tree.value, state.tabsCurrent == 0 ? pmReportReaders.value.readAlready : pmReportReaders.value.readNotAlready);
 }
-function previewImage(index){
+function previewImage(index) {
   uni.previewImage({
-        current: index, // 当前显示图片索引
-        urls: state.images // 需要预览的图片http链接列表
-      });
+    current: index, // 当前显示图片索引
+    urls: state.images, // 需要预览的图片http链接列表
+  });
 }
 
-
 /**
  * @初始化
  */
@@ -175,28 +170,28 @@ function init() {
   deptUserTreeSelect({ pageNum: "1", pageSize: "1000" }).then((res) => {
     tree.value = res.data;
     projectApi()
-    .ReportRecord({
-      reportId: state.options.reportId,
-      pageNum: 1,
-      pageSize: 1,
-    })
-    .then((requset) => {
-      dataList.value = requset.data.records;
-      state.loading = false;
-      pmReportReaders.value = requset.data.records[0].pmReportReaders;
-      reportDetailData.value.treeSelectNodes = proxy.$common.findTreeNodes(tree.value, tabsCurrent.value==0?pmReportReaders.value.readAlready:pmReportReaders.value.readNotAlready);
-      var imgs = JSON.parse(dataList.value[0].reportImage);
-      var files= JSON.parse(dataList.value[0].reportFile);
-      imgs.forEach(function(item){
-        state.images.push(item.url);
+      .ReportRecord({
+        reportId: state.options.reportId,
+        pageNum: 1,
+        pageSize: 1,
       })
-      files.forEach(function(item){
-        state.files.push(item.url);
+      .then((requset) => {
+        dataList.value = requset.data.records;
+        state.loading = false;
+        pmReportReaders.value = requset.data.records[0].pmReportReaders;
+        reportDetailData.value.treeSelectNodes = proxy.$common.findTreeNodes(tree.value, tabsCurrent.value == 0 ? pmReportReaders.value.readAlready : pmReportReaders.value.readNotAlready);
+        var imgs = JSON.parse(dataList.value[0].reportImage);
+        var files = JSON.parse(dataList.value[0].reportFile);
+        imgs.forEach(function (item) {
+          state.images.push(item.url);
+        });
+        files.forEach(function (item) {
+          state.files.push(item.url);
+        });
       })
-    })
-    .catch((err) => {
-      state.loading = false;
-    });
+      .catch((err) => {
+        state.loading = false;
+      });
   });
 }
 /**
@@ -241,8 +236,8 @@ onUnload(() => {
       margin: auto 0;
     }
     &-avatarImg {
-      width:35px;
-      height:35px;
+      width: 35px;
+      height: 35px;
       border-radius: 4px;
     }
 

+ 70 - 88
src/pages/business/common/projectMange/record/index.vue

@@ -25,10 +25,10 @@
     :isSticky="true"
     :customStyle="{
       //#ifdef APP-PLUS || MP-WEIXIN
-      height: 'calc(100vh - 132px)',
+      height: `calc(100vh - (138px + ${proxy.$settingStore.StatusBarHeight}))`,
       //#endif
       //#ifdef H5
-      height: 'calc(100vh - 132px)',
+      height: `calc(100vh - (138px))`,
       //#endif
     }"
     :refresherLoad="true"
@@ -42,27 +42,25 @@
     :data-theme="'theme-' + proxy.$settingStore.themeColor.name"
   >
     <template #default>
+      <view v-if="timedList.length > 0" @click="goTimingPage()" class="list-cell list-cell-arrow" style="margin: 20px 0; color: rgb(20, 158, 255); background-color: rgba(20, 158, 255, 0.1)">
+        <view style="width: calc(100% - 51px); display: flex; padding-right: 10px">
+          <u-icon name="info-circle" color="#2979ff" size="18" style="margin-right: 5px"></u-icon>
+          <view v-if="timedList.length == 1">您有1条定时日志将于{{ timedList[0].timingTime.slice(0, 16) }}发布</view>
 
-      <view v-if="timedList.length>0" @click="goTimingPage()" class="list-cell list-cell-arrow"  style="margin:20px 0;color:rgb(20, 158, 255);background-color: rgba(20, 158, 255,.1)"  >
-          <view style="width: calc(100% - 51px); display: flex; ; padding-right: 10px"  >
-            <u-icon name="info-circle" color="#2979ff" size="18" style="margin-right: 5px"></u-icon>
-            <view v-if="timedList.length==1">您有1条定时日志将于{{timedList[0].timingTime.slice(0,16)}}发布</view>
-
-            <view v-else >您有{{timedList.length}}条定时日志将于指定时间发布</view>
-          </view>
+          <view v-else>您有{{ timedList.length }}条定时日志将于指定时间发布</view>
+        </view>
       </view>
 
-
       <u-loading-page :loading="state.loading" fontSize="16" style="z-index: 99"></u-loading-page>
       <view class="content-area" v-for="(group, date) in proxy.$common.groupedItems(state.dataList, 'submitDate')" :key="date">
         <view class="content-area-time font14">{{ proxy.$time.jktTimes(date, "否") }}</view>
         <view class="content-area-center bg-white" v-for="(el, ind) in group" :key="ind">
-          <view class="content-area-top menu-item" style="float:right;padding:10px 0px">
+          <view class="content-area-top menu-item" style="float: right; padding: 10px 0px">
             <view class="content-area-top-time"> </view>
             <u-icon class="content-area-top-icon" name="more-dot-fill" size="20" color="#000" @click="moreClick(el)"></u-icon>
           </view>
           <view class="flex mb10" @click="goContentDetails(el)">
-            <img :src="el.avatar"  class="content-area-center-avatarImg mr10" v-if="el.avatar"/>
+            <img :src="el.avatar" class="content-area-center-avatarImg mr10" v-if="el.avatar" />
             <u-avatar
               v-if="!el.avatar"
               class="content-area-center-avatar mr10"
@@ -101,9 +99,8 @@
         overflow: 'hidden',
       }"
     >
-     
       <u-button
-        v-if="state.tabsCurrent ==1"
+        v-if="state.tabsCurrent == 1"
         class="custom-style"
         type="info"
         size="normal"
@@ -132,7 +129,7 @@
         @click="handleSubmit('copy', eventList)"
       ></u-button>
       <u-button
-        v-if="state.tabsCurrent ==1"
+        v-if="state.tabsCurrent == 1"
         class="custom-style"
         type="info"
         size="normal"
@@ -162,13 +159,8 @@
     </view>
   </u-popup>
 
-  
-
-
-
   <uni-popup ref="alertDialog" type="dialog">
-    <uni-popup-dialog :type="state.tip.type" cancelText="取消" confirmText="确定" title="操作提醒" :content="state.tip.content" @confirm="dialogConfirm"
-      @close="dialogClose"></uni-popup-dialog>
+    <uni-popup-dialog :type="state.tip.type" cancelText="取消" confirmText="确定" title="操作提醒" :content="state.tip.content" @confirm="dialogConfirm" @close="dialogClose"></uni-popup-dialog>
   </uni-popup>
 
   <u-modal
@@ -181,7 +173,6 @@
     @cancel="modal.show = false"
     @close="modal.show = false"
   ></u-modal>
-
 </template>
 
 <script setup>
@@ -189,7 +180,7 @@
 import { onLoad, onShow, onReady, onHide, onLaunch, onUnload, onNavigationBarButtonTap, onPageScroll } from "@dcloudio/uni-app";
 import { ref, reactive, computed, getCurrentInstance, toRefs, inject } from "vue";
 /*----------------------------------接口引入-----------------------------------*/
-import { projectApi} from "@/api/business/project.js";
+import { projectApi } from "@/api/business/project.js";
 /*----------------------------------组件引入-----------------------------------*/
 /*----------------------------------store引入-----------------------------------*/
 import { useStores, commonStores } from "@/store/modules/index";
@@ -226,19 +217,18 @@ const state = reactive({
   },
   eventList: {}, //数据存储
 
-
-  reportData:{},
-  tip:{
-    type:undefined,//弹框类型
-    content:"",//提示信息
-    data:{},//带入数据
-    operation:undefined,//操作类型
+  reportData: {},
+  tip: {
+    type: undefined, //弹框类型
+    content: "", //提示信息
+    data: {}, //带入数据
+    operation: undefined, //操作类型
   },
-  timedList:[],
-  tree:[]
+  timedList: [],
+  tree: [],
 });
 
-const { tabsList, tabsCurrent, dataList, pageSize, current, total,popup,eventList,modal,timedList,tree} = toRefs(state);
+const { tabsList, tabsCurrent, dataList, pageSize, current, total, popup, eventList, modal, timedList, tree } = toRefs(state);
 /**
  * 操作弹框提醒
  * @param type  弹框类型
@@ -246,23 +236,23 @@ const { tabsList, tabsCurrent, dataList, pageSize, current, total,popup,eventLis
  * @param item 带入数据
  * @param operation 操作类型
  */
- function tips(type,content,item,operation){
-  state.tip.type=type
-  state.tip.content=content
-  state.tip.data=item
-  state.tip.operation=operation
-  proxy.$refs.alertDialog.open()
+function tips(type, content, item, operation) {
+  state.tip.type = type;
+  state.tip.content = content;
+  state.tip.data = item;
+  state.tip.operation = operation;
+  proxy.$refs.alertDialog.open();
 }
 /**弹框确定操作 */
-function dialogConfirm(){
-  if(state.tip.operation =='delete'){
-    handleSubmit('delete',state.tip.data)
+function dialogConfirm() {
+  if (state.tip.operation == "delete") {
+    handleSubmit("delete", state.tip.data);
   }
-  if(state.tip.operation=='exit'){
-    handleSubmit('exit',state.tip.data)
+  if (state.tip.operation == "exit") {
+    handleSubmit("exit", state.tip.data);
   }
-  if(state.tip.operation=='copy'){
-    handleSubmit('copy',state.tip.data)
+  if (state.tip.operation == "copy") {
+    handleSubmit("copy", state.tip.data);
   }
 }
 /**
@@ -288,36 +278,34 @@ function init() {
       state.total = requset.data.total;
       state.loading = false;
 
-      console.log(state.dataList )
+      console.log(state.dataList);
     })
     .catch((err) => {
       state.loading = false;
     });
-    projectApi()
-    .TimedReports({
-     }).then((requset) => {
+  projectApi()
+    .TimedReports({})
+    .then((requset) => {
       state.timedList = requset.data;
-     })
-    .catch((err) => {
-
     })
-
-  }
+    .catch((err) => {});
+}
 
 /**
  * @跳转详情
  */
 function goContentDetails(e) {
-  if(state.tabsCurrent==0&&e.readFlag!=1){
-    projectApi().ReportRecordReadFlag({ reportId: e.id }).then((res) => {
-      if (res.status == "SUCCESS") {
-        proxy.$tab.navigateTo(`/pages/business/common/projectMange/record/details?reportId=${e.id}`);
-      } else {
-        proxy.$modal.msgError("读取异常");
-      }
-    });
-
-  }else{
+  if (state.tabsCurrent == 0 && e.readFlag != 1) {
+    projectApi()
+      .ReportRecordReadFlag({ reportId: e.id })
+      .then((res) => {
+        if (res.status == "SUCCESS") {
+          proxy.$tab.navigateTo(`/pages/business/common/projectMange/record/details?reportId=${e.id}`);
+        } else {
+          proxy.$modal.msgError("读取异常");
+        }
+      });
+  } else {
     proxy.$tab.navigateTo(`/pages/business/common/projectMange/record/details?reportId=${e.id}`);
   }
 }
@@ -346,9 +334,8 @@ function tabsClick(e) {
   init();
 }
 
-
 // 定时日志页面
-function goTimingPage(){
+function goTimingPage() {
   proxy.$tab.navigateTo(`/pages/business/common/projectMange/record/timingLog`);
 
   // proxy.$tab.navigateTo(`/pages/business/common/projectMange/report/timingLog`);
@@ -359,7 +346,6 @@ function moreClick(event) {
   state.eventList = event;
 }
 
-
 function handleModal(type, content) {
   state.modal.show = true;
   state.modal.type = type;
@@ -367,28 +353,26 @@ function handleModal(type, content) {
 }
 
 /** 编辑、删除日报*/
-function handleSubmit(type,item) {
+function handleSubmit(type, item) {
   if (type === "update") {
     proxy.$tab.navigateTo(`/pages/business/common/projectMange/write/insert?templateId=1&id=${item.id}`);
     state.modal.show = false;
-  }else if (type === "copy") {
-    var workLongString=''
+  } else if (type === "copy") {
+    var workLongString = "";
     item.workContents.forEach((item) => {
-      workLongString+=item.projectName+':'+item.workTime+ "h\n"+item.workContent+ "\n"
-    })
+      workLongString += item.projectName + ":" + item.workTime + "h\n" + item.workContent + "\n";
+    });
     item.ccTo1 = item.ccTo.split(",").map(function (value, index) {
       return Number(value);
     });
 
-     /** 查询树结构用户列表  回显抄送人*/
+    /** 查询树结构用户列表  回显抄送人*/
 
-     item.tomorrowPlan=item.tomorrowPlan?item.tomorrowPlan:'-';
-     item.coordinateWork=item.coordinateWork?item.coordinateWork:'-'
+    item.tomorrowPlan = item.tomorrowPlan ? item.tomorrowPlan : "-";
+    item.coordinateWork = item.coordinateWork ? item.coordinateWork : "-";
     // 触发方法
-      proxy.$common.uniCopy({
-      content: workLongString+ "\n" +
-              "明日计划:\n" + item.tomorrowPlan + "\n" +
-              "工作协调:\n" + item.coordinateWork,
+    proxy.$common.uniCopy({
+      content: workLongString + "\n" + "明日计划:\n" + item.tomorrowPlan + "\n" + "工作协调:\n" + item.coordinateWork,
       success: (res) => {
         uni.showToast({
           title: res,
@@ -404,8 +388,6 @@ function handleSubmit(type,item) {
       },
     });
     state.popup.show = false;
-    
-
   } else if (type === "delete") {
     projectApi()
       .ReportDelete(item.id)
@@ -418,7 +400,7 @@ function handleSubmit(type,item) {
       .catch((errors) => {
         proxy.$modal.msg(errors);
       });
-  } 
+  }
   state.modalShow = false;
 }
 
@@ -465,8 +447,8 @@ onUnload(() => {
       margin: auto 0;
     }
     &-avatarImg {
-      width:35px;
-      height:35px;
+      width: 35px;
+      height: 35px;
       border-radius: 4px;
     }
 
@@ -478,12 +460,12 @@ onUnload(() => {
   }
 }
 
-.pp{
+.pp {
   text-align: left;
 }
 </style>
 <style>
-.pp .u-modal__content{
-  justify-content: left !important
+.pp .u-modal__content {
+  justify-content: left !important;
 }
 </style>

+ 1 - 0
src/pages/business/common/videoMonitor/videoDetail.vue

@@ -1,6 +1,7 @@
 <template>
   <oa-scroll
     customClass="videoDetail-container scroll-height"
+    :isSticky="false"
     :refresherLoad="false"
     :refresherEnabled="false"
     :refresherEnabledTitle="false"

+ 1 - 1
src/pages/business/common/videoMonitor/videoList.vue

@@ -3,11 +3,11 @@
     customClass="repairManage-container scroll-height"
     :pageSize="state.pageSize"
     :total="state.total"
+    :isSticky="false"
     :refresherLoad="true"
     :refresherEnabled="true"
     :refresherDefaultStyle="'none'"
     :refresherThreshold="44"
-    :lowerThreshold="44"
     :refresherBackground="'#f5f6f7'"
     @load="load"
     @refresh="refresh"

+ 1 - 0
src/pages/business/fireIot/alarmManage/alarmDetails/index.vue

@@ -1,6 +1,7 @@
 <template>
   <oa-scroll
     customClass="alarmDetails-container scroll-height"
+    :isSticky="false"
     :refresherLoad="false"
     :refresherEnabled="false"
     :refresherEnabledTitle="false"

+ 0 - 1
src/pages/business/fireIot/alarmManage/alarmDetailsList/index.vue

@@ -20,7 +20,6 @@
     :refresherEnabled="true"
     :refresherDefaultStyle="'none'"
     :refresherThreshold="44"
-    :lowerThreshold="44"
     :refresherBackground="'#f5f6f7'"
     @load="load"
     @refresh="refresh"

+ 1 - 0
src/pages/business/fireIot/alarmManage/index.vue

@@ -3,6 +3,7 @@
     customClass="bg-white scroll-height"
     :pageSize="pageSize"
     :total="total"
+    :isSticky="false"
     :refresherLoad="true"
     :refresherLoadTitle="false"
     :refresherEnabled="true"

+ 1 - 0
src/pages/business/fireIot/customManage/index.vue

@@ -3,6 +3,7 @@
     customClass="customManage-container scroll-height"
     :pageSize="pageSize"
     :total="total"
+    :isSticky="false"
     :refresherLoad="true"
     :refresherEnabled="true"
     :refresherDefaultStyle="'none'"

+ 1 - 0
src/pages/business/fireIot/deviceManage/components/deviceDetails.vue

@@ -1,6 +1,7 @@
 <template>
   <oa-scroll
     customClass="deviceDetails-container scroll-height"
+    :isSticky="false"
     :refresherLoad="false"
     :refresherEnabled="false"
     :refresherEnabledTitle="false"

+ 1 - 0
src/pages/business/fireIot/deviceManage/components/deviceDetailsList.vue

@@ -3,6 +3,7 @@
     customClass="scroll-height"
     :pageSize="pageSize"
     :total="total"
+    :isSticky="false"
     :refresherLoad="true"
     :refresherEnabled="true"
     :refresherDefaultStyle="'none'"

+ 1 - 0
src/pages/business/fireIot/deviceManage/index.vue

@@ -3,6 +3,7 @@
     customClass="bg-white scroll-height"
     :pageSize="pageSize"
     :total="total"
+    :isSticky="false"
     :refresherLoad="true"
     :refresherLoadTitle="false"
     :refresherEnabled="true"

+ 1 - 0
src/pages/business/fireIot/facilitiesGather/index.vue

@@ -3,6 +3,7 @@
     id="facilitiesGather"
     customClass="scroll-height"
     :customStyle="{}"
+    :isSticky="false"
     :refresherLoad="false"
     :refresherEnabled="false"
     :refresherDefaultStyle="'none'"

+ 19 - 2
src/pages/business/fireIot/facilitiesManage/facilitiesDetails.vue

@@ -1,6 +1,7 @@
 <template>
   <oa-scroll
     customClass="facilitiesDetails-container scroll-height"
+    :isSticky="false"
     :refresherLoad="false"
     :refresherEnabled="false"
     :refresherEnabledTitle="false"
@@ -46,7 +47,15 @@
         <uni-section class="block mb10" title="关联设备" type="line"></uni-section>
 
         <view class="flex mb10" style="height: 35px; line-height: 35px">
-          <u-input v-model="state.deviceId" placeholder="设备编号" @change="deviceInfoApi()" disabledColor="transparent" prefixIcon="search" prefixIconStyle="font-size: 22px;color: #909399" clearable />
+          <u-input
+            v-model="state.deviceId"
+            placeholder="设备编号"
+            @change="deviceInfoApi()"
+            disabledColor="transparent"
+            prefixIcon="search"
+            prefixIconStyle="font-size: 22px;color: #909399"
+            clearable
+          />
         </view>
 
         <view class="tableType1">
@@ -85,7 +94,15 @@
         <uni-section class="block mb10" title="关联建筑" type="line"></uni-section>
 
         <view class="flex mb10" style="height: 35px; line-height: 35px">
-          <u-input v-model="state.buildNum" placeholder="建筑编号" @change="buildInfoApi()" disabledColor="transparent" prefixIcon="search" prefixIconStyle="font-size: 22px;color: #909399" clearable />
+          <u-input
+            v-model="state.buildNum"
+            placeholder="建筑编号"
+            @change="buildInfoApi()"
+            disabledColor="transparent"
+            prefixIcon="search"
+            prefixIconStyle="font-size: 22px;color: #909399"
+            clearable
+          />
         </view>
 
         <view class="tableType1">

+ 1 - 0
src/pages/business/fireIot/facilitiesManage/facilitiesDetailsList.vue

@@ -3,6 +3,7 @@
     customClass="scroll-height"
     :pageSize="pageSize"
     :total="total"
+    :isSticky="false"
     :refresherLoad="true"
     :refresherEnabled="true"
     :refresherDefaultStyle="'none'"

+ 1 - 0
src/pages/business/fireIot/facilitiesManage/index.vue

@@ -1,6 +1,7 @@
 <template>
   <oa-scroll
     customClass="scroll-height"
+    :isSticky="false"
     :refresherLoad="false"
     :refresherLoadTitle="false"
     :refresherEnabled="true"

+ 1 - 0
src/pages/business/fireIot/repairManage/index.vue

@@ -3,6 +3,7 @@
     customClass="bg-white scroll-height"
     :pageSize="pageSize"
     :total="total"
+    :isSticky="false"
     :refresherLoad="true"
     :refresherLoadTitle="false"
     :refresherEnabled="true"

+ 1 - 0
src/pages/business/fireIot/repairManage/repairDetails.vue

@@ -1,6 +1,7 @@
 <template>
   <oa-scroll
     customClass="repairDetails-container scroll-height"
+    :isSticky="false"
     :refresherLoad="false"
     :refresherEnabled="false"
     :refresherEnabledTitle="false"

+ 0 - 1
src/pages/business/fireIot/repairManage/repairDetailsList.vue

@@ -20,7 +20,6 @@
     :refresherEnabled="true"
     :refresherDefaultStyle="'none'"
     :refresherThreshold="44"
-    :lowerThreshold="44"
     :refresherBackground="'#f5f6f7'"
     @load="load"
     @refresh="refresh"

+ 1 - 0
src/pages/business/fireIot/repairReport/index.vue

@@ -2,6 +2,7 @@
   <oa-scroll
     customClass="scroll-height"
     :customStyle="{}"
+    :isSticky="false"
     :refresherLoad="false"
     :refresherEnabled="false"
     :refresherDefaultStyle="'none'"

+ 1 - 0
src/pages/business/fireIot/repairReport/record.vue

@@ -4,6 +4,7 @@
     customClass="repairReport-record-container scroll-height"
     :pageSize="pageSize"
     :total="total"
+    :isSticky="false"
     :refresherLoad="true"
     :refresherEnabled="true"
     :refresherDefaultStyle="'none'"

+ 1 - 0
src/pages/business/mhxf/fireReport/index.vue

@@ -3,6 +3,7 @@
     customClass="scroll-height"
     :pageSize="pageSize"
     :total="total"
+    :isSticky="false"
     :refresherLoad="true"
     :refresherEnabled="true"
     :refresherDefaultStyle="'none'"

+ 1 - 0
src/pages/business/zhaf/xunJian/collect/components/collectDetail.vue

@@ -1,6 +1,7 @@
 <template>
   <oa-scroll
     customClass="scroll-height"
+    :isSticky="false"
     :refresherLoad="false"
     :refresherEnabled="false"
     :refresherEnabledTitle="false"

+ 1 - 0
src/pages/business/zhaf/xunJian/collect/index.vue

@@ -13,6 +13,7 @@
   <oa-scroll
     customClass="scroll-height"
     :total="xunJianStore.collectDataList.length"
+    :isSticky="false"
     :refresherEnabled="true"
     :refresherEnabledTitle="true"
     :refresherDefaultStyle="'none'"

+ 0 - 1
src/pages/business/zhxf/fireInspect/inspectDetailsList/index.vue

@@ -20,7 +20,6 @@
     :refresherEnabled="true"
     :refresherDefaultStyle="'none'"
     :refresherThreshold="44"
-    :lowerThreshold="44"
     :refresherBackground="'#f5f6f7'"
     @load="load"
     @refresh="refresh"

+ 0 - 1
src/pages/common/appMessage/index.vue

@@ -7,7 +7,6 @@
     :refresherEnabled="true"
     :refresherDefaultStyle="'none'"
     :refresherThreshold="44"
-    :lowerThreshold="44"
     :refresherBackground="'#f5f6f7'"
     @load="load"
     @refresh="refresh"

+ 1 - 1
src/pages/common/searchSelect/index.vue

@@ -9,7 +9,7 @@
 
   <oa-scroll
     customClass="info-container scroll-height"
-    :customStyle="{ height: `calc(100vh - (${proxy.$settingStore.barHightTop} + ${proxy.$settingStore.tabBarHeight}))` }"
+    :customStyle="{ height: `calc(100vh - (44px + ${proxy.$settingStore.StatusBarHeight} + ${proxy.$settingStore.tabBarHeight}))` }"
     :refresherLoad="false"
     :refresherEnabled="false"
     :refresherEnabledTitle="false"

+ 2 - 2
src/pages/index.vue

@@ -19,7 +19,7 @@
 
   <oa-scroll
     customClass="scroll-height"
-    :customStyle="{ height: `calc(100vh - (50px + ${proxy.$settingStore.barHightTop} + ${proxy.$settingStore.tabBarHeight}))` }"
+    :customStyle="{ height: `calc(100vh - (94px + ${proxy.$settingStore.StatusBarHeight} + ${proxy.$settingStore.tabBarHeight}))` }"
     :refresherLoad="false"
     :refresherEnabled="true"
     :refresherEnabledTitle="false"
@@ -33,7 +33,7 @@
         <!-- 右侧弹窗 -->
         <u-transition :show="dialogFlag" :duration="200" mode="fade">
           <view class="transition" @click="rightButtonClick()">
-            <view class="transition-section" :style="{ top: proxy.$settingStore.barHightTop }">
+            <view class="transition-section" :style="{ top: '44px' + proxy.$settingStore.StatusBarHeight }">
               <view class="transition-section-content" @click="scanCode()">
                 <text class="transition-section-content-icon iconfont oaIcon-saoyisao"></text>
                 <view class="transition-section-content-text"> 扫一扫 </view>

+ 1 - 1
src/pages/info.vue

@@ -26,7 +26,7 @@
 
   <oa-scroll
     customClass="info-container scroll-height bg-white"
-    :customStyle="{ height: `calc(100vh - (50px + ${proxy.$settingStore.barHightTop} + ${proxy.$settingStore.tabBarHeight}))`, position: 'relative' }"
+    :customStyle="{ height: `calc(100vh - (94px + ${proxy.$settingStore.StatusBarHeight} + ${proxy.$settingStore.tabBarHeight}))`, position: 'relative' }"
     :refresherLoad="false"
     :refresherEnabled="true"
     :refresherEnabledTitle="false"

+ 1 - 1
src/pages/mine/info/index.vue

@@ -65,7 +65,7 @@
       </view>
     </view>
 
-    <!-- <view class="user-section" :class="'bg-' + proxy.$settingStore.themeColor.name" :style="{ paddingTop: proxy.$settingStore.barHightTop }">
+    <!-- <view class="user-section" :class="'bg-' + proxy.$settingStore.themeColor.name" :style="{ paddingTop: '44px' + proxy.$settingStore.StatusBarHeight }">
       <image class="bg" src="@/static/images/mine/user-bg.png"></image>
       <view class="portrait-box">
         <image v-if="!avatar" @click="proxy.$settingStore.handleToAvatar(1)" class="portrait" src="@/static/images/mine/missing-face.png"></image>

+ 2 - 4
src/store/modules/setting.js

@@ -20,9 +20,8 @@ const settingStores = defineStore("storage-setting", {
         currentSize: "",//APP缓存
         barHeight: 0,//微信小程序顶部安全距离
         webViewHeight: "",//webView整体高度-铺满
-        StatusBar: 0,//APP顶部安全距离
+        StatusBarHeight: "",//APP顶部安全距离
         tabBarHeight: "",//APP底部安全距离
-        barHightTop: "",//APP头部计算距离
         deviceList: {
             networkType: null, //网络类型
             deviceBrand: null, //设备品牌
@@ -46,9 +45,8 @@ const settingStores = defineStore("storage-setting", {
         systemHeightTop() {
             let systemInfo = uni.getSystemInfoSync();
             this.webViewHeight = systemInfo.safeArea.bottom  //高度+安全区域的高度
-            this.StatusBar = systemInfo.statusBarHeight
+            this.StatusBarHeight = systemInfo.statusBarHeight + "px"
             this.tabBarHeight = common.isWechatMp() ? "0px" : systemInfo.screenHeight - systemInfo.safeArea.bottom + "px"
-            this.barHightTop = this.StatusBar ? this.StatusBar + 44 + 'px' : '44px'
 
             //#ifdef MP
             let custom = wx.getMenuButtonBoundingClientRect();