fix(mobile): align sop position label
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
更新时间:2026-07-14
|
||||
|
||||
- 2026-07-14 BRD 4.2/4.7 用户端岗位显示一致性补齐:员工“问师傅”页此前请求已按当前岗位检索,但页头仍固定显示“管家(生活顾问)”;现复用认证岗位状态展示岗位标签,并在页面恢复时同步更新。未新增岗位-SOP资格判断;`mobile-uni` 用户端单测增至 `56/56`,正式岗位适用范围仍需组织/HR数据确认。
|
||||
- 2026-07-14 BRD 4.2/5.4 最新提交复核:功能提交 `857092c2` 已包含员工练习页岗位显示与当前认证岗位状态对齐;本地管理端主资源 `assets/index-B9T505HT.js`(SHA-256 `66a827a7b3e5d794ae9da54c6e2276080995614fa52f54d49f746087663f8c94`)、`mobile-uni` H5 主资源 `assets/index-D4A_v1LP.js`(SHA-256 `d3642eb8ec15c6af31636be121053b24a52a782b16572b37950a321c909ec032`)和后端 jar(SHA-256 `e2dcfe01b3c6067a4600322e97b98bd97a84dbaa92a3788563dd9142a6d652b4`)已重新构建。线上仍加载旧管理端/H5资源,本轮只读复核未发布;`release-preflight.sh` 仅因 `docs/FIGMA_DESIGN_INVENTORY.md`、`docs/FIGMA_DESIGN_SYSTEM_GUIDE.md` 两份既有未提交文件停止,未执行生产写入。
|
||||
- 2026-07-14 BRD 4.2/5.4 用户端岗位显示对齐:员工练习页此前虽按当前岗位请求训练数据,副标题却固定显示“生活顾问”,正式岗位映射存在时会造成界面与请求口径不一致;现复用 `getSelectedPosition()`,并在岗位同步后刷新显示,未新增资格判断或改变生活顾问演示回退。`mobile-uni` 用户端源码回归已增至 55 项通过,正式岗位与岗位-SOP资格规则仍需组织/HR数据后再实现。
|
||||
- 2026-07-14 20:33 BRD/发布只读复核:当前 `HEAD=a7938a77`;管理端、`mobile-uni` H5 和后端 jar 已重新构建,产物时间晚于当前提交。当前本地管理端主资源 `assets/index-B9T505HT.js`(SHA-256 `66a827a7b3e5d794ae9da54c6e2276080995614fa52f54d49f746087663f8c94`)、H5 主资源 `assets/index-CfObC14z.js`(SHA-256 `e0d4a8e52c2827421fefb53a269c31c6062b0128fda62d3b00275b7bc4c53c47`)、后端 jar(SHA-256 `f6b76c54061a05bff70d54754867c448e6cfdb4e42120acb7c2103b4e52fa983`)均可用于发布。线上仍加载管理端 `assets/index-CJZ3Ax3Z.js`(SHA-256 `8b9278a26ccb760abce489b12a20b221748c64d4c4153613d2511777bb9677bc`)和 H5 `assets/index-D4-NrEpb.js`(SHA-256 `ab15bfd17cabe58e2f34b0ac61ee198a837128ed85dc6bb0ddf77bc3e22dcd9c`);`release-preflight.sh` 已通过产物新鲜度检查,但因两份用户未提交 Figma 文档阻断,未执行生产静态同步、后端重启或业务数据写入。
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<text class="employee-kicker sop-eyebrow">SOP · 话术 · 工作流程</text>
|
||||
<text class="page-title">问</text>
|
||||
<text class="page-subtitle">数字师傅 · SOP问答</text>
|
||||
<text class="sop-context">管家(生活顾问) · 住宅项目</text>
|
||||
<text class="sop-context">{{ positionLabel }} · 住宅项目</text>
|
||||
<text class="toolbar-tip">先把问题问清楚,再按需生成总结卡,不伪造分类能力。</text>
|
||||
</view>
|
||||
|
||||
@@ -205,11 +205,12 @@ import {
|
||||
searchKnowledge,
|
||||
submitAnswerFeedback
|
||||
} from '@/services/knowledge';
|
||||
import { getSelectedPositionProfile, isLoggedIn, rememberLoginRedirect } from '@/services/auth';
|
||||
import { getSelectedPosition, getSelectedPositionProfile, isLoggedIn, rememberLoginRedirect } from '@/services/auth';
|
||||
import { resetPageScroll } from '@/services/navigation';
|
||||
import { ensureEmployeePosition } from '@/services/position';
|
||||
|
||||
const positionProfile = ref(getSelectedPositionProfile());
|
||||
const positionLabel = ref(getSelectedPosition());
|
||||
const quickQuestions = computed(() => positionProfile.value.quickQuestions);
|
||||
const quickQuestionPlaceholder = computed(() => `例如: ${quickQuestions.value[0] || '岗位SOP怎么处理?'}`);
|
||||
const query = ref('');
|
||||
@@ -232,6 +233,7 @@ const resetResultState = () => {
|
||||
|
||||
const refreshAuthState = () => {
|
||||
loggedIn.value = isLoggedIn();
|
||||
positionLabel.value = getSelectedPosition();
|
||||
positionProfile.value = getSelectedPositionProfile();
|
||||
};
|
||||
|
||||
@@ -263,6 +265,7 @@ const search = async () => {
|
||||
return;
|
||||
}
|
||||
positionProfile.value = getSelectedPositionProfile();
|
||||
positionLabel.value = getSelectedPosition();
|
||||
loading.value = true;
|
||||
message.value = '';
|
||||
resetResultState();
|
||||
|
||||
@@ -162,6 +162,15 @@ test('员工练习页显示当前岗位而不是固定生活顾问', async () =>
|
||||
assert.doesNotMatch(source, /scenario-desc">生活顾问 · 业主服务场景/);
|
||||
});
|
||||
|
||||
test('员工问师傅页显示当前岗位而不是固定生活顾问', async () => {
|
||||
const source = await pageSource('../src/pages/user/sop/index.vue');
|
||||
|
||||
assert.match(source, /getSelectedPosition/);
|
||||
assert.match(source, /const positionLabel = ref\(getSelectedPosition\(\)\)/);
|
||||
assert.match(source, /\{\{ positionLabel \}\} · 住宅项目/);
|
||||
assert.doesNotMatch(source, /sop-context">管家(生活顾问) · 住宅项目/);
|
||||
});
|
||||
|
||||
test('训练页最近练过保留派发任务来源', async () => {
|
||||
const source = await pageSource('../src/pages/user/practice/index.vue');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user