排产问题修改

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

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

Loading…
Cancel
Save