我的任务列表修改

This commit is contained in:
2026-10-08 11:17:23 +08:00
parent 2e9b20d559
commit 3d1f91e814
5 changed files with 44 additions and 5 deletions
@@ -8,6 +8,7 @@ import GlobalBreadcrumb from '../global-breadcrumb/index.vue';
import GlobalSearch from '../global-search/index.vue';
import ThemeButton from './components/theme-button.vue';
import UserAvatar from './components/user-avatar.vue';
import GlobalMessage from '../global-message/index.vue';
defineOptions({
name: 'GlobalHeader'
@@ -40,6 +41,7 @@ const { isFullscreen, toggle } = useFullscreen();
<div class="h-full flex-y-center justify-end">
<GlobalSearch v-if="themeStore.header.globalSearch.visible" />
<FullScreen v-if="!appStore.isMobile" :full="isFullscreen" @click="toggle" />
<!-- <GlobalMessage /> -->
<LangSwitch
v-if="themeStore.header.multilingual.visible"
:lang="appStore.locale"
@@ -0,0 +1,31 @@
<script lang="ts" setup>
import { ref } from 'vue'
defineOptions({ name: 'GlobalMessage' });
const value = ref('')
</script>
<template>
<NPopover trigger="hover">
<template #trigger>
<NButton quaternary><icon-bi:bell class="size-4.5" /></NButton>
</template>
<div class="w-300px">
<div class="flex items-center justify-between">
<span>消息</span>
<NButton text type="primary" size="small" class="text-xs">查看全部</NButton>
</div>
<div class="border-t border-b my-1.5 px-2 py-2 space-y-2">
<div class="max-h-200px overflow-y-auto">
<div>联锁绑定导入成功</div>
<div>联锁绑定导入成功</div>
</div>
</div>
<div class="flex justify-end">
<NButton text type="primary" size="small" class="text-xs">全部已读</NButton>
</div>
</div>
</NPopover>
</template>
<style lang="scss" scoped></style>
+1 -1
View File
@@ -48,7 +48,7 @@ const local: App.I18n.Schema = {
yesOrNo: {
yes: '是',
no: '否'
}
},
},
request: {
logout: '请求失败后登出用户',
+6
View File
@@ -23,6 +23,7 @@ declare module 'vue' {
GithubLink: typeof import('./../components/custom/github-link.vue')['default']
IconAntDesignEnterOutlined: typeof import('~icons/ant-design/enter-outlined')['default']
IconAntDesignReloadOutlined: typeof import('~icons/ant-design/reload-outlined')['default']
'IconBi:bell': typeof import('~icons/bi/bell')['default']
IconGridiconsFullscreen: typeof import('~icons/gridicons/fullscreen')['default']
IconGridiconsFullscreenExit: typeof import('~icons/gridicons/fullscreen-exit')['default']
IconMdiArrowDownThin: typeof import('~icons/mdi/arrow-down-thin')['default']
@@ -30,6 +31,7 @@ declare module 'vue' {
IconMdiKeyboardEsc: typeof import('~icons/mdi/keyboard-esc')['default']
IconMdiKeyboardReturn: typeof import('~icons/mdi/keyboard-return')['default']
IconTooltip: typeof import('./../components/common/icon-tooltip.vue')['default']
IconUilBell: typeof import('~icons/uil/bell')['default']
IconUilSearch: typeof import('~icons/uil/search')['default']
LangSwitch: typeof import('./../components/common/lang-switch.vue')['default']
LookForward: typeof import('./../components/custom/look-forward.vue')['default']
@@ -71,6 +73,7 @@ declare module 'vue' {
NPagination: typeof import('naive-ui')['NPagination']
NPopconfirm: typeof import('naive-ui')['NPopconfirm']
NPopover: typeof import('naive-ui')['NPopover']
NPopselect: typeof import('naive-ui')['NPopselect']
NProgress: typeof import('naive-ui')['NProgress']
NRadio: typeof import('naive-ui')['NRadio']
NRadioGroup: typeof import('naive-ui')['NRadioGroup']
@@ -118,6 +121,7 @@ declare global {
const GithubLink: typeof import('./../components/custom/github-link.vue')['default']
const IconAntDesignEnterOutlined: typeof import('~icons/ant-design/enter-outlined')['default']
const IconAntDesignReloadOutlined: typeof import('~icons/ant-design/reload-outlined')['default']
const 'IconBi:bell': typeof import('~icons/bi/bell')['default']
const IconGridiconsFullscreen: typeof import('~icons/gridicons/fullscreen')['default']
const IconGridiconsFullscreenExit: typeof import('~icons/gridicons/fullscreen-exit')['default']
const IconMdiArrowDownThin: typeof import('~icons/mdi/arrow-down-thin')['default']
@@ -125,6 +129,7 @@ declare global {
const IconMdiKeyboardEsc: typeof import('~icons/mdi/keyboard-esc')['default']
const IconMdiKeyboardReturn: typeof import('~icons/mdi/keyboard-return')['default']
const IconTooltip: typeof import('./../components/common/icon-tooltip.vue')['default']
const IconUilBell: typeof import('~icons/uil/bell')['default']
const IconUilSearch: typeof import('~icons/uil/search')['default']
const LangSwitch: typeof import('./../components/common/lang-switch.vue')['default']
const LookForward: typeof import('./../components/custom/look-forward.vue')['default']
@@ -166,6 +171,7 @@ declare global {
const NPagination: typeof import('naive-ui')['NPagination']
const NPopconfirm: typeof import('naive-ui')['NPopconfirm']
const NPopover: typeof import('naive-ui')['NPopover']
const NPopselect: typeof import('naive-ui')['NPopselect']
const NProgress: typeof import('naive-ui')['NProgress']
const NRadio: typeof import('naive-ui')['NRadio']
const NRadioGroup: typeof import('naive-ui')['NRadioGroup']
+4 -4
View File
@@ -393,24 +393,24 @@ onMounted(() => {
</div>
<!-- 右区 -->
<!-- 去审批 -->
<div v-if="c.todo" class="flex gap-1.5">
<div v-if="c.todo" class="flex gap-3">
<NButton class="text-xs" text type="primary" @click="goApproval(c)">去审批</NButton>
</div>
<!-- 审批中 -->
<div v-if="c.status === 'APPROVING'" class="flex gap-1.5">
<div v-if="c.status === 'APPROVING'" class="flex gap-3">
<NButton class="text-xs" text type="primary" @click="openDetail(c,'detail')">详情</NButton>
<NButton class="text-xs" text type="warning" @click="openProgress(c)">进度</NButton>
<NButton class="text-xs" text type="error" @click="openWithdraw(c)">撤回</NButton>
</div>
<!-- 审批通过 -->
<div v-if="c.status === 'APPROVED'" class="flex gap-1.5">
<div v-if="c.status === 'APPROVED'" class="flex gap-3">
<NButton class="text-xs" text type="primary" @click="openDetail(c,'detail')">详情</NButton>
<NButton class="text-xs" text type="warning" @click="openProgress(c)">进度</NButton>
<NButton class="text-xs" text type="primary" @click="openDisposal(c)">处置申请</NButton>
<NButton class="text-xs" text type="error" @click="openDocClose(c)">资料关闭</NButton>
</div>
<!-- 驳回处理 -->
<div v-if="c.status === 'REJECTED'" class="flex gap-1.5">
<div v-if="c.status === 'REJECTED'" class="flex gap-3">
<NButton class="text-xs" text type="primary" @click="openDetail(c,'detail')">详情</NButton>
<NButton class="text-xs" text type="warning" @click="openProgress(c)">进度</NButton>
<NButton class="text-xs" text type="primary" @click="openDetail(c,'edit')">修改重报</NButton>