index.tsx 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import {NTabPane, NTabs} from 'naive-ui'
  2. import {defineComponent, h, nextTick, onMounted, reactive, ref} from 'vue'
  3. import {useRoute} from 'vue-router'
  4. import {getTabsCache, setTabsCaches} from '@/hooks/use-async'
  5. import {appKey, clientType, messageSenderMode} from '@/utils/constant'
  6. import {sysApplicationPage} from '@views/menu-manage/api'
  7. import MessageTemplateList from "@views/message/message-template/message-template-list";
  8. import {getMapValueByKey} from "@/utils/objectUtil";
  9. import MusicSheetKt from "@views/music-library/project-music-sheet/module/kt/music-sheet-kt";
  10. import SmsConfig from "@views/message/message-config/sms/sms-config";
  11. export default defineComponent({
  12. name: 'message-config-index',
  13. setup() {
  14. const state = reactive({
  15. tabName: 'SMS',
  16. })
  17. const tabsInstRef = ref()
  18. getTabsCache((val: any) => {
  19. if (val.form.tabName) {
  20. state.tabName = val.form.tabName
  21. nextTick(() => tabsInstRef.value?.syncBarPosition())
  22. }
  23. })
  24. const route = useRoute()
  25. const setTabs = (val: any) => {
  26. setTabsCaches(val, 'tabName', route)
  27. }
  28. onMounted(async () => {
  29. nextTick(() => tabsInstRef.value?.syncBarPosition())
  30. })
  31. return () => {
  32. return (
  33. <div class="system-menu-container">
  34. <div class={['section-container']} style="padding-top: 0">
  35. <NTabs
  36. ref={tabsInstRef}
  37. type="line"
  38. size="large"
  39. v-model:value={state.tabName}
  40. onUpdate:value={(val: any) => setTabs(val)}
  41. >
  42. {Object.keys(messageSenderMode).map((app: any, index: number) => (
  43. <NTabPane name={app} tab={getMapValueByKey(app, new Map(Object.entries(messageSenderMode)))}>
  44. {/*{app == 'SMS' && (<SmsConfig/>)}*/}
  45. <SmsConfig/>
  46. </NTabPane>
  47. ))}
  48. </NTabs>
  49. </div>
  50. </div>
  51. )
  52. }
  53. }
  54. })