排产问题修改

dev-scheduling
zhangdi 2 days ago
parent 4393a2ba35
commit 4a4f4d8a7c
  1. 232
      src/views/productionSchedulingPlan/basic/components/addEquipment.vue

@ -1,12 +1,5 @@
<template>
<el-dialog
:title="title"
append-to-body
:modelValue="openShow"
width="70%"
@close="closeDialog"
fullscreen
>
<el-dialog :title="title" append-to-body :modelValue="openShow" width="70%" @close="closeDialog" fullscreen>
<div style="margin-bottom: 12px" v-if="moldAddMore">
<el-button type="primary" @click="addTable">插入一行</el-button>
<el-button type="danger" @click="delTable">删除选中行</el-button>
@ -28,24 +21,10 @@
<span><i style="color: red">*</i>作业中心</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData[${scope.$index}].workCenterId`"
:rules="formRules.workCenterId"
>
<el-select
v-model="scope.row.workCenterId"
placeholder="请选择"
style="width: 100%"
clearable
filterable
@change="value => onChangeData(value, scope.$index, 'workCenterId')"
>
<el-option
v-for="item in wcData"
:key="item.id"
:value="item.id"
:label="item.wcName"
></el-option>
<el-form-item :prop="`tableData[${scope.$index}].workCenterId`" :rules="formRules.workCenterId">
<el-select v-model="scope.row.workCenterId" placeholder="请选择" style="width: 100%" clearable filterable
@change="value => onChangeData(value, scope.$index, 'workCenterId')">
<el-option v-for="item in wcData" :key="item.id" :value="item.id" :label="item.wcName"></el-option>
</el-select>
</el-form-item>
</template>
@ -56,24 +35,11 @@
<span><i style="color: red">*</i>设备名称</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData[${scope.$index}].equipCode`"
:rules="formRules.equipCode"
>
<el-select
v-model="scope.row.equipCode"
placeholder="请选择"
style="width: 100%"
clearable
filterable
@change="value => onChangeData(value, scope.$index, 'equipCode')"
>
<el-option
v-for="item in equipData"
:key="item.deviceCode"
:value="item.deviceCode"
:label="`${item.deviceName}/${item.deviceCode}`"
></el-option>
<el-form-item :prop="`tableData[${scope.$index}].equipCode`" :rules="formRules.equipCode">
<el-select v-model="scope.row.equipCode" placeholder="请选择" style="width: 100%" clearable filterable
@change="value => onChangeData(value, scope.$index, 'equipCode')">
<el-option v-for="item in equipData" :key="item.deviceCode" :value="item.deviceCode"
:label="`${item.deviceName}/${item.deviceCode}`"></el-option>
</el-select>
</el-form-item>
</template>
@ -91,23 +57,10 @@
<span><i style="color: red">*</i>设备分类</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData[${scope.$index}].equipType`"
:rules="formRules.equipType"
>
<el-select
v-model="scope.row.equipType"
placeholder="请选择"
style="width: 100%"
clearable
filterable
>
<el-option
v-for="item in equipTypeData"
:key="item.value"
:value="item.value"
:label="item.label"
></el-option>
<el-form-item :prop="`tableData[${scope.$index}].equipType`" :rules="formRules.equipType">
<el-select v-model="scope.row.equipType" placeholder="请选择" style="width: 100%" clearable filterable>
<el-option v-for="item in equipTypeData" :key="item.value" :value="item.value"
:label="item.label"></el-option>
</el-select>
</el-form-item>
</template>
@ -118,20 +71,9 @@
</template> :rules="formRules.processId"-->
<template #default="scope">
<el-form-item :prop="`tableData[${scope.$index}].processId`">
<el-select
v-model="scope.row.processId"
placeholder="请选择"
style="width: 100%"
clearable
filterable
@change="value => onChangeData(value, scope.$index, 'processId')"
>
<el-option
v-for="item in processData"
:key="item.id"
:value="item.id"
:label="item.name"
></el-option>
<el-select v-model="scope.row.processId" placeholder="请选择" style="width: 100%" clearable filterable
@change="value => onChangeData(value, scope.$index, 'processId')">
<el-option v-for="item in processData" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
</el-form-item>
</template>
@ -142,20 +84,9 @@
</template>
<template #default="scope">
<el-form-item :prop="`tableData[${scope.$index}].craftId`" :rules="formRules.craftId">
<el-select
v-model="scope.row.craftId"
placeholder="请选择"
style="width: 100%"
clearable
filterable
@change="value => onChangeData(value, scope.$index, 'craftId')"
>
<el-option
v-for="item in craftData"
:key="item.id"
:value="item.id"
:label="item.caName"
></el-option>
<el-select v-model="scope.row.craftId" placeholder="请选择" style="width: 100%" clearable filterable
@change="value => onChangeData(value, scope.$index, 'craftId')">
<el-option v-for="item in craftData" :key="item.id" :value="item.id" :label="item.caName"></el-option>
</el-select>
</el-form-item>
</template>
@ -176,25 +107,18 @@
</el-table-column>
<el-table-column align="center" label="额定加工能力(烧结-个/热表-面积)" width="360">
<template #header>
<span><i style="color: red">*</i>额定加工能力</span>
<span><i style="color: red">*</i>额定加工能力dm²</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData[${scope.$index}].standardProcessAbility`"
:rules="formRules.standardProcessAbility"
>
<div class="ability-input-group" v-if="scope.row.partType != 0">
<el-form-item :prop="`tableData[${scope.$index}].standardProcessAbility`"
:rules="formRules.standardProcessAbility" class="ability-input-group">
<div v-if="scope.row.partType != 0">
<template v-for="(item, idx) in scope.row.abilityList" :key="idx">
<div class="ability-row">
<!-- 左边大于等于 -->
<el-input
v-model="item.startNum"
placeholder="最小值"
style="width: 80px"
type="number"
@change="onAbilityChange(scope.$index)"
/>
<el-input v-model="item.startNum" placeholder="最小值" style="width: 80px" type="number"
@change="onAbilityChange(scope.$index)" />
<span class="operator-label"></span>
<!-- 中间逻辑符 -->
@ -202,95 +126,50 @@
<!-- 右边小于 -->
<span class="operator-label">&lt;</span>
<el-input
v-model="item.endNum"
placeholder="最大值"
style="width: 80px"
type="number"
@change="onAbilityChange(scope.$index)"
/>
<el-input
v-model="item.standardProcessAbility"
placeholder=""
style="width: 80px"
type="number"
/>
<el-button
v-if="scope.row.abilityList.length > 1"
type="danger"
icon="Minus"
circle
size="small"
@click="removeAbilityItem(scope.$index, idx)"
title="删除条件"
/>
<el-button
v-if="idx === scope.row.abilityList.length - 1"
type="primary"
icon="Plus"
circle
size="small"
@click="addAbilityItem(scope.$index)"
title="添加条件"
/>
<el-input v-model="item.endNum" placeholder="最大值" style="width: 80px" type="number"
@change="onAbilityChange(scope.$index)" />
<el-input v-model="item.standardProcessAbility" placeholder="" style="width: 80px" type="number" />
<el-button v-if="scope.row.abilityList.length > 1" type="danger" icon="Minus" circle size="small"
@click="removeAbilityItem(scope.$index, idx)" title="删除条件" />
<el-button v-if="idx === scope.row.abilityList.length - 1" type="primary" icon="Plus" circle
size="small" @click="addAbilityItem(scope.$index)" title="添加条件" />
</div>
</template>
</div>
<div v-else>
<el-input-number
v-model="scope.row.standardProcessAbility"
style="width: 100%"
:min="0"
></el-input-number>
<el-input-number v-model="scope.row.standardProcessAbility" style="width: 100%"
:min="0"></el-input-number>
</div>
</el-form-item>
</template>
</el-table-column>
<el-table-column align="center" label="额定工时" width="150">
<template #header>
<span><i style="color: red">*</i>额定工时</span>
<span><i style="color: red">*</i>额定工时分钟</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData[${scope.$index}].standardTime`"
:rules="formRules.standardTime"
>
<el-input-number
v-model="scope.row.standardTime"
style="width: 100%"
:min="0"
></el-input-number>
<el-form-item :prop="`tableData[${scope.$index}].standardTime`" :rules="formRules.standardTime">
<el-input-number v-model="scope.row.standardTime" style="width: 100%" :min="0"></el-input-number>
</el-form-item>
</template>
</el-table-column>
<el-table-column align="center" label="准备工时" width="150">
<template #header>
<span><i style="color: red">*</i>准备工时</span>
<span><i style="color: red">*</i>准备工时分钟</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData[${scope.$index}].prepareTime`"
:rules="formRules.prepareTime"
>
<el-input-number
v-model="scope.row.prepareTime"
style="width: 100%"
:min="0"
></el-input-number>
<el-form-item :prop="`tableData[${scope.$index}].prepareTime`" :rules="formRules.prepareTime">
<el-input-number v-model="scope.row.prepareTime" style="width: 100%" :min="0"></el-input-number>
</el-form-item>
</template>
</el-table-column>
<el-table-column align="center" label="轮次间隔" width="150">
<template #header>
<span><i style="color: red">*</i>轮次间隔</span>
<span><i style="color: red">*</i>轮次间隔分钟</span>
</template>
<template #default="scope">
<el-form-item :prop="`tableData[${scope.$index}].interval`" :rules="formRules.interval">
<el-input-number
v-model="scope.row.interval"
style="width: 100%"
:min="0"
></el-input-number>
<el-input-number v-model="scope.row.interval" style="width: 100%" :min="0"></el-input-number>
</el-form-item>
</template>
</el-table-column>
@ -299,15 +178,8 @@
<span><i style="color: red">*</i>设备顺序</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData[${scope.$index}].equipOrder`"
:rules="formRules.equipOrder"
>
<el-input-number
v-model="scope.row.equipOrder"
style="width: 100%"
:min="0"
></el-input-number>
<el-form-item :prop="`tableData[${scope.$index}].equipOrder`" :rules="formRules.equipOrder">
<el-input-number v-model="scope.row.equipOrder" style="width: 100%" :min="0"></el-input-number>
</el-form-item>
</template>
</el-table-column>
@ -488,8 +360,7 @@ export default {
if (item.endNum && nextItem.startNum) {
if (parseFloat(item.endNum) !== parseFloat(nextItem.startNum)) {
this.$message.error(
`${i + 1}行,第${j + 1}组的结束值 (${item.endNum}) 必须等于第${
j + 2
`${i + 1}行,第${j + 1}组的结束值 (${item.endNum}) 必须等于第${j + 2
}组的开始值 (${nextItem.startNum})`
);
return false;
@ -754,7 +625,8 @@ export default {
font-size: 14px;
line-height: 1.5;
}
:deep(.el-table .el-table__cell) {
:deep(.el-table .el-table__body .el-table__cell) {
height: 50px !important;
padding: 0 !important;
line-height: 50px !important;
@ -763,4 +635,12 @@ export default {
.ability-row {
margin-bottom: 10px;
}
:deep(.ability-input-group) {
.el-form-item__content {
div {
margin: auto;
}
}
}
</style>
Loading…
Cancel
Save