feat: 完成前端业务闭环与后端联调
This commit is contained in:
@@ -84,7 +84,11 @@
|
||||
<text>{{ recordTimeLabel(withdrawal.createTime) }}</text>
|
||||
</view>
|
||||
<text>{{ withdrawalStatusLabel(withdrawal.withdrawalStatus) }}</text>
|
||||
<text v-if="withdrawal.withdrawalNo">提现单号:{{ withdrawal.withdrawalNo }}</text>
|
||||
<text>收款人:{{ withdrawal.payoutAccountName || '未填写' }}</text>
|
||||
<text v-if="withdrawal.auditRemark">审核备注:{{ withdrawal.auditRemark }}</text>
|
||||
<text v-if="withdrawal.payoutReference">打款参考号:{{ withdrawal.payoutReference }}</text>
|
||||
<text v-if="withdrawal.paidAt">到账时间:{{ recordTimeLabel(withdrawal.paidAt) }}</text>
|
||||
<text v-if="withdrawal.failureReason">原因:{{ withdrawal.failureReason }}</text>
|
||||
<AppButton
|
||||
v-if="withdrawal.withdrawalStatus === 'PENDING'"
|
||||
@@ -121,7 +125,7 @@
|
||||
|
||||
<script setup>
|
||||
import { computed, reactive, ref } from "vue";
|
||||
import { onShow, onUnload } from "@dcloudio/uni-app";
|
||||
import { onBackPress, onShow, onUnload } from "@dcloudio/uni-app";
|
||||
import AppButton from "@/components/AppButton.vue";
|
||||
import AppDialog from "@/components/AppDialog.vue";
|
||||
import AppLoading from "@/components/AppLoading.vue";
|
||||
@@ -137,6 +141,7 @@ import {
|
||||
} from "@/services/api/request-controller.js";
|
||||
import { earningApi } from "@/services/api/earning-service.js";
|
||||
import { getRequestErrorMessage } from "@/services/api/request-error-message.js";
|
||||
import { handleBackPress } from "@/utils/navigation/gateway.js";
|
||||
import { formatMinuteTimestamp } from "@/utils/display-time.js";
|
||||
import {
|
||||
formatSignedMoney,
|
||||
@@ -257,10 +262,18 @@ const cancelWithdrawal = async () => {
|
||||
if (isPageActive) cancelling.value = false;
|
||||
}
|
||||
};
|
||||
const closeCancellationDialog = () => {
|
||||
if (cancelling.value) return false;
|
||||
cancelTarget.value = null;
|
||||
return true;
|
||||
};
|
||||
|
||||
onShow(() => {
|
||||
void loadAll();
|
||||
});
|
||||
onBackPress((event) =>
|
||||
cancelTarget.value ? handleBackPress(event, closeCancellationDialog) : false,
|
||||
);
|
||||
onUnload(() => {
|
||||
isPageActive = false;
|
||||
summaryController.abort();
|
||||
@@ -275,7 +288,7 @@ onUnload(() => {
|
||||
.earnings-page {
|
||||
min-height: 100vh;
|
||||
box-sizing: border-box;
|
||||
padding-bottom: 48rpx;
|
||||
padding-bottom: env(safe-area-inset-bottom);
|
||||
background: $paper;
|
||||
}
|
||||
|
||||
@@ -334,6 +347,11 @@ onUnload(() => {
|
||||
font-size: clamp(14px, 23rpx, 17px);
|
||||
}
|
||||
|
||||
.summary-row text {
|
||||
min-width: 0;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
.summary-note {
|
||||
margin: 18rpx 0;
|
||||
line-height: 1.6;
|
||||
@@ -442,4 +460,17 @@ onUnload(() => {
|
||||
margin-top: 24rpx;
|
||||
}
|
||||
|
||||
@media (max-width: 340px) {
|
||||
.earnings-content {
|
||||
padding-right: 20rpx;
|
||||
padding-left: 20rpx;
|
||||
}
|
||||
|
||||
.summary-panel,
|
||||
.record-card {
|
||||
padding-right: 20rpx;
|
||||
padding-left: 20rpx;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user