更新12个教务系统并优化项目大小
主要更新: - 更新所有12个产业的教务系统数据和功能 - 删除所有 node_modules 文件夹(节省3.7GB) - 删除所有 .yoyo 缓存文件夹(节省1.2GB) - 删除所有 dist 构建文件(节省55MB) 项目优化: - 项目大小从 8.1GB 减少到 3.2GB(节省60%空间) - 保留完整的源代码和配置文件 - .gitignore 已配置,防止再次提交大文件 启动脚本: - start-industry.sh/bat/ps1 脚本会自动检测并安装依赖 - 首次启动时自动运行 npm install - 支持单个或批量启动产业系统 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -294,30 +294,26 @@ const CourseList = forwardRef(({ className = "", onCourseClick }, ref) => {
|
||||
onChange={(keys) => {
|
||||
console.log('Collapse onChange received:', keys, 'type:', typeof keys);
|
||||
|
||||
// Arco Collapse 在受控模式下,当点击时:
|
||||
// - 如果是字符串,表示点击了某个面板,需要切换它的展开/收起状态
|
||||
// - 如果是数组,表示新的展开状态
|
||||
// 实现手风琴效果:只保留最后点击的单元展开
|
||||
if (typeof keys === 'string') {
|
||||
// 切换单个面板的展开/收起状态
|
||||
setActiveKeys(prevKeys => {
|
||||
const keyStr = String(keys);
|
||||
const newKeys = [...prevKeys];
|
||||
const index = newKeys.indexOf(keyStr);
|
||||
if (index > -1) {
|
||||
// 如果已展开,则收起
|
||||
newKeys.splice(index, 1);
|
||||
} else {
|
||||
// 如果已收起,则展开
|
||||
newKeys.push(keyStr);
|
||||
}
|
||||
console.log('Toggling key:', keyStr, 'New activeKeys:', newKeys);
|
||||
return newKeys;
|
||||
});
|
||||
// 如果点击的是已经展开的单元,则收起它
|
||||
if (activeKeys.includes(keys)) {
|
||||
setActiveKeys([]);
|
||||
} else {
|
||||
// 否则展开新的单元,收起其它所有单元
|
||||
setActiveKeys([keys]);
|
||||
}
|
||||
} else if (Array.isArray(keys)) {
|
||||
// 直接设置新的展开状态
|
||||
setActiveKeys(keys);
|
||||
// 如果是数组,只保留最后一个元素(最新展开的)
|
||||
if (keys.length > activeKeys.length) {
|
||||
// 有新的面板被展开,找到新增的那个
|
||||
const newKey = keys.find(key => !activeKeys.includes(key));
|
||||
setActiveKeys(newKey ? [newKey] : keys.slice(-1));
|
||||
} else {
|
||||
// 有面板被收起
|
||||
setActiveKeys(keys);
|
||||
}
|
||||
} else {
|
||||
// 处理 undefined/null 的情况
|
||||
setActiveKeys([]);
|
||||
}
|
||||
}}
|
||||
@@ -434,19 +430,12 @@ const CourseList = forwardRef(({ className = "", onCourseClick }, ref) => {
|
||||
dot={getDotIcon(course)}
|
||||
lineType="dashed"
|
||||
>
|
||||
<div
|
||||
<div
|
||||
className={`time-line-item ${getCourseStatus(course)} ${selectedCourseId === course.courseId ? 'selected' : ''} ${course.canPreview ? 'has-preview' : ''}`}
|
||||
onClick={() => {
|
||||
// 先设置选中状态和触发课程点击事件
|
||||
// 设置选中状态和触发课程点击事件
|
||||
setSelectedCourseId(course.courseId);
|
||||
onCourseClick && onCourseClick({ ...course, unitName: unit.unitName, courseType: 'vertical' });
|
||||
|
||||
// 如果是可试看课程,延迟打开新窗口
|
||||
if (course.canPreview && course.previewUrl) {
|
||||
setTimeout(() => {
|
||||
window.open(course.previewUrl, '_blank');
|
||||
}, 100);
|
||||
}
|
||||
}}
|
||||
style={{ cursor: 'pointer' }}
|
||||
>
|
||||
|
||||
@@ -171,10 +171,10 @@
|
||||
/* 杨丽华导师头像特殊调整 - 缩小显示 */
|
||||
.teacher-avatar.teacher-yanglihua {
|
||||
img {
|
||||
width: 130% !important;
|
||||
height: 130% !important;
|
||||
width: 200% !important;
|
||||
height: 200% !important;
|
||||
object-fit: cover !important;
|
||||
top: 5% !important;
|
||||
top: -10% !important;
|
||||
left: auto !important;
|
||||
transform: none !important;
|
||||
}
|
||||
|
||||
@@ -1,19 +1,77 @@
|
||||
import { useState, useRef, useEffect } from "react";
|
||||
import { Avatar, Tooltip } from "@arco-design/web-react";
|
||||
import Locked from "@/components/Locked";
|
||||
import logoImg from "@/assets/images/Sidebar/logo.png";
|
||||
import "./index.css";
|
||||
|
||||
export default ({ className = "", isLock = false, selectedCourse, teacherData, unitPosters, isPublicCourse = false, backgroundImage }) => {
|
||||
const [isFullscreen, setIsFullscreen] = useState(false);
|
||||
const iframeContainerRef = useRef(null);
|
||||
|
||||
const handleClickBtn = (item) => {
|
||||
console.log(item);
|
||||
};
|
||||
|
||||
// 处理全屏切换
|
||||
const handleFullscreen = () => {
|
||||
const container = iframeContainerRef.current;
|
||||
if (!container) return;
|
||||
|
||||
if (!isFullscreen) {
|
||||
// 进入全屏
|
||||
if (container.requestFullscreen) {
|
||||
container.requestFullscreen();
|
||||
} else if (container.webkitRequestFullscreen) {
|
||||
container.webkitRequestFullscreen();
|
||||
} else if (container.mozRequestFullScreen) {
|
||||
container.mozRequestFullScreen();
|
||||
} else if (container.msRequestFullscreen) {
|
||||
container.msRequestFullscreen();
|
||||
}
|
||||
} else {
|
||||
// 退出全屏
|
||||
if (document.exitFullscreen) {
|
||||
document.exitFullscreen();
|
||||
} else if (document.webkitExitFullscreen) {
|
||||
document.webkitExitFullscreen();
|
||||
} else if (document.mozCancelFullScreen) {
|
||||
document.mozCancelFullScreen();
|
||||
} else if (document.msExitFullscreen) {
|
||||
document.msExitFullscreen();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// 监听全屏状态变化
|
||||
useEffect(() => {
|
||||
const handleFullscreenChange = () => {
|
||||
setIsFullscreen(
|
||||
document.fullscreenElement === iframeContainerRef.current ||
|
||||
document.webkitFullscreenElement === iframeContainerRef.current ||
|
||||
document.mozFullScreenElement === iframeContainerRef.current ||
|
||||
document.msFullscreenElement === iframeContainerRef.current
|
||||
);
|
||||
};
|
||||
|
||||
document.addEventListener('fullscreenchange', handleFullscreenChange);
|
||||
document.addEventListener('webkitfullscreenchange', handleFullscreenChange);
|
||||
document.addEventListener('mozfullscreenchange', handleFullscreenChange);
|
||||
document.addEventListener('MSFullscreenChange', handleFullscreenChange);
|
||||
|
||||
return () => {
|
||||
document.removeEventListener('fullscreenchange', handleFullscreenChange);
|
||||
document.removeEventListener('webkitfullscreenchange', handleFullscreenChange);
|
||||
document.removeEventListener('mozfullscreenchange', handleFullscreenChange);
|
||||
document.removeEventListener('MSFullscreenChange', handleFullscreenChange);
|
||||
};
|
||||
}, []);
|
||||
|
||||
// 默认导师信息 - 魏立慧老师(用于求职策略定制页面)
|
||||
const defaultTeacher = {
|
||||
name: "魏立慧",
|
||||
introduction: "企业资深一线HR,专注于为求职者提供一对一的个性化指导。通过真实招聘视角,深入剖析个人优势与短板、传授面试技巧、规划职业定位与发展路径,帮助学生快速提升求职竞争力。求职策略以实用落地为核心,注重互动交流与角色定位,让学员在轻松氛围中获得直击痛点的求职策略。",
|
||||
specialties: ["深谙用人逻辑", "擅长挖掘优势", "沟通真诚自然", "点评直击要害"],
|
||||
avatar: "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuUpSO4gUtJz.png",
|
||||
name: "郭昊铭",
|
||||
introduction: "负责多品牌并购整合的人事协同,在100天内完成三家被并购公司的组织架构、薪酬福利与政策对齐,上线统一ATS与人事主数据平台;冗余岗位优化后管理费用同比下降12%,关键岗位稳定率达95%,整合期员工离职率较行业基准低7个百分点,业务团队达产时间提前两个月。在企业实践之外,作为资深一线HR导师,也长期为求职者提供一对一的个性化指导,从真实招聘与并购整合的案例中剖析人才管理痛点,帮助学员理解岗位价值评估、简历匹配逻辑及面试应答技巧,结合职业定位与发展路径规划,让学员能够在轻松互动中掌握直击痛点的求职策略并快速提升竞争力。",
|
||||
specialties: ["行业趋势洞察", "技能短板诊断", "求职思维训练", "模拟问答辅导"],
|
||||
avatar: "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuXLZZ9Q24PJ.png",
|
||||
type: "企业资深HR"
|
||||
};
|
||||
|
||||
@@ -102,20 +160,87 @@ export default ({ className = "", isLock = false, selectedCourse, teacherData, u
|
||||
</div>
|
||||
<div className="courses-video-player-video">
|
||||
{selectedCourse ? (
|
||||
/* 选中课程时显示模糊的海报图和锁定状态 */
|
||||
/* 选中课程时,如果是可试看课程则显示iframe,否则显示锁定状态 */
|
||||
selectedCourse.canPreview && selectedCourse.previewUrl ? (
|
||||
/* 显示iframe内嵌课件 */
|
||||
<div
|
||||
ref={iframeContainerRef}
|
||||
style={{
|
||||
position: 'relative',
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
backgroundColor: '#000'
|
||||
}}
|
||||
>
|
||||
<iframe
|
||||
src={selectedCourse.previewUrl}
|
||||
style={{
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
border: 'none',
|
||||
borderRadius: isFullscreen ? '0' : '8px',
|
||||
zoom: isFullscreen ? 1 : 0.5
|
||||
}}
|
||||
title={selectedCourse.courseName}
|
||||
allowFullScreen
|
||||
/>
|
||||
{/* 全屏按钮 */}
|
||||
<button
|
||||
onClick={handleFullscreen}
|
||||
style={{
|
||||
position: 'absolute',
|
||||
top: '16px',
|
||||
right: '16px',
|
||||
width: '40px',
|
||||
height: '40px',
|
||||
borderRadius: '8px',
|
||||
border: 'none',
|
||||
backgroundColor: 'rgba(0, 0, 0, 0.6)',
|
||||
color: '#fff',
|
||||
cursor: 'pointer',
|
||||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
fontSize: '20px',
|
||||
transition: 'all 0.3s',
|
||||
zIndex: 10
|
||||
}}
|
||||
onMouseEnter={(e) => {
|
||||
e.currentTarget.style.backgroundColor = 'rgba(0, 0, 0, 0.8)';
|
||||
}}
|
||||
onMouseLeave={(e) => {
|
||||
e.currentTarget.style.backgroundColor = 'rgba(0, 0, 0, 0.6)';
|
||||
}}
|
||||
title={isFullscreen ? "退出全屏" : "全屏"}
|
||||
>
|
||||
{isFullscreen ? (
|
||||
// 退出全屏图标
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
|
||||
<path d="M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3" />
|
||||
</svg>
|
||||
) : (
|
||||
// 全屏图标
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
|
||||
<path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3" />
|
||||
</svg>
|
||||
)}
|
||||
</button>
|
||||
</div>
|
||||
) : (
|
||||
/* 显示模糊的海报图和锁定状态 */
|
||||
<div style={{ position: 'relative', width: '100%', height: '100%' }}>
|
||||
<img
|
||||
<img
|
||||
src={(() => {
|
||||
const posterUrl = selectedCourse?.unitPoster || unitPosters?.[unitName] || unitPosters?.["终生学习系统课"];
|
||||
console.log('CoursesVideoPlayer 背景图片URL:', posterUrl);
|
||||
console.log('selectedCourse.unitPoster:', selectedCourse?.unitPoster);
|
||||
console.log('unitName:', unitName);
|
||||
return posterUrl;
|
||||
})()}
|
||||
})()}
|
||||
alt={unitName}
|
||||
style={{
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
style={{
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
objectFit: 'cover',
|
||||
filter: 'blur(10px)'
|
||||
}}
|
||||
@@ -130,7 +255,7 @@ export default ({ className = "", isLock = false, selectedCourse, teacherData, u
|
||||
alignItems: 'center',
|
||||
gap: '16px'
|
||||
}}>
|
||||
<img
|
||||
<img
|
||||
src="https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_icon/recuVOrz2GnJdK.png"
|
||||
alt="lock"
|
||||
style={{ width: '280px', height: '280px' }}
|
||||
@@ -148,11 +273,12 @@ export default ({ className = "", isLock = false, selectedCourse, teacherData, u
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
) : (
|
||||
/* 未选中课程时显示白底和logo */
|
||||
<div style={{
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
<div style={{
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
backgroundColor: '#fff',
|
||||
border: '1px solid #e5e6eb',
|
||||
borderRadius: '8px',
|
||||
@@ -162,11 +288,11 @@ export default ({ className = "", isLock = false, selectedCourse, teacherData, u
|
||||
justifyContent: 'center',
|
||||
gap: '24px'
|
||||
}}>
|
||||
<img
|
||||
src={logoImg}
|
||||
alt="logo"
|
||||
style={{
|
||||
width: '120px',
|
||||
<img
|
||||
src={logoImg}
|
||||
alt="logo"
|
||||
style={{
|
||||
width: '120px',
|
||||
height: 'auto',
|
||||
opacity: 0.8
|
||||
}}
|
||||
|
||||
@@ -90,7 +90,7 @@ const HRVisitModal = ({ visible, onClose }) => {
|
||||
id: 12,
|
||||
name: '许凯先生',
|
||||
company: '广东美味源香料股份有限公司',
|
||||
avatar: 'https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/company_hr_avatar/recuWWiuWjGLzI.png',
|
||||
avatar: 'https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/company_hr_avatar/recuWWiuWjGLzI.jpeg',
|
||||
visitMessage: '访问了您的线下面试模拟'
|
||||
},
|
||||
{
|
||||
|
||||
@@ -182,30 +182,26 @@ const PublicCourseList = forwardRef(({ className = "", onCourseClick }, ref) =>
|
||||
onChange={(keys) => {
|
||||
console.log('PublicCourseList Collapse onChange received:', keys, 'type:', typeof keys);
|
||||
|
||||
// Arco Collapse 在受控模式下,当点击时:
|
||||
// - 如果是字符串,表示点击了某个面板,需要切换它的展开/收起状态
|
||||
// - 如果是数组,表示新的展开状态
|
||||
// 实现手风琴效果:只保留最后点击的单元展开
|
||||
if (typeof keys === 'string') {
|
||||
// 切换单个面板的展开/收起状态
|
||||
setActiveKeys(prevKeys => {
|
||||
const keyStr = String(keys);
|
||||
const newKeys = [...prevKeys];
|
||||
const index = newKeys.indexOf(keyStr);
|
||||
if (index > -1) {
|
||||
// 如果已展开,则收起
|
||||
newKeys.splice(index, 1);
|
||||
} else {
|
||||
// 如果已收起,则展开
|
||||
newKeys.push(keyStr);
|
||||
}
|
||||
console.log('Toggling key:', keyStr, 'New activeKeys:', newKeys);
|
||||
return newKeys;
|
||||
});
|
||||
// 如果点击的是已经展开的单元,则收起它
|
||||
if (activeKeys.includes(keys)) {
|
||||
setActiveKeys([]);
|
||||
} else {
|
||||
// 否则展开新的单元,收起其它所有单元
|
||||
setActiveKeys([keys]);
|
||||
}
|
||||
} else if (Array.isArray(keys)) {
|
||||
// 直接设置新的展开状态
|
||||
setActiveKeys(keys);
|
||||
// 如果是数组,只保留最后一个元素(最新展开的)
|
||||
if (keys.length > activeKeys.length) {
|
||||
// 有新的面板被展开,找到新增的那个
|
||||
const newKey = keys.find(key => !activeKeys.includes(key));
|
||||
setActiveKeys(newKey ? [newKey] : keys.slice(-1));
|
||||
} else {
|
||||
// 有面板被收起
|
||||
setActiveKeys(keys);
|
||||
}
|
||||
} else {
|
||||
// 处理 undefined/null 的情况
|
||||
setActiveKeys([]);
|
||||
}
|
||||
}}
|
||||
|
||||
@@ -93,7 +93,7 @@ const Sidebar = ({ isCollapsed, setIsCollapsed }) => {
|
||||
?.map((j) => (
|
||||
<li
|
||||
className={
|
||||
location.pathname === j.path ||
|
||||
location.pathname === j.path ||
|
||||
(j.path === '/company-jobs' && location.pathname === '/company-jobs-list') ||
|
||||
(j.path === '/job-strategy' && location.pathname === '/job-strategy-detail')
|
||||
? "sidebar-menu-item-active sidebar-menu-item"
|
||||
@@ -105,14 +105,33 @@ const Sidebar = ({ isCollapsed, setIsCollapsed }) => {
|
||||
<IconFont
|
||||
className="sidebar-menu-icon"
|
||||
src={
|
||||
location.pathname === j.path ||
|
||||
location.pathname === j.path ||
|
||||
(j.path === '/company-jobs' && location.pathname === '/company-jobs-list') ||
|
||||
(j.path === '/job-strategy' && location.pathname === '/job-strategy-detail')
|
||||
? j.active
|
||||
? j.active
|
||||
: j.default
|
||||
}
|
||||
/>
|
||||
<span className="sidebar-menu-text">{j.name}</span>
|
||||
<span className="sidebar-menu-text">
|
||||
{j.name}
|
||||
{j.path === '/duoduo-agent' && (
|
||||
<span style={{
|
||||
marginLeft: '8px',
|
||||
padding: '2px 8px',
|
||||
background: 'linear-gradient(135deg, #5DADE2 0%, #2874A6 100%)',
|
||||
borderRadius: '12px',
|
||||
color: '#ffffff',
|
||||
fontSize: '12px',
|
||||
fontWeight: 'bold',
|
||||
fontStyle: 'italic',
|
||||
letterSpacing: '1px',
|
||||
textTransform: 'uppercase',
|
||||
boxShadow: '0 2px 4px rgba(0,0,0,0.1)'
|
||||
}}>
|
||||
demo
|
||||
</span>
|
||||
)}
|
||||
</span>
|
||||
</li>
|
||||
))}
|
||||
</div>
|
||||
|
||||
@@ -52,7 +52,21 @@
|
||||
"工作地点": "深圳市",
|
||||
"公司介绍": "广东微量元素生物科技有限公司是一家专注于生物科技领域的创新型企业,总部位于广州市黄埔区。该公司致力于微量元素技术在食品研发中的应用,通过结合生物工程和营养科学,开发高附加值的功能性食品和营养补充产品。公司业务覆盖食品原料、保健品及健康解决方案的研发与商业化,以提升食品安全性、营养价值和健康功效为目标。作为战略融资企业,公司获得专业投资支持,表明其在行业中的发展潜力与市场认可度。团队结构偏向高端研发人才,强调创新与产学研结合,体现出科技驱动型企业的特点。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/7/12"
|
||||
"岗位招聘截止时间": "2025/7/12",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafxtTz/recuWggSafxtTz_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafxtTz/recuWggSafxtTz_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafxtTz/recuWggSafxtTz_003.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafxtTz/recuWggSafxtTz_004.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafxtTz/recuWggSafxtTz_005.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafxtTz/recuWggSafxtTz_006.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafxtTz/recuWggSafxtTz_007.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafxtTz/recuWggSafxtTz_008.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafxtTz/recuWggSafxtTz_009.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafxtTz/recuWggSafxtTz_010.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafxtTz/recuWggSafxtTz_011.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafxtTz/recuWggSafxtTz_012.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "QA总监助理",
|
||||
@@ -81,7 +95,25 @@
|
||||
"工作地点": "山东菏泽",
|
||||
"公司介绍": "山东朱氏药业集团公司成立于2003年12月,是一家集贴膏、医疗器械、化妆品、保健食品、生物试剂、消毒卫生用品、新药研发生产与销售、房产开发、物流配送、企业培训为一体的大型综合型企业集团。注册资金5亿元,子公司主要分布在山东、上海、广州、陕西、湖南、湖北、贵州、安徽等地,集团现有职工超5000人,其中研发技术人员320人。集团公司被评为中国健康产业创新企业、全国消费者信得过AAA级品牌企业、国家高新技术企业、山东省知识产权示范企业,集团公司拥有授权发明专利37项,实用新型专利58项,外观设计专利309项,山东省著名商标1项。公司实验室被认定为”菏泽市工程实验室”、“菏泽市工程技术研究中心”、“荷泽市重点实验室”,山东省工程实验室,并拥有山东省院士工作站、山东省博士后创新实践基地等研发平台,获山东省优秀技术创新成果一等奖1项、二等奖2项、菏泽市科学技术进步奖一等奖1项、二等奖3项、三等奖5项。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/7/20"
|
||||
"岗位招聘截止时间": "2025/7/20",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_003.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_004.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_005.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_006.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_007.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_008.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_009.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_010.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_011.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_012.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_013.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_014.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_015.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaflvVp/recuWggSaflvVp_016.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品生产技术员",
|
||||
@@ -138,7 +170,37 @@
|
||||
"工作地点": "浙江省",
|
||||
"公司介绍": "古茗茶饮是中国领先的新式茶饮品牌之一,成立于2010年,总部位于浙江省诸暨市。公司致力于提供新鲜、健康的茶饮品,专注于茶饮研发、生产和质量控制体系。核心业务包括茶饮创新、食品检测和质量优化,覆盖全国数千家门店,产品强调天然原料与现代工艺的结合。作为食品行业中的上市企业,古茗茶饮注重可持续发展与技术创新,通过标准化的生产流程和人才培养,推动饮品行业的品质提升和市场拓展。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/8/3"
|
||||
"岗位招聘截止时间": "2025/8/3",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_003.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_004.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_005.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_006.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_007.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_008.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_009.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_010.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_011.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_012.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_013.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_014.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_015.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_016.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_017.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_018.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_019.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_020.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_021.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_022.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_023.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_024.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_025.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_026.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_027.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafTolx/recuWggSafTolx_028.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品安全管理员",
|
||||
@@ -166,7 +228,15 @@
|
||||
"工作地点": "东莞市",
|
||||
"公司介绍": "町洋机电(中国)有限公司于2000年9月1日在江苏昆山成立,自此町洋生产基地全面落成。公司经历了风雨历程,迎来了蓬勃的发展。多年来,町洋机电持续提供具有竞争力的产品和解决方案,以提高产业竞争力和为客户创造价值,其产品广泛应用于现代化的各个制造领域。公司始终践行企业信念:“因联结而喜悦!Delight Through Connections!”,不断演绎“联结”传奇。为践行数字化发展之路,全新的二期数字化工厂已开启建设,这将成为町洋集团核心技术、精湛工艺与优良品质再次升华和聚变的序幕,也是町洋在数字化道路上的最佳例证。从2013年集团成立三十周年到2023年四十周年期间,町洋投入了“再创业”的十年发展计划,并启动了一系列数字化转型战略,为实现这一计划,公司积极招募各界人才加入。 ",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/8/9"
|
||||
"岗位招聘截止时间": "2025/8/9",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafpTmo/recuWggSafpTmo_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafpTmo/recuWggSafpTmo_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafpTmo/recuWggSafpTmo_003.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafpTmo/recuWggSafpTmo_004.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafpTmo/recuWggSafpTmo_005.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafpTmo/recuWggSafpTmo_006.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品包装设计师助理",
|
||||
@@ -194,7 +264,24 @@
|
||||
"工作地点": "珠海市",
|
||||
"公司介绍": "智圆行方深耕包装设计领域 20 年,专精于大健康行业,提供从品牌策略到包装落地的全方位解决方案。其核心业务集中在保健品、药品、食品及农产品包装设计上,强调通过创新设计提升产品市场价值。该公司秉持“策略 + 美学”双核驱动的理念,融合精准市场洞察与创意美学,专注于塑造差异化品牌形象。其服务旨在赋能产品价值升级,帮助客户在竞争激烈的消费市场中脱颖而出。同时,智圆行方提供一站式服务,包括品牌战略规划、创意设计及技术研发,确保包装方案兼具功能性和视觉吸引力。\n\n智圆行方服务过众多知名品牌,涵盖百年药企和头部消费品牌,如北京同仁堂、上海雷允上、兰州佛慈制药、燕之屋和小龙坎等,累计成功案例超千例,以设计力推动行业增长,在大健康产业(包括食品领域)树立了显著声誉。作为业内领先的视觉战略伙伴,智圆行方在包装设计公司榜单中位列前十,并因创新能力和全方位服务而广受认可。公司立足于深圳,服务范围辐射全国,致力于推动品牌价值和商业增长。 ",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/8/15"
|
||||
"岗位招聘截止时间": "2025/8/15",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf9KUy/recuWggSaf9KUy_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf9KUy/recuWggSaf9KUy_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf9KUy/recuWggSaf9KUy_003.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf9KUy/recuWggSaf9KUy_004.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf9KUy/recuWggSaf9KUy_005.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf9KUy/recuWggSaf9KUy_006.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf9KUy/recuWggSaf9KUy_007.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf9KUy/recuWggSaf9KUy_008.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf9KUy/recuWggSaf9KUy_009.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf9KUy/recuWggSaf9KUy_010.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf9KUy/recuWggSaf9KUy_011.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf9KUy/recuWggSaf9KUy_012.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf9KUy/recuWggSaf9KUy_013.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf9KUy/recuWggSaf9KUy_014.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf9KUy/recuWggSaf9KUy_015.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品仓储管理员",
|
||||
@@ -222,7 +309,22 @@
|
||||
"工作地点": "深圳",
|
||||
"公司介绍": "北京京邦达贸易有限公司是一家专注于交通、运输和物流行业的大型企业,员工规模超过10,000人。作为供应链领域的领先服务商,公司致力于提供全球化的基础设施解决方案,并持续优化仓储与配送网络,以支持高效、可靠的物流运作。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/8/21"
|
||||
"岗位招聘截止时间": "2025/8/21",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafazvp/recuWggSafazvp_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafazvp/recuWggSafazvp_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafazvp/recuWggSafazvp_003.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafazvp/recuWggSafazvp_004.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafazvp/recuWggSafazvp_005.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafazvp/recuWggSafazvp_006.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafazvp/recuWggSafazvp_007.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafazvp/recuWggSafazvp_008.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafazvp/recuWggSafazvp_009.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafazvp/recuWggSafazvp_010.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafazvp/recuWggSafazvp_011.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafazvp/recuWggSafazvp_012.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafazvp/recuWggSafazvp_013.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品设备维护技师",
|
||||
@@ -278,7 +380,10 @@
|
||||
"工作地点": "无锡",
|
||||
"公司介绍": "河南乐享健康管理有限公司成立于2021年5月12日,专注于健康管理领域,定位为医疗健康服务提供商。公司业务覆盖健康咨询、慢性病调理(如高血压、糖尿病及心脑血管疾病康复)、科学减重及健康管理师职业资格培训等。其核心服务有慢病干预,通过生活方式调整、营养指导和远程监测,帮助客户实现慢性病逆转及康复;健康管理服务,为会员提供日常健康监测、运动指导和个性化健康方案;职业培训,开展健康管理师、公共营养师等职业资格认证培训。公司采用“线上 + 线下”结合的服务模式,团队规模为100 - 499人。工商信息显示其经营状态为“存续”(即正常运营),总部位于河南,在宁波等地设有服务网点。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/2"
|
||||
"岗位招聘截止时间": "2025/9/2",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf5R0i/recuWggSaf5R0i_001.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品感官评定员",
|
||||
@@ -306,7 +411,10 @@
|
||||
"工作地点": "苏州市",
|
||||
"公司介绍": "古茗科技集团有限公司专注于食品饮料行业的研发、生产和质量管理,特别在茶类饮品、果汁及健康食品领域有深厚积累。其业务涉及产品开发、品质控制、感官评价等环节,致力于通过科学的感官分析方法提升产品风味和消费者体验。总部位于浙江杭州(接受短期培训),并在绍兴 - 诸暨设有相关工作基地,作为一家成长型科技企业,公司积极优化质量管理体系,并强化感官评测标准化流程。当前正在招聘食品感官评定员(如“高级食品检测”岗位),这表明公司重视感官科学在产品质量中的应用,包括设计差别检验实验(如三角测试)、编制评测报告,以及建立感官检测标准流程(SOP)。 ",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/18"
|
||||
"岗位招聘截止时间": "2025/9/18",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafP0wQ/recuWggSafP0wQ_001.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品原料采购专员",
|
||||
@@ -362,7 +470,36 @@
|
||||
"工作地点": "浙江杭州",
|
||||
"公司介绍": "京东方科技集团股份有限公司(BOE)是中国领先的高科技企业,专注于物联网和半导体显示技术的研发与制造。公司成立于1993年,总部位于北京,业务覆盖显示器件、智慧物联、智慧医工等多个领域,致力于提供创新产品和解决方案,应用于智能手机、电视、可穿戴设备等全球市场。作为行业领导者,京东方拥有强大的研发实力、全球化的生产网络和严格的品质管理体系,持续推动技术进步和产业升级。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/18"
|
||||
"岗位招聘截止时间": "2025/9/18",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_003.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_004.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_005.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_006.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_007.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_008.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_009.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_010.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_011.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_012.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_013.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_014.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_015.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_016.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_017.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_018.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_019.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_020.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_021.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_022.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_023.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_024.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_025.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_026.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf8QSi/recuWggSaf8QSi_027.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "跨境食品外贸跟单员",
|
||||
@@ -391,7 +528,14 @@
|
||||
"工作地点": "菲律宾",
|
||||
"公司介绍": "石狮彩伦食品有限公司是一家专注于休闲食品出口的食品企业,旗下运营多个知名品牌,包括藤野一村和美伦多。其核心产品为休闲零食类目,如饼干、蛋卷、椰子卷、虾片等,覆盖国内外市场。公司注重品牌化运作,产品可直接通过主流电商平台(如天猫、京东)进行了解和购买。石狮彩伦食品在行业内通过参加国际展会等方式拓展业务,体现了其在跨境食品贸易领域的专业性和市场影响力。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/23"
|
||||
"岗位招聘截止时间": "2025/9/23",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf1SGh/recuWggSaf1SGh_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf1SGh/recuWggSaf1SGh_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf1SGh/recuWggSaf1SGh_003.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf1SGh/recuWggSaf1SGh_004.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSaf1SGh/recuWggSaf1SGh_005.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品品控专员",
|
||||
@@ -419,7 +563,39 @@
|
||||
"工作地点": "深圳",
|
||||
"公司介绍": "牧原集团位于河南省南阳市,始创于1992年,历经32年发展,现已形成集饲料加工、生猪育种、生猪养殖、屠宰加工为一体的猪肉产业链,主要产品有商品猪、种猪、仔猪和猪肉。目前集团总资产2100亿元,员工14万人,旗下牧原食品股份有限公司于2014年上市,养猪业务遍及全国24省(区)103市217县(区),2023年出栏生猪6382万头。2019年,成立牧原肉食品有限公司,现已成立26家屠宰子公司,发展布局11省22市26县,投产10个屠宰厂,产能2900万头,猪肉销售覆盖20省67市,2023年屠宰生猪1326万头。牧原始终秉承“让人们吃上放心猪肉”的美好愿景,科技赋能养猪产业,致力于打造安全、美味、健康、环保的高品质猪肉,让人们享受丰盛人生。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/27"
|
||||
"岗位招聘截止时间": "2025/9/27",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_003.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_004.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_005.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_006.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_007.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_008.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_009.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_010.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_011.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_012.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_013.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_014.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_015.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_016.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_017.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_018.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_019.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_020.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_021.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_022.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_023.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_024.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_025.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_026.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_027.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_028.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_029.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafPH9w/recuWggSafPH9w_030.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "品牌运营管培生",
|
||||
@@ -447,7 +623,25 @@
|
||||
"工作地点": "江苏省",
|
||||
"公司介绍": "联易融是一家专注于金融科技领域的已上市企业,总部位于深圳(桂庙路口)。公司致力于通过数字化技术赋能供应链金融,为全球企业客户提供高效、透明的解决方案。作为行业领先平台,联易融依托人工智能和大数据分析,简化传统金融流程,助力合作伙伴优化资金流动与风险管理。公司强调创新驱动发展,聚焦金融服务的技术升级,以推动产业生态的可持续发展。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/10/1"
|
||||
"岗位招聘截止时间": "2025/10/1",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_003.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_004.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_005.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_006.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_007.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_008.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_009.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_010.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_011.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_012.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_013.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_014.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_015.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafFC1h/recuWggSafFC1h_016.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品电商运营助理",
|
||||
@@ -476,7 +670,19 @@
|
||||
"工作地点": "中山",
|
||||
"公司介绍": "秀身堂坚信深海海藻富含了无穷的生命能量,能重塑年轻肌肤和完美体型。为揭开深海海藻能量来源之谜,秀身堂武田海藻研发中心开始了对海藻的研究。历经长达20多年的潜心研究,1999年秀身堂国际推出以深海天然绿藻为主要成份的绿藻塑型系列产品,该系列产品一经问世便轰动了整个减肥行业。同年,“秀身堂”品牌被国际权威品牌联盟理事会认定为国际塑型美容权威品牌。秀身堂国际基于对深海海藻生命能量的利用,研发了多系列健康高效的塑型美颜产品,更加奠定了秀身堂国际在塑型美颜领域的权威地位。17年来,以天然海藻为核心产品成分的秀身堂销售领跑中国,遍布全球,成为千万爱美人士的首选品牌。今天秀身堂国际在“新科技 新美容 新塑型”的战略思想指导下,坚持以“健康塑造时尚美”为企业核心理念,“塑型美颜 内外兼修”为产品研发理念,不断用高科技激活天然海藻能量,科学专业配方,尖端生产技术,不断创新打造出上百种健康、高效的塑型美颜产品,引领着塑型美颜行业的发展,为消费者带去更天然、更健康、更安全、更高效的美容美体产品。为全世界塑型美容事业做出了巨大的贡献。秀身堂国际一直...",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/10/4"
|
||||
"岗位招聘截止时间": "2025/10/4",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafatj2/recuWggSafatj2_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafatj2/recuWggSafatj2_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafatj2/recuWggSafatj2_003.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafatj2/recuWggSafatj2_004.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafatj2/recuWggSafatj2_005.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafatj2/recuWggSafatj2_006.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafatj2/recuWggSafatj2_007.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafatj2/recuWggSafatj2_008.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafatj2/recuWggSafatj2_009.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuWggSafatj2/recuWggSafatj2_010.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品市场推广专员",
|
||||
@@ -588,7 +794,16 @@
|
||||
"工作地点": "菲律宾",
|
||||
"公司介绍": "上海清美供应链有限公司是上海清美集团旗下的核心企业,作为国家农业产业化龙头企业和上海市百强企业,该公司专注于食品供应链领域的批发与零售业务。公司成立于2018年4月17日,注册资本为5000万人民币,目前经营状态为存续。其主要运营地址位于上海市浦东新区清美集团总部661号6楼,公司规模为100 - 499人,业务模式以自营为主,无需外部融资。该公司致力于保障食品供应链的稳定性和高效性,包括开展海外直采食品类商品的业务。",
|
||||
"岗位相关标签": "人才出海岗位",
|
||||
"岗位招聘截止时间": "2025/7/12"
|
||||
"岗位招聘截止时间": "2025/7/12",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfczTrTCX8/recuXfczTrTCX8_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfczTrTCX8/recuXfczTrTCX8_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfczTrTCX8/recuXfczTrTCX8_003.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfczTrTCX8/recuXfczTrTCX8_004.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfczTrTCX8/recuXfczTrTCX8_005.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfczTrTCX8/recuXfczTrTCX8_006.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfczTrTCX8/recuXfczTrTCX8_007.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "海外食品市场总监助理",
|
||||
@@ -694,7 +909,12 @@
|
||||
"工作地点": "韩国",
|
||||
"公司介绍": "杭州微念品牌管理有限公司是一家以实业创新、文化融合消费为核心的全球化品牌公司。公司愿景是成为全球化的东方特色产业品牌集团,业务覆盖品牌策划、产品研发、营销推广、供应链管理等全产业链环节。团队具备完整的国际化运营能力,包括国际传播营销、出海渠道建设及全球市场推广,致力于将东方特色产品推向全球市场。",
|
||||
"岗位相关标签": "人才出海岗位",
|
||||
"岗位招聘截止时间": "2025/8/9"
|
||||
"岗位招聘截止时间": "2025/8/9",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcAJPexfG/recuXfcAJPexfG_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcAJPexfG/recuXfcAJPexfG_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcAJPexfG/recuXfcAJPexfG_003.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "物流审核员",
|
||||
@@ -748,7 +968,21 @@
|
||||
"工作地点": "长春",
|
||||
"公司介绍": "深圳市速播网络科技有限公司是一家专注于网络营销和互联网服务的企业。该公司成立于2004年11月,前身为深圳市国人在线信息技术有限公司,致力于提供全方位的数字营销解决方案。2010年,公司成立了国人网络营销学院,负责开展企业网络营销培训服务。2013年,公司业务迅速扩张,在东莞、长沙、武汉、郑州等地区设立了20余家分公司。2018年,为适应市场变化,公司组建了项目事业部,专注于中大型企业的全网营销项目交付。2020年,公司进一步优化服务,组建自有新媒体运营和直播带货团队,以赋能企业产品销售并提升品牌影响力。2022年,公司拓展了业务范围,延伸至TK(TikTok)培训与直播带货领域,为外贸企业提供定制化支持。公司文化强调开放、平等、主动、激励、学习、创新,旨在打造一个高效协作的工作环境,持续推动行业创新和发展。",
|
||||
"岗位相关标签": "非专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/8/22"
|
||||
"岗位招聘截止时间": "2025/8/22",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFwyQYAd/recuXfcFwyQYAd_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFwyQYAd/recuXfcFwyQYAd_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFwyQYAd/recuXfcFwyQYAd_003.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFwyQYAd/recuXfcFwyQYAd_004.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFwyQYAd/recuXfcFwyQYAd_005.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFwyQYAd/recuXfcFwyQYAd_006.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFwyQYAd/recuXfcFwyQYAd_007.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFwyQYAd/recuXfcFwyQYAd_008.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFwyQYAd/recuXfcFwyQYAd_009.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFwyQYAd/recuXfcFwyQYAd_010.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFwyQYAd/recuXfcFwyQYAd_011.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFwyQYAd/recuXfcFwyQYAd_012.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "社群运营",
|
||||
@@ -773,7 +1007,10 @@
|
||||
"工作地点": "深圳",
|
||||
"公司介绍": "零一裂变(深圳)科技有限公司是国内微信生态领域的全链路运营服务商,专注于为企业提供一站式解决方案,涵盖裂变获客、增长留存和私域运营。公司致力于通过高效的数字营销策略,帮助客户优化用户获取与维护效率,提升社群活跃度与用户粘性。",
|
||||
"岗位相关标签": "非专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/8/29"
|
||||
"岗位招聘截止时间": "2025/8/29",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFHnqFI2/recuXfcFHnqFI2_001.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "直播运营",
|
||||
@@ -800,7 +1037,65 @@
|
||||
"工作地点": "宁波",
|
||||
"公司介绍": "正保远程教育 (China Distance Education Holdings Ltd., CDEL) 成立于2000年,是一家专注于职业教育和服务的企业。公司以构建完善的“终身教育体系”和“完全教育体系”为发展战略,秉持“学员利益至上,一切为学员服务”的理念。其核心业务围绕远程职业教育开展,以考试培训为基础,结合兴趣爱好课程及技能培训,通过线上线下相结合的运营模式,为各行业领域的个人和企业提供教育产品和服务。公司拥有20个品牌网站,开设超过300个辅导类别,覆盖会计、医药卫生、建设工程、法律、创业实训、中小学、自考、考研等13个不同行业。在会计领域已形成“考试培训、继续教育、实务操作、财税咨询、就业服务”为一体的完整终身教育体系。公司通过自我发展与外部投资并重,包括收购网中网、瑞达教育等业内优秀企业,实现资源互补和战略深化。正保远程教育高度重视教学质量,应用先进网站技术和课件工具提升辅导效果,致力于推动中国远程教育发展。",
|
||||
"岗位相关标签": "非专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/4"
|
||||
"岗位招聘截止时间": "2025/9/4",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_003.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_004.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_005.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_006.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_007.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_008.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_009.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_010.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_011.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_012.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_013.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_014.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_015.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_016.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_017.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_018.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_019.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_020.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_021.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_022.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_023.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_024.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_025.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_026.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_027.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_028.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_029.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_030.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_031.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_032.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_033.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_034.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_035.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_036.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_037.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_038.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_039.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_040.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_041.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_042.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_043.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_044.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_045.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_046.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_047.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_048.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_049.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_050.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_051.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_052.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_053.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_054.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_055.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFKmTI9J/recuXfcFKmTI9J_056.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "市场推广专员",
|
||||
@@ -827,7 +1122,12 @@
|
||||
"工作地点": "青岛",
|
||||
"公司介绍": "杭州析科网络科技有限公司是一家专注于互联网科技领域的公司,致力于在支付生态及相关领域开拓业务。其核心业务方向与支付宝平台密切相关,专注于开发和推广基于支付宝生态的金融产品解决方案。公司主要任务是打造和推广“支付宝备用金”等创新产品,通过招募专业推广团队深入市场进行用户拓展与商户合作。",
|
||||
"岗位相关标签": "非专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/10"
|
||||
"岗位招聘截止时间": "2025/9/10",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFM2uP85/recuXfcFM2uP85_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFM2uP85/recuXfcFM2uP85_002.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFM2uP85/recuXfcFM2uP85_003.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "活动执行专员",
|
||||
@@ -852,7 +1152,11 @@
|
||||
"工作地点": "南京",
|
||||
"公司介绍": "加糖(南京)创意策划有限公司是一家小型私营企业,专注于商务服务业,规模为1至49人,总部位于南京栖霞迈皋桥万谷慧生活区域。企业主要致力于创意策划类业务,服务于各类市场活动需求。",
|
||||
"岗位相关标签": "非专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/15"
|
||||
"岗位招聘截止时间": "2025/9/15",
|
||||
"企业图片": [
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFO5DUZk/recuXfcFO5DUZk_001.jpg",
|
||||
"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/comp/recuXfcFO5DUZk/recuXfcFO5DUZk_002.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "摄影师",
|
||||
|
||||
884
frontend_食品/src/data/companyJobsNew.json.backup_20251011_091647
Normal file
884
frontend_食品/src/data/companyJobsNew.json.backup_20251011_091647
Normal file
@@ -0,0 +1,884 @@
|
||||
[
|
||||
{
|
||||
"内推岗位名称": "食品检验员",
|
||||
"薪资": "5-8k",
|
||||
"学历要求": "专科",
|
||||
"招聘人数": "5人",
|
||||
"职位标签": [
|
||||
"实验室检测",
|
||||
"食品理化指标",
|
||||
"双休",
|
||||
"五险一金",
|
||||
"团队协作",
|
||||
"偶尔加班"
|
||||
],
|
||||
"福利标签": [
|
||||
"餐补",
|
||||
"五险一金",
|
||||
"夜班津贴",
|
||||
"健康证补贴",
|
||||
"定期体检"
|
||||
],
|
||||
"职位描述": "1. 负责原料、半成品、成品的抽样、制备及保存,确保样品代表性;\n2. 进行理化指标检测(如微量金属、添加剂含量、酸碱度等);\n3. 进行微生物检验(菌落总数、致病菌等),使用培养箱、显微镜等设备;\n4. 进行农残、重金属等安全指标检测;\n5. 巡查生产线卫生、工艺参数及关键控制点(CCP);\n6. 监督操作规范及人员卫生;\n7. 维护检测设备(HPLC、气相色谱等),定期校准;\n8. 配置与管理试剂、标准溶液;",
|
||||
"任职要求": "1. 食品检验、生物技术、化学、药学或相关专业大专及以上学历(应届生可接受),部分企业明确要求大专学历起步;中专或高中学历占比约13.4%,通常需搭配证书或经验;\n2. 持有国家认可的“食品检验员资格证书”“粮油检验员证书”等(硬性要求占比超60%),部分涉及特殊领域(如粮食储藏)需“防化员证书”;\n3. 熟练操作理化/微生物检测(如菌落总数、重金属)、HPLC、GC等仪器;熟悉国标(如GB 4789)及企业检验标准;\n4. 约50%岗位要求1 - 3年食品厂检验经验,应届生需通过实操考核(如独立完成留样、报告出具);\n5. 具备严谨性与责任心,确保数据真实,对异常结果及时上报并提出改善建议;\n6. 具备分析能力,统计合格率、分析不合格原因;\n7. 具备沟通协作能力,对接生产、仓储部门落实整改;\n8. 部分岗位需适应倒班(含夜班)、具备体系知识(HACCP/ISO22000)或参与过SC认证飞检。",
|
||||
"工作地点": "苏州市",
|
||||
"公司介绍": "川货郎巴中食品有限公司成立于2022年6月17日,是一家专注于食品、饮料和烟酒行业的生产企业。公司法定代表人为戚斗,注册资本1000万人民币,当前经营状态为存续。其主要运营基地位于四川省巴中市平昌县川货郎巴中食品有限公司1号厂房二楼办公室。公司规模为100-499人,专注于食品生产和质量管理体系的运营。该企业致力于保障产品质量,符合食品安全国家标准,并通过HACCP等质量管理体系强化内部流程控制。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/7/5"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品研发总监助理",
|
||||
"薪资": "7-9k",
|
||||
"学历要求": "本科",
|
||||
"招聘人数": "3人",
|
||||
"职位标签": [
|
||||
"研发支持",
|
||||
"Office",
|
||||
"接受应届生",
|
||||
"双休",
|
||||
"团队合作",
|
||||
"食品工艺知识",
|
||||
"五险一金"
|
||||
],
|
||||
"福利标签": [
|
||||
"项目奖金",
|
||||
"五险一金",
|
||||
"专业培训",
|
||||
"年度调薪",
|
||||
"节日礼金"
|
||||
],
|
||||
"职位描述": "1. 协助总监完成新产品的小试、中试及工艺优化,参与配方设计、原料筛选及工艺测试;\n2. 跟踪研发项目进度,对接项目组收集数据并汇总汇报,及时反馈问题;\n3. 负责产品稳定性测试、质量检测,确保产品符合食品安全标准及法规;\n4. 整理研发资料(项目报告、技术文档、实验数据等),确保准确性和规范性;\n5. 收集行业动态、竞品信息及技术趋势,为总监决策提供数据支持;\n6. 维护研发实验室仪器设备及样品档案,管理研发文档的归档与调用;\n7. 代表研发部对接生产、质量、市场等部门,协调产品试产及量产准备工作;\n8. 参与市场调研,分析消费者需求及竞品,支持新品开发方向调整;\n9. 协助安排外部合作方会议及技术交流,传递信息并跟进后续事宜;",
|
||||
"任职要求": "1. 本科及以上学历,食品科学、食品工程、生物工程或相关专业优先,部分要求具备扎实的基础理论知识;\n2. 1 - 3年食品研发或相关工作经验,具有协助新品开发成功案例者优先考虑;\n3. 熟悉食品研发流程、生产工艺及食品安全标准,能够操作实验设备(如高压灭菌锅、离心机等),并参与数据分析;\n4. 具备良好的沟通协调能力,能有效与研发团队及其他部门协作,解决技术问题;\n5. 拥有创新思维和问题解决能力,可协助优化配方设计及研发项目管理;\n6. 掌握基础办公软件(如数据处理工具),具备报告整理和文件管理能力。",
|
||||
"工作地点": "深圳市",
|
||||
"公司介绍": "广东微量元素生物科技有限公司是一家专注于生物科技领域的创新型企业,总部位于广州市黄埔区。该公司致力于微量元素技术在食品研发中的应用,通过结合生物工程和营养科学,开发高附加值的功能性食品和营养补充产品。公司业务覆盖食品原料、保健品及健康解决方案的研发与商业化,以提升食品安全性、营养价值和健康功效为目标。作为战略融资企业,公司获得专业投资支持,表明其在行业中的发展潜力与市场认可度。团队结构偏向高端研发人才,强调创新与产学研结合,体现出科技驱动型企业的特点。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/7/12"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "QA总监助理",
|
||||
"薪资": "5-9k",
|
||||
"学历要求": "本科",
|
||||
"招聘人数": "4人",
|
||||
"职位标签": [
|
||||
"质量管理",
|
||||
"合规意识",
|
||||
"QA体系",
|
||||
"抗压能力",
|
||||
"五险一金",
|
||||
"双休",
|
||||
"逻辑清晰",
|
||||
"团队合作"
|
||||
],
|
||||
"福利标签": [
|
||||
"五险一金",
|
||||
"绩效奖金",
|
||||
"管理培训",
|
||||
"年度体检",
|
||||
"带薪年假"
|
||||
],
|
||||
"职位描述": "1. 支持QA部门负责人进行质量管理体系的维护、部门协调、审计准备及日常管理;\n2. 协助质量体系建设与优化,支持QA部门负责人进行GMP系统的策划、规划和持续改进,确保质量管理体系的科学性、合理性和有效性,推进公司整体GMP体系的实施;\n3. 支持产品放行决策,协助质量授权人履行相关职责,承担转授权委托的出厂产品放行审核工作,审查批生产记录及检测数据,决定原料药和外销中间体的放行或否决;\n4. 跨部门协调与合规管理,组织采购、生产、销售、注册等内部及外部部门,协调解决质量问题,确保产品全过程符合cGMP要求和法规标准;\n5. 部门内部管理支持,协助QA部门负责人进行内部团队建设、任务分配和工作协调,确保部门工作有序高效完成,并配合EHS部门完成相关管理工作;\n6. 审计准备与整改执行,组织开展外部审计前的内部审计活动,识别缺陷并进行整改,确保顺利通过客户或官方审计,确保CAPA在规定时间内反馈给客户或官方;\n7. 协调外部审计活动,策划和组织资源,实施质量体系的外部审计和官方审计活动,批准CAPA报告,监督整改效果;\n8. 会议与沟通协调,作为QA部门与内外部团队的沟通桥梁,组织筹备质量相关会议、记录会议纪要,并跟进决议事项执行情况;\n9. 文件与行政支持,负责起草、整理和归档QA相关文件,确保文件流转高效安全,统筹日程管理,优化QA总监的时间安排。",
|
||||
"任职要求": "1. 本科及以上学历,医药学、化学、生物技术或相关专业优先;\n2. 5年以上制药/生物技术企业QA质量管理经验,熟悉GMP/cGMP质量体系;\n3. 具备协助优化GMP系统及质量体系规划的能力;\n4. 熟悉国内外药品法规要求,能参与官方审计(如FDA/EMA)准备及整改;\n5. 擅长跨部门沟通(生产、研发、注册等),推动质量目标落地;\n6. 可协助管理重大偏差、OOS、CAPA等质量事件;\n7. 英语读写熟练(需处理英文文件及客户沟通),具备文件审核能力;\n8. 具备团队管理基础或协助管理层协调资源的能力。",
|
||||
"工作地点": "山东菏泽",
|
||||
"公司介绍": "山东朱氏药业集团公司成立于2003年12月,是一家集贴膏、医疗器械、化妆品、保健食品、生物试剂、消毒卫生用品、新药研发生产与销售、房产开发、物流配送、企业培训为一体的大型综合型企业集团。注册资金5亿元,子公司主要分布在山东、上海、广州、陕西、湖南、湖北、贵州、安徽等地,集团现有职工超5000人,其中研发技术人员320人。集团公司被评为中国健康产业创新企业、全国消费者信得过AAA级品牌企业、国家高新技术企业、山东省知识产权示范企业,集团公司拥有授权发明专利37项,实用新型专利58项,外观设计专利309项,山东省著名商标1项。公司实验室被认定为”菏泽市工程实验室”、“菏泽市工程技术研究中心”、“荷泽市重点实验室”,山东省工程实验室,并拥有山东省院士工作站、山东省博士后创新实践基地等研发平台,获山东省优秀技术创新成果一等奖1项、二等奖2项、菏泽市科学技术进步奖一等奖1项、二等奖3项、三等奖5项。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/7/20"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品生产技术员",
|
||||
"薪资": "5-6k",
|
||||
"学历要求": "专科",
|
||||
"招聘人数": "5人",
|
||||
"职位标签": [
|
||||
"生产线操作",
|
||||
"食品加工",
|
||||
"接受应届生",
|
||||
"单休",
|
||||
"五险一金",
|
||||
"团队合作",
|
||||
"抗压能力"
|
||||
],
|
||||
"福利标签": [
|
||||
"夜班津贴",
|
||||
"五险一金",
|
||||
"餐补",
|
||||
"高温补贴",
|
||||
"定期体检"
|
||||
],
|
||||
"职位描述": "1. 按标准操作流程执行产品生产,监控关键工艺参数(如温度、时间、配料比例),确保符合食品安全标准(如GMP、HACCP);\n2. 实时检查工艺流程,发现异常(如质量偏差、设备故障)及时上报并协助处理;\n3. 编制、更新生产工艺文件(作业指导书、工艺卡、产品标签信息)及生产记录;\n4. 参与新产品转产的技术资料准备和工艺流程设计;\n5. 监督生产环节的卫生规范(SSOP),抽查原料、半成品质量,协助质量事故调查;\n6. 参与保质期测试、工艺优化试验及质量改善项目;\n7. 操作生产设备(如灌装机、杀菌釜、均质机),完成日常清洁、点检及基础故障处理;\n8. 提出设备技术改造建议以提升效率或产品质量;\n9. 协助研发团队进行新品试产,提供生产技术支持;\n10. 分析生产数据,提出降耗增效、工艺升级的可行方案;",
|
||||
"任职要求": "1. 学历与专业:大专及以上学历(食品科学与工程、生物技术、化工等专业优先),部分企业可接受中专/高中学历但需具备相关工作经验;\n2. 工作经验:1年以上食品生产、加工、质检或设备维护经验(应届生可放宽,但需有实习经历);掌握食品生产工艺流程(如杀菌、灌装、包装)或特定产品技术(膨化食品、糖果等)者优先;\n3. 专业技能:熟悉食品生产设备操作(如灭菌机、灌装机、包装机)及日常维护;具备工艺优化能力,能协助解决生产异常问题;了解食品安全法规(如GB 14881、HACCP)和质量管理体系(ISO 22000、FSSC 22000);能编写技术文件(工艺流程、作业指导书等);\n4. 软技能要求:责任心强,注重生产安全与卫生细节;具备沟通协调能力和团队协作精神;学习能力强,能快速适应新技术或新工艺;\n5. 其他能力:熟练使用办公软件;能适应倒班、加班或旺季高强度工作;\n6. 加分项:具备内审员资格(如ISO、HACCP);熟悉食品添加剂使用及检测设备操作;英语能力(部分外企岗位需求)。",
|
||||
"工作地点": "苏州",
|
||||
"公司介绍": "拓丰技术是一家创新型食品技术公司,总部位于江苏省如皋市。公司专注于食品生产领域,通过技术优化和创新研发来提升产品质量与效率。作为一家初创企业,拓丰技术目前处于天使轮融资阶段,表明其在资本支持下正积极扩展业务规模。该公司在食品生产技术领域具有发展潜力,致力于推动食品行业的现代化升级。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/7/28"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品工艺工程师助理",
|
||||
"薪资": "5-7k",
|
||||
"学历要求": "本科",
|
||||
"招聘人数": "2人",
|
||||
"职位标签": [
|
||||
"食品工艺",
|
||||
"实验记录",
|
||||
"双休",
|
||||
"团队合作",
|
||||
"五险一金",
|
||||
"逻辑思维",
|
||||
"Office",
|
||||
"偶尔加班"
|
||||
],
|
||||
"福利标签": [
|
||||
"专业培训",
|
||||
"五险一金",
|
||||
"项目奖金",
|
||||
"餐补",
|
||||
"节日福利"
|
||||
],
|
||||
"职位描述": "1. 协助工程师完成新产品配方设计、工艺流程开发及原材料筛选;参与小试、中试实验并记录工艺参数,优化产品试产流程;\n2. 监督生产现场工艺规程执行,协助解决生产线技术问题(如设备调试、工艺异常分析),保障生产效率与稳定性;\n3. 对原料、半成品及成品进行抽样检测(如感官、pH值、水分含量等),记录数据并分析;参与关键控制点(CCP)巡检及质量异常反馈;\n4. 编写/整理技术文件(如SOP、BOM表、工艺流程图、包装示意图等),确保生产文档的准确性与完整性;\n5. 参与新设备选型、调试及试产验证;分析现有工艺流程,提出成本控制或效率提升的改进方案;\n6. 协助ISO 22000、HACCP等质量管理体系的运行,参与内审准备及整改措施跟踪;\n7. 收集生产数据并统计分析;调研行业趋势、竞品动态及新型设备技术,为研发提供参考;",
|
||||
"任职要求": "1. 学历要求:大专/本科及以上学历,食品科学与工程、生物工程、机械工程或相关专业(硕士学历或食品工艺专利持有者优先);\n2. 经验要求:接受优秀应届硕士生(无经验要求);或需1 - 3年食品行业工艺/质检相关经验(有研发、工艺优化或设备调试经验者优先);\n3. 专业知识:熟悉食品生产工艺流程(如烘焙、饮料、肉制品、调味品等细分领域优先);通晓食品法规标准(如GB 2760、GB 7718、HACCP、ISO 22000等);了解食品加工设备性能及工艺原理;\n4. 技能要求:熟练使用CAD制图软件;掌握Office办公软件(数据统计分析能力);具备工艺文件编写能力(操作流程、作业指导书等);\n5. 能力要求:较强的组织协调能力与团队合作精神;创新思维及工艺优化能力;抗压能力与解决生产现场问题的能力;\n6. 其他要求:能适应生产一线环境,接受基层轮岗锻炼;责任心强,工作严谨,注重细节。",
|
||||
"工作地点": "浙江省",
|
||||
"公司介绍": "古茗茶饮是中国领先的新式茶饮品牌之一,成立于2010年,总部位于浙江省诸暨市。公司致力于提供新鲜、健康的茶饮品,专注于茶饮研发、生产和质量控制体系。核心业务包括茶饮创新、食品检测和质量优化,覆盖全国数千家门店,产品强调天然原料与现代工艺的结合。作为食品行业中的上市企业,古茗茶饮注重可持续发展与技术创新,通过标准化的生产流程和人才培养,推动饮品行业的品质提升和市场拓展。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/8/3"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品安全管理员",
|
||||
"薪资": "5-7k",
|
||||
"学历要求": "专科及以上",
|
||||
"招聘人数": "3人",
|
||||
"职位标签": [
|
||||
"食品安全",
|
||||
"法规知识",
|
||||
"团队协作",
|
||||
"五险一金",
|
||||
"双休",
|
||||
"不需要出差",
|
||||
"责任心强"
|
||||
],
|
||||
"福利标签": [
|
||||
"执业资格补贴",
|
||||
"五险一金",
|
||||
"餐补",
|
||||
"安全奖金",
|
||||
"年度体检"
|
||||
],
|
||||
"职位描述": "1. 制定并完善本单位食品安全管理制度及岗位责任制度,定期检查执行情况,督促整改不合规行为;\n2. 对食品采购、加工、储存、销售全流程进行常态化巡查,重点检查原料索证索票、添加剂使用、环境卫生、设备清洁等情况,留存完整检查记录;\n3. 组织员工参加食品安全法规及操作规范培训,定期考核;\n4. 管理健康档案,监督从业人员健康检查,对患有碍食品安全疾病的人员调离岗位;\n5. 制定食品安全事故应急预案;发生疑似食物中毒或污染事件时,立即报告监管部门并配合调查,控制事态扩大;\n6. 建立食品安全管理档案(含检查记录、培训资料等),定期向市场监管部门提交食品安全自查报告;\n7. 配合市场监管部门的监督检查,提供所需资料并落实整改要求;\n8. 审核食品供应商资质,监督进货查验流程,确保原料来源合法、质量合格;",
|
||||
"任职要求": "1. 持有有效的《食品安全管理员》培训合格证书,部分高级岗位要求C2类(餐饮服务高级)证书;\n2. 身体健康,具备有效的《健康证明》(食品/餐饮从业人员健康证);\n3. 大专及以上学历,食品科学、食品安全、生物技术、营养学、公共卫生等相关专业优先(部分岗位3年以上经验者可放宽学历);\n4. 熟悉《食品安全法》及相关法规标准,掌握食品采购、储存、加工、运输等环节的安全要求;\n5. 1 - 3年食品/餐饮行业经验,具备团餐、食堂或第三方机构食安管理经验者优先;\n6. 具备现场检查及风险防控能力,能发现安全隐患并制定整改措施;\n7. 熟练使用办公软件(如Office),具备文件编写、记录管理及数据统计能力(如损耗分析、报告制作);\n8. 较强的沟通协调能力,能与内部部门(生产、仓储等)及监管机构有效对接;\n9. 责任心强,原则性强,敢于对违规行为提出纠正;\n10. 部分岗位需持有驾驶证,或具备英语表达能力(涉外项目);\n11. 年龄一般26 - 40岁,相关经验丰富者可放宽至30岁以上;\n12. 接受夜检、周末值班等弹性工作安排;\n13. 完成年度不少于40小时的食品安全培训;\n14. 抗压能力强,能快速适应工作环境;\n15. 具备食品安全事故应急处置能力。",
|
||||
"工作地点": "东莞市",
|
||||
"公司介绍": "町洋机电(中国)有限公司于2000年9月1日在江苏昆山成立,自此町洋生产基地全面落成。公司经历了风雨历程,迎来了蓬勃的发展。多年来,町洋机电持续提供具有竞争力的产品和解决方案,以提高产业竞争力和为客户创造价值,其产品广泛应用于现代化的各个制造领域。公司始终践行企业信念:“因联结而喜悦!Delight Through Connections!”,不断演绎“联结”传奇。为践行数字化发展之路,全新的二期数字化工厂已开启建设,这将成为町洋集团核心技术、精湛工艺与优良品质再次升华和聚变的序幕,也是町洋在数字化道路上的最佳例证。从2013年集团成立三十周年到2023年四十周年期间,町洋投入了“再创业”的十年发展计划,并启动了一系列数字化转型战略,为实现这一计划,公司积极招募各界人才加入。 ",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/8/9"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品包装设计师助理",
|
||||
"薪资": "5-8k",
|
||||
"学历要求": "专科及以上",
|
||||
"招聘人数": "5人",
|
||||
"职位标签": [
|
||||
"包装设计",
|
||||
"AI/PS",
|
||||
"创意能力",
|
||||
"双休",
|
||||
"团队合作",
|
||||
"五险一金",
|
||||
"偶尔加班"
|
||||
],
|
||||
"福利标签": [
|
||||
"五险一金",
|
||||
"绩效奖金",
|
||||
"节日礼品",
|
||||
"培训经费",
|
||||
"餐补"
|
||||
],
|
||||
"职位描述": "1. 协助主设计师完成创意设计:协助主设计师进行食品包装的创意构思、草图绘制及方案延展,运用手绘或设计软件(如PS/AI)将概念可视化;\n2. 执行基础设计任务:使用PS、AI等设计软件进行素材收集、图片处理、文字排版、图案设计等基础设计工作,完成包装稿件的初步排版与细节调整;\n3. 跟进印刷与打样流程:协助对接印刷厂,跟进包装打样、制作过程,解决生产中出现的设计问题,确保成品与设计稿保持一致;\n4. 市场调研与趋势分析:参与市场调研,收集竞品包装信息、行业趋势及消费者偏好,为设计提供数据支持;\n5. 设计文件与物料管理:整理、归档设计文件(如AI源文件、PSD分层稿),建立并维护素材库,确保文件规范存储和高效调用;\n6. 了解印刷工艺与材料特性:熟悉常见包装材料(如礼盒、瓶贴、标签)的特性和印刷工艺流程(如覆膜、烫金),确保设计方案可落地;\n7. 支持跨部门协作:配合市场、生产等部门,根据产品定位调整设计细节,确保包装方案符合品牌策略与成本要求;",
|
||||
"任职要求": "1. 大专及以上学历,美术设计、平面设计、广告设计等设计相关专业优先;\n2. 熟练掌握PS、AI等平面设计软件,部分岗位要求掌握SAI、C4D或Blender等软件辅助建模渲染;\n3. 具备基础设计理论知识(色彩搭配、排版原则等),有一定手绘能力者优先,擅长插画设计、摄影修图者更佳;\n4. 应届毕业生或1 - 3年食品/酒水饮料类包装设计经验均可,需提供相关设计作品集;\n5. 了解食品包装规范、印刷工艺及常用包装材料,熟悉市场趋势与竞品分析;\n6. 审美敏锐、创意活跃,责任心强,具备团队协作及沟通能力,能适应项目加班需求。",
|
||||
"工作地点": "珠海市",
|
||||
"公司介绍": "智圆行方深耕包装设计领域 20 年,专精于大健康行业,提供从品牌策略到包装落地的全方位解决方案。其核心业务集中在保健品、药品、食品及农产品包装设计上,强调通过创新设计提升产品市场价值。该公司秉持“策略 + 美学”双核驱动的理念,融合精准市场洞察与创意美学,专注于塑造差异化品牌形象。其服务旨在赋能产品价值升级,帮助客户在竞争激烈的消费市场中脱颖而出。同时,智圆行方提供一站式服务,包括品牌战略规划、创意设计及技术研发,确保包装方案兼具功能性和视觉吸引力。\n\n智圆行方服务过众多知名品牌,涵盖百年药企和头部消费品牌,如北京同仁堂、上海雷允上、兰州佛慈制药、燕之屋和小龙坎等,累计成功案例超千例,以设计力推动行业增长,在大健康产业(包括食品领域)树立了显著声誉。作为业内领先的视觉战略伙伴,智圆行方在包装设计公司榜单中位列前十,并因创新能力和全方位服务而广受认可。公司立足于深圳,服务范围辐射全国,致力于推动品牌价值和商业增长。 ",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/8/15"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品仓储管理员",
|
||||
"薪资": "5-5k",
|
||||
"学历要求": "专科",
|
||||
"招聘人数": "5人",
|
||||
"职位标签": [
|
||||
"仓储管理",
|
||||
"ERP系统",
|
||||
"单休",
|
||||
"团队合作",
|
||||
"五险一金",
|
||||
"抗压能力",
|
||||
"库存管理"
|
||||
],
|
||||
"福利标签": [
|
||||
"餐补",
|
||||
"夜班津贴",
|
||||
"五险一金",
|
||||
"宿舍/班车",
|
||||
"节日福利"
|
||||
],
|
||||
"职位描述": "1. 负责食品原材料、半成品、成品及其他物资的收货、验收(核对数量、规格、质量、保质期),不合格品拒收;\n2. 根据订单或发货计划拣选货品,办理出库手续并同步更新系统数据,确保账物一致;\n3. 按食品特性分类存放(如恒温、冷藏、冷冻区),标注到货/生产日期,严格执行“先进先出(FIFO)”原则;\n4. 定期检查库存环境(温湿度、卫生、防潮防晒),确保符合食品安全标准,防止变质或损坏;\n5. 执行月度/定期盘点,核对实物与系统数据,重点监控保质期,临期品标记并上报;\n6. 通过ERP/WMS系统实时录入出入库数据,生成库存报表,预警短缺或积压风险;\n7. 维护入库单、出库单、质检报告等单据,整理归档(保存≥2年以满足食品追溯要求);\n8. 登记电子/纸质台账,确保票、单、物一致,配合财务结算与审计;",
|
||||
"任职要求": "1. 专业知识资质:熟悉《食品安全法》《农产品质量安全法》等食品存储规范,了解GB/T23351 - 2009等质量标准;\n2. 仓储经验要求:具备1 - 5年食品/农产品仓储经验(主流要求1 - 3年),熟悉常温、冷藏、冷冻等多环境管理;\n3. 系统操作能力:熟练使用仓储管理系统(WMS/ERP)、办公软件(如Excel),具备数据分析能力;\n4. 库内管理技能:科学规划仓储区域,实现食材分类存储与先进先出(FIFO)原则;定期检查温湿度、卫生及设备运行,确保符合食品安全标准;\n5. 风险防控能力:执行仓储清洁消毒流程,防控害虫污染;熟悉消防安全及应急处理;\n6. 学历与专业:物流管理、仓储工程等相关专业优先,主流要求大专及以上学历(占比约61%);\n7. 职业素养:高度责任心,严谨细致,能适应高强度工作;吃苦耐劳,必要时参与货物搬运、盘点等体力操作;\n8. 沟通协调力:具备团队协作精神,有效沟通上下游部门及客户。",
|
||||
"工作地点": "深圳",
|
||||
"公司介绍": "北京京邦达贸易有限公司是一家专注于交通、运输和物流行业的大型企业,员工规模超过10,000人。作为供应链领域的领先服务商,公司致力于提供全球化的基础设施解决方案,并持续优化仓储与配送网络,以支持高效、可靠的物流运作。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/8/21"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品设备维护技师",
|
||||
"薪资": "5-7k",
|
||||
"学历要求": "专科及以上",
|
||||
"招聘人数": "3人",
|
||||
"职位标签": [
|
||||
"设备点检",
|
||||
"机械维修",
|
||||
"五险一金",
|
||||
"单休",
|
||||
"团队合作",
|
||||
"偶尔加班",
|
||||
"责任心强"
|
||||
],
|
||||
"福利标签": [
|
||||
"五险一金",
|
||||
"工具补贴",
|
||||
"值班津贴",
|
||||
"加班费",
|
||||
"定期体检"
|
||||
],
|
||||
"职位描述": "1. 负责食品生产设备的日常维护与保养,执行设备润滑、清洁、紧固等常规维护工作,确保设备处于最佳运行状态;\n2. 制定并实施设备预防性维护计划,定期巡检设备,开展大修、中修、小修工作,提前更换易损件,减少突发故障;\n3. 快速响应设备故障并修复,及时诊断生产线设备故障(如灌装线、烘焙设备、包装机等),缩短停机时间并记录维修过程;\n4. 记录设备运行及维修数据,建立设备维护档案,分析故障原因,提出预防措施和改进建议;\n5. 参与新设备安装调试与优化,协助新设备的安装、调试,根据生产需求调整设备参数,提升运行效率;\n6. 遵守安全规范操作,严格执行安全操作规程,确保维修过程符合生产安全标准;\n7. 配合生产部门需求,协调生产计划,保障设备运行与生产任务的匹配;",
|
||||
"任职要求": "1. 学历与专业要求:中专/技校及以上学历,机械、电气、自动化、机电一体化或相关理工科专业优先;\n2. 专业基础技能:熟悉机械原理、电气控制原理,具备基础电气知识(如三相电机、变频器、气动元件维修);\n3. 专业基础技能:能看懂机械图纸和电气原理图;\n4. 专业基础技能:熟练使用各类维修工具(扳手、电烙铁、液压工具等)和检测仪器;\n5. 经验与实践能力:具备 1 年以上食品、制药或制造业设备维修经验优先;\n6. 经验与实践能力:有食品工厂设备(如灌装机、包装机、输送带、PLC 控制系统)维修经验者优先;\n7. 经验与实践能力:具备较强的设备故障诊断能力,能快速定位故障点并独立完成维修;\n8. 经验与实践能力:动手能力强,能独立拆装设备;\n9. 证书要求:持有有效电工上岗证/电工证,持焊工证等相关证书者优先;\n10. 软性能力:抗压能力强,能适应紧急抢修和倒班工作(部分企业需 24 小时待命);\n11. 软性能力:具备良好的团队合作精神和沟通协调能力;\n12. 软性能力:工作认真负责,能吃苦耐劳,服从工作安排;\n13. 安全规范意识:熟悉并遵守行业安全规范(如 Lockout/Tagout - LOTO 程序)及安全标准(如 CE、GB 5226.1 机械电气安全);\n14. 特定行业要求:理解食品生产环境要求(如遵守卫生规范);\n15. 基本健康要求:身体健康,无传染病史。",
|
||||
"工作地点": "广东广州",
|
||||
"公司介绍": "益康食品设备有限公司是一家专注于食品加工行业设备集成、安装调试、技术维护及维修解决方案的专业技术服务供应商。我们深耕食品机械设备领域近二十年,服务网络覆盖全国主要食品产业集聚区,客户群体涵盖乳制品、饮料、肉制品、烘焙、调味品、方便食品等众多细分行业的知名生产企业。公司依托强大的技术团队和对全球主流食品生产设备品牌(如利乐、GEA、西得乐、克朗斯、莫迪维克等)的深度理解与维护经验,致力于为客户的生产线提供高效、稳定、可靠的运行保障。我们深刻认识到设备维护技师是确保食品安全生产与高效运营的核心力量,因此始终重视并积极吸纳拥有精湛技能、丰富经验和对食品安全高度责任感的专业维护人才加入我们的精英团队。益康致力于打造一个技术领先、服务卓越、管理先进并尊重人才的专业平台,持续推动中国食品加工行业的自动化、智能化升级。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/8/27"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "健康管理师助理",
|
||||
"薪资": "5-7k",
|
||||
"学历要求": "本科",
|
||||
"招聘人数": "1人",
|
||||
"职位标签": [
|
||||
"健康管理",
|
||||
"营养知识",
|
||||
"客户沟通",
|
||||
"双休",
|
||||
"五险一金",
|
||||
"接受应届生",
|
||||
"团队合作"
|
||||
],
|
||||
"福利标签": [
|
||||
"绩效奖金",
|
||||
"餐补",
|
||||
"专业培训",
|
||||
"五险一金",
|
||||
"年度体检"
|
||||
],
|
||||
"职位描述": "1. 协助健康管理师进行客户/患者健康评估,通过体检报告、问卷调查、面谈等方式收集健康信息(如生活习惯、疾病史、健康目标);\n2. 负责客户健康档案的建立、维护与更新,确保信息准确性和保密性;\n3. 配合健康管理师执行个性化健康管理方案,包括饮食建议、运动计划、慢病干预(如三高调理)等;\n4. 定期跟进客户健康状况,通过电话、短信或线上工具进行方案执行监督和效果反馈;\n5. 解答客户基础健康疑问,指导其正确使用健康管理工具(如体脂秤、健康APP);\n6. 提供初步健康咨询服务,如营养膳食建议、心理健康疏导、疾病预防知识普及;\n7. 协调安排客户参与健康诊疗、讲座、课程等活动,并做好通知与记录;\n8. 管理客户预约、数据录入、仪器设备维护(如InBody体成分仪)及日常行政事务;",
|
||||
"任职要求": "1. 学历与专业要求:具备医药卫生专业大学专科及以上学历证书;或非医药卫生专业大学专科及以上学历证书,但需满足其他附加条件(如相关工作经验);或医药卫生专业中等专科(中专)以上学历证书。相关专业通常包括医学、护理学、营养学、公共卫生、预防医学、心理学等;\n2. 工作经验要求(适用非对口专业或低学历者):若非医药卫生专业大学专科及以上学历者,需连续从事本职业(健康管理)或相关职业(如医疗、保健、健康服务等)工作2年以上;若为医药卫生专业中等专科(中专)学历者,需连续从事本职业工作3年以上;\n3. 职业培训要求(适用非对口专业或低学历者):在满足上述工作经验要求的基础上,需完成三级健康管理师正规培训并达到规定标准学时数,且取得培训结业证书;\n4. 职业技能证书要求(部分岗位或晋升要求):持有三级健康管理师(国家职业资格三级)职业资格证书或技能等级证书者优先考虑。具备报考三级健康管理师资格的应届毕业生(医药卫生相关专业)也可能被接受;\n5. 专业技能与素质要求:了解健康管理基础知识,具备健康监测、健康风险评估分析、健康危险因素干预等基础能力;具备良好的健康咨询、健康指导与沟通能力;能够协助收集、整理和管理个体或群体的健康信息;工作细致,有责任心,具备一定的学习能力和服务意识。",
|
||||
"工作地点": "无锡",
|
||||
"公司介绍": "河南乐享健康管理有限公司成立于2021年5月12日,专注于健康管理领域,定位为医疗健康服务提供商。公司业务覆盖健康咨询、慢性病调理(如高血压、糖尿病及心脑血管疾病康复)、科学减重及健康管理师职业资格培训等。其核心服务有慢病干预,通过生活方式调整、营养指导和远程监测,帮助客户实现慢性病逆转及康复;健康管理服务,为会员提供日常健康监测、运动指导和个性化健康方案;职业培训,开展健康管理师、公共营养师等职业资格认证培训。公司采用“线上 + 线下”结合的服务模式,团队规模为100 - 499人。工商信息显示其经营状态为“存续”(即正常运营),总部位于河南,在宁波等地设有服务网点。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/2"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品感官评定员",
|
||||
"薪资": "5-6k",
|
||||
"学历要求": "本科",
|
||||
"招聘人数": "4人",
|
||||
"职位标签": [
|
||||
"感官评价",
|
||||
"食品评测",
|
||||
"双休",
|
||||
"五险一金",
|
||||
"团队合作",
|
||||
"逻辑思维",
|
||||
"偶尔加班"
|
||||
],
|
||||
"福利标签": [
|
||||
"健康证补贴",
|
||||
"夜班津贴",
|
||||
"餐补",
|
||||
"五险一金",
|
||||
"定期体检"
|
||||
],
|
||||
"职位描述": "1. 制定感官评定方案:独立设计产品感官评定流程与标准,确保符合质量控制要求;\n2. 样品管理:调研市场行情,采购标准样品及竞品;制定抽检计划,匿名购买在售产品样品;\n3. 组织实施评定:组织内部人员(如品控、研发团队)进行盲测;把控测试环境、时间及流程规范性;\n4. 数据分析与报告:准确记录感官数据,编制评定报告;识别风味异常,推动问题产品改进闭环;\n5. 质量跟踪:定期复检整改产品,验证改善效果。",
|
||||
"任职要求": "1. 健康条件:身体健康,无感觉缺陷(如色盲、味觉异常、嗅觉障碍),无过敏史及服用影响感官灵敏度药物史;心理健康,无传染性疾病及明显个人气味;\n2. 感官能力:味觉、嗅觉敏感度高,能准确识别和描述食品风味差异;通过口感测评(如差异样品识别测试)且定期复测合格;\n3. 专业素质:具备食品科学相关专业知识,熟悉感官评定流程及标准;能客观评价样品,无个人偏见;\n4. 表达能力:具备良好的语言描述能力,能清晰定义产品特性(尤其描述性试验),并准确记录评定结果;\n5. 个人习惯:无长期吸烟、酗酒等影响感官灵敏度的不良嗜好;\n6. 工作态度:对待样品严谨客观,按时参与评定,能专注完成测试任务;\n7. 基本条件:本科及以上学历(食品科学相关专业优先),1年以上食品检测或感官评定经验;\n8. 其他要求:通过筛选测试(如三点检验、排序检验等)及专业培训,保证评定结果一致性;",
|
||||
"工作地点": "苏州市",
|
||||
"公司介绍": "古茗科技集团有限公司专注于食品饮料行业的研发、生产和质量管理,特别在茶类饮品、果汁及健康食品领域有深厚积累。其业务涉及产品开发、品质控制、感官评价等环节,致力于通过科学的感官分析方法提升产品风味和消费者体验。总部位于浙江杭州(接受短期培训),并在绍兴 - 诸暨设有相关工作基地,作为一家成长型科技企业,公司积极优化质量管理体系,并强化感官评测标准化流程。当前正在招聘食品感官评定员(如“高级食品检测”岗位),这表明公司重视感官科学在产品质量中的应用,包括设计差别检验实验(如三角测试)、编制评测报告,以及建立感官检测标准流程(SOP)。 ",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/18"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品原料采购专员",
|
||||
"薪资": "5-6k",
|
||||
"学历要求": "专科",
|
||||
"招聘人数": "4人",
|
||||
"职位标签": [
|
||||
"采购流程",
|
||||
"供应链基础",
|
||||
"团队合作",
|
||||
"五险一金",
|
||||
"双休",
|
||||
"Office",
|
||||
"沟通能力"
|
||||
],
|
||||
"福利标签": [
|
||||
"五险一金",
|
||||
"绩效奖金",
|
||||
"餐补",
|
||||
"交通补贴",
|
||||
"节日福利"
|
||||
],
|
||||
"职位描述": "1. 负责食品原料市场行情监测(如价格趋势、供需变化),采集市场信息并建立数据库;开发、评估及认证新供应商,维护供应商档案和合作关系;\n2. 根据生产计划及库存情况(需每日核查库存报表)编制采购计划;执行询价、比价、议价、合同签订及订单跟踪,确保原料按时保质到货;\n3. 建立供应商评估体系,定期审核供应商资质、交货能力及产品质量,优化供应商结构;处理合同履约问题及供应异常(如缺货、质量问题);\n4. 制定成本控制策略,通过谈判降低采购成本;协同品管、仓储部门验收原料,确保符合食品安全标准(如GB、FDA、HACCP)及公司质量要求;\n5. 维护采购价格、合同及供应商资料;负责ERP系统数据录入、采购单据归档及应付账款审核;\n6. 对接生产、仓储、物流部门,保障供应链顺畅;依据新产品规划整合采购资源,支持业务发展。",
|
||||
"任职要求": "1. 学历要求:大专及以上学历(部分企业要求本科),供应链、贸易、工商管理或相关专业优先;\n2. 工作经验:通常要求1年以上采购相关工作经验,部分中高级岗位要求3年及以上经验,特别关注供应链管理、供应商开发或成本优化经验;\n3. 专业知识与技能:熟悉采购流程(询价、比价、议价、合同签订、订单跟进);掌握供应商开发、评审与管理方法,能有效维护供应商关系;具备市场敏感度和成本意识,能进行初步采购成本预估;了解相关食品原料特性、规格标准、质量要求及市场价格,熟悉包材、添加剂、特定原材料者优先;\n4. 工具操作能力:熟练使用ERP系统(如金蝶、用友U8等)进行订单处理和数据分析;精通办公软件(尤其Excel),需掌握常用函数(如VLOOKUP)、数据透视表等,用于数据统计、报表编制;\n5. 核心能力与素养:沟通协调能力,能有效对接内外部部门,清晰传递需求与问题;商务谈判能力,能独立完成价格谈判,为公司争取有利条件;责任心与执行力,工作细致严谨,具备较强抗压能力和高效执行力;学习能力与上进心,能快速学习新知识,主动优化工作,适应变化;团队合作精神,具备良好的协作意识,融入团队工作;逻辑思维能力与数字敏感度,能分析采购数据,为决策提供支持;\n6. 职业道德:人品端正,遵守职业操守,具备风险防范意识。",
|
||||
"工作地点": "江苏省",
|
||||
"公司介绍": "安徽小龙人食品股份有限公司成立于2012年11月,是安庆市地产奶糖生产企业,主要生产和销售奶糖、雪花酥、牛轧糖等食品类产品。公司位于安庆市大桥开发区文苑路与中山大道交叉口加宝食品工业园内,其法定代表人为李志兴,注册资本为1188万人民币。目前公司经营状态为存续,所属行业为食品/饮料/烟酒,属于未融资企业,员工规模在100 - 499人之间。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/13"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "供应链经理储备干部",
|
||||
"薪资": "6-8k",
|
||||
"学历要求": "本科",
|
||||
"招聘人数": "2人",
|
||||
"职位标签": [
|
||||
"供应链管理",
|
||||
"储备干部",
|
||||
"抗压能力",
|
||||
"五险一金",
|
||||
"逻辑思维",
|
||||
"双休",
|
||||
"跨部门沟通"
|
||||
],
|
||||
"福利标签": [
|
||||
"轮岗培养",
|
||||
"五险一金",
|
||||
"绩效奖金",
|
||||
"住房补贴",
|
||||
"年度调薪"
|
||||
],
|
||||
"职位描述": "1. 参与供应链规划、流程梳理及效率提升项目,协助制定成本控制策略,推动供应链数字化升级;\n2. 负责供应链运营数据(库存周转、交付时效等)的采集、分析及可视化报告制作,支撑管理决策;\n3. 协助供应商开发、评估与关系维护,参与供应商能力审核(技术/品质/交付),推动供应链资源整合;\n4. 监控库存水位,参与制定安全库存策略,执行周期盘点及库存优化方案;\n5. 跟进订单履约全流程,协调生产、物流等环节资源,处理交付异常问题;\n6. 协同研发、生产、销售部门,参与新产品BOM成本评估及供应链方案落地;\n7. 根据培养计划在生产、计划、采购等岗位轮岗,掌握全链路业务实操能力;\n8. 参与供应链专业培训,学习供应链管理工具(如ERP/WMS/TMS),优化工作流程;\n9. 协助上级完成临时项目任务,参与团队管理与流程改进。",
|
||||
"任职要求": "1. 本科及以上学历(部分企业接受专科),物流管理、供应链管理、国际贸易、工商管理、电子工程、机械工程或相关专业优先;\n2. 硕士学历要求较少,仅个别高端岗位明确要求;\n3. 熟悉供应链运作流程(采购、仓储、物流、库存控制等)及优化方法;\n4. 具备基本数据分析能力,能运用工具(如Excel、SAP、Oracle等)处理供应链数据;\n5. 了解供应链风险管理及供应商评估体系;\n6. 出色的沟通协调能力,能有效推动跨部门协作;\n7. 较强的解决问题能力,能快速应对供应链突发问题;\n8. 执行力强,能高效完成领导交办任务;\n9. 具备团队合作精神和抗压能力;\n10. 学习能力强,能快速适应新环境并掌握新技能;\n11. 对供应链领域有浓厚兴趣,愿意长期深耕该领域;\n12. 具备主动性和责任感,有晋升管理岗位的意愿;\n13. 多数企业接受应届毕业生或无经验者(占比58%-68%),部分接受1-3年经验;\n14. 个别企业要求入职前完成2个月实习;\n15. 熟练使用Office办公软件;\n16. 良好的职业道德和责任心。",
|
||||
"工作地点": "浙江杭州",
|
||||
"公司介绍": "京东方科技集团股份有限公司(BOE)是中国领先的高科技企业,专注于物联网和半导体显示技术的研发与制造。公司成立于1993年,总部位于北京,业务覆盖显示器件、智慧物联、智慧医工等多个领域,致力于提供创新产品和解决方案,应用于智能手机、电视、可穿戴设备等全球市场。作为行业领导者,京东方拥有强大的研发实力、全球化的生产网络和严格的品质管理体系,持续推动技术进步和产业升级。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/18"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "跨境食品外贸跟单员",
|
||||
"薪资": "8-11k",
|
||||
"学历要求": "专科",
|
||||
"招聘人数": "3人",
|
||||
"职位标签": [
|
||||
"跨境业务",
|
||||
"国际贸易",
|
||||
"五险一金",
|
||||
"英语沟通",
|
||||
"单休",
|
||||
"Excel",
|
||||
"出差机会",
|
||||
"团队合作"
|
||||
],
|
||||
"福利标签": [
|
||||
"境外医疗险",
|
||||
"外派津贴",
|
||||
"驻外住宿",
|
||||
"差旅报销",
|
||||
"探亲机票补贴"
|
||||
],
|
||||
"职位描述": "1. 负责客户订单的接收、确认与系统录入,跟踪生产进度(如产前样、大货样进度),协调工厂按时保质完成订单,处理生产异常问题;\n2. 制作和审核报关单、发票、装箱单、提单、原产地证等全套出口单据,确保符合国际贸易规范及跨境食品监管要求;\n3. 安排跨境运输(海运/空运),订舱、协调装箱及送货;跟踪货物运输状态,处理清关文件寄送;配合完成商检、报关等跨境食品必备流程;\n4. 监督供应商生产过程,确保食品包装、标签等符合进口国标准;陪同客户或第三方验货,处理质量异常及客户投诉;\n5. 跟进货款回收进度,及时催收应收款项;维护客户关系,解答订单查询,处理售后问题及客诉;\n6. 归档订单合同及单证文件;制作销售报表;核销单收回;确保操作符合食品安全法规及贸易合规要求;",
|
||||
"任职要求": "1. 大专及以上学历,国际贸易、英语、物流或相关专业优先;\n2. 普遍要求具备2年及以上食品相关外贸跟单或出口业务操作经验,部分岗位要求3 - 5年或5年以上食品出口行业经验;\n3. 熟悉食品外贸出口全流程(包括接单、生产协调、报检报关、订舱、清关、单证制作、退税等);\n4. 精通外贸单据制作(如合同、发票、装箱单、报关单、原产地证等);\n5. 了解国际贸易术语(Incoterms)及相关进出口法规;\n6. 掌握基本办公软件(Word, Excel等);\n7. 部分岗位要求熟悉T+系统、U8系统或ERP系统;\n8. 英语四级(CET - 4)及以上是普遍基本门槛;\n9. 要求良好的英语读写能力,能熟练处理英文邮件、制作单证、阅读合同;\n10. 部分高级或外企岗位要求英语六级、专业八级或流利的听说能力以便商务沟通、谈判及电话会议;\n11. 工作细致严谨、认真负责,能高效处理细节和复杂情况;\n12. 思维逻辑清晰,沟通协调能力出众,擅长对内跨部门协调、对外与客户/供应商/物流/报关行等沟通协作;\n13. 具备良好的服务意识、抗压能力及解决问题的能力,能积极应对突发事件和处理客户投诉;\n14. 积极主动、责任心强,有团队合作精神;\n15. 拥有食品/饮料/酒水行业外贸背景优先;\n16. 具备外企工作经验优先;\n17. 有留学经历优先;\n18. 熟悉跨境电商平台操作者优先;\n19. 报关员证等相关外贸资格证书是部分岗位的加分项。",
|
||||
"工作地点": "菲律宾",
|
||||
"公司介绍": "石狮彩伦食品有限公司是一家专注于休闲食品出口的食品企业,旗下运营多个知名品牌,包括藤野一村和美伦多。其核心产品为休闲零食类目,如饼干、蛋卷、椰子卷、虾片等,覆盖国内外市场。公司注重品牌化运作,产品可直接通过主流电商平台(如天猫、京东)进行了解和购买。石狮彩伦食品在行业内通过参加国际展会等方式拓展业务,体现了其在跨境食品贸易领域的专业性和市场影响力。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/23"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品品控专员",
|
||||
"薪资": "5-8k",
|
||||
"学历要求": "专科",
|
||||
"招聘人数": "3人",
|
||||
"职位标签": [
|
||||
"质量检测",
|
||||
"团队协作",
|
||||
"单休",
|
||||
"食品标准",
|
||||
"五险一金",
|
||||
"偶尔加班",
|
||||
"责任心强"
|
||||
],
|
||||
"福利标签": [
|
||||
"绩效奖金",
|
||||
"餐补",
|
||||
"五险一金",
|
||||
"技能津贴",
|
||||
"定期体检"
|
||||
],
|
||||
"职位描述": "1. 生产过程质量监控:负责生产全环节的产品抽样、检验、封存及留样登记,确保符合质量要求;\n2. 原辅料与成品检验:执行原辅料理化检验、成品微生物检测(如菌落总数、大肠杆菌等)及生产环境(空气、设备表面)卫生监测;\n3. 现场工艺与卫生监督:巡检生产现场,监督操作人员是否遵守卫生规范、标准工艺流程及关键控制点参数(如杀菌温度、配料比例);\n4. 不合格品处理:对生产/储存/交付环节的不合格品进行调查分析,提出处理方案并跟踪改进措施;\n5. 质量数据管理:整理检验数据,建立质量台账;分析质量趋势,编制报告并向上级汇报异常问题;\n6. 实验室设备维护:负责检测仪器的日常校准、清洁、保养及基础故障排查;\n7. 合规性与文件管理:确保生产流程符合食品安全法规(如HACCP、ISO22000);管理质量记录文件,支持外部审核;\n8. 留样与追溯管理:按规定保存留样产品,定期复检并记录数据,协助质量事故追溯分析;\n9. 跨部门协作:与生产、采购部门沟通质量问题,推动流程优化;协助新原料/产品试产的质量评估;",
|
||||
"任职要求": "1. 学历要求:大专及以上学历,部分企业接受中专学历或优先考虑本科(如食品、化学、生物等相关领域);\n2. 专业背景:食品质量与安全、食品科学与工程、食品营养与检测、生物、化学等相关专业毕业或优先考虑;\n3. 知识要求:了解食品质量体系如ISO9000、ISO22000等,并能在工作中推进体系完善;\n4. 法规熟悉度:熟悉国家和地方的食品安全与产品质量相关法律法规和要求;\n5. 技术技能:熟悉食品理化与微生物检验方法,能独立操作常规检测设备和实验仪器(如检验原辅料、成品和车间环境);\n6. 电脑操作能力:熟练使用Microsoft Office等办公软件,部分要求会使用ERP或追溯系统;\n7. 工作经验:有1 - 3年以上食品行业品控经验优先考虑,部分企业接受应届毕业生或无经验者;\n8. 证书持有:具备食品检验员、ISO内审员等相关职业资格证书者优先;\n9. 个人品质:责任感强、原则性强、细心严谨、勤奋敬业、有合作精神和良好的职业道德;\n10. 软技能:具有较强协调沟通能力,能处理质量异常、解决问题,并承担工作压力和挑战;\n11. 学习与适应能力:学习能力强,能适应倒班或不规则工作时间(如夜班生产)。",
|
||||
"工作地点": "深圳",
|
||||
"公司介绍": "牧原集团位于河南省南阳市,始创于1992年,历经32年发展,现已形成集饲料加工、生猪育种、生猪养殖、屠宰加工为一体的猪肉产业链,主要产品有商品猪、种猪、仔猪和猪肉。目前集团总资产2100亿元,员工14万人,旗下牧原食品股份有限公司于2014年上市,养猪业务遍及全国24省(区)103市217县(区),2023年出栏生猪6382万头。2019年,成立牧原肉食品有限公司,现已成立26家屠宰子公司,发展布局11省22市26县,投产10个屠宰厂,产能2900万头,猪肉销售覆盖20省67市,2023年屠宰生猪1326万头。牧原始终秉承“让人们吃上放心猪肉”的美好愿景,科技赋能养猪产业,致力于打造安全、美味、健康、环保的高品质猪肉,让人们享受丰盛人生。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/27"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "品牌运营管培生",
|
||||
"薪资": "6-8k",
|
||||
"学历要求": "本科",
|
||||
"招聘人数": "2人",
|
||||
"职位标签": [
|
||||
"品牌运营",
|
||||
"市场思维",
|
||||
"双休",
|
||||
"五险一金",
|
||||
"团队合作",
|
||||
"Office",
|
||||
"沟通能力"
|
||||
],
|
||||
"福利标签": [
|
||||
"五险一金",
|
||||
"绩效奖金",
|
||||
"轮岗培养",
|
||||
"培训经费",
|
||||
"餐补"
|
||||
],
|
||||
"职位描述": "1. 协助制定品牌年度传播策略,策划线上线下品牌活动,提升品牌曝光度与用户认知;\n2. 负责品牌内容创作与分发,包括新闻稿、行业洞察、短视频、社交媒体内容等,优化传播效果;\n3. 管理用户全生命周期(拉新、促活、留存、转化),通过活动策划提升用户活跃度与忠诚度;\n4. 设计并执行用户增长策略,例如裂变活动、会员体系优化等;\n5. 监控用户行为数据(如留存率、转化漏斗、LTV等),分析运营效果并输出优化建议;\n6. 建立数据监测体系,通过BI工具生成可视化报告,驱动业务决策;\n7. 联动产品、市场、设计等部门,推动品牌项目落地执行(如新品上市、联名活动等);\n8. 管理供应商及外部合作伙伴资源,确保项目高效完成;\n9. 跟踪行业趋势、竞品动态及用户需求变化,为品牌策略调整提供依据;",
|
||||
"任职要求": "1. 985、211高校本科及以上学历优先,或具有突出成就(如高考优异、工作销冠、校园杰出成果等),需证明成功潜质;\n2. 具备对市场的敏锐洞察力、人际亲和力及持续的好运体质(大数据验证的底层能力),需展现自驱力和事业热情;\n3. 排斥“打工人心态”,不接受追求朝九晚五、缺乏主动性和事业投入度的候选人;\n4. 需适应跨领域工作,包括基础运营、视觉策划、产品供应链及管理,具备营销、推广、产品开发等多模块实践潜力;\n5. 明确长期发展意向,接受从管培生逐步晋升至品牌主理人(路径:管培生→运营助理→专员→主理人),目标成为独立操盘服装品牌的商业领袖;",
|
||||
"工作地点": "江苏省",
|
||||
"公司介绍": "联易融是一家专注于金融科技领域的已上市企业,总部位于深圳(桂庙路口)。公司致力于通过数字化技术赋能供应链金融,为全球企业客户提供高效、透明的解决方案。作为行业领先平台,联易融依托人工智能和大数据分析,简化传统金融流程,助力合作伙伴优化资金流动与风险管理。公司强调创新驱动发展,聚焦金融服务的技术升级,以推动产业生态的可持续发展。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/10/1"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品电商运营助理",
|
||||
"薪资": "5-6k",
|
||||
"学历要求": "专科",
|
||||
"招聘人数": "1人",
|
||||
"职位标签": [
|
||||
"电商运营",
|
||||
"数据分析",
|
||||
"团队合作",
|
||||
"五险一金",
|
||||
"单休",
|
||||
"跨部门沟通",
|
||||
"PS",
|
||||
"偶尔加班"
|
||||
],
|
||||
"福利标签": [
|
||||
"餐补",
|
||||
"绩效奖金",
|
||||
"五险一金",
|
||||
"交通补贴",
|
||||
"节日福利"
|
||||
],
|
||||
"职位描述": "1. 商品管理:负责食品类目的商品上架、下架及信息维护,优化商品标题、详情页文案及图片,确保信息合规且突出卖点;\n2. 活动支持:协助策划促销活动(如限时折扣、满减),申报平台资源位,跟踪活动效果并提交优化建议;\n3. 数据监控:每日统计销售、流量、库存等数据,通过Excel(熟练使用VLOOKUP、数据透视表等)分析商品表现,输出报表;\n4. 店铺运维:维护店铺评分,处理平台规则合规性(如质检标签、广告规范),优化搜索排名;\n5. 客户协作:处理售前咨询与售后问题(如退换货、物流跟踪),提升客户满意度;\n6. 内容协助:配合设计团队制作营销素材(需基础PS技能),同步食品卖点及活动信息;\n7. 竞品调研:监控同类食品竞品动态,分析价格、活动策略,提供竞争方案;\n8. 供应链支持:跟进食品库存与订单发货,协调采购与仓储环节,确保及时履约;\n9. 跨部门沟通:协同客服、设计、物流团队推动运营计划落地;\n10. 平台对接:与电商平台(如天猫、抖音)运营沟通,争取资源位并同步政策变动。",
|
||||
"任职要求": "1. 大专及以上学历,电子商务、市场营销、食品科学等相关专业优先考虑;\n2. 1年及以上食品电商运营经验,熟悉淘宝、京东、拼多多、抖音等主流电商平台的规则和操作流程,有成功案例或食品类目经验者优先;\n3. 熟练使用Excel、Word、PPT等办公软件,具备较强的数据分析能力,能够处理销售数据、分析市场趋势并优化方案;\n4. 具有良好的沟通协调能力和团队合作精神,能够高效协作完成工作,无内耗;\n5. 具备优秀的抗压能力,适应高强度工作环境,学习能力强,能快速适应行业变化;\n6. 熟悉食品行业电商运营全流程,如商品上架、推广、客户反馈处理,有电商资源者优先;\n7. 执行力强,注重细节,能够有效执行运营策略和维护客户关系;",
|
||||
"工作地点": "中山",
|
||||
"公司介绍": "秀身堂坚信深海海藻富含了无穷的生命能量,能重塑年轻肌肤和完美体型。为揭开深海海藻能量来源之谜,秀身堂武田海藻研发中心开始了对海藻的研究。历经长达20多年的潜心研究,1999年秀身堂国际推出以深海天然绿藻为主要成份的绿藻塑型系列产品,该系列产品一经问世便轰动了整个减肥行业。同年,“秀身堂”品牌被国际权威品牌联盟理事会认定为国际塑型美容权威品牌。秀身堂国际基于对深海海藻生命能量的利用,研发了多系列健康高效的塑型美颜产品,更加奠定了秀身堂国际在塑型美颜领域的权威地位。17年来,以天然海藻为核心产品成分的秀身堂销售领跑中国,遍布全球,成为千万爱美人士的首选品牌。今天秀身堂国际在“新科技 新美容 新塑型”的战略思想指导下,坚持以“健康塑造时尚美”为企业核心理念,“塑型美颜 内外兼修”为产品研发理念,不断用高科技激活天然海藻能量,科学专业配方,尖端生产技术,不断创新打造出上百种健康、高效的塑型美颜产品,引领着塑型美颜行业的发展,为消费者带去更天然、更健康、更安全、更高效的美容美体产品。为全世界塑型美容事业做出了巨大的贡献。秀身堂国际一直...",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/10/4"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品市场推广专员",
|
||||
"薪资": "5-8k",
|
||||
"学历要求": "专科",
|
||||
"招聘人数": "6人",
|
||||
"职位标签": [
|
||||
"市场推广",
|
||||
"客户沟通",
|
||||
"双休",
|
||||
"五险一金",
|
||||
"团队协作",
|
||||
"抗压能力",
|
||||
"逻辑思维"
|
||||
],
|
||||
"福利标签": [
|
||||
"五险一金",
|
||||
"绩效奖金",
|
||||
"通讯补贴",
|
||||
"年度调薪",
|
||||
"专业培训"
|
||||
],
|
||||
"职位描述": "1. 根据公司市场策略和区域销售目标,制定具体的线下推广方案(如促销活动、试吃、展会),落实活动流程并监督执行进度;\n2. 负责促销员招募、培训、现场管理,处理活动突发事件及结案效果评估;\n3. 协助经销商进行新品铺货、终端陈列(如商超货架生动化设计),筛选物料投放位置并评估效果;\n4. 执行产品广告投放,监控推广物料(海报、赠品等)的预算申领与分发;\n5. 收集区域市场动态、消费者反馈及竞品推广策略(如定价、促销),形成分析报告供决策参考;\n6. 参与行业展会,拓展新客户资源,维护区域客情关系;\n7. 对接销售团队、推广执行公司、广告商及政府/社区机构(如场地审批),确保活动合规;\n8. 协调内部资源(设计、物流)支持推广物料制作与分发;\n9. 跟踪推广活动投入产出比(ROI),整理订单转化等数据,优化后续方案;",
|
||||
"任职要求": "1. 学历要求:大学本科及以上学历,市场营销、管理类、食品科学或相关专业优先;部分基础岗位可放宽至大专或中专学历(需具备较强实践能力);\n2. 行业经验:熟悉食品行业,至少1年以上市场推广、销售或快消品相关工作经验;有食品类产品推广经验者优先;\n3. 专业技能:\n - 熟练使用MS Office(Word/Excel/PowerPoint)进行数据分析、文档编写及演示文稿制作;\n - 具备市场信息收集、数据分析能力,能敏锐洞察行业动态和竞品动向;\n4. 核心能力:\n - 较强的规划与执行能力,能独立制定推广计划并落地实施;\n - 优秀的沟通协调能力及表达能力,擅长维护客户关系;\n - 创新意识突出,对产品运营和用户需求敏感;\n5. 语言与文档能力:具备中英文字表达及文档编写能力(如策划方案、报告等);\n6. 职业素质:抗压能力强,责任心强,具备团队合作精神及敬业精神;\n7. 加分项:\n - 有渠道开发、终端门店推广或线下活动执行经验者优先;\n - 具备品牌管理(Brand Marketing)、渠道运营(Trade Marketing)经验者优先。",
|
||||
"工作地点": "江门市",
|
||||
"公司介绍": "宁夏吴记餐饮有限公司成立于2022年,同年成功孵化了以清真传统美食文化为主的“吴记串串火锅自助”,提供100多种产品,涵盖牛羊、家禽、鱼类、海鲜等品类,深受顾客喜爱,开业至今成为吴忠餐饮排队王。2024年,公司全力打造中高端品牌“吴记鲜切牛自助涮烤”,开创了将涮烤自助以点餐形式呈现的自助餐新模型。经过3个月的打磨和体系优化,门店凭借高品质产品及服务收获大量忠实顾客,在抖音平台连续稳居人气榜、热门榜、好评榜第一。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/10/6"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品数据分析助理",
|
||||
"薪资": "5-6k",
|
||||
"学历要求": "本科",
|
||||
"招聘人数": "2人",
|
||||
"职位标签": [
|
||||
"数据分析",
|
||||
"Excel",
|
||||
"逻辑思维",
|
||||
"双休",
|
||||
"五险一金",
|
||||
"团队合作",
|
||||
"偶尔加班",
|
||||
"SQL"
|
||||
],
|
||||
"福利标签": [
|
||||
"餐补",
|
||||
"五险一金",
|
||||
"绩效奖金",
|
||||
"年度体检",
|
||||
"专业培训"
|
||||
],
|
||||
"职位描述": "1. 基础数据处理与维护:负责食品业务相关数据(销售、库存、供应链、消费者行为等)的收集、清洗、归类与日常更新,确保数据的准确性和时效性;建立并优化数据模板及统计流程,支持部门高效运作;\n2. 日常报表制作与分析支持:独立或协助制作食品业务的日/周/月常规报表(如销售追踪表、库存周转报告、店铺绩效表),并进行初步趋势解读;为市场、运营、产品及供应链部门提供即时数据支持;\n3. 专项分析协助:在资深分析师指导下,参与以下食品专项数据分析:销售数据解析与预测(如品类销售表现、促销效果评估);库存与供应链数据监控(如周转率分析、缺货预警);消费者画像研究与客流分析(如购买偏好、区域消费特征);协助完成市场调研报告、竞品分析或新品上市评估的数据支撑;\n4. 可视化与报告输出:将分析结果通过BI工具(如Tableau, Power BI)制作可视化看板,或整理成简明数据报告,直观呈现给业务部门及管理层;\n5. 数据质量与流程优化:负责验证运营数据准确性,修正异常值;参与建立/优化数据指标体系;协助维护数据库及BI报表,提升数据服务的稳定性与效率;\n6. 跨部门协作与临时需求响应:对接业务部门临时数据需求(如紧急销售分析、活动效果追踪),快速提取、整合数据并提供初步洞见;与数据工程师、产品团队协作完成数据项目。",
|
||||
"任职要求": "1. 本科及以上学历,数学、统计学、计算机、数据科学、商务管理等相关专业优先,部分岗位接受优秀应届毕业生;\n2. 熟练使用 SQL 进行数据库管理;\n3. 掌握 Python、Excel、SPSS 等数据分析工具;\n4. 具备数据可视化能力(如 Power BI 等);\n5. 有餐饮/生鲜/食品行业数据分析经验者优先;\n6. 部分岗位要求 1 - 3 年相关工作经验;\n7. 对数据敏感,能独立提炼数据洞察点并编写分析报告;\n8. 具备搭建数据监控模型、预警算法或数据看板的能力;\n9. 熟悉食品质量安全标准或供应链流程;\n10. 能通过数据分析指导业务优化(如爆品预测、库存管理);\n11. 优秀的跨部门沟通能力,能向非技术人员解释数据结果;\n12. 抗压能力强,工作严谨细致,有团队合作精神;",
|
||||
"工作地点": "珠海市",
|
||||
"公司介绍": "香港康福莱集团有限公司是一家综合性食品加工企业,专注于休闲食品/零食、宠物食品的研发、生产与销售,并布局食品贸易及技术解决方案领域。该公司为中小型企业,规模为50 - 99人,隶属于快速消费品(食品、饮料、化妆品)行业。其产业覆盖食品原料开发、生产流程优化及创新食品研发,服务于零售和餐饮市场。 ",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/10/8"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "食品出口报关员",
|
||||
"薪资": "5-6k",
|
||||
"学历要求": "专科",
|
||||
"招聘人数": "2人",
|
||||
"职位标签": [
|
||||
"食品出口",
|
||||
"报关流程",
|
||||
"跨境业务",
|
||||
"单休",
|
||||
"英语沟通",
|
||||
"五险一金",
|
||||
"抗压能力"
|
||||
],
|
||||
"福利标签": [
|
||||
"五险一金",
|
||||
"外贸补贴",
|
||||
"绩效奖金",
|
||||
"出差补贴",
|
||||
"餐补"
|
||||
],
|
||||
"职位描述": "1. 单据准备与审核:整理出口食品的合同、发票、装箱单、卫生许可证、原产地证明等报关必备文件;核实商品信息(品名、规格、数量、重量、保质期等),确保单证真实、完整、有效;重点审核食品类商品是否符合出口国检验检疫及标签标识要求;\n2. 报关单填制与申报:准确填制出口报关单,申报食品的商品编码(HS Code)、成交价格、原产地等信息;通过中国国际贸易“单一窗口”或电子口岸系统向海关提交申报数据;及时处理海关审单反馈,补充或修改申报内容;\n3. 税费与监管手续办理:计算并申请缴纳出口关税、增值税(如适用);办理加工贸易手册备案/核销、保税监管、出口退税等专项业务;申请食品出口所需的减免税、加急通关等特殊流程;\n4. 查验协调与问题处理:配合海关对出口食品进行现场查验(如抽样、标签核对、温控检查等);协调仓储、物流部门配合查验,及时处理查验异常情况;应对海关稽查,提供食品出口合规性证明材料;\n5. 法规跟踪与风险防控:实时关注食品进出口法规、海关政策及贸易协定更新(如RCEP原产地规则);规避申报错误、单证不符等合规风险,防止食品退运或扣留;监控出口食品的结关状态,确保按时放行装运;\n6. 跨部门协作与记录管理:协同生产、质检部门获取食品合格证明;与货代、运输方对接装运计划;保管报关单、放行单等档案,确保追溯信息完整。",
|
||||
"任职要求": "1. 学历背景:大专及以上学历,国际贸易或物流类相关专业优先;\n2. 工作经验:至少两年报关或相关领域工作经验,有外贸企业工作经历者优先;\n3. 专业证书:持有有效的报关员资格证(须在海关注册),部分企业要求报检员资格证;\n4. 专业知识:熟悉报关流程、海关法规、商品归类(如HS编码)及进出口监管制度;\n5. 语言能力:具备基础英语水平,能读写外贸单据(如发票、装箱单),英文能力在自理报关中更关键;\n6. 计算机技能:熟练掌握办公自动化软件和海关电子口岸系统,支持电子报关操作;\n7. 驾驶技术:拥有熟练驾驶技能,能独立完成往返海关、仓库等地的物流任务;\n8. 软技能:良好的沟通能力和问题处理能力,强调团队合作及客户协调经验;\n9. 个人素质:工作细心负责、为人正直,能承担法律责任,无犯罪或报关违规记录(如走私、申报不实);\n10. 基础资格:中华人民共和国国籍,年满18周岁,具有完全民事行为能力。",
|
||||
"工作地点": "湖州",
|
||||
"公司介绍": "鑫德大(厦门)食品有限公司是一家位于厦门市的民营公司,专注于快速消费品行业,公司规模为100 - 299人。",
|
||||
"岗位相关标签": "专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/10/10"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "海外食品直采员",
|
||||
"薪资": "8-12k",
|
||||
"学历要求": "专科及以上",
|
||||
"招聘人数": "2人",
|
||||
"职位标签": [
|
||||
"跨境采购",
|
||||
"供应商开发",
|
||||
"食品品控",
|
||||
"国际物流协同",
|
||||
"价格谈判",
|
||||
"报关对接"
|
||||
],
|
||||
"福利标签": [
|
||||
"外派津贴",
|
||||
"国际医疗保险",
|
||||
"驻外住宿",
|
||||
"年度返乡机票",
|
||||
"工作签证支持"
|
||||
],
|
||||
"职位描述": "1. 负责海外食品供应商的筛选、评估与维护,收集供应商资质及合规证书,确保直采来源合法稳定;\n2. 执行海外直采计划,开展询价、比价、合同谈判,确保采购价格合理且符合公司预算;\n3. 跟进国际物流、清关及检疫流程,协助处理跨境运输中的突发问题,保证货物及时入库;\n4. 定期进行海外食品市场调研,掌握品类趋势、价格动态及竞争对手策略,为采购提供依据;\n5. 管理直采产品数据库,维护采购台账和报表,定期编制直采工作报告;\n6. 协助质量部门进行产品抽检和验收,确保食品品质符合国家及进口标准;\n7. 与内部仓储、销售团队协作,保障供应链高效运转,支持销售计划落地。",
|
||||
"任职要求": "1. 具备本科或以上学历;\n2. 拥有3 - 5年或以上相关采购工作经验;\n3. 持有英语六级(CET - 6)或以上证书;\n4. 具有海外直采经验(尤其涉及进口休闲食品、酒水等品类);",
|
||||
"工作地点": "菲律宾",
|
||||
"公司介绍": "上海清美供应链有限公司是上海清美集团旗下的核心企业,作为国家农业产业化龙头企业和上海市百强企业,该公司专注于食品供应链领域的批发与零售业务。公司成立于2018年4月17日,注册资本为5000万人民币,目前经营状态为存续。其主要运营地址位于上海市浦东新区清美集团总部661号6楼,公司规模为100 - 499人,业务模式以自营为主,无需外部融资。该公司致力于保障食品供应链的稳定性和高效性,包括开展海外直采食品类商品的业务。",
|
||||
"岗位相关标签": "人才出海岗位",
|
||||
"岗位招聘截止时间": "2025/7/12"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "海外食品市场总监助理",
|
||||
"薪资": "25-40k",
|
||||
"学历要求": "本科及以上",
|
||||
"招聘人数": "1人",
|
||||
"职位标签": [
|
||||
"市场战略",
|
||||
"团队管理",
|
||||
"品牌定位",
|
||||
"国际食品趋势",
|
||||
"渠道拓展",
|
||||
"预算管控"
|
||||
],
|
||||
"福利标签": [
|
||||
"外派津贴",
|
||||
"国际差旅报销",
|
||||
"驻外住房补贴",
|
||||
"境外商业保险",
|
||||
"高管年终奖"
|
||||
],
|
||||
"职位描述": "1. 协助市场总监收集海外食品行业数据,开展市场规模、消费趋势与竞争态势分析;\n2. 参与制定年度市场推广方案,跟进海外广告投放、展会活动及线上宣传执行;\n3. 准备会议汇报资料与市场分析报告,负责数据图表与案例整理,提升决策参考价值;\n4. 跟进跨部门协作,协调销售、品牌、公关等资源,确保市场活动顺利落地;\n5. 监督海外市场活动执行效果,收集反馈并编写总结,提出改进意见;\n6. 管理市场文件与档案,整理活动资料、合同与预算执行情况;\n7. 协助上级跟踪重点客户与合作伙伴,做好联络与信息记录工作。",
|
||||
"任职要求": "1. 大专以上学历,年龄在28 - 40岁之间,英语6级水平(口语流利),市场营销、国际贸易或商务英语等相关专业优先;\n2. 具有5年以上食品或快速消费品行业的海外市场工作经验,熟悉烘焙行业背景(如糕点、饼干等)者优先;\n3. 具备市场分析能力、销售策略制定能力、商务谈判能力,能适应频繁出差;",
|
||||
"工作地点": "新加坡",
|
||||
"公司介绍": "这家公司是一家位于中国福建省漳州市龙海区的私营烘焙食品企业,专注于食品、饮料和酒水领域。作为一家拥有 500 - 999 人规模的私营·民营企业,它在烘焙行业(例如糕点、饼干等产品)具备稳定的业务基础,致力于国内外市场的拓展和品牌建设。公司拥有全面的产品线和完善的生产设施,着重于国际化布局,积极开拓海外市场,以适应全球消费者需求。通过持续的创新和跨文化沟通,它在行业内建立了良好的声誉,并强调了适应性强和团队高效的经营理念。",
|
||||
"岗位相关标签": "人才出海岗位",
|
||||
"岗位招聘截止时间": "2025/7/20"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "海外食品业务经理",
|
||||
"薪资": "15-25k",
|
||||
"学历要求": "本科及以上",
|
||||
"招聘人数": "3人",
|
||||
"职位标签": [
|
||||
"业务拓展",
|
||||
"客户维护",
|
||||
"销售指标",
|
||||
"市场反馈"
|
||||
],
|
||||
"福利标签": [
|
||||
"国际医疗保险",
|
||||
"外派津贴",
|
||||
"驻外住宿",
|
||||
"签证与税务协助",
|
||||
"年度探亲机票"
|
||||
],
|
||||
"职位描述": "1. 制定并执行海外食品业务发展计划,推动渠道建设和市场拓展,确保年度销售目标完成;\n2. 负责重点客户开发与关系维护,开展商务谈判,签订合同并跟进执行;\n3. 监控订单执行全过程,协调供应链、仓储与物流,保证产品及时交付;\n4. 收集客户需求与市场信息,定期分析业务数据,优化产品结构与销售策略;\n5. 识别并控制业务风险点,保障资金回款与合同履约安全;\n6. 指导业务团队开展市场开拓,提供培训与支持,提升整体业绩水平;\n7. 编制业务总结、销售预测与市场分析报告,向上级汇报工作进展。",
|
||||
"任职要求": "1. 5年以上国际贸易或食品行业经验,其中至少3年专注海外市场拓展,熟悉目标区域(如欧美、东南亚)的食品法规与消费习惯;\n2. 食品相关专业本科及以上学历,具备扎实的食品科学、营养学或供应链知识,能精准解析产品技术优势(如特殊医学配方、功能食品)并转化为市场竞争力;\n3. 成熟的海外渠道开发与客户管理能力,包括经销商谈判、大型商超/电商平台对接经验,具备从零构建国际分销网络的成功案例;\n4. 敏锐的跨文化市场洞察力,能依据目标市场文化调整营销策略(如利用性价比优势对标国际巨头,或针对本地化口味改良产品);\n5. 优秀的商务英语书面及口语能力(需提供证明),熟练处理英文合同、技术文档及跨国商务沟通,小语种(如西班牙语、阿拉伯语)为加分项;\n6. 通晓国际贸易全流程,包括进出口法规、物流清关、支付结算及风险管控(如汇率、合规),有处理跨境食品备案/认证的实际经验;\n7. 数据分析与战略制定能力,能通过市场数据预测趋势、制定年度出海计划,并运用数字化工具优化海外运营效率;\n8. 高度的合规意识,精通国际食品安全标准(如HACCP、ISO22000)及目标国标签法规(如FDA、EU FIC),确保产品全周期合法合规。",
|
||||
"工作地点": "泰国",
|
||||
"公司介绍": "广东美味源香料股份有限公司是一家专注于香料、调味品及相关食品原料研发和制造的企业,致力于海外市场开拓,尤其针对东南亚地区。公司总部位于广东省阳江市,业务范围涵盖食品香料的生产、销售与出口,在行业内以专业化和国际化战略著称。",
|
||||
"岗位相关标签": "人才出海岗位",
|
||||
"岗位招聘截止时间": "2025/7/28"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "海外食品销售",
|
||||
"薪资": "10-18k",
|
||||
"学历要求": "专科及以上",
|
||||
"招聘人数": "7人",
|
||||
"职位标签": [
|
||||
"客户开发",
|
||||
"跨境电商",
|
||||
"食品推广",
|
||||
"订单跟进",
|
||||
"渠道销售",
|
||||
"售后支持"
|
||||
],
|
||||
"福利标签": [
|
||||
"驻外住宿",
|
||||
"外派津贴",
|
||||
"境外商业保险",
|
||||
"国际差旅补贴",
|
||||
"工作签证/工卡"
|
||||
],
|
||||
"职位描述": "1. 制定海外营销战略,并领导团队组织实施海外销售方案;\n2. 根据公司发展战略,制定海外市场销售战略与规划,推动产品进入当地主流销售渠道;\n3. 参与制定公司出口工作计划,领导团队实现公司确定的年度销售目标;\n4. 负责国际业务拓展、重点客户开发及销售管理工作;\n5. 开拓海外销售渠道,选择并组织参与国际性专业展会,扩大企业知名度,捕获商机;\n6. 开拓和建立国外客户的业务关系,同海外客户维持长期合作关系;\n7. 全面负责目标市场的客户开发与维护,通过多种渠道寻找潜在客户,进行商务洽谈,签订合作协议,跟进订单执行;\n8. 建立并拓展当地销售渠道,评估和筛选合作伙伴,制定渠道政策,监督渠道运营;",
|
||||
"任职要求": "1. 本科及以上学历,国际贸易、商务英语、国际经济与贸易、外语类、经济类或相关专业;\n2. 英语听说读写流利,达到CET - 6及以上水平;\n3. 掌握目标市场小语种(如德语、法语、日语、东南亚各国语言、越南语、泰语、缅甸语等);\n4. 熟悉国际贸易全流程(询盘、报价、合同签订、报关报检、货运、保险、单证制作、收汇结算等)及相关政策法规(关税、贸易壁垒、外汇管制等);\n5. 具备1 - 3年(专员级)或3年以上(主管级)国际贸易/外贸业务实操经验,有食品、农产品、快消品行业或目标区域市场(如东南亚、中亚、西亚、非洲)经验;\n6. 熟练使用Office办公软件(尤其Excel、PPT、Word),具备基础数据分析能力;\n7. 熟悉外贸工具(如报关系统、信用证处理软件、B2B平台操作)或ERP系统;\n8. 具备市场调研、分析与判断能力,能根据市场动态制定销售策略;\n9. 持有有效驾照,能适应国内外出差;\n10. 持有有效护照且无出入境限制(涉及国际业务);\n11. 部分岗位年龄限制在45岁以下。",
|
||||
"工作地点": "美国",
|
||||
"公司介绍": "杭州远隆食品有限公司主要经销多个知名一线食品品牌产品,包括贵州陶华碧老干妈、四川丹丹牌郫县豆瓣、四川李记鱼酸菜、扬州三和四美腐乳、南街村南德调料、蓬盛橄榄菜、王致和、粤花、百家味、豆沙等。作为一家生活服务类(O2O)企业,公司规模为20 - 99人,属于私营企业,未进行外部融资,经营状态稳定(存续)。公司成立于2003年10月14日,注册资本200万人民币,法定代表人为林建雄。主办公地址位于浙江省杭州市萧山区坎红路836号。 ",
|
||||
"岗位相关标签": "人才出海岗位",
|
||||
"岗位招聘截止时间": "2025/8/3"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "海外食品推广专员",
|
||||
"薪资": "8-12k",
|
||||
"学历要求": "专科及以上",
|
||||
"招聘人数": "5人",
|
||||
"职位标签": [
|
||||
"食品推广策划",
|
||||
"社交媒体宣传",
|
||||
"海外展会执行",
|
||||
"品牌落地",
|
||||
"活动策划",
|
||||
"市场调研"
|
||||
],
|
||||
"福利标签": [
|
||||
"外派津贴",
|
||||
"驻外住宿",
|
||||
"境外保险",
|
||||
"年度探亲补贴",
|
||||
"语言学习补贴"
|
||||
],
|
||||
"职位描述": "1. 负责海外社交媒体平台(包括但不限于 Facebook、Instagram、TikTok、YouTube)的内容策划、发布及粉丝互动管理,提升食品品牌曝光度与用户粘性;\n2. 开发并维护海外食品领域KOL/KOC、媒体网站及Deals促销资源,通过红人合作、联盟营销等方式扩大产品影响力;\n3. 制定食品品牌年度/季度海外营销方案,执行推广活动并监测数据效果,定期产出分析报告优化策略;\n4. 策划与食品特性相关的创意营销内容(如食谱分享、产品测评、主题活动),制作推广素材(图文/视频)并进行多语言适配;\n5. 运营海外食品垂直渠道(如美食论坛、社群、折扣站),通过话题互动、用户引导等方式促进产品销售转化;\n6. 监控竞品动态及行业趋势,分析海外食品市场需求,为产品推广策略提供数据支持。",
|
||||
"任职要求": "1. 本科及以上学历,市场营销、国际贸易或相关专业优先;\n2. 具有1 - 3年食品行业推广、销售或海外市场营销经验,熟悉国际食品市场者优先;\n3. 英语听说读写流利,具备其他外语能力(如日语、法语等)为加分项;\n4. 熟悉海外推广渠道及工具,如社交媒体运营、SEO/SEM、电子邮件营销;\n5. 具备良好的市场分析和消费者洞察能力,能独立制定推广策略;\n6. 对国际食品法规有一定了解,具备抗压能力和执行能力;\n7. 持有驾驶证或能适应出差和海外工作环境者优先;",
|
||||
"工作地点": "韩国",
|
||||
"公司介绍": "杭州微念品牌管理有限公司是一家以实业创新、文化融合消费为核心的全球化品牌公司。公司愿景是成为全球化的东方特色产业品牌集团,业务覆盖品牌策划、产品研发、营销推广、供应链管理等全产业链环节。团队具备完整的国际化运营能力,包括国际传播营销、出海渠道建设及全球市场推广,致力于将东方特色产品推向全球市场。",
|
||||
"岗位相关标签": "人才出海岗位",
|
||||
"岗位招聘截止时间": "2025/8/9"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "物流审核员",
|
||||
"薪资": "6-9k",
|
||||
"学历要求": "专科及以上",
|
||||
"招聘人数": "5人",
|
||||
"职位标签": [
|
||||
"单据审核",
|
||||
"费用核算",
|
||||
"合规校对",
|
||||
"物流异常处理",
|
||||
"数据录入",
|
||||
"流程优化"
|
||||
],
|
||||
"福利标签": [
|
||||
"五险一金",
|
||||
"餐补",
|
||||
"定期体检",
|
||||
"加班费",
|
||||
"节日福利"
|
||||
],
|
||||
"职位描述": "1. 审核运输、仓储及配送单据,确保物流数据完整、准确、符合公司标准;\n2. 对出入库记录、运费结算与对账单进行复核,发现问题及时纠正并上报;\n3. 跟进物流环节的异常情况,如丢货、延误、损坏等,提出改进建议;\n4. 定期参与内部审计与流程优化,协助完善审核制度,提升工作效率;\n5. 整理物流档案与审核记录,编制阶段性审核报告,供管理层决策使用;\n6. 协助供应商考核与对账,监督其服务质量,保证运输与仓储合规;\n7. 配合财务和采购部门,确保审核环节与资金结算环节的有效衔接。",
|
||||
"任职要求": "1. 有中级以上职称或经评委会认定具有企业审核能力;\n2. 大专以上学历;\n3. 有企业现场审核经验;",
|
||||
"工作地点": "山西省太原市",
|
||||
"公司介绍": "武汉悦超物流有限公司是一家专业从事多式联运和运输代理服务的企业,业务覆盖货物运输、仓储管理及物流方案设计等领域。公司规模为100至499人,属于个人投资运营的物流服务提供商,致力于通过标准化流程和信息化管理提升运输效率。其总部位于山西省太原市小店区正阳街59号,已通过企业资质认证。",
|
||||
"岗位相关标签": "非专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/8/15"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "新媒体运营专员",
|
||||
"薪资": "6-9k",
|
||||
"学历要求": "专科及以上",
|
||||
"招聘人数": "6人",
|
||||
"职位标签": [
|
||||
"内容策划",
|
||||
"平台运营",
|
||||
"粉丝互动",
|
||||
"数据分析",
|
||||
"热点追踪",
|
||||
"活动复盘"
|
||||
],
|
||||
"福利标签": [
|
||||
"五险一金",
|
||||
"绩效奖金",
|
||||
"餐补",
|
||||
"节日礼金",
|
||||
"团建活动"
|
||||
],
|
||||
"职位描述": "1. 负责公司新媒体平台(抖音、微博、公众号等)的内容策划、编辑与发布;\n2. 根据热点趋势与节日节点策划创意活动,提高品牌曝光度与用户互动量;\n3. 管理粉丝社群,及时回复用户咨询与留言,维护良好的用户关系;\n4. 分析运营数据(浏览量、转化率、粉丝增长等),编制效果评估报告;\n5. 协调设计、视频、摄影团队,确保内容视觉与品牌定位一致;\n6. 跟踪行业新媒体发展动态,研究竞品运营模式,提出优化建议;\n7. 参与线上线下整合营销,支持公司整体品牌建设。",
|
||||
"任职要求": "1. 大专及以上学历,市场营销、新闻传播、中文类相关专业优先;\n2. 熟悉主流新媒体平台(如微信、微博、抖音、小红书、快手、B站等)的操作规则、用户行为及推广方式;\n3. 具备优秀的文字功底和创意策划能力,能独立撰写高质量原创内容,策划热点专题及互动活动,并具备基本的审美和排版技巧;\n4. 熟练运用数据分析工具(如百度统计、Google Analytics等),监控运营数据(流量、互动、转化等),分析效果并据此调整策略优化效果;\n5. 掌握基础图片处理(如PS)、视频拍摄与剪辑技能;了解SEO/SEM优化、互联网营销工具者优先;\n6. 敏锐的市场洞察力与热点捕捉能力,能快速响应趋势;\n7. 强烈的责任心、执行力及抗压能力,具备创业精神与工作激情;\n8. 创新思维,持续学习以适应行业发展;\n9. 1年以上新媒体运营经验,有成功案例或项目运营能力者优先。 ",
|
||||
"工作地点": "长春",
|
||||
"公司介绍": "深圳市速播网络科技有限公司是一家专注于网络营销和互联网服务的企业。该公司成立于2004年11月,前身为深圳市国人在线信息技术有限公司,致力于提供全方位的数字营销解决方案。2010年,公司成立了国人网络营销学院,负责开展企业网络营销培训服务。2013年,公司业务迅速扩张,在东莞、长沙、武汉、郑州等地区设立了20余家分公司。2018年,为适应市场变化,公司组建了项目事业部,专注于中大型企业的全网营销项目交付。2020年,公司进一步优化服务,组建自有新媒体运营和直播带货团队,以赋能企业产品销售并提升品牌影响力。2022年,公司拓展了业务范围,延伸至TK(TikTok)培训与直播带货领域,为外贸企业提供定制化支持。公司文化强调开放、平等、主动、激励、学习、创新,旨在打造一个高效协作的工作环境,持续推动行业创新和发展。",
|
||||
"岗位相关标签": "非专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/8/22"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "社群运营",
|
||||
"薪资": "6-9k",
|
||||
"学历要求": "专科及以上",
|
||||
"招聘人数": "6人",
|
||||
"职位标签": [
|
||||
"社群维护",
|
||||
"用户增长",
|
||||
"转化提升",
|
||||
"粉丝运营"
|
||||
],
|
||||
"福利标签": [
|
||||
"绩效奖金",
|
||||
"五险一金",
|
||||
"年度调薪",
|
||||
"餐补",
|
||||
"弹性上下班"
|
||||
],
|
||||
"职位描述": "1. 负责规划、搭建及管理社群矩阵(微信/自媒体平台等),建立用户成长体系与标准化运营流程;\n2. 策划并执行拉新、裂变、促活方案,提升社群用户规模及活跃度,推动潜在用户转化为付费用户;\n3. 定期策划线上/线下社群活动(如话题讨论、福利发放),激发用户参与度,强化品牌粘性与忠诚度;\n4. 产出社群优质内容,发起话题讨论,收集用户需求与反馈,为产品优化及内容创作提供依据;\n5. 监控社群运营数据(活跃度、转化率、裂变效果等),分析用户行为,持续优化运营策略并提升转化效率;\n6. 整合内外部资源,协同市场、销售等部门推动社群与品牌战略联动,扩大粉丝规模及平台影响力;\n7. 及时处理社群用户咨询与售后问题,维护社群秩序,提升用户满意度及品牌口碑。",
|
||||
"任职要求": "1. 大专及以上学历,市场营销、传播学、社会学、新闻传媒、电子商务等相关专业优先;\n2. 1 - 3 年及以上社群运营经验,有成功运营案例,熟悉各类社群形态;\n3. 能独立制定社群定位、目标及发展规划,设计运营策略、架构与规则,并高效执行复杂运营计划;\n4. 精准把握用户需求与痛点,具备内容创作及文案撰写能力,能通过个性化运营提升用户活跃度、留存率及转化率;\n5. 擅长结合热点策划线上/线下社群活动,提升参与度与社群影响力;\n6. 熟练使用数据分析工具,监控活跃度、用户增长、转化率等数据,基于反馈优化策略;\n7. 熟悉主流社交平台规则及社群运营工具;\n8. 对行业趋势敏感,能快速适应变化并创新运营模式,具备解决复杂问题的能力;\n9. 责任心强,具备团队合作精神、抗压能力及学习热情。 ",
|
||||
"工作地点": "深圳",
|
||||
"公司介绍": "零一裂变(深圳)科技有限公司是国内微信生态领域的全链路运营服务商,专注于为企业提供一站式解决方案,涵盖裂变获客、增长留存和私域运营。公司致力于通过高效的数字营销策略,帮助客户优化用户获取与维护效率,提升社群活跃度与用户粘性。",
|
||||
"岗位相关标签": "非专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/8/29"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "直播运营",
|
||||
"薪资": "6-9k",
|
||||
"学历要求": "专科及以上",
|
||||
"招聘人数": "4人",
|
||||
"职位标签": [
|
||||
"直播脚本",
|
||||
"主播对接",
|
||||
"流量分析",
|
||||
"活动策划",
|
||||
"带货转化",
|
||||
"复盘优化"
|
||||
],
|
||||
"福利标签": [
|
||||
"五险一金",
|
||||
"项目奖金",
|
||||
"餐补",
|
||||
"年度体检",
|
||||
"节日福利"
|
||||
],
|
||||
"职位描述": "1. 负责直播活动的全程策划与执行,包括主题设计、剧本撰写、流程规划和道具准备等;\n2. 负责直播前的中控后台操作,涵盖商品上架、链接配置、优惠券发放及抽奖互动等工具的使用;",
|
||||
"任职要求": "1. 大专及以上学历;\n2. 1-3 年直播/电商运营经验;\n3. 熟悉主流直播平台规则(如抖音、快手、视频号);\n4. 掌握直播全流程运营能力(包括策划、数据分析、复盘优化);\n5. 对数据敏感,能独立完成项目规划、执行、复盘并提出改进策略;\n6. 具备优化直播转化率的实战能力;\n7. 对直播行业动态高度关注;\n8. 具备持续优化内容的创新思维;\n9. 能快速适应市场变化并提出建设性方案;\n10. 目标导向明确;\n11. 抗压能力强;\n12. 执行力及自驱力突出;\n13. 逻辑思维清晰;\n14. 具备现场应变能力;\n15. 有垂直行业经验(如酒类、家清品类);\n16. 有直播间搭建、布景经验; ",
|
||||
"工作地点": "宁波",
|
||||
"公司介绍": "正保远程教育 (China Distance Education Holdings Ltd., CDEL) 成立于2000年,是一家专注于职业教育和服务的企业。公司以构建完善的“终身教育体系”和“完全教育体系”为发展战略,秉持“学员利益至上,一切为学员服务”的理念。其核心业务围绕远程职业教育开展,以考试培训为基础,结合兴趣爱好课程及技能培训,通过线上线下相结合的运营模式,为各行业领域的个人和企业提供教育产品和服务。公司拥有20个品牌网站,开设超过300个辅导类别,覆盖会计、医药卫生、建设工程、法律、创业实训、中小学、自考、考研等13个不同行业。在会计领域已形成“考试培训、继续教育、实务操作、财税咨询、就业服务”为一体的完整终身教育体系。公司通过自我发展与外部投资并重,包括收购网中网、瑞达教育等业内优秀企业,实现资源互补和战略深化。正保远程教育高度重视教学质量,应用先进网站技术和课件工具提升辅导效果,致力于推动中国远程教育发展。",
|
||||
"岗位相关标签": "非专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/4"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "市场推广专员",
|
||||
"薪资": "6-9k",
|
||||
"学历要求": "专科及以上",
|
||||
"招聘人数": "7人",
|
||||
"职位标签": [
|
||||
"市场活动",
|
||||
"品牌宣传",
|
||||
"渠道拓展",
|
||||
"方案执行",
|
||||
"数据反馈",
|
||||
"客户关系"
|
||||
],
|
||||
"福利标签": [
|
||||
"绩效奖金",
|
||||
"五险一金",
|
||||
"交通补贴",
|
||||
"餐补",
|
||||
"年度调薪"
|
||||
],
|
||||
"职位描述": "1. 负责公司产品或服务的销售及推广,包括制定并执行推广策略以达成销售目标;\n2. 开拓新市场和客户资源,发展潜在客户,并维护现有客户关系以提升品牌忠诚度;\n3. 策划并实施线上线下营销活动(如展会、促销活动),确保活动高效落地和效果优化;\n4. 负责社交媒体平台的日常营销推广,包括内容规划、发布、用户互动及数据分析;\n5. 进行市场调研,收集和分析行业动态、竞争对手信息及客户需求,支持推广策略调整;\n6. 监控推广效果(如社交媒体流量、转化率),通过数据分析优化推广方案;\n7. 协助上级领导完成相关工作安排,包括资源协调、报告整理及临时任务执行。",
|
||||
"任职要求": "1. 大专及以上学历,市场营销、广告传媒、计算机、体育或旅游等相关专业优先(应届生需相关实习经历);\n2. 精通主流互联网推广渠道(如百度推广、SEO/SEM、抖音、小红书、社交媒体营销等);\n3. 熟悉内容营销全流程,能独立撰写广告文案、活动方案,熟练使用设计软件(如PS、视频剪辑工具);\n4. 掌握数据分析方法,能通过数据优化推广策略;熟练操作微信公众号、百度营销账户等后台工具;\n5. 1 - 3年互联网推广经验优先,有成功推广案例者加分;\n6. 敏锐的市场洞察力,能快速捕捉行业动态与用户需求;\n7. 出色的创意策划能力及执行落地经验。",
|
||||
"工作地点": "青岛",
|
||||
"公司介绍": "杭州析科网络科技有限公司是一家专注于互联网科技领域的公司,致力于在支付生态及相关领域开拓业务。其核心业务方向与支付宝平台密切相关,专注于开发和推广基于支付宝生态的金融产品解决方案。公司主要任务是打造和推广“支付宝备用金”等创新产品,通过招募专业推广团队深入市场进行用户拓展与商户合作。",
|
||||
"岗位相关标签": "非专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/10"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "活动执行专员",
|
||||
"薪资": "5-8k",
|
||||
"学历要求": "专科及以上",
|
||||
"招聘人数": "6人",
|
||||
"职位标签": [
|
||||
"活动执行",
|
||||
"现场管理",
|
||||
"应急处理",
|
||||
"物料管理"
|
||||
],
|
||||
"福利标签": [
|
||||
"加班调休",
|
||||
"五险一金",
|
||||
"项目奖金",
|
||||
"餐补",
|
||||
"节日福利"
|
||||
],
|
||||
"职位描述": "1. 根据公司市场活动方案,负责活动现场执行与全流程管理;\n2. 协调场地布置、物料准备、供应商对接等,确保活动准时开展;\n3. 监督现场秩序与流程,处理突发事件,保障活动顺利进行;\n4. 协助上级进行预算控制,跟进费用报销,确保成本合理合规;\n5. 收集活动参与人员的反馈信息,整理活动效果数据并编写总结;\n6. 建立活动档案,保存方案、合同、照片及执行记录,便于后续参考;\n7. 参与大型展会或品牌推广活动,支持项目策划与执行落地。",
|
||||
"任职要求": "1. 大专或本科学历,市场营销、广告学、会展管理、传播学相关专业优先;\n2. 极强的执行力与统筹能力,能高效推进多线程任务;\n3. 抗压能力突出,适应高强度工作及临时加班/出差;\n4. 熟练使用Office(PPT/Excel/Word)制作方案及预算;\n5. 基础设计软件(PS/AI)或视频剪辑能力;\n6. 具备活动成本管控及供应商谈判经验;\n7. 初级岗位接受应届生或1年经验,有活动执行实习经历者优先;\n8. 资深岗位需3年以上大型展会/发布会独立执行经验;\n9. 持C1驾照且驾驶熟练;\n10. 适应频繁出差(月均20天以上)及周末加班;",
|
||||
"工作地点": "南京",
|
||||
"公司介绍": "加糖(南京)创意策划有限公司是一家小型私营企业,专注于商务服务业,规模为1至49人,总部位于南京栖霞迈皋桥万谷慧生活区域。企业主要致力于创意策划类业务,服务于各类市场活动需求。",
|
||||
"岗位相关标签": "非专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/15"
|
||||
},
|
||||
{
|
||||
"内推岗位名称": "摄影师",
|
||||
"薪资": "6-10k",
|
||||
"学历要求": "专科及以上",
|
||||
"招聘人数": "6人",
|
||||
"职位标签": [
|
||||
"商业摄影",
|
||||
"图片后期",
|
||||
"现场拍摄",
|
||||
"产品拍摄",
|
||||
"视觉构图",
|
||||
"灯光调试"
|
||||
],
|
||||
"福利标签": [
|
||||
"设备补贴",
|
||||
"项目奖金",
|
||||
"差旅报销",
|
||||
"五险一金",
|
||||
"年度体检"
|
||||
],
|
||||
"职位描述": "1. 独立执行拍摄任务,使用专业摄影设备(单反/摄像机)完成人像、产品、场景等多样化主题的拍摄,确保成像质量符合商业标准;\n2. 制定创意拍摄方案,根据项目需求或客户要求,策划拍摄主题、布光方案及视觉风格,提出创新性视觉呈现建议;\n3. 内容创作与后期处理,对拍摄素材进行后期剪辑、调色及特效处理,输出符合不同平台(如电商、社交媒体)需求的图片/视频内容;\n4. 客户需求沟通与管理,与客户或合作团队沟通拍摄需求,提供专业拍摄建议,灵活调整方案以满足项目目标;\n5. 影像素材资源管理,建立并维护拍摄素材库,确保图片/视频资源的分类存储与调用便捷性;\n6. 设备与环境维护,负责摄影器材的日常保养与调试,管理拍摄场地布景及安全规范;\n7. 记录生产生活场景,根据项目需求采集生产流程、活动纪实或生活场景的影像资料,支持企业宣传或品牌叙事。",
|
||||
"任职要求": "1. 具备扎实的摄影专业技能,包括相机操作、光线运用、构图及色彩处理,并能灵活应对不同拍摄场景;\n2. 熟练掌握后期处理软件(如Adobe Photoshop、Lightroom等),能独立完成照片精修、调色和基础视频剪辑;\n3. 拥有优秀的审美能力和创意思维,能捕捉独特视角并突出产品/人物特点,对时尚或行业趋势敏感;\n4. 相关领域工作经验(如2 - 3年以上商业摄影、电商产品拍摄或特定类型摄影经验),有珠宝、服饰类拍摄经验者优先;\n5. 摄影、美术或设计相关专业大专及以上学历优先,或通过职业资格认证(如国家摄影师证);\n6. 学习能力强,能持续跟进摄影设备更新和行业技术发展;\n7. 职业道德良好,包括责任心强、诚信守信、尊重隐私及版权法律意识;\n8. 身体素质出色,能承受长时间站立、户外工作及携带重型设备;\n9. 熟悉摄影器材维护与管理,并能制定拍摄计划或方案;",
|
||||
"工作地点": "南昌",
|
||||
"公司介绍": "松原城市发展投资控股集团有限公司(简称松原城投)是一家大型国有企业,专注于土地开发与公共设施管理。公司所属行业为土地与公共设施管理,拥有1000至9999名员工规模,致力于推动松原地区的经济建设和基础设施投资项目,在区域发展中扮演关键角色。",
|
||||
"岗位相关标签": "非专业相关岗位",
|
||||
"岗位招聘截止时间": "2025/9/19"
|
||||
}
|
||||
]
|
||||
1188
frontend_食品/src/data/companyJobsNew.json.backup_20251011_111451
Normal file
1188
frontend_食品/src/data/companyJobsNew.json.backup_20251011_111451
Normal file
File diff suppressed because it is too large
Load Diff
@@ -10,38 +10,38 @@ const expertSupportData = {
|
||||
{
|
||||
"type": "user",
|
||||
"content": "老师,要是我想配一份正餐,怎么知道里面蛋白质、脂肪、碳水比例合不合理?",
|
||||
"time": "2023/11/18 22:04"
|
||||
"time": "2023/11/17 22:04"
|
||||
},
|
||||
{
|
||||
"type": "assistant",
|
||||
"content": "我们通常用膳食宝塔或者平衡膳食指南的推荐比例。比如一餐的能量分配,一般碳水占 50%~60%,蛋白质 15%~20%,脂肪 20%~30%。你可以先把每种食材的营养成分查出来,比如 100 克米饭大约有 77 克碳水,鸡胸肉 100 克含大约 20 克蛋白质。然后算出这一餐总量,再对比比例,就能知道是不是合理。",
|
||||
"mentor": "杨丽华",
|
||||
"time": "2023/11/17 9:00",
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.png"
|
||||
"time": "2023/11/18 9:00",
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.jpeg"
|
||||
},
|
||||
{
|
||||
"type": "user",
|
||||
"content": "这样算会不会太复杂?",
|
||||
"time": "2023/11/17 9:32"
|
||||
"time": "2023/11/18 9:32"
|
||||
},
|
||||
{
|
||||
"type": "assistant",
|
||||
"content": "开始确实有点麻烦,所以我们会借助营养分析软件,比如“食物成分表”或“配餐软件”,直接输入食材的克数,它会自动生成能量和营养比例报表。这样既快又直观。",
|
||||
"mentor": "杨丽华",
|
||||
"time": "2023/11/17 9:36",
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.png"
|
||||
"time": "2023/11/18 9:36",
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.jpeg"
|
||||
},
|
||||
{
|
||||
"type": "user",
|
||||
"content": "如果顾客自己点餐,店里怎么确保他选的餐是合理的?",
|
||||
"time": "2023/11/17 9:39"
|
||||
"time": "2023/11/18 9:39"
|
||||
},
|
||||
{
|
||||
"type": "assistant",
|
||||
"content": "店铺一般会提前设计好几个标准套餐,比如“均衡型”“高蛋白型”“轻食低脂型”。顾客选餐的时候,系统会自动显示营养比例。这样既能让顾客更安心,也减少了他们自己去算的麻烦。",
|
||||
"mentor": "杨丽华",
|
||||
"time": "2023/11/17 9:42",
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.png"
|
||||
"time": "2023/11/18 9:42",
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.jpeg"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -62,7 +62,7 @@ const expertSupportData = {
|
||||
"content": "举个简单例子,比如你用“食物营养分析系统”。第一步,在软件里输入食材,比如 100 克米饭、50 克鸡蛋、100 克西兰花。第二步,系统会自动显示每样食材的能量、蛋白质、脂肪、碳水含量。第三步,你可以看到整个餐的营养总和,还会给你一张比例图。这样就能一眼看出合理不合理。",
|
||||
"mentor": "杨丽华",
|
||||
"time": "2024/10/19 10:17",
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.png"
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.jpeg"
|
||||
},
|
||||
{
|
||||
"type": "user",
|
||||
@@ -74,7 +74,7 @@ const expertSupportData = {
|
||||
"content": "可以的,你只要替换食材,软件会立刻给你更新数据。这样你可以快速比较不同搭配对营养的影响。",
|
||||
"mentor": "杨丽华",
|
||||
"time": "2024/10/19 15:50",
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.png"
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.jpeg"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -116,7 +116,7 @@ const expertSupportData = {
|
||||
"content": "这是非常有必要的。新品在推广前先小范围试吃,可以帮助发现口味、营养、价格等方面的问题。试吃对象最好选目标顾客群,比如健身人群或白领。收集反馈可以通过问卷调查、打分表、或者线上投票的形式。",
|
||||
"mentor": "杨丽华",
|
||||
"time": "2024/11/20 9:00",
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.png"
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.jpeg"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -137,7 +137,7 @@ const expertSupportData = {
|
||||
"content": "最常见的做法是合理搭配食材。比如蛋白质既可以用牛肉,也可以用鸡蛋、豆腐。后者成本更低,但营养也好。通过“高低成本食材混搭”,就能保证既营养又不超支。",
|
||||
"mentor": "杨丽华",
|
||||
"time": "2025/11/23 22:56",
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.png"
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.jpeg"
|
||||
},
|
||||
{
|
||||
"type": "user",
|
||||
@@ -149,7 +149,7 @@ const expertSupportData = {
|
||||
"content": "不是。关键是看营养密度,比如西蓝花虽然比土豆贵,但营养价值高,可以少量搭配。反过来,米饭土豆这类能量食材便宜,可以做基础。这样整体就平衡了。",
|
||||
"mentor": "杨丽华",
|
||||
"time": "2025/11/24 8:35",
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.png"
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.jpeg"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -170,7 +170,7 @@ const expertSupportData = {
|
||||
"content": "你可以选择营养配餐员、营养餐店运营助理、健身房餐饮顾问、学校或企事业单位食堂营养管理岗,还可以进入健康管理公司做饮食指导。",
|
||||
"mentor": "杨丽华",
|
||||
"time": "2024/9/9 18:06",
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.png"
|
||||
"mentorAvatar": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.jpeg"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -5969,7 +5969,7 @@
|
||||
"企业高管公开课": "",
|
||||
"1V1 规划阶段": "1V1 求职规划",
|
||||
"模拟面试实战练习阶段": "",
|
||||
"导师姓名查询": "",
|
||||
"导师姓名查询": "郭昊铭",
|
||||
"上课时间": "14:00~16:00",
|
||||
"上课地点": "线上",
|
||||
"课程状态": "已完成",
|
||||
@@ -9947,7 +9947,7 @@
|
||||
"企业高管公开课": "",
|
||||
"1V1 规划阶段": "",
|
||||
"模拟面试实战练习阶段": "面试实战",
|
||||
"导师姓名查询": "魏立慧",
|
||||
"导师姓名查询": "郭昊铭",
|
||||
"上课时间": "15:00~16:00",
|
||||
"上课地点": "线下",
|
||||
"课程状态": "已完成",
|
||||
@@ -10991,7 +10991,7 @@
|
||||
"企业高管公开课": "",
|
||||
"1V1 规划阶段": "",
|
||||
"模拟面试实战练习阶段": "面试实战",
|
||||
"导师姓名查询": "魏立慧",
|
||||
"导师姓名查询": "郭昊铭",
|
||||
"上课时间": "15:00~16:00",
|
||||
"上课地点": "线下",
|
||||
"课程状态": "已完成",
|
||||
@@ -11135,7 +11135,7 @@
|
||||
"企业高管公开课": "",
|
||||
"1V1 规划阶段": "",
|
||||
"模拟面试实战练习阶段": "面试实战",
|
||||
"导师姓名查询": "魏立慧",
|
||||
"导师姓名查询": "郭昊铭",
|
||||
"上课时间": "15:00~16:00",
|
||||
"上课地点": "线下",
|
||||
"课程状态": "已完成",
|
||||
|
||||
12584
frontend_食品/src/data/foodCalendar.json.backup_20250926_200651
Normal file
12584
frontend_食品/src/data/foodCalendar.json.backup_20250926_200651
Normal file
File diff suppressed because it is too large
Load Diff
@@ -18,7 +18,12 @@ const teacherAvatars = {
|
||||
"李毅峰": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuVPz0WRmxCK.jpeg",
|
||||
"周伏波": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuVU7Gi9YxSN.jpg",
|
||||
"范雪娇": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuVU7JsHHDNZ.jpeg",
|
||||
"李奇": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW8gePZvRn6.jpg"
|
||||
"李奇": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW8gePZvRn6.jpg",
|
||||
"郭昊铭":"https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuXLZZ9Q24PJ.png",
|
||||
// 食品产业导师
|
||||
"秦俊超": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7cCvSvhMN.png",
|
||||
"潘凯珍": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5y3td.png",
|
||||
"杨丽华": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.jpeg"
|
||||
};
|
||||
|
||||
// 转换函数:将JSON数据转换为页面所需格式
|
||||
@@ -81,6 +86,7 @@ const transformInterviewStatus = (statusData, jobsData) => {
|
||||
location: matchedJob["工作地点"],
|
||||
education: matchedJob["学历要求"],
|
||||
companyInfo: matchedJob["公司介绍"],
|
||||
companyImages: matchedJob["企业图片"] || [],
|
||||
jobCategory: matchedJob["岗位相关标签"] || "专业相关岗位",
|
||||
remainingPositions: matchedJob["招聘人数"] ? parseInt(matchedJob["招聘人数"]) : 5,
|
||||
deadline: matchedJob["截止时间"],
|
||||
@@ -105,7 +111,18 @@ const transformInterviewStatus = (statusData, jobsData) => {
|
||||
};
|
||||
})
|
||||
.sort((a, b) => {
|
||||
// 按面试时间降序排序(最新的在前)
|
||||
// 首先,将"Offer已接收,岗位内推结束"的岗位排在最前面
|
||||
const aIsOfferAccepted = a.statusText === "Offer已接收,岗位内推结束";
|
||||
const bIsOfferAccepted = b.statusText === "Offer已接收,岗位内推结束";
|
||||
|
||||
if (aIsOfferAccepted && !bIsOfferAccepted) {
|
||||
return -1; // a排在前面
|
||||
}
|
||||
if (!aIsOfferAccepted && bIsOfferAccepted) {
|
||||
return 1; // b排在前面
|
||||
}
|
||||
|
||||
// 如果都是"Offer已接收"或都不是,则按面试时间降序排序(最新的在前)
|
||||
return b.interviewDate - a.interviewDate;
|
||||
});
|
||||
};
|
||||
@@ -162,7 +179,8 @@ const transformCompanyJobs = (jobsData) => {
|
||||
requirements: job["任职要求"] ? job["任职要求"].split(/\d+\.\s*/).filter(r => r.trim()) : [],
|
||||
requirementsText: job["任职要求"],
|
||||
benefits: job["福利标签"] || [],
|
||||
companyInfo: job["公司介绍"]
|
||||
companyInfo: job["公司介绍"],
|
||||
companyImages: job["企业图片"] || []
|
||||
}
|
||||
};
|
||||
})
|
||||
@@ -183,7 +201,8 @@ const transformCalendarCourses = (coursesData) => {
|
||||
if (!course["日期"]) return false;
|
||||
// 不需要过滤AI课程,直接在下面处理
|
||||
// 必须有课程内容
|
||||
return course["个人课程表"] || course["公共课"] || course["企业高管公开课"];
|
||||
return course["个人课程表"] || course["公共课"] || course["企业高管公开课"] ||
|
||||
course["1V1 规划阶段"] || course["模拟面试实战练习阶段"];
|
||||
})
|
||||
.map((course, index) => {
|
||||
// 解析日期
|
||||
@@ -661,6 +680,12 @@ const generateVerticalCourseLiveList = (calendarEvents, unitPosters = {}) => {
|
||||
courseObj.previewUrl = "https://du9uay.github.io/zhanhui/";
|
||||
}
|
||||
|
||||
// 为"轻食行业全景与商业模式解析"课程添加试看标签和链接
|
||||
if (event.title === "轻食行业全景与商业模式解析" && unitName === "轻食店经营") {
|
||||
courseObj.canPreview = true;
|
||||
courseObj.previewUrl = "https://du9uay.github.io/food-education-web/";
|
||||
}
|
||||
|
||||
unitMap[unitName].courses.push(courseObj);
|
||||
}
|
||||
});
|
||||
@@ -3836,112 +3861,112 @@ export const mockData = {
|
||||
keyPoints: [
|
||||
{
|
||||
id: 1,
|
||||
time: "05:05",
|
||||
time: "05:45",
|
||||
type: "strategy",
|
||||
title: "求职理念",
|
||||
content: "深入理解求职的本质,建立正确的求职心态和认知框架。"
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
time: "08:40",
|
||||
time: "09:02",
|
||||
type: "strategy",
|
||||
title: "理念:能力大于学历、曲线就业路径",
|
||||
content: "强调实际能力比学历背景更重要,通过曲线就业路径实现职业目标。"
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
time: "12:15",
|
||||
time: "12:45",
|
||||
type: "strategy",
|
||||
title: "如何选择岗位:发展前景+稳定性+岗位匹配",
|
||||
content: "从三个维度评估岗位选择,确保职业发展的可持续性。"
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
time: "18:30",
|
||||
time: "18:11",
|
||||
type: "technique",
|
||||
title: "简历:从通用型到专属型",
|
||||
content: "针对不同岗位定制简历,提高简历通过率和面试机会。"
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
time: "23:20",
|
||||
time: "24:42",
|
||||
type: "technique",
|
||||
title: "项目案例包装:如何把'执行助理'写成'策划支持'",
|
||||
content: "通过职能升级和价值展现,提升项目经验的含金量。"
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
time: "28:15",
|
||||
time: "29:31",
|
||||
type: "technique",
|
||||
title: "招聘平台差异与投递建议",
|
||||
content: "了解不同招聘平台特点,制定差异化投递策略。"
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
time: "35:40",
|
||||
time: "35:47",
|
||||
type: "advice",
|
||||
title: "群面发言逻辑",
|
||||
content: "掌握群面发言技巧,展现团队协作能力和领导潜质。"
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
time: "41:05",
|
||||
time: "41:26",
|
||||
type: "advice",
|
||||
title: "个人面试答题套路",
|
||||
content: "结构化回答面试问题,让回答更有逻辑和说服力。"
|
||||
},
|
||||
{
|
||||
id: 9,
|
||||
time: "48:20",
|
||||
time: "49:18",
|
||||
type: "advice",
|
||||
title: "不同类型的面试官的关注点",
|
||||
content: "识别面试官类型,针对性调整沟通策略和重点。"
|
||||
},
|
||||
{
|
||||
id: 10,
|
||||
time: "56:50",
|
||||
time: "56:52",
|
||||
type: "advice",
|
||||
title: "面试流程重点:薪资谈判/常见问题/避坑要点",
|
||||
content: "掌握面试各环节要点,避免常见错误,争取最佳offer。"
|
||||
},
|
||||
{
|
||||
id: 11,
|
||||
time: "1:05:10",
|
||||
time: "1:05:16",
|
||||
type: "technique",
|
||||
title: "面试后复盘:如何记录与形成答题库",
|
||||
content: "系统化总结面试经验,持续优化面试表现。"
|
||||
},
|
||||
{
|
||||
id: 12,
|
||||
time: "1:15:25",
|
||||
time: "1:14:19",
|
||||
type: "qa",
|
||||
title: "商业活动策划行业的深度解读",
|
||||
content: "全面了解行业现状、发展趋势和职业路径。"
|
||||
},
|
||||
{
|
||||
id: 13,
|
||||
time: "1:26:40",
|
||||
time: "1:27:23",
|
||||
type: "qa",
|
||||
title: "岗位梯度讲解:当前可进/努力可进/暂不可进",
|
||||
content: "理性评估自身条件,制定阶梯式求职策略。"
|
||||
},
|
||||
{
|
||||
id: 14,
|
||||
time: "1:38:20",
|
||||
time: "1:39:48",
|
||||
type: "timeline",
|
||||
title: "曲线就业路径:先执行再策划,再到项目经理",
|
||||
content: "规划清晰的职业发展路径,逐步实现职业目标。"
|
||||
},
|
||||
{
|
||||
id: 15,
|
||||
time: "1:52:30",
|
||||
time: "1:55:13",
|
||||
type: "qa",
|
||||
title: "会展策划师从简历到面试的完整举例说明",
|
||||
content: "通过实际案例,展示完整的求职准备过程。"
|
||||
},
|
||||
{
|
||||
id: 16,
|
||||
time: "2:03:15",
|
||||
time: "2:06:37",
|
||||
type: "strategy",
|
||||
title: "总结如何用项目经验打动HR",
|
||||
content: "提炼项目亮点,用数据和成果征服面试官。"
|
||||
@@ -4610,7 +4635,7 @@ mockData.dashboardStatistics = {
|
||||
studentName: "梁明远",
|
||||
name: "梁明远",
|
||||
avatar: "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/avatar/douyin/7296e57feefd46b9188c14cf86d97677.jpg",
|
||||
score: 98,
|
||||
score: 99,
|
||||
credits: 98,
|
||||
school: "苏州农业职业技术学院",
|
||||
major: "食品检验检测技术",
|
||||
@@ -4697,8 +4722,8 @@ mockData.profileOverview = {
|
||||
classRank: 1,
|
||||
totalStudents: 45,
|
||||
myRank: {
|
||||
rank: 2,
|
||||
score: 95,
|
||||
rank: 3,
|
||||
score: 98,
|
||||
},
|
||||
},
|
||||
|
||||
@@ -4795,8 +4820,8 @@ mockData.profileOverview = {
|
||||
// 排名信息(与dashboard共享)
|
||||
ranking: {
|
||||
myRank: {
|
||||
rank: 2,
|
||||
score: 95,
|
||||
rank: 3,
|
||||
score: 98,
|
||||
totalStudents: 45,
|
||||
trend: "stable",
|
||||
change: 0,
|
||||
@@ -4825,7 +4850,7 @@ mockData.profileOverview = {
|
||||
studentName: "梁明远",
|
||||
name: "梁明远",
|
||||
avatar: "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/avatar/douyin/7296e57feefd46b9188c14cf86d97677.jpg",
|
||||
score: 98,
|
||||
score: 99,
|
||||
credits: 98,
|
||||
school: "苏州农业职业技术学院",
|
||||
major: "食品检验检测技术",
|
||||
@@ -4965,7 +4990,7 @@ mockData.profileOverview = {
|
||||
studentId: "2325080674",
|
||||
studentNo: "2325080674",
|
||||
avatar: "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/avatar/douyin/bb484403e4a39661de5f241f1b6d1b03.jpg",
|
||||
school: "苏州市职业大学",
|
||||
school: "皖西卫生职业学院",
|
||||
major: "食品检验检测技术",
|
||||
className: "食品班",
|
||||
grade: "2023级",
|
||||
@@ -5078,8 +5103,8 @@ mockData.profileOverview = {
|
||||
// 排名信息(与dashboard共享)
|
||||
ranking: {
|
||||
myRank: {
|
||||
rank: 2,
|
||||
score: 95,
|
||||
rank: 3,
|
||||
score: 98,
|
||||
totalStudents: 45,
|
||||
trend: "stable",
|
||||
change: 0,
|
||||
@@ -5108,7 +5133,7 @@ mockData.profileOverview = {
|
||||
studentName: "梁明远",
|
||||
name: "梁明远",
|
||||
avatar: "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/avatar/douyin/7296e57feefd46b9188c14cf86d97677.jpg",
|
||||
score: 98,
|
||||
score: 99,
|
||||
credits: 98,
|
||||
school: "苏州农业职业技术学院",
|
||||
major: "食品检验检测技术",
|
||||
@@ -5181,12 +5206,25 @@ if (mockData.homework && mockData.homework[0]) {
|
||||
const compoundHomeworkUnits = [];
|
||||
const compoundHomeworkList = [];
|
||||
let compoundHomeworkId = 1;
|
||||
|
||||
|
||||
// 定义需要过滤掉的单元(这些单元没有课堂作业)
|
||||
const excludedUnits = ["岗位体系认知", "产业体系认知"];
|
||||
|
||||
// 遍历所有复合能力课单元,生成units结构
|
||||
mockData.courseLiveList.forEach(unit => {
|
||||
// 过滤掉没有作业的单元
|
||||
if (excludedUnits.includes(unit.unitName)) {
|
||||
return; // 跳过这个单元
|
||||
}
|
||||
|
||||
const unitCourses = [];
|
||||
|
||||
|
||||
unit.courses.forEach(course => {
|
||||
// 过滤掉单元小结课程(单元小结没有作业)
|
||||
if (course.courseName === "单元小结") {
|
||||
return; // 跳过单元小结
|
||||
}
|
||||
|
||||
// 判断课程状态
|
||||
let level = "locked";
|
||||
if (course.completed) {
|
||||
@@ -5194,7 +5232,7 @@ if (mockData.homework && mockData.homework[0]) {
|
||||
} else if (course.current) {
|
||||
level = "in-progress";
|
||||
}
|
||||
|
||||
|
||||
const homeworkItem = {
|
||||
id: compoundHomeworkId++,
|
||||
name: course.courseName,
|
||||
@@ -5203,7 +5241,7 @@ if (mockData.homework && mockData.homework[0]) {
|
||||
teacherName: course.teacherName,
|
||||
date: course.date
|
||||
};
|
||||
|
||||
|
||||
unitCourses.push(homeworkItem);
|
||||
compoundHomeworkList.push(homeworkItem);
|
||||
});
|
||||
@@ -5227,12 +5265,25 @@ if (mockData.homework && mockData.homework[1]) {
|
||||
const verticalHomeworkUnits = [];
|
||||
const verticalHomeworkList = [];
|
||||
let homeworkId = 1;
|
||||
|
||||
|
||||
// 定义需要过滤掉的单元(这些单元没有课堂作业)
|
||||
const excludedVerticalUnits = ["职业规划课"];
|
||||
|
||||
// 遍历所有垂直能力课单元,生成units结构
|
||||
mockData.verticalCourseLiveList.forEach(unit => {
|
||||
// 过滤掉没有作业的单元
|
||||
if (excludedVerticalUnits.includes(unit.unitName)) {
|
||||
return; // 跳过这个单元
|
||||
}
|
||||
|
||||
const unitCourses = [];
|
||||
|
||||
|
||||
unit.courses.forEach(course => {
|
||||
// 过滤掉单元小结课程(单元小结没有作业)
|
||||
if (course.courseName === "单元小结") {
|
||||
return; // 跳过单元小结
|
||||
}
|
||||
|
||||
// 判断课程状态
|
||||
let level = "locked";
|
||||
if (course.completed) {
|
||||
@@ -5240,7 +5291,7 @@ if (mockData.homework && mockData.homework[1]) {
|
||||
} else if (course.current) {
|
||||
level = "in-progress";
|
||||
}
|
||||
|
||||
|
||||
const homeworkItem = {
|
||||
id: homeworkId++,
|
||||
name: course.courseName,
|
||||
@@ -5249,13 +5300,19 @@ if (mockData.homework && mockData.homework[1]) {
|
||||
teacherName: course.teacherName,
|
||||
date: course.date
|
||||
};
|
||||
|
||||
|
||||
// 为展会主题与品牌定位课程添加特殊标记(使其可点击)
|
||||
if (course.courseName === "展会主题与品牌定位" && unit.unitName === "消费电子展品牌策划与执行") {
|
||||
homeworkItem.isShowCase = true;
|
||||
homeworkItem.previewUrl = "https://du9uay.github.io/zhanhui/";
|
||||
}
|
||||
|
||||
// 为轻食行业全景与商业模式解析课程添加特殊标记(使其可点击)
|
||||
if (course.courseName === "轻食行业全景与商业模式解析" && unit.unitName === "轻食店经营") {
|
||||
homeworkItem.isShowCase = true;
|
||||
homeworkItem.previewUrl = "https://du9uay.github.io/food-education-web/#/course-test";
|
||||
}
|
||||
|
||||
unitCourses.push(homeworkItem);
|
||||
verticalHomeworkList.push(homeworkItem);
|
||||
});
|
||||
|
||||
5445
frontend_食品/src/data/mockData.js.backup_20251001_171058
Normal file
5445
frontend_食品/src/data/mockData.js.backup_20251001_171058
Normal file
File diff suppressed because it is too large
Load Diff
@@ -291,7 +291,7 @@
|
||||
"门店从0到1筹建",
|
||||
"大数据个性化干预"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.png"
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.jpeg"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "光年",
|
||||
@@ -573,6 +573,20 @@
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuUpSO4gUtJz.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "郭昊铭",
|
||||
"就业管家": "",
|
||||
"导师类型": "企业资深HR",
|
||||
"所属垂直方向": "",
|
||||
"导师介绍": "负责多品牌并购整合的人事协同,在100天内完成三家被并购公司的组织架构、薪酬福利与政策对齐,上线统一ATS与人事主数据平台;冗余岗位优化后管理费用同比下降12%,关键岗位稳定率达95%,整合期员工离职率较行业基准低7个百分点,业务团队达产时间提前两个月。在企业实践之外,作为资深一线HR导师,也长期为求职者提供一对一的个性化指导,从真实招聘与并购整合的案例中剖析人才管理痛点,帮助学员理解岗位价值评估、简历匹配逻辑及面试应答技巧,结合职业定位与发展路径规划,让学员能够在轻松互动中掌握直击痛点的求职策略并快速提升竞争力。",
|
||||
"导师特长": [
|
||||
"行业趋势洞察",
|
||||
"技能短板诊断",
|
||||
"求职思维训练",
|
||||
"模拟问答辅导"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuXLZZ9Q24PJ.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "孙应战",
|
||||
"就业管家": "",
|
||||
|
||||
604
frontend_食品/src/data/teacherInfo.json.backup_20250926_201038
Normal file
604
frontend_食品/src/data/teacherInfo.json.backup_20250926_201038
Normal file
@@ -0,0 +1,604 @@
|
||||
[
|
||||
{
|
||||
"查询导师名称": "刘红梅",
|
||||
"就业管家": "财经商贸",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "国际贸易",
|
||||
"导师介绍": "该导师深耕财经商贸领域,专注于国际贸易实务,拥有15年以上外贸业务与国际市场拓展经验。长期主导国际采购、进出口业务、跨境关务与贸易合规等项目,熟悉WTO规则、INCOTERMS国际贸易术语、海关监管及国际结算方式。其曾成功推动多个大型进出口项目落地,覆盖机械设备、消费品、食品及新能源产品等多个品类,帮助企业实现稳定的国际市场布局与风险防控。导师尤其擅长结合企业战略进行海外市场调研与客户关系管理,通过供应链协同与数字化贸易工具的应用,有效提升跨境交易效率与合规水平,是兼具理论深度与实战经验的国际贸易专家。",
|
||||
"导师特长": [
|
||||
"15年国际贸易专家",
|
||||
"进出口业务全流程管控",
|
||||
"贸易合规与关务专家",
|
||||
"数字化贸易工具应用"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5wnh1.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "朱琳琳",
|
||||
"就业管家": "财经商贸",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "供应链管理",
|
||||
"导师介绍": "导师深耕财经商贸领域,长期专注于供应链管理的理论研究与实务操作,拥有15年以上跨行业供应链规划与优化经验。其职业历程涵盖零售、制造、快消及跨境贸易等多个行业,主导实施过供应链战略设计、库存优化、物流网络布局及供应商协同等重大项目。通过引入精益管理、数字化工具与风险控制机制,成功帮助企业降低供应链成本10%—20%,并将准时交付率提升至95%以上。在行业影响力方面,导师多次担任企业内训与高校客座讲师,擅长将供应链管理方法与企业经营目标深度结合,推动从传统链条向智能化、全球化供应链体系转型,是兼具战略前瞻性与落地执行力的供应链管理专家。",
|
||||
"导师特长": [
|
||||
"15年供应链规划专家",
|
||||
"跨行业供应链优化",
|
||||
"企业内训与高校讲师",
|
||||
"成本降低10%-20%"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5J6yn.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "马国栋",
|
||||
"就业管家": "财经商贸",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "电子商务",
|
||||
"导师介绍": "导师深耕财经商贸领域,专注于电子商务运营与数字化商业模式创新,拥有超过15年的行业实践与团队管理经验。长期主持电商平台的整体规划与运营执行,涵盖跨境电商、B2B/B2C平台建设、社交电商及私域流量运营等多种业态。擅长通过数据驱动的选品策略、精准营销与供应链协同优化,实现用户增长与转化率提升,曾多次带领项目实现年销售额过亿元。在技术与方法上,熟练运用大数据分析、CRM系统与新媒体矩阵,构建高效的电商增长体系,同时在跨境电商合规、支付体系搭建及渠道拓展方面具有丰富经验。导师主持的多个电商项目获得行业创新奖项,是兼具战略规划能力与落地实操经验的电子商务专家。",
|
||||
"导师特长": [
|
||||
"10年电商运营专家",
|
||||
"大数据与CRM应用",
|
||||
"电商全链路运营",
|
||||
"亿级GMV规模化增长"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5fgO2.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "徐明辉",
|
||||
"就业管家": "财经商贸",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "金融服务",
|
||||
"导师介绍": "具有16年金融行业从业经验,横跨银行、券商与第三方财富管理机构,熟悉高净值客户资产配置、企业主投融资需求匹配及家族信托结构设计等核心业务。曾服务客户资产管理总规模超百亿元,主导开发基于风险偏好与生命周期的资产配置模型,在银行理财、基金组合、私募股权、保险信托等多资产组合配置方面经验丰富。曾带领团队完成近500户客户的资产结构重整与遗产筹划服务,客户满意度连续五年保持95%以上。对于REITs、绿色债券、可持续金融等新兴产品亦有深入研究,常受邀参与区域财富论坛与金融产品设计评审,是兼具专业能力与客户信任的金融实务专家。",
|
||||
"导师特长": [
|
||||
"16年金融资产配置专家",
|
||||
"管理资产规模超百亿",
|
||||
"服务500户高净值客户",
|
||||
"家族信托设计专家"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5j6oq.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "宋积极(配方师gigi)",
|
||||
"就业管家": "大健康",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "药品工艺与质量保障体系",
|
||||
"导师介绍": "导师曾任lakelab品牌研发总监,本科及硕士毕业于西安交通大学医学院药学专业,拥有13年美妆个护领域实战经验。曾任欧莱雅集团研发中心科学家,先后负责护肤与洗护发产品的开发,服务品牌涵盖巴黎欧莱雅、兰蔻、理肤泉、植村秀、巴黎卡诗、美奇丝等国际知名品牌;在产品创新与配方研发方面积累了深厚经验。此后担任人工智能测肤软件 “你今天真好看”APP 科学护肤总监,负责平台产品库搭建、产品评估、品牌合作与市场趋势追踪,使平台用户规模突破2000万,并在知乎等科普平台收获22万粉丝。现同时担任 香奈儿集团Skin Sider内容共创官,并入选 央视网 & OLAY“科学有她”青年女科学家项目。作为活跃的配方师与行业意见领袖,多次受邀在中国美容博览会等权威论坛发表主题演讲,是兼具科研背景与市场洞察的美妆个护研发专家。",
|
||||
"导师特长": [
|
||||
"13年美妆研发专家",
|
||||
"前欧莱雅集团科学家",
|
||||
"APP用户突破2000万",
|
||||
"22万科普粉丝KOL"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5E4Al.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "吴兰",
|
||||
"就业管家": "大健康",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "健康管理",
|
||||
"导师介绍": "拥有13年营养科学研究与产品开发经验,专注于功能食品与营养干预产品的产业化转化。累计参与30余种功能性食品开发,包括益生菌饮料、低GI代餐、抗氧化复配胶囊等,部分产品已实现出口,年均销售额超1.2亿元。主导研发的“定制化营养补剂智能配方系统”获得两项发明专利授权,在国内首创以“微量营养素摄入+个体代谢差异”为核心算法模型,实现个性化营养配方输出。其服务过的企业中,超60%在产品升级后实现营收增长超过30%。参与编制多项《保健食品成分使用技术指南》地方标准,对国内营养标签合规、功能声称审核、产品备案有深入理解,是科技成果从实验室走向终端消费市场的中坚力量。",
|
||||
"导师特长": [
|
||||
"13年功能食品研发专家",
|
||||
"产品年销1.2亿元",
|
||||
"个性化营养算法首创",
|
||||
"60%企业营收增30%"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5t1Ii.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "张国强",
|
||||
"就业管家": "化工",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "精细化工",
|
||||
"导师介绍": "具备20年以上精细化工领域从业经验,长期聚焦高附加值中间体、新材料前驱体及助剂类产品的合成工艺开发与放大验证。主持完成30余项新产品产业化项目,涵盖医药中间体、农药原药、高端涂料单体与功能助剂等多个方向,具备“实验室-中试平台-工业装置”三级转化体系建设与落地经验。其主导优化的“溴代苯类连续化反应工艺”成功将收率从72%提升至91%,年节能效果超过120吨标煤,产品出口至日韩及欧美地区。在“绿色溶剂替代”“反应热精准控制”“多级串联反应集成”等方向具有深厚积累,是将基础合成原理转化为清洁、安全、高效工业化流程的重要推动者。",
|
||||
"导师特长": [
|
||||
"20年精细化工专家",
|
||||
"30余项产业化项目",
|
||||
"收率提升至91%",
|
||||
"年节能120吨标煤"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5E5t7.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "高天宇",
|
||||
"就业管家": "化工",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "化工自动化与安全控制",
|
||||
"导师介绍": "深耕化工自动化控制领域逾15年,擅长DCS/PLC/SCADA系统集成、控制策略优化与智能运维平台建设,参与多个大型石化、煤化、氯碱和精细化工生产线的自动化改造升级工作。主导开发的“基于建模优化的PID自整定逻辑”在高粘度反应釜温控系统中成功落地,将调节稳定时间缩短近60%,显著提升产品合格率与能源利用率。具备从仪表选型、I/O配置、逻辑图编写到HMI界面设计的全栈能力,熟悉主流品牌如西门子PCS7、横河Centum VP、ABB 800xA等自动化平台。近年来聚焦“化工+AI+大数据”融合发展路径,推进预测性控制与设备状态诊断模型部署,是推动化工行业向智能制造升级的重要技术中坚。",
|
||||
"导师特长": [
|
||||
"15年化工自动化专家",
|
||||
"DCS/PLC/SCADA全栈集成",
|
||||
"调节稳定时间缩短60%",
|
||||
"化工+AI融合推进者"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5ExD2.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "何晓凯",
|
||||
"就业管家": "环保",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "环保工程技术与服务",
|
||||
"导师介绍": "拥有12年营销管理经验及4年环保检测行业经验,导师曾任江苏康达检测技术股份有限公司武汉办事处负责人。自2021年起创立并负责武汉办事处,推动公司在华中地区成功拓展土壤检测、固废鉴别及司法鉴定等核心业务,带领团队实现年营收约400万元。在技术与资质方面,其所负责部门于2021年获得生态环境部固管中心认证,主持的司法鉴定项目被湖北省厅通报为示范案例。导师兼具市场开拓与项目管理能力,是推动环保检测行业区域化发展的专业型管理人才。",
|
||||
"导师特长": [
|
||||
"12年营销管理专家",
|
||||
"环保检测区域开拓者",
|
||||
"武汉办年营收400万",
|
||||
"固废鉴别/土壤检测能力"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW70q6gekXc.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "赵雅芳",
|
||||
"就业管家": "环保",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "环保检验检测",
|
||||
"导师介绍": "导师曾为江苏康达检测技术股份有限公司副总经理、创始人之一,高级工程师,全面负责公司商务中心管理及实验室技术能力建设。自2016年推动公司成功在新三板挂牌以来,带领团队实现年营收1.8亿元,并推动企业先后获评国家高新技术企业、江苏省现代服务业高质量发展领军企业、苏州市总部企业及服务型制造示范平台等荣誉。在技术与行业影响力方面,导师兼任江苏省固体废物和化学品环境管理专家库成员、江苏省土壤环境专家库专家、江苏省生态环境损害鉴定与修复效果评估专家、司法鉴定协会环境损害专委会委员等多项社会职务,并作为长三角区域环境损害司法鉴定专家库成员积极参与行业治理。其带领的技术团队曾获“苏州市十大环保技术创新团队”称号,个人亦荣获“苏州市姑苏区环境检测技能名师工作室”称号,是兼具战略领导力与技术前瞻力的环境检测与治理专家。",
|
||||
"导师特长": [
|
||||
"年营收1.8亿领军者",
|
||||
"公司创始人/副总经理",
|
||||
"省固废/土壤专家库专家",
|
||||
"司法鉴定专家库成员"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ547VI.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "丁增辉",
|
||||
"就业管家": "环保",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "环保检验检测",
|
||||
"导师介绍": "导师曾任江苏康达检测技术股份有限公司土壤固废事业部总经理、康达绿色(江苏)检测技术有限公司总经理,主导事业部年营收达1.06亿元,具备丰富的环保检测与事业部运营经验。长期负责康达土壤与固废事业部整体运营及子公司筹建,主导实施了第三次全国土壤普查、全国重点行业企业用地土壤污染状况调查、长江口垃圾倾倒案环境损害赔偿模拟实验室等国家级重点项目。在行业影响力方面,导师担任2023年第一期全国危险废物与环境管理培训项目主理人,所在团队获评中关村修复产业联盟优秀创新成员,并代表企业参与巴塞尔公约亚太区域中心POPS管理交流。其主持的全国危废鉴定项目位列行业TOP,是兼具政策理解力与项目落地力的环境检测与固废治理专家。",
|
||||
"导师特长": [
|
||||
"事业部营收1.06亿",
|
||||
"国家级土壤普查主导",
|
||||
"固废治理领军人物",
|
||||
"巴塞尔公约交流代表"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5I7zh.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "陈伟",
|
||||
"就业管家": "交通物流",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "智慧物流与自动化",
|
||||
"导师介绍": "从事物流信息化与智慧物流系统集成工作逾15年,具备“平台建设+系统集成+流程再造”的全链条解决能力。曾主导多个省市级智慧物流枢纽规划与区域物流平台建设项目,牵头开发的“TMS+WMS+可视化大屏”一体化系统,已成功应用于电商、医药、冷链等行业,累计服务企业超300家。其提出的“货物流+信息流+资金流”三流合一物流数字中台架构,成功支撑日均订单处理峰值突破40万单,显著提升了区域物流协同效率。具备与政企多方协同建设能力,熟悉政策红利对接与平台型企业生态布局,是推动地方物流枢纽智能升级与中小企业数字化转型的重要推动力量。",
|
||||
"导师特长": [
|
||||
"15年智慧物流专家",
|
||||
"日均40万单系统支撑",
|
||||
"服务企业超300家",
|
||||
"政企协同平台建设"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5wUUa.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "郑凯文",
|
||||
"就业管家": "交通物流",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "现代物流运营与管理",
|
||||
"导师介绍": "拥有超过20年的物流运营管理与供应链优化实战经验,曾在多家世界500强企业担任物流总监顾问,熟悉从仓储布局、运输组织到库存周转与KPI体系建设的全流程。擅长构建“计划—执行—反馈—调整”的PDCA物流循环优化机制,在多个制造、零售、电商企业推动“库存周转提升+配送成本降低”双指标改善,平均节省成本8~15%。主导开发的“多级配送中心协同管理模型”在某大型连锁零售企业成功上线后,实现了全国27个区域中心的订单合并处理与波次优化,年物流费用节省超过8000万元。兼具运营数据分析、管理制度落地与人才梯队建设能力,是推动物流系统规范化、精益化、智能化升级的管理型专家。",
|
||||
"导师特长": [
|
||||
"20年物流供应链专家",
|
||||
"500强企业物流顾问",
|
||||
"年省物流费用8000万",
|
||||
"仓储与运输布局设计"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5AVV9.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "胡广豹",
|
||||
"就业管家": "能源",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "智能制造与新能源材料制备",
|
||||
"导师介绍": "导师曾任迈为股份研发总工程师,拥有14年光伏制造与产品研发经验,长期致力于前沿光伏技术与装备国产化攻关。其主导建设了国内首条晶硅异质结电池生产线,并实现整套装备国产化,推动我国光伏产业关键环节突破“卡脖子”限制。在技术创新方面,主持完成光伏产品无银金属化项目,有效解决了银资源对行业扩产的制约,并参与制定相关技术标准;同时深度参与建设光伏制造首套工业3.0智能化生产线并成功交付。其推动的异质结产线已走出国门,实现我国光伏装备由进口转向出口,为中国光伏装备国际化发展作出了重要贡献,是兼具战略眼光与实践能力的光伏装备研发专家。",
|
||||
"导师特长": [
|
||||
"14年光伏装备研发专家",
|
||||
"首条国产HJT产线建设",
|
||||
"无银金属化技术主导者",
|
||||
"技术标准制定"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5Elct.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "郑静",
|
||||
"就业管家": "能源",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "智能制造与新能源材料制备",
|
||||
"导师介绍": "13年光伏技术研发及管理经验,累计获得国内外授权发明及实用新型专利20余项。作为多个研发项目的主要负责人,长期主导光伏组件新产品及相关项目的统筹与管控,推动产品在结构与材料上的持续优化与创新。其在异质结(HJT)组件可靠性保障与产业化推进方面贡献突出,通过精细化设计与高效研发方法,加速了异质结量产进程,并在NBB组件结构优化与材料创新领域获得业内高度认可,使其逐步成为行业主流并衍生出多条产品路线。同时,导师还规划并搭建完成锂电研发模块实验室,全面主导研发工作,展现了跨领域的前瞻视野与系统化研发能力,是新能源光伏领域兼具技术深度与产业推动力的专家型人才。",
|
||||
"导师特长": [
|
||||
"13年光伏研发专家",
|
||||
"20余项专利持有者",
|
||||
"异质结产业化推动者",
|
||||
"NBB技术革新者"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ54E4h.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "燕建明",
|
||||
"就业管家": "能源",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "智能制造与新能源材料制备",
|
||||
"导师介绍": "拥有10余年产品研发与项目管理经验,导师曾任迈为股份光伏组件研发经理,长期专注于光伏产品研发、电站建设及风电储能模块开发。其主导完成异质结组件新产品的研发,推动公司异质结产品在业内市占率突破70%,并成功开辟叠层钙钛矿组件及配套材料开发的新方向,建设了全球首例叠层钙钛矿配套中试线设备。在新能源跨领域研发方面,导师还深度参与风电储能模块研发及多个电站建设项目,积累了系统性工程经验。科研成果方面,已获得国内外专利10余项,并在国际学术期刊发表高质量论文,是兼具产业创新与科研实力的新能源光伏研发专家。",
|
||||
"导师特长": [
|
||||
"10年光伏研发专家",
|
||||
"异质结市占率70%+",
|
||||
"风电储能跨域研发",
|
||||
"10余项专利/论文"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5YstN.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "褚玉壮",
|
||||
"就业管家": "能源",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "智能制造与新能源材料制备",
|
||||
"导师介绍": "导师曾任迈为科技电池研发资深专家,深耕能源领域智能制造与新能源材料制备方向,拥有10年光伏电池工艺与研发经验。其早期参与推动光伏产业从多晶向单晶+PERC的转型升级,助力产业实现效率与成本的双重突破,并在PERC+SE及TOPCon等电池技术迭代中发挥重要作用。近年来,导师重点参与光伏HJT(金属化)项目研发,率先推动无银化工艺在产业端落地,成功开发出新一代无银栅金属化工艺方案并逐步推向市场,为解决银资源瓶颈、提升产业可持续发展提供了技术路径,是兼具前瞻视野与实践经验的新能源材料与智能制造专家。",
|
||||
"导师特长": [
|
||||
"10年光伏电池技术专家",
|
||||
"解决银资源瓶颈关键突破",
|
||||
"光伏智能制造资深专家",
|
||||
"新能源材料制备创新"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5eL0Q.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "周海波",
|
||||
"就业管家": "能源",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "电力工程巡检与运维",
|
||||
"导师介绍": "深耕电力系统规划、调度与运行管理领域超过20年,服务于国家电网、南方电网及多地省级能源局项目,参与多个区域电网规划与新型电力系统建设。擅长分布式能源接入、柔性输电设计、潮流优化与负荷预测,主持设计的“可再生能源友好型中压配电网模型”已在5个城市试点应用,实现年均弃风弃光率下降12%、调度效率提升40%。主导开发的“调度AI协同辅助平台”集成短期气象预测与实时负荷预测算法,广泛应用于新能源比例超50%的高渗透区域。在“源网荷储”协同控制、电网安全冗余设计与设备智能巡检方面成果显著,是推动传统电力系统迈向智能化、高韧性的新型电力系统核心技术推动者。",
|
||||
"导师特长": [
|
||||
"20年电网规划专家",
|
||||
"弃风率降12%+",
|
||||
"调度效率提升40%",
|
||||
"源网荷储协同控制"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5XWdK.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "秦俊超",
|
||||
"就业管家": "食品",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "现代食品工程",
|
||||
"导师介绍": "导师曾任欧洲农业集团中国区质量经理,拥有15年食品与农业制造管理经验,历任汇源果汁、泰国卜蜂及欧洲农业集团等知名企业核心岗位,具备丰富的国际化背景与工厂运营经验。其负责管理国内6家工厂的生产与质量体系,成功推动多家OEM工厂的高效运作,并多次主导新饮料工厂从0到1的建设,实现快速且质量稳定的投产。在技术引进方面,导师积极推动国际领先的饮料生产工艺落地中国市场,提升行业整体制造与质量水准,是兼具战略眼光与实操经验的食品与农业制造质量管理专家。",
|
||||
"导师特长": [
|
||||
"15年食品制造管理专家",
|
||||
"欧洲农业集团质量经理",
|
||||
"6家工厂运营管理者",
|
||||
"OEM高效运作推动者"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7cCvSvhMN.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "潘凯珍",
|
||||
"就业管家": "食品",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "现代食品工程",
|
||||
"导师介绍": "导师曾任品质部经理、食品安全总监,拥有18年食品质量管理经验,长期致力于食品安全与质量体系建设。其主导完成多项食品安全与质量体系认证及三方审核,熟悉国际与国内食品安全标准与监管要求。在实践中,导师推动建立了食品安全风险防控的动态管理机制,有效提升企业质量保障水平与风险应对能力,是兼具战略视野与实战经验的食品质量与安全管理专家。",
|
||||
"导师特长": [
|
||||
"18年食品质量管理专家",
|
||||
"食品安全总监/经理",
|
||||
"多体系认证主导者",
|
||||
"国际国内标准精通"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5y3td.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "杨丽华",
|
||||
"就业管家": "食品",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "营养配餐与新营养经济店铺经营",
|
||||
"导师介绍": "专注于营养配餐与新营养经济模式,拥有十余年健康饮食与门店经营管理经验。长期从事营养餐食研发、功能性食品配方设计及个性化营养干预方案制定,能够将科学营养理念与餐饮经营实践深度结合。在店铺运营方面,曾主导多家营养配餐门店从0到1的筹建与管理,涵盖选址规划、菜单体系搭建、供应链管理、会员运营及数字化营销,积累了丰富的连锁化与品牌化经验。导师尤其擅长通过大数据与健康检测结果,打造“营养定制+场景消费”的新型商业模式,实现用户体验提升与门店营收增长的双重目标,是兼具专业营养背景与商业运营能力的健康餐饮与新营养经济专家。",
|
||||
"导师特长": [
|
||||
"10年营养餐食研发专家",
|
||||
"功能性食品配方设计",
|
||||
"门店从0到1筹建",
|
||||
"大数据个性化干预"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.jpeg"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "光年",
|
||||
"就业管家": "视觉设计",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "独立摄影与影视片创作",
|
||||
"导师介绍": "导师曾任孔雀蓝(江苏)文化科技有限公司艺术总监,江苏政法特约摄影师、索尼官方合作人像摄影师,拥有12年摄影记者与摄影项目实践经验,同时兼任摄影培训讲师及小红书人气摄影博主“独立摄影师-光年”。其作品兼具纪实性与艺术性,多次在国家及省级媒体平台刊登展映,并在公安、党建、知识产权及社会公益等主题影像创作中屡获殊荣。代表作品包括《夜“警”》《他叫老马》《逝界》《Qsir反诈宝典》《青少年关爱计划》《云端无限》《砥砺尘路 风雨与共》等,先后荣获全国警察摄影图文大赛展览入选、长三角“四叶草”杯反诈短视频一等奖、江苏省社会主义核心价值观主题微电影二等奖、中央政法委“平安中国”一等奖及中国国际微电影节最佳剪辑奖等。其作品不仅在国内获奖频繁,更曾随华为模板影片在全球20多个国家展映,是集摄影创作、影像传播与艺术教育于一体的资深影像艺术专家。",
|
||||
"导师特长": [
|
||||
"12年纪实/人像摄影师",
|
||||
"索尼官方合作摄影师",
|
||||
"平安中国一等奖得主",
|
||||
"摄影培训讲师/博主"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5AdfT.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "张宏达",
|
||||
"就业管家": "视觉设计",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "自媒体创作与运营",
|
||||
"导师介绍": "具备丰富的新媒体视觉内容生产与社交平台传播经验,专注于“内容调性+视觉人设+传播节奏”的系统化设计策略,曾主导多个百万级账号的视觉体系搭建与内容输出模板构建。服务过多个时尚、美妆、文旅、美食、教育领域的IP内容团队,擅长封面构图、视觉节奏设计、品牌识别元素提炼,并成功帮助4个账号实现IP视觉统一与粉丝增长突破100万+。提出“移动端视觉消费偏好映射模型”,有效指导不同平台内容的视觉表达优选路径。在封面设计、图文模板、动态视觉脚本方面均有落地经验,是新媒体时代“设计即传播”的深度推动者与系统搭建者。",
|
||||
"导师特长": [
|
||||
"8年视觉策略专家",
|
||||
"百万级账号视觉体系搭建",
|
||||
"多领域IP视觉服务",
|
||||
"4个账号增粉100万+"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5bHYT.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "唐振华",
|
||||
"就业管家": "视觉设计",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "商业平面设计与三维建模",
|
||||
"导师介绍": "深耕平面设计与品牌视觉构建十余年,擅长从“品牌战略—视觉语言—传播执行”全链条系统化构建品牌视觉资产。累计完成标志设计、VI系统、包装设计、商业物料等项目超过300个,服务客户涵盖快消、文创、教育、科技等多个行业。主导作品曾荣获国内外多个平面设计奖项,部分作品入选《中国品牌设计年鉴》《GDC优选》与日本JAGDA优秀视觉作品展。擅长以“情绪引导+用户共鸣”为核心,构建具有情感穿透力的品牌图形语言。近年来积极推动品牌在社交媒体、短视频平台的视觉适配策略,提出“短视传播中视觉的二次生命”理论,被多家设计机构采纳,是平面设计商业转化与用户沟通路径的深度实践者。",
|
||||
"导师特长": [
|
||||
"10年品牌视觉专家",
|
||||
"300+项目实战经验",
|
||||
"国内外设计大奖得主",
|
||||
"情感化视觉设计"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5EEac.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "杨清永",
|
||||
"就业管家": "土木水利",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "建设工程项目全流程管理",
|
||||
"导师介绍": "导师曾任中国五矿二十三冶建设集团有限公司区域总工程师兼工程总监,河南省建协质量、安全专家库专家,五矿知行学院特聘讲师,具有建筑工程、市政工程高级工程师职称,并获华中科技大学硕士学位。从事建筑工程管理工作18余年,长期专注于EPC成套工程、大型工业产业园、综合体项目及大国重器(18000T油压机)设备实施等领域,积累了丰富的工程管理与技术实践经验,兼顾建筑、市政、水利工程等多领域的项目统筹与技术把控。导师同时具备国家建筑工程、市政工程、水利水电工程一级建造师、国家注册安全工程师及高级QC诊断师等资质认证,是一位兼具理论功底与实战能力的复合型工程管理专家。",
|
||||
"导师特长": [
|
||||
"18年EPC工程总监",
|
||||
"区域总工/高级工程师",
|
||||
"三证一建一注安全师",
|
||||
"省建协专家库专家"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5R3bN.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "罗俊杰",
|
||||
"就业管家": "土木水利",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "建筑工程设计与施工",
|
||||
"导师介绍": "具备18年大型土木工程施工管理经验,历任多个高铁站房、大型市政综合管廊、地下交通枢纽项目的现场技术负责人及项目总工。擅长复杂地质条件下深基坑支护、大跨度结构模板支设、施工阶段结构受力控制与施工组织优化,具备极强的工程落地与多工序协同调度能力。曾主导实施的某城市核心区地下结构工程,工期缩短30%,成本控制率优于行业平均水平12%,被评为市级文明样板工程。深谙《GB 50204》《GB 50666》等多项施工质量验收规范,具备从施工图识读到BIM+进度精细化联动的全过程掌控能力,是推动项目精细化、标准化、安全化建设的重要技术核心人物。",
|
||||
"导师特长": [
|
||||
"18年高铁/市政项目管理",
|
||||
"项目总工/技术负责人",
|
||||
"工期缩短30%+",
|
||||
"深基坑/BIM技术专家"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5BFnj.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "刘杰",
|
||||
"就业管家": "文旅",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "项目经营管理",
|
||||
"导师介绍": "15年民宿产业化研发与标准设计经验,专注民宿产品创新、职业化培训体系搭建及乡村文旅业态升级,主导多项国家级行业标准制定与落地实践。\n木亚文旅创始人兼董事长,全面负责民宿产业研发、标准制定及全国业务拓同时也是莫干山民宿行业协会执行会长兼秘书长以及浙江大学城市学院旅游管理专业校外导师。\n曾作为核心起草人,主持《乡村民宿服务质量规范》《民宿管家职业技能等级评定规范》等国标编制,推动民宿行业标准化发展;申报并推动“民宿管家”入选国家新职业目录,建立首个国家级职业技能评定体系。",
|
||||
"导师特长": [
|
||||
"15年民宿产业化专家",
|
||||
"民宿协会会长/创始人",
|
||||
"协会管理经验",
|
||||
"校企合作导师"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuUpJBE4VCCx.jpg"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "郭建辉",
|
||||
"就业管家": "文旅",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "商业活动策划",
|
||||
"导师介绍": "专注于商业活动策划与落地执行,拥有十余年大型活动与品牌推广经验。长期负责城市文化节庆、商业综合体推广、旅游目的地营销及跨界IP活动的整体策划与实施,擅长将文化元素与商业逻辑结合,打造具有传播力与体验感的文旅活动。导师曾主导多个大型城市商圈活动、品牌路演与主题节庆项目,从前期市场调研、方案创意到现场执行、效果评估均有完整实践经验。其策划的项目多次实现人流量与销售额的双提升,并在媒体传播与社会口碑上获得广泛认可。导师注重活动策划与市场趋势、数字营销相结合,是兼具创意策划力与商业转化力的文旅活动策划专家。",
|
||||
"导师特长": [
|
||||
"10年活动策划专家",
|
||||
"城市节庆/商圈推广",
|
||||
"文旅IP跨界策划",
|
||||
"数字营销整合专家"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuUpJBMNLZL5.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "赵志强",
|
||||
"就业管家": "文旅",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "文化服务",
|
||||
"导师介绍": "专注于文化服务与体验设计,拥有15年以上文化项目策划与落地实施经验。其职业经历涵盖城市文化节庆、博物馆与非遗展示、主题公园及乡村文旅项目等多类业态,善于将地方文化资源转化为具有市场竞争力的旅游产品与服务。导师曾主持多个区域性文化活动和文旅融合项目,推动文化内容与旅游消费场景深度结合,实现游客满意度与目的地影响力的双重提升。在实践中,注重服务流程优化与沉浸式体验打造,熟练运用数字化传播、新媒体运营与文化创意设计方法,赋能文旅企业实现品牌升级与效益增长,是兼具文化深度与市场洞察的文旅文化服务专家。",
|
||||
"导师特长": [
|
||||
"15年文旅策划专家",
|
||||
"沉浸式体验打造",
|
||||
"博物馆/非遗展示设计",
|
||||
"新媒体运营"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuUpJC2oLPpC.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "何思远",
|
||||
"就业管家": "智能开发",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "网络安全",
|
||||
"导师介绍": "拥有15年以上信息安全研发与项目管理经验,具备深厚的攻防实战与安全架构设计能力。职业经历涵盖政府、金融、能源及制造业等多个重点行业,曾主持网络安全防护体系建设、渗透测试与应急响应、数据安全与隐私保护、以及零信任架构落地等核心项目。在技术实践中,导师熟练掌握入侵检测、漏洞挖掘、加密算法及威胁情报分析,能够结合AI与大数据技术构建智能化安全防护体系,有效应对APT攻击、供应链风险与数据泄露等复杂挑战。其带领团队多次获得省部级科技成果奖,并在国内外核心期刊发表多篇论文,是兼具战略眼光与实战经验的网络安全专家。",
|
||||
"导师特长": [
|
||||
"15年网络安全专家",
|
||||
"政府/金融安全架构",
|
||||
"省部级科技奖得主",
|
||||
"加密算法应用"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5LTXW.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "王振宇",
|
||||
"就业管家": "智能开发",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "AI大前端",
|
||||
"导师介绍": "导师长期专注于智能开发领域,深耕AI大前端方向,拥有7年以上互联网与智能应用研发经验。其研究与实践涵盖Web前端、移动端、跨平台框架以及前端与AI模型的深度融合,主持完成过多项智能交互平台、实时可视化大屏、AI驱动的H5活动引擎与智能小程序生态的开发与落地。在工程实践中,导师注重性能优化与用户体验,善于利用大模型、智能推荐与自然语言交互技术重构前端交互逻辑,实现“AI+前端”的智能化升级。其带领的团队多次获得企业技术创新奖与行业评选奖项,积累了丰富的跨端开发、智能交互设计和前后端一体化协同经验,是兼具技术深度与应用广度的AI大前端专家。",
|
||||
"导师特长": [
|
||||
"7年AI大前端专家",
|
||||
"Web与移动端开发",
|
||||
"跨平台框架集成",
|
||||
"企业创新奖得主"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5GfLu.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "赵立新",
|
||||
"就业管家": "智能开发",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "AI智能应用开发",
|
||||
"导师介绍": "导师专注于智能开发领域,深耕AI智能应用开发方向,拥有8年以上研发与项目实践经验。长期致力于自然语言处理、计算机视觉、推荐系统与多模态交互等前沿技术的应用落地,主持完成过政务服务平台智能助手、工业视觉检测系统、个性化推荐引擎以及智能客服系统等数十个标杆项目。在工程实践中,导师善于将深度学习、知识图谱、RAG(检索增强生成)与大模型结合,构建高效稳定的AI应用,并推动其在政务、金融、医疗、制造等行业实现商业价值。其研发成果有效提升了用户体验与运营效率,多次获得省级科技成果奖及企业创新奖项,同时发表多篇高水平论文并拥有多项专利,是兼具技术前瞻性与实战经验的AI智能应用开发专家。",
|
||||
"导师特长": [
|
||||
"8年AI应用专家",
|
||||
"多模态交互设计",
|
||||
"大模型/RAG实战专家",
|
||||
"省级科技奖得主"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5BeLt.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "谢宇程",
|
||||
"就业管家": "智能开发",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "AIOps智能运维",
|
||||
"导师介绍": "专注于AIOps智能运维方向,拥有15年以上IT系统运维与智能化管理经验。长期负责企业级运维体系建设、自动化监控平台开发与智能运维算法落地,主持过多个涵盖金融、制造、电商及云计算平台的AIOps项目。在技术实践中,导师擅长结合日志分析、异常检测、根因定位与预测性运维,实现对复杂系统的全生命周期管理,有效降低故障率并提升运维效率。其带领团队开发的智能告警与自动化恢复方案,将平均故障修复时间缩短40%以上,帮助企业实现高可用与低成本的双重目标。作为行业内的实践型专家,导师多次受邀在智能运维与云原生技术论坛发表演讲,是兼具技术前瞻性与落地实战力的AIOps智能运维专家。",
|
||||
"导师特长": [
|
||||
"15年智能运维专家",
|
||||
"金融/制造AIOps实战",
|
||||
"预测性运维专家",
|
||||
"故障修复时间缩短40%"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5xnc9.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "王军",
|
||||
"就业管家": "智能制造",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "机械加工工艺",
|
||||
"导师介绍": "该导师是一位资深结构工程师、高级工程师,拥有30余年产品研发与技术工程管理经验,长期深耕园林机械领域,主持研发了多个具有行业影响力的产品项目,并实现成功交付。其中部分产品在欧洲、澳洲市场累计销售数十万台,单个产品为企业创造近百万销售额,展现了突出的市场转化能力与工程价值。他不仅为多家企业制定标准,还积极参与国家标准修订工作,推动行业规范与技术进步。在科研成果方面,导师已获得多项发明和实用新型专利,具备扎实的创新能力与工程实践经验,是集研发、标准制定与专利成果于一体的行业专家。",
|
||||
"导师特长": [
|
||||
"30年研发专家",
|
||||
"主导国标制定",
|
||||
"资深机械结构专家",
|
||||
"单产品创收百万"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7c44HkjqO.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "顾华",
|
||||
"就业管家": "智能制造",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "智能机械产品结构与外观设计",
|
||||
"导师介绍": "曾任宝时得科技(中国)有限公司高级研发设计工程师、品类专家,拥有25年机电产品研发与设计经验,长期主导大型铸造生产线、大理石切割机、园林户外动力工具(汽油/交流/直流)、手持高频振动切割工具及家用机电类产品的研发设计工作。其主导设计的产品连续十余年在欧美市场实现年销售额1000万至4000万美元,具备显著的市场竞争力与持续创新能力。在技术突破方面,曾参与出口第三国关键生产线建设与进口设备国产化改造,主导研发了数十款汽油与电动机电产品,并获得28项国内外发明专利。在行业荣誉方面,其研发设计成果多次斩获欧美设计大奖,并十余次入选省级高新技术评选,是兼具产业化能力与创新引领力的机电产品研发专家。",
|
||||
"导师特长": [
|
||||
"25年机电研发专家",
|
||||
"高级研发工程师",
|
||||
"产品年销4000万美元",
|
||||
"28项发明专利"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7cCvScko4.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "杨文琦",
|
||||
"就业管家": "智能制造",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "智能制造非标自动化产线搭建",
|
||||
"导师介绍": "非标自动化领域专家,曾任智能制造企业高级研发总监,拥有20余年行业经验,长期专注于跨行业自动化解决方案的研发与落地。其主持完成重大非标装备研发课题30余项,推动产线平均良品率提升至98%以上,单条产线综合能耗降低15%—20%,为企业创造了显著的经济与技术价值。在技术创新方面,主导研发的智能医疗耗材装配检测线已成功投产,设计的精密电子元件高速插装系统实现效率大幅提升,并在家电行业率先开发柔性检测装置。同时,提出的模块化与标准化接口方案有效缩短交付周期,获得了市级科技成果奖与创新奖。迄今已拥有专利20余项,其中发明专利6项,是兼具战略前瞻性与工程实践力的非标自动化研发领军人才。",
|
||||
"导师特长": [
|
||||
"20年非标自动化专家",
|
||||
"高级研发总监",
|
||||
"20余项专利",
|
||||
"30+项装备研发课题"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5Av9E.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "黄雅琴",
|
||||
"就业管家": "智能制造",
|
||||
"导师类型": "任课老师",
|
||||
"所属垂直方向": "自动化设备智能调试",
|
||||
"导师介绍": "深耕智能制造领域,长期专注于自动化设备智能调试与生产线优化,具备超过20年的工程实践与项目管理经验。曾主持完成数十条非标自动化产线的装调与优化项目,涵盖智能物流、精密电子、汽车零部件、医疗器械等多个行业,积累了丰富的跨领域应用经验。在技术方面,精通PLC控制系统调试、机器人运动轨迹优化、传感器与视觉系统集成,以及MES/WMS系统对接与调度逻辑优化,能够快速定位并解决产线瓶颈问题。其主导的多项项目成功将设备良品率提升至98%以上,产能利用率提高20%—30%,并实现能耗与人工成本的双重下降。导师还积极推进模块化调试流程与标准化测试方案,已获得多项相关专利与行业成果奖,是一位兼具创新思维与落地能力的智能制造自动化调试专家。",
|
||||
"导师特长": [
|
||||
"20年自动化调试专家",
|
||||
"跨行业产线优化",
|
||||
"模块化调试专利",
|
||||
"良品率提升至98%"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5qcnk.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "周伏波",
|
||||
"就业管家": "",
|
||||
"导师类型": "公共课导师",
|
||||
"所属垂直方向": "",
|
||||
"导师介绍": "具备二十年以上光电子技术领域深耕经验,长期致力于光电子芯片材料、光通信器件、半导体照明、激光器件及光电显示技术的研发与产业化工作,是推动中国光电子产业链升级的重要技术推动者与行业实践者。其主导完成的多项核心材料与芯片工艺突破,成功应用于光模块、光引擎、LED器件、激光显示模组等多个高精度、高性能领域,累计获得授权专利60余项,多项技术成果实现量产落地。\n曾牵头多个国家级重大专项、地方高端装备工程及中外合作项目,带领团队建立从晶圆制备、芯片设计、封装测试到模块集成的全流程平台,显著提升国产器件的可靠性、集成度与光电转换效率。在高速光通信、Micro-LED封装、DFB激光器结构优化、VCSEL芯片阵列等前沿方向有多项工程化成果,相关产品广泛应用于数据中心、5G基站、车载光电子、智能终端等产业场景。\n同时积极参与行业标准制定与技术路线研判,推动构建光电子细分赛道的协同生态链,是该领域内兼具技术前瞻性、产业推动力与系统落地能力的高层次专家型人才。",
|
||||
"导师特长": [
|
||||
"光电子芯片材料",
|
||||
"激光器件创新",
|
||||
"光电显示应用",
|
||||
"激光器结构优化"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuVU7Gi9YxSN.jpg"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "范雪娇",
|
||||
"就业管家": "",
|
||||
"导师类型": "公共课导师",
|
||||
"所属垂直方向": "",
|
||||
"导师介绍": "拥有十八年的工业自动化与机电设备行业从业经验,长期专注于自动化装备研发、配件系统优化、机电一体化集成与工程项目落地,具备从核心部件开发到整线系统集成的全链条实践能力。职业生涯中,累计参与和主导项目超过百项,涵盖非标自动化装置、精密机电配件、控制系统架构设计与生产线智能改造等多个方向,广泛服务于汽车制造、3C电子、包装、医疗设备、家电装配等高标准行业。\n其主导研发的多款模块化自动化组件与定制化联动装置,成功实现多类型产线的节拍提速与人力替代,帮助多家客户实现效率提升30%以上、故障率下降50%以上的成果,相关技术获得多项实用新型与发明专利。在项目实施过程中,具备出色的系统集成与工程管理能力,擅长在复杂工况下实现快速部署与稳定运行。\n多年来致力于推动传统机电制造与智能制造融合升级,在设备通用化、配件国产替代、运维数字化等方向持续推进,广受行业上下游合作方、园区及客户方高度评价,是工业自动化与智能装备融合发展的典型推动者与实干型专家代表。",
|
||||
"导师特长": [
|
||||
"自动化装备研发",
|
||||
"控制系统设计",
|
||||
"联动装置创新",
|
||||
"系统集成管理"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuVU7JsHHDNZ.jpeg"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "李毅峰",
|
||||
"就业管家": "",
|
||||
"导师类型": "公共课导师",
|
||||
"所属垂直方向": "",
|
||||
"导师介绍": "拥有超过二十年的柔性电子产业从业经验,长期专注于柔性印制电路板(FPC)的材料研发、精密设计、自动化制造与产业化应用,具备从技术开发到市场交付的全流程掌控能力。职业生涯中先后主导完成数十项高密度FPC研发项目,涵盖5G通信终端、可穿戴设备、汽车电子、医疗影像、工业控制等多个应用场景。曾带领团队突破多层柔性板对位精度控制与微线宽蚀刻技术瓶颈,使线路最小宽距精度控制在±20μm以内,成功实现系列产品向超薄、超柔、高可靠性方向升级,批量供应多家国际知名电子企业。\n其主导构建的“研发-制板-组装-客户联动”一体化协同体系,有效缩短交付周期约30%,年均服务客户超300家。在产业端具备极强的应用敏感性与需求响应能力,产品成功应用于多款主流终端设备与高可靠性模组,被评为“年度柔性电子优秀供应链单位”。近年来还积极参与FPC相关工艺标准制定与工信部重大专项联合攻关任务,致力于推动柔性电路板技术向更高集成度、更高信号速率、更复杂弯折结构的方向演进,是该领域兼具技术高度、产业经验与市场判断力的代表性专家之一。",
|
||||
"导师特长": [
|
||||
"柔性电子研发",
|
||||
"自动化制造工艺",
|
||||
"高密度FPC设计",
|
||||
"微线宽蚀刻技术"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuVPz0WRmxCK.jpeg"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "魏立慧",
|
||||
"就业管家": "",
|
||||
"导师类型": "企业资深HR",
|
||||
"所属垂直方向": "",
|
||||
"导师介绍": "企业资深一线HR主讲,专注于为求职者提供一对一的个性化指导。通过真实招聘视角,深入剖析个人优势与短板、传授面试技巧、规划职业定位与发展路径,帮助学生快速提升求职竞争力。求职策略以实用落地为核心,注重互动交流与角色定位,让学员在轻松氛围中获得直击痛点的求职策略。",
|
||||
"导师特长": [
|
||||
"招聘视角剖析",
|
||||
"职业定位规划",
|
||||
"互动交流教学",
|
||||
"个人优势挖掘"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuUpSO4gUtJz.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "孙应战",
|
||||
"就业管家": "",
|
||||
"导师类型": "营销课老师",
|
||||
"所属垂直方向": "",
|
||||
"导师介绍": "拥有18年制造业与产品营销经验,曾在上市公司与世界500强外企任职,参与大众MEB平台、奥迪EA888发动机及新能源汽车项目开发。作为德企内训讲师、国际演讲学会资深会员和中国心理卫生协会会员,善于将实践经验转化为通俗讲解,课堂氛围轻松易懂。",
|
||||
"导师特长": [
|
||||
"18年制造营销经验",
|
||||
"主导亿级汽车项目",
|
||||
"新能源开发专家",
|
||||
"德企认证内训师"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuUpJCc6qecx.jpg"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "李奇",
|
||||
"就业管家": "",
|
||||
"导师类型": "AI课老师",
|
||||
"所属垂直方向": "",
|
||||
"导师介绍": "毕业于南洋理工学院,拥有硕士学位,具备扎实的人工智能理论基础与产业实践经验。近年来,专注于大模型工程化与AI应用课程体系建设,主持完成《AIGC实战:从模型调用到产品落地》《AI在视觉设计与内容生成中的应用》等多个应用型教学项目。曾主导开发“AI技能地图导航系统”,实现课程内容与岗位技能的精准对齐,在2024年全国高校AI课程创新大赛中荣获一等奖。擅长将复杂的算法模型转化为通俗易懂的教学内容,致力于打造“人人可用AI”的实训课程体系,是众多高校与职业培训机构特聘的AI技术与课程体系顾问。",
|
||||
"导师特长": [
|
||||
"人工智能",
|
||||
"应用型教学",
|
||||
"算法模型",
|
||||
"AI课程体系建设"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW8gePZvRn6.jpg"
|
||||
}
|
||||
]
|
||||
File diff suppressed because one or more lines are too long
@@ -228,12 +228,7 @@ const EventDetailModal = ({ isOpen, event, onClose }) => {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* AI课和营销能力课显示课程信息 */}
|
||||
{(eventItem.type === 'ai-course' || eventItem.type === 'marketing-course') && (
|
||||
<div className="event-description">
|
||||
{eventItem.title} - {eventItem.teacher}老师
|
||||
</div>
|
||||
)}
|
||||
|
||||
|
||||
{/* 企业高管公开课添加线下参与标签 */}
|
||||
{eventItem.type === 'public-course' && (
|
||||
|
||||
@@ -437,3 +437,174 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 公司图片网格布局样式 */
|
||||
.company-images-grid {
|
||||
margin-top: 16px;
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
||||
gap: 12px;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
/* 根据图片数量调整列数 */
|
||||
.company-images-grid:has(.company-image-item:nth-child(1):last-child) {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.company-images-grid:has(.company-image-item:nth-child(2):last-child) {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
|
||||
.company-images-grid:has(.company-image-item:nth-child(3):last-child) {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
|
||||
.company-images-grid:has(.company-image-item:nth-child(4)) {
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
}
|
||||
|
||||
.company-image-item {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
aspect-ratio: 4/3;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.company-image-item:hover {
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
|
||||
transform: translateY(-4px);
|
||||
}
|
||||
|
||||
.company-grid-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
display: block;
|
||||
transition: transform 0.3s ease;
|
||||
}
|
||||
|
||||
.company-image-item:hover .company-grid-image {
|
||||
transform: scale(1.05);
|
||||
}
|
||||
|
||||
/* 图片预览模态框样式 */
|
||||
.image-preview-modal {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: rgba(0, 0, 0, 0.9);
|
||||
z-index: 10000;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
animation: fadeIn 0.3s ease;
|
||||
}
|
||||
|
||||
@keyframes fadeIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.image-preview-content {
|
||||
position: relative;
|
||||
max-width: 90vw;
|
||||
max-height: 90vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.image-preview-img {
|
||||
max-width: 100%;
|
||||
max-height: 90vh;
|
||||
object-fit: contain;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.image-preview-close {
|
||||
position: absolute;
|
||||
top: -50px;
|
||||
right: 0;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 50%;
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
color: white;
|
||||
border: 2px solid rgba(255, 255, 255, 0.5);
|
||||
font-size: 28px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
transition: all 0.3s ease;
|
||||
backdrop-filter: blur(4px);
|
||||
|
||||
&:hover {
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
}
|
||||
|
||||
.image-preview-counter {
|
||||
position: absolute;
|
||||
bottom: -40px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
color: white;
|
||||
padding: 6px 16px;
|
||||
border-radius: 16px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
backdrop-filter: blur(4px);
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
.image-preview-btn {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 50%;
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
color: white;
|
||||
border: 2px solid rgba(255, 255, 255, 0.5);
|
||||
font-size: 32px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
transition: all 0.3s ease;
|
||||
backdrop-filter: blur(4px);
|
||||
|
||||
&:hover {
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
transform: translateY(-50%) scale(1.1);
|
||||
}
|
||||
|
||||
&:active {
|
||||
transform: translateY(-50%) scale(0.95);
|
||||
}
|
||||
}
|
||||
|
||||
.image-preview-btn-prev {
|
||||
left: -70px;
|
||||
}
|
||||
|
||||
.image-preview-btn-next {
|
||||
right: -70px;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,610 @@
|
||||
.job-info-modal-content {
|
||||
max-height: 80vh;
|
||||
max-width: 860px;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
background-color: #f2f3f5;
|
||||
background-image: url("@/assets/images/CompanyJobsPage/background.png");
|
||||
background-size: 100% auto;
|
||||
background-position: top center;
|
||||
background-repeat: no-repeat;
|
||||
border-radius: 8px;
|
||||
box-sizing: border-box;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
padding: 20px;
|
||||
|
||||
/* 自定义滚动条样式 */
|
||||
&::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-track {
|
||||
background: #f1f1f1;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-thumb {
|
||||
background: #667eea;
|
||||
border-radius: 3px;
|
||||
|
||||
&:hover {
|
||||
background: #764ba2;
|
||||
}
|
||||
}
|
||||
|
||||
.job-info-modal-search {
|
||||
width: 319px;
|
||||
height: 36px;
|
||||
border: 1px solid #2c7aff;
|
||||
|
||||
span {
|
||||
background-color: #fff;
|
||||
}
|
||||
input {
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
.empty-data-wrapper {
|
||||
width: 100%;
|
||||
min-height: 555px;
|
||||
display: flex;
|
||||
}
|
||||
.job-info-modal-user-resumes-list {
|
||||
width: 100%;
|
||||
min-height: 400px;
|
||||
margin-top: 16px;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr); /* 每行两列 */
|
||||
gap: 20px; /* 网格间距 */
|
||||
justify-items: start; /* 项目左对龁 */
|
||||
overflow-y: visible;
|
||||
|
||||
.list-item {
|
||||
width: 390px;
|
||||
height: 100px;
|
||||
background-color: #fff;
|
||||
border-radius: 8px;
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
padding: 16px 12px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.list-item-info {
|
||||
height: 68px;
|
||||
width: 300px;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
|
||||
.file-icon {
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
filter: none !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
.file-info {
|
||||
width: 220px;
|
||||
height: 68px;
|
||||
> p {
|
||||
text-align: left;
|
||||
}
|
||||
.file-info-targetPosition {
|
||||
width: 100%;
|
||||
height: 28px;
|
||||
color: #09090b;
|
||||
line-height: 28px;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.file-info-skills {
|
||||
margin-top: 5px;
|
||||
width: 100%;
|
||||
height: 21px;
|
||||
color: #788089;
|
||||
line-height: 21px;
|
||||
font-size: 15px;
|
||||
font-weight: 400;
|
||||
overflow: hidden; /* 超出隐藏 */
|
||||
white-space: nowrap; /* 禁止换行 */
|
||||
text-overflow: ellipsis; /* 文本溢出显示省略号 */
|
||||
}
|
||||
|
||||
.version-selector {
|
||||
margin-top: 8px;
|
||||
width: 100%;
|
||||
height: 32px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.arco-select {
|
||||
font-size: 12px !important;
|
||||
}
|
||||
|
||||
.arco-select-view-single {
|
||||
height: 28px !important;
|
||||
font-size: 12px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.info-btn {
|
||||
width: 64px;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
text-align: center;
|
||||
border-radius: 2px;
|
||||
border: 1px solid #2c7aff;
|
||||
color: #2c7aff;
|
||||
font-size: 12px;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease;
|
||||
background-color: #ffffff;
|
||||
font-weight: 500;
|
||||
|
||||
&:hover {
|
||||
background-color: #2c7aff;
|
||||
color: #ffffff;
|
||||
box-shadow: 0 2px 8px rgba(44, 122, 255, 0.3);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
&:active {
|
||||
transform: scale(0.98);
|
||||
box-shadow: 0 1px 4px rgba(44, 122, 255, 0.2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.job-info-modal-content-position-info {
|
||||
width: 100%;
|
||||
min-height: 30px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
position: relative;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
|
||||
.job-info-modal-content-position-info-position {
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
line-height: 30px;
|
||||
color: #1d2129;
|
||||
}
|
||||
|
||||
.job-category-tag {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding: 4px 12px;
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
color: white;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
border-radius: 12px;
|
||||
white-space: nowrap;
|
||||
box-shadow: 0 2px 4px rgba(102, 126, 234, 0.3);
|
||||
}
|
||||
|
||||
/* 根据岗位相关标签内容设置不同颜色 */
|
||||
.job-category-tag[data-category="专业相关岗位"] {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
}
|
||||
|
||||
.job-category-tag[data-category="非专业相关岗位"] {
|
||||
background: linear-gradient(135deg, #ff6b6b 0%, #feca57 100%);
|
||||
}
|
||||
|
||||
.job-category-tag[data-category="人才出海岗位"] {
|
||||
background: linear-gradient(135deg, #00d2ff 0%, #3a7bd5 100%);
|
||||
}
|
||||
|
||||
.job-remaining-positions {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
margin-left: 8px;
|
||||
color: #ff4d4f;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
white-space: nowrap;
|
||||
|
||||
.warning-icon {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
border-radius: 50%;
|
||||
background-color: #ff4d4f;
|
||||
color: #ffffff;
|
||||
font-size: 10px;
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
margin-right: 4px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.job-info-modal-content-position-info-num {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 22px;
|
||||
color: #ff7d00;
|
||||
}
|
||||
|
||||
.job-info-modal-content-position-info-salary {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
line-height: 24px;
|
||||
color: #ff7d00;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.job-info-modal-info-tags {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 10px;
|
||||
|
||||
.job-info-modal-info-tag {
|
||||
background-color: #ffffff;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 5px;
|
||||
padding: 4px 12px;
|
||||
color: #86909c;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
border-radius: 4px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.job-info-modal-content-position-info-description,
|
||||
.job-info-modal-content-position-info-requirements,
|
||||
.job-info-modal-content-position-info-companyInfo {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
padding: 16px;
|
||||
border-radius: 8px;
|
||||
background-color: #fff;
|
||||
margin: 10px 0;
|
||||
border: 1px solid #e5e6eb;
|
||||
|
||||
> p {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
.description-title,
|
||||
.requirements-title,
|
||||
.companyInfo-title {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
line-height: 28px;
|
||||
color: #1d2129;
|
||||
margin-bottom: 12px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.title-icon {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-right: 8px;
|
||||
object-fit: contain;
|
||||
}
|
||||
}
|
||||
|
||||
.description-content {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
color: #4e5969;
|
||||
text-align: left;
|
||||
|
||||
.description-item {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 8px;
|
||||
text-align: left;
|
||||
|
||||
.description-number {
|
||||
display: inline-block;
|
||||
min-width: 20px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: #1d2129;
|
||||
margin-right: 6px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.description-text {
|
||||
flex: 1;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
color: #4e5969;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.companyInfo-content {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
color: #4e5969;
|
||||
text-align: left;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-word;
|
||||
}
|
||||
.requirements-content {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
|
||||
.requirements-item {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 8px;
|
||||
text-align: left;
|
||||
|
||||
.requirement-number {
|
||||
display: inline-block;
|
||||
min-width: 20px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: #1d2129;
|
||||
margin-right: 6px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.requirement-text {
|
||||
flex: 1;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
color: #4e5969;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.requirement-line {
|
||||
margin-bottom: 8px;
|
||||
padding-left: 16px;
|
||||
position: relative;
|
||||
font-size: 14px;
|
||||
line-height: 22px;
|
||||
color: #4e5969;
|
||||
text-align: left;
|
||||
|
||||
&:before {
|
||||
content: "•";
|
||||
position: absolute;
|
||||
left: 0;
|
||||
color: #667eea;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.job-info-modal-btn {
|
||||
width: 120px;
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
color: #fff;
|
||||
background-color: #2c7aff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
|
||||
> i {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
margin-right: 5px;
|
||||
background-image: url("@/assets/images/CompanyJobsPage/btn_icon_2.png");
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
> span {
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 公司图片网格布局样式 */
|
||||
.company-images-grid {
|
||||
margin-top: 16px;
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
||||
gap: 12px;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
/* 根据图片数量调整列数 */
|
||||
.company-images-grid:has(.company-image-item:nth-child(1):last-child) {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.company-images-grid:has(.company-image-item:nth-child(2):last-child) {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
|
||||
.company-images-grid:has(.company-image-item:nth-child(3):last-child) {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
|
||||
.company-images-grid:has(.company-image-item:nth-child(4)) {
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
}
|
||||
|
||||
.company-image-item {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
aspect-ratio: 4/3;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.company-image-item:hover {
|
||||
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
|
||||
transform: translateY(-4px);
|
||||
}
|
||||
|
||||
.company-grid-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
display: block;
|
||||
transition: transform 0.3s ease;
|
||||
}
|
||||
|
||||
.company-image-item:hover .company-grid-image {
|
||||
transform: scale(1.05);
|
||||
}
|
||||
|
||||
/* 图片预览模态框样式 */
|
||||
.image-preview-modal {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: rgba(0, 0, 0, 0.9);
|
||||
z-index: 10000;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
animation: fadeIn 0.3s ease;
|
||||
}
|
||||
|
||||
@keyframes fadeIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.image-preview-content {
|
||||
position: relative;
|
||||
max-width: 90vw;
|
||||
max-height: 90vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.image-preview-img {
|
||||
max-width: 100%;
|
||||
max-height: 90vh;
|
||||
object-fit: contain;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.image-preview-close {
|
||||
position: absolute;
|
||||
top: -50px;
|
||||
right: 0;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 50%;
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
color: white;
|
||||
border: 2px solid rgba(255, 255, 255, 0.5);
|
||||
font-size: 28px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
transition: all 0.3s ease;
|
||||
backdrop-filter: blur(4px);
|
||||
|
||||
&:hover {
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
}
|
||||
|
||||
.image-preview-counter {
|
||||
position: absolute;
|
||||
bottom: -40px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
color: white;
|
||||
padding: 6px 16px;
|
||||
border-radius: 16px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
backdrop-filter: blur(4px);
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
.image-preview-btn {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 50%;
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
color: white;
|
||||
border: 2px solid rgba(255, 255, 255, 0.5);
|
||||
font-size: 32px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
transition: all 0.3s ease;
|
||||
backdrop-filter: blur(4px);
|
||||
|
||||
&:hover {
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
transform: translateY(-50%) scale(1.1);
|
||||
}
|
||||
|
||||
&:active {
|
||||
transform: translateY(-50%) scale(0.95);
|
||||
}
|
||||
}
|
||||
|
||||
.image-preview-btn-prev {
|
||||
left: -70px;
|
||||
}
|
||||
|
||||
.image-preview-btn-next {
|
||||
right: -70px;
|
||||
}
|
||||
@@ -24,6 +24,8 @@ export default ({ visible, onClose, data, directToResume = false, hideDeliverBut
|
||||
const [listHasMore, setListHasMore] = useState(true);
|
||||
const [permissionModalVisible, setPermissionModalVisible] = useState(false);
|
||||
const [selectedVersions, setSelectedVersions] = useState({}); // 每个简历的版本选择,使用简历ID作为key
|
||||
const [currentImageIndex, setCurrentImageIndex] = useState(0); // 当前显示的图片索引
|
||||
const [imageModalVisible, setImageModalVisible] = useState(false); // 图片预览模态框
|
||||
|
||||
// 处理directToResume参数变化
|
||||
useEffect(() => {
|
||||
@@ -39,9 +41,29 @@ export default ({ visible, onClose, data, directToResume = false, hideDeliverBut
|
||||
setResumeList([]); // 清空简历列表
|
||||
setListPage(1); // 重置分页
|
||||
setListHasMore(true); // 重置加载更多状态
|
||||
setCurrentImageIndex(0); // 重置图片索引
|
||||
onClose();
|
||||
};
|
||||
|
||||
// 图片轮播相关函数
|
||||
const handlePrevImage = () => {
|
||||
const images = data?.details?.companyImages || [];
|
||||
setCurrentImageIndex((prev) => (prev === 0 ? images.length - 1 : prev - 1));
|
||||
};
|
||||
|
||||
const handleNextImage = () => {
|
||||
const images = data?.details?.companyImages || [];
|
||||
setCurrentImageIndex((prev) => (prev === images.length - 1 ? 0 : prev + 1));
|
||||
};
|
||||
|
||||
const handleImageClick = () => {
|
||||
setImageModalVisible(true);
|
||||
};
|
||||
|
||||
const handleCloseImageModal = () => {
|
||||
setImageModalVisible(false);
|
||||
};
|
||||
|
||||
const queryResumeList = useCallback(async () => {
|
||||
const res = await getResumesList({
|
||||
page: listPage,
|
||||
@@ -274,8 +296,8 @@ export default ({ visible, onClose, data, directToResume = false, hideDeliverBut
|
||||
</span>
|
||||
)}
|
||||
|
||||
{/* 岗位剩余量 - 仅未投递岗位显示 */}
|
||||
{!data?.isDelivered && data?.remainingPositions && (
|
||||
{/* 岗位剩余量 - 仅未投递、未过期且不是从面试状态点击的岗位显示 */}
|
||||
{!data?.isDelivered && !hideDeliverButton && data?.remainingPositions && !(data?.isExpired || data?.status === 'expired') && (
|
||||
<span className="job-remaining-positions">
|
||||
<i className="warning-icon">!</i>
|
||||
岗位招聘数量仅剩{data?.remainingPositions}名
|
||||
@@ -349,6 +371,26 @@ export default ({ visible, onClose, data, directToResume = false, hideDeliverBut
|
||||
</p>
|
||||
))}
|
||||
</div>
|
||||
{data?.details?.companyImages && data.details.companyImages.length > 0 && (
|
||||
<div className="company-images-grid">
|
||||
{data.details.companyImages.map((imageUrl, index) => (
|
||||
<div
|
||||
key={index}
|
||||
className="company-image-item"
|
||||
onClick={() => {
|
||||
setCurrentImageIndex(index);
|
||||
handleImageClick();
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src={imageUrl}
|
||||
alt={`公司图片 ${index + 1}`}
|
||||
className="company-grid-image"
|
||||
/>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
{!hideDeliverButton && (
|
||||
@@ -374,10 +416,27 @@ export default ({ visible, onClose, data, directToResume = false, hideDeliverBut
|
||||
setCurrentResumeId(null);
|
||||
}}
|
||||
/>
|
||||
<PermissionModal
|
||||
<PermissionModal
|
||||
visible={permissionModalVisible}
|
||||
onClose={() => setPermissionModalVisible(false)}
|
||||
/>
|
||||
{imageModalVisible && data?.details?.companyImages && (
|
||||
<div className="image-preview-modal" onClick={handleCloseImageModal}>
|
||||
<div className="image-preview-content" onClick={(e) => e.stopPropagation()}>
|
||||
<button className="image-preview-close" onClick={handleCloseImageModal}>×</button>
|
||||
<img
|
||||
src={data.details.companyImages[currentImageIndex]}
|
||||
alt={`公司图片 ${currentImageIndex + 1}`}
|
||||
className="image-preview-img"
|
||||
/>
|
||||
<div className="image-preview-counter">
|
||||
{currentImageIndex + 1} / {data.details.companyImages.length}
|
||||
</div>
|
||||
<button className="image-preview-btn image-preview-btn-prev" onClick={handlePrevImage}>‹</button>
|
||||
<button className="image-preview-btn image-preview-btn-next" onClick={handleNextImage}>›</button>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -0,0 +1,383 @@
|
||||
import { useState, useCallback, useEffect } from "react";
|
||||
import { useSelector } from "react-redux";
|
||||
import { Input, Select } from "@arco-design/web-react";
|
||||
import Modal from "@/components/Modal";
|
||||
import InfiniteScroll from "@/components/InfiniteScroll";
|
||||
import toast from "@/components/Toast";
|
||||
import FILEICON from "@/assets/images/CompanyJobsPage/file_icon.png";
|
||||
import ResumeInfoModal from "../ResumeInfoModal";
|
||||
import PermissionModal from "../PermissionModal";
|
||||
import { getResumesList, submitResume, getPageData } from "@/services";
|
||||
import "./index.css";
|
||||
|
||||
const InputSearch = Input.Search;
|
||||
const PAGE_SIZE = 10;
|
||||
|
||||
export default ({ visible, onClose, data, directToResume = false, hideDeliverButton = false }) => {
|
||||
const studentInfo = useSelector((state) => state.student.studentInfo);
|
||||
const [resumeModalShow, setResumeModalShow] = useState(directToResume);
|
||||
const [resumeInfoModalShow, setResumeInfoModalShow] = useState(false);
|
||||
const [resumeInfoData, setResumeInfoData] = useState(null);
|
||||
const [currentResumeId, setCurrentResumeId] = useState(null); // 当前查看的简历ID
|
||||
const [resumeList, setResumeList] = useState([]); // 简历列表
|
||||
const [listPage, setListPage] = useState(1);
|
||||
const [listHasMore, setListHasMore] = useState(true);
|
||||
const [permissionModalVisible, setPermissionModalVisible] = useState(false);
|
||||
const [selectedVersions, setSelectedVersions] = useState({}); // 每个简历的版本选择,使用简历ID作为key
|
||||
|
||||
// 处理directToResume参数变化
|
||||
useEffect(() => {
|
||||
if (visible && directToResume) {
|
||||
setResumeModalShow(true);
|
||||
} else if (visible && !directToResume) {
|
||||
setResumeModalShow(false);
|
||||
}
|
||||
}, [visible, directToResume]);
|
||||
|
||||
const handleCloseModal = () => {
|
||||
setResumeModalShow(false);
|
||||
setResumeList([]); // 清空简历列表
|
||||
setListPage(1); // 重置分页
|
||||
setListHasMore(true); // 重置加载更多状态
|
||||
onClose();
|
||||
};
|
||||
|
||||
const queryResumeList = useCallback(async () => {
|
||||
const res = await getResumesList({
|
||||
page: listPage,
|
||||
pageSize: PAGE_SIZE,
|
||||
studentId: studentInfo?.id
|
||||
});
|
||||
if (res.success) {
|
||||
setResumeList((prevList) => {
|
||||
const newList = [...prevList, ...res.data];
|
||||
if (res.total === newList?.length) {
|
||||
setListHasMore(false);
|
||||
} else {
|
||||
setListPage((prevPage) => prevPage + 1);
|
||||
}
|
||||
return newList;
|
||||
});
|
||||
}
|
||||
}, [listPage, studentInfo?.id]);
|
||||
|
||||
// 点击立即投递
|
||||
const handleClickDeliverBtn = (e) => {
|
||||
e.stopPropagation();
|
||||
setResumeModalShow(true);
|
||||
};
|
||||
|
||||
|
||||
|
||||
// 选择简历投递
|
||||
const userResumesClick = async (item) => {
|
||||
// 显示权限提示弹窗
|
||||
setPermissionModalVisible(true);
|
||||
|
||||
// 原投递逻辑暂时注释,实际使用时可根据用户权限判断
|
||||
/*
|
||||
try {
|
||||
// 调用投递服务
|
||||
const result = await submitResume({
|
||||
resumeId: item.id,
|
||||
jobId: data?.id,
|
||||
studentId: studentInfo?.id,
|
||||
resumeTitle: item.title,
|
||||
jobPosition: data?.position,
|
||||
company: data?.company,
|
||||
resumeVersion: selectedVersions[item.id] || "2" // 添加版本信息
|
||||
});
|
||||
|
||||
if (result.success) {
|
||||
// 投递成功,显示成功提示
|
||||
const versionText = (selectedVersions[item.id] || "2") === "1" ? "原始版" : "个人修改版";
|
||||
toast.success(`简历"${item.title}"(${versionText})投递成功!`);
|
||||
|
||||
// 关闭模态框
|
||||
handleCloseModal();
|
||||
|
||||
// 输出投递成功信息
|
||||
console.log('投递成功', {
|
||||
applicationId: result.data.applicationId,
|
||||
resumeId: item.id,
|
||||
jobId: data?.id,
|
||||
resumeTitle: item.title,
|
||||
jobPosition: data?.position,
|
||||
submittedAt: result.data.submittedAt
|
||||
});
|
||||
} else {
|
||||
toast.error(result.message || '投递失败,请重试');
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
toast.error('投递失败,请重试');
|
||||
console.error('投递失败:', error);
|
||||
}
|
||||
*/
|
||||
};
|
||||
|
||||
// 点击简历详情
|
||||
const userResumesBtnClick = async (e, item) => {
|
||||
e.stopPropagation();
|
||||
|
||||
try {
|
||||
// 获取岗位与面试题页面的数据
|
||||
const pageDataResponse = await getPageData();
|
||||
|
||||
if (pageDataResponse.success) {
|
||||
const pageData = pageDataResponse.data;
|
||||
|
||||
// 找到对应的行业信息
|
||||
const matchedIndustry = pageData.industries?.find(industry =>
|
||||
industry.name === item.industry
|
||||
);
|
||||
|
||||
// 从resumeTemplates中查找对应岗位的模板
|
||||
const industryTemplates = pageData.resumeTemplates?.[item.industry] || [];
|
||||
const positionTemplate = industryTemplates.find(template =>
|
||||
template.position === item.position
|
||||
);
|
||||
|
||||
// 添加调试日志
|
||||
console.log('查找简历模板:', {
|
||||
industryName: item.industry,
|
||||
positionTitle: item.position,
|
||||
templatesCount: industryTemplates.length,
|
||||
templatePositions: industryTemplates.map(t => t.position),
|
||||
templatesStructure: industryTemplates.slice(0, 2).map(t => ({
|
||||
position: t.position,
|
||||
hasContent: !!t.content,
|
||||
hasStudentInfo: !!t.studentInfo,
|
||||
keys: Object.keys(t)
|
||||
}))
|
||||
});
|
||||
|
||||
if (positionTemplate) {
|
||||
console.log('找到的模板:', {
|
||||
position: positionTemplate.position,
|
||||
hasContent: !!positionTemplate.content,
|
||||
hasContentOriginal: !!positionTemplate.content?.original,
|
||||
hasStudentInfo: !!positionTemplate.studentInfo,
|
||||
templateKeys: Object.keys(positionTemplate),
|
||||
contentKeys: positionTemplate.content ? Object.keys(positionTemplate.content) : null
|
||||
});
|
||||
} else {
|
||||
console.warn('未找到简历模板:', item.position);
|
||||
}
|
||||
|
||||
// 构造简历数据,使用与ResumeInterviewPage相同的格式
|
||||
const resumeData = {
|
||||
title: item.position, // 使用岗位名称作为标题
|
||||
content: positionTemplate?.content || null, // 这里包含原始版和修改版数据
|
||||
selectedTemplate: positionTemplate, // 添加selectedTemplate字段
|
||||
studentResume: pageData.myResume
|
||||
};
|
||||
|
||||
console.log('加载简历数据:', {
|
||||
resumeTitle: item.title,
|
||||
position: item.position,
|
||||
industry: item.industry,
|
||||
selectedVersion: selectedVersions[item.id] || "2",
|
||||
hasContent: !!positionTemplate?.content,
|
||||
hasOriginal: !!positionTemplate?.content?.original,
|
||||
hasModified: !!positionTemplate?.content?.modified
|
||||
});
|
||||
|
||||
setResumeInfoData(resumeData);
|
||||
setCurrentResumeId(item.id); // 记录当前简历ID
|
||||
setResumeInfoModalShow(true);
|
||||
} else {
|
||||
toast.error('加载简历数据失败');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('获取简历数据失败:', error);
|
||||
toast.error('加载简历数据失败');
|
||||
}
|
||||
};;;
|
||||
|
||||
return (
|
||||
<>
|
||||
<Modal visible={visible} onClose={handleCloseModal}>
|
||||
<div className="job-info-modal-content">
|
||||
{resumeModalShow ? (
|
||||
<>
|
||||
|
||||
{
|
||||
<InfiniteScroll
|
||||
loadMore={queryResumeList}
|
||||
hasMore={listHasMore}
|
||||
empty={resumeList.length === 0}
|
||||
className={`${
|
||||
resumeList.length
|
||||
? "job-info-modal-user-resumes-list"
|
||||
: "empty-data-wrapper"
|
||||
}`}
|
||||
>
|
||||
{resumeList.map((item) => (
|
||||
<li
|
||||
key={item.id}
|
||||
className="list-item"
|
||||
onClick={(e) => userResumesBtnClick(e, item)}
|
||||
>
|
||||
<div className="list-item-info">
|
||||
<img src={FILEICON} className="file-icon" />
|
||||
<div className="file-info">
|
||||
<p className="file-info-targetPosition">
|
||||
{item.title}
|
||||
</p>
|
||||
<div className="version-selector">
|
||||
<Select
|
||||
placeholder="选择版本"
|
||||
value={selectedVersions[item.id] || "2"}
|
||||
style={{ width: 120, fontSize: '12px' }}
|
||||
onChange={(value) => {
|
||||
setSelectedVersions(prev => ({
|
||||
...prev,
|
||||
[item.id]: value
|
||||
}));
|
||||
}}
|
||||
onClick={(e) => e.stopPropagation()}
|
||||
>
|
||||
<Select.Option value="1">原始版</Select.Option>
|
||||
<Select.Option value="2">个人修改版</Select.Option>
|
||||
</Select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
className="info-btn"
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
userResumesClick(item);
|
||||
}}
|
||||
>
|
||||
投递
|
||||
</div>
|
||||
</li>
|
||||
))}
|
||||
</InfiniteScroll>
|
||||
}
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<div className="job-info-modal-content-position-info">
|
||||
<span className="job-info-modal-content-position-info-position">
|
||||
{data?.position}
|
||||
</span>
|
||||
{/* 岗位相关标签 */}
|
||||
{(data?.jobCategoryTag || data?.jobCategory) && (
|
||||
<span
|
||||
className="job-category-tag"
|
||||
data-category={data?.jobCategoryTag || data?.jobCategory}
|
||||
>
|
||||
{data?.jobCategoryTag || data?.jobCategory}
|
||||
</span>
|
||||
)}
|
||||
|
||||
{/* 岗位剩余量 - 仅未投递岗位显示 */}
|
||||
{!data?.isDelivered && data?.remainingPositions && (
|
||||
<span className="job-remaining-positions">
|
||||
<i className="warning-icon">!</i>
|
||||
岗位招聘数量仅剩{data?.remainingPositions}名
|
||||
</span>
|
||||
)}
|
||||
|
||||
<span className="job-info-modal-content-position-info-salary">
|
||||
{data?.salary}
|
||||
</span>
|
||||
</div>
|
||||
{data?.tags?.length > 0 && (
|
||||
<ul className="job-info-modal-info-tags">
|
||||
{data?.tags?.map((tag, index) => (
|
||||
<li key={index} className="job-info-modal-info-tag">
|
||||
{tag}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
)}
|
||||
{data?.details?.description && (
|
||||
<div className="job-info-modal-content-position-info-description">
|
||||
<p className="description-title">
|
||||
<img className="title-icon" src="https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_icon/recuW0XRVB1bpV.png" alt="" />
|
||||
岗位描述
|
||||
</p>
|
||||
<div className="description-content">
|
||||
{data?.details?.description.split(/\d+\.\s*/).filter(item => item.trim()).map((item, index) => (
|
||||
<div key={index} className="description-item">
|
||||
<span className="description-number">{index + 1}.</span>
|
||||
<span className="description-text">{item.trim()}</span>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{(data?.details?.requirements?.length > 0 || data?.details?.requirementsText) && (
|
||||
<div className="job-info-modal-content-position-info-requirements">
|
||||
<p className="requirements-title">
|
||||
<img className="title-icon" src="https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_icon/recuW0XRVB1bpV.png" alt="" />
|
||||
岗位要求
|
||||
</p>
|
||||
<div className="requirements-content">
|
||||
{data?.details?.requirements ? (
|
||||
data?.details?.requirements?.map((item, index) => (
|
||||
<div key={index} className="requirements-item">
|
||||
<span className="requirement-number">{index + 1}.</span>
|
||||
<span className="requirement-text">{item}</span>
|
||||
</div>
|
||||
))
|
||||
) : (
|
||||
data?.details?.requirementsText?.split(/\d+\.\s*/).filter(item => item.trim()).map((item, index) => (
|
||||
<div key={index} className="requirements-item">
|
||||
<span className="requirement-number">{index + 1}.</span>
|
||||
<span className="requirement-text">{item.trim()}</span>
|
||||
</div>
|
||||
))
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{data?.details?.companyInfo && (
|
||||
<div className="job-info-modal-content-position-info-companyInfo">
|
||||
<p className="companyInfo-title">
|
||||
<img className="title-icon" src="https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_icon/recuW0XRVB1bpV.png" alt="" />
|
||||
公司介绍
|
||||
</p>
|
||||
<div className="companyInfo-content">
|
||||
{data?.details?.companyInfo.split('\n').map((paragraph, index) => (
|
||||
<p key={index} className="company-paragraph">
|
||||
{paragraph}
|
||||
</p>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{!hideDeliverButton && (
|
||||
<div
|
||||
className="job-info-modal-btn"
|
||||
onClick={handleClickDeliverBtn}
|
||||
>
|
||||
<i />
|
||||
<span>立即投递</span>
|
||||
</div>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
</Modal>
|
||||
<ResumeInfoModal
|
||||
visible={resumeInfoModalShow}
|
||||
data={resumeInfoData}
|
||||
initialVersion={selectedVersions[currentResumeId] || "2"}
|
||||
onClose={() => {
|
||||
setResumeInfoModalShow(false);
|
||||
setResumeInfoData(null);
|
||||
setCurrentResumeId(null);
|
||||
}}
|
||||
/>
|
||||
<PermissionModal
|
||||
visible={permissionModalVisible}
|
||||
onClose={() => setPermissionModalVisible(false)}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
};
|
||||
@@ -0,0 +1,442 @@
|
||||
import { useState, useCallback, useEffect } from "react";
|
||||
import { useSelector } from "react-redux";
|
||||
import { Input, Select } from "@arco-design/web-react";
|
||||
import Modal from "@/components/Modal";
|
||||
import InfiniteScroll from "@/components/InfiniteScroll";
|
||||
import toast from "@/components/Toast";
|
||||
import FILEICON from "@/assets/images/CompanyJobsPage/file_icon.png";
|
||||
import ResumeInfoModal from "../ResumeInfoModal";
|
||||
import PermissionModal from "../PermissionModal";
|
||||
import { getResumesList, submitResume, getPageData } from "@/services";
|
||||
import "./index.css";
|
||||
|
||||
const InputSearch = Input.Search;
|
||||
const PAGE_SIZE = 10;
|
||||
|
||||
export default ({ visible, onClose, data, directToResume = false, hideDeliverButton = false }) => {
|
||||
const studentInfo = useSelector((state) => state.student.studentInfo);
|
||||
const [resumeModalShow, setResumeModalShow] = useState(directToResume);
|
||||
const [resumeInfoModalShow, setResumeInfoModalShow] = useState(false);
|
||||
const [resumeInfoData, setResumeInfoData] = useState(null);
|
||||
const [currentResumeId, setCurrentResumeId] = useState(null); // 当前查看的简历ID
|
||||
const [resumeList, setResumeList] = useState([]); // 简历列表
|
||||
const [listPage, setListPage] = useState(1);
|
||||
const [listHasMore, setListHasMore] = useState(true);
|
||||
const [permissionModalVisible, setPermissionModalVisible] = useState(false);
|
||||
const [selectedVersions, setSelectedVersions] = useState({}); // 每个简历的版本选择,使用简历ID作为key
|
||||
const [currentImageIndex, setCurrentImageIndex] = useState(0); // 当前显示的图片索引
|
||||
const [imageModalVisible, setImageModalVisible] = useState(false); // 图片预览模态框
|
||||
|
||||
// 处理directToResume参数变化
|
||||
useEffect(() => {
|
||||
if (visible && directToResume) {
|
||||
setResumeModalShow(true);
|
||||
} else if (visible && !directToResume) {
|
||||
setResumeModalShow(false);
|
||||
}
|
||||
}, [visible, directToResume]);
|
||||
|
||||
const handleCloseModal = () => {
|
||||
setResumeModalShow(false);
|
||||
setResumeList([]); // 清空简历列表
|
||||
setListPage(1); // 重置分页
|
||||
setListHasMore(true); // 重置加载更多状态
|
||||
setCurrentImageIndex(0); // 重置图片索引
|
||||
onClose();
|
||||
};
|
||||
|
||||
// 图片轮播相关函数
|
||||
const handlePrevImage = () => {
|
||||
const images = data?.details?.companyImages || [];
|
||||
setCurrentImageIndex((prev) => (prev === 0 ? images.length - 1 : prev - 1));
|
||||
};
|
||||
|
||||
const handleNextImage = () => {
|
||||
const images = data?.details?.companyImages || [];
|
||||
setCurrentImageIndex((prev) => (prev === images.length - 1 ? 0 : prev + 1));
|
||||
};
|
||||
|
||||
const handleImageClick = () => {
|
||||
setImageModalVisible(true);
|
||||
};
|
||||
|
||||
const handleCloseImageModal = () => {
|
||||
setImageModalVisible(false);
|
||||
};
|
||||
|
||||
const queryResumeList = useCallback(async () => {
|
||||
const res = await getResumesList({
|
||||
page: listPage,
|
||||
pageSize: PAGE_SIZE,
|
||||
studentId: studentInfo?.id
|
||||
});
|
||||
if (res.success) {
|
||||
setResumeList((prevList) => {
|
||||
const newList = [...prevList, ...res.data];
|
||||
if (res.total === newList?.length) {
|
||||
setListHasMore(false);
|
||||
} else {
|
||||
setListPage((prevPage) => prevPage + 1);
|
||||
}
|
||||
return newList;
|
||||
});
|
||||
}
|
||||
}, [listPage, studentInfo?.id]);
|
||||
|
||||
// 点击立即投递
|
||||
const handleClickDeliverBtn = (e) => {
|
||||
e.stopPropagation();
|
||||
setResumeModalShow(true);
|
||||
};
|
||||
|
||||
|
||||
|
||||
// 选择简历投递
|
||||
const userResumesClick = async (item) => {
|
||||
// 显示权限提示弹窗
|
||||
setPermissionModalVisible(true);
|
||||
|
||||
// 原投递逻辑暂时注释,实际使用时可根据用户权限判断
|
||||
/*
|
||||
try {
|
||||
// 调用投递服务
|
||||
const result = await submitResume({
|
||||
resumeId: item.id,
|
||||
jobId: data?.id,
|
||||
studentId: studentInfo?.id,
|
||||
resumeTitle: item.title,
|
||||
jobPosition: data?.position,
|
||||
company: data?.company,
|
||||
resumeVersion: selectedVersions[item.id] || "2" // 添加版本信息
|
||||
});
|
||||
|
||||
if (result.success) {
|
||||
// 投递成功,显示成功提示
|
||||
const versionText = (selectedVersions[item.id] || "2") === "1" ? "原始版" : "个人修改版";
|
||||
toast.success(`简历"${item.title}"(${versionText})投递成功!`);
|
||||
|
||||
// 关闭模态框
|
||||
handleCloseModal();
|
||||
|
||||
// 输出投递成功信息
|
||||
console.log('投递成功', {
|
||||
applicationId: result.data.applicationId,
|
||||
resumeId: item.id,
|
||||
jobId: data?.id,
|
||||
resumeTitle: item.title,
|
||||
jobPosition: data?.position,
|
||||
submittedAt: result.data.submittedAt
|
||||
});
|
||||
} else {
|
||||
toast.error(result.message || '投递失败,请重试');
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
toast.error('投递失败,请重试');
|
||||
console.error('投递失败:', error);
|
||||
}
|
||||
*/
|
||||
};
|
||||
|
||||
// 点击简历详情
|
||||
const userResumesBtnClick = async (e, item) => {
|
||||
e.stopPropagation();
|
||||
|
||||
try {
|
||||
// 获取岗位与面试题页面的数据
|
||||
const pageDataResponse = await getPageData();
|
||||
|
||||
if (pageDataResponse.success) {
|
||||
const pageData = pageDataResponse.data;
|
||||
|
||||
// 找到对应的行业信息
|
||||
const matchedIndustry = pageData.industries?.find(industry =>
|
||||
industry.name === item.industry
|
||||
);
|
||||
|
||||
// 从resumeTemplates中查找对应岗位的模板
|
||||
const industryTemplates = pageData.resumeTemplates?.[item.industry] || [];
|
||||
const positionTemplate = industryTemplates.find(template =>
|
||||
template.position === item.position
|
||||
);
|
||||
|
||||
// 添加调试日志
|
||||
console.log('查找简历模板:', {
|
||||
industryName: item.industry,
|
||||
positionTitle: item.position,
|
||||
templatesCount: industryTemplates.length,
|
||||
templatePositions: industryTemplates.map(t => t.position),
|
||||
templatesStructure: industryTemplates.slice(0, 2).map(t => ({
|
||||
position: t.position,
|
||||
hasContent: !!t.content,
|
||||
hasStudentInfo: !!t.studentInfo,
|
||||
keys: Object.keys(t)
|
||||
}))
|
||||
});
|
||||
|
||||
if (positionTemplate) {
|
||||
console.log('找到的模板:', {
|
||||
position: positionTemplate.position,
|
||||
hasContent: !!positionTemplate.content,
|
||||
hasContentOriginal: !!positionTemplate.content?.original,
|
||||
hasStudentInfo: !!positionTemplate.studentInfo,
|
||||
templateKeys: Object.keys(positionTemplate),
|
||||
contentKeys: positionTemplate.content ? Object.keys(positionTemplate.content) : null
|
||||
});
|
||||
} else {
|
||||
console.warn('未找到简历模板:', item.position);
|
||||
}
|
||||
|
||||
// 构造简历数据,使用与ResumeInterviewPage相同的格式
|
||||
const resumeData = {
|
||||
title: item.position, // 使用岗位名称作为标题
|
||||
content: positionTemplate?.content || null, // 这里包含原始版和修改版数据
|
||||
selectedTemplate: positionTemplate, // 添加selectedTemplate字段
|
||||
studentResume: pageData.myResume
|
||||
};
|
||||
|
||||
console.log('加载简历数据:', {
|
||||
resumeTitle: item.title,
|
||||
position: item.position,
|
||||
industry: item.industry,
|
||||
selectedVersion: selectedVersions[item.id] || "2",
|
||||
hasContent: !!positionTemplate?.content,
|
||||
hasOriginal: !!positionTemplate?.content?.original,
|
||||
hasModified: !!positionTemplate?.content?.modified
|
||||
});
|
||||
|
||||
setResumeInfoData(resumeData);
|
||||
setCurrentResumeId(item.id); // 记录当前简历ID
|
||||
setResumeInfoModalShow(true);
|
||||
} else {
|
||||
toast.error('加载简历数据失败');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('获取简历数据失败:', error);
|
||||
toast.error('加载简历数据失败');
|
||||
}
|
||||
};;;
|
||||
|
||||
return (
|
||||
<>
|
||||
<Modal visible={visible} onClose={handleCloseModal}>
|
||||
<div className="job-info-modal-content">
|
||||
{resumeModalShow ? (
|
||||
<>
|
||||
|
||||
{
|
||||
<InfiniteScroll
|
||||
loadMore={queryResumeList}
|
||||
hasMore={listHasMore}
|
||||
empty={resumeList.length === 0}
|
||||
className={`${
|
||||
resumeList.length
|
||||
? "job-info-modal-user-resumes-list"
|
||||
: "empty-data-wrapper"
|
||||
}`}
|
||||
>
|
||||
{resumeList.map((item) => (
|
||||
<li
|
||||
key={item.id}
|
||||
className="list-item"
|
||||
onClick={(e) => userResumesBtnClick(e, item)}
|
||||
>
|
||||
<div className="list-item-info">
|
||||
<img src={FILEICON} className="file-icon" />
|
||||
<div className="file-info">
|
||||
<p className="file-info-targetPosition">
|
||||
{item.title}
|
||||
</p>
|
||||
<div className="version-selector">
|
||||
<Select
|
||||
placeholder="选择版本"
|
||||
value={selectedVersions[item.id] || "2"}
|
||||
style={{ width: 120, fontSize: '12px' }}
|
||||
onChange={(value) => {
|
||||
setSelectedVersions(prev => ({
|
||||
...prev,
|
||||
[item.id]: value
|
||||
}));
|
||||
}}
|
||||
onClick={(e) => e.stopPropagation()}
|
||||
>
|
||||
<Select.Option value="1">原始版</Select.Option>
|
||||
<Select.Option value="2">个人修改版</Select.Option>
|
||||
</Select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
className="info-btn"
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
userResumesClick(item);
|
||||
}}
|
||||
>
|
||||
投递
|
||||
</div>
|
||||
</li>
|
||||
))}
|
||||
</InfiniteScroll>
|
||||
}
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<div className="job-info-modal-content-position-info">
|
||||
<span className="job-info-modal-content-position-info-position">
|
||||
{data?.position}
|
||||
</span>
|
||||
{/* 岗位相关标签 */}
|
||||
{(data?.jobCategoryTag || data?.jobCategory) && (
|
||||
<span
|
||||
className="job-category-tag"
|
||||
data-category={data?.jobCategoryTag || data?.jobCategory}
|
||||
>
|
||||
{data?.jobCategoryTag || data?.jobCategory}
|
||||
</span>
|
||||
)}
|
||||
|
||||
{/* 岗位剩余量 - 仅未投递岗位显示 */}
|
||||
{!data?.isDelivered && data?.remainingPositions && (
|
||||
<span className="job-remaining-positions">
|
||||
<i className="warning-icon">!</i>
|
||||
岗位招聘数量仅剩{data?.remainingPositions}名
|
||||
</span>
|
||||
)}
|
||||
|
||||
<span className="job-info-modal-content-position-info-salary">
|
||||
{data?.salary}
|
||||
</span>
|
||||
</div>
|
||||
{data?.tags?.length > 0 && (
|
||||
<ul className="job-info-modal-info-tags">
|
||||
{data?.tags?.map((tag, index) => (
|
||||
<li key={index} className="job-info-modal-info-tag">
|
||||
{tag}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
)}
|
||||
{data?.details?.description && (
|
||||
<div className="job-info-modal-content-position-info-description">
|
||||
<p className="description-title">
|
||||
<img className="title-icon" src="https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_icon/recuW0XRVB1bpV.png" alt="" />
|
||||
岗位描述
|
||||
</p>
|
||||
<div className="description-content">
|
||||
{data?.details?.description.split(/\d+\.\s*/).filter(item => item.trim()).map((item, index) => (
|
||||
<div key={index} className="description-item">
|
||||
<span className="description-number">{index + 1}.</span>
|
||||
<span className="description-text">{item.trim()}</span>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{(data?.details?.requirements?.length > 0 || data?.details?.requirementsText) && (
|
||||
<div className="job-info-modal-content-position-info-requirements">
|
||||
<p className="requirements-title">
|
||||
<img className="title-icon" src="https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_icon/recuW0XRVB1bpV.png" alt="" />
|
||||
岗位要求
|
||||
</p>
|
||||
<div className="requirements-content">
|
||||
{data?.details?.requirements ? (
|
||||
data?.details?.requirements?.map((item, index) => (
|
||||
<div key={index} className="requirements-item">
|
||||
<span className="requirement-number">{index + 1}.</span>
|
||||
<span className="requirement-text">{item}</span>
|
||||
</div>
|
||||
))
|
||||
) : (
|
||||
data?.details?.requirementsText?.split(/\d+\.\s*/).filter(item => item.trim()).map((item, index) => (
|
||||
<div key={index} className="requirements-item">
|
||||
<span className="requirement-number">{index + 1}.</span>
|
||||
<span className="requirement-text">{item.trim()}</span>
|
||||
</div>
|
||||
))
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{data?.details?.companyInfo && (
|
||||
<div className="job-info-modal-content-position-info-companyInfo">
|
||||
<p className="companyInfo-title">
|
||||
<img className="title-icon" src="https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_icon/recuW0XRVB1bpV.png" alt="" />
|
||||
公司介绍
|
||||
</p>
|
||||
<div className="companyInfo-content">
|
||||
{data?.details?.companyInfo.split('\n').map((paragraph, index) => (
|
||||
<p key={index} className="company-paragraph">
|
||||
{paragraph}
|
||||
</p>
|
||||
))}
|
||||
</div>
|
||||
{data?.details?.companyImages && data.details.companyImages.length > 0 && (
|
||||
<div className="company-images-grid">
|
||||
{data.details.companyImages.map((imageUrl, index) => (
|
||||
<div
|
||||
key={index}
|
||||
className="company-image-item"
|
||||
onClick={() => {
|
||||
setCurrentImageIndex(index);
|
||||
handleImageClick();
|
||||
}}
|
||||
>
|
||||
<img
|
||||
src={imageUrl}
|
||||
alt={`公司图片 ${index + 1}`}
|
||||
className="company-grid-image"
|
||||
/>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
{!hideDeliverButton && (
|
||||
<div
|
||||
className="job-info-modal-btn"
|
||||
onClick={handleClickDeliverBtn}
|
||||
>
|
||||
<i />
|
||||
<span>立即投递</span>
|
||||
</div>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
</Modal>
|
||||
<ResumeInfoModal
|
||||
visible={resumeInfoModalShow}
|
||||
data={resumeInfoData}
|
||||
initialVersion={selectedVersions[currentResumeId] || "2"}
|
||||
onClose={() => {
|
||||
setResumeInfoModalShow(false);
|
||||
setResumeInfoData(null);
|
||||
setCurrentResumeId(null);
|
||||
}}
|
||||
/>
|
||||
<PermissionModal
|
||||
visible={permissionModalVisible}
|
||||
onClose={() => setPermissionModalVisible(false)}
|
||||
/>
|
||||
{imageModalVisible && data?.details?.companyImages && (
|
||||
<div className="image-preview-modal" onClick={handleCloseImageModal}>
|
||||
<div className="image-preview-content" onClick={(e) => e.stopPropagation()}>
|
||||
<button className="image-preview-close" onClick={handleCloseImageModal}>×</button>
|
||||
<img
|
||||
src={data.details.companyImages[currentImageIndex]}
|
||||
alt={`公司图片 ${currentImageIndex + 1}`}
|
||||
className="image-preview-img"
|
||||
/>
|
||||
<div className="image-preview-counter">
|
||||
{currentImageIndex + 1} / {data.details.companyImages.length}
|
||||
</div>
|
||||
<button className="image-preview-btn image-preview-btn-prev" onClick={handlePrevImage}>‹</button>
|
||||
<button className="image-preview-btn image-preview-btn-next" onClick={handleNextImage}>›</button>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
};
|
||||
@@ -32,12 +32,13 @@ export default ({ className = "", data = [], backgroundColor }) => {
|
||||
// 将详细信息放在details对象中,以匹配Modal的期望格式
|
||||
details: {
|
||||
description: item.description || "",
|
||||
requirements: item.requirements ?
|
||||
(typeof item.requirements === 'string' ?
|
||||
item.requirements.split(/\d+\.\s*/).filter(r => r.trim()) :
|
||||
requirements: item.requirements ?
|
||||
(typeof item.requirements === 'string' ?
|
||||
item.requirements.split(/\d+\.\s*/).filter(r => r.trim()) :
|
||||
item.requirements) : [],
|
||||
requirementsText: typeof item.requirements === 'string' ? item.requirements : "",
|
||||
companyInfo: item.companyInfo || ""
|
||||
companyInfo: item.companyInfo || "",
|
||||
companyImages: item.companyImages || [] // 添加企业图片字段
|
||||
}
|
||||
});
|
||||
setDirectToResume(false);
|
||||
@@ -214,7 +215,7 @@ export default ({ className = "", data = [], backgroundColor }) => {
|
||||
visible={jobInfoModalVisible}
|
||||
onClose={onClickJobInfoModalClose}
|
||||
directToResume={directToResume}
|
||||
hideDeliverButton={jobInfoData?.isDelivered || false}
|
||||
hideDeliverButton={jobInfoData?.isDelivered || jobInfoData?.isExpired || jobInfoData?.status === 'expired'}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
|
||||
@@ -195,9 +195,9 @@ export default ({ visible, onClose, data, initialVersion = "2" }) => {
|
||||
const result = {
|
||||
personalInfo: { name: "岗位名称" },
|
||||
education: [{
|
||||
school: '苏州市职业大学',
|
||||
school: '皖西卫生职业学院',
|
||||
major: '食品检验检测技术',
|
||||
period: '2020.9-2023.6'
|
||||
period: '2018.9-2021.6'
|
||||
}],
|
||||
projects: [],
|
||||
skills: { core: [], additional: [] },
|
||||
|
||||
@@ -4,12 +4,17 @@
|
||||
padding: 20px;
|
||||
position: relative;
|
||||
background-color: #f5f5f5;
|
||||
height: calc(100vh - 60px);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.company-jobs-page {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
align-items: stretch;
|
||||
position: relative;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
|
||||
.company-jobs-page-spin {
|
||||
margin: 200px 500px;
|
||||
@@ -42,7 +47,9 @@
|
||||
|
||||
.company-jobs-page-left {
|
||||
width: 570px;
|
||||
height: 860px;
|
||||
height: 100%;
|
||||
min-height: 860px;
|
||||
max-height: calc(100vh - 100px);
|
||||
border-radius: 8px;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
@@ -97,17 +104,20 @@
|
||||
|
||||
.company-jobs-page-left-list-wrapper {
|
||||
width: 100%;
|
||||
height: 760px;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.company-jobs-page-interview-wrapper {
|
||||
width: 572px;
|
||||
height: 860px;
|
||||
height: 100%;
|
||||
min-height: 860px;
|
||||
max-height: calc(100vh - 100px);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
|
||||
@@ -118,18 +128,20 @@
|
||||
|
||||
.company-jobs-page-interview {
|
||||
width: 100%;
|
||||
height: 860px;
|
||||
margin-bottom: 20px;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
background-color: #ffffff;
|
||||
position: relative;
|
||||
border-radius: 8px;
|
||||
border-bottom: 1px solid #e5e6eb;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.company-jobs-page-interview-list {
|
||||
width: 540px;
|
||||
height: 760px;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow-y: auto;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
|
||||
@@ -0,0 +1,439 @@
|
||||
.company-jobs-page-wrapper {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
position: relative;
|
||||
background-color: #f5f5f5;
|
||||
|
||||
.company-jobs-page {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
|
||||
.company-jobs-page-spin {
|
||||
margin: 200px 500px;
|
||||
}
|
||||
|
||||
.company-jobs-page-title {
|
||||
width: 100%;
|
||||
height: 42px;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
line-height: 30px;
|
||||
margin-bottom: 20px;
|
||||
color: #1d2129;
|
||||
flex-shrink: 0;
|
||||
position: relative;
|
||||
border-bottom: 1px solid #e5e6eb;
|
||||
|
||||
&::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 20px;
|
||||
bottom: 10px;
|
||||
width: 32px;
|
||||
height: 6px;
|
||||
background-image: url("@/assets/images/Common/title_icon.png");
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
}
|
||||
|
||||
.company-jobs-page-left {
|
||||
width: 570px;
|
||||
height: 860px;
|
||||
border-radius: 8px;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
overflow: hidden;
|
||||
|
||||
.company-jobs-page-header {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 20px;
|
||||
|
||||
.company-jobs-page-title {
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
line-height: 30px;
|
||||
color: #1d2129;
|
||||
margin: 0;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.view-all-jobs-btn {
|
||||
padding: 6px 16px;
|
||||
background-color: #ffffff;
|
||||
border: 1px solid #2c7aff;
|
||||
border-radius: 4px;
|
||||
color: #2c7aff;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease;
|
||||
white-space: nowrap;
|
||||
flex-shrink: 0;
|
||||
margin-left: 20px;
|
||||
|
||||
&:hover {
|
||||
background-color: #2c7aff;
|
||||
color: #ffffff;
|
||||
box-shadow: 0 2px 4px rgba(44, 122, 255, 0.2);
|
||||
}
|
||||
|
||||
&:active {
|
||||
transform: scale(0.98);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.company-jobs-page-left-list-wrapper {
|
||||
width: 100%;
|
||||
height: 760px;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.company-jobs-page-interview-wrapper {
|
||||
width: 572px;
|
||||
height: 860px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
|
||||
.company-jobs-page-interview-expand {
|
||||
height: 100% !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.company-jobs-page-interview {
|
||||
width: 100%;
|
||||
height: 860px;
|
||||
margin-bottom: 20px;
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
background-color: #ffffff;
|
||||
position: relative;
|
||||
border-radius: 8px;
|
||||
border-bottom: 1px solid #e5e6eb;
|
||||
|
||||
.company-jobs-page-interview-list {
|
||||
width: 540px;
|
||||
height: 760px;
|
||||
overflow-y: auto;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
|
||||
.interview-item-wrapper {
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.company-jobs-page-interview-item {
|
||||
flex-shrink: 0;
|
||||
width: 100%;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #e5e6eb;
|
||||
margin-bottom: 0;
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
list-style: none;
|
||||
background-color: #e5f1ff;
|
||||
background-image: url("@/assets/images/CompanyJobsPage/jobs_page_left_list_item_bg.png");
|
||||
background-size: 100% 100%;
|
||||
transition: all 0.3s ease;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
border-color: #4080ff;
|
||||
box-shadow: 0 4px 12px rgba(44, 127, 255, 0.15);
|
||||
transform: translateY(-2px);
|
||||
background-color: #d9e9ff;
|
||||
}
|
||||
|
||||
.company-jobs-page-interview-item-info {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
|
||||
.company-jobs-page-interview-item-info-position {
|
||||
width: 100%;
|
||||
height: 24px;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
line-height: 24px;
|
||||
margin-bottom: 5px;
|
||||
color: #1d2129;
|
||||
}
|
||||
|
||||
.company-jobs-page-interview-item-info-tags {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
|
||||
.company-jobs-page-interview-item-info-tag {
|
||||
background-color: #ffffff;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 5px;
|
||||
padding: 1px 8px;
|
||||
color: #4e5969;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
border-radius: 2px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.company-jobs-page-interview-item-info-salary {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
height: 22px;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
line-height: 22px;
|
||||
color: #ff7d00;
|
||||
}
|
||||
}
|
||||
|
||||
.company-jobs-page-interview-item-btn-wrapper {
|
||||
width: 100%;
|
||||
height: 36px;
|
||||
position: relative;
|
||||
border: 1px solid #94bfff;
|
||||
border-radius: 4px;
|
||||
background-color: #e8f3ff;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
padding: 0 20px;
|
||||
|
||||
> span {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
line-height: 22px;
|
||||
color: #4e5969;
|
||||
}
|
||||
.company-jobs-page-interview-item-btn {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
line-height: 22px;
|
||||
color: #4e5969;
|
||||
}
|
||||
.company-jobs-page-interview-item-btn-active {
|
||||
color: #2c7aff;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease;
|
||||
|
||||
&:hover {
|
||||
color: #1967d2;
|
||||
text-decoration: underline;
|
||||
transform: translateX(2px);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.company-jobs-page-process-wrapper-close {
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
bottom: 20px;
|
||||
right: 20px;
|
||||
width: 96px;
|
||||
height: 66px;
|
||||
background-image: url("@/assets/images/CompanyJobsPage/process_wrapper_close_bg.png");
|
||||
background-size: 100% 100%;
|
||||
cursor: pointer;
|
||||
|
||||
.company-jobs-page-process-wrapper-title {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.company-jobs-page-process-content {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.company-jobs-page-process-wrapper-expand {
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
bottom: 20px;
|
||||
right: 20px;
|
||||
width: 572px;
|
||||
height: 340px;
|
||||
background-image: linear-gradient(270deg, #e6f2ff, #ffffff);
|
||||
border: 1px solid #e5e6eb;
|
||||
border-radius: 8px;
|
||||
box-sizing: border-box;
|
||||
padding: 10px;
|
||||
|
||||
.company-jobs-page-process-wrapper-title {
|
||||
width: 100%;
|
||||
padding-bottom: 40px;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
line-height: 30px;
|
||||
margin-bottom: 20px;
|
||||
color: #1d2129;
|
||||
flex-shrink: 0;
|
||||
position: relative;
|
||||
border-bottom: 1px solid #e5e6eb;
|
||||
|
||||
&::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 4px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background-image: url("@/assets/images/CompanyJobsPage/close_icon.png");
|
||||
background-size: 100% 100%;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 20px;
|
||||
bottom: 40px;
|
||||
width: 32px;
|
||||
height: 3px;
|
||||
background-image: url("@/assets/images/Common/title_icon.png");
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.company-jobs-page-process-content {
|
||||
display: flex;
|
||||
box-sizing: border-box;
|
||||
padding: 80px 20px;
|
||||
width: 100%;
|
||||
height: 48px;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.company-jobs-page-process-item-icon {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
background-size: 100% 100%;
|
||||
position: relative;
|
||||
|
||||
> p {
|
||||
width: 84px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: -40px;
|
||||
transform: translateX(-50%);
|
||||
color: #4e5969;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.company-jobs-page-process-item-round-dot {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
background-image: url("@/assets/images/CompanyJobsPage/process_dot.png");
|
||||
background-size: 100% 100%;
|
||||
position: relative;
|
||||
|
||||
&::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: -40px;
|
||||
transform: translateX(-50%);
|
||||
width: 132px;
|
||||
height: 25px;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
&::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 68px;
|
||||
height: 0px;
|
||||
border: 1px dashed #c9cdd4;
|
||||
}
|
||||
}
|
||||
.icon1 {
|
||||
background-image: url("@/assets/images/CompanyJobsPage/process1.png");
|
||||
}
|
||||
.icon2 {
|
||||
&::before {
|
||||
background-image: url("@/assets/images/CompanyJobsPage/process2.png");
|
||||
}
|
||||
}
|
||||
.icon3 {
|
||||
background-image: url("@/assets/images/CompanyJobsPage/process3.png");
|
||||
> p {
|
||||
bottom: -20px;
|
||||
}
|
||||
}
|
||||
.icon4 {
|
||||
background-image: url("@/assets/images/CompanyJobsPage/process4.png");
|
||||
margin: 0 48px;
|
||||
|
||||
&::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
right: -68px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 68px;
|
||||
height: 0px;
|
||||
border: 1px dashed #c9cdd4;
|
||||
}
|
||||
&::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: -68px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 68px;
|
||||
height: 0px;
|
||||
border: 1px dashed #c9cdd4;
|
||||
}
|
||||
}
|
||||
.icon5 {
|
||||
background-image: url("@/assets/images/CompanyJobsPage/process5.png");
|
||||
> p {
|
||||
bottom: -20px;
|
||||
}
|
||||
}
|
||||
.icon6 {
|
||||
&::before {
|
||||
background-image: url("@/assets/images/CompanyJobsPage/process6.png");
|
||||
}
|
||||
}
|
||||
.icon7 {
|
||||
background-image: url("@/assets/images/CompanyJobsPage/process7.png");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -85,7 +85,8 @@ const CompanyJobsPage = () => {
|
||||
requirements: jobData.requirements || "",
|
||||
description: jobData.description || "",
|
||||
welfare: jobData.welfare || [],
|
||||
companyInfo: jobData.companyInfo || ""
|
||||
companyInfo: jobData.companyInfo || "",
|
||||
companyImages: jobData.companyImages || []
|
||||
};
|
||||
}).filter(job => job.position); // 过滤掉没有岗位信息的项
|
||||
|
||||
@@ -224,38 +225,13 @@ const CompanyJobsPage = () => {
|
||||
|
||||
// 处理岗位卡片点击,显示岗位详情
|
||||
const handleJobCardClick = async (item) => {
|
||||
// 如果是从面试状态点击的,item 中已经包含了 job 属性
|
||||
if (item.job) {
|
||||
// 将面试状态中的岗位信息转换为岗位详情格式
|
||||
const jobData = {
|
||||
id: item.id,
|
||||
position: item.position,
|
||||
salary: item.job.salary,
|
||||
location: item.job.location,
|
||||
education: item.job.education,
|
||||
recruitNumber: item.job.remainingPositions ? `${item.job.remainingPositions}人` : "若干",
|
||||
remainingPositions: item.job.remainingPositions || "若干",
|
||||
tags: item.job.tags || [],
|
||||
benefits: item.job.welfare || [],
|
||||
deadline: item.job.deadline,
|
||||
jobCategory: item.job.jobCategory,
|
||||
details: {
|
||||
description: item.job.description || "",
|
||||
requirementsText: item.job.requirements || "",
|
||||
companyInfo: item.job.companyInfo || ""
|
||||
}
|
||||
};
|
||||
|
||||
setSelectedJob(jobData);
|
||||
setIsFromInterview(true); // 标记是从面试状态卡片点击的
|
||||
setJobDetailVisible(true);
|
||||
} else if (item.position) {
|
||||
// 如果不是从面试状态点击的,从岗位库中查找
|
||||
// 直接从企业内推岗位库中查找对应的岗位
|
||||
if (item.position) {
|
||||
const jobData = getJobByPosition(item.position);
|
||||
|
||||
if (jobData) {
|
||||
setSelectedJob(jobData);
|
||||
setIsFromInterview(false);
|
||||
setIsFromInterview(true); // 标记是从面试状态卡片点击的
|
||||
setJobDetailVisible(true);
|
||||
} else {
|
||||
toast.error("未找到对应的岗位详情");
|
||||
|
||||
@@ -0,0 +1,387 @@
|
||||
import { useState, useEffect } from "react";
|
||||
import { useSelector } from "react-redux";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import { Spin, Empty } from "@arco-design/web-react";
|
||||
// import { mapJobList, mapInterviewList } from "@/utils/dataMapper"; // 不再需要映射器,mock数据已经是前端格式
|
||||
import InfiniteScroll from "@/components/InfiniteScroll";
|
||||
import toast from "@/components/Toast";
|
||||
import JobList from "./components/JobList";
|
||||
import InterviewStatusAnimation from "./components/InterviewStatusAnimation";
|
||||
import JobInfoModal from "./components/JobInfoModal";
|
||||
import {
|
||||
getCompanyJobsPageData,
|
||||
getJobsList,
|
||||
getInterviewsList,
|
||||
getJobsDetail,
|
||||
} from "@/services";
|
||||
import { getJobByPosition } from "@/services/companyJobsNew";
|
||||
|
||||
import "./index.css";
|
||||
const PAGE_SIZE = 10;
|
||||
|
||||
const CompanyJobsPage = () => {
|
||||
const studentInfo = useSelector((state) => state.student.studentInfo);
|
||||
const [jobs, setJobs] = useState([]);
|
||||
const [jobsListPage, setJobsListPage] = useState(1);
|
||||
const [jobsListHasMore, setJobsListHasMore] = useState(true);
|
||||
const [interviews, setInterviews] = useState([]);
|
||||
const [interviewsPage, setInterviewsPage] = useState(1);
|
||||
const [interviewsHasMore, setInterviewsHasMore] = useState(true);
|
||||
const [initialDataLoaded, setInitialDataLoaded] = useState(false);
|
||||
const [loading, setLoading] = useState(true);
|
||||
const [expandedItemId, setExpandedItemId] = useState(null);
|
||||
const [jobDetailVisible, setJobDetailVisible] = useState(false);
|
||||
const [selectedJob, setSelectedJob] = useState(null);
|
||||
const [isFromInterview, setIsFromInterview] = useState(false); // 标识是否从面试状态卡片点击
|
||||
const navigate = useNavigate();
|
||||
|
||||
// 初始化页面数据 - 使用聚合接口
|
||||
useEffect(() => {
|
||||
const fetchInitialData = async () => {
|
||||
try {
|
||||
setLoading(true);
|
||||
const res = await getCompanyJobsPageData({
|
||||
studentId: studentInfo?.id,
|
||||
});
|
||||
|
||||
if (res?.success) {
|
||||
// 设置面试数据
|
||||
let interviewsData = [];
|
||||
if (res.data?.interviews) {
|
||||
// Mock数据已经是前端格式,直接使用不需要映射
|
||||
interviewsData = res.data.interviews.list || [];
|
||||
setInterviews(interviewsData);
|
||||
setInterviewsHasMore(res.data.interviews.hasMore);
|
||||
if (interviewsData.length > 0) {
|
||||
setInterviewsPage(2); // 下次从第2页开始
|
||||
}
|
||||
}
|
||||
|
||||
// 设置岗位数据 - 包含已投递的岗位
|
||||
if (res.data?.jobs) {
|
||||
// Mock数据已经是前端格式,直接使用不需要映射
|
||||
const jobsList = res.data.jobs.list || [];
|
||||
|
||||
// 从面试数据中提取已投递的岗位信息
|
||||
const deliveredJobs = interviewsData.map(interview => {
|
||||
// 确保有完整的岗位数据
|
||||
const jobData = interview.job || {};
|
||||
return {
|
||||
id: `delivered-${interview.id}`, // 使用特殊的ID标识已投递岗位
|
||||
position: interview.position,
|
||||
isDelivered: true, // 标记为已投递
|
||||
interviewTime: interview.interviewTime,
|
||||
interviewStatus: interview.statusText,
|
||||
originalInterviewId: interview.id,
|
||||
// 从job对象中提取所有必要字段
|
||||
salary: jobData.salary || "面议",
|
||||
tags: jobData.tags || [],
|
||||
location: jobData.location || "待定",
|
||||
education: jobData.education || "待定",
|
||||
jobCategory: jobData.jobCategory || "专业相关岗位",
|
||||
remainingPositions: jobData.remainingPositions || 5,
|
||||
deadline: jobData.deadline || "2025-12-31",
|
||||
jobType: jobData.jobType || "job",
|
||||
requirements: jobData.requirements || "",
|
||||
description: jobData.description || "",
|
||||
welfare: jobData.welfare || [],
|
||||
companyInfo: jobData.companyInfo || ""
|
||||
};
|
||||
}).filter(job => job.position); // 过滤掉没有岗位信息的项
|
||||
|
||||
// 分离未投递和已过期的岗位
|
||||
const activeJobs = jobsList.filter(job => !job.isExpired && job.status !== 'expired');
|
||||
const expiredJobs = jobsList.filter(job => job.isExpired || job.status === 'expired');
|
||||
|
||||
// 按照顺序合并:未投递 -> 已投递 -> 已过期
|
||||
const allJobs = [...activeJobs, ...deliveredJobs, ...expiredJobs];
|
||||
setJobs(allJobs);
|
||||
setJobsListHasMore(res.data.jobs.hasMore);
|
||||
if (allJobs.length > 0) {
|
||||
setJobsListPage(2); // 下次从第2页开始
|
||||
}
|
||||
}
|
||||
|
||||
setInitialDataLoaded(true);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Failed to fetch initial page data:", error);
|
||||
// 如果聚合接口失败,回退到原来的方式
|
||||
setInitialDataLoaded(true);
|
||||
// 显示错误信息给用户
|
||||
if (toast && toast.error) {
|
||||
toast.error("加载数据失败,请刷新重试");
|
||||
}
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
};
|
||||
|
||||
fetchInitialData();
|
||||
}, [studentInfo?.id]);
|
||||
|
||||
// 获取面试信息 - 用于分页加载更多
|
||||
const fetchInterviewsData = async () => {
|
||||
// 如果初始数据还没加载完成,或者是第一页且已有初始数据,则跳过
|
||||
if (!initialDataLoaded || (interviewsPage === 1 && interviews.length > 0)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (studentInfo?.id) {
|
||||
const res = await getInterviewsList({
|
||||
page: interviewsPage,
|
||||
pageSize: PAGE_SIZE,
|
||||
studentId: studentInfo?.id,
|
||||
status: "SCHEDULED",
|
||||
});
|
||||
if (res.success) {
|
||||
// Mock数据已经是前端格式,直接使用
|
||||
const interviews = res.data || [];
|
||||
setInterviews((prevList) => {
|
||||
// 去重处理:过滤掉已存在的数据
|
||||
const existingIds = new Set(
|
||||
prevList.map((interview) => interview.id)
|
||||
);
|
||||
const newInterviews = interviews.filter(
|
||||
(interview) => !existingIds.has(interview.id)
|
||||
);
|
||||
|
||||
const newList = [...prevList, ...newInterviews];
|
||||
if (res.total <= newList?.length) {
|
||||
setInterviewsHasMore(false);
|
||||
} else {
|
||||
setInterviewsPage((prevPage) => prevPage + 1);
|
||||
}
|
||||
return newList;
|
||||
});
|
||||
} else {
|
||||
if (interviewsPage === 1) {
|
||||
setInterviews([]);
|
||||
}
|
||||
toast.error(res.message);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// 处理面试状态点击
|
||||
const handleStatusClick = (e, item) => {
|
||||
e.stopPropagation();
|
||||
// 如果点击的是已展开的项,则收起;否则展开新项
|
||||
if (expandedItemId === item.id) {
|
||||
setExpandedItemId(null);
|
||||
} else {
|
||||
setExpandedItemId(item.id);
|
||||
}
|
||||
};
|
||||
|
||||
// 获取企业内推岗位 - 用于分页加载更多
|
||||
const fetchJobsList = async () => {
|
||||
// 如果初始数据还没加载完成,或者是第一页且已有初始数据,则跳过
|
||||
if (!initialDataLoaded || (jobsListPage === 1 && jobs.length > 0)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 防止重复请求
|
||||
if (jobsListPage === 1 && jobs.length === 0) {
|
||||
return; // 初始数据应该通过聚合接口加载
|
||||
}
|
||||
|
||||
try {
|
||||
const res = await getJobsList({
|
||||
page: jobsListPage,
|
||||
pageSize: PAGE_SIZE,
|
||||
isActive: true,
|
||||
});
|
||||
|
||||
if (res?.success) {
|
||||
// Mock数据已经是前端格式,直接使用
|
||||
const jobs = res.data;
|
||||
setJobs((prevList) => {
|
||||
// 去重处理:过滤掉已存在的数据
|
||||
const existingIds = new Set(prevList.map((job) => job.id));
|
||||
const newJobs = jobs.filter((job) => !existingIds.has(job.id));
|
||||
|
||||
const newList = [...prevList, ...newJobs];
|
||||
if (res.total <= newList?.length) {
|
||||
setJobsListHasMore(false);
|
||||
} else {
|
||||
setJobsListPage((prevPage) => prevPage + 1);
|
||||
}
|
||||
return newList;
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Failed to fetch data:", error);
|
||||
if (jobsListPage === 1) {
|
||||
setJobs([]);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const handleJobWrapperClick = () => {
|
||||
navigate("/company-jobs-list");
|
||||
};
|
||||
|
||||
// 处理岗位卡片点击,显示岗位详情
|
||||
const handleJobCardClick = async (item) => {
|
||||
// 统一使用getJobByPosition获取完整的岗位数据(包括companyImages)
|
||||
const fullJobData = getJobByPosition(item.position);
|
||||
|
||||
if (fullJobData) {
|
||||
// 如果是从面试状态点击的,合并面试相关信息
|
||||
if (item.job) {
|
||||
const jobData = {
|
||||
...fullJobData,
|
||||
// 保留面试状态相关的特定信息
|
||||
id: item.id,
|
||||
isDelivered: true,
|
||||
interviewTime: item.interviewTime,
|
||||
interviewStatus: item.statusText
|
||||
};
|
||||
setSelectedJob(jobData);
|
||||
setIsFromInterview(true);
|
||||
} else {
|
||||
// 从企业内推岗位库点击
|
||||
setSelectedJob(fullJobData);
|
||||
setIsFromInterview(false);
|
||||
}
|
||||
setJobDetailVisible(true);
|
||||
} else {
|
||||
toast.error("未找到对应的岗位详情");
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="company-jobs-page-wrapper">
|
||||
<div className="company-jobs-page">
|
||||
{loading ? (
|
||||
<Spin size={80} className="company-jobs-page-spin" />
|
||||
) : (
|
||||
<>
|
||||
<div
|
||||
className="company-jobs-page-left"
|
||||
>
|
||||
<div className="company-jobs-page-header">
|
||||
<p className="company-jobs-page-title">
|
||||
<img
|
||||
src="https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_icon/recuUY5w4Kcw4H.png"
|
||||
alt="icon"
|
||||
style={{
|
||||
width: '24px',
|
||||
height: '24px',
|
||||
marginRight: '8px',
|
||||
verticalAlign: 'middle'
|
||||
}}
|
||||
/>
|
||||
企业内推岗位库
|
||||
</p>
|
||||
<button
|
||||
className="view-all-jobs-btn"
|
||||
onClick={handleJobWrapperClick}
|
||||
>
|
||||
查看全部岗位
|
||||
</button>
|
||||
</div>
|
||||
<InfiniteScroll
|
||||
loadMore={fetchJobsList}
|
||||
hasMore={jobsListHasMore}
|
||||
className="company-jobs-page-left-list-wrapper"
|
||||
>
|
||||
<JobList data={jobs} />
|
||||
</InfiniteScroll>
|
||||
</div>
|
||||
<div className="company-jobs-page-interview-wrapper">
|
||||
<div
|
||||
className="company-jobs-page-interview"
|
||||
>
|
||||
<p className="company-jobs-page-title">
|
||||
<img
|
||||
src="https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_icon/recuUY5wqNngw9.png"
|
||||
alt="icon"
|
||||
style={{
|
||||
width: '24px',
|
||||
height: '24px',
|
||||
marginRight: '8px',
|
||||
verticalAlign: 'middle'
|
||||
}}
|
||||
/>
|
||||
岗位面试状态
|
||||
</p>
|
||||
<InfiniteScroll
|
||||
loadMore={fetchInterviewsData}
|
||||
hasMore={interviewsHasMore}
|
||||
empty={interviews.length === 0}
|
||||
className="company-jobs-page-interview-list"
|
||||
>
|
||||
{interviews.map((item) => (
|
||||
<div key={item.id} className="interview-item-wrapper">
|
||||
<li
|
||||
className="company-jobs-page-interview-item"
|
||||
onClick={() => handleJobCardClick(item)}
|
||||
style={{ cursor: 'pointer' }}
|
||||
>
|
||||
<div className="company-jobs-page-interview-item-info">
|
||||
<p className="company-jobs-page-interview-item-info-position">
|
||||
{item.position}
|
||||
</p>
|
||||
{item.job?.tags?.length > 0 ? (
|
||||
<ul className="company-jobs-page-interview-item-info-tags">
|
||||
{item.job.tags.map((tag) => (
|
||||
<li
|
||||
className="company-jobs-page-interview-item-info-tag"
|
||||
key={tag}
|
||||
>
|
||||
{tag}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
) : null}
|
||||
<span className="company-jobs-page-interview-item-info-salary">
|
||||
{item.job?.salary || "面议"}
|
||||
</span>
|
||||
</div>
|
||||
<div className="company-jobs-page-interview-item-btn-wrapper">
|
||||
<span>{item.interviewTime}</span>
|
||||
<div
|
||||
className={`company-jobs-page-interview-item-btn ${
|
||||
item.status !== "COMPLETED" &&
|
||||
"company-jobs-page-interview-item-btn-active"
|
||||
}`}
|
||||
onClick={(e) => handleStatusClick(e, item)}
|
||||
style={{ cursor: 'pointer' }}
|
||||
>
|
||||
{item.statusText}
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<InterviewStatusAnimation
|
||||
statusText={item.statusText}
|
||||
isOpen={expandedItemId === item.id}
|
||||
stageDate={item.stageDate}
|
||||
/>
|
||||
</div>
|
||||
))}
|
||||
</InfiniteScroll>
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* 岗位详情弹窗 */}
|
||||
<JobInfoModal
|
||||
visible={jobDetailVisible}
|
||||
onClose={() => {
|
||||
setJobDetailVisible(false);
|
||||
setSelectedJob(null);
|
||||
setIsFromInterview(false); // 重置标志
|
||||
}}
|
||||
data={selectedJob}
|
||||
directToResume={false}
|
||||
hideDeliverButton={isFromInterview} // 传递是否隐藏投递按钮的标志
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default CompanyJobsPage;
|
||||
@@ -229,6 +229,28 @@
|
||||
object-position: center 0%;
|
||||
}
|
||||
}
|
||||
|
||||
&.teacher-郭昊铭 {
|
||||
.arco-avatar-image img {
|
||||
object-fit: cover;
|
||||
object-position: center 15%; /* 头像向下移动15% */
|
||||
}
|
||||
}
|
||||
|
||||
/* 食品产业导师头像调整 */
|
||||
&.teacher-潘凯珍 {
|
||||
.arco-avatar-image img {
|
||||
object-fit: cover;
|
||||
object-position: center 10%; /* 头像向下移动 */
|
||||
}
|
||||
}
|
||||
|
||||
&.teacher-杨丽华 {
|
||||
.arco-avatar-image img {
|
||||
object-fit: cover;
|
||||
object-position: center 5%; /* 头像向下移动 */
|
||||
}
|
||||
}
|
||||
}
|
||||
.module-tasks-item-info-teacher-name {
|
||||
position: absolute;
|
||||
|
||||
@@ -0,0 +1,356 @@
|
||||
.module-tasks-wrapper {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
border-radius: 16px;
|
||||
border: 1px solid #fff;
|
||||
flex-shrink: 0;
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
margin-top: 20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
position: relative;
|
||||
|
||||
&::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: 127px;
|
||||
height: 95px;
|
||||
background-image: url("@/assets/images/Dashboard/TaskList/task_list_bg.png");
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
.module-tasks-title {
|
||||
height: 30px;
|
||||
width: 100%;
|
||||
font-size: 20px;
|
||||
font-weight: 500;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.title-icon {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.no-tasks {
|
||||
margin-top: 130px;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.task-type {
|
||||
font-weight: normal;
|
||||
color: #1d2129;
|
||||
}
|
||||
|
||||
.task-status {
|
||||
font-size: 10px;
|
||||
padding: 2px 6px;
|
||||
border-radius: 4px;
|
||||
margin-left: 8px;
|
||||
|
||||
&.status-pending {
|
||||
background-color: #fff3cd;
|
||||
color: #856404;
|
||||
}
|
||||
|
||||
&.status-in_progress {
|
||||
background-color: #d1ecf1;
|
||||
color: #0c5460;
|
||||
}
|
||||
|
||||
&.status-completed {
|
||||
background-color: #d4edda;
|
||||
color: #155724;
|
||||
}
|
||||
}
|
||||
|
||||
.module-tasks-list {
|
||||
margin-top: 20px;
|
||||
width: 100%;
|
||||
height: 452px;
|
||||
box-sizing: border-box;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
overflow-y: auto;
|
||||
|
||||
.module-tasks-item {
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
flex-shrink: 0;
|
||||
margin-bottom: 10px;
|
||||
|
||||
.module-tasks-item-info {
|
||||
width: 100%;
|
||||
height: 32px;
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
|
||||
/* 左侧状态圆点 */
|
||||
&::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background-color: #bfbfbf; /* 默认灰色 */
|
||||
border: 2px solid #ffffff; /* 白色描边 */
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 阴影效果 */
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
/* 已完成状态的圆点颜色 */
|
||||
&.status-completed::before {
|
||||
background-color: #52c41a; /* 绿色 */
|
||||
}
|
||||
|
||||
/* 课程类型对应的颜色 */
|
||||
&.course-type-复合能力课::before {
|
||||
background-color: #ff7875; /* 红色 */
|
||||
}
|
||||
|
||||
&.course-type-AI进阶课::before {
|
||||
background-color: #ffc53d; /* 黄色 */
|
||||
}
|
||||
|
||||
&.course-type-公共课::before {
|
||||
background-color: #73d13d; /* 绿色 */
|
||||
}
|
||||
|
||||
&.course-type-求职策略课::before {
|
||||
background-color: #40a9ff; /* 蓝色 */
|
||||
}
|
||||
|
||||
.module-tasks-item-info-avatar {
|
||||
&.arco-avatar {
|
||||
width: 32px !important;
|
||||
height: 32px !important;
|
||||
border-radius: 50% !important;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 32px;
|
||||
background-color: #165dff !important;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
display: flex !important;
|
||||
align-items: center !important;
|
||||
justify-content: center !important;
|
||||
overflow: hidden;
|
||||
|
||||
.arco-avatar-image {
|
||||
width: 100% !important;
|
||||
height: 100% !important;
|
||||
|
||||
img {
|
||||
width: 100% !important;
|
||||
height: 100% !important;
|
||||
object-fit: cover;
|
||||
}
|
||||
}
|
||||
|
||||
.arco-avatar-text {
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
/* 针对不同导师的头像调整 */
|
||||
&.teacher-李奇 {
|
||||
.arco-avatar-image img {
|
||||
object-fit: cover;
|
||||
object-position: 50% 0%;
|
||||
transform: scale(1.4) translateX(-4px);
|
||||
}
|
||||
}
|
||||
|
||||
&.teacher-郭建辉 {
|
||||
.arco-avatar-image img {
|
||||
object-fit: cover;
|
||||
object-position: center 0%;
|
||||
}
|
||||
}
|
||||
|
||||
&.teacher-赵志强 {
|
||||
.arco-avatar-image img {
|
||||
object-fit: cover;
|
||||
object-position: center 0%;
|
||||
}
|
||||
}
|
||||
|
||||
&.teacher-李毅峰 {
|
||||
.arco-avatar-image img {
|
||||
object-fit: cover;
|
||||
object-position: center 35%;
|
||||
}
|
||||
}
|
||||
|
||||
&.teacher-周伏波 {
|
||||
.arco-avatar-image img {
|
||||
object-fit: cover;
|
||||
object-position: center 0%;
|
||||
}
|
||||
}
|
||||
|
||||
&.teacher-范雪娇 {
|
||||
.arco-avatar-image img {
|
||||
object-fit: cover;
|
||||
object-position: center 0%;
|
||||
}
|
||||
}
|
||||
|
||||
&.teacher-孙应战 {
|
||||
.arco-avatar-image img {
|
||||
object-fit: contain;
|
||||
transform: scale(2.5) translateX(1px);
|
||||
object-position: center 40%;
|
||||
}
|
||||
}
|
||||
|
||||
&.teacher-魏立慧 {
|
||||
.arco-avatar-image img {
|
||||
object-fit: cover;
|
||||
object-position: center 0%;
|
||||
}
|
||||
}
|
||||
|
||||
/* 食品产业导师头像调整 */
|
||||
&.teacher-潘凯珍 {
|
||||
.arco-avatar-image img {
|
||||
object-fit: cover;
|
||||
object-position: center 10%; /* 头像向下移动 */
|
||||
}
|
||||
}
|
||||
|
||||
&.teacher-杨丽华 {
|
||||
.arco-avatar-image img {
|
||||
object-fit: cover;
|
||||
object-position: center 5%; /* 头像向下移动 */
|
||||
}
|
||||
}
|
||||
}
|
||||
.module-tasks-item-info-teacher-name {
|
||||
position: absolute;
|
||||
left: 72px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #616065;
|
||||
}
|
||||
.module-tasks-item-info-time {
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
color: #bfbfbf;
|
||||
}
|
||||
}
|
||||
|
||||
.module-tasks-item-content {
|
||||
width: calc(100% - 16px);
|
||||
height: 64px;
|
||||
margin-top: 5px;
|
||||
margin-left: 16px;
|
||||
box-sizing: border-box;
|
||||
padding-left: 16px;
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
|
||||
&:not(.module-tasks-item-content-last) {
|
||||
border-left: 2px dashed #d9d9d9 !important;
|
||||
}
|
||||
|
||||
&::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -2px;
|
||||
width: 4px;
|
||||
height: 4px;
|
||||
border-radius: 50%;
|
||||
background-color: #bfbfbf;
|
||||
}
|
||||
&::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: -2px;
|
||||
width: 4px;
|
||||
height: 4px;
|
||||
border-radius: 50%;
|
||||
background-color: #bfbfbf;
|
||||
}
|
||||
|
||||
.module-tasks-item-content-info {
|
||||
width: 100%;
|
||||
height: 58px;
|
||||
border-radius: 8px;
|
||||
background-color: #fafafa;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
> p {
|
||||
font-size: 10px;
|
||||
color: #616065;
|
||||
font-weight: 400;
|
||||
text-align: left;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
> div {
|
||||
position: relative;
|
||||
font-size: 12px;
|
||||
color: #262626;
|
||||
font-weight: 400;
|
||||
text-align: left;
|
||||
|
||||
.module-tasks-item-content-info-duration {
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
font-size: 10px;
|
||||
font-weight: 400;
|
||||
color: #bfbfbf;
|
||||
|
||||
&::before {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
margin-right: 4px;
|
||||
vertical-align: middle;
|
||||
background-image: url("@/assets/images/TaskList/frame.png");
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.module-tasks-item-content-last {
|
||||
border: none;
|
||||
|
||||
&::after,
|
||||
&::before {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
14
frontend_食品/src/pages/DuoDuoAgentPage/index.css
Normal file
14
frontend_食品/src/pages/DuoDuoAgentPage/index.css
Normal file
@@ -0,0 +1,14 @@
|
||||
.agent-page-wrapper {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.agent-page-iframe {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: none;
|
||||
zoom: 0.8;
|
||||
}
|
||||
17
frontend_食品/src/pages/DuoDuoAgentPage/index.jsx
Normal file
17
frontend_食品/src/pages/DuoDuoAgentPage/index.jsx
Normal file
@@ -0,0 +1,17 @@
|
||||
import "./index.css";
|
||||
|
||||
const AgentPage = () => {
|
||||
return (
|
||||
<div className="agent-page-wrapper">
|
||||
<iframe
|
||||
src="http://127.0.0.1:4173/"
|
||||
className="agent-page-iframe"
|
||||
title="Agent"
|
||||
frameBorder="0"
|
||||
allowFullScreen
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default AgentPage;
|
||||
@@ -12,6 +12,7 @@ const HomeworkPage = () => {
|
||||
const verticalScrollContainerRef = useRef(null);
|
||||
const unitNavRefs = useRef({});
|
||||
const [showIframe, setShowIframe] = useState(false);
|
||||
const [selectedHomework, setSelectedHomework] = useState(null);
|
||||
const [selectedUnits, setSelectedUnits] = useState({
|
||||
1: "全部", // 复合能力课的选中单元
|
||||
2: "全部" // 垂直能力课的选中单元
|
||||
@@ -100,6 +101,7 @@ const HomeworkPage = () => {
|
||||
const handleClickBtn = (sectionId, item) => {
|
||||
// 垂直能力课中标记为isShowCase的课程可以点击
|
||||
if (sectionId === 2 && item.isShowCase) {
|
||||
setSelectedHomework(item);
|
||||
setShowIframe(true);
|
||||
}
|
||||
};
|
||||
@@ -118,19 +120,20 @@ const HomeworkPage = () => {
|
||||
return (
|
||||
<div className="homework-page-iframe-wrapper">
|
||||
<div className="homework-page-iframe-header">
|
||||
<button
|
||||
<button
|
||||
className="homework-page-return-btn"
|
||||
onClick={() => setShowIframe(false)}
|
||||
>
|
||||
<IconArrowLeft style={{ marginRight: '8px' }} />
|
||||
返回课后作业
|
||||
</button>
|
||||
<span className="homework-page-iframe-title">展会策划教学</span>
|
||||
<span className="homework-page-iframe-title">{selectedHomework?.name}</span>
|
||||
</div>
|
||||
<iframe
|
||||
src="https://du9uay.github.io/zhanhui/#/course-test"
|
||||
src={selectedHomework?.previewUrl}
|
||||
className="homework-page-iframe-content"
|
||||
title="展会策划教学"
|
||||
title={selectedHomework?.name}
|
||||
style={{ zoom: 0.8 }}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
@@ -148,21 +151,20 @@ const HomeworkPage = () => {
|
||||
if (selectedUnit === "全部") {
|
||||
// 将所有单元的课程合并
|
||||
const allCourses = section.units.flatMap(unit => unit.courses);
|
||||
|
||||
// 如果是垂直能力课,将"展会主题与品牌定位"移到第一位
|
||||
if (sectionId === 2) {
|
||||
const targetCourse = allCourses.find(course => course.name === "展会主题与品牌定位");
|
||||
if (targetCourse) {
|
||||
const otherCourses = allCourses.filter(course => course.name !== "展会主题与品牌定位");
|
||||
return [targetCourse, ...otherCourses];
|
||||
}
|
||||
}
|
||||
|
||||
return allCourses;
|
||||
|
||||
// 将可试看的课程排在前面
|
||||
const previewCourses = allCourses.filter(course => course.isShowCase);
|
||||
const otherCourses = allCourses.filter(course => !course.isShowCase);
|
||||
return [...previewCourses, ...otherCourses];
|
||||
} else {
|
||||
// 返回选中单元的课程
|
||||
const unit = section.units.find(u => u.name === selectedUnit);
|
||||
return unit ? unit.courses : [];
|
||||
if (!unit) return [];
|
||||
|
||||
// 将可试看的课程排在前面
|
||||
const previewCourses = unit.courses.filter(course => course.isShowCase);
|
||||
const otherCourses = unit.courses.filter(course => !course.isShowCase);
|
||||
return [...previewCourses, ...otherCourses];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -229,7 +231,7 @@ const HomeworkPage = () => {
|
||||
>
|
||||
已完成
|
||||
</div>
|
||||
{contentItem.name === "展会主题与品牌定位" && (
|
||||
{contentItem.isShowCase && (
|
||||
<span className="homework-page-preview-tag">可试看</span>
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -62,87 +62,87 @@ export default ({ selectedItem = "面试初体验" }) => {
|
||||
};
|
||||
} else if (selectedItem === "第一次线下面试模拟") {
|
||||
return {
|
||||
totalScore: 42, // 根据JSON计算的真实总分
|
||||
professionalScore: 28, // (4+6+5+4+6+3)/6*10*0.6 = 28
|
||||
performanceScore: 14, // (2+4+5+3)/4*10*0.4 = 14
|
||||
radarData: [4, 6, 5, 4, 6, 3], // 六项专业能力指标(来自JSON)
|
||||
radarData2: [2, 4, 5, 3], // 四项现场表现指标(来自JSON)
|
||||
totalScore: 51, // 根据食品产业JSON计算的真实总分
|
||||
professionalScore: 31, // (5+4+5+5+6+6)/6*10*0.6 = 31
|
||||
performanceScore: 20, // (5+6+5+5)/4*10*0.4 = 20
|
||||
radarData: [5, 4, 5, 5, 6, 6], // 六项专业能力指标(来自食品产业JSON)
|
||||
radarData2: [5, 6, 5, 5], // 四项现场表现指标(来自食品产业JSON)
|
||||
title: "面试评价",
|
||||
content: `# 专业能力
|
||||
|
||||
1. 对知识点的概念总弄混,回答问题也只停在表面,没法往深了说 —— 比如问个核心概念,要么跟别的概念搅在一起,要么就说几句皮毛,根本挖不出背后的门道,能看出来对知识的理解还差得远;
|
||||
2. 知道的行业知识都是零零散散的,没形成系统,尤其说不明白行业趋势跟岗位、业务的关系 —— 比如问某个趋势会影响工作内容不,他就答不上来,对行业的认知特别散,没串起来;
|
||||
3. 对工作流程的概念特别模糊,连自己该干啥都搞不清 —— 比如问企业里某个业务流程怎么走,他说不明白,再问他在里面要承担啥角色,更是没头绪,完全没找准自己的位置;
|
||||
4. 分析问题的时候特别局限,想的方案也很片面,连怎么落地的步骤都没有 —— 比如让他给个解决办法,只能说个大概方向,至于需要哪些资源、分几步做、怎么推进,根本没考虑,这样的方案根本没法用;
|
||||
5. 对目标岗位的认知特别模糊,连岗位的核心工作是啥、该干到啥程度、哪些活不归自己管,都弄不明白 —— 问他这个岗位主要负责啥,他说的颠三倒四,工作边界更是完全没概念,明显没搞懂岗位到底是干啥的;
|
||||
6. 做过的项目特别少,就算有一两个,也说不明白情况 —— 要么讲不清项目是做什么的,要么说不出自己在里面具体干了啥,连自己到底是啥角色都模模糊糊,根本没法用项目证明自己有能力;
|
||||
1. 营养学基础与配餐原理:能说明三大营养素与能量供给关系,但对特殊人群(控糖、控脂、增肌、低嘌呤)的宏观营养素分配与微量元素补给仍偏概念化;未能把"营养处方→菜单工程→出品标准化"串成闭环,缺少"可度量"的配比与验收指标,尚无法直接指导门店出品与复购驱动。
|
||||
2. 食安合规与标准化:了解冷藏冷冻与留样意识,但对HACCP思路、过敏原标识、配料表合规与声称边界缺乏清晰认知;未能把加工流程SOP化并绑定CCP关键控制点与记录单,难以满足外卖平台稽核、城市联检与品牌加盟审计要求。
|
||||
3. 供应链与成本控制:能说出主要原料,但缺少对核心SKU的ABCD分级、损耗率目标与到岸成本拆解;未建立"毛利—客单—动销周转—现金流"的经营指标树,不清楚"日清周结"的进销存节奏与安全库存策略。
|
||||
4. 菜单工程与产品力:能提出"低卡、高蛋白"等概念,但缺少以"畅销/利润/形象"分层的矩阵打法;对新品试错的AB测试、动线陈列、爆品心智打造与跨季节换档节奏不明确,难以稳定提升转化与毛利贡献。
|
||||
5. 运营与营销认知:知道做新媒体与会员,却未将"拉新—促活—复购—裂变"与人群分层策略(轻度控糖、健身、控卡白领、夜间轻食)对应起来;不了解"到店/到家"双通道价格带与券核销机制,尚无法形成增长飞轮。
|
||||
6. 数据意识与数字化:能口述看板,但对核心KPI(毛利率、食材毛损、动销周转天、到手客单、渠道构成、复购率、LTV/CAC)未形成监控阈值与预警动作,难以驱动经营决策与人员激励。
|
||||
|
||||
# 现场表现力
|
||||
|
||||
1. 说话特别散乱,抓不住重点,逻辑还老跳 —— 比如跟他聊个事儿,他东说一句西说一句,关键信息没几句,还经常突然从一个话题跳到另一个,听的人根本跟不上,半天搞不清他想表达啥;
|
||||
2. 情绪波动特别大,一会儿好一会儿坏,特别影响沟通 —— 可能刚开始聊得好好的,稍微有点问题就慌了,或者没耐心了,跟他交流的时候,很容易因为他的情绪受影响,沟通效果特别差;
|
||||
3. 跟人说话或者坐着的时候,小动作特别多,坐姿也不稳 —— 一会儿摸笔、一会儿挠头,身子还总晃来晃去,这些动作特别容易分散别人的注意力,让人没法专心听他说话,印象分也会打折扣;
|
||||
4. 不管是做事、做展示还是跟人聊天,时间把控得特别差 —— 要么说起来没个完,严重超时;要么没说几句就结束了,整个过程一点条理都没有,结构乱得很,完全没规划。
|
||||
1. 语言表达与逻辑:叙述偏散,缺少"问题—分析—对策—指标"的结构化,难以让投资人或门店合伙人快速建立信任与共识。
|
||||
2. 自信与情绪管理:面对连锁复制与资金压力相关追问时显紧张,未能以事实与数据稳定情绪并回回答案,临场说服力有待提升。
|
||||
3. 仪表与职场礼仪:形象整洁,但问答缺少"先复述—再结论—后展开—落指标"的专业礼仪流程,易被视为执行而非负责人。
|
||||
4. 时间管理与条理性:关键点展开不足、枝节冗长,未能在有限时间聚焦"菜—人—货—场—数—证"六要素,影响整体呈现效率。
|
||||
|
||||
# 综合评价
|
||||
|
||||
总的来说,这学生在知识理解、行业认知、流程和岗位把握、方案设计、项目经验、表达逻辑,还有情绪管理、行为仪态、时间把控这些方面,都有挺明显的问题。这些问题不光让日常沟通和解决问题受影响,也能看出来他现在还不太能适应实际工作的要求,之后得重点补补知识的深度、多了解行业和岗位,再好好练练说话的逻辑和心态,慢慢把综合能力提上来才行。`
|
||||
候选人具备基础营养与出品意识,但距离"可复制的轻餐业态"仍有差距。建议以"菜单工程SOP+HACCP表单+成本拆解台账+渠道价格带策略"四件套为抓手,建立可执行的门店经营闭环;并以月为周期设定KPI阈值(毛利≥62%、毛损≤3.5%、7日复购≥28%、周转天≤3.0),用数据把技术与经营绑在一起,为二轮面试的经营化表达奠定基础。`
|
||||
};
|
||||
} else if (selectedItem === "第二次线下面试模拟") {
|
||||
return {
|
||||
totalScore: 67, // 根据JSON计算的真实总分
|
||||
professionalScore: 41, // (7+7+6+6+7+8)/6*10*0.6 = 41
|
||||
performanceScore: 26, // (8+7+6+5)/4*10*0.4 = 26
|
||||
radarData: [7, 7, 6, 6, 7, 8], // 六项专业能力指标(来自JSON)
|
||||
radarData2: [8, 7, 6, 5], // 四项现场表现指标(来自JSON)
|
||||
totalScore: 66, // 根据食品产业JSON计算的真实总分
|
||||
professionalScore: 40, // (7+7+6+7+7+8)/6*10*0.6 = 40
|
||||
performanceScore: 26, // (7+6+6+7)/4*10*0.4 = 26
|
||||
radarData: [7, 7, 6, 7, 7, 8], // 六项专业能力指标(来自食品产业JSON)
|
||||
radarData2: [7, 6, 6, 7], // 四项现场表现指标(来自食品产业JSON)
|
||||
title: "面试评价",
|
||||
content: `# 专业能力
|
||||
|
||||
1. 关键知识掌握得挺全面的,大部分内容都能抓准,就是偶尔在小细节上有点马虎,比如个别知识点的细微区别会记混,但整体来看,知识的准确性还是不错的,核心内容都能掌握到位;
|
||||
2. 对市场上的主要动态有了解,比如行业里近期的热门方向、大家关注的重点,都能说出个大概,而且能简单讲讲这些动态对业务开展有啥意义,虽然说得不算深入,但至少能把 "动态和业务" 的关联点到,有基本的认知;
|
||||
3. 明白工作的主要流程是啥,比如一项业务从开始到结束要经过哪些关键步骤,都能说清楚,也知道自己在流程里负责哪个环节、要干些啥,但在细节上就有点粗糙了,比如环节之间怎么衔接、遇到小问题该怎么处理,就说不太细;
|
||||
4. 面对问题或者任务时,能有个初步的思路雏形,比如想解决某个问题,能先提出一两个大概的方向,但思路不够系统,没有把 "为什么这么做、步骤是啥、需要啥支持" 串成完整的逻辑,论证的时候也缺乏足够的理由或者例子支撑,说服力还差了点;
|
||||
5. 知道目标岗位的主要任务是啥,能说出大概的工作范围,比如日常要处理哪些事、负责哪些板块,但没法深入剖析岗位 —— 像岗位的核心价值是啥、不同任务之间的优先级怎么排、需要具备哪些隐藏技能,这些深入的内容就说不出来了;
|
||||
6. 也参与过一定数量的项目,不是没经验的,聊项目的时候能大体描述自己在里面做了啥任务,比如负责过数据整理、协助过方案讨论,但说到项目成果就有点笼统了,比如只说 "完成了任务",没说清 "任务带来了啥效果、自己的贡献让项目有啥提升",成果没法具体体现;
|
||||
1. 营养学基础与配餐原理:能把不同人群目标(控糖、增肌、轻断食)转为宏营养素范围与份数法,开始具备"配方—标准—批量"的视角;若进一步引入"可食部率、热稳定性、加工致损"校正,将显著提升营养达标的真实性与口碑。
|
||||
2. 食安合规与标准化:已能描述从进货查验、冷链温控、加工分区、金属异物防控到留样追溯的闭环;若把关键控制点与表单记录上墙并纳入班组绩效,将更符合平台稽核与加盟巡检。
|
||||
3. 供应链与成本控制:能用ABCD分类与动销周转管理主SKU,并提出"产销协同+集采议价+净菜半成品"的策略;建议补充损耗拆解(加工损/陈列损/配送损)与"以销定采"的周计划模型,锁定现金流与毛利底盘。
|
||||
4. 菜单工程与产品力:提出"2-3个高毛利主爆品+1-2个形象款+季节限定"的结构,并匹配不同客单带;若结合人群时段(早/午/晚/夜)与到店/到家的差异化包型,将提升转化与翻台效率。
|
||||
5. 运营与营销认知:能分层做私域人群与券包策略,理解"拉新投流看CPA、复购靠权益与社群";建议补齐"渠道价格带—毛利结构—履约成本"的协同模型,避免高销量低利润。
|
||||
6. 数据意识与数字化:开始跟踪客单、复购、渠道构成与动销,但阈值与动作清单不够明确;建议建立"日报—周报—月复盘"的仪表盘与异常预案,驱动快调与人效提升。
|
||||
|
||||
# 现场表现力
|
||||
|
||||
1. 说话的逻辑基本能让人听明白,不会让人抓不着重点,但偶尔会有重复的情况,比如同一句话换个说法又说一遍,或者讲到一半会停顿一下,想不起来下一句该说啥,不过整体的表达节奏还能跟上,不影响理解;
|
||||
2. 面对交流或者任务时,基本能保持镇定,不会慌慌张张的,就算偶尔有点紧张,比如说话声音稍微变小、语速变快,也能自己调整过来,很快恢复平稳的状态,不会让紧张影响整体表现;
|
||||
3. 平时的体态看起来挺得体的,坐姿、站姿都比较规范,跟人交流时也不会有太随意的动作,就是偶尔会有点僵硬,比如坐着的时候身体绷得太紧、手势不太自然,但这些小问题不影响整体的印象,还是显得比较专业的;
|
||||
4. 不管是做事、做展示还是跟人沟通,基本能在规定时间内完成,不会出现严重超时或者没做完的情况,就是偶尔会有点小偏差 —— 要么比规定时间多花个几分钟,要么为了赶时间稍微省略一点内容,但整体的进度和完整性还是有保障的。
|
||||
1. 语言表达与逻辑:能够以"现状—问题—对策—指标"的方式回答,并输出阶段性目标;如再补充对标品牌与数据区间,会更具产业说服力。
|
||||
2. 自信与情绪管理:在"亏损单店如何止血"的压力问题下能稳定输出"三步法"(缩损耗—调结构—控履约),临场反应较上一轮成熟。
|
||||
3. 仪表与职场礼仪:表达更职业化,能用"先结论后证据"的顺序与考官互动;若能在反问环节体现对竞对格局与城市政策的关注,将更显管理视角。
|
||||
4. 时间管理与条理性:能在限定时间覆盖"产品—供应链—运营—财务—组织",并留出总结收束;若能用一张经营指标树进行总括,会更高效。
|
||||
|
||||
# 综合评价
|
||||
|
||||
总的来说,这学生在知识掌握、市场认知、流程理解、思路形成、岗位认知、项目经验、表达逻辑、心态调整、体态和时间把控上,都有基础的能力,没有特别明显的短板,但在 "细节、深度、系统性" 上还有提升空间。之后可以重点补补细节知识、多深入思考岗位和项目的核心价值、把思路梳理得更系统,这样综合能力就能再上一个台阶,也会更适配实际工作的要求。`
|
||||
候选人已从"营养与出品单点能力"升级到"门店经营与增长协同",能围绕菜单工程、供应链、营销与数据做系统化解题。下一步关键在于把策略落到"表单与节奏",以数据驱动管理:把复购率、动销周转与毛利率三项作为北极星指标,把"损耗、履约、价格带"作为三条安全边界;同时建立"新品28天上市评审+滞销淘汰"机制与"到店/到家双曲线"经营模型,为连锁复制与城市级拓展打基础。`
|
||||
};
|
||||
} else if (selectedItem === "第三次线下面试模拟") {
|
||||
return {
|
||||
totalScore: 91, // 根据JSON计算的真实总分
|
||||
professionalScore: 54, // (8+10+9+8+10+9)/6*10*0.6 = 54
|
||||
performanceScore: 37, // (10+8+10+10)/4*10*0.4 = 38 (约37)
|
||||
radarData: [8, 10, 9, 8, 10, 9], // 六项专业能力指标(来自JSON)
|
||||
radarData2: [10, 8, 10, 10], // 四项现场表现指标(来自JSON)
|
||||
totalScore: 84, // 根据食品产业JSON计算的真实总分
|
||||
professionalScore: 49, // (8+8+9+8+8+9)/6*10*0.6 = 49
|
||||
performanceScore: 35, // (8+8+9+9)/4*10*0.4 = 35
|
||||
radarData: [8, 8, 9, 8, 8, 9], // 六项专业能力指标(来自食品产业JSON)
|
||||
radarData2: [8, 8, 9, 9], // 四项现场表现指标(来自食品产业JSON)
|
||||
title: "面试评价",
|
||||
content: `# 专业能力
|
||||
|
||||
1. 关键知识掌握得特别全面,不管是核心考点还是重要内容,都能稳稳抓住,就是偶尔在小细节上会有点疏漏,比如个别细碎知识点记不太准,但整体来看,知识的准确性特别好,不会出大差错;
|
||||
2. 对行业里的产业链和发展趋势摸得很透,不光能说清产业链各个环节怎么联动,还能具体讲明白这些趋势会给岗位工作、业务开展带来啥影响,比如哪种趋势会让岗位多些新任务,哪种趋势能帮业务找新方向,分析得特别实在;
|
||||
3. 能把企业从头到尾的工作流程说得明明白白,哪个环节该干啥、流程里的关键节点是啥,都门儿清,而且能找准自己在流程里的角色,就连跟其他部门怎么配合、配合的关键点是啥,也能说得很到位,完全不像没接触过实际工作的;
|
||||
4. 就算单说具体的主要流程,也能讲清楚自己负责的环节要做啥,比如流程里的资料整理、对接沟通这些活儿,都能说透,就是在细节上稍微有点粗糙,比如环节之间怎么交接更顺畅、遇到小问题怎么快速处理,说得没那么细;
|
||||
5. 对目标岗位的职责了解得特别全面,岗位要干的活儿、承担的责任都能说全,还能精准找到自己在岗位上的价值 —— 比如自己能帮岗位解决啥问题、能给团队带来啥助力,更厉害的是,能结合实际例子说明这些职责和价值怎么跟业务目标挂钩,比如做好某项工作能帮业务完成多少指标,逻辑特别顺;
|
||||
6. 做过的项目又多又完整,不管是校园里的实践项目,还是外面的实习项目,都有涉及,聊项目的时候,能清清楚楚说清自己在里面扮演啥角色、过程中具体做了哪些贡献,就连最后项目拿到啥成果、带来啥效果,也能说得明明白白,不会含糊其辞;
|
||||
1. 营养学基础与配餐原理:能以"人群目标→宏微量素→工艺致损→口感复购"的路径设计SKU,并以份量可视化与敏感营养标识提升信任;将营养价值转化为消费者可理解的"使用场景+体感反馈",实现产品逻辑与传播逻辑的统一。
|
||||
2. 食安合规与标准化:将HACCP、过敏原管理、供应商准入、追溯与培训考核纳入体系,并匹配"巡检清单+稽核评分+黑白榜";可对接平台食安分、城市联合抽检与加盟审计,形成品牌级合规护城河。
|
||||
3. 供应链与成本控制:搭建"核心产线+净菜中心+前置仓/门店"三级供给,月度谈判锁价与动态配额并行;以"损耗分解—工时台账—履约模型"合成单位贡献利润,周维度滚动复盘保证现金流安全。
|
||||
4. 菜单工程与产品力:形成"高毛利主爆—形象引流—功能分层—季节限定"的产品金字塔;以到店/到家两套价格带策略应对差异履约成本,通过"口味多样/份量可调/复配可玩"的设计提升复购与客单。
|
||||
5. 运营与营销认知:以"人群分层—场景内容—权益体系—社群SOP"构建私域飞轮;到家渠道以UV券包与满减拉新,到店渠道以联名/试吃/打卡提升转化;以RFM与生命周期策略提高LTV,控制CAC回收期。
|
||||
6. 数据意识与数字化:沉淀"菜—货—人—场—数—证"一体化数据面板,建立异常阈值与处置SOP;以经营沙盘进行周/月闭环,联动绩效分配与门店分级,支撑连锁复制与城市级拓展。
|
||||
|
||||
# 现场表现力
|
||||
|
||||
1. 说话特别流畅,而且很有劲儿,不管是回答问题还是分享想法,表达的结构都很严谨,不会东拉西扯,每个信息点都能精准说到点子上,让人一听就懂,还能快速 get 到核心内容,沟通效率特别高;
|
||||
2. 面对提问或者展示这些场景,基本能保持镇定,不会慌里慌张的,就算偶尔有点紧张,比如语速稍微变快、声音有点抖,也能自己快速调整过来,很快就恢复平稳状态,不会让紧张影响整体发挥;
|
||||
3. 跟人交流的时候,目光交流特别自然,不会躲躲闪闪,肢体动作也跟说话内容配合得刚好,比如讲重点的时候会配合手势强调,坐着的时候姿态也很放松,这些细节让说的话更有说服力,让人觉得特别靠谱;
|
||||
4. 不管是做展示、答问题,还是走流程,每个环节的时间都控制得特别准,不会出现超时或者没说完的情况,环节之间衔接得也很自然,不会有生硬的停顿,更难得的是,还会特意留时间做总结,把核心内容再梳理一遍,让人印象更深刻。
|
||||
1. 语言表达与逻辑:呈现"先战略、后机制、再动作、落指标"的框架,案例化叙述与指标化落地并举,能被投资人与加盟伙伴快速理解并复述。
|
||||
2. 自信与情绪管理:在"现金流吃紧、客诉高峰、供应波动"等压力追问下保持镇定,以事实—区间—阈值—预案方式回应,显示成熟的经营者气质。
|
||||
3. 仪表与职场礼仪:举止专业、互动有礼,善用"复述—共识—方案—里程碑"推进沟通,具备带队与跨部门协同所需的影响力与秩序感。
|
||||
4. 时间管理与条理性:能在限定时间内交付"方案骨架+优先级Roadmap+关键KPI+风险与对策",留出问答窗口与复盘要点,体现一线实战的节奏控制。
|
||||
|
||||
# 综合评价
|
||||
|
||||
总的来说,这学生在知识掌握、行业认知、流程理解、岗位适配、项目经验、表达能力、心态调整、沟通仪态和时间把控上,都表现得特别出色,基础扎实还懂实际应用,就算偶尔有小瑕疵也不影响整体实力。这样的学生不管是继续学习还是去工作,都能快速适应,后续再把流程细节打磨打磨,综合能力还能再上一个大台阶,绝对是个好苗子。`
|
||||
候选人已具备从单店模型走向品牌化与连锁化的系统能力:能以营养价值为锚点,以菜单工程与供应链为抓手,以合规与数据为底座,构建"产品力—运营力—数智化—现金流"的稳态飞轮;并能以城市级打法拆解"选址—开店—上量—提效—复制"的生命周期,具备加盟与直营并行的产业化视野。在"功能营养消费升级、到家到店双通道分化、食安高压监管、用户隐私与合规"并存的市场环境下,他能以指标化与机制化落地方案支撑增长与风险对冲,已达成新营养经济赛道的管理者与经营者画像,具备进入更大规模组织与资本合作体系的即战力与成长性。`
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
|
||||
@@ -0,0 +1,415 @@
|
||||
import { useState, useRef, useEffect } from "react";
|
||||
import ReactMarkdown from "react-markdown";
|
||||
import ScoreChart from "../ScoreChart";
|
||||
import RadarChart from "../RadarChart";
|
||||
import "./index.css";
|
||||
|
||||
export default ({ selectedItem = "面试初体验" }) => {
|
||||
// 根据选中项目获取对应的视频URL
|
||||
const getVideoUrl = () => {
|
||||
switch(selectedItem) {
|
||||
case "面试初体验":
|
||||
return "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/video/teach_sys/interview_simulation/3years_ago.mov";
|
||||
case "未来的自己":
|
||||
return "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/video/teach_sys/interview_simulation/3years_later.mov";
|
||||
case "第一次线下面试模拟":
|
||||
return "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/video/teach_sys/interview_offline_vedio/recuUpJSOKoqAm.mov"; // 使用相同视频作为示例
|
||||
case "第二次线下面试模拟":
|
||||
return "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/video/teach_sys/interview_offline_vedio/recuUpJT02CMM5.mp4"; // 使用相同视频作为示例
|
||||
case "第三次线下面试模拟":
|
||||
return "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/video/teach_sys/interview_offline_vedio/recuUpJSOKoqAm.mov"; // 使用相同视频作为示例
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
};
|
||||
|
||||
// 判断是否是锁定的面试模拟项目
|
||||
const isLockedItem = () => {
|
||||
return selectedItem === "第一次线下面试模拟" ||
|
||||
selectedItem === "第二次线下面试模拟" ||
|
||||
selectedItem === "第三次线下面试模拟";
|
||||
};
|
||||
|
||||
// 根据选中项目获取评价数据
|
||||
const getEvaluationData = () => {
|
||||
if (selectedItem === "未来的自己") {
|
||||
return {
|
||||
totalScore: 97, // 根据JSON计算的真实总分
|
||||
professionalScore: 57, // (9+10+10+9+10+9)/6*10*0.6 = 57
|
||||
performanceScore: 40, // (10+10+10+10)/4*10*0.4 = 40
|
||||
radarData: [9, 10, 10, 9, 10, 9], // 六项专业能力指标(来自JSON)
|
||||
radarData2: [10, 10, 10, 10], // 四项现场表现指标(来自JSON)
|
||||
title: "面试评价",
|
||||
content: `# 专业能力
|
||||
|
||||
1. 专业知识学得特别扎实,讲核心概念的时候又准又清楚,还能随手举例子把道理说透,不光能把知识点讲明白,还能用实例帮人理解,一看就是专业底子特别厚,也很会用学到的知识;
|
||||
2. 对行业里的产业链、还有未来的发展趋势摸得特别透,不光能说清产业链各个环节是怎么连起来的,还能具体讲明白这些趋势会影响到岗位工作、业务方向,聊到行业相关的话题,总能说出有想法的观点,跟行业里的人交流完全没障碍;
|
||||
3. 对企业从头到尾的工作流程门儿清,知道业务怎么推进、关键环节在哪,还有跟其他部门怎么配合,既能说清自己进了企业要干些啥,也能找准自己在流程里的位置,跟不同部门合作的关键点也拎得很清,跟实际工作场景特别适配;
|
||||
4. 碰到具体任务或问题,拆解得特别有条理,分析思路也很系统,能从实际需要出发理出解决办法,想的方案既靠谱能落地,又有新点子,还能用具体数据说明能达到啥效果,不管是想办法还是实际操作,都做得挺到位;
|
||||
5. 对目标岗位的工作职责、要干的活、需要啥能力都摸得很清楚,聊职业规划和自己跟岗位合不合适的时候,能精准说清自己能发挥啥作用,还能把自己的优势、经历跟岗位需求、业务目标绑在一起说,一看就跟岗位特别对路;
|
||||
6. 做过的项目又多又完整,说项目的时候能讲清背景、自己具体干了啥、负责哪些环节,还能好好总结从里面学到了啥、能力咋提升的,通过这些项目,能实实在在看出专业能力和动手做事的本事;
|
||||
|
||||
# 现场表现力
|
||||
|
||||
1. 说话表达能力特别好,嘴皮子利索还挺有劲儿,说事儿的时候结构很清楚,每个信息都能说到点子上,既能让人准确 get 到核心观点,又能高效把关键信息传出去,沟通起来又快又准;
|
||||
2. 心态特别稳,不管是被提问、有工作压力,还是碰到突发情况,一直都很自信、不慌不乱,思路也很清晰,既能把工作或回答做好,还能巧妙化解压力,扛事儿能力和临场应变都挺强;
|
||||
3. 跟人交流、做展示的时候,姿态特别专业,眼神交流自然又真诚,手势动作跟说话配合得刚好,既显得得体专业,又能通过动作让自己的观点更有说服力,让人觉得特别靠谱;
|
||||
4. 对时间和流程把控得特别好,不管是做事、聊天还是做展示,每个环节的时间都掐得准,环节之间过渡也很顺,还会留时间做总结,能保证整个过程顺畅推进,干活、沟通的效率都很高。
|
||||
|
||||
# 综合评价
|
||||
|
||||
总的来说,这学生在专业基础、行业认知、懂企业流程、解决问题、适配岗位、项目经验、说话表达、心态调整、职业仪态还有时间管理这些关键方面,都表现得特别优秀,综合能力和职业素养都很突出。这些优点不光能让专业交流更顺畅、解决问题更合理,还能看出他特别有职业潜力,跟岗位也特别匹配,是个很有发展前途的好苗子。`
|
||||
};
|
||||
} else if (selectedItem === "第一次线下面试模拟") {
|
||||
return {
|
||||
totalScore: 42, // 根据JSON计算的真实总分
|
||||
professionalScore: 28, // (4+6+5+4+6+3)/6*10*0.6 = 28
|
||||
performanceScore: 14, // (2+4+5+3)/4*10*0.4 = 14
|
||||
radarData: [4, 6, 5, 4, 6, 3], // 六项专业能力指标(来自JSON)
|
||||
radarData2: [2, 4, 5, 3], // 四项现场表现指标(来自JSON)
|
||||
title: "面试评价",
|
||||
content: `# 专业能力
|
||||
|
||||
1. 对知识点的概念总弄混,回答问题也只停在表面,没法往深了说 —— 比如问个核心概念,要么跟别的概念搅在一起,要么就说几句皮毛,根本挖不出背后的门道,能看出来对知识的理解还差得远;
|
||||
2. 知道的行业知识都是零零散散的,没形成系统,尤其说不明白行业趋势跟岗位、业务的关系 —— 比如问某个趋势会影响工作内容不,他就答不上来,对行业的认知特别散,没串起来;
|
||||
3. 对工作流程的概念特别模糊,连自己该干啥都搞不清 —— 比如问企业里某个业务流程怎么走,他说不明白,再问他在里面要承担啥角色,更是没头绪,完全没找准自己的位置;
|
||||
4. 分析问题的时候特别局限,想的方案也很片面,连怎么落地的步骤都没有 —— 比如让他给个解决办法,只能说个大概方向,至于需要哪些资源、分几步做、怎么推进,根本没考虑,这样的方案根本没法用;
|
||||
5. 对目标岗位的认知特别模糊,连岗位的核心工作是啥、该干到啥程度、哪些活不归自己管,都弄不明白 —— 问他这个岗位主要负责啥,他说的颠三倒四,工作边界更是完全没概念,明显没搞懂岗位到底是干啥的;
|
||||
6. 做过的项目特别少,就算有一两个,也说不明白情况 —— 要么讲不清项目是做什么的,要么说不出自己在里面具体干了啥,连自己到底是啥角色都模模糊糊,根本没法用项目证明自己有能力;
|
||||
|
||||
# 现场表现力
|
||||
|
||||
1. 说话特别散乱,抓不住重点,逻辑还老跳 —— 比如跟他聊个事儿,他东说一句西说一句,关键信息没几句,还经常突然从一个话题跳到另一个,听的人根本跟不上,半天搞不清他想表达啥;
|
||||
2. 情绪波动特别大,一会儿好一会儿坏,特别影响沟通 —— 可能刚开始聊得好好的,稍微有点问题就慌了,或者没耐心了,跟他交流的时候,很容易因为他的情绪受影响,沟通效果特别差;
|
||||
3. 跟人说话或者坐着的时候,小动作特别多,坐姿也不稳 —— 一会儿摸笔、一会儿挠头,身子还总晃来晃去,这些动作特别容易分散别人的注意力,让人没法专心听他说话,印象分也会打折扣;
|
||||
4. 不管是做事、做展示还是跟人聊天,时间把控得特别差 —— 要么说起来没个完,严重超时;要么没说几句就结束了,整个过程一点条理都没有,结构乱得很,完全没规划。
|
||||
|
||||
# 综合评价
|
||||
|
||||
总的来说,这学生在知识理解、行业认知、流程和岗位把握、方案设计、项目经验、表达逻辑,还有情绪管理、行为仪态、时间把控这些方面,都有挺明显的问题。这些问题不光让日常沟通和解决问题受影响,也能看出来他现在还不太能适应实际工作的要求,之后得重点补补知识的深度、多了解行业和岗位,再好好练练说话的逻辑和心态,慢慢把综合能力提上来才行。`
|
||||
};
|
||||
} else if (selectedItem === "第二次线下面试模拟") {
|
||||
return {
|
||||
totalScore: 67, // 根据JSON计算的真实总分
|
||||
professionalScore: 41, // (7+7+6+6+7+8)/6*10*0.6 = 41
|
||||
performanceScore: 26, // (8+7+6+5)/4*10*0.4 = 26
|
||||
radarData: [7, 7, 6, 6, 7, 8], // 六项专业能力指标(来自JSON)
|
||||
radarData2: [8, 7, 6, 5], // 四项现场表现指标(来自JSON)
|
||||
title: "面试评价",
|
||||
content: `# 专业能力
|
||||
|
||||
1. 关键知识掌握得挺全面的,大部分内容都能抓准,就是偶尔在小细节上有点马虎,比如个别知识点的细微区别会记混,但整体来看,知识的准确性还是不错的,核心内容都能掌握到位;
|
||||
2. 对市场上的主要动态有了解,比如行业里近期的热门方向、大家关注的重点,都能说出个大概,而且能简单讲讲这些动态对业务开展有啥意义,虽然说得不算深入,但至少能把 "动态和业务" 的关联点到,有基本的认知;
|
||||
3. 明白工作的主要流程是啥,比如一项业务从开始到结束要经过哪些关键步骤,都能说清楚,也知道自己在流程里负责哪个环节、要干些啥,但在细节上就有点粗糙了,比如环节之间怎么衔接、遇到小问题该怎么处理,就说不太细;
|
||||
4. 面对问题或者任务时,能有个初步的思路雏形,比如想解决某个问题,能先提出一两个大概的方向,但思路不够系统,没有把 "为什么这么做、步骤是啥、需要啥支持" 串成完整的逻辑,论证的时候也缺乏足够的理由或者例子支撑,说服力还差了点;
|
||||
5. 知道目标岗位的主要任务是啥,能说出大概的工作范围,比如日常要处理哪些事、负责哪些板块,但没法深入剖析岗位 —— 像岗位的核心价值是啥、不同任务之间的优先级怎么排、需要具备哪些隐藏技能,这些深入的内容就说不出来了;
|
||||
6. 也参与过一定数量的项目,不是没经验的,聊项目的时候能大体描述自己在里面做了啥任务,比如负责过数据整理、协助过方案讨论,但说到项目成果就有点笼统了,比如只说 "完成了任务",没说清 "任务带来了啥效果、自己的贡献让项目有啥提升",成果没法具体体现;
|
||||
|
||||
# 现场表现力
|
||||
|
||||
1. 说话的逻辑基本能让人听明白,不会让人抓不着重点,但偶尔会有重复的情况,比如同一句话换个说法又说一遍,或者讲到一半会停顿一下,想不起来下一句该说啥,不过整体的表达节奏还能跟上,不影响理解;
|
||||
2. 面对交流或者任务时,基本能保持镇定,不会慌慌张张的,就算偶尔有点紧张,比如说话声音稍微变小、语速变快,也能自己调整过来,很快恢复平稳的状态,不会让紧张影响整体表现;
|
||||
3. 平时的体态看起来挺得体的,坐姿、站姿都比较规范,跟人交流时也不会有太随意的动作,就是偶尔会有点僵硬,比如坐着的时候身体绷得太紧、手势不太自然,但这些小问题不影响整体的印象,还是显得比较专业的;
|
||||
4. 不管是做事、做展示还是跟人沟通,基本能在规定时间内完成,不会出现严重超时或者没做完的情况,就是偶尔会有点小偏差 —— 要么比规定时间多花个几分钟,要么为了赶时间稍微省略一点内容,但整体的进度和完整性还是有保障的。
|
||||
|
||||
# 综合评价
|
||||
|
||||
总的来说,这学生在知识掌握、市场认知、流程理解、思路形成、岗位认知、项目经验、表达逻辑、心态调整、体态和时间把控上,都有基础的能力,没有特别明显的短板,但在 "细节、深度、系统性" 上还有提升空间。之后可以重点补补细节知识、多深入思考岗位和项目的核心价值、把思路梳理得更系统,这样综合能力就能再上一个台阶,也会更适配实际工作的要求。`
|
||||
};
|
||||
} else if (selectedItem === "第三次线下面试模拟") {
|
||||
return {
|
||||
totalScore: 91, // 根据JSON计算的真实总分
|
||||
professionalScore: 54, // (8+10+9+8+10+9)/6*10*0.6 = 54
|
||||
performanceScore: 37, // (10+8+10+10)/4*10*0.4 = 38 (约37)
|
||||
radarData: [8, 10, 9, 8, 10, 9], // 六项专业能力指标(来自JSON)
|
||||
radarData2: [10, 8, 10, 10], // 四项现场表现指标(来自JSON)
|
||||
title: "面试评价",
|
||||
content: `# 专业能力
|
||||
|
||||
1. 关键知识掌握得特别全面,不管是核心考点还是重要内容,都能稳稳抓住,就是偶尔在小细节上会有点疏漏,比如个别细碎知识点记不太准,但整体来看,知识的准确性特别好,不会出大差错;
|
||||
2. 对行业里的产业链和发展趋势摸得很透,不光能说清产业链各个环节怎么联动,还能具体讲明白这些趋势会给岗位工作、业务开展带来啥影响,比如哪种趋势会让岗位多些新任务,哪种趋势能帮业务找新方向,分析得特别实在;
|
||||
3. 能把企业从头到尾的工作流程说得明明白白,哪个环节该干啥、流程里的关键节点是啥,都门儿清,而且能找准自己在流程里的角色,就连跟其他部门怎么配合、配合的关键点是啥,也能说得很到位,完全不像没接触过实际工作的;
|
||||
4. 就算单说具体的主要流程,也能讲清楚自己负责的环节要做啥,比如流程里的资料整理、对接沟通这些活儿,都能说透,就是在细节上稍微有点粗糙,比如环节之间怎么交接更顺畅、遇到小问题怎么快速处理,说得没那么细;
|
||||
5. 对目标岗位的职责了解得特别全面,岗位要干的活儿、承担的责任都能说全,还能精准找到自己在岗位上的价值 —— 比如自己能帮岗位解决啥问题、能给团队带来啥助力,更厉害的是,能结合实际例子说明这些职责和价值怎么跟业务目标挂钩,比如做好某项工作能帮业务完成多少指标,逻辑特别顺;
|
||||
6. 做过的项目又多又完整,不管是校园里的实践项目,还是外面的实习项目,都有涉及,聊项目的时候,能清清楚楚说清自己在里面扮演啥角色、过程中具体做了哪些贡献,就连最后项目拿到啥成果、带来啥效果,也能说得明明白白,不会含糊其辞;
|
||||
|
||||
# 现场表现力
|
||||
|
||||
1. 说话特别流畅,而且很有劲儿,不管是回答问题还是分享想法,表达的结构都很严谨,不会东拉西扯,每个信息点都能精准说到点子上,让人一听就懂,还能快速 get 到核心内容,沟通效率特别高;
|
||||
2. 面对提问或者展示这些场景,基本能保持镇定,不会慌里慌张的,就算偶尔有点紧张,比如语速稍微变快、声音有点抖,也能自己快速调整过来,很快就恢复平稳状态,不会让紧张影响整体发挥;
|
||||
3. 跟人交流的时候,目光交流特别自然,不会躲躲闪闪,肢体动作也跟说话内容配合得刚好,比如讲重点的时候会配合手势强调,坐着的时候姿态也很放松,这些细节让说的话更有说服力,让人觉得特别靠谱;
|
||||
4. 不管是做展示、答问题,还是走流程,每个环节的时间都控制得特别准,不会出现超时或者没说完的情况,环节之间衔接得也很自然,不会有生硬的停顿,更难得的是,还会特意留时间做总结,把核心内容再梳理一遍,让人印象更深刻。
|
||||
|
||||
# 综合评价
|
||||
|
||||
总的来说,这学生在知识掌握、行业认知、流程理解、岗位适配、项目经验、表达能力、心态调整、沟通仪态和时间把控上,都表现得特别出色,基础扎实还懂实际应用,就算偶尔有小瑕疵也不影响整体实力。这样的学生不管是继续学习还是去工作,都能快速适应,后续再把流程细节打磨打磨,综合能力还能再上一个大台阶,绝对是个好苗子。`
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
totalScore: 14, // 根据JSON计算的真实总分 (面试初体验)
|
||||
professionalScore: 7, // (2+1+1+1+1+1)/6*10*0.6 = 7
|
||||
performanceScore: 7, // (2+1+2+2)/4*10*0.4 = 7
|
||||
radarData: [2, 1, 1, 1, 1, 1], // 六项专业能力指标(来自JSON)
|
||||
radarData2: [2, 1, 2, 2], // 四项现场表现指标(来自JSON)
|
||||
title: "面试评价",
|
||||
content: `# 专业能力
|
||||
|
||||
1. 基础概念掌握得很不好,经常犯错误,连最基本的知识点都拎不清,这样一来根本没办法展开有效的交流,说出来的内容因为概念错了,也没什么参考价值;
|
||||
2. 对行业基本情况几乎一无所知,不管问什么跟行业相关的问题,都答不上来,完全没接触过行业里的常识,聊起行业话题根本插不上话;
|
||||
3. 一点都不理解企业的工作流程,不知道一项业务是怎么推进的,也说不清楚如果自己进了企业,该在哪个环节做事、要干些什么,对实际工作场景完全没概念;
|
||||
4. 碰到问题或任务的时候,一点清晰的思路都没有,东想西想没章法,想出来的方案要么不切实际、没法落地,要么根本没解决核心问题,完全拿不出能用的办法;
|
||||
5. 对目标岗位的工作职责彻底不了解,不知道岗位要干哪些活、需要什么能力,聊到跟岗位相关的内容,根本说不出有用的信息,也没法表达自己跟岗位的关联;
|
||||
6. 要么就没做过什么项目,要么就是有项目经历也说不明白 —— 既讲不清项目背景,也说不出自己在里面干了啥,更总结不出从项目里学到了什么、能力有没有提升,完全没法用项目证明自己的能力;
|
||||
|
||||
# 现场表现力
|
||||
|
||||
1. 说话特别不连贯,一句完整的话都说不利索,想表达的观点颠三倒四,听的人得费劲猜才能勉强懂一点,信息传递特别低效,很容易让人误解;
|
||||
2. 心态特别差,一碰到提问或者有点压力的情况,就慌慌张张的,要么说不出话,要么越说越乱,根本没办法持续把问题答完,稍微有点压力就扛不住;
|
||||
3. 跟人交流或者做展示的时候,姿态特别不专业,要么不敢抬头看人、眼神躲躲闪闪,要么肢体动作很僵硬、很别扭,显得特别紧张、不靠谱,根本没法让人信服;
|
||||
4. 完全没有时间概念,不管是做事、聊天还是做展示,都把控不好时间 —— 要么一个环节拖半天,要么节奏乱得一塌糊涂,严重影响整个流程的推进,让整体效率特别低。
|
||||
|
||||
# 综合评价
|
||||
|
||||
总的来说,这学生在专业基础、行业认知、企业流程理解、问题解决、岗位认知、项目经验、表达能力、心态调整、职业仪态和时间管理这些关键方面,都存在比较明显的不足。这些问题不光让专业交流没法顺利进行、碰到问题没法有效解决,也能看出目前他还不太适配实际工作场景,职业潜力还需要花很多功夫去挖掘和提升,得好好补补基础、多积累实践经验才行。`
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
// 判断是否应该显示评价内容
|
||||
const shouldShowEvaluation = () => {
|
||||
return selectedItem === "面试初体验" ||
|
||||
selectedItem === "未来的自己" ||
|
||||
selectedItem === "第一次线下面试模拟" ||
|
||||
selectedItem === "第二次线下面试模拟" ||
|
||||
selectedItem === "第三次线下面试模拟";
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="interview-rating-wrapper">
|
||||
{/* 视频播放器区域 */}
|
||||
<div className="interview-rating-video-section">
|
||||
<div className="interview-rating-header">
|
||||
<span className="interview-rating-header-title">
|
||||
{selectedItem}
|
||||
</span>
|
||||
</div>
|
||||
<div className="interview-rating-video">
|
||||
{isLockedItem() ? (
|
||||
<div className="locked-video-container" style={{
|
||||
position: 'relative',
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
overflow: 'hidden'
|
||||
}}>
|
||||
{/* 背景图片 */}
|
||||
<div style={{
|
||||
position: 'absolute',
|
||||
top: 0,
|
||||
left: 0,
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
backgroundImage: `url(${
|
||||
selectedItem === "第一次线下面试模拟"
|
||||
? "/src/assets/images/InterviewSimulationPage/第一次线下面试模拟.jpg"
|
||||
: selectedItem === "第二次线下面试模拟"
|
||||
? "/src/assets/images/InterviewSimulationPage/第二次线下面试模拟.jpg"
|
||||
: "/src/assets/images/InterviewSimulationPage/第三次线下面试模拟.jpg"
|
||||
})`,
|
||||
backgroundSize: 'cover',
|
||||
backgroundPosition: 'center',
|
||||
filter: 'blur(20px)',
|
||||
transform: 'scale(1.1)'
|
||||
}} />
|
||||
|
||||
{/* 半透明遮罩 */}
|
||||
<div style={{
|
||||
position: 'absolute',
|
||||
top: 0,
|
||||
left: 0,
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
backgroundColor: 'rgba(0, 0, 0, 0.4)'
|
||||
}} />
|
||||
|
||||
{/* 锁图标和文字 */}
|
||||
<div style={{
|
||||
position: 'absolute',
|
||||
top: '50%',
|
||||
left: '50%',
|
||||
transform: 'translate(-50%, -50%)',
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
alignItems: 'center',
|
||||
gap: '16px'
|
||||
}}>
|
||||
<img
|
||||
src="https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_icon/recuVOrz2GnJdK.png"
|
||||
alt="lock"
|
||||
style={{ width: '280px', height: '280px' }}
|
||||
/>
|
||||
<span style={{
|
||||
color: '#fff',
|
||||
fontSize: '16px',
|
||||
fontWeight: '500',
|
||||
textAlign: 'center',
|
||||
backgroundColor: 'rgba(0, 0, 0, 0.6)',
|
||||
padding: '8px 16px',
|
||||
borderRadius: '4px'
|
||||
}}>
|
||||
DEMO演示,非学员无查看权限
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
) : (
|
||||
<video src={getVideoUrl()} controls></video>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 评价内容区域 - 仅在特定项目时显示 */}
|
||||
{shouldShowEvaluation() && (
|
||||
<>
|
||||
{/* 面试评分区域 */}
|
||||
<div className="interview-evaluation-charts-wrapper">
|
||||
<div className="interview-rating-header">
|
||||
<img src="https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_icon/recuUY5uY7Ek50.png" alt="icon" style={{ width: '28px', height: '28px', marginRight: '10px' }} />
|
||||
<span className="interview-rating-header-title">面试评分</span>
|
||||
</div>
|
||||
<div className="charts-content">
|
||||
<div className="charts-content-top">
|
||||
<ScoreChart className="score-chart" value={getEvaluationData().totalScore} />
|
||||
<div className="score-info">
|
||||
<div className="score-info-item item1">
|
||||
<p className="score-info-item-title">
|
||||
专业能力评分
|
||||
<span className="score-info-item-value">{getEvaluationData().professionalScore}</span>
|
||||
</p>
|
||||
<p className="score-info-line">
|
||||
<i
|
||||
style={{
|
||||
width: `${(getEvaluationData().professionalScore / 60) * 100}%`,
|
||||
}}
|
||||
/>
|
||||
<span className="score-info-line-total-value">60</span>
|
||||
</p>
|
||||
</div>
|
||||
<div className="score-info-item item2">
|
||||
<p className="score-info-item-title">
|
||||
现场表现评分
|
||||
<span className="score-info-item-value">{getEvaluationData().performanceScore}</span>
|
||||
</p>
|
||||
<p className="score-info-line">
|
||||
<i
|
||||
style={{
|
||||
width: `${(getEvaluationData().performanceScore / 40) * 100}%`,
|
||||
}}
|
||||
/>
|
||||
<span className="score-info-line-total-value">40</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="charts-content-bottom">
|
||||
<RadarChart
|
||||
className="radar-chart"
|
||||
data={getEvaluationData().radarData}
|
||||
indicator={[
|
||||
{ name: "基础知识\n掌握水平", max: 10 },
|
||||
{ name: "产业链\n认知程度", max: 10 },
|
||||
{ name: "企业生产\n体系了解", max: 10 },
|
||||
{ name: "典型问题\n解决能力", max: 10 },
|
||||
{ name: "岗位职责\n理解程度", max: 10 },
|
||||
{ name: "项目经历\n丰富程度", max: 10 },
|
||||
]}
|
||||
/>
|
||||
<RadarChart
|
||||
className="radar-chart"
|
||||
data={getEvaluationData().radarData2 || [7, 8, 6, 7]}
|
||||
indicator={[
|
||||
{ name: "语言表达与逻辑", max: 10 },
|
||||
{ name: "自信与情绪管理", max: 10 },
|
||||
{ name: "仪表与职场礼仪", max: 10 },
|
||||
{ name: "时间管理与条理性", max: 10 },
|
||||
]}
|
||||
lineClolr="#E8F5E9"
|
||||
areaColor="#C8E6C9"
|
||||
areaBorderColor="#66BB6A"
|
||||
isGreenTheme={true}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 面试评价三板块区域 */}
|
||||
<div className="interview-evaluation-sections">
|
||||
{/* 专业能力板块 */}
|
||||
<div className="evaluation-section">
|
||||
<div className="section-header">
|
||||
<div className="section-icon professional-icon">
|
||||
<img src="https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_icon/recuUY5vlvUj2X.png" alt="专业能力" />
|
||||
</div>
|
||||
<h3 className="section-title">专业能力</h3>
|
||||
<div className="section-score">
|
||||
<span className="score-label">得分</span>
|
||||
<span className="score-value">{getEvaluationData().professionalScore}</span>
|
||||
<span className="score-total">/60</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className="section-content">
|
||||
<ReactMarkdown>
|
||||
{(() => {
|
||||
const content = getEvaluationData().content;
|
||||
const sections = content.split('#');
|
||||
if (sections.length > 1) {
|
||||
const professionalContent = sections[1].split('\n\n');
|
||||
return professionalContent.slice(1, -1).join('\n\n');
|
||||
}
|
||||
return '';
|
||||
})()}
|
||||
</ReactMarkdown>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 现场表现力板块 */}
|
||||
<div className="evaluation-section">
|
||||
<div className="section-header">
|
||||
<div className="section-icon performance-icon">
|
||||
<img src="https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_icon/recuUY5uY7Ek50.png" alt="现场表现力" />
|
||||
</div>
|
||||
<h3 className="section-title">现场表现力</h3>
|
||||
<div className="section-score">
|
||||
<span className="score-label">得分</span>
|
||||
<span className="score-value">{getEvaluationData().performanceScore}</span>
|
||||
<span className="score-total">/40</span>
|
||||
</div>
|
||||
</div>
|
||||
<div className="section-content">
|
||||
<ReactMarkdown>
|
||||
{getEvaluationData().content.split('# 现场表现力')[1].split('# 综合评价')[0].trim()}
|
||||
</ReactMarkdown>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 综合评价板块 */}
|
||||
<div className="evaluation-section comprehensive-section">
|
||||
<div className="section-header">
|
||||
|
||||
<h3 className="section-title">综合评价</h3>
|
||||
<div className="section-badge">
|
||||
{getEvaluationData().totalScore >= 80 ? '优秀' :
|
||||
getEvaluationData().totalScore >= 60 ? '良好' :
|
||||
getEvaluationData().totalScore >= 40 ? '及格' : '需努力'}
|
||||
</div>
|
||||
</div>
|
||||
<div className="section-content">
|
||||
<ReactMarkdown>
|
||||
{getEvaluationData().content.split('# 综合评价')[1].trim()}
|
||||
</ReactMarkdown>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
@@ -7,13 +7,13 @@ const Portfolio = () => {
|
||||
useEffect(() => {
|
||||
// 添加时间戳参数来破坏缓存
|
||||
const timestamp = new Date().getTime();
|
||||
setIframeSrc(`https://du9uay.github.io/personal-Resume-/?t=${timestamp}`);
|
||||
setIframeSrc(`https://du9uay.github.io/personal-resume--food/?t=${timestamp}`);
|
||||
}, []);
|
||||
|
||||
const handleRefresh = () => {
|
||||
// 手动刷新iframe内容
|
||||
const timestamp = new Date().getTime();
|
||||
setIframeSrc(`https://du9uay.github.io/personal-Resume-/?t=${timestamp}`);
|
||||
setIframeSrc(`https://du9uay.github.io/personal-resume--food/?t=${timestamp}`);
|
||||
};
|
||||
|
||||
return (
|
||||
|
||||
@@ -20,6 +20,7 @@ const ExpertSupportPage = lazy(() => import("@/pages/ExpertSupportPage"));
|
||||
const Portfolio = lazy(() => import("@/pages/Portfolio"));
|
||||
const PublicCourses = lazy(() => import("@/pages/PublicCourses"));
|
||||
const ResumeInterviewPage = lazy(() => import("@/pages/ResumeInterviewPage"));
|
||||
const DuoDuoAgentPage = lazy(() => import("@/pages/DuoDuoAgentPage"));
|
||||
|
||||
export default [
|
||||
{
|
||||
@@ -181,6 +182,14 @@ export default [
|
||||
active: "recuUY5f5an72x",
|
||||
showMenuItem: true,
|
||||
},
|
||||
{
|
||||
path: "/duoduo-agent",
|
||||
name: "多多Agent",
|
||||
element: <DuoDuoAgentPage />,
|
||||
default: "recuUY5tMX7M6A",
|
||||
active: "recuUY5s6knA9u",
|
||||
showMenuItem: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import companyJobsData from "@/mocks/companyJobsData.json";
|
||||
import companyJobsData from "@/data/companyJobsNew.json";
|
||||
|
||||
// 将原始数据转换为前端格式
|
||||
function transformJobData(rawJob, index) {
|
||||
// 从招聘人数中提取数字
|
||||
const recruitNumberMatch = rawJob["招聘人数"]?.match(/\d+/);
|
||||
const remainingPositions = recruitNumberMatch ? recruitNumberMatch[0] : "若干";
|
||||
|
||||
|
||||
return {
|
||||
id: index + 1,
|
||||
position: rawJob["内推岗位名称"],
|
||||
@@ -18,11 +18,12 @@ function transformJobData(rawJob, index) {
|
||||
benefits: rawJob["福利标签"] || [],
|
||||
deadline: rawJob["截止时间"],
|
||||
jobCategory: rawJob["岗位相关标签"],
|
||||
// details对象包含描述、要求和公司介绍
|
||||
// details对象包含描述、要求、公司介绍和企业图片
|
||||
details: {
|
||||
description: rawJob["职位描述"] || "",
|
||||
requirementsText: rawJob["任职要求"] || "",
|
||||
companyInfo: rawJob["公司介绍"] || ""
|
||||
companyInfo: rawJob["公司介绍"] || "",
|
||||
companyImages: rawJob["企业图片"] || [] // 添加企业图片字段
|
||||
},
|
||||
// 保留原始数据以备需要
|
||||
_raw: rawJob
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
import companyJobsData from "@/mocks/companyJobsData.json";
|
||||
|
||||
// 将原始数据转换为前端格式
|
||||
function transformJobData(rawJob, index) {
|
||||
// 从招聘人数中提取数字
|
||||
const recruitNumberMatch = rawJob["招聘人数"]?.match(/\d+/);
|
||||
const remainingPositions = recruitNumberMatch ? recruitNumberMatch[0] : "若干";
|
||||
|
||||
return {
|
||||
id: index + 1,
|
||||
position: rawJob["内推岗位名称"],
|
||||
salary: rawJob["薪资"],
|
||||
location: rawJob["工作地点"],
|
||||
education: rawJob["学历要求"],
|
||||
recruitNumber: rawJob["招聘人数"],
|
||||
remainingPositions: remainingPositions,
|
||||
tags: rawJob["职位标签"] || [],
|
||||
benefits: rawJob["福利标签"] || [],
|
||||
deadline: rawJob["截止时间"],
|
||||
jobCategory: rawJob["岗位相关标签"],
|
||||
// details对象包含描述、要求和公司介绍
|
||||
details: {
|
||||
description: rawJob["职位描述"] || "",
|
||||
requirementsText: rawJob["任职要求"] || "",
|
||||
companyInfo: rawJob["公司介绍"] || ""
|
||||
},
|
||||
// 保留原始数据以备需要
|
||||
_raw: rawJob
|
||||
};
|
||||
}
|
||||
|
||||
// 获取所有岗位数据
|
||||
export function getAllCompanyJobs() {
|
||||
return companyJobsData.map((job, index) => transformJobData(job, index));
|
||||
}
|
||||
|
||||
// 根据岗位名称获取岗位详情
|
||||
export function getJobByPosition(positionName) {
|
||||
const allJobs = getAllCompanyJobs();
|
||||
return allJobs.find(job => job.position === positionName);
|
||||
}
|
||||
|
||||
// 根据ID获取岗位详情
|
||||
export function getJobById(id) {
|
||||
const allJobs = getAllCompanyJobs();
|
||||
return allJobs.find(job => job.id === id);
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
import companyJobsData from "@/mocks/companyJobsData.json";
|
||||
|
||||
// 将原始数据转换为前端格式
|
||||
function transformJobData(rawJob, index) {
|
||||
// 从招聘人数中提取数字
|
||||
const recruitNumberMatch = rawJob["招聘人数"]?.match(/\d+/);
|
||||
const remainingPositions = recruitNumberMatch ? recruitNumberMatch[0] : "若干";
|
||||
|
||||
return {
|
||||
id: index + 1,
|
||||
position: rawJob["内推岗位名称"],
|
||||
salary: rawJob["薪资"],
|
||||
location: rawJob["工作地点"],
|
||||
education: rawJob["学历要求"],
|
||||
recruitNumber: rawJob["招聘人数"],
|
||||
remainingPositions: remainingPositions,
|
||||
tags: rawJob["职位标签"] || [],
|
||||
benefits: rawJob["福利标签"] || [],
|
||||
deadline: rawJob["截止时间"],
|
||||
jobCategory: rawJob["岗位相关标签"],
|
||||
// details对象包含描述、要求、公司介绍和企业图片
|
||||
details: {
|
||||
description: rawJob["职位描述"] || "",
|
||||
requirementsText: rawJob["任职要求"] || "",
|
||||
companyInfo: rawJob["公司介绍"] || "",
|
||||
companyImages: rawJob["企业图片"] || [] // 添加企业图片字段
|
||||
},
|
||||
// 保留原始数据以备需要
|
||||
_raw: rawJob
|
||||
};
|
||||
}
|
||||
|
||||
// 获取所有岗位数据
|
||||
export function getAllCompanyJobs() {
|
||||
return companyJobsData.map((job, index) => transformJobData(job, index));
|
||||
}
|
||||
|
||||
// 根据岗位名称获取岗位详情
|
||||
export function getJobByPosition(positionName) {
|
||||
const allJobs = getAllCompanyJobs();
|
||||
return allJobs.find(job => job.position === positionName);
|
||||
}
|
||||
|
||||
// 根据ID获取岗位详情
|
||||
export function getJobById(id) {
|
||||
const allJobs = getAllCompanyJobs();
|
||||
return allJobs.find(job => job.id === id);
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
import companyJobsData from "@/mocks/companyJobsData.json";
|
||||
|
||||
// 将原始数据转换为前端格式
|
||||
function transformJobData(rawJob, index) {
|
||||
// 从招聘人数中提取数字
|
||||
const recruitNumberMatch = rawJob["招聘人数"]?.match(/\d+/);
|
||||
const remainingPositions = recruitNumberMatch ? recruitNumberMatch[0] : "若干";
|
||||
|
||||
return {
|
||||
id: index + 1,
|
||||
position: rawJob["内推岗位名称"],
|
||||
salary: rawJob["薪资"],
|
||||
location: rawJob["工作地点"],
|
||||
education: rawJob["学历要求"],
|
||||
recruitNumber: rawJob["招聘人数"],
|
||||
remainingPositions: remainingPositions,
|
||||
tags: rawJob["职位标签"] || [],
|
||||
benefits: rawJob["福利标签"] || [],
|
||||
deadline: rawJob["截止时间"],
|
||||
jobCategory: rawJob["岗位相关标签"],
|
||||
// details对象包含描述、要求、公司介绍和企业图片
|
||||
details: {
|
||||
description: rawJob["职位描述"] || "",
|
||||
requirementsText: rawJob["任职要求"] || "",
|
||||
companyInfo: rawJob["公司介绍"] || "",
|
||||
companyImages: rawJob["企业图片"] || [] // 添加企业图片字段
|
||||
},
|
||||
// 保留原始数据以备需要
|
||||
_raw: rawJob
|
||||
};
|
||||
}
|
||||
|
||||
// 获取所有岗位数据
|
||||
export function getAllCompanyJobs() {
|
||||
return companyJobsData.map((job, index) => transformJobData(job, index));
|
||||
}
|
||||
|
||||
// 根据岗位名称获取岗位详情
|
||||
export function getJobByPosition(positionName) {
|
||||
const allJobs = getAllCompanyJobs();
|
||||
return allJobs.find(job => job.position === positionName);
|
||||
}
|
||||
|
||||
// 根据ID获取岗位详情
|
||||
export function getJobById(id) {
|
||||
const allJobs = getAllCompanyJobs();
|
||||
return allJobs.find(job => job.id === id);
|
||||
}
|
||||
@@ -291,7 +291,7 @@
|
||||
"# 门店从0到1筹建",
|
||||
"# 大数据个性化干预"
|
||||
],
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.png"
|
||||
"❌导师头像url链接": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuW7dxJ5S4To.jpeg"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "光年",
|
||||
|
||||
578
frontend_食品/网页未导入数据/面试评分及评价.json
Normal file
578
frontend_食品/网页未导入数据/面试评分及评价.json
Normal file
File diff suppressed because one or more lines are too long
50
frontend_食品/网页未导入数据/食品产业/1v1规划导师信息.json
Normal file
50
frontend_食品/网页未导入数据/食品产业/1v1规划导师信息.json
Normal file
@@ -0,0 +1,50 @@
|
||||
[
|
||||
{
|
||||
"查询导师名称": "陈思雅",
|
||||
"导师类型": "企业资深HR",
|
||||
"导师介绍": "企业资深人力资源管理专家,拥有15年大型制造业与服务业集团人力资本规划与组织发展经验。曾主导搭建HR共享服务中心与自助门户,覆盖入转调离、社保公积金、薪酬问答等32类服务,并上线RPA与工单SLA机制,将平均响应时长由72小时缩短至24小时,员工满意度提升至92%,全年节约成本约1200万元。同时,作为一线HR导师,长期为求职者提供一对一的个性化指导,从真实招聘视角剖析个人优势与短板,传授简历优化与面试技巧,结合职业定位与发展路径规划,帮助学员在轻松互动的氛围中快速提升求职竞争力,获得直击痛点的实战策略。",
|
||||
"导师特长": [
|
||||
"# 简历优化指导",
|
||||
"# 面试答题技巧",
|
||||
"# 发展路径设计",
|
||||
"# 就业痛点突破"
|
||||
],
|
||||
"导师头像url": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuXLZZ9Q2R4s.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "赵雪宁",
|
||||
"导师类型": "企业资深HR",
|
||||
"导师介绍": "牵头集团人力资源信息化转型,主导上线一体化HR SaaS平台,覆盖招聘、培训、绩效、薪酬及员工关系五大模块,实现全流程数据贯通。通过引入人岗匹配算法与流失预警模型,关键岗位招聘周期缩短28%,内部人才晋升率由12%提升至36%,员工流失率三年下降40%。同时建立人力资本ROI指标体系,高层决策实现数据可视化,直接支撑集团多元化战略扩张,人均产出提升20%,整体人力成本率下降2个百分点。除企业实践外,作为一线资深HR导师,还开展一对一的个性化指导,结合真实招聘视角为学员剖析优势与短板,传授简历优化、面试技巧及职业路径规划,帮助其快速提升求职竞争力并获得针对性的发展建议。",
|
||||
"导师特长": [
|
||||
"# 招聘视角剖析",
|
||||
"# 职业定位规划",
|
||||
"# 互动交流教学",
|
||||
"# 个人优势挖掘"
|
||||
],
|
||||
"导师头像url": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuXLZZ9QdQ6q.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "郭昊铭",
|
||||
"导师类型": "企业资深HR",
|
||||
"导师介绍": "负责多品牌并购整合的人事协同,在100天内完成三家被并购公司的组织架构、薪酬福利与政策对齐,上线统一ATS与人事主数据平台;冗余岗位优化后管理费用同比下降12%,关键岗位稳定率达95%,整合期员工离职率较行业基准低7个百分点,业务团队达产时间提前两个月。在企业实践之外,作为资深一线HR导师,也长期为求职者提供一对一的个性化指导,从真实招聘与并购整合的案例中剖析人才管理痛点,帮助学员理解岗位价值评估、简历匹配逻辑及面试应答技巧,结合职业定位与发展路径规划,让学员能够在轻松互动中掌握直击痛点的求职策略并快速提升竞争力。",
|
||||
"导师特长": [
|
||||
"# 行业趋势洞察",
|
||||
"# 技能短板诊断",
|
||||
"# 求职思维训练",
|
||||
"# 模拟问答辅导"
|
||||
],
|
||||
"导师头像url": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuXLZZ9Q24PJ.png"
|
||||
},
|
||||
{
|
||||
"查询导师名称": "孙悦彤",
|
||||
"导师类型": "企业资深HR",
|
||||
"导师介绍": "推动集团招聘数字化转型,引入ATS与视频面试工具,使简历处理效率提升40%,关键岗位转化率提高至32%,用人部门满意度提升20%。同时主导上线HR SaaS平台和数据分析体系,实现人事数据可视化与决策支持。作为资深一线HR导师,还长期面向求职者提供一对一的个性化辅导,从真实招聘场景出发,帮助学员掌握简历优化与筛选逻辑、面试答题技巧与岗位匹配思路,并结合职业路径规划,提供可落地的发展方案,帮助学员快速提升求职竞争力。",
|
||||
"导师特长": [
|
||||
"# 模拟面试实战",
|
||||
"# 核心能力塑造",
|
||||
"# 职场沟通提升",
|
||||
"# 长远目标设定"
|
||||
],
|
||||
"导师头像url": "https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/img/teach_sys_teacher-avatar/recuXM074e1DUq.png"
|
||||
}
|
||||
]
|
||||
102
frontend_食品/网页未导入数据/食品产业/食品_内推岗位企业图片.json
Normal file
102
frontend_食品/网页未导入数据/食品产业/食品_内推岗位企业图片.json
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user