发布岗位回显企业名称

This commit is contained in:
冯辉
2025-10-24 17:30:19 +08:00
parent 2d6370b796
commit 12906b65ec
3 changed files with 81 additions and 15 deletions

View File

@@ -718,11 +718,21 @@ const confirm = () => {
company: companyData
}
$api.createRequest('/app/user/registerUser', submitData, 'post')
$api.createRequest('/registerUser', submitData, 'post')
.then(async (resData) => {
uni.hideLoading()
$api.msg('企业信息保存成功')
// 如果接口返回了token需要重新保存token
if (resData.token) {
try {
await userStore.loginSetToken(resData.token)
console.log('Token已更新:', resData.token)
} catch (error) {
console.error('更新Token失败:', error)
}
}
// 保存成功后,重新获取用户信息并更新缓存
try {
await userStore.getUserResume()

View File

@@ -425,7 +425,7 @@ const companyInfo = reactive({
name: '',
avatar: '',
industry: '',
size: '',
scale: '',
isVerified: false
});
@@ -583,7 +583,7 @@ const getCompanyInfo = () => {
companyInfo.name = company.name || '';
companyInfo.avatar = company.avatar || '';
companyInfo.industry = company.industryType || '互联网';
companyInfo.size = company.companySize || '100-999人';
companyInfo.scale = company.scale || '100-999人';
// 判断是否实名legalIdCard字段有值则表示已实名
companyInfo.isVerified = !!(company.legalIdCard && company.legalIdCard.trim());
@@ -591,7 +591,7 @@ const getCompanyInfo = () => {
console.log('企业信息:', {
name: companyInfo.name,
industry: companyInfo.industry,
size: companyInfo.size,
size: companyInfo.scale,
isVerified: companyInfo.isVerified
});
} else {

View File

@@ -19,21 +19,18 @@
</view>
<view class="form-group" v-if="userType === 0">
<view class="label">招聘公司</view>
<input
class="input"
placeholder="请输入招聘公司"
v-model="formData.companyName"
/>
<view-text style="color: #333;font-size: 28rpx;padding: 16rpx 0;display: inline-block;">{{formData.companyName}}</view-text>
</view>
<view class="form-group" v-if="userType === 2">
<view class="label">招聘公司</view>
<!-- 企业用户直接输入 -->
<input
<!-- 企业用户显示缓存中的企业名称不可编辑 -->
<view
v-if="userType === 1"
class="input"
placeholder="请输入公司名称"
v-model="formData.companyName"
/>
class="company-display"
>
<view class="company-name">{{ formData.companyName || '未设置企业名称' }}</view>
<view class="readonly-tip">企业用户不可修改</view>
</view>
<!-- 网格员点击跳转搜索 -->
<view
v-else
@@ -223,6 +220,7 @@
<script setup>
import { ref, reactive, onMounted, onUnmounted } from 'vue';
import { onShow } from '@dcloudio/uni-app';
import { storeToRefs } from 'pinia';
import { createRequest } from '@/utils/request';
import useDictStore from '@/stores/useDictStore';
@@ -295,6 +293,9 @@ onMounted(async () => {
calculateScrollViewHeight();
await initFormData();
// 获取企业信息
getCompanyInfo();
// 监听企业选择事件
uni.$on('companySelected', handleCompanySelected);
});
@@ -304,6 +305,35 @@ onUnmounted(() => {
uni.$off('companySelected', handleCompanySelected);
});
// 页面显示时获取最新的企业信息(参考首页方法)
onShow(() => {
getCompanyInfo();
});
// 获取企业信息(参考首页方法)
const getCompanyInfo = () => {
try {
const cachedUserInfo = uni.getStorageSync('userInfo') || {};
console.log('缓存中的userInfo:', cachedUserInfo);
// 检查是否有company字段
if (cachedUserInfo.company) {
const company = cachedUserInfo.company;
formData.companyName = company.name || '';
console.log('从缓存获取企业名称:', company.name);
} else {
console.log('缓存中没有company字段');
// 如果company字段不存在尝试从companyName字段获取兼容旧数据
if (cachedUserInfo.companyName) {
formData.companyName = cachedUserInfo.companyName;
console.log('从companyName字段获取企业名称:', cachedUserInfo.companyName);
}
}
} catch (error) {
console.error('获取企业信息失败:', error);
}
};
// 初始化表单数据
const initFormData = async () => {
try {
@@ -331,6 +361,11 @@ const initFormData = async () => {
formData.companyId = userStore.userInfo.id;
}
// 如果是企业用户,获取企业信息
if (userType.value === 1) {
getCompanyInfo();
}
} catch (error) {
console.error('初始化表单数据失败:', error);
uni.showToast({
@@ -747,6 +782,27 @@ const validateForm = () => {
}
}
// 企业名称显示样式
.company-display {
display: flex;
flex-direction: column;
padding: 0 0 20rpx 0;
box-sizing: border-box;
.company-name {
font-size: 28rpx;
color: #333;
font-weight: 500;
margin-bottom: 8rpx;
}
.readonly-tip {
font-size: 24rpx;
color: #999;
font-style: italic;
}
}
// 联系人管理样式
.contacts-container {
.contact-item {