diff --git a/src/views/mall/product/management/components/ProductAttributes.vue b/src/views/mall/product/management/components/ProductAttributes.vue
index ea9b311a..2283f483 100644
--- a/src/views/mall/product/management/components/ProductAttributes.vue
+++ b/src/views/mall/product/management/components/ProductAttributes.vue
@@ -8,7 +8,7 @@
属性值:
import { ElInput } from 'element-plus'
+import * as PropertyApi from '@/api/mall/product/property'
+const { t } = useI18n() // 国际化
+const message = useMessage() // 消息弹窗
const inputValue = ref('') // 输入框值
const attributeIndex = ref(null) // 获取焦点时记录当前属性项的index
// 输入框显隐控制
@@ -79,9 +82,16 @@ const showInput = async (index) => {
InputRef.value[index]!.input!.focus()
}
/** 输入框失去焦点或点击回车时触发 */
-const handleInputConfirm = (index) => {
+const handleInputConfirm = async (index, propertyId) => {
if (inputValue.value) {
- attributeList.value[index].values.push({ name: inputValue.value })
+ // 保存属性值
+ try {
+ const id = await PropertyApi.createPropertyValue({ propertyId, name: inputValue.value })
+ attributeList.value[index].values.push({ id, name: inputValue.value })
+ message.success(t('common.createSuccess'))
+ } catch {
+ message.error('添加失败,请重试') // TODO 缺少国际化
+ }
}
attributeIndex.value = null
inputValue.value = ''