From 511129542f1dee0823a529b8123a3a615b40af64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=96=AA=E5=90=8D?= <942005050@qq.com> Date: Wed, 27 Mar 2024 13:15:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=B6=E5=93=81=E5=9B=9E=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wms/productredressJobDetail/index.ts | 71 +++ src/api/wms/productredressJobMain/index.ts | 87 +++ .../wms/productredressRecordDetail/index.ts | 77 +++ src/api/wms/productredressRecordMain/index.ts | 70 +++ .../wms/productredressRequestDetail/index.ts | 73 +++ .../wms/productredressRequestMain/index.ts | 100 +++ src/components/SearchHigh/src/SearchHigh.vue | 8 +- .../productredressJobMain/index.vue | 244 +++++++ .../productredressJobMain.data.ts | 523 +++++++++++++++ .../productredressRecordMain/index.vue | 244 +++++++ .../productredressRecordMain.data.ts | 446 +++++++++++++ .../productredressRequestMain/index.vue | 501 +++++++++++++++ .../productredressRequestMain.data.ts | 595 ++++++++++++++++++ 13 files changed, 3038 insertions(+), 1 deletion(-) create mode 100644 src/api/wms/productredressJobDetail/index.ts create mode 100644 src/api/wms/productredressJobMain/index.ts create mode 100644 src/api/wms/productredressRecordDetail/index.ts create mode 100644 src/api/wms/productredressRecordMain/index.ts create mode 100644 src/api/wms/productredressRequestDetail/index.ts create mode 100644 src/api/wms/productredressRequestMain/index.ts create mode 100644 src/views/wms/productionManage/productredress/productredressJobMain/index.vue create mode 100644 src/views/wms/productionManage/productredress/productredressJobMain/productredressJobMain.data.ts create mode 100644 src/views/wms/productionManage/productredress/productredressRecordMain/index.vue create mode 100644 src/views/wms/productionManage/productredress/productredressRecordMain/productredressRecordMain.data.ts create mode 100644 src/views/wms/productionManage/productredress/productredressRequestMain/index.vue create mode 100644 src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts diff --git a/src/api/wms/productredressJobDetail/index.ts b/src/api/wms/productredressJobDetail/index.ts new file mode 100644 index 000000000..27dd360fe --- /dev/null +++ b/src/api/wms/productredressJobDetail/index.ts @@ -0,0 +1,71 @@ +import request from '@/config/axios' + +export interface ProductredressJobDetailVO { + id: number + productionLineCode: string + workStationCode: string + processCode: string + packingNumber: string + containerNumber: string + batch: string + produceDate: Date + expireDate: Date + inventoryStatus: string + toLocationCode: string + woNumber: string + woLine: string + packQty: number + packUnit: string + itemCode: string + itemName: string + itemDesc1: string + itemDesc2: string + projectCode: string + qty: number + uom: string + masterId: number + number: string + remark: string + toOwnerCode: string +} + +// 查询制品回收任务子列表 +export const getProductredressJobDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/productredress-job-detail/senior', data }) + } else { + return await request.get({ url: `/wms/productredress-job-detail/page`, params }) + } +} + +// 查询制品回收任务子详情 +export const getProductredressJobDetail = async (id: number) => { + return await request.get({ url: `/wms/productredress-job-detail/get?id=` + id }) +} + +// 新增制品回收任务子 +export const createProductredressJobDetail = async (data: ProductredressJobDetailVO) => { + return await request.post({ url: `/wms/productredress-job-detail/create`, data }) +} + +// 修改制品回收任务子 +export const updateProductredressJobDetail = async (data: ProductredressJobDetailVO) => { + return await request.put({ url: `/wms/productredress-job-detail/update`, data }) +} + +// 删除制品回收任务子 +export const deleteProductredressJobDetail = async (id: number) => { + return await request.delete({ url: `/wms/productredress-job-detail/delete?id=` + id }) +} + +// 导出制品回收任务子 Excel +export const exportProductredressJobDetail = async (params) => { + return await request.download({ url: `/wms/productredress-job-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/productredress-job-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/productredressJobMain/index.ts b/src/api/wms/productredressJobMain/index.ts new file mode 100644 index 000000000..40311c5c8 --- /dev/null +++ b/src/api/wms/productredressJobMain/index.ts @@ -0,0 +1,87 @@ +import request from '@/config/axios' + +export interface ProductredressJobMainVO { + id: number + requestNumber: string + productionPlanNumber: string + workShopCode: string + team: string + shift: string + details: string + requestTime: Date + requestDueTime: Date + status: string + expiredTime: Date + jobStageStatus: string + priority: number + priorityIncrement: number + departmentCode: string + userGroupCode: string + acceptUserId: string + acceptUserName: string + acceptTime: Date + completeUserId: string + completeUserName: string + completeTime: Date + toWarehouseCode: string + toAreaCodes: string + fromAreaTypes: string + toAreaTypes: string + number: string + type: string + businessType: string + remark: string + autoComplete: string + allowModifyLocation: string + allowModifyQty: string + allowBiggerQty: string + allowSmallerQty: string + allowModifyInventoryStatus: string + allowContinuousScanning: string + allowPartialComplete: string + allowModifyBatch: string + allowModifyPackingNumber: string + inInventoryStatuses: string + outInventoryStatuses: string +} + +// 查询制品回收任务主列表 +export const getProductredressJobMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/productredress-job-main/senior', data }) + } else { + return await request.get({ url: `/wms/productredress-job-main/page`, params }) + } +} + +// 查询制品回收任务主详情 +export const getProductredressJobMain = async (id: number) => { + return await request.get({ url: `/wms/productredress-job-main/get?id=` + id }) +} + +// 新增制品回收任务主 +export const createProductredressJobMain = async (data: ProductredressJobMainVO) => { + return await request.post({ url: `/wms/productredress-job-main/create`, data }) +} + +// 修改制品回收任务主 +export const updateProductredressJobMain = async (data: ProductredressJobMainVO) => { + return await request.put({ url: `/wms/productredress-job-main/update`, data }) +} + +// 删除制品回收任务主 +export const deleteProductredressJobMain = async (id: number) => { + return await request.delete({ url: `/wms/productredress-job-main/delete?id=` + id }) +} + +// 导出制品回收任务主 Excel +export const exportProductredressJobMain = async (params) => { + return await request.download({ url: `/wms/productredress-job-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/productredress-job-main/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/productredressRecordDetail/index.ts b/src/api/wms/productredressRecordDetail/index.ts new file mode 100644 index 000000000..860b7d8a3 --- /dev/null +++ b/src/api/wms/productredressRecordDetail/index.ts @@ -0,0 +1,77 @@ +import request from '@/config/axios' + +export interface ProductredressRecordDetailVO { + id: number + productionlineCode: string + workStationCode: string + processCode: string + packingNumber: string + containerNumber: string + batch: string + produceDate: Date + expireDate: Date + inventoryStatus: string + toLocationCode: string + toLocationGroupCode: string + toAreaCode: string + toOwnerCode: string + woNumber: string + woLine: string + packQty: number + packUnit: string + bomVersion: string + backFlushDetails: string + masterId: number + number: string + itemCode: string + remark: string + siteId: string + itemName: string + itemDesc1: string + itemDesc2: string + projectCode: string + qty: number + uom: string + interfaceType: string +} + +// 查询制品回收记录子列表 +export const getProductredressRecordDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/productredress-record-detail/senior', data }) + } else { + return await request.get({ url: `/wms/productredress-record-detail/page`, params }) + } +} + +// 查询制品回收记录子详情 +export const getProductredressRecordDetail = async (id: number) => { + return await request.get({ url: `/wms/productredress-record-detail/get?id=` + id }) +} + +// 新增制品回收记录子 +export const createProductredressRecordDetail = async (data: ProductredressRecordDetailVO) => { + return await request.post({ url: `/wms/productredress-record-detail/create`, data }) +} + +// 修改制品回收记录子 +export const updateProductredressRecordDetail = async (data: ProductredressRecordDetailVO) => { + return await request.put({ url: `/wms/productredress-record-detail/update`, data }) +} + +// 删除制品回收记录子 +export const deleteProductredressRecordDetail = async (id: number) => { + return await request.delete({ url: `/wms/productredress-record-detail/delete?id=` + id }) +} + +// 导出制品回收记录子 Excel +export const exportProductredressRecordDetail = async (params) => { + return await request.download({ url: `/wms/productredress-record-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/productredress-record-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/productredressRecordMain/index.ts b/src/api/wms/productredressRecordMain/index.ts new file mode 100644 index 000000000..e935de9c9 --- /dev/null +++ b/src/api/wms/productredressRecordMain/index.ts @@ -0,0 +1,70 @@ +import request from '@/config/axios' + +export interface ProductredressRecordMainVO { + id: number + requestNumber: string + jobNumber: string + productionPlanNumber: string + workshopCode: string + team: string + shift: string + details: string + outTransactionType: string + inTransactionType: string + executeTime: Date + activeDate: Date + available: string + requestTime: Date + dueTime: Date + departmentCode: string + interfaceType: string + number: string + type: string + businessType: string + remark: string + code: string + toWarehouseCode: string + toAreaTypes: string + toAreaCodes: string +} + +// 查询制品回收记录主列表 +export const getProductredressRecordMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/productredress-record-main/senior', data }) + } else { + return await request.get({ url: `/wms/productredress-record-main/page`, params }) + } +} + +// 查询制品回收记录主详情 +export const getProductredressRecordMain = async (id: number) => { + return await request.get({ url: `/wms/productredress-record-main/get?id=` + id }) +} + +// 新增制品回收记录主 +export const createProductredressRecordMain = async (data: ProductredressRecordMainVO) => { + return await request.post({ url: `/wms/productredress-record-main/create`, data }) +} + +// 修改制品回收记录主 +export const updateProductredressRecordMain = async (data: ProductredressRecordMainVO) => { + return await request.put({ url: `/wms/productredress-record-main/update`, data }) +} + +// 删除制品回收记录主 +export const deleteProductredressRecordMain = async (id: number) => { + return await request.delete({ url: `/wms/productredress-record-main/delete?id=` + id }) +} + +// 导出制品回收记录主 Excel +export const exportProductredressRecordMain = async (params) => { + return await request.download({ url: `/wms/productredress-record-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/productredress-record-main/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/productredressRequestDetail/index.ts b/src/api/wms/productredressRequestDetail/index.ts new file mode 100644 index 000000000..150891c58 --- /dev/null +++ b/src/api/wms/productredressRequestDetail/index.ts @@ -0,0 +1,73 @@ +import request from '@/config/axios' + +export interface ProductredressRequestDetailVO { + id: number + productionLineCode: string + workStationCode: string + toLocationCode: string + processCode: string + packingNumber: string + containerNumber: string + batch: string + produceDate: Date + expireDate: Date + inventoryStatus: string + woNumber: string + woLine: string + packQty: number + packUnit: string + bomVersion: string + backFlushDetails: string + masterId: number + number: string + itemCode: string + remark: string + itemName: string + itemDesc1: string + itemDesc2: string + projectCode: string + qty: number + uom: string + toOwnerCode: string +} + +// 查询制品回收申请子列表 +export const getProductredressRequestDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/productredress-request-detail/senior', data }) + } else { + return await request.get({ url: `/wms/productredress-request-detail/page`, params }) + } +} + +// 查询制品回收申请子详情 +export const getProductredressRequestDetail = async (id: number) => { + return await request.get({ url: `/wms/productredress-request-detail/get?id=` + id }) +} + +// 新增制品回收申请子 +export const createProductredressRequestDetail = async (data: ProductredressRequestDetailVO) => { + return await request.post({ url: `/wms/productredress-request-detail/create`, data }) +} + +// 修改制品回收申请子 +export const updateProductredressRequestDetail = async (data: ProductredressRequestDetailVO) => { + return await request.put({ url: `/wms/productredress-request-detail/update`, data }) +} + +// 删除制品回收申请子 +export const deleteProductredressRequestDetail = async (id: number) => { + return await request.delete({ url: `/wms/productredress-request-detail/delete?id=` + id }) +} + +// 导出制品回收申请子 Excel +export const exportProductredressRequestDetail = async (params) => { + return await request.download({ url: `/wms/productredress-request-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/productredress-request-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/productredressRequestMain/index.ts b/src/api/wms/productredressRequestMain/index.ts new file mode 100644 index 000000000..933a72def --- /dev/null +++ b/src/api/wms/productredressRequestMain/index.ts @@ -0,0 +1,100 @@ +import request from '@/config/axios' + +export interface ProductredressRequestMainVO { + id: number + productionPlanNumber: string + workshopCode: string + team: string + shift: string + toWarehouseCode: string + toAreaTypes: string + toAreaCodes: string + number: string + type: string + businessType: string + remark: string + extraProperties: string + siteId: string + requestTime: Date + dueTime: Date + departmentCode: string + status: string + autoCommit: string + autoAgree: string + autoExecute: string + directCreateRecord: string + inInventoryStatuses: string + outInventoryStatuses: string +} + +// 查询制品回收申请主列表 +export const getProductredressRequestMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/productredress-request-main/senior', data }) + } else { + return await request.get({ url: `/wms/productredress-request-main/page`, params }) + } +} + +// 查询制品回收申请主详情 +export const getProductredressRequestMain = async (id: number) => { + return await request.get({ url: `/wms/productredress-request-main/get?id=` + id }) +} + +// 新增制品回收申请主 +export const createProductredressRequestMain = async (data: ProductredressRequestMainVO) => { + return await request.post({ url: `/wms/productredress-request-main/create`, data }) +} + +// 修改制品回收申请主 +export const updateProductredressRequestMain = async (data: ProductredressRequestMainVO) => { + return await request.put({ url: `/wms/productredress-request-main/update`, data }) +} + +// 删除制品回收申请主 +export const deleteProductredressRequestMain = async (id: number) => { + return await request.delete({ url: `/wms/productredress-request-main/delete?id=` + id }) +} + +// 导出制品回收申请主 Excel +export const exportProductredressRequestMain = async (params) => { + return await request.download({ url: `/wms/productredress-request-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/productredress-request-main/get-import-template' }) +} + + +// 关闭 +export const close = (id) => { + return request.put({ url: '/wms/productredress-request-main/close?id=' + id }) +} + +// 重新添加 +export const reAdd = (id) => { + return request.put({ url: '/wms/productredress-request-main/reAdd?id=' + id }) +} + +// 提交审批 +export const submit = (id) => { + return request.put({ url: '/wms/productredress-request-main/submit?id=' + id }) +} + +// 驳回 +export const refused = (id) => { + return request.put({ url: '/wms/productredress-request-main/refused?id=' + id }) +} + +// 审批通过 +export const agree = (id) => { + return request.put({ url: '/wms/productredress-request-main/agree?id=' + id }) +} + +// 处理 +export const handle = (id) => { + return request.put({ url: '/wms/productredress-request-main/handle?id=' + id }) +} \ No newline at end of file diff --git a/src/components/SearchHigh/src/SearchHigh.vue b/src/components/SearchHigh/src/SearchHigh.vue index be0dba4a3..0c3ab7a0c 100644 --- a/src/components/SearchHigh/src/SearchHigh.vue +++ b/src/components/SearchHigh/src/SearchHigh.vue @@ -126,6 +126,12 @@ const moreListOptions = ref({ }, { value: 'isNotNull', label: '不是空' + }, { + value: 'isStr', + label: '是空字符串' + }, { + value: 'isNotStr', + label: '不是空字符串' } ] }) @@ -205,7 +211,7 @@ const resetSelect = (val) => { } // 范围改变 const actionSelect = (val)=>{ - if(val.action=='isNull'|| val.action == 'isNotNull'){ + if(val.action=='isNull'|| val.action == 'isNotNull'|| val.action == 'isStr'|| val.action == 'isNotStr'){ val.disabled = true }else{ val.disabled = false diff --git a/src/views/wms/productionManage/productredress/productredressJobMain/index.vue b/src/views/wms/productionManage/productredress/productredressJobMain/index.vue new file mode 100644 index 000000000..0f5b83f11 --- /dev/null +++ b/src/views/wms/productionManage/productredress/productredressJobMain/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/wms/productionManage/productredress/productredressJobMain/productredressJobMain.data.ts b/src/views/wms/productionManage/productredress/productredressJobMain/productredressJobMain.data.ts new file mode 100644 index 000000000..1bd45da80 --- /dev/null +++ b/src/views/wms/productionManage/productredress/productredressJobMain/productredressJobMain.data.ts @@ -0,0 +1,523 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const ProductredressJobMainRules = reactive({ +}) + +export const ProductredressJobMain = useCrudSchemas(reactive([ + { + label: 'id', + field: 'id', + sort: 'custom', + isForm: false, + }, + { + label: '申请单号', + field: 'requestNumber', + sort: 'custom', + isSearch: true, + }, + { + label: '生产计划单号', + field: 'productionPlanNumber', + sort: 'custom', + isSearch: true, + }, + { + label: '车间代码', + field: 'workShopCode', + sort: 'custom', + }, + { + label: '班组', + field: 'team', + sort: 'custom', + }, + { + label: '班次', + field: 'shift', + sort: 'custom', + }, + { + label: '明细', + field: 'details', + sort: 'custom', + }, + { + label: '申请时间', + field: 'requestTime', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '要求截止时间', + field: 'requestDueTime', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '状态', + field: 'status', + sort: 'custom', + form: { + component: 'Radio' + }, + }, + { + label: '过期时间', + field: 'expiredTime', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '最后更新时间', + field: 'updateTime', + sort: 'custom', + formatter: dateFormatter, + isForm: false, + }, + { + label: '最后更新者Id', + field: 'updater', + sort: 'custom', + isForm: false, + }, + { + label: '并发乐观锁', + field: 'concurrencyStamp', + sort: 'custom', + isForm: false, + }, + { + label: '状态', + field: 'jobStageStatus', + sort: 'custom', + form: { + component: 'Radio' + }, + }, + { + label: '优先级', + field: 'priority', + sort: 'custom', + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '优先级增量', + field: 'priorityIncrement', + sort: 'custom', + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '部门', + field: 'departmentCode', + sort: 'custom', + }, + { + label: '用户组', + field: 'userGroupCode', + sort: 'custom', + }, + { + label: '承接人用户ID', + field: 'acceptUserId', + sort: 'custom', + }, + { + label: '承接人用户名', + field: 'acceptUserName', + sort: 'custom', + }, + { + label: '承接时间', + field: 'acceptTime', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '完成人用户ID', + field: 'completeUserId', + sort: 'custom', + }, + { + label: '完成人用户名', + field: 'completeUserName', + sort: 'custom', + }, + { + label: '完成时间', + field: 'completeTime', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '到仓库代码', + field: 'toWarehouseCode', + sort: 'custom', + }, + { + label: '到库区代码范围', + field: 'toAreaCodes', + sort: 'custom', + }, + { + label: '从库区类型范围', + field: 'fromAreaTypes', + sort: 'custom', + }, + { + label: '到库区类型范围', + field: 'toAreaTypes', + sort: 'custom', + }, + { + label: '单据号', + field: 'number', + sort: 'custom', + }, + { + label: '收货类型', + field: 'type', + sort: 'custom', + form: { + component: 'SelectV2' + }, + }, + { + label: '业务类型', + field: 'businessType', + sort: 'custom', + form: { + component: 'SelectV2' + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isForm: false, + }, + { + label: '创建者id', + field: 'creator', + sort: 'custom', + isForm: false, + }, + { + label: '自动完成', + field: 'autoComplete', + sort: 'custom', + }, + { + label: '允许修改库位', + field: 'allowModifyLocation', + sort: 'custom', + }, + { + label: '允许修改数量', + field: 'allowModifyQty', + sort: 'custom', + }, + { + label: '允许大于推荐数量', + field: 'allowBiggerQty', + sort: 'custom', + }, + { + label: '允许小于推荐数量', + field: 'allowSmallerQty', + sort: 'custom', + }, + { + label: '允许修改库存状态', + field: 'allowModifyInventoryStatus', + sort: 'custom', + form: { + component: 'Radio' + }, + }, + { + label: '允许连续扫描', + field: 'allowContinuousScanning', + sort: 'custom', + }, + { + label: '允许部分完成', + field: 'allowPartialComplete', + sort: 'custom', + }, + { + label: '允许修改批次', + field: 'allowModifyBatch', + sort: 'custom', + }, + { + label: '允许修改箱码', + field: 'allowModifyPackingNumber', + sort: 'custom', + }, + { + label: '入库库存状态范围', + field: 'inInventoryStatuses', + sort: 'custom', + }, + { + label: '出库库存状态范围', + field: 'outInventoryStatuses', + sort: 'custom', + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) + +// 表单校验 +export const ProductredressJobDetailRules = reactive({ +}) + +export const ProductredressJobDetail = useCrudSchemas(reactive([ + { + label: 'id', + field: 'id', + sort: 'custom', + isForm: false, + }, + { + label: '生产线代码', + field: 'productionLineCode', + sort: 'custom', + isSearch: true, + }, + { + label: '工位代码', + field: 'workStationCode', + sort: 'custom', + }, + { + label: '工序代码', + field: 'processCode', + sort: 'custom', + }, + { + label: '包装号', + field: 'packingNumber', + sort: 'custom', + }, + { + label: '器具号', + field: 'containerNumber', + sort: 'custom', + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + }, + { + label: '生产日期', + field: 'produceDate', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '过期日期', + field: 'expireDate', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '库存状态', + field: 'inventoryStatus', + sort: 'custom', + form: { + component: 'Radio' + }, + }, + { + label: '到库位代码', + field: 'toLocationCode', + sort: 'custom', + }, + { + label: '订单号', + field: 'woNumber', + sort: 'custom', + }, + { + label: '订单行', + field: 'woLine', + sort: 'custom', + }, + { + label: '包装数量', + field: 'packQty', + sort: 'custom', + }, + { + label: '包装规格', + field: 'packUnit', + sort: 'custom', + }, + { + label: '物品代码', + field: 'itemCode', + sort: 'custom', + }, + { + label: '物品名称', + field: 'itemName', + sort: 'custom', + }, + { + label: '物品描述1', + field: 'itemDesc1', + sort: 'custom', + }, + { + label: '物品描述2', + field: 'itemDesc2', + sort: 'custom', + }, + { + label: '项目代码', + field: 'projectCode', + sort: 'custom', + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + }, + { + label: '计量单位', + field: 'uom', + sort: 'custom', + }, + { + label: '主表ID', + field: 'masterId', + sort: 'custom', + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '单据号', + field: 'number', + sort: 'custom', + }, + { + 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: 'toOwnerCode', + sort: 'custom', + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/wms/productionManage/productredress/productredressRecordMain/index.vue b/src/views/wms/productionManage/productredress/productredressRecordMain/index.vue new file mode 100644 index 000000000..753878fa1 --- /dev/null +++ b/src/views/wms/productionManage/productredress/productredressRecordMain/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/wms/productionManage/productredress/productredressRecordMain/productredressRecordMain.data.ts b/src/views/wms/productionManage/productredress/productredressRecordMain/productredressRecordMain.data.ts new file mode 100644 index 000000000..47e4fad1c --- /dev/null +++ b/src/views/wms/productionManage/productredress/productredressRecordMain/productredressRecordMain.data.ts @@ -0,0 +1,446 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const ProductredressRecordMainRules = reactive({ +}) + +export const ProductredressRecordMain = useCrudSchemas(reactive([ + { + label: '申请单号', + field: 'requestNumber', + sort: 'custom', + isSearch: true, + }, + { + label: '任务单号', + field: 'jobNumber', + sort: 'custom', + }, + { + label: '生产计划单号', + field: 'productionPlanNumber', + sort: 'custom', + }, + { + label: '车间代码', + field: 'workshopCode', + sort: 'custom', + }, + { + label: '班组', + field: 'team', + sort: 'custom', + }, + { + label: '班次', + field: 'shift', + sort: 'custom', + }, + { + label: '明细', + field: 'details', + sort: 'custom', + }, + { + label: '出库事务类型', + field: 'outTransactionType', + sort: 'custom', + form: { + component: 'SelectV2' + }, + }, + { + label: '入库事务类型', + field: 'inTransactionType', + sort: 'custom', + form: { + component: 'SelectV2' + }, + }, + { + label: '执行时间', + field: 'executeTime', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '生效日期', + field: 'activeDate', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + }, + { + label: '申请时间', + field: 'requestTime', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '截止时间', + field: 'dueTime', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '部门', + field: 'departmentCode', + sort: 'custom', + }, + { + label: '接口类型', + field: 'interfaceType', + sort: 'custom', + form: { + component: 'SelectV2' + }, + }, + { + label: '单据号', + field: 'number', + sort: 'custom', + }, + { + label: '收货类型', + field: 'type', + sort: 'custom', + form: { + component: 'SelectV2' + }, + }, + { + label: '业务类型', + field: 'businessType', + sort: 'custom', + form: { + component: 'SelectV2' + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isForm: false, + }, + { + label: '创建者Id', + field: 'creator', + sort: 'custom', + isForm: false, + }, + { + label: '代码', + field: 'code', + sort: 'custom', + }, + { + label: '到仓库代码', + field: 'toWarehouseCode', + sort: 'custom', + }, + { + label: '到库区类型范围', + field: 'toAreaTypes', + sort: 'custom', + }, + { + label: '到库区代码范围', + field: 'toAreaCodes', + sort: 'custom', + }, + { + label: '最后更新时间', + field: 'updateTime', + sort: 'custom', + formatter: dateFormatter, + isForm: false, + }, + { + label: '最后更新者用户名', + field: 'updater', + sort: 'custom', + isForm: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) + + +// 表单校验 +export const ProductredressRecordDetailRules = reactive({ + productionlineCode: [required], + masterId: [required], +}) + +export const ProductredressRecordDetail = useCrudSchemas(reactive([ + { + label: 'id', + field: 'id', + sort: 'custom', + isForm: false, + }, + { + label: '生产线代码', + field: 'productionlineCode', + sort: 'custom', + isSearch: true, + }, + { + label: '工位代码', + field: 'workStationCode', + sort: 'custom', + }, + { + label: '工序代码', + field: 'processCode', + sort: 'custom', + }, + { + label: '包装号', + field: 'packingNumber', + sort: 'custom', + }, + { + label: '器具号', + field: 'containerNumber', + sort: 'custom', + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + isSearch: true, + }, + { + label: '生产日期', + field: 'produceDate', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '过期日期', + field: 'expireDate', + sort: 'custom', + formatter: dateFormatter, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '库存状态', + field: 'inventoryStatus', + sort: 'custom', + form: { + component: 'Radio' + }, + }, + { + label: '到库位代码', + field: 'toLocationCode', + sort: 'custom', + }, + { + label: '到库位组代码', + field: 'toLocationGroupCode', + sort: 'custom', + }, + { + label: '到库区代码', + field: 'toAreaCode', + sort: 'custom', + }, + { + label: '到货主代码', + field: 'toOwnerCode', + sort: 'custom', + }, + { + label: '订单号', + field: 'woNumber', + sort: 'custom', + }, + { + label: '订单行', + field: 'woLine', + sort: 'custom', + }, + { + label: '包装数量', + field: 'packQty', + sort: 'custom', + }, + { + label: '包装规格', + field: 'packUnit', + sort: 'custom', + }, + { + label: 'BOM版本', + field: 'bomVersion', + sort: 'custom', + }, + { + label: '明细', + field: 'backFlushDetails', + sort: 'custom', + }, + { + label: '主表ID', + field: 'masterId', + sort: 'custom', + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '单据号', + field: 'number', + sort: 'custom', + }, + { + label: '物品代码', + field: 'itemCode', + sort: 'custom', + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isForm: false, + }, + { + label: '创建者Id', + field: 'creator', + sort: 'custom', + isForm: false, + }, + { + label: '地点ID', + field: 'siteId', + sort: 'custom', + }, + { + label: '物品名称', + field: 'itemName', + sort: 'custom', + }, + { + label: '物品描述1', + field: 'itemDesc1', + sort: 'custom', + }, + { + label: '物品描述2', + field: 'itemDesc2', + sort: 'custom', + }, + { + label: '项目代码', + field: 'projectCode', + sort: 'custom', + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + }, + { + label: '计量单位', + field: 'uom', + sort: 'custom', + }, + { + label: '接口类型', + field: 'interfaceType', + sort: 'custom', + form: { + component: 'SelectV2' + }, + }, + { + label: '最后更新时间', + field: 'updateTime', + sort: 'custom', + formatter: dateFormatter, + isForm: false, + }, + { + label: '最后更新者用户名', + field: 'updater', + sort: 'custom', + isForm: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/wms/productionManage/productredress/productredressRequestMain/index.vue b/src/views/wms/productionManage/productredress/productredressRequestMain/index.vue new file mode 100644 index 000000000..f00d7de53 --- /dev/null +++ b/src/views/wms/productionManage/productredress/productredressRequestMain/index.vue @@ -0,0 +1,501 @@ + + diff --git a/src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts b/src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts new file mode 100644 index 000000000..c49fca4f8 --- /dev/null +++ b/src/views/wms/productionManage/productredress/productredressRequestMain/productredressRequestMain.data.ts @@ -0,0 +1,595 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +import * as BalanceApi from '@/api/wms/balance' +import { Balance } from '@/views/wms/inventoryManage/balance/balance.data' + +// 表单校验 +export const ProductredressRequestMainRules = reactive({ + autoCommit: [required], + autoAgree: [required], + autoExecute: [required], + directCreateRecord: [required], +}) + +export const ProductredressRequestMain = useCrudSchemas(reactive([ + { + label: '单据号', + field: 'number', + sort: 'custom', + table: { + width: 180, + fixed: 'left' + }, + isForm: false, + isSearch: true, + }, + // { + // label: '生产计划单号', + // field: 'productionPlanNumber', + // sort: 'custom', + // }, + { + label: '状态', + field: 'status', + dictType: DICT_TYPE.REQUEST_STATUS, + dictClass: 'string', + isSearch: true, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + form: { + value: '1', + componentProps: { + disabled: true + } + } + }, + // { + // label: '车间代码', + // field: 'workshopCode', + // sort: 'custom', + // isSearch: true, + // }, + // { + // label: '班组', + // field: 'team', + // sort: 'custom', + // }, + // { + // label: '班次', + // field: 'shift', + // sort: 'custom', + // }, + { + label: '申请时间', + field: 'requestTime', + sort: 'custom', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width: '100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + isForm: false + }, + { + label: '截止时间', + field: 'dueTime', + sort: 'custom', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width: '100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + isForm: false + }, + { + label: '到仓库代码', + field: 'toWarehouseCode', + sort: 'custom', + isForm:false, + }, + { + label: '部门', + field: 'departmentCode', + sort: 'custom', + isForm:false, + }, + { + label: '自动提交', + field: 'autoCommit', + sort: 'custom', + isForm:false, + }, + { + label: '自动通过', + field: 'autoAgree', + sort: 'custom', + isForm:false, + }, + { + label: '自动执行', + field: 'autoExecute', + sort: 'custom', + isForm:false, + }, + { + label: '直接生成记录', + field: 'directCreateRecord', + sort: 'custom', + isForm:false, + }, + { + label: '业务类型', + field: 'businessType', + sort: 'custom', + isForm:false, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + }, + { + label: '到库区类型范围', + field: 'toAreaTypes', + sort: 'custom', + isForm:false, + }, + { + label: '到库区代码范围', + field: 'toAreaCodes', + sort: 'custom', + isForm:false, + }, + { + label: '入库库存状态范围', + field: 'inInventoryStatuses', + sort: 'custom', + isForm:false, + }, + { + label: '出库库存状态范围', + field: 'outInventoryStatuses', + sort: 'custom', + isForm:false, + }, + { + label: '创建者用户名', + field: 'creator', + sort: 'custom', + isForm: false, + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width: '100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + isForm: false + }, + { + label: '最后更新者用户名', + field: 'updater', + sort: 'custom', + isForm: false, + }, + { + label: '最后更新时间', + field: 'updateTime', + sort: 'custom', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width: '100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + isForm: false + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) + +// 表单校验 +export const ProductredressRequestDetailRules = reactive({ +}) + +export const ProductredressRequestDetail = useCrudSchemas(reactive([ + // { + // label: '生产线代码', + // field: 'productionLineCode', + // sort: 'custom', + // isSearch: true, + // }, + // { + // label: '工位代码', + // field: 'workStationCode', + // sort: 'custom', + // }, + // { + // label: '目标库位', + // field: 'toLocationCode', + // sort: 'custom', + // }, + // { + // label: '工序代码', + // field: 'processCode', + // sort: 'custom', + // }, + + // { + // label: '器具号', + // field: 'containerNumber', + // sort: 'custom', + // }, + + // { + // label: '生产日期', + // field: 'produceDate', + // sort: 'custom', + // formatter: dateFormatter, + // detail: { + // dateFormat: 'YYYY-MM-DD HH:mm:ss' + // }, + // table: { + // width: 180 + // }, + // form: { + // component: 'DatePicker', + // componentProps: { + // style: {width: '100%'}, + // type: 'datetime', + // dateFormat: 'YYYY-MM-DD HH:mm:ss', + // valueFormat: 'x', + // } + // }, + // isForm: false + // }, + // { + // label: '过期日期', + // field: 'expireDate', + // formatter: dateFormatter, + // detail: { + // dateFormat: 'YYYY-MM-DD HH:mm:ss' + // }, + // sort: 'custom', + // table: { + // width: 180 + // }, + // form: { + // component: 'DatePicker', + // componentProps: { + // style: {width: '100%'}, + // type: 'datetime', + // dateFormat: 'YYYY-MM-DD HH:mm:ss', + // valueFormat: 'x', + // } + // }, + // isForm: false + // }, + + // { + // label: '订单号', + // field: 'woNumber', + // sort: 'custom', + // }, + // { + // label: '订单行', + // field: 'woLine', + // sort: 'custom', + // }, + + // { + // label: 'BOM版本', + // field: 'bomVersion', + // sort: 'custom', + // }, + { + label: '单据号', + field: 'number', + sort: 'custom', + isForm: false, + isTableForm: false, + }, + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + table: { + width: 150 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchField: 'itemCode', // 查询弹窗赋值字段 + searchTitle: '库存余额信息', // 查询弹窗标题 + searchAllSchemas: Balance.allSchemas, // 查询弹窗所需类 + searchPage: BalanceApi.getBalancePage, // 查询弹窗所需分页方法 + searchCondition:[ + { + key: 'inventoryStatus', + value: 'OK', + isMainValue: false + },{ + key: 'packingNumber', // 查询列表中字段 + value: '', // 指查询具体值 + action: '!=', // 查询拼接条件 + isSearch: true, // 使用自定义拼接条件 + isMainValue: false // 拼接条件必须要 false 同时不能与 isMainValue: true 同用 + }] + } + }, + tableForm:{ + isInpuFocusShow: true, + searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchField: 'itemCode', // 查询弹窗赋值字段 + searchTitle: '库存余额信息', // 查询弹窗标题 + searchAllSchemas: Balance.allSchemas, // 查询弹窗所需类 + searchPage: BalanceApi.getBalancePage, // 查询弹窗所需分页方法 + searchCondition:[ + { + key: 'inventoryStatus', + value: 'OK', + isMainValue: false + },{ + key: 'packingNumber', // 查询列表中字段 + value: '', // 指查询具体值 + action: '!=', // 查询拼接条件 + isSearch: true, // 使用自定义拼接条件 + isMainValue: false // 拼接条件必须要 false 同时不能与 isMainValue: true 同用 + }] + }, + }, + { + label: '物品名称', + field: 'itemName', + sort: 'custom', + isForm: false, + isTableForm: false, + }, + { + label: '物品描述1', + field: 'itemDesc1', + sort: 'custom', + isForm: false, + isTableForm: false, + }, + { + label: '物品描述2', + field: 'itemDesc2', + sort: 'custom', + isForm: false, + isTableForm: false, + }, + { + label: '项目代码', + field: 'projectCode', + sort: 'custom', + isForm: false, + isTableForm: false, + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + tableForm: { + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '计量单位', + field: 'uom', + sort: 'custom', + tableForm: { + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '包装号', + field: 'packingNumber', + sort: 'custom', + tableForm: { + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + isSearch: true, + tableForm: { + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '包装数量', + field: 'packQty', + sort: 'custom', + tableForm: { + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '包装规格', + field: 'packUnit', + sort: 'custom', + tableForm: { + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '库存状态', + field: 'inventoryStatus', + sort: 'custom', + tableForm: { + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + }, + { + label: '创建者用户名', + field: 'creator', + sort: 'custom', + isTableForm: false, + isForm: false, + }, + { + label: '创建时间', + field: 'createTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width: '100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + isTableForm: false, + isForm: false + }, + { + label: '最后更新者用户名', + field: 'updater', + sort: 'custom', + isForm: false, + isTableForm: false, + }, + { + label: '最后更新时间', + field: 'updateTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width: '100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + isTableForm: false, + isForm: false + }, + { + label: '操作', + field: 'action', + isForm: false, + isTableForm: false, + table: { + width: 150, + fixed: 'right' + } + } +]))