From 1cb1a2a471b354a59e28f362f5aa2f473c78aba4 Mon Sep 17 00:00:00 2001 From: zhaoxuebing <1291173720@qq.com> Date: Fri, 16 May 2025 16:48:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=BA=E9=99=B7=EF=BC=9AFWHL-45?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wms/packagetuomergeDetail/index.ts | 77 ++++ src/api/wms/packagetuomergeMain/index.ts | 62 +++ .../packagetuomergeMain/index.vue | 252 +++++++++++ .../packagetuomergeMain.data.ts | 409 ++++++++++++++++++ 4 files changed, 800 insertions(+) create mode 100644 src/api/wms/packagetuomergeDetail/index.ts create mode 100644 src/api/wms/packagetuomergeMain/index.ts create mode 100644 src/views/wms/inventoryjobManage/packageManage/packagetuomergeMain/index.vue create mode 100644 src/views/wms/inventoryjobManage/packageManage/packagetuomergeMain/packagetuomergeMain.data.ts diff --git a/src/api/wms/packagetuomergeDetail/index.ts b/src/api/wms/packagetuomergeDetail/index.ts new file mode 100644 index 000000000..41429db76 --- /dev/null +++ b/src/api/wms/packagetuomergeDetail/index.ts @@ -0,0 +1,77 @@ +import request from '@/config/axios' + +export interface PackagetuomergeDetailVO { + id: number + number: string + masterId: number + itemCode: string + itemName: string + itemDesc1: string + itemDesc2: string + uom: string + fromQty: number + toQty: number + fromLocationCode: string + toLocationCode: string + fromLocationGroupCode: string + toLocationGroupCode: string + fromAreaCode: string + toAreaCode: string + fromPackingNumber: string + fromParentPackingNumber: string + fromBatch: string + toPackingNumber: string + toParentPackingNumber: string + toBatch: string + fromInventoryStatus: string + toInventoryStatus: string + fromContainerNumber: string + toContainerNumber: string + fromOwnerCode: string + toOwnerCode: string + interfaceType: string + projectCode: string + remark: string + siteId: string +} + +// 查询合托记录子列表 +export const getPackagetuomergeDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/packagetuomerge-detail/senior', data }) + } else { + return await request.get({ url: `/wms/packagetuomerge-detail/page`, params }) + } +} + +// 查询合托记录子详情 +export const getPackagetuomergeDetail = async (id: number) => { + return await request.get({ url: `/wms/packagetuomerge-detail/get?id=` + id }) +} + +// 新增合托记录子 +export const createPackagetuomergeDetail = async (data: PackagetuomergeDetailVO) => { + return await request.post({ url: `/wms/packagetuomerge-detail/create`, data }) +} + +// 修改合托记录子 +export const updatePackagetuomergeDetail = async (data: PackagetuomergeDetailVO) => { + return await request.put({ url: `/wms/packagetuomerge-detail/update`, data }) +} + +// 删除合托记录子 +export const deletePackagetuomergeDetail = async (id: number) => { + return await request.delete({ url: `/wms/packagetuomerge-detail/delete?id=` + id }) +} + +// 导出合托记录子 Excel +export const exportPackagetuomergeDetail = async (params) => { + return await request.download({ url: `/wms/packagetuomerge-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/packagetuomerge-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/packagetuomergeMain/index.ts b/src/api/wms/packagetuomergeMain/index.ts new file mode 100644 index 000000000..05c8fc64f --- /dev/null +++ b/src/api/wms/packagetuomergeMain/index.ts @@ -0,0 +1,62 @@ +import request from '@/config/axios' + +export interface PackagetuomergeMainVO { + id: number + number: string + warehouseCode: string + outTransactionType: string + inTransactionType: string + executeTime: Date + activeDate: Date + available: string + requestTime: Date + dueTime: Date + departmentCode: string + userGroupCode: string + interfaceType: string + businessType: string + remark: string + extraProperties: string + siteId: string +} + +// 查询合托记录主列表 +export const getPackagetuomergeMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/packagetuomerge-main/senior', data }) + } else { + return await request.get({ url: `/wms/packagetuomerge-main/page`, params }) + } +} + +// 查询合托记录主详情 +export const getPackagetuomergeMain = async (id: number) => { + return await request.get({ url: `/wms/packagetuomerge-main/get?id=` + id }) +} + +// 新增合托记录主 +export const createPackagetuomergeMain = async (data: PackagetuomergeMainVO) => { + return await request.post({ url: `/wms/packagetuomerge-main/create`, data }) +} + +// 修改合托记录主 +export const updatePackagetuomergeMain = async (data: PackagetuomergeMainVO) => { + return await request.put({ url: `/wms/packagetuomerge-main/update`, data }) +} + +// 删除合托记录主 +export const deletePackagetuomergeMain = async (id: number) => { + return await request.delete({ url: `/wms/packagetuomerge-main/delete?id=` + id }) +} + +// 导出合托记录主 Excel +export const exportPackagetuomergeMain = async (params) => { + return await request.download({ url: `/wms/packagetuomerge-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/packagetuomerge-main/get-import-template' }) +} \ No newline at end of file diff --git a/src/views/wms/inventoryjobManage/packageManage/packagetuomergeMain/index.vue b/src/views/wms/inventoryjobManage/packageManage/packagetuomergeMain/index.vue new file mode 100644 index 000000000..06efdc228 --- /dev/null +++ b/src/views/wms/inventoryjobManage/packageManage/packagetuomergeMain/index.vue @@ -0,0 +1,252 @@ + + + diff --git a/src/views/wms/inventoryjobManage/packageManage/packagetuomergeMain/packagetuomergeMain.data.ts b/src/views/wms/inventoryjobManage/packageManage/packagetuomergeMain/packagetuomergeMain.data.ts new file mode 100644 index 000000000..dd71bdf6c --- /dev/null +++ b/src/views/wms/inventoryjobManage/packageManage/packagetuomergeMain/packagetuomergeMain.data.ts @@ -0,0 +1,409 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const PackagetuomergeMainRules = reactive({ +}) + +export const PackagetuomergeMain = useCrudSchemas(reactive([ + { + label: '单据号', + field: 'number', + sort: 'custom', + isSearch: true, + }, + { + label: '物品代码', + field: 'itemCode', + sort: 'custom', + }, + { + label: '物品名称', + field: 'itemName', + sort: 'custom', + }, + { + label: '包装号', + field: 'toPackingNumber', + sort: 'custom', + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + }, + { + label: '包装规格', + field: 'packUnit', + sort: 'custom', + }, + { + label: '标包数量', + field: 'packQty', + sort: 'custom', + }, + { + label: '库位代码', + field: 'toLocationCode', + sort: 'custom', + }, + { + label: '库区代码', + field: 'toAreaCode', + sort: 'custom', + }, + { + label: '仓库代码', + field: 'warehouseCode', + sort: 'custom', + }, + { + label: '出库事务类型', + field: 'outTransactionType', + sort: 'custom', + isTable:false, + }, + { + label: '入库事务类型', + field: 'inTransactionType', + sort: 'custom', + isTable:false, + }, + { + label: '执行时间', + field: 'executeTime', + sort: 'custom', + formatter: dateFormatter, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + isTable:false + }, + { + label: '生效日期', + field: 'activeDate', + sort: 'custom', + formatter: dateFormatter, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + isTable:false + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + isTable:false + }, + { + label: '申请时间', + field: 'requestTime', + sort: 'custom', + formatter: dateFormatter, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + isTable:false + }, + { + label: '截止时间', + field: 'dueTime', + sort: 'custom', + formatter: dateFormatter, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + isTable:false + }, + { + label: '部门', + field: 'departmentCode', + sort: 'custom', + isTable:false + }, + { + label: '用户组', + field: 'userGroupCode', + sort: 'custom', + isTable:false + }, + { + label: '接口类型', + field: 'interfaceType', + sort: 'custom', + isTable:false + }, + { + label: '业务类型', + field: 'businessType', + sort: 'custom', + isTable:false + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isTable:false + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + isForm: false, + }, + { + label: '扩展属性', + field: 'extraProperties', + sort: 'custom', + isTable:false + }, + { + label: '地点ID', + field: 'siteId', + sort: 'custom', + isSearch: false, + isTable:false + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) + + +// 表单校验 +export const PackagetuomergeDetailRules = reactive({ +}) + +export const PackagetuomergeDetail = useCrudSchemas(reactive([ + { + label: '单据号', + field: 'number', + sort: 'custom', + isSearch: true, + }, + { + label: '主表ID', + field: 'masterId', + sort: 'custom', + isSearch: false, + isTable:false, + isForm:false + }, + { + label: '物品代码', + field: 'itemCode', + sort: 'custom', + }, + { + label: '物品名称', + field: 'itemName', + sort: 'custom', + }, + { + label: '物品描述1', + field: 'itemDesc1', + sort: 'custom', + }, + { + label: '物品描述2', + field: 'itemDesc2', + sort: 'custom', + }, + { + label: '计量单位', + field: 'uom', + sort: 'custom', + }, + { + label: '从数量', + field: 'fromQty', + sort: 'custom', + }, + { + label: '到数量', + field: 'toQty', + sort: 'custom', + }, + { + label: '来源库位代码', + field: 'fromLocationCode', + sort: 'custom', + }, + { + label: '目标库位代码', + field: 'toLocationCode', + sort: 'custom', + }, + { + label: '来源库位组代码', + field: 'fromLocationGroupCode', + sort: 'custom', + isTable:false, + isForm:false + }, + { + label: '目标库位组代码', + field: 'toLocationGroupCode', + sort: 'custom', + isTable:false, + isForm:false + }, + { + label: '来源库区代码', + field: 'fromAreaCode', + sort: 'custom', + isTable:false, + isForm:false + }, + { + label: '目标库区代码', + field: 'toAreaCode', + sort: 'custom', + isTable:false, + isForm:false + }, + { + label: '从包装号', + field: 'fromPackingNumber', + sort: 'custom', + }, + { + label: '从父包装号', + field: 'fromParentPackingNumber', + sort: 'custom', + }, + + { + label: '到包装号', + field: 'toPackingNumber', + sort: 'custom', + }, + { + label: '从父包装号', + field: 'toParentPackingNumber', + sort: 'custom', + }, + { + label: '从批次', + field: 'fromBatch', + sort: 'custom', + }, + { + label: '到批次', + field: 'toBatch', + sort: 'custom', + }, + { + label: '从库存状态', + field: 'fromInventoryStatus', + sort: 'custom', + }, + { + label: '到库存状态', + field: 'toInventoryStatus', + sort: 'custom', + }, + { + label: '包装规格', + field: 'packUnit', + sort: 'custom', + }, + { + label: '标包数量', + field: 'packQty', + sort: 'custom', + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: false, + isForm: false, + isTable:false, + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + isSearch: false, + isForm: false, + isTable:false, + }, +]))