企业注册根据信用代码回显企业信息

This commit is contained in:
FengHui
2026-02-04 11:11:09 +08:00
parent 2a5d15b770
commit 70ef370b1d
3 changed files with 84 additions and 33 deletions

View File

@@ -23,13 +23,16 @@
<!-- 统一社会信用代码 -->
<view class="form-item">
<view class="label">统一社会信用代码</view>
<input
class="input-field"
v-model="formData.socialCreditCode"
placeholder="请输入统一社会信用代码"
maxlength="18"
@input="updateCompletion"
/>
<view class="input-with-button">
<input
class="input-field"
v-model="formData.socialCreditCode"
placeholder="请输入统一社会信用代码"
maxlength="18"
@input="updateCompletion"
/>
<button class="query-button" @click="queryCompanyByCreditCode">查询</button>
</view>
</view>
<!-- 企业注册地点 -->
@@ -600,6 +603,42 @@ const cancel = () => {
uni.navigateBack()
}
// 根据社会信用代码查询企业信息
const queryCompanyByCreditCode = async () => {
const creditCode = formData.socialCreditCode.trim()
if (!creditCode) {
$api.msg('请输入统一社会信用代码')
return
}
uni.showLoading({ title: '查询中...' })
try {
const response = await $api.createRequest('/app/company/queryCodeCompany', { code: creditCode }, 'get')
uni.hideLoading()
if (response.code === 200 && response.data) {
const companyData = response.data
// 回显企业信息到表单
if (companyData.name) formData.companyName = companyData.name
if (companyData.location) formData.registeredAddress = companyData.location
if (companyData.description) formData.companyIntro = companyData.description
if (companyData.nature) formData.nature = companyData.nature
if (companyData.registeredAddress) formData.registeredAddress = companyData.registeredAddress
if (companyData.legalPerson) formData.legalPersonName = companyData.legalPerson
// 其他字段根据接口返回的数据结构进行映射
updateCompletion()
$api.msg('企业信息查询成功')
} else {
$api.msg('未查询到企业信息')
}
} catch (error) {
uni.hideLoading()
$api.msg('查询失败,请重试')
console.error('查询企业信息失败:', error)
}
}
// 确认提交
const confirm = () => {
// 验证必填字段
@@ -837,6 +876,25 @@ defineExpose({
font-size: 28rpx
line-height: 1.4
.input-with-button
flex: 1
display: flex
align-items: center
gap: 16rpx
.query-button
padding: 8rpx 16rpx
background: #256BFA
color: #fff
font-size: 20rpx
border-radius: 6rpx
border: none
min-width: 100rpx
text-align: center
&:active
background: #1a5cd9
.input-con
flex: 1
font-size: 28rpx