feat(订单/商品): 添加数量统计功能并优化列表展示

- 在订单和商品管理页面添加数量统计功能
- 优化订单和商品列表的筛选和展示样式
- 统一API接口参数传递方式
- 移除重复代码和无用代码
This commit is contained in:
pikachu1995@126.com
2025-08-29 09:40:36 +08:00
parent 05abad3905
commit 78b058009b
9 changed files with 592 additions and 271 deletions

View File

@@ -101,20 +101,23 @@ export const getGoodsCategory = (parent_id) => {
}
// 上架商品
export const upGoods = (id, params) => {
return putRequest(`/goods/goods/${id}/up`, params)
}
// 下架商品
export const lowGoods = (id, params) => {
return putRequest(`/goods/goods/${id}/under`, params)
}
export const upGoods = (params) => {
return putRequest(`/goods/goods/up`, params)
}
// 下架商品
export const lowGoods = (params) => {
return putRequest(`/goods/goods/under`, params)
}
// 获取商品sku分页列表
export const getGoodsSkuData = (params) => {
return getRequest('/goods/goods/sku/list', params)
}
// 获取商品数量
export const getGoodsNumerData = (params) => {
return getRequest('/goods/goods/goodsNumber', params)
}
// 获取商品分页列表
export const getGoodsListData = (params) => {
return getRequest('/goods/goods/list', params)
@@ -124,8 +127,8 @@ export const getAuthGoodsListData = (params) => {
return getRequest('/goods/goods/auth/list', params)
}
// 审核商品
export const authGoods = (id, params) => {
return putRequest(`/goods/goods/${id}/auth`, params)
export const authGoods = (params) => {
return putRequest(`/goods/goods/auth`, params)
}
//查询分类绑定参数信息

View File

@@ -160,3 +160,8 @@ export const refundLog = (params) => {
export const storeAddress = (sn) => {
return getRequest(`/order/afterSale/getStoreAfterSaleAddress/${sn}`)
}
// 获取订单数量统计
export const getOrderNum = (params) => {
return getRequest(`/order/order/orderNum`, params)
}

View File

@@ -370,7 +370,6 @@ export default {
})
},
// 售后筛选
// 售后筛选
serviceStatusClick(item) {
this.currentStatus = item;
// 如果是全部空字符串则删除serviceStatus字段

View File

@@ -104,7 +104,7 @@
<Card>
<div class="order-tab">
<Tabs v-model="currentStatus" @on-click="orderStatusClick">
<TabPane v-for="(item,index) in orderStatus" :key="index" :label="item.title" :name="item.value">
<TabPane v-for="(item,index) in orderStatusWithCount" :key="index" :label="item.title" :name="item.value">
</TabPane>
</Tabs>
</div>
@@ -374,6 +374,7 @@ export default {
],
data: [], // 表单数据
total: 0, // 表单数据总数
orderNumData: {}, // 新增:订单数量统计数据
orderStatus: [
{title: '全部', value: ''},
{title: '未付款', value: 'UNPAID'},
@@ -385,15 +386,32 @@ export default {
{title: '待自提', value: 'STAY_PICKED_UP'},
{title: '已完成', value: 'COMPLETED'},
{title: '已关闭', value: 'CANCELLED'},
],
currentStatus: ''
};
},
computed: {
// 新增:带数量的订单状态选项
orderStatusWithCount() {
return [
{title: '全部', value: ''},
{title: `未付款${this.orderNumData.waitPayNum ? '(' + this.orderNumData.waitPayNum + ')' : ''}`, value: 'UNPAID'},
{title: `已付款${this.orderNumData.waitDeliveryNum ? '(' + this.orderNumData.waitDeliveryNum + ')' : ''}`, value: 'PAID'},
{title: `待发货${this.orderNumData.waitShipNum ? '(' + this.orderNumData.waitShipNum + ')' : ''}`, value: 'UNDELIVERED'},
{title: `部分发货${this.orderNumData.partsDeliveredNumNum ? '(' + this.orderNumData.partsDeliveredNumNum + ')' : ''}`, value: 'PARTS_DELIVERED'},
{title: `待收货${this.orderNumData.deliveredNum ? '(' + this.orderNumData.deliveredNum + ')' : ''}`, value: 'DELIVERED'},
{title: `待核验${this.orderNumData.waitCheckNum ? '(' + this.orderNumData.waitCheckNum + ')' : ''}`, value: 'TAKE'},
{title: `待自提${this.orderNumData.waitSelfPickNum ? '(' + this.orderNumData.waitSelfPickNum + ')' : ''}`, value: 'STAY_PICKED_UP'},
{title: `已完成${this.orderNumData.finishNum ? '(' + this.orderNumData.finishNum + ')' : ''}`, value: 'COMPLETED'},
{title: `已关闭${this.orderNumData.closeNum ? '(' + this.orderNumData.closeNum + ')' : ''}`, value: 'CANCELLED'},
];
}
},
methods: {
// 初始化数据
init() {
this.getDataList();
this.getOrderNumData(); // 新增:获取订单数量统计
},
// 分页 改变页码
changePage(v) {
@@ -411,6 +429,7 @@ export default {
this.searchForm.pageNumber = 1;
this.searchForm.pageSize = 20;
this.getDataList();
this.getOrderNumData(); // 新增:搜索时也更新数量统计
},
// 起止时间从新赋值
selectDateRange(v) {
@@ -486,6 +505,17 @@ export default {
this.getDataList();
},
getOrderNumData() {
// 创建一个不包含orderStatus字段的搜索参数
const { orderStatus, ...searchParams } = this.searchForm;
API_Order.getOrderNum(searchParams).then((res) => {
if (res.success) {
this.orderNumData = res.result;
}
}).catch((err) => {
console.error('获取订单数量统计失败:', err);
});
},
},
mounted() {
this.init();