diff --git a/README.md b/README.md index bba4d1c..31d1137 100644 --- a/README.md +++ b/README.md @@ -98,10 +98,10 @@ vue-admin-perfect └─ vite.config.ts # vite 配置 ``` -### 十、微信交流群 +### 微信交流群 | 微信二维码 | | :----------------------------------------------------------------------------------: | -| | +| | diff --git a/package-lock.json b/package-lock.json index 475a3a6..ae07cd7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "default-passive-events": "^2.0.0", "echarts": "^5.3.1", "echarts-liquidfill": "^3.1.0", - "element-plus": "^2.2.20", + "element-plus": "^2.2.21", "exceljs": "^4.3.0", "file-saver": "^2.0.5", "fuse.js": "^6.6.2", @@ -2445,9 +2445,9 @@ "license": "MIT" }, "node_modules/element-plus": { - "version": "2.2.20", - "resolved": "https://r.cnpmjs.org/element-plus/-/element-plus-2.2.20.tgz", - "integrity": "sha512-ludShd3f5kNRY4FLzeoNitLcwZ4qs2M/zwKeyeE7rUzZJAQ0BZtcT3SvZoEoBLmgxw9jHoonl4WIwon4UzhyRA==", + "version": "2.2.21", + "resolved": "https://r.cnpmjs.org/element-plus/-/element-plus-2.2.21.tgz", + "integrity": "sha512-wZUePoXZ1zuCkzENK/8mn+mekuLJ9OoGYiudjUujzCf+T8HfOQl+TKQStwOkGBNk93fK8e9YdFIty4jH4AX6dg==", "dependencies": { "@ctrl/tinycolor": "^3.4.1", "@element-plus/icons-vue": "^2.0.6", @@ -9942,9 +9942,9 @@ "integrity": "sha512-bMX/nPADfY8Mgs70kG+SGJ4vo7GCOsQaFVhUHG738gzRG6OrKCp2ZbV63LE5jsgEh8tDqxvXvLeslel5HF6lrA==" }, "element-plus": { - "version": "2.2.20", - "resolved": "https://r.cnpmjs.org/element-plus/-/element-plus-2.2.20.tgz", - "integrity": "sha512-ludShd3f5kNRY4FLzeoNitLcwZ4qs2M/zwKeyeE7rUzZJAQ0BZtcT3SvZoEoBLmgxw9jHoonl4WIwon4UzhyRA==", + "version": "2.2.21", + "resolved": "https://r.cnpmjs.org/element-plus/-/element-plus-2.2.21.tgz", + "integrity": "sha512-wZUePoXZ1zuCkzENK/8mn+mekuLJ9OoGYiudjUujzCf+T8HfOQl+TKQStwOkGBNk93fK8e9YdFIty4jH4AX6dg==", "requires": { "@ctrl/tinycolor": "^3.4.1", "@element-plus/icons-vue": "^2.0.6", diff --git a/package.json b/package.json index e8290b3..637ef38 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "default-passive-events": "^2.0.0", "echarts": "^5.3.1", "echarts-liquidfill": "^3.1.0", - "element-plus": "^2.2.20", + "element-plus": "^2.2.21", "exceljs": "^4.3.0", "file-saver": "^2.0.5", "fuse.js": "^6.6.2", diff --git a/src/assets/mp4/2.mp4 b/src/assets/mp4/2.mp4 deleted file mode 100644 index e69de29..0000000 diff --git a/src/assets/mp4/3.jpeg b/src/assets/mp4/3.jpeg deleted file mode 100644 index e69de29..0000000 diff --git a/src/components/Hamburger/index.vue b/src/components/Hamburger/index.vue deleted file mode 100644 index 83e5ea2..0000000 --- a/src/components/Hamburger/index.vue +++ /dev/null @@ -1,30 +0,0 @@ - - - - diff --git a/src/layout/Header/components/Hamburger.vue b/src/layout/Header/components/Hamburger.vue new file mode 100644 index 0000000..d83ee15 --- /dev/null +++ b/src/layout/Header/components/Hamburger.vue @@ -0,0 +1,38 @@ + + + + diff --git a/src/layout/Header/index.vue b/src/layout/Header/index.vue index cd158a0..b0b314e 100644 --- a/src/layout/Header/index.vue +++ b/src/layout/Header/index.vue @@ -31,7 +31,7 @@ import { UserFilled } from '@element-plus/icons-vue' import TagViews from '../TagsView/index.vue' import GlobalComSize from './components/globalComSize.vue' - import Hamburger from '@/components/Hamburger/index.vue' + import Hamburger from './components/Hamburger.vue' import Setting from './components/Setting.vue' import ScreenFull from './components/ScreenFull.vue' import Remind from './components/Remind' diff --git a/src/layout/TagsView/index.vue b/src/layout/TagsView/index.vue index 3720abd..fafc220 100644 --- a/src/layout/TagsView/index.vue +++ b/src/layout/TagsView/index.vue @@ -155,6 +155,7 @@ const removeTab = async (activeTabPath: string) => { } .el-tabs__header .el-tabs__item { border: none; + color: #cccccc; } .el-tabs__header .el-tabs__item.is-active { color: $primaryColor; diff --git a/src/mock/system.ts b/src/mock/system.ts index d81bcee..1513a02 100644 --- a/src/mock/system.ts +++ b/src/mock/system.ts @@ -6,7 +6,8 @@ export const userData =[ role:'超级管理员', status:true, photo:'15333333333', - describe:'超级管理员不可删除' + describe:'超级管理员不可删除', + createTime:'2022-09-02 15:30:20', }, { username:'zhangsan', @@ -15,7 +16,8 @@ export const userData =[ role:'管理员', status:true, photo:'15311111111', - describe:'管理员不可删除' + describe:'管理员不可删除', + createTime:'2022-09-02 15:30:20', }, { username:'lisi', @@ -24,7 +26,8 @@ export const userData =[ role:'管理员', status:true, photo:'13823456789', - describe:'测试账户' + describe:'测试账户', + createTime:'2022-09-02 15:30:20', }, { username:'wangwu', @@ -33,7 +36,8 @@ export const userData =[ role:'超级管理员', status:false, photo:'13923456789', - describe:'超级管理员不可删除' + describe:'超级管理员不可删除', + createTime:'2022-09-02 15:30:20', }, { username:'zhaoliu', @@ -42,7 +46,8 @@ export const userData =[ role:'普通用户', status:false, photo:'14523456789', - describe:'普通测试用户' + describe:'普通测试用户', + createTime:'2022-09-02 15:30:20', }, ] @@ -54,21 +59,21 @@ export const roleData =[ roleId:'admin', roleIdentification:'admin', describe:'这是超级管理员,拥有一切权限', - createTime:'2022-09-02', + createTime:'2022-09-02 15:30:20', }, { roleName:'管理员', roleId:'role', roleIdentification:'admin', describe:'普通管理员', - createTime:'2022-09-02', + createTime:'2022-09-02 15:30:20', }, { roleName:'普通用户', roleId:'other', describe:'测试用户', roleIdentification:'other', - createTime:'2022-09-02', + createTime:'2022-09-02 15:30:20', }, ] diff --git a/src/router/index.ts b/src/router/index.ts index 5c930d6..f1607d4 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -71,7 +71,7 @@ export const constantRoutes: Array = [ path: '/home', component: () => import('@/views/home/index.vue'), name: 'home', - meta: { title: '首页', icon: 'film', affix: true ,role:['other']} + meta: { title: '首页', icon: 'House', affix: true ,role:['other']} }, ] }, diff --git a/src/router/modules/other.ts b/src/router/modules/other.ts index 6241179..f44d506 100644 --- a/src/router/modules/other.ts +++ b/src/router/modules/other.ts @@ -5,7 +5,7 @@ import Layout from '@/layout/index.vue' const othersRouter = [{ path: '/other', component: Layout, - redirect: '/other/editor', + redirect: '/other/clipboard', name: 'other', meta: { title: '常用组件', diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index 96b323e..bae7f13 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -9,7 +9,7 @@ const systemRouter = [{ name: 'system', meta: { title: '系统管理', - icon: 'ElementPlus', + icon: 'Setting', roles:['other'] }, children: [ diff --git a/src/views/system/menu/components/MenuDrawer.vue b/src/views/system/menu/components/MenuDrawer.vue new file mode 100644 index 0000000..ac9425f --- /dev/null +++ b/src/views/system/menu/components/MenuDrawer.vue @@ -0,0 +1,96 @@ + + + diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue index 596714f..3f4619e 100644 --- a/src/views/system/menu/index.vue +++ b/src/views/system/menu/index.vue @@ -1,19 +1,22 @@ @@ -75,59 +46,26 @@ import { reactive, ref } from 'vue' import {Search } from '@element-plus/icons-vue' import { menuData } from '@/mock/system' - import * as dayjs from 'dayjs' + import MenuDrawer from './components/MenuDrawer.vue' + const tableData = ref(menuData) - const dialogVisible = ref(false) const title = ref('新增') - const formSize = ref('default') + const menuDrawerRef = ref() const ruleFormRef = ref() - const ruleFormRef1 = ref() const formInline = reactive({}) - const props1 = { - value: 'menuName', - label: 'menuName', - checkStrictly: true, - } - const rules = reactive({ - nickname: [ - { required: true, message: '请输入昵称', trigger: 'blur' }, - { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }, - ], - username: [{ required: true, message: '请输入', trigger: 'blur' }], - role: [ - { - required: true, - message: '请选择角色', - trigger: 'change', - }, - ], - sex: [ - { - required: true, - message: '请选择性别', - trigger: 'change', - }, - ], - }) + const reset = (formEl: FormInstance | undefined) => {} + const onSubmit = () => { console.log('submit!', formInline) } - const reset = (formEl: FormInstance | undefined) => {} + const add = () => { - title.value = '新增' - dialogVisible.value = true - } - const ruleForm = reactive({ - name: '', - sex: null, - price: null, - }) - const edit = (row) => { - title.value = '编辑' - // rowObj.value = row - dialogVisible.value = true + menuDrawerRef.value.show() } + const edit = (row) => { + menuDrawerRef.value.show(row) + } const del = (row) => { ElMessageBox.confirm('你确定要删除当前项吗?', '温馨提示', { confirmButtonText: '确定', @@ -138,6 +76,7 @@ .then(() => {}) .catch(() => {}) } + const changeStatus = (row) => { ElMessageBox.confirm( `确定要${!row.status ? '禁用' : '启用'} ${row.username} 账户吗?`, @@ -154,16 +93,7 @@ }) } - const handleClose = async (done: () => void) => { - await ruleFormRef.value.validate((valid, fields) => { - if (valid) { - dialogVisible.value = false - console.log('submit!', obj) - } else { - console.log('error submit!', fields) - } - }) - } +