feat: C端污染源识别与专业端首页联动
- 专业首页"预测"区加"污染源识别·快速溯源"入口卡 → /source - 落地页"专业看板"按钮:有token直达/home,否则去登录 - 污染源识别页顶栏加"进入专业系统 →"链接 → /home - 两端共用同一套账号(手机号注册的用户也能进专业系统) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
2e87e4c0c2
commit
956954cf09
|
|
@ -4,7 +4,7 @@
|
||||||
<a-divider />
|
<a-divider />
|
||||||
<div class="group-title">预测</div>
|
<div class="group-title">预测</div>
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="8" v-for="c in predictCards" :key="c.title">
|
<a-col :span="6" v-for="c in predictCards" :key="c.title">
|
||||||
<a-card hoverable class="entry" @click="c.action">
|
<a-card hoverable class="entry" @click="c.action">
|
||||||
<div class="entry-title">{{ c.title }} ›</div>
|
<div class="entry-title">{{ c.title }} ›</div>
|
||||||
<div class="entry-desc">{{ c.desc }}</div>
|
<div class="entry-desc">{{ c.desc }}</div>
|
||||||
|
|
@ -43,6 +43,7 @@ const predictCards = [
|
||||||
{ title: '新建项目预测', desc: '从头配置项目、空间、材料进行预测', action: () => (createOpen.value = true) },
|
{ title: '新建项目预测', desc: '从头配置项目、空间、材料进行预测', action: () => (createOpen.value = true) },
|
||||||
{ title: '快速导入项目', desc: '根据模板或文件导入后调整配置预测', action: () => router.push({ name: 'template' }) },
|
{ title: '快速导入项目', desc: '根据模板或文件导入后调整配置预测', action: () => router.push({ name: 'template' }) },
|
||||||
{ title: '继续配置预测', desc: '继续已保存、未提交的配置', action: () => router.push({ name: 'drafts' }) },
|
{ title: '继续配置预测', desc: '继续已保存、未提交的配置', action: () => router.push({ name: 'drafts' }) },
|
||||||
|
{ title: '污染源识别 · 快速溯源', desc: '单空间快速预测,溯源主要污染材料', action: () => router.push('/source') },
|
||||||
];
|
];
|
||||||
const moreCards = [
|
const moreCards = [
|
||||||
{ title: '项目模板库', desc: '查看管理公共、自建的项目模板', action: () => router.push({ name: 'template' }) },
|
{ title: '项目模板库', desc: '查看管理公共、自建的项目模板', action: () => router.push({ name: 'template' }) },
|
||||||
|
|
|
||||||
|
|
@ -198,7 +198,7 @@ onBeforeUnmount(stop);
|
||||||
|
|
||||||
function scrollTop() { window.scrollTo({ top: 0, behavior: 'smooth' }); }
|
function scrollTop() { window.scrollTo({ top: 0, behavior: 'smooth' }); }
|
||||||
function scrollTo(id: string) { document.getElementById(id)?.scrollIntoView({ behavior: 'smooth' }); }
|
function scrollTo(id: string) { document.getElementById(id)?.scrollIntoView({ behavior: 'smooth' }); }
|
||||||
function goPro() { router.push('/login'); }
|
function goPro() { router.push(localStorage.getItem('token') ? '/home' : '/login'); }
|
||||||
|
|
||||||
// 预测入口 → 手机注册
|
// 预测入口 → 手机注册
|
||||||
const authOpen = ref(false);
|
const authOpen = ref(false);
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
<div class="s-logo"><SourceIcon /></div>
|
<div class="s-logo"><SourceIcon /></div>
|
||||||
<div class="s-tt">污染源识别<small>SOURCE TRACING · 甲醛</small></div>
|
<div class="s-tt">污染源识别<small>SOURCE TRACING · 甲醛</small></div>
|
||||||
<div class="s-spacer" />
|
<div class="s-spacer" />
|
||||||
|
<a class="s-back" @click="router.push('/home')" style="margin-right:12px">进入专业系统 →</a>
|
||||||
<span class="muted">{{ auth.org?.name || '访客' }}</span>
|
<span class="muted">{{ auth.org?.name || '访客' }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue