Commit 8a9a2e5d authored by 罗超's avatar 罗超

新增菜单响应

parent debf67cd
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
</div> </div>
<div class="q-mt-md row"> <div class="q-mt-md row">
<q-table separator="vertical" :hide-bottom="true" dense :rows="x.DetailList" bordered :columns="cols" class="light-border col borders no-shadow text-left"> <q-table separator="vertical" :hide-bottom="true" dense :rows="x.DetailList" bordered :columns="cols" class="light-border col no-shadow text-left">
<template v-slot:header-cell-Room="props"> <template v-slot:header-cell-Room="props">
<q-th :props="props"> <q-th :props="props">
<div class="row items-center"> <div class="row items-center">
...@@ -245,7 +245,7 @@ export default defineComponent({ ...@@ -245,7 +245,7 @@ export default defineComponent({
}) })
data.orders = r.data.data.pageData data.orders = r.data.data.pageData
data.pages.pageCount = r.data.data.pageCount data.pages.pageCount = r.data.data.pageCount
} else { } else {
message.errorMsg(r.data.message) message.errorMsg(r.data.message)
} }
......
<template> <template>
<q-expansion-item class="demo" :class="{ 'nav-parent': activeParent }"> <q-expansion-item class="demo" :class="{ 'nav-parent': activeParent }" v-model="activeParent">
<template v-slot:header> <template v-slot:header>
<q-item-section> <q-item-section>
<div class="row items-center nav-group"> <div class="row items-center nav-group">
...@@ -22,11 +22,12 @@ ...@@ -22,11 +22,12 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { Menu, MENU_KEYS } from '../../utils/menus' import { Menu } from '../../utils/menus'
import { computed, defineComponent, inject, PropType, provide, reactive, toRefs,ref, watch } from 'vue' import { computed, defineComponent, inject, PropType, provide, reactive, toRefs, ref, watch } from 'vue'
import svgIcon from '../global/svg-icon.vue' import svgIcon from '../global/svg-icon.vue'
import { DirtionmaryHelper } from '../../config/dictionary'
export default defineComponent({ export default defineComponent({
components:{svgIcon}, components: { svgIcon },
name: 'nav-item', name: 'nav-item',
props: { props: {
menu: { menu: {
...@@ -34,22 +35,24 @@ export default defineComponent({ ...@@ -34,22 +35,24 @@ export default defineComponent({
required: true required: true
} }
}, },
setup(props) { setup(props) {
const activeMenu = inject(MENU_KEYS) as any const activeMenu = inject(DirtionmaryHelper.MENU_KEYS) as any
watch(activeMenu, (n, o) => {
if (!activeMenu.value) data.activeParent = false
if (props.menu.childs) {
let temp = props.menu.childs.find(x => x.id == activeMenu.value)
data.activeParent = temp ? true : false
} else {
data.activeParent = props.menu.id == activeMenu.value
}
})
const data = reactive({ const data = reactive({
activeParent: computed(() => { activeParent: false
if(!activeMenu) return false
if (props.menu.childs) {
let temp = props.menu.childs.find(x => x.id == activeMenu.value)
return temp ? true : false
} else {
return props.menu.id == activeMenu.value
}
})
}) })
const methods = { const methods = {
checkMenuHandler(id: number) { checkMenuHandler(id: number) {
activeMenu.value = id activeMenu.value = id
...@@ -58,4 +61,4 @@ export default defineComponent({ ...@@ -58,4 +61,4 @@ export default defineComponent({
return { ...toRefs(data), ...methods, activeMenu } return { ...toRefs(data), ...methods, activeMenu }
} }
}) })
</script> </script>
\ No newline at end of file
...@@ -5,15 +5,13 @@ ...@@ -5,15 +5,13 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent,ref,reactive, toRefs, provide } from 'vue' import { defineComponent,ref,reactive, toRefs } from 'vue'
import navItem from './nav-item.vue' import navItem from './nav-item.vue'
import { useMenus, Menu, MENU_KEYS } from '../../utils/menus' import { useMenus, Menu } from '../../utils/menus'
export default defineComponent({ export default defineComponent({
components: { navItem }, components: { navItem },
name: 'navs', name: 'navs',
setup() { setup() {
const activeMenu=ref(0)
provide(MENU_KEYS, activeMenu)
const data = reactive({ const data = reactive({
menus: [] as Menu[] menus: [] as Menu[]
}) })
......
...@@ -8,6 +8,12 @@ const userDictionmary = { ...@@ -8,6 +8,12 @@ const userDictionmary = {
} }
class DirtionmaryHelper { class DirtionmaryHelper {
/**
* 菜單選項
*/
static readonly MENU_KEYS='Current_Menu_Cehck'
/** /**
* 子頁面傳遞給主界面的標題KEY * 子頁面傳遞給主界面的標題KEY
*/ */
......
...@@ -81,6 +81,8 @@ export default { ...@@ -81,6 +81,8 @@ export default {
}) })
const childPageTitle = ref('') const childPageTitle = ref('')
provide(DirtionmaryHelper.PAGE_TITLE_KEY ,childPageTitle) provide(DirtionmaryHelper.PAGE_TITLE_KEY ,childPageTitle)
const activeMenu=ref(0)
provide(DirtionmaryHelper.MENU_KEYS, activeMenu)
data.userInfo = getStoreGetter<UserGetter>('user', 'getUser') data.userInfo = getStoreGetter<UserGetter>('user', 'getUser')
data.scrollStyle = useScrollModule().scrollStyle data.scrollStyle = useScrollModule().scrollStyle
const methods = { const methods = {
......
...@@ -19,7 +19,6 @@ export default defineComponent({ ...@@ -19,7 +19,6 @@ export default defineComponent({
components: { svgIcon, ListHeader, ListTable }, components: { svgIcon, ListHeader, ListTable },
setup() { setup() {
const data = reactive({}) const data = reactive({})
console.log(' in ')
let { setTitle } = useMetaModule() let { setTitle } = useMetaModule()
const { locale, t } = useI18n() const { locale, t } = useI18n()
const pageTitle = inject(DirtionmaryHelper.PAGE_TITLE_KEY) as any const pageTitle = inject(DirtionmaryHelper.PAGE_TITLE_KEY) as any
...@@ -49,6 +48,9 @@ export default defineComponent({ ...@@ -49,6 +48,9 @@ export default defineComponent({
provide(DirtionmaryHelper.HOTEL_CAR_LIST, HotelCarList) provide(DirtionmaryHelper.HOTEL_CAR_LIST, HotelCarList)
const updateObj = ref<any>({}) const updateObj = ref<any>({})
provide(DirtionmaryHelper.HOTEL_UPDATEHOTEL_CAR,updateObj) provide(DirtionmaryHelper.HOTEL_UPDATEHOTEL_CAR,updateObj)
const menu=inject(DirtionmaryHelper.MENU_KEYS) as any
menu.value=2
const methods = { const methods = {
} }
......
...@@ -39,6 +39,8 @@ export default defineComponent({ ...@@ -39,6 +39,8 @@ export default defineComponent({
ContactNumber:'' ContactNumber:''
}) })
provide(DirtionmaryHelper.HOTEL_ORDER_SEARCH,search) provide(DirtionmaryHelper.HOTEL_ORDER_SEARCH,search)
const menu=inject(DirtionmaryHelper.MENU_KEYS) as any
menu.value=3
const data = reactive({}) const data = reactive({})
const methods = {} const methods = {}
...@@ -50,4 +52,4 @@ export default defineComponent({ ...@@ -50,4 +52,4 @@ export default defineComponent({
<style> <style>
</style> </style>
\ No newline at end of file
...@@ -98,5 +98,4 @@ const useMenus={ ...@@ -98,5 +98,4 @@ const useMenus={
return menus return menus
} }
} }
const MENU_KEYS='Current_Menu_Cehck' export {useMenus, type Menu}
export {useMenus, type Menu,MENU_KEYS}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment