{{ getPageTitle() }}

{{ lang === 'en' ? '中文' : 'English' }}
{{ currentUser?.username }} ({{ currentUser?.role }})
🔴 执行锁定
锁定时间: {{ formatDateTime(executionLockInfo.locked_at) }}
原因: {{ executionLockInfo.lock_reason }}

如有问题可在此留言,我们会跟进。

{{ t('customer') }}{{ sortIndicator('customer') }} SHIP{{ sortIndicator('ship') }} {{ t('container_no') }}{{ sortIndicator('container_no') }} 车架号 (Chassis){{ sortIndicator('chassis') }} PU-Terminal{{ sortIndicator('terminal') }} RT Terminal{{ sortIndicator('rt_terminal') }} ETA{{ sortIndicator('eta') }} PU-LFD{{ sortIndicator('pu_lfd') }} {{ t('rt_lfd') }}{{ sortIndicator('rt_lfd') }} BOL{{ sortIndicator('bol') }} {{ t('size') }}{{ sortIndicator('size') }} {{ t('delivery_to') }}{{ sortIndicator('delivery_to') }} {{ t('wh_appt') }}{{ sortIndicator('warehouse_appt') }} {{ t('driver') }}{{ sortIndicator('driver') }} {{ t('note') }} {{ t('status') }}{{ sortIndicator('status') }} Delete
{{ t('no_shipments_found') }}
⚠️ {{ shipment.container_no || '-' }}
{{ getStatusLabel(shipment.status) }} {{ shipment.hold_status }}
{{ getStatusOptionLabel(opt) }}

Change Password

{{ t('overview_title') }}

最后刷新: {{ overviewLastRefreshedAt || '—' }}
加载中...
执行锁定
系统正常
{{ m.module_name }} {{ getOverviewStatusLabel(m) }}
最后运行:{{ m.last_run || '—' }}
结果:{{ m.last_outcome || '—' }}
错误:{{ m.last_error_zh || '—' }}
最近运行: {{ m.last_run }}
{{ m.last_error_zh }}
API 密钥:{{ m.api_key_state }}
拉取已执行,当前无新邮件需入库。若邮箱里有新信仍显示此项:① Gmail API 时需把预报发件人邮箱或邮箱域填在客户的「Notification Emails」中(可填具体邮箱如 [email protected],或仅域如 *@mebsupplychain.com),否则该发件人的邮件会被跳过;② Gmail/IMAP 配置的是否为该收件邮箱;③ 可设 GMAIL_QUERY=newer_than:7d 包含已读邮件。
已入库 {{ emailPullerProgress.stored }}
最近柜号:{{ emailPullerProgress.recent_containers.join('、') }}
点「日志」可看实时明细
{{ t('short_name') }} {{ t('company_name') }} {{ t('address') }} {{ t('actions') }}
{{ t('no_customers_found') }}
{{ customer.short_name }} {{ customer.company_full_name || '-' }} {{ customer.address || '-' }}

{{ t('employee_management') }}

{{ t('username') }} {{ t('role') }} {{ t('actions') }}
{{ employee.username }} {{ employee.role }}

{{ t('driver_management') || '司机管理' }}

{{ t('driver_name') || '姓名' }} {{ t('driver_phone') || '手机号' }} {{ t('driver_username') || '登录名' }} {{ t('actions') }}
{{ d.name }} {{ d.phone_number || '—' }} {{ d.username || '—' }}
{{ t('no_drivers') || '暂无司机,请点击上方「添加司机」' }}

邮件规则

点击刷新触发一次邮件抓取。

爬虫:{{ emailRulesCrawlerEnabled ? '已开启' : '已关闭' }}

运行记录

加载运行记录...
Run ID Module Outcome Started Finished Actions
{{ run.run_id }} {{ run.module || '-' }} {{ run.outcome || run.status }} {{ formatDateTime(run.started_at) }} {{ run.finished_at ? formatDateTime(run.finished_at) : '-' }}

API Key 管理

{{ apiKeyTestResult }}

AI 运维 - 协作规范

{{ t('system_facts_title') }}

{{ t('version') }}: {{ systemFacts.version }} {{ t('updated') }}: {{ systemFacts.last_updated }}
{{ t('loading') }} {{ systemFactsError }} {{ systemFacts.content || t('no_content') }}

{{ t('redlines_title') }}

{{ t('loading') }} {{ redlinesError }} {{ redlinesContent || t('no_content') }}

QA Gate 状态

