feat(cms): 新增网站订单模块并完善相关功能

- 在开发环境配置文件中启用API URL
- 新增网站订单编辑组件,支持添加和修改订单功能
- 调整发货模态框宽度为50%
- 将页面标题从"网宿软件"更新为"麦芽知电子商务"
- 重构网站订单模型定义,增加多个订单相关字段
- 更新网站订单API接口,移除模块前缀
- 在商品模型中新增分销佣金相关字段
- 实现完整的网站订单管理页面,包含表格展示和操作功能
This commit is contained in:
2026-01-28 17:01:08 +08:00
parent f3a59f9755
commit 51c6f3fa2f
14 changed files with 1773 additions and 60 deletions

View File

@@ -1,14 +1,13 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { CmsOrder, CmsOrderParam } from './model';
import { MODULES_API_URL } from '@/config/setting';
/**
* 分页查询订单
* 分页查询网站订单
*/
export async function pageCmsOrder(params: CmsOrderParam) {
const res = await request.get<ApiResult<PageResult<CmsOrder>>>(
MODULES_API_URL + '/cms/cms-order/page',
'/cms/cms-order/page',
{
params
}
@@ -20,11 +19,11 @@ export async function pageCmsOrder(params: CmsOrderParam) {
}
/**
* 查询订单列表
* 查询网站订单列表
*/
export async function listCmsOrder(params?: CmsOrderParam) {
const res = await request.get<ApiResult<CmsOrder[]>>(
MODULES_API_URL + '/cms/cms-order',
'/cms/cms-order',
{
params
}
@@ -36,11 +35,11 @@ export async function listCmsOrder(params?: CmsOrderParam) {
}
/**
* 添加订单
* 添加网站订单
*/
export async function addCmsOrder(data: CmsOrder) {
const res = await request.post<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-order',
'/cms/cms-order',
data
);
if (res.data.code === 0) {
@@ -50,11 +49,11 @@ export async function addCmsOrder(data: CmsOrder) {
}
/**
* 修改订单
* 修改网站订单
*/
export async function updateCmsOrder(data: CmsOrder) {
const res = await request.put<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-order',
'/cms/cms-order',
data
);
if (res.data.code === 0) {
@@ -64,11 +63,11 @@ export async function updateCmsOrder(data: CmsOrder) {
}
/**
* 删除订单
* 删除网站订单
*/
export async function removeCmsOrder(id?: number) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-order/' + id
'/cms/cms-order/' + id
);
if (res.data.code === 0) {
return res.data.message;
@@ -77,11 +76,11 @@ export async function removeCmsOrder(id?: number) {
}
/**
* 批量删除订单
* 批量删除网站订单
*/
export async function removeBatchCmsOrder(data: (number | undefined)[]) {
const res = await request.delete<ApiResult<unknown>>(
MODULES_API_URL + '/cms/cms-order/batch',
'/cms/cms-order/batch',
{
data
}
@@ -93,11 +92,11 @@ export async function removeBatchCmsOrder(data: (number | undefined)[]) {
}
/**
* 根据id查询订单
* 根据id查询网站订单
*/
export async function getCmsOrder(id: number) {
const res = await request.get<ApiResult<CmsOrder>>(
MODULES_API_URL + '/cms/cms-order/' + id
'/cms/cms-order/' + id
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -1,47 +1,149 @@
import type { PageParam } from '@/api';
/**
* 订单
* 网站订单
*/
export interface CmsOrder {
// 订单号
orderId?: number;
// id
id?: number;
// 订单类型0售前咨询 1售后服务 2意见反馈
type?: number;
// 订单标题
title?: string;
// 订单编号
orderNo?: string;
// 订单类型0商城 1询价 2留言
type?: number;
// 关联项目ID配合订单类型使用
itemId?: number;
// 真实姓名
realName?: string;
// 手机号码
phone?: string;
// 电子邮箱
email?: string;
// 收货地址
address?: string;
// 公司/团队名称
company?: string;
// 订单内容
content?: string;
// 订单附件
files?: string;
// 订单编号
orderNo?: string;
// 快递/自提
deliveryType?: number;
// 下单渠道0网站 1微信小程序 2其他
channel?: number;
// 微信支付交易号号
transactionId?: string;
// 微信退款订单号
refundOrder?: string;
// 商户ID
merchantId?: number;
// 商户名称
merchantName?: string;
// 商户编号
merchantCode?: string;
// 使用的优惠券id
couponId?: number;
// 使用的会员卡id
cardId?: string;
// 关联管理员id
adminId?: number;
// 核销管理员id
confirmId?: number;
// IC卡号
icCard?: string;
// 真实姓名
realName?: string;
// 关联收货地址
addressId?: number;
// 收货地址
address?: string;
//
addressLat?: string;
//
addressLng?: string;
// 自提店铺id
selfTakeMerchantId?: number;
// 自提店铺
selfTakeMerchantName?: string;
// 配送开始时间
sendStartTime?: string;
// 配送结束时间
sendEndTime?: string;
// 发货店铺id
expressMerchantId?: number;
// 发货店铺
expressMerchantName?: string;
// 订单总额
totalPrice?: string;
// 减少的金额使用VIP会员折扣、优惠券抵扣、优惠券折扣后减去的价格
reducePrice?: string;
// 实际付款
payPrice?: string;
// 报价询价
// 用于统计
price?: string;
// 价钱,用于积分赠送
money?: string;
// 取消时间
cancelTime?: string;
// 取消原因
cancelReason?: string;
// 退款金额
refundMoney?: string;
// 教练价格
coachPrice?: string;
// 购买数量
totalNum?: number;
// 教练id
coachId?: number;
// 商品ID
formId?: number;
// 支付的用户id
payUserId?: number;
// 0余额支付1微信支付2支付宝支付3银联支付4现金支付5POS机支付6免费7积分支付
payType?: number;
// 微信支付子类型JSAPI小程序支付NATIVE扫码支付
wechatPayType?: string;
// 0余额支付1微信支付2支付宝支付3银联支付4现金支付5POS机支付6免费7积分支付
friendPayType?: number;
// 0未付款1已付款
payStatus?: number;
// 0未使用1已完成2已取消3取消中4退款申请中5退款被拒绝6退款成功7客户端申请退款
orderStatus?: number;
// 发货状态(10未发货 20已发货 30部分发货)
deliveryStatus?: number;
// 无需发货备注
deliveryNote?: string;
// 发货时间
deliveryTime?: string;
// 评价状态(0未评价 1已评价)
evaluateStatus?: number;
// 评价时间
evaluateTime?: string;
// 优惠类型0无、1抵扣优惠券、2折扣优惠券、3、VIP月卡、4VIP年卡5VIP次卡、6VIP会员卡、7IC月卡、8IC年卡、9IC次卡、10IC会员卡、11免费订单、12VIP充值卡、13IC充值卡、14VIP季卡、15IC季卡
couponType?: number;
// 优惠说明
couponDesc?: string;
// 二维码地址,保存订单号,支付成功后才生成
qrcode?: string;
// 下单渠道0网站 1小程序 2其他
channel?: number;
// vip月卡年卡、ic月卡年卡回退次数
returnNum?: number;
// vip充值回退金额
returnMoney?: string;
// 预约详情开始时间数组
startTime?: string;
// 是否已开具发票0未开发票1已开发票2不能开具发票
isInvoice?: number;
// 发票流水号
invoiceNo?: string;
// 商家留言
merchantRemarks?: string;
// 支付时间
payTime?: string;
// 退款时间
refundTime?: string;
// 申请退款时间
refundApplyTime?: string;
// 过期时间
expirationTime?: string;
// 自提码
selfTakeCode?: string;
// 是否已收到赠品
hasTakeGift?: string;
// 对账情况0=未对账1=已对账3=已对账金额对不上4=未查询到该订单
checkBill?: number;
// 订单是否已结算(0未结算 1已结算)
isSettled?: boolean;
isSettled?: number;
// 系统版本号 0当前版本 value=其他版本
version?: number;
// 用户id
userId?: number;
// 备注
@@ -52,15 +154,16 @@ export interface CmsOrder {
deleted?: number;
// 租户id
tenantId?: number;
// 修改时间
updateTime?: string;
// 创建时间
createTime?: string;
}
/**
* 订单搜索条件
* 网站订单搜索条件
*/
export interface CmsOrderParam extends PageParam {
orderId?: number;
isSettled?: number;
id?: number;
keywords?: string;
}

View File

@@ -124,6 +124,19 @@ export interface ShopGoods {
canUseDate?: string;
ensureTag?: string;
expiredDay?: number;
// --- 分销/佣金(新字段,后端保持 snake_case---
// 是否开启分销佣金0关闭 1开启
isOpenCommission?: number;
// 分佣类型10固定金额 20百分比
commissionType?: number;
// 一级/二级/三级分销佣金(单位以服务端为准)
firstMoney?: number;
secondMoney?: number;
thirdMoney?: number;
// 一级/二级分红(单位以服务端为准)
firstDividend?: number;
secondDividend?: number;
}
export interface BathSet {