From 414b78e0c146ec69761d5cdd8919ac05818a0b66 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=99=88=E8=96=AA=E5=90=8D?= <942005050@qq.com>
Date: Sun, 17 Mar 2024 09:47:50 +0800
Subject: [PATCH] =?UTF-8?q?=E7=BF=BB=E5=8C=85=E7=94=B3=E8=AF=B7=E4=BB=BB?=
=?UTF-8?q?=E5=8A=A1=E8=AE=B0=E5=BD=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/wms/packageoverJobDetail/index.ts | 71 ++
src/api/wms/packageoverJobMain/index.ts | 81 ++
src/api/wms/packageoverMain/index.ts | 63 --
.../index.ts | 14 +-
src/api/wms/packageoverRecordMain/index.ts | 66 ++
src/api/wms/packageoverRequestDetail/index.ts | 70 ++
src/api/wms/packageoverRequestMain/index.ts | 96 ++
.../packageoverJobMain/index.vue | 254 +++++
.../packageoverJobMain.data.ts | 816 ++++++++++++++++
.../{ => packageoverRecordMain}/index.vue | 12 +-
.../packageoverRecordMain.data.ts} | 0
.../packageoverRequestMain/index.vue | 439 +++++++++
.../packageoverRequestMain.data.ts | 889 ++++++++++++++++++
13 files changed, 2795 insertions(+), 76 deletions(-)
create mode 100644 src/api/wms/packageoverJobDetail/index.ts
create mode 100644 src/api/wms/packageoverJobMain/index.ts
delete mode 100644 src/api/wms/packageoverMain/index.ts
rename src/api/wms/{packageoverDetail => packageoverRecordDetail}/index.ts (75%)
create mode 100644 src/api/wms/packageoverRecordMain/index.ts
create mode 100644 src/api/wms/packageoverRequestDetail/index.ts
create mode 100644 src/api/wms/packageoverRequestMain/index.ts
create mode 100644 src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverJobMain/index.vue
create mode 100644 src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverJobMain/packageoverJobMain.data.ts
rename src/views/wms/inventoryjobManage/packageManage/packageoverMain/{ => packageoverRecordMain}/index.vue (89%)
rename src/views/wms/inventoryjobManage/packageManage/packageoverMain/{packageoverMain.data.ts => packageoverRecordMain/packageoverRecordMain.data.ts} (100%)
create mode 100644 src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/index.vue
create mode 100644 src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts
diff --git a/src/api/wms/packageoverJobDetail/index.ts b/src/api/wms/packageoverJobDetail/index.ts
new file mode 100644
index 000000000..41043f087
--- /dev/null
+++ b/src/api/wms/packageoverJobDetail/index.ts
@@ -0,0 +1,71 @@
+import request from '@/config/axios'
+
+export interface PackageoverJobDetailVO {
+ id: number
+ number: string
+ batch: string
+ itemCode: string
+ itemName: string
+ itemDesc1: string
+ itemDesc2: string
+ projectCode: string
+ qty: number
+ uom: string
+ fromPackingNumber: string
+ toPackingNumber: string
+ fromPackUnit: string
+ toPackUnit: string
+ fromPackQty: number
+ toPackQty: number
+ fromLocationGroupCode: string
+ toLocationGroupCode: string
+ fromAreaCode: string
+ toAreaCode: string
+ fromLocationCode: string
+ toLocationCode: string
+ fromOwnerCode: string
+ toOwnerCode: string
+ inventoryStatus: string
+ remark: string
+}
+
+// 查询翻包任务子列表
+export const getPackageoverJobDetailPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/packageover-job-detail/senior', data })
+ } else {
+ return await request.get({ url: `/wms/packageover-job-detail/page`, params })
+ }
+}
+
+// 查询翻包任务子详情
+export const getPackageoverJobDetail = async (id: number) => {
+ return await request.get({ url: `/wms/packageover-job-detail/get?id=` + id })
+}
+
+// 新增翻包任务子
+export const createPackageoverJobDetail = async (data: PackageoverJobDetailVO) => {
+ return await request.post({ url: `/wms/packageover-job-detail/create`, data })
+}
+
+// 修改翻包任务子
+export const updatePackageoverJobDetail = async (data: PackageoverJobDetailVO) => {
+ return await request.put({ url: `/wms/packageover-job-detail/update`, data })
+}
+
+// 删除翻包任务子
+export const deletePackageoverJobDetail = async (id: number) => {
+ return await request.delete({ url: `/wms/packageover-job-detail/delete?id=` + id })
+}
+
+// 导出翻包任务子 Excel
+export const exportPackageoverJobDetail = async (params) => {
+ return await request.download({ url: `/wms/packageover-job-detail/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/packageover-job-detail/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/api/wms/packageoverJobMain/index.ts b/src/api/wms/packageoverJobMain/index.ts
new file mode 100644
index 000000000..0dc065225
--- /dev/null
+++ b/src/api/wms/packageoverJobMain/index.ts
@@ -0,0 +1,81 @@
+import request from '@/config/axios'
+
+export interface PackageoverJobMainVO {
+ id: number
+ requestNumber: string
+ status: string
+ requestTime: Date
+ requestDueTime: Date
+ expiredTime: Date
+ number: string
+ priority: number
+ priorityIncrement: number
+ acceptUserId: string
+ acceptUserName: string
+ acceptTime: Date
+ completeUserId: string
+ completeUserName: string
+ completeTime: Date
+ autoComplete: string
+ allowModifyLocation: string
+ allowModifyQty: string
+ allowBiggerQty: string
+ allowSmallerQty: string
+ allowModifyInventoryStatus: string
+ allowContinuousScanning: string
+ allowPartialComplete: string
+ allowModifyBatch: string
+ allowModifyPackingNumber: string
+ fromWarehouseCode: string
+ toWarehouseCode: string
+ fromAreaCodes: string
+ toAreaCodes: string
+ fromAreaTypes: string
+ toAreaTypes: string
+ inInventoryStatuses: string
+ outInventoryStatuses: string
+ businessType: string
+ departmentCode: string
+ remark: string
+}
+
+// 查询翻包任务主列表
+export const getPackageoverJobMainPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/packageover-job-main/senior', data })
+ } else {
+ return await request.get({ url: `/wms/packageover-job-main/page`, params })
+ }
+}
+
+// 查询翻包任务主详情
+export const getPackageoverJobMain = async (id: number) => {
+ return await request.get({ url: `/wms/packageover-job-main/get?id=` + id })
+}
+
+// 新增翻包任务主
+export const createPackageoverJobMain = async (data: PackageoverJobMainVO) => {
+ return await request.post({ url: `/wms/packageover-job-main/create`, data })
+}
+
+// 修改翻包任务主
+export const updatePackageoverJobMain = async (data: PackageoverJobMainVO) => {
+ return await request.put({ url: `/wms/packageover-job-main/update`, data })
+}
+
+// 删除翻包任务主
+export const deletePackageoverJobMain = async (id: number) => {
+ return await request.delete({ url: `/wms/packageover-job-main/delete?id=` + id })
+}
+
+// 导出翻包任务主 Excel
+export const exportPackageoverJobMain = async (params) => {
+ return await request.download({ url: `/wms/packageover-job-main/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/packageover-job-main/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/api/wms/packageoverMain/index.ts b/src/api/wms/packageoverMain/index.ts
deleted file mode 100644
index 2950c3ba0..000000000
--- a/src/api/wms/packageoverMain/index.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-import request from '@/config/axios'
-
-export interface PackageoverMainVO {
- id: number
- warehouseCode: 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
-}
-
-// 查询翻包记录主列表
-export const getPackageoverMainPage = async (params) => {
- if (params.isSearch) {
- delete params.isSearch
- const data = {...params}
- return await request.post({ url: '/wms/packageover-main/senior', data })
- } else {
- return await request.get({ url: `/wms/packageover-main/page`, params })
- }
-}
-
-// 查询翻包记录主详情
-export const getPackageoverMain = async (id: number) => {
- return await request.get({ url: '/wms/packageover-main/get?id=' + id })
-}
-
-// 新增翻包记录主
-export const createPackageoverMain = async (data: PackageoverMainVO) => {
- return await request.post({ url: '/wms/packageover-main/create', data })
-}
-
-// 修改翻包记录主
-export const updatePackageoverMain = async (data: PackageoverMainVO) => {
- return await request.put({ url: '/wms/packageover-main/update', data })
-}
-
-// 删除翻包记录主
-export const deletePackageoverMain = async (id: number) => {
- return await request.delete({ url: '/wms/packageover-main/delete?id=' + id })
-}
-
-// 导出翻包记录主 Excel
-export const exportPackageoverMainApi = async (params) => {
- if (params.isSearch) {
- const data = {...params}
- return await request.downloadPost({ url: `/wms/packageover-main/export-excel-senior`, data })
- } else {
- return await request.download({ url: `/wms/packageover-main/export-excel`, params })
- }
-}
diff --git a/src/api/wms/packageoverDetail/index.ts b/src/api/wms/packageoverRecordDetail/index.ts
similarity index 75%
rename from src/api/wms/packageoverDetail/index.ts
rename to src/api/wms/packageoverRecordDetail/index.ts
index 52a9f97e9..3286e826a 100644
--- a/src/api/wms/packageoverDetail/index.ts
+++ b/src/api/wms/packageoverRecordDetail/index.ts
@@ -35,33 +35,33 @@ export const getPackageoverDetailPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
- return await request.post({ url: '/wms/packageover-detail/senior', data })
+ return await request.post({ url: '/wms/packageover-record-detail/senior', data })
} else {
- return await request.get({ url: `/wms/packageover-detail/page`, params })
+ return await request.get({ url: `/wms/packageover-record-detail/page`, params })
}
}
// 查询翻包记录子详情
export const getPackageoverDetail = async (id: number) => {
- return await request.get({ url: '/wms/packageover-detail/get?id=' + id })
+ return await request.get({ url: '/wms/packageover-record-detail/get?id=' + id })
}
// 新增翻包记录子
export const createPackageoverDetail = async (data: PackageoverDetailVO) => {
- return await request.post({ url: '/wms/packageover-detail/create', data })
+ return await request.post({ url: '/wms/packageover-record-detail/create', data })
}
// 修改翻包记录子
export const updatePackageoverDetail = async (data: PackageoverDetailVO) => {
- return await request.put({ url: '/wms/packageover-detail/update', data })
+ return await request.put({ url: '/wms/packageover-record-detail/update', data })
}
// 删除翻包记录子
export const deletePackageoverDetail = async (id: number) => {
- return await request.delete({ url: '/wms/packageover-detail/delete?id=' + id })
+ return await request.delete({ url: '/wms/packageover-record-detail/delete?id=' + id })
}
// 导出翻包记录子 Excel
export const exportPackageoverDetailApi = async (params) => {
- return await request.download({ url: '/wms/packageover-detail/export-excel', params })
+ return await request.download({ url: '/wms/packageover-record-detail/export-excel', params })
}
diff --git a/src/api/wms/packageoverRecordMain/index.ts b/src/api/wms/packageoverRecordMain/index.ts
new file mode 100644
index 000000000..398cdeaa6
--- /dev/null
+++ b/src/api/wms/packageoverRecordMain/index.ts
@@ -0,0 +1,66 @@
+import request from '@/config/axios'
+
+export interface PackageoverMainVO {
+ id: number
+ number: string
+ status: string
+ requestTime: Date
+ dueTime: Date
+ fromWarehouseCode: string
+ toWarehouseCode: string
+ fromAreaTypes: string
+ toAreaTypes: string
+ fromAreaCodes: string
+ toAreaCodes: string
+ inInventoryStatuses: string
+ outInventoryStatuses: string
+ autoCommit: string
+ autoAgree: string
+ autoExecute: string
+ directCreateRecord: string
+ departmentCode: string
+ remark: string
+ businessType: string
+ concurrencyStamp: number
+}
+
+// 查询翻包申请主列表
+export const getPackageoverMainPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/packageover-record-main/senior', data })
+ } else {
+ return await request.get({ url: `/wms/packageover-record-main/page`, params })
+ }
+}
+
+// 查询翻包申请主详情
+export const getPackageoverMain = async (id: number) => {
+ return await request.get({ url: `/wms/packageover-record-main/get?id=` + id })
+}
+
+// 新增翻包申请主
+export const createPackageoverMain = async (data: PackageoverMainVO) => {
+ return await request.post({ url: `/wms/packageover-record-main/create`, data })
+}
+
+// 修改翻包申请主
+export const updatePackageoverMain = async (data: PackageoverMainVO) => {
+ return await request.put({ url: `/wms/packageover-record-main/update`, data })
+}
+
+// 删除翻包申请主
+export const deletePackageoverMain = async (id: number) => {
+ return await request.delete({ url: `/wms/packageover-record-main/delete?id=` + id })
+}
+
+// 导出翻包申请主 Excel
+export const exportPackageoverMain = async (params) => {
+ return await request.download({ url: `/wms/packageover-record-main/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/packageover-record-main/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/api/wms/packageoverRequestDetail/index.ts b/src/api/wms/packageoverRequestDetail/index.ts
new file mode 100644
index 000000000..0be98182f
--- /dev/null
+++ b/src/api/wms/packageoverRequestDetail/index.ts
@@ -0,0 +1,70 @@
+import request from '@/config/axios'
+
+export interface PackageoverRequestDetailVO {
+ id: number
+ number: string
+ batch: string
+ itemCode: string
+ itemName: string
+ itemDesc1: string
+ itemDesc2: string
+ projectCode: string
+ qty: number
+ uom: string
+ fromPackUnit: string
+ toPackUnit: string
+ fromPackQty: number
+ toPackQty: number
+ fromLocationCode: string
+ toLocationCode: string
+ fromLocationGroupCode: string
+ toLocationGroupCode: string
+ fromAreaCode: string
+ toAreaCode: string
+ inventoryStatus: string
+ remark: string
+ masterId: number
+ fromOwnerCode: string
+ toOwnerCode: string
+}
+
+// 查询翻包申请子列表
+export const getPackageoverRequestDetailPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/packageover-request-detail/senior', data })
+ } else {
+ return await request.get({ url: `/wms/packageover-request-detail/page`, params })
+ }
+}
+
+// 查询翻包申请子详情
+export const getPackageoverRequestDetail = async (id: number) => {
+ return await request.get({ url: `/wms/packageover-request-detail/get?id=` + id })
+}
+
+// 新增翻包申请子
+export const createPackageoverRequestDetail = async (data: PackageoverRequestDetailVO) => {
+ return await request.post({ url: `/wms/packageover-request-detail/create`, data })
+}
+
+// 修改翻包申请子
+export const updatePackageoverRequestDetail = async (data: PackageoverRequestDetailVO) => {
+ return await request.put({ url: `/wms/packageover-request-detail/update`, data })
+}
+
+// 删除翻包申请子
+export const deletePackageoverRequestDetail = async (id: number) => {
+ return await request.delete({ url: `/wms/packageover-request-detail/delete?id=` + id })
+}
+
+// 导出翻包申请子 Excel
+export const exportPackageoverRequestDetail = async (params) => {
+ return await request.download({ url: `/wms/packageover-request-detail/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/packageover-request-detail/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/api/wms/packageoverRequestMain/index.ts b/src/api/wms/packageoverRequestMain/index.ts
new file mode 100644
index 000000000..94b376bdf
--- /dev/null
+++ b/src/api/wms/packageoverRequestMain/index.ts
@@ -0,0 +1,96 @@
+import request from '@/config/axios'
+
+export interface PackageoverRequestMainVO {
+ id: number
+ number: string
+ status: string
+ requestTime: Date
+ dueTime: Date
+ fromWarehouseCode: string
+ toWarehouseCode: string
+ fromAreaTypes: string
+ toAreaTypes: string
+ fromAreaCodes: string
+ toAreaCodes: string
+ inInventoryStatuses: string
+ outInventoryStatuses: string
+ autoCommit: string
+ autoAgree: string
+ autoExecute: string
+ directCreateRecord: string
+ departmentCode: string
+ remark: string
+ businessType: string
+ concurrencyStamp: number
+}
+
+// 查询翻包申请主列表
+export const getPackageoverRequestMainPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/packageover-request-main/senior', data })
+ } else {
+ return await request.get({ url: `/wms/packageover-request-main/page`, params })
+ }
+}
+
+// 查询翻包申请主详情
+export const getPackageoverRequestMain = async (id: number) => {
+ return await request.get({ url: `/wms/packageover-request-main/get?id=` + id })
+}
+
+// 新增翻包申请主
+export const createPackageoverRequestMain = async (data: PackageoverRequestMainVO) => {
+ return await request.post({ url: `/wms/packageover-request-main/create`, data })
+}
+
+// 修改翻包申请主
+export const updatePackageoverRequestMain = async (data: PackageoverRequestMainVO) => {
+ return await request.put({ url: `/wms/packageover-request-main/update`, data })
+}
+
+// 删除翻包申请主
+export const deletePackageoverRequestMain = async (id: number) => {
+ return await request.delete({ url: `/wms/packageover-request-main/delete?id=` + id })
+}
+
+// 导出翻包申请主 Excel
+export const exportPackageoverRequestMain = async (params) => {
+ return await request.download({ url: `/wms/packageover-request-main/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/packageover-request-main/get-import-template' })
+}
+
+// 关闭
+export const close = (id) => {
+ return request.put({ url: '/wms/packageover-request-main/close?id=' + id })
+}
+
+// 重新添加
+export const reAdd = (id) => {
+ return request.put({ url: '/wms/packageover-request-main/reAdd?id=' + id })
+}
+
+// 提交审批
+export const submit = (id) => {
+ return request.put({ url: '/wms/packageover-request-main/submit?id=' + id })
+}
+
+// 驳回
+export const refused = (id) => {
+ return request.put({ url: '/wms/packageover-request-main/refused?id=' + id })
+}
+
+// 审批通过
+export const agree = (id) => {
+ return request.put({ url: '/wms/packageover-request-main/agree?id=' + id })
+}
+
+// 处理
+export const handle = (id) => {
+ return request.put({ url: '/wms/packageover-request-main/handle?id=' + id })
+}
\ No newline at end of file
diff --git a/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverJobMain/index.vue b/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverJobMain/index.vue
new file mode 100644
index 000000000..9b7eba1be
--- /dev/null
+++ b/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverJobMain/index.vue
@@ -0,0 +1,254 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverJobMain/packageoverJobMain.data.ts b/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverJobMain/packageoverJobMain.data.ts
new file mode 100644
index 000000000..e888b4335
--- /dev/null
+++ b/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverJobMain/packageoverJobMain.data.ts
@@ -0,0 +1,816 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+
+export const PackageoverJobMain = useCrudSchemas(reactive([
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ table: {
+ width: 180,
+ fixed: 'left'
+ },
+ isSearch: true,
+ },
+ {
+ label: '申请单号',
+ field: 'requestNumber',
+ sort: 'custom',
+ isSearch: true,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '状态',
+ field: 'status',
+ dictType: DICT_TYPE.JOB_STATUS,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '申请时间',
+ field: 'requestTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '要求截止时间',
+ field: 'requestDueTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '过期时间',
+ field: 'expiredTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '从仓库代码',
+ field: 'fromWarehouseCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到仓库代码',
+ field: 'toWarehouseCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '从库区代码范围',
+ field: 'fromAreaCodes',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到库区代码范围',
+ field: 'toAreaCodes',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '从库区类型范围',
+ field: 'fromAreaTypes',
+ dictType: DICT_TYPE.AREA_TYPE,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到库区类型范围',
+ field: 'toAreaTypes',
+ dictType: DICT_TYPE.AREA_TYPE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '入库库存状态范围',
+ field: 'inInventoryStatuses',
+ sort: 'custom',
+ dictType: DICT_TYPE.INVENTORY_STATUS,
+ dictClass: 'string',
+ isTable: true,
+ table: {
+ width: 150
+ },
+ tableForm: {
+ disabled: true,
+ type: 'Select'
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '出库库存状态范围',
+ field: 'outInventoryStatuses',
+ sort: 'custom',
+ dictType: DICT_TYPE.INVENTORY_STATUS,
+ dictClass: 'string',
+ isTable: true,
+ table: {
+ width: 150
+ },
+ tableForm: {
+ disabled: true,
+ type: 'Select'
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '自动完成',
+ field: 'autoComplete',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ }
+ },
+ {
+ label: '允许修改库位',
+ field: 'allowModifyLocation',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ }
+ },
+ {
+ label: '允许修改数量',
+ field: 'allowModifyQty',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ }
+ },
+ {
+ label: '允许大于推荐数量',
+ field: 'allowBiggerQty',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ }
+ },
+ {
+ label: '允许小于推荐数量',
+ field: 'allowSmallerQty',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ }
+ },
+ {
+ label: '允许修改库存状态',
+ field: 'allowModifyInventoryStatus',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ }
+ },
+ {
+ label: '允许连续扫描',
+ field: 'allowContinuousScanning',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ }
+ },
+ {
+ label: '允许部分完成',
+ field: 'allowPartialComplete',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ }
+ },
+ {
+ label: '允许修改批次',
+ field: 'allowModifyBatch',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ }
+ },
+ {
+ label: '允许修改箱码',
+ field: 'allowModifyPackingNumber',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: 'TRUE',
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE'
+ }
+ }
+ },
+ {
+ label: '承接人用户名',
+ field: 'acceptUserId',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '承接时间',
+ field: 'acceptTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '完成人用户名',
+ field: 'completeUserId',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '完成时间',
+ field: 'completeTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '业务类型',
+ field: 'businessType',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '部门',
+ field: 'departmentCode',
+ sort: 'custom',
+ table: {
+ width: 120
+ },
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '创建者',
+ field: 'creator',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '最后更新者',
+ field: 'update',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '最后更新时间',
+ field: 'updateTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ // {
+ // label: '操作',
+ // field: 'action',
+ // isForm: false,
+ // table: {
+ // width: 150,
+ // fixed: 'right'
+ // }
+ // }
+]))
+
+// 表单校验
+export const PackageoverJobMainRules = reactive({
+
+})
+
+export const PackageoverJobDetail = useCrudSchemas(reactive([
+ {
+ label: '批次',
+ field: 'batch',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '物品代码',
+ field: 'itemCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '物品名称',
+ field: 'itemName',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '物品描述1',
+ field: 'itemDesc1',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '物品描述2',
+ field: 'itemDesc2',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '项目代码',
+ field: 'projectCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '数量',
+ field: 'qty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '计量单位',
+ field: 'uom',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '从包装号',
+ field: 'fromPackingNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到包装号',
+ field: 'toPackingNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '从包装规格',
+ field: 'fromPackUnit',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到包装规格',
+ field: 'toPackUnit',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '从标包数量',
+ field: 'fromPackQty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到标包数量',
+ field: 'toPackQty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '从库位组代码',
+ field: 'fromLocationGroupCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到库位组代码',
+ field: 'toLocationGroupCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '从库区代码',
+ field: 'fromAreaCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到库区代码',
+ field: 'toAreaCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '从库位代码',
+ field: 'fromLocationCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到库位代码',
+ field: 'toLocationCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '从货主代码',
+ field: 'fromOwnerCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '到货主代码',
+ field: 'toOwnerCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '库存状态',
+ field: 'inventoryStatus',
+ dictType: DICT_TYPE.INVENTORY_STATUS,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm: {
+ disabled: true,
+ type: 'Select'
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '创建者',
+ field: 'creator',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '最后更新者',
+ field: 'update',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '最后更新时间',
+ field: 'updateTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ // {
+ // label: '操作',
+ // field: 'action',
+ // isForm: false,
+ // table: {
+ // width: 150,
+ // fixed: 'right'
+ // }
+ // }
+]))
+
+// 表单校验
+export const PackageoverJobDetailRules = reactive({
+
+})
\ No newline at end of file
diff --git a/src/views/wms/inventoryjobManage/packageManage/packageoverMain/index.vue b/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRecordMain/index.vue
similarity index 89%
rename from src/views/wms/inventoryjobManage/packageManage/packageoverMain/index.vue
rename to src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRecordMain/index.vue
index 294e117f8..c66bbf94a 100644
--- a/src/views/wms/inventoryjobManage/packageManage/packageoverMain/index.vue
+++ b/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRecordMain/index.vue
@@ -56,15 +56,15 @@
:allSchemas="PackageoverMain.allSchemas"
:detailAllSchemas="PackageoverDetail.allSchemas"
:detailAllSchemasRules="PackageoverDetailRules"
- :apiPage="PackageoverDetailApi.getPackageoverDetailPage"
+ :apiPage="PackageoverRecordDetailApi.getPackageoverDetailPage"
/>
diff --git a/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts b/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts
new file mode 100644
index 000000000..9d89efee6
--- /dev/null
+++ b/src/views/wms/inventoryjobManage/packageManage/packageoverMain/packageoverRequestMain/packageoverRequestMain.data.ts
@@ -0,0 +1,889 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+import * as getRequestsettingApi from '@/api/wms/requestsetting/index'
+
+import * as WarehouseApi from '@/api/wms/warehouse'
+import { Warehouse } from '@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data'
+
+import * as ItempackagingApi from '@/api/wms/itempackage'
+import { Itempackaging } from '@/views/wms/basicDataManage/itemManage/itempackage/itempackage.data'
+
+import * as BalanceApi from '@/api/wms/balance'
+import { Balance } from '@/views/wms/inventoryManage/balance/balance.data'
+
+// 获取自动提交自动通过自动执行,跳过任务直接生成记录的默认值
+const queryParams = {
+ pageSize:10,
+ pageNo:1,
+ code:'PackageOverRequest'
+}
+ const data = await getRequestsettingApi.getRequestsettingPage(queryParams)
+ const requestsettingData =data?.list[0]||{}
+
+ // 获取当前操作人的部门
+ import { useUserStore } from '@/store/modules/user'
+ import { TableColumn } from '@/types/table'
+ const userStore = useUserStore()
+ const userDept = userStore.userSelfInfo.dept
+ // id 转str 否则form回显匹配不到
+ userDept.id = userDept.id.toString()
+ const userDeptArray:any = [userDept]
+
+export const PackageoverRequestMain = useCrudSchemas(reactive([
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ table: {
+ width: 180,
+ fixed: 'left'
+ },
+ isForm: false,
+ isSearch: true,
+ },
+ {
+ label: '状态',
+ field: 'status',
+ dictType: DICT_TYPE.REQUEST_STATUS,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ value: '1',
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '申请时间',
+ field: 'requestTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ isForm: false,
+ },
+ {
+ label: '截止时间',
+ field: 'dueTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ style:{width:'100%'},
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ },
+ {
+ label: '从仓库代码',
+ field: 'fromWarehouseCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择仓库代码', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '仓库信息', // 查询弹窗标题
+ searchAllSchemas: Warehouse.allSchemas, // 查询弹窗所需类
+ searchPage: WarehouseApi.getWarehousePage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ }
+ },
+ {
+ label: '到仓库代码',
+ field: 'toWarehouseCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '从库区类型范围',
+ field: 'fromAreaTypes',
+ dictType: DICT_TYPE.AREA_TYPE,
+ dictClass: 'string',
+ isSearch: true,
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isForm: false,
+ },
+ {
+ label: '到库区类型范围',
+ field: 'toAreaTypes',
+ dictType: DICT_TYPE.AREA_TYPE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isForm: false
+ },
+ {
+ label: '从库区代码范围',
+ field: 'fromAreaCodes',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isForm: false
+ },
+ {
+ label: '到库区代码范围',
+ field: 'toAreaCodes',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isForm: false
+ },
+ {
+ label: '入库库存状态范围',
+ field: 'inInventoryStatuses',
+ sort: 'custom',
+ isTable: false,
+ isForm: false
+ },
+ {
+ label: '出库库存状态范围',
+ field: 'outInventoryStatuses',
+ sort: 'custom',
+ isTable: false,
+ isForm: false
+ },
+ {
+ label: '部门',
+ field: 'departmentCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ formatter: (_: Recordable, __: TableColumn, cellValue: number) => {
+ return userDeptArray.find((account) => account.id == cellValue)?.name
+ },
+ form: {
+ value: userDept.id,
+ component: 'Select',
+ api: () => userDeptArray,
+ componentProps: {
+ disabled: true,
+ optionsAlias: {
+ labelField: 'name',
+ valueField: 'id'
+ }
+ }
+ }
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTable: false,
+ },
+ {
+ label: '业务类型',
+ field: 'businessType',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ value: 'OverPackage',
+ componentProps: {
+ disabled: true
+ }
+ },
+ isForm: false
+ },
+ {
+ label: '自动提交',
+ field: 'autoCommit',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: requestsettingData.autoCommit,
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE',
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '自动通过',
+ field: 'autoAgree',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: requestsettingData.autoAgree,
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE',
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '自动执行',
+ field: 'autoExecute',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: requestsettingData.autoExecute,
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE',
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '直接生成记录',
+ field: 'directCreateRecord',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: requestsettingData.directCreateRecord,
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE',
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ isForm: false,
+ },
+ {
+ label: '创建者',
+ field: 'creator',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isForm: false,
+ },
+ {
+ label: '最后更新时间',
+ field: 'updateTime',
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x',
+ }
+ },
+ isForm: false,
+ },
+ {
+ label: '最后更新者',
+ field: 'updater',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isForm: false,
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 180,
+ fixed: 'right'
+ }
+ }
+]))
+
+// 表单校验
+export const PackageoverRequestMainRules = reactive({
+ fromWarehouseCode: [
+ { required: true, message: '请选择仓库代码', trigger: 'change' }
+ ],
+})
+
+export const PackageoverRequestDetail = useCrudSchemas(reactive([
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ isTableForm: false,
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '物料代码',
+ field: 'itemCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择物料代码', // 输入框占位文本
+ searchField: 'itemCode', // 查询弹窗赋值字段
+ searchTitle: '库存余额信息', // 查询弹窗标题
+ searchAllSchemas: Balance.allSchemas, // 查询弹窗所需类
+ searchPage: BalanceApi.getBalancePage, // 查询弹窗所需分页方法
+ searchCondition:[
+ // {
+ // key: 'locationCode',
+ // value: 'fromLocationCode',
+ // message: '请填写从库位代码!',
+ // isMainValue: true
+ // },
+ {
+ key: 'inventoryStatus',
+ value: 'OK',
+ isMainValue: false
+ }]
+ }
+ },
+ tableForm:{
+ isInpuFocusShow: true,
+ searchListPlaceholder: '请选择物料代码', // 输入框占位文本
+ searchField: 'itemCode', // 查询弹窗赋值字段
+ searchTitle: '库存余额信息', // 查询弹窗标题
+ searchAllSchemas: Balance.allSchemas, // 查询弹窗所需类
+ searchPage: BalanceApi.getBalancePage, // 查询弹窗所需分页方法
+ searchCondition:[
+ // {
+ // key: 'locationCode',
+ // value: 'fromLocationCode',
+ // message: '请填写从库位代码!',
+ // isMainValue: true
+ // },
+ {
+ key: 'inventoryStatus',
+ value: 'OK',
+ isMainValue: false
+ }]
+ },
+ },
+ {
+ label: '物品名称',
+ field: 'itemName',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTableForm: false,
+ isForm: false
+ },
+ {
+ label: '物品描述1',
+ field: 'itemDesc1',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTableForm: false,
+ isForm: false
+ },
+ {
+ label: '物品描述2',
+ field: 'itemDesc2',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTableForm: false,
+ isForm: false
+ },
+ {
+ label: '项目代码',
+ field: 'projectCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTableForm: false,
+ isForm: false
+ },
+ {
+ label: '数量',
+ field: 'qty',
+ sort: 'custom',
+ table: {
+ width: 100
+ },
+ tableForm: {
+ type: 'InputNumber',
+ min: 0,
+ precision: 6
+ },
+ form: {
+ component: 'InputNumber',
+ componentProps: {
+ min: 0,
+ precision: 6
+ }
+ }
+ },
+ {
+ label: '计量单位',
+ field: 'uom',
+ dictType: DICT_TYPE.UOM,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 120
+ },
+ tableForm:{
+ type: 'Select',
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '从包装规格',
+ field: 'fromPackUnit',
+ sort: 'custom',
+ isSearch: true,
+ table: {
+ width: 120
+ },
+ tableForm:{
+ isInpuFocusShow: true,
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择包装规格', // 输入框占位文本
+ searchField: 'packUnit', // 查询弹窗赋值字段
+ searchTitle: '物料包装信息', // 查询弹窗标题
+ searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
+ searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ },{
+ key: 'itemCode',
+ value: 'itemCode',
+ isMainValue: true
+ }]
+ },
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择包装规格', // 输入框占位文本
+ searchField: 'packUnit', // 查询弹窗赋值字段
+ searchTitle: '物料包装信息', // 查询弹窗标题
+ searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
+ searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ },{
+ key: 'itemCode',
+ value: 'itemCode',
+ message: '请先选择物料代码!', // 当前置条件为空时 弹出信息提示
+ isMainValue: true
+ }]
+ }
+ }
+ },
+ {
+ label: '到包装规格',
+ field: 'toPackUnit',
+ sort: 'custom',
+ isSearch: true,
+ table: {
+ width: 120
+ },
+ tableForm:{
+ isInpuFocusShow: true,
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择包装规格', // 输入框占位文本
+ searchField: 'packUnit', // 查询弹窗赋值字段
+ searchTitle: '物料包装信息', // 查询弹窗标题
+ searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
+ searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ },{
+ key: 'itemCode',
+ value: 'itemCode',
+ message: '请先选择物料代码!', // 当前置条件为空时 弹出信息提示
+ isMainValue: true
+ }]
+ },
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择包装规格', // 输入框占位文本
+ searchField: 'packUnit', // 查询弹窗赋值字段
+ searchTitle: '物料包装信息', // 查询弹窗标题
+ searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类
+ searchPage: ItempackagingApi.getItempackagingPage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ },{
+ key: 'itemCode',
+ value: 'itemCode',
+ isMainValue: true
+ }]
+ }
+ }
+ },
+ {
+ label: '从标包数量',
+ field: 'fromPackQty',
+ sort: 'custom',
+ table: {
+ width: 120
+ },
+ tableForm:{
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '到标包数量',
+ field: 'toPackQty',
+ sort: 'custom',
+ table: {
+ width: 120
+ },
+ tableForm:{
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '批次',
+ field: 'batch',
+ sort: 'custom',
+ table: {
+ width: 120
+ },
+ tableForm:{
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '从库位代码',
+ field: 'fromLocationCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm:{
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '到库位代码',
+ field: 'toLocationCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm:{
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '从库位组代码',
+ field: 'fromLocationGroupCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm:{
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '到库位组代码',
+ field: 'toLocationGroupCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm:{
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '从库区代码',
+ field: 'fromAreaCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm:{
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '到库区代码',
+ field: 'toAreaCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm:{
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '库存状态',
+ field: 'inventoryStatus',
+ dictType: DICT_TYPE.INVENTORY_STATUS,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 110
+ },
+ tableForm: {
+ type: 'Select',
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ isForm: false,
+ isTable: true,
+ 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',
+ }
+ },
+ isTableForm: false,
+ },
+ {
+ label: '创建者',
+ field: 'creator',
+ isTable: true,
+ table: {
+ width: 150
+ },
+ isTableForm: false,
+ isForm: false
+ },
+ {
+ label: '最后更新时间',
+ field: 'updateTime',
+ sort: 'custom',
+ isForm: false,
+ isTable: true,
+ formatter: dateFormatter,
+ detail: {
+ dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ table: {
+ width: 180
+ },
+ isTableForm: false,
+ },
+ {
+ label: '最后更新者',
+ field: 'updater',
+ isForm: false,
+ isTable: true,
+ table: {
+ width: 150
+ },
+ isTableForm: false,
+ }
+]))
+
+// 表单校验
+export const PackageoverRequestDetailRules = reactive({
+ itemCode: [
+ { required: true, message: '请选择物料代码', trigger: 'change' }
+ ],
+ fromPackUnit: [
+ { required: true, message: '请选择从包装规格', trigger: 'change' }
+ ],
+ toPackUnit: [
+ { required: true, message: '请选择到包装规格', trigger: 'change' }
+ ],
+})
\ No newline at end of file