{{ currentPageTitle }}
{{ stat.label }}
{{ stat.displayCount || stat.count }}
金额: ¥{{ stat.value.toLocaleString() }}
库存预警
快捷操作
审批中心
审核各业务模块提交的单据
采购单待审批
{{ purchaseOrders.filter(o => o.status === 'pending_approval').length }}
出库单待审批
{{ outboundOrders.filter(o => o.status === 'pending_approval').length }}
外协单待审批
{{ outsourceOrders.filter(o => o.status === 'pending_approval').length }}
已处理今日
{{ todayApprovedCount }}
[{{ order.approvalTypeName }}] {{ order.orderNo }}
提交人:{{ order.createdBy || order.operator }} | 数量:{{ formatQuantityWithUnit(order.items) }} | 金额:¥{{ (order.totalAmount || order.processingFee || 0).toLocaleString() }} | 时间:{{ formatDate(order.createdAt) }}
暂无待审批单据
采购管理
| 采购单号 | 采购类型 | 供应商 | 物料明细 | 总金额 | 状态 | 创建时间 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ order.orderNo }} | {{ getPurchaseTypeName(order.type) }} | {{ order.supplier }} | {{ order.items.length }}项 ({{ formatQuantityWithUnit(order.items) }}) | ¥{{ order.totalAmount.toLocaleString() }} | {{ getStatusText(order.status) }} | {{ formatDate(order.createdAt) }} |
待审批
已驳回: {{ order.approvalRemark }}
|
| 暂无采购单数据 | |||||||
库存管理
| 物料编码 | 物料名称 | 库存类型 | 规格型号 | 数量 | 单位 | 单价 | 库存金额 | 预警状态 | 操作 |
|---|---|---|---|---|---|---|---|---|---|
| {{ item.code }} | {{ item.name }} | {{ getInventoryTypeName(item.type) }} | {{ item.specs || '-' }} | {{ item.quantity }} | {{ item.unit }} | ¥{{ item.price.toLocaleString() }} | ¥{{ (item.quantity * item.price).toLocaleString() }} | {{ item.quantity <= item.warningThreshold ? '低库存' : '正常' }} | |
| 暂无库存数据 | |||||||||
入库管理
| 入库单号 | 入库类型 | 关联单据 | 物料明细 | 入库数量 | 入库时间 | 操作人 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ order.orderNo }} | {{ getInboundTypeName(order.type) }} | {{ order.relatedOrder || '-' }} | {{ order.items.length }}项 | {{ formatQuantityWithUnit(order.items) }} | {{ formatDate(order.createdAt) }} | {{ order.operator }} | |
| 暂无入库单数据 | |||||||
出库管理
| 出库单号 | 出库类型 | 关联单据 | 物料明细 | 出库数量 | 出库时间 | 操作人 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ order.orderNo }} | {{ getOutboundTypeName(order.type) }} | {{ order.relatedOrder || '-' }} | {{ order.items.length }}项 | {{ formatQuantityWithUnit(order.items) }} | {{ formatDate(order.createdAt) }} | {{ order.operator }} |
待审批
已驳回
已完成
|
| 暂无出库单数据 | |||||||
外协管理
待审批
{{ outsourceStats.pendingApproval }}
待发料
{{ outsourceStats.pending }}
外协在途
{{ outsourceStats.inTransit }}
已完成
{{ outsourceStats.completed }}
| 外协单号 | 外协厂商 | 发出物料 | 发出数量 | 加工费 | 状态 | 创建时间 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ order.orderNo }} | {{ order.manufacturer }} | {{ order.items.length }}项 | {{ formatQuantityWithUnit(order.items) }} | ¥{{ (order.processingFee || 0).toLocaleString() }} | {{ getOutsourceStatusText(order.status) }} | {{ formatDate(order.createdAt) }} |
待审批
已驳回
|
| 暂无外协单数据 | |||||||
废料入库
当前废料库存
{{ scrapInventory.totalWeight }} kg
预估价值: ¥{{ scrapInventory.totalValue.toLocaleString() }}
废料出库售卖
累计售卖收益
¥{{ scrapInventory.totalRevenue.toLocaleString() }}
累计出库: {{ scrapInventory.totalSold }} kg
废料流水记录
| 单号 | 类型 | 废料名称 | 重量(kg) | 单价 | 金额 | 时间 | 备注 |
|---|---|---|---|---|---|---|---|
| {{ record.orderNo }} | {{ record.type === 'in' ? '入库' : '出库' }} | {{ record.materialName }} | {{ record.weight }} | ¥{{ record.price }} | ¥{{ (record.weight * record.price).toLocaleString() }} | {{ formatDate(record.createdAt) }} | {{ record.remark || '-' }} |
| 暂无废料记录 | |||||||
库存资金占用
¥{{ stat.value.toLocaleString() }}
{{ stat.count }}项
¥{{ totalInventoryValue.toLocaleString() }}
外协费用统计
废料收益统计
出入库统计
物料管理
| 物料编码 | 物料名称 | 物料类型 | 规格型号 | 单位 | 参考单价 (采购时可调整) | 预警阈值 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ material.code }} | {{ material.name }} | {{ getMaterialTypeName(material.type) }} | {{ material.specs || '-' }} | {{ material.unit }} | ¥{{ material.price.toLocaleString() }} | {{ material.warningThreshold }} | |
| 暂无物料数据 | |||||||
供应商/外协厂管理
| 编码 | 名称 | 类型 | 联系人 | 电话 | 地址 | 操作 |
|---|---|---|---|---|---|---|
| {{ supplier.code }} | {{ supplier.name }} | {{ supplier.type === 'purchase' ? '采购供应商' : '外协厂商' }} | {{ supplier.contact || '-' }} | {{ supplier.phone || '-' }} | {{ supplier.address || '-' }} | |
| 暂无供应商数据 | ||||||
系统设置
| 角色名称 | 描述 | 权限数量 | 审批权限 | 状态 | 操作 |
|---|---|---|---|---|---|
| {{ role.name }} | {{ role.description || '-' }} | {{ role.permissions.length }} | {{ role.canApprove && role.canApprove.length > 0 ? role.canApprove.join('、') : '无' }} | 正常 |
| 用户名 | 手机号 | 姓名 | 角色 | 状态 | 创建时间 | 操作 |
|---|---|---|---|---|---|---|
| {{ user.username }} | {{ user.phone || '-' }} | {{ user.name }} | {{ user.roleName }} | {{ user.status === 'active' ? '启用' : '禁用' }} | {{ user.createdAt || '-' }} |
权限设置允许管理员为不同角色分配菜单访问权限和审批权限。超级管理员拥有所有权限。
{{ role.name }}
单位管理用于维护系统中常用的计量单位,新增物料时可快速选择。自定义输入的单位不会被保存到此列表。
| 单位符号 | 单位名称 | 说明 | 操作 |
|---|---|---|---|
| {{ unit.name }} | {{ unit.description }} | 用于物料计量 |
重要说明
系统数据存储在浏览器本地(LocalStorage),不同设备或浏览器之间数据不互通。如需在手机微信或其他设备使用,请先在当前设备导出数据,然后在目标设备导入数据。
导出数据
将系统数据导出为文件
导出所有系统数据(用户账号、角色、物料、库存、单据等),可用于备份或迁移到其他设备。
导入数据
从文件恢复系统数据
从导出的数据文件恢复系统数据。注意:导入将覆盖当前设备上的所有数据!
跨设备使用步骤
- 1 在电脑浏览器上登录系统,完成数据录入(新增账号、物料等)
- 2 进入「系统设置」→「数据同步」,点击「导出数据文件」
- 3 将导出的 JSON 文件发送到手机(可通过微信文件传输助手)
- 4 在手机微信中打开网站,进入「系统设置」→「数据同步」
- 5 点击「选择数据文件导入」,选择之前导出的 JSON 文件
- 6 导入成功后,刷新页面即可使用新增的账号登录