From c835d3fbe233331e6654798de546432d9faa6f28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=96=AA=E5=90=8D?= <942005050@qq.com> Date: Thu, 2 Nov 2023 19:02:56 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E6=94=B6=E8=B4=A7=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wms/purchasereceiptJobDetail/index.ts | 75 ++ src/api/wms/purchasereceiptJobMain/index.ts | 89 ++ .../purchasereceiptJobMain/index.vue | 232 ++++ .../purchasereceiptJobMain.data.ts | 1030 +++++++++++++++++ 4 files changed, 1426 insertions(+) create mode 100644 src/api/wms/purchasereceiptJobDetail/index.ts create mode 100644 src/api/wms/purchasereceiptJobMain/index.ts create mode 100644 src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/index.vue create mode 100644 src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/purchasereceiptJobMain.data.ts diff --git a/src/api/wms/purchasereceiptJobDetail/index.ts b/src/api/wms/purchasereceiptJobDetail/index.ts new file mode 100644 index 000000000..6201fbe0c --- /dev/null +++ b/src/api/wms/purchasereceiptJobDetail/index.ts @@ -0,0 +1,75 @@ +import request from '@/config/axios' + +export interface PurchasereceiptJobDetailVO { + packingNumber: string + containerNumber: string + batch: string + altBatch: string + arriveDate: Date + produceDate: Date + expireDate: Date + inventoryStatus: string + fromLocationCode: string + toLocationCode: string + poNumber: string + poLine: string + stdPackQty: number + stdPackUnit: string + supplierQty: number + supplierUom: string + convertRate: number + itemCode: string + itemName: string + itemDesc1: string + itemDesc2: string + projectCode: string + qty: number + uom: string + number: string + eemark: string + createTime: Date + creator: string + fromOwnerCode: string + toOwnerCode: string +} + +// 查询采购收货任务子列表 +export const getPurchasereceiptJobDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/purchasereceipt-job-detail/senior', data }) + } else { + return await request.get({ url: `/wms/purchasereceipt-job-detail/page`, params }) + } +} + +// 查询采购收货任务子详情 +export const getPurchasereceiptJobDetail = async (id: number) => { + return await request.get({ url: `/wms/purchasereceipt-job-detail/get?id=` + id }) +} + +// 新增采购收货任务子 +export const createPurchasereceiptJobDetail = async (data: PurchasereceiptJobDetailVO) => { + return await request.post({ url: `/wms/purchasereceipt-job-detail/create`, data }) +} + +// 修改采购收货任务子 +export const updatePurchasereceiptJobDetail = async (data: PurchasereceiptJobDetailVO) => { + return await request.put({ url: `/wms/purchasereceipt-job-detail/update`, data }) +} + +// 删除采购收货任务子 +export const deletePurchasereceiptJobDetail = async (id: number) => { + return await request.delete({ url: `/wms/purchasereceipt-job-detail/delete?id=` + id }) +} + +// 导出采购收货任务子 Excel +export const exportPurchasereceiptJobDetail = async (params) => { + return await request.download({ url: `/wms/purchasereceipt-job-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/purchasereceipt-job-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/purchasereceiptJobMain/index.ts b/src/api/wms/purchasereceiptJobMain/index.ts new file mode 100644 index 000000000..5193fc506 --- /dev/null +++ b/src/api/wms/purchasereceiptJobMain/index.ts @@ -0,0 +1,89 @@ +import request from '@/config/axios' + +export interface PurchasereceiptJobMainVO { + requestNumber: string + asnNumber: string + ppNumber: string + supplierCode: string + toDockCode: string + carrierCode: string + transferMode: string + vehiclePlateNumber: string + fromWarehouseCode: string + toWarehouseCode: string + requestTime: Date + requestDueTime: Date + status: string + expiredTime: Date + updateTime: Date + updater: string + jobStageStatus: string + priority: number + priorityIncrement: number + departmentCode: string + userPositionCode: string + acceptUserId: string + acceptTime: Date + completeUserId: string + completeTime: Date + fromLocationTypes: string + toLocationTypes: string + number: string + businessType: string + remark: string + createTime: Date + creator: string + allowModifyBatch: string + fromAreaCodes: string + toAreaCodes: string + autoComplete: string + allowModifyLocation: string + allowModifyQty: string + allowBiggerQty: string + allowSmallerQty: string + allowModifyInventoryStatus: string + allowContinuousScanning: string + allowPartialComplete: string + allowModifyPackingNumber: string +} + +// 查询采购收货任务主列表 +export const getPurchasereceiptJobMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/purchasereceipt-job-main/senior', data }) + } else { + return await request.get({ url: `/wms/purchasereceipt-job-main/page`, params }) + } +} + +// 查询采购收货任务主详情 +export const getPurchasereceiptJobMain = async (id: number) => { + return await request.get({ url: `/wms/purchasereceipt-job-main/get?id=` + id }) +} + +// 新增采购收货任务主 +export const createPurchasereceiptJobMain = async (data: PurchasereceiptJobMainVO) => { + return await request.post({ url: `/wms/purchasereceipt-job-main/create`, data }) +} + +// 修改采购收货任务主 +export const updatePurchasereceiptJobMain = async (data: PurchasereceiptJobMainVO) => { + return await request.put({ url: `/wms/purchasereceipt-job-main/update`, data }) +} + +// 删除采购收货任务主 +export const deletePurchasereceiptJobMain = async (id: number) => { + return await request.delete({ url: `/wms/purchasereceipt-job-main/delete?id=` + id }) +} + +// 导出采购收货任务主 Excel +export const exportPurchasereceiptJobMain = async (params) => { + return await request.download({ url: `/wms/purchasereceipt-job-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/purchasereceipt-job-main/get-import-template' }) +} \ No newline at end of file diff --git a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/index.vue b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/index.vue new file mode 100644 index 000000000..bccbce4d7 --- /dev/null +++ b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/index.vue @@ -0,0 +1,232 @@ + + + diff --git a/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/purchasereceiptJobMain.data.ts b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/purchasereceiptJobMain.data.ts new file mode 100644 index 000000000..96c9a49b9 --- /dev/null +++ b/src/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptJobMain/purchasereceiptJobMain.data.ts @@ -0,0 +1,1030 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +/** + * @returns {Array} 采购收货任务主表 + */ +export const PurchasereceiptJobMain = useCrudSchemas(reactive([ + { + label: '申请单号', + field: 'requestNumber', + 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 + }, + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '申请时间', + field: 'requestTime', + sort: 'custom', + table: { + width: 180 + }, + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '要求截止时间', + field: 'requestDueTime', + sort: 'custom', + table: { + width: 180 + }, + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '状态', + field: 'status', + dictType: DICT_TYPE.JOB_STATUS, + dictClass: 'string', + isSearch: true, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '过期时间', + field: 'expiredTime', + 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: 'jobStageStatus', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '优先级', + field: 'priority', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '优先级增量', + field: 'priorityIncrement', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '部门', + field: 'departmentCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '岗位', + field: 'userPositionCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '承接人', + field: 'acceptUserId', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '承接时间', + field: 'acceptTime', + 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: 'completeUserId', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '完成时间', + field: 'completeTime', + 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: '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: '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: 'updater', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '最后更新时间', + field: 'updateTime', + 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: 'autoComplete', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isSearch: true, + isTable: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + table: { + width: 180 + }, + }, + { + label: '允许修改库位', + field: 'allowModifyLocation', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isSearch: true, + isTable: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + table: { + width: 180 + }, + }, + { + label: '允许修改数量', + field: 'allowModifyQty', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isSearch: true, + isTable: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + table: { + width: 180 + }, + }, + { + label: '允许大于推荐数量', + field: 'allowBiggerQty', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isSearch: true, + isTable: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + table: { + width: 180 + }, + }, + { + label: '允许小于推荐数量', + field: 'allowSmallerQty', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isSearch: true, + isTable: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + table: { + width: 180 + }, + }, + { + label: '允许修改库存状态', + field: 'allowModifyInventoryStatus', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isSearch: true, + isTable: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + table: { + width: 180 + }, + }, + { + label: '允许连续扫描', + field: 'allowContinuousScanning', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isSearch: true, + isTable: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + table: { + width: 180 + }, + }, + { + label: '允许部分完成', + field: 'allowPartialComplete', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isSearch: true, + isTable: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + table: { + width: 180 + }, + }, + { + label: '允许修改批次', + field: 'allowModifyBatch', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isSearch: true, + isTable: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + table: { + width: 180 + }, + }, + { + label: '允许修改箱码', + field: 'allowModifyPackingNumber', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isSearch: true, + isTable: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + table: { + width: 180 + }, + }, + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false, + table: { + width: 120, + fixed: 'right' + }, + } +])) + +//表单校验 +export const PurchasereceiptJobMainRules = reactive({ + requestNumber: [ + { required: true, message: '请选择申请单号', trigger: 'change' } + ], + supplierCode: [ + { required: true, message: '请选择供应商代码', trigger: 'change' } + ], + toWarehouseCode: [ + { required: true, message: '请选择到仓库代码', trigger: 'change' } + ], + toLocationTypes: [ + { required: true, message: '请选择到库位类型范围', trigger: 'change' } + ], + requestTime: [ + { required: true, message: '请输入申请时间', trigger: 'change' } + ], + requestDueTime: [ + { required: true, message: '请输入要求截止时间', trigger: 'change' } + ], + status: [ + { required: true, message: '请选择状态', trigger: 'change' } + ], + jobStageStatus: [ + { required: true, message: '请选择阶段状态', trigger: 'change' } + ], + priority: [ + { required: true, message: '请输入优先级', trigger: 'blur' } + ], + priorityIncrement: [ + { required: true, message: '请输入优先级增量', trigger: 'blur' } + ], + departmentCode: [ + { required: true, message: '请输入部门', trigger: 'blur' } + ], + userPositionCode: [ + { required: true, message: '请输入岗位', trigger: 'blur' } + ], + number: [ + { required: true, message: '请输入单据号', trigger: 'blur' } + ], + businessType: [ + { required: true, message: '请输入业务类型', trigger: 'blur' } + ], + createTime: [ + { required: true, message: '请输入创建时间', trigger: 'blur' } + ], + creator: [ + { required: true, message: '请输入创建者', trigger: 'blur' } + ], +}) + +/** + * @returns {Array} 采购收货任务子表 + */ +export const PurchasereceiptJobDetail = useCrudSchemas(reactive([ + { + label: '包装号', + field: 'packingNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '器具号', + field: 'containerNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '批次', + field: 'batch', + 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: '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: '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: 'fromOwnerCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '到货主代码', + field: 'toOwnerCode', + 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: '备注', + fiield: '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', + } + }, + }, +])) + +//表单校验 +export const PurchasereceiptJobDetailRules = reactive({ + packingNumber: [ + { required: true, message: '请选择包装号', trigger: 'change' } + ], + batch: [ + { required: true, message: '请输入批次', trigger: 'blur' } + ], + arriveDate: [ + { required: true, message: '请输入到货日期', trigger: 'change' } + ], + produceDate: [ + { required: true, message: '请输入生产日期', trigger: 'change' } + ], + expireDate: [ + { required: true, message: '请输入过期日期', trigger: 'change' } + ], + inventoryStatus: [ + { required: true, message: '请选择库存状态', trigger: 'change' } + ], + poNumber: [ + { required: true, message: '请选择订单号', trigger: 'change' } + ], + poLine: [ + { required: true, message: '请输入订单行', trigger: 'blur' } + ], + stdPackQty: [ + { required: true, message: '请输入标包数量', trigger: 'blur' } + ], + stdPackUnit: [ + { required: true, message: '请选择标包单位', trigger: 'change' } + ], + convertRate: [ + { required: true, message: '请输入转换率', trigger: 'blur' } + ], + toLocationCode: [ + { required: true, message: '请选择到库位代码', trigger: 'change' } + ], + number: [ + { required: true, message: '请输入单据号', trigger: 'blur' } + ], + itemCode: [ + { required: true, message: '请选择物品代码', trigger: 'change' } + ], + createTime: [ + { required: true, message: '请输入创建时间', trigger: 'blur' } + ], + creator: [ + { required: true, message: '请输入创建者', trigger: 'blur' } + ], +})