diff --git a/src/api/erp/sale/order/index.ts b/src/api/erp/sale/order/index.ts
index 235ea021..2d2ac53e 100644
--- a/src/api/erp/sale/order/index.ts
+++ b/src/api/erp/sale/order/index.ts
@@ -5,7 +5,7 @@ export interface SaleOrderVO {
id: number // 订单工单编号
no: string // 销售订单号
customerId: number // 客户编号
- orderTime: Date // 订单工单时间
+ orderTime: Date // 订单时间
totalCount: number // 合计数量
totalPrice: number // 合计金额,单位:元
status: number // 状态
diff --git a/src/api/erp/sale/out/index.ts b/src/api/erp/sale/out/index.ts
index 44b95d3a..cbc605e7 100644
--- a/src/api/erp/sale/out/index.ts
+++ b/src/api/erp/sale/out/index.ts
@@ -5,7 +5,7 @@ export interface SaleOutVO {
id: number // 销售出库编号
no: string // 销售出库号
customerId: number // 客户编号
- orderTime: Date // 出库工单时间
+ outTime: Date // 出库时间
totalCount: number // 合计数量
totalPrice: number // 合计金额,单位:元
status: number // 状态
diff --git a/src/api/erp/sale/return/index.ts b/src/api/erp/sale/return/index.ts
new file mode 100644
index 00000000..160ac018
--- /dev/null
+++ b/src/api/erp/sale/return/index.ts
@@ -0,0 +1,62 @@
+import request from '@/config/axios'
+
+// ERP 销售退货 VO
+export interface SaleReturnVO {
+ id: number // 销售退货编号
+ no: string // 销售退货号
+ customerId: number // 客户编号
+ returnTime: Date // 退货时间
+ totalCount: number // 合计数量
+ totalPrice: number // 合计金额,单位:元
+ status: number // 状态
+ remark: string // 备注
+}
+
+// ERP 销售退货 API
+export const SaleReturnApi = {
+ // 查询销售退货分页
+ getSaleReturnPage: async (params: any) => {
+ return await request.get({ url: `/erp/sale-return/page`, params })
+ },
+
+ // 查询销售退货详情
+ getSaleReturn: async (id: number) => {
+ return await request.get({ url: `/erp/sale-return/get?id=` + id })
+ },
+
+ // 新增销售退货
+ createSaleReturn: async (data: SaleReturnVO) => {
+ return await request.post({ url: `/erp/sale-return/create`, data })
+ },
+
+ // 修改销售退货
+ updateSaleReturn: async (data: SaleReturnVO) => {
+ return await request.put({ url: `/erp/sale-return/update`, data })
+ },
+
+ // 更新销售退货的状态
+ updateSaleReturnStatus: async (id: number, status: number) => {
+ return await request.put({
+ url: `/erp/sale-return/update-status`,
+ params: {
+ id,
+ status
+ }
+ })
+ },
+
+ // 删除销售退货
+ deleteSaleReturn: async (ids: number[]) => {
+ return await request.delete({
+ url: `/erp/sale-return/delete`,
+ params: {
+ ids: ids.join(',')
+ }
+ })
+ },
+
+ // 导出销售退货 Excel
+ exportSaleReturn: async (params: any) => {
+ return await request.download({ url: `/erp/sale-return/export-excel`, params })
+ }
+}
diff --git a/src/views/erp/sale/return/SaleOutForm.vue b/src/views/erp/sale/return/SaleOutForm.vue
new file mode 100644
index 00000000..e83b8d19
--- /dev/null
+++ b/src/views/erp/sale/return/SaleOutForm.vue
@@ -0,0 +1,354 @@
+
+
+
+
+
+
+
diff --git a/src/views/erp/sale/return/components/SaleOutItemForm.vue b/src/views/erp/sale/return/components/SaleOutItemForm.vue
new file mode 100644
index 00000000..ccd4f161
--- /dev/null
+++ b/src/views/erp/sale/return/components/SaleOutItemForm.vue
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ —
+
+
+
+
+
+
+
diff --git a/src/views/erp/sale/return/index.vue b/src/views/erp/sale/return/index.vue
new file mode 100644
index 00000000..95b0a191
--- /dev/null
+++ b/src/views/erp/sale/return/index.vue
@@ -0,0 +1,432 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+ item.id))"
+ v-hasPermi="['erp:sale-return:delete']"
+ :disabled="selectionList.length === 0"
+ >
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ erpPriceInputFormatter(scope.row.refundPrice + scope.row.debtPrice) }}
+
+
+
+
+
+ 0
+ {{ erpPriceInputFormatter(scope.row.debtPrice) }}
+
+
+
+
+
+
+
+
+
+
+ 详情
+
+
+ 编辑
+
+
+ 审批
+
+
+ 反审批
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+