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/api/wms/supplierdeliverInspectionDetail/index.ts b/src/api/wms/supplierdeliverInspectionDetail/index.ts index c17a4d8f5..4f5855e68 100644 --- a/src/api/wms/supplierdeliverInspectionDetail/index.ts +++ b/src/api/wms/supplierdeliverInspectionDetail/index.ts @@ -56,4 +56,8 @@ export const exportSupplierdeliverInspectionDetail = async (params) => { // 下载用户导入模板 export const importTemplate = () => { return request.download({ url: '/wms/supplierdeliver-inspection-detail/get-import-template' }) -} \ No newline at end of file +} +// 查看质检报告 +export const queryQualityInspection = (asnNumber:string) => { + return request.get({ url: `/wms/supplierdeliver-request-main/queryQualityInspection?asnNumber=` + asnNumber }) +} diff --git a/src/components/Annex/src/Annex.vue b/src/components/Annex/src/Annex.vue index 812be654f..ffb0dc15c 100644 --- a/src/components/Annex/src/Annex.vue +++ b/src/components/Annex/src/Annex.vue @@ -4,7 +4,7 @@
+ @update:modelValue="handleAnnexSuccess" v-if="showAddBtn&&annexData.annexList.length<5"/>
@@ -67,6 +67,10 @@ const props = defineProps({ type: Boolean, required: false }, + showAddBtn: { + type: Boolean, + required: true + }, }) // 子传父的时候需要先定义好emit这个方法 const emit = defineEmits(['handleAnnexSuccess', 'deleteAnnexSuccess','previewAnnexHandle']) diff --git a/src/config/axios/service.ts b/src/config/axios/service.ts index 1a4741b69..36261ac26 100644 --- a/src/config/axios/service.ts +++ b/src/config/axios/service.ts @@ -31,7 +31,7 @@ let requestList: any[] = [] // 是否正在刷新中 let isRefreshToken = false // 请求白名单,无须token的接口 -const whiteList: string[] = ['/login', '/refresh-token'] +const whiteList: string[] = ['/login', '/refresh-token','/queryQualityInspection'] // 创建axios实例 const service: AxiosInstance = axios.create({ diff --git a/src/permission.ts b/src/permission.ts index 1650d3504..c3f5307c0 100644 --- a/src/permission.ts +++ b/src/permission.ts @@ -21,7 +21,8 @@ const whiteList = [ '/auth-redirect', '/bind', '/register', - '/oauthLogin/gitee' + '/oauthLogin/gitee', + '/purchasereceiptReport' ] // 路由加载前 diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts index f8e08bce4..3f156883c 100644 --- a/src/router/modules/remaining.ts +++ b/src/router/modules/remaining.ts @@ -244,6 +244,16 @@ const remainingRouter: AppRouteRecordRaw[] = [ noTagsView: true } }, + { + path: '/purchasereceiptReport', + component: () => import('@/views/wms/purchasereceiptManage/purchasereceipt/purchasereceiptReport/index.vue'), + name: 'NoFound', + meta: { + hidden: true, + title: t('ts.查看质检报告'), + noTagsView: true + } + }, { path: '/bpm', component: Layout, diff --git a/src/utils/disposition/defaultButtons.ts b/src/utils/disposition/defaultButtons.ts index bd999713c..e2cc243c6 100644 --- a/src/utils/disposition/defaultButtons.ts +++ b/src/utils/disposition/defaultButtons.ts @@ -518,6 +518,17 @@ export function mainListPlanUploadQualityReportBtn(option:any) { hasPermi: '' }) } +export function mainListPlanCheckQualityReportBtn(option:any) { + return __defaultBtnOption(option,{ + label: t(`ts.查看质检报告`).replace('ts.', ''), + name: 'mainPlanCheckQualityReport', + hide: false, + type: 'primary', + color: '', + link: true, // 文本展现按钮 + hasPermi: '' + }) +} // 主列表-计划流程-提交审批按钮 export function mainListPlanSubBtn(option:any) { 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 637efc95c..8155622b9 100644 --- a/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue +++ b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue @@ -1,90 +1,74 @@