客户
{{ store.customers.length }}
产品
{{ store.products.length }}
订单
{{ store.orders.length }}
采购单
{{ store.purchases.length }}
最近订单
| 单号 | 客户 | PO No. | 金额 | 成交方式 | 状态 | |
|---|---|---|---|---|---|---|
| {{ o.order_no }} | {{ o.customer_name }} | {{ o.po_no }} | {{ o.currency }} {{ fmt(o.total_amount) }} | {{ o.incoterm }} | {{ statusText(o.status) }} | |
| 还没有订单 | ||||||
系统状态
运行模式
{{ info.mode === 'cloud' ? '云端同步服务' : '本机(离线可用)' }}
数据库
{{ info.db }}
数据目录
{{ info.data_dir }}
| 编码 | 公司 | 国家 | 联系人 | 状态 | |
|---|---|---|---|---|---|
| {{ c.code }} | {{ c.company }} {{ c.name_cn }} |
{{ c.country }} | {{ c.contact_name || '—' }} | {{ c.status || 'lead' }} | |
| 没有匹配的客户 | |||||
| 货号 | 英文品名 | 型号 / 规格 | HS 编码 | 单位 | 参考单价 | 每箱 | 箱规 (cm) | 毛/净重(箱) | 单件净重 | |
|---|---|---|---|---|---|---|---|---|---|---|
| {{ p.code }} | {{ p.name_en }} {{ p.name_cn }} |
{{ p.model || '—' }} {{ p.description_en }} |
{{ p.hs_code }} | {{ p.unit }} | {{ p.price ? fmt(p.price) : '—' }} | {{ p.per_carton || '—' }} | {{ boxSpec(p) }} | {{ p.box_gw || '—' }} / {{ p.box_nw || '—' }} | {{ p.unit_nw ? p.unit_nw : '—' }} | |
| 没有匹配的产品 | ||||||||||
| 编码 | 公司 | 地区 | 联系人 | 纳税号 | |
|---|---|---|---|---|---|
| {{ s.code }} | {{ s.company }} | {{ [s.province, s.city].filter(Boolean).join(' ') }} | {{ s.contact_name }} {{ s.contact_phone }} | {{ s.tax_id }} | |
| 没有供应商 | |||||
| 单号 | 客户 | PO No. | 日期 | 金额 | 成交方式 | 状态 | |
|---|---|---|---|---|---|---|---|
| {{ o.order_no }} | {{ o.customer_name }} | {{ o.po_no }} | {{ o.order_date }} | {{ o.currency }} {{ fmt(o.total_amount) }} | {{ o.incoterm }}{{ o.incoterm_place ? ' ' + o.incoterm_place : '' }} | {{ statusText(o.status) }} | |
| 没有订单 | |||||||
| 采购单号 | 供应商 | 日期 | 金额 (CNY) | 状态 | |
|---|---|---|---|---|---|
| {{ p.po_no }} | {{ p.supplier_name }} | {{ p.order_date }} | {{ fmt(p.total_amount) }} | {{ p.status }} | |
| 没有采购单 | |||||
| 报价单号 | 客户 | 日期 | 金额 | 成交方式 | 状态 | |
|---|---|---|---|---|---|---|
| {{ qo.quo_no }} | {{ qo.customer_name }} | {{ qo.quo_date }} | {{ qo.currency }} {{ fmt(qo.total_amount) }} | {{ qo.incoterm }}{{ qo.incoterm_place ? ' ' + qo.incoterm_place : '' }} | {{ statusText(qo.status) }} | |
| 没有报价单 | ||||||
选择业务单据
选择一张订单后,可生成 PI、CI、装箱单、唛头、销售合同、报关单、申报要素、电放保函共 8 种单证,数据全部自动派生。
报价单、采购单已独立成页,请在左侧「报价单 / 采购单」菜单中操作。
报价单、采购单已独立成页,请在左侧「报价单 / 采购单」菜单中操作。
可生成的单证
校验通过才允许导出 PDF
{{ d.label }}
{{ d.doc ? d.doc.doc_no : '未生成' }}
已盖章 · {{ shortTime(d.doc.sealed_at) }}
{{ checkResult.label }}
{{ checkResult.ok ? '校验通过' : '有 ' + checkResult.errors.length + ' 项必须修复' }}
{{ checkResult.warnings.length }} 条提醒
{{ i.code }}{{ i.msg }}
{{ i.code }}{{ i.msg }}
印章与签名
图片只存本机,永不上传云端。其他同事的电脑能看到印章名称与用途,但必须各自导入图片文件才能盖章。
建议规格(实际圆章直径约 4.2cm):
1200×1200 像素以上、600dpi、透明背景 PNG(文件几百 KB 为宜,过大请先压缩);
签名建议 ≥800×300 像素。600dpi 打印下 4.2cm ≈ 990px,1200px 可保证清晰且留余量。
单证上的印章按 A4 纸实物宽度显示:英文长条章默认 60mm(6cm)、中文圆章默认 42mm、签名 42mm; 下面每枚印章都能单独改宽度(改完下次预览/导出即生效)。预览默认 100%,A4 ≈ 210mm,接近实物大小。
单证上的印章按 A4 纸实物宽度显示:英文长条章默认 60mm(6cm)、中文圆章默认 42mm、签名 42mm; 下面每枚印章都能单独改宽度(改完下次预览/导出即生效)。预览默认 100%,A4 ≈ 210mm,接近实物大小。
{{ s.name }}
{{ kindText(s.kind) }} · 默认 · A4 上宽 {{ s.width_mm }}mm
适用:{{ scopeText(s) }}
⚠ 本机缺少图片
◎
还没有印章,先上传公司公章与签名
运行信息
版本
v{{ info.version }}
模式
{{ info.mode }}
设备
{{ info.device && info.device.id }}
数据库
{{ info.db }}
PDF 引擎
{{ info.pdf && info.pdf.engine || '未找到' }}
模板
{{ (info.templates||[]).join('、') }}
单证配色与 PDF 输出
导出 PDF 后会显示完整保存路径,并可一键打开所在文件夹;配色保存后新生成的单证立即生效。
公司主体(单证抬头)
尚无公司信息
收款账户
{{ a.currency }}
默认
同步
云端地址
{{ sync.url || '未配置(纯本机模式)' }}
待推送 / 冲突
{{ sync.pending }} 条 / {{ sync.conflicts }} 个冲突
最近错误:{{ sync.last_error }}
填好保存即生效,无需重启、不用改系统环境变量;留空则纯本机运行。
印章与签名永远只存本机,同步的只有业务数据。
备份
数据库 + 印章/签名/Logo 整体打包
导出:桌面端弹出「选择目录」把 zip 存到指定位置;浏览器模式则直接下载。
导入:桌面端弹出「选择文件」从本机 zip 恢复;浏览器模式则上传后恢复。
{{ b.file }}
· {{ (b.size/1024/1024).toFixed(1) }} MB · {{ b.time }}
暂无备份
预置数据(表单下拉选项)
内置 {{ presetCatalog.length }} 类 · 共 {{ presetTotal }} 条,可追加常用项
{{ it.l }}×
该类暂无数据
预置数据全部随程序离线分发,不联网。区县覆盖江浙沪京津冀皖闽赣等主要产区(共
{{ regionCount }} 条),其他地区可直接手填;常用项可在此追加,追加后全局可用。
账号与权限
账号列表({{ users.length }})
新增账号
角色权限
| 用户名 | 姓名 | 角色 | 部门 | 最近登录 | 状态 | 操作 |
|---|---|---|---|---|---|---|
| {{ u.username }} (当前登录) |
{{ u.name }} | {{ roleTextOf(u.role) }} | {{ u.dept || '—' }} | {{ shortTime(u.last_login) || '—' }} | {{ u.active ? '启用' : '停用' }} 待改密 |
三角色:管理员(唯一,全部权限)、超级制单员(录入信息 + 修改单证 + 导出)、制单员(默认只录入单证 + 导出,其他权限由管理员点「分配权限」逐人授予)。
所有账号共享同一套业务数据;每条数据都记了录入人,可在审计日志里查。停用/删除不会丢数据。
管理员账号唯一,不在下拉里;如需重建请通过上线前账号配置。初始密码由管理员私下告知,同事首次登录后自行修改,管理员也看不到新密码。创建后可在账号列表点「分配权限」逐人调整。
| 权限 | {{ r.label }} |
|---|---|
| {{ pm.label }} {{ pm.key }} |
{{ pm.roles.includes(r.key) ? '✓' : '—' }} |
管理员:全部权限(含账号管理、按人授权、重置密码、设置与审计)。
超级制单员:录入客户/产品/订单、录入并修改单证、导出 PDF/Excel、盖章签名。
制单员:默认只有「录入并保存新单证」「导出/打印/下载」;若要允许修改已保存单证,在账号列表点「分配权限」把 doc.edit 设为允许。
只读:仅查看。上表是角色基线,逐人授权的结果会显示在授权面板里。
说明
分发版默认已开启;该设置是 global,管理员改一次会同步到所有电脑。
若下拉被禁用,说明 ERP_FORCE_LOGIN 部署策略已锁定开关,需在服务端调整后重启。
关闭时本机等同管理员身份,所有操作留痕记在 admin 名下。
若下拉被禁用,说明 ERP_FORCE_LOGIN 部署策略已锁定开关,需在服务端调整后重启。
关闭时本机等同管理员身份,所有操作留痕记在 admin 名下。
审计日志{{ audit.total }} 条
| 时间 | 操作 | 对象 | 详情 | 操作人 |
|---|---|---|---|---|
| {{ shortTime(a.updated_at) }} | {{ a.action }} | {{ a.target_type }} | {{ a.detail || '—' }} | {{ a.user_name || '—' }} |
| 暂无记录 | ||||
{{ audit.total ? (audit.offset+1) : 0 }}–{{ Math.min(audit.offset+100, audit.total) }} / {{ audit.total }}