Merge pull request #11822 from dataease/pr@dev-v2_st

fix(系统设置): 系统内置字体缺少字体文件上传功能
This commit is contained in:
dataeaseShu 2024-08-28 17:30:25 +08:00 committed by GitHub
commit 33faff985e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 16 additions and 85 deletions

View File

@ -17,17 +17,7 @@ const listFont = () => {
loading.value = true loading.value = true
list({}) list({})
.then(res => { .then(res => {
fontList.value = [ fontList.value = res
{
name: 'PingFang',
id: '0',
isBuiltin: true,
updateTime: new Date(),
fileName: '-',
isDefault: Number(!(res || []).some(ele => ele.isDefault))
},
...(res || [])
]
}) })
.finally(() => { .finally(() => {
loading.value = false loading.value = false
@ -59,44 +49,16 @@ const deleteFont = item => {
} }
const setToDefault = item => { const setToDefault = item => {
if (item.id === '0') { item.isDefault = 1
fontList.value.forEach(ele => { loading.value = true
if (ele.isDefault) { edit(item)
ele.isDefault = 0 .then(() => {
loading.value = true ElMessage.success('设置成功')
edit(ele) getDefaultFont()
.then(() => {
ElMessage.success('设置成功')
getDefaultFont()
})
.finally(() => {
loading.value = false
})
}
}) })
item.isDefault = 1 .finally(() => {
} else { loading.value = false
fontList.value.forEach(ele => {
if (ele.id === '0' && ele.isDefault) {
ele.isDefault = 0
}
if (ele.id !== '0' && item.id !== ele.id && ele.isDefault) {
ele.isDefault = 0
edit(ele)
}
}) })
item.isDefault = 1
loading.value = true
edit(item)
.then(() => {
ElMessage.success('设置成功')
getDefaultFont()
})
.finally(() => {
loading.value = false
})
}
} }
const setDefaultFont = (url, name) => { const setDefaultFont = (url, name) => {
let fontStyleElement = document.querySelector('#de-custom_font') let fontStyleElement = document.querySelector('#de-custom_font')
@ -126,35 +88,7 @@ const uploadFilish = () => {
loading.value = true loading.value = true
list({}) list({})
.then(res => { .then(res => {
fontList.value = [ fontList.value = res
{
name: 'PingFang',
id: '0',
isBuiltin: true,
updateTime: new Date(),
fileName: '-',
isDefault: Number(!(res || []).some(ele => ele.isDefault))
},
...(res || [])
]
getDefaultFont()
})
.finally(() => {
loading.value = false
})
}
const cancelDefault = item => {
fontList.value.forEach(ele => {
if (ele.id === '0') {
ele.isDefault = 1
}
})
item.isDefault = 0
loading.value = true
edit(item)
.then(() => {
ElMessage.success('取消成功')
getDefaultFont() getDefaultFont()
}) })
.finally(() => { .finally(() => {
@ -200,24 +134,21 @@ onMounted(() => {
</div> </div>
<div class="font-upload_btn"> <div class="font-upload_btn">
<el-button <el-button
v-if="!ele.fileTransName && ele.id !== '0'" v-if="!ele.fileTransName"
@click="uploadFont('上传字库文件', 'uploadFile', ele)" @click="uploadFont('上传字库文件', 'uploadFile', ele)"
secondary secondary
>上传字库文件</el-button >上传字库文件</el-button
> >
<el-button <el-button
v-if="ele.fileTransName && ele.id !== '0'" v-if="ele.fileTransName"
@click="uploadFont('替换字库文件', 'uploadFile', ele)" @click="uploadFont('替换字库文件', 'uploadFile', ele)"
secondary secondary
>替换字库文件</el-button >替换字库文件</el-button
> >
<el-button v-if="!ele.isDefault || ele.id === '0'" @click="setToDefault(ele)" secondary <el-button v-if="!ele.isDefault" @click="setToDefault(ele)" secondary
>设为默认字体</el-button >设为默认字体</el-button
> >
<el-button v-if="ele.isDefault && ele.id !== '0'" @click="cancelDefault(ele)" secondary <el-button @click="deleteFont(ele)" secondary>删除</el-button>
>取消默认字体</el-button
>
<el-button v-if="ele.id !== '0'" @click="deleteFont(ele)" secondary>删除</el-button>
</div> </div>
</div> </div>
</div> </div>

View File

@ -137,7 +137,7 @@ const save = () => {
.mt16 { .mt16 {
margin-top: 16px; margin-top: 16px;
.ed-form-item { .ed-form-item {
margin-bottom: 16px; margin-bottom: 20px;
:deep(label) { :deep(label) {
line-height: 22px !important; line-height: 22px !important;
} }

@ -1 +1 @@
Subproject commit b1040dae344dc3b0981b60f20e12326879515ba6 Subproject commit 867808ba4bb0509ad2e05d9f9b1228c2d5ff44c4