From 69fd1b6b885542d6f34b39a11f213bf4019fc05b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88?= <2960252003@qq.com> Date: Wed, 29 May 2024 10:03:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B3=E9=97=ADTS=E6=A0=A1=E9=AA=8C=E5=92=8C?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=A5=A8=E6=8D=AE=E6=9F=A5=E8=AF=A2=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 2 +- config/vite.config.dev.ts | 1 - src/api/interceptor.ts | 5 +- src/components/navbar/index.vue | 26 +- src/router/guard/permission.ts | 4 +- src/store/modules/user/index.ts | 3 +- src/utils/excel.ts | 2 - .../dashboard/workplace/components/banner.vue | 34 +- .../workplace/components/data-panel.vue | 30 +- src/views/login/components/banner.vue | 114 +++---- src/views/login/components/login-form.vue | 10 +- .../system/dept/components/dept-edit.vue | 4 +- src/views/system/dept/index.vue | 4 +- .../system/role/components/role-edit.vue | 1 - src/views/system/role/index.vue | 13 +- src/views/system/user/index.vue | 15 +- .../ticket/manage/components/form-edit.vue | 318 ++++++++++-------- .../ticket/manage/components/ticket-edit.vue | 20 +- src/views/ticket/manage/index.vue | 82 +++-- src/views/ticket/manage/locale/zh-CN.ts | 2 +- .../setting/components/basic-information.vue | 2 +- .../setting/components/password-reset.vue | 20 +- .../user/setting/components/user-panel.vue | 45 +-- 23 files changed, 368 insertions(+), 389 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index ef2005e..839eaf0 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -36,7 +36,7 @@ module.exports = { }, }, rules: { - 'prettier/prettier': 1, + 'prettier/prettier': 0, // Vue: Recommended rules to be closed or modify 'vue/require-default-prop': 0, 'vue/singleline-html-element-content-newline': 0, diff --git a/config/vite.config.dev.ts b/config/vite.config.dev.ts index 75f7f76..339cd50 100644 --- a/config/vite.config.dev.ts +++ b/config/vite.config.dev.ts @@ -14,7 +14,6 @@ export default mergeConfig( proxy: { '/api': { target: 'http://106.53.179.133:8081', - // target: 'http://192.168.243.246:8081', // target: 'http://localhost:5173', changeOrigin: true, }, diff --git a/src/api/interceptor.ts b/src/api/interceptor.ts index b9f43c9..1b4d91c 100644 --- a/src/api/interceptor.ts +++ b/src/api/interceptor.ts @@ -1,8 +1,7 @@ import axios from 'axios'; import type { AxiosRequestConfig, AxiosResponse } from 'axios'; -import { Message, Modal } from '@arco-design/web-vue'; +import { Message } from '@arco-design/web-vue'; import { getToken } from '@/utils/auth'; -import { useUserStore } from '@/store'; import router from '@/router'; export interface HttpResponse { @@ -73,7 +72,7 @@ axios.interceptors.response.use( }, (error) => { const { response } = error; - console.log('error', error); + // console.log('error', error); if (response.status === 401) { diff --git a/src/components/navbar/index.vue b/src/components/navbar/index.vue index 70ca45e..a60e01b 100644 --- a/src/components/navbar/index.vue +++ b/src/components/navbar/index.vue @@ -6,6 +6,11 @@ {{ $t('ticket.manage.system') }} @@ -107,6 +112,9 @@ +
  • + {{ userStore.permissions }} +
  • {{ @@ -153,17 +161,16 @@ import { useDark, useToggle, useFullscreen } from '@vueuse/core'; import { useAppStore, useUserStore } from '@/store'; import { LOCALE_OPTIONS } from '@/locale'; import useLocale from '@/hooks/locale'; -import useUser from '@/hooks/user'; + import Menu from '@/components/menu/index.vue'; import userIcon from '@/assets/images/user-circle.png'; import { useRouter } from 'vue-router'; import { clearToken } from '@/utils/auth'; -import MessageBox from '../message-box/index.vue'; const router = useRouter(); const appStore = useAppStore(); const userStore = useUserStore(); -const { logout } = useUser(); + const { changeLocale, currentLocale } = useLocale(); const { isFullscreen, toggle: toggleFullScreen } = useFullscreen(); const locales = [...LOCALE_OPTIONS]; @@ -192,18 +199,9 @@ const handleToggleTheme = () => { const setVisible = () => { appStore.updateSettings({ globalSettings: true }); }; -const refBtn = ref(); -const triggerBtn = ref(); -const defaultRole = ref(userStore.role?.id); -const setPopoverVisible = () => { - const event = new MouseEvent('click', { - view: window, - bubbles: true, - cancelable: true, - }); - refBtn.value.dispatchEvent(event); -}; +const triggerBtn = ref(); + const handleLogout = () => { clearToken(); router.push({ diff --git a/src/router/guard/permission.ts b/src/router/guard/permission.ts index 22221f4..2d52f2a 100644 --- a/src/router/guard/permission.ts +++ b/src/router/guard/permission.ts @@ -2,14 +2,12 @@ import type { Router, RouteRecordNormalized } from 'vue-router'; import NProgress from 'nprogress'; // progress bar import usePermission from '@/hooks/permission'; -import { useUserStore, useAppStore } from '@/store'; -import { appRoutes } from '../routes'; +import { useAppStore } from '@/store'; import { WHITE_LIST, NOT_FOUND } from '../constants'; export default function setupPermissionGuard(router: Router) { router.beforeEach(async (to, from, next) => { const appStore = useAppStore(); - const userStore = useUserStore(); const Permission = usePermission(); const permissionsAllow = Permission.accessRouter(to); diff --git a/src/store/modules/user/index.ts b/src/store/modules/user/index.ts index ba1f921..e09d793 100644 --- a/src/store/modules/user/index.ts +++ b/src/store/modules/user/index.ts @@ -6,7 +6,6 @@ import { LoginData, me, queryUserList, - UserParams, enabled, remove, create, @@ -72,7 +71,7 @@ const useUserStore = defineStore('user', { async login(loginForm: LoginData, token: string) { try { setToken(token); - const res = await userLogin(loginForm); + await userLogin(loginForm); } catch (err) { clearToken(); throw err; diff --git a/src/utils/excel.ts b/src/utils/excel.ts index fa670b2..1a6c350 100644 --- a/src/utils/excel.ts +++ b/src/utils/excel.ts @@ -2,7 +2,6 @@ import saveAs from 'file-saver'; // https://www.npmjs.com/package/file-saver import ExcelJS from 'exceljs'; // https://github.com/exceljs/exceljs/blob/master/README_zh.md -import dayjs from 'dayjs'; // https://dayjs.fenxianglu.cn/ import * as XLSX from 'xlsx'; // https://www.npmjs.com/package/xlsx import { Message } from '@arco-design/web-vue'; // https://arco.design/vue/component/message import { FileItem } from '@arco-design/web-vue/es/upload/interfaces'; // arco类型 @@ -44,7 +43,6 @@ export function downloadExcel({ columns, rows, name = '未命名文件' }: Downl // 读取文件为json格式 export function readExcle(fileItem:FileItem) { - console.log('读取文件...',fileItem); return new Promise((resove,reject)=>{ try { let workbook:XLSX.Sheet; diff --git a/src/views/dashboard/workplace/components/banner.vue b/src/views/dashboard/workplace/components/banner.vue index 82676ae..2aac36b 100644 --- a/src/views/dashboard/workplace/components/banner.vue +++ b/src/views/dashboard/workplace/components/banner.vue @@ -10,26 +10,26 @@ diff --git a/src/views/dashboard/workplace/components/data-panel.vue b/src/views/dashboard/workplace/components/data-panel.vue index 460efa5..b96dc8b 100644 --- a/src/views/dashboard/workplace/components/data-panel.vue +++ b/src/views/dashboard/workplace/components/data-panel.vue @@ -5,7 +5,7 @@ class="panel-col" :span="{ xs: 12, sm: 12, md: 12, lg: 12, xl: 12, xxl: 6 }" > - + avatar