ZaiZai 2 年 前
コミット
bdc30b7650
2 ファイル変更47 行追加39 行削除
  1. 40 37
      pages/task/index.vue
  2. 7 2
      style/task/index.scss

+ 40 - 37
pages/task/index.vue

@@ -1,6 +1,6 @@
 <template>
-    <hc-sys id="app-sys" class="h-100vh hc-task-page" navBarUi="hc-task-nav-bar">
-        <template #navBar>
+    <hc-sys id="app-sys" class="h-100vh hc-task-page" :isNavBar="false">
+        <view id="hc-task-nav-bar" class="hc-task-nav-bar">
             <view class="task-nav-bar">
                 <view class="segmented-bar">
                     <template v-for="item in taskTypeData">
@@ -14,36 +14,36 @@
                     <text class="i-ri-more-2-fill icon"/>
                 </view>
             </view>
-        </template>
-        <view id="controls-bar" class="controls-bar-box">
-            <view class="controls-bar">
-                <view class="left">
-                    <text class="i-ri-filter-fill icon" :class="isControlsFilter?'cur':''" @click="dateFilterClick"/>
-                    <text class="i-ri-filter-off-fill icon" @click="dateFilterClear"/>
-                </view>
-                <view class="right">
-                    <text class="i-ri-sort-desc icon" :class="searchForm.ordType === 1?'cur':''" @click="changeOrdType(1)"/>
-                    <text class="i-ri-sort-asc icon" :class="searchForm.ordType === 2?'cur':''" @click="changeOrdType(2)"/>
-                </view>
-            </view>
-            <view class="controls-filter" v-if="isControlsFilter">
-                <view class="search-form-date">
-                    <picker class="search-date-input" mode="date" :value="searchForm.startTime" @change="startDateChange">
-                        <view class="content">
-                            <view class="text">{{searchForm.startTime??'点此选择开始日期'}}</view>
-                            <text class="i-ri-close-circle-line icon" v-if="searchForm.startTime" @click.stop="startDateClear"/>
-                        </view>
-                    </picker>
+            <view class="controls-bar-box">
+                <view class="controls-bar">
+                    <view class="left">
+                        <text class="i-ri-filter-fill icon" :class="isControlsFilter?'cur':''" @click="dateFilterClick"/>
+                        <text class="i-ri-filter-off-fill icon" @click="dateFilterClear"/>
+                    </view>
+                    <view class="right">
+                        <text class="i-ri-sort-desc icon" :class="searchForm.ordType === 1?'cur':''" @click="changeOrdType(1)"/>
+                        <text class="i-ri-sort-asc icon" :class="searchForm.ordType === 2?'cur':''" @click="changeOrdType(2)"/>
+                    </view>
                 </view>
-                <view class="search-form-date">
-                    <picker class="search-date-input" mode="date" :value="searchForm.endTime" @change="endDateChange">
-                        <view class="content">
-                            <view class="text">{{searchForm.endTime??'点此选择结束日期'}}</view>
-                            <text class="i-ri-close-circle-line icon" v-if="searchForm.endTime" @click.stop="endDateClear"/>
-                        </view>
-                    </picker>
+                <view class="controls-filter" v-if="isControlsFilter">
+                    <view class="search-form-date">
+                        <picker class="search-date-input" mode="date" :value="searchForm.startTime" @change="startDateChange">
+                            <view class="content">
+                                <view class="text">{{searchForm.startTime??'点此选择开始日期'}}</view>
+                                <text class="i-ri-close-circle-line icon" v-if="searchForm.startTime" @click.stop="startDateClear"/>
+                            </view>
+                        </picker>
+                    </view>
+                    <view class="search-form-date">
+                        <picker class="search-date-input" mode="date" :value="searchForm.endTime" @change="endDateChange">
+                            <view class="content">
+                                <view class="text">{{searchForm.endTime??'点此选择结束日期'}}</view>
+                                <text class="i-ri-close-circle-line icon" v-if="searchForm.endTime" @click.stop="endDateClear"/>
+                            </view>
+                        </picker>
+                    </view>
+                    <button class="search-form-btn" type="primary" size="mini" @click="searchClick">查询</button>
                 </view>
-                <button class="search-form-btn" type="primary" size="mini" @click="searchClick">查询</button>
             </view>
         </view>
         <!--下拉刷新区域-->
@@ -118,20 +118,22 @@ const pagingStyle = ref({
 })
 const setPagingStyle = async () => {
     const {height: appHeight} = await querySelect(instance, 'app-sys')
-    const {height: navHeight} = await querySelect(instance, 'hc-nav-bar')
-    const {height: controlsHeight} = await querySelect(instance, 'controls-bar')
+    const {height: navHeight} = await querySelect(instance, 'hc-task-nav-bar')
     const {height: bottomHeight} = await querySelect(instance, 'hc-bottom-bar')
     const {height: bottomBtnHeight} = await querySelect(instance, 'hc-bottom-btn-bar')
-    let content = navHeight + controlsHeight + bottomHeight + bottomBtnHeight
+    // #ifdef H5
+    let content = navHeight + bottomHeight + bottomBtnHeight
+    pagingStyle.value.height = (appHeight - content) + 'px'
+    // #endif
     // #ifdef APP-PLUS
-    const {statusBarHeight} = uni.getSystemInfoSync()
-    content = navHeight + controlsHeight + bottomHeight + bottomBtnHeight + statusBarHeight
+    const {screenHeight, safeArea} = uni.getWindowInfo()
+    content = navHeight + (screenHeight - safeArea.bottom) + bottomBtnHeight
+    pagingStyle.value.height = (screenHeight - content) + 'px'
     // #endif
-    pagingStyle.value.height = (appHeight - content) + 'px'
 }
 
 //顶部类型切换
-const taskType = ref(2)
+const taskType = ref(1)
 const taskTypeData = [
     {key: 1, name: '我的审批'},
     {key: 2, name: '我发起的'},
@@ -160,6 +162,7 @@ const dateFilterClear = () => {
     isControlsFilter.value = false
     searchForm.value.startTime = null
     searchForm.value.endTime = null
+    setPagingStyle()
     searchClick()
 }
 

+ 7 - 2
style/task/index.scss

@@ -1,14 +1,19 @@
 .hc-task-page {
-    :deep(.hc-task-nav-bar) {
+    .hc-task-nav-bar {
+        position: sticky;
+        top: 0;
+        right: 0;
+        left: 0;
         background: #554D84;
-        color: white;
         padding-top: calc(var(--status-bar-height) + 10rpx);
+        z-index: 8090;
     }
     .task-nav-bar {
         position: relative;
         display: flex;
         align-items: center;
         padding: .6rem .9rem;
+        color: white;
         .segmented-bar {
             position: relative;
             display: flex;