refactor(wms): 优化库存管理和出库订单复制功能

- 修改生成批号逻辑,使用当前日期并替换连字符为短横线
- 在库存查询中添加物料编码字段
- 优化出库订单复制功能,增加客户选择和物料大类筛选
master
zangch@mesnac.com 4 months ago
parent 87b2206bf1
commit b775c4bf17

@ -46,6 +46,10 @@ export interface InventoryVO {
*/
storeId: string | number;
materialCode: string;
materialName: string;
}
export interface InventoryForm extends BaseEntity {
@ -96,6 +100,10 @@ export interface InventoryForm extends BaseEntity {
*/
storeId?: string | number;
materialCode?: string;
materialName?: string;
}
export interface InventoryQuery extends PageQuery {
@ -145,6 +153,10 @@ export interface InventoryQuery extends PageQuery {
*/
storeId?: string | number;
materialCode?: string;
materialName?: string;
/**
*
*/

@ -748,8 +748,7 @@ const submitForm = async() => {
}
}
/* // 生成batchCode基于配置
childrenTableInfoForm.value.batchCode = generateBatchCode(childrenTableInfoForm.value)*/
childrenTableInfoForm.value.batchCode = generateBatchCode(childrenTableInfoForm.value)
await updateInstockDetail(childrenTableInfoForm.value)
getChildrenTable({instockId: partntTableSelectCell.value.instockId})
childrenTableInfoVisible.value = false
@ -771,15 +770,14 @@ const saveBatchConfig = () => {
const generateBatchCode = (form) => {
if (!selectedComponents.value.length) return '' //
return selectedComponents.value.map(comp => {
if (comp === '当前时间') return new Date().toISOString().slice(0,10)
if (comp === '当前时间') return new Date().toISOString().slice(0,10).replace(/-/g, '')
if (comp === '入库单号') return form.instockCode
if (comp === '物料编码') return form.materialCode
return ''
}).join('-') // -
}).join('')
}
let mategoryOptions = ref([]);
const getMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryListInWMS(null);
@ -833,9 +831,6 @@ const handlePrint = async (row?: InstockDetailVO) => {
const _instockDetailId = row?.instockDetailId || ids.value[0]
const res = await getInstockDetail(_instockDetailId);
Object.assign(childrenTableInfoForm.value, res.data);
}
//
const query = async () => {

@ -229,6 +229,7 @@ const initFormData: InventoryForm = {
materialId: undefined,
locationCode: undefined,
materialCategoryId: undefined,
materialCode: undefined,
materialCategoryName: undefined,//
inventoryQty: undefined,
lockState: undefined,
@ -248,6 +249,7 @@ const data = reactive<PageData<InventoryForm, InventoryQuery>>({
materialCategoryName: undefined,//
inventoryQty: undefined,
lockState: undefined,
materialCode: undefined,
inventoryStatus: undefined,
storeId: undefined,
params: {

@ -75,7 +75,9 @@
</template>
</el-table-column>
<el-table-column label="审核意见" align="center" prop="auditComments"/>
<el-table-column label="客户" align="center" prop="customerId" v-if ="routeOutstockTypeValue == 1 "/>
<el-table-column label="客户" align="center" prop="customerId">
</el-table-column>
<!-- <el-table-column label="入库方式" align="center" prop="inMethod">
<template #default="scope">
<dict-tag :options="wms_allocate_way" :value="scope.row.inMethod"/>
@ -172,7 +174,7 @@
</el-select>
</el-form-item>
<el-form-item label="工单类型" prop="orderType">
<el-select v-model="dialogForm.orderType" placeholder="请选择工单类型(字典1销售订单,2生产订单,3手工,4系统生成)">
<el-select v-model="dialogForm.orderType" placeholder="请选择工单类型">
<el-option
v-for="dict in wms_instock_type"
:key="dict.value"
@ -181,16 +183,27 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="审核人" prop="auditBy">
<el-select v-model="dialogForm.auditBy" placeholder="请选择审核人">
<el-option
v-for="item in userList"
:key="item.userId"
:label="item.userName"
:value="item.userName"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="审核人" prop="auditBy">-->
<!-- <el-select v-model="dialogForm.auditBy" placeholder="请选择审核人">-->
<!-- <el-option-->
<!-- v-for="item in userList"-->
<!-- :key="item.userId"-->
<!-- :label="item.userName"-->
<!-- :value="item.userName"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="销售客户" prop="customerId" v-if ="dialogForm.outstockType === '1' ">
<el-select v-model="dialogForm.customerId" placeholder="请选择客户">
<el-option
v-for="item in baseCustomerList"
:key="item.customerId"
:label="item.customerName"
:value="item.customerId"
></el-option>
</el-select>
</el-form-item>
</el-form>
</el-card>
<el-card style="margin-top: 8px" shadow="never">
@ -202,7 +215,7 @@
<el-table :data="dialogtable" style="width: 100%">
<el-table-column label="物料大类" prop="materialCategoryId">
<el-select v-model="dialogForm.materialCategoryId" placeholder="" :disabled="true">
<el-option v-for="item in mategoryOptions"
<el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"

Loading…
Cancel
Save