首页菜单加下拉按钮
parent
f54f7e1608
commit
f48e39b7f6
|
|
@ -0,0 +1,53 @@
|
||||||
|
import dayjs from 'dayjs'
|
||||||
|
const pickerOptions = {
|
||||||
|
disabledDate: (time) => {
|
||||||
|
return time.getTime() < Date.now()
|
||||||
|
},
|
||||||
|
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
||||||
|
shortcuts: [
|
||||||
|
{
|
||||||
|
text: '3天后',
|
||||||
|
value: () => {
|
||||||
|
const date = new Date()
|
||||||
|
date.setTime(date.getTime() + 3600 * 1000 * 24 * 3)
|
||||||
|
date.setHours(0, 0, 0, 0)
|
||||||
|
return date
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '5天后',
|
||||||
|
value: () => {
|
||||||
|
const date = new Date()
|
||||||
|
date.setTime(date.getTime() + 3600 * 1000 * 24 * 5)
|
||||||
|
date.setHours(0, 0, 0, 0)
|
||||||
|
return date
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '7天后',
|
||||||
|
value: () => {
|
||||||
|
const date = new Date()
|
||||||
|
date.setTime(date.getTime() + 3600 * 1000 * 24 * 7)
|
||||||
|
date.setHours(0, 0, 0, 0)
|
||||||
|
return date
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '10天后',
|
||||||
|
value: () => {
|
||||||
|
const date = new Date()
|
||||||
|
date.setTime(date.getTime() + 3600 * 1000 * 24 * 10)
|
||||||
|
date.setHours(0, 0, 0, 0)
|
||||||
|
return date
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
day: (() => {
|
||||||
|
const date = new Date()
|
||||||
|
date.setTime(date.getTime() + 3600 * 1000 * 24 * 1)
|
||||||
|
date.setHours(0, 0, 0, 0)
|
||||||
|
return dayjs(date).format('YYYY-MM-DD HH:mm:ss')
|
||||||
|
})()
|
||||||
|
}
|
||||||
|
|
||||||
|
export { pickerOptions }
|
||||||
|
|
@ -112,8 +112,10 @@ async function getDbTree() {
|
||||||
|
|
||||||
getDbTree()
|
getDbTree()
|
||||||
let flag = false
|
let flag = false
|
||||||
|
const onClick = ref(false)
|
||||||
function menuHandler(menu: any, index: number) {
|
function menuHandler(menu: any, index: number) {
|
||||||
activeMenuKey.value = menu.key
|
activeMenuKey.value = menu.key
|
||||||
|
onClick.value = true
|
||||||
console.log(menu, index)
|
console.log(menu, index)
|
||||||
if (menu.key === 'DataBase' && idx.value === index) {
|
if (menu.key === 'DataBase' && idx.value === index) {
|
||||||
report({ moduleCode: 'App_Database' })
|
report({ moduleCode: 'App_Database' })
|
||||||
|
|
@ -143,6 +145,14 @@ function menuHandler(menu: any, index: number) {
|
||||||
}
|
}
|
||||||
push({ name: menu.key })
|
push({ name: menu.key })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleExpand = (m, index) => {
|
||||||
|
if (m.key === activeMenuKey.value) {
|
||||||
|
onClick.value = !onClick.value
|
||||||
|
} else {
|
||||||
|
menuHandler(m, index)
|
||||||
|
}
|
||||||
|
}
|
||||||
const shorm = ref(false)
|
const shorm = ref(false)
|
||||||
|
|
||||||
const { path } = useRoute()
|
const { path } = useRoute()
|
||||||
|
|
@ -184,15 +194,21 @@ var activeItem = 0
|
||||||
<!-- max-h-636px -->
|
<!-- max-h-636px -->
|
||||||
<div class="pt10px pb10px flex-1 max-h-836px">
|
<div class="pt10px pb10px flex-1 max-h-836px">
|
||||||
<div
|
<div
|
||||||
class="nav pl36px pr16px py24px m10px mr0 rd-32px rd-r-0 flex flex-col text-#fff cursor-pointer hover:underline"
|
class="nav pl20px pr16px py24px m10px mr0 rd-32px rd-r-0 flex flex-col text-#fff cursor-pointer hover:underline transition-all111"
|
||||||
v-for="(m, index) in Menus"
|
v-for="(m, index) in Menus"
|
||||||
:key="m.key"
|
:key="m.key"
|
||||||
:class="activeMenuKey === m.key ? (m.children ? 'actives' : 'active') : ''"
|
:class="activeMenuKey === m.key ? (m.children ? 'actives' : 'active') : ''"
|
||||||
@click="() => menuHandler(m, index)"
|
@click="() => menuHandler(m, index)"
|
||||||
>
|
>
|
||||||
<div :class="activeMenuKey === m.key && 'onActive'">
|
<div class="relative" :class="activeMenuKey === m.key && 'onActive'">
|
||||||
<img v-if="activeMenuKey === m.key" :src="m.icon1" class="w22px h22px mr16px mt--5px" />
|
<p class="inline-block">
|
||||||
<img v-else :src="m.icon" class="w22px h22px mr16px mt--5px" />
|
<img
|
||||||
|
v-if="activeMenuKey === m.key"
|
||||||
|
:src="m.icon1"
|
||||||
|
class="w22px h22px mr12px mt--5px"
|
||||||
|
/>
|
||||||
|
<img v-else :src="m.icon" class="w22px h22px mr12px mt--5px" />
|
||||||
|
</p>
|
||||||
<span
|
<span
|
||||||
class="text-22px font-900 leading-22px"
|
class="text-22px font-900 leading-22px"
|
||||||
:class="
|
:class="
|
||||||
|
|
@ -209,9 +225,23 @@ var activeItem = 0
|
||||||
</span>
|
</span>
|
||||||
<span class="text-18px italic font-500" v-if="m.other">{{ m.other }}</span>
|
<span class="text-18px italic font-500" v-if="m.other">{{ m.other }}</span>
|
||||||
</span>
|
</span>
|
||||||
|
<p
|
||||||
|
@click.stop="handleExpand(m, index)"
|
||||||
|
v-if="['DataBase', 'link', 'phone'].includes(m.key)"
|
||||||
|
class="inline-block ml-auto text-#FFF cursor-pointer p-2 float-right mr--10px mt--2"
|
||||||
|
:class="activeMenuKey === m.key && '!text-#4977FC'"
|
||||||
|
>
|
||||||
|
<el-icon size="26">
|
||||||
|
<CaretTop v-if="activeMenuKey === m.key && onClick" class="text-#4977FC" />
|
||||||
|
<CaretBottom v-else />
|
||||||
|
</el-icon>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="m.children && idx == index" class="pl40px">
|
<div
|
||||||
|
v-if="m.children && idx == index && onClick"
|
||||||
|
class="pl30px transition-all duration-300"
|
||||||
|
>
|
||||||
<div
|
<div
|
||||||
class="my16px pl30px text-#fff activeChildren text-20px"
|
class="my16px pl30px text-#fff activeChildren text-20px"
|
||||||
v-for="(item, ind) in m.children"
|
v-for="(item, ind) in m.children"
|
||||||
|
|
@ -388,7 +418,7 @@ var activeItem = 0
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border-radius: 32px 0 0 32px;
|
border-radius: 32px 0 0 32px;
|
||||||
|
|
||||||
padding: 24px 16px 24px 36px;
|
padding: 24px 16px 24px 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue