|
@@ -7,10 +7,11 @@
|
|
|
<image class="logo" :src="customInfo.smallAvatar"/>
|
|
<image class="logo" :src="customInfo.smallAvatar"/>
|
|
|
<text class="name">{{ customInfo.name || "" }}</text>
|
|
<text class="name">{{ customInfo.name || "" }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
- <DateSelect class="bar" top="0" @selectDateFn="selectDateFn" defaultShowName='时间' />
|
|
|
|
|
|
|
+ <!-- 占位:真正的时间筛选挂在页面根节点,避免把日历嵌进 overflow 滚动层 -->
|
|
|
|
|
+ <view class="date-select-hold"></view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="shop-list">
|
|
|
|
|
|
|
+ <view class="shop-list" :class="{ 'is-covered': dateOverlayVisible }">
|
|
|
<view class="debt-multi-page-tip" v-if="debtTotalPage > 1">
|
|
<view class="debt-multi-page-tip" v-if="debtTotalPage > 1">
|
|
|
<text class="debt-multi-page-tip__text">注意账单有多页,请翻页查看</text>
|
|
<text class="debt-multi-page-tip__text">注意账单有多页,请翻页查看</text>
|
|
|
</view>
|
|
</view>
|
|
@@ -21,7 +22,7 @@
|
|
|
<AppWrapperEmpty title="暂无数据" :is-empty="$util.isEmpty(detailsList)" />
|
|
<AppWrapperEmpty title="暂无数据" :is-empty="$util.isEmpty(detailsList)" />
|
|
|
</block>
|
|
</block>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="page-footer-fixed">
|
|
|
|
|
|
|
+ <view class="page-footer-fixed" :class="{ 'is-covered': dateOverlayVisible }">
|
|
|
<DebtListPager
|
|
<DebtListPager
|
|
|
:page="debtPage"
|
|
:page="debtPage"
|
|
|
:page-size="debtPageSize"
|
|
:page-size="debtPageSize"
|
|
@@ -52,9 +53,17 @@
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
+ <!-- App 端 overflow 滚动层会盖住嵌在顶栏里的日历,筛选弹层必须放在滚动容器外 -->
|
|
|
|
|
+ <view class="date-select-layer" :class="{ 'is-open': dateOverlayVisible }">
|
|
|
|
|
+ <DateSelect class="bar" top="0" defaultShowName="时间" @selectDateFn="selectDateFn" @overlay-change="onDateOverlayChange" />
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
</template>
|
|
</template>
|
|
|
<script>
|
|
<script>
|
|
|
|
|
+/**
|
|
|
|
|
+ * 供货商 App 挂账订单明细:按客户勾选欠款单并创建结账单。
|
|
|
|
|
+ * 时间筛选弹层挂在页面根节点,避免 App 端 overflow 滚动把日历压在订单列表下面。
|
|
|
|
|
+ */
|
|
|
import AppWrapperEmpty from "@/components/app-wrapper-empty";
|
|
import AppWrapperEmpty from "@/components/app-wrapper-empty";
|
|
|
import DetailsItem from "./detailsItem";
|
|
import DetailsItem from "./detailsItem";
|
|
|
import DebtListPager from "@/components/module/debt-list-pager";
|
|
import DebtListPager from "@/components/module/debt-list-pager";
|
|
@@ -80,7 +89,8 @@ export default {
|
|
|
searchTime:'',
|
|
searchTime:'',
|
|
|
startTime:'',
|
|
startTime:'',
|
|
|
endTime:'',
|
|
endTime:'',
|
|
|
- unClear:[]
|
|
|
|
|
|
|
+ unClear:[],
|
|
|
|
|
+ dateOverlayVisible: false
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
onPullDownRefresh() {
|
|
onPullDownRefresh() {
|
|
@@ -161,6 +171,10 @@ export default {
|
|
|
}
|
|
}
|
|
|
this.isModel = true;
|
|
this.isModel = true;
|
|
|
},
|
|
},
|
|
|
|
|
+ onDateOverlayChange(visible) {
|
|
|
|
|
+ // App 端隐藏列表和底栏,避免原生滚动层/button 仍浮在日历上
|
|
|
|
|
+ this.dateOverlayVisible = !!visible
|
|
|
|
|
+ },
|
|
|
selectDateFn(val){
|
|
selectDateFn(val){
|
|
|
this.searchTime = val.searchTime
|
|
this.searchTime = val.searchTime
|
|
|
this.startTime = val.startTime
|
|
this.startTime = val.startTime
|
|
@@ -295,6 +309,10 @@ export default {
|
|
|
font-weight: 400;
|
|
font-weight: 400;
|
|
|
color: #999999;
|
|
color: #999999;
|
|
|
}
|
|
}
|
|
|
|
|
+ .date-select-hold {
|
|
|
|
|
+ min-width: 140upx;
|
|
|
|
|
+ height: 40upx;
|
|
|
|
|
+ }
|
|
|
.info-item {
|
|
.info-item {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
@@ -322,6 +340,13 @@ export default {
|
|
|
padding: 20upx 30upx;
|
|
padding: 20upx 30upx;
|
|
|
flex: 1;
|
|
flex: 1;
|
|
|
padding-bottom: 420upx;
|
|
padding-bottom: 420upx;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ z-index: 1;
|
|
|
|
|
+ &.is-covered {
|
|
|
|
|
+ /* #ifdef APP-PLUS */
|
|
|
|
|
+ visibility: hidden;
|
|
|
|
|
+ /* #endif */
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
.debt-multi-page-tip {
|
|
.debt-multi-page-tip {
|
|
|
margin-bottom: 16upx;
|
|
margin-bottom: 16upx;
|
|
@@ -347,6 +372,11 @@ export default {
|
|
|
box-shadow: 0upx -1upx 6upx 0upx rgba(4, 0, 0, 0.06);
|
|
box-shadow: 0upx -1upx 6upx 0upx rgba(4, 0, 0, 0.06);
|
|
|
padding-bottom: constant(safe-area-inset-bottom);
|
|
padding-bottom: constant(safe-area-inset-bottom);
|
|
|
padding-bottom: env(safe-area-inset-bottom);
|
|
padding-bottom: env(safe-area-inset-bottom);
|
|
|
|
|
+ &.is-covered {
|
|
|
|
|
+ /* #ifdef APP-PLUS */
|
|
|
|
|
+ visibility: hidden;
|
|
|
|
|
+ /* #endif */
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
.unclear-notice {
|
|
.unclear-notice {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
@@ -409,4 +439,28 @@ export default {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+.date-select-layer {
|
|
|
|
|
+ position: fixed;
|
|
|
|
|
+ top: 0;
|
|
|
|
|
+ left: 0;
|
|
|
|
|
+ right: 0;
|
|
|
|
|
+ z-index: 10000;
|
|
|
|
|
+ height: 98upx;
|
|
|
|
|
+ padding: 0 30upx;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: flex-end;
|
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
|
+ pointer-events: none;
|
|
|
|
|
+ /* 打开弹层时撑满视口,App 端日历才不会从矮容器里「溢出」后被列表盖住 */
|
|
|
|
|
+ &.is-open {
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
+ bottom: 0;
|
|
|
|
|
+ align-items: flex-start;
|
|
|
|
|
+ padding-top: 30upx;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+.date-select-layer ::v-deep .select-bg_bx {
|
|
|
|
|
+ pointer-events: auto;
|
|
|
|
|
+}
|
|
|
</style>
|
|
</style>
|