feat: enable and refactor more service
- uncomment and restore MineSetting in DrawerSection - replace uni-ui popup and icons with Vant components in MoreService - switch to project's custom event emitter instead of uni global events - add VanIcons type definitions in components.d.ts - rework popup state management with reactive show ref for MoreService
This commit is contained in:
2
components.d.ts
vendored
2
components.d.ts
vendored
@@ -48,6 +48,7 @@ declare module 'vue' {
|
|||||||
TopNavBar: typeof import('./src/components/TopNavBar/index.vue')['default']
|
TopNavBar: typeof import('./src/components/TopNavBar/index.vue')['default']
|
||||||
UseDateRange: typeof import('./src/components/UseDateRange/index.vue')['default']
|
UseDateRange: typeof import('./src/components/UseDateRange/index.vue')['default']
|
||||||
VanIcon: typeof import('vant/es')['Icon']
|
VanIcon: typeof import('vant/es')['Icon']
|
||||||
|
VanIcons: typeof import('vant/es')['Icons']
|
||||||
VanPopup: typeof import('vant/es')['Popup']
|
VanPopup: typeof import('vant/es')['Popup']
|
||||||
ZnIcon: typeof import('./src/components/ZnIcon/index.vue')['default']
|
ZnIcon: typeof import('./src/components/ZnIcon/index.vue')['default']
|
||||||
}
|
}
|
||||||
@@ -91,6 +92,7 @@ declare global {
|
|||||||
const TopNavBar: typeof import('./src/components/TopNavBar/index.vue')['default']
|
const TopNavBar: typeof import('./src/components/TopNavBar/index.vue')['default']
|
||||||
const UseDateRange: typeof import('./src/components/UseDateRange/index.vue')['default']
|
const UseDateRange: typeof import('./src/components/UseDateRange/index.vue')['default']
|
||||||
const VanIcon: typeof import('vant/es')['Icon']
|
const VanIcon: typeof import('vant/es')['Icon']
|
||||||
|
const VanIcons: typeof import('vant/es')['Icons']
|
||||||
const VanPopup: typeof import('vant/es')['Popup']
|
const VanPopup: typeof import('vant/es')['Popup']
|
||||||
const ZnIcon: typeof import('./src/components/ZnIcon/index.vue')['default']
|
const ZnIcon: typeof import('./src/components/ZnIcon/index.vue')['default']
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
<span class="title">我的</span>
|
<span class="title">我的</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <MineSetting ref="mineSettingRef" @close="close" /> -->
|
<MineSetting ref="mineSettingRef" @close="close" />
|
||||||
</div>
|
</div>
|
||||||
</van-popup>
|
</van-popup>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<uni-popup ref="popup" type="bottom" :safe-area="false">
|
<van-popup ref="popup" position="bottom" v-model:show="show">
|
||||||
<div class="popup-content border-box pt-12 pl-12 pr-12">
|
<div class="popup-content border-box pt-12 pl-12 pr-12">
|
||||||
<div class="header flex flex-items-center pb-12">
|
<div class="header flex flex-items-center pb-12">
|
||||||
<div class="title flex-full text-center font-size-17 color-000 font-500 ml-24">更多服务</div>
|
<div class="title flex-full text-center font-size-17 color-000 font-500 ml-24">更多服务</div>
|
||||||
<uni-icons type="close" size="24" color="#CACFD8" @click="close" />
|
<van-icon name="cross" size="24" color="#CACFD8" @click="close" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="list bg-white border-box pl-20 pr-20">
|
<div class="list bg-white border-box pl-20 pr-20">
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</uni-popup>
|
</van-popup>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
@@ -33,6 +33,7 @@ import { ref } from "vue";
|
|||||||
import { Command } from "@/constants/ChatModel";
|
import { Command } from "@/constants/ChatModel";
|
||||||
import { SEND_MESSAGE_COMMAND_TYPE } from "@/constants/constant";
|
import { SEND_MESSAGE_COMMAND_TYPE } from "@/constants/constant";
|
||||||
import { checkToken } from "@/hooks/useGoLogin";
|
import { checkToken } from "@/hooks/useGoLogin";
|
||||||
|
import { emitter } from '@/utils/events'
|
||||||
|
|
||||||
const popup = ref(null);
|
const popup = ref(null);
|
||||||
|
|
||||||
@@ -79,12 +80,14 @@ const list = ref([
|
|||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
const show = ref(false);
|
||||||
|
|
||||||
const open = () => {
|
const open = () => {
|
||||||
popup.value && popup.value.open();
|
show.value = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
const close = () => {
|
const close = () => {
|
||||||
popup.value && popup.value.close();
|
show.value = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleClick = (item) => {
|
const handleClick = (item) => {
|
||||||
@@ -98,11 +101,11 @@ const handleClick = (item) => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
uni.$emit(SEND_MESSAGE_COMMAND_TYPE, item);
|
emitter.emit(SEND_MESSAGE_COMMAND_TYPE, item);
|
||||||
};
|
};
|
||||||
|
|
||||||
// 接收更多服务
|
// 接收更多服务
|
||||||
uni.$on("SHOW_MORE_POPUP", () => {
|
emitter.on("SHOW_MORE_POPUP", () => {
|
||||||
open();
|
open();
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
@select="handleDateSelect" /> -->
|
@select="handleDateSelect" /> -->
|
||||||
|
|
||||||
<!-- 更多服务 -->
|
<!-- 更多服务 -->
|
||||||
<!-- <MoreService /> -->
|
<MoreService />
|
||||||
|
|
||||||
<!-- 抽屉组件 -->
|
<!-- 抽屉组件 -->
|
||||||
<DrawerSection ref="drawerRef" @close="closeDrawer" />
|
<DrawerSection ref="drawerRef" @close="closeDrawer" />
|
||||||
@@ -21,7 +21,7 @@ import { emitter } from '@/utils/events'
|
|||||||
// import { useAppStore } from "@/store";
|
// import { useAppStore } from "@/store";
|
||||||
// import { checkToken } from "@/hooks/useGoLogin";
|
// import { checkToken } from "@/hooks/useGoLogin";
|
||||||
// import ChatMainList from "./components/ChatMainList/index.vue";
|
// import ChatMainList from "./components/ChatMainList/index.vue";
|
||||||
// import MoreService from "./components/MoreService/index.vue";
|
import MoreService from "./components/MoreService/index.vue";
|
||||||
import DrawerSection from "./components/DrawerSection/index.vue";
|
import DrawerSection from "./components/DrawerSection/index.vue";
|
||||||
// import Calender from "@/components/Calender/index.vue";
|
// import Calender from "@/components/Calender/index.vue";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user