diff --git a/src/api/wms/allocateOrderDetail/types.ts b/src/api/wms/allocateOrderDetail/types.ts index de05799..220a1f9 100644 --- a/src/api/wms/allocateOrderDetail/types.ts +++ b/src/api/wms/allocateOrderDetail/types.ts @@ -32,6 +32,11 @@ export interface AllocateOrderDetailVO { materialName: string; + /** + * 出库数量 + */ + outSum?: number; + } export interface AllocateOrderDetailForm extends BaseEntity { @@ -96,6 +101,11 @@ export interface AllocateOrderDetailForm extends BaseEntity { erpSynchronousQty?: number; + /** + * 出库数量 + */ + outSum?: number; + } @@ -133,6 +143,11 @@ export interface AllocateOrderDetailQuery extends PageQuery { materialName?: string; + /** + * 出库数量 + */ + outSum?: number; + /** * 日期范围参数 */ diff --git a/src/api/wms/inventory/types.ts b/src/api/wms/inventory/types.ts index a415bf1..84a0286 100644 --- a/src/api/wms/inventory/types.ts +++ b/src/api/wms/inventory/types.ts @@ -52,6 +52,14 @@ export interface InventoryVO { warehouseName: string; + createTime?: string; + /** + * 最长停留时间 + * 单位:天 + */ + maxParkingTime?: number ; + + } export interface InventoryForm extends BaseEntity { @@ -112,6 +120,13 @@ export interface InventoryForm extends BaseEntity { warehouseName?: string; + createTime?: string; + /** + * 最长停留时间 + * 单位:天 + */ + maxParkingTime?: number ; + } export interface InventoryQuery extends PageQuery { @@ -174,6 +189,14 @@ export interface InventoryQuery extends PageQuery { materialCategoryName?: string; + createTime?: string; + /** + * 最长停留时间 + * 单位:天 + */ + maxParkingTime?: number ; + + /** * 日期范围参数 */ diff --git a/src/views/wms/inventory/index.vue b/src/views/wms/inventory/index.vue index 84141dc..6a54f0d 100644 --- a/src/views/wms/inventory/index.vue +++ b/src/views/wms/inventory/index.vue @@ -86,6 +86,11 @@ + + + @@ -183,6 +188,7 @@ import { import { getBaseMaterialCategoryListInWMS } from '@/api/wms/baseMaterialCategory'; +import dayjs from 'dayjs'; // 新增导入dayjs库 const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { lock_state, inventory_status, material_mategories } = toRefs(proxy?.useDict('lock_state', 'inventory_status', 'material_mategories')); @@ -212,6 +218,7 @@ const columns = ref([ { key: 4, label: `锁定状态`, visible: true }, { key: 5, label: `库存状态`, visible: true }, { key: 6, label: `仓库`, visible: true }, + { key: 7, label: `距离过期天数`, visible: true }, // { key: 11, label: `${comment}`, visible: true }, // { key: 12, label: `${comment}`, visible: true }, // { key: 13, label: `${comment}`, visible: true }, @@ -230,6 +237,8 @@ const initFormData: InventoryForm = { inventoryStatus: undefined, storeId: undefined, warehouseName: undefined, + createTime: undefined, + maxParkingTime: undefined, } const data = reactive>({ form: {...initFormData}, @@ -248,6 +257,8 @@ const data = reactive>({ inventoryStatus: undefined, storeId: undefined, warehouseName: undefined, + createTime: undefined, + maxParkingTime: undefined, params: { } }, @@ -386,6 +397,17 @@ const getMaterialCategorySelect = async () => { mategoryOptions.value = res.data; }; +const calculateDaysToExpire = (row: InventoryVO) => { + // 计算距离过期天数:(createTime + maxParkingTime) - 当前日期,若负表示过期 + if (!row.createTime || !row.maxParkingTime) return 'N/A'; + const entryDate = dayjs(row.createTime); + const expireDate = entryDate.add(row.maxParkingTime, 'day'); + const today = dayjs(); + const days = expireDate.diff(today, 'day'); + return days >= 0 ? days : days; // 显示负数表示过期 +}; + + onMounted(() => { // getMaterialList().then(e => { // materialList.value = e.data diff --git a/src/views/wms/linkage/index.vue b/src/views/wms/linkage/index.vue index 4f0d28e..b85b259 100644 --- a/src/views/wms/linkage/index.vue +++ b/src/views/wms/linkage/index.vue @@ -107,6 +107,7 @@ +