refactor(wms): 优化多个组件的代码结构和功能

- 调整字典项循环中的变量命名,提高代码可读性
- 优化客户信息获取和展示逻辑
- 改进仓库列表获取方法
-调整表格列的显示逻辑- 优化表单结构和字段
master
zangch@mesnac.com 4 months ago
parent 2ef30e1265
commit a1608963e2

@ -80,6 +80,11 @@ export interface InstockRecordVO {
} }
export interface InstockRecordForm extends BaseEntity { export interface InstockRecordForm extends BaseEntity {
/**
* ID
*/
instockRecordId?: string | number;
/** /**
* *
*/ */

@ -212,10 +212,10 @@
<el-form-item label="质检要求" prop="inspectionRequest"> <el-form-item label="质检要求" prop="inspectionRequest">
<el-select v-model="form.inspectionRequest" placeholder="请选择质检要求"> <el-select v-model="form.inspectionRequest" placeholder="请选择质检要求">
<el-option <el-option
v-for="item in inspection_request" v-for="dict in inspection_request"
:key="item.value" :key="dict.value"
:label="item.label" :label="dict.label"
:value="item.value" :value="dict.value"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -224,10 +224,10 @@
<el-form-item label="是否高价值" prop="isHighValue" > <el-form-item label="是否高价值" prop="isHighValue" >
<el-select v-model="form.isHighValue" placeholder="请选择是否高价值"> <el-select v-model="form.isHighValue" placeholder="请选择是否高价值">
<el-option <el-option
v-for="item in is_high_value" v-for="dict in is_high_value"
:key="item.value" :key="dict.value"
:label="item.label" :label="dict.label"
:value="item.value" :value="dict.value"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -267,7 +267,8 @@ const { apply_flag, inner_tube_flag,
auto_outstock_flag, mes_batch_flag, active_flag, sale_type, deleted_flag, tire_markings, auto_outstock_flag, mes_batch_flag, active_flag, sale_type, deleted_flag, tire_markings,
material_classfication, mes_low_value_consumable_flag, material_classfication, mes_low_value_consumable_flag,
is_high_value,inspection_request is_high_value,inspection_request
} = toRefs<any>(proxy?.useDict('apply_flag', 'inner_tube_flag', 'always_flag', 'mes_accessories_flag', 'auto_outstock_flag', 'mes_batch_flag', 'active_flag', 'sale_type', 'deleted_flag', 'tire_markings', 'material_classfication', 'mes_low_value_consumable_flag', } = toRefs<any>(proxy?.useDict('apply_flag', 'inner_tube_flag', 'always_flag', 'mes_accessories_flag',
'auto_outstock_flag', 'mes_batch_flag', 'active_flag', 'sale_type', 'deleted_flag', 'tire_markings', 'material_classfication', 'mes_low_value_consumable_flag',
'is_high_value', 'inspection_request' 'is_high_value', 'inspection_request'
)); ));

@ -223,15 +223,17 @@ const columns = ref<FieldOption[]>([
{ key: 9, label: `物料大类`, visible: true }, { key: 9, label: `物料大类`, visible: true },
{ key: 10, label: `入库人`, visible: true }, { key: 10, label: `入库人`, visible: true },
{ key: 11, label: `创建时间`, visible: true }, { key: 11, label: `创建时间`, visible: true },
{ key: 12, label: `erp同步状态`, visible: true }, { key: 12, label: `erp同步状态`, visible: false },
{ key: 13, label: `erp同步数量`, visible: true }, { key: 13, label: `erp同步数量`, visible: false },
// { key: 14, label: ``, visible: true }, // { key: 14, label: ``, visible: true },
{ key: 14, label: `同步时间`, visible: true }, { key: 14, label: `同步时间`, visible: true },
{ key: 15, label: `特殊标识`, visible: true },
// { key: 16, label: ``, visible: true }, // { key: 16, label: ``, visible: true },
// { key: 17, label: ``, visible: true }, // { key: 17, label: ``, visible: true },
]); ]);
const initFormData: InstockRecordForm = { const initFormData: InstockRecordForm = {
instockRecordId: undefined,
instockCode: undefined, instockCode: undefined,
batchCode: undefined, batchCode: undefined,
materialId: undefined, materialId: undefined,
@ -303,10 +305,7 @@ const handleQuery = () => {
queryParams.value.pageNum = 1; queryParams.value.pageNum = 1;
getList(); getList();
} }
//
getBaseWarehouseList().then(e => {
baseStoreList.value = e.data
})
/** 重置按钮操作 */ /** 重置按钮操作 */
const resetQuery = () => { const resetQuery = () => {
dateRangeCreateTime.value = ['', '']; dateRangeCreateTime.value = ['', ''];
@ -378,8 +377,15 @@ const getMaterialCategorySelect = async () => {
mategoryOptions.value = res.data; mategoryOptions.value = res.data;
}; };
//
const getBaseWarehouseData = async () => {
const res = await getBaseWarehouseList(null);
baseStoreList.value = res.data;
};
onMounted(() => { onMounted(() => {
getMaterialCategorySelect(); getMaterialCategorySelect();
getBaseWarehouseData();
getList(); getList();
}); });
</script> </script>

@ -75,6 +75,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审核意见" align="center" prop="auditComments"/> <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="inMethod"> <!-- <el-table-column label="入库方式" align="center" prop="inMethod">
<template #default="scope"> <template #default="scope">
<dict-tag :options="wms_allocate_way" :value="scope.row.inMethod"/> <dict-tag :options="wms_allocate_way" :value="scope.row.inMethod"/>
@ -376,6 +377,18 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="销售客户" prop="customerId">
<el-select v-model="parentTableInfoForm.customerId" placeholder="请选择客户" v-if="parentTableInfoForm.outstockType == 1">
<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-item label="物料大类" prop="materialCategoryId"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="parentTableInfoForm.materialCategoryId" placeholder="请选择物料大类"> <el-select v-model="parentTableInfoForm.materialCategoryId" placeholder="请选择物料大类">
<el-option v-for="item in mategoryOptions" <el-option v-for="item in mategoryOptions"
@ -516,6 +529,7 @@ import {
import MaterialSelectInWMS from "@/views/wms/baseMaterialInfo/addMaterialInWMS.vue"; import MaterialSelectInWMS from "@/views/wms/baseMaterialInfo/addMaterialInWMS.vue";
import { getBaseMaterialCategoryListInWMS } from '@/api/wms/baseMaterialCategory'; import { getBaseMaterialCategoryListInWMS } from '@/api/wms/baseMaterialCategory';
import { getWmsBaseCustomerList } from '@/api/wms/wmsBaseCustomer';
@ -550,22 +564,10 @@ const approveForm = ref<Partial<OutstockOrderForm>>({ outstockId: undefined, aud
// const childrenTableInfoSubmit = ref(false) // const childrenTableInfoSubmit = ref(false)
const updateDialog = ref(false) const updateDialog = ref(false)
const dialogTitle = ref('添加') const dialogTitle = ref('添加')
// Initialize dialogForm with properties
const dialogForm = ref<OutstockOrderForm>({});
// Similarly for parentTableInfoForm const dialogForm = ref({})
const parentTableInfoForm = ref<OutstockOrderForm>({}); const parentTableInfoForm = ref({})
const childrenTableInfoForm = ref({})
// For childrenTableInfoForm
const childrenTableInfoForm = ref({
materialId: undefined,
instockQty: undefined,
codeYesNo: undefined,
printedNum: undefined,
printNum: undefined,
barcodeNum: undefined,
isHighValue : undefined,
})
const queryForm = ref({ const queryForm = ref({
outstockCode: '', outstockCode: '',
@ -573,6 +575,7 @@ const queryForm = ref({
materialCategoryName: '', materialCategoryName: '',
warehouseId: '', warehouseId: '',
outstockType: '', outstockType: '',
customerId: undefined,
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
}) })
@ -592,7 +595,16 @@ const childrenTableLoad = ref(false)
const isView = ref(false) const isView = ref(false)
const partntTableSelectCell = ref({}) const partntTableSelectCell = ref({})
let supplierList = ref([]); let supplierList = ref([]);
/** 查询出库单大类下物料数量接口 */ /** 查询出库单大类下物料数量接口 */
// const getMaterialCount = async () => {
// const materialId = form.value.materialId
// console.log(materialId)
// const res = await getMaterailCount({ 'materialId': materialId });
// console.log(res.data);
// form.value.stockQty = res.data;
// console.log(form.stockQty)
// }
// //
@ -609,7 +621,7 @@ if (route.query.outstockType) {
} }
// //
getBaseWarehouseList().then(e => { getBaseWarehouseList(null).then(e => {
baseStoreList.value = e.data baseStoreList.value = e.data
}) })
listUser().then(e => { listUser().then(e => {
@ -684,6 +696,7 @@ const reset = () => {
queryForm.value.materialCategoryName = ''; queryForm.value.materialCategoryName = '';
queryForm.value.warehouseId = ''; queryForm.value.warehouseId = '';
queryForm.value.outstockType = routeOutstockTypeValue; queryForm.value.outstockType = routeOutstockTypeValue;
queryForm.value.customerId = undefined;
queryForm.value.pageNum = 1; queryForm.value.pageNum = 1;
queryForm.value.pageSize = 10; queryForm.value.pageSize = 10;
} }
@ -702,12 +715,14 @@ const selectionChange = (e) => {
// //
const parentTableAdd = () => { const parentTableAdd = () => {
getBaseCustomerList();
dialogVisible.value = true dialogVisible.value = true
dialogForm.value = {} dialogForm.value = {}
dialogtable.value = [] dialogtable.value = []
} }
// //
const parentTableUpdate = async (e) => { const parentTableUpdate = async (e) => {
getBaseCustomerList();
let id = ref(null) let id = ref(null)
if (e) { if (e) {
id.value = e.outstockId id.value = e.outstockId
@ -799,7 +814,7 @@ const parentTableInfoSubmit = () =>{
// //
const childrenTableUpdate = async (e) => { const childrenTableUpdate = async (e) => {
const res = (await getOutstockDetail(e.outstockDetailId)); const res = await getOutstockDetail(e.outstockDetailId);
childrenTableInfoForm.value = res.data; childrenTableInfoForm.value = res.data;
childrenTableInfoVisible.value = true childrenTableInfoVisible.value = true
} }
@ -941,6 +956,14 @@ const submitApprove = async () => {
} }
//
let baseCustomerList = ref([]);
const getBaseCustomerList = async () => {
const res = await getWmsBaseCustomerList(null);
baseCustomerList.value = res.data;
}
</script> </script>
<style> <style>
.demo-form-inline .el-input { .demo-form-inline .el-input {

@ -223,8 +223,8 @@ const columns = ref<FieldOption[]>([
{ key: 7, label: `物料大类`, visible: true }, { key: 7, label: `物料大类`, visible: true },
{ key: 8, label: `出库人`, visible: true }, { key: 8, label: `出库人`, visible: true },
{ key: 9, label: `提交时间`, visible: true }, { key: 9, label: `提交时间`, visible: true },
{ key: 10, label: `erp同步状态`, visible: true }, { key: 10, label: `erp同步状态`, visible: false },
{ key: 11, label: `erp同步数量`, visible: true }, { key: 11, label: `erp同步数量`, visible: false },
{ key: 12, label: `特殊标识`, visible: true }, { key: 12, label: `特殊标识`, visible: true },
// { key: 12, label: `${comment}`, visible: true }, // { key: 12, label: `${comment}`, visible: true },
// { key: 13, label: `${comment}`, visible: true }, // { key: 13, label: `${comment}`, visible: true },

@ -179,7 +179,16 @@
<el-dialog title="Cron表达式生成器" v-model="dialogCron.visible" append-to-body destroy-on-close class="scrollbar"> <el-dialog title="Cron表达式生成器" v-model="dialogCron.visible" append-to-body destroy-on-close class="scrollbar">
<Crontab @hide="dialogCron.visible = false" @fill="crontabFill" :expression="expression"></Crontab> <Crontab @hide="dialogCron.visible = false" @fill="crontabFill" :expression="expression"></Crontab>
</el-dialog> </el-dialog>
<el-form-item label="抽检物料类型" prop="materialTypeId" v-if="form.wmsCheckTaskType == 0">
<el-select v-model="form.materialTypeId" placeholder="请选择抽检物料类型">
<el-option
v-for="item in materialTypeList"
:key="item.matrialTypeId"
:label="item.matrialTypeName"
:value="item.matrialTypeId"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="抽检率(%" prop="checkRate" v-if="form.wmsCheckTaskType == 0"> <el-form-item label="抽检率(%" prop="checkRate" v-if="form.wmsCheckTaskType == 0">
<el-input-number v-model="form.checkRate" :precision="2" :step="0.01" :min="0" :max="100" placeholder="请输入抽检率" /> <el-input-number v-model="form.checkRate" :precision="2" :step="0.01" :min="0" :max="100" placeholder="请输入抽检率" />
</el-form-item> </el-form-item>
@ -218,7 +227,7 @@ import { getBaseWarehouseList } from '@/api/wms/baseWarehouse';
import Crontab from '@/components/Crontab/index.vue'; import Crontab from '@/components/Crontab/index.vue';
import CrontabResult from '@/components/Crontab/result.vue'; import CrontabResult from '@/components/Crontab/result.vue';
import { getBaseMaterialTypeList } from '@/api/mes/baseMaterialType'; import { getBaseMaterialTypeList } from '@/api/wms/baseMaterialType';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;

@ -63,11 +63,11 @@
<el-table-column type="selection" width="55"/> <el-table-column type="selection" width="55"/>
<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="poNo"/> <el-table-column label="订单编号" align="center" prop="poNo"/>
<el-table-column label="订单状态" align="center" prop="poStatus"> <!-- <el-table-column label="订单状态" align="center" prop="poStatus">-->
<template #default="scope"> <!-- <template #default="scope">-->
<dict-tag :options="wms_po_status" :value="scope.row.poStatus"/> <!-- <dict-tag :options="wms_po_status" :value="scope.row.poStatus"/>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<el-table-column label="计划交货日期" align="center" prop="planDeliveryDate" width="180"> <el-table-column label="计划交货日期" align="center" prop="planDeliveryDate" width="180">
<template #default="scope"> <template #default="scope">
<span>{{ parseTime(scope.row.planDeliveryDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> <span>{{ parseTime(scope.row.planDeliveryDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
@ -94,21 +94,21 @@
<span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column label="物料大类" align="center" prop="materialCategoryId"> <!-- <el-table-column label="物料大类" align="center" prop="materialCategoryId">-->
</el-table-column> <!-- </el-table-column>-->
<el-table-column label="审核人" align="center" prop="auditBy"/> <!-- <el-table-column label="审核人" align="center" prop="auditBy"/>-->
<el-table-column label="审核时间" align="center" prop="auditTime" width="180"> <!-- <el-table-column label="审核时间" align="center" prop="auditTime" width="180">-->
<template #default="scope"> <!-- <template #default="scope">-->
<span>{{ parseTime(scope.row.auditTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span> <!-- <span>{{ parseTime(scope.row.auditTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<el-table-column label="审核状态" align="center" prop="auditStatus"> <!-- <el-table-column label="审核状态" align="center" prop="auditStatus">-->
<template #default="scope"> <!-- <template #default="scope">-->
<dict-tag :options="wms_audit_status" :value="scope.row.auditStatus"/> <!-- <dict-tag :options="wms_audit_status" :value="scope.row.auditStatus"/>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<el-table-column label="审核意见" align="center" prop="auditComments"/> <!-- <el-table-column label="审核意见" align="center" prop="auditComments"/>-->
<!-- <el-table-column label="入库方式" align="center" prop="inMethod"> <!-- <el-table-column label="入库方式" align="center" prop="inMethod">
<template #default="scope"> <template #default="scope">
<dict-tag :options="wms_allocate_way" :value="scope.row.inMethod"/> <dict-tag :options="wms_allocate_way" :value="scope.row.inMethod"/>
@ -206,41 +206,41 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="订单类型" prop="poType"> <!-- <el-form-item label="订单类型" prop="poType">-->
<el-select v-model="dialogForm.poType" placeholder="请选择订单类型"> <!-- <el-select v-model="dialogForm.poType" placeholder="请选择订单类型">-->
<el-option <!-- <el-option-->
v-for="dict in wms_po_type" <!-- v-for="dict in wms_po_type"-->
:key="dict.value" <!-- :key="dict.value"-->
:label="dict.label" <!-- :label="dict.label"-->
:value="dict.value" <!-- :value="dict.value"-->
></el-option> <!-- ></el-option>-->
</el-select> <!-- </el-select>-->
</el-form-item> <!-- </el-form-item>-->
<!-- <el-form-item label="单据的ID连表扩充" prop="erpId"> <!-- <el-form-item label="单据的ID连表扩充" prop="erpId">
<el-input v-model="form.erpId" placeholder="请输入单据的ID连表扩充" /> <el-input v-model="form.erpId" placeholder="请输入单据的ID连表扩充" />
</el-form-item>--> </el-form-item>-->
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="dialogForm.remark" placeholder="请输入备注"/> <el-input v-model="dialogForm.remark" placeholder="请输入备注"/>
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategoryId"> <!-- <el-form-item label="物料大类" prop="materialCategoryId">-->
<el-select v-model="dialogForm.materialCategoryId" placeholder="请选择物料大类" @change="setMaterialList"> <!-- <el-select v-model="dialogForm.materialCategoryId" placeholder="请选择物料大类" @change="setMaterialList">-->
<el-option v-for="item in mategoryOptions" <!-- <el-option v-for="item in mategoryOptions"-->
:key="item.materialCategoryId" <!-- :key="item.materialCategoryId"-->
:label="item.materialCategoryName" <!-- :label="item.materialCategoryName"-->
:value="item.materialCategoryId" <!-- :value="item.materialCategoryId"-->
/> <!-- />-->
</el-select> <!-- </el-select>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="审核人" prop="auditBy"> <!-- <el-form-item label="审核人" prop="auditBy">-->
<el-select v-model="dialogForm.auditBy" placeholder="请选择审核人"> <!-- <el-select v-model="dialogForm.auditBy" placeholder="请选择审核人">-->
<el-option <!-- <el-option-->
v-for="item in userList" <!-- v-for="item in userList"-->
:key="item.userId" <!-- :key="item.userId"-->
:label="item.userName" <!-- :label="item.userName"-->
:value="item.userName" <!-- :value="item.userName"-->
/> <!-- />-->
</el-select> <!-- </el-select>-->
</el-form-item> <!-- </el-form-item>-->
</el-form> </el-form>
</el-card> </el-card>
<el-card style="margin-top: 8px" shadow="never"> <el-card style="margin-top: 8px" shadow="never">
@ -382,17 +382,17 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="订单类型" prop="poType"> <!-- <el-form-item label="订单类型" prop="poType">-->
<el-select v-model="parentTableInfoForm.poType" placeholder="请选择订单类型"> <!-- <el-select v-model="parentTableInfoForm.poType" placeholder="请选择订单类型">-->
<el-option <!-- <el-option-->
v-for="dict in wms_po_type" <!-- v-for="dict in wms_po_type"-->
:key="dict.value" <!-- :key="dict.value"-->
:label="dict.label" <!-- :label="dict.label"-->
:value="dict.value" <!-- :value="dict.value"-->
></el-option> <!-- ></el-option>-->
</el-select> <!-- </el-select>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="物料大类" prop="materialCategoryId"> <!-- <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="parentTableInfoForm.materialCategoryId" placeholder="请选择物料大类"> <el-select v-model="parentTableInfoForm.materialCategoryId" placeholder="请选择物料大类">
<el-option v-for="item in mategoryOptions" <el-option v-for="item in mategoryOptions"
:key="item.materialCategoryId" :key="item.materialCategoryId"
@ -400,17 +400,17 @@
:value="item.materialCategoryId" :value="item.materialCategoryId"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>-->
<el-form-item label="审核人" prop="auditBy"> <!-- <el-form-item label="审核人" prop="auditBy">-->
<el-select v-model="parentTableInfoForm.auditBy" placeholder="请选择审核人"> <!-- <el-select v-model="parentTableInfoForm.auditBy" placeholder="请选择审核人">-->
<el-option <!-- <el-option-->
v-for="item in userList" <!-- v-for="item in userList"-->
:key="item.userId" <!-- :key="item.userId"-->
:label="item.userName" <!-- :label="item.userName"-->
:value="item.userName" <!-- :value="item.userName"-->
/> <!-- />-->
</el-select> <!-- </el-select>-->
</el-form-item> <!-- </el-form-item>-->
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">

Loading…
Cancel
Save