📦 销售记录
查询
新增销售
导出
{{ s.row.ship_date }}
{{ s.row.customer }}
{{ s.row.product_name }}
{{ s.row.spec }}
{{ s.row.batch_number }}
{{ s.row.expiry_date }}
{{ scope.row.returned_qty }}
-
{{ scope.row.amount.toFixed(2) }}
{{ scope.row.actual_amount.toFixed(2) }}
{{ (scope.row.actual_amount || scope.row.amount).toFixed(2) }}
{{ (scope.row.returned_qty > 0 || scope.row.is_return)?'是':'否' }}
{{ scope.row.is_allowance?'是':'否' }}
{{ scope.row.payment_status }}
编辑
删除
收款
📥 采购记录
查询
新增采购
导出
{{ s.row.purchase_date }}
{{ s.row.supplier }}
{{ s.row.product_name }}
{{ s.row.spec }}
{{ s.row.batch_number }}
{{ s.row.expiry_date }}
{{ scope.row.returned_qty }}
-
{{ scope.row.amount.toFixed(2) }}
{{ Math.max(0, scope.row.amount - scope.row.returned_qty * scope.row.unit_price).toFixed(2) }}
{{ scope.row.amount.toFixed(2) }}
编辑
删除
📋 产品库
搜索
新增产品
{{ s.row.product_name }}
{{ s.row.spec }}
编辑
删除
👥 客户库
新增客户
{{ s.row.name }}
{{ s.row.contact }}
编辑
删除
📊 库存状况
导出
{{ s.row.product_name }}
{{ s.row.spec }}
{{ scope.row.quantity }}
📈 销售统计
查询
导出
总销售额
{{ salesStats.total_sales.toFixed(2) }}
折让金额
{{ salesStats.total_allowance.toFixed(2) }}
净销售额
{{ (salesStats.total_sales - salesStats.total_allowance).toFixed(2) }}
总成本
{{ salesStats.total_cost.toFixed(2) }}
总利润
{{ salesStats.total_profit.toFixed(2) }}
利润率
{{ salesStats.profit_rate }}%
按产品
按客户
{{ s.row.product_name }}
{{ s.row.spec }}
{{ s.row.customer }}
💼 应收管理
查询
导出
{{ s.row.customer }}
{{ s.row.invoice_no }}
{{ scope.row.due_date ? Math.max(0, Math.ceil((new Date(scope.row.due_date) - new Date(new Date().toDateString())) / (1000*60*60*24))) : '-' }}
收款
🔄 退货管理
查询
新增销退
导出
{{ s.row.return_date }}
{{ s.row.customer }}
{{ s.row.product_name }}
{{ s.row.spec }}
{{ s.row.batch_number }}
{{ s.row.reason }}
编辑
删除
查询
新增采退
导出
{{ s.row.return_date }}
{{ s.row.supplier }}
{{ s.row.product_name }}
{{ s.row.spec }}
{{ s.row.batch_number }}
{{ s.row.reason }}
编辑
删除
👥 用户管理
新增用户
{{ s.row.username }}
{{ roleMap[scope.row.role] }}
{{ scope.row.is_active ? '是' : '否' }}
编辑
修改密码
删除
📋 审计日志
查询
重置
{{ formatDateTime(s.row.created_at) }}
{{ s.row.username }}
{{ auditActionMap[s.row.action] || s.row.action }}
{{ auditResourceMap[s.row.resource] || s.row.resource }}
{{ s.row.status==='success'?'成功':'失败' }}
{{ s.row.details }}
{{ s.row.ip_address || '-' }}