diff --git a/src/api/mes/wm/salesnotice/index.ts b/src/api/mes/wm/salesnotice/index.ts
new file mode 100644
index 000000000..01ff36ceb
--- /dev/null
+++ b/src/api/mes/wm/salesnotice/index.ts
@@ -0,0 +1,55 @@
+import request from '@/config/axios'
+
+// MES 发货通知单 VO
+export interface WmSalesNoticeVO {
+ id: number
+ noticeCode: string
+ noticeName: string
+ salesOrderCode: string
+ clientId: number
+ salesDate: string
+ recipientName: string
+ recipientTelephone: string
+ recipientAddress: string
+ status: number
+ remark: string
+ createTime: string
+}
+
+// MES 发货通知单 API
+export const WmSalesNoticeApi = {
+ // 查询发货通知单分页
+ getSalesNoticePage: async (params: any) => {
+ return await request.get({ url: '/mes/wm/sales-notice/page', params })
+ },
+
+ // 查询发货通知单详情
+ getSalesNotice: async (id: number) => {
+ return await request.get({ url: '/mes/wm/sales-notice/get?id=' + id })
+ },
+
+ // 新增发货通知单
+ createSalesNotice: async (data: WmSalesNoticeVO) => {
+ return await request.post({ url: '/mes/wm/sales-notice/create', data })
+ },
+
+ // 修改发货通知单
+ updateSalesNotice: async (data: WmSalesNoticeVO) => {
+ return await request.put({ url: '/mes/wm/sales-notice/update', data })
+ },
+
+ // 删除发货通知单
+ deleteSalesNotice: async (id: number) => {
+ return await request.delete({ url: '/mes/wm/sales-notice/delete?id=' + id })
+ },
+
+ // 提交发货通知单
+ submitSalesNotice: async (id: number) => {
+ return await request.put({ url: '/mes/wm/sales-notice/submit?id=' + id })
+ },
+
+ // 导出发货通知单 Excel
+ exportSalesNotice: async (params: any) => {
+ return await request.download({ url: '/mes/wm/sales-notice/export-excel', params })
+ }
+}
diff --git a/src/api/mes/wm/salesnotice/line/index.ts b/src/api/mes/wm/salesnotice/line/index.ts
new file mode 100644
index 000000000..19596bb01
--- /dev/null
+++ b/src/api/mes/wm/salesnotice/line/index.ts
@@ -0,0 +1,46 @@
+import request from '@/config/axios'
+
+// MES 发货通知单行 VO
+export interface WmSalesNoticeLineVO {
+ id: number
+ noticeId: number
+ itemId: number
+ itemCode: string
+ itemName: string
+ specification: string
+ unitMeasureName: string
+ batchId: number
+ batchCode: string
+ quantity: number
+ oqcCheck: boolean
+ remark: string
+ createTime: string
+}
+
+// MES 发货通知单行 API
+export const WmSalesNoticeLineApi = {
+ // 查询发货通知单行分页
+ getSalesNoticeLinePage: async (params: any) => {
+ return await request.get({ url: '/mes/wm/sales-notice-line/page', params })
+ },
+
+ // 查询发货通知单行详情
+ getSalesNoticeLine: async (id: number) => {
+ return await request.get({ url: '/mes/wm/sales-notice-line/get?id=' + id })
+ },
+
+ // 新增发货通知单行
+ createSalesNoticeLine: async (data: WmSalesNoticeLineVO) => {
+ return await request.post({ url: '/mes/wm/sales-notice-line/create', data })
+ },
+
+ // 修改发货通知单行
+ updateSalesNoticeLine: async (data: WmSalesNoticeLineVO) => {
+ return await request.put({ url: '/mes/wm/sales-notice-line/update', data })
+ },
+
+ // 删除发货通知单行
+ deleteSalesNoticeLine: async (id: number) => {
+ return await request.delete({ url: '/mes/wm/sales-notice-line/delete?id=' + id })
+ }
+}
diff --git a/src/utils/dict.ts b/src/utils/dict.ts
index 4f7b9ad4b..5a0dbe3ab 100644
--- a/src/utils/dict.ts
+++ b/src/utils/dict.ts
@@ -303,4 +303,5 @@ export enum DICT_TYPE {
MES_WM_PRODUCT_RECPT_STATUS = 'mes_wm_product_receipt_status', // MES 成品入库单状态
MES_WM_RETURN_SALES_STATUS = 'mes_wm_return_sales_status', // MES 销售退货单状态
MES_WM_PRODUCT_SALES_STATUS = 'mes_wm_product_sales_status', // MES 销售出库单状态
+ MES_SALES_NOTICE_STATUS = 'mes_sales_notice_status', // MES 发货通知单状态
}
diff --git a/src/views/mes/utils/constants.ts b/src/views/mes/utils/constants.ts
index 0709d65ef..7a329a6bd 100644
--- a/src/views/mes/utils/constants.ts
+++ b/src/views/mes/utils/constants.ts
@@ -271,6 +271,12 @@ export const MesWmProductSalesStatusEnum = {
CANCELED: MesOrderStatusConstants.CANCELLED
}
+/** MES 发货通知单状态枚举 */
+export const MesWmSalesNoticeStatusEnum = {
+ PREPARE: MesOrderStatusConstants.DRAFT,
+ APPROVED: MesOrderStatusConstants.CONFIRMED
+}
+
/** 获取物料/产品标识的标签 */
export const getItemOrProductLabel = (value: string): string => {
for (const item of Object.values(MesItemOrProductEnum)) {
diff --git a/src/views/mes/wm/salesnotice/SalesNoticeForm.vue b/src/views/mes/wm/salesnotice/SalesNoticeForm.vue
new file mode 100644
index 000000000..ad351289a
--- /dev/null
+++ b/src/views/mes/wm/salesnotice/SalesNoticeForm.vue
@@ -0,0 +1,194 @@
+
+
+
+
+
diff --git a/src/views/mes/wm/salesnotice/SalesNoticeLineList.vue b/src/views/mes/wm/salesnotice/SalesNoticeLineList.vue
new file mode 100644
index 000000000..ddb96213e
--- /dev/null
+++ b/src/views/mes/wm/salesnotice/SalesNoticeLineList.vue
@@ -0,0 +1,214 @@
+
+
+
+
+ 添加物料
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mes/wm/salesnotice/index.vue b/src/views/mes/wm/salesnotice/index.vue
new file mode 100644
index 000000000..959dc09ec
--- /dev/null
+++ b/src/views/mes/wm/salesnotice/index.vue
@@ -0,0 +1,272 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.noticeCode }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 提交
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+