update 硫化新增多选机台

master
yinq 4 months ago
parent 07e8a453d0
commit 07b88747a6

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

Loading…
Cancel
Save