净值日历
{{ authMode === 'login' ? '登录' : authMode === 'register' ? '注册' : '找回密码' }}
{{ privacy ? '****' : formatNumber(portfolioSummary.total_value) }}
{{ filterStatus === 'holding' ? '持仓金额' : filterStatus === 'cleared' ? '清仓本金' : '在途本金' }}
{{ filterStatus === 'holding' ? formatSignedNumber(portfolioSummary.latest_daily_income) : '--' }}
{{ filterStatus === 'holding' ? '最新收益(' + shortDate(portfolioSummary.latest_nav_date) + ')' : '最新收益' }}
{{ privacy ? '****' : (filterStatus === 'holding' ? formatIncome10k(portfolioSummary.latest_per_10k) : '--') }}
{{ filterStatus === 'holding' ? '最新万收(' + shortDate(portfolioSummary.latest_nav_date) + ')' : '最新万收' }}
{{ privacy ? '****' : formatSignedNumber(portfolioSummary.total_income) }}
{{ filterStatus === 'holding' ? '持仓收益' : filterStatus === 'cleared' ? '清仓收益' : '在途收益' }}
{{ formatPct(portfolioSummary.total_annualized) }}
{{ filterStatus === 'holding' ? '持仓年化' : filterStatus === 'cleared' ? '清仓年化' : '在途年化' }}
[置顶]{{ currentTicker.title ? currentTicker.title + ':' : '' }}{{ currentTicker.content }}
暂无消息
{{ distFilter.label }}✕
产品期限
短期 {{ distribution.duration.short_pct }}%
长期 {{ distribution.duration.long_pct }}%
短期 {{ distribution.duration.short }}只
长期 {{ distribution.duration.long }}只
风险等级
{{ key }} {{ info.pct }}%
{{ key }} {{ info.count }}只
起息天数
T+1 {{ distribution.settlement.t_plus_1_pct }}%
T+N {{ distribution.settlement.t_plus_n_pct }}%
T+1 {{ distribution.settlement.t_plus_1 }}只
T+N {{ distribution.settlement.t_plus_n }}只
是否可赎
可赎 {{ distribution.redeemable.can_pct }}%
不可赎 {{ distribution.redeemable.cannot_pct }}%
可赎 {{ distribution.redeemable.can_redeem }}只
不可赎 {{ distribution.redeemable.cannot_redeem }}只
持仓年化
{{ key }} {{ info.pct }}%
{{ key }} {{ info.count }}只
短期 {{ distribution.duration.short_pct }}%
·
{{ key }} {{ info.pct }}%
·
T+1 {{ distribution.settlement.t_plus_1_pct }}%
·
可赎 {{ distribution.redeemable.can_pct }}%
⏰
{{ expiringCount > 0 ? expiringCount + ' 个产品 3 天内到期' : '暂无可赎回的到期产品' }}
{{ distFilter && distFilter.type === 'expiring' ? '正在查看 3 天内到期的产品,点击取消筛选' : '持有期将至,点击查看明细并安排赎回' }}
›
{{ acc.name }}✎
持仓
清仓
在途
▼
{{ p.name }}
{{ p.risk_level ? p.risk_level.substring(0,2) : 'R2' }}
{{ getBankTag(p) }}
{{ p.settlement_rule }}
最低持有{{ p.holding_period }}天
持仓{{ p.holdings.holding_days }}天
净值停更{{ p.nav_stale_days }}天
{{ truncateCode(p.code) }}
{{ p.quota_status }}
市值
{{ privacy ? '****' : formatNumber(p.market_value) }}
持仓收益
{{ privacy ? '****' : formatSignedNumber(p.holding_income) }}
持仓年化
{{ formatPct(p.holdings.holding_annualized) }}
最新收益({{ shortDate(p.latest_nav_date) }})
{{ privacy ? '****' : formatSignedNumber(p.latest_daily_income) }}
万收
{{ p.daily_income_per_10k > 0 ? '+' : '' }}{{ p.daily_income_per_10k.toFixed(2) }}
成本 {{ formatNav(p.holdings.cost_nav) }}
最新净值 {{ formatNav(p.latest_nav) }}({{ shortDate(p.latest_nav_date) }})
{{ p.tx_count }}笔交易
{{ p.account_name || '默认账户' }}
⋮
备注: {{ p.note }}
删除
{{ detailPreviewMode ? '净值日历 · 产品明细' : '净值日历 · 持仓详情' }}
{{ selectedProduct.name }}
{{ getBankTag(selectedProduct) }}
{{ truncateCode(selectedProduct.code) }}
{{ selectedProduct.risk_level || 'R2' }}
{{ selectedProduct.settlement_rule }}
最低持有{{ selectedProduct.holding_period }}天
CNY
成立日期 {{ selectedProduct.inception_date || '--' }}
{{ selectedProduct.quota_status }}
规模 {{ formatSize(selectedProduct.official_size) }}
备注: {{ selectedProduct.note }}
AI预判 · {{ selectedProduct.ai_hint }}
同款{{ selectedProduct.ai_series_count }}个
{{ selectedProduct.ai_hint_detail }}
金额(元)
{{ privacy ? '****' : formatNumber(selectedHoldings.market_value) }}
昨日收益
{{ privacy ? '****' : formatSignedNumber(latestDailyIncome) }}
持仓收益
{{ privacy ? '****' : formatSignedNumber(selectedHoldings.holding_income) }}
持仓收益率
{{ formatPct(selectedHoldings.holding_return_pct) }}
累计收益
{{ privacy ? '****' : formatSignedNumber(selectedHoldings.total_income) }}
持仓份额
{{ privacy ? '****' : formatNumber(selectedHoldings.shares) }}
最新净值
{{ formatNav(selectedProduct.latest_nav) }}
成本净值
{{ formatNav(selectedHoldings.cost_nav) }}
持仓天数
{{ selectedHoldings.holding_days || 0 }}天
⚠ 该产品已 {{ selectedProduct.nav_stale_days }} 天未披露新净值,市值/收益冻结在 {{ selectedProduct.latest_nav_date || '旧值' }}——疑似份额切换或清盘,请核对实际持仓(新份额请在申购页重新录入)
类型
日期
金额
净值
份额
操作
{{ tx.type === 'buy' ? '申购' : '赎回' }}
{{ tx.trade_date.slice(2) }}
{{ tx.type === 'buy' ? '-' : '+' }}{{ formatNumber(tx.amount) }}
待更新
{{ formatNav(tx.nav) }}
自动回填中
{{ formatNumber(tx.shares) }}
修改
删除
万收({{ shortDate(selectedProduct.latest_nav_date) }})
{{ selectedProduct.daily_income_per_10k > 0 ? '+' : '' }}{{ selectedProduct.daily_income_per_10k.toFixed(2) }}
近7日年化
{{ historicalAnnualized['7d'].start_date ? (historicalAnnualized['7d'].annualized > 0 ? '+' : '') + historicalAnnualized['7d'].annualized.toFixed(2) + '%' : '--' }}
近14日年化
{{ historicalAnnualized['14d'].start_date ? (historicalAnnualized['14d'].annualized > 0 ? '+' : '') + historicalAnnualized['14d'].annualized.toFixed(2) + '%' : '--' }}
近1月年化
{{ historicalAnnualized['1m'].start_date ? (historicalAnnualized['1m'].annualized > 0 ? '+' : '') + historicalAnnualized['1m'].annualized.toFixed(2) + '%' : '--' }}
近3月年化
{{ historicalAnnualized['3m'].start_date ? (historicalAnnualized['3m'].annualized > 0 ? '+' : '') + historicalAnnualized['3m'].annualized.toFixed(2) + '%' : '--' }}
近6月年化
{{ historicalAnnualized['6m'].start_date ? (historicalAnnualized['6m'].annualized > 0 ? '+' : '') + historicalAnnualized['6m'].annualized.toFixed(2) + '%' : '--' }}
近1年年化
{{ historicalAnnualized['1y'].start_date ? historicalAnnualized['1y'].annualized.toFixed(2) + '%' : '--' }}
成立年化
{{ historicalAnnualized.since_inception.start_date ? (historicalAnnualized.since_inception.annualized > 0 ? '+' : '') + historicalAnnualized.since_inception.annualized.toFixed(2) + '%' : '--' }}
净值趋势
万收趋势
7日均万收
14日均万收
区间年化
日期: {{ chartData.dates.length ? chartData.dates[chartData.dates.length-1] : '--' }}
净值: {{ chartData.navs.length ? formatNav(chartData.navs[chartData.navs.length-1]) : '--' }}
数值: {{ chartData.navs.length ? chartData.navs[chartData.navs.length-1].toFixed(2) : '--' }}
近1月
近3月
近6月
近1年
{{ redeemInfo.redeemable ? '\u2713 可赎回' : '\u2717 不可赎回' }}
{{ redeemInfo.reason }}
月累计收益
{{ privacy ? '****' : formatSignedNumber(calendarData.month_income_total) }}
月年化
{{ formatPct(calendarData.month_annualized) }}
日收益({{ shortDate(selectedCalDate) }})
{{ privacy ? '****' : formatSignedNumber(selectedDayIncome) }}
日年化({{ shortDate(selectedCalDate) }})
{{ formatPct(selectedDayAnnualized) }}
日万收({{ shortDate(selectedCalDate) }})
{{ privacy ? '****' : formatIncome10k(selectedDayPer10k) }}
{{ cell.day }}
{{ privacy ? '****' : (cell.income > 0 ? '+' : '') + formatNumber(cell.income) }}
{{ m }}月
{{ privacy ? '****' : formatSignedNumber(yearMonthIncomes[m-1]) }}
盈利
亏损
点击日期查看收益明细
{{ d.product_name }}
万收{{ privacy ? '****' : formatIncome10k(d.income_per_10k) }} · 份额{{ privacy ? '****' : formatNumber(d.shares) }}
{{ privacy ? '****' : formatSignedNumber(d.income) }}
详情
更多({{ sortedCalDetails.length - calDetailLimit }}个)
暂无收益数据
发行行
代销行
⚡预判{{ lbAiCount }}
{{ lbVisibleItems.length }}个产品
{{ o.label }}
{{ idx + 1 }}
{{ item.name }}
{{ getBankTag(item) }} · {{ item.holding_period }}天 · {{ item.latest_nav_date.slice(5) }}
{{ lbFormatValue(item) }}
{{ item.ai_hint }}
{{ lbSortLabel }}
暂无产品
加载中...
{{ currentUser ? currentUser.nickname : '未登录' }}
{{ portfolioSummary.holding_count || 0 }}个持仓 · {{ portfolioSummary.cleared_count || 0 }}个清仓管理员
用户状态
{{ systemStatus.user_count ?? '-' }}
注册用户数
{{ systemStatus.weekly_login_users ?? '-' }}
最近一周登录数
{{ systemStatus.today_login_users ?? '-' }}
今日登录数
系统状态
{{ systemStatus.product_count }}
总产品
{{ systemStatus.holding_count }}
持仓中
{{ systemStatus.nav_records }}
净值记录
{{ systemStatus.transaction_count }}
交易笔数
为每个银行设置每日1-3个净值更新时间点,系统将按此计划自动抓取数据,避免集中请求被网站屏蔽。
建行网银比发行行官网快一个工作日披露净值。扫码登录建行网银后,同步 {{ ccbSync.targetCount }} 个建行代销他行产品的净值序列。
上次同步 {{ ccbSync.lastResult.finished_at }}:成功 {{ ccbSync.lastResult.ok_count }}/{{ ccbSync.lastResult.total }},新增 {{ ccbSync.lastResult.new_total }} 条
已暂停自动采集(净值调度不受影响)
上次采集: {{ npSchedule.lastRun.finished_at }} {{ npSchedule.lastRun.result === 'ok' ? '成功' : '异常' }}
已暂停自动更新
上次更新: {{ item.last_updated }}
User-Agent(全局)
每行一个,请求时随机使用,扩充池可降低UA指纹被封概率
加载中...
建行网银同步
生成中...
{{ ccbSync.phase === 'scanned' ? '已扫码,请在手机上确认登录' : '请用建行手机银行 App 扫码' }}
⏳
{{ ccbSyncMsg || '处理中...' }}
⏳
{{ ccbSyncMsg }}
{{ ccbSync.progress.done }} / {{ ccbSync.progress.total }}{{ ccbSync.progress.current ? ' · ' + ccbSync.progress.current : '' }}
✅
{{ ccbSyncMsg }}
{{ r.name || r.code }}
{{ r.status === 'ok' ? ('+'+r.new_count+'条 · 最新'+r.latest) : (r.msg || '失败') }}
❌
{{ ccbSyncMsg }}
{{ ccbSyncMsg }}
邀请码管理
点击邀请码可复制,发送给新人注册使用。每个邀请码只能注册一个账号。
{{ item.code }}
{{ item.status === 'used' ? '已注册' : '未使用' }}
{{ item.used_username }} · {{ item.used_at }}
暂无邀请码,点击右上角按钮生成
全部
高风险
中风险
低风险
{{ item.message }}
用户: {{ item.username }}
IP: {{ item.ip }}
{{ logMoreLoading ? '加载中...' : '更多(已显示 ' + systemLogs.length + '/' + logTotal + ')' }}
暂无日志记录
加载中...
本地申购库
本地全量库
申购库概览
{{ purchaseStats.total }}
总产品
{{ purchaseStats.no_agent }}
未标代销行
{{ purchaseStats.listed_no_nav }}
已成立待净值
{{ purchaseStats.new_no_nav }}
新发待净值
批量更新 {{ pmBatchBankName }} 净值
{{ batchNavStatus.done }}/{{ batchNavStatus.total }}
(新披露 {{ batchNavStatus.updated }},跳过 {{ batchNavStatus.skipped || 0 }},失败 {{ batchNavStatus.failed }})
更新完成:新披露 {{ batchNavStatus.updated }} 个,跳过 {{ batchNavStatus.skipped || 0 }} 个(今日已获取){{ batchNavStatus.failed > 0 ? ',' + batchNavStatus.failed + '个失败' : '' }}
已手动停止:新披露 {{ batchNavStatus.updated }} 个,跳过 {{ batchNavStatus.skipped || 0 }} 个,失败 {{ batchNavStatus.failed }} 个
{{ getIssuerTag(p) }} ✎
{{ getPmBankTag(p) }} ✎
{{ p.settlement_rule }} ✎
{{ p.code }} ✎
{{ p.product_type }}
持有{{ p.holding_period > 0 ? p.holding_period + '天' : '--' }} ✎
最新净值
{{ p.latest_nav ? formatNav(p.latest_nav) : '--' }}
{{ p.latest_nav_date || '无数据' }}
净值停更{{ p.nav_stale_days }}天
净值记录: {{ p.nav_records }}条
成立: {{ p.inception_date || '未录入' }} ✎
有人持仓中
删除
暂无产品数据
加载中...
已显示 {{ renderedProducts.length }}/{{ allProducts.length }} 条产品
{{ catalogStats.total }}
总产品
{{ catalogStats.onsale }}
在售
{{ catalogStats.delisted }}
已下架
{{ catalogStats.today_new }}
今日新增
共 {{ catalogFilteredTotal }} 条{{ catalogKeyword || catSourceFilter || catAgentFilter || catShelfFilter ? '(筛选后)' : '' }}
{{ c.issuer_name }}
{{ c.agent_bank }}
{{ c.code }}
成立: {{ c.setup_date }}
首见: {{ c.first_seen || '--' }}
最近: {{ c.last_seen || '--' }}
基准: {{ c.ref_yield }}
没有符合条件的目录产品
加载中...
置顶
{{ m.title || m.content.slice(0,30) }}
{{ m.created_at }}
{{ m.content }}
暂无消息
共 {{ adminUsers.length }} 个用户 · 状态实时刷新
用户名: {{ u.username }}
注册: {{ u.created_at }}
交易: {{ u.tx_count }}笔
权限
{{ u.is_admin ? '全部模块(管理员)' : userPermSummary(u) }}
暂无用户
加载中...
备份文件刷新
加载中...
{{ b.date }}
{{ b.size_mb }}MB · {{ b.created_at }}
暂无备份,点击上方“立即备份”创建
恢复会覆盖当前代码与数据库并自动重启服务(操作前当前代码会自动留存,请谨慎执行)。
采集链路状态
刷新
加载中...
服务端网关
离线(cw-gateway 服务未运行)
服务端网关
运行 {{ collectorUptimeText }} · 队列 {{ collectorStatus.pending || 0 }} · 执行中 {{ collectorStatus.active_tasks || 0 }}
采集客户端
{{ collectorStatus.agent_online ? '在线 · ' + (collectorStatus.agent_ip || '') + ' · ' + (collectorStatus.agent_last_poll || 0) + 's 前活跃' : '离线(超过40秒无心跳)' }}
累计完成任务
{{ collectorStatus.tasks_done || 0 }} 个
故障提示
{{ collectorAlert }}
银行链路端到端测试
{{ e2eRunningAll === 'home' ? '家宽测试中...' : '全部家宽测试' }}
{{ e2eRunningAll === 'server' ? '服务器测试中...' : '全部服务器测试' }}
「家宽出口」经采集客户端直达银行(服务器→网关→客户端→家宽→银行),验证调度家宽链路;「服务器出口」从本服务器直连银行(调度兜底出口),两者对照定位问题:家宽失败+服务器正常=家宽链路问题(如TLS被银行拒绝、线路抖动),两者都失败=银行侧问题。家宽测试成功会自动解除该通道的网关熔断,调度立即恢复家宽出口。
加载中...
通道
家宽出口
服务器出口
操作
{{ t.label }}
{{ e2eText(t.channel, 'home') }}
{{ e2eText(t.channel, 'server') }}
连通性测试
下发 ping 任务验证:网关 → 客户端 链路是否正常
重启采集客户端
下发重启指令,客户端进程退出后由 Docker 自动拉起(约10秒)