update mes生产计划添加撤回

master
yinq 3 months ago
parent 2347ce2919
commit b85f4c3933

@ -10,11 +10,11 @@
<!-- </el-form-item>-->
<el-form-item label='计划编号' prop='planCode'>
<el-input v-model='queryParams.planCode' placeholder='请输入计划编号' clearable
@keyup.enter='handleQuery'/>
@keyup.enter='handleQuery' />
</el-form-item>
<el-form-item label='物料名称' prop='materialName'>
<el-input v-model='queryParams.materialName' placeholder='请输入物料名称' clearable
@keyup.enter='handleQuery'/>
@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" />-->
@ -42,7 +42,7 @@
<!-- </el-form-item>-->
<el-form-item label='计划状态' prop='planStatus'>
<el-select v-model='queryParams.planStatus' placeholder='请选择计划状态' clearable>
<el-option v-for='dict in mes_plan_status' :key='dict.value' :label='dict.label' :value='dict.value'/>
<el-option v-for='dict in mes_plan_status' :key='dict.value' :label='dict.label' :value='dict.value' />
</el-select>
</el-form-item>
<!-- <el-form-item label="班次" prop="shiftId">-->
@ -53,7 +53,7 @@
<!-- </el-form-item>-->
<el-form-item label='模号' prop='modelCode'>
<el-select v-model='queryParams.modelCode' placeholder='请选择模号' clearable>
<el-option v-for='dict in mes_model_code' :key='dict.value' :label='dict.label' :value='dict.value'/>
<el-option v-for='dict in mes_model_code' :key='dict.value' :label='dict.label' :value='dict.value' />
</el-select>
</el-form-item>
<el-form-item>
@ -113,36 +113,36 @@
</template>
<el-table v-loading='loading' :data='planInfoList' @selection-change='handleSelectionChange'>
<el-table-column type='selection' width='55' align='center'/>
<el-table-column label='主键标识' align='center' prop='planId' v-if='columns[0].visible'/>
<el-table-column type='selection' width='55' align='center' />
<el-table-column label='主键标识' align='center' prop='planId' v-if='columns[0].visible' />
<el-table-column label='生产订单ID' align='center' prop='productOrderId' v-if='columns[2].visible'
width='100'/>
<el-table-column label='销售订单ID' align='center' prop='saleOrderId' v-if='columns[3].visible'/>
<el-table-column label='销售订单编号' align='center' prop='saleorderCode' v-if='columns[4].visible'/>
<el-table-column label='计划编号' align='center' prop='planCode' v-if='columns[5].visible' width='120'/>
<el-table-column label='派工单号' align='center' prop='dispatchCode' v-if='columns[6].visible'/>
<el-table-column label='物料名称' align='center' prop='materialName' v-if='columns[7].visible' width='160'/>
<el-table-column label='BOM版本' align='center' prop='materialBomVersion' v-if='columns[8].visible' width='160'/>
<el-table-column label='工序名称' align='center' prop='processName' v-if='columns[9].visible'/>
<el-table-column label='顺序' align='center' prop='processOrder' v-if='columns[10].visible'/>
width='100' />
<el-table-column label='销售订单ID' align='center' prop='saleOrderId' v-if='columns[3].visible' />
<el-table-column label='销售订单编号' align='center' prop='saleorderCode' v-if='columns[4].visible' />
<el-table-column label='计划编号' align='center' prop='planCode' v-if='columns[5].visible' width='120' />
<el-table-column label='派工单号' align='center' prop='dispatchCode' v-if='columns[6].visible' />
<el-table-column label='物料名称' align='center' prop='materialName' v-if='columns[7].visible' width='160' />
<el-table-column label='BOM版本' align='center' prop='materialBomVersion' v-if='columns[8].visible' width='160' />
<el-table-column label='工序名称' align='center' prop='processName' v-if='columns[9].visible' />
<el-table-column label='顺序' align='center' prop='processOrder' v-if='columns[10].visible' />
<el-table-column label='上一工序ID' align='center' prop='lastProcessId' v-if='columns[11].visible'
width='100'/>
width='100' />
<el-table-column label='最后工序标识' align='center' prop='finalProcessFlag' v-if='columns[12].visible'
width='110'>
<template #default='scope'>
<dict-tag :options='active_flag' :value='scope.row.finalProcessFlag'/>
<dict-tag :options='active_flag' :value='scope.row.finalProcessFlag' />
</template>
</el-table-column>
<el-table-column label='下达类型' align='center' prop='releaseType' v-if='columns[13].visible'>
<template #default='scope'>
<dict-tag :options='mes_release_type' :value='scope.row.releaseType'/>
<dict-tag :options='mes_release_type' :value='scope.row.releaseType' />
</template>
</el-table-column>
<el-table-column label='下达机台' align='center' prop='releaseName' v-if='columns[14].visible'/>
<el-table-column label='单位生产时间(秒)' align='center' prop='productionTime' v-if='columns[15].visible'/>
<el-table-column label='计划数量' align='center' prop='planAmount' v-if='columns[16].visible'/>
<el-table-column label='派工数量' align='center' prop='dispatchAmount' v-if='columns[17].visible'/>
<el-table-column label='完成数量' align='center' prop='completeAmount' v-if='columns[18].visible'/>
<el-table-column label='下达机台' align='center' prop='releaseName' v-if='columns[14].visible' />
<el-table-column label='单位生产时间(秒)' align='center' prop='productionTime' v-if='columns[15].visible' />
<el-table-column label='计划数量' align='center' prop='planAmount' v-if='columns[16].visible' />
<el-table-column label='派工数量' align='center' prop='dispatchAmount' v-if='columns[17].visible' />
<el-table-column label='完成数量' align='center' prop='completeAmount' v-if='columns[18].visible' />
<el-table-column label='计划时间' align='center' prop='planBeginTime' width='180' v-if='columns[19].visible'>
<template #default='scope'>
<span>{{ parseTime(scope.row.planBeginTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
@ -164,45 +164,47 @@
<span>{{ parseTime(scope.row.realEndTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label='附件信息' align='center' prop='attachId' v-if='columns[23].visible'/>
<el-table-column label='附件信息' align='center' prop='attachId' v-if='columns[23].visible' />
<el-table-column label='计划状态' align='center' prop='planStatus' v-if='columns[24].visible'>
<template #default='scope'>
<dict-tag :options='mes_plan_status' :value='scope.row.planStatus'/>
<dict-tag :options='mes_plan_status' :value='scope.row.planStatus' />
</template>
</el-table-column>
<el-table-column label='导入类型' align='center' prop='importFlag' v-if='columns[25].visible'>
<template #default='scope'>
<dict-tag :options='mes_import_flag' :value='scope.row.importFlag'/>
<dict-tag :options='mes_import_flag' :value='scope.row.importFlag' />
</template>
</el-table-column>
<el-table-column label='完成标识' align='center' prop='finishFlag' v-if='columns[26].visible'>
<template #default='scope'>
<dict-tag :options='mes_finish_flag' :value="scope.row.finishFlag ? scope.row.finishFlag.split(',') : []"/>
<dict-tag :options='mes_finish_flag' :value="scope.row.finishFlag ? scope.row.finishFlag.split(',') : []" />
</template>
</el-table-column>
<el-table-column label='优先级' align='center' prop='priority' v-if='columns[27].visible'/>
<el-table-column label='班次' align='center' prop='shiftName' v-if='columns[28].visible'/>
<el-table-column label='班组' align='center' prop='teamName' v-if='columns[29].visible'/>
<el-table-column label='优先级' align='center' prop='priority' v-if='columns[27].visible' />
<el-table-column label='班次' align='center' prop='shiftName' v-if='columns[28].visible' />
<el-table-column label='班组' align='center' prop='teamName' v-if='columns[29].visible' />
<el-table-column label='模号' align='center' prop='modelCode' v-if='columns[30].visible'>
<template #default='scope'>
<dict-tag :options='mes_model_code' :value='scope.row.modelCode'/>
<dict-tag :options='mes_model_code' :value='scope.row.modelCode' />
</template>
</el-table-column>
<el-table-column label='备注' align='center' prop='remark' v-if='columns[31].visible'/>
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template #default="scope">-->
<!-- <el-tooltip content="修改" placement="top">-->
<!-- <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['mes:planInfo:edit']"></el-button>-->
<el-table-column label='备注' align='center' prop='remark' v-if='columns[31].visible' />
<el-table-column label='操作' align='center' class-name='small-padding fixed-width' fixed='right'>
<template #default='scope'>
<el-button link type='primary' @click='handleRecall(scope.row)'
v-if='["0", "1"].includes(scope.row.planStatus)'
v-hasPermi="['mes:planInfo:edit']">撤回
</el-button>
<!-- <el-tooltip content='删除' placement='top'>-->
<!-- <el-button link type='primary' icon='Delete' @click='handleDelete(scope.row)'-->
<!-- v-hasPermi="['mes:planInfo:remove']"></el-button>-->
<!-- </el-tooltip>-->
<!-- <el-tooltip content="删除" placement="top">-->
<!-- <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['mes:planInfo:remove']"></el-button>-->
<!-- </el-tooltip>-->
<!-- </template>-->
<!-- </el-table-column>-->
</template>
</el-table-column>
</el-table>
<pagination v-show='total > 0' :total='total' v-model:page='queryParams.pageNum'
v-model:limit='queryParams.pageSize' @pagination='getList'/>
v-model:limit='queryParams.pageSize' @pagination='getList' />
</el-card>
<!-- 添加或修改生产工单信息对话框 -->
<el-dialog :title='dialog.title' v-model='dialog.visible' width='500px' append-to-body>
@ -226,7 +228,7 @@
<el-input v-model='form.materialName' placeholder='请点击检索物料' @click='handleMaterialAdd' readonly>
<template #append>
<el-icon class='el-input__icon'>
<search/>
<search />
</el-icon>
</template>
</el-input>
@ -301,7 +303,7 @@
<!-- <el-input v-model="form.productionTime" placeholder="请输入单位生产时间(秒)" />-->
<!-- </el-form-item>-->
<el-form-item label='计划数量' prop='planAmount'>
<el-input-number v-model='form.planAmount' placeholder='请输入计划数量' style='width: 200px;'/>
<el-input-number v-model='form.planAmount' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
<!-- <el-form-item label="派工数量" prop="dispatchAmount">-->
<!-- <el-input-number v-model="form.dispatchAmount" placeholder="请输入派工数量" style="width: 200px;" />-->
@ -326,7 +328,7 @@
<!-- <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-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'>
@ -359,7 +361,7 @@
</el-radio-group>
</el-form-item>
<el-form-item label='备注' prop='remark'>
<el-input v-model='form.remark' placeholder='请输入备注'/>
<el-input v-model='form.remark' placeholder='请输入备注' />
</el-form-item>
</el-form>
<template #footer>
@ -408,22 +410,22 @@
机台编号
</span>
<el-input v-model='machineQueryParams.machineCode' placeholder='请输入机台编号' clearable
style='width: 120px;'/>
style='width: 120px;' />
<span style='font-weight:700; padding: 0 4px'>
机台名称
</span>
<el-input v-model='machineQueryParams.machineName' placeholder='请输入机台名称' clearable
style='width: 120px;'/>
style='width: 120px;' />
<el-form-item>
<el-button type='primary' icon='Search' @click='handleMachineQuery'>搜索</el-button>
</el-form-item>
</el-form>
<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-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>
@ -433,7 +435,7 @@
<el-input v-model='form.materialName' placeholder='请点击检索物料' @click='handleMaterialAdd' readonly>
<template #append>
<el-icon class='el-input__icon'>
<search/>
<search />
</el-icon>
</template>
</el-input>
@ -449,7 +451,7 @@
</el-select>
</el-form-item>
<el-form-item label='工序名称' prop='processId'>
<el-select v-model='form.processId' placeholder='请先选择工序,再选择机台' @change="getMachine">
<el-select v-model='form.processId' placeholder='请先选择工序,再选择机台' @change='getMachine'>
<el-option
v-for='item in processList'
:key='item.processId'
@ -485,13 +487,13 @@
</el-select>
</el-form-item>
<el-form-item label='早班数量' prop='planAmount1'>
<el-input-number v-model='form.planAmount1' placeholder='请输入计划数量' style='width: 200px;'/>
<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-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-input-number v-model='form.planAmount3' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
</el-form>
@ -526,22 +528,22 @@
机台编号
</span>
<el-input v-model='machineQueryParams.machineCode' placeholder='请输入机台编号' clearable
style='width: 120px;'/>
style='width: 120px;' />
<span style='font-weight:700; padding: 0 4px'>
机台名称
</span>
<el-input v-model='machineQueryParams.machineName' placeholder='请输入机台名称' clearable
style='width: 120px;'/>
style='width: 120px;' />
<el-form-item>
<el-button type='primary' icon='Search' @click='handleMachineQuery'>搜索</el-button>
</el-form-item>
</el-form>
<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-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>
@ -551,7 +553,7 @@
<el-input v-model='form.materialName' placeholder='请点击检索物料' @click='handleMaterialAdd' readonly>
<template #append>
<el-icon class='el-input__icon'>
<search/>
<search />
</el-icon>
</template>
</el-input>
@ -593,13 +595,13 @@
</el-select>
</el-form-item>
<el-form-item label='早班数量' prop='planAmount1'>
<el-input-number v-model='form.planAmount1' placeholder='请输入计划数量' style='width: 200px;'/>
<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-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-input-number v-model='form.planAmount3' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
</el-form>
@ -634,22 +636,22 @@
机台编号
</span>
<el-input v-model='machineQueryParams.machineCode' placeholder='请输入机台编号' clearable
style='width: 120px;'/>
style='width: 120px;' />
<span style='font-weight:700; padding: 0 4px'>
机台名称
</span>
<el-input v-model='machineQueryParams.machineName' placeholder='请输入机台名称' clearable
style='width: 120px;'/>
style='width: 120px;' />
<el-form-item>
<el-button type='primary' icon='Search' @click='handleMachineQuery'>搜索</el-button>
</el-form-item>
</el-form>
<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-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>
@ -686,7 +688,7 @@
readonly>
<template #append>
<el-icon class='el-input__icon'>
<search/>
<search />
</el-icon>
</template>
</el-input>
@ -698,7 +700,7 @@
readonly>
<template #append>
<el-icon class='el-input__icon'>
<search/>
<search />
</el-icon>
</template>
</el-input>
@ -734,24 +736,24 @@
<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-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-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-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-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-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-input-number v-model='form.planAmount6' placeholder='请输入计划数量' style='width: 200px;' />
</el-form-item>
</el-col>
</el-row>
@ -811,19 +813,20 @@ import {
materialBomTreeSelect,
materialBomVersionSelect
} from '@/api/mes/planInfo';
import {PlanInfoVO, PlanInfoQuery, PlanInfoForm} from '@/api/mes/planInfo/types';
import {getBaseShiftInfoList} from '@/api/mes/baseShiftInfo';
import {getBaseClassTeamInfoList} from '@/api/mes/baseClassTeamInfo';
import { PlanInfoVO, PlanInfoQuery, PlanInfoForm } from '@/api/mes/planInfo/types';
import { getBaseShiftInfoList } from '@/api/mes/baseShiftInfo';
import { getBaseClassTeamInfoList } from '@/api/mes/baseClassTeamInfo';
import BomSelect from '@/views/mes/materialBom/addBom.vue';
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 {MaterialBomVO} from "@/api/mes/materialBom/types";
import {optionselect} from "@/api/system/post";
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 { MaterialBomVO } from '@/api/mes/materialBom/types';
import { optionselect } from '@/api/system/post';
import { cloneDeep } from 'lodash-es';
const {proxy} = getCurrentInstance() as ComponentInternalInstance;
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const {
mes_import_flag,
active_flag,
@ -905,7 +908,7 @@ const getClassTeamSelect = async () => {
/*获取半制品工序下拉框*/
const getProcessSelect = async () => {
let res = await getProcessInfoList({processType: 1});
let res = await getProcessInfoList({ processType: 1 });
processList.value = res.data.filter(item => item.processId !== 17 && item.processId !== 18);
};
@ -920,43 +923,43 @@ const getReleaseSelect = async () => {
//
const columns = ref<FieldOption[]>([
{key: 0, label: `主键标识`, visible: false},
{key: 1, label: `租户编号`, visible: false},
{key: 2, label: `生产订单ID`, visible: false},
{key: 3, label: `销售订单ID`, visible: false},
{key: 4, label: `销售订单编号`, visible: false},
{key: 5, label: `计划编号`, visible: true},
{key: 6, label: `派工单号`, visible: false},
{key: 7, label: `物料名称`, visible: true},
{key: 8, label: `BOM版本`, visible: true},
{key: 9, label: `工序名称`, visible: true},
{key: 10, label: `顺序`, visible: false},
{key: 11, label: `上一工序ID`, visible: false},
{key: 12, label: `最后工序标识`, visible: false},
{key: 13, label: `下达类型`, visible: true},
{key: 14, label: `下达ID`, visible: true},
{key: 15, label: `单位生产时间(秒)`, visible: false},
{key: 16, label: `计划数量`, visible: true},
{key: 17, label: `派工数量`, visible: false},
{key: 18, label: `完成数量`, visible: true},
{key: 19, label: `计划时间`, visible: true},
{key: 20, label: `计划结束时间`, visible: false},
{key: 21, label: `实际开始时间`, visible: true},
{key: 22, label: `实际完成时间`, visible: true},
{key: 23, label: `附件信息`, visible: false},
{key: 24, label: `计划状态`, visible: true},
{key: 25, label: `导入类型`, visible: false},
{key: 26, label: `完成标识`, visible: true},
{key: 27, label: `优先级`, visible: true},
{key: 28, label: `班次`, visible: true},
{key: 29, label: `班组`, visible: true},
{key: 30, label: `模号`, visible: true},
{key: 31, label: `备注`, visible: false},
{key: 32, label: `创建部门`, visible: false},
{key: 33, label: `创建人`, visible: false},
{key: 34, label: `创建时间`, visible: false},
{key: 35, label: `更新人`, visible: false},
{key: 36, label: `更新时间`, visible: false}
{ key: 0, label: `主键标识`, visible: false },
{ key: 1, label: `租户编号`, visible: false },
{ key: 2, label: `生产订单ID`, visible: false },
{ key: 3, label: `销售订单ID`, visible: false },
{ key: 4, label: `销售订单编号`, visible: false },
{ key: 5, label: `计划编号`, visible: true },
{ key: 6, label: `派工单号`, visible: false },
{ key: 7, label: `物料名称`, visible: true },
{ key: 8, label: `BOM版本`, visible: true },
{ key: 9, label: `工序名称`, visible: true },
{ key: 10, label: `顺序`, visible: false },
{ key: 11, label: `上一工序ID`, visible: false },
{ key: 12, label: `最后工序标识`, visible: false },
{ key: 13, label: `下达类型`, visible: true },
{ key: 14, label: `下达ID`, visible: true },
{ key: 15, label: `单位生产时间(秒)`, visible: false },
{ key: 16, label: `计划数量`, visible: true },
{ key: 17, label: `派工数量`, visible: false },
{ key: 18, label: `完成数量`, visible: true },
{ key: 19, label: `计划时间`, visible: true },
{ key: 20, label: `计划结束时间`, visible: false },
{ key: 21, label: `实际开始时间`, visible: true },
{ key: 22, label: `实际完成时间`, visible: true },
{ key: 23, label: `附件信息`, visible: false },
{ key: 24, label: `计划状态`, visible: true },
{ key: 25, label: `导入类型`, visible: false },
{ key: 26, label: `完成标识`, visible: true },
{ key: 27, label: `优先级`, visible: true },
{ key: 28, label: `班次`, visible: true },
{ key: 29, label: `班组`, visible: true },
{ key: 30, label: `模号`, visible: true },
{ key: 31, label: `备注`, visible: false },
{ key: 32, label: `创建部门`, visible: false },
{ key: 33, label: `创建人`, visible: false },
{ key: 34, label: `创建时间`, visible: false },
{ key: 35, label: `更新人`, visible: false },
{ key: 36, label: `更新时间`, visible: false }
]);
const initFormData: PlanInfoForm = {
@ -995,7 +998,7 @@ const initFormData: PlanInfoForm = {
workshopId: undefined
};
const data = reactive<PageData<PlanInfoForm, PlanInfoQuery>>({
form: {...initFormData},
form: { ...initFormData },
queryParams: {
pageNum: 1,
pageSize: 10,
@ -1034,24 +1037,24 @@ const data = reactive<PageData<PlanInfoForm, PlanInfoQuery>>({
},
rules: {
materialId: [
{required: true, message: '物料名称不能为空', trigger: 'blur'}
{ required: true, message: '物料名称不能为空', trigger: 'blur' }
],
processId: [
{required: true, message: '工序不能为空', trigger: 'blur'}
{ required: true, message: '工序不能为空', trigger: 'blur' }
],
releaseId: [
{required: true, message: '机台名称不能为空', trigger: 'blur'}
{ required: true, message: '机台名称不能为空', trigger: 'blur' }
],
materialName: [
{required: true, message: '物料BOM不能为空', trigger: 'blur'}
{ required: true, message: '物料BOM不能为空', trigger: 'blur' }
],
planAmount: [
{required: true, message: '计划数量不能为空', trigger: 'blur'}
{ required: true, message: '计划数量不能为空', trigger: 'blur' }
]
}
});
const {queryParams, form, rules} = toRefs(data);
const { queryParams, form, rules } = toRefs(data);
const machineNameTags = ref([]);
const getWorkshopId = async () => {
@ -1080,7 +1083,7 @@ const cancel = () => {
/** 表单重置 */
const reset = () => {
form.value = {...initFormData};
form.value = { ...initFormData };
form.value.workshopId = workshopId.value;
planInfoFormRef.value?.resetFields();
};
@ -1162,6 +1165,19 @@ const handleUpdate = async (row?: PlanInfoVO) => {
dialog.title = '修改生产计划信息';
};
/** 撤回按钮操作 */
const handleRecall = async (row?: PlanInfoVO) => {
buttonLoading.value = true;
let rowData = cloneDeep(row);
rowData.workshopId = workshopId.value;
rowData.planStatus = '4';
await proxy?.$modal.confirm('是否确认撤回计划编号为"' + row.planCode + '"的数据项?').finally(() => {
updatePlanInfo(rowData).finally(() => buttonLoading.value = false);
});
proxy?.$modal.msgSuccess('撤回成功');
await getList();
};
/** 提交按钮 */
const submitForm = () => {
planInfoFormRef.value?.validate(async (valid: boolean) => {
@ -1200,7 +1216,7 @@ const batchesAddAssemblyData = () => {
formData.workshopId = workshopId.value;//
let list = [];
if (formData.planAmount1 > 0) {
let data = {...formData};
let data = { ...formData };
data.modelCode = formData.workshopId === '4' ? 'L' : null;
data.materialId = formData.workshopId === '4' ? formData.materialIdL : formData.materialId;
data.materialBomVersion = formData.workshopId === '4' ? formData.materialBomVersionL : formData.materialBomVersion;
@ -1209,7 +1225,7 @@ const batchesAddAssemblyData = () => {
list.push(data);
}
if (formData.planAmount2 > 0) {
let data = {...formData};
let data = { ...formData };
data.modelCode = formData.workshopId === '4' ? 'L' : null;
data.shiftId = '2';
data.planAmount = formData.planAmount2;
@ -1218,7 +1234,7 @@ const batchesAddAssemblyData = () => {
list.push(data);
}
if (formData.planAmount3 > 0) {
let data = {...formData};
let data = { ...formData };
data.modelCode = formData.workshopId === '4' ? 'L' : null;
data.shiftId = '3';
data.planAmount = formData.planAmount3;
@ -1227,7 +1243,7 @@ const batchesAddAssemblyData = () => {
list.push(data);
}
if (formData.planAmount4 > 0) {
let data = {...formData};
let data = { ...formData };
data.modelCode = 'R';
data.shiftId = '1';
data.planAmount = formData.planAmount4;
@ -1236,20 +1252,22 @@ const batchesAddAssemblyData = () => {
list.push(data);
}
if (formData.planAmount5 > 0) {
let data = {...formData};
let data = { ...formData };
data.modelCode = 'R';
data.shiftId = '2';
data.planAmount = formData.planAmount5;
data.materialId = formData.workshopId === '4' ? formData.materialIdR : formData.materialId;
data.materialBomVersion = formData.workshopId === '4' ? formData.materialBomVersionR : formData.materialBomVersion; list.push(data);
data.materialBomVersion = formData.workshopId === '4' ? formData.materialBomVersionR : formData.materialBomVersion;
list.push(data);
}
if (formData.planAmount6 > 0) {
let data = {...formData};
let data = { ...formData };
data.modelCode = 'R';
data.shiftId = '3';
data.planAmount = formData.planAmount6;
data.materialId = formData.workshopId === '4' ? formData.materialIdR : formData.materialId;
data.materialBomVersion = formData.workshopId === '4' ? formData.materialBomVersionR : formData.materialBomVersion; list.push(data);
data.materialBomVersion = formData.workshopId === '4' ? formData.materialBomVersionR : formData.materialBomVersion;
list.push(data);
}
return list;
};
@ -1292,15 +1310,15 @@ const submitMaterialForm = () => {
if (modelCodeRef.value === 'L') {
form.value.materialIdL = selectedRow.materialId;
form.value.materialNameL = selectedRow.materialName;
getMaterialBomVersionSelect('L')
getMaterialBomVersionSelect('L');
} else if (modelCodeRef.value === 'R') {
form.value.materialIdR = selectedRow.materialId;
form.value.materialNameR = selectedRow.materialName;
getMaterialBomVersionSelect('R')
getMaterialBomVersionSelect('R');
} else {
form.value.materialId = selectedRow.materialId;
form.value.materialName = selectedRow.materialName;
getMaterialBomVersionSelect('')
getMaterialBomVersionSelect('');
}
materialIdForm.value = selectedRow.materialId;
materialOpen.value = false;
@ -1339,7 +1357,7 @@ function handleMachineQuery() {
}
const getMachine = async () => {
console.log(form.value.processId)
console.log(form.value.processId);
if (workshopId.value == 2 && form.value.processId != null) {
await getReleaseSelect();
}
@ -1351,7 +1369,7 @@ const getMaterialBomVersionSelect = async (type: string) => {
if (type === 'L') {//
materialBomVersionLOptions.value = [];
if (form.value.materialIdL && form.value.materialIdL !== '') {
const query = {params:{parentId: form.value.materialIdL}};
const query = { params: { parentId: form.value.materialIdL } };
const res = await materialBomVersionSelect(query);
materialBomVersionLOptions.value = res.data;
}
@ -1359,14 +1377,14 @@ const getMaterialBomVersionSelect = async (type: string) => {
} else if (type === 'R') {//
materialBomVersionROptions.value = [];
if (form.value.materialIdR && form.value.materialIdR !== '') {
const query = {params:{parentId: form.value.materialIdR}};
const query = { params: { parentId: form.value.materialIdR } };
const res = await materialBomVersionSelect(query);
materialBomVersionROptions.value = res.data;
}
} else {//
materialBomVersionOptions.value = [];
if (form.value.materialId && form.value.materialId !== '') {
const query = {params:{parentId: form.value.materialId}};
const query = { params: { parentId: form.value.materialId } };
const res = await materialBomVersionSelect(query);
materialBomVersionOptions.value = res.data;
}

Loading…
Cancel
Save