欢迎使用商城后台管理系统
请从左侧导航栏选择功能模块
需求说明:APP前端只需要获取二级类目,由后端返回
一级分类
{{ pc.name }}
二级分类 - {{ selectedParentName }}
该一级分类下暂无二级分类,请点击「新增二级分类」添加
| 序号 | 分类名称 | 参数属性 | 商品数量 | 操作 |
|---|---|---|---|---|
| {{ idx + 1 }} | {{ sub.name }} | {{ sub.specFields.length }} 个字段 - | {{ sub.count }} |
请选择一个一级分类查看其二级分类
自定义字段 - {{ currentSpecCategory ? currentSpecCategory.name : '' }}
暂无自定义字段,请点击下方「+ 添加字段」添加
商品列表
共 {{ filteredProducts.length }} 件商品
| ID | 商品名称 | 品类 | 供应商 | 价格 | 库存 | 已售 | 状态 | 兑换 | 采购 | 运费 | 操作 | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 暂无匹配的商品数据 | ||||||||||||||||
| {{ p.id }} | {{ p.name }} ▼ | {{ p.category }} | {{ p.supplierName || '-' }} | ¥{{ p.price.toFixed(2) }} | {{ p.stock }} | {{ p.sold }} | {{ p.exchange ? '✔' : '✘' }} | {{ p.procurement ? '✔' : '✘' }} | {{ p.freightType === 'free' ? '包邮' : p.freightType === 'template' ? '按模板' : '不包邮' }} | |||||||
|
||||||||||||||||
商品详情
商品ID{{ currentProduct.id }}
商品名称{{ currentProduct.name }}
所属品类{{ currentProduct.category }}
归属供应商{{ currentProduct.supplierName }}
价格¥{{ currentProduct.price.toFixed(2) }}
库存数量{{ currentProduct.stock }}
已售数量{{ currentProduct.sold }}
状态{{ currentProduct.status === 'on' ? '已上架' : '已下架' }}
支持兑换{{ currentProduct.exchange ? '是' : '否' }}
支持采购{{ currentProduct.procurement ? '是' : '否' }}
是否包邮{{ currentProduct.freeShip ? '是' : '否' }}
描述{{ currentProduct.desc || '暂无描述' }}
上架时间{{ currentProduct.listedAt || '-' }}
下架时间{{ currentProduct.delistedAt || '-' }}
封面图![]()
SKU数量{{ currentProduct.skuList.length }} 个
SKU渠道配置
{{ Object.values(sku.specs||{}).join(' / ') || 'SKU #'+(si+1) }}
兑换: {{ sku.exchangeMode==='pure'?'纯福值':'福值+现金' }} / 福值 {{ sku.fuzhiAmount||0 }} / 现金 ¥{{ (sku.exchangeCashPrice||0).toFixed(2) }}
采购价: ¥{{ (sku.procurementPrice||0).toFixed(2) }}
{{ (editingProductId || editingErpProductId) ? '编辑商品' : '新增商品' }}
基本信息
{{ productAddForm.category || '—' }}
{{ sub.name }}
{{ sub.count }} 件商品
+
上传图片
暂无封面图
{{ (allProviders.find(sp => sp.id === productAddForm.supplierId) || {}).name || '—' }}
暂无供应商,请先在「服务商管理」中添加
商品支持
商品规格
参数属性
请先选择商品分类以加载规格字段
商品SKU
{{ sv }}
| {{ k }} | 渠道价(成本价) * | 总售价 * | 利润 | 赠送福值 | 编码 | 库存 | 兑换福值 |
|---|---|---|---|---|---|---|---|
| {{ sku.specs[k] }} | ¥{{ ((sku.totalPrice||0) - (sku.costPrice||0)).toFixed(2) }} |
请填写完整规格项和规格值后自动生成SKU列表
商品详情图片
+
上传详情图
运费配置
规格SKU配值
暂无规格项,请点击「+ 添加规格项」
{{ sv }}
ERP商品管理
共 {{ erpProducts.length }} 件商品
| 序号 | 商品名称 | ERP编码 | 分类 | 规格 | 成本价 | 售价 | 利润 | 福值兑换 | 兑换福值 | 赠送福值 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ item.name }} | {{ item.erpCode }} | {{ item.category }} | {{ item.spec }} | ¥{{ (item.purchasePrice||0).toFixed(2) }} | ¥{{ (item.salePrice||0).toFixed(2) }} | ¥{{ Math.max(0, (item.salePrice||0) - (item.purchasePrice||0)).toFixed(2) }} | {{ item.enableExchange ? '已开启' : '未开启' }} | {{ item.exchangeFuzhi || 0 }} — | {{ item.giftFuzhi || 0 }} — |
暂无ERP商品数据
订单管理 / {{ orderTypeLabel }}
共 {{ filteredOrders.length }} 单
{{ orderStatTotal }}
全部订单
{{ orderStatPending }}
待处理
{{ orderStatShipped }}
已发货
{{ orderStatCompleted }}
已完成
{{ orderStatCancelled }}
已取消
¥{{ orderStatRevenue.toLocaleString() }}
成交总额
| # | 订单号 | 商品 | 规格 | 客户 | 手机号 | 数量 | 支付福值 | 金额 | 收货城市 | 发货状态 | 发货时间 | 状态 | 创建时间 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ o.orderNo }} | {{ o.productName }} | {{ o.spec }}- | {{ o.customer }} | {{ o.phone }} | {{ o.quantity }} | {{ o.fuzhiAmount != null ? o.fuzhiAmount.toLocaleString() : '-' }} | ¥{{ (o.amount || 0).toLocaleString() }} | {{ o.city }}- | {{ o.shipStatus === 'shipped' ? '已发货' : o.shipStatus === 'pending' ? '待发货' : (o.shipStatus || '-') }} | {{ o.shipTime || '-' }} | {{ orderStatusLabel(o.status) }} | {{ o.createdAt }} | |
|
📭
暂无订单数据
点击上方「新增订单」创建第一笔订单
|
售后订单
{{ aftersaleApplyList.length }}
售后申请
{{ aftersaleReturnList.length }}
退货款管理
{{ aftersaleRefundList.length }}
退款管理
用户提交售后申请后,管理员在此审核处理。仅退款订单直接退款;退货退款订单需用户先退货、签收后再退款。
暂无售后申请记录
当用户提交售后申请后,记录将显示在此处
| 序号 | 订单编号 | 售后订单编号 | 退货商品 | 退货数量 | 退款金额 | 退款原因 | 订单类型 | 是否签收 | 当前状态 | 操作 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} {{ idx + 1 }} | {{ item.orderNo }} | {{ item.aftersaleNo }} | {{ item.products.length }}件商品 {{ item.productName }} | {{ item.returnQuantity }} | ¥{{ item.refundAmount.toFixed(2) }} | {{ item.type === 'refund_only' ? '仅退款' : '退货退款' }} | {{ item.isSigned }} | {{ item.status }} | -- -- | |||||||||||
|
||||||||||||||||||||
服务商管理
服务商列表、新增服务商、编辑服务商信息等功能
服务商列表
共 {{ allProviders.length }} 家
| 序号 | 名称 | 手机号 | 所属合伙人 | 所属导师 | 客户数 | 采购保证金 | 账户余额(佣金收入) | 操作 |
|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ p.name }} | {{ p.phone }} | {{ p.partnerName || '-' }} | {{ p.mentorName || '-' }} | {{ p.providerCount }} | ¥{{ (p.amount || 0).toLocaleString() }} | ¥{{ (p.balance || 0).toLocaleString() }} | |
| 暂无服务商数据 | ||||||||
1. 采购金可以手动加款,加款需要验证管理员密码。
2. 新增服务商,在手机号添加字段使用联想搜索,如果是系统已经存在用户可以直接选择该用户,如果不存在数据库中,则输入完全手机号进行。
3. 编辑服务商仅可修改名称与所属导师,手机号不可修改。
4. 删除服务商需要确认该服务商客户为0,采购保证金为0,账户余额为0方可删除。
2. 新增服务商,在手机号添加字段使用联想搜索,如果是系统已经存在用户可以直接选择该用户,如果不存在数据库中,则输入完全手机号进行。
3. 编辑服务商仅可修改名称与所属导师,手机号不可修改。
4. 删除服务商需要确认该服务商客户为0,采购保证金为0,账户余额为0方可删除。
供应商列表
共 {{ allProviders.length }} 家
| 序号 | ID | 供应商名称 | 联系人 | 手机号 | 销售收入 | 采购金额 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ p.id }} | {{ p.name }} | {{ p.contact || '-' }} | {{ p.phone }} | ¥{{ (p.salesRevenue || 0).toLocaleString() }} | ¥{{ (p.amount || 0).toLocaleString() }} | |
| 暂无供应商数据 | |||||||
销售收入和采购金额仅做展示,暂不进行开发,后期再进行,数据库可以先不设计该字段,前端也先不展示出来
导师列表
共 {{ mentors.length }} 人
| 序号 | 姓名 | 所属合伙人 | 下级服务商数 | 采购保证金 | 账户余额(佣金收入) | 收益状态 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ m.name }} | {{ m.partnerName || '-' }} | {{ m.providerCount }} | ¥{{ (m.amount || 0).toLocaleString() }} | ¥{{ (m.balance || 0).toLocaleString() }} | {{ m.earningsStatus === 'normal' ? '正常' : '停止' }} | |
| 暂无导师数据 | |||||||
1. 保证金加款时需要输入管理员密码确认后才可以加款。
2. 暂停收益:下面所有服务商的成交订单不再将单笔订单佣金记入该服务商,则直接划入系统留存。
3. 新增导师,手机号使用联想搜索,系统已存在用户可直接选择,否则输入完整手机号。
4. 编辑导师仅可修改名称与所属合伙人,手机号不可修改。
2. 暂停收益:下面所有服务商的成交订单不再将单笔订单佣金记入该服务商,则直接划入系统留存。
3. 新增导师,手机号使用联想搜索,系统已存在用户可直接选择,否则输入完整手机号。
4. 编辑导师仅可修改名称与所属合伙人,手机号不可修改。
福值兑换比例
| 序号 | 名称 | 福值数 | 兑换金额(元) | 比例 | 状态 | 操作 |
|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ item.name }} | {{ item.fuzhiValue }} | {{ item.amount.toFixed(2) }} | 1 : {{ item.ratio }} | {{ item.status }} | |
| 暂无兑换比例数据 | ||||||
购物赠福值比例
按购买金额赠送福值
| 序号 | 方案名称 | 购买金额(元) | 赠送福值 | 比例 | 状态 | 操作 |
|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ item.name }} | {{ item.amount.toFixed(2) }} | {{ item.fuzhiValue }} | 1 元 : {{ item.ratio }} 福值 | {{ item.status }} | |
| 暂无赠送比例数据 | ||||||
ⓘ 同时仅允许启用一条赠送比例,启用新方案将自动停用旧方案。系统将根据已启用的比例计算购物应赠福值。
{{ commissionRates.length }}
当前配比数
{{ commissionRates.filter(r => r.status === '启用').length }}
已启用
{{ orderSplit.provider + orderSplit.mentor + orderSplit.partner }}%
分销合计
佣金配比列表
| 序号 | 推广关系 | 佣金比例 | 状态 | 操作 |
|---|---|---|---|---|
| {{ idx + 1 }} | {{ item.relation.split(' → ')[0] }} → {{ item.relation.split(' → ')[1] }} |
{{ item.rate }}%
|
{{ item.status }} | |
| 暂无佣金配比数据 | ||||
订单分销模块
单笔订单利润分成配置
本期利润分成
●
服务商分成
{{ orderSplit.provider }}%
签收后7日结算
◆
导师分成
{{ orderSplit.mentor }}%
签收后7日结算
▲
合伙人分成
{{ orderSplit.partner }}%
按月结算
■
平台留存
{{ orderSplit.platform }}%
—
ⓘ 结算规则:服务商、导师按订单签收后7日内完成结算;合伙人按月结算。分成比例合计必须为 100%。
资金池
各角色待结算/留存资金池余额
●
服务商分成池
¥{{ fundPool.provider.toLocaleString() }}
◆
导师分成池
¥{{ fundPool.mentor.toLocaleString() }}
▲
合伙人分成池
¥{{ fundPool.partner.toLocaleString() }}
■
平台留存金额
¥{{ fundPool.platform.toLocaleString() }}
合伙人列表
共 {{ partners.length }} 人
| 序号 | 名称 | 用户名 | 手机号 | 采购保证金 | 账户余额(佣金收入) | 下级导师总数 | 下级服务商总数 | 收益状态 | 操作 |
|---|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ p.name }} | {{ p.username }} | {{ p.phone }} | ¥{{ p.amount.toLocaleString() }} | ¥{{ (p.balance || 0).toLocaleString() }} | {{ p.mentorCount }} | {{ p.providerCount }} | {{ p.earningsStatus === 'normal' ? '正常' : '停止' }} | |
| 暂无合伙人数据 | |||||||||
编辑合伙人仅可修改名称,手机号不可修改。
自营分类列表
暂无自营分类,请点击「创建分类」添加
| 序号 | 分类名称 | 操作 |
|---|---|---|
| {{ sci + 1 }} | {{ sc.name }} |
自营商品列表
{{ selfProducts.length }}
商品总数
{{ selfProducts.filter(p => p.status === '上架').length }}
上架中
{{ selfProducts.filter(p => p.status === '下架').length }}
下架中
{{ selfProducts.reduce((s, p) => s + p.variants.reduce((ss, v) => ss + (v.quantity || 0), 0), 0) }}
库存总量
📦
暂无自营商品,请点击「创建自营商品」添加
| 序号 | 商品名称 | 商品编码 | 商品规格 | 商品规格编码 | 商品数量 | 商品价格 | 状态 | 操作 |
|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} |
{{ sp.name }}
{{ sp.briefDesc }}
|
{{ sp.code || '—' }} | {{ v.specs }} | {{ v.specCode || '—' }} | {{ v.quantity }} | ¥{{ v.price }} | 上架 下架 |
|
{{ editingSelfProductId ? '编辑' : '创建' }}自营商品
基本信息
归属信息
{{ getWarehouseName(selfProdCreate.warehouseId) }}
使用中
总库存:{{ generatedSkus.reduce((s,sku) => s + (Number(sku.quantity)||0), 0) }}
最近入库:2026-08-10
入库批次:SK-BD-20260810-003
规格:{{ sku.label }}
库存:{{ sku.quantity || 0 }}
等待商品入库
商品SKU
{{ sv }}
| {{ sk.name.trim() || ('规格'+(ski+1)) }} | 规格编码 | 数量 | 成本价 | 出库价 含配送费 |
商品原价 | 实际售价 | 利润值 |
|---|---|---|---|---|---|---|---|
| {{ sku.label.split('/')[ski] || '' }} | ¥{{ sku.profit.toFixed(2) }} |
请添加规格项并填写规格值以生成 SKU 组合
利润值 = 实际售价 - 出库价(含配送费)
商品图片
分类属性
{{ selfProdCreate.categoryId === '' ? '请先选择所属分类' : '当前分类暂无属性,请前往分类属性设置' }}
{{ attr }}
仓库列表
暂无仓库,请点击「添加仓库」添加
| 序号 | 仓库名称 | 详细地址 | 面积(m²) | 管理员 | 联系电话 | 库存总量 | 状态 | 操作 |
|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ wh.name }} | {{ wh.province }}{{ wh.city }}{{ wh.district }}{{ wh.address }} | {{ wh.area }} | {{ wh.manager }} | {{ wh.phone }} | {{ wh.stockTotal }} | {{ wh.status }} |
自营订单列表
{{ selfOrders.length }}
全部订单
{{ selfOrders.filter(o => o.status === '待发货').length }}
待发货
{{ selfOrders.filter(o => o.status === '已收货').length }}
已收货
¥{{ selfOrders.reduce((s, o) => s + o.amount, 0).toFixed(2) }}
订单总额
📦
暂无自营订单
| 序号 | 订单编号 | 订单商品 | 商品规格 | 数量 | 订单金额 | 下单仓库 | 收货人 | 收货地址 | 发货仓库 | 派件人 | 状态 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ order.orderNo }} |
{{ order.productName }} | {{ order.specs }} | {{ order.quantity }} | ¥{{ order.amount.toFixed(2) }} | {{ getWarehouseName(order.warehouseId) }} | {{ order.recipient }} | {{ order.address }} | {{ order.shipWarehouseName || '-' }} | {{ order.deliveryPerson || '-' }} | {{ order.status }} |
商品入库列表
{{ inboundRecords.length }}
入库记录
{{ inboundRecords.reduce((s,r) => s + r.quantity, 0) }}
累计入库数量
{{ [...new Set(inboundRecords.map(r=>r.warehouseId))].length }}
涉及仓库
📦
暂无入库记录,请点击「入库」添加
| 入库单号 | 移仓类型 | 商品 | 规格 | 规格编码 | 入库数量 | 目标仓库 | 入库时间 | 操作人 | 操作 |
|---|---|---|---|---|---|---|---|---|---|
| {{ rec.orderNo }} | 移仓 入库 | {{ rec.productName }} | {{ rec.productSpec }} | {{ rec.specCode }} | {{ rec.quantity }} | {{ getWarehouseName(rec.warehouseId) }} | {{ rec.createdAt }} | {{ rec.operator }} |
|
派件员管理
派件员总数
{{ couriers.length }}
已激活 {{ couriers.filter(c => c.active).length }}/{{ couriers.length }}
| # | 姓名 | 手机号码 | 身份证号码 | 性别 | 归属仓库 | 激活状态 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ c.name }} | {{ c.phone }} | {{ c.idCard ? c.idCard.slice(0,6) + '****' + c.idCard.slice(-4) : '-' }} | {{ c.gender }} | {{ c.warehouseName }} | 已激活 未激活 | |
| 暂无派件员数据 | |||||||
派件员需激活后才能进行派件操作与确认送达。激活方式:派件员通过小程序登录并完成身份认证激活。
跨区订单
跨区订单总数
{{ crossOrders.length }}
| 订单编号 | 商品名称 | 规格 | 数量 | 收货人 | 收货城市 | 发货仓库 | 预估距离 | 状态 | 操作 |
|---|---|---|---|---|---|---|---|---|---|
| {{ order.orderNo }} | {{ order.productName }} | {{ order.spec }} | {{ order.quantity }} | {{ order.recipient }} | {{ order.city }} | {{ order.warehouseName }} | {{ order.distance }} | 待处理 已发货 已签收 |
跨区运费模板
模板总数
{{ shippingTemplates.length }}
覆盖城市
{{ shippingTemplates.reduce((sum,t)=>sum+t.cityFees.length,0) }}
📦
暂无运费模板,请点击"新增运费模板"添加