|
|
|
|
@ -5,13 +5,34 @@
|
|
|
|
|
<div v-show='showSearch' class='mb-[10px]'>
|
|
|
|
|
<el-card shadow='hover'>
|
|
|
|
|
<el-form ref='queryFormRef' :model='queryParams' :inline='true'>
|
|
|
|
|
<el-form-item label='料罐类型' prop='tankTypeId'>
|
|
|
|
|
<el-input v-model='queryParams.tankTypeId' placeholder='请输入料罐类型' clearable
|
|
|
|
|
@keyup.enter='handleQuery' />
|
|
|
|
|
<el-form-item label='机台名称' prop='machineId'>
|
|
|
|
|
<el-select
|
|
|
|
|
v-model='queryParams.machineId'
|
|
|
|
|
placeholder='请选择机台名称'
|
|
|
|
|
clearable
|
|
|
|
|
@change='handleQuery'
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for='item in machineOptions'
|
|
|
|
|
:key='item.machineId'
|
|
|
|
|
:label='item.machineName'
|
|
|
|
|
:value='item.machineId'
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='状态(0正常1停用)' prop='status'>
|
|
|
|
|
<el-select v-model='queryParams.status' placeholder='请选择状态(0正常1停用)' clearable>
|
|
|
|
|
<el-option v-for='dict in sys_show_hide' :key='dict.value' :label='dict.label' :value='dict.value' />
|
|
|
|
|
<el-form-item label='料罐类型' prop='tankTypeId'>
|
|
|
|
|
<el-select
|
|
|
|
|
v-model='queryParams.tankTypeId'
|
|
|
|
|
placeholder='请选择料罐类型'
|
|
|
|
|
clearable
|
|
|
|
|
@change='handleQuery'
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for='item in tankTypeOptions'
|
|
|
|
|
:key='item.tankTypeId'
|
|
|
|
|
:label='getTankTypeOptionLabel(item)'
|
|
|
|
|
:value='item.tankTypeId'
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item>
|
|
|
|
|
@ -53,25 +74,37 @@
|
|
|
|
|
|
|
|
|
|
<el-table v-loading='loading' :data='machineTankDetailList' @selection-change='handleSelectionChange'>
|
|
|
|
|
<el-table-column type='selection' width='55' align='center' />
|
|
|
|
|
<el-table-column label='料罐明细ID' align='center' prop='tankDetailId' v-if='columns[0].visible' />
|
|
|
|
|
<el-table-column label='机台名称' align='center' prop='machineId' v-if='columns[2].visible' />
|
|
|
|
|
<el-table-column label='料罐类型' align='center' prop='tankTypeId' v-if='columns[3].visible' />
|
|
|
|
|
<el-table-column label='仓位序号' align='center' prop='wareNum' v-if='columns[4].visible' />
|
|
|
|
|
<el-table-column label='物料ID' align='center' prop='materialId' v-if='columns[5].visible' />
|
|
|
|
|
<el-table-column label='料仓优先级' align='center' prop='materPriority' v-if='columns[6].visible' />
|
|
|
|
|
<el-table-column label='${comment}' align='center' prop='materUsed' v-if='columns[7].visible' />
|
|
|
|
|
<el-table-column label='${comment}' align='center' prop='mkindCode' v-if='columns[8].visible' />
|
|
|
|
|
<el-table-column label='称重编号' align='center' prop='weighNum' v-if='columns[9].visible' />
|
|
|
|
|
<el-table-column label='最小称重限额' align='center' prop='weighLimitMin' v-if='columns[10].visible' />
|
|
|
|
|
<el-table-column label='最大称重限额' align='center' prop='weighLimitMax' v-if='columns[11].visible' />
|
|
|
|
|
<el-table-column label='状态(0正常1停用)' align='center' prop='status' v-if='columns[12].visible'>
|
|
|
|
|
<el-table-column label='机台名称' align='center' prop='machineName' min-width='120' show-overflow-tooltip />
|
|
|
|
|
<el-table-column label='料罐类型' align='center' prop='tankType' min-width='100'>
|
|
|
|
|
<template #default='scope'>
|
|
|
|
|
<dict-tag :options='sys_show_hide' :value='scope.row.status' />
|
|
|
|
|
<dict-tag v-if='scope.row.tankType' :options='tank_type' :value='scope.row.tankType' />
|
|
|
|
|
<span v-else>-</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label='备注' align='center' prop='remark' v-if='columns[13].visible' />
|
|
|
|
|
<el-table-column label='仓库ID' align='center' prop='workshopId' v-if='columns[19].visible' />
|
|
|
|
|
<el-table-column label='工位ID' align='center' prop='stationId' v-if='columns[20].visible' />
|
|
|
|
|
<el-table-column label='料仓序号' align='center' prop='wareNum' width='90' />
|
|
|
|
|
<el-table-column label='物料编码' align='center' prop='materialCode' min-width='120' show-overflow-tooltip>
|
|
|
|
|
<template #default='scope'>
|
|
|
|
|
{{ scope.row.materialCode || scope.row.materialId || '-' }}
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label='物料名称' align='center' prop='materialName' min-width='140' show-overflow-tooltip>
|
|
|
|
|
<template #default='scope'>
|
|
|
|
|
{{ scope.row.materialName || '-' }}
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label='料仓优先级' align='center' prop='materPriority' width='100' />
|
|
|
|
|
<!-- <el-table-column label='称重编号' align='center' prop='weighNum' width='90' />-->
|
|
|
|
|
<!-- <el-table-column label='称重限额' align='center' width='120'>-->
|
|
|
|
|
<!-- <template #default='scope'>-->
|
|
|
|
|
<!-- {{ scope.row.weighLimitMin ?? '-' }} ~ {{ scope.row.weighLimitMax ?? '-' }}-->
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
<!-- </el-table-column>-->
|
|
|
|
|
<!-- <el-table-column label='状态' align='center' prop='status' width='80'>-->
|
|
|
|
|
<!-- <template #default='scope'>-->
|
|
|
|
|
<!-- <dict-tag :options='sys_show_hide' :value='scope.row.status' />-->
|
|
|
|
|
<!-- </template>-->
|
|
|
|
|
<!-- </el-table-column>-->
|
|
|
|
|
<el-table-column label='备注' align='center' prop='remark' min-width='100' show-overflow-tooltip />
|
|
|
|
|
<el-table-column label='操作' align='center' class-name='small-padding fixed-width'>
|
|
|
|
|
<template #default='scope'>
|
|
|
|
|
<el-tooltip content='修改' placement='top'>
|
|
|
|
|
@ -92,58 +125,66 @@
|
|
|
|
|
<!-- 添加或修改机台料罐明细对话框 -->
|
|
|
|
|
<el-dialog :title='dialog.title' v-model='dialog.visible' width='500px' append-to-body>
|
|
|
|
|
<el-form ref='machineTankDetailFormRef' :model='form' :rules='rules' label-width='120px'>
|
|
|
|
|
<el-form-item label='料罐明细ID' prop='tankDetailId'>
|
|
|
|
|
<el-input v-model='form.tankDetailId' placeholder='请输入料罐明细ID' />
|
|
|
|
|
<el-form-item label='料罐类型' prop='tankTypeId'>
|
|
|
|
|
<el-select
|
|
|
|
|
v-model='form.tankTypeId'
|
|
|
|
|
placeholder='请选择料罐类型'
|
|
|
|
|
clearable
|
|
|
|
|
style='width: 100%'
|
|
|
|
|
@change='onTankTypeChange'
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for='item in tankTypeOptions'
|
|
|
|
|
:key='item.tankTypeId'
|
|
|
|
|
:label='getTankTypeOptionLabel(item)'
|
|
|
|
|
:value='item.tankTypeId'
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='机台名称' prop='machineId'>
|
|
|
|
|
<el-input v-model='form.machineId' placeholder='请输入机台名称' />
|
|
|
|
|
<el-input :model-value='formMachineDisplay' placeholder='根据料罐类型自动带出' readonly />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='料罐类型' prop='tankTypeId'>
|
|
|
|
|
<el-input v-model='form.tankTypeId' placeholder='请输入料罐类型' />
|
|
|
|
|
<el-form-item label='料仓序号' prop='wareNum'>
|
|
|
|
|
<el-input-number v-model='form.wareNum' placeholder='请输入料仓序号' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='仓位序号' prop='wareNum'>
|
|
|
|
|
<el-input v-model='form.wareNum' placeholder='请输入仓位序号' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='物料ID' prop='materialId'>
|
|
|
|
|
<el-input v-model='form.materialId' placeholder='请输入物料ID' />
|
|
|
|
|
<el-form-item label='物料' prop='materialId'>
|
|
|
|
|
<el-input
|
|
|
|
|
:model-value='formMaterialDisplay'
|
|
|
|
|
placeholder='请选择物料'
|
|
|
|
|
readonly
|
|
|
|
|
@click='openMaterialSelect'
|
|
|
|
|
>
|
|
|
|
|
<template #append>
|
|
|
|
|
<el-button icon='Search' @click.stop='openMaterialSelect'>选择</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
</el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='料仓优先级' prop='materPriority'>
|
|
|
|
|
<el-input v-model='form.materPriority' placeholder='请输入料仓优先级' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='${comment}' prop='materUsed'>
|
|
|
|
|
<el-input v-model='form.materUsed' placeholder='请输入${comment}' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='${comment}' prop='mkindCode'>
|
|
|
|
|
<el-input v-model='form.mkindCode' placeholder='请输入${comment}' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='称重编号' prop='weighNum'>
|
|
|
|
|
<el-input v-model='form.weighNum' placeholder='请输入称重编号' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='最小称重限额' prop='weighLimitMin'>
|
|
|
|
|
<el-input v-model='form.weighLimitMin' placeholder='请输入最小称重限额' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='最大称重限额' prop='weighLimitMax'>
|
|
|
|
|
<el-input v-model='form.weighLimitMax' placeholder='请输入最大称重限额' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='状态(0正常1停用)' prop='status'>
|
|
|
|
|
<el-radio-group v-model='form.status'>
|
|
|
|
|
<el-radio
|
|
|
|
|
v-for='dict in sys_show_hide'
|
|
|
|
|
:key='dict.value'
|
|
|
|
|
:value='dict.value'
|
|
|
|
|
>{{ dict.label }}
|
|
|
|
|
</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
<el-input-number v-model='form.materPriority' placeholder='请输入料仓优先级' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- <el-form-item label='称重编号' prop='weighNum'>-->
|
|
|
|
|
<!-- <el-input v-model='form.weighNum' placeholder='请输入称重编号' />-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<!-- <el-form-item label='最小称重限额' prop='weighLimitMin'>-->
|
|
|
|
|
<!-- <el-input v-model='form.weighLimitMin' placeholder='请输入最小称重限额' />-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<!-- <el-form-item label='最大称重限额' prop='weighLimitMax'>-->
|
|
|
|
|
<!-- <el-input v-model='form.weighLimitMax' placeholder='请输入最大称重限额' />-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<!-- <el-form-item label='状态' prop='status'>-->
|
|
|
|
|
<!-- <el-radio-group v-model='form.status'>-->
|
|
|
|
|
<!-- <el-radio-->
|
|
|
|
|
<!-- v-for='dict in sys_show_hide'-->
|
|
|
|
|
<!-- :key='dict.value'-->
|
|
|
|
|
<!-- :value='dict.value'-->
|
|
|
|
|
<!-- >{{ dict.label }}-->
|
|
|
|
|
<!-- </el-radio>-->
|
|
|
|
|
<!-- </el-radio-group>-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<el-form-item label='备注' prop='remark'>
|
|
|
|
|
<el-input v-model='form.remark' placeholder='请输入备注' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='仓库ID' prop='workshopId'>
|
|
|
|
|
<el-input v-model='form.workshopId' placeholder='请输入仓库ID' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label='工位ID' prop='stationId'>
|
|
|
|
|
<el-input v-model='form.stationId' placeholder='请输入工位ID' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
</el-form>
|
|
|
|
|
<template #footer>
|
|
|
|
|
<div class='dialog-footer'>
|
|
|
|
|
@ -152,6 +193,14 @@
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
<!-- 选择物料对话框 -->
|
|
|
|
|
<el-dialog title='选择物料' v-model='materialSelectVisible' width='700px' append-to-body>
|
|
|
|
|
<MaterialSelect ref='materialSelectRef' v-if='materialSelectVisible' />
|
|
|
|
|
<template #footer>
|
|
|
|
|
<el-button type='primary' @click='confirmMaterialSelect'>确 定</el-button>
|
|
|
|
|
<el-button @click='materialSelectVisible = false'>取 消</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
@ -163,12 +212,37 @@ import {
|
|
|
|
|
addMachineTankDetail,
|
|
|
|
|
updateMachineTankDetail
|
|
|
|
|
} from '@/api/mes/machineTankDetail';
|
|
|
|
|
import { getProdMachineTankTypeList } from '@/api/mes/machineTankType';
|
|
|
|
|
import { getProdBaseMachineInfoList } from '@/api/mes/prodBaseMachineInfo';
|
|
|
|
|
import { MachineTankDetailVO, MachineTankDetailQuery, MachineTankDetailForm } from '@/api/mes/machineTankDetail/types';
|
|
|
|
|
import type { MachineTankTypeVO } from '@/api/mes/machineTankType/types';
|
|
|
|
|
import type { ProdBaseMachineInfoVO } from '@/api/mes/prodBaseMachineInfo/types';
|
|
|
|
|
import MaterialSelect from '@/views/mes/recipeInfo/components/MaterialSelect.vue';
|
|
|
|
|
|
|
|
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
|
|
|
const { sys_show_hide } = toRefs<any>(proxy?.useDict('sys_show_hide'));
|
|
|
|
|
const { tank_type } = toRefs<any>(proxy?.useDict('tank_type'));
|
|
|
|
|
|
|
|
|
|
const machineTankDetailList = ref<MachineTankDetailVO[]>([]);
|
|
|
|
|
const tankTypeOptions = ref<MachineTankTypeVO[]>([]);
|
|
|
|
|
const machineOptions = ref<ProdBaseMachineInfoVO[]>([]);
|
|
|
|
|
const materialSelectVisible = ref(false);
|
|
|
|
|
const materialSelectRef = ref<InstanceType<typeof MaterialSelect>>();
|
|
|
|
|
const materialMap = ref<Record<string, { materialCode: string; materialName: string }>>({});
|
|
|
|
|
|
|
|
|
|
const formMachineDisplay = computed(() => {
|
|
|
|
|
const tid = form.value.tankTypeId;
|
|
|
|
|
if (tid == null || tid === '') return '';
|
|
|
|
|
const item = tankTypeOptions.value.find((t) => t.tankTypeId === tid || String(t.tankTypeId) === String(tid));
|
|
|
|
|
return item ? (item.machineName || item.machineId || '') : '';
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const formMaterialDisplay = computed(() => {
|
|
|
|
|
const id = form.value.materialId;
|
|
|
|
|
if (id == null || id === '') return '';
|
|
|
|
|
const m = materialMap.value[String(id)];
|
|
|
|
|
return m ? `${m.materialName}`.trim() : String(id);
|
|
|
|
|
});
|
|
|
|
|
const buttonLoading = ref(false);
|
|
|
|
|
const loading = ref(true);
|
|
|
|
|
const showSearch = ref(true);
|
|
|
|
|
@ -185,30 +259,18 @@ const dialog = reactive<DialogOption>({
|
|
|
|
|
title: ''
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 列显隐信息
|
|
|
|
|
// 列显隐信息(保留兼容 right-toolbar,表格列已固定显示)
|
|
|
|
|
const columns = ref<FieldOption[]>([
|
|
|
|
|
{ key: 0, label: `料罐明细ID`, visible: false },
|
|
|
|
|
{ key: 1, label: `租户编号`, visible: true },
|
|
|
|
|
{ key: 2, label: `机台名称`, visible: true },
|
|
|
|
|
{ key: 3, label: `料罐类型`, visible: true },
|
|
|
|
|
{ key: 4, label: `仓位序号`, visible: true },
|
|
|
|
|
{ key: 5, label: `物料ID`, visible: true },
|
|
|
|
|
{ key: 6, label: `料仓优先级`, visible: true },
|
|
|
|
|
{ key: 7, label: `comment`, visible: true },
|
|
|
|
|
{ key: 8, label: `comment`, visible: true },
|
|
|
|
|
{ key: 9, label: `称重编号`, visible: true },
|
|
|
|
|
{ key: 10, label: `最小称重限额`, visible: true },
|
|
|
|
|
{ key: 11, label: `最大称重限额`, visible: true },
|
|
|
|
|
{ key: 12, label: `状态(0正常1停用)`, visible: true },
|
|
|
|
|
{ key: 13, label: `备注`, visible: true },
|
|
|
|
|
{ key: 14, label: `创建部门`, visible: true },
|
|
|
|
|
{ key: 15, label: `创建者`, visible: true },
|
|
|
|
|
{ key: 16, label: `创建时间`, visible: true },
|
|
|
|
|
{ key: 17, label: `更新者`, visible: true },
|
|
|
|
|
{ key: 18, label: `更新时间`, visible: true },
|
|
|
|
|
{ key: 19, label: `仓库ID`, visible: true },
|
|
|
|
|
{ key: 20, label: `工位ID`, visible: true },
|
|
|
|
|
{ key: 21, label: `删除标志`, visible: true }
|
|
|
|
|
{ key: 0, label: '机台名称', visible: true },
|
|
|
|
|
{ key: 1, label: '料罐类型', visible: true },
|
|
|
|
|
{ key: 2, label: '料仓序号', visible: true },
|
|
|
|
|
{ key: 3, label: '物料编码', visible: true },
|
|
|
|
|
{ key: 4, label: '物料名称', visible: true },
|
|
|
|
|
{ key: 5, label: '料仓优先级', visible: true },
|
|
|
|
|
{ key: 6, label: '称重编号', visible: false },
|
|
|
|
|
{ key: 7, label: '称重限额', visible: false },
|
|
|
|
|
{ key: 8, label: '状态', visible: true },
|
|
|
|
|
{ key: 9, label: '备注', visible: true }
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
const initFormData: MachineTankDetailForm = {
|
|
|
|
|
@ -250,23 +312,76 @@ const data = reactive<PageData<MachineTankDetailForm, MachineTankDetailQuery>>({
|
|
|
|
|
params: {}
|
|
|
|
|
},
|
|
|
|
|
rules: {
|
|
|
|
|
machineId: [
|
|
|
|
|
{ required: true, message: '机台名称不能为空', trigger: 'blur' }
|
|
|
|
|
],
|
|
|
|
|
tankTypeId: [
|
|
|
|
|
{ required: true, message: '料罐类型不能为空', trigger: 'blur' }
|
|
|
|
|
],
|
|
|
|
|
wareNum: [
|
|
|
|
|
{ required: true, message: '仓位序号不能为空', trigger: 'blur' }
|
|
|
|
|
{ required: true, message: '请选择料罐类型', trigger: 'change' }
|
|
|
|
|
],
|
|
|
|
|
materialId: [
|
|
|
|
|
{ required: true, message: '物料ID不能为空', trigger: 'blur' }
|
|
|
|
|
{ required: true, message: '请选择物料', trigger: 'change' }
|
|
|
|
|
],
|
|
|
|
|
wareNum: [
|
|
|
|
|
{ required: true, message: '料仓序号不能为空', trigger: 'blur' }
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const { queryParams, form, rules } = toRefs(data);
|
|
|
|
|
|
|
|
|
|
/** 加载料罐类型下拉列表 */
|
|
|
|
|
const getTankTypeOptions = async () => {
|
|
|
|
|
try {
|
|
|
|
|
const res = await getProdMachineTankTypeList({});
|
|
|
|
|
tankTypeOptions.value = res.data || res.rows || [];
|
|
|
|
|
} catch {
|
|
|
|
|
tankTypeOptions.value = [];
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 加载机台下拉列表 */
|
|
|
|
|
const getMachineOptions = async () => {
|
|
|
|
|
try {
|
|
|
|
|
const res = await getProdBaseMachineInfoList({});
|
|
|
|
|
machineOptions.value = res.data || [];
|
|
|
|
|
} catch {
|
|
|
|
|
machineOptions.value = [];
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 料罐类型下拉选项展示文案 */
|
|
|
|
|
function getTankTypeOptionLabel(item: MachineTankTypeVO): string {
|
|
|
|
|
const machineLabel = item.machineName || item.machineId || '';
|
|
|
|
|
const tankLabel = tank_type.value?.find((d: any) => d.value === item.tankType)?.label || item.tankType || '';
|
|
|
|
|
return `${machineLabel} - ${tankLabel}`;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 料罐类型选择变化时,回填 machineId */
|
|
|
|
|
function onTankTypeChange(val: string | number) {
|
|
|
|
|
if (val == null || val === '') return;
|
|
|
|
|
const item = tankTypeOptions.value.find((t) => t.tankTypeId === val || String(t.tankTypeId) === String(val));
|
|
|
|
|
if (item) {
|
|
|
|
|
form.value.machineId = item.machineId != null ? String(item.machineId) : undefined;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function openMaterialSelect() {
|
|
|
|
|
materialSelectVisible.value = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function confirmMaterialSelect() {
|
|
|
|
|
const row = materialSelectRef.value?.getSelected();
|
|
|
|
|
if (!row) {
|
|
|
|
|
proxy?.$modal.msgWarning('请先选择一条物料');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
form.value.materialId = row.materialId;
|
|
|
|
|
const id = String(row.materialId);
|
|
|
|
|
materialMap.value = {
|
|
|
|
|
...materialMap.value,
|
|
|
|
|
[id]: { materialCode: row.materialCode ?? '', materialName: row.materialName ?? '' }
|
|
|
|
|
};
|
|
|
|
|
materialSelectVisible.value = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 查询机台料罐明细列表 */
|
|
|
|
|
const getList = async () => {
|
|
|
|
|
loading.value = true;
|
|
|
|
|
@ -308,8 +423,9 @@ const handleSelectionChange = (selection: MachineTankDetailVO[]) => {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 新增按钮操作 */
|
|
|
|
|
const handleAdd = () => {
|
|
|
|
|
const handleAdd = async () => {
|
|
|
|
|
reset();
|
|
|
|
|
await getTankTypeOptions();
|
|
|
|
|
dialog.visible = true;
|
|
|
|
|
dialog.title = '添加机台料罐明细';
|
|
|
|
|
};
|
|
|
|
|
@ -317,9 +433,17 @@ const handleAdd = () => {
|
|
|
|
|
/** 修改按钮操作 */
|
|
|
|
|
const handleUpdate = async (row?: MachineTankDetailVO) => {
|
|
|
|
|
reset();
|
|
|
|
|
await getTankTypeOptions();
|
|
|
|
|
const _tankDetailId = row?.tankDetailId || ids.value[0];
|
|
|
|
|
const res = await getMachineTankDetail(_tankDetailId);
|
|
|
|
|
Object.assign(form.value, res.data);
|
|
|
|
|
const d = res.data as any;
|
|
|
|
|
if (d?.materialId != null && (d?.materialCode || d?.materialName)) {
|
|
|
|
|
materialMap.value = {
|
|
|
|
|
...materialMap.value,
|
|
|
|
|
[String(d.materialId)]: { materialCode: d.materialCode ?? '', materialName: d.materialName ?? '' }
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
dialog.visible = true;
|
|
|
|
|
dialog.title = '修改机台料罐明细';
|
|
|
|
|
};
|
|
|
|
|
@ -358,6 +482,8 @@ const handleExport = () => {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
getTankTypeOptions();
|
|
|
|
|
getMachineOptions();
|
|
|
|
|
getList();
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
|