diff --git a/src/api/wms/deliverRecordMain/index.ts b/src/api/wms/deliverRecordMain/index.ts index c7c01cb3f..6979e4eea 100644 --- a/src/api/wms/deliverRecordMain/index.ts +++ b/src/api/wms/deliverRecordMain/index.ts @@ -80,3 +80,9 @@ export const exportDeliverRecordMain = async (params) => { export const importTemplate = () => { return request.download({ url: '/wms/deliver-record-main/get-import-template' }) } + +// 下载用户导入模板 +export const importInducedProductTemplate = () => { + return request.download({ url: '/wms/deliver-record-main/get-import-induced-product-template' }) +} + diff --git a/src/api/wms/unfinishedShipmentDetail/index.ts b/src/api/wms/unfinishedShipmentDetail/index.ts new file mode 100644 index 000000000..58b55bb47 --- /dev/null +++ b/src/api/wms/unfinishedShipmentDetail/index.ts @@ -0,0 +1,60 @@ +import request from '@/config/axios' + +export interface UnfinishedShipmentDetailVO { + id: number + masterId: number + materialCode: string + materialName: string + backNumber: string + materialDescription: string + shipmentQuantity: number + unitPrice: number + lockedQuantity: number + available: string + deletionTime: Date + deleterId: string + extraProperties: string + concurrencyStamp: number + siteId: string +} + +// 查询已发未结发货记录子列表 +export const getUnfinishedShipmentDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/unfinished-shipment-detail/senior', data }) + } else { + return await request.get({ url: `/wms/unfinished-shipment-detail/page`, params }) + } +} + +// 查询已发未结发货记录子详情 +export const getUnfinishedShipmentDetail = async (id: number) => { + return await request.get({ url: `/wms/unfinished-shipment-detail/get?id=` + id }) +} + +// 新增已发未结发货记录子 +export const createUnfinishedShipmentDetail = async (data: UnfinishedShipmentDetailVO) => { + return await request.post({ url: `/wms/unfinished-shipment-detail/create`, data }) +} + +// 修改已发未结发货记录子 +export const updateUnfinishedShipmentDetail = async (data: UnfinishedShipmentDetailVO) => { + return await request.put({ url: `/wms/unfinished-shipment-detail/update`, data }) +} + +// 删除已发未结发货记录子 +export const deleteUnfinishedShipmentDetail = async (id: number) => { + return await request.delete({ url: `/wms/unfinished-shipment-detail/delete?id=` + id }) +} + +// 导出已发未结发货记录子 Excel +export const exportUnfinishedShipmentDetail = async (params) => { + return await request.download({ url: `/wms/unfinished-shipment-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/unfinished-shipment-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/unfinishedShipmentMain/index.ts b/src/api/wms/unfinishedShipmentMain/index.ts new file mode 100644 index 000000000..58ebb91b9 --- /dev/null +++ b/src/api/wms/unfinishedShipmentMain/index.ts @@ -0,0 +1,56 @@ +import request from '@/config/axios' + +export interface UnfinishedShipmentMainVO { + id: number + orderNumber: string + shipmentRecordNumber: string + shipmentType: string + customerOrderNumber: string + available: string + deletionTime: Date + deleterId: string + extraProperties: string + concurrencyStamp: number + siteId: string +} + +// 查询已发未结发货记录主列表 +export const getUnfinishedShipmentMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/unfinished-shipment-main/senior', data }) + } else { + return await request.get({ url: `/wms/unfinished-shipment-main/page`, params }) + } +} + +// 查询已发未结发货记录主详情 +export const getUnfinishedShipmentMain = async (id: number) => { + return await request.get({ url: `/wms/unfinished-shipment-main/get?id=` + id }) +} + +// 新增已发未结发货记录主 +export const createUnfinishedShipmentMain = async (data: UnfinishedShipmentMainVO) => { + return await request.post({ url: `/wms/unfinished-shipment-main/create`, data }) +} + +// 修改已发未结发货记录主 +export const updateUnfinishedShipmentMain = async (data: UnfinishedShipmentMainVO) => { + return await request.put({ url: `/wms/unfinished-shipment-main/update`, data }) +} + +// 删除已发未结发货记录主 +export const deleteUnfinishedShipmentMain = async (id: number) => { + return await request.delete({ url: `/wms/unfinished-shipment-main/delete?id=` + id }) +} + +// 导出已发未结发货记录主 Excel +export const exportUnfinishedShipmentMain = async (params) => { + return await request.download({ url: `/wms/unfinished-shipment-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/unfinished-shipment-main/get-import-template' }) +} \ No newline at end of file diff --git a/src/utils/disposition/defaultButtons.ts b/src/utils/disposition/defaultButtons.ts index 564d38b0f..6e5f737b3 100644 --- a/src/utils/disposition/defaultButtons.ts +++ b/src/utils/disposition/defaultButtons.ts @@ -68,6 +68,18 @@ export function defaultExportTableBtn(option: any) { hasPermi: '' }) } +// 纳入受领书 +export function defaultReceiptOfInclusionBtn(option: any) { + return __defaultBtnOption(option, { + label: t(`ts.导入纳入受领书`).replace('ts.', ''), + name: 'receiptOfInclusion', + hide: false, + type: 'warning', + icon: 'ep:upload', + color: '', + hasPermi: '' + }) +} // 字段设置 diff --git a/src/views/wms/deliversettlementManage/deliver/deliverJobMain/deliverJobMain.data.ts b/src/views/wms/deliversettlementManage/deliver/deliverJobMain/deliverJobMain.data.ts index 0eb87c4c6..510dde581 100644 --- a/src/views/wms/deliversettlementManage/deliver/deliverJobMain/deliverJobMain.data.ts +++ b/src/views/wms/deliversettlementManage/deliver/deliverJobMain/deliverJobMain.data.ts @@ -96,6 +96,22 @@ export const DeliverJobMain = useCrudSchemas( }, isTable: false }, + { + label: '客户订单号', + field: 'customerOrderNumber', + sort: 'custom', + table: { + width: 180 + }, + isTable: true, + isForm: true, + form: { + component: 'Input', + componentProps: { + + } + } + }, { label: '承运商', diff --git a/src/views/wms/deliversettlementManage/deliver/deliverRecordMain/deliverRecordMain.data.ts b/src/views/wms/deliversettlementManage/deliver/deliverRecordMain/deliverRecordMain.data.ts index ee9443402..5f3197726 100644 --- a/src/views/wms/deliversettlementManage/deliver/deliverRecordMain/deliverRecordMain.data.ts +++ b/src/views/wms/deliversettlementManage/deliver/deliverRecordMain/deliverRecordMain.data.ts @@ -63,6 +63,22 @@ export const DeliverRecordMain = useCrudSchemas( // width: 150 // }, // }, + { + label: '客户订单号', + field: 'customerOrderNumber', + sort: 'custom', + table: { + width: 180 + }, + isTable: true, + isForm: true, + form: { + component: 'Input', + componentProps: { + + } + } + }, { label: '状态', field: 'status', diff --git a/src/views/wms/deliversettlementManage/deliver/deliverRequestMain/deliverRequestMain.data.ts b/src/views/wms/deliversettlementManage/deliver/deliverRequestMain/deliverRequestMain.data.ts index 5908ed991..3e5ee8e24 100644 --- a/src/views/wms/deliversettlementManage/deliver/deliverRequestMain/deliverRequestMain.data.ts +++ b/src/views/wms/deliversettlementManage/deliver/deliverRequestMain/deliverRequestMain.data.ts @@ -269,6 +269,22 @@ export const DeliverRequestMain = useCrudSchemas( isTable: false, isForm: false }, + { + label: '客户订单号', + field: 'customerOrderNumber', + sort: 'custom', + table: { + width: 180 + }, + isTable: true, + isForm: true, + form: { + component: 'Input', + componentProps: { + + } + } + }, { label: '承运商', field: 'carrierCode', diff --git a/src/views/wms/deliversettlementManage/inducedProduct/deliverRecordMain/deliverRecordMain.data.ts b/src/views/wms/deliversettlementManage/inducedProduct/deliverRecordMain/deliverRecordMain.data.ts new file mode 100644 index 000000000..5f3197726 --- /dev/null +++ b/src/views/wms/deliversettlementManage/inducedProduct/deliverRecordMain/deliverRecordMain.data.ts @@ -0,0 +1,874 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter, dateFormatter2 } from '@/utils/formatTime' + +/** + * @returns {Array} 发货记录主表 + */ +export const DeliverRecordMain = useCrudSchemas( + reactive([ + { + label: '单据号', + field: 'number', + sort: 'custom', + table: { + width: 180, + fixed: 'left' + }, + isSearch: true + }, + { + label: '申请单号', + field: 'requestNumber', + sort: 'custom', + table: { + width: 180 + }, + isSearch: true + }, + { + label: '任务单号', + field: 'jobNumber', + sort: 'custom', + table: { + width: 180 + } + }, + { + label: '发货记录单号', + field: 'deliverRecordNumber', + sort: 'custom', + table: { + width: 150 + }, + isSearch: false, + isTable: false, + isForm: false, + isDetail: false + }, + { + label: '发货计划单号', + field: 'deliverPlanNumber', + sort: 'custom', + table: { + width: 180 + }, + isTable: true, + isDetail: true + }, + // { + // label: '客户发货单号', + // field: 'customerDeliverNumber', + // sort: 'custom', + // table: { + // width: 150 + // }, + // }, + { + label: '客户订单号', + field: 'customerOrderNumber', + sort: 'custom', + table: { + width: 180 + }, + isTable: true, + isForm: true, + form: { + component: 'Input', + componentProps: { + + } + } + }, + { + label: '状态', + field: 'status', + dictType: DICT_TYPE.REQUEST_STATUS, + dictClass: 'string', + isSearch: false, + isTable: false, + isForm: false, + isDetail: false, + sort: 'custom', + table: { + width: 150 + } + }, + { + label: '客户代码', + field: 'customerCode', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true + }, + { + label: '发货类型', + field: 'deliverType', + sort: 'custom', + isSearch: true, + dictType: DICT_TYPE.DELIVER_TYPE, + dictClass: 'string', + table: { + width: 150 + } + }, + { + label: '客户月台代码', + field: 'customerDockCode', + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + { + label: '承运商', + field: 'carrierCode', + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + { + label: '运输方式', + field: 'transferMode', + dictType: DICT_TYPE.TRANSFER_MODE, + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + { + label: '车牌号', + field: 'vehiclePlateNumber', + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + { + label: '申请时间', + field: 'requestTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + isTable: false, + 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 + }, + isTable: false, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x' + } + } + }, + { + label: '执行时间', + field: 'executeTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + isTable: false, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x' + } + } + }, + { + label: '生效日期', + field: 'activeDate', + formatter: dateFormatter2, + detail: { + dateFormat: 'YYYY-MM-DD' + }, + sort: 'custom', + table: { + width: 180 + }, + isTable: false, + form: { + component: 'DatePicker', + componentProps: { + style: { width: '100%' }, + type: 'date', + dateFormat: 'YYYY-MM-DD', + valueFormat: 'x' + } + } + }, + { + label: '从仓库代码', + field: 'fromWarehouseCode', + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + { + label: '到仓库代码', + field: 'toWarehouseCode', + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + { + label: '从库区类型范围', + field: 'fromAreaTypes', + dictType: DICT_TYPE.AREA_TYPE, + dictClass: 'string', + isTable: false, + sort: 'custom', + table: { + width: 150 + } + }, + { + label: '到库区类型范围', + field: 'toAreaTypes', + dictType: DICT_TYPE.AREA_TYPE, + dictClass: 'string', + isTable: false, + sort: 'custom', + table: { + width: 150 + } + }, + { + label: '从库区代码范围', + field: 'fromAreaCodes', + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + { + label: '到库区代码范围', + field: 'toAreaCodes', + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + { + label: '从月台代码', + field: 'fromDockCode', + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + { + label: '出库事务类型', + field: 'outTransactionType', + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + { + label: '入库事务类型', + field: 'inTransactionType', + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + { + label: '业务类型', + field: 'businessType', + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + { + label: '部门', + field: 'departmentCode', + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + { + label: '接口类型', + field: 'interfaceType', + dictType: DICT_TYPE.INTERFACE_TYPE, + dictClass: 'string', + isTable: false, + sort: 'custom', + table: { + width: 150 + } + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + { + label: '创建时间', + field: 'createTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + isTable: false, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x' + } + }, + 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')] + }, + }, + }, + { + label: '创建者', + field: 'creator', + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + // { + // label: '代码', + // field: 'code', + // sort: 'custom', + // table: { + // width: 150 + // }, + // }, + { + label: '是否可用', + field: 'available', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isSearch: false, + isTable: false, + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + } + } + ]) +) + +//表单校验 +export const DeliverRecordMainRules = reactive({ + requestNumber: [ + { required: true, message: '请选择申请单号', trigger: 'change' } + ], + customerCode: [ + { required: true, message: '请选择客户代码', trigger: 'change' } + ], + customerDockCode: [ + { required: true, message: '请选择客户月台代码', trigger: 'change' } + ], + fromWarehouseCode: [ + { required: true, message: '请选择从仓库代码', trigger: 'change' } + ], + fromAreaTypes: [ + { required: true, message: '请选择从库区类型范围', trigger: 'change' } + ], + fromAreaCodes: [ + { required: true, message: '请选择从库区代码范围', trigger: 'change' } + ], + toWarehouseCode: [ + { required: true, message: '请选择到仓库代码', trigger: 'change' } + ], + toAreaTypes: [ + { required: true, message: '请选择到库区类型范围', trigger: 'change' } + ], + outTransaction: [ + { required: true, message: '请输入出库事务类型', trigger: 'blur' } + ], + inTransaction: [ + { required: true, message: '请输入入库事务类型', trigger: 'blur' } + ], + executeTime: [ + { required: true, message: '请输入执行时间', trigger: 'change' } + ], + activeDate: [ + { required: true, message: '请输入生效日期', trigger: 'change' } + ], + available: [ + { required: true, message: '请输入是否可用', trigger: 'blur' } + ], + departmentCode: [ + { required: true, message: '请输入部门', trigger: 'blur' } + ], + interfaceType: [ + { required: true, message: '请选择接口类型', trigger: 'change' } + ], + 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 DeliverRecordDetail = useCrudSchemas(reactive([ + { + label: '单据号', + field: 'number', + sort: 'custom', + table: { + width: 180 + }, + isTable: false + }, + // { + // label: '销售订单号', + // field: 'soNumber', + // sort: 'custom', + // table: { + // width: 150 + // }, + // }, + // { + // label: '销售订单行', + // field: 'soLine', + // 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 + }, + hiddenInMain: true + }, + { + label: '物料描述2', + field: 'itemDesc2', + sort: 'custom', + table: { + width: 150 + }, + hiddenInMain: true + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '包装号', + field: 'packingNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '父包装号', + field: 'parentPackingNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '包装规格', + field: 'packUnit', + isSearch: false, + isTable: false, + isForm:false, + isDetail:false, + 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, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '单价', + field: 'singlePrice', + sort: 'custom', + table: { + width: 150 + }, + hiddenInMain: true, + form: { + component: 'InputNumber', + } + }, + { + label: '金额', + field: 'amount', + sort: 'custom', + table: { + width: 150 + }, + hiddenInMain: true, + form: { + component: 'InputNumber', + } + }, + { + label: '在途库库位', + field: 'onTheWayLocationCode', + 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 + }, + hiddenInMain: true, + }, + { + label: '到库位组', + field: 'toLocationGroupCode', + sort: 'custom', + table: { + width: 150 + }, + hiddenInMain: true, + }, + { + label: '从库区', + field: 'fromAreaCode', + sort: 'custom', + table: { + width: 150 + }, + hiddenInMain: true, + }, + { + label: '到库区', + field: 'toAreaCode', + sort: 'custom', + table: { + width: 150 + }, + hiddenInMain: true, + }, + // { + // label: '从器具号', + // field: 'fromContainerNumber', + // sort: 'custom', + // table: { + // width: 150 + // }, + // isTable: false, + // }, + // { + // label: '到器具号', + // field: 'toContainerNumber', + // sort: 'custom', + // table: { + // width: 150 + // }, + // isTable: false, + // }, + { + label: '库存状态', + field: 'inventoryStatus', + dictType: DICT_TYPE.INVENTORY_STATUS, + dictClass: 'string', + isTable: false, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '从货主代码', + field: 'fromOwnerCode', + sort: 'custom', + table: { + width: 150 + }, + isTable: false, + }, + { + label: '到货主代码', + field: 'toOwnerCode', + sort: 'custom', + table: { + width: 150 + }, + isTable: false, + }, + { + label: '项目代码', + field: 'projectCode', + sort: 'custom', + table: { + width: 150 + }, + isTable: false, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + table: { + width: 150 + }, + isTable: false, + }, + { + label: '接口类型', + field: 'interfaceType', + dictType: DICT_TYPE.INTERFACE_TYPE, + dictClass: 'string', + isTable: false, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '创建时间', + field: 'createTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + isTable: true, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x' + } + }, + isSearch: true, + 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')] + }, + }, + }, + { + label: '创建者', + field: 'creator', + sort: 'custom', + table: { + width: 150 + }, + isTable: true, + }, + // { + // label: '任务明细ID', + // field: 'jobDetailId', + // sort: 'custom', + // table: { + // width: 150 + // }, + // }, + // { + // label: '代码', + // field: 'code', + // sort: 'custom', + // table: { + // width: 150 + // }, + // }, +])) + +//表单校验 +export const DeliverRecordDetailRules = reactive({ + // soNumber: [ + // { required: true, message: '请选择销售订单号', trigger: 'change' } + // ], + packingNumber: [ + { required: true, message: '请选择包装号', trigger: 'change' } + ], + batch: [ + { required: true, message: '请输入批次', trigger: 'blur' } + ], + inventoryStatus: [ + { required: true, message: '请选择库存状态', trigger: 'change' } + ], + fromLocationCode: [ + { required: true, message: '请选择从库位代码', trigger: 'change' } + ], + fromLocationGroupCode: [ + { required: true, message: '请选择从库位组代码', trigger: 'change' } + ], + fromAreaCode: [ + { required: true, message: '请选择从库区代码', trigger: 'change' } + ], + toLocationCode: [ + { required: true, message: '请选择到库位代码', trigger: 'change' } + ], + toLocationGroupCode: [ + { required: true, message: '请选择到库位组代码', trigger: 'change' } + ], + toAreaCode: [ + { 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' } + ], +}) diff --git a/src/views/wms/deliversettlementManage/inducedProduct/deliverRecordMain/index.vue b/src/views/wms/deliversettlementManage/inducedProduct/deliverRecordMain/index.vue new file mode 100644 index 000000000..f41a8a4d4 --- /dev/null +++ b/src/views/wms/deliversettlementManage/inducedProduct/deliverRecordMain/index.vue @@ -0,0 +1,253 @@ + + diff --git a/src/views/wms/deliversettlementManage/unfinishedShipmentDetail/index.vue b/src/views/wms/deliversettlementManage/unfinishedShipmentDetail/index.vue new file mode 100644 index 000000000..9da66a534 --- /dev/null +++ b/src/views/wms/deliversettlementManage/unfinishedShipmentDetail/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/wms/deliversettlementManage/unfinishedShipmentDetail/unfinishedShipmentDetail.data.ts b/src/views/wms/deliversettlementManage/unfinishedShipmentDetail/unfinishedShipmentDetail.data.ts new file mode 100644 index 000000000..04c67bb73 --- /dev/null +++ b/src/views/wms/deliversettlementManage/unfinishedShipmentDetail/unfinishedShipmentDetail.data.ts @@ -0,0 +1,182 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const UnfinishedShipmentDetailRules = reactive({ + materialCode: [required], + materialName: [required], + backNumber: [required], + materialDescription: [required], + shipmentQuantity: [required], + unitPrice: [required], + lockedQuantity: [required], + available: [required], + concurrencyStamp: [required] +}) + +export const UnfinishedShipmentDetail = useCrudSchemas(reactive([ + { + label: '自增主键', + field: 'id', + sort: 'custom', + isForm: false + }, + { + label: '父主键', + field: 'masterId', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + } + }, + { + label: '物料代码', + field: 'materialCode', + sort: 'custom', + isSearch: true + }, + { + label: '物料名称', + field: 'materialName', + sort: 'custom', + isSearch: true + }, + { + label: '背番', + field: 'backNumber', + sort: 'custom', + isSearch: true + }, + { + label: '物料描述', + field: 'materialDescription', + sort: 'custom', + isSearch: true, + form: { + component: 'Editor', + componentProps: { + valueHtml: '', + height: 200 + } + } + }, + { + label: '发货数量', + field: 'shipmentQuantity', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + } + }, + { + label: '销售单价', + field: 'unitPrice', + sort: 'custom', + isSearch: true + }, + { + label: '锁定数量', + field: 'lockedQuantity', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + } + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isSearch: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + } + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + 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: 'deletionTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + 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' + } + } + }, + { + label: '删除者ID', + field: 'deleterId', + sort: 'custom', + isSearch: true + }, + { + label: '扩展属性', + field: 'extraProperties', + sort: 'custom', + isSearch: true + }, + { + label: '并发乐观锁', + field: 'concurrencyStamp', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + } + }, + { + label: '地点id', + field: 'siteId', + sort: 'custom', + isSearch: true + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/wms/deliversettlementManage/unfinishedShipmentMain/index.vue b/src/views/wms/deliversettlementManage/unfinishedShipmentMain/index.vue new file mode 100644 index 000000000..93fd961db --- /dev/null +++ b/src/views/wms/deliversettlementManage/unfinishedShipmentMain/index.vue @@ -0,0 +1,252 @@ + + + diff --git a/src/views/wms/deliversettlementManage/unfinishedShipmentMain/unfinishedShipmentMain.data.ts b/src/views/wms/deliversettlementManage/unfinishedShipmentMain/unfinishedShipmentMain.data.ts new file mode 100644 index 000000000..b63fb0317 --- /dev/null +++ b/src/views/wms/deliversettlementManage/unfinishedShipmentMain/unfinishedShipmentMain.data.ts @@ -0,0 +1,75 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const UnfinishedShipmentMainRules = reactive({ + orderNumber: [required], + shipmentRecordNumber: [required], + shipmentType: [required], + customerOrderNumber: [required], + available: [required], + concurrencyStamp: [required] +}) + +export const UnfinishedShipmentMain = useCrudSchemas(reactive([ + + { + label: '单据号', + field: 'code', + sort: 'custom', + isSearch: true + }, + { + label: '发货记录单号', + field: 'shipmentRecordNumber', + sort: 'custom', + isSearch: true + }, + { + label: '发货类型', + field: 'shipmentType', + sort: 'custom', + isSearch: true, + form: { + component: 'SelectV2' + } + }, + { + label: '客户订单号', + field: 'customerOrderNumber', + sort: 'custom', + isSearch: true + }, + { + label: '创建人', + field: 'creator', + sort: 'custom', + isSearch: false, + isForm: false + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + 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: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +]))