From cf95edd2e3a4effc7a3958912d370277d33d2c9d Mon Sep 17 00:00:00 2001 From: zhaoxuebing <1291173720@qq.com> Date: Mon, 25 Dec 2023 16:02:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=99=A8=E5=85=B7=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E9=A1=B5=E9=9D=A2=E5=BC=80=E5=8F=91=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/containerInitRecordDetail/index.ts | 55 ++++ src/api/wms/containerInitRecordMain/index.ts | 68 +++++ src/utils/dict.ts | 3 +- .../containerinitadd/containerMain.data.ts | 219 ++++++++++++++ .../containerinit/containerinitadd/index.vue | 247 +++++++++++++++ .../containerInitRecordMain.data.ts | 145 +++++++++ .../containerinitrecord/index.vue | 286 ++++++++++++++++++ 7 files changed, 1022 insertions(+), 1 deletion(-) create mode 100644 src/api/wms/containerInitRecordDetail/index.ts create mode 100644 src/api/wms/containerInitRecordMain/index.ts create mode 100644 src/views/wms/inventoryManage/containerinit/containerinitadd/containerMain.data.ts create mode 100644 src/views/wms/inventoryManage/containerinit/containerinitadd/index.vue create mode 100644 src/views/wms/inventoryManage/containerinit/containerinitrecord/containerInitRecordMain.data.ts create mode 100644 src/views/wms/inventoryManage/containerinit/containerinitrecord/index.vue diff --git a/src/api/wms/containerInitRecordDetail/index.ts b/src/api/wms/containerInitRecordDetail/index.ts new file mode 100644 index 000000000..f998ec3bf --- /dev/null +++ b/src/api/wms/containerInitRecordDetail/index.ts @@ -0,0 +1,55 @@ +import request from '@/config/axios' + +export interface ContainerInitRecordDetailVO { + id: number + containerNumber: string + type: string + capacity: number + status: string + ownerCode: string + masterId: number + number: string + siteId: string + remark: string +} + +// 查询器具初始化记录子列表 +export const getContainerInitRecordDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/container-init-record-detail/senior', data }) + } else { + return await request.get({ url: `/wms/container-init-record-detail/page`, params }) + } +} + +// 查询器具初始化记录子详情 +export const getContainerInitRecordDetail = async (id: number) => { + return await request.get({ url: `/wms/container-init-record-detail/get?id=` + id }) +} + +// 新增器具初始化记录子 +export const createContainerInitRecordDetail = async (data: ContainerInitRecordDetailVO) => { + return await request.post({ url: `/wms/container-init-record-detail/create`, data }) +} + +// 修改器具初始化记录子 +export const updateContainerInitRecordDetail = async (data: ContainerInitRecordDetailVO) => { + return await request.put({ url: `/wms/container-init-record-detail/update`, data }) +} + +// 删除器具初始化记录子 +export const deleteContainerInitRecordDetail = async (id: number) => { + return await request.delete({ url: `/wms/container-init-record-detail/delete?id=` + id }) +} + +// 导出器具初始化记录子 Excel +export const exportContainerInitRecordDetail = async (params) => { + return await request.download({ url: `/wms/container-init-record-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/container-init-record-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/containerInitRecordMain/index.ts b/src/api/wms/containerInitRecordMain/index.ts new file mode 100644 index 000000000..0c9c565f1 --- /dev/null +++ b/src/api/wms/containerInitRecordMain/index.ts @@ -0,0 +1,68 @@ +import request from '@/config/axios' + +export interface ContainerInitRecordMainVO { + id: number + number: string + fromWarehouseCode: string + toWarehouseCode: 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 + code: string + fromLocationTypes: string + toLocationTypes: string + fromAreaCodes: string + toAreaCodes: string +} + +// 查询器具初始化记录主列表 +export const getContainerInitRecordMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/container-init-record-main/senior', data }) + } else { + return await request.get({ url: `/wms/container-init-record-main/page`, params }) + } +} + +// 查询器具初始化记录主详情 +export const getContainerInitRecordMain = async (id: number) => { + return await request.get({ url: `/wms/container-init-record-main/get?id=` + id }) +} + +// 新增器具初始化记录主 +export const createContainerInitRecordMain = async (data: ContainerInitRecordMainVO) => { + return await request.post({ url: `/wms/container-init-record-main/create`, data }) +} + +// 修改器具初始化记录主 +export const updateContainerInitRecordMain = async (data: ContainerInitRecordMainVO) => { + return await request.put({ url: `/wms/container-init-record-main/update`, data }) +} + +// 删除器具初始化记录主 +export const deleteContainerInitRecordMain = async (id: number) => { + return await request.delete({ url: `/wms/container-init-record-main/delete?id=` + id }) +} + +// 导出器具初始化记录主 Excel +export const exportContainerInitRecordMain = async (params) => { + return await request.download({ url: `/wms/container-init-record-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/container-init-record-main/get-import-template' }) +} \ No newline at end of file diff --git a/src/utils/dict.ts b/src/utils/dict.ts index dae05597c..dabd5d41c 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -270,5 +270,6 @@ export enum DICT_TYPE { TRANSFER_MODE = 'transfer_mode', // 运输方式 LABEL_TYPE = 'label_type', // 标签类型 LABEL_STATUS = 'label_status', // 标签状态 - BIND_TYPE = 'bind_type' // 器具绑定类型 + BIND_TYPE = 'bind_type', // 器具绑定类型 + CONTAINER_STATUS = 'container_status', // 容器状态 } diff --git a/src/views/wms/inventoryManage/containerinit/containerinitadd/containerMain.data.ts b/src/views/wms/inventoryManage/containerinit/containerinitadd/containerMain.data.ts new file mode 100644 index 000000000..f395202ee --- /dev/null +++ b/src/views/wms/inventoryManage/containerinit/containerinitadd/containerMain.data.ts @@ -0,0 +1,219 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import {Owner} from "@/views/wms/basicDataManage/orderManage/owner/owner.data"; +import * as OwnerApi from "@/api/wms/owner"; +import {Warehouse} from "@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data"; +import * as WarehouseApi from "@/api/wms/warehouse"; + +// 表单校验 +export const ContainerMainRules = reactive({ + number: [ + { required: true, message: '请输入号码', trigger: 'blur' } + ], + type: [ + { required: true, message: '请选择类型', trigger: 'change' } + ], + status: [ + { required: true, message: '请选择状态', trigger: 'change' } + ], + ownerCode: [ + { required: true, message: '请选择货主代码', trigger: 'change' } + ], +}) + +export const ContainerMain = useCrudSchemas(reactive([ + { + label: '号码', + field: 'number', + sort: 'custom', + isSearch: true, + }, + { + label: '类型', + field: 'type', + dictType: DICT_TYPE.CONTAINER_TYPE, + dictClass: 'string', + isTable: true, + isForm: true, + sort: 'custom', + isSearch: true, + }, + { + label: '总容量', + field: 'capacity', + sort: 'custom', + form: { + component: 'InputNumber', + }, + isSearch: true, + }, + { + label: '状态', + field: 'status', + dictType: DICT_TYPE.CONTAINER_STATUS, + dictClass: 'string', + isTable: true, + isForm: true, + sort: 'custom', + isSearch: true, + }, + { + label: '货主代码', + field: 'ownerCode', + sort: 'custom', + table: { + width: 150 + }, + tableForm:{ + isInpuFocusShow: true, // 开启查询弹窗 + searchListPlaceholder: '请选择货主代码', + searchField: 'code', + searchTitle: '货主信息', + searchAllSchemas: Owner.allSchemas, + searchPage: OwnerApi.getOwnerPage, + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }] + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择货主代码', + searchField: 'code', + searchTitle: '货主信息', + searchAllSchemas: Owner.allSchemas, + searchPage: OwnerApi.getOwnerPage, + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }] + } + } + }, + { + label: '仓库代码', + field: 'warehouseCode', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true, + tableForm:{ + isInpuFocusShow: true, // 开启查询弹窗 + searchListPlaceholder: '请选择仓库代码', + searchField: 'code', + searchTitle: '仓库信息', + searchAllSchemas: Warehouse.allSchemas, + searchPage: WarehouseApi.getWarehousePage, + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }] + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择仓库代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '仓库信息', // 查询弹窗标题 + searchAllSchemas: Warehouse.allSchemas, // 查询弹窗所需类 + searchPage: WarehouseApi.getWarehousePage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }] + } + } + }, +])) + + +/** + * @returns {Array} 器具子表 + */ +export const ContainerDetail = useCrudSchemas(reactive([ + { + label: '内容物类型', + field: 'containerContentType', + dictType: DICT_TYPE.CONTAINER_CONTENT_TYPE, + dictClass: 'string', + isTable: true, + isForm: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '内容物号', + field: 'contentNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '库存状态', + field: 'inventoryStatus', + dictType: DICT_TYPE.INVENTORY_STATUS, + dictClass: 'string', + isTable: true, + isForm: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '计量单位', + field: 'uom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isTable: true, + isForm: true, + sort: 'custom', + table: { + width: 150 + }, + }, +])) + +// 表单校验 +export const ContainerDetailRules = reactive({ + containerContentType: [ + { required: true, message: '请选择内容物类型', trigger: 'change' } + ], +}) diff --git a/src/views/wms/inventoryManage/containerinit/containerinitadd/index.vue b/src/views/wms/inventoryManage/containerinit/containerinitadd/index.vue new file mode 100644 index 000000000..cc96b8cf1 --- /dev/null +++ b/src/views/wms/inventoryManage/containerinit/containerinitadd/index.vue @@ -0,0 +1,247 @@ + + + diff --git a/src/views/wms/inventoryManage/containerinit/containerinitrecord/containerInitRecordMain.data.ts b/src/views/wms/inventoryManage/containerinit/containerinitrecord/containerInitRecordMain.data.ts new file mode 100644 index 000000000..887b6fb6c --- /dev/null +++ b/src/views/wms/inventoryManage/containerinit/containerinitrecord/containerInitRecordMain.data.ts @@ -0,0 +1,145 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const ContainerInitRecordMainRules = reactive({ +}) + +export const ContainerInitRecordMain = useCrudSchemas(reactive([ + { + label: '单据号', + field: 'number', + sort: 'custom', + isSearch: true, + }, + { + label: '仓库代码', + field: 'fromWarehouseCode', + sort: 'custom', + isSearch: true, + }, + { + label: '部门', + field: 'departmentCode', + sort: 'custom', + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + 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: 'remark', + sort: 'custom', + table:{ + show:false + } + }, +])) + +export const ContainerInitRecordDetail = useCrudSchemas(reactive([ + { + label: '器具号', + field: 'containerNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '类型', + field: 'type', + sort: 'custom', + form: { + component: 'SelectV2' + }, + table: { + width: 150 + }, + }, + { + label: '总容量', + field: 'capacity', + sort: 'custom', + table: { + width: 150 + }, + }, + + { + label: '状态', + field: 'status', + sort: 'custom', + form: { + component: 'Radio' + }, + table: { + width: 150 + }, + }, + { + label: '货主代码', + field: 'ownerCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '单据号', + field: 'number', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + table: { + width: 150 + }, + 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: 'remark', + sort: 'custom', + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) + +// 表单校验 +export const ContainerInitRecordDetailRules = reactive({ + +}) diff --git a/src/views/wms/inventoryManage/containerinit/containerinitrecord/index.vue b/src/views/wms/inventoryManage/containerinit/containerinitrecord/index.vue new file mode 100644 index 000000000..a386987ca --- /dev/null +++ b/src/views/wms/inventoryManage/containerinit/containerinitrecord/index.vue @@ -0,0 +1,286 @@ + + +