diff --git a/src/api/erp/approval-record/index.ts b/src/api/erp/approval-record/index.ts new file mode 100644 index 0000000..eef619d --- /dev/null +++ b/src/api/erp/approval-record/index.ts @@ -0,0 +1,21 @@ +import { http } from '@/http/http' + +/** 审批记录 */ +export interface ApprovalRecord { + id?: number + bizId?: string + bizTableName?: string + applicant?: string + applicantName?: string + approver?: string + approverName?: string + approvalStatus?: number + approvalLevel?: number + reason?: string + createTime?: string | number +} + +/** 根据业务单据获取审批记录列表 */ +export function getApprovalRecordListByBiz(bizId: string | number, bizTableName: string) { + return http.get('/erp/approval-record/list-by-biz', { bizId, bizTableName }) +} diff --git a/src/api/erp/sale-order/index.ts b/src/api/erp/sale-order/index.ts index e8084d9..ab76a47 100644 --- a/src/api/erp/sale-order/index.ts +++ b/src/api/erp/sale-order/index.ts @@ -11,11 +11,18 @@ export interface SaleOrderItem { totalCount?: number unitPrice?: number productPrice?: number + productUnitId?: number + productUnitName?: string + productBarCode?: string + productSpec?: string taxPrice?: number totalPrice?: number + totalProductPrice?: number taxPercent?: number taxAmount?: number remark?: string + outCount?: number + stockCount?: number } /** 销售订单信息 */ @@ -55,8 +62,9 @@ export function getSaleOrderPage(params: PageParam & { orderTime?: string[] status?: number creator?: number - outStatus?: string - returnStatus?: string + outStatus?: string | number + returnStatus?: string | number + outEnable?: boolean }) { return http.get>('/erp/sale-order/page', params) } diff --git a/src/api/erp/sale-out/index.ts b/src/api/erp/sale-out/index.ts new file mode 100644 index 0000000..5fb78f8 --- /dev/null +++ b/src/api/erp/sale-out/index.ts @@ -0,0 +1,94 @@ +import type { PageParam, PageResult } from '@/http/types' +import { http } from '@/http/http' + +/** 销售出库明细 */ +export interface SaleOutItem { + id?: number + orderItemId?: number + warehouseId?: number + warehouseName?: string + productId?: number + productName?: string + productBarCode?: string + productUnitId?: number + productUnitName?: string + productPrice?: number + count?: number + totalCount?: number + totalPrice?: number + taxPercent?: number + taxPrice?: number + batchNo?: string + remark?: string + stockCount?: number + stockUnitPrice?: number + stockValue?: number + grossProfit?: number + totalProductPrice?: number + outCount?: number +} + +/** 销售出库 */ +export interface SaleOut { + id?: number + no?: string + customerId?: number + customerName?: string + accountId?: number + saleUserId?: number + saleUserName?: string + outTime?: string | number + orderId?: number + orderNo?: string + totalCount?: number + totalPrice?: number + receiptPrice?: number + totalProductPrice?: number + totalTaxPrice?: number + discountPercent?: number + discountPrice?: number + otherPrice?: number + fileUrl?: string + status?: number + remark?: string + creator?: string + creatorName?: string + createTime?: string | number + productNames?: string + hasApprovalRecords?: boolean + items?: SaleOutItem[] +} + +/** 获取销售出库分页列表 */ +export function getSaleOutPage(params: PageParam & { + no?: string + customerId?: number + status?: number +}) { + return http.get>('/erp/sale-out/page', params) +} + +/** 获取销售出库详情 */ +export function getSaleOut(id: number) { + return http.get(`/erp/sale-out/get?id=${id}`) +} + +/** 创建销售出库 */ +export function createSaleOut(data: SaleOut) { + return http.post('/erp/sale-out/create', data) +} + +/** 更新销售出库 */ +export function updateSaleOut(data: SaleOut) { + return http.put('/erp/sale-out/update', data) +} + +/** 更新销售出库状态 */ +export function updateSaleOutStatus(id: number, status: number) { + return http.put('/erp/sale-out/update-status', undefined, { id, status }) +} + +/** 删除销售出库 */ +export function deleteSaleOut(ids: number[]) { + return http.delete('/erp/sale-out/delete', undefined, { ids: ids.join(',') }) +} diff --git a/src/pages-erp/sale-out/detail/index.vue b/src/pages-erp/sale-out/detail/index.vue new file mode 100644 index 0000000..e8fc5c4 --- /dev/null +++ b/src/pages-erp/sale-out/detail/index.vue @@ -0,0 +1,382 @@ + + + + + diff --git a/src/pages-erp/sale-out/form/index.vue b/src/pages-erp/sale-out/form/index.vue new file mode 100644 index 0000000..3d25cd1 --- /dev/null +++ b/src/pages-erp/sale-out/form/index.vue @@ -0,0 +1,643 @@ + + + + + diff --git a/src/pages-erp/sale-out/index.vue b/src/pages-erp/sale-out/index.vue new file mode 100644 index 0000000..11a528c --- /dev/null +++ b/src/pages-erp/sale-out/index.vue @@ -0,0 +1,552 @@ + + + + + diff --git a/src/pages/index/index.ts b/src/pages/index/index.ts index 7d676b8..7a6c2a8 100644 --- a/src/pages/index/index.ts +++ b/src/pages/index/index.ts @@ -107,6 +107,14 @@ const menuGroupsData: MenuGroup[] = [ url: '/pages-erp/sale-order/index', iconColor: '#1890ff', permission: 'erp:sale-order:query', + }, + { + key: 'saleOut', + name: '销售出库', + icon: 'arrow-right', + url: '/pages-erp/sale-out/index', + iconColor: '#52c41a', + permission: 'erp:sale-out:query', } ], },