Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
W
wly-APP
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘川
wly-APP
Commits
3fe467ff
Commit
3fe467ff
authored
Dec 29, 2025
by
chicheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
票账管理页面调整
parent
95bada66
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
158 additions
and
149 deletions
+158
-149
invoice-query.nvue
pages/billing-invoice/invoice-query.nvue
+73
-98
market-support-query.nvue
pages/billing-invoice/market-support-query.nvue
+85
-51
No files found.
pages/billing-invoice/invoice-query.nvue
View file @
3fe467ff
...
...
@@ -5,42 +5,37 @@
<image class="header-bg-img" src="@/static/image/nav_bg@3x.png" mode="scaleToFill"></image>
</view>
<view class="main">
<view class="list-wrapper" :style="scrollHeight">
<list class="list" scrollable loadmoreoffset='1' show-scrollbar='false' @loadmore="scrolltolower">
<scroll-view :style='scrollHeight' class="scroll-area" scroll-y="true" lower-threshold='150'
@scrolltolower='scrolltolower'>
<list class="scroll-area view" loadmoreoffset='100' show-scrollbar='false' @loadmore="scrolltolower">
<cell class="list-cell" v-for="(item,index) in lists" :key="index">
<view class="listview">
<view class="cell-list">
<view class="middle view planout-block-item">
<view class="item-block item-block-code">
<text class="item-block-label">开票方编号:{{item.billto_bp}}</text>
</view>
<view class="item-block item-block-name">
<text class="item-block-label item-block__label">{{item.billto_name}}</text>
</view>
<view class="item-block item-block-date">
<text class="detal-item-label">发生日期:{{item.posting_date}}</text>
</view>
<view class="block-detal block-detal-last">
<view class="block-detal-item">
<text class="detal-item-label">货款金额</text>
<text class="detal-item-value">{{item.goods_amount}}</text>
</view>
<view class="block-detal-item">
<text class="detal-item-label">随货保证金</text>
<text class="detal-item-value">{{item.forward_amount}}</text>
</view>
<view class="block-detal-item block-detal-item-last">
<text class="detal-item-label">经销商保证金</text>
<text class="detal-item-value">{{item.dealing_amount}}</text>
</view>
</view>
</view>
<view class="middle view planout-block-item">
<view class="text-block">
<text class="middle-date">开票方编号</text>
<text class="middle-date-des">{{item.billto_bp}}</text>
</view>
<view class="text-block">
<text class="middle-date">客户名称</text>
<text class="middle-date-des">{{item.billto_name}}</text>
</view>
<view class="text-block">
<text class="middle-date">发生日期</text>
<text class="middle-date-des">{{item.posting_date}}</text>
</view>
<view class="text-block">
<text class="middle-date">货款金额</text>
<text class="middle-date-des">{{item.goods_amount}}</text>
</view>
<view class="text-block">
<text class="middle-date">随货保证金</text>
<text class="middle-date-des">{{item.forward_amount}}</text>
</view>
<view class="text-block text-block-last">
<text class="middle-date">经销商保证金</text>
<text class="middle-date-des">{{item.dealing_amount}}</text>
</view>
</view>
<view class="empty-block">
</view>
<view class="empty-block"></view>
</cell>
<cell>
<view class="loading-more" v-if='lists.length>0'>
...
...
@@ -51,7 +46,7 @@
</view>
</cell>
</list>
</view>
</
scroll-
view>
</view>
</view>
</template>
...
...
@@ -93,7 +88,7 @@
},
scrollHeight() {
return {
'height': `${this.sysinfo.safeArea.height
-58}px`,
'height': `${this.sysinfo.safeArea.height
- 180 - 44}px`
}
},
...mapState(['sysinfo', 'userInfo', 'userBpData'])
...
...
@@ -174,98 +169,78 @@
/* #endif */
.lists {
flex: 1;
background: #F2F3F5;
position: relative;
flex-direction: column;
overflow-y: scroll;
background: #f0f4f5;
overflow-x: hidden;
}
.header-bg {
position: absolute;
left: 0;
right: 0;
height: 382rpx;
height: 284rpx;
margin-top: -88rpx;
}
.header-bg-img {
width: 750rpx;
height: 382rpx;
}
.main {
flex: 1;
padding: 0 32rpx;
margin-top: 100rpx;
}
.list-wrapper {
flex: 1;
}
.list {
flex: 1;
}
.listview {
position: relative;
flex-direction: column;
background-color: #FFFFFF;
border-radius: 10rpx;
margin-bottom: 24rpx;
padding: 24rpx;
margin-top: -164rpx;
padding: 0 16rpx;
}
.
cell-list
{
flex-direction: column
;
.
scroll-area
{
overflow-y: scroll
;
}
.
planout-block-item
{
.
view
{
flex-direction: column;
}
.item-block {
flex-direction: row;
align-items: center;
margin-bottom: 16rpx;
}
.item-block-code {
justify-content: space-between;
}
.item-block-label {
font-size: 28rpx;
color: #333333;
.middle {
background-color: #fff;
border-radius: 16rpx;
padding: 32rpx 64rpx 32rpx 48rpx;
}
.item-block__label {
font-weight: bold;
font-size: 32rpx;
.text-block {
display: flex;
overflow: hidden;
height: 96rpx;
margin-bottom: 14rpx;
border-bottom: 1px solid #f4f5f6;
}
.item-block-date {
margin-bottom: 24rpx;
.text-block-last {
margin-bottom: 0;
border-bottom: 0;
}
.detal-item-label {
font-size: 24rpx;
color: #999999;
.middle-date {
flex: 2;
font-size: 28rpx;
line-height: 96rpx;
color: #333;
}
.block-detal {
flex-direction: row;
background-color: #F8F8F8;
padding: 24rpx;
border-radius: 8rpx;
.middle-date-des {
flex: 3;
font-size: 28rpx;
line-height: 96rpx;
height: 96rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #888;
}
.
block-detal
-item {
.
planout-block
-item {
flex: 1;
align-items: center;
}
.detal-item-value {
font-size: 28rpx;
color: #333333;
margin-top: 8rpx;
font-weight: bold;
width: 750rpx;
margin-bottom: 26rpx;
}
.loading-more {
...
...
pages/billing-invoice/market-support-query.nvue
View file @
3fe467ff
...
...
@@ -31,7 +31,7 @@
</view>
</view>
</view>
<view class="text-block" v-if="condition.option === 'BT'">
<view class="text-block" v-if="condition.option === 'BT'"
key="start-date"
>
<text class="middle-date">开始日期</text>
<view class="middle-date-des">
<view class="picker-year">
...
...
@@ -47,7 +47,7 @@
</view>
</view>
</view>
<view class="text-block text-block-last" v-if="condition.option === 'BT'">
<view class="text-block text-block-last" v-if="condition.option === 'BT'"
key="end-date"
>
<text class="middle-date">结束日期</text>
<view class="middle-date-des">
<view class="picker-year">
...
...
@@ -69,44 +69,43 @@
<text class="btn-text">查询</text>
</button>
</view>
<scroll-view :style='scrollHeight' class="scroll-area" scroll-y="true" lower-threshold='150'
@scrolltolower='scrolltolower'>
<list class="scroll-area view" loadmoreoffset='100' show-scrollbar='false' @loadmore="scrolltolower">
<cell class="list-cell" v-for="(item,index) in lists" :key='index'>
<view class="middle view planout-block-item">
<view class="text-block">
<text class="middle-date middle-date-select">客户编码</text>
<text class="middle-date-des middle-date-des-select">{{item.billto_bp}}</text>
</view>
<view class="text-block">
<text class="middle-date middle-date-select">客户名称</text>
<text class="middle-date-des middle-date-des-select">{{item.billto_name}}</text>
</view>
<view class="text-block">
<text class="middle-date middle-date-select">上账日期</text>
<text class="middle-date-des middle-date-des-select">{{item.posting_date}}</text>
</view>
<view class="text-block">
<text class="middle-date middle-date-select">摘要</text>
<text class="middle-date-des middle-date-des-select">{{item.zy}}</text>
</view>
<view class="text-block text-block-last">
<text class="middle-date middle-date-select">金额</text>
<text class="middle-date-des middle-date-des-select">{{item.forward_amount}}</text>
</view>
<list :style='scrollHeight' class="scroll-area view" scrollable loadmoreoffset='100' show-scrollbar='false' @loadmore="scrolltolower">
<cell class="list-cell" v-for="(item,index) in lists" :key='index'>
<view class="middle view planout-block-item">
<view class="text-block">
<text class="middle-date middle-date-select">客户编码</text>
<text class="middle-date-des middle-date-des-select">{{item.billto_bp}}</text>
</view>
<view class="text-block">
<text class="middle-date middle-date-select">客户名称</text>
<text class="middle-date-des middle-date-des-select">{{item.billto_name}}</text>
</view>
<view class="empty-block"></view>
</cell>
<cell>
<view class="loading-more" v-if='lists.length>0'>
<text class="loading-more-text">-- 到底了 --</text>
<view class="text-block">
<text class="middle-date middle-date-select">上账日期</text>
<text class="middle-date-des middle-date-des-select">{{item.posting_date}}</text>
</view>
<view class="loading-more" v-else>
<text class="loading-more-text">暂无数据</text>
<view class="text-block">
<text class="middle-date middle-date-select">摘要</text>
<text class="middle-date-des middle-date-des-select">{{item.zy}}</text>
</view>
</cell>
</list>
</scroll-view>
<view class="text-block text-block-last">
<text class="middle-date middle-date-select">金额</text>
<text class="middle-date-des middle-date-des-select">{{item.forward_amount}}</text>
</view>
</view>
<view class="empty-block"></view>
</cell>
<cell>
<view class="loading-more" v-if='lists.length>0'>
<text class="loading-more-text" v-if="lists.length >= page.totalCount && page.totalCount > 0">-- 到底了 --</text>
<text class="loading-more-text" v-else-if="isLoading">加载中...</text>
<text class="loading-more-text" v-else>上拉加载更多</text>
</view>
<view class="loading-more" v-else>
<text class="loading-more-text">暂无数据</text>
</view>
</cell>
</list>
</view>
</view>
...
...
@@ -129,6 +128,7 @@
loadingText: '加载中...',
refreshing: false,
isOpened: 'none',
isLoading: false, // 添加加载状态,防止重复请求
// 日期查询选项:是、介于、小于等于、大于等于
dateOptions: [
{ label: '是', value: 'EQ' },
...
...
@@ -163,8 +163,11 @@
}
},
scrollHeight() {
// 计算滚动区域高度:屏幕高度 - 状态栏和导航栏 - 查询条件区域 - 查询按钮区域
// 查询条件区域大约 300rpx,查询按钮区域大约 120rpx,总共约 420rpx,转换为px约210px
const queryAreaHeight = 210;
return {
'height': `${this.sysinfo.safeArea.height -
180 - 44}px`,
'height': `${this.sysinfo.safeArea.height -
this.sysinfo.safeArea.top - 44 - queryAreaHeight}px`
}
},
...mapState(['sysinfo', 'userInfo', 'userBpData'])
...
...
@@ -194,16 +197,28 @@
search() {
this.lists = [];
this.page.page = 1;
this.page.totalCount = 0; // 重置总数
this.queryData(1);
},
scrolltolower() {
if (this.lists.length >= this.page.totalCount) {
// 防止重复请求
if (this.isLoading) {
return;
}
// 判断是否已加载完所有数据
if (this.lists.length >= this.page.totalCount && this.page.totalCount > 0) {
return;
}
this.page.page++;
this.queryData(this.page.page);
},
async queryData(pageNo) {
// 防止重复请求
if (this.isLoading) {
return;
}
this.isLoading = true;
// 构建查询条件对象,与PC端格式保持一致
const allConditions = {}
...
...
@@ -254,22 +269,41 @@
...allConditions,
page: pageNo,
pagesize: this.page.pagesize,
totalCount:
this.page.totalCount,
totalCount:
pageNo === 1 ? 0 : this.page.totalCount, // 第一页时重置totalCount
is_result: 1,
sort: []
}
uni.showLoading({
title: '加载中'
});
const res = await apiGetMarketSupportFee(params);
uni.hideLoading();
if (res && res.data) {
try {
if (pageNo === 1) {
uni.showLoading({
title: '加载中'
});
}
const res = await apiGetMarketSupportFee(params);
if (pageNo === 1) {
this.lists = res.data || [];
} else {
this.lists = this.lists.concat(res.data || []);
uni.hideLoading();
}
this.page.totalCount = res?.TOTALCOUNT || res?.totalCount || res?.Total || this.page.totalCount;
if (res && res.data) {
if (pageNo === 1) {
this.lists = res.data || [];
} else {
this.lists = this.lists.concat(res.data || []);
}
// 更新总数,优先使用后端返回的总数
const totalCount = res?.TOTALCOUNT || res?.totalCount || res?.Total || 0;
if (totalCount > 0) {
this.page.totalCount = totalCount;
}
}
} catch (error) {
console.error('查询失败', error);
if (pageNo === 1) {
uni.hideLoading();
}
} finally {
this.isLoading = false;
}
}
}
...
...
@@ -475,7 +509,7 @@
}
.scroll-area {
overflow-y: scroll
;
flex: 1
;
}
.list-cell {
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment