排产问题修改

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

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