欢迎使用商城后台管理系统
请从左侧导航栏选择功能模块
需求说明:APP前端只需要获取二级类目,由后端返回
一级分类
{{ pc.name }}
二级分类 - {{ selectedParentName }}
该一级分类下暂无二级分类,请点击「新增二级分类」添加
| 序号 | 分类名称 | 参数属性 | 商品数量 | 操作 |
|---|---|---|---|---|
| {{ idx + 1 }} | {{ sub.name }} | {{ sub.specFields.length }} 个字段 - | {{ sub.count }} |
请选择一个一级分类查看其二级分类
自定义字段 - {{ currentSpecCategory ? currentSpecCategory.name : '' }}
暂无自定义字段,请点击下方「+ 添加字段」添加
商品列表
共 {{ filteredProducts.length }} 件商品
| ID | 商品名称 | 品类 | 供应商 | 规格 | 价格 | 合伙人集采价 | 导师采购价 | 服务商采购价 | 实际售价 | 赠送福值 | 库存 | 已售 | 状态 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
暂无匹配的商品数据 |
||||||||||||||
| {{ p.id }} | {{ p.name }} | {{ categoryPathText(p) }} | {{ p.supplierName || '-' }} | {{ row.specText }} | ¥{{ row.price.toFixed(2) }} | {{ row.partnerCollectPrice > 0 ? '¥' + Number(row.partnerCollectPrice).toFixed(2) : '—' }} | {{ row.mentorPurchasePrice > 0 ? '¥' + Number(row.mentorPurchasePrice).toFixed(2) : '—' }} | {{ row.serviceProviderPurchasePrice > 0 ? '¥' + Number(row.serviceProviderPurchasePrice).toFixed(2) : '—' }} | {{ row.actualPrice > 0 ? '¥' + Number(row.actualPrice).toFixed(2) : '—' }} | {{ row.giftFuzhi > 0 ? row.giftFuzhi : '—' }} | {{ row.stock }} | {{ row.sold }} | 上架 下架 |
|
1. 该列表针对全SKU商品显示。
2. 商品上下架针对商品(全SKU,不针对独立SKU)。
2. 商品上下架针对商品(全SKU,不针对独立SKU)。
商品详情
商品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 }} | 渠道价(成本价) * | 原价 | 实际售价 * | 合伙人集采价 | 导师采购价 | 服务商采购价 | 赠送福值 | 编码 | 库存 | 兑换福值 0表示不支持兑换 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ sku.specs[k] }} |
请填写完整规格项和规格值后自动生成SKU列表
商品详情图片
+
上传详情图
运费配置
¥
注:青海、西藏、新疆、内蒙古 不支持下单
对接ERP商品的情况下,商品SKU可自定义模式下,不需要进行编辑,本部分不需要开发,只需要拉取ERP数据回来。
规格SKU配值
暂无规格项,请点击「+ 添加规格项」
{{ sv }}
订单管理 / {{ orderTypeLabel }}
共 {{ filteredOrders.length }} 单
{{ orderStatTotal }}
全部订单
{{ orderStatPending }}
待处理
{{ orderStatShipped }}
已发货
{{ orderStatCompleted }}
已完成
{{ orderStatCancelled }}
已取消
¥{{ orderStatRevenue.toLocaleString() }}
成交总额
| # | 订单号 | 交易单号 | 溯源模式 | 商品 | 客户 | 支付福值 | 金额 | 收货城市 | 发货状态 | 发货时间 | 状态 | 创建时间 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ o.orderNo }} | {{ o.payChannel }}{{ o.payOrderNo }}- | {{ o.traceMode === 'purchase' ? '销采订单' : '直销订单' }}- | {{ orderProductsLabel(o) }} | {{ o.customer }}{{ o.phone }} | {{ 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.supplierName }} | {{ 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 }} | |||
| 暂无套餐,请点击「新增套餐」添加 | |||
储值功能已关闭,用户端将不展示储值入口
储值记录
储值笔数
{{ storedRecords.length }}
累计储值金额
¥{{ totalStoredAmount.toFixed(2) }}
累计赠送消费金
¥{{ totalStoredBonus.toFixed(2) }}
| 序号 | 用户 | 储值时间 | 当笔储值金额 | 储值方式 | 赠送消费金 | 储值后余额 | 当前储值卡余额 | 当前消费金余额 |
|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} |
{{ r.avatar }}
{{ r.userNick }}
{{ r.userAccount }}
|
{{ r.time }} | ¥{{ r.amount.toFixed(2) }} | {{ r.method }} | +¥{{ r.bonus.toFixed(2) }} | ¥{{ r.balanceAfter.toFixed(2) }} | ¥{{ r.storedBalance.toFixed(2) }} | ¥{{ r.consumptionBalance.toFixed(2) }} |
| 暂无储值记录,点击「新增储值记录」添加 | ||||||||
用户列表
管理用户储值卡与消费金余额,支持加款/扣款
| 用户头像 | 用户电话 | 储值卡余额 | 消费金余额 | 福值余额 | 操作 |
|---|---|---|---|---|---|
|
{{ u.avatar }}
|
{{ u.phone }} | ¥{{ u.storedBalance.toFixed(2) }} | ¥{{ u.consumptionBalance.toFixed(2) }} | {{ (u.fuzhiBalance || 0) }} | |
| 暂无用户数据 | |||||
福值兑换比例
| 序号 | 名称 | 福值数 | 兑换金额(元) | 比例 | 状态 | 操作 |
|---|---|---|---|---|---|---|
| {{ 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() }}
首页幻灯片设置
配置首页轮播图,点击跳转关联商品详情页
ⓘ 使用说明:幻灯片按列表顺序展示;可设置投放位置(小善商城首页 / 自营甄选首页),并可上传图片后搜索关联自营或非自营商品,点击幻灯片会跳转到对应商品详情页。
| 序号 | 幻灯片图片 | 标题 | 关联商品 / 投放位置 | 点击跳转 | 操作 |
|---|---|---|---|---|---|
| {{ idx + 1 }} |
|
{{ item.title || '未设置标题' }} |
{{ item.productSource === 'normal' ? '非自营' : '自营' }}
未关联商品
位置:{{ item.position || '小善商城首页' }}
|
跳转商品详情 | |
| 暂无幻灯片配置,请点击「新增幻灯片」添加 | |||||
合伙人列表
共 {{ 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 }}({{ (sc.children || []).length }}个二级分类) | |
| └{{ sub.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 }} | {{ v.partnerCollectPrice > 0 ? '¥' + Number(v.partnerCollectPrice).toFixed(2) : '—' }} | {{ v.partnerTransferPrice > 0 ? '¥' + Number(v.partnerTransferPrice).toFixed(2) : '—' }} | {{ v.mentorPurchasePrice > 0 ? '¥' + Number(v.mentorPurchasePrice).toFixed(2) : '—' }} | {{ v.serviceProviderPurchasePrice > 0 ? '¥' + Number(v.serviceProviderPurchasePrice).toFixed(2) : '—' }} | {{ v.actualPrice > 0 ? '¥' + Number(v.actualPrice).toFixed(2) : '—' }} | {{ v.giftFuzhi > 0 ? v.giftFuzhi : '—' }} | 上架 下架 |
|
{{ editingSelfProductId ? '编辑' : '创建' }}自营商品
基本信息
归属信息
仓库库存与出入库/移仓共用同一份数据口径(同一商品按名称聚合、每仓一条库存记录),此处按商品名称自动带出各仓库存,仅供查看,不支持手动增删改。
新建商品暂无仓库库存;保存后可在「出入库管理」中为该商品配置各仓库库存。
该商品暂无仓库库存,可在「出入库管理」中为其配置。
分类属性将按所选二级分类展示
商品SKU
{{ sv }}
| {{ sk.name.trim() || ('规格'+(ski+1)) }} | 规格编码 | 成本价 | 合伙人集采价 | 合伙人转单价 | 导师采购价 | 服务商采购价 | 商品原价 | 实际售价 | 消费金购买 | 赠送福值 0 表示不赠送 |
操作 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ sku.label.split('/')[ski] || '' }} |
请添加规格项并填写规格值以生成 SKU 组合
商品图片
分类属性
{{ selfCatParentIdx === '' ? '请先选择所属分类' : (selfCatSubOptions.length === 0 ? '当前一级分类暂无二级分类,请先在自营分类中添加' : (selfProdCreate.categoryId === '' ? '请选择二级分类' : '当前分类暂无属性,请前往分类属性设置')) }}
{{ attr }}
运费配送
注:非同城市配送运费价格,青海、西藏、新疆、内蒙古 不支持下单
仓库列表
暂无仓库
请点击右上角「添加仓库」创建第一个仓库
| 序号 | 仓库名称 | 详细地址 | 面积(m²) | 管理员 | 联系电话 | 归属人 | 库存总量 | 状态 | 操作 |
|---|---|---|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ wh.name }} | {{ wh.province }}{{ wh.city }}{{ wh.district }} {{ wh.address }} |
{{ wh.area }} | {{ wh.manager }} | {{ wh.phone }} | {{ wh.ownerRole }}{{ wh.ownerName }}{{ wh.ownerPhone }}- | {{ 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.tradeNo }}- | {{ selfOrderProductsLabel(order) }} | {{ order.traceMode === 'purchase' ? '销采订单' : '直销订单' }}- | {{ order.quantity }} | ¥{{ order.amount.toFixed(2) }} | {{ order.recipient }} | {{ order.city }}- | 非同城同城- | {{ order.address }} | {{ order.shipWarehouseName || '-' }} | {{ 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 }} | 已激活 未激活 | |
| 暂无派件员数据 | |||||||
派件员需激活后才能进行派件操作与确认送达。激活方式:派件员通过小程序登录并完成身份认证激活。
跨区运费模板
模板总数
{{ shippingTemplates.length }}
覆盖城市
{{ shippingTemplates.reduce((sum,t)=>sum+t.cityFees.length,0) }}
📦
暂无运费模板,请点击"新增运费模板"添加