diff --git a/core/core-frontend/src/views/system/font/UploadDetail.vue b/core/core-frontend/src/views/system/font/UploadDetail.vue index 76e556aef3..c5b01edcb6 100644 --- a/core/core-frontend/src/views/system/font/UploadDetail.vue +++ b/core/core-frontend/src/views/system/font/UploadDetail.vue @@ -4,6 +4,7 @@ import { uploadFontFile } from '@/api/font' import FontInfo from './FontInfo.vue' import { ElMessage } from 'element-plus-secondary' import { edit } from '@/api/font' +import { cloneDeep } from 'lodash-es' const state = reactive({ fileList: null }) @@ -36,14 +37,22 @@ const uploadExcel = () => { const dialogTitle = ref('') const dialogVisible = ref(false) const action = ref('') -const ruleForm = reactive({ - name: '' -}) +const defaultForm = { + id: null, + name: '', + fileName: '', + fileTransName: '', + isDefault: 0, + isBuiltin: 0, + updateTime: 0 +} +const ruleForm = reactive(cloneDeep(defaultForm)) const init = (val, type, item) => { dialogTitle.value = val || '添加字体' action.value = type dialogVisible.value = true + Object.assign(ruleForm, cloneDeep(defaultForm)) Object.assign(ruleForm, JSON.parse(JSON.stringify(item))) } @@ -76,7 +85,7 @@ const emits = defineEmits(['finish']) const confirm = () => { ruleFormRef.value.validate(val => { if (val) { - if (action.value !== 'rename') { + if (action.value === 'uploadFile') { if (uploadFile.value === '') { ElMessage.error('请上传字库文件') return @@ -86,12 +95,12 @@ const confirm = () => { } } edit(ruleForm).then(res => { - ElMessage.success('成功') + ElMessage.success(dialogTitle.value + '成功') dialogVisible.value = false + Object.assign(ruleForm, cloneDeep(defaultForm)) + state.fileList = null emits('finish') }) - state.fileList = null - dialogVisible.value = false } }) } diff --git a/core/core-frontend/src/views/system/font/index.vue b/core/core-frontend/src/views/system/font/index.vue index a74319028b..ac386f6bc8 100644 --- a/core/core-frontend/src/views/system/font/index.vue +++ b/core/core-frontend/src/views/system/font/index.vue @@ -3,7 +3,9 @@ import { onMounted, ref } from 'vue' import UploadDetail from './UploadDetail.vue' import { deleteById, edit, list } from '@/api/font' -import { ElMessage } from 'element-plus-secondary' +import { ElMessage, ElMessageBox } from 'element-plus-secondary' +import { useI18n } from '@/hooks/web/useI18n' +import { templateDelete } from '@/api/template' const fontKeyword = ref('') const fontList = ref([]) @@ -19,9 +21,20 @@ const listFont = () => { } const deleteFont = item => { - deleteById(item.id).then(() => { - ElMessage.success('删除成功') - listFont() + if (item.isDefault) { + ElMessage.warning('请先将其他字体设置为默认字体,再进行删除。') + return + } + ElMessageBox.confirm('当前字体被删除后,使用该字体的组件将会使用默认字体,确定删除?', { + confirmButtonType: 'danger', + type: 'warning', + autofocus: false, + showClose: false + }).then(() => { + deleteById(item.id).then(() => { + ElMessage.success('删除成功') + listFont() + }) }) } @@ -32,7 +45,7 @@ const setToDefault = item => { }) } -const cancleDefault = item => { +const cancelDefault = item => { item.isDefault = 0 edit(item).then(() => { ElMessage.success('取消成功') @@ -76,13 +89,22 @@ onMounted(() => { 字库文件: {{ ele.fileName }}
- 上传字库文件 + 替换字库文件 设为默认字体 - 取消默认字体 重命名