|
|
@ -176,11 +176,15 @@ const getFormData = () => { |
|
|
|
* 监听表单数据变化,同步更新软键盘输入值 |
|
|
|
* @param {Record<string, any>} newValue - 新的表单数据 |
|
|
|
*/ |
|
|
|
watch(formData, (newValue) => { |
|
|
|
watch( |
|
|
|
formData, |
|
|
|
(newValue) => { |
|
|
|
if (focusedInput.value) { |
|
|
|
inputValue.value = newValue[focusedInput.value].toString() |
|
|
|
} |
|
|
|
}, { deep: true }) |
|
|
|
}, |
|
|
|
{ deep: true }, |
|
|
|
) |
|
|
|
const formRef = ref(null) |
|
|
|
|
|
|
|
/** |
|
|
@ -229,11 +233,14 @@ const onSaveFormula = () => { |
|
|
|
const onSaveSetting = async () => { |
|
|
|
// 修改默认值 |
|
|
|
const diff = compareJSON(formulaStore.defaultFormulaInfo, formData.value) |
|
|
|
console.log(diff) |
|
|
|
const diffKeys = Object.keys(diff) |
|
|
|
if (diffKeys.length) { |
|
|
|
await Promise.all(diffKeys.map(async (key) => { |
|
|
|
await setSettingFormulaConfig(key, diff[key].newVal) |
|
|
|
})) |
|
|
|
await Promise.all( |
|
|
|
diffKeys.map(async (key) => { |
|
|
|
await setSettingFormulaConfig(key, diff[key].newVal || diff[key].obj2) |
|
|
|
}), |
|
|
|
) |
|
|
|
FtMessage.success('配方修改成功') |
|
|
|
} |
|
|
|
} |
|
|
@ -250,7 +257,7 @@ const setSettingFormulaConfig = async (settingName: string, settingVal: string) |
|
|
|
fnName: 'setSettingVal', |
|
|
|
params: { |
|
|
|
settingName, |
|
|
|
settingVal: settingVal.toString(), |
|
|
|
settingVal: settingVal?.toString(), |
|
|
|
}, |
|
|
|
}) |
|
|
|
formulaStore.getFormualDefaultData() |
|
|
@ -408,21 +415,21 @@ defineExpose({ |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
v-for="(item) in formulaConfigList" |
|
|
|
v-for="item in formulaConfigList" |
|
|
|
:key="item.setting_id" |
|
|
|
:label="formulaNameMap[item.setting_id]" |
|
|
|
style="width: 50%;" |
|
|
|
style="width: 50%" |
|
|
|
> |
|
|
|
<template v-if="item.val_type === 'int'"> |
|
|
|
<el-input |
|
|
|
style="width: 80%;" |
|
|
|
v-model.number="formData[item.setting_id]" |
|
|
|
v-prevent-keyboard |
|
|
|
style="width: 80%" |
|
|
|
type="number" |
|
|
|
:name="item.setting_id" |
|
|
|
:controls="false" |
|
|
|
:disabled="!item.is_visible_in_setting_page" |
|
|
|
@focus="(e) => openKeyboard(e, item)" |
|
|
|
@focus="e => openKeyboard(e, item)" |
|
|
|
> |
|
|
|
<template v-if="labelUnitMap[item.setting_id]" #append> |
|
|
|
{{ labelUnitMap[item.setting_id] }} |
|
|
@ -431,9 +438,9 @@ defineExpose({ |
|
|
|
</template> |
|
|
|
<template v-else-if="item.val_type === 'enum'"> |
|
|
|
<el-input |
|
|
|
style="width: 80%;" |
|
|
|
v-model="formData[item.setting_id]" |
|
|
|
v-prevent-keyboard |
|
|
|
style="width: 80%" |
|
|
|
placeholder="请选择" |
|
|
|
readonly |
|
|
|
@focus="openModal" |
|
|
@ -444,10 +451,7 @@ defineExpose({ |
|
|
|
</el-input> |
|
|
|
</template> |
|
|
|
<template v-else-if="item.val_type === 'boolean'"> |
|
|
|
<el-radio-group |
|
|
|
v-model="formData[item.setting_id]" |
|
|
|
:disabled="!item.is_visible_in_setting_page" |
|
|
|
> |
|
|
|
<el-radio-group v-model="formData[item.setting_id]" :disabled="!item.is_visible_in_setting_page"> |
|
|
|
<el-radio :label="true"> |
|
|
|
是 |
|
|
|
</el-radio> |
|
|
@ -478,7 +482,7 @@ defineExpose({ |
|
|
|
:keyboard-type="keyboardType" |
|
|
|
:target-input="targetInputRef" |
|
|
|
@confirm="handleConfirm" |
|
|
|
@update-keyboard-visible="(visible) => keyboardVisible = visible" |
|
|
|
@update-keyboard-visible="visible => (keyboardVisible = visible)" |
|
|
|
@close="keyboardVisible = false" |
|
|
|
/> |
|
|
|
</Teleport> |
|
|
|