From 3af3fcf72f587b8fcec6ce9b90c2ff5fee061f21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=96=AA=E5=90=8D?= <942005050@qq.com> Date: Fri, 3 Nov 2023 07:42:30 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E6=94=B6=E8=B4=A7=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/purchasereceiptRecordDetail/index.ts | 90 ++ .../wms/purchasereceiptRecordMain/index.ts | 75 ++ .../purchasereceiptRecordMain/index.vue | 165 ++++ .../purchasereceiptRecordMain.data.ts | 831 ++++++++++++++++++ 4 files changed, 1161 insertions(+) create mode 100644 src/api/wms/purchasereceiptRecordDetail/index.ts create mode 100644 src/api/wms/purchasereceiptRecordMain/index.ts create mode 100644 src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/index.vue create mode 100644 src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data.ts diff --git a/src/api/wms/purchasereceiptRecordDetail/index.ts b/src/api/wms/purchasereceiptRecordDetail/index.ts new file mode 100644 index 000000000..95fe8a300 --- /dev/null +++ b/src/api/wms/purchasereceiptRecordDetail/index.ts @@ -0,0 +1,90 @@ +import request from '@/config/axios' + +export interface PurchasereceiptRecordDetailVO { + fromPackingNumber: string + toPackingNumber: string + fromContainerNumber: string + toContainerNumber: string + fromBatch: string + altBatch: string + arriveDate: Date + produceDate: Date + expireDate: Date + inventoryStatus: string + fromLocationCode: string + toLocationCode: string + fromLocationGroupCode: string + toLocationGroupCode: string + fromAreaCodes: string + toAreaCodes: string + poNumber: string + poLine: string + stdPackQty: number + stdPackUnit: string + qty: number + uom: string + supplierQty: number + supplierUom: string + convertRate: number + visualInspectResult: string + visualInspectPhotos: string + failedReason: string + singlePrice: number + amount: number + jobDetailId: string + itemCode: string + itemName: string + itemDesc1: string + itemDesc2: string + number: string + remark: string + createTime: Date + creator: string + projectCode: string + code: string + interfaceType: string + fromOwnerCode: string + toOwnerCode: string + toBatch: string +} + +// 查询采购收货记录子列表 +export const getPurchasereceiptRecordDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/purchasereceipt-record-detail/senior', data }) + } else { + return await request.get({ url: `/wms/purchasereceipt-record-detail/page`, params }) + } +} + +// 查询采购收货记录子详情 +export const getPurchasereceiptRecordDetail = async (id: number) => { + return await request.get({ url: `/wms/purchasereceipt-record-detail/get?id=` + id }) +} + +// 新增采购收货记录子 +export const createPurchasereceiptRecordDetail = async (data: PurchasereceiptRecordDetailVO) => { + return await request.post({ url: `/wms/purchasereceipt-record-detail/create`, data }) +} + +// 修改采购收货记录子 +export const updatePurchasereceiptRecordDetail = async (data: PurchasereceiptRecordDetailVO) => { + return await request.put({ url: `/wms/purchasereceipt-record-detail/update`, data }) +} + +// 删除采购收货记录子 +export const deletePurchasereceiptRecordDetail = async (id: number) => { + return await request.delete({ url: `/wms/purchasereceipt-record-detail/delete?id=` + id }) +} + +// 导出采购收货记录子 Excel +export const exportPurchasereceiptRecordDetail = async (params) => { + return await request.download({ url: `/wms/purchasereceipt-record-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/purchasereceipt-record-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/purchasereceiptRecordMain/index.ts b/src/api/wms/purchasereceiptRecordMain/index.ts new file mode 100644 index 000000000..ea0c4c832 --- /dev/null +++ b/src/api/wms/purchasereceiptRecordMain/index.ts @@ -0,0 +1,75 @@ +import request from '@/config/axios' + +export interface PurchasereceiptRecordMainVO { + requestNumber: string + jobNumber: string + asnNumber: string + ppNumber: string + supplierCode: string + toDockCode: string + carrierCode: string + transferMode: string + vehiclePlateNumber: string + fromWarehouseCode: string + toWarehouseCode: string + outTransaction: string + inTransaction: string + executeTime: Date + activeDate: Date + requestTime: Date + dueTime: Date + departmentCode: string + interfaceType: string + number: string + businessType: string + remark: string + createTime: Date + creator: string + code: string + fromLocationTypes: string + toLocationTypes: string + fromAreaCodes: string + toAreaCodes: string + available: string +} + +// 查询采购收货记录主列表 +export const getPurchasereceiptRecordMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/purchasereceipt-record-main/senior', data }) + } else { + return await request.get({ url: `/wms/purchasereceipt-record-main/page`, params }) + } +} + +// 查询采购收货记录主详情 +export const getPurchasereceiptRecordMain = async (id: number) => { + return await request.get({ url: `/wms/purchasereceipt-record-main/get?id=` + id }) +} + +// 新增采购收货记录主 +export const createPurchasereceiptRecordMain = async (data: PurchasereceiptRecordMainVO) => { + return await request.post({ url: `/wms/purchasereceipt-record-main/create`, data }) +} + +// 修改采购收货记录主 +export const updatePurchasereceiptRecordMain = async (data: PurchasereceiptRecordMainVO) => { + return await request.put({ url: `/wms/purchasereceipt-record-main/update`, data }) +} + +// 删除采购收货记录主 +export const deletePurchasereceiptRecordMain = async (id: number) => { + return await request.delete({ url: `/wms/purchasereceipt-record-main/delete?id=` + id }) +} + +// 导出采购收货记录主 Excel +export const exportPurchasereceiptRecordMain = async (params) => { + return await request.download({ url: `/wms/purchasereceipt-record-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/purchasereceipt-record-main/get-import-template' }) +} \ No newline at end of file diff --git a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/index.vue b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/index.vue new file mode 100644 index 000000000..c4e90160c --- /dev/null +++ b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/index.vue @@ -0,0 +1,165 @@ + + + diff --git a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data.ts b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data.ts new file mode 100644 index 000000000..0662ba3c0 --- /dev/null +++ b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptRecordMain/purchasereceiptRecordMain.data.ts @@ -0,0 +1,831 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + + + +/** + * @returns {Array} 采购收货记录主表 + */ +export const PurchasereceiptRecordMain = useCrudSchemas(reactive([ + { + label: '申请单号', + field: 'requestNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '任务单号', + field: 'jobNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '发货单号', + field: 'asnNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '要货计划单号', + field: 'ppNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '供应商代码', + field: 'supplierCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '到月台代码', + field: 'toDockCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '承运商', + field: 'carrierCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '运输方式', + field: 'transferMode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '车牌号', + field: 'vehiclePlateNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '从仓库代码', + field: 'fromWarehouseCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '到仓库代码', + field: 'toWarehouseCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '从库位类型范围', + field: 'fromLocationTypes', + dictType: DICT_TYPE.LOCATION_TYPE, + dictClass: 'string', + isSearch: true, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '到库位类型范围', + field: 'toLocationTypes', + dictType: DICT_TYPE.LOCATION_TYPE, + dictClass: 'string', + isSearch: true, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '从库区代码范围', + field: 'fromAreaCodes', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '到库区代码范围', + field: 'toAreaCodes', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '出库事务类型', + field: 'outTransaction', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '入库事务类型', + field: 'inTransaction', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '执行时间', + field: 'executeTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '生效日期', + field: 'activeDate', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '申请时间', + field: 'requestTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '截止时间', + field: 'dueTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '部门', + field: 'departmentCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '代码', + field: 'code', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '接口类型', + field: 'interfaceType', + dictType: DICT_TYPE.INTERFACE_TYPE, + dictClass: 'string', + isSearch: true, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '单据号', + field: 'number', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '业务类型', + field: 'businessType', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '创建者', + field: 'creator', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '创建时间', + field: 'createTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '是否可用', + field: 'available', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isSearch: true, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + } + } +])) + +// 表单校验 +export const PurchasereceiptRecordMainRules = reactive({ + requestNumber: [required], + supplierCode: [required], + toWarehouseCode: [required], + outTransaction: [required], + inTransaction: [required], + executeTime: [required], + activeDate: [required], + toLocationTypes: [required], + available: [required], +}) + +/** + * @returns {Array} 采购收货记录子表 + */ +export const PurchasereceiptRecordDetail = useCrudSchemas(reactive([ + { + label: '从包装号', + field: 'fromPackingNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '到包装号', + field: 'toPackingNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '从器具号', + field: 'fromContainerNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '到器具号', + field: 'toContainerNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '从批次', + field: 'fromBatch', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '到批次', + field: 'toBatch', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '替代批次', + field: 'altBatch', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '到货日期', + field: 'arriveDate', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '生产日期', + field: 'produceDate', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '过期日期', + field: 'expireDate', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '库存状态', + field: 'inventoryStatus', + dictType: DICT_TYPE.INVENTORY_STATUS, + dictClass: 'string', + isSearch: true, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '从库位代码', + field: 'fromLocationCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '到库位代码', + field: 'toLocationCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '从库位组代码', + field: 'fromLocationGroupCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '到库位组代码', + field: 'toLocationGroupCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '从库区代码', + field: 'fromAreaCodes', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '到库区代码', + field: 'toAreaCodes', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '从货主代码', + field: 'fromOwnerCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '到货主代码', + field: 'toOwnerCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '订单号', + field: 'poNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '订单行', + field: 'poLine', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '标包数量', + field: 'stdPackQty', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '标包单位', + field: 'stdPackUnit', + dictType: DICT_TYPE.PACK_UNIT, + dictClass: 'string', + isSearch: true, + isTable: 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', + isSearch: true, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '供应商计量数量', + field: 'supplierQty', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '供应商计量单位', + field: 'supplierUom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isSearch: true, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '转换率', + field: 'convertRate', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '目检结果', + field: 'visualInspectResult', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '目检照片', + field: 'visualInspectPhotos', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '不合格原因', + field: 'failedReason', + dictType: DICT_TYPE.PURCHASE_RETURN_REASON, + dictClass: 'string', + isSearch: true, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '单价', + field: 'singlePrice', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '金额', + field: 'amount', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '任务明细ID', + field: 'jobDetailId', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '物品代码', + field: 'itemCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '物品名称', + field: 'itemName', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '物品描述1', + field: 'itemDesc1', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '物品描述2', + field: 'itemDesc2', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '项目代码', + field: 'projectCode', + 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', + isSearch: true, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '单据号', + field: 'number', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '代码', + field: 'code', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '接口类型', + field: 'interfaceType', + dictType: DICT_TYPE.INTERFACE_TYPE, + dictClass: 'string', + isSearch: true, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '创建时间', + field: 'createTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '创建者', + field: 'creator', + sort: 'custom', + table: { + width: 150 + }, + } +])) + +// 表单校验 +export const PurchasereceiptRecordDetailRules = reactive({ + fromPackingNumber: [required], +}) \ No newline at end of file