diff --git a/src/api/wms/transactionBalancePackage/index.ts b/src/api/wms/transactionBalancePackage/index.ts
new file mode 100644
index 000000000..4711c9be1
--- /dev/null
+++ b/src/api/wms/transactionBalancePackage/index.ts
@@ -0,0 +1,55 @@
+import request from '@/config/axios'
+
+export interface TransactionBalancePackageVO {
+ id: number
+ packingNumber: string
+ itemCode: string
+ batch: string
+ locationCode: string
+ inventoryStatusTransaction: string
+ inventoryStatusBalance: string
+ qtyTransaction: number
+ qtyBalance: number
+ qtyDiff: number
+}
+
+// 查询对账_包装号的事务汇总与余额的差异列表
+export const getTransactionBalancePackagePage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/transaction-balance-package/senior', data })
+ } else {
+ return await request.get({ url: `/wms/transaction-balance-package/page`, params })
+ }
+}
+
+// 查询对账_包装号的事务汇总与余额的差异详情
+export const getTransactionBalancePackage = async (id: number) => {
+ return await request.get({ url: `/wms/transaction-balance-package/get?id=` + id })
+}
+
+// 新增对账_包装号的事务汇总与余额的差异
+export const createTransactionBalancePackage = async (data: TransactionBalancePackageVO) => {
+ return await request.post({ url: `/wms/transaction-balance-package/create`, data })
+}
+
+// 修改对账_包装号的事务汇总与余额的差异
+export const updateTransactionBalancePackage = async (data: TransactionBalancePackageVO) => {
+ return await request.put({ url: `/wms/transaction-balance-package/update`, data })
+}
+
+// 删除对账_包装号的事务汇总与余额的差异
+export const deleteTransactionBalancePackage = async (id: number) => {
+ return await request.delete({ url: `/wms/transaction-balance-package/delete?id=` + id })
+}
+
+// 导出对账_包装号的事务汇总与余额的差异 Excel
+export const exportTransactionBalancePackage = async (params) => {
+ return await request.download({ url: `/wms/transaction-balance-package/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/transaction-balance-package/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/views/wms/reconciliation/transactionBalancePackage/index.vue b/src/views/wms/reconciliation/transactionBalancePackage/index.vue
new file mode 100644
index 000000000..43f927dac
--- /dev/null
+++ b/src/views/wms/reconciliation/transactionBalancePackage/index.vue
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.code }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/wms/reconciliation/transactionBalancePackage/transactionBalancePackage.data.ts b/src/views/wms/reconciliation/transactionBalancePackage/transactionBalancePackage.data.ts
new file mode 100644
index 000000000..d452f749f
--- /dev/null
+++ b/src/views/wms/reconciliation/transactionBalancePackage/transactionBalancePackage.data.ts
@@ -0,0 +1,111 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+
+// 表单校验
+export const TransactionBalancePackageRules = reactive({
+ itemCode: [required],
+ batch: [required],
+ inventoryStatusTransaction: [required],
+ inventoryStatusBalance: [required],
+})
+
+export const TransactionBalancePackage = useCrudSchemas(reactive([
+ {
+ label: 'id',
+ field: 'id',
+ sort: 'custom',
+ isForm: false,
+ isTable:false,
+ },
+ {
+ label: '包装号',
+ field: 'packingNumber',
+ sort: 'custom',
+ table: {
+ width: 220,
+ }
+ },
+ {
+ label: '物料代码',
+ field: 'itemCode',
+ sort: 'custom',
+ table: {
+ width: 150,
+ }
+ },
+ {
+ label: '批次',
+ field: 'batch',
+ sort: 'custom',
+ table: {
+ width: 150,
+ }
+ },
+ {
+ label: '库位代码',
+ field: 'locationCode',
+ sort: 'custom',
+ table: {
+ width: 150,
+ }
+ },
+ {
+ label: '库存状态-库存事务',
+ field: 'inventoryStatusTransaction',
+ sort: 'custom',
+ table: {
+ width: 220,
+ }
+ },
+ {
+ label: '库存状态-库存余额',
+ field: 'inventoryStatusBalance',
+ sort: 'custom',
+ table: {
+ width: 220,
+ }
+ },
+ {
+ label: '数量-库存事务',
+ field: 'qtyTransaction',
+ sort: 'custom',
+ table: {
+ width: 220,
+ }
+ },
+ {
+ label: '数量-库存余额',
+ field: 'qtyBalance',
+ sort: 'custom',
+ table: {
+ width: 220,
+ }
+ },
+ {
+ label: '数量-差值(事务-余额)',
+ field: 'qtyDiff',
+ sort: 'custom',
+ table: {
+ width: 220,
+ }
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: true,
+ table: {
+ width: 220,
+ },
+ 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,
+ }
+]))