diff --git a/CHANGELOG.md b/CHANGELOG.md
index f6e9a61..c727b8f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,10 @@
🎉🎉🔥 `vue-next-admin-template` 基于 (vue-next-admin-v1.1.2 版本) vue3.x 、Typescript、vite、Element plus 等,适配手机、平板、pc 的后台开源免费模板库(vue2.x 请切换 vue-prev-admin 分支)
+## 2.0.2
+
+- 🎉 同步 master 分支 v2.0.2 版本内容,具体查看 master CHANGELOG.md
+
## 0.2.2
`2021.12.21`
diff --git a/README.md b/README.md
index 2490c31..0437481 100644
--- a/README.md
+++ b/README.md
@@ -82,18 +82,22 @@ cnpm run build
#### 💯 学习交流加 QQ 群
-- 若加群了没同意(一般不会超过一天),那就是群满了,请换一个群试试
+- 若加群了没同意(一般秒过),那就是群满了(500 人群),请换一个群试试,3 群未满
- 查看开发文档、vue-next-admin 开发文档正在编写中...
- 群号码:
1 群:665452019
2 群:766356862
+ 3 群:795345435
-
+
+
+
+
#### ❤️ 鸣谢列表
diff --git a/package.json b/package.json
index f2c9d84..ea7659b 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "vue-next-admin-template",
- "version": "0.2.2",
+ "version": "2.0.3",
"description": "vue3 vite next admin template",
"author": "lyt_20201208",
"license": "MIT",
@@ -10,38 +10,38 @@
"lint-fix": "eslint --fix --ext .js --ext .jsx --ext .vue src/"
},
"dependencies": {
- "@element-plus/icons-vue": "^0.2.4",
- "axios": "^0.24.0",
- "echarts": "^5.2.2",
- "element-plus": "^1.2.0-beta.6",
+ "@element-plus/icons-vue": "^1.0.0",
+ "axios": "^0.26.0",
+ "echarts": "^5.3.0",
+ "element-plus": "^2.0.4",
"mitt": "^3.0.0",
"nprogress": "^0.2.0",
"qrcodejs2-fixes": "^0.0.2",
- "screenfull": "^6.0.0",
+ "screenfull": "^6.0.1",
"sortablejs": "^1.14.0",
- "vue": "^3.2.20",
+ "vue": "^3.2.31",
"vue-clipboard3": "^1.0.1",
- "vue-router": "^4.0.12",
+ "vue-router": "^4.0.13",
"vuex": "^4.0.2"
},
"devDependencies": {
"@types/axios": "^0.14.0",
"@types/clipboard": "^2.0.1",
- "@types/node": "^17.0.2",
+ "@types/node": "^17.0.21",
"@types/nprogress": "^0.2.0",
- "@typescript-eslint/eslint-plugin": "^5.8.0",
- "@typescript-eslint/parser": "^5.8.0",
- "@vitejs/plugin-vue": "^2.0.1",
- "@vue/compiler-sfc": "^3.2.26",
- "dotenv": "^10.0.0",
- "eslint": "^8.5.0",
- "eslint-plugin-vue": "^8.2.0",
+ "@typescript-eslint/eslint-plugin": "^5.13.0",
+ "@typescript-eslint/parser": "^5.13.0",
+ "@vitejs/plugin-vue": "^2.2.4",
+ "@vue/compiler-sfc": "^3.2.31",
+ "dotenv": "^16.0.0",
+ "eslint": "^8.10.0",
+ "eslint-plugin-vue": "^8.5.0",
"prettier": "^2.5.1",
- "sass": "^1.45.1",
- "sass-loader": "^12.4.0",
- "typescript": "^4.5.4",
- "vite": "^2.7.4",
- "vue-eslint-parser": "^8.0.1"
+ "sass": "^1.49.9",
+ "sass-loader": "^12.6.0",
+ "typescript": "^4.6.2",
+ "vite": "^2.8.6",
+ "vue-eslint-parser": "^8.3.0"
},
"browserslist": [
"> 1%",
diff --git a/plugins.d.ts b/plugins.d.ts
index 8578ca4..57d1f32 100644
--- a/plugins.d.ts
+++ b/plugins.d.ts
@@ -1 +1,3 @@
declare module 'vue-grid-layout';
+declare module 'sortablejs';
+declare module 'qrcodejs2-fixes';
diff --git a/src/App.vue b/src/App.vue
index f840c80..d4d00f7 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,14 +1,17 @@
-
-
-
-
+
+
+
+
+
+
diff --git a/src/components/svgIcon/index.vue b/src/components/svgIcon/index.vue
index b3b6304..d80a2f2 100644
--- a/src/components/svgIcon/index.vue
+++ b/src/components/svgIcon/index.vue
@@ -1,7 +1,15 @@
diff --git a/src/layout/component/aside.vue b/src/layout/component/aside.vue
index d8714eb..b5a3309 100644
--- a/src/layout/component/aside.vue
+++ b/src/layout/component/aside.vue
@@ -10,23 +10,19 @@
diff --git a/src/layout/component/columnsAside.vue b/src/layout/component/columnsAside.vue
index bdd02d0..8b7e9ec 100644
--- a/src/layout/component/columnsAside.vue
+++ b/src/layout/component/columnsAside.vue
@@ -43,19 +43,32 @@
diff --git a/src/layout/index.vue b/src/layout/index.vue
index 237d1b0..8d13cd3 100644
--- a/src/layout/index.vue
+++ b/src/layout/index.vue
@@ -1,23 +1,21 @@
-
-
-
-
+
diff --git a/src/layout/lockScreen/index.vue b/src/layout/lockScreen/index.vue
index bf6669c..a992dc9 100644
--- a/src/layout/lockScreen/index.vue
+++ b/src/layout/lockScreen/index.vue
@@ -20,7 +20,7 @@
{{ time.mdq }}
@@ -41,7 +41,7 @@
-
+
@@ -49,9 +49,9 @@
-
-
-
+
+
+
@@ -64,13 +64,33 @@ import { nextTick, onMounted, reactive, toRefs, ref, onUnmounted, getCurrentInst
import { useStore } from '/@/store/index';
import { formatDate } from '/@/utils/formatTime';
import { Local } from '/@/utils/storage';
+
+// 定义接口来定义对象的类型
+interface LockScreenState {
+ transparency: number;
+ downClientY: number;
+ moveDifference: number;
+ isShowLoockLogin: boolean;
+ isFlags: boolean;
+ querySelectorEl: HTMLElement | string;
+ time: {
+ hm: string;
+ s: string;
+ mdq: string;
+ };
+ setIntervalTime: number;
+ isShowLockScreen: boolean;
+ isShowLockScreenIntervalTime: number;
+ lockScreenPassword: string;
+}
+
export default defineComponent({
name: 'layoutLockScreen',
setup() {
- const { proxy } = getCurrentInstance() as any;
+ const { proxy } = getCurrentInstance();
const layoutLockScreenInputRef = ref();
const store = useStore();
- const state: any = reactive({
+ const state = reactive({
transparency: 1,
downClientY: 0,
moveDifference: 0,
@@ -95,7 +115,7 @@ export default defineComponent({
// 鼠标移动
const onMove = (move: any) => {
if (state.isFlags) {
- const el = state.querySelectorEl;
+ const el = state.querySelectorEl;
const opacitys = (state.transparency -= 1 / 200);
if (move.touches) {
state.moveDifference = move.touches[0].clientY - state.downClientY;
@@ -122,7 +142,7 @@ export default defineComponent({
state.isFlags = false;
state.transparency = 1;
if (state.moveDifference >= -400) {
- state.querySelectorEl.setAttribute('style', `top:0px;opacity:1;transition:all 0.3s ease;`);
+ (state.querySelectorEl).setAttribute('style', `top:0px;opacity:1;transition:all 0.3s ease;`);
}
};
// 获取要拖拽的初始元素
diff --git a/src/layout/logo/index.vue b/src/layout/logo/index.vue
index f0b24d2..ff727d9 100644
--- a/src/layout/logo/index.vue
+++ b/src/layout/logo/index.vue
@@ -1,20 +1,21 @@
-

+
{{ getThemeConfig.globalTitle }}
-

+
diff --git a/src/layout/navBars/breadcrumb/closeFull.vue b/src/layout/navBars/breadcrumb/closeFull.vue
index 6599e4f..8332676 100644
--- a/src/layout/navBars/breadcrumb/closeFull.vue
+++ b/src/layout/navBars/breadcrumb/closeFull.vue
@@ -1,19 +1,18 @@
diff --git a/src/layout/navBars/breadcrumb/search.vue b/src/layout/navBars/breadcrumb/search.vue
index bfd92b4..22b6f22 100644
--- a/src/layout/navBars/breadcrumb/search.vue
+++ b/src/layout/navBars/breadcrumb/search.vue
@@ -11,7 +11,7 @@
>
-
+
@@ -26,13 +26,27 @@
import { reactive, toRefs, defineComponent, ref, nextTick } from 'vue';
import { useRouter } from 'vue-router';
import { useStore } from '/@/store/index';
+
+// 定义接口来定义对象的类型
+interface SearchState {
+ isShowSearch: boolean;
+ menuQuery: string;
+ tagsViewList: object[];
+}
+interface Restaurant {
+ path: string;
+ meta: {
+ title: string;
+ };
+}
+
export default defineComponent({
name: 'layoutBreadcrumbSearch',
setup() {
const layoutMenuAutocompleteRef = ref();
const store = useStore();
const router = useRouter();
- const state: any = reactive({
+ const state = reactive({
isShowSearch: false,
menuQuery: '',
tagsViewList: [],
@@ -51,13 +65,13 @@ export default defineComponent({
state.isShowSearch = false;
};
// 菜单搜索数据过滤
- const menuSearch = (queryString: any, cb: any) => {
+ const menuSearch = (queryString: string, cb: Function) => {
let results = queryString ? state.tagsViewList.filter(createFilter(queryString)) : state.tagsViewList;
cb(results);
};
// 菜单搜索过滤
- const createFilter = (queryString: any) => {
- return (restaurant: any) => {
+ const createFilter: any = (queryString: string) => {
+ return (restaurant: Restaurant) => {
return (
restaurant.path.toLowerCase().indexOf(queryString.toLowerCase()) > -1 ||
restaurant.meta.title.toLowerCase().indexOf(queryString.toLowerCase()) > -1
diff --git a/src/layout/navBars/breadcrumb/setings.vue b/src/layout/navBars/breadcrumb/setings.vue
index 0b9d34f..3a25346 100644
--- a/src/layout/navBars/breadcrumb/setings.vue
+++ b/src/layout/navBars/breadcrumb/setings.vue
@@ -1,102 +1,99 @@
-
+
全局主题
-
-
success
+
-
-
-
-
-
菜单 / 顶栏
+
+
顶栏设置
-
-
-
-
+
+
+
菜单设置
+
+
-
+
+
+
分栏设置
+
+
+
-
@@ -105,32 +102,37 @@
@@ -142,7 +144,7 @@
:min="1"
:max="9999"
@change="setLocalThemeConfig"
- size="mini"
+ size="default"
style="width: 90px"
>
@@ -154,7 +156,7 @@
@@ -173,73 +176,72 @@
-
@@ -248,37 +250,50 @@
-
+
-
+
分栏布局风格
-
+
@@ -355,15 +370,15 @@
-
-
-
+
+
+
一键复制配置
-
-
-
+
+
+
一键恢复默认
@@ -376,7 +391,7 @@
diff --git a/src/views/login/component/scan.vue b/src/views/login/component/scan.vue
index b50038c..b78ffcd 100644
--- a/src/views/login/component/scan.vue
+++ b/src/views/login/component/scan.vue
@@ -1,21 +1,21 @@
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index b0d9547..7e7c40a 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -1,114 +1,148 @@
-
-
{{ getThemeConfig.globalViceTitle }}
+
+
+
![]()
+
{{ getThemeConfig.globalViceTitle }}
+
+
-
+
-
{{ getThemeConfig.globalTitle }}后台模板
+
{{ getThemeConfig.globalTitle }}后台模板
-
-
-
-
-
+
+
+
-
-
-
-
+
+
-
- 第三方登录
- 友情链接
-
-
+
-
-
版权所有:深圳市xxx软件科技有限公司
-
Copyright: Shenzhen XXX Software Technology 粤ICP备05010000号
-
diff --git a/src/views/system/dept/component/addDept.vue b/src/views/system/dept/component/addDept.vue
index ce7e5fd..e4063e4 100644
--- a/src/views/system/dept/component/addDept.vue
+++ b/src/views/system/dept/component/addDept.vue
@@ -1,7 +1,7 @@
-
+
@@ -59,8 +59,8 @@
@@ -68,11 +68,37 @@
diff --git a/src/views/system/dept/component/editDept.vue b/src/views/system/dept/component/editDept.vue
index 8e9d279..7b16f44 100644
--- a/src/views/system/dept/component/editDept.vue
+++ b/src/views/system/dept/component/editDept.vue
@@ -1,7 +1,7 @@
-
+
@@ -59,8 +59,8 @@
@@ -68,11 +68,38 @@
diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue
index 5f0beaf..ab793d2 100644
--- a/src/views/system/dept/index.vue
+++ b/src/views/system/dept/index.vue
@@ -2,16 +2,16 @@
-
-
+
+
-
+
查询
-
+
-
+
新增部门
@@ -39,9 +39,9 @@
- 新增
- 修改
- 删除
+ 新增
+ 修改
+ 删除
@@ -52,17 +52,40 @@
diff --git a/src/views/system/dic/component/addDic.vue b/src/views/system/dic/component/addDic.vue
index a794e53..25158c5 100644
--- a/src/views/system/dic/component/addDic.vue
+++ b/src/views/system/dic/component/addDic.vue
@@ -2,7 +2,7 @@
-
+
@@ -24,14 +24,14 @@
-
+
-
+
-
+
-
+
字段
@@ -55,8 +55,8 @@
@@ -64,8 +64,8 @@
diff --git a/src/views/system/dic/component/editDic.vue b/src/views/system/dic/component/editDic.vue
index 75a6e17..66b0365 100644
--- a/src/views/system/dic/component/editDic.vue
+++ b/src/views/system/dic/component/editDic.vue
@@ -2,7 +2,7 @@
-
+
@@ -24,14 +24,14 @@
-
+
-
+
-
+
-
+
字段
@@ -55,8 +55,8 @@
@@ -64,11 +64,31 @@
diff --git a/src/views/system/dic/index.vue b/src/views/system/dic/index.vue
index 6be9af5..b5b80a6 100644
--- a/src/views/system/dic/index.vue
+++ b/src/views/system/dic/index.vue
@@ -2,16 +2,16 @@
-
-
+
+
-
+
查询
-
+
-
+
新增字典
@@ -30,8 +30,8 @@
- 修改
- 删除
+ 修改
+ 删除
@@ -55,17 +55,38 @@
-
-
diff --git a/src/views/system/menu/component/addMenu.vue b/src/views/system/menu/component/addMenu.vue
index 01ac32e..ef74c43 100644
--- a/src/views/system/menu/component/addMenu.vue
+++ b/src/views/system/menu/component/addMenu.vue
@@ -1,7 +1,7 @@