流程信息

This commit is contained in:
2025-12-26 18:13:42 +08:00
parent e8e6778d08
commit d8785fe915
20 changed files with 2493 additions and 159 deletions

View File

@@ -73,6 +73,13 @@ function handleActionClick(record: LoanApplicationRecord, action: any) {
}
}
// 拨打银行受理人电话
function handleCallPhone(phone: string) {
uni.makePhoneCall({
phoneNumber: phone
})
}
// 获取状态颜色
function getStatusColor(status: LoanApplicationStatus) {
switch (status) {
@@ -185,10 +192,25 @@ function getButtonStyle(style: string) {
</view>
</view>
<!-- 银行受理人信息仅处理中状态显示 -->
<view v-if="record.status === 'PROCESSING' && record.handlerName" class="handler-section">
<view class="handler-info">
<text class="i-carbon-user handler-icon"></text>
<view class="handler-details">
<text class="handler-label">银行受理人</text>
<text class="handler-name">{{ record.handlerName }}</text>
<view class="handler-phone-wrapper" @click="handleCallPhone(record.handlerPhone)">
<text class="i-carbon-phone handler-phone-icon"></text>
<text class="handler-phone">{{ record.handlerPhone }}</text>
</view>
</view>
</view>
</view>
<!-- 底部操作区 -->
<view class="actions-section">
<view
v-for="action in record.actions"
<view
v-for="action in record.actions"
:key="action.code"
class="action-btn"
:style="getButtonStyle(action.style)"
@@ -251,18 +273,33 @@ function getButtonStyle(style: string) {
</view>
</view>
<!-- 银行受理人信息仅处理中状态显示 -->
<view v-if="selectedRecord.status === 'PROCESSING' && selectedRecord.handlerName" class="handler-detail">
<text class="detail-label">银行受理人</text>
<view class="handler-detail-info">
<view class="handler-detail-row">
<text class="i-carbon-user handler-detail-icon"></text>
<text class="handler-detail-name">{{ selectedRecord.handlerName }}</text>
</view>
<view class="handler-detail-row handler-detail-phone" @click="handleCallPhone(selectedRecord.handlerPhone)">
<text class="i-carbon-phone handler-detail-icon"></text>
<text class="handler-detail-phone-number">{{ selectedRecord.handlerPhone }}</text>
</view>
</view>
</view>
<!-- 提示信息 -->
<view v-if="selectedRecord.alertInfo && selectedRecord.alertInfo.show" class="alert-detail">
<view
<view
class="alert-detail-box"
:class="selectedRecord.alertInfo.type"
>
<text
v-if="selectedRecord.alertInfo.type === 'info'"
<text
v-if="selectedRecord.alertInfo.type === 'info'"
class="i-carbon-information alert-icon"
></text>
<text
v-else-if="selectedRecord.alertInfo.type === 'warning'"
<text
v-else-if="selectedRecord.alertInfo.type === 'warning'"
class="i-carbon-warning-alt alert-icon"
></text>
<text>{{ selectedRecord.alertInfo.content }}</text>
@@ -451,6 +488,58 @@ function getButtonStyle(style: string) {
}
}
.handler-section {
margin-bottom: 24rpx;
.handler-info {
background: linear-gradient(135deg, #3B82F6 0%, #60A5FA 100%);
border-radius: 12rpx;
padding: 20rpx;
display: flex;
align-items: center;
gap: 16rpx;
.handler-icon {
font-size: 48rpx;
color: #fff;
}
.handler-details {
flex: 1;
display: flex;
flex-direction: column;
gap: 8rpx;
.handler-label {
font-size: 22rpx;
color: rgba(255, 255, 255, 0.8);
}
.handler-name {
font-size: 28rpx;
font-weight: 600;
color: #fff;
}
.handler-phone-wrapper {
display: flex;
align-items: center;
gap: 8rpx;
.handler-phone-icon {
font-size: 24rpx;
color: #fff;
}
.handler-phone {
font-size: 26rpx;
color: #fff;
}
}
}
}
}
.actions-section {
display: flex;
justify-content: flex-end;
@@ -612,6 +701,52 @@ function getButtonStyle(style: string) {
}
}
.handler-detail {
padding: 20rpx 0;
.detail-label {
font-size: 28rpx;
color: #666;
margin-bottom: 20rpx;
display: block;
}
.handler-detail-info {
background: linear-gradient(135deg, #3B82F6 0%, #60A5FA 100%);
border-radius: 12rpx;
padding: 20rpx;
display: flex;
flex-direction: column;
gap: 16rpx;
.handler-detail-row {
display: flex;
align-items: center;
gap: 12rpx;
.handler-detail-icon {
font-size: 32rpx;
color: #fff;
}
.handler-detail-name {
font-size: 28rpx;
font-weight: 600;
color: #fff;
}
&.handler-detail-phone {
cursor: pointer;
.handler-detail-phone-number {
font-size: 26rpx;
color: #fff;
}
}
}
}
}
.alert-detail {
padding: 20rpx 0;