diff --git a/src/api/wms/receivedCalendar/index.ts b/src/api/wms/receivedCalendar/index.ts new file mode 100644 index 000000000..1db1a2507 --- /dev/null +++ b/src/api/wms/receivedCalendar/index.ts @@ -0,0 +1,49 @@ +import request from '@/config/axios' + +export interface ReceivedCalendarVO { + id: number + receivedNumber: string + calendarDate: Date + shift: string +} + +// 查询受入日历列表 +export const getReceivedCalendarPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/basic/received-calendar/senior', data }) + } else { + return await request.get({ url: `/basic/received-calendar/page`, params }) + } +} + +// 查询受入日历详情 +export const getReceivedCalendar = async (id: number) => { + return await request.get({ url: `/basic/received-calendar/get?id=` + id }) +} + +// 新增受入日历 +export const createReceivedCalendar = async (data: ReceivedCalendarVO) => { + return await request.post({ url: `/basic/received-calendar/create`, data }) +} + +// 修改受入日历 +export const updateReceivedCalendar = async (data: ReceivedCalendarVO) => { + return await request.put({ url: `/basic/received-calendar/update`, data }) +} + +// 删除受入日历 +export const deleteReceivedCalendar = async (id: number) => { + return await request.delete({ url: `/basic/received-calendar/delete?id=` + id }) +} + +// 导出受入日历 Excel +export const exportReceivedCalendar = async (params) => { + return await request.download({ url: `/basic/received-calendar/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/basic/received-calendar/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/supplierDeliDetails/index.ts b/src/api/wms/supplierDeliDetails/index.ts new file mode 100644 index 000000000..f8ea388da --- /dev/null +++ b/src/api/wms/supplierDeliDetails/index.ts @@ -0,0 +1,51 @@ +import request from '@/config/axios' + +export interface SupplierDeliDetailsVO { + id: number + supplierCode: string + shiftDeliDate: Date + shift: string + receivedNumber: string + deli: number +} + +// 查询供应商送货便次明细列表 +export const getSupplierDeliDetailsPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/basic/supplier-deli-details/senior', data }) + } else { + return await request.get({ url: `/basic/supplier-deli-details/page`, params }) + } +} + +// 查询供应商送货便次明细详情 +export const getSupplierDeliDetails = async (id: number) => { + return await request.get({ url: `/basic/supplier-deli-details/get?id=` + id }) +} + +// 新增供应商送货便次明细 +export const createSupplierDeliDetails = async (data: SupplierDeliDetailsVO) => { + return await request.post({ url: `/basic/supplier-deli-details/create`, data }) +} + +// 修改供应商送货便次明细 +export const updateSupplierDeliDetails = async (data: SupplierDeliDetailsVO) => { + return await request.put({ url: `/basic/supplier-deli-details/update`, data }) +} + +// 删除供应商送货便次明细 +export const deleteSupplierDeliDetails = async (id: number) => { + return await request.delete({ url: `/basic/supplier-deli-details/delete?id=` + id }) +} + +// 导出供应商送货便次明细 Excel +export const exportSupplierDeliDetails = async (params) => { + return await request.download({ url: `/basic/supplier-deli-details/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/basic/supplier-deli-details/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/supplierShiftDeli/index.ts b/src/api/wms/supplierShiftDeli/index.ts new file mode 100644 index 000000000..bc6a11fd4 --- /dev/null +++ b/src/api/wms/supplierShiftDeli/index.ts @@ -0,0 +1,50 @@ +import request from '@/config/axios' + +export interface SupplierShiftDeliVO { + id: number + supplierCode: string + shiftDeliDate: Date + shift: string + deli: number +} + +// 查询供应商班次便次列表 +export const getSupplierShiftDeliPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/basic/supplier-shift-deli/senior', data }) + } else { + return await request.get({ url: `/basic/supplier-shift-deli/page`, params }) + } +} + +// 查询供应商班次便次详情 +export const getSupplierShiftDeli = async (id: number) => { + return await request.get({ url: `/basic/supplier-shift-deli/get?id=` + id }) +} + +// 新增供应商班次便次 +export const createSupplierShiftDeli = async (data: SupplierShiftDeliVO) => { + return await request.post({ url: `/basic/supplier-shift-deli/create`, data }) +} + +// 修改供应商班次便次 +export const updateSupplierShiftDeli = async (data: SupplierShiftDeliVO) => { + return await request.put({ url: `/basic/supplier-shift-deli/update`, data }) +} + +// 删除供应商班次便次 +export const deleteSupplierShiftDeli = async (id: number) => { + return await request.delete({ url: `/basic/supplier-shift-deli/delete?id=` + id }) +} + +// 导出供应商班次便次 Excel +export const exportSupplierShiftDeli = async (params) => { + return await request.download({ url: `/basic/supplier-shift-deli/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/basic/supplier-shift-deli/get-import-template' }) +} \ No newline at end of file diff --git a/src/utils/dict.ts b/src/utils/dict.ts index 280a64d04..55e6d05a3 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -422,6 +422,7 @@ export enum DICT_TYPE { CLASS_ITEM = 'class_item', //顺引班组项 DUTY = 'duty', //责任 DUTY_DETAILS ="duty_details",//责任明细字典 + SHIFT = "shift",// 班次 } diff --git a/src/views/wms/basicDataManage/supplierManage/receivedCalendar/index.vue b/src/views/wms/basicDataManage/supplierManage/receivedCalendar/index.vue new file mode 100644 index 000000000..7dcfac71c --- /dev/null +++ b/src/views/wms/basicDataManage/supplierManage/receivedCalendar/index.vue @@ -0,0 +1,245 @@ + + + diff --git a/src/views/wms/basicDataManage/supplierManage/receivedCalendar/receivedCalendar.data.ts b/src/views/wms/basicDataManage/supplierManage/receivedCalendar/receivedCalendar.data.ts new file mode 100644 index 000000000..30269a6b6 --- /dev/null +++ b/src/views/wms/basicDataManage/supplierManage/receivedCalendar/receivedCalendar.data.ts @@ -0,0 +1,70 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const ReceivedCalendarRules = reactive({ + receivedNumber: [required], + calendarDate: [required], +}) + +export const ReceivedCalendar = useCrudSchemas(reactive([ + { + label: '受入号', + field: 'receivedNumber', + sort: 'custom', + isSearch: true, + }, + { + label: '日期', + field: 'calendarDate', + 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: 'shift', + 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: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/wms/basicDataManage/supplierManage/supplierDeliDetails/index.vue b/src/views/wms/basicDataManage/supplierManage/supplierDeliDetails/index.vue new file mode 100644 index 000000000..2b503e561 --- /dev/null +++ b/src/views/wms/basicDataManage/supplierManage/supplierDeliDetails/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/wms/basicDataManage/supplierManage/supplierDeliDetails/supplierDeliDetails.data.ts b/src/views/wms/basicDataManage/supplierManage/supplierDeliDetails/supplierDeliDetails.data.ts new file mode 100644 index 000000000..e98f8e3bd --- /dev/null +++ b/src/views/wms/basicDataManage/supplierManage/supplierDeliDetails/supplierDeliDetails.data.ts @@ -0,0 +1,113 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const SupplierDeliDetailsRules = reactive({ + supplierCode: [required], + shiftDeliDate: [required], + shift: [required], + receivedNumber: [required], + deli: [required], +}) + +export const SupplierDeliDetails = useCrudSchemas(reactive([ + { + label: '供应商编码', + field: 'supplierCode', + sort: 'custom', + isSearch: true, + }, + { + label: '供应商名称', + field: 'supplierName', + sort: 'custom', + isSearch: true, + }, + { + label: '日期', + field: 'shiftDeliDate', + 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: 'shift', + sort: 'custom', + isSearch: true, + }, + // { + // label: '受入号', + // field: 'receivedNumber', + // sort: 'custom', + // isSearch: true, + // }, + { + label: '便次数', + field: 'deli', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0, + componentProps: { + precision: 0, + min:0 + } + } + }, + { + label: '创建时间', + field: 'createTime', + isForm: false, + 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', + } + } + }, + { + label: '创建者', + field: 'creator', + isForm: false, + isTable: true, + table: { + width: 150 + }, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/wms/basicDataManage/supplierManage/supplierShiftDeli/index.vue b/src/views/wms/basicDataManage/supplierManage/supplierShiftDeli/index.vue new file mode 100644 index 000000000..519fdbd0a --- /dev/null +++ b/src/views/wms/basicDataManage/supplierManage/supplierShiftDeli/index.vue @@ -0,0 +1,247 @@ + + + diff --git a/src/views/wms/basicDataManage/supplierManage/supplierShiftDeli/supplierShiftDeli.data.ts b/src/views/wms/basicDataManage/supplierManage/supplierShiftDeli/supplierShiftDeli.data.ts new file mode 100644 index 000000000..6e32ba765 --- /dev/null +++ b/src/views/wms/basicDataManage/supplierManage/supplierShiftDeli/supplierShiftDeli.data.ts @@ -0,0 +1,163 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import * as SupplierApi from '@/api/wms/supplier' +import { Supplier } from '@/views/wms/basicDataManage/supplierManage/supplier/supplier.data' +import { dateFormatter, dateFormatterYM } from '@/utils/formatTime' + +// 表单校验 +export const SupplierShiftDeliRules = reactive({ + supplierCode: [required], + shiftDeliDate: [required], + shift: [required], + deli: [required] +}) + +export const SupplierShiftDeli = useCrudSchemas( + reactive([ + { + label: '供应商代码', + field: 'supplierCode', + sort: 'custom', + isSearch: true, + table: { + width: 150, + fixed: 'left' + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择供应商代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '供应商信息', // 查询弹窗标题 + searchAllSchemas: Supplier.allSchemas, // 查询弹窗所需类 + searchPage: SupplierApi.getSupplierPage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ], + verificationParams: [ + { + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true + } + ] // 失去焦点校验参数 + } + } + }, + { + label: '供应商名称', + field: 'supplierName', + isForm: true, + form: { + componentProps: { + disabled: true + } + }, + table: { + width: 180 + } + }, + { + label: '年月', + field: 'shiftDeliDate', + sort: 'custom', + formatter: dateFormatterYM, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM', + type: 'monthrange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + detail: { + dateFormat: 'YYYY-MM' + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'monthrange', + valueFormat: 'YYYY-MM' + } + } + }, + { + label: '班次', + field: 'shift', + dictType: DICT_TYPE.SHIFT, + dictClass: 'string', + isTable: true, + isDetail: true, + sort: 'custom', + table: { + width: 150 + }, + isTableForm: true, + tableForm: { + type: 'Select' + } + }, + { + label: '便次数', + field: 'deli', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0, + componentProps: { + precision: 0, + min:0 + } + } + }, + { + label: '创建时间', + field: 'createTime', + isForm: false, + 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' + } + } + }, + { + label: '创建者', + field: 'creator', + isForm: false, + isTable: true, + table: { + width: 150 + } + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } + ]) +) diff --git a/src/views/wms/deliversettlementManage/inducedProduct/deliverRecordMain/index.vue b/src/views/wms/deliversettlementManage/inducedProduct/deliverRecordMain/index.vue index a85520fe6..8d48510b6 100644 --- a/src/views/wms/deliversettlementManage/inducedProduct/deliverRecordMain/index.vue +++ b/src/views/wms/deliversettlementManage/inducedProduct/deliverRecordMain/index.vue @@ -101,7 +101,7 @@ import { formatDate } from '@/utils/formatTime' import { usePageLoading } from '@/hooks/web/usePageLoading' const { loadStart, loadDone } = usePageLoading() // 发货记录主 -defineOptions({ name: 'InducedProduct' }) +defineOptions({ name: 'InducedProduct1' }) const message = useMessage() // 消息弹窗 const { t } = useI18n() // 国际化