diff --git a/src/api/wms/modelDeliTime/index.ts b/src/api/wms/modelDeliTime/index.ts
new file mode 100644
index 000000000..e49b95341
--- /dev/null
+++ b/src/api/wms/modelDeliTime/index.ts
@@ -0,0 +1,53 @@
+import request from '@/config/axios'
+
+export interface SupplierAddrDeliTimeDetailVO {
+ id: number
+ masterId: number
+ code: string
+ shift: string
+}
+
+// 查询供应商地点便次时间配置明细列表
+export const getSupplierAddrDeliTimeDetailPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/model-deli-time-detail/senior', data })
+ } else {
+ return await request.get({ url: `/wms/model-deli-time-detail/page`, params })
+ }
+}
+
+// 查询供应商地点便次时间配置明细详情
+export const getSupplierAddrDeliTimeDetail = async (id: number) => {
+ return await request.get({ url: `/wms/model-deli-time-detail/get?id=` + id })
+}
+
+// 新增供应商地点便次时间配置明细
+export const createSupplierAddrDeliTimeDetail = async (data: SupplierAddrDeliTimeDetailVO) => {
+ return await request.post({ url: `/wms/model-deli-time-main/create`, data })
+}
+
+// 修改供应商地点便次时间配置明细
+export const updateSupplierAddrDeliTimeDetail = async (data: SupplierAddrDeliTimeDetailVO) => {
+ return await request.put({ url: `/wms/model-deli-time-main/update`, data })
+}
+
+// 删除供应商地点便次时间配置明细
+export const deleteSupplierAddrDeliTimeDetail = async (id: number) => {
+ return await request.delete({ url: `/wms/model-deli-time-detail/delete?id=` + id })
+}
+
+// 导出供应商地点便次时间配置明细 Excel
+export const exportSupplierAddrDeliTimeDetail = async (params) => {
+ return await request.download({ url: `/wms/model-deli-time-detail/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/model-deli-time-detail/get-import-template' })
+}
+// 查询受入号
+export const getSupplierAddrList = async () => {
+ return await request.get({ url: `/wms/itembasic/getModel` })
+}
\ No newline at end of file
diff --git a/src/views/wms/basicDataManage/supplierManage/modelDeliTime/index.vue b/src/views/wms/basicDataManage/supplierManage/modelDeliTime/index.vue
new file mode 100644
index 000000000..6145a5a1c
--- /dev/null
+++ b/src/views/wms/basicDataManage/supplierManage/modelDeliTime/index.vue
@@ -0,0 +1,426 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.model }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/wms/basicDataManage/supplierManage/modelDeliTime/modelDeliTime.data.ts b/src/views/wms/basicDataManage/supplierManage/modelDeliTime/modelDeliTime.data.ts
new file mode 100644
index 000000000..5a0ec76aa
--- /dev/null
+++ b/src/views/wms/basicDataManage/supplierManage/modelDeliTime/modelDeliTime.data.ts
@@ -0,0 +1,295 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+import * as SupplierApi from '@/api/wms/supplier'
+// import {Supplier} from '@/basicDataManage/supplierManage/supplier/supplier.data'
+import { Supplier } from '../supplier/supplier.data'
+import { DeliTimeWms } from '../DeliTimeWms/deliTimeWms.data'
+import * as DeliTimeWmsApi from '@/api/wms/deliTimeWms'
+
+// 表单校验
+export const ModelDeliTimeDetailRules = reactive({
+ model: [required],
+ yearAndMonth: [required],
+ delayDeli: [required],
+})
+
+function getMonthArr() {
+ let dateArr = [];
+ let year = new Date().getFullYear();
+ let month = new Date().getMonth();
+ const n = 12
+ if (n < month) {
+ //1.nmonth的情况
+ for (let i = (12 - (n - month) + 1); i <= 12; i++) {
+ let m1 = i < 10 ? "0" + i : i;
+ dateArr.push({
+ label: year + '-' + m1,
+ value: year + '-' + m1
+ });
+ }
+ for (let i = 1; i <= month; i++) {
+ let m1 = i < 10 ? "0" + i : i;
+ dateArr.push({
+ label: (parseFloat(year) + 1) + '-' + m1,
+ value: (parseFloat(year) + 1) + '-' + m1,
+ });
+ }
+ }
+ return dateArr;
+}
+
+export const ModelDeliTime = useCrudSchemas(reactive([
+ // {
+ // label: '供应商代码',
+ // field: 'supplierCode',
+ // sort: 'custom',
+ // isSearch: true,
+ // form: {
+ // // labelMessage: '信息提示说明!!!',
+ // componentProps: {
+ // isSearchList: true, // 开启查询弹窗
+ // enterSearch: true,
+ // searchListPlaceholder: '请选择供应商代码', // 输入框占位文本
+ // searchField: 'number', // 查询弹窗赋值字段
+ // searchTitle: '供应商', // 查询弹窗标题
+ // searchAllSchemas: Supplier.allSchemas, // 查询弹窗所需类
+ // searchPage: SupplierApi.getSupplierPageSCP, // 查询弹窗所需分页方法
+ // searchCondition: [
+ // {
+ // key: 'available',
+ // value: "TRUE",
+ // isMainValue: false
+ // }
+ // ],
+ // // 失去焦点校验参数
+ // verificationParams: [{
+ // key: 'code',
+ // action: '==',
+ // value: '',
+ // isMainValue: false,
+ // isSearch: 'true',
+ // isFormModel: true,
+ // }]
+ // }
+ // }
+ // },
+ // {
+ // label: '供应商名称',
+ // field: 'supplierName',
+ // sort: 'custom',
+ // form :{
+ // componentProps:{
+ // disabled:true
+ // }
+ // },
+ // },
+ {
+ label: '受入号',
+ field: 'modelShow',
+ sort: 'custom',
+ isSearch: true,
+ isTable: false,
+ isDetail: false,
+ form: {
+ component: 'Select',
+ componentProps: {
+ multiple: true,
+ collapseTags: true,
+ collapseTagsTooltip: true,
+ maxCollapseTags: "2",
+ optionsAlias: {
+ labelField: 'label',
+ valueField: 'value'
+ }
+ }
+ }
+ },
+ {
+ label: '受入号',
+ field: 'model',
+ sort: 'custom',
+ isTable: true,
+ isDetail: true,
+ isForm: false,
+ },
+ {
+ label: '年月',
+ field: 'yearAndMonthShow',
+ sort: 'custom',
+ isTable: false,
+ isDetail: false,
+ form: {
+ component: 'Select',
+ api: () => getMonthArr(),
+ componentProps: {
+ multiple: true,
+ collapseTags: true,
+ collapseTagsTooltip: true,
+ maxCollapseTags:"2",
+ optionsAlias: {
+ labelField: 'label',
+ valueField: 'value'
+ }
+ }
+ }
+ },
+ {
+ label: '年月',
+ field: 'yearAndMonth',
+ sort: 'custom',
+ isTable: true,
+ isDetail: true,
+ isForm: false,
+ isSearch: true,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'month',
+ valueFormat: 'YYYY-MM',
+ }
+ },
+ },
+ {
+ label: '延后便次',
+ field: 'delayDeli',
+ sort: 'custom',
+ form: {
+ component: 'InputNumber',
+ value: 0,
+ },
+ },
+ {
+ label: '班次',
+ field: 'shift',
+ sort: 'custom',
+ isForm: false,
+ dictType: DICT_TYPE.SHIFT,
+ dictClass: 'string',
+ },
+ {
+ label: '编号',
+ field: 'code',
+ sort: 'custom',
+ isForm: false,
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ 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'
+ }
+ }
+]))
+
+export const ModelDeliTimeDetail = useCrudSchemas(reactive([
+ {
+ label: '编号',
+ field: 'code',
+ sort: 'custom',
+ isForm: false,
+ tableForm:{
+ multiple: true,//多选
+ isInpuFocusShow: false, // 开启查询弹窗
+ disabled:true,
+ searchListPlaceholder: '请选择便次时间配置',// 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '便次时间配置', // 查询弹窗标题
+ searchAllSchemas: DeliTimeWms.allSchemas, // 查询弹窗所需类
+ searchPage: DeliTimeWmsApi.getDeliTimePage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ action: '==',
+ isSearch: true,
+ isMainValue: false
+ },
+ ],
+ verificationPage: DeliTimeWmsApi.getDeliTimePage, // tableForm下方输入框校验失去焦点之后是否正确的方法
+ // isShowTableFormSearch: true, //tableForm下方是否出现输入框
+ verificationParams: [{
+ key: 'itemCode',
+ action: '==',
+ value: '',
+ isMainValue: false,
+ isSearch: true,
+ isFormModel: true,
+ }], // 失去焦点校验参数
+ },
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ disabled:true,
+ enterSearch: true,
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择品番', // 输入框占位文本
+ searchField: 'itemCode', // 查询弹窗赋值字段
+ searchTitle: '供应商物料信息', // 查询弹窗标题
+ searchAllSchemas: DeliTimeWms.allSchemas, // 查询弹窗所需类
+ searchPage: DeliTimeWmsApi.getDeliTimePage, // 查询弹窗所需分页方法
+ searchCondition: [
+ {
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ },
+ ],
+ verificationParams: [
+ {
+ key: 'itemCode',
+ action: '==',
+ value: '',
+ isMainValue: false,
+ isSearch: true,
+ isFormModel: true
+ }
+ ] // 失去焦点校验参数
+ }
+ }
+ },
+ {
+ label: '班次',
+ field: 'shift',
+ sort: 'custom',
+ isForm: false,
+ tableForm:{
+ disabled:true,
+ }
+ },
+ {
+ label: '开始时间',
+ field: 'beginTime',
+ sort: 'custom',
+ isForm: false,
+ formatter: dateFormatter,
+ tableForm:{
+ disabled:true,
+ formatter: dateFormatter,
+ }
+ },
+]))
\ No newline at end of file