{{ t('loading') }}
状态: ✓ PASS ✗ FAIL UNKNOWN
最后执行: {{ gateStatus.last_run_time }}
主系统 Commit: {{ gateStatus.commit_hash }}
{{ gateStatus.message }}
⚠️ 阻断提示: 当前 Gate 状态为 {{ gateStatus.status }},高风险操作(改配置/上线)被禁用。请先运行 /opt/newbility/scripts/qa_gate.sh 并通过后再继续。

运行诊断

仅执行只读/诊断类脚本(安全模式)

{{ diagnosticResult }}

执行中...

Role Selector

{{ roleDescriptions[selectedRole] }}

Prompt Composer

⚠️ 当前 Gate 未通过,禁止执行变更。生成的 Prompt 已自动添加阻断提示。

{{ t('module_config_center_title') }}

{{ t('overview_loading') }}
{{ modulesError }}

{{ module.module_name }}

自动扫描
执行时刻
状态: {{ module.secret_set ? '已设置' : '未设置' }}

{{ t('dispatch_nav') }}

{{ dispatchChainError }}
Driver progress (按套)
暂无司机或未配置 assigned_tasks;请用 PUT /api/admin/drivers/:id/assigned_tasks 配置
{{ d.name }} {{ i === 0 ? '1st' : i === 1 ? '2nd' : (i+1) + 'th' }} Set {{ set.done ? '✅' : '⏳' }}

Ready to Return

{{ t('loading') }}
{{ s.container_no }}
{{ s.location || '—' }}
无待还空

Ready to Pickup

{{ t('loading') }}
{{ s.container_no }}
{{ s.location || s.terminal || '—' }}
无待提重

Workbench {{ workbenchCollapsed ? '(点击展开)' : '(点击收起)' }}

{{ t('dispatch_plans_list') }}

DriverScheduled DateStatus
{{ p.driver_name }}{{ p.scheduled_date }}{{ p.status }}
暂无派车记录

司机任务卡片 · 点击载回 WorkBench

{{ driverName }}
{{ (i+1) }}. {{ p.container_no || p.shipment_id }} · {{ p.status }}
暂无司机任务

GAS 情报总署

检测中...
Webhook: /api/v1/webhook/mail-ingest
Wayfair 预约
0 单今日更新
DO 文件捕获
0 份自动归档
新柜录入
0 个新柜号
扩展位
Waiting for module...
实时日志流 (最近 100 条)
时间 动作 柜号 状态 详情

{{ t('global_mail_config') }}

Password is masked for security. Enter a new value only if you want to change it.

{{ t('module_switches_title') }}

{{ t('module_switches_loading') }}
{{ flag.label }}
{{ flag.desc }}
{{ featureFlags[flag.key] ? t('module_enabled') : t('module_disabled') }}
运行 {{ selectedRun?.run_id || '' }}
Overview
Outcome {{ selectedRun.outcome || selectedRun.status }}
Module {{ selectedRun.module || '-' }}
Trigger {{ selectedRun.trigger_source }}
Started {{ formatDateTime(selectedRun.started_at) }}
Finished {{ selectedRun.finished_at ? formatDateTime(selectedRun.finished_at) : '-' }}
Summary {{ selectedRun.result_summary || '-' }}
Error {{ selectedRun.error_reason || '-' }}
{{ selectedRun.log_excerpt }}
覆盖字段
提取结果
加载提取结果...
字段 候选值 置信度 状态 依据 操作
{{ item.field_key }} {{ item.candidate_value }} {{ item.confidence }} {{ item.status }} {{ item.evidence_snippet }}
~
{{ t('bill_mailing_switch') }}:{{ billMailingEnabled ? t('module_enabled') : t('module_disabled') }}
{{ t('fee_rules_title') }}
{{ t('bill_id') }} {{ t('customer') }} {{ t('shipment_id') }} {{ t('container_no') }} {{ t('amount') }} {{ t('currency') }} {{ t('status') }} {{ t('due_date') }} {{ t('actions') }}
{{ t('no_bills_found') }}
{{ bill.id ? bill.id.substring(0, 8) + '...' : '-' }} {{ getCustomerShortNameById(bill.user_id) || '-' }} {{ bill.shipment_id ? bill.shipment_id.substring(0, 8) + '...' : '-' }} {{ getContainerNoByShipmentId(bill.shipment_id) || '-' }} ${{ bill.amount != null ? Number(bill.amount).toFixed(2) : '0.00' }} {{ bill.currency || 'USD' }} {{ t(billStatusLabelKey(bill.status)) || bill.status || '-' }} {{ formatDate(bill.due_date) }}