员工问卷组件(ProfileSurveyComponent)是一个完整的员工能力调研问卷系统,包含以下特性:
src/modules/profile/pages/profile-survey/profile-survey.component.tssrc/modules/profile/pages/profile-survey/profile-survey.component.htmlsrc/modules/profile/pages/profile-survey/profile-survey.component.scss/wxwork/:cid/survey/profilehttp://localhost:4200/wxwork/{公司ID}/survey/profile
示例:
http://localhost:4200/wxwork/abc123/survey/profile
注意:需要先在企业微信中完成员工身份认证,或在测试环境中模拟员工登录。
步骤:
预期结果:
步骤:
预期结果:
步骤:
预期结果:
测试题目:第5题、第8题、第10题等
步骤:
预期结果:
测试题目:第1题(最多选3项)、第3题(最多选2项)
步骤:
预期结果:
测试题目:第2题、第9题、第11题等
步骤:
预期结果:
测试题目:第1题、第6题
步骤:
预期结果:
测试题目:第4题、第6题
步骤:
预期结果:
测试题目:第5题、第7题、第16题、第17题
步骤:
预期结果:
测试题目:第8题紧急订单上限
步骤:
预期结果:
步骤:
预期结果:
步骤:
预期结果:
步骤:
预期结果:
步骤:
预期结果:
步骤:
预期结果:
步骤:
预期结果:
步骤:
预期结果:
查询SurveyLog表:
// 在浏览器控制台执行
const Parse = window.Parse;
const query = new Parse.Query('SurveyLog');
query.equalTo('type', 'survey-profile');
query.include('profile');
query.descending('createdAt');
const results = await query.find();
console.log('员工问卷记录:', results.map(r => ({
id: r.id,
profile: r.get('profile')?.get('name'),
isCompleted: r.get('isCompleted'),
completedAt: r.get('completedAt'),
data: r.get('data')
})));
预期结果:
测试步骤:
预期结果:
症状:显示"无法识别您的身份"错误
排查步骤:
解决方案:
症状:答题后刷新,进度未保存
排查步骤:
解决方案:
症状:布局错乱或样式缺失
排查步骤:
解决方案:
参考PRD文档第四章,在员工详情弹窗中增加"能力问卷"Tab:
// 在 employee-detail-modal.component.ts 中
async loadEmployeeSurvey() {
const query = new Parse.Query('SurveyLog');
query.equalTo('profile', this.employee.toPointer());
query.equalTo('type', 'survey-profile');
query.equalTo('isCompleted', true);
const surveyLog = await query.first();
if (surveyLog) {
this.surveyData = surveyLog.get('data');
}
}
在员工列表中增加问卷状态标识:
<td>
<span class="survey-badge" [class.completed]="employee.surveyCompleted">
{{ employee.surveyCompleted ? '✓ 已填写' : '未填写' }}
</span>
</td>
在企微端工作台增加问卷状态检测和引导弹窗:
// 检查问卷状态
async checkSurveyStatus() {
const query = new Parse.Query('SurveyLog');
query.equalTo('profile', this.currentProfile.toPointer());
query.equalTo('type', 'survey-profile');
query.equalTo('isCompleted', true);
const surveyLog = await query.first();
if (!surveyLog) {
this.showSurveyGuide = true; // 显示引导弹窗
}
}
如在测试过程中遇到问题,请记录:
测试完成时间:_____________
测试人员:_____________
测试结果:□ 通过 □ 部分通过 □ 未通过
备注:_____________