diff --git a/src/api/erp/finance/receipt/index.ts b/src/api/erp/finance/receipt/index.ts
new file mode 100644
index 00000000..4de28ca7
--- /dev/null
+++ b/src/api/erp/finance/receipt/index.ts
@@ -0,0 +1,61 @@
+import request from '@/config/axios'
+
+// ERP 收款单 VO
+export interface FinanceReceiptVO {
+ id: number // 收款单编号
+ no: string // 收款单号
+ customerId: number // 客户编号
+ receiptTime: Date // 收款时间
+ totalPrice: number // 合计金额,单位:元
+ status: number // 状态
+ remark: string // 备注
+}
+
+// ERP 收款单 API
+export const FinanceReceiptApi = {
+ // 查询收款单分页
+ getFinanceReceiptPage: async (params: any) => {
+ return await request.get({ url: `/erp/finance-receipt/page`, params })
+ },
+
+ // 查询收款单详情
+ getFinanceReceipt: async (id: number) => {
+ return await request.get({ url: `/erp/finance-receipt/get?id=` + id })
+ },
+
+ // 新增收款单
+ createFinanceReceipt: async (data: FinanceReceiptVO) => {
+ return await request.post({ url: `/erp/finance-receipt/create`, data })
+ },
+
+ // 修改收款单
+ updateFinanceReceipt: async (data: FinanceReceiptVO) => {
+ return await request.put({ url: `/erp/finance-receipt/update`, data })
+ },
+
+ // 更新收款单的状态
+ updateFinanceReceiptStatus: async (id: number, status: number) => {
+ return await request.put({
+ url: `/erp/finance-receipt/update-status`,
+ params: {
+ id,
+ status
+ }
+ })
+ },
+
+ // 删除收款单
+ deleteFinanceReceipt: async (ids: number[]) => {
+ return await request.delete({
+ url: `/erp/finance-receipt/delete`,
+ params: {
+ ids: ids.join(',')
+ }
+ })
+ },
+
+ // 导出收款单 Excel
+ exportFinanceReceipt: async (params: any) => {
+ return await request.download({ url: `/erp/finance-receipt/export-excel`, params })
+ }
+}
diff --git a/src/views/erp/finance/receipt/FinanceReceiptForm.vue b/src/views/erp/finance/receipt/FinanceReceiptForm.vue
new file mode 100644
index 00000000..96826eb2
--- /dev/null
+++ b/src/views/erp/finance/receipt/FinanceReceiptForm.vue
@@ -0,0 +1,278 @@
+
+
+
+
diff --git a/src/views/erp/finance/receipt/components/FinanceReceiptItemForm.vue b/src/views/erp/finance/receipt/components/FinanceReceiptItemForm.vue
new file mode 100644
index 00000000..1a48b418
--- /dev/null
+++ b/src/views/erp/finance/receipt/components/FinanceReceiptItemForm.vue
@@ -0,0 +1,176 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ —
+
+
+
+
+
+ + 添加销售出库单
+ + 添加销售退货单
+
+
+
+
+
+
+
+
diff --git a/src/views/erp/finance/receipt/index.vue b/src/views/erp/finance/receipt/index.vue
new file mode 100644
index 00000000..c85b398b
--- /dev/null
+++ b/src/views/erp/finance/receipt/index.vue
@@ -0,0 +1,389 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+ item.id))"
+ v-hasPermi="['erp:finance-receipt:delete']"
+ :disabled="selectionList.length === 0"
+ >
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 详情
+
+
+ 编辑
+
+
+ 审批
+
+
+ 反审批
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/erp/purchase/return/components/PurchaseReturnRefundEnableList.vue b/src/views/erp/purchase/return/components/PurchaseReturnRefundEnableList.vue
index a26d9014..a95749ea 100644
--- a/src/views/erp/purchase/return/components/PurchaseReturnRefundEnableList.vue
+++ b/src/views/erp/purchase/return/components/PurchaseReturnRefundEnableList.vue
@@ -43,7 +43,7 @@
([]) // 产品列表
/** 选中操作 */
-const selectionList = ref([])
-const handleSelectionChange = (rows: PurchaseInVO[]) => {
+const selectionList = ref([])
+const handleSelectionChange = (rows: SaleReturnVO[]) => {
selectionList.value = rows
}
@@ -162,7 +162,7 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
/** 提交选择 */
const emits = defineEmits<{
- (e: 'success', value: PurchaseInVO[]): void
+ (e: 'success', value: SaleReturnVO[]): void
}>()
const submitForm = () => {
try {
diff --git a/src/views/erp/sale/out/components/SaleOutReceiptEnableList.vue b/src/views/erp/sale/out/components/SaleOutReceiptEnableList.vue
new file mode 100644
index 00000000..0c4a21d1
--- /dev/null
+++ b/src/views/erp/sale/out/components/SaleOutReceiptEnableList.vue
@@ -0,0 +1,199 @@
+
+
+
+
+
diff --git a/src/views/erp/sale/return/components/SaleReturnRefundEnableList.vue b/src/views/erp/sale/return/components/SaleReturnRefundEnableList.vue
new file mode 100644
index 00000000..dc875e69
--- /dev/null
+++ b/src/views/erp/sale/return/components/SaleReturnRefundEnableList.vue
@@ -0,0 +1,199 @@
+
+
+
+
+