update 硫化新增多选机台

master
yinq 1 week ago
parent 07e8a453d0
commit 07b88747a6

@ -349,154 +349,171 @@
</el-dialog>
<!-- 批量添加生产工单信息对话框 -->
<el-dialog :title='batchDialog.title' v-model='batchDialog.visible' width='1000px' append-to-body>
<el-form ref='planInfoFormRef' :model='form' :rules='rules' label-width='100px'>
<el-row :gutter='10' class='mb8'>
<el-col :span='12'>
<el-form-item label='物料名称' prop='materialId'>
<el-input v-model='form.materialName' placeholder='请点击检索物料' @click='handleMaterialAdd' readonly>
<template #append>
<el-icon class='el-input__icon'>
<search />
</el-icon>
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span='12'>
<el-form-item label='物料BOM' prop='materialBoMName'>
<el-input v-model='form.materialBoMName' placeholder='请点击检索物料BOM' @click='handleMaterialBomAdd' readonly>
<template #append>
<el-icon class='el-input__icon'>
<search />
</el-icon>
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter='10' class='mb8'>
<el-col :span='12'>
<el-form-item label='工序名称' prop='processId'>
<el-select v-model='form.processId' placeholder='请选择工序'>
<el-option
v-for='item in processList'
:key='item.processId'
:label='item.processName'
:value='item.processId'
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span='12'>
<!-- <el-form-item label='下达类型' prop='releaseType'>-->
<!-- <el-radio-group v-model='form.releaseType' :disabled='true'>-->
<!-- <el-radio-->
<!-- v-for='dict in mes_release_type'-->
<!-- :key='dict.value'-->
<!-- :value='dict.value'-->
<!-- >{{ dict.label }}-->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<el-form-item label='机台名称' prop='releaseId'>
<el-select v-model='form.releaseId' placeholder='请选择机台名称'>
<el-option
v-for='item in releaseList'
:key='item.machineId'
:label='item.machineName'
:value='item.machineId'
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter='10' class='mb8'>
<el-col :span='12'>
<el-form-item label='计划开始时间' prop='planBeginTime'>
<el-date-picker clearable
v-model='form.planBeginTime'
type='datetime'
value-format='YYYY-MM-DD HH:mm:ss'
placeholder='请选择计划开始时间'>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span='12'>
<el-form-item label='计划结束时间' prop='planEndTime'>
<el-date-picker clearable
v-model='form.planEndTime'
type='datetime'
value-format='YYYY-MM-DD HH:mm:ss'
placeholder='请选择计划结束时间'>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-form-item label='班组' prop='classTeamId'>
<el-select v-model='form.classTeamId' placeholder='请选择班组'>
<el-option
v-for='item in classTeamList'
:key='item.classTeamId'
:label='item.teamName'
:value='item.classTeamId'
/>
</el-select>
</el-form-item>
<el-row :gutter='10' class='mb8'>
<el-col :span='12'>
<el-form-item label='左模早班数量' prop='planAmount1'>
<el-input-number v-model='form.planAmount1' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
<el-form-item label='左模中班数量' prop='planAmount2'>
<el-input-number v-model='form.planAmount2' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
<el-form-item label='左模晚班数量' prop='planAmount3'>
<el-input-number v-model='form.planAmount3' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
</el-col>
<el-col :span='12'>
<el-form-item label='右模早班数量' prop='planAmount4'>
<el-input-number v-model='form.planAmount4' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
<el-form-item label='右模中班数量' prop='planAmount5'>
<el-input-number v-model='form.planAmount5' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
<el-form-item label='右模晚班数量' prop='planAmount6'>
<el-input-number v-model='form.planAmount6' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
</el-col>
</el-row>
<!-- <el-form-item label="附件信息" prop="attachId">-->
<!-- <el-input v-model="form.attachId" placeholder="请输入附件信息" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label='优先级' prop='priority'>-->
<!-- <el-input-number v-model='form.priority' placeholder='请输入优先级' style='width: 200px;' />-->
<!-- </el-form-item>-->
<!-- <el-form-item label='班次' prop='shiftId'>-->
<!-- <el-radio-group v-model='form.shiftId'>-->
<!-- <el-radio-->
<!-- v-for='dict in shiftList'-->
<!-- :key='dict.shiftId'-->
<!-- :value='dict.shiftId'-->
<!-- >{{ dict.shiftName }}-->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<!-- <el-form-item label='模号' prop='modelCode'>-->
<!-- <el-radio-group v-model='form.modelCode'>-->
<!-- <el-radio-->
<!-- v-for='dict in mes_model_code'-->
<!-- :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>
<el-dialog :title='vulBatchDialog.title' v-model='vulBatchDialog.visible' width='1200px' append-to-body>
<el-container style='height: 500px; border: 1px solid #eee'>
<div style='width: 400px; height: 100%; overflow: auto'>
<el-table v-loading='loading' :data='prodBaseMachineInfoList'
@selection-change='handleSelectionMachineChange'>
<el-table-column type='selection' width='55' align='center' />
<el-table-column label='主键标识' align='center' prop='machineId' v-if='false' />
<el-table-column label='机台编号' align='center' prop='machineCode' />
<el-table-column label='机台名称' align='center' prop='machineName' />
</el-table>
</div>
<el-container>
<el-header style='text-align: right; font-size: 12px'>
<el-form ref='planInfoFormRef' :model='form' :rules='rules' label-width='100px'>
<el-row :gutter='10' class='mb8'>
<el-col :span='12'>
<el-form-item label='物料名称' prop='materialId'>
<el-input v-model='form.materialName' placeholder='请点击检索物料' @click='handleMaterialAdd' readonly>
<template #append>
<el-icon class='el-input__icon'>
<search />
</el-icon>
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span='12'>
<el-form-item label='物料BOM' prop='materialBoMName'>
<el-input v-model='form.materialBoMName' placeholder='请点击检索物料BOM' @click='handleMaterialBomAdd'
readonly>
<template #append>
<el-icon class='el-input__icon'>
<search />
</el-icon>
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row :gutter='10' class='mb8'>-->
<!-- <el-col :span='12'>-->
<!-- <el-form-item label='工序名称' prop='processId'>-->
<!-- <el-select v-model='form.processId' placeholder='请选择工序'>-->
<!-- <el-option-->
<!-- v-for='item in processList'-->
<!-- :key='item.processId'-->
<!-- :label='item.processName'-->
<!-- :value='item.processId'-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span='12'>-->
<!-- <el-form-item label='下达类型' prop='releaseType'>-->
<!-- <el-radio-group v-model='form.releaseType' :disabled='true'>-->
<!-- <el-radio-->
<!-- v-for='dict in mes_release_type'-->
<!-- :key='dict.value'-->
<!-- :value='dict.value'-->
<!-- >{{ dict.label }}-->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<!-- <el-form-item label='机台名称' prop='releaseId'>-->
<!-- <el-select v-model='form.releaseId' placeholder='请选择机台名称'>-->
<!-- <el-option-->
<!-- v-for='item in releaseList'-->
<!-- :key='item.machineId'-->
<!-- :label='item.machineName'-->
<!-- :value='item.machineId'-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row :gutter='10' class='mb8'>
<el-col :span='12'>
<el-form-item label='计划开始时间' prop='planBeginTime'>
<el-date-picker clearable
v-model='form.planBeginTime'
type='date'
value-format='YYYY-MM-DD HH:mm:ss'
placeholder='请选择计划开始时间'>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span='12'>
<el-form-item label='计划结束时间' prop='planEndTime'>
<el-date-picker clearable
v-model='form.planEndTime'
type='date'
value-format='YYYY-MM-DD HH:mm:ss'
placeholder='请选择计划结束时间'>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-form-item label='班组' prop='classTeamId'>
<el-select v-model='form.classTeamId' placeholder='请选择班组'>
<el-option
v-for='item in classTeamList'
:key='item.classTeamId'
:label='item.teamName'
:value='item.classTeamId'
/>
</el-select>
</el-form-item>
<el-row :gutter='10' class='mb8'>
<el-col :span='12'>
<el-form-item label='左模早班数量' prop='planAmount1'>
<el-input-number v-model='form.planAmount1' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
<el-form-item label='左模中班数量' prop='planAmount2'>
<el-input-number v-model='form.planAmount2' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
<el-form-item label='左模晚班数量' prop='planAmount3'>
<el-input-number v-model='form.planAmount3' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
</el-col>
<el-col :span='12'>
<el-form-item label='右模早班数量' prop='planAmount4'>
<el-input-number v-model='form.planAmount4' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
<el-form-item label='右模中班数量' prop='planAmount5'>
<el-input-number v-model='form.planAmount5' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
<el-form-item label='右模晚班数量' prop='planAmount6'>
<el-input-number v-model='form.planAmount6' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
</el-col>
</el-row>
<!-- <el-form-item label="附件信息" prop="attachId">-->
<!-- <el-input v-model="form.attachId" placeholder="请输入附件信息" />-->
<!-- </el-form-item>-->
<!-- <el-form-item label='优先级' prop='priority'>-->
<!-- <el-input-number v-model='form.priority' placeholder='请输入优先级' style='width: 200px;' />-->
<!-- </el-form-item>-->
<!-- <el-form-item label='班次' prop='shiftId'>-->
<!-- <el-radio-group v-model='form.shiftId'>-->
<!-- <el-radio-->
<!-- v-for='dict in shiftList'-->
<!-- :key='dict.shiftId'-->
<!-- :value='dict.shiftId'-->
<!-- >{{ dict.shiftName }}-->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<!-- <el-form-item label='模号' prop='modelCode'>-->
<!-- <el-radio-group v-model='form.modelCode'>-->
<!-- <el-radio-->
<!-- v-for='dict in mes_model_code'-->
<!-- :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>
</el-header>
</el-container>
</el-container>
<template #footer>
<div class='dialog-footer'>
<el-button :loading='buttonLoading' type='primary' @click='submitForm'> </el-button>
@ -525,6 +542,8 @@ import MaterialSelect from '@/views/mes/baseMaterialInfo/addMaterial.vue';
import { getProcessInfoList } from '@/api/mes/baseProcessInfo';
import { getStationInfoList } from '@/api/mes/baseStationInfo';
import { getProdBaseMachineInfoList } from '@/api/mes/prodBaseMachineInfo';
import { ProdBaseMachineInfoVO } from '@/api/mes/prodBaseMachineInfo/types';
import { OssVO } from '@/api/system/oss/types';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const {
@ -553,7 +572,7 @@ const dialog = reactive<DialogOption>({
title: ''
});
const batchDialog = reactive<DialogOption>({
const vulBatchDialog = reactive<DialogOption>({
visible: false,
title: ''
});
@ -569,6 +588,10 @@ const materialSelectRef = ref();
const workshopId = ref();
const prodBaseMachineInfoList = ref<ProdBaseMachineInfoVO[]>([]);
const machineIds = ref<Array<string | number>>([]);
/*获取班次下拉框*/
const getShiftSelect = async () => {
let res = await getBaseShiftInfoList(null);
@ -591,6 +614,7 @@ const getProcessSelect = async () => {
const getReleaseSelect = async () => {
let res = await getProdBaseMachineInfoList({ processId: form.value.processId });
releaseList.value = res.data;
prodBaseMachineInfoList.value = res.data;
};
//
@ -732,10 +756,10 @@ const getWorkshopId = async () => {
const router = useRouter();
workshopId.value = router.currentRoute._rawValue.query && router.currentRoute._rawValue.query.workshopId;
queryParams.value.workshopId = workshopId.value;
console.log("----")
console.log('----');
console.log(queryParams);
console.log(workshopId.value);
}
};
/** 查询生产计划信息列表 */
const getList = async () => {
@ -750,7 +774,7 @@ const getList = async () => {
const cancel = () => {
reset();
dialog.visible = false;
batchDialog.visible = false;
vulBatchDialog.visible = false;
};
/** 表单重置 */
@ -779,6 +803,11 @@ const handleSelectionChange = (selection: PlanInfoVO[]) => {
multiple.value = !selection.length;
};
/** 选择机台条数 */
const handleSelectionMachineChange = (selection: ProdBaseMachineInfoVO[]) => {
machineIds.value = selection.map(item => item.machineId);
};
/** 新增按钮操作 */
const handleAdd = () => {
reset();
@ -789,8 +818,8 @@ const handleAdd = () => {
/** 新增按钮操作 */
const handleBatchAdd = () => {
reset();
batchDialog.visible = true;
batchDialog.title = '批量添加生产计划信息';
vulBatchDialog.visible = true;
vulBatchDialog.title = '批量添加生产计划信息';
};
/** 修改按钮操作 */
@ -812,15 +841,25 @@ const submitForm = () => {
form.value.finishFlag = form.value.finishFlag.join(',');
if (form.value.planId) {
await updatePlanInfo(form.value).finally(() => buttonLoading.value = false);
} else if (batchDialog.visible) {
} else if (vulBatchDialog.visible) {
//
let assemblyData = batchesAddAssemblyData();
await orderAddProductPlanList({ mesProductPlanList: assemblyData, productOrderId: 0 }).finally(() => buttonLoading.value = false);
if (machineIds.value.length == 0) {
proxy?.$modal.msgWarning('请选择机台!');
return;
}
await orderAddProductPlanList({
mesProductPlanList: assemblyData,
productOrderId: 0,
machineIds: machineIds.value
}).finally(() => buttonLoading.value = false);
machineIds.value = [];
} else {
await addPlanInfo(form.value).finally(() => buttonLoading.value = false);
}
proxy?.$modal.msgSuccess('操作成功');
dialog.visible = false;
batchDialog.visible = false;
vulBatchDialog.visible = false;
await getList();
}
});
@ -829,6 +868,8 @@ const submitForm = () => {
/** 批量新增组装数据 */
const batchesAddAssemblyData = () => {
const formData = form.value;
formData.workshopId = workshopId.value;//
formData.processId = 18;//
let list = [];
if (formData.planAmount1 > 0) {
let data = { ...formData };

Loading…
Cancel
Save