|
|
@ -1,5 +1,5 @@ |
|
|
|
import type { CrudSchema } from '@/hooks/web/useCrudSchemas' |
|
|
|
import { dateFormatter } from '@/utils/formatTime' |
|
|
|
import { dateFormatter, dateFormatter2 } from '@/utils/formatTime' |
|
|
|
import * as getRequestsettingApi from '@/api/wms/requestsetting/index' |
|
|
|
|
|
|
|
import * as BalanceApi from '@/api/wms/balance' |
|
|
@ -238,7 +238,511 @@ export const InventorymoveRequestMainRules = reactive({ |
|
|
|
{ required: true, message: '请选择到库位代码', trigger: 'change' } |
|
|
|
] |
|
|
|
}) |
|
|
|
export const BalanceCopy = useCrudSchemas( |
|
|
|
reactive<CrudSchema[]>([ |
|
|
|
{ |
|
|
|
label: '物料代码', |
|
|
|
field: 'itemCode', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
isSearch: true |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '物料名称', |
|
|
|
field: 'itemName', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
isSearch: true |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '包装数量', |
|
|
|
field: 'packQty', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
} |
|
|
|
}, |
|
|
|
// {
|
|
|
|
// label: '器具代码',
|
|
|
|
// field: 'containerNumber',
|
|
|
|
// sort: 'custom',
|
|
|
|
// table: {
|
|
|
|
// width: 150
|
|
|
|
// },
|
|
|
|
// isTable:false
|
|
|
|
// },
|
|
|
|
{ |
|
|
|
label: '库存数量', |
|
|
|
field: 'qty', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
form: { |
|
|
|
component: 'InputNumber' |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '物料描述1', |
|
|
|
field: 'itemDesc1', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
hiddenSearchHigh: true,// 高级筛选中隐藏
|
|
|
|
isSearch: true |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '物料描述2', |
|
|
|
field: 'itemDesc2', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
hiddenSearchHigh: true,// 高级筛选中隐藏
|
|
|
|
isSearch: true |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '物料类型', |
|
|
|
field: 'itemType', |
|
|
|
sort: 'custom', |
|
|
|
dictType: DICT_TYPE.ITEM_TYPE, |
|
|
|
dictClass: 'string', |
|
|
|
isSearch: true, |
|
|
|
table: { |
|
|
|
width: 100 |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '批次', |
|
|
|
field: 'batch', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
isSearch: true |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '供应商批次', |
|
|
|
field: 'altBatch', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
isSearch: false |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '包装号', |
|
|
|
field: 'packingNumber', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
isSearch: true |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '包装规格', |
|
|
|
field: 'packUnit', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
} |
|
|
|
}, |
|
|
|
// {
|
|
|
|
// label: '器具代码',
|
|
|
|
// field: 'containerNumber',
|
|
|
|
// sort: 'custom',
|
|
|
|
// table: {
|
|
|
|
// width: 150
|
|
|
|
// },
|
|
|
|
// isTable:false
|
|
|
|
// },
|
|
|
|
{ |
|
|
|
label: '创建者', |
|
|
|
field: 'creator', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
isForm: false |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '计量单位', |
|
|
|
field: 'uom', |
|
|
|
dictType: DICT_TYPE.UOM, |
|
|
|
dictClass: 'string', |
|
|
|
isTable: true, |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '库位代码', |
|
|
|
field: 'locationCode', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
isSearch: true |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '库存状态', |
|
|
|
field: 'inventoryStatus', |
|
|
|
dictType: DICT_TYPE.INVENTORY_STATUS, |
|
|
|
dictClass: 'string', |
|
|
|
isTable: true, |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '库区类型', |
|
|
|
field: 'areaType', |
|
|
|
sort: 'custom', |
|
|
|
dictType: DICT_TYPE.AREA_TYPE, |
|
|
|
dictClass: 'string', |
|
|
|
isTable: true, |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
label: '仓库代码', |
|
|
|
field: 'warehouseCode', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '库位组代码', |
|
|
|
field: 'locationGroupCode', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '库区代码', |
|
|
|
field: 'areaCode', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
} |
|
|
|
}, |
|
|
|
// {
|
|
|
|
// label: 'ERP库位代码',
|
|
|
|
// field: 'erpLocationCode',
|
|
|
|
// dictType: DICT_TYPE.ERP_LOCATION,
|
|
|
|
// dictClass: 'string',
|
|
|
|
// isTable: false,
|
|
|
|
// sort: 'custom',
|
|
|
|
// table: {
|
|
|
|
// width: 150
|
|
|
|
// },
|
|
|
|
// },
|
|
|
|
// {
|
|
|
|
// label: '替代批次',
|
|
|
|
// field: 'altBatch',
|
|
|
|
// sort: 'custom',
|
|
|
|
// table: {
|
|
|
|
// width: 150
|
|
|
|
// },
|
|
|
|
// isTable: false,
|
|
|
|
// },
|
|
|
|
{ |
|
|
|
label: '到货日期', |
|
|
|
field: 'arriveDate', |
|
|
|
isTable: true, |
|
|
|
formatter: dateFormatter2, |
|
|
|
detail: { |
|
|
|
dateFormat: 'YYYY-MM-DD' |
|
|
|
}, |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
form: { |
|
|
|
component: 'DatePicker', |
|
|
|
componentProps: { |
|
|
|
style: { width: '100%' }, |
|
|
|
type: 'date', |
|
|
|
dateFormat: 'YYYY-MM-DD', |
|
|
|
valueFormat: 'x' |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '生产日期', |
|
|
|
field: 'produceDate', |
|
|
|
isTable: true, |
|
|
|
formatter: dateFormatter2, |
|
|
|
detail: { |
|
|
|
dateFormat: 'YYYY-MM-DD' |
|
|
|
}, |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
form: { |
|
|
|
component: 'DatePicker', |
|
|
|
componentProps: { |
|
|
|
style: { width: '100%' }, |
|
|
|
type: 'date', |
|
|
|
dateFormat: 'YYYY-MM-DD', |
|
|
|
valueFormat: 'x' |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '失效日期', |
|
|
|
field: 'expireDate', |
|
|
|
isTable: true, |
|
|
|
formatter: dateFormatter2, |
|
|
|
detail: { |
|
|
|
dateFormat: 'YYYY-MM-DD' |
|
|
|
}, |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
form: { |
|
|
|
component: 'DatePicker', |
|
|
|
componentProps: { |
|
|
|
style: { width: '100%' }, |
|
|
|
type: 'date', |
|
|
|
dateFormat: 'YYYY-MM-DD', |
|
|
|
valueFormat: 'x' |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '货主代码', |
|
|
|
field: 'ownerCode', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
isTable: false |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '锁定数量', |
|
|
|
field: 'lockedQty', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
isTable: false, |
|
|
|
form: { |
|
|
|
component: 'InputNumber' |
|
|
|
} |
|
|
|
}, |
|
|
|
// {
|
|
|
|
// label: '可用数量',
|
|
|
|
// field: 'usableQty',
|
|
|
|
// sort: 'custom',
|
|
|
|
// table: {
|
|
|
|
// width: 150
|
|
|
|
// },
|
|
|
|
// form: {
|
|
|
|
// component: 'InputNumber',
|
|
|
|
// }
|
|
|
|
// },
|
|
|
|
// {
|
|
|
|
// label: '单价',
|
|
|
|
// field: 'singlePrice',
|
|
|
|
// sort: 'custom',
|
|
|
|
// table: {
|
|
|
|
// width: 150
|
|
|
|
// },
|
|
|
|
// form: {
|
|
|
|
// component: 'InputNumber',
|
|
|
|
// }
|
|
|
|
// },
|
|
|
|
// {
|
|
|
|
// label: '金额',
|
|
|
|
// field: 'amount',
|
|
|
|
// sort: 'custom',
|
|
|
|
// table: {
|
|
|
|
// width: 150
|
|
|
|
// },
|
|
|
|
// form: {
|
|
|
|
// component: 'InputNumber',
|
|
|
|
// }
|
|
|
|
// },
|
|
|
|
// {
|
|
|
|
// label: '入库时间',
|
|
|
|
// field: 'putInTime',
|
|
|
|
// isTable: true,
|
|
|
|
// formatter: dateFormatter,
|
|
|
|
// detail: {
|
|
|
|
// dateFormat: 'YYYY-MM-DD HH:mm:ss'
|
|
|
|
// },
|
|
|
|
// sort: 'custom',
|
|
|
|
// table: {
|
|
|
|
// width: 150
|
|
|
|
// },
|
|
|
|
// form: {
|
|
|
|
// component: 'DatePicker',
|
|
|
|
// componentProps: {
|
|
|
|
// type: 'datetime',
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// },
|
|
|
|
{ |
|
|
|
label: '是否冻结', |
|
|
|
field: 'frozen', |
|
|
|
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: 'frozenReason',
|
|
|
|
// dictType: DICT_TYPE.FROZEN_REASON,
|
|
|
|
// dictClass: 'string',
|
|
|
|
// isTable: true,
|
|
|
|
// sort: 'custom',
|
|
|
|
// table: {
|
|
|
|
// width: 150
|
|
|
|
// },
|
|
|
|
// },
|
|
|
|
// {
|
|
|
|
// label: '重量',
|
|
|
|
// field: 'weight',
|
|
|
|
// sort: 'custom',
|
|
|
|
// table: {
|
|
|
|
// width: 150
|
|
|
|
// },
|
|
|
|
// form: {
|
|
|
|
// component: 'InputNumber',
|
|
|
|
// }
|
|
|
|
// },
|
|
|
|
// {
|
|
|
|
// label: '面积',
|
|
|
|
// field: 'area',
|
|
|
|
// sort: 'custom',
|
|
|
|
// table: {
|
|
|
|
// width: 150
|
|
|
|
// },
|
|
|
|
// form: {
|
|
|
|
// component: 'InputNumber',
|
|
|
|
// }
|
|
|
|
// },
|
|
|
|
// {
|
|
|
|
// label: '体积',
|
|
|
|
// field: 'volume',
|
|
|
|
// sort: 'custom',
|
|
|
|
// table: {
|
|
|
|
// width: 150
|
|
|
|
// },
|
|
|
|
// form: {
|
|
|
|
// component: 'InputNumber',
|
|
|
|
// }
|
|
|
|
// },
|
|
|
|
{ |
|
|
|
label: '最后事务号', |
|
|
|
field: 'lastTransNumber', |
|
|
|
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: { |
|
|
|
style: { width: '100%' }, |
|
|
|
type: 'datetime', |
|
|
|
dateFormat: 'YYYY-MM-DD HH:mm:ss', |
|
|
|
valueFormat: 'x' |
|
|
|
} |
|
|
|
}, |
|
|
|
isForm: false, |
|
|
|
isSearch: true, |
|
|
|
search: { |
|
|
|
component: 'DatePicker', |
|
|
|
componentProps: { |
|
|
|
valueFormat: 'YYYY-MM-DD HH:mm:ss', |
|
|
|
type: 'datetimerange', |
|
|
|
defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
{ |
|
|
|
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, |
|
|
|
isTable: true |
|
|
|
}, |
|
|
|
{ |
|
|
|
label: '最后更新者', |
|
|
|
field: 'updater', |
|
|
|
sort: 'custom', |
|
|
|
table: { |
|
|
|
width: 150 |
|
|
|
}, |
|
|
|
isForm: false, |
|
|
|
isTable: true |
|
|
|
}, |
|
|
|
// TODO: 临时添加 方便操作
|
|
|
|
{ |
|
|
|
label: '操作', |
|
|
|
field: 'action', |
|
|
|
isDetail: false, |
|
|
|
isForm: false, |
|
|
|
table: { |
|
|
|
width: 200, |
|
|
|
fixed: 'right' |
|
|
|
} |
|
|
|
} |
|
|
|
]) |
|
|
|
) |
|
|
|
/** |
|
|
|
* @returns {Array} 库存转移申请子表 |
|
|
|
*/ |
|
|
@ -257,7 +761,7 @@ export const InventorymoveRequestDetail = useCrudSchemas(reactive<CrudSchema[]>( |
|
|
|
searchListPlaceholder: '请选择从包装号', |
|
|
|
searchField: 'packingNumber', |
|
|
|
searchTitle: '库存余额信息', |
|
|
|
searchAllSchemas: Balance.allSchemas, |
|
|
|
searchAllSchemas: BalanceCopy.allSchemas, |
|
|
|
searchPage: BalanceApi.selectLocationTypeToBalance, |
|
|
|
searchCondition: [{ |
|
|
|
key: 'businessType', |
|
|
@ -279,7 +783,7 @@ export const InventorymoveRequestDetail = useCrudSchemas(reactive<CrudSchema[]>( |
|
|
|
searchListPlaceholder: '请选择从包装号', |
|
|
|
searchField: 'packingNumber', |
|
|
|
searchTitle: '库存余额信息', |
|
|
|
searchAllSchemas: Balance.allSchemas, |
|
|
|
searchAllSchemas: BalanceCopy.allSchemas, |
|
|
|
searchPage: BalanceApi.selectLocationTypeToBalance, |
|
|
|
searchCondition: [{ |
|
|
|
key: 'businessType', |
|
|
|