fix: 功能优化,接口修改。

This commit is contained in:
tianyongbao
2026-02-04 10:39:53 +08:00
parent 28240d3cfb
commit 7420f1e845
9 changed files with 316 additions and 30 deletions

View File

@@ -257,13 +257,40 @@
<text class="amount-value">{{ item.value }}</text>
</view>
</view>
<view class="item-body">
<view class="detail-label">
<uni-icons type="list" size="14" color="#667eea"></uni-icons>
<text>待还款明细</text>
<!-- 详细还款明细列表 -->
<view class="item-body" v-if="item.detailList && item.detailList.length > 0">
<view class="detail-item" v-for="(detail, dIndex) in item.detailList" :key="dIndex">
<view class="detail-header">
<view class="bank-name">
<uni-icons type="wallet-filled" size="14" color="#667eea"></uni-icons>
<text>{{ detail.bankCardLendName }}</text>
</view>
</view>
<view class="detail-info">
<view class="info-row">
<view class="info-item">
<text class="info-label">待还金额</text>
<text class="info-value">{{ detail.currentAmount }}</text>
</view>
<view class="info-item">
<text class="info-label">本金</text>
<text class="info-value">{{ detail.principal }}</text>
</view>
<view class="info-item">
<text class="info-label">利息</text>
<text class="info-value">{{ detail.interest }}</text>
</view>
</view>
</view>
</view>
<view class="detail-content">
<text>{{ formatMultiLineData(item.detail) || '-' }}</text>
</view>
<!-- 无明细时显示 -->
<view class="item-body" v-else>
<view class="empty-detail">
<uni-icons type="info" size="32" color="#c0c4cc"></uni-icons>
<text>暂无还款明细</text>
</view>
</view>
</view>
@@ -1142,6 +1169,91 @@ page {
.item-body {
padding: 24rpx;
.detail-item {
padding: 20rpx;
margin-bottom: 16rpx;
background: #f8f9fb;
border-radius: 12rpx;
border-left: 4rpx solid #667eea;
&:last-child {
margin-bottom: 0;
}
.detail-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16rpx;
padding-bottom: 12rpx;
border-bottom: 2rpx solid #e8edf3;
.bank-name {
display: flex;
align-items: center;
gap: 6rpx;
flex: 1;
text {
font-size: 28rpx;
color: #2c3e50;
font-weight: 600;
}
}
.detail-amount {
font-size: 32rpx;
font-weight: 700;
color: #667eea;
}
}
.detail-info {
.info-row {
display: flex;
justify-content: space-between;
gap: 8rpx;
.info-item {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
padding: 12rpx 8rpx;
background: #ffffff;
border-radius: 8rpx;
.info-label {
font-size: 22rpx;
color: #909399;
margin-bottom: 4rpx;
}
.info-value {
font-size: 26rpx;
color: #303133;
font-weight: 600;
}
}
}
}
}
.empty-detail {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 60rpx 0;
text {
margin-top: 16rpx;
font-size: 26rpx;
color: #909399;
}
}
.detail-label {
display: flex;
align-items: center;

View File

@@ -249,22 +249,54 @@
<view class="item-header">
<view class="header-left">
<view class="time-badge">
<uni-icons type="upload-filled" size="16" color="#ffffff"></uni-icons>
<uni-icons type="calendar-filled" size="16" color="#ffffff"></uni-icons>
<text>{{ item.time }}</text>
</view>
</view>
<view class="header-right">
<text class="amount-label">待还款金额</text>
<text class="amount-label">合计</text>
<text class="amount-value">{{ item.value }}</text>
</view>
</view>
<view class="item-body">
<view class="detail-label">
<uni-icons type="list" size="14" color="#667eea"></uni-icons>
<text>待还款明细</text>
<!-- 详细还款明细列表 -->
<view class="item-body" v-if="item.detailList && item.detailList.length > 0">
<view class="detail-item" v-for="(detail, dIndex) in item.detailList" :key="dIndex">
<view class="detail-header">
<view class="bank-name">
<uni-icons type="wallet-filled" size="14" color="#667eea"></uni-icons>
<text>{{ detail.bankCardLendName }}</text>
</view>
<button class="repay-btn-small" @click="handleRepayment(detail)">
<uni-icons type="checkmarkempty" size="14" color="#ffffff"></uni-icons>
<text>还款</text>
</button>
</view>
<view class="detail-info">
<view class="info-row">
<view class="info-item">
<text class="info-label">待还金额</text>
<text class="info-value">{{ detail.currentAmount }}</text>
</view>
<view class="info-item">
<text class="info-label">本金</text>
<text class="info-value">{{ detail.principal }}</text>
</view>
<view class="info-item">
<text class="info-label">利息</text>
<text class="info-value">{{ detail.interest }}</text>
</view>
</view>
</view>
</view>
<view class="detail-content">
<text>{{ formatMultiLineData(item.detail) || '-' }}</text>
</view>
<!-- 无明细时显示 -->
<view class="item-body" v-else>
<view class="empty-detail">
<uni-icons type="info" size="32" color="#c0c4cc"></uni-icons>
<text>暂无还款明细</text>
</view>
</view>
</view>
@@ -636,6 +668,15 @@ function searchSubmit() {
})
}
// 处理还款操作
function handleRepayment(detail) {
// 跳转到还款明细编辑页面(编辑模式)
uni.navigateTo({
url: `/pages/work/bill/onlineLendHistory/detailsAddEdit?id=${detail.id}&installmentHistoryId=${detail.id}&name=${encodeURIComponent(detail.bankCardLendName)}`
})
}
function settingConfirm(e) {
queryParams.value.settingId = e.value[0].settingId
queryParams.value.settingName = e.value[0].settingName
@@ -1067,6 +1108,18 @@ page {
.header-left {
flex: 1;
.header-title {
display: flex;
align-items: center;
text {
font-size: 30rpx;
color: #ffffff;
font-weight: 600;
line-height: 1;
}
}
.time-badge {
display: inline-flex;
align-items: center;
@@ -1109,6 +1162,120 @@ page {
.item-body {
padding: 24rpx;
.detail-item {
padding: 20rpx;
margin-bottom: 16rpx;
background: #f8f9fb;
border-radius: 12rpx;
border-left: 4rpx solid #667eea;
&:last-child {
margin-bottom: 0;
}
.detail-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16rpx;
padding-bottom: 12rpx;
border-bottom: 2rpx solid #e8edf3;
.bank-name {
display: flex;
align-items: center;
gap: 6rpx;
flex: 1;
text {
font-size: 28rpx;
color: #2c3e50;
font-weight: 600;
}
}
.repay-btn-small {
display: flex;
align-items: center;
justify-content: center;
gap: 4rpx;
padding: 8rpx 20rpx;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border-radius: 16rpx;
border: none;
box-shadow: 0 2rpx 8rpx rgba(102, 126, 234, 0.3);
transition: all 0.3s ease;
&::after {
border: none;
}
&:active {
transform: scale(0.96);
box-shadow: 0 1rpx 4rpx rgba(102, 126, 234, 0.2);
}
text {
color: #ffffff;
font-size: 24rpx;
font-weight: 600;
line-height: 1;
}
}
.detail-amount {
font-size: 32rpx;
font-weight: 700;
color: #667eea;
}
}
.detail-info {
.info-row {
display: flex;
justify-content: space-between;
gap: 8rpx;
.info-item {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
padding: 12rpx 8rpx;
background: #ffffff;
border-radius: 8rpx;
.info-label {
font-size: 22rpx;
color: #909399;
margin-bottom: 4rpx;
}
.info-value {
font-size: 26rpx;
color: #303133;
font-weight: 600;
}
}
}
}
}
.empty-detail {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 60rpx 0;
text {
margin-top: 16rpx;
font-size: 26rpx;
color: #909399;
}
}
.detail-label {
display: flex;
align-items: center;

View File

@@ -509,7 +509,7 @@ getDicts('deal_category').then(result => {
updateAccountDealRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '修改成功', complete() {
uni.navigateTo({ url: `/pages/work/accounts/accountDealRecord/list` })
uni.navigateBack()
}
})
})
@@ -518,7 +518,7 @@ getDicts('deal_category').then(result => {
addAccountDealRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '新增成功', complete() {
uni.navigateTo({ url: `/pages/work/accounts/accountDealRecord/list` })
uni.navigateBack()
}
})
})
@@ -527,7 +527,7 @@ getDicts('deal_category').then(result => {
addAccountDealRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '新增成功', complete() {
uni.navigateTo({ url: `/pages/work/accounts/accountDealRecord/list` })
uni.navigateBack()
}
})
})

