feat
parent
1a9052785f
commit
f0186562f9
|
@ -1,11 +1,11 @@
|
||||||
<script lang="ts" setup extends="Button">
|
<script lang="ts" setup>
|
||||||
import { Button } from 'ant-design-vue'
|
import { Button } from 'ant-design-vue'
|
||||||
import { computed, unref } from 'vue'
|
import { computed, unref } from 'vue'
|
||||||
import { buttonProps } from './props'
|
import { buttonProps } from './props'
|
||||||
import { Icon } from '@/components/Icon'
|
import { Icon } from '@/components/Icon'
|
||||||
import { useAttrs } from '@/hooks/core/useAttrs'
|
import { useAttrs } from '@/hooks/core/useAttrs'
|
||||||
|
|
||||||
defineOptions({ name: 'AButton', indeterminate: false })
|
defineOptions({ name: 'AButton', extends: Button, indeterminate: false })
|
||||||
|
|
||||||
const props = defineProps(buttonProps)
|
const props = defineProps(buttonProps)
|
||||||
// get component class
|
// get component class
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script lang="ts" setup>
|
||||||
import { onMounted, ref } from 'vue'
|
import { onMounted, ref } from 'vue'
|
||||||
import { propTypes } from '@/utils/propTypes'
|
import { propTypes } from '@/utils/propTypes'
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<script lang="ts" setup nmae="FullScreenSetting">
|
<script lang="ts" setup>
|
||||||
import { Tooltip } from 'ant-design-vue'
|
import { Tooltip } from 'ant-design-vue'
|
||||||
import { FullscreenExitOutlined, FullscreenOutlined } from '@ant-design/icons-vue'
|
import { FullscreenExitOutlined, FullscreenOutlined } from '@ant-design/icons-vue'
|
||||||
import { useFullscreen } from '@vueuse/core'
|
import { useFullscreen } from '@vueuse/core'
|
||||||
import { useTableContext } from '../../hooks/useTableContext'
|
import { useTableContext } from '../../hooks/useTableContext'
|
||||||
import { useI18n } from '@/hooks/web/useI18n'
|
import { useI18n } from '@/hooks/web/useI18n'
|
||||||
|
|
||||||
|
defineOptions({ name: 'FullScreenSetting' })
|
||||||
|
|
||||||
const table = useTableContext()
|
const table = useTableContext()
|
||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
const { toggle, isFullscreen } = useFullscreen(table.wrapRef)
|
const { toggle, isFullscreen } = useFullscreen(table.wrapRef)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<script setup lang="ts" name="UserDropdown">
|
<script lang="ts" setup>
|
||||||
import { Dropdown, Menu, MenuDivider } from 'ant-design-vue'
|
import { Dropdown, Menu, MenuDivider } from 'ant-design-vue'
|
||||||
import type { MenuInfo } from 'ant-design-vue/lib/menu/src/interface'
|
import type { MenuInfo } from 'ant-design-vue/lib/menu/src/interface'
|
||||||
import { computed } from 'vue'
|
import { computed } from 'vue'
|
||||||
|
@ -14,6 +14,8 @@ import { openWindow } from '@/utils'
|
||||||
import { useGo } from '@/hooks/web/usePage'
|
import { useGo } from '@/hooks/web/usePage'
|
||||||
import { createAsyncComponent } from '@/utils/factory/createAsyncComponent'
|
import { createAsyncComponent } from '@/utils/factory/createAsyncComponent'
|
||||||
|
|
||||||
|
defineOptions({ name: 'UserDropdown' })
|
||||||
|
|
||||||
defineProps({
|
defineProps({
|
||||||
theme: propTypes.oneOf(['dark', 'light']),
|
theme: propTypes.oneOf(['dark', 'light']),
|
||||||
})
|
})
|
||||||
|
|
|
@ -2,6 +2,7 @@ import { defineStore } from 'pinia'
|
||||||
import { theme as antdTheme } from 'ant-design-vue/es'
|
import { theme as antdTheme } from 'ant-design-vue/es'
|
||||||
import type { ThemeConfig } from 'ant-design-vue/es/config-provider/context'
|
import type { ThemeConfig } from 'ant-design-vue/es/config-provider/context'
|
||||||
import { reactive } from 'vue'
|
import { reactive } from 'vue'
|
||||||
|
import { primaryColor } from '../../../build/config/themeConfig'
|
||||||
import type { AppSizeType, HeaderSetting, MenuSetting, MultiTabsSetting, ProjectConfig, TransitionSetting } from '@/types/config'
|
import type { AppSizeType, HeaderSetting, MenuSetting, MultiTabsSetting, ProjectConfig, TransitionSetting } from '@/types/config'
|
||||||
import type { BeforeMiniState } from '@/types/store'
|
import type { BeforeMiniState } from '@/types/store'
|
||||||
|
|
||||||
|
@ -91,7 +92,7 @@ export const useAppStore = defineStore('app', {
|
||||||
colorBgContainer: '#fff',
|
colorBgContainer: '#fff',
|
||||||
colorPrimary: color || (this.projectConfig
|
colorPrimary: color || (this.projectConfig
|
||||||
? this.projectConfig.themeColor
|
? this.projectConfig.themeColor
|
||||||
: '#1890ff'),
|
: primaryColor),
|
||||||
},
|
},
|
||||||
components: {},
|
components: {},
|
||||||
})
|
})
|
||||||
|
@ -103,7 +104,7 @@ export const useAppStore = defineStore('app', {
|
||||||
colorBgContainer: 'rgb(36, 37, 37)',
|
colorBgContainer: 'rgb(36, 37, 37)',
|
||||||
colorPrimary: color || (this.projectConfig
|
colorPrimary: color || (this.projectConfig
|
||||||
? this.projectConfig.themeColor
|
? this.projectConfig.themeColor
|
||||||
: '#1890ff'),
|
: primaryColor),
|
||||||
},
|
},
|
||||||
components: {},
|
components: {},
|
||||||
}
|
}
|
||||||
|
@ -126,6 +127,8 @@ export const useAppStore = defineStore('app', {
|
||||||
},
|
},
|
||||||
|
|
||||||
setMenuSetting(setting: Partial<MenuSetting>): void {
|
setMenuSetting(setting: Partial<MenuSetting>): void {
|
||||||
|
if (!this.projectConfig)
|
||||||
|
return
|
||||||
this.projectConfig.menuSetting = deepMerge(this.projectConfig.menuSetting, setting)
|
this.projectConfig.menuSetting = deepMerge(this.projectConfig.menuSetting, setting)
|
||||||
Persistent.setLocal(PROJ_CFG_KEY, this.projectConfig)
|
Persistent.setLocal(PROJ_CFG_KEY, this.projectConfig)
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script lang="ts" setup>
|
||||||
import { computed, ref } from 'vue'
|
import { computed, ref } from 'vue'
|
||||||
import { Input } from 'ant-design-vue'
|
import { Input } from 'ant-design-vue'
|
||||||
import { LockOutlined } from '@ant-design/icons-vue'
|
import { LockOutlined } from '@ant-design/icons-vue'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script lang="ts" setup>
|
||||||
import { List } from 'ant-design-vue'
|
import { List } from 'ant-design-vue'
|
||||||
import { onMounted } from 'vue'
|
import { onMounted } from 'vue'
|
||||||
import { accountBindList } from './data'
|
import { accountBindList } from './data'
|
||||||
|
@ -6,9 +6,6 @@ import { Icon } from '@/components/Icon'
|
||||||
import { CollapseContainer } from '@/components/Container/index'
|
import { CollapseContainer } from '@/components/Container/index'
|
||||||
import { getUserProfileApi } from '@/api/base/profile'
|
import { getUserProfileApi } from '@/api/base/profile'
|
||||||
|
|
||||||
const ListItem = List.Item
|
|
||||||
const ListItemMeta = List.Item.Meta
|
|
||||||
|
|
||||||
async function init() {
|
async function init() {
|
||||||
const userInfo = await getUserProfileApi()
|
const userInfo = await getUserProfileApi()
|
||||||
// TODO
|
// TODO
|
||||||
|
@ -16,7 +13,7 @@ async function init() {
|
||||||
if (userInfo.socialUsers) {
|
if (userInfo.socialUsers) {
|
||||||
for (const j in userInfo.socialUsers) {
|
for (const j in userInfo.socialUsers) {
|
||||||
if (accountBindList[i].key === userInfo.socialUsers[j].type) {
|
if (accountBindList[i].key === userInfo.socialUsers[j].type) {
|
||||||
accountBindList[i].title = '已綁定'
|
accountBindList[i].title = '已绑定'
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,8 +29,8 @@ onMounted(async () => {
|
||||||
<CollapseContainer title="账号绑定" :can-expan="false">
|
<CollapseContainer title="账号绑定" :can-expan="false">
|
||||||
<List>
|
<List>
|
||||||
<template v-for="item in accountBindList" :key="item.key">
|
<template v-for="item in accountBindList" :key="item.key">
|
||||||
<ListItem>
|
<List.Item>
|
||||||
<ListItemMeta>
|
<List.Item.Meta>
|
||||||
<template #avatar>
|
<template #avatar>
|
||||||
<Icon v-if="item.avatar" class="avatar" :icon="item.avatar" :color="item.color" />
|
<Icon v-if="item.avatar" class="avatar" :icon="item.avatar" :color="item.color" />
|
||||||
</template>
|
</template>
|
||||||
|
@ -46,8 +43,8 @@ onMounted(async () => {
|
||||||
<template #description>
|
<template #description>
|
||||||
<div>{{ item.description }}</div>
|
<div>{{ item.description }}</div>
|
||||||
</template>
|
</template>
|
||||||
</ListItemMeta>
|
</List.Item.Meta>
|
||||||
</ListItem>
|
</List.Item>
|
||||||
</template>
|
</template>
|
||||||
</List>
|
</List>
|
||||||
</CollapseContainer>
|
</CollapseContainer>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script lang="ts" setup>
|
||||||
import { Button, Col, Row } from 'ant-design-vue'
|
import { Button, Col, Row } from 'ant-design-vue'
|
||||||
import { computed, onMounted } from 'vue'
|
import { computed, onMounted } from 'vue'
|
||||||
import { baseSetschemas } from './data'
|
import { baseSetschemas } from './data'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script lang="ts" setup>
|
||||||
import { List, Switch } from 'ant-design-vue'
|
import { List, Switch } from 'ant-design-vue'
|
||||||
import { msgNotifyList } from './data'
|
import { msgNotifyList } from './data'
|
||||||
import { CollapseContainer } from '@/components/Container/index'
|
import { CollapseContainer } from '@/components/Container/index'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script lang="ts" setup>
|
||||||
import { List } from 'ant-design-vue'
|
import { List } from 'ant-design-vue'
|
||||||
import { secureSettingList } from './data'
|
import { secureSettingList } from './data'
|
||||||
import PasswordModal from './PasswordModal.vue'
|
import PasswordModal from './PasswordModal.vue'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script lang="ts" setup>
|
||||||
import { TabPane, Tabs } from 'ant-design-vue'
|
import { TabPane, Tabs } from 'ant-design-vue'
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { settingList } from './data'
|
import { settingList } from './data'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script lang="ts" setup>
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { infoSchema } from './apiAccessLog.data'
|
import { infoSchema } from './apiAccessLog.data'
|
||||||
import { BasicModal, useModalInner } from '@/components/Modal'
|
import { BasicModal, useModalInner } from '@/components/Modal'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script lang="ts" setup>
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { infoSchema } from './apiErrorLog.data'
|
import { infoSchema } from './apiErrorLog.data'
|
||||||
import { BasicModal, useModalInner } from '@/components/Modal'
|
import { BasicModal, useModalInner } from '@/components/Modal'
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
<script setup lang="ts" name="InfraServer">
|
<script lang="ts" setup>
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { IFrame } from '@/components/IFrame'
|
import { IFrame } from '@/components/IFrame'
|
||||||
|
|
||||||
|
defineOptions({ name: 'InfraServer' })
|
||||||
|
|
||||||
const src = ref(`${import.meta.env.VITE_GLOB_BASE_URL}/admin/applications`)
|
const src = ref(`${import.meta.env.VITE_GLOB_BASE_URL}/admin/applications`)
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
<script setup lang="ts" name="InfraSkywalking">
|
<script lang="ts" setup>
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { IFrame } from '@/components/IFrame'
|
import { IFrame } from '@/components/IFrame'
|
||||||
|
|
||||||
|
defineOptions({ name: 'InfraSkywalking' })
|
||||||
|
|
||||||
const src = ref('http://skywalking.shop.iocoder.cn')
|
const src = ref('http://skywalking.shop.iocoder.cn')
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
<script setup lang="ts" name="InfraSwagger">
|
<script lang="ts" setup>
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { IFrame } from '@/components/IFrame'
|
import { IFrame } from '@/components/IFrame'
|
||||||
|
|
||||||
|
defineOptions({ name: 'InfraSwagger' })
|
||||||
|
|
||||||
// knife4j
|
// knife4j
|
||||||
// const src = ref(import.meta.env.VITE_GLOB_BASE_URL + '/doc.html')
|
// const src = ref(import.meta.env.VITE_GLOB_BASE_URL + '/doc.html')
|
||||||
const src = ref(`${import.meta.env.VITE_GLOB_BASE_URL}/swagger-ui`)
|
const src = ref(`${import.meta.env.VITE_GLOB_BASE_URL}/swagger-ui`)
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
<script setup lang="ts" name="ReportGoview">
|
<script lang="ts" setup>
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { IFrame } from '@/components/IFrame'
|
import { IFrame } from '@/components/IFrame'
|
||||||
|
|
||||||
|
defineOptions({ name: 'ReportGoview' })
|
||||||
|
|
||||||
const src = ref('http://127.0.0.1:3000')
|
const src = ref('http://127.0.0.1:3000')
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
<script setup lang="ts" name="ReportJmreport">
|
<script lang="ts" setup>
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { IFrame } from '@/components/IFrame'
|
import { IFrame } from '@/components/IFrame'
|
||||||
import { getAccessToken } from '@/utils/auth'
|
import { getAccessToken } from '@/utils/auth'
|
||||||
|
|
||||||
|
defineOptions({ name: 'ReportJmreport' })
|
||||||
|
|
||||||
const src = ref(`${import.meta.env.VITE_GLOB_BASE_URL}/jmreport/list?token=${getAccessToken()}`)
|
const src = ref(`${import.meta.env.VITE_GLOB_BASE_URL}/jmreport/list?token=${getAccessToken()}`)
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script lang="ts" setup>
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { logSchema } from './mailLog.data'
|
import { logSchema } from './mailLog.data'
|
||||||
import { BasicModal, useModalInner } from '@/components/Modal'
|
import { BasicModal, useModalInner } from '@/components/Modal'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script lang="ts" setup>
|
||||||
import { baseSendSchemas, keyPrefix } from './template.data'
|
import { baseSendSchemas, keyPrefix } from './template.data'
|
||||||
import { BasicModal, useModalInner } from '@/components/Modal'
|
import { BasicModal, useModalInner } from '@/components/Modal'
|
||||||
import type { FormSchema } from '@/components/Form'
|
import type { FormSchema } from '@/components/Form'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script lang="ts" setup>
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import type { MessageInfo } from './message.data'
|
import type { MessageInfo } from './message.data'
|
||||||
import { infoSchema } from './message.data'
|
import { infoSchema } from './message.data'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script lang="ts" setup>
|
||||||
import { reactive, ref } from 'vue'
|
import { reactive, ref } from 'vue'
|
||||||
import { baseSendSchemas } from './template.data'
|
import { baseSendSchemas } from './template.data'
|
||||||
import { BasicModal, useModalInner } from '@/components/Modal'
|
import { BasicModal, useModalInner } from '@/components/Modal'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<script setup lang="ts">
|
<script lang="ts" setup>
|
||||||
import { reactive, ref } from 'vue'
|
import { reactive, ref } from 'vue'
|
||||||
import { baseSendSchemas } from './smsTemplate.data'
|
import { baseSendSchemas } from './smsTemplate.data'
|
||||||
import { BasicModal, useModalInner } from '@/components/Modal'
|
import { BasicModal, useModalInner } from '@/components/Modal'
|
||||||
|
|
Loading…
Reference in New Issue