- add authorized nine-source crawler connectors with security controls and packaged schemas - add the school internship contract to the vendor data standard center - add bidirectional campus data-to-report lineage with gap ownership and remediation Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
1583 lines
83 KiB
HTML
1583 lines
83 KiB
HTML
<!doctype html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<meta
|
||
name="description"
|
||
content="产教融智,面向职业院校的供需分析、校企协同、数据治理与改进闭环平台"
|
||
/>
|
||
<title>产教融智 · 供需分析与协同平台</title>
|
||
<link rel="icon" href="./favicon.svg" type="image/svg+xml" />
|
||
<link rel="stylesheet" href="./styles.css" />
|
||
<link rel="stylesheet" href="./enterprise.css" />
|
||
</head>
|
||
<body>
|
||
<div class="app-shell">
|
||
<aside class="sidebar" id="sidebar">
|
||
<div class="brand">
|
||
<div class="brand-mark" aria-hidden="true">
|
||
<span></span><span></span><span></span>
|
||
</div>
|
||
<div>
|
||
<strong>产教融智</strong>
|
||
<small>INDUSTRY · EDUCATION</small>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="school-card" id="organizationCard">
|
||
<div class="school-emblem" id="organizationEmblem">杭</div>
|
||
<div>
|
||
<span id="organizationLabel">当前组织</span>
|
||
<strong id="organizationName">杭州科技职业技术学院</strong>
|
||
</div>
|
||
<button class="icon-button subtle" id="organizationSwitcher" aria-label="切换组织">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="m9 18 6-6-6-6" />
|
||
</svg>
|
||
</button>
|
||
</div>
|
||
|
||
<nav class="main-nav" aria-label="主导航">
|
||
<div class="nav-group" id="schoolNav">
|
||
<span class="nav-label" id="workspaceNavLabel">工作空间</span>
|
||
<button class="nav-item active" data-view="dashboard" data-menu-key="dashboard">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M4 13h6V4H4v9Zm0 7h6v-4H4v4Zm10 0h6v-9h-6v9Zm0-16v4h6V4h-6Z" />
|
||
</svg>
|
||
<span>决策总览</span>
|
||
</button>
|
||
<button class="nav-item" data-view="loop" data-menu-key="loop">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M20 7h-9a4 4 0 0 0-4 4v1M4 17h9a4 4 0 0 0 4-4v-1M16 4l4 3-4 3M8 14l-4 3 4 3" />
|
||
</svg>
|
||
<span>闭环工作台</span>
|
||
<span class="nav-dot"></span>
|
||
</button>
|
||
<button class="nav-item" data-view="profession" data-menu-key="profession">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M3 11h18M5 7l7-4 7 4M5 11v7m4-7v7m6-7v7m4-7v7M3 21h18" />
|
||
</svg>
|
||
<span>专业洞察</span>
|
||
<span class="nav-count">32</span>
|
||
</button>
|
||
<button class="nav-item" data-view="collaboration" data-menu-key="collaboration">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M8 12h8m-4-4v8M4 7h3l2-3h6l2 3h3v13H4V7Z" />
|
||
</svg>
|
||
<span>校企协同</span>
|
||
</button>
|
||
<button class="nav-item" data-view="actions" data-menu-key="actions">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="m9 11 3 3L22 4M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11" />
|
||
</svg>
|
||
<span>改进任务</span>
|
||
<span class="nav-dot"></span>
|
||
</button>
|
||
<button class="nav-item" data-view="data" data-menu-key="data">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<ellipse cx="12" cy="5" rx="8" ry="3" />
|
||
<path d="M4 5v6c0 1.66 3.58 3 8 3s8-1.34 8-3V5M4 11v6c0 1.66 3.58 3 8 3s8-1.34 8-3v-6" />
|
||
</svg>
|
||
<span id="dataNavText">数据资产</span>
|
||
</button>
|
||
|
||
<span class="nav-label nav-label-spaced" id="deliveryNavLabel">交付中心</span>
|
||
<button class="nav-item" data-view="reports" data-menu-key="report">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6Z" />
|
||
<path d="M14 2v6h6M8 13h8M8 17h6" />
|
||
</svg>
|
||
<span>分析报告</span>
|
||
</button>
|
||
<button class="nav-item" data-showcase-open data-menu-key="screen">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<rect x="2" y="3" width="20" height="14" rx="2" />
|
||
<path d="M8 21h8m-4-4v4" />
|
||
</svg>
|
||
<span>展示大屏</span>
|
||
</button>
|
||
</div>
|
||
|
||
<div class="nav-group" id="platformNav" hidden>
|
||
<span class="nav-label">平台运营</span>
|
||
<button class="nav-item active" data-platform-target="platformOverview">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M4 13h6V4H4v9Zm0 7h6v-4H4v4Zm10 0h6v-9h-6v9Zm0-16v4h6V4h-6Z" />
|
||
</svg>
|
||
<span>平台总览</span>
|
||
</button>
|
||
<button class="nav-item" data-platform-target="packageManagement">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="m4 7 8-4 8 4-8 4-8-4Zm0 0v10l8 4 8-4V7M12 11v10" />
|
||
</svg>
|
||
<span>数据包管理</span>
|
||
<span class="nav-count">11</span>
|
||
</button>
|
||
<button class="nav-item" data-platform-target="tenantManagement">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M3 10h18M5 7l7-4 7 4M5 10v8m4-8v8m6-8v8m4-8v8M3 21h18" />
|
||
</svg>
|
||
<span>机构与租户</span>
|
||
</button>
|
||
<button class="nav-item" data-platform-target="accountManagement">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8m7-1 2 2 4-4" />
|
||
</svg>
|
||
<span>账号与权限</span>
|
||
</button>
|
||
<span class="nav-label nav-label-spaced">系统保障</span>
|
||
<button class="nav-item" data-platform-target="backupManagement">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<ellipse cx="12" cy="5" rx="8" ry="3" />
|
||
<path d="M4 5v6c0 1.66 3.58 3 8 3s8-1.34 8-3V5M4 11v6c0 1.66 3.58 3 8 3s8-1.34 8-3v-6" />
|
||
</svg>
|
||
<span>备份与恢复</span>
|
||
</button>
|
||
<button class="nav-item" data-platform-target="auditManagement">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="m9 12 2 2 4-4M12 22C7 20 4 16.5 4 11V5l8-3 8 3v6c0 5.5-3 9-8 11Z" />
|
||
</svg>
|
||
<span>审计与监控</span>
|
||
<span class="nav-dot"></span>
|
||
</button>
|
||
</div>
|
||
</nav>
|
||
|
||
<div class="sidebar-footer" id="sidebarFooter">
|
||
<div class="sync-line">
|
||
<span class="live-dot"></span>
|
||
<span>数据更新于 08:30</span>
|
||
</div>
|
||
<button class="meeting-pack" data-report-generate="package">
|
||
<span class="meeting-icon">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M12 3v12m0 0 4-4m-4 4-4-4M5 21h14" />
|
||
</svg>
|
||
</span>
|
||
<span>
|
||
<small>供需会材料包</small>
|
||
<strong>一键生成</strong>
|
||
</span>
|
||
<svg class="meeting-arrow" viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="m9 18 6-6-6-6" />
|
||
</svg>
|
||
</button>
|
||
</div>
|
||
</aside>
|
||
|
||
<div class="workspace">
|
||
<header class="topbar">
|
||
<div class="topbar-left">
|
||
<button class="icon-button mobile-menu" id="mobileMenu" aria-label="打开菜单">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M4 6h16M4 12h16M4 18h16" />
|
||
</svg>
|
||
</button>
|
||
<div>
|
||
<div class="breadcrumb">
|
||
<span id="breadcrumbRoot">产教融合中心</span>
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg>
|
||
<strong id="breadcrumbCurrent">决策总览</strong>
|
||
</div>
|
||
<p class="topbar-date" id="topbarContext">2025—2026 学年 · 第 2 学期</p>
|
||
</div>
|
||
</div>
|
||
<div class="topbar-actions">
|
||
<button class="tour-launch" id="productTourButton">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M5 4h14v16H5V4Zm4 4h6M9 12h6M9 16h4" />
|
||
</svg>
|
||
<span>产品导览</span>
|
||
</button>
|
||
<span class="edition-badge">企业版</span>
|
||
<label class="role-switcher" aria-label="切换工作角色">
|
||
<span class="role-avatar" id="roleAvatar">周</span>
|
||
<span class="role-copy">
|
||
<strong id="roleUserName">周明远</strong>
|
||
<small id="roleName">校级管理者</small>
|
||
</span>
|
||
<select id="roleSelect">
|
||
<option value="校级管理者">校级管理者</option>
|
||
<option value="校级技术管理员">校级技术管理员</option>
|
||
<option value="学院负责人">学院负责人</option>
|
||
<option value="专业负责人">专业负责人</option>
|
||
<option value="就业老师">就业老师</option>
|
||
<option value="企业导师">企业导师</option>
|
||
<option value="厂商超级管理员">厂商超级管理员</option>
|
||
</select>
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5" /></svg>
|
||
</label>
|
||
<button class="icon-button notification-button" id="notificationButton" aria-label="通知">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M18 8a6 6 0 0 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9M10 21h4" />
|
||
</svg>
|
||
<span>3</span>
|
||
</button>
|
||
</div>
|
||
</header>
|
||
|
||
<main class="main-content">
|
||
<!-- 校园业务闭环 -->
|
||
<section class="view" id="view-loop" data-title="闭环工作台">
|
||
<div class="page-heading heading-with-actions">
|
||
<div>
|
||
<div class="eyebrow"><span></span> CAMPUS CLOSED LOOP</div>
|
||
<h1>校园端业务闭环工作台</h1>
|
||
<p>从企业需求到下一周期复核,一条样板链按角色推进、按实体留痕、刷新后继续。</p>
|
||
</div>
|
||
<button class="button secondary" id="resetClosedLoop">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M20 11a8 8 0 1 0-2.34 5.66M20 4v7h-7" /></svg>
|
||
重置样板
|
||
</button>
|
||
</div>
|
||
<div class="loop-identity-strip" id="loopIdentityStrip"></div>
|
||
<div class="loop-layout">
|
||
<section class="loop-main">
|
||
<article class="panel loop-status-panel">
|
||
<div class="panel-header">
|
||
<div><span class="panel-kicker">实体状态链</span><h2>样板闭环进度</h2></div>
|
||
<span class="version-badge" id="loopSchemaBadge">SCHEMA V2</span>
|
||
</div>
|
||
<div class="loop-chain" id="loopChain"></div>
|
||
</article>
|
||
<article class="panel loop-detail-panel">
|
||
<div class="panel-header">
|
||
<div><span class="panel-kicker">业务实体</span><h2>关联对象与关键字段</h2></div>
|
||
</div>
|
||
<div class="loop-entity-grid" id="loopEntityGrid"></div>
|
||
</article>
|
||
<article class="panel loop-audit-panel">
|
||
<div class="panel-header">
|
||
<div><span class="panel-kicker">AUDIT EVENTS</span><h2>闭环审计事件</h2></div>
|
||
<span class="panel-count" id="loopAuditCount">0 条</span>
|
||
</div>
|
||
<div class="loop-audit-list" id="loopAuditList"></div>
|
||
</article>
|
||
</section>
|
||
<aside class="panel loop-action-panel">
|
||
<div class="panel-header"><div><span class="panel-kicker">ROLE ACTION</span><h2 id="loopRoleActionTitle">当前角色下一步</h2></div></div>
|
||
<div class="loop-role-boundary" id="loopRoleBoundary"></div>
|
||
<div class="loop-action-list" id="loopActionList"></div>
|
||
</aside>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 决策总览 -->
|
||
<section class="view active" id="view-dashboard" data-title="决策总览">
|
||
<div class="page-heading heading-with-actions">
|
||
<div>
|
||
<div class="eyebrow"><span></span> SCHOOL OVERVIEW</div>
|
||
<h1>产教供需决策总览</h1>
|
||
<p>把产业需求信号转化为专业建设任务,并用报告与改进证据形成决策闭环。</p>
|
||
</div>
|
||
<div class="heading-actions">
|
||
<button class="button secondary" data-report-generate="package">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3v12m0 0 4-4m-4 4-4-4M5 21h14" /></svg>
|
||
导出材料
|
||
</button>
|
||
<button class="button primary" id="runAnalysis">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 2v4m0 12v4M4.93 4.93l2.83 2.83m8.48 8.48 2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83" /></svg>
|
||
生成本期分析
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="quality-strip">
|
||
<div class="quality-main">
|
||
<span class="quality-icon">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<circle cx="12" cy="12" r="9" />
|
||
<path d="m8.5 12 2.35 2.35 4.9-5.15" />
|
||
</svg>
|
||
</span>
|
||
<div>
|
||
<strong>本期数据已通过质量校验</strong>
|
||
<span>3 类数据资产 · 6 个数据源 · 128,642 条有效记录 · 岗位归一覆盖率 94.8%</span>
|
||
</div>
|
||
</div>
|
||
<button class="text-button" data-view-jump="data">
|
||
查看数据血缘
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg>
|
||
</button>
|
||
</div>
|
||
|
||
<div class="metric-grid">
|
||
<article class="metric-card">
|
||
<div class="metric-top">
|
||
<span class="metric-label">全校供需匹配度</span>
|
||
<button class="info-button" data-tip="综合岗位匹配、技能覆盖、薪资竞争力计算">i</button>
|
||
</div>
|
||
<div class="metric-value"><strong id="metricMatch">78.6</strong><small>分</small></div>
|
||
<div class="metric-foot positive">
|
||
<span>↑ 4.2</span>
|
||
<small>较上期</small>
|
||
</div>
|
||
<div class="metric-spark" id="sparkMatch"></div>
|
||
</article>
|
||
<article class="metric-card">
|
||
<div class="metric-top">
|
||
<span class="metric-label">产业需求岗位</span>
|
||
<span class="metric-tag green">近90天</span>
|
||
</div>
|
||
<div class="metric-value"><strong id="metricJobs">18,420</strong><small>个</small></div>
|
||
<div class="metric-foot positive">
|
||
<span>↑ 12.8%</span>
|
||
<small>同比增速</small>
|
||
</div>
|
||
<div class="metric-spark" id="sparkJobs"></div>
|
||
</article>
|
||
<article class="metric-card">
|
||
<div class="metric-top">
|
||
<span class="metric-label">重点技能缺口</span>
|
||
<span class="metric-tag amber">待响应</span>
|
||
</div>
|
||
<div class="metric-value"><strong id="metricGaps">23</strong><small>项</small></div>
|
||
<div class="metric-foot warning">
|
||
<span>8 项高优先级</span>
|
||
<small>涉及 11 个专业</small>
|
||
</div>
|
||
<div class="metric-spark" id="sparkGaps"></div>
|
||
</article>
|
||
<article class="metric-card">
|
||
<div class="metric-top">
|
||
<span class="metric-label">协同改进完成率</span>
|
||
<span class="metric-tag blue">本学期</span>
|
||
</div>
|
||
<div class="metric-value"><strong id="metricActions">68</strong><small>%</small></div>
|
||
<div class="metric-foot positive">
|
||
<span>↑ 16%</span>
|
||
<small>21 / 31 项已完成</small>
|
||
</div>
|
||
<div class="metric-progress"><i style="width: 68%"></i></div>
|
||
</article>
|
||
</div>
|
||
|
||
<div class="dashboard-grid">
|
||
<article class="panel match-panel">
|
||
<div class="panel-header">
|
||
<div>
|
||
<span class="panel-kicker">核心指标</span>
|
||
<h2>专业与产业需求匹配趋势</h2>
|
||
</div>
|
||
<div class="segmented" id="periodSwitch">
|
||
<button data-period="term" class="active">本学期</button>
|
||
<button data-period="year">本学年</button>
|
||
<button data-period="three">近三年</button>
|
||
</div>
|
||
</div>
|
||
<div class="match-content">
|
||
<div class="score-dial" aria-label="供需匹配度78.6分">
|
||
<svg viewBox="0 0 160 160">
|
||
<circle class="dial-track" cx="80" cy="80" r="62"></circle>
|
||
<circle class="dial-value" id="dialValue" cx="80" cy="80" r="62"></circle>
|
||
</svg>
|
||
<div>
|
||
<strong id="dialScore">78.6</strong>
|
||
<span>综合匹配度</span>
|
||
</div>
|
||
</div>
|
||
<div class="trend-chart-wrap">
|
||
<div class="chart-legend">
|
||
<span><i class="legend-current"></i>本校匹配度</span>
|
||
<span><i class="legend-benchmark"></i>区域院校基准</span>
|
||
</div>
|
||
<svg class="line-chart" id="lineChart" viewBox="0 0 620 220" preserveAspectRatio="none" aria-label="专业匹配度趋势图"></svg>
|
||
<div class="chart-labels" id="chartLabels"></div>
|
||
</div>
|
||
</div>
|
||
<div class="match-summary">
|
||
<span><i class="summary-good"></i><strong>18 个</strong>专业保持高匹配</span>
|
||
<span><i class="summary-watch"></i><strong>9 个</strong>专业需要关注</span>
|
||
<span><i class="summary-risk"></i><strong>5 个</strong>专业进入预警</span>
|
||
</div>
|
||
</article>
|
||
|
||
<article class="panel ai-panel">
|
||
<div class="ai-panel-head">
|
||
<span class="ai-symbol">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="m12 3 1.6 4.4L18 9l-4.4 1.6L12 15l-1.6-4.4L6 9l4.4-1.6L12 3ZM19 15l.8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8L19 15Z" /></svg>
|
||
</span>
|
||
<div>
|
||
<small>AI DECISION BRIEF</small>
|
||
<h2>本期决策简报</h2>
|
||
</div>
|
||
<span class="ai-state">已生成</span>
|
||
</div>
|
||
<p class="ai-lead">
|
||
智能制造与数字商贸需求显著上升,学校整体匹配度提高,但云原生、工业视觉和跨境运营仍存在结构性缺口。
|
||
</p>
|
||
<div class="insight-list">
|
||
<button class="insight-item" data-view-jump="profession">
|
||
<span class="insight-index">01</span>
|
||
<span>
|
||
<strong>云原生技能需求增长 36%</strong>
|
||
<small>建议软件技术专业强化容器化实训</small>
|
||
</span>
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg>
|
||
</button>
|
||
<button class="insight-item" data-view-jump="collaboration">
|
||
<span class="insight-index">02</span>
|
||
<span>
|
||
<strong>新增 7 家高匹配潜力企业</strong>
|
||
<small>集中在智能制造与数字贸易方向</small>
|
||
</span>
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg>
|
||
</button>
|
||
<button class="insight-item" data-view-jump="actions">
|
||
<span class="insight-index">03</span>
|
||
<span>
|
||
<strong>3 项高优任务将在本月逾期</strong>
|
||
<small>需教务处协调学院负责人推进</small>
|
||
</span>
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg>
|
||
</button>
|
||
</div>
|
||
<div class="ai-source">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20ZM12 8v5m0 3h.01" /></svg>
|
||
结论综合基础数据包、校级数据与企业确认数据,所有引用均可追溯
|
||
</div>
|
||
</article>
|
||
</div>
|
||
|
||
<div class="content-grid">
|
||
<article class="panel profession-rank">
|
||
<div class="panel-header">
|
||
<div>
|
||
<span class="panel-kicker">专业表现</span>
|
||
<h2>32个专业供需表现</h2>
|
||
</div>
|
||
<div class="panel-tools">
|
||
<label class="search-field compact">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="7" /><path d="m20 20-4-4" /></svg>
|
||
<input id="professionSearch" type="search" placeholder="搜索专业" />
|
||
</label>
|
||
<button class="text-button" data-view-jump="profession">
|
||
查看全部
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
<div class="table-wrap">
|
||
<table class="data-table">
|
||
<thead>
|
||
<tr>
|
||
<th>专业名称</th>
|
||
<th>所属学院</th>
|
||
<th>匹配度</th>
|
||
<th>市场需求</th>
|
||
<th>技能缺口</th>
|
||
<th>趋势</th>
|
||
<th></th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="professionTable"></tbody>
|
||
</table>
|
||
</div>
|
||
</article>
|
||
|
||
<article class="panel industry-panel">
|
||
<div class="panel-header">
|
||
<div>
|
||
<span class="panel-kicker">产业信号</span>
|
||
<h2>需求增长最快方向</h2>
|
||
</div>
|
||
<button class="more-button" id="industryTrendMore" aria-label="查看完整产业趋势">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="5" cy="12" r="1" /><circle cx="12" cy="12" r="1" /><circle cx="19" cy="12" r="1" /></svg>
|
||
</button>
|
||
</div>
|
||
<div class="industry-list" id="industryList"></div>
|
||
<div class="industry-note">
|
||
<span>观察窗口</span>
|
||
<strong>近 90 天</strong>
|
||
<span>样本岗位</span>
|
||
<strong>18,420</strong>
|
||
</div>
|
||
</article>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 专业洞察 -->
|
||
<section class="view" id="view-profession" data-title="专业洞察">
|
||
<div class="page-heading profession-heading">
|
||
<div>
|
||
<div class="eyebrow"><span></span> PROGRAM INSIGHT</div>
|
||
<div class="heading-inline">
|
||
<h1 id="professionTitle">软件技术</h1>
|
||
<label class="profession-select">
|
||
<select id="professionSelect" aria-label="选择专业">
|
||
<option value="software">软件技术</option>
|
||
<option value="mechatronics">机电一体化技术</option>
|
||
<option value="ecommerce">电子商务</option>
|
||
</select>
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="m7 10 5 5 5-5" /></svg>
|
||
</label>
|
||
</div>
|
||
<p><span id="professionCollege">信息工程学院</span> · 2026届毕业生 <span id="graduateCount">186</span> 人</p>
|
||
</div>
|
||
<div class="heading-actions">
|
||
<button class="button secondary" id="compareProfession">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 19V9m6 10V5m6 14v-7m4 7H2" /></svg>
|
||
加入专业对比
|
||
</button>
|
||
<button class="button primary" data-report-generate="profession">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 2h9l5 5v15H6V2Zm9 0v6h5M10 13h6m-6 4h6" /></svg>
|
||
生成专业报告
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="profile-banner">
|
||
<div class="profile-score">
|
||
<span>供需匹配度</span>
|
||
<strong id="profileScore">84.2</strong>
|
||
<small id="profileLevel">高匹配</small>
|
||
</div>
|
||
<div class="profile-divider"></div>
|
||
<div class="profile-metric">
|
||
<span>对口岗位需求</span>
|
||
<strong id="profileDemand">2,864</strong>
|
||
<small class="up">↑ 18.6%</small>
|
||
</div>
|
||
<div class="profile-metric">
|
||
<span>薪资竞争力</span>
|
||
<strong id="profileSalary">1.08</strong>
|
||
<small>区域均值 = 1</small>
|
||
</div>
|
||
<div class="profile-metric">
|
||
<span>课程技能覆盖</span>
|
||
<strong id="profileCoverage">76%</strong>
|
||
<small>31 / 41 项</small>
|
||
</div>
|
||
<div class="profile-metric">
|
||
<span>潜力合作企业</span>
|
||
<strong id="profileCompanies">12</strong>
|
||
<small>其中 4 家高意向</small>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tab-bar" id="professionTabs">
|
||
<button class="active" data-tab="skills">技能供需</button>
|
||
<button data-tab="jobs">岗位流向</button>
|
||
<button data-tab="salary">薪资对标</button>
|
||
<button data-tab="courses">课程映射</button>
|
||
</div>
|
||
|
||
<div class="profession-layout" id="professionSkillsView">
|
||
<div class="profession-main">
|
||
<article class="panel skill-panel">
|
||
<div class="panel-header">
|
||
<div>
|
||
<span class="panel-kicker">技能供需</span>
|
||
<h2>产业技能需求与课程覆盖</h2>
|
||
</div>
|
||
<div class="legend-row">
|
||
<span><i class="market-legend"></i>市场需求强度</span>
|
||
<span><i class="course-legend"></i>课程覆盖度</span>
|
||
</div>
|
||
</div>
|
||
<div id="skillChart" class="skill-chart"></div>
|
||
</article>
|
||
|
||
<article class="panel course-panel">
|
||
<div class="panel-header">
|
||
<div>
|
||
<span class="panel-kicker">行动建议</span>
|
||
<h2>课程改进建议</h2>
|
||
</div>
|
||
<span class="explainable-tag">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="m12 3 1.6 4.4L18 9l-4.4 1.6L12 15l-1.6-4.4L6 9l4.4-1.6L12 3Z" /></svg>
|
||
AI辅助 · 专家审核
|
||
</span>
|
||
</div>
|
||
<div id="courseRecommendations" class="recommendation-list"></div>
|
||
</article>
|
||
</div>
|
||
|
||
<aside class="profession-side">
|
||
<article class="panel job-panel">
|
||
<div class="panel-header">
|
||
<div>
|
||
<span class="panel-kicker">热门岗位</span>
|
||
<h2>对口岗位需求</h2>
|
||
</div>
|
||
<span class="time-caption">近90天</span>
|
||
</div>
|
||
<div id="jobDemandList" class="job-demand-list"></div>
|
||
</article>
|
||
|
||
<article class="panel company-panel">
|
||
<div class="panel-header">
|
||
<div>
|
||
<span class="panel-kicker">企业推荐</span>
|
||
<h2>高匹配合作企业</h2>
|
||
</div>
|
||
<button class="text-button" data-view-jump="collaboration">全部</button>
|
||
</div>
|
||
<div id="companyShortlist" class="company-shortlist"></div>
|
||
</article>
|
||
</aside>
|
||
</div>
|
||
<div class="profession-tab-view" id="professionDetailView" hidden></div>
|
||
</section>
|
||
|
||
<!-- 校企协同 -->
|
||
<section class="view" id="view-collaboration" data-title="校企协同">
|
||
<div class="page-heading heading-with-actions">
|
||
<div>
|
||
<div class="eyebrow"><span></span> COLLABORATION HUB</div>
|
||
<h1 id="collaborationHeading">校企协同中心</h1>
|
||
<p id="collaborationDescription">把产业需求转化为可执行的课程、项目与人才共育计划。</p>
|
||
</div>
|
||
<div class="heading-actions">
|
||
<button class="button secondary" id="enterpriseDemandButton">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 4h16v16H4V4Zm4 4h8m-8 4h5m-5 4h7" /></svg>
|
||
发起需求调研
|
||
</button>
|
||
<button class="button primary" id="newProjectButton">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 5v14M5 12h14" /></svg>
|
||
新建协同项目
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="collab-stats">
|
||
<div><span>在库合作企业</span><strong>126</strong><small>家</small><em>↑ 18</em></div>
|
||
<div><span>本学期协同项目</span><strong>24</strong><small>个</small><em>8 个进行中</em></div>
|
||
<div><span>企业导师</span><strong>68</strong><small>人</small><em>覆盖 17 个专业</em></div>
|
||
<div><span>学生参与</span><strong>1,284</strong><small>人次</small><em>满意度 92%</em></div>
|
||
</div>
|
||
|
||
<div class="collab-layout">
|
||
<article class="panel pipeline-panel">
|
||
<div class="panel-header">
|
||
<div>
|
||
<span class="panel-kicker">协同进度</span>
|
||
<h2>本学期重点项目</h2>
|
||
</div>
|
||
<div class="segmented">
|
||
<button class="active" data-project-filter="all">全部</button><button data-project-filter="course">共建课程</button><button data-project-filter="practice">实训项目</button>
|
||
</div>
|
||
</div>
|
||
<div class="project-list" id="projectList"></div>
|
||
</article>
|
||
|
||
<article class="panel demand-panel">
|
||
<div class="panel-header">
|
||
<div>
|
||
<span class="panel-kicker">企业声音</span>
|
||
<h2>待响应企业需求</h2>
|
||
</div>
|
||
<span class="panel-count">6 项</span>
|
||
</div>
|
||
<div class="demand-list" id="enterpriseDemandList"></div>
|
||
</article>
|
||
</div>
|
||
|
||
<article class="panel partner-panel">
|
||
<div class="panel-header">
|
||
<div>
|
||
<span class="panel-kicker">智能推荐</span>
|
||
<h2>潜力合作伙伴</h2>
|
||
</div>
|
||
<div class="filter-pills">
|
||
<button class="active" data-partner-filter="all">综合推荐</button><button data-partner-filter="智能制造">智能制造</button><button data-partner-filter="数字技术">数字技术</button><button data-partner-filter="现代服务">现代服务</button>
|
||
</div>
|
||
</div>
|
||
<div class="partner-grid" id="partnerGrid"></div>
|
||
</article>
|
||
</section>
|
||
|
||
<!-- 改进任务 -->
|
||
<section class="view" id="view-actions" data-title="改进任务">
|
||
<div class="page-heading heading-with-actions">
|
||
<div>
|
||
<div class="eyebrow"><span></span> ACTION TRACKER</div>
|
||
<h1>改进任务闭环</h1>
|
||
<p>从数据洞察到责任落实,持续追踪专业建设行动与实际成效。</p>
|
||
</div>
|
||
<button class="button primary" id="newTaskButton">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 5v14M5 12h14" /></svg>
|
||
创建改进任务
|
||
</button>
|
||
</div>
|
||
|
||
<div class="action-overview panel">
|
||
<div class="action-ring">
|
||
<svg viewBox="0 0 120 120">
|
||
<circle cx="60" cy="60" r="47"></circle>
|
||
<circle class="complete" cx="60" cy="60" r="47"></circle>
|
||
</svg>
|
||
<span><strong>68%</strong><small>总体完成</small></span>
|
||
</div>
|
||
<div class="action-stat"><span>全部任务</span><strong>31</strong><small>本学期</small></div>
|
||
<div class="action-stat"><span>进行中</span><strong>7</strong><small>2 项存在风险</small></div>
|
||
<div class="action-stat"><span>待确认</span><strong>3</strong><small>需要校级审核</small></div>
|
||
<div class="action-stat"><span>已完成</span><strong>21</strong><small>按期率 90%</small></div>
|
||
<div class="action-health">
|
||
<span>任务健康度</span>
|
||
<strong>良好</strong>
|
||
<div><i style="width: 82%"></i></div>
|
||
</div>
|
||
</div>
|
||
|
||
<article class="panel task-panel">
|
||
<div class="task-toolbar">
|
||
<div class="filter-pills" id="taskFilters">
|
||
<button class="active" data-filter="all">全部 31</button>
|
||
<button data-filter="progress">进行中 7</button>
|
||
<button data-filter="review">待确认 3</button>
|
||
<button data-filter="done">已完成 21</button>
|
||
</div>
|
||
<label class="search-field">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="7" /><path d="m20 20-4-4" /></svg>
|
||
<input id="taskSearch" type="search" placeholder="搜索任务、专业或负责人" />
|
||
</label>
|
||
</div>
|
||
<div class="table-wrap">
|
||
<table class="data-table task-table">
|
||
<thead>
|
||
<tr>
|
||
<th>改进事项</th>
|
||
<th>关联专业</th>
|
||
<th>负责人</th>
|
||
<th>截止日期</th>
|
||
<th>进度</th>
|
||
<th>状态</th>
|
||
<th></th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="taskTable"></tbody>
|
||
</table>
|
||
</div>
|
||
</article>
|
||
</section>
|
||
|
||
<!-- 数据资产 -->
|
||
<section class="view" id="view-data" data-title="数据资产">
|
||
<div class="page-heading heading-with-actions">
|
||
<div>
|
||
<div class="eyebrow"><span></span> DATA FOUNDATION</div>
|
||
<h1 id="dataPageTitle">数据资产与质量</h1>
|
||
<p id="dataPageDescription">区分厂商基础数据包、学校自有数据与企业授权数据,所有分析结论均可追溯。</p>
|
||
</div>
|
||
<button class="button primary" id="syncAllButton">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M20 11a8 8 0 1 0-2.34 5.66M20 4v7h-7" /></svg>
|
||
<span id="syncAllButtonText">同步全部数据</span>
|
||
</button>
|
||
</div>
|
||
|
||
<div class="data-health">
|
||
<article class="data-health-main">
|
||
<div class="health-score">
|
||
<span>数据健康度</span>
|
||
<strong>92.6</strong>
|
||
<small>优秀</small>
|
||
</div>
|
||
<div class="health-copy">
|
||
<h2>三类数据资产已完成本期校验</h2>
|
||
<p>厂商基础数据包处于有效服务期,校级数据已完成同步,企业数据均保留授权与确认记录。</p>
|
||
<div class="health-meta">
|
||
<span><i></i>有效记录 <strong>128,642</strong></span>
|
||
<span><i></i>最新入库 <strong>今天 08:30</strong></span>
|
||
<span><i></i>质量规则 <strong>38 条</strong></span>
|
||
</div>
|
||
</div>
|
||
</article>
|
||
<article class="quality-dimensions">
|
||
<div><span>完整性</span><strong>94.8%</strong><i><b style="width:94.8%"></b></i></div>
|
||
<div><span>准确性</span><strong>91.2%</strong><i><b style="width:91.2%"></b></i></div>
|
||
<div><span>及时性</span><strong>96.5%</strong><i><b style="width:96.5%"></b></i></div>
|
||
<div><span>归一覆盖</span><strong>94.8%</strong><i><b style="width:94.8%"></b></i></div>
|
||
</article>
|
||
</div>
|
||
|
||
<div class="source-summary-grid" aria-label="数据资产分类总览">
|
||
<button class="source-summary-card vendor" data-source-summary-filter="vendor">
|
||
<span class="source-summary-icon">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M4 7h16v13H4V7Zm3 0V4h10v3M8 12h8m-8 4h5" />
|
||
</svg>
|
||
</span>
|
||
<span class="source-summary-copy">
|
||
<span class="source-summary-title">
|
||
<strong>互联网基础数据包</strong>
|
||
<em class="commercial-pill paid">付费订阅</em>
|
||
</span>
|
||
<small>由平台厂商合规归集、治理并按服务周期导入</small>
|
||
<span class="source-summary-metrics">
|
||
<span><strong>2</strong> 个数据源</span>
|
||
<span><strong>77,520</strong> 条记录</span>
|
||
</span>
|
||
<span class="source-summary-foot">我方维护 · 服务有效至 2026-12-31</span>
|
||
</span>
|
||
<svg class="source-summary-arrow" viewBox="0 0 24 24" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg>
|
||
</button>
|
||
|
||
<button class="source-summary-card school" data-source-summary-filter="school">
|
||
<span class="source-summary-icon">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M3 10h18M5 7l7-4 7 4M5 10v8m4-8v8m6-8v8m4-8v8M3 21h18" />
|
||
</svg>
|
||
</span>
|
||
<span class="source-summary-copy">
|
||
<span class="source-summary-title">
|
||
<strong>校级数据</strong>
|
||
<em class="commercial-pill owned">校方自有</em>
|
||
</span>
|
||
<small>来自学校业务系统、课程资源与教学管理过程</small>
|
||
<span class="source-summary-metrics">
|
||
<span><strong>3</strong> 个数据源</span>
|
||
<span><strong>42,772</strong> 条记录</span>
|
||
</span>
|
||
<span class="source-summary-foot">学校所有 · 校方授权系统内使用</span>
|
||
</span>
|
||
<svg class="source-summary-arrow" viewBox="0 0 24 24" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg>
|
||
</button>
|
||
|
||
<button class="source-summary-card enterprise" data-source-summary-filter="enterprise">
|
||
<span class="source-summary-icon">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M4 21V7l8-4 8 4v14M8 10h2m4 0h2m-8 4h2m4 0h2m-6 7v-3h4v3" />
|
||
</svg>
|
||
</span>
|
||
<span class="source-summary-copy">
|
||
<span class="source-summary-title">
|
||
<strong>企业数据</strong>
|
||
<em class="commercial-pill authorized">合作授权</em>
|
||
</span>
|
||
<small>由合作企业确认提交,用于校企共育和需求验证</small>
|
||
<span class="source-summary-metrics">
|
||
<span><strong>1</strong> 个数据源</span>
|
||
<span><strong>8,350</strong> 条记录</span>
|
||
</span>
|
||
<span class="source-summary-foot">企业提供 · 按合作范围授权使用</span>
|
||
</span>
|
||
<svg class="source-summary-arrow" viewBox="0 0 24 24" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg>
|
||
</button>
|
||
</div>
|
||
|
||
<div class="data-usage-note">
|
||
<span class="data-usage-icon">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="m9 12 2 2 4-4M12 22C7 20 4 16.5 4 11V5l8-3 8 3v6c0 5.5-3 9-8 11Z" />
|
||
</svg>
|
||
</span>
|
||
<span>
|
||
<strong>数据使用边界</strong>
|
||
<small>基础数据包按订阅协议授权使用;校级数据权属归学校;企业数据仅用于约定的合作与人才培养场景。</small>
|
||
</span>
|
||
<button id="dataAuthorizationButton">查看授权说明</button>
|
||
</div>
|
||
|
||
<article class="panel data-lineage-panel" id="dataReportLineage">
|
||
<div class="panel-header data-lineage-header">
|
||
<div>
|
||
<span class="panel-kicker">DATA → ANALYSIS → REPORT</span>
|
||
<h2>数据与报告双向依赖图谱</h2>
|
||
<p>从报告反查必需数据,也可从数据查看能形成的报告;缺口直接定位业务索取人和技术接口人。</p>
|
||
</div>
|
||
<span class="lineage-snapshot-badge"><i></i>分析快照 V2026.03</span>
|
||
</div>
|
||
|
||
<div class="data-lineage-toolbar">
|
||
<div class="lineage-mode-switch" id="dataLineageModeSwitch" role="group" aria-label="选择图谱查看方向">
|
||
<button class="active" data-lineage-mode="report" aria-pressed="true">从报告看数据</button>
|
||
<button data-lineage-mode="source" aria-pressed="false">从数据看报告</button>
|
||
</div>
|
||
<label class="lineage-selector">
|
||
<span id="dataLineageSelectorLabel">选择报告</span>
|
||
<select id="dataLineageSelector" aria-label="选择要追溯的报告"></select>
|
||
</label>
|
||
<label class="lineage-gap-toggle">
|
||
<input type="checkbox" id="dataLineageGapToggle">
|
||
<span><i></i>只看缺口</span>
|
||
</label>
|
||
</div>
|
||
|
||
<div class="lineage-summary-grid" id="dataLineageSummary" aria-live="polite"></div>
|
||
|
||
<div class="lineage-legend" aria-label="图谱图例">
|
||
<span><i class="required"></i>必需数据</span>
|
||
<span><i class="optional"></i>可选增强</span>
|
||
<span><i class="gap"></i>存在缺口</span>
|
||
<small>点击数据节点查看资产要求,点击报告节点进入在线报告。</small>
|
||
</div>
|
||
|
||
<div class="data-lineage-canvas" id="dataLineageCanvas"></div>
|
||
|
||
<div class="lineage-gap-section">
|
||
<div class="lineage-gap-heading">
|
||
<div>
|
||
<span>DATA REQUEST DESK</span>
|
||
<h3>缺口与补数责任</h3>
|
||
</div>
|
||
<strong id="dataLineageGapCount">0 项待处理</strong>
|
||
</div>
|
||
<div class="lineage-gap-list" id="dataLineageGapList"></div>
|
||
</div>
|
||
</article>
|
||
|
||
<article class="panel source-panel">
|
||
<div class="panel-header">
|
||
<div>
|
||
<span class="panel-kicker">数据资产目录</span>
|
||
<h2>数据源清单与授权状态</h2>
|
||
</div>
|
||
<button class="button tertiary" id="addDataSourceButton">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 5v14M5 12h14" /></svg>
|
||
添加数据源
|
||
</button>
|
||
</div>
|
||
<div class="source-filter-toolbar">
|
||
<div class="source-filters" id="sourceFilters" aria-label="按数据类别筛选">
|
||
<button class="active" data-source-filter="all">全部来源 <strong>6</strong></button>
|
||
<button data-source-filter="vendor">基础数据包 <strong>2</strong></button>
|
||
<button data-source-filter="school">校级数据 <strong>3</strong></button>
|
||
<button data-source-filter="enterprise">企业数据 <strong>1</strong></button>
|
||
</div>
|
||
<span class="source-filter-result" id="sourceFilterResult">当前展示 6 个数据源</span>
|
||
</div>
|
||
<div class="source-grid" id="sourceGrid"></div>
|
||
</article>
|
||
|
||
<div class="data-bottom-grid">
|
||
<article class="panel lineage-panel">
|
||
<div class="panel-header">
|
||
<div>
|
||
<span class="panel-kicker">处理链路</span>
|
||
<h2>本期数据加工血缘</h2>
|
||
</div>
|
||
<span class="version-badge">分析版本 V2026.03</span>
|
||
</div>
|
||
<div class="lineage-flow">
|
||
<div><span>01</span><strong>原始接入</strong><small>142,318 条</small></div>
|
||
<i><svg viewBox="0 0 24 24"><path d="m9 18 6-6-6-6" /></svg></i>
|
||
<div><span>02</span><strong>清洗去重</strong><small>移除 9,824 条</small></div>
|
||
<i><svg viewBox="0 0 24 24"><path d="m9 18 6-6-6-6" /></svg></i>
|
||
<div><span>03</span><strong>岗位归一</strong><small>覆盖率 94.8%</small></div>
|
||
<i><svg viewBox="0 0 24 24"><path d="m9 18 6-6-6-6" /></svg></i>
|
||
<div class="active"><span>04</span><strong>分析快照</strong><small>128,642 条</small></div>
|
||
</div>
|
||
</article>
|
||
<article class="panel issue-panel">
|
||
<div class="panel-header">
|
||
<div>
|
||
<span class="panel-kicker">质量事项</span>
|
||
<h2>待处理问题</h2>
|
||
</div>
|
||
<span class="panel-count amber-count">3 项</span>
|
||
</div>
|
||
<div class="issue-list">
|
||
<button data-data-issue="salary-missing">
|
||
<span class="issue-level high">高</span><span><strong>就业系统薪资字段缺失</strong><small>涉及 86 条记录 · 电子商务专业</small></span><svg viewBox="0 0 24 24"><path d="m9 18 6-6-6-6" /></svg>
|
||
</button>
|
||
<button data-data-issue="job-normalization">
|
||
<span class="issue-level mid">中</span><span><strong>218 个岗位名称待归一</strong><small>主要来自本地人才网新增数据</small></span><svg viewBox="0 0 24 24"><path d="m9 18 6-6-6-6" /></svg>
|
||
</button>
|
||
<button data-data-issue="enterprise-duplicate">
|
||
<span class="issue-level low">低</span><span><strong>疑似重复企业 12 家</strong><small>等待统一社会信用代码核验</small></span><svg viewBox="0 0 24 24"><path d="m9 18 6-6-6-6" /></svg>
|
||
</button>
|
||
</div>
|
||
</article>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- 报告中心 -->
|
||
<section class="view reports-view" id="view-reports" data-title="分析报告">
|
||
<div class="page-heading heading-with-actions">
|
||
<div>
|
||
<div class="eyebrow"><span></span> REPORT CENTER</div>
|
||
<h1>分析报告中心</h1>
|
||
<p id="reportCenterDescription">统一管理校级、学院、专业、产业与数据质量报告,支持在线阅读和版本追溯。</p>
|
||
</div>
|
||
<div class="heading-actions">
|
||
<button class="button secondary" id="reportTemplateButton">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 5h16v14H4V5Zm4 4h8m-8 4h8m-8 4h5" /></svg>
|
||
报告模板
|
||
</button>
|
||
<button class="button primary" data-report-generate="center">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 5v14M5 12h14" /></svg>
|
||
生成新报告
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="report-stat-grid">
|
||
<article><span>可查看报告</span><strong id="reportTotalCount">42</strong><small>份</small><em>覆盖 32 个专业</em></article>
|
||
<article><span>本期新生成</span><strong id="reportNewCount">36</strong><small>份</small><em>全部口径一致</em></article>
|
||
<article><span>待审核</span><strong id="reportReviewCount">3</strong><small>份</small><em>需要业务负责人确认</em></article>
|
||
<article><span>最近数据快照</span><strong class="report-version-value">V2026.03</strong><em>质量评分 92.6</em></article>
|
||
</div>
|
||
|
||
<div class="featured-report-grid" id="featuredReports"></div>
|
||
|
||
<article class="panel report-library-panel">
|
||
<div class="report-library-head">
|
||
<div>
|
||
<span class="panel-kicker">报告资产库</span>
|
||
<h2>全部分析报告</h2>
|
||
</div>
|
||
<div class="report-library-tools">
|
||
<label class="search-field">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="7" /><path d="m20 20-4-4" /></svg>
|
||
<input id="reportSearch" type="search" placeholder="搜索报告、学院或专业" />
|
||
</label>
|
||
<select id="reportPeriodFilter" aria-label="选择报告周期">
|
||
<option value="all">全部周期</option>
|
||
<option value="current">2026年3月</option>
|
||
<option value="previous">2025年度</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="report-type-filters" id="reportTypeFilters">
|
||
<button class="active" data-report-filter="all">全部</button>
|
||
<button data-report-filter="school">校级报告</button>
|
||
<button data-report-filter="college">学院报告</button>
|
||
<button data-report-filter="profession">专业报告</button>
|
||
<button data-report-filter="industry">产业专题</button>
|
||
<button data-report-filter="quality">数据质量</button>
|
||
</div>
|
||
<div class="report-list-grid" id="reportList"></div>
|
||
<div class="report-library-foot">
|
||
<span id="reportListSummary">显示 8 份报告</span>
|
||
<button id="loadMoreReports">加载更多历史报告</button>
|
||
</div>
|
||
</article>
|
||
</section>
|
||
|
||
<!-- 厂商超级管理员 -->
|
||
<section class="view platform-view" id="view-platform" data-title="平台总览">
|
||
<div class="page-heading heading-with-actions" id="platformOverview">
|
||
<div>
|
||
<div class="eyebrow"><span></span> PLATFORM OPERATIONS</div>
|
||
<h1>产教融智平台运营中心</h1>
|
||
<p>面向所有学校租户管理数据服务、机构授权、系统保障与平台级审计。</p>
|
||
</div>
|
||
<div class="heading-actions">
|
||
<button class="button secondary" data-platform-action="backup">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M20 11a8 8 0 1 0-2.34 5.66M20 4v7h-7" /></svg>
|
||
立即备份
|
||
</button>
|
||
<button class="button primary" data-platform-action="import">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 21V9m0 0 4 4m-4-4-4 4M5 3h14v4H5V3Z" /></svg>
|
||
导入基础数据包
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="platform-alert">
|
||
<span class="platform-alert-icon">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20Zm0-14v5m0 3h.01" /></svg>
|
||
</span>
|
||
<span>
|
||
<strong>平台运行正常</strong>
|
||
<small>12 家学校租户在线,今日任务成功率 99.3%,有 2 个基础数据包将在 15 天内到期。</small>
|
||
</span>
|
||
<button data-platform-target="auditManagement">查看运行详情</button>
|
||
</div>
|
||
|
||
<div class="platform-metric-grid">
|
||
<article>
|
||
<span>服务学校</span>
|
||
<strong>12</strong><small>家租户</small>
|
||
<em>↑ 本季度新增 2 家</em>
|
||
</article>
|
||
<article>
|
||
<span>平台数据资产</span>
|
||
<strong>2.84</strong><small>百万条</small>
|
||
<em>11 个在售数据包</em>
|
||
</article>
|
||
<article>
|
||
<span>今日处理任务</span>
|
||
<strong>428</strong><small>个</small>
|
||
<em>成功率 99.3%</em>
|
||
</article>
|
||
<article>
|
||
<span>平台可用性</span>
|
||
<strong>99.96</strong><small>%</small>
|
||
<em>连续稳定运行 46 天</em>
|
||
</article>
|
||
</div>
|
||
|
||
<div class="platform-grid" id="packageManagement">
|
||
<article class="panel platform-package-panel">
|
||
<div class="panel-header">
|
||
<div>
|
||
<span class="panel-kicker">商业数据服务</span>
|
||
<h2>基础数据包管理</h2>
|
||
</div>
|
||
<button class="button tertiary" data-platform-action="import">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 5v14M5 12h14" /></svg>
|
||
新建导入任务
|
||
</button>
|
||
</div>
|
||
<div class="table-wrap">
|
||
<table class="data-table platform-table">
|
||
<thead>
|
||
<tr>
|
||
<th>数据包</th>
|
||
<th>当前版本</th>
|
||
<th>授权学校</th>
|
||
<th>更新周期</th>
|
||
<th>服务状态</th>
|
||
<th>下次更新</th>
|
||
<th></th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><span class="platform-table-title"><strong>区域招聘岗位基础包</strong><small>杭州及长三角 · 86.4万条</small></span></td>
|
||
<td>V2026.03</td><td>12 家</td><td>每月</td>
|
||
<td><span class="status-badge done">正常服务</span></td><td>2026-04-01</td>
|
||
<td><button class="row-action" data-platform-action="packageDetail" aria-label="查看区域招聘岗位基础包"><svg viewBox="0 0 24 24"><path d="m9 18 6-6-6-6" /></svg></button></td>
|
||
</tr>
|
||
<tr>
|
||
<td><span class="platform-table-title"><strong>薪资与企业画像增强包</strong><small>重点产业企业 · 52.7万条</small></span></td>
|
||
<td>V2026.Q1</td><td>8 家</td><td>季度</td>
|
||
<td><span class="status-badge progress">即将到期</span></td><td>2026-04-15</td>
|
||
<td><button class="row-action" data-platform-action="packageDetail" aria-label="查看薪资与企业画像增强包"><svg viewBox="0 0 24 24"><path d="m9 18 6-6-6-6" /></svg></button></td>
|
||
</tr>
|
||
<tr>
|
||
<td><span class="platform-table-title"><strong>产业政策与趋势数据包</strong><small>浙江省产业政策 · 3.2万条</small></span></td>
|
||
<td>V2026.08</td><td>5 家</td><td>每周</td>
|
||
<td><span class="status-badge done">正常服务</span></td><td>2026-03-25</td>
|
||
<td><button class="row-action" data-platform-action="packageDetail" aria-label="查看产业政策与趋势数据包"><svg viewBox="0 0 24 24"><path d="m9 18 6-6-6-6" /></svg></button></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</article>
|
||
|
||
<article class="panel platform-service-panel">
|
||
<div class="panel-header">
|
||
<div><span class="panel-kicker">服务健康</span><h2>核心服务状态</h2></div>
|
||
<span class="platform-live"><i></i>全部正常</span>
|
||
</div>
|
||
<div class="platform-service-list">
|
||
<button data-platform-action="service"><span><i class="service-green"></i><strong>数据接入服务</strong><small>今日处理 128 个任务</small></span><em>99.8%</em></button>
|
||
<button data-platform-action="service"><span><i class="service-green"></i><strong>AI分析引擎</strong><small>平均响应 2.3 秒</small></span><em>99.6%</em></button>
|
||
<button data-platform-action="service"><span><i class="service-green"></i><strong>报告生成服务</strong><small>队列中 6 个任务</small></span><em>99.9%</em></button>
|
||
<button data-platform-action="service"><span><i class="service-amber"></i><strong>外部数据更新</strong><small>1 个来源需要复核</small></span><em>97.2%</em></button>
|
||
</div>
|
||
</article>
|
||
</div>
|
||
|
||
<article class="panel platform-tenant-panel" id="tenantManagement">
|
||
<div class="panel-header">
|
||
<div><span class="panel-kicker">多租户管理</span><h2>学校机构与订阅状态</h2></div>
|
||
<button class="button tertiary" data-platform-action="tenant">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 5v14M5 12h14" /></svg>
|
||
新增学校租户
|
||
</button>
|
||
</div>
|
||
<div class="tenant-card-grid">
|
||
<button class="tenant-card" data-platform-action="tenantDetail">
|
||
<span class="tenant-logo">杭</span><span><strong>杭州科技职业技术学院</strong><small>旗舰版 · 6个数据源 · 386名用户</small></span><em class="status-badge done">运行中</em>
|
||
</button>
|
||
<button class="tenant-card" data-platform-action="tenantDetail">
|
||
<span class="tenant-logo blue">浙</span><span><strong>浙江机电职业技术大学</strong><small>专业版 · 4个数据源 · 248名用户</small></span><em class="status-badge done">运行中</em>
|
||
</button>
|
||
<button class="tenant-card" data-platform-action="tenantDetail">
|
||
<span class="tenant-logo amber">宁</span><span><strong>宁波城市职业技术学院</strong><small>标准版 · 3个数据源 · 169名用户</small></span><em class="status-badge review">配置中</em>
|
||
</button>
|
||
</div>
|
||
</article>
|
||
|
||
<div class="platform-bottom-grid">
|
||
<article class="panel platform-account-panel" id="accountManagement">
|
||
<div class="panel-header">
|
||
<div><span class="panel-kicker">平台权限</span><h2>账号与安全</h2></div>
|
||
<button class="text-button" data-platform-action="account">管理账号</button>
|
||
</div>
|
||
<div class="platform-quick-list">
|
||
<button data-platform-action="account"><span class="quick-icon green">管</span><span><strong>平台管理员</strong><small>8 个账号 · 2 个今日在线</small></span><em>管理</em></button>
|
||
<button data-platform-action="permission"><span class="quick-icon blue">权</span><span><strong>角色与权限模板</strong><small>7 套模板 · 最近更新于昨日</small></span><em>配置</em></button>
|
||
<button data-platform-action="security"><span class="quick-icon amber">安</span><span><strong>安全策略</strong><small>MFA已开启 · 无高危风险</small></span><em>查看</em></button>
|
||
</div>
|
||
</article>
|
||
|
||
<article class="panel platform-backup-panel" id="backupManagement">
|
||
<div class="panel-header">
|
||
<div><span class="panel-kicker">容灾保障</span><h2>备份与恢复</h2></div>
|
||
<span class="status-badge done">策略正常</span>
|
||
</div>
|
||
<div class="backup-hero">
|
||
<span class="backup-icon"><svg viewBox="0 0 24 24"><path d="M20 11a8 8 0 1 0-2.34 5.66M20 4v7h-7" /></svg></span>
|
||
<span><strong>最近备份成功</strong><small>今天 02:00 · 全量备份 · 18.6 GB</small></span>
|
||
</div>
|
||
<div class="backup-meta"><span>保留策略<strong>30 天</strong></span><span>异地副本<strong>2 份</strong></span><span>下次备份<strong>明天 02:00</strong></span></div>
|
||
<div class="backup-actions">
|
||
<button class="button secondary" data-platform-action="restore">恢复演练</button>
|
||
<button class="button primary" data-platform-action="backup">立即备份</button>
|
||
</div>
|
||
</article>
|
||
|
||
<article class="panel platform-audit-panel" id="auditManagement">
|
||
<div class="panel-header">
|
||
<div><span class="panel-kicker">平台审计</span><h2>最近关键操作</h2></div>
|
||
<button class="text-button" data-platform-action="audit">全部日志</button>
|
||
</div>
|
||
<div class="audit-list">
|
||
<button data-platform-action="audit"><span class="audit-dot green"></span><span><strong>基础数据包 V2026.03 发布</strong><small>陈致远 · 今天 09:42</small></span></button>
|
||
<button data-platform-action="audit"><span class="audit-dot blue"></span><span><strong>新增宁波城市职院租户</strong><small>平台运营组 · 昨天 16:20</small></span></button>
|
||
<button data-platform-action="audit"><span class="audit-dot amber"></span><span><strong>就业数据字段异常告警</strong><small>系统自动检测 · 昨天 08:13</small></span></button>
|
||
</div>
|
||
</article>
|
||
</div>
|
||
</section>
|
||
</main>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sidebar-scrim" id="sidebarScrim"></div>
|
||
<div class="tooltip" id="tooltip" role="tooltip"></div>
|
||
<div class="toast-region" id="toastRegion" aria-live="polite"></div>
|
||
|
||
<!-- 数据资产与运维工作台 -->
|
||
<div class="data-ops-backdrop" id="dataOpsDrawer" aria-hidden="true">
|
||
<aside class="data-ops-drawer" role="dialog" aria-modal="true" aria-labelledby="dataOpsTitle">
|
||
<header class="data-ops-header">
|
||
<div>
|
||
<span id="dataOpsKicker">DATA ASSET DETAIL</span>
|
||
<h2 id="dataOpsTitle">数据资产详情</h2>
|
||
<p id="dataOpsDescription">查看更新内容、导入要求、版本、质量与运行记录。</p>
|
||
</div>
|
||
<button id="closeDataOpsDrawer" aria-label="关闭数据运维工作台">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18" /></svg>
|
||
</button>
|
||
</header>
|
||
<div class="data-ops-tabs" id="dataOpsTabs">
|
||
<button class="active" data-data-ops-tab="overview">更新概览</button>
|
||
<button data-data-ops-tab="requirements">数据要求</button>
|
||
<button data-data-ops-tab="history">版本与任务</button>
|
||
<button data-data-ops-tab="audit">授权与审计</button>
|
||
<button data-data-ops-tab="usage">接收与使用反馈</button>
|
||
</div>
|
||
<div class="data-ops-content" id="dataOpsContent"></div>
|
||
<footer class="data-ops-footer" id="dataOpsFooter"></footer>
|
||
</aside>
|
||
</div>
|
||
|
||
<!-- 业务详情工作台 -->
|
||
<div class="workspace-detail-backdrop" id="workspaceDetailDrawer" aria-hidden="true">
|
||
<aside class="workspace-detail-drawer" role="dialog" aria-modal="true" aria-labelledby="workspaceDetailTitle">
|
||
<header class="workspace-detail-header">
|
||
<div>
|
||
<span id="workspaceDetailKicker">WORKSPACE DETAIL</span>
|
||
<h2 id="workspaceDetailTitle">业务详情</h2>
|
||
<p id="workspaceDetailDescription">查看业务上下文、责任人与进展证据。</p>
|
||
</div>
|
||
<button id="closeWorkspaceDetail" aria-label="关闭业务详情">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18" /></svg>
|
||
</button>
|
||
</header>
|
||
<div class="workspace-detail-content" id="workspaceDetailContent"></div>
|
||
<footer class="workspace-detail-footer" id="workspaceDetailFooter"></footer>
|
||
</aside>
|
||
</div>
|
||
|
||
<!-- 产品推广导览 -->
|
||
<div class="product-tour-backdrop" id="productTour" aria-hidden="true">
|
||
<section class="product-tour-modal" role="dialog" aria-modal="true" aria-labelledby="productTourTitle">
|
||
<button class="product-tour-close" id="closeProductTour" aria-label="关闭产品导览">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18" /></svg>
|
||
</button>
|
||
<div class="product-tour-hero">
|
||
<span>PRODUCT WALKTHROUGH</span>
|
||
<h2 id="productTourTitle">5分钟看懂产教融智</h2>
|
||
<p>不是再做一套数据看板,而是把“产业信号、专业诊断、校企协同、改进任务、正式报告”串成可追踪的工作闭环。</p>
|
||
</div>
|
||
<div class="tour-value-grid">
|
||
<article><i>01</i><strong>看得清</strong><span>多源数据统一口径,定位专业、岗位与技能差距。</span></article>
|
||
<article><i>02</i><strong>落得下</strong><span>分析建议直接转为责任明确、可验收的改进任务。</span></article>
|
||
<article><i>03</i><strong>讲得明</strong><span>学校事实、区域基准、样本和来源形成完整证据链。</span></article>
|
||
</div>
|
||
<div class="tour-route">
|
||
<span><b>1</b>数据可信</span><i></i>
|
||
<span><b>2</b>发现差距</span><i></i>
|
||
<span><b>3</b>协同改进</span><i></i>
|
||
<span><b>4</b>报告交付</span>
|
||
</div>
|
||
<div class="product-tour-actions">
|
||
<button class="button secondary" id="tourPlatformButton">查看平台运营端</button>
|
||
<button class="button secondary" id="tourReportButton">直接查看全校报告</button>
|
||
<button class="button primary" id="startProductTour">开始7步导览</button>
|
||
</div>
|
||
<small>支持校级管理者、校级技术管理员、学院负责人、专业负责人、就业老师、企业导师和厂商超级管理员七种角色视角。</small>
|
||
</section>
|
||
</div>
|
||
|
||
<aside class="product-tour-coach" id="productTourCoach" hidden>
|
||
<div class="tour-coach-head">
|
||
<span id="tourStepLabel">01 / 07</span>
|
||
<button id="closeTourCoach" aria-label="退出产品导览">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18" /></svg>
|
||
</button>
|
||
</div>
|
||
<strong id="tourStepTitle">可信数据底座</strong>
|
||
<p id="tourStepDescription">区分厂商基础数据包、学校自有数据和企业授权数据,让每个结论都能回溯。</p>
|
||
<div class="tour-coach-actions">
|
||
<button id="tourPrevious">上一步</button>
|
||
<button id="tourNext">下一步</button>
|
||
</div>
|
||
</aside>
|
||
|
||
<!-- 供需会展示大屏 -->
|
||
<div class="showcase-screen" id="showcaseScreen" aria-hidden="true">
|
||
<header class="showcase-header">
|
||
<div class="showcase-brand">
|
||
<span class="showcase-brand-mark"><i></i><i></i><i></i></span>
|
||
<span><strong>产教融智 · 供需会展示大屏</strong><small>杭州科技职业技术学院 · 2026年春季分析快照</small></span>
|
||
</div>
|
||
<div class="showcase-header-actions">
|
||
<span><i></i>数据更新于 08:30</span>
|
||
<button id="closeShowcaseScreen" aria-label="退出展示大屏">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18" /></svg>
|
||
</button>
|
||
</div>
|
||
</header>
|
||
<main class="showcase-content">
|
||
<section class="showcase-title">
|
||
<div><span>INDUSTRY × EDUCATION</span><h2>学校人才培养与产业需求对接态势</h2><p>覆盖 32 个专业、18,420 个岗位信号、126 家合作企业</p></div>
|
||
<div class="showcase-score"><strong>78.6</strong><span>全校供需匹配度</span><em>较上期 +4.2</em></div>
|
||
</section>
|
||
<section class="showcase-metrics">
|
||
<article><span>高匹配专业</span><strong>18<small>个</small></strong><em>占比 56.3%</em></article>
|
||
<article><span>重点技能缺口</span><strong>23<small>项</small></strong><em>8 项高优先级</em></article>
|
||
<article><span>合作企业</span><strong>126<small>家</small></strong><em>18 家本期新增</em></article>
|
||
<article><span>改进完成率</span><strong>68<small>%</small></strong><em>21 / 31 项完成</em></article>
|
||
</section>
|
||
<section class="showcase-main-grid">
|
||
<article class="showcase-panel showcase-ranking">
|
||
<div class="showcase-panel-head"><span>专业供需表现</span><strong>TOP 5 PROGRAMS</strong></div>
|
||
<div class="showcase-rank-list">
|
||
<span><b>01</b><strong>云计算技术应用</strong><i><em style="width:85.1%"></em></i><small>85.1</small></span>
|
||
<span><b>02</b><strong>软件技术</strong><i><em style="width:84.2%"></em></i><small>84.2</small></span>
|
||
<span><b>03</b><strong>新能源汽车技术</strong><i><em style="width:83.1%"></em></i><small>83.1</small></span>
|
||
<span><b>04</b><strong>工业机器人技术</strong><i><em style="width:82.3%"></em></i><small>82.3</small></span>
|
||
<span><b>05</b><strong>机电一体化技术</strong><i><em style="width:81.7%"></em></i><small>81.7</small></span>
|
||
</div>
|
||
</article>
|
||
<article class="showcase-panel showcase-growth">
|
||
<div class="showcase-panel-head"><span>产业需求增速</span><strong>90-DAY SIGNAL</strong></div>
|
||
<div class="showcase-growth-chart">
|
||
<span style="--value:95"><i>工业视觉</i><b>+38%</b></span>
|
||
<span style="--value:85"><i>跨境运营</i><b>+34%</b></span>
|
||
<span style="--value:78"><i>云平台</i><b>+31%</b></span>
|
||
<span style="--value:68"><i>工业机器人</i><b>+27%</b></span>
|
||
<span style="--value:60"><i>AI内容生产</i><b>+24%</b></span>
|
||
</div>
|
||
</article>
|
||
<article class="showcase-panel showcase-focus">
|
||
<div class="showcase-panel-head"><span>本期决策重点</span><strong>ACTION FOCUS</strong></div>
|
||
<div class="showcase-focus-list">
|
||
<span><b>P0</b><strong>11个专业响应高优技能缺口</strong><small>4月底前形成课程或实训调整方案</small></span>
|
||
<span><b>P1</b><strong>建设工业视觉与云原生共享实训</strong><small>已识别 7 家高匹配合作企业</small></span>
|
||
<span><b>P1</b><strong>建立企业需求季度确认机制</strong><small>互联网信号与企业确认分开验证</small></span>
|
||
</div>
|
||
</article>
|
||
</section>
|
||
<footer class="showcase-footer">
|
||
<span>数据快照 SNP-2026-03-22-0830 · 质量评分 92.6 · 全链路可追溯</span>
|
||
<strong>从产业信号到专业改进,让每项决策都有证据</strong>
|
||
</footer>
|
||
</main>
|
||
</div>
|
||
|
||
<!-- 通用表单弹窗 -->
|
||
<div class="modal-backdrop" id="formModal" aria-hidden="true">
|
||
<div class="modal form-modal" role="dialog" aria-modal="true" aria-labelledby="formModalTitle">
|
||
<button class="modal-close" data-close-modal aria-label="关闭">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18" /></svg>
|
||
</button>
|
||
<div class="modal-kicker" id="formModalKicker">ACTION FORM</div>
|
||
<h2 id="formModalTitle">创建改进任务</h2>
|
||
<p id="formModalDescription">将分析洞察转化为可追踪的行动。</p>
|
||
<form id="actionForm">
|
||
<label>
|
||
<span id="formNameLabel">任务名称</span>
|
||
<input id="formName" required value="强化云原生与容器化实训内容" />
|
||
</label>
|
||
<div class="form-row">
|
||
<label>
|
||
<span id="formScopeLabel">关联专业</span>
|
||
<select id="formScope"><option>软件技术</option><option>机电一体化技术</option><option>电子商务</option></select>
|
||
</label>
|
||
<label>
|
||
<span id="formPriorityLabel">优先级</span>
|
||
<select id="formPriority"><option>高优先级</option><option>中优先级</option><option>低优先级</option></select>
|
||
</label>
|
||
</div>
|
||
<label>
|
||
<span id="formGoalLabel">目标与说明</span>
|
||
<textarea id="formGoal" rows="4">依据近90天岗位数据,将 Docker、Kubernetes 与 CI/CD 实践纳入实训课程,并邀请企业导师参与课程评审。</textarea>
|
||
</label>
|
||
<div class="form-row">
|
||
<label>
|
||
<span id="formOwnerLabel">负责人</span>
|
||
<input id="formOwner" value="李雯 · 信息工程学院" />
|
||
</label>
|
||
<label>
|
||
<span id="formDueLabel">计划完成时间</span>
|
||
<input id="formDue" type="date" value="2026-06-30" />
|
||
</label>
|
||
</div>
|
||
<div class="modal-actions">
|
||
<button type="button" class="button secondary" data-close-modal>取消</button>
|
||
<button type="submit" class="button primary">确认创建</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 报告弹窗 -->
|
||
<div class="modal-backdrop" id="reportModal" aria-hidden="true">
|
||
<div class="modal report-modal" role="dialog" aria-modal="true" aria-labelledby="reportModalTitle">
|
||
<button class="modal-close" data-close-modal aria-label="关闭">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18" /></svg>
|
||
</button>
|
||
<div class="report-modal-head">
|
||
<span class="report-graphic">
|
||
<svg viewBox="0 0 80 80" aria-hidden="true">
|
||
<path d="M22 8h27l13 13v51H22V8Z" />
|
||
<path d="M49 8v14h13M31 35h22M31 45h22M31 55h14" />
|
||
</svg>
|
||
</span>
|
||
<div>
|
||
<div class="modal-kicker">REPORT PACKAGE</div>
|
||
<h2 id="reportModalTitle">生成供需会材料包</h2>
|
||
<p id="reportModalDescription">所有报告将使用同一分析快照,确保统计口径一致。</p>
|
||
</div>
|
||
</div>
|
||
<div class="snapshot-card">
|
||
<span>数据快照</span>
|
||
<strong>V2026.03 · 2026年3月分析批次</strong>
|
||
<small>128,642 条有效记录 · 质量评分 92.6</small>
|
||
</div>
|
||
<fieldset class="report-options" id="reportOptions">
|
||
<legend>选择报告内容</legend>
|
||
<label><input type="checkbox" checked /><span><strong>全校供需分析总报告</strong><small>约 42 页 · PDF / Word</small></span></label>
|
||
<label><input type="checkbox" checked /><span><strong>32个专业人才需求报告</strong><small>独立文件 · 自动生成目录</small></span></label>
|
||
<label><input type="checkbox" checked /><span><strong>关键指标一页纸</strong><small>适用于会议汇报与报送</small></span></label>
|
||
<label><input type="checkbox" /><span><strong>数据口径与质量附件</strong><small>指标定义、样本量及数据来源</small></span></label>
|
||
</fieldset>
|
||
<div class="report-progress" id="reportProgress" hidden>
|
||
<div><span id="reportProgressText">正在准备报告模板…</span><strong id="reportProgressValue">0%</strong></div>
|
||
<i><b id="reportProgressBar"></b></i>
|
||
</div>
|
||
<div class="modal-actions">
|
||
<button class="button secondary" data-close-modal>取消</button>
|
||
<button class="button primary" id="generateReportButton">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3v12m0 0 4-4m-4 4-4-4M5 21h14" /></svg>
|
||
开始生成
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 报告正文阅读器 -->
|
||
<div class="report-reader" id="reportReader" aria-hidden="true">
|
||
<header class="report-reader-header">
|
||
<div class="report-reader-identity">
|
||
<button class="icon-button report-reader-close" id="closeReportReader" aria-label="返回报告中心">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="m15 18-6-6 6-6" /></svg>
|
||
</button>
|
||
<span>
|
||
<small>报告在线预览</small>
|
||
<strong id="reportReaderTitle">全校产教供需分析总报告</strong>
|
||
</span>
|
||
</div>
|
||
<div class="report-reader-actions">
|
||
<span class="reader-version" id="reportReaderVersion">V2026.03</span>
|
||
<button class="button secondary" id="reportPrintButton">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 9V2h12v7M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2M6 14h12v8H6v-8Z" /></svg>
|
||
打印
|
||
</button>
|
||
<button class="button primary" id="reportDownloadButton">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3v12m0 0 4-4m-4 4-4-4M5 21h14" /></svg>
|
||
下载报告
|
||
</button>
|
||
</div>
|
||
</header>
|
||
<div class="report-approval-toolbar" id="reportApprovalToolbar"></div>
|
||
<div class="report-reader-layout">
|
||
<aside class="report-toc">
|
||
<span class="report-toc-label">报告目录</span>
|
||
<nav id="reportToc" aria-label="报告目录"></nav>
|
||
<div class="report-reader-meta">
|
||
<span>数据快照<strong>V2026.03</strong></span>
|
||
<span>质量评分<strong>92.6</strong></span>
|
||
<span>生成时间<strong>2026-03-22</strong></span>
|
||
</div>
|
||
</aside>
|
||
<main class="report-document-wrap">
|
||
<article class="report-document" id="reportDocument"></article>
|
||
</main>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 闭环动作表单 -->
|
||
<div class="modal-backdrop" id="closedLoopModal" aria-hidden="true">
|
||
<div class="modal loop-modal" role="dialog" aria-modal="true" aria-labelledby="closedLoopModalTitle">
|
||
<button class="modal-close" data-close-modal aria-label="关闭">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18" /></svg>
|
||
</button>
|
||
<div class="modal-kicker" id="closedLoopModalKicker">CLOSED LOOP ACTION</div>
|
||
<h2 id="closedLoopModalTitle">闭环动作</h2>
|
||
<p id="closedLoopModalDescription">提交后将写入本地样板状态和审计事件。</p>
|
||
<form id="closedLoopForm">
|
||
<div class="loop-modal-fields" id="closedLoopFields"></div>
|
||
<div class="modal-actions">
|
||
<button type="button" class="button secondary" data-close-modal>取消</button>
|
||
<button type="submit" class="button primary" id="closedLoopSubmit">确认提交</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 平台级操作弹窗 -->
|
||
<div class="modal-backdrop" id="platformActionModal" aria-hidden="true">
|
||
<div class="modal platform-action-modal" role="dialog" aria-modal="true" aria-labelledby="platformActionTitle">
|
||
<button class="modal-close" data-close-modal aria-label="关闭">
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 6l12 12M18 6 6 18" /></svg>
|
||
</button>
|
||
<div class="modal-kicker" id="platformActionKicker">PLATFORM OPERATION</div>
|
||
<h2 id="platformActionTitle">导入基础数据包</h2>
|
||
<p id="platformActionDescription">创建平台级数据导入任务,并选择授权学校范围。</p>
|
||
<div class="platform-action-content" id="platformActionContent"></div>
|
||
<div class="report-progress" id="platformActionProgress" hidden>
|
||
<div><span id="platformActionProgressText">正在校验数据包…</span><strong id="platformActionProgressValue">0%</strong></div>
|
||
<i><b id="platformActionProgressBar"></b></i>
|
||
</div>
|
||
<div class="modal-actions">
|
||
<button class="button secondary" data-close-modal>取消</button>
|
||
<button class="button primary" id="platformActionConfirm">确认执行</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 分析进度弹窗 -->
|
||
<div class="modal-backdrop" id="analysisModal" aria-hidden="true">
|
||
<div class="modal analysis-modal" role="dialog" aria-modal="true" aria-labelledby="analysisTitle">
|
||
<div class="analysis-orbit">
|
||
<span></span><span></span><i></i>
|
||
<svg viewBox="0 0 24 24" aria-hidden="true"><path d="m12 3 1.6 4.4L18 9l-4.4 1.6L12 15l-1.6-4.4L6 9l4.4-1.6L12 3Z" /></svg>
|
||
</div>
|
||
<div class="modal-kicker">ANALYSIS ENGINE</div>
|
||
<h2 id="analysisTitle">正在生成本期供需分析</h2>
|
||
<p id="analysisStatus">读取本期分析快照…</p>
|
||
<div class="analysis-progress"><i id="analysisProgress"></i></div>
|
||
<div class="analysis-steps">
|
||
<span class="active">数据校验</span><span>岗位匹配</span><span>技能分析</span><span>生成洞察</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script src="./vendor/echarts.min.js"></script>
|
||
<script src="./vendor/echarts-gl.min.js"></script>
|
||
<script src="./report-visuals.js"></script>
|
||
<script src="./app.js"></script>
|
||
</body>
|
||
</html>
|