diff --git a/src/api/wms/stockupDetailJob/index.ts b/src/api/wms/stockupDetailJob/index.ts
new file mode 100644
index 000000000..0f0aedc5e
--- /dev/null
+++ b/src/api/wms/stockupDetailJob/index.ts
@@ -0,0 +1,64 @@
+import request from '@/config/axios'
+
+export interface StockupDetailJobVO {
+ id: number
+ packingNumber: string
+ batch: string
+ inventoryStatus: string
+ ownerCode: string
+ containerNumber: string
+ fromLocationCode: string
+ toLocationCode: string
+ itemCode: string
+ itemName: string
+ itemDesc1: string
+ itemDesc2: string
+ projectCode: string
+ qty: number
+ uom: string
+ masterId: number
+ number: string
+ remark: string
+ siteId: string
+}
+
+// 查询备货任务子列表
+export const getStockupDetailJobPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/stockup-detail-job/senior', data })
+ } else {
+ return await request.get({ url: `/wms/stockup-detail-job/page`, params })
+ }
+}
+
+// 查询备货任务子详情
+export const getStockupDetailJob = async (id: number) => {
+ return await request.get({ url: `/wms/stockup-detail-job/get?id=` + id })
+}
+
+// 新增备货任务子
+export const createStockupDetailJob = async (data: StockupDetailJobVO) => {
+ return await request.post({ url: `/wms/stockup-detail-job/create`, data })
+}
+
+// 修改备货任务子
+export const updateStockupDetailJob = async (data: StockupDetailJobVO) => {
+ return await request.put({ url: `/wms/stockup-detail-job/update`, data })
+}
+
+// 删除备货任务子
+export const deleteStockupDetailJob = async (id: number) => {
+ return await request.delete({ url: `/wms/stockup-detail-job/delete?id=` + id })
+}
+
+// 导出备货任务子 Excel
+export const exportStockupDetailJob = async (params) => {
+ return await request.download({ url: `/wms/stockup-detail-job/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/stockup-detail-job/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/api/wms/stockupDetailRecord/index.ts b/src/api/wms/stockupDetailRecord/index.ts
new file mode 100644
index 000000000..1ec393ecd
--- /dev/null
+++ b/src/api/wms/stockupDetailRecord/index.ts
@@ -0,0 +1,76 @@
+import request from '@/config/axios'
+
+export interface StockupDetailRecordVO {
+ id: number
+ packingNumber: string
+ batch: string
+ inventoryStatus: string
+ fromOwnerCode: string
+ fromContainerNumber: string
+ fromLocationCode: string
+ fromLocationGroupCode: string
+ fromAreaCode: string
+ toOwnerCode: string
+ toContainerNumber: string
+ toLocationCode: string
+ toLocationGroupCode: string
+ toAreaCode: string
+ singlePrice: number
+ amount: number
+ masterId: number
+ number: string
+ itemCode: string
+ remark: string
+ siteId: string
+ itemName: string
+ itemDesc1: string
+ itemDesc2: string
+ projectCode: string
+ qty: number
+ uom: string
+ code: string
+ interfaceType: string
+ jobDetailId: string
+ available: string
+}
+
+// 查询备货记录子列表
+export const getStockupDetailRecordPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/stockup-detail-record/senior', data })
+ } else {
+ return await request.get({ url: `/wms/stockup-detail-record/page`, params })
+ }
+}
+
+// 查询备货记录子详情
+export const getStockupDetailRecord = async (id: number) => {
+ return await request.get({ url: `/wms/stockup-detail-record/get?id=` + id })
+}
+
+// 新增备货记录子
+export const createStockupDetailRecord = async (data: StockupDetailRecordVO) => {
+ return await request.post({ url: `/wms/stockup-detail-record/create`, data })
+}
+
+// 修改备货记录子
+export const updateStockupDetailRecord = async (data: StockupDetailRecordVO) => {
+ return await request.put({ url: `/wms/stockup-detail-record/update`, data })
+}
+
+// 删除备货记录子
+export const deleteStockupDetailRecord = async (id: number) => {
+ return await request.delete({ url: `/wms/stockup-detail-record/delete?id=` + id })
+}
+
+// 导出备货记录子 Excel
+export const exportStockupDetailRecord = async (params) => {
+ return await request.download({ url: `/wms/stockup-detail-record/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/stockup-detail-record/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/api/wms/stockupDetailRequest/index.ts b/src/api/wms/stockupDetailRequest/index.ts
new file mode 100644
index 000000000..6390e2e16
--- /dev/null
+++ b/src/api/wms/stockupDetailRequest/index.ts
@@ -0,0 +1,65 @@
+import request from '@/config/axios'
+
+export interface StockupDetailRequestVO {
+ id: number
+ packingNumber: string
+ containerNumber: string
+ batch: string
+ inventoryStatus: string
+ toOwnerCode: string
+ toLocationCode: string
+ masterId: number
+ number: string
+ remark: string
+ siteId: number
+ itemCode: string
+ itemName: string
+ itemDesc1: string
+ itemDesc2: string
+ projectCode: string
+ qty: number
+ uom: string
+ concurrencyStamp: string
+ fromOwnerCode: string
+}
+
+// 查询备货申请子列表
+export const getStockupDetailRequestPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/request/stockup-detail-request/senior', data })
+ } else {
+ return await request.get({ url: `/request/stockup-detail-request/page`, params })
+ }
+}
+
+// 查询备货申请子详情
+export const getStockupDetailRequest = async (id: number) => {
+ return await request.get({ url: `/request/stockup-detail-request/get?id=` + id })
+}
+
+// 新增备货申请子
+export const createStockupDetailRequest = async (data: StockupDetailRequestVO) => {
+ return await request.post({ url: `/request/stockup-detail-request/create`, data })
+}
+
+// 修改备货申请子
+export const updateStockupDetailRequest = async (data: StockupDetailRequestVO) => {
+ return await request.put({ url: `/request/stockup-detail-request/update`, data })
+}
+
+// 删除备货申请子
+export const deleteStockupDetailRequest = async (id: number) => {
+ return await request.delete({ url: `/request/stockup-detail-request/delete?id=` + id })
+}
+
+// 导出备货申请子 Excel
+export const exportStockupDetailRequest = async (params) => {
+ return await request.download({ url: `/request/stockup-detail-request/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/request/stockup-detail-request/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/api/wms/stockupMainJob/index.ts b/src/api/wms/stockupMainJob/index.ts
new file mode 100644
index 000000000..2f802672a
--- /dev/null
+++ b/src/api/wms/stockupMainJob/index.ts
@@ -0,0 +1,90 @@
+import request from '@/config/axios'
+
+export interface StockupMainJobVO {
+ id: number
+ requestNumber: string
+ deliverPlanNumber: string
+ fromWarehouseCode: string
+ toWarehouseCode: string
+ details: string
+ requestTime: Date
+ requestDueTime: Date
+ status: string
+ expiredTime: Date
+ concurrencyStamp: string
+ jobStageStatus: string
+ priority: number
+ priorityincrement: number
+ departmentCode: string
+ userGroupCode: string
+ acceptUserId: string
+ acceptUserName: string
+ acceptTime: Date
+ completeUserId: string
+ completeUserName: string
+ completeTime: Date
+ fromAreaTypes: string
+ toAreaTypes: string
+ number: string
+ businessType: string
+ remark: string
+ extraProperties: string
+ siteId: string
+ autoComplete: string
+ allowModifyLocation: string
+ allowModifyQty: string
+ allowBiggerQty: string
+ allowSmallerQty: string
+ allowModifyInventoryStatus: string
+ allowContinuousScanning: string
+ allowPartialComplete: string
+ ruleUserId: number
+ allowModifyBatch: string
+ allowModifyPackingNumber: string
+ fromAreaCodes: string
+ toAreaCodes: string
+ serialNumber: string
+ inInventoryStatuses: string
+ outInventoryStatuses: string
+}
+
+// 查询备货任务主列表
+export const getStockupMainJobPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/stockup-main-job/senior', data })
+ } else {
+ return await request.get({ url: `/wms/stockup-main-job/page`, params })
+ }
+}
+
+// 查询备货任务主详情
+export const getStockupMainJob = async (id: number) => {
+ return await request.get({ url: `/wms/stockup-main-job/get?id=` + id })
+}
+
+// 新增备货任务主
+export const createStockupMainJob = async (data: StockupMainJobVO) => {
+ return await request.post({ url: `/wms/stockup-main-job/create`, data })
+}
+
+// 修改备货任务主
+export const updateStockupMainJob = async (data: StockupMainJobVO) => {
+ return await request.put({ url: `/wms/stockup-main-job/update`, data })
+}
+
+// 删除备货任务主
+export const deleteStockupMainJob = async (id: number) => {
+ return await request.delete({ url: `/wms/stockup-main-job/delete?id=` + id })
+}
+
+// 导出备货任务主 Excel
+export const exportStockupMainJob = async (params) => {
+ return await request.download({ url: `/wms/stockup-main-job/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/stockup-main-job/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/api/wms/stockupMainRecord/index.ts b/src/api/wms/stockupMainRecord/index.ts
new file mode 100644
index 000000000..4a13e6c95
--- /dev/null
+++ b/src/api/wms/stockupMainRecord/index.ts
@@ -0,0 +1,72 @@
+import request from '@/config/axios'
+
+export interface StockupMainRecordVO {
+ id: number
+ requestNumber: string
+ jobNumber: string
+ deliverPlanNumber: string
+ fromWarehouseCode: string
+ toWarehouseCode: string
+ details: string
+ outTransactionType: string
+ inTransactionType: string
+ executeTime: Date
+ activeDate: Date
+ available: string
+ requestTime: Date
+ dueTime: Date
+ departmentCode: string
+ userGroupCode: string
+ interfaceType: string
+ number: string
+ businessType: string
+ remark: string
+ extraProperties: string
+ siteId: string
+ code: string
+ fromAreaTypes: string
+ fromAreaCodes: string
+ toAreaTypes: string
+ toAreaCodes: string
+}
+
+// 查询备货记录主列表
+export const getStockupMainRecordPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/stockup-main-record/senior', data })
+ } else {
+ return await request.get({ url: `/wms/stockup-main-record/page`, params })
+ }
+}
+
+// 查询备货记录主详情
+export const getStockupMainRecord = async (id: number) => {
+ return await request.get({ url: `/wms/stockup-main-record/get?id=` + id })
+}
+
+// 新增备货记录主
+export const createStockupMainRecord = async (data: StockupMainRecordVO) => {
+ return await request.post({ url: `/wms/stockup-main-record/create`, data })
+}
+
+// 修改备货记录主
+export const updateStockupMainRecord = async (data: StockupMainRecordVO) => {
+ return await request.put({ url: `/wms/stockup-main-record/update`, data })
+}
+
+// 删除备货记录主
+export const deleteStockupMainRecord = async (id: number) => {
+ return await request.delete({ url: `/wms/stockup-main-record/delete?id=` + id })
+}
+
+// 导出备货记录主 Excel
+export const exportStockupMainRecord = async (params) => {
+ return await request.download({ url: `/wms/stockup-main-record/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/stockup-main-record/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/api/wms/stockupMainRequest/index.ts b/src/api/wms/stockupMainRequest/index.ts
new file mode 100644
index 000000000..b9e749376
--- /dev/null
+++ b/src/api/wms/stockupMainRequest/index.ts
@@ -0,0 +1,73 @@
+import request from '@/config/axios'
+
+export interface StockupMainRequestVO {
+ id: number
+ deliverPlanNumber: string
+ fromWarehouseCode: string
+ toWarehouseCode: string
+ fromAreaTypes: string
+ fromAreaCodes: string
+ details: string
+ number: string
+ businessType: string
+ remark: string
+ extraProperties: string
+ siteId: number
+ requestTime: Date
+ dueTime: Date
+ departmentCode: string
+ status: string
+ autoCommit: string
+ autoAgree: string
+ autoExecute: string
+ directCreateRecord: string
+ concurrencyStamp: string
+ ruleUserId: number
+ toAreaTypes: string
+ toAreaCodes: string
+ serialNumber: string
+ deliverDate: Date
+ inInventoryStatuses: string
+ outInventoryStatuses: string
+}
+
+// 查询备货申请主列表
+export const getStockupMainRequestPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/stockup-main-request/senior', data })
+ } else {
+ return await request.get({ url: `/wms/stockup-main-request/page`, params })
+ }
+}
+
+// 查询备货申请主详情
+export const getStockupMainRequest = async (id: number) => {
+ return await request.get({ url: `/wms/stockup-main-request/get?id=` + id })
+}
+
+// 新增备货申请主
+export const createStockupMainRequest = async (data: StockupMainRequestVO) => {
+ return await request.post({ url: `/wms/stockup-main-request/create`, data })
+}
+
+// 修改备货申请主
+export const updateStockupMainRequest = async (data: StockupMainRequestVO) => {
+ return await request.put({ url: `/wms/stockup-main-request/update`, data })
+}
+
+// 删除备货申请主
+export const deleteStockupMainRequest = async (id: number) => {
+ return await request.delete({ url: `/wms/stockup-main-request/delete?id=` + id })
+}
+
+// 导出备货申请主 Excel
+export const exportStockupMainRequest = async (params) => {
+ return await request.download({ url: `/wms/stockup-main-request/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/stockup-main-request/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/views/wms/deliversettlementManage/stockup/stockupMainJob/index.vue b/src/views/wms/deliversettlementManage/stockup/stockupMainJob/index.vue
new file mode 100644
index 000000000..1eeaefb84
--- /dev/null
+++ b/src/views/wms/deliversettlementManage/stockup/stockupMainJob/index.vue
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.code }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/wms/deliversettlementManage/stockup/stockupMainJob/stockupMainJob.data.ts b/src/views/wms/deliversettlementManage/stockup/stockupMainJob/stockupMainJob.data.ts
new file mode 100644
index 000000000..1fcf6737b
--- /dev/null
+++ b/src/views/wms/deliversettlementManage/stockup/stockupMainJob/stockupMainJob.data.ts
@@ -0,0 +1,408 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+
+// 表单校验
+export const StockupMainJobRules = reactive({
+})
+
+export const StockupMainJob = useCrudSchemas(reactive([
+ {
+ label: 'id',
+ field: 'id',
+ sort: 'custom',
+ isForm: false,
+ },
+ {
+ label: '申请单号',
+ field: 'requestNumber',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '发货计划单号',
+ field: 'deliverPlanNumber',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '从仓库代码',
+ field: 'fromWarehouseCode',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '到仓库代码',
+ field: 'toWarehouseCode',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '明细',
+ field: 'details',
+ 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: 'requestDueTime',
+ 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: 'status',
+ sort: 'custom',
+ isSearch: true,
+ form: {
+ component: 'Radio'
+ },
+ },
+ {
+ label: '过期时间',
+ field: 'expiredTime',
+ 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: 'concurrencyStamp',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '状态',
+ field: 'jobStageStatus',
+ sort: 'custom',
+ isSearch: true,
+ form: {
+ component: 'Radio'
+ },
+ },
+ {
+ label: '优先级',
+ field: 'priority',
+ sort: 'custom',
+ isSearch: true,
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ },
+ {
+ label: '优先级增量',
+ field: 'priorityincrement',
+ sort: 'custom',
+ isSearch: true,
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ },
+ {
+ label: '部门',
+ field: 'departmentCode',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '用户组',
+ field: 'userGroupCode',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '承接人用户ID',
+ field: 'acceptUserId',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '承接人用户名',
+ field: 'acceptUserName',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '承接时间',
+ field: 'acceptTime',
+ 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: '完成人用户ID',
+ field: 'completeUserId',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '完成人用户名',
+ field: 'completeUserName',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '完成时间',
+ field: 'completeTime',
+ 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: 'fromAreaTypes',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '到库区类型范围',
+ field: 'toAreaTypes',
+ 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: 'autoComplete',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '允许修改库位',
+ field: 'allowModifyLocation',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '允许修改数量',
+ field: 'allowModifyQty',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '允许大于推荐数量',
+ field: 'allowBiggerQty',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '允许小于推荐数量',
+ field: 'allowSmallerQty',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '允许修改库存状态',
+ field: 'allowModifyInventoryStatus',
+ sort: 'custom',
+ isSearch: true,
+ form: {
+ component: 'Radio'
+ },
+ },
+ {
+ label: '允许连续扫描',
+ field: 'allowContinuousScanning',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '允许部分完成',
+ field: 'allowPartialComplete',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '权限所属人员id',
+ field: 'ruleUserId',
+ sort: 'custom',
+ isSearch: true,
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ },
+ {
+ label: '允许修改批次',
+ field: 'allowModifyBatch',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '允许修改箱码',
+ field: 'allowModifyPackingNumber',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '从库区代码范围',
+ field: 'fromAreaCodes',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '到库区代码范围',
+ field: 'toAreaCodes',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '工作流流水号',
+ field: 'serialNumber',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '入库库存状态范围',
+ field: 'inInventoryStatuses',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '出库库存状态范围',
+ field: 'outInventoryStatuses',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
diff --git a/src/views/wms/deliversettlementManage/stockup/stockupMainRecord/index.vue b/src/views/wms/deliversettlementManage/stockup/stockupMainRecord/index.vue
new file mode 100644
index 000000000..f01b11433
--- /dev/null
+++ b/src/views/wms/deliversettlementManage/stockup/stockupMainRecord/index.vue
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.code }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/wms/deliversettlementManage/stockup/stockupMainRecord/stockupMainRecord.data.ts b/src/views/wms/deliversettlementManage/stockup/stockupMainRecord/stockupMainRecord.data.ts
new file mode 100644
index 000000000..a503624dc
--- /dev/null
+++ b/src/views/wms/deliversettlementManage/stockup/stockupMainRecord/stockupMainRecord.data.ts
@@ -0,0 +1,272 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+
+// 表单校验
+export const StockupMainRecordRules = reactive({
+})
+
+export const StockupMainRecord = useCrudSchemas(reactive([
+ {
+ label: 'id',
+ field: 'id',
+ sort: 'custom',
+ isForm: false,
+ },
+ {
+ label: '申请单号',
+ field: 'requestNumber',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '任务单号',
+ field: 'jobNumber',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '发货计划单号',
+ field: 'deliverPlanNumber',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '从仓库代码',
+ field: 'fromWarehouseCode',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '到仓库代码',
+ field: 'toWarehouseCode',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '明细',
+ field: 'details',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '出库事务类型',
+ field: 'outTransactionType',
+ sort: 'custom',
+ isSearch: true,
+ form: {
+ component: 'SelectV2'
+ },
+ },
+ {
+ label: '入库事务类型',
+ field: 'inTransactionType',
+ sort: 'custom',
+ isSearch: true,
+ form: {
+ component: 'SelectV2'
+ },
+ },
+ {
+ 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: '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: 'code',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '从库区类型范围',
+ field: 'fromAreaTypes',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '从库区代码范围',
+ field: 'fromAreaCodes',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '到库区类型范围',
+ field: 'toAreaTypes',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '到库区代码范围',
+ field: 'toAreaCodes',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
diff --git a/src/views/wms/deliversettlementManage/stockup/stockupMainRequest/index.vue b/src/views/wms/deliversettlementManage/stockup/stockupMainRequest/index.vue
new file mode 100644
index 000000000..29789db2e
--- /dev/null
+++ b/src/views/wms/deliversettlementManage/stockup/stockupMainRequest/index.vue
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.code }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/wms/deliversettlementManage/stockup/stockupMainRequest/stockupMainRequest.data.ts b/src/views/wms/deliversettlementManage/stockup/stockupMainRequest/stockupMainRequest.data.ts
new file mode 100644
index 000000000..fe04bcb89
--- /dev/null
+++ b/src/views/wms/deliversettlementManage/stockup/stockupMainRequest/stockupMainRequest.data.ts
@@ -0,0 +1,264 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+
+// 表单校验
+export const StockupMainRequestRules = reactive({
+})
+
+export const StockupMainRequest = useCrudSchemas(reactive([
+ {
+ label: 'id',
+ field: 'id',
+ sort: 'custom',
+ isForm: false,
+ },
+ {
+ label: '发货计划单号',
+ field: 'deliverPlanNumber',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '从仓库代码',
+ field: 'fromWarehouseCode',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '到仓库代码',
+ field: 'toWarehouseCode',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '从库区类型范围',
+ field: 'fromAreaTypes',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '从库区代码范围',
+ field: 'fromAreaCodes',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: 'details',
+ field: 'details',
+ 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,
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ },
+ {
+ 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: 'status',
+ sort: 'custom',
+ isSearch: true,
+ form: {
+ component: 'Radio'
+ },
+ },
+ {
+ label: '自动提交',
+ field: 'autoCommit',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '自动通过',
+ field: 'autoAgree',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '自动执行',
+ field: 'autoExecute',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '直接生成记录',
+ field: 'directCreateRecord',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '并发乐观锁',
+ field: 'concurrencyStamp',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '权限所属人员id',
+ field: 'ruleUserId',
+ sort: 'custom',
+ isSearch: true,
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ },
+ {
+ label: '到库区类型范围',
+ field: 'toAreaTypes',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '到库区范围',
+ field: 'toAreaCodes',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '工作流流水号',
+ field: 'serialNumber',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '发货日期',
+ field: 'deliverDate',
+ 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: 'inInventoryStatuses',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '出库库存状态范围',
+ field: 'outInventoryStatuses',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))