发布岗位回显企业名称

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

@@ -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 {