|
|
|
@ -11,18 +11,25 @@
|
|
|
|
|
<el-form-item label='计划编号' prop='planCode'>
|
|
|
|
|
<el-input v-model='queryParams.planCode' placeholder='请输入计划编号' clearable @keyup.enter='handleQuery' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- <el-form-item label="物料ID" prop="materialId">-->
|
|
|
|
|
<!-- <el-input v-model="queryParams.materialId" placeholder="请输入物料ID" clearable @keyup.enter="handleQuery" />-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<el-form-item label='物料名称' prop='materialName'>
|
|
|
|
|
<el-input v-model='queryParams.materialName' placeholder='请输入物料名称' clearable @keyup.enter='handleQuery' />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- <el-form-item label="物料BOM" prop="materialBomId">-->
|
|
|
|
|
<!-- <el-input v-model="queryParams.materialBomId" placeholder="请输入物料BOM" clearable @keyup.enter="handleQuery" />-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<!-- <el-form-item label="工序ID" prop="processId">-->
|
|
|
|
|
<!-- <el-input v-model="queryParams.processId" placeholder="请输入工序ID" clearable @keyup.enter="handleQuery" />-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<!-- <el-form-item label="下达ID" prop="releaseId">-->
|
|
|
|
|
<!-- <el-input v-model="queryParams.releaseId" placeholder="请输入下达ID" clearable @keyup.enter="handleQuery" />-->
|
|
|
|
|
<!-- </el-form-item>-->
|
|
|
|
|
<el-form-item label='机台名称' prop='releaseId'>
|
|
|
|
|
<el-select v-model='queryParams.releaseId' placeholder='请选择机台名称'>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for='item in releaseList'
|
|
|
|
|
:key='item.machineId'
|
|
|
|
|
:label='item.machineName'
|
|
|
|
|
:value='item.machineId'
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- <el-form-item label="计划开始时间" prop="planBeginTime">-->
|
|
|
|
|
<!-- <el-date-picker clearable-->
|
|
|
|
|
<!-- v-model="queryParams.planBeginTime"-->
|
|
|
|
@ -59,30 +66,45 @@
|
|
|
|
|
<el-card shadow='never'>
|
|
|
|
|
<template #header>
|
|
|
|
|
<el-row :gutter='10' class='mb8'>
|
|
|
|
|
<!-- <el-col :span='1.5'>-->
|
|
|
|
|
<!-- <el-button type='primary' plain icon='Plus' @click='handleAdd' v-hasPermi="['mes:planInfo:add']">新增-->
|
|
|
|
|
<!-- </el-button>-->
|
|
|
|
|
<!-- </el-col>-->
|
|
|
|
|
<el-col :span='1.5'>
|
|
|
|
|
<el-button type='primary' plain icon='Plus' @click='handleAdd' v-hasPermi="['mes:planInfo:add']">新增
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span='1.5'>
|
|
|
|
|
<el-button type='primary' plain icon='Plus' @click='handleBatchAdd' v-hasPermi="['mes:planInfo:add']"
|
|
|
|
|
v-if="workshopId == '4'">硫化新增
|
|
|
|
|
<el-button type='primary' plain icon='Plus' @click='handleSfpBatchAdd' v-hasPermi="['mes:planInfo:add']"
|
|
|
|
|
v-if="workshopId === '2'">半制品新增
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span='1.5'>
|
|
|
|
|
<el-button type='success' plain icon='Edit' :disabled='single' @click='handleUpdate()'
|
|
|
|
|
v-hasPermi="['mes:planInfo:edit']">修改
|
|
|
|
|
<el-button type='primary' plain icon='Plus' @click='handleFormingBatchAdd' v-hasPermi="['mes:planInfo:add']"
|
|
|
|
|
v-if="workshopId === '3'">成型新增
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span='1.5'>
|
|
|
|
|
<el-button type='danger' plain icon='Delete' :disabled='multiple' @click='handleDelete()'
|
|
|
|
|
v-hasPermi="['mes:planInfo:remove']">删除
|
|
|
|
|
<el-button type='primary' plain icon='Plus' @click='handleVulBatchAdd' v-hasPermi="['mes:planInfo:add']"
|
|
|
|
|
v-if="workshopId === '4'">硫化新增
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span='1.5'>
|
|
|
|
|
<el-button type='warning' plain icon='Download' @click='handleExport' v-hasPermi="['mes:planInfo:export']">
|
|
|
|
|
导出
|
|
|
|
|
<el-button type='danger' plain icon='Bottom' :disabled='multiple' @click='handleIssuePlanInfo()'
|
|
|
|
|
v-hasPermi="['mes:planInfo:add']">下发选中计划
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<!-- <el-col :span='1.5'>-->
|
|
|
|
|
<!-- <el-button type='success' plain icon='Edit' :disabled='single' @click='handleUpdate()'-->
|
|
|
|
|
<!-- v-hasPermi="['mes:planInfo:edit']">修改-->
|
|
|
|
|
<!-- </el-button>-->
|
|
|
|
|
<!-- </el-col>-->
|
|
|
|
|
<!-- <el-col :span='1.5'>-->
|
|
|
|
|
<!-- <el-button type='danger' plain icon='Delete' :disabled='multiple' @click='handleDelete()'-->
|
|
|
|
|
<!-- v-hasPermi="['mes:planInfo:remove']">删除-->
|
|
|
|
|
<!-- </el-button>-->
|
|
|
|
|
<!-- </el-col>-->
|
|
|
|
|
<!-- <el-col :span='1.5'>-->
|
|
|
|
|
<!-- <el-button type='warning' plain icon='Download' @click='handleExport' v-hasPermi="['mes:planInfo:export']">-->
|
|
|
|
|
<!-- 导出-->
|
|
|
|
|
<!-- </el-button>-->
|
|
|
|
|
<!-- </el-col>-->
|
|
|
|
|
<right-toolbar v-model:showSearch='showSearch' :columns='columns' :search='true'
|
|
|
|
|
@queryTable='getList'></right-toolbar>
|
|
|
|
|
</el-row>
|
|
|
|
@ -348,7 +370,183 @@
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
<!-- 批量添加生产工单信息对话框 -->
|
|
|
|
|
<!-- 批量添加半制品计划信息对话框 -->
|
|
|
|
|
<el-dialog :title='sfpBatchDialog.title' v-model='sfpBatchDialog.visible' width='800px' 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-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-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-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-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-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-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-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-form>
|
|
|
|
|
</el-header>
|
|
|
|
|
</el-container>
|
|
|
|
|
</el-container>
|
|
|
|
|
|
|
|
|
|
<template #footer>
|
|
|
|
|
<div class='dialog-footer'>
|
|
|
|
|
<el-button :loading='buttonLoading' type='primary' @click='submitForm'>确 定</el-button>
|
|
|
|
|
<el-button @click='cancel'>取 消</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
<!-- 批量添加成型计划信息对话框 -->
|
|
|
|
|
<el-dialog :title='formingBatchDialog.title' v-model='formingBatchDialog.visible' width='800px' 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-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-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-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-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-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-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-form>
|
|
|
|
|
</el-header>
|
|
|
|
|
</el-container>
|
|
|
|
|
</el-container>
|
|
|
|
|
|
|
|
|
|
<template #footer>
|
|
|
|
|
<div class='dialog-footer'>
|
|
|
|
|
<el-button :loading='buttonLoading' type='primary' @click='submitForm'>确 定</el-button>
|
|
|
|
|
<el-button @click='cancel'>取 消</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
<!-- 批量添加硫化计划信息对话框 -->
|
|
|
|
|
<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'>
|
|
|
|
@ -532,7 +730,7 @@ import {
|
|
|
|
|
delPlanInfo,
|
|
|
|
|
addPlanInfo,
|
|
|
|
|
updatePlanInfo,
|
|
|
|
|
orderAddProductPlanList
|
|
|
|
|
orderAddProductPlanList, issuePlanInfo
|
|
|
|
|
} from '@/api/mes/planInfo';
|
|
|
|
|
import { PlanInfoVO, PlanInfoQuery, PlanInfoForm } from '@/api/mes/planInfo/types';
|
|
|
|
|
import { getBaseShiftInfoList } from '@/api/mes/baseShiftInfo';
|
|
|
|
@ -543,7 +741,6 @@ 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 {
|
|
|
|
@ -572,6 +769,16 @@ const dialog = reactive<DialogOption>({
|
|
|
|
|
title: ''
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const sfpBatchDialog = reactive<DialogOption>({
|
|
|
|
|
visible: false,
|
|
|
|
|
title: ''
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const formingBatchDialog = reactive<DialogOption>({
|
|
|
|
|
visible: false,
|
|
|
|
|
title: ''
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const vulBatchDialog = reactive<DialogOption>({
|
|
|
|
|
visible: false,
|
|
|
|
|
title: ''
|
|
|
|
@ -604,10 +811,10 @@ const getClassTeamSelect = async () => {
|
|
|
|
|
classTeamList.value = res.data;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/*获取工序下拉框*/
|
|
|
|
|
/*获取半制品工序下拉框*/
|
|
|
|
|
const getProcessSelect = async () => {
|
|
|
|
|
let res = await getProcessInfoList(null);
|
|
|
|
|
processList.value = res.data;
|
|
|
|
|
let res = await getProcessInfoList({ processType: 1 });
|
|
|
|
|
processList.value = res.data.filter(item => item.processId !== 17 && item.processId !== 18);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/*获取工位下拉框*/
|
|
|
|
@ -756,9 +963,6 @@ 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(queryParams);
|
|
|
|
|
console.log(workshopId.value);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 查询生产计划信息列表 */
|
|
|
|
@ -774,6 +978,8 @@ const getList = async () => {
|
|
|
|
|
const cancel = () => {
|
|
|
|
|
reset();
|
|
|
|
|
dialog.visible = false;
|
|
|
|
|
sfpBatchDialog.visible = false;
|
|
|
|
|
formingBatchDialog.visible = false;
|
|
|
|
|
vulBatchDialog.visible = false;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@ -815,11 +1021,30 @@ const handleAdd = () => {
|
|
|
|
|
dialog.title = '添加生产计划信息';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 新增按钮操作 */
|
|
|
|
|
const handleBatchAdd = () => {
|
|
|
|
|
/** 新增半制品按钮操作 */
|
|
|
|
|
const handleSfpBatchAdd = () => {
|
|
|
|
|
reset();
|
|
|
|
|
machineIds.value = [];
|
|
|
|
|
sfpBatchDialog.visible = true;
|
|
|
|
|
sfpBatchDialog.title = '添加半制品生产计划信息';
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 新增成型按钮操作 */
|
|
|
|
|
const handleFormingBatchAdd = () => {
|
|
|
|
|
reset();
|
|
|
|
|
machineIds.value = [];
|
|
|
|
|
formingBatchDialog.visible = true;
|
|
|
|
|
formingBatchDialog.title = '添加成型生产计划信息';
|
|
|
|
|
form.value.processId = 17;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 新增硫化按钮操作 */
|
|
|
|
|
const handleVulBatchAdd = () => {
|
|
|
|
|
reset();
|
|
|
|
|
machineIds.value = [];
|
|
|
|
|
vulBatchDialog.visible = true;
|
|
|
|
|
vulBatchDialog.title = '批量添加生产计划信息';
|
|
|
|
|
vulBatchDialog.title = '添加硫化生产计划信息';
|
|
|
|
|
form.value.processId = 18;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 修改按钮操作 */
|
|
|
|
@ -838,27 +1063,27 @@ const submitForm = () => {
|
|
|
|
|
planInfoFormRef.value?.validate(async (valid: boolean) => {
|
|
|
|
|
if (valid) {
|
|
|
|
|
buttonLoading.value = true;
|
|
|
|
|
form.value.finishFlag = form.value.finishFlag.join(',');
|
|
|
|
|
if (form.value.planId) {
|
|
|
|
|
await updatePlanInfo(form.value).finally(() => buttonLoading.value = false);
|
|
|
|
|
} else if (vulBatchDialog.visible) {
|
|
|
|
|
//硫化新增
|
|
|
|
|
let assemblyData = batchesAddAssemblyData();
|
|
|
|
|
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);
|
|
|
|
|
form.value.finishFlag = form.value.finishFlag !== null ? form.value.finishFlag.join(',') : null;
|
|
|
|
|
// if (form.value.planId) {
|
|
|
|
|
// await updatePlanInfo(form.value).finally(() => buttonLoading.value = false);
|
|
|
|
|
// } else {
|
|
|
|
|
// await addPlanInfo(form.value).finally(() => buttonLoading.value = false);
|
|
|
|
|
// }
|
|
|
|
|
//半制品、成型、硫化新增
|
|
|
|
|
let assemblyData = batchesAddAssemblyData();
|
|
|
|
|
if (machineIds.value.length == 0) {
|
|
|
|
|
proxy?.$modal.msgWarning('请选择机台!');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
await orderAddProductPlanList({
|
|
|
|
|
mesProductPlanList: assemblyData,
|
|
|
|
|
productOrderId: 0,
|
|
|
|
|
machineIds: machineIds.value
|
|
|
|
|
}).finally(() => buttonLoading.value = false);
|
|
|
|
|
proxy?.$modal.msgSuccess('操作成功');
|
|
|
|
|
dialog.visible = false;
|
|
|
|
|
sfpBatchDialog.visible = false;
|
|
|
|
|
formingBatchDialog.visible = false;
|
|
|
|
|
vulBatchDialog.visible = false;
|
|
|
|
|
await getList();
|
|
|
|
|
}
|
|
|
|
@ -869,25 +1094,24 @@ const submitForm = () => {
|
|
|
|
|
const batchesAddAssemblyData = () => {
|
|
|
|
|
const formData = form.value;
|
|
|
|
|
formData.workshopId = workshopId.value;//车间
|
|
|
|
|
formData.processId = 18;//硫化
|
|
|
|
|
let list = [];
|
|
|
|
|
if (formData.planAmount1 > 0) {
|
|
|
|
|
let data = { ...formData };
|
|
|
|
|
data.modelCode = 'L';
|
|
|
|
|
data.modelCode = formData.workshopId === '4' ? 'L' : null;
|
|
|
|
|
data.shiftId = '1';
|
|
|
|
|
data.planAmount = formData.planAmount1;
|
|
|
|
|
list.push(data);
|
|
|
|
|
}
|
|
|
|
|
if (formData.planAmount2 > 0) {
|
|
|
|
|
let data = { ...formData };
|
|
|
|
|
data.modelCode = 'L';
|
|
|
|
|
data.modelCode = formData.workshopId === '4' ? 'L' : null;
|
|
|
|
|
data.shiftId = '2';
|
|
|
|
|
data.planAmount = formData.planAmount2;
|
|
|
|
|
list.push(data);
|
|
|
|
|
}
|
|
|
|
|
if (formData.planAmount3 > 0) {
|
|
|
|
|
let data = { ...formData };
|
|
|
|
|
data.modelCode = 'L';
|
|
|
|
|
data.modelCode = formData.workshopId === '4' ? 'L' : null;
|
|
|
|
|
data.shiftId = '3';
|
|
|
|
|
data.planAmount = formData.planAmount3;
|
|
|
|
|
list.push(data);
|
|
|
|
@ -925,6 +1149,16 @@ const handleDelete = async (row?: PlanInfoVO) => {
|
|
|
|
|
await getList();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** 下发选中计划 */
|
|
|
|
|
const handleIssuePlanInfo = async (row?: PlanInfoVO) => {
|
|
|
|
|
const _planIds = row?.planId || ids.value;
|
|
|
|
|
await proxy?.$modal.confirm('是否下发已选中的生产计划?').finally(() => loading.value = false);
|
|
|
|
|
await issuePlanInfo(workshopId.value, _planIds);
|
|
|
|
|
proxy?.$modal.msgSuccess('下发选中计划成功');
|
|
|
|
|
await getList();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/** 导出按钮操作 */
|
|
|
|
|
const handleExport = () => {
|
|
|
|
|
proxy?.download('mes/planInfo/export', {
|
|
|
|
@ -968,10 +1202,10 @@ onMounted(() => {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// 监听 processId 的变化
|
|
|
|
|
watch(
|
|
|
|
|
() => form.value.processId, (newValue, oldValue) => {
|
|
|
|
|
// 监听到变化时执行的函数
|
|
|
|
|
getReleaseSelect();
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
// watch(
|
|
|
|
|
// () => form.value.processId, (newValue, oldValue) => {
|
|
|
|
|
// // 监听到变化时执行的函数
|
|
|
|
|
// getReleaseSelect();
|
|
|
|
|
// }
|
|
|
|
|
// );
|
|
|
|
|
</script>
|
|
|
|
|