|
|
|
|
@ -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"><</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> |