feat:【antd/ele】【mall/trade】优化 api 的注释

This commit is contained in:
YunaiV
2025-11-20 10:50:17 +08:00
parent 712fdb6382
commit 937aac5b01
40 changed files with 518 additions and 876 deletions

View File

@@ -5,85 +5,49 @@ import type { MallOrderApi } from '#/api/mall/trade/order';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace MallAfterSaleApi { export namespace MallAfterSaleApi {
/** 商品属性 */
export interface ProductProperty {
/** 属性的编号 */
propertyId?: null | number;
/** 属性的名称 */
propertyName?: string;
/** 属性值的编号 */
valueId?: null | number;
/** 属性值的名称 */
valueName?: string;
}
/** 交易售后 */ /** 交易售后 */
export interface AfterSale { export interface AfterSale {
/** 售后编号,主键自增 */ id?: number; // 售后编号
id?: null | number; no?: string; // 售后单号
/** 售后单号 */ status?: number; // 退款状态
no?: string; way?: number; // 售后方式
/** 退款状态 */ type?: number; // 售后类型
status?: null | number; userId?: number; // 用户编号
/** 售后方式 */ applyReason?: string; // 申请原因
way?: null | number; applyDescription?: string; // 补充描述
/** 售后类型 */ applyPicUrls?: string[]; // 补充凭证图片
type?: null | number; orderId?: number; // 交易订单编号
/** 用户编号 */ orderNo?: string; // 订单流水号
userId?: null | number; orderItemId?: number; // 交易订单项编号
/** 申请原因 */ spuId?: number; // 商品 SPU 编号
applyReason?: string; spuName?: string; // 商品 SPU 名称
/** 补充描述 */ skuId?: number; // 商品 SKU 编号
applyDescription?: string; properties?: {
/** 补充凭证图片 */ propertyId?: number; // 属性的编号
applyPicUrls?: string[]; propertyName?: string; // 属性的名称
/** 交易订单编号 */ valueId?: number; // 属性值的编号
orderId?: null | number; valueName?: string; // 属性值的名称
/** 订单流水号 */ }[]; // 属性数组
orderNo?: string; picUrl?: string; // 商品图片
/** 交易订单项编号 */ count?: number; // 退货商品数量
orderItemId?: null | number; auditTime?: Date; // 审批时间
/** 商品 SPU 编号 */ auditUserId?: number; // 审批人
spuId?: null | number; auditReason?: string; // 审批备注
/** 商品 SPU 名称 */ refundPrice?: number; // 退款金额,单位:分
spuName?: string; payRefundId?: number; // 支付退款编号
/** 商品 SKU 编号 */ refundTime?: Date; // 退款时间
skuId?: null | number; logisticsId?: number; // 退货物流公司编号
/** 属性数组 */ logisticsNo?: string; // 退货物流单号
properties?: ProductProperty[]; deliveryTime?: Date; // 退货时间
/** 商品图片 */ receiveTime?: Date; // 收货时间
picUrl?: string; receiveReason?: string; // 收货备注
/** 退货商品数量 */
count?: null | number;
/** 审批时间 */
auditTime?: Date;
/** 审批人 */
auditUserId?: null | number;
/** 审批备注 */
auditReason?: string;
/** 退款金额,单位:分 */
refundPrice?: null | number;
/** 支付退款编号 */
payRefundId?: null | number;
/** 退款时间 */
refundTime?: Date;
/** 退货物流公司编号 */
logisticsId?: null | number;
/** 退货物流单号 */
logisticsNo?: string;
/** 退货时间 */
deliveryTime?: Date;
/** 收货时间 */
receiveTime?: Date;
/** 收货备注 */
receiveReason?: string;
order?: MallOrderApi.Order; // 关联订单 order?: MallOrderApi.Order; // 关联订单
orderItem?: MallOrderApi.OrderItem; // 关联订单项 orderItem?: MallOrderApi.OrderItem; // 关联订单项
logs?: any[]; // 关联售后日志 logs?: any[]; // 关联售后日志
} }
/** 拒绝售后请求 */ /** 拒绝售后请求 */
export interface DisagreeRequest { export interface AfterSaleDisagreeReqVO {
/** 售后编号 */ /** 售后编号 */
id: number; id: number;
/** 拒绝原因 */ /** 拒绝原因 */
@@ -112,7 +76,9 @@ export function agreeAfterSale(id: number) {
} }
/** 拒绝售后 */ /** 拒绝售后 */
export function disagreeAfterSale(data: MallAfterSaleApi.DisagreeRequest) { export function disagreeAfterSale(
data: MallAfterSaleApi.AfterSaleDisagreeReqVO,
) {
return requestClient.put('/trade/after-sale/disagree', data); return requestClient.put('/trade/after-sale/disagree', data);
} }

View File

@@ -27,7 +27,7 @@ export namespace MallBrokerageWithdrawApi {
} }
/** 驳回申请请求 */ /** 驳回申请请求 */
export interface RejectRequest { export interface BrokerageWithdrawRejectReqVO {
id: number; // 编号 id: number; // 编号
auditReason: string; // 驳回原因 auditReason: string; // 驳回原因
} }
@@ -40,13 +40,6 @@ export function getBrokerageWithdrawPage(params: PageParam) {
>('/trade/brokerage-withdraw/page', { params }); >('/trade/brokerage-withdraw/page', { params });
} }
/** 查询佣金提现详情 */
export function getBrokerageWithdraw(id: number) {
return requestClient.get<MallBrokerageWithdrawApi.BrokerageWithdraw>(
`/trade/brokerage-withdraw/get?id=${id}`,
);
}
/** 佣金提现 - 通过申请 */ /** 佣金提现 - 通过申请 */
export function approveBrokerageWithdraw(id: number) { export function approveBrokerageWithdraw(id: number) {
return requestClient.put(`/trade/brokerage-withdraw/approve?id=${id}`); return requestClient.put(`/trade/brokerage-withdraw/approve?id=${id}`);
@@ -54,7 +47,7 @@ export function approveBrokerageWithdraw(id: number) {
/** 审核佣金提现 - 驳回申请 */ /** 审核佣金提现 - 驳回申请 */
export function rejectBrokerageWithdraw( export function rejectBrokerageWithdraw(
data: MallBrokerageWithdrawApi.RejectRequest, data: MallBrokerageWithdrawApi.BrokerageWithdrawRejectReqVO,
) { ) {
return requestClient.put('/trade/brokerage-withdraw/reject', data); return requestClient.put('/trade/brokerage-withdraw/reject', data);
} }

View File

@@ -5,28 +5,12 @@ import { requestClient } from '#/api/request';
export namespace MallDeliveryExpressApi { export namespace MallDeliveryExpressApi {
/** 快递公司 */ /** 快递公司 */
export interface DeliveryExpress { export interface DeliveryExpress {
/** 编号 */ id: number; // 编号
id: number; code: string; // 快递公司编码
/** 快递公司编码 */ name: string; // 快递公司名称
code: string; logo: string; // 快递公司 logo
/** 快递公司名称 */ sort: number; // 排序
name: string; status: number; // 状态
/** 快递公司 logo */
logo: string;
/** 排序 */
sort: number;
/** 状态 */
status: number;
}
/** 快递公司精简信息 */
export interface SimpleDeliveryExpress {
/** 编号 */
id: number;
/** 快递公司编码 */
code: string;
/** 快递公司名称 */
name: string;
} }
} }
@@ -47,7 +31,7 @@ export function getDeliveryExpress(id: number) {
/** 获得快递公司精简信息列表 */ /** 获得快递公司精简信息列表 */
export function getSimpleDeliveryExpressList() { export function getSimpleDeliveryExpressList() {
return requestClient.get<MallDeliveryExpressApi.SimpleDeliveryExpress[]>( return requestClient.get<MallDeliveryExpressApi.DeliveryExpress[]>(
'/trade/delivery/express/list-all-simple', '/trade/delivery/express/list-all-simple',
); );
} }

View File

@@ -3,86 +3,64 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace MallDeliveryExpressTemplateApi { export namespace MallDeliveryExpressTemplateApi {
/** 快递运费模板 */
export interface DeliveryExpressTemplate {
id: number; // 编号
name: string; // 模板名称
chargeMode: number; // 计费方式
sort: number; // 排序
charges: DeliveryExpressTemplateCharge[]; // 计费区域列表
frees: DeliveryExpressTemplateFree[]; // 包邮区域列表
}
/** 运费模板计费 */ /** 运费模板计费 */
export interface TemplateCharge { export interface DeliveryExpressTemplateCharge {
/** 区域编号列表 */ areaIds: number[]; // 区域编号列表
areaIds: number[]; startCount: number; // 首件数量
/** 首件数量 */ startPrice: number; // 首件价格,单位:分
startCount: number; extraCount: number; // 续件数量
/** 首件价格,单位:分 */ extraPrice: number; // 续件价格,单位:分
startPrice: number;
/** 续件数量 */
extraCount: number;
/** 续件价格,单位:分 */
extraPrice: number;
} }
/** 运费模板包邮 */ /** 运费模板包邮 */
export interface TemplateFree { export interface DeliveryExpressTemplateFree {
/** 区域编号列表 */ areaIds: number[]; // 区域编号列表
areaIds: number[]; freeCount: number; // 包邮件数
/** 包邮件数 */ freePrice: number; // 包邮金额,单位:分
freeCount: number;
/** 包邮金额,单位:分 */
freePrice: number;
}
/** 快递运费模板 */
export interface ExpressTemplate {
/** 编号 */
id: number;
/** 模板名称 */
name: string;
/** 计费方式 */
chargeMode: number;
/** 排序 */
sort: number;
/** 计费区域列表 */
charges: TemplateCharge[];
/** 包邮区域列表 */
frees: TemplateFree[];
}
/** 运费模板精简信息 */
export interface SimpleTemplate {
/** 编号 */
id: number;
/** 模板名称 */
name: string;
} }
} }
/** 查询快递运费模板列表 */ /** 查询快递运费模板列表 */
export function getDeliveryExpressTemplatePage(params: PageParam) { export function getDeliveryExpressTemplatePage(params: PageParam) {
return requestClient.get< return requestClient.get<
PageResult<MallDeliveryExpressTemplateApi.ExpressTemplate> PageResult<MallDeliveryExpressTemplateApi.DeliveryExpressTemplate>
>('/trade/delivery/express-template/page', { params }); >('/trade/delivery/express-template/page', { params });
} }
/** 查询快递运费模板详情 */ /** 查询快递运费模板详情 */
export function getDeliveryExpressTemplate(id: number) { export function getDeliveryExpressTemplate(id: number) {
return requestClient.get<MallDeliveryExpressTemplateApi.ExpressTemplate>( return requestClient.get<MallDeliveryExpressTemplateApi.DeliveryExpressTemplate>(
`/trade/delivery/express-template/get?id=${id}`, `/trade/delivery/express-template/get?id=${id}`,
); );
} }
/** 查询快递运费模板详情 */ /** 查询快递运费模板详情 */
export function getSimpleTemplateList() { export function getSimpleTemplateList() {
return requestClient.get<MallDeliveryExpressTemplateApi.SimpleTemplate[]>( return requestClient.get<
'/trade/delivery/express-template/list-all-simple', MallDeliveryExpressTemplateApi.DeliveryExpressTemplate[]
); >('/trade/delivery/express-template/list-all-simple');
} }
/** 新增快递运费模板 */ /** 新增快递运费模板 */
export function createDeliveryExpressTemplate( export function createDeliveryExpressTemplate(
data: MallDeliveryExpressTemplateApi.ExpressTemplate, data: MallDeliveryExpressTemplateApi.DeliveryExpressTemplate,
) { ) {
return requestClient.post('/trade/delivery/express-template/create', data); return requestClient.post('/trade/delivery/express-template/create', data);
} }
/** 修改快递运费模板 */ /** 修改快递运费模板 */
export function updateDeliveryExpressTemplate( export function updateDeliveryExpressTemplate(
data: MallDeliveryExpressTemplateApi.ExpressTemplate, data: MallDeliveryExpressTemplateApi.DeliveryExpressTemplate,
) { ) {
return requestClient.put('/trade/delivery/express-template/update', data); return requestClient.put('/trade/delivery/express-template/update', data);
} }

View File

@@ -4,35 +4,21 @@ import { requestClient } from '#/api/request';
export namespace MallDeliveryPickUpStoreApi { export namespace MallDeliveryPickUpStoreApi {
/** 自提门店 */ /** 自提门店 */
export interface PickUpStore { export interface DeliveryPickUpStore {
/** 编号 */ id: number; // 编号
id: number; name: string; // 门店名称
/** 门店名称 */ introduction: string; // 门店简介
name: string; phone: string; // 联系电话
/** 门店简介 */ areaId: number; // 区域编号
introduction: string; detailAddress: string; // 详细地址
/** 联系电话 */ logo: string; // 门店 logo
phone: string; openingTime: string; // 营业开始时间
/** 区域编号 */ closingTime: string; // 营业结束时间
areaId: number; latitude: number; // 纬度
/** 详细地址 */ longitude: number; // 经度
detailAddress: string; status: number; // 状态
/** 门店 logo */ rangeTime: any[]; // 营业时间,用于 fieldMappingTime
logo: string; verifyUserIds?: number[]; // 绑定用户编号组数
/** 营业开始时间 */
openingTime: string;
/** 营业结束时间 */
closingTime: string;
/** 纬度 */
latitude: number;
/** 经度 */
longitude: number;
/** 状态 */
status: number;
/** 营业时间 用于fieldMappingTime */
rangeTime: any[];
/** 绑定用户编号组数 */
verifyUserIds?: number[];
verifyUsers?: any[]; verifyUsers?: any[];
} }
@@ -46,36 +32,35 @@ export namespace MallDeliveryPickUpStoreApi {
/** 查询自提门店列表 */ /** 查询自提门店列表 */
export function getDeliveryPickUpStorePage(params: PageParam) { export function getDeliveryPickUpStorePage(params: PageParam) {
return requestClient.get<PageResult<MallDeliveryPickUpStoreApi.PickUpStore>>( return requestClient.get<
'/trade/delivery/pick-up-store/page', PageResult<MallDeliveryPickUpStoreApi.DeliveryPickUpStore>
{ params }, >('/trade/delivery/pick-up-store/page', { params });
);
} }
/** 查询自提门店详情 */ /** 查询自提门店详情 */
export function getDeliveryPickUpStore(id: number) { export function getDeliveryPickUpStore(id: number) {
return requestClient.get<MallDeliveryPickUpStoreApi.PickUpStore>( return requestClient.get<MallDeliveryPickUpStoreApi.DeliveryPickUpStore>(
`/trade/delivery/pick-up-store/get?id=${id}`, `/trade/delivery/pick-up-store/get?id=${id}`,
); );
} }
/** 查询自提门店精简列表 */ /** 查询自提门店精简列表 */
export function getSimpleDeliveryPickUpStoreList() { export function getSimpleDeliveryPickUpStoreList() {
return requestClient.get<MallDeliveryPickUpStoreApi.PickUpStore[]>( return requestClient.get<MallDeliveryPickUpStoreApi.DeliveryPickUpStore[]>(
'/trade/delivery/pick-up-store/simple-list', '/trade/delivery/pick-up-store/simple-list',
); );
} }
/** 新增自提门店 */ /** 新增自提门店 */
export function createDeliveryPickUpStore( export function createDeliveryPickUpStore(
data: MallDeliveryPickUpStoreApi.PickUpStore, data: MallDeliveryPickUpStoreApi.DeliveryPickUpStore,
) { ) {
return requestClient.post('/trade/delivery/pick-up-store/create', data); return requestClient.post('/trade/delivery/pick-up-store/create', data);
} }
/** 修改自提门店 */ /** 修改自提门店 */
export function updateDeliveryPickUpStore( export function updateDeliveryPickUpStore(
data: MallDeliveryPickUpStoreApi.PickUpStore, data: MallDeliveryPickUpStoreApi.DeliveryPickUpStore,
) { ) {
return requestClient.put('/trade/delivery/pick-up-store/update', data); return requestClient.put('/trade/delivery/pick-up-store/update', data);
} }

View File

@@ -3,231 +3,136 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace MallOrderApi { export namespace MallOrderApi {
/** 商品属性 */ /** 订单信息 */
export interface ProductProperty { export interface Order {
/** 属性的编号 */ id?: number; // 订单编号
propertyId?: number; no?: string; // 订单流水号
/** 属性的名称 */ createTime?: Date; // 下单时间
propertyName?: string; type?: number; // 订单类型
/** 属性值的编号 */ terminal?: number; // 订单来源
valueId?: number; userId?: number; // 用户编号
/** 属性值的名称 */ userIp?: string; // 用户 IP
valueName?: string; userRemark?: string; // 用户备注
status?: number; // 订单状态
productCount?: number; // 购买的商品数量
finishTime?: Date; // 订单完成时间
cancelTime?: Date; // 订单取消时间
cancelType?: number; // 取消类型
remark?: string; // 商家备注
payOrderId?: number; // 支付订单编号
payStatus?: boolean; // 是否已支付
payTime?: Date; // 付款时间
payChannelCode?: string; // 支付渠道
totalPrice?: number; // 商品原价(总)
discountPrice?: number; // 订单优惠(总)
deliveryPrice?: number; // 运费金额
adjustPrice?: number; // 订单调价(总)
payPrice?: number; // 应付金额(总)
deliveryType?: number; // 发货方式
pickUpStoreId?: number; // 自提门店编号
pickUpVerifyCode?: string; // 自提核销码
deliveryTemplateId?: number; // 配送模板编号
logisticsId?: number; // 发货物流公司编号
logisticsNo?: string; // 发货物流单号
deliveryTime?: Date; // 发货时间
receiveTime?: Date; // 收货时间
receiverName?: string; // 收件人名称
receiverMobile?: string; // 收件人手机
receiverPostCode?: number; // 收件人邮编
receiverAreaId?: number; // 收件人地区编号
receiverAreaName?: string; // 收件人地区名字
receiverDetailAddress?: string; // 收件人详细地址
afterSaleStatus?: number; // 售后状态
refundPrice?: number; // 退款金额
couponId?: number; // 优惠劵编号
couponPrice?: number; // 优惠劵减免金额
pointPrice?: number; // 积分抵扣的金额
vipPrice?: number; // VIP 减免金额
items?: OrderItem[]; // 订单项列表
user?: {
// 下单用户信息
avatar?: string; // 用户头像
id?: number; // 用户编号
nickname?: string; // 用户昵称
};
brokerageUser?: {
// 推广用户信息
avatar?: string; // 用户头像
id?: number; // 用户编号
nickname?: string; // 用户昵称
}; // 推广用户信息
logs?: OrderLog[]; // 订单操作日志
} }
/** 订单项 */ /** 订单项 */
export interface OrderItem { export interface OrderItem {
/** 编号 */ id?: number; // 编号
id?: number; userId?: number; // 用户编号
/** 用户编号 */ orderId?: number; // 订单编号
userId?: number; spuId?: number; // 商品 SPU 编号
/** 订单编号 */ spuName?: string; // 商品 SPU 名称
orderId?: number; skuId?: number; // 商品 SKU 编号
/** 商品 SPU 编号 */ picUrl?: string; // 商品图片
spuId?: number; count?: number; // 购买数量
/** 商品 SPU 名称 */ originalPrice?: number; // 商品原价(总)
spuName?: string; originalUnitPrice?: number; // 商品原价(单)
/** 商品 SKU 编号 */ discountPrice?: number; // 商品优惠(总)
skuId?: number; payPrice?: number; // 商品实付金额(总)
/** 商品图片 */ orderPartPrice?: number; // 子订单分摊金额(总)
picUrl?: string; orderDividePrice?: number; // 分摊后子订单实付金额(总)
/** 购买数量 */ afterSaleStatus?: number; // 售后状态
count?: number; properties?: {
/** 商品原价(总) */ propertyId?: number; // 属性的编号
originalPrice?: number; propertyName?: string; // 属性的名称
/** 商品原价(单) */ valueId?: number; // 属性值的编号
originalUnitPrice?: number; valueName?: string; // 属性值的名称
/** 商品优惠(总) */ }[]; // 属性数组
discountPrice?: number;
/** 商品实付金额(总) */
payPrice?: number;
/** 子订单分摊金额(总) */
orderPartPrice?: number;
/** 分摊后子订单实付金额(总) */
orderDividePrice?: number;
/** 售后状态 */
afterSaleStatus?: number;
/** 属性数组 */
properties?: ProductProperty[];
price?: number; price?: number;
} }
/** 订单日志 */ /** 订单日志 */
export interface OrderLog { export interface OrderLog {
/** 日志内容 */ content?: string; // 日志内容
content?: string; createTime?: Date; // 创建时间
/** 创建时间 */ userType?: number; // 用户类型
createTime?: Date; userId?: number; // 用户编号
/** 用户类型 */
userType?: number;
/** 用户编号 */
userId?: number;
} }
/** 订单 */ /** 交易订单统计响应 */
export interface Order { export interface OrderSummaryRespVO {
/** 订单编号 */ orderCount: number; // 订单数量
id?: number; orderPayPrice: number; // 订单金额
/** 订单流水号 */ afterSaleCount: number; // 退款单数
no?: string; afterSalePrice: number; // 退款金额
/** 下单时间 */
createTime?: Date;
/** 订单类型 */
type?: number;
/** 订单来源 */
terminal?: number;
/** 用户编号 */
userId?: number;
/** 用户 IP */
userIp?: string;
/** 用户备注 */
userRemark?: string;
/** 订单状态 */
status?: number;
/** 购买的商品数量 */
productCount?: number;
/** 订单完成时间 */
finishTime?: Date;
/** 订单取消时间 */
cancelTime?: Date;
/** 取消类型 */
cancelType?: number;
/** 商家备注 */
remark?: string;
/** 支付订单编号 */
payOrderId?: number;
/** 是否已支付 */
payStatus?: boolean;
/** 付款时间 */
payTime?: Date;
/** 支付渠道 */
payChannelCode?: string;
/** 商品原价(总) */
totalPrice?: number;
/** 订单优惠(总) */
discountPrice?: number;
/** 运费金额 */
deliveryPrice?: number;
/** 订单调价(总) */
adjustPrice?: number;
/** 应付金额(总) */
payPrice?: number;
/** 发货方式 */
deliveryType?: number;
/** 自提门店编号 */
pickUpStoreId?: number;
/** 自提核销码 */
pickUpVerifyCode?: string;
/** 配送模板编号 */
deliveryTemplateId?: number;
/** 发货物流公司编号 */
logisticsId?: number;
/** 发货物流单号 */
logisticsNo?: string;
/** 发货时间 */
deliveryTime?: Date;
/** 收货时间 */
receiveTime?: Date;
/** 收件人名称 */
receiverName?: string;
/** 收件人手机 */
receiverMobile?: string;
/** 收件人邮编 */
receiverPostCode?: number;
/** 收件人地区编号 */
receiverAreaId?: number;
/** 收件人地区名字 */
receiverAreaName?: string;
/** 收件人详细地址 */
receiverDetailAddress?: string;
/** 售后状态 */
afterSaleStatus?: number;
/** 退款金额 */
refundPrice?: number;
/** 优惠劵编号 */
couponId?: number;
/** 优惠劵减免金额 */
couponPrice?: number;
/** 积分抵扣的金额 */
pointPrice?: number;
/** VIP 减免金额 */
vipPrice?: number;
/** 订单项列表 */
items?: OrderItem[];
/** 下单用户信息 */
user?: {
/** 用户头像 */
avatar?: string;
/** 用户编号 */
id?: number;
/** 用户昵称 */
nickname?: string;
};
/** 推广用户信息 */
brokerageUser?: {
/** 用户头像 */
avatar?: string;
/** 用户编号 */
id?: number;
/** 用户昵称 */
nickname?: string;
};
/** 订单操作日志 */
logs?: OrderLog[];
}
/** 交易订单统计 */
export interface OrderSummary {
/** 订单数量 */
orderCount: number;
/** 订单金额 */
orderPayPrice: number;
/** 退款单数 */
afterSaleCount: number;
/** 退款金额 */
afterSalePrice: number;
} }
/** 订单发货请求 */ /** 订单发货请求 */
export interface DeliveryRequest { export interface OrderUpdateDeliveryReqVO {
/** 订单编号 */ id?: number; // 订单编号
id?: number; expressType: string; // 发货方式
/** 发货方式 */ logisticsId: number; // 物流公司编号
expressType: string; logisticsNo: string; // 物流编号
/** 物流公司编号 */
logisticsId: number;
/** 物流编号 */
logisticsNo: string;
} }
/** 订单备注请求 */ /** 订单备注请求 */
export interface RemarkRequest { export interface OrderUpdateRemarkReqVO {
/** 订单编号 */ id: number; // 订单编号
id: number; remark: string; // 备注
/** 备注 */
remark: string;
} }
/** 订单调价请求 */ /** 订单调价请求 */
export interface PriceRequest { export interface OrderUpdatePriceReqVO {
/** 订单编号 */ id: number; // 订单编号
id: number; adjustPrice: number; // 调整金额,单位:分
/** 调整金额,单位:分 */
adjustPrice: number;
} }
/** 订单地址请求 */ /** 订单地址请求 */
export interface AddressRequest { export interface OrderUpdateAddressReqVO {
/** 订单编号 */ id: number; // 订单编号
id: number; receiverName: string; // 收件人名称
/** 收件人名称 */ receiverMobile: string; // 收件人手机
receiverName: string; receiverAreaId: number; // 收件人地区编号
/** 收件人手机 */ receiverDetailAddress: string; // 收件人详细地址
receiverMobile: string;
/** 收件人地区编号 */
receiverAreaId: number;
/** 收件人详细地址 */
receiverDetailAddress: string;
} }
} }
@@ -243,9 +148,12 @@ export function getOrderPage(params: PageParam) {
/** 查询交易订单统计 */ /** 查询交易订单统计 */
export function getOrderSummary(params: any) { export function getOrderSummary(params: any) {
return requestClient.get<MallOrderApi.OrderSummary>('/trade/order/summary', { return requestClient.get<MallOrderApi.OrderSummaryRespVO>(
params, '/trade/order/summary',
}); {
params,
},
);
} }
/** 查询交易订单详情 */ /** 查询交易订单详情 */
@@ -261,22 +169,22 @@ export function getExpressTrackList(id: number) {
} }
/** 订单发货 */ /** 订单发货 */
export function deliveryOrder(data: MallOrderApi.DeliveryRequest) { export function deliveryOrder(data: MallOrderApi.OrderUpdateDeliveryReqVO) {
return requestClient.put('/trade/order/delivery', data); return requestClient.put('/trade/order/delivery', data);
} }
/** 订单备注 */ /** 订单备注 */
export function updateOrderRemark(data: MallOrderApi.RemarkRequest) { export function updateOrderRemark(data: MallOrderApi.OrderUpdateRemarkReqVO) {
return requestClient.put('/trade/order/update-remark', data); return requestClient.put('/trade/order/update-remark', data);
} }
/** 订单调价 */ /** 订单调价 */
export function updateOrderPrice(data: MallOrderApi.PriceRequest) { export function updateOrderPrice(data: MallOrderApi.OrderUpdatePriceReqVO) {
return requestClient.put('/trade/order/update-price', data); return requestClient.put('/trade/order/update-price', data);
} }
/** 修改订单地址 */ /** 修改订单地址 */
export function updateOrderAddress(data: MallOrderApi.AddressRequest) { export function updateOrderAddress(data: MallOrderApi.OrderUpdateAddressReqVO) {
return requestClient.put('/trade/order/update-address', data); return requestClient.put('/trade/order/update-address', data);
} }

View File

@@ -39,7 +39,7 @@ const [Modal, modalApi] = useVbenModal({
// 提交表单 // 提交表单
try { try {
const data = const data =
(await formApi.getValues()) as MallAfterSaleApi.DisagreeRequest; (await formApi.getValues()) as MallAfterSaleApi.AfterSaleDisagreeReqVO;
await disagreeAfterSale(data); await disagreeAfterSale(data);
// 关闭并提示 // 关闭并提示
await modalApi.close(); await modalApi.close();

View File

@@ -32,13 +32,15 @@ function handleCreate() {
} }
/** 编辑快递模板 */ /** 编辑快递模板 */
function handleEdit(row: MallDeliveryExpressTemplateApi.ExpressTemplate) { function handleEdit(
row: MallDeliveryExpressTemplateApi.DeliveryExpressTemplate,
) {
formModalApi.setData(row).open(); formModalApi.setData(row).open();
} }
/** 删除快递模板 */ /** 删除快递模板 */
async function handleDelete( async function handleDelete(
row: MallDeliveryExpressTemplateApi.ExpressTemplate, row: MallDeliveryExpressTemplateApi.DeliveryExpressTemplate,
) { ) {
const hideLoading = message.loading({ const hideLoading = message.loading({
content: $t('ui.actionMessage.deleting', [row.name]), content: $t('ui.actionMessage.deleting', [row.name]),
@@ -80,7 +82,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
refresh: true, refresh: true,
search: true, search: true,
}, },
} as VxeTableGridOptions<MallDeliveryExpressTemplateApi.ExpressTemplate>, } as VxeTableGridOptions<MallDeliveryExpressTemplateApi.DeliveryExpressTemplate>,
}); });
</script> </script>

View File

@@ -11,7 +11,7 @@ import { TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
import { CHARGE_MODE_TITLE_MAP, useChargesColumns } from '../data'; import { CHARGE_MODE_TITLE_MAP, useChargesColumns } from '../data';
interface Props { interface Props {
items?: MallDeliveryExpressTemplateApi.TemplateCharge[]; items?: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateCharge[];
chargeMode?: number; chargeMode?: number;
areaTree?: SystemAreaApi.Area[]; areaTree?: SystemAreaApi.Area[];
} }

View File

@@ -23,7 +23,7 @@ import ChargeItemForm from './charge-item-form.vue';
import FreeItemForm from './free-item-form.vue'; import FreeItemForm from './free-item-form.vue';
const emit = defineEmits(['success']); const emit = defineEmits(['success']);
const formData = ref<MallDeliveryExpressTemplateApi.ExpressTemplate>(); const formData = ref<MallDeliveryExpressTemplateApi.DeliveryExpressTemplate>();
const chargeItemFormRef = ref<InstanceType<typeof ChargeItemForm>>(); const chargeItemFormRef = ref<InstanceType<typeof ChargeItemForm>>();
const freeItemFormRef = ref<InstanceType<typeof FreeItemForm>>(); const freeItemFormRef = ref<InstanceType<typeof FreeItemForm>>();
const areaTree = ref<SystemAreaApi.Area[]>([]); const areaTree = ref<SystemAreaApi.Area[]>([]);
@@ -55,10 +55,10 @@ const [Form, formApi] = useVbenForm({
/** 更新运费设置 */ /** 更新运费设置 */
const handleUpdateCharges = async ( const handleUpdateCharges = async (
charges: MallDeliveryExpressTemplateApi.TemplateCharge[], charges: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateCharge[],
) => { ) => {
formData.value = formData.value =
await formApi.getValues<MallDeliveryExpressTemplateApi.ExpressTemplate>(); await formApi.getValues<MallDeliveryExpressTemplateApi.DeliveryExpressTemplate>();
formData.value.charges = charges; formData.value.charges = charges;
await formApi.setValues({ await formApi.setValues({
charges, charges,
@@ -67,10 +67,10 @@ const handleUpdateCharges = async (
/** 更新包邮设置 */ /** 更新包邮设置 */
const handleUpdateFrees = async ( const handleUpdateFrees = async (
frees: MallDeliveryExpressTemplateApi.TemplateFree[], frees: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateFree[],
) => { ) => {
formData.value = formData.value =
await formApi.getValues<MallDeliveryExpressTemplateApi.ExpressTemplate>(); await formApi.getValues<MallDeliveryExpressTemplateApi.DeliveryExpressTemplate>();
formData.value.frees = frees; formData.value.frees = frees;
await formApi.setValues({ await formApi.setValues({
frees, frees,
@@ -102,17 +102,19 @@ const [Modal, modalApi] = useVbenModal({
// 提交表单 // 提交表单
const data = cloneDeep( const data = cloneDeep(
await formApi.getValues(), await formApi.getValues(),
) as MallDeliveryExpressTemplateApi.ExpressTemplate; ) as MallDeliveryExpressTemplateApi.DeliveryExpressTemplate;
try { try {
// 转换金额单位 // 转换金额单位
data.charges?.forEach( data.charges?.forEach(
(item: MallDeliveryExpressTemplateApi.TemplateCharge) => { (
item: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateCharge,
) => {
item.startPrice = yuanToFen(item.startPrice); item.startPrice = yuanToFen(item.startPrice);
item.extraPrice = yuanToFen(item.extraPrice); item.extraPrice = yuanToFen(item.extraPrice);
}, },
); );
data.frees?.forEach( data.frees?.forEach(
(item: MallDeliveryExpressTemplateApi.TemplateFree) => { (item: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateFree) => {
item.freePrice = yuanToFen(item.freePrice); item.freePrice = yuanToFen(item.freePrice);
}, },
); );
@@ -134,7 +136,7 @@ const [Modal, modalApi] = useVbenModal({
} }
// 加载数据 // 加载数据
const data = const data =
modalApi.getData<MallDeliveryExpressTemplateApi.ExpressTemplate>(); modalApi.getData<MallDeliveryExpressTemplateApi.DeliveryExpressTemplate>();
if (!data || !data.id) { if (!data || !data.id) {
return; return;
} }
@@ -143,13 +145,15 @@ const [Modal, modalApi] = useVbenModal({
formData.value = await getDeliveryExpressTemplate(data.id); formData.value = await getDeliveryExpressTemplate(data.id);
// 转换金额单位 // 转换金额单位
formData.value.charges?.forEach( formData.value.charges?.forEach(
(item: MallDeliveryExpressTemplateApi.TemplateCharge) => { (
item: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateCharge,
) => {
item.startPrice = Number.parseFloat(fenToYuan(item.startPrice)); item.startPrice = Number.parseFloat(fenToYuan(item.startPrice));
item.extraPrice = Number.parseFloat(fenToYuan(item.extraPrice)); item.extraPrice = Number.parseFloat(fenToYuan(item.extraPrice));
}, },
); );
formData.value.frees?.forEach( formData.value.frees?.forEach(
(item: MallDeliveryExpressTemplateApi.TemplateFree) => { (item: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateFree) => {
item.freePrice = Number.parseFloat(fenToYuan(item.freePrice)); item.freePrice = Number.parseFloat(fenToYuan(item.freePrice));
}, },
); );

View File

@@ -11,7 +11,7 @@ import { TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
import { FREE_MODE_TITLE_MAP, useFreesColumns } from '../data'; import { FREE_MODE_TITLE_MAP, useFreesColumns } from '../data';
interface Props { interface Props {
items?: MallDeliveryExpressTemplateApi.TemplateFree[]; items?: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateFree[];
chargeMode?: number; chargeMode?: number;
areaTree?: SystemAreaApi.Area[]; areaTree?: SystemAreaApi.Area[];
} }

View File

@@ -12,7 +12,7 @@ import { getRangePickerDefaultProps } from '#/utils';
/** 关联数据 */ /** 关联数据 */
const userStore = useUserStore(); const userStore = useUserStore();
const pickUpStoreList = ref<MallDeliveryPickUpStoreApi.PickUpStore[]>([]); const pickUpStoreList = ref<MallDeliveryPickUpStoreApi.DeliveryPickUpStore[]>([]);
getSimpleDeliveryPickUpStoreList().then((res) => { getSimpleDeliveryPickUpStoreList().then((res) => {
pickUpStoreList.value = res; pickUpStoreList.value = res;
// 移除自己无法核销的门店 // 移除自己无法核销的门店

View File

@@ -20,7 +20,7 @@ import {
import { useGridColumns, useGridFormSchema } from './data'; import { useGridColumns, useGridFormSchema } from './data';
const summary = ref<MallOrderApi.OrderSummary>(); const summary = ref<MallOrderApi.OrderSummaryRespVO>();
/** 刷新表格 */ /** 刷新表格 */
function handleRefresh() { function handleRefresh() {

View File

@@ -38,17 +38,19 @@ function handleCreate() {
} }
/** 编辑门店 */ /** 编辑门店 */
function handleEdit(row: MallDeliveryPickUpStoreApi.PickUpStore) { function handleEdit(row: MallDeliveryPickUpStoreApi.DeliveryPickUpStore) {
formModalApi.setData(row).open(); formModalApi.setData(row).open();
} }
/** 绑定店员 */ /** 绑定店员 */
function handleBind(row: MallDeliveryPickUpStoreApi.PickUpStore) { function handleBind(row: MallDeliveryPickUpStoreApi.DeliveryPickUpStore) {
bindFormModalApi.setData(row).open(); bindFormModalApi.setData(row).open();
} }
/** 删除门店 */ /** 删除门店 */
async function handleDelete(row: MallDeliveryPickUpStoreApi.PickUpStore) { async function handleDelete(
row: MallDeliveryPickUpStoreApi.DeliveryPickUpStore,
) {
const hideLoading = message.loading({ const hideLoading = message.loading({
content: $t('ui.actionMessage.deleting', [row.name]), content: $t('ui.actionMessage.deleting', [row.name]),
duration: 0, duration: 0,
@@ -89,7 +91,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
refresh: true, refresh: true,
search: true, search: true,
}, },
} as VxeTableGridOptions<MallDeliveryPickUpStoreApi.PickUpStore>, } as VxeTableGridOptions<MallDeliveryPickUpStoreApi.DeliveryPickUpStore>,
}); });
</script> </script>

View File

@@ -17,7 +17,7 @@ import { $t } from '#/locales';
import { useBindFormSchema } from '../data'; import { useBindFormSchema } from '../data';
const emit = defineEmits(['success']); const emit = defineEmits(['success']);
const formData = ref<MallDeliveryPickUpStoreApi.PickUpStore>(); const formData = ref<MallDeliveryPickUpStoreApi.DeliveryPickUpStore>();
const [Form, formApi] = useVbenForm({ const [Form, formApi] = useVbenForm({
commonConfig: { commonConfig: {

View File

@@ -20,7 +20,7 @@ import { $t } from '#/locales';
import { useFormSchema } from '../data'; import { useFormSchema } from '../data';
const emit = defineEmits(['success']); const emit = defineEmits(['success']);
const formData = ref<MallDeliveryPickUpStoreApi.PickUpStore>(); const formData = ref<MallDeliveryPickUpStoreApi.DeliveryPickUpStore>();
const getTitle = computed(() => { const getTitle = computed(() => {
return formData.value?.id return formData.value?.id
? $t('ui.actionTitle.edit', ['门店']) ? $t('ui.actionTitle.edit', ['门店'])
@@ -94,7 +94,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
// 提交表单 // 提交表单
const data = const data =
(await formApi.getValues()) as MallDeliveryPickUpStoreApi.PickUpStore; (await formApi.getValues()) as MallDeliveryPickUpStoreApi.DeliveryPickUpStore;
try { try {
await (formData.value?.id await (formData.value?.id
? updateDeliveryPickUpStore(data) ? updateDeliveryPickUpStore(data)
@@ -113,7 +113,7 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
// 加载数据 // 加载数据
const data = modalApi.getData<MallDeliveryPickUpStoreApi.PickUpStore>(); const data = modalApi.getData<MallDeliveryPickUpStoreApi.DeliveryPickUpStore>();
if (!data || !data.id) { if (!data || !data.id) {
// 初始化地图 // 初始化地图
await initTencentLbsMap(); await initTencentLbsMap();

View File

@@ -12,7 +12,7 @@ import { getAreaTree } from '#/api/system/area';
import { getRangePickerDefaultProps } from '#/utils'; import { getRangePickerDefaultProps } from '#/utils';
/** 关联数据 */ /** 关联数据 */
let pickUpStoreList: MallDeliveryPickUpStoreApi.PickUpStore[] = []; let pickUpStoreList: MallDeliveryPickUpStoreApi.DeliveryPickUpStore[] = [];
getSimpleDeliveryPickUpStoreList().then((data) => { getSimpleDeliveryPickUpStoreList().then((data) => {
pickUpStoreList = data; pickUpStoreList = data;
}); });

View File

@@ -54,11 +54,11 @@ const orderId = ref(0);
const order = ref<MallOrderApi.Order>({ const order = ref<MallOrderApi.Order>({
logs: [], logs: [],
}); });
const deliveryExpressList = ref<MallDeliveryExpressApi.SimpleDeliveryExpress[]>( const deliveryExpressList = ref<MallDeliveryExpressApi.DeliveryExpress[]>([]);
[],
);
const expressTrackList = ref<any[]>([]); const expressTrackList = ref<any[]>([]);
const pickUpStore = ref<MallDeliveryPickUpStoreApi.PickUpStore | undefined>(); const pickUpStore = ref<
MallDeliveryPickUpStoreApi.DeliveryPickUpStore | undefined
>();
const [OrderInfoDescriptions] = useDescription({ const [OrderInfoDescriptions] = useDescription({
title: '订单信息', title: '订单信息',

View File

@@ -40,7 +40,7 @@ const [Modal, modalApi] = useVbenModal({
// 提交表单 // 提交表单
const data = await formApi.getValues(); const data = await formApi.getValues();
try { try {
await updateOrderAddress(data as MallOrderApi.AddressRequest); await updateOrderAddress(data as MallOrderApi.OrderUpdateAddressReqVO);
// 关闭并提示 // 关闭并提示
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');

View File

@@ -50,7 +50,7 @@ const [Modal, modalApi] = useVbenModal({
data.logisticsNo = ''; data.logisticsNo = '';
} }
try { try {
await deliveryOrder(data as MallOrderApi.DeliveryRequest); await deliveryOrder(data as MallOrderApi.OrderUpdateDeliveryReqVO);
// 关闭并提示 // 关闭并提示
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');

View File

@@ -15,7 +15,7 @@ import { useRemarkFormSchema } from '../data';
const emit = defineEmits(['success']); const emit = defineEmits(['success']);
const formData = ref<MallOrderApi.DeliveryRequest>(); const formData = ref<MallOrderApi.OrderUpdateDeliveryReqVO>();
const [Form, formApi] = useVbenForm({ const [Form, formApi] = useVbenForm({
commonConfig: { commonConfig: {
@@ -38,7 +38,8 @@ const [Modal, modalApi] = useVbenModal({
} }
modalApi.lock(); modalApi.lock();
// 提交表单 // 提交表单
const data = (await formApi.getValues()) as MallOrderApi.RemarkRequest; const data =
(await formApi.getValues()) as MallOrderApi.OrderUpdateRemarkReqVO;
try { try {
await updateOrderRemark(data); await updateOrderRemark(data);
// 关闭并提示 // 关闭并提示

View File

@@ -5,85 +5,49 @@ import type { MallOrderApi } from '#/api/mall/trade/order';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace MallAfterSaleApi { export namespace MallAfterSaleApi {
/** 商品属性 */
export interface ProductProperty {
/** 属性的编号 */
propertyId?: null | number;
/** 属性的名称 */
propertyName?: string;
/** 属性值的编号 */
valueId?: null | number;
/** 属性值的名称 */
valueName?: string;
}
/** 交易售后 */ /** 交易售后 */
export interface AfterSale { export interface AfterSale {
/** 售后编号,主键自增 */ id?: number; // 售后编号
id?: null | number; no?: string; // 售后单号
/** 售后单号 */ status?: number; // 退款状态
no?: string; way?: number; // 售后方式
/** 退款状态 */ type?: number; // 售后类型
status?: null | number; userId?: number; // 用户编号
/** 售后方式 */ applyReason?: string; // 申请原因
way?: null | number; applyDescription?: string; // 补充描述
/** 售后类型 */ applyPicUrls?: string[]; // 补充凭证图片
type?: null | number; orderId?: number; // 交易订单编号
/** 用户编号 */ orderNo?: string; // 订单流水号
userId?: null | number; orderItemId?: number; // 交易订单项编号
/** 申请原因 */ spuId?: number; // 商品 SPU 编号
applyReason?: string; spuName?: string; // 商品 SPU 名称
/** 补充描述 */ skuId?: number; // 商品 SKU 编号
applyDescription?: string; properties?: {
/** 补充凭证图片 */ propertyId?: number; // 属性的编号
applyPicUrls?: string[]; propertyName?: string; // 属性的名称
/** 交易订单编号 */ valueId?: number; // 属性值的编号
orderId?: null | number; valueName?: string; // 属性值的名称
/** 订单流水号 */ }[]; // 属性数组
orderNo?: string; picUrl?: string; // 商品图片
/** 交易订单项编号 */ count?: number; // 退货商品数量
orderItemId?: null | number; auditTime?: Date; // 审批时间
/** 商品 SPU 编号 */ auditUserId?: number; // 审批人
spuId?: null | number; auditReason?: string; // 审批备注
/** 商品 SPU 名称 */ refundPrice?: number; // 退款金额,单位:分
spuName?: string; payRefundId?: number; // 支付退款编号
/** 商品 SKU 编号 */ refundTime?: Date; // 退款时间
skuId?: null | number; logisticsId?: number; // 退货物流公司编号
/** 属性数组 */ logisticsNo?: string; // 退货物流单号
properties?: ProductProperty[]; deliveryTime?: Date; // 退货时间
/** 商品图片 */ receiveTime?: Date; // 收货时间
picUrl?: string; receiveReason?: string; // 收货备注
/** 退货商品数量 */
count?: null | number;
/** 审批时间 */
auditTime?: Date;
/** 审批人 */
auditUserId?: null | number;
/** 审批备注 */
auditReason?: string;
/** 退款金额,单位:分 */
refundPrice?: null | number;
/** 支付退款编号 */
payRefundId?: null | number;
/** 退款时间 */
refundTime?: Date;
/** 退货物流公司编号 */
logisticsId?: null | number;
/** 退货物流单号 */
logisticsNo?: string;
/** 退货时间 */
deliveryTime?: Date;
/** 收货时间 */
receiveTime?: Date;
/** 收货备注 */
receiveReason?: string;
order?: MallOrderApi.Order; // 关联订单 order?: MallOrderApi.Order; // 关联订单
orderItem?: MallOrderApi.OrderItem; // 关联订单项 orderItem?: MallOrderApi.OrderItem; // 关联订单项
logs?: any[]; // 关联售后日志 logs?: any[]; // 关联售后日志
} }
/** 拒绝售后请求 */ /** 拒绝售后请求 */
export interface DisagreeRequest { export interface AfterSaleDisagreeReqVO {
/** 售后编号 */ /** 售后编号 */
id: number; id: number;
/** 拒绝原因 */ /** 拒绝原因 */
@@ -112,7 +76,9 @@ export function agreeAfterSale(id: number) {
} }
/** 拒绝售后 */ /** 拒绝售后 */
export function disagreeAfterSale(data: MallAfterSaleApi.DisagreeRequest) { export function disagreeAfterSale(
data: MallAfterSaleApi.AfterSaleDisagreeReqVO,
) {
return requestClient.put('/trade/after-sale/disagree', data); return requestClient.put('/trade/after-sale/disagree', data);
} }

View File

@@ -27,7 +27,7 @@ export namespace MallBrokerageWithdrawApi {
} }
/** 驳回申请请求 */ /** 驳回申请请求 */
export interface RejectRequest { export interface BrokerageWithdrawRejectReqVO {
id: number; // 编号 id: number; // 编号
auditReason: string; // 驳回原因 auditReason: string; // 驳回原因
} }
@@ -40,13 +40,6 @@ export function getBrokerageWithdrawPage(params: PageParam) {
>('/trade/brokerage-withdraw/page', { params }); >('/trade/brokerage-withdraw/page', { params });
} }
/** 查询佣金提现详情 */
export function getBrokerageWithdraw(id: number) {
return requestClient.get<MallBrokerageWithdrawApi.BrokerageWithdraw>(
`/trade/brokerage-withdraw/get?id=${id}`,
);
}
/** 佣金提现 - 通过申请 */ /** 佣金提现 - 通过申请 */
export function approveBrokerageWithdraw(id: number) { export function approveBrokerageWithdraw(id: number) {
return requestClient.put(`/trade/brokerage-withdraw/approve?id=${id}`); return requestClient.put(`/trade/brokerage-withdraw/approve?id=${id}`);
@@ -54,7 +47,7 @@ export function approveBrokerageWithdraw(id: number) {
/** 审核佣金提现 - 驳回申请 */ /** 审核佣金提现 - 驳回申请 */
export function rejectBrokerageWithdraw( export function rejectBrokerageWithdraw(
data: MallBrokerageWithdrawApi.RejectRequest, data: MallBrokerageWithdrawApi.BrokerageWithdrawRejectReqVO,
) { ) {
return requestClient.put('/trade/brokerage-withdraw/reject', data); return requestClient.put('/trade/brokerage-withdraw/reject', data);
} }

View File

@@ -5,28 +5,12 @@ import { requestClient } from '#/api/request';
export namespace MallDeliveryExpressApi { export namespace MallDeliveryExpressApi {
/** 快递公司 */ /** 快递公司 */
export interface DeliveryExpress { export interface DeliveryExpress {
/** 编号 */ id: number; // 编号
id: number; code: string; // 快递公司编码
/** 快递公司编码 */ name: string; // 快递公司名称
code: string; logo: string; // 快递公司 logo
/** 快递公司名称 */ sort: number; // 排序
name: string; status: number; // 状态
/** 快递公司 logo */
logo: string;
/** 排序 */
sort: number;
/** 状态 */
status: number;
}
/** 快递公司精简信息 */
export interface SimpleDeliveryExpress {
/** 编号 */
id: number;
/** 快递公司编码 */
code: string;
/** 快递公司名称 */
name: string;
} }
} }
@@ -47,7 +31,7 @@ export function getDeliveryExpress(id: number) {
/** 获得快递公司精简信息列表 */ /** 获得快递公司精简信息列表 */
export function getSimpleDeliveryExpressList() { export function getSimpleDeliveryExpressList() {
return requestClient.get<MallDeliveryExpressApi.SimpleDeliveryExpress[]>( return requestClient.get<MallDeliveryExpressApi.DeliveryExpress[]>(
'/trade/delivery/express/list-all-simple', '/trade/delivery/express/list-all-simple',
); );
} }

View File

@@ -3,86 +3,64 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace MallDeliveryExpressTemplateApi { export namespace MallDeliveryExpressTemplateApi {
/** 快递运费模板 */
export interface DeliveryExpressTemplate {
id: number; // 编号
name: string; // 模板名称
chargeMode: number; // 计费方式
sort: number; // 排序
charges: DeliveryExpressTemplateCharge[]; // 计费区域列表
frees: DeliveryExpressTemplateFree[]; // 包邮区域列表
}
/** 运费模板计费 */ /** 运费模板计费 */
export interface TemplateCharge { export interface DeliveryExpressTemplateCharge {
/** 区域编号列表 */ areaIds: number[]; // 区域编号列表
areaIds: number[]; startCount: number; // 首件数量
/** 首件数量 */ startPrice: number; // 首件价格,单位:分
startCount: number; extraCount: number; // 续件数量
/** 首件价格,单位:分 */ extraPrice: number; // 续件价格,单位:分
startPrice: number;
/** 续件数量 */
extraCount: number;
/** 续件价格,单位:分 */
extraPrice: number;
} }
/** 运费模板包邮 */ /** 运费模板包邮 */
export interface TemplateFree { export interface DeliveryExpressTemplateFree {
/** 区域编号列表 */ areaIds: number[]; // 区域编号列表
areaIds: number[]; freeCount: number; // 包邮件数
/** 包邮件数 */ freePrice: number; // 包邮金额,单位:分
freeCount: number;
/** 包邮金额,单位:分 */
freePrice: number;
}
/** 快递运费模板 */
export interface ExpressTemplate {
/** 编号 */
id: number;
/** 模板名称 */
name: string;
/** 计费方式 */
chargeMode: number;
/** 排序 */
sort: number;
/** 计费区域列表 */
charges: TemplateCharge[];
/** 包邮区域列表 */
frees: TemplateFree[];
}
/** 运费模板精简信息 */
export interface SimpleTemplate {
/** 编号 */
id: number;
/** 模板名称 */
name: string;
} }
} }
/** 查询快递运费模板列表 */ /** 查询快递运费模板列表 */
export function getDeliveryExpressTemplatePage(params: PageParam) { export function getDeliveryExpressTemplatePage(params: PageParam) {
return requestClient.get< return requestClient.get<
PageResult<MallDeliveryExpressTemplateApi.ExpressTemplate> PageResult<MallDeliveryExpressTemplateApi.DeliveryExpressTemplate>
>('/trade/delivery/express-template/page', { params }); >('/trade/delivery/express-template/page', { params });
} }
/** 查询快递运费模板详情 */ /** 查询快递运费模板详情 */
export function getDeliveryExpressTemplate(id: number) { export function getDeliveryExpressTemplate(id: number) {
return requestClient.get<MallDeliveryExpressTemplateApi.ExpressTemplate>( return requestClient.get<MallDeliveryExpressTemplateApi.DeliveryExpressTemplate>(
`/trade/delivery/express-template/get?id=${id}`, `/trade/delivery/express-template/get?id=${id}`,
); );
} }
/** 查询快递运费模板详情 */ /** 查询快递运费模板详情 */
export function getSimpleTemplateList() { export function getSimpleTemplateList() {
return requestClient.get<MallDeliveryExpressTemplateApi.SimpleTemplate[]>( return requestClient.get<
'/trade/delivery/express-template/list-all-simple', MallDeliveryExpressTemplateApi.DeliveryExpressTemplate[]
); >('/trade/delivery/express-template/list-all-simple');
} }
/** 新增快递运费模板 */ /** 新增快递运费模板 */
export function createDeliveryExpressTemplate( export function createDeliveryExpressTemplate(
data: MallDeliveryExpressTemplateApi.ExpressTemplate, data: MallDeliveryExpressTemplateApi.DeliveryExpressTemplate,
) { ) {
return requestClient.post('/trade/delivery/express-template/create', data); return requestClient.post('/trade/delivery/express-template/create', data);
} }
/** 修改快递运费模板 */ /** 修改快递运费模板 */
export function updateDeliveryExpressTemplate( export function updateDeliveryExpressTemplate(
data: MallDeliveryExpressTemplateApi.ExpressTemplate, data: MallDeliveryExpressTemplateApi.DeliveryExpressTemplate,
) { ) {
return requestClient.put('/trade/delivery/express-template/update', data); return requestClient.put('/trade/delivery/express-template/update', data);
} }

View File

@@ -4,35 +4,21 @@ import { requestClient } from '#/api/request';
export namespace MallDeliveryPickUpStoreApi { export namespace MallDeliveryPickUpStoreApi {
/** 自提门店 */ /** 自提门店 */
export interface PickUpStore { export interface DeliveryPickUpStore {
/** 编号 */ id: number; // 编号
id: number; name: string; // 门店名称
/** 门店名称 */ introduction: string; // 门店简介
name: string; phone: string; // 联系电话
/** 门店简介 */ areaId: number; // 区域编号
introduction: string; detailAddress: string; // 详细地址
/** 联系电话 */ logo: string; // 门店 logo
phone: string; openingTime: string; // 营业开始时间
/** 区域编号 */ closingTime: string; // 营业结束时间
areaId: number; latitude: number; // 纬度
/** 详细地址 */ longitude: number; // 经度
detailAddress: string; status: number; // 状态
/** 门店 logo */ rangeTime: any[]; // 营业时间,用于 fieldMappingTime
logo: string; verifyUserIds?: number[]; // 绑定用户编号组数
/** 营业开始时间 */
openingTime: string;
/** 营业结束时间 */
closingTime: string;
/** 纬度 */
latitude: number;
/** 经度 */
longitude: number;
/** 状态 */
status: number;
/** 营业时间 用于fieldMappingTime */
rangeTime: any[];
/** 绑定用户编号组数 */
verifyUserIds?: number[];
verifyUsers?: any[]; verifyUsers?: any[];
} }
@@ -46,36 +32,35 @@ export namespace MallDeliveryPickUpStoreApi {
/** 查询自提门店列表 */ /** 查询自提门店列表 */
export function getDeliveryPickUpStorePage(params: PageParam) { export function getDeliveryPickUpStorePage(params: PageParam) {
return requestClient.get<PageResult<MallDeliveryPickUpStoreApi.PickUpStore>>( return requestClient.get<
'/trade/delivery/pick-up-store/page', PageResult<MallDeliveryPickUpStoreApi.DeliveryPickUpStore>
{ params }, >('/trade/delivery/pick-up-store/page', { params });
);
} }
/** 查询自提门店详情 */ /** 查询自提门店详情 */
export function getDeliveryPickUpStore(id: number) { export function getDeliveryPickUpStore(id: number) {
return requestClient.get<MallDeliveryPickUpStoreApi.PickUpStore>( return requestClient.get<MallDeliveryPickUpStoreApi.DeliveryPickUpStore>(
`/trade/delivery/pick-up-store/get?id=${id}`, `/trade/delivery/pick-up-store/get?id=${id}`,
); );
} }
/** 查询自提门店精简列表 */ /** 查询自提门店精简列表 */
export function getSimpleDeliveryPickUpStoreList() { export function getSimpleDeliveryPickUpStoreList() {
return requestClient.get<MallDeliveryPickUpStoreApi.PickUpStore[]>( return requestClient.get<MallDeliveryPickUpStoreApi.DeliveryPickUpStore[]>(
'/trade/delivery/pick-up-store/simple-list', '/trade/delivery/pick-up-store/simple-list',
); );
} }
/** 新增自提门店 */ /** 新增自提门店 */
export function createDeliveryPickUpStore( export function createDeliveryPickUpStore(
data: MallDeliveryPickUpStoreApi.PickUpStore, data: MallDeliveryPickUpStoreApi.DeliveryPickUpStore,
) { ) {
return requestClient.post('/trade/delivery/pick-up-store/create', data); return requestClient.post('/trade/delivery/pick-up-store/create', data);
} }
/** 修改自提门店 */ /** 修改自提门店 */
export function updateDeliveryPickUpStore( export function updateDeliveryPickUpStore(
data: MallDeliveryPickUpStoreApi.PickUpStore, data: MallDeliveryPickUpStoreApi.DeliveryPickUpStore,
) { ) {
return requestClient.put('/trade/delivery/pick-up-store/update', data); return requestClient.put('/trade/delivery/pick-up-store/update', data);
} }

View File

@@ -3,231 +3,136 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace MallOrderApi { export namespace MallOrderApi {
/** 商品属性 */ /** 订单信息 */
export interface ProductProperty { export interface Order {
/** 属性的编号 */ id?: number; // 订单编号
propertyId?: number; no?: string; // 订单流水号
/** 属性的名称 */ createTime?: Date; // 下单时间
propertyName?: string; type?: number; // 订单类型
/** 属性值的编号 */ terminal?: number; // 订单来源
valueId?: number; userId?: number; // 用户编号
/** 属性值的名称 */ userIp?: string; // 用户 IP
valueName?: string; userRemark?: string; // 用户备注
status?: number; // 订单状态
productCount?: number; // 购买的商品数量
finishTime?: Date; // 订单完成时间
cancelTime?: Date; // 订单取消时间
cancelType?: number; // 取消类型
remark?: string; // 商家备注
payOrderId?: number; // 支付订单编号
payStatus?: boolean; // 是否已支付
payTime?: Date; // 付款时间
payChannelCode?: string; // 支付渠道
totalPrice?: number; // 商品原价(总)
discountPrice?: number; // 订单优惠(总)
deliveryPrice?: number; // 运费金额
adjustPrice?: number; // 订单调价(总)
payPrice?: number; // 应付金额(总)
deliveryType?: number; // 发货方式
pickUpStoreId?: number; // 自提门店编号
pickUpVerifyCode?: string; // 自提核销码
deliveryTemplateId?: number; // 配送模板编号
logisticsId?: number; // 发货物流公司编号
logisticsNo?: string; // 发货物流单号
deliveryTime?: Date; // 发货时间
receiveTime?: Date; // 收货时间
receiverName?: string; // 收件人名称
receiverMobile?: string; // 收件人手机
receiverPostCode?: number; // 收件人邮编
receiverAreaId?: number; // 收件人地区编号
receiverAreaName?: string; // 收件人地区名字
receiverDetailAddress?: string; // 收件人详细地址
afterSaleStatus?: number; // 售后状态
refundPrice?: number; // 退款金额
couponId?: number; // 优惠劵编号
couponPrice?: number; // 优惠劵减免金额
pointPrice?: number; // 积分抵扣的金额
vipPrice?: number; // VIP 减免金额
items?: OrderItem[]; // 订单项列表
user?: {
// 下单用户信息
avatar?: string; // 用户头像
id?: number; // 用户编号
nickname?: string; // 用户昵称
};
brokerageUser?: {
// 推广用户信息
avatar?: string; // 用户头像
id?: number; // 用户编号
nickname?: string; // 用户昵称
}; // 推广用户信息
logs?: OrderLog[]; // 订单操作日志
} }
/** 订单项 */ /** 订单项 */
export interface OrderItem { export interface OrderItem {
/** 编号 */ id?: number; // 编号
id?: number; userId?: number; // 用户编号
/** 用户编号 */ orderId?: number; // 订单编号
userId?: number; spuId?: number; // 商品 SPU 编号
/** 订单编号 */ spuName?: string; // 商品 SPU 名称
orderId?: number; skuId?: number; // 商品 SKU 编号
/** 商品 SPU 编号 */ picUrl?: string; // 商品图片
spuId?: number; count?: number; // 购买数量
/** 商品 SPU 名称 */ originalPrice?: number; // 商品原价(总)
spuName?: string; originalUnitPrice?: number; // 商品原价(单)
/** 商品 SKU 编号 */ discountPrice?: number; // 商品优惠(总)
skuId?: number; payPrice?: number; // 商品实付金额(总)
/** 商品图片 */ orderPartPrice?: number; // 子订单分摊金额(总)
picUrl?: string; orderDividePrice?: number; // 分摊后子订单实付金额(总)
/** 购买数量 */ afterSaleStatus?: number; // 售后状态
count?: number; properties?: {
/** 商品原价(总) */ propertyId?: number; // 属性的编号
originalPrice?: number; propertyName?: string; // 属性的名称
/** 商品原价(单) */ valueId?: number; // 属性值的编号
originalUnitPrice?: number; valueName?: string; // 属性值的名称
/** 商品优惠(总) */ }[]; // 属性数组
discountPrice?: number;
/** 商品实付金额(总) */
payPrice?: number;
/** 子订单分摊金额(总) */
orderPartPrice?: number;
/** 分摊后子订单实付金额(总) */
orderDividePrice?: number;
/** 售后状态 */
afterSaleStatus?: number;
/** 属性数组 */
properties?: ProductProperty[];
price?: number; price?: number;
} }
/** 订单日志 */ /** 订单日志 */
export interface OrderLog { export interface OrderLog {
/** 日志内容 */ content?: string; // 日志内容
content?: string; createTime?: Date; // 创建时间
/** 创建时间 */ userType?: number; // 用户类型
createTime?: Date; userId?: number; // 用户编号
/** 用户类型 */
userType?: number;
/** 用户编号 */
userId?: number;
} }
/** 订单 */ /** 交易订单统计响应 */
export interface Order { export interface OrderSummaryRespVO {
/** 订单编号 */ orderCount: number; // 订单数量
id?: number; orderPayPrice: number; // 订单金额
/** 订单流水号 */ afterSaleCount: number; // 退款单数
no?: string; afterSalePrice: number; // 退款金额
/** 下单时间 */
createTime?: Date;
/** 订单类型 */
type?: number;
/** 订单来源 */
terminal?: number;
/** 用户编号 */
userId?: number;
/** 用户 IP */
userIp?: string;
/** 用户备注 */
userRemark?: string;
/** 订单状态 */
status?: number;
/** 购买的商品数量 */
productCount?: number;
/** 订单完成时间 */
finishTime?: Date;
/** 订单取消时间 */
cancelTime?: Date;
/** 取消类型 */
cancelType?: number;
/** 商家备注 */
remark?: string;
/** 支付订单编号 */
payOrderId?: number;
/** 是否已支付 */
payStatus?: boolean;
/** 付款时间 */
payTime?: Date;
/** 支付渠道 */
payChannelCode?: string;
/** 商品原价(总) */
totalPrice?: number;
/** 订单优惠(总) */
discountPrice?: number;
/** 运费金额 */
deliveryPrice?: number;
/** 订单调价(总) */
adjustPrice?: number;
/** 应付金额(总) */
payPrice?: number;
/** 发货方式 */
deliveryType?: number;
/** 自提门店编号 */
pickUpStoreId?: number;
/** 自提核销码 */
pickUpVerifyCode?: string;
/** 配送模板编号 */
deliveryTemplateId?: number;
/** 发货物流公司编号 */
logisticsId?: number;
/** 发货物流单号 */
logisticsNo?: string;
/** 发货时间 */
deliveryTime?: Date;
/** 收货时间 */
receiveTime?: Date;
/** 收件人名称 */
receiverName?: string;
/** 收件人手机 */
receiverMobile?: string;
/** 收件人邮编 */
receiverPostCode?: number;
/** 收件人地区编号 */
receiverAreaId?: number;
/** 收件人地区名字 */
receiverAreaName?: string;
/** 收件人详细地址 */
receiverDetailAddress?: string;
/** 售后状态 */
afterSaleStatus?: number;
/** 退款金额 */
refundPrice?: number;
/** 优惠劵编号 */
couponId?: number;
/** 优惠劵减免金额 */
couponPrice?: number;
/** 积分抵扣的金额 */
pointPrice?: number;
/** VIP 减免金额 */
vipPrice?: number;
/** 订单项列表 */
items?: OrderItem[];
/** 下单用户信息 */
user?: {
/** 用户头像 */
avatar?: string;
/** 用户编号 */
id?: number;
/** 用户昵称 */
nickname?: string;
};
/** 推广用户信息 */
brokerageUser?: {
/** 用户头像 */
avatar?: string;
/** 用户编号 */
id?: number;
/** 用户昵称 */
nickname?: string;
};
/** 订单操作日志 */
logs?: OrderLog[];
}
/** 交易订单统计 */
export interface OrderSummary {
/** 订单数量 */
orderCount: number;
/** 订单金额 */
orderPayPrice: number;
/** 退款单数 */
afterSaleCount: number;
/** 退款金额 */
afterSalePrice: number;
} }
/** 订单发货请求 */ /** 订单发货请求 */
export interface DeliveryRequest { export interface OrderUpdateDeliveryReqVO {
/** 订单编号 */ id?: number; // 订单编号
id?: number; expressType: string; // 发货方式
/** 发货方式 */ logisticsId: number; // 物流公司编号
expressType: string; logisticsNo: string; // 物流编号
/** 物流公司编号 */
logisticsId: number;
/** 物流编号 */
logisticsNo: string;
} }
/** 订单备注请求 */ /** 订单备注请求 */
export interface RemarkRequest { export interface OrderUpdateRemarkReqVO {
/** 订单编号 */ id: number; // 订单编号
id: number; remark: string; // 备注
/** 备注 */
remark: string;
} }
/** 订单调价请求 */ /** 订单调价请求 */
export interface PriceRequest { export interface OrderUpdatePriceReqVO {
/** 订单编号 */ id: number; // 订单编号
id: number; adjustPrice: number; // 调整金额,单位:分
/** 调整金额,单位:分 */
adjustPrice: number;
} }
/** 订单地址请求 */ /** 订单地址请求 */
export interface AddressRequest { export interface OrderUpdateAddressReqVO {
/** 订单编号 */ id: number; // 订单编号
id: number; receiverName: string; // 收件人名称
/** 收件人名称 */ receiverMobile: string; // 收件人手机
receiverName: string; receiverAreaId: number; // 收件人地区编号
/** 收件人手机 */ receiverDetailAddress: string; // 收件人详细地址
receiverMobile: string;
/** 收件人地区编号 */
receiverAreaId: number;
/** 收件人详细地址 */
receiverDetailAddress: string;
} }
} }
@@ -243,9 +148,12 @@ export function getOrderPage(params: PageParam) {
/** 查询交易订单统计 */ /** 查询交易订单统计 */
export function getOrderSummary(params: any) { export function getOrderSummary(params: any) {
return requestClient.get<MallOrderApi.OrderSummary>('/trade/order/summary', { return requestClient.get<MallOrderApi.OrderSummaryRespVO>(
params, '/trade/order/summary',
}); {
params,
},
);
} }
/** 查询交易订单详情 */ /** 查询交易订单详情 */
@@ -261,22 +169,22 @@ export function getExpressTrackList(id: number) {
} }
/** 订单发货 */ /** 订单发货 */
export function deliveryOrder(data: MallOrderApi.DeliveryRequest) { export function deliveryOrder(data: MallOrderApi.OrderUpdateDeliveryReqVO) {
return requestClient.put('/trade/order/delivery', data); return requestClient.put('/trade/order/delivery', data);
} }
/** 订单备注 */ /** 订单备注 */
export function updateOrderRemark(data: MallOrderApi.RemarkRequest) { export function updateOrderRemark(data: MallOrderApi.OrderUpdateRemarkReqVO) {
return requestClient.put('/trade/order/update-remark', data); return requestClient.put('/trade/order/update-remark', data);
} }
/** 订单调价 */ /** 订单调价 */
export function updateOrderPrice(data: MallOrderApi.PriceRequest) { export function updateOrderPrice(data: MallOrderApi.OrderUpdatePriceReqVO) {
return requestClient.put('/trade/order/update-price', data); return requestClient.put('/trade/order/update-price', data);
} }
/** 修改订单地址 */ /** 修改订单地址 */
export function updateOrderAddress(data: MallOrderApi.AddressRequest) { export function updateOrderAddress(data: MallOrderApi.OrderUpdateAddressReqVO) {
return requestClient.put('/trade/order/update-address', data); return requestClient.put('/trade/order/update-address', data);
} }

View File

@@ -39,7 +39,7 @@ const [Modal, modalApi] = useVbenModal({
// 提交表单 // 提交表单
try { try {
const data = const data =
(await formApi.getValues()) as MallAfterSaleApi.DisagreeRequest; (await formApi.getValues()) as MallAfterSaleApi.AfterSaleDisagreeReqVO;
await disagreeAfterSale(data); await disagreeAfterSale(data);
// 关闭并提示 // 关闭并提示
await modalApi.close(); await modalApi.close();

View File

@@ -32,13 +32,15 @@ function handleCreate() {
} }
/** 编辑快递模板 */ /** 编辑快递模板 */
function handleEdit(row: MallDeliveryExpressTemplateApi.ExpressTemplate) { function handleEdit(
row: MallDeliveryExpressTemplateApi.DeliveryExpressTemplate,
) {
formModalApi.setData(row).open(); formModalApi.setData(row).open();
} }
/** 删除快递模板 */ /** 删除快递模板 */
async function handleDelete( async function handleDelete(
row: MallDeliveryExpressTemplateApi.ExpressTemplate, row: MallDeliveryExpressTemplateApi.DeliveryExpressTemplate,
) { ) {
const loadingInstance = ElLoading.service({ const loadingInstance = ElLoading.service({
text: $t('ui.actionMessage.deleting', [row.name]), text: $t('ui.actionMessage.deleting', [row.name]),
@@ -79,7 +81,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
refresh: true, refresh: true,
search: true, search: true,
}, },
} as VxeTableGridOptions<MallDeliveryExpressTemplateApi.ExpressTemplate>, } as VxeTableGridOptions<MallDeliveryExpressTemplateApi.DeliveryExpressTemplate>,
}); });
</script> </script>

View File

@@ -11,7 +11,7 @@ import { TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
import { CHARGE_MODE_TITLE_MAP, useChargesColumns } from '../data'; import { CHARGE_MODE_TITLE_MAP, useChargesColumns } from '../data';
interface Props { interface Props {
items?: MallDeliveryExpressTemplateApi.TemplateCharge[]; items?: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateCharge[];
chargeMode?: number; chargeMode?: number;
areaTree?: SystemAreaApi.Area[]; areaTree?: SystemAreaApi.Area[];
} }

View File

@@ -23,7 +23,7 @@ import ChargeItemForm from './charge-item-form.vue';
import FreeItemForm from './free-item-form.vue'; import FreeItemForm from './free-item-form.vue';
const emit = defineEmits(['success']); const emit = defineEmits(['success']);
const formData = ref<MallDeliveryExpressTemplateApi.ExpressTemplate>(); const formData = ref<MallDeliveryExpressTemplateApi.DeliveryExpressTemplate>();
const chargeItemFormRef = ref<InstanceType<typeof ChargeItemForm>>(); const chargeItemFormRef = ref<InstanceType<typeof ChargeItemForm>>();
const freeItemFormRef = ref<InstanceType<typeof FreeItemForm>>(); const freeItemFormRef = ref<InstanceType<typeof FreeItemForm>>();
const areaTree = ref<SystemAreaApi.Area[]>([]); const areaTree = ref<SystemAreaApi.Area[]>([]);
@@ -55,10 +55,10 @@ const [Form, formApi] = useVbenForm({
/** 更新运费设置 */ /** 更新运费设置 */
const handleUpdateCharges = async ( const handleUpdateCharges = async (
charges: MallDeliveryExpressTemplateApi.TemplateCharge[], charges: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateCharge[],
) => { ) => {
formData.value = formData.value =
await formApi.getValues<MallDeliveryExpressTemplateApi.ExpressTemplate>(); await formApi.getValues<MallDeliveryExpressTemplateApi.DeliveryExpressTemplate>();
formData.value.charges = charges; formData.value.charges = charges;
await formApi.setValues({ await formApi.setValues({
charges, charges,
@@ -67,10 +67,10 @@ const handleUpdateCharges = async (
/** 更新包邮设置 */ /** 更新包邮设置 */
const handleUpdateFrees = async ( const handleUpdateFrees = async (
frees: MallDeliveryExpressTemplateApi.TemplateFree[], frees: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateFree[],
) => { ) => {
formData.value = formData.value =
await formApi.getValues<MallDeliveryExpressTemplateApi.ExpressTemplate>(); await formApi.getValues<MallDeliveryExpressTemplateApi.DeliveryExpressTemplate>();
formData.value.frees = frees; formData.value.frees = frees;
await formApi.setValues({ await formApi.setValues({
frees, frees,
@@ -102,17 +102,19 @@ const [Modal, modalApi] = useVbenModal({
// 提交表单 // 提交表单
const data = cloneDeep( const data = cloneDeep(
await formApi.getValues(), await formApi.getValues(),
) as MallDeliveryExpressTemplateApi.ExpressTemplate; ) as MallDeliveryExpressTemplateApi.DeliveryExpressTemplate;
try { try {
// 转换金额单位 // 转换金额单位
data.charges?.forEach( data.charges?.forEach(
(item: MallDeliveryExpressTemplateApi.TemplateCharge) => { (
item: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateCharge,
) => {
item.startPrice = yuanToFen(item.startPrice); item.startPrice = yuanToFen(item.startPrice);
item.extraPrice = yuanToFen(item.extraPrice); item.extraPrice = yuanToFen(item.extraPrice);
}, },
); );
data.frees?.forEach( data.frees?.forEach(
(item: MallDeliveryExpressTemplateApi.TemplateFree) => { (item: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateFree) => {
item.freePrice = yuanToFen(item.freePrice); item.freePrice = yuanToFen(item.freePrice);
}, },
); );
@@ -134,7 +136,7 @@ const [Modal, modalApi] = useVbenModal({
} }
// 加载数据 // 加载数据
const data = const data =
modalApi.getData<MallDeliveryExpressTemplateApi.ExpressTemplate>(); modalApi.getData<MallDeliveryExpressTemplateApi.DeliveryExpressTemplate>();
if (!data || !data.id) { if (!data || !data.id) {
return; return;
} }
@@ -143,13 +145,15 @@ const [Modal, modalApi] = useVbenModal({
formData.value = await getDeliveryExpressTemplate(data.id); formData.value = await getDeliveryExpressTemplate(data.id);
// 转换金额单位 // 转换金额单位
formData.value.charges?.forEach( formData.value.charges?.forEach(
(item: MallDeliveryExpressTemplateApi.TemplateCharge) => { (
item: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateCharge,
) => {
item.startPrice = Number.parseFloat(fenToYuan(item.startPrice)); item.startPrice = Number.parseFloat(fenToYuan(item.startPrice));
item.extraPrice = Number.parseFloat(fenToYuan(item.extraPrice)); item.extraPrice = Number.parseFloat(fenToYuan(item.extraPrice));
}, },
); );
formData.value.frees?.forEach( formData.value.frees?.forEach(
(item: MallDeliveryExpressTemplateApi.TemplateFree) => { (item: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateFree) => {
item.freePrice = Number.parseFloat(fenToYuan(item.freePrice)); item.freePrice = Number.parseFloat(fenToYuan(item.freePrice));
}, },
); );

View File

@@ -11,7 +11,7 @@ import { TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
import { FREE_MODE_TITLE_MAP, useFreesColumns } from '../data'; import { FREE_MODE_TITLE_MAP, useFreesColumns } from '../data';
interface Props { interface Props {
items?: MallDeliveryExpressTemplateApi.TemplateFree[]; items?: MallDeliveryExpressTemplateApi.DeliveryExpressTemplateFree[];
chargeMode?: number; chargeMode?: number;
areaTree?: SystemAreaApi.Area[]; areaTree?: SystemAreaApi.Area[];
} }

View File

@@ -38,17 +38,19 @@ function handleCreate() {
} }
/** 编辑门店 */ /** 编辑门店 */
function handleEdit(row: MallDeliveryPickUpStoreApi.PickUpStore) { function handleEdit(row: MallDeliveryPickUpStoreApi.DeliveryPickUpStore) {
formModalApi.setData(row).open(); formModalApi.setData(row).open();
} }
/** 绑定店员 */ /** 绑定店员 */
function handleBind(row: MallDeliveryPickUpStoreApi.PickUpStore) { function handleBind(row: MallDeliveryPickUpStoreApi.DeliveryPickUpStore) {
bindFormModalApi.setData(row).open(); bindFormModalApi.setData(row).open();
} }
/** 删除门店 */ /** 删除门店 */
async function handleDelete(row: MallDeliveryPickUpStoreApi.PickUpStore) { async function handleDelete(
row: MallDeliveryPickUpStoreApi.DeliveryPickUpStore,
) {
const loadingInstance = ElLoading.service({ const loadingInstance = ElLoading.service({
text: $t('ui.actionMessage.deleting', [row.name]), text: $t('ui.actionMessage.deleting', [row.name]),
}); });
@@ -88,7 +90,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
refresh: true, refresh: true,
search: true, search: true,
}, },
} as VxeTableGridOptions<MallDeliveryPickUpStoreApi.PickUpStore>, } as VxeTableGridOptions<MallDeliveryPickUpStoreApi.DeliveryPickUpStore>,
}); });
</script> </script>

View File

@@ -17,7 +17,7 @@ import { $t } from '#/locales';
import { useBindFormSchema } from '../data'; import { useBindFormSchema } from '../data';
const emit = defineEmits(['success']); const emit = defineEmits(['success']);
const formData = ref<MallDeliveryPickUpStoreApi.PickUpStore>(); const formData = ref<MallDeliveryPickUpStoreApi.DeliveryPickUpStore>();
const [Form, formApi] = useVbenForm({ const [Form, formApi] = useVbenForm({
commonConfig: { commonConfig: {

View File

@@ -6,7 +6,7 @@ import { computed, ref } from 'vue';
import { useVbenModal } from '@vben/common-ui'; import { useVbenModal } from '@vben/common-ui';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import { ElButton, ElMessage } from 'element-plus'; import { ElButton, ElDialog, ElMessage } from 'element-plus';
import { useVbenForm } from '#/adapter/form'; import { useVbenForm } from '#/adapter/form';
import { getTradeConfig } from '#/api/mall/trade/config'; import { getTradeConfig } from '#/api/mall/trade/config';
@@ -20,7 +20,7 @@ import { $t } from '#/locales';
import { useFormSchema } from '../data'; import { useFormSchema } from '../data';
const emit = defineEmits(['success']); const emit = defineEmits(['success']);
const formData = ref<MallDeliveryPickUpStoreApi.PickUpStore>(); const formData = ref<MallDeliveryPickUpStoreApi.DeliveryPickUpStore>();
const getTitle = computed(() => { const getTitle = computed(() => {
return formData.value?.id return formData.value?.id
? $t('ui.actionTitle.edit', ['门店']) ? $t('ui.actionTitle.edit', ['门店'])
@@ -94,7 +94,7 @@ const [Modal, modalApi] = useVbenModal({
modalApi.lock(); modalApi.lock();
// 提交表单 // 提交表单
const data = const data =
(await formApi.getValues()) as MallDeliveryPickUpStoreApi.PickUpStore; (await formApi.getValues()) as MallDeliveryPickUpStoreApi.DeliveryPickUpStore;
try { try {
await (formData.value?.id await (formData.value?.id
? updateDeliveryPickUpStore(data) ? updateDeliveryPickUpStore(data)
@@ -113,7 +113,8 @@ const [Modal, modalApi] = useVbenModal({
return; return;
} }
// 加载数据 // 加载数据
const data = modalApi.getData<MallDeliveryPickUpStoreApi.PickUpStore>(); const data =
modalApi.getData<MallDeliveryPickUpStoreApi.DeliveryPickUpStore>();
if (!data || !data.id) { if (!data || !data.id) {
// 初始化地图 // 初始化地图
await initTencentLbsMap(); await initTencentLbsMap();
@@ -146,16 +147,11 @@ const [Modal, modalApi] = useVbenModal({
</Modal> </Modal>
<!-- 地图弹窗 --> <!-- 地图弹窗 -->
<el-dialog <ElDialog v-model="mapVisible" title="获取经纬度" :width="800" :footer="null">
v-model="mapVisible"
title="获取经纬度"
:width="800"
:footer="null"
>
<iframe <iframe
v-if="mapVisible && tencentLbsUrl" v-if="mapVisible && tencentLbsUrl"
:src="tencentLbsUrl" :src="tencentLbsUrl"
class="h-[600px] w-full border-0" class="h-[600px] w-full border-0"
></iframe> ></iframe>
</el-dialog> </ElDialog>
</template> </template>

View File

@@ -12,7 +12,7 @@ import { getAreaTree } from '#/api/system/area';
import { getRangePickerDefaultProps } from '#/utils'; import { getRangePickerDefaultProps } from '#/utils';
/** 关联数据 */ /** 关联数据 */
let pickUpStoreList: MallDeliveryPickUpStoreApi.PickUpStore[] = []; let pickUpStoreList: MallDeliveryPickUpStoreApi.DeliveryPickUpStore[] = [];
getSimpleDeliveryPickUpStoreList().then((data) => { getSimpleDeliveryPickUpStoreList().then((data) => {
pickUpStoreList = data; pickUpStoreList = data;
}); });

View File

@@ -51,11 +51,11 @@ const orderId = ref(0);
const order = ref<MallOrderApi.Order>({ const order = ref<MallOrderApi.Order>({
logs: [], logs: [],
}); });
const deliveryExpressList = ref<MallDeliveryExpressApi.SimpleDeliveryExpress[]>( const deliveryExpressList = ref<MallDeliveryExpressApi.DeliveryExpress[]>([]);
[],
);
const expressTrackList = ref<any[]>([]); const expressTrackList = ref<any[]>([]);
const pickUpStore = ref<MallDeliveryPickUpStoreApi.PickUpStore | undefined>(); const pickUpStore = ref<
MallDeliveryPickUpStoreApi.DeliveryPickUpStore | undefined
>();
const [OrderInfoDescriptions] = useDescription({ const [OrderInfoDescriptions] = useDescription({
title: '订单信息', title: '订单信息',

View File

@@ -40,7 +40,7 @@ const [Modal, modalApi] = useVbenModal({
// 提交表单 // 提交表单
const data = await formApi.getValues(); const data = await formApi.getValues();
try { try {
await updateOrderAddress(data as MallOrderApi.AddressRequest); await updateOrderAddress(data as MallOrderApi.OrderUpdateAddressReqVO);
// 关闭并提示 // 关闭并提示
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');

View File

@@ -50,7 +50,7 @@ const [Modal, modalApi] = useVbenModal({
data.logisticsNo = ''; data.logisticsNo = '';
} }
try { try {
await deliveryOrder(data as MallOrderApi.DeliveryRequest); await deliveryOrder(data as MallOrderApi.OrderUpdateDeliveryReqVO);
// 关闭并提示 // 关闭并提示
await modalApi.close(); await modalApi.close();
emit('success'); emit('success');

View File

@@ -15,7 +15,7 @@ import { useRemarkFormSchema } from '../data';
const emit = defineEmits(['success']); const emit = defineEmits(['success']);
const formData = ref<MallOrderApi.DeliveryRequest>(); const formData = ref<MallOrderApi.OrderUpdateDeliveryReqVO>();
const [Form, formApi] = useVbenForm({ const [Form, formApi] = useVbenForm({
commonConfig: { commonConfig: {
@@ -38,7 +38,8 @@ const [Modal, modalApi] = useVbenModal({
} }
modalApi.lock(); modalApi.lock();
// 提交表单 // 提交表单
const data = (await formApi.getValues()) as MallOrderApi.RemarkRequest; const data =
(await formApi.getValues()) as MallOrderApi.OrderUpdateRemarkReqVO;
try { try {
await updateOrderRemark(data); await updateOrderRemark(data);
// 关闭并提示 // 关闭并提示