smart-bid-web/src/views/enterpriseLibrary/enterprise/components/child/AccountOpeningCertificateDe...

126 lines
3.2 KiB
Vue
Raw Normal View History

2025-10-20 18:29:12 +08:00
<template>
<div class="basic-info-detail">
<div class="basic-info-title">
<img src="@/assets/enterpriseLibrary/legalperson.png" alt="开户证明">
<span>开户证明</span>
</div>
<div class="detail-content">
<!-- 开户许可证 -->
<div class="detail-item">
<div class="item-label">开户许可证</div>
<div class="item-value">
2025-10-23 17:04:04 +08:00
<el-image :src="form.url" class="license-image">
2025-10-20 18:29:12 +08:00
</el-image>
</div>
</div>
<!-- 开户银行 -->
<div class="detail-item">
<div class="item-label">开户银行</div>
2025-10-23 17:04:04 +08:00
<div class="item-value">{{ form.openingBank || '--' }}</div>
2025-10-20 18:29:12 +08:00
</div>
<!-- 开户账号 -->
<div class="detail-item">
<div class="item-label">开户账号</div>
2025-10-23 17:04:04 +08:00
<div class="item-value">{{ form.openingAccount || '--' }}</div>
2025-10-20 18:29:12 +08:00
</div>
</div>
</div>
</template>
<script>
export default {
name: 'AccountOpeningCertificateDetail',
2025-10-23 17:04:04 +08:00
props: {
detailData: {
type: Object,
default: () => { }
}
2025-10-20 18:29:12 +08:00
},
data() {
return {
2025-10-23 17:04:04 +08:00
form:{
openingBank:'',
openingAccount:'',
url:null,
}
2025-10-20 18:29:12 +08:00
}
},
methods: {
2025-10-23 17:04:04 +08:00
setDetailData() {
const fileList = this.getFileList('account_opening_license')
this.form = {
openingBank: this.detailData.openingBank,
openingAccount: this.detailData.openingAccount,
url:fileList[0].lsFilePath,
}
},
getFileList(businessType){
return this.detailData.fileList.filter(item => item.businessType === businessType).map(item => {
return {
name: item.fileName,
filePath: item.filePath,
lsFilePath:item.lsFilePath,
fileType:item.fileType
};
});
}
2025-10-20 18:29:12 +08:00
},
2025-10-23 17:04:04 +08:00
watch: {
detailData: {
handler(newVal) {
if (Object.keys(newVal).length > 0) {
this.setDetailData();
}
},
immediate: true, // 立即执行一次
deep: true
}
},
2025-10-20 18:29:12 +08:00
}
</script>
<style scoped lang="scss">
.basic-info-title {
display: flex;
align-items: center;
margin: 10px 0;
span {
margin: 0 5px;
font-size: 20px;
}
}
.detail-content {
.detail-item {
margin-bottom: 16px;
.item-label {
color: #424242;
font-size: 18px;
font-weight: 500;
margin-bottom: 8px;
}
.item-value {
color: #424242;
font-size: 16px;
line-height: 1.5;
.license-image {
max-width: 200px;
max-height: 120px;
border-radius: 6px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
object-fit: cover;
}
}
}
}
</style>