修改设置
This commit is contained in:
parent
e4a6704101
commit
e553ab56e3
|
|
@ -23,14 +23,27 @@
|
||||||
<span class="flex-1 truncate mr-2">
|
<span class="flex-1 truncate mr-2">
|
||||||
<overflow-tooltip :content="data.name" />
|
<overflow-tooltip :content="data.name" />
|
||||||
</span>
|
</span>
|
||||||
<el-dropdown v-if="data.id > 0" :hide-on-click="false">
|
<el-dropdown
|
||||||
|
v-perms="[
|
||||||
|
'common:album:cateRename',
|
||||||
|
'common:album:cateDel'
|
||||||
|
]"
|
||||||
|
v-if="data.id > 0"
|
||||||
|
:hide-on-click="false"
|
||||||
|
>
|
||||||
<span class="muted m-r-10">···</span>
|
<span class="muted m-r-10">···</span>
|
||||||
<template #dropdown>
|
<template #dropdown>
|
||||||
<el-dropdown-menu>
|
<el-dropdown-menu>
|
||||||
<div @click="handleEditCate(data.name, data.id)">
|
<div
|
||||||
|
v-perms="['common:album:cateRename']"
|
||||||
|
@click="handleEditCate(data.name, data.id)"
|
||||||
|
>
|
||||||
<el-dropdown-item>命名分组</el-dropdown-item>
|
<el-dropdown-item>命名分组</el-dropdown-item>
|
||||||
</div>
|
</div>
|
||||||
<div @click="handleDeleteCate(data.id)">
|
<div
|
||||||
|
v-perms="['common:album:cateDel']"
|
||||||
|
@click="handleDeleteCate(data.id)"
|
||||||
|
>
|
||||||
<el-dropdown-item>删除分组</el-dropdown-item>
|
<el-dropdown-item>删除分组</el-dropdown-item>
|
||||||
</div>
|
</div>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
|
|
@ -44,7 +57,9 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex justify-center p-2 border-t border-br">
|
<div class="flex justify-center p-2 border-t border-br">
|
||||||
<el-button @click="handleAddCate">添加分组</el-button>
|
<el-button @click="handleAddCate" v-perms="['common:album:cateAdd']">
|
||||||
|
添加分组
|
||||||
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="material__center flex flex-col">
|
<div class="material__center flex flex-col">
|
||||||
|
|
@ -60,6 +75,7 @@
|
||||||
<el-button type="primary">本地上传</el-button>
|
<el-button type="primary">本地上传</el-button>
|
||||||
</upload>
|
</upload>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-perms="['common:album:albumDel']"
|
||||||
v-if="mode == 'page'"
|
v-if="mode == 'page'"
|
||||||
:disabled="!select.length"
|
:disabled="!select.length"
|
||||||
@click.stop="batchFileDelete()"
|
@click.stop="batchFileDelete()"
|
||||||
|
|
@ -68,6 +84,7 @@
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
||||||
<popup
|
<popup
|
||||||
|
v-perms="['common:album:albumMove']"
|
||||||
v-if="mode == 'page'"
|
v-if="mode == 'page'"
|
||||||
class="ml-3"
|
class="ml-3"
|
||||||
@confirm="batchFileMove"
|
@confirm="batchFileMove"
|
||||||
|
|
@ -166,6 +183,7 @@
|
||||||
<overflow-tooltip class="mt-1" :content="item.name" />
|
<overflow-tooltip class="mt-1" :content="item.name" />
|
||||||
<div class="operation-btns flex items-center">
|
<div class="operation-btns flex items-center">
|
||||||
<el-button
|
<el-button
|
||||||
|
v-perms="['common:album:albumRename']"
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
@click="handleFileRename(item.name, item.id)"
|
@click="handleFileRename(item.name, item.id)"
|
||||||
|
|
@ -208,7 +226,7 @@
|
||||||
<el-table-column prop="createTime" label="上传时间" min-width="100" />
|
<el-table-column prop="createTime" label="上传时间" min-width="100" />
|
||||||
<el-table-column label="操作" width="150" fixed="right">
|
<el-table-column label="操作" width="150" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<div class="inline-block">
|
<div class="inline-block" v-perms="['common:album:albumRename']">
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
|
|
@ -222,7 +240,7 @@
|
||||||
查看
|
查看
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="inline-block">
|
<div class="inline-block" v-perms="['common:album:albumDel']">
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
link
|
link
|
||||||
|
|
@ -255,7 +273,11 @@
|
||||||
当页全选
|
当页全选
|
||||||
</el-checkbox>
|
</el-checkbox>
|
||||||
</span>
|
</span>
|
||||||
<el-button :disabled="!select.length" @click="batchFileDelete()">
|
<el-button
|
||||||
|
v-perms="['common:album:albumDel']"
|
||||||
|
:disabled="!select.length"
|
||||||
|
@click="batchFileDelete()"
|
||||||
|
>
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
<popup
|
<popup
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ const defaultSetting = {
|
||||||
sideTheme: 'light',
|
sideTheme: 'light',
|
||||||
sideDarkColor: '#1d2124',
|
sideDarkColor: '#1d2124',
|
||||||
theme: '#4A5DFF',
|
theme: '#4A5DFF',
|
||||||
|
openMultipleTabs: true,
|
||||||
successTheme: '#67c23a',
|
successTheme: '#67c23a',
|
||||||
warningTheme: '#e6a23c',
|
warningTheme: '#e6a23c',
|
||||||
dangerTheme: '#f56c6c',
|
dangerTheme: '#f56c6c',
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<multiple-tabs />
|
<multiple-tabs v-if="settingStore.openMultipleTabs" />
|
||||||
</header>
|
</header>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -38,8 +38,10 @@ import UserDropDown from './user-drop-down.vue'
|
||||||
import Setting from '../setting/index.vue'
|
import Setting from '../setting/index.vue'
|
||||||
import MultipleTabs from './multiple-tabs.vue'
|
import MultipleTabs from './multiple-tabs.vue'
|
||||||
|
|
||||||
|
import useSettingStore from '@/stores/modules/setting'
|
||||||
const appStore = useAppStore()
|
const appStore = useAppStore()
|
||||||
const isMobile = computed(() => appStore.isMobile)
|
const isMobile = computed(() => appStore.isMobile)
|
||||||
|
const settingStore = useSettingStore()
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,20 @@
|
||||||
<el-switch :model-value="isDark" @change="toggleDark" />
|
<el-switch :model-value="isDark" @change="toggleDark" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="setting-item mb-5 flex justify-between items-center">
|
||||||
|
<span class="text-tx-secondary">开启多页签栏</span>
|
||||||
|
<div>
|
||||||
|
<el-switch
|
||||||
|
v-model="openMultipleTabs"
|
||||||
|
:active-value="true"
|
||||||
|
:inactive-value="false"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="setting-item mb-5 flex justify-between items-center">
|
||||||
|
<span class="text-tx-secondary">菜单栏宽度</span>
|
||||||
|
<div><el-input-number v-model="sideWidth" :min="180" :max="250" /></div>
|
||||||
|
</div>
|
||||||
<div class="setting-item mb-5 flex justify-between items-center">
|
<div class="setting-item mb-5 flex justify-between items-center">
|
||||||
<el-button @click="resetTheme">重置主题</el-button>
|
<el-button @click="resetTheme">重置主题</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -75,6 +89,30 @@ const sideTheme = computed({
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const openMultipleTabs = computed({
|
||||||
|
get() {
|
||||||
|
return settingStore.openMultipleTabs
|
||||||
|
},
|
||||||
|
set(value) {
|
||||||
|
settingStore.setSetting({
|
||||||
|
key: 'openMultipleTabs',
|
||||||
|
value
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const sideWidth = computed({
|
||||||
|
get() {
|
||||||
|
return settingStore.sideWidth
|
||||||
|
},
|
||||||
|
set(value) {
|
||||||
|
settingStore.setSetting({
|
||||||
|
key: 'sideWidth',
|
||||||
|
value
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
const showSetting = computed({
|
const showSetting = computed({
|
||||||
get() {
|
get() {
|
||||||
return settingStore.showDrawer
|
return settingStore.showDrawer
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="menu flex-1 min-h-0" :class="themeClass">
|
<div class="menu flex-1 min-h-0" :class="themeClass" :style="`--aside-width: ${width}px`">
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<el-menu
|
<el-menu
|
||||||
v-bind="config"
|
v-bind="config"
|
||||||
|
|
@ -38,6 +38,10 @@ const props = defineProps({
|
||||||
},
|
},
|
||||||
theme: {
|
theme: {
|
||||||
type: String
|
type: String
|
||||||
|
},
|
||||||
|
width: {
|
||||||
|
type: Number,
|
||||||
|
default: 200
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
<side-menu
|
<side-menu
|
||||||
:routes="routes"
|
:routes="routes"
|
||||||
:isCollapsed="isCollapsed"
|
:isCollapsed="isCollapsed"
|
||||||
|
:width="settingStore.sideWidth"
|
||||||
:config="menuProp"
|
:config="menuProp"
|
||||||
:theme="sideTheme"
|
:theme="sideTheme"
|
||||||
@select="handleSelect"
|
@select="handleSelect"
|
||||||
|
|
@ -34,7 +35,11 @@ const userStore = useUserStore()
|
||||||
const routes = computed(() => userStore.routes)
|
const routes = computed(() => userStore.routes)
|
||||||
|
|
||||||
const sideStyle = computed(() => {
|
const sideStyle = computed(() => {
|
||||||
return sideTheme.value == 'dark' ? `--side-dark-color:${settingStore.sideDarkColor}` : ''
|
return sideTheme.value == 'dark'
|
||||||
|
? {
|
||||||
|
'--side-dark-color': settingStore.sideDarkColor
|
||||||
|
}
|
||||||
|
: ''
|
||||||
})
|
})
|
||||||
const menuProp = computed(() => {
|
const menuProp = computed(() => {
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
|
|
@ -323,19 +323,6 @@ const getDetails = async () => {
|
||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
formData[key] = data[key]
|
formData[key] = data[key]
|
||||||
})
|
})
|
||||||
|
|
||||||
// watch(
|
|
||||||
// () => formData.genType,
|
|
||||||
// (value) => {
|
|
||||||
// if (value == 1) {
|
|
||||||
// feedback
|
|
||||||
// .confirm('生成到模块方式如遇同名文件会覆盖旧文件,确定要选择此方式吗?')
|
|
||||||
// .catch(() => {
|
|
||||||
// formData.genType = 0
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// )
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const { optionsData } = useDictOptions<{
|
const { optionsData } = useDictOptions<{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue