From e27b2b4db94b3384e9fed6b3d65d333fde13e493 Mon Sep 17 00:00:00 2001 From: chenfang Date: Mon, 20 May 2024 11:51:37 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E9=99=8D=E7=BA=A7api?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wms/relegateRecordDetail/index.ts | 74 ++++++ src/api/wms/relegateRecordMain/index.ts | 61 +++++ src/api/wms/relegateRequestMain/index.ts | 30 +++ .../relegate/relegateRecord/index.vue | 244 ++++++++++++++++++ .../relegateRecord/relegateRecordMain.data.ts | 204 +++++++++++++++ .../relegate/relegateRequest/index.vue | 6 + .../containerMainRequest/index.vue | 2 +- 7 files changed, 620 insertions(+), 1 deletion(-) create mode 100644 src/api/wms/relegateRecordDetail/index.ts create mode 100644 src/api/wms/relegateRecordMain/index.ts create mode 100644 src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/index.vue create mode 100644 src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/relegateRecordMain.data.ts diff --git a/src/api/wms/relegateRecordDetail/index.ts b/src/api/wms/relegateRecordDetail/index.ts new file mode 100644 index 000000000..3127b99cf --- /dev/null +++ b/src/api/wms/relegateRecordDetail/index.ts @@ -0,0 +1,74 @@ +import request from '@/config/axios' + +export interface RelegateRecordDetailVO { + id: number + masterId: number + itemCode: string + downItemCode: string + businessType: string + uom: string + qty: number + inventoryStatus: string + fromBatch: string + fromPackingNumber: string + fromLocationCode: string + fromAreaTypes: string + fromAreaCodes: string + toPackingNumber: string + toBatch: string + toLocationCode: string + toWarehouseCode: string + toAreaTypes: string + toAreaCodes: string + number: string + available: string + remark: string + departmentCode: string + siteId: number + extraProperties: string + status: string + concurrencyStamp: number + serialNumber: string + ruleUserId: number +} + +// 查询物料降级记录子列表 +export const getRelegateRecordDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/relegate-record-detail/senior', data }) + } else { + return await request.get({ url: `/wms/relegate-record-detail/page`, params }) + } +} + +// 查询物料降级记录子详情 +export const getRelegateRecordDetail = async (id: number) => { + return await request.get({ url: `/wms/relegate-record-detail/get?id=` + id }) +} + +// 新增物料降级记录子 +export const createRelegateRecordDetail = async (data: RelegateRecordDetailVO) => { + return await request.post({ url: `/wms/relegate-record-detail/create`, data }) +} + +// 修改物料降级记录子 +export const updateRelegateRecordDetail = async (data: RelegateRecordDetailVO) => { + return await request.put({ url: `/wms/relegate-record-detail/update`, data }) +} + +// 删除物料降级记录子 +export const deleteRelegateRecordDetail = async (id: number) => { + return await request.delete({ url: `/wms/relegate-record-detail/delete?id=` + id }) +} + +// 导出物料降级记录子 Excel +export const exportRelegateRecordDetail = async (params) => { + return await request.download({ url: `/wms/relegate-record-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/relegate-record-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/relegateRecordMain/index.ts b/src/api/wms/relegateRecordMain/index.ts new file mode 100644 index 000000000..78d63d873 --- /dev/null +++ b/src/api/wms/relegateRecordMain/index.ts @@ -0,0 +1,61 @@ +import request from '@/config/axios' + +export interface RelegateRecordMainVO { + id: number + requestNumber: string + executeTime: Date + activeDate: Date + available: string + requestTime: Date + dueTime: Date + departmentCode: string + userGroupCode: string + interfaceType: string + code: string + number: string + businessType: string + remark: string + extraProperties: string + siteId: string +} + +// 查询物料降级记录主列表 +export const getRelegateRecordMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/relegate-record-main/senior', data }) + } else { + return await request.get({ url: `/wms/relegate-record-main/page`, params }) + } +} + +// 查询物料降级记录主详情 +export const getRelegateRecordMain = async (id: number) => { + return await request.get({ url: `/wms/relegate-record-main/get?id=` + id }) +} + +// 新增物料降级记录主 +export const createRelegateRecordMain = async (data: RelegateRecordMainVO) => { + return await request.post({ url: `/wms/relegate-record-main/create`, data }) +} + +// 修改物料降级记录主 +export const updateRelegateRecordMain = async (data: RelegateRecordMainVO) => { + return await request.put({ url: `/wms/relegate-record-main/update`, data }) +} + +// 删除物料降级记录主 +export const deleteRelegateRecordMain = async (id: number) => { + return await request.delete({ url: `/wms/relegate-record-main/delete?id=` + id }) +} + +// 导出物料降级记录主 Excel +export const exportRelegateRecordMain = async (params) => { + return await request.download({ url: `/wms/relegate-record-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/relegate-record-main/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/relegateRequestMain/index.ts b/src/api/wms/relegateRequestMain/index.ts index 1b3ca3018..03e02454a 100644 --- a/src/api/wms/relegateRequestMain/index.ts +++ b/src/api/wms/relegateRequestMain/index.ts @@ -65,4 +65,34 @@ export const exportRelegateRequestMain = async (params) => { // 下载用户导入模板 export const importTemplate = () => { return request.download({ url: '/wms/relegate-request-main/get-import-template' }) +} + +// 关闭 +export const close = (id) => { + return request.put({ url: '/wms/relegate-request-main/close?id=' + id }) +} + +// 重新添加 +export const reAdd = (id) => { + return request.put({ url: '/wms/relegate-request-main/reAdd?id=' + id }) +} + +// 提交审批 +export const submit = (id) => { + return request.put({ url: '/wms/relegate-request-main/submit?id=' + id }) +} + +// 驳回 +export const refused = (id) => { + return request.put({ url: '/wms/relegate-request-main/refused?id=' + id }) +} + +// 审批通过 +export const agree = (id) => { + return request.put({ url: '/wms/relegate-request-main/agree?id=' + id }) +} + +// 处理 +export const handle = (id) => { + return request.put({ url: '/wms/relegate-request-main/handle?id=' + id }) } \ No newline at end of file diff --git a/src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/index.vue b/src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/index.vue new file mode 100644 index 000000000..4860432a5 --- /dev/null +++ b/src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/relegateRecordMain.data.ts b/src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/relegateRecordMain.data.ts new file mode 100644 index 000000000..bca43b73f --- /dev/null +++ b/src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/relegateRecordMain.data.ts @@ -0,0 +1,204 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const RelegateRecordMainRules = reactive({ + departmentCode: [required], + interfaceType: [required], + number: [required], + businessType: [required], +}) + +export const RelegateRecordMain = useCrudSchemas(reactive([ + { + label: 'id', + field: 'id', + sort: 'custom', + isForm: false, + }, + { + label: '申请单号', + field: 'requestNumber', + sort: 'custom', + isSearch: true, + }, + { + label: '执行时间', + field: 'executeTime', + 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: '生效日期', + field: 'activeDate', + 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: '是否可用', + field: 'available', + sort: 'custom', + isSearch: true, + }, + { + label: '申请时间', + field: 'requestTime', + 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: '截止时间', + field: 'dueTime', + 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: '部门', + field: 'departmentCode', + sort: 'custom', + isSearch: true, + }, + { + label: '用户组', + field: 'userGroupCode', + sort: 'custom', + isSearch: true, + }, + { + label: '接口类型', + field: 'interfaceType', + sort: 'custom', + isSearch: true, + form: { + component: 'SelectV2' + }, + }, + { + label: '代码', + field: 'code', + sort: 'custom', + isSearch: true, + }, + { + label: '单据号', + field: 'number', + sort: 'custom', + isSearch: true, + }, + { + label: '业务类型', + field: 'businessType', + sort: 'custom', + isSearch: true, + form: { + component: 'SelectV2' + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: 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: 'extraProperties', + sort: 'custom', + isSearch: true, + }, + { + label: '地点ID', + field: 'siteId', + sort: 'custom', + isSearch: true, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue index 36313533a..4e313c902 100644 --- a/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue +++ b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue @@ -239,6 +239,12 @@ const butttondata = (row, $index) => { return [] } return [ + defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['2','3','4','6']),hasPermi:'wms:relegate-request-main:close'}), // 关闭 + defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['4','5']),hasPermi:'wms:relegate-request-main:reAdd'}), //重新添加 + defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:relegate-request-main:submit'}), // 提交审批 + defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:relegate-request-main:refused'}), // 驳回 + defaultButtons.mainListApproveBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:relegate-request-main:agree'}), // 审批通过 + defaultButtons.mainListHandleBtn({hide:isShowMainButton(row,['3']),hasPermi:'wms:relegate-request-main:handle'}), // 处理 defaultButtons.mainListEditBtn({ hide: isShowMainButton(row, ['1']), hasPermi: 'wms:relegate-request-main:update' }), // 编辑 defaultButtons.mainListDeleteBtn({ hasPermi: 'wms:relegate-request-main:delete' }), // 删除 ] diff --git a/src/views/wms/inventoryjobManage/containermanage/containerMainRequest/index.vue b/src/views/wms/inventoryjobManage/containermanage/containerMainRequest/index.vue index 5f3724f1b..be42e4a99 100644 --- a/src/views/wms/inventoryjobManage/containermanage/containerMainRequest/index.vue +++ b/src/views/wms/inventoryjobManage/containermanage/containerMainRequest/index.vue @@ -29,7 +29,7 @@ v-model:sort="tableObject.sort" >