🔐 登录吉林万通药业数据平台
看不清可点击右侧题目刷新,验证码 5 分钟内有效。
{{ loginError }}
默认管理员账号通常由后端初始化。登录成功后会自动加载统计、预览和权限菜单。
{{ tabTitles[currentTab] }}
Oracle {{ oracleStatus==='ok' ? '正常' : oracleStatus==='fail' ? '异常' : '检测中' }} {{ currentDate }} 权限 {{ permissionCountText }}
首页只保留核心状态和业务入口
已移除趋势、热点客户、热点供应商、库存热点、数据时间覆盖、最近操作等信息块。现在的首页更轻、更稳,也更适合正式交付和日常办公使用。
当前用户:{{ user.username }}({{ user.role==='admin' ? '管理员' : '查看者' }}) Oracle:{{ oracleStatus==='ok' ? '连接正常' : oracleStatus==='fail' ? '连接异常' : '检测中' }} 权限数量:{{ permissionCountText }} 会话状态:{{ tokenExpiry || '当前已登录' }}
📋
{{ formatNumber(stats.sale_count) }}
📦
{{ formatNumber(stats.inv_count) }}
📥
{{ formatNumber(stats.pur_count) }}
🧮
{{ formatNumber(statsTotal) }}
📋
流向数据
适合做药品、客户、批号和日期相关的快速查询,也支持模糊搜索和批量导出。
总量 {{ formatNumber(stats.sale_count) }} 支持模糊检索
📦
库存数据
适合查看品种、规格、批次和库存分布,页面更干净,打开后直接进入查数状态。
总量 {{ formatNumber(stats.inv_count) }} 支持批量导出
📥
采购数据
适合按供应商、药品和日期做采购查询,保留核心能力,减少不必要的信息干扰。
总量 {{ formatNumber(stats.pur_count) }} 支持 Excel 导出
使用建议
这一版首页主打“少而精”,适合交付客户、领导查看或日常办公,不再堆趋势图和热点列表。
如果要查业务数据,直接从上面的三个核心模块进入,效率会更高。
模糊搜索现在会在查询后自动清空输入框,但当前查询条件仍然保持生效。
如果需要核对字段映射或数据库状态,可以直接进入“系统检测”。
📤
{{ formatNumber(stats.sale_count) }}
📦
{{ formatNumber(stats.inv_count) }}
📥
{{ formatNumber(stats.pur_count) }}
🧾
{{ formatNumber(recentLogs.length) }}
📈 智能分析看板
这部分新增了趋势、热点客户/供应商、库存热点品种和数据时间覆盖,适合老板或运营快速看全局。
生成时间 {{ dashboardAnalysis.generated_at || '—' }}
当前用户:{{ user.username }}({{ user.role==='admin' ? '管理员' : '查看者' }}) 令牌到期:{{ tokenExpiry || '本次会话已登录' }} Oracle:{{ oracleStatus==='ok' ? '连接正常' : oracleStatus==='fail' ? '连接异常' : '正在检查' }} 分析周期:最近 {{ analysisPeriod }} 天
数据占比总览
总计 {{ formatNumber(statsTotal) }} 条
业务总量
{{ formatNumber(statsTotal) }}
{{ item.label }}
{{ item.percent }}%
近 {{ analysisPeriod }} 天趋势折线
蓝色:流向 绿色:采购
{{ shortDate(dashboardAnalysis.sale_daily?.[0]?.label || '') || '起点' }} {{ shortDate(dashboardAnalysis.sale_daily?.[Math.max((dashboardAnalysis.sale_daily?.length || 1)-1,0)]?.label || '') || '终点' }}
流向趋势(按日期记录数)
最新 {{ dashboardAnalysis.sale_summary?.latest || 0 }} 峰值 {{ dashboardAnalysis.sale_summary?.max || 0 }}
{{ shortDate(item.label) }}
{{ formatNumber(item.count) }}
暂无分析数据
采购趋势(按日期记录数)
最新 {{ dashboardAnalysis.pur_summary?.latest || 0 }} 峰值 {{ dashboardAnalysis.pur_summary?.max || 0 }}
{{ shortDate(item.label) }}
{{ formatNumber(item.count) }}
暂无分析数据
流向热点客户
{{ item.label || '未命名客户' }}
{{ formatNumber(item.count) }}
暂无热点客户
采购热点供应商
{{ item.label || '未命名供应商' }}
{{ formatNumber(item.count) }}
暂无热点供应商
库存热点品种
{{ item.label || '未命名品种' }}
{{ formatNumber(item.count) }}
暂无库存热点数据
数据时间覆盖
流向数据范围
{{ dashboardAnalysis.ranges?.sale?.min || '—' }} ~ {{ dashboardAnalysis.ranges?.sale?.max || '—' }}
配合日期筛选和排序,方便核对最近或历史数据。
采购数据范围
{{ dashboardAnalysis.ranges?.pur?.min || '—' }} ~ {{ dashboardAnalysis.ranges?.pur?.max || '—' }}
可以快速判断数据是否补齐、是否有更新。
🏢 系统信息与能力增强
当前用户
{{ user.username }}({{ user.role==='admin' ? '管理员' : '查看者' }})
已增强功能
智能分析看板、高级筛选、筛选方案保存、当前页表头排序、密度切换、导出增强、用户启停与重置、操作日志
快速入口
支持一键进入流向 / 库存 / 采购 / 用户管理
🕘 最近操作
{{ log.Username || '未知用户' }} · {{ actionText(log.Action) }}
{{ log.Detail || '—' }}
{{ formatDateTime(log.CreatedAt) }} · {{ log.IP || 'IP未知' }}
暂无最近操作记录
{{ systemError }}
系统检测 / 字段识别
生成时间 {{ systemMeta.generated_at || '—' }}
Oracle {{ (systemMeta.oracle_ready || oracleStatus==='ok') ? '连接正常' : '未连接或异常' }} 模块 {{ systemModules.length }} 个 交付建议:上线前先确认每个视图的识别字段都完整
{{ mod.title }}
视图:{{ mod.view }}
{{ mod.issues?.length ? '需关注' : '识别正常' }}
字段总数{{ mod.column_count }}
日期字段{{ mod.date_column || '未识别' }}
药品字段{{ mod.drug_column || '未识别' }}
客户字段{{ mod.customer_column || '未识别' }}
供应商字段{{ mod.supplier_column || '未识别' }}
{{ issue }}
前 12 个字段预览
{{ col }}
上线前建议检查
这部分是交付时最容易被忽略的点
1三张业务表都试一次:查询、分页、导出、Excel 导出
2采购、流向是否都能识别日期字段并支持排序
3Oracle 状态、字段检测页在 Docker / Nginx 下是否能正常打开
4至少用一个查看者账号验证权限是否生效
5有问题时先看这里,再看操作日志,定位会更快
{{ tableError }}
{{ tabTitles[currentTab] }}
{{ tabTitles[currentTab] }} 智能查询
支持药品、客户、供应商、单据号等关键词模糊匹配,命中内容会在结果中高亮。
模式 模糊查找 结果 {{ formatNumber(total) }} 条 范围 {{ currentTab === 'inv' ? '库存视图' : currentTab === 'sale' ? '流向视图' : '采购视图' }}
模糊搜索
已选 {{ formatNumber(effectiveSelectedCount) }} 条 当前筛选结果已进入跨分页全选 本次查询 {{ formatNumber(total) }} 条
当前搜索范围
{{ col }} +{{ querySearchColumnsOverflow }} 个字段
当前关键词{{ lastQueryMeta.keyword || '未输入' }}
搜索词数{{ activeKeywordTerms.length || 0 }}
最近查询时间{{ lastQueryAt || '—' }}
你现在可以把常用筛选条件保存成方案,下次一键套用;修改后点上方“立即查询”即可生效。
📌 {{ item.name }}
勾选要显示的列,当前模块即时生效。
当前筛选: {{ item.label }}
{{ activeKeywordTerms.length ? `模糊搜索:${lastQueryMeta.keyword || search}` : `查询结果 ${formatNumber(total)} 条` }}
第 {{ currentPage }} / {{ totalPages }} 页 · 用时 {{ queryDurationMs }} ms · 查询于 {{ lastQueryAt || '—' }}
命中词:{{ activeKeywordTerms.join(' / ') }} 后端模糊匹配已开启 {{ col }} +{{ querySearchColumnsOverflow }} 个字段
支持双击行查看明细,黄色高亮代表命中的查询内容。
已选操作
{{ selectionStatusText }},导出入口在上方智能查询。
已选 {{ formatNumber(effectiveSelectedCount) }} 条 覆盖 {{ selectionCoverageText }} 范围 {{ exportScopeLabel }} 状态 当前页已全选 提示 当前账号无导出权限
当前页数字字段汇总
自动识别数值列
{{ item.field }}合计 {{ item.sum }}
当前页高频字段
方便快速看分布
{{ item.field }}{{ item.label }}({{ item.count }})
# {{ sortIndicator('__index') }} 命中内容 {{ col }} {{ sortIndicator(col) }}
{{ row.__displayIndex || ((currentPage - 1) * pageSize + idx + 1) }}
{{ item.field }}
当前页未提取到明显命中片段
{{ emptyStateTitle }}
{{ emptyStateHint }}
用户管理
支持启用/禁用 支持切换角色 支持重置密码后强制改密 支持登录失败锁定保护 支持细粒度权限设置
当前 {{ filteredUsers.length }} 个用户
ID用户名角色权限状态安全状态最后登录最后登录IP创建时间操作
{{ u.ID }}
{{ u.Username }}
首次登录需修改密码
{{ permissionLabel(u) }} {{ u.Active ? '启用中' : '已禁用' }}
{{ userLockText(u) }}
失败 {{ u.FailedAttempts || 0 }} 次
{{ formatDateTime(u.LastLoginAt) }} {{ u.LastLoginIP || '—' }} {{ formatDateTime(u.CreatedAt) }}
暂无用户数据
操作日志
ID用户名动作对象详情IP状态时间
{{ l.ID }} {{ l.Username || '—' }} {{ actionText(l.Action) }} {{ l.Target || '—' }} {{ l.Detail || '—' }} {{ l.IP || '—' }} {{ l.Status || '—' }} {{ formatDateTime(l.CreatedAt) }}
暂无日志数据
{{ t.msg }}