yanzai 2 years ago
parent ee593dd12e
commit 7c3a3dcb1d

@ -1,9 +1,6 @@
import { createRouter, createWebHashHistory } from 'vue-router' import { createRouter, createWebHashHistory } from 'vue-router'
import {
usePinia
} from '@/stores/index.js'
import { ref, watch } from 'vue';
import Login from '../views/Login.vue' import Login from '../views/Login.vue'
import Index from '../views/Index.vue' import Index from '../views/Index.vue'
@ -72,31 +69,16 @@ const router = createRouter({
] ]
}) })
// 动态添加额外的路由
function addDynamicRoutes(list) {
// 通过某种条件判断是否需要添加额外的路由
// list.forEach(function(v,i){
//console.log(v.url)
router.addRoute({
path: '/a',
name: 'a',
component: HealthCalendar
})
// })
import {
GetAdminBaseMenuList
} from "@/api/api.js";
}
let pinia
router.beforeEach(async (to, from ) => { router.beforeEach(async (to, from ) => {
pinia = usePinia()
console.log(pinia.userMenu)
watch(() => pinia.userMenu, (newValue, oldValue) => {
console.log('值发生变化', newValue);
addDynamicRoutes(newValue)
});
}) })

@ -1,4 +1,4 @@
import { ref, computed } from 'vue' import { ref } from 'vue'
import { defineStore } from 'pinia' import { defineStore } from 'pinia'
export const usePinia = defineStore('usePinia', () => { export const usePinia = defineStore('usePinia', () => {
@ -8,11 +8,7 @@ export const usePinia = defineStore('usePinia', () => {
theme.value=v theme.value=v
} }
//用户菜单
const userMenu=ref([])
const setUserMenu=(v)=>{
userMenu.value=v
}
return { theme,themeChange,userMenu,setUserMenu}
return { theme,themeChange}
}) })

@ -28,7 +28,7 @@
<el-form-item> <el-form-item>
<el-tag class="ml-2" type="success" style="margin-left: 20px; margin-right: 20px;">星期</el-tag> <el-tag class="ml-2" type="success" style="margin-left: 20px; margin-right: 20px;">星期</el-tag>
<el-checkbox-group v-model="searchInfo.xingqi"> <el-checkbox-group v-model="searchInfo.xingqi">
<el-checkbox v-for="(item, index) in xingqi" :label="item.value">{{ item.label }}</el-checkbox> <el-checkbox v-for="(item, index) in xingqi" :key="index" :label="item.value">{{ item.label }}</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
<el-button type="primary" style="margin-left: 20px;" @click="getList"></el-button> <el-button type="primary" style="margin-left: 20px;" @click="getList"></el-button>
</el-form-item> </el-form-item>
@ -88,7 +88,7 @@
</el-form-item> </el-form-item>
<el-form-item label="星期" prop="xingqi"> <el-form-item label="星期" prop="xingqi">
<el-checkbox-group v-model="info.xingqi"> <el-checkbox-group v-model="info.xingqi">
<el-checkbox v-for="(item, index) in xingqi" :label="item.value">{{ item.label }}</el-checkbox> <el-checkbox v-for="(item, index) in xingqi" :key="index" :label="item.value">{{ item.label }}</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
<el-form-item label="日期" prop="dateRange"> <el-form-item label="日期" prop="dateRange">
@ -144,7 +144,6 @@
<script setup> <script setup>
import { import {
ref, ref,
reactive,
onMounted onMounted
} from 'vue' } from 'vue'
import { import {

@ -41,13 +41,13 @@
<script setup> <script setup>
import { import {
Login,GetAdminBaseMenuList Login
} from "@/api/api.js"; } from "@/api/api.js";
import { import {
ElMessage ElMessage
} from 'element-plus' } from 'element-plus'
import { import {
ref,watch,onMounted ref
} from 'vue' } from 'vue'
import { Lock, User } from '@element-plus/icons-vue' import { Lock, User } from '@element-plus/icons-vue'
import { import {
@ -56,25 +56,14 @@
import { import {
useDark useDark
} from "@vueuse/core"; } from "@vueuse/core";
import {
usePinia
} from '@/stores/index.js'
const pinia=usePinia()
const isDark = useDark() const isDark = useDark()
const toggleDark = () => useToggle(isDark) const toggleDark = () => useToggle(isDark)
let username = ref('') let username = ref('')
let pwd = ref('') let pwd = ref('')
let GetMenu=()=>{
GetAdminBaseMenuList().then(res=>{
// console.log(res)
pinia.setUserMenu(res.list)
console.log(pinia.userMenu)
// })
})
}
let login = () => { // let login = () => { //
if (username.value == '' || pwd.value == '') return ElMessage.error('用户名和密码不能为空') if (username.value == '' || pwd.value == '') return ElMessage.error('用户名和密码不能为空')
let data = { // let data = { //
@ -92,8 +81,8 @@
// sessionStorage.setItem('tk', JSON.stringify(res.data.tk)); // sessionStorage.setItem('tk', JSON.stringify(res.data.tk));
var token = sessionStorage.getItem('token'); var token = sessionStorage.getItem('token');
if (token == res.data.token) { if (token == res.data.token) {
GetMenu()
//window.location.href = "./#/dashboard" window.location.href = "./#/dashboard"
} }

Loading…
Cancel
Save