refactor(wms): 调整入库相关页面的物料大类字段显示逻辑

- 在多个页面中注释掉物料大类相关的代码
- 调整部分字段的可见性设置
-优化部分代码结构以提高可读性
master
zangch@mesnac.com 5 months ago
parent 3a5a840953
commit 10404fb469

@ -76,6 +76,11 @@ export interface InstockPrintVO {
*/
actualInboundTime: string;
/**
*
*/
createTime?: string;
}
@ -151,12 +156,17 @@ export interface InstockPrintForm extends BaseEntity {
* (0-,1-,2-)
*/
inboundStatus?: string;
/**
*
*/
actualInboundTime?: string;
/**
*
*/
createTime?: string;
}
export interface InstockPrintQuery extends PageQuery {
@ -223,6 +233,10 @@ export interface InstockPrintQuery extends PageQuery {
materialCategoryName?: string;
/**
*
*/
createTime?: string;
/**
* id
@ -233,7 +247,7 @@ export interface InstockPrintQuery extends PageQuery {
* (0-,1-,2-)
*/
inboundStatus?: string;
/**
*
*/

@ -77,6 +77,17 @@ export interface InstockRecordVO {
*/
specialType: string | number;
/**
*
*/
userName: string;
/**
*
*/
nickName: string;
}
export interface InstockRecordForm extends BaseEntity {
@ -84,7 +95,7 @@ export interface InstockRecordForm extends BaseEntity {
* ID
*/
instockRecordId?: string | number;
/**
*
*/
@ -157,6 +168,16 @@ export interface InstockRecordForm extends BaseEntity {
*/
specialType?: string | number;
/**
*
*/
userName?: string;
/**
*
*/
nickName?: string;
}
export interface InstockRecordQuery extends PageQuery {
@ -218,6 +239,16 @@ export interface InstockRecordQuery extends PageQuery {
*/
specialType?: string | number;
/**
*
*/
userName?: string;
/**
*
*/
nickName?: string;
/**
*
*/

@ -64,8 +64,8 @@
<el-table-column type="selection" width="55"/>
<!-- <el-table-column label="入库单 主键" align="center" prop="instockId"/> -->
<el-table-column label="入库单号" align="center" prop="instockCode"/>
<el-table-column label="物料大类" align="center" prop="materialCategoryName">
</el-table-column>
<!-- <el-table-column label="物料大类" align="center" prop="materialCategoryName">-->
<!-- </el-table-column>-->
<el-table-column label="工单类型" align="center" prop="instockType">
<template #default="scope">
<dict-tag :options="wms_instock_type" :value="scope.row.instockType"/>
@ -138,8 +138,8 @@
<dict-tag :options="wms_barcode_if" :value="scope.row.codeYesNo"/>
</template>
</el-table-column>
<el-table-column label="物料大类" align="center" prop="materialCategoryName">
</el-table-column>
<!-- <el-table-column label="物料大类" align="center" prop="materialCategoryName">-->
<!-- </el-table-column>-->
<el-table-column label="操作" fixed="right" width="200">
<template #default="scope">
<el-button size="small" @click="childrenTableUpdate( scope.row)" v-if="auditStatusLoad && partntTableSelectCell.instockType !== '6'">
@ -547,7 +547,7 @@
<el-form-item label="分包数量" prop="splitPackageCount">
<el-input-number v-model="childrenTableInfoForm.splitPackageCount" :min="1" :max="remainingQty" placeholder="请输入分包数量" @change="onSplitPackageCountChange" />
</el-form-item>
<!-- 当分包数量大于1时显示分包模式选择和每包数量配置 -->
<el-form-item v-if="childrenTableInfoForm.splitPackageCount > 1" label="分包模式">
<el-radio-group v-model="packageMode" @change="onPackageModeChange">
@ -555,7 +555,7 @@
<el-radio value="custom">自定义每包数量</el-radio>
</el-radio-group>
</el-form-item>
<!-- 平均分包模式显示分包预览 -->
<el-form-item v-if="childrenTableInfoForm.splitPackageCount > 1 && packageMode === 'average'" label="分包预览">
<div class="package-preview-container">
@ -568,17 +568,17 @@
</div>
</div>
</el-form-item>
<!-- 自定义每包数量模式显示输入框 -->
<el-form-item v-if="childrenTableInfoForm.splitPackageCount > 1 && packageMode === 'custom'" label="每包数量分配">
<div class="package-qty-container">
<div v-for="(qty, index) in packageQtyList" :key="index" class="package-qty-item">
<label>{{index + 1}}</label>
<el-input-number
v-model="packageQtyList[index]"
:min="1"
:max="remainingQty"
placeholder="请输入数量"
<el-input-number
v-model="packageQtyList[index]"
:min="1"
:max="remainingQty"
placeholder="请输入数量"
@change="validateTotalQty"
size="small"
style="width: 120px;"
@ -589,7 +589,7 @@
</div>
</div>
</el-form-item>
<el-form-item label="打印数量" prop="printCopies" v-if="childrenTableInfoForm.splitPackageCount === 1 || !childrenTableInfoForm.splitPackageCount">
<el-input-number v-model="childrenTableInfoForm.printCopies" :min="1" :max="20" placeholder="请输入打印条码数量" />
</el-form-item>
@ -706,7 +706,8 @@ const childrenTableInfoForm = ref<any>({
printCopies: 1,
packageQtyList: [] as number[],
packageMode: 'average',
batchCode: ''
batchCode: '',
createTime: '',
})
@ -719,7 +720,7 @@ const queryForm = ref({
instockMethond: '',
auditStatus: '',
pageNum: 1,
pageSize: 10
pageSize: 10,
})
//
@ -734,6 +735,18 @@ if (route.query.instockMethond) {
queryForm.value.instockMethond = instockMethondValue;
routeInstockMethondValue = instockMethondValue; //
}
//
let routeInstockTypeValue = '';
if (route.query.instockType) {
//
const instockTypeValue = Array.isArray(route.query.instockType)
? route.query.instockType[0]
: route.query.instockType;
queryForm.value.instockType = instockTypeValue;
routeInstockTypeValue = instockTypeValue; //
}
const parentTableRef = ref()
const parentTableData = ref([])
@ -811,7 +824,7 @@ const submitForm = async() => {
return
}
}
//
childrenTableInfoForm.value.packageQtyList = finalPackageList
childrenTableInfoForm.value.packageMode = packageMode.value //
@ -923,7 +936,7 @@ const reset = () => {
instockCode: '',
materialCategoryId: '',
materialCategoryName: '',
instockType: '',
instockType: routeInstockTypeValue,
instockMethond: routeInstockMethondValue,// 使
auditStatus: '',
pageNum: 1,
@ -954,7 +967,7 @@ const viewDetails = (e) => {
//
const parentTableAdd = () => {
dialogVisible.value = true;
dialogForm.value = { instockType: '', orderNo: '', materialCategoryId: '', warehouseId: '' };
dialogForm.value = { instockType: '', orderNo: '', materialCategoryId: '', warehouseId: '' };
dialogtable.value = [];
//
setTimeout(() => {
@ -1044,14 +1057,14 @@ const dialogSubmit = async () => {
ElMessage.error('表单引用未找到');
return;
}
try {
await dialogFormRef.value.validate();
} catch (error) {
ElMessage.error('请填写完整的表单信息');
return;
}
console.log(dialogtable.value)
//
const detailList = (dialogtable.value || [])
@ -1264,7 +1277,7 @@ const handleAssociatePurchaseOrder = async () => {
try {
// 使API
const res = await getWmsPurchaseOrderDetailWithStatistics({
const res = await getWmsPurchaseOrderDetailWithStatistics({
poNo: order.poNo
});
dialogtable.value = res.data.map(item => ({
@ -1356,14 +1369,14 @@ const onSplitPackageCountChange = (count) => {
if (count > 1) {
// 使
packageMode.value = 'average'
//
packageQtyList.value = new Array(count).fill(1)
averagePackageList.value = new Array(count).fill(1)
//
calculateAveragePackage(count)
//
packageQtyList.value = [...averagePackageList.value]
} else {
@ -1379,7 +1392,7 @@ const calculateAveragePackage = (count) => {
if (remaining > 0 && count > 0) {
const avgQty = Math.floor(remaining / count)
const remainder = remaining % count
for (let i = 0; i < count; i++) {
averagePackageList.value[i] = avgQty + (i < remainder ? 1 : 0)
}
@ -1399,7 +1412,7 @@ const onPackageModeChange = (mode) => {
const validateTotalQty = () => {
const total = totalPackageQty.value
const remaining = remainingQty.value
if (total > remaining) {
ElMessage.warning(`每包数量总计不能超过剩余数量 ${remaining}`)
}

@ -51,17 +51,17 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类">
<!-- <el-form-item label="物料大类" prop="materialCategoryId">-->
<!-- <el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类">-->
<el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
<!-- <el-option v-for="item in mategoryOptions"-->
<!-- :key="item.materialCategoryId"-->
<!-- :label="item.materialCategoryName"-->
<!-- :value="item.materialCategoryId"-->
<!-- />-->
</el-select>
</el-form-item>
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
@ -138,6 +138,7 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改入库单-物料打印条码对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="instockPrintFormRef" :model="form" :rules="rules" label-width="80px">
@ -232,6 +233,7 @@ const initFormData: InstockPrintForm = {
inboundStatus: undefined,
actualInboundTime: undefined,
}
const data = reactive<PageData<InstockPrintForm, InstockPrintQuery>>({
form: {...initFormData},
queryParams: {
@ -335,7 +337,7 @@ const columns = ref<FieldOption[]>([
{ key: 9, label: `物料规格`, visible: true },
{ key: 10, label: `计量单位名称`, visible: true },
{ key: 11, label: `是否有条码`, visible: true },
{ key: 12, label: `物料大类`, visible: true },
{ key: 12, label: `物料大类`, visible: false },
// { key: 13, label: `id`, visible: inboundStatusdVisble.value },
// { key: 14, label: `(0-,1-,2-)`, visible: inboundStatusdVisble.value },
// { key: 15, label: ``, visible: inboundStatusdVisble.value },

@ -26,15 +26,15 @@
<!-- <el-form-item label="物料名称" prop="materialName">
<el-input v-model="queryParams.materialName" placeholder="请输入物料名称" clearable @keyup.enter="handleQuery" />
</el-form-item> -->
<el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类" clearable >
<el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="物料大类" prop="materialCategoryId">-->
<!-- <el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类" clearable >-->
<!-- <el-option v-for="item in mategoryOptions"-->
<!-- :key="item.materialCategoryId"-->
<!-- :label="item.materialCategoryName"-->
<!-- :value="item.materialCategoryId"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="erp同步状态" prop="erpSynchronousStatus" label-width="120px">
<el-select v-model="queryParams.erpSynchronousStatus" placeholder="请选择erp同步状态" clearable >
<el-option v-for="dict in sys_common_status" :key="dict.value" :label="dict.label" :value="dict.value"/>
@ -83,7 +83,7 @@
<el-table-column label="入库数量" align="center" prop="instockQty" v-if="columns[8].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategoryName" v-if="columns[9].visible">
</el-table-column>
<el-table-column label="入库人" align="center" prop="createBy" v-if="columns[10].visible"/>
<el-table-column label="入库人" align="center" prop="userName" v-if="columns[10].visible"/>
<el-table-column label="创建时间" align="center" prop="createTime" width="180" v-if="columns[11].visible">
<template #default="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
@ -119,7 +119,7 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改入库记录对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="instockRecordFormRef" :model="form" :rules="rules" label-width="80px">
@ -221,11 +221,11 @@ const columns = ref<FieldOption[]>([
{ key: 6, label: `物料编码`, visible: true },
{ key: 7, label: `物料名称`, visible: true },
{ key: 8, label: `入库数量`, visible: true },
{ key: 9, label: `物料大类`, visible: true },
{ key: 9, label: `物料大类`, visible: false },
{ key: 10, label: `入库人`, visible: true },
{ key: 11, label: `创建时间`, visible: true },
{ key: 12, label: `erp同步状态`, visible: false },
{ key: 13, label: `erp同步数量`, visible: false },
{ key: 13, label: `erp同步数量`, visible: false },
// { key: 14, label: ``, visible: true },
{ key: 14, label: `同步时间`, visible: true },
{ key: 15, label: `特殊标识`, visible: true },
@ -248,6 +248,7 @@ const initFormData: InstockRecordForm = {
erpSynchronousQty: undefined,
specialType: undefined,
}
const data = reactive<PageData<InstockRecordForm, InstockRecordQuery>>({
form: {...initFormData},
queryParams: {
@ -266,6 +267,7 @@ const data = reactive<PageData<InstockRecordForm, InstockRecordQuery>>({
params: {
}
},
rules: {
erpSynchronousStatus: [
{ required: true, message: "erp同步状态不能为空", trigger: "change" }

@ -291,7 +291,7 @@ const columns = ref<FieldOption[]>([
{ key: 10, label: `创建时间`, visible: false },
{ key: 11, label: `更新人`, visible: false },
{ key: 12, label: `更新时间`, visible: false },
{ key: 13, label: `物料大类`, visible: true },
{ key: 13, label: `物料大类`, visible: false },
{ key: 14, label: `审核人`, visible: false },
{ key: 15, label: `审核时间`, visible: false },
{ key: 16, label: `审核状态`, visible: false },

@ -15,15 +15,15 @@
<el-option v-for="dict in wms_po_type" :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="queryForm.materialCategoryId" placeholder="请选择物料大类" clearable>
<el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId"
:label="item.materialCategoryName"
:value="item.materialCategoryId"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="物料大类" prop="materialCategoryId">-->
<!-- <el-select v-model="queryForm.materialCategoryId" placeholder="请选择物料大类" clearable>-->
<!-- <el-option v-for="item in mategoryOptions"-->
<!-- :key="item.materialCategoryId"-->
<!-- :label="item.materialCategoryName"-->
<!-- :value="item.materialCategoryId"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="审核状态" prop="auditStatus">
<el-select v-model="queryForm.auditStatus" placeholder="请选择审核状态" clearable>
<el-option v-for="dict in wms_audit_status" :key="dict.value" :label="dict.label" :value="dict.value"/>
@ -63,11 +63,11 @@
<el-table-column type="selection" width="55"/>
<el-table-column label="订单编号" align="center" prop="poNo"/>
<!-- <el-table-column label="订单状态" align="center" prop="poStatus">-->
<!-- <template #default="scope">-->
<!-- <dict-tag :options="wms_po_status" :value="scope.row.poStatus"/>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="订单状态" align="center" prop="poStatus">
<template #default="scope">
<dict-tag :options="wms_po_status" :value="scope.row.poStatus"/>
</template>
</el-table-column>
<el-table-column label="计划交货日期" align="center" prop="planDeliveryDate" width="180">
<template #default="scope">
<span>{{ parseTime(scope.row.planDeliveryDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
@ -342,7 +342,7 @@
<el-input v-model="scope.row.purchaseQty" placeholder="请输入采购数量" style="width: 240px"/>
</template>
</el-table-column>
<!-- <el-table-column label="送货数量" prop="deliveryQty">
<!-- <el-table-column label="送货数量" prop="deliveryQty" readonly>
<template #default="scope">
<el-input v-model="scope.row.deliveryQty" placeholder="请输入送货数量" style="width: 240px"/>
</template>

Loading…
Cancel
Save