diff --git a/src/api/wms/itemarea/index.ts b/src/api/wms/itemarea/index.ts new file mode 100644 index 000000000..8da52d432 --- /dev/null +++ b/src/api/wms/itemarea/index.ts @@ -0,0 +1,64 @@ +import request from '@/config/axios' + +export interface ItemareaVO { + id: number + itemCode: string + areaCode: string + inPackUnit: string + outPackUnit: string + maxQty: number + minQty: number + safeQty: number + autoRepleinsh: string + repleinshFromArea: string + repleinshQty: number + needReceive: string + available: string + activeTime: Date + expireTime: Date + remark: string + manageMode: string + newlyToOutpackunit: string + surplusToOutpackunit: string +} + +// 查询物料库区配置列表 +export const getItemareaPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/itemarea/senior', data }) + } else { + return await request.get({ url: `/wms/itemarea/page`, params }) + } +} + +// 查询物料库区配置详情 +export const getItemarea = async (id: number) => { + return await request.get({ url: `/wms/itemarea/get?id=` + id }) +} + +// 新增物料库区配置 +export const createItemarea = async (data: ItemareaVO) => { + return await request.post({ url: `/wms/itemarea/create`, data }) +} + +// 修改物料库区配置 +export const updateItemarea = async (data: ItemareaVO) => { + return await request.put({ url: `/wms/itemarea/update`, data }) +} + +// 删除物料库区配置 +export const deleteItemarea = async (id: number) => { + return await request.delete({ url: `/wms/itemarea/delete?id=` + id }) +} + +// 导出物料库区配置 Excel +export const exportItemarea = async (params) => { + return await request.download({ url: `/wms/itemarea/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/itemarea/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/itemwarehouse/index.ts b/src/api/wms/itemwarehouse/index.ts new file mode 100644 index 000000000..b1f3e17d1 --- /dev/null +++ b/src/api/wms/itemwarehouse/index.ts @@ -0,0 +1,54 @@ +import request from '@/config/axios' + +export interface ItemwarehouseVO { + id: number + itemCode: string + warehouseCode: string + manageMode: string + packUnit: string + available: string + activeTime: Date + expireTime: Date + remark: string +} + +// 查询物料仓库默认配置列表 +export const getItemwarehousePage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/itemwarehouse/senior', data }) + } else { + return await request.get({ url: `/wms/itemwarehouse/page`, params }) + } +} + +// 查询物料仓库默认配置详情 +export const getItemwarehouse = async (id: number) => { + return await request.get({ url: `/wms/itemwarehouse/get?id=` + id }) +} + +// 新增物料仓库默认配置 +export const createItemwarehouse = async (data: ItemwarehouseVO) => { + return await request.post({ url: `/wms/itemwarehouse/create`, data }) +} + +// 修改物料仓库默认配置 +export const updateItemwarehouse = async (data: ItemwarehouseVO) => { + return await request.put({ url: `/wms/itemwarehouse/update`, data }) +} + +// 删除物料仓库默认配置 +export const deleteItemwarehouse = async (id: number) => { + return await request.delete({ url: `/wms/itemwarehouse/delete?id=` + id }) +} + +// 导出物料仓库默认配置 Excel +export const exportItemwarehouse = async (params) => { + return await request.download({ url: `/wms/itemwarehouse/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/itemwarehouse/get-import-template' }) +} \ No newline at end of file diff --git a/src/views/wms/basicDataManage/itemarea/index.vue b/src/views/wms/basicDataManage/itemarea/index.vue new file mode 100644 index 000000000..e96747b24 --- /dev/null +++ b/src/views/wms/basicDataManage/itemarea/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/wms/basicDataManage/itemarea/itemarea.data.ts b/src/views/wms/basicDataManage/itemarea/itemarea.data.ts new file mode 100644 index 000000000..334cb5361 --- /dev/null +++ b/src/views/wms/basicDataManage/itemarea/itemarea.data.ts @@ -0,0 +1,167 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const ItemareaRules = reactive({ + itemCode: [required], + areaCode: [required], + inPackUnit: [required], + outPackUnit: [required], + needReceive: [required], + available: [required], + manageMode: [required], +}) + +export const Itemarea = useCrudSchemas(reactive([ + { + label: 'id', + field: 'id', + sort: 'custom', + isForm: false, + }, + { + label: '物品代码', + field: 'itemCode', + sort: 'custom', + isSearch: true, + }, + { + label: '区域代码', + field: 'areaCode', + sort: 'custom', + isSearch: true, + }, + { + label: '入库包装规格', + field: 'inPackUnit', + sort: 'custom', + }, + { + label: '出库包装规格', + field: 'outPackUnit', + sort: 'custom', + }, + { + label: '最高库存数量(0 为无限)', + field: 'maxQty', + sort: 'custom', + }, + { + label: '最低库存数量', + field: 'minQty', + sort: 'custom', + }, + { + label: '安全预警库存数量', + field: 'safeQty', + sort: 'custom', + }, + { + label: '是否自动补料', + field: 'autoRepleinsh', + sort: 'custom', + }, + { + label: '补料来源库区', + field: 'repleinshFromArea', + sort: 'custom', + }, + { + label: '补料数量', + field: 'repleinshQty', + sort: 'custom', + }, + { + label: '需要接收确认', + field: 'needReceive', + sort: 'custom', + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + isSearch: true, + }, + { + label: '生效时间', + field: 'activeTime', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '失效时间', + field: 'expireTime', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isForm: false, + }, + { + label: '创建者ID', + field: 'creator', + sort: 'custom', + isForm: false, + }, + { + label: '最后更新时间', + field: 'updateTime', + sort: 'custom', + formatter: dateFormatter, + isForm: false, + }, + { + label: '最后更新者ID', + field: 'updater', + sort: 'custom', + isForm: false, + }, + { + label: '管理精度', + field: 'manageMode', + sort: 'custom', + isSearch: true, + }, + { + label: '入库后库存自动转换为出库包装规格', + field: 'newlyToOutpackunit', + sort: 'custom', + }, + { + label: '出库后剩余库存自动转换为出库包装规格 出库后剩余库存自动转换为出库包装规格', + field: 'surplusToOutpackunit', + sort: 'custom', + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/wms/basicDataManage/itemwarehouse/index.vue b/src/views/wms/basicDataManage/itemwarehouse/index.vue new file mode 100644 index 000000000..853a864d8 --- /dev/null +++ b/src/views/wms/basicDataManage/itemwarehouse/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/wms/basicDataManage/itemwarehouse/itemwarehouse.data.ts b/src/views/wms/basicDataManage/itemwarehouse/itemwarehouse.data.ts new file mode 100644 index 000000000..f9da3514c --- /dev/null +++ b/src/views/wms/basicDataManage/itemwarehouse/itemwarehouse.data.ts @@ -0,0 +1,126 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const ItemwarehouseRules = reactive({ + itemCode: [required], + warehouseCode: [required], + manageMode: [required], + packUnit: [required], + available: [required], +}) + +export const Itemwarehouse = useCrudSchemas(reactive([ + { + label: 'id', + field: 'id', + sort: 'custom', + isForm: false, + }, + { + label: '物品代码', + field: 'itemCode', + sort: 'custom', + isSearch: true, + }, + { + label: '区域代码', + field: 'warehouseCode', + sort: 'custom', + isSearch: true, + }, + { + label: '管理精度', + field: 'manageMode', + sort: 'custom', + isSearch: true, + }, + { + label: '入库包装规格', + field: 'packUnit', + sort: 'custom', + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + }, + { + label: '生效时间', + field: 'activeTime', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '失效时间', + field: 'expireTime', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isForm: false, + }, + { + label: '删除时间', + field: 'deletionTime', + sort: 'custom', + formatter: dateFormatter, + isForm: false, + }, + { + label: '删除者ID', + field: 'deleterId', + sort: 'custom', + isForm: false, + }, + { + label: '扩展属性', + field: 'extraProperties', + sort: 'custom', + isForm: false, + }, + { + label: '并发乐观锁', + field: 'concurrencyStamp', + sort: 'custom', + isForm: false, + }, + { + label: '地点ID', + field: 'siteId', + sort: 'custom', + isForm: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +]))