|
@@ -18,9 +18,9 @@
|
|
|
<n-card :bordered="false" size="small">
|
|
|
<template #cover>
|
|
|
<!-- <div style="width: 100%;height: 50px;overflow: hidden;"> -->
|
|
|
- <n-image
|
|
|
+ <n-image
|
|
|
preview-disabled :src="child.cover" object-fit="scale-down"
|
|
|
- style="width: 100%;height: 50px;overflow: hidden;"
|
|
|
+ style="width: 100%;height: 50px;overflow: hidden;"
|
|
|
/>
|
|
|
<!-- </div> -->
|
|
|
</template>
|
|
@@ -84,7 +84,27 @@
|
|
|
v-model:value="modalForm.styleType" :options="styleEnum" clearable filterable tag
|
|
|
/>
|
|
|
</n-form-item>
|
|
|
+ <n-tabs type="line" v-if="modalForm.translations.length > 0" animated>
|
|
|
+ <template v-for="(lang, index) in langs" :key="lang">
|
|
|
+ <n-tab-pane :name="lang" :tab="langLabel[lang]" :index="index">
|
|
|
+ <n-form-item label="名称" path="title" :rule="{
|
|
|
+ required: true,
|
|
|
+ message: '请输入名称',
|
|
|
+ trigger: ['input', 'blur'],
|
|
|
+ }">
|
|
|
+ <n-input v-model:value="modalForm.translations[index].title" />
|
|
|
+ </n-form-item>
|
|
|
|
|
|
+ <n-form-item label="描述" path="description" :rule="{
|
|
|
+ required: false,
|
|
|
+ message: '请输入描述',
|
|
|
+ trigger: ['input', 'blur'],
|
|
|
+ }">
|
|
|
+ <n-input v-model:value="modalForm.translations[index].description" type="textarea" />
|
|
|
+ </n-form-item>
|
|
|
+ </n-tab-pane>
|
|
|
+ </template>
|
|
|
+ </n-tabs>
|
|
|
<n-form-item label="备注" path="remark">
|
|
|
<n-input v-model:value="modalForm.remark" />
|
|
|
</n-form-item>
|
|
@@ -117,6 +137,7 @@
|
|
|
import { MeModal } from '@/components'
|
|
|
import { useCrud } from '@/composables'
|
|
|
import { useUserStore } from '@/store/index.js'
|
|
|
+import { initTranslations, langLabel, langs } from '@/utils/translations'
|
|
|
import { styleEnum } from '@/utils/enum.js'
|
|
|
import { onMounted } from 'vue'
|
|
|
import { useRouter } from 'vue-router'
|
|
@@ -137,7 +158,9 @@ const { modalRef, modalFormRef, modalAction, modalForm, handleAdd, handleDelete,
|
|
|
doCreate: MenuApi.create,
|
|
|
doDelete: MenuApi.delete,
|
|
|
doUpdate: MenuApi.update,
|
|
|
- initForm: { enable: true, isPublish: true },
|
|
|
+ initForm: { enable: true, isPublish: true,
|
|
|
+ translations: initTranslations({}, ['title', 'remark']).translations
|
|
|
+ },
|
|
|
refresh: (_, keepCurrentPage) => $table.value?.handleSearch(keepCurrentPage),
|
|
|
})
|
|
|
onMounted(() => {
|