feat: 方案待定制可编辑+通知去定制按钮+权限修复
All checks were successful
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 15s
Test / e2e-test (push) Successful in 50s

- 会员等待中可修改健康需求,修改后通知老师
- 通知里方案请求显示"去定制"按钮跳转用户管理
- 后端: 方案owner可更新health_desc,teacher可改title/status

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-12 22:04:14 +00:00
parent fe74f45bca
commit a6c8e7a6e1
3 changed files with 53 additions and 6 deletions

View File

@@ -38,6 +38,8 @@
<div v-if="!n.is_read" class="notif-actions">
<!-- 搜索未收录通知已添加按钮 -->
<button v-if="isSearchMissing(n)" class="notif-action-btn notif-btn-added" @click="markAdded(n)">已添加</button>
<!-- 方案请求通知去定制按钮 -->
<button v-else-if="isPlanRequest(n)" class="notif-action-btn notif-btn-plan" @click="goPlanDesign(n)">去定制</button>
<!-- 审核类通知去审核按钮 -->
<button v-else-if="isReviewable(n)" class="notif-action-btn notif-btn-review" @click="goReview(n)">去审核</button>
<!-- 默认已读按钮 -->
@@ -129,6 +131,16 @@ function isSearchMissing(n) {
return n.title && n.title.includes('用户需求')
}
function isPlanRequest(n) {
return n.title && (n.title.includes('方案请求') || n.title.includes('方案需求'))
}
function goPlanDesign(n) {
markOneRead(n)
emit('close')
window.location.hash = '#/users'
}
function isReviewable(n) {
if (!n.title) return false
// Admin: review recipe/business/applications
@@ -269,6 +281,8 @@ onMounted(loadNotifications)
}
.notif-btn-added { color: #4a9d7e; border-color: #7ec6a4; }
.notif-btn-added:hover { background: #e8f5e9; }
.notif-btn-plan { color: #1565c0; border-color: #90caf9; }
.notif-btn-plan:hover { background: #e3f2fd; }
.notif-btn-review { color: #e65100; border-color: #ffb74d; }
.notif-btn-review:hover { background: #fff3e0; }
.notif-body { color: #888; font-size: 12px; margin-top: 2px; white-space: pre-line; }