|
|
@ -105,23 +105,21 @@ watch( |
|
|
|
}, |
|
|
|
{ deep: true }, |
|
|
|
) |
|
|
|
const formRef = ref(null) |
|
|
|
const formRef = ref() |
|
|
|
|
|
|
|
/** |
|
|
|
* 处理表单提交 |
|
|
|
* 根据不同的type属性值执行不同的保存逻辑 |
|
|
|
*/ |
|
|
|
const handleSubmit = () => { |
|
|
|
const handleSubmit = async () => { |
|
|
|
// 表单验证 |
|
|
|
if (formData.value.name === '') { |
|
|
|
FtMessage.warning('请输入配方名称') |
|
|
|
try { |
|
|
|
const valid = await formRef.value.validate() |
|
|
|
if (!valid) { |
|
|
|
return |
|
|
|
} |
|
|
|
if (formData.value.name && formData.value.name.length > 20) { |
|
|
|
FtMessage.warning('配方名称1-20字符') |
|
|
|
return |
|
|
|
} |
|
|
|
if (formData.value.formula_id) { // 修改配方 |
|
|
|
if (formData.value.formula_id) { |
|
|
|
// 修改配方 |
|
|
|
// 判断消毒是否正在执行 且正在执行配方是当前修改配方 |
|
|
|
if (!deviceState.value && formulaStore.selectedFormulaInfo?.formula_id === formData.value.formula_id) { |
|
|
|
ElMessage.warning('禁止修改正在执行的配方信息!') |
|
|
@ -130,7 +128,8 @@ const handleSubmit = () => { |
|
|
|
const formulaForm: Record<string, any> = convertValuesToString(formData.value, 'name') |
|
|
|
formulaStore.editFormula(formulaForm.formula_id, formulaForm as Formula.FormulaItem) |
|
|
|
} |
|
|
|
else { // 新增配方 |
|
|
|
else { |
|
|
|
// 新增配方 |
|
|
|
formulaStore.onAddFormula().then((res) => { |
|
|
|
if (res.ackcode === 0) { |
|
|
|
const item = res.rely |
|
|
@ -144,6 +143,10 @@ const handleSubmit = () => { |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
catch (e) { |
|
|
|
console.log(e) |
|
|
|
} |
|
|
|
} |
|
|
|
/** |
|
|
|
* @computed 计算属性 - 设备状态判断 |
|
|
|
* @returns {boolean} - 设备是否处于空闲或已完成状态 |
|
|
@ -192,16 +195,12 @@ const validatePass = (rule: any, value: any, callback: any, config: Formula.Form |
|
|
|
<template> |
|
|
|
<transition name="slide-right"> |
|
|
|
<div v-if="isFlip" class="formula-form"> |
|
|
|
<el-form |
|
|
|
ref="formRef" |
|
|
|
:model="formData" |
|
|
|
label-width="auto" |
|
|
|
label-position="right" |
|
|
|
:size="size" |
|
|
|
inline |
|
|
|
> |
|
|
|
<el-form ref="formRef" :model="formData" label-width="auto" label-position="right" :size="size" inline> |
|
|
|
<el-form-item |
|
|
|
label="配方名称" style="width: 93%" prop="name" :rules="[ |
|
|
|
label="配方名称" |
|
|
|
style="width: 93%" |
|
|
|
prop="name" |
|
|
|
:rules="[ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: '请输入配方名称', |
|
|
@ -215,15 +214,10 @@ const validatePass = (rule: any, value: any, callback: any, config: Formula.Form |
|
|
|
}, |
|
|
|
]" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
v-model="formData.name" |
|
|
|
v-prevent-keyboard |
|
|
|
name="name" |
|
|
|
placeholder="配方名称" |
|
|
|
/> |
|
|
|
<ft-input v-model="formData.name" name="name" placeholder="配方名称" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
v-for="item in formulaConfigList.filter((data) => data.is_visible_in_formula_page)" |
|
|
|
v-for="item in formulaConfigList.filter(data => data.is_visible_in_formula_page)" |
|
|
|
:key="item.setting_id" |
|
|
|
:label="formulaNameMap[item.setting_id]" |
|
|
|
style="width: 50%" |
|
|
@ -237,32 +231,18 @@ const validatePass = (rule: any, value: any, callback: any, config: Formula.Form |
|
|
|
]" |
|
|
|
> |
|
|
|
<template v-if="item.val_type === 'int'"> |
|
|
|
<el-input |
|
|
|
v-model.number="formData[item.setting_id]" |
|
|
|
v-prevent-keyboard |
|
|
|
style="width: 80%" |
|
|
|
type="number" |
|
|
|
:name="item.setting_id" |
|
|
|
:controls="false" |
|
|
|
> |
|
|
|
<ft-input v-model="formData[item.setting_id]" style="width: 80%" layout-name="number"> |
|
|
|
<template v-if="labelUnitMap[item.setting_id]" #append> |
|
|
|
{{ labelUnitMap[item.setting_id] }} |
|
|
|
</template> |
|
|
|
</el-input> |
|
|
|
</ft-input> |
|
|
|
</template> |
|
|
|
<template v-if="item.val_type === 'float'"> |
|
|
|
<el-input |
|
|
|
v-model.number="formData[item.setting_id]" |
|
|
|
v-prevent-keyboard |
|
|
|
style="width: 80%" |
|
|
|
type="number" |
|
|
|
:name="item.setting_id" |
|
|
|
:controls="false" |
|
|
|
> |
|
|
|
<ft-input v-model.number="formData[item.setting_id]" layout-name="number" style="width: 80%" type="number"> |
|
|
|
<template v-if="labelUnitMap[item.setting_id]" #append> |
|
|
|
{{ labelUnitMap[item.setting_id] }} |
|
|
|
</template> |
|
|
|
</el-input> |
|
|
|
</ft-input> |
|
|
|
</template> |
|
|
|
<template v-else-if="item.val_type === 'enum'"> |
|
|
|
<el-select |
|
|
@ -339,6 +319,9 @@ const validatePass = (rule: any, value: any, callback: any, config: Formula.Form |
|
|
|
text-align: left; |
|
|
|
height: 40px; |
|
|
|
} |
|
|
|
:deep(.el-select__wrapper) { |
|
|
|
height: 40px; |
|
|
|
} |
|
|
|
:deep(.el-form-item) { |
|
|
|
margin-right: 0; |
|
|
|
align-items: center; |
|
|
|