feat: 优化物料类型选择逻辑和表格配置
添加物料类型选择逻辑,根据原料或产品类型设置selectType 调整表格树形配置,无分组条件时禁用树形显示 移除调拨状态列和必填备注校验,自动生成调拨单号和时间
This commit is contained in:
@@ -1013,6 +1013,7 @@ export default {
|
|||||||
if (this.showWaybill) {
|
if (this.showWaybill) {
|
||||||
const { shipmentTime, ...query } = {
|
const { shipmentTime, ...query } = {
|
||||||
...this.queryParams,
|
...this.queryParams,
|
||||||
|
selectType: this.querys.materialType === '原料' ? 'raw_material' : 'product',
|
||||||
startTime: this.queryParams.shipmentTime?.[0],
|
startTime: this.queryParams.shipmentTime?.[0],
|
||||||
endTime: this.queryParams.shipmentTime?.[1],
|
endTime: this.queryParams.shipmentTime?.[1],
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,7 @@
|
|||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<el-table-column label="调拨单号" align="center" prop="transferNo" />
|
<el-table-column label="调拨单号" align="center" prop="transferNo" />
|
||||||
<el-table-column label="调拨单名称" align="center" prop="transferName" />
|
<el-table-column label="调拨单名称" align="center" prop="transferName" />
|
||||||
<el-table-column label="调拨状态" align="center" prop="transferStatus" />
|
<!-- <el-table-column label="调拨状态" align="center" prop="transferStatus" /> -->
|
||||||
<el-table-column label="调拨时间" align="center" prop="transferTime" width="180">
|
<el-table-column label="调拨时间" align="center" prop="transferTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{ parseTime(scope.row.transferTime, '{y}-{m}-{d}') }}</span>
|
<span>{{ parseTime(scope.row.transferTime, '{y}-{m}-{d}') }}</span>
|
||||||
@@ -206,9 +206,9 @@ export default {
|
|||||||
transferTime: [
|
transferTime: [
|
||||||
{ required: true, message: "实际调拨时间不能为空", trigger: "blur" }
|
{ required: true, message: "实际调拨时间不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
remark: [
|
// remark: [
|
||||||
{ required: true, message: "备注不能为空", trigger: "blur" }
|
// { required: true, message: "备注不能为空", trigger: "blur" }
|
||||||
],
|
// ],
|
||||||
},
|
},
|
||||||
// 详情弹窗loading
|
// 详情弹窗loading
|
||||||
detailLoading: false,
|
detailLoading: false,
|
||||||
@@ -305,6 +305,25 @@ export default {
|
|||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
handleAdd() {
|
handleAdd() {
|
||||||
this.reset();
|
this.reset();
|
||||||
|
// 生成当前时间
|
||||||
|
const currentDate = new Date();
|
||||||
|
// 生成调拨单号:TR + 年月日时分秒
|
||||||
|
const transferNo = 'TR' + currentDate.getFullYear() +
|
||||||
|
String(currentDate.getMonth() + 1).padStart(2, '0') +
|
||||||
|
String(currentDate.getDate()).padStart(2, '0') +
|
||||||
|
String(currentDate.getHours()).padStart(2, '0') +
|
||||||
|
String(currentDate.getMinutes()).padStart(2, '0') +
|
||||||
|
String(currentDate.getSeconds()).padStart(2, '0');
|
||||||
|
// 生成调拨时间:YYYY-MM-DD HH:mm:ss
|
||||||
|
const transferTime = currentDate.getFullYear() + '-' +
|
||||||
|
String(currentDate.getMonth() + 1).padStart(2, '0') + '-' +
|
||||||
|
String(currentDate.getDate()).padStart(2, '0') + ' ' +
|
||||||
|
String(currentDate.getHours()).padStart(2, '0') + ':' +
|
||||||
|
String(currentDate.getMinutes()).padStart(2, '0') + ':' +
|
||||||
|
String(currentDate.getSeconds()).padStart(2, '0');
|
||||||
|
// 填充表单
|
||||||
|
this.form.transferNo = transferNo;
|
||||||
|
this.form.transferTime = transferTime;
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.title = "添加调拨单主";
|
this.title = "添加调拨单主";
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -61,8 +61,8 @@
|
|||||||
</vxe-toolbar>
|
</vxe-toolbar>
|
||||||
|
|
||||||
<div style="height: calc(100vh - 260px);">
|
<div style="height: calc(100vh - 260px);">
|
||||||
<vxe-table ref="xTree" :loading="loading" :data="list" size="mini" :tree-config="tableTreeConfig"
|
<vxe-table ref="xTree" :loading="loading" :data="list" size="mini" :tree-config="effectiveTreeConfig"
|
||||||
max-height="100%" @row-click="handleTableRowClick" :export-config="{}">
|
max-height="100%" @row-click="handleTableRowClick" :export-config="{}" :scroll-y="{ enabled: true }">
|
||||||
<vxe-table-column field="itemType" title="物料类型" align="center" :formatter="formatterItemType" tree-node sortable :filters="[{label: '产品', value: 'product'}, {label: '原料', value: 'raw_material'}]" :filter-method="filterItemTypeMethod">
|
<vxe-table-column field="itemType" title="物料类型" align="center" :formatter="formatterItemType" tree-node sortable :filters="[{label: '产品', value: 'product'}, {label: '原料', value: 'raw_material'}]" :filter-method="filterItemTypeMethod">
|
||||||
<template v-slot="{ row }">
|
<template v-slot="{ row }">
|
||||||
<span v-if="row.itemType">{{ formatterItemType(row.itemType) }}</span>
|
<span v-if="row.itemType">{{ formatterItemType(row.itemType) }}</span>
|
||||||
@@ -226,6 +226,11 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return filterData([...this.stockList]);
|
return filterData([...this.stockList]);
|
||||||
|
},
|
||||||
|
// 控制是否启用树形数据配置
|
||||||
|
effectiveTreeConfig() {
|
||||||
|
// 当没有分组条件时,不启用树形数据
|
||||||
|
return this.groupForm.groupingCriteria && this.groupForm.groupingCriteria.length > 0 ? this.tableTreeConfig : undefined;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|||||||
Reference in New Issue
Block a user