View File

@@ -281,7 +281,7 @@ function handleCreditCard() {
updateAccountsTransferRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '修改成功', complete() {
uni.navigateTo({ url: `/pages/work/accounts/creditTransferRecord/list` })
uni.navigateBack()
}
})
})
@@ -289,7 +289,7 @@ function handleCreditCard() {
addAccountsTransferRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '新增成功', complete() {
uni.navigateTo({ url: `/pages/work/accounts/creditTransferRecord/list` })
uni.navigateBack()
}
})
})

View File

@@ -222,7 +222,7 @@ function handleInAccount() {
updateAccountsTransferRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '修改成功', complete() {
uni.navigateTo({ url: `/pages/work/accounts/debitTransferRecord/list` })
uni.navigateBack()
}
})
})
@@ -230,7 +230,7 @@ function handleInAccount() {
addAccountsTransferRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '新增成功', complete() {
uni.navigateTo({ url: `/pages/work/accounts/debitTransferRecord/list` })
uni.navigateBack()
}
})
})

View File

@@ -273,7 +273,7 @@ onLoad((option) => {
updateAccountDealRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '修改成功', complete() {
uni.navigateTo({ url: `/pages/work/accounts/investAccountDeal/list` })
uni.navigateBack()
}
})
})
@@ -281,7 +281,7 @@ onLoad((option) => {
addAccountDealRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '新增成功', complete() {
uni.navigateTo({ url: `/pages/work/accounts/investAccountDeal/list` })
uni.navigateBack()
}
})
})

