排产问题修改

dev-scheduling
zhangdi 2 days ago
parent 3814ede918
commit 4393a2ba35
  1. 159
      src/views/productionSchedulingPlan/basic/components/addPersonnel.vue

@ -1,147 +1,66 @@
<template> <template>
<el-dialog :title="title" append-to-body :modelValue="openShow" width="50%" @close="closeDialog"> <el-dialog :title="title" append-to-body :modelValue="openShow" width="50%" @close="closeDialog">
<el-form <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="auto" class="demo-ruleForm">
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="100px"
class="demo-ruleForm"
>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="作业中心:" prop="workCenterId"> <el-form-item label="作业中心:" prop="workCenterId">
<el-select <el-select v-model="ruleForm.workCenterId" placeholder="请选择"
v-model="ruleForm.workCenterId" @change="value => onChangeData(value, 'workCenterId')" clearable filterable>
placeholder="请选择" <el-option v-for="item in wcData" :key="item.id" :value="item.id" :label="item.wcName"></el-option>
@change="value => onChangeData(value, 'workCenterId')"
clearable
filterable
>
<el-option
v-for="item in wcData"
:key="item.id"
:value="item.id"
:label="item.wcName"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="工序:" prop="processId"> <el-form-item label="工序:" prop="processId">
<el-select <el-select v-model="ruleForm.processId" placeholder="请选择" style="width: 100%" clearable filterable
v-model="ruleForm.processId" @change="value => onChangeData(value, 'processId')">
placeholder="请选择" <el-option v-for="item in processData" :key="item.id" :value="item.id" :label="item.name"></el-option>
style="width: 100%"
clearable
filterable
@change="value => onChangeData(value, 'processId')"
>
<el-option
v-for="item in processData"
:key="item.id"
:value="item.id"
:label="item.name"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="工艺能力:" prop="craftId"> <el-form-item label="工艺能力:" prop="craftId">
<el-select <el-select v-model="ruleForm.craftId" placeholder="请选择" style="width: 100%" clearable filterable
v-model="ruleForm.craftId" @change="value => onChangeData(value, 'craftId')">
placeholder="请选择" <el-option v-for="item in craftData" :key="item.id" :value="item.id" :label="item.caName"></el-option>
style="width: 100%"
clearable
filterable
@change="value => onChangeData(value, 'craftId')"
>
<el-option
v-for="item in craftData"
:key="item.id"
:value="item.id"
:label="item.caName"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="统计类型:" prop="type"> <el-form-item label="统计类型:" prop="type">
<el-select <el-select v-model="ruleForm.type" placeholder="请选择" style="width: 100%" clearable filterable>
v-model="ruleForm.type" <el-option v-for="item in typeData" :key="item.value" :value="item.value" :label="item.label"></el-option>
placeholder="请选择"
style="width: 100%"
clearable
filterable
>
<el-option
v-for="item in typeData"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="额定工时类型:" prop="partType" label-width="140px"> <el-form-item label="额定工时类型:" prop="partType" label-width="110px">
<el-radio-group v-model="ruleForm.partType" @change="onPartTypeChange"> <el-radio-group v-model="ruleForm.partType" @change="onPartTypeChange">
<el-radio :label="0">默认</el-radio> <el-radio :label="0">默认</el-radio>
<el-radio :label="1">壳体外径</el-radio> <el-radio :label="1">壳体外径</el-radio>
<el-radio :label="2">玻璃饼直径</el-radio> <el-radio :label="2">玻璃饼直径</el-radio>
<el-radio :label="3">芯数</el-radio> <el-radio :label="3">芯数</el-radio>
<el-radio :label="4">涂色标</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24" v-if="ruleForm.partType != 4">
<el-form-item label="额定工时(分钟/每人每个):" prop="standardTime" label-width="180px"> <el-form-item label="额定工时(分钟/每人每个):" prop="standardTime" label-width="180px">
<div v-if="ruleForm.partType != 0"> <div v-if="ruleForm.partType != 0">
<div <div class="ability-input-group" v-for="(item, idx) in ruleForm.abilityList" :key="idx">
class="ability-input-group"
v-for="(item, idx) in ruleForm.abilityList"
:key="idx"
>
<div class="ability-row"> <div class="ability-row">
<el-input <el-input v-model="item.startNum" placeholder="最小值" style="width: 80px" type="number" />
v-model="item.startNum"
placeholder="最小值"
style="width: 80px"
type="number"
/>
<span class="operator-label"></span> <span class="operator-label"></span>
<span class="logic-label">φ</span> <span class="logic-label">φ</span>
<span class="operator-label">&lt;</span> <span class="operator-label">&lt;</span>
<el-input <el-input v-model="item.endNum" placeholder="最大值" style="width: 80px" type="number" />
v-model="item.endNum" <el-input v-model="item.standardTime" placeholder="min/件" style="width: 80px;margin-left:5px" type="number" />
placeholder="最大值"
style="width: 80px"
type="number"
/>
<el-input
v-model="item.standardTime"
placeholder="min/件"
style="width: 80px"
type="number"
/>
<!-- 添加/删除按钮 --> <!-- 添加/删除按钮 -->
<el-button <el-button v-if="ruleForm.abilityList.length > 1" type="danger" icon="Minus" circle size="small" style="margin-left:5px"
v-if="ruleForm.abilityList.length > 1" @click="removeAbilityItem(idx)" title="删除条件" />
type="danger" <el-button v-if="idx === ruleForm.abilityList.length - 1" type="primary" icon="Plus" circle
icon="Minus" size="small" @click="addAbilityItem" style="margin-left:5px" title="添加条件" />
circle
size="small"
@click="removeAbilityItem(idx)"
title="删除条件"
/>
<el-button
v-if="idx === ruleForm.abilityList.length - 1"
type="primary"
icon="Plus"
circle
size="small"
@click="addAbilityItem"
title="添加条件"
/>
</div> </div>
</div> </div>
</div> </div>
@ -150,7 +69,7 @@
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="24">
<el-form-item label="准备工时(分钟):" prop="prepareTime" label-width="140px"> <el-form-item label="准备工时(分钟):" prop="prepareTime" label-width="140px">
<el-input-number v-model="ruleForm.prepareTime"></el-input-number> <el-input-number v-model="ruleForm.prepareTime"></el-input-number>
</el-form-item> </el-form-item>
@ -162,20 +81,9 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="证书类型:" prop="certificateId"> <el-form-item label="证书类型:" prop="certificateId">
<el-select <el-select v-model="ruleForm.certificateId" placeholder="请选择" style="width: 100%" clearable filterable
v-model="ruleForm.certificateId" @change="value => onChangeData(value, 'certificateId')">
placeholder="请选择" <el-option v-for="item in certificateData" :key="item.id" :value="item.id" :label="item.name"></el-option>
style="width: 100%"
clearable
filterable
@change="value => onChangeData(value, 'certificateId')"
>
<el-option
v-for="item in certificateData"
:key="item.id"
:value="item.id"
:label="item.name"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -223,19 +131,21 @@ export default {
certificateData: [], // certificateData: [], //
typeData: [ typeData: [
{ {
label: '单个零件', label: '单件',
value: '0', value: '0',
}, },
{ {
label: '单', label: '单',
value: '1', value: '1',
}, },
], ],
ruleForm: {}, ruleForm: {
type: '0',
partType: 0,
},
rules: { rules: {
workCenterId: [{ required: true, message: '请选择作业中心', trigger: 'blur' }], workCenterId: [{ required: true, message: '请选择作业中心', trigger: 'blur' }],
processId: [{ required: true, message: '请选择工序', trigger: 'blur' }], processId: [{ required: true, message: '请选择工序', trigger: 'blur' }],
craftId: [{ required: true, message: '请选择工艺能力', trigger: 'blur' }],
type: [{ required: true, message: '请选择统计类型', trigger: 'blur' }], type: [{ required: true, message: '请选择统计类型', trigger: 'blur' }],
prepareTime: [{ required: true, message: '请输入准备工时', trigger: 'blur' }], prepareTime: [{ required: true, message: '请输入准备工时', trigger: 'blur' }],
partType: [{ required: true, message: '请选择额定工时类型', trigger: 'blur' }], partType: [{ required: true, message: '请选择额定工时类型', trigger: 'blur' }],
@ -288,8 +198,7 @@ export default {
if (item.endNum && nextItem.startNum) { if (item.endNum && nextItem.startNum) {
if (parseFloat(item.endNum) !== parseFloat(nextItem.startNum)) { if (parseFloat(item.endNum) !== parseFloat(nextItem.startNum)) {
this.$message.error( this.$message.error(
`${i + 1}行,第${i + 1}组的结束值 (${item.endNum}) 必须等于第${ `${i + 1}行,第${i + 1}组的结束值 (${item.endNum}) 必须等于第${i + 2
i + 2
}组的开始值 (${nextItem.startNum})` }组的开始值 (${nextItem.startNum})`
); );
return false; return false;

Loading…
Cancel
Save