View File

@@ -222,7 +222,7 @@ onLoad((option) => {
updateAccountsTransferRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '修改成功', complete() {
uni.navigateTo({ url: `/pages/work/accounts/investTransferRecord/list` })
uni.navigateBack()
}
})
})
@@ -231,7 +231,7 @@ onLoad((option) => {
addAccountsTransferRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '新增成功', complete() {
uni.navigateTo({ url: `/pages/work/accounts/investTransferRecord/list` })
uni.navigateBack()
}
})
})
@@ -240,7 +240,7 @@ onLoad((option) => {
addAccountsTransferRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '新增成功', complete() {
uni.navigateTo({ url: `/pages/work/accounts/investTransferRecord/list` })
uni.navigateBack()
}
})
})

View File

@@ -296,7 +296,7 @@ function handleInAccount() {
updateAccountsTransferRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '修改成功', complete() {
uni.navigateTo({ url: `/pages/work/accounts/lendTransferRecord/list` })
uni.navigateBack()
}
})
})
@@ -304,7 +304,7 @@ function handleInAccount() {
addAccountsTransferRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '新增成功', complete() {
uni.navigateTo({ url: `/pages/work/accounts/lendTransferRecord/list` })
uni.navigateBack()
}
})
})

View File

@@ -203,8 +203,15 @@ onLoad((option) => {
updateInstallmentDetail(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '修改成功', complete() {
uni.navigateTo({ url: `/pages/work/bill/onlineLendHistory/details?id=${form.value.installmentHistoryId}&name=${form.value.bankCardLendName}` })
uni.navigateBack()
}
})
})
} else {
addInstallmentDetail(form.value).then(res => {
proxy.$refs['uToast'].show({
message: '新增成功', complete() {
uni.navigateBack()
}
})
})