Compare commits
2 Commits
8c6cd6a42a
...
3386655898
| Author | SHA1 | Date |
|---|---|---|
|
|
3386655898 | |
|
|
3c3578417e |
|
|
@ -9,6 +9,6 @@ enum Api {
|
|||
* @description: Get user menu based on id
|
||||
*/
|
||||
|
||||
export const getMenuList = () => {
|
||||
return defHttp.get<getMenuListResultModel>({ url: Api.GetMenuList });
|
||||
export const getMenuList = (params) => {
|
||||
return defHttp.get<getMenuListResultModel>({ url: Api.GetMenuList, params });
|
||||
};
|
||||
|
|
|
|||
|
|
@ -246,24 +246,45 @@
|
|||
:pagination="false"
|
||||
v-if="node.formType == 1"
|
||||
>
|
||||
<template #headerCell="{ column }">
|
||||
<template v-if="column.dataIndex === 'required'">
|
||||
<a-checkbox v-model:checked="requiredCheck" @change="handleChangeCheck('required',$event)">{{column.title}}</a-checkbox>
|
||||
<template #headerCell="{ column }">
|
||||
<template v-if="column.dataIndex === 'upShow'">
|
||||
<a-checkbox
|
||||
v-model:checked="upShowCheck"
|
||||
@change="handleChangeCheck('upShow', $event)"
|
||||
>{{ column.title }}</a-checkbox
|
||||
>
|
||||
</template>
|
||||
<template v-if="column.dataIndex === 'required'">
|
||||
<a-checkbox
|
||||
v-model:checked="requiredCheck"
|
||||
@change="handleChangeCheck('required', $event)"
|
||||
>{{ column.title }}</a-checkbox
|
||||
>
|
||||
</template>
|
||||
<template v-if="column.dataIndex === 'disabled'">
|
||||
<a-checkbox
|
||||
v-model:checked="disabledCheck"
|
||||
@change="handleChangeCheck('disabled', $event)"
|
||||
>{{ column.title }}</a-checkbox
|
||||
>
|
||||
</template>
|
||||
<template v-if="column.dataIndex === 'ifShow'">
|
||||
<a-checkbox
|
||||
v-model:checked="ifShowCheck"
|
||||
@change="handleChangeCheck('ifShow', $event)"
|
||||
>{{ column.title }}</a-checkbox
|
||||
>
|
||||
</template>
|
||||
</template>
|
||||
<template v-if="column.dataIndex === 'disabled'">
|
||||
<a-checkbox v-model:checked="disabledCheck" @change="handleChangeCheck('disabled',$event)">{{column.title}}</a-checkbox>
|
||||
</template>
|
||||
<template v-if="column.dataIndex === 'ifShow'">
|
||||
<a-checkbox v-model:checked="ifShowCheck" @change="handleChangeCheck('ifShow',$event)">{{column.title}}</a-checkbox>
|
||||
</template>
|
||||
</template>
|
||||
<template #bodyCell="{ column, text, record }">
|
||||
<template v-if="['label', 'fieldName'].includes(column.dataIndex)">
|
||||
<!-- <div> -->
|
||||
{{ text }}
|
||||
{{ text }}
|
||||
<!-- </div> -->
|
||||
</template>
|
||||
<template v-else-if="['required', 'disabled', 'ifShow'].includes(column.dataIndex)">
|
||||
<template
|
||||
v-else-if="['upShow', 'required', 'disabled', 'ifShow'].includes(column.dataIndex)"
|
||||
>
|
||||
<div>
|
||||
<a-switch v-model:checked="record[column.dataIndex]" size="small" />
|
||||
</div>
|
||||
|
|
@ -283,7 +304,9 @@
|
|||
<a-input v-model:value="record[column.dataIndex]" placeholder="请输入" />
|
||||
</div>
|
||||
</template>
|
||||
<template v-else-if="['required', 'disabled', 'ifShow'].includes(column.dataIndex)">
|
||||
<template
|
||||
v-else-if="['upShow', 'required', 'disabled', 'ifShow'].includes(column.dataIndex)"
|
||||
>
|
||||
<div>
|
||||
<a-switch v-model:checked="record[column.dataIndex]" size="small" />
|
||||
</div>
|
||||
|
|
@ -552,7 +575,7 @@
|
|||
import { cardNestStructure } from '@/views/demo/onlineform/util.ts';
|
||||
import { fun_GetPageList } from '@/api/demo/formModule';
|
||||
import { SelectIssueForm } from '@/components/SelectIssueForm/index';
|
||||
import { getRFields } from '@/views/demo/workflow/scheme/util.ts'
|
||||
import { getRFields } from '@/views/demo/workflow/scheme/util.ts';
|
||||
|
||||
const flowWfDataStore = flowStore();
|
||||
const labelCol = { span: 7 };
|
||||
|
|
@ -560,9 +583,10 @@
|
|||
const activeKey = ref('1');
|
||||
const nodeId = ref('');
|
||||
let node: any = ref({});
|
||||
const requiredCheck = ref(false)
|
||||
const disabledCheck = ref(false)
|
||||
const ifShowCheck = ref(false)
|
||||
const upShowCheck = ref(false);
|
||||
const requiredCheck = ref(false);
|
||||
const disabledCheck = ref(false);
|
||||
const ifShowCheck = ref(false);
|
||||
const props = defineProps({
|
||||
element: {
|
||||
type: Object,
|
||||
|
|
@ -635,6 +659,11 @@
|
|||
dataIndex: 'fieldName',
|
||||
ellipsis: true,
|
||||
},
|
||||
{
|
||||
title: '上提',
|
||||
dataIndex: 'upShow',
|
||||
width: 85,
|
||||
},
|
||||
{
|
||||
title: '必填',
|
||||
dataIndex: 'required',
|
||||
|
|
@ -949,9 +978,9 @@
|
|||
}[] = [];
|
||||
scheme.formInfo.tabList = cardNestStructure(scheme.formInfo.tabList);
|
||||
scheme.formInfo.tabList.forEach((tabElement) => {
|
||||
const {rFieldList, fieldList} = getRFields(tabElement.schemas,rfields,fields)
|
||||
rfields = rFieldList
|
||||
fields = fieldList
|
||||
const { rFieldList, fieldList } = getRFields(tabElement.schemas, rfields, fields);
|
||||
rfields = rFieldList;
|
||||
fields = fieldList;
|
||||
});
|
||||
data.formRelations = rfields;
|
||||
if (isChange) {
|
||||
|
|
@ -972,8 +1001,8 @@
|
|||
// 编辑时获取发布表单名称
|
||||
async function getIssueFormList() {
|
||||
const list = await fun_GetPageList({
|
||||
page:1,
|
||||
limit:1000,
|
||||
page: 1,
|
||||
limit: 1000,
|
||||
});
|
||||
list.items.forEach((element) => {
|
||||
if (element.id == node.value.issueId) {
|
||||
|
|
@ -985,6 +1014,7 @@
|
|||
node.value.authFields.push({
|
||||
field: '',
|
||||
label: '',
|
||||
upShow: false,
|
||||
required: true,
|
||||
disabled: true,
|
||||
ifShow: true,
|
||||
|
|
@ -994,21 +1024,24 @@
|
|||
node.value.authFields = node.value.authFields.filter((item) => item.field !== key);
|
||||
}
|
||||
const handleChangeCheck = (type: string, data) => {
|
||||
let checked = data.target.checked
|
||||
node.value.authFields.forEach(item => {
|
||||
let checked = data.target.checked;
|
||||
node.value.authFields.forEach((item) => {
|
||||
switch (type) {
|
||||
case 'required':
|
||||
item.required = checked
|
||||
break
|
||||
item.required = checked;
|
||||
break;
|
||||
case 'disabled':
|
||||
item.disabled = checked
|
||||
break
|
||||
item.disabled = checked;
|
||||
break;
|
||||
case 'ifShow':
|
||||
item.ifShow = checked
|
||||
break
|
||||
item.ifShow = checked;
|
||||
break;
|
||||
case 'upShow':
|
||||
item.upShow = checked;
|
||||
break;
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
defineExpose({});
|
||||
</script>
|
||||
|
||||
|
|
@ -1029,7 +1062,7 @@
|
|||
padding: 0 !important;
|
||||
}
|
||||
|
||||
:deep(.ant-checkbox+span){
|
||||
:deep(.ant-checkbox + span) {
|
||||
padding-inline-end: 0px;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,9 @@ export const APP_SESSION_CACHE_KEY = 'COMMON__SESSION__KEY__';
|
|||
// table 列设置
|
||||
export const TABLE_SETTING_KEY = 'TABLE__SETTING__KEY__';
|
||||
|
||||
// 专题设置
|
||||
export const SUBJECT_KEY = 'SUBJECT__';
|
||||
|
||||
export enum CacheTypeEnum {
|
||||
SESSION,
|
||||
LOCAL,
|
||||
|
|
|
|||
|
|
@ -7,5 +7,7 @@ export enum PageEnum {
|
|||
ERROR_PAGE = '/exception',
|
||||
// error log page path
|
||||
ERROR_LOG_PAGE = '/error-log/list',
|
||||
// 专题
|
||||
SUBJECT_HOME = '/subject',
|
||||
}
|
||||
export const PageWrapperFixedHeightKey = 'PageWrapperFixedHeight';
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
import type { AppRouteModule } from '@/router/types';
|
||||
|
||||
import { t } from '@/hooks/web/useI18n';
|
||||
|
||||
const subject: AppRouteModule = {
|
||||
path: '/subject',
|
||||
name: 'Subject',
|
||||
component: () => import('@/views/subject/index.vue'),
|
||||
|
||||
meta: {
|
||||
orderNo: 10,
|
||||
title: t('routes.dashboard.dashboard'),
|
||||
},
|
||||
};
|
||||
|
||||
export default subject;
|
||||
|
|
@ -314,13 +314,13 @@ export const usePermissionStore = defineStore({
|
|||
//通过后端获取菜单
|
||||
const _this = this;
|
||||
async function buildMenusByServer(list) {
|
||||
const data = await getMenuList();
|
||||
console.log(userStore.getSubject);
|
||||
const data = await getMenuList({ subject: userStore.getSubject });
|
||||
const moduleRoutes = list;
|
||||
await data.forEach((value) => {
|
||||
moduleRoutes.push(normalizeMenu(value));
|
||||
registeredRoute(value);
|
||||
});
|
||||
|
||||
await Promise.all(moduleRoutes);
|
||||
// 设置菜单列表
|
||||
_this.setFrontMenuList(moduleRoutes);
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { defineStore } from 'pinia';
|
|||
import { store } from '@/store';
|
||||
import { RoleEnum } from '@/enums/roleEnum';
|
||||
import { PageEnum } from '@/enums/pageEnum';
|
||||
import { ROLES_KEY, TOKEN_KEY, USER_INFO_KEY } from '@/enums/cacheEnum';
|
||||
import { ROLES_KEY, TOKEN_KEY, USER_INFO_KEY, SUBJECT_KEY } from '@/enums/cacheEnum';
|
||||
import { getAuthCache, setAuthCache } from '@/utils/auth';
|
||||
import { GetUserInfoModel, LoginParams } from '@/api/sys/model/userModel';
|
||||
import { doLogout, getUserInfo, loginApi } from '@/api/sys/user';
|
||||
|
|
@ -24,6 +24,7 @@ interface UserState {
|
|||
roleList: RoleEnum[];
|
||||
sessionTimeout?: boolean;
|
||||
lastUpdateTime: number;
|
||||
subject?: string;
|
||||
}
|
||||
|
||||
export const useUserStore = defineStore({
|
||||
|
|
@ -39,6 +40,7 @@ export const useUserStore = defineStore({
|
|||
sessionTimeout: false,
|
||||
// Last fetch time
|
||||
lastUpdateTime: 0,
|
||||
subject: '',
|
||||
}),
|
||||
getters: {
|
||||
getUserInfo(state): UserInfo {
|
||||
|
|
@ -56,8 +58,20 @@ export const useUserStore = defineStore({
|
|||
getLastUpdateTime(state): number {
|
||||
return state.lastUpdateTime;
|
||||
},
|
||||
getSubject(state): string {
|
||||
return state.subject || getAuthCache<string>(SUBJECT_KEY);
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
async setSubject(subject: string | undefined) {
|
||||
this.subject = subject;
|
||||
setAuthCache(SUBJECT_KEY, subject);
|
||||
if (subject) {
|
||||
const permissionStore = usePermissionStore();
|
||||
await permissionStore.buildRoutesAction();
|
||||
await router.replace(PageEnum.BASE_HOME);
|
||||
}
|
||||
},
|
||||
setToken(info: string | undefined) {
|
||||
this.token = info ? info : ''; // for null or undefined value
|
||||
//临时设置token给大屏使用
|
||||
|
|
@ -93,7 +107,7 @@ export const useUserStore = defineStore({
|
|||
): Promise<GetUserInfoModel | null> {
|
||||
try {
|
||||
const { goHome = true, mode, ...loginParams } = params;
|
||||
loginParams.password = md5(loginParams.password)
|
||||
loginParams.password = md5(loginParams.password);
|
||||
const data = await loginApi(loginParams, mode);
|
||||
const { token } = data;
|
||||
|
||||
|
|
@ -122,7 +136,8 @@ export const useUserStore = defineStore({
|
|||
router.addRoute(PAGE_NOT_FOUND_ROUTE as unknown as RouteRecordRaw);
|
||||
permissionStore.setDynamicAddedRoute(true);
|
||||
}
|
||||
goHome && (await router.replace(userInfo?.homePath || PageEnum.BASE_HOME));
|
||||
// goHome && (await router.replace(userInfo?.homePath || PageEnum.BASE_HOME));
|
||||
goHome && (await router.replace(userInfo?.homePath || PageEnum.SUBJECT_HOME));
|
||||
}
|
||||
return userInfo;
|
||||
},
|
||||
|
|
@ -152,6 +167,7 @@ export const useUserStore = defineStore({
|
|||
}
|
||||
}
|
||||
this.setToken(undefined);
|
||||
this.setSubject(undefined);
|
||||
this.setSessionTimeout(false);
|
||||
this.setUserInfo(null);
|
||||
goLogin && router.push(PageEnum.BASE_LOGIN);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import type { RouteLocationNormalized } from 'vue-router';
|
|||
import { createLocalStorage, createSessionStorage } from '@/utils/cache';
|
||||
import { Memory } from './memory';
|
||||
import {
|
||||
SUBJECT_KEY,
|
||||
TOKEN_KEY,
|
||||
USER_INFO_KEY,
|
||||
ROLES_KEY,
|
||||
|
|
@ -20,6 +21,7 @@ import { toRaw } from 'vue';
|
|||
import { pick, omit } from 'lodash-es';
|
||||
|
||||
interface BasicStore {
|
||||
[SUBJECT_KEY]: string | number | null | undefined;
|
||||
[TOKEN_KEY]: string | number | null | undefined;
|
||||
[USER_INFO_KEY]: UserInfo;
|
||||
[ROLES_KEY]: string[];
|
||||
|
|
|
|||
|
|
@ -1,116 +1,127 @@
|
|||
export const getRFields = (dataList, rFieldList,fieldList) => {
|
||||
dataList.forEach((element: { label?: string; field?: string; component: any; itemProps: any }) => {
|
||||
if (['InputGuid'].includes(element.component)) {
|
||||
rFieldList.push({
|
||||
label: element.label,
|
||||
// value:element.prop
|
||||
value: element.field,
|
||||
});
|
||||
}else if (
|
||||
![
|
||||
'Divider',
|
||||
'Grid',
|
||||
'Card',
|
||||
'CreateUser',
|
||||
'CreateTime',
|
||||
'ModifyUser',
|
||||
'ModifyTime',
|
||||
'CardGroup',
|
||||
].includes(element.component) &&
|
||||
!element.itemProps.hidden
|
||||
) {
|
||||
let obj: any = element;
|
||||
obj.required = element.itemProps.required;
|
||||
// obj.componentProps.disabled = false;
|
||||
obj.disabled = true;
|
||||
obj.ifShow = true;
|
||||
obj.fieldName = element.componentProps.fieldName;
|
||||
fieldList.push(obj);
|
||||
} else if (['Grid'].includes(element.component) || element.type == 'subTable') {
|
||||
console.log('gridtable');
|
||||
fieldList.push({
|
||||
field: `${element.field}_add`,
|
||||
label: `${element.label || '表格'}-添加按钮`,
|
||||
required: false,
|
||||
disabled: true,
|
||||
ifShow: false,
|
||||
type: 'grid',
|
||||
});
|
||||
fieldList.push({
|
||||
field: `${element.field}_remove`,
|
||||
label: `${element.label || '表格'}-删除按钮`,
|
||||
required: false,
|
||||
disabled: true,
|
||||
ifShow: false,
|
||||
type: 'grid',
|
||||
});
|
||||
export const getRFields = (dataList, rFieldList, fieldList) => {
|
||||
dataList.forEach(
|
||||
(element: { label?: string; field?: string; component: any; itemProps: any }) => {
|
||||
if (['InputGuid'].includes(element.component)) {
|
||||
rFieldList.push({
|
||||
label: element.label,
|
||||
// value:element.prop
|
||||
value: element.field,
|
||||
});
|
||||
} else if (
|
||||
![
|
||||
'Divider',
|
||||
'Grid',
|
||||
'Card',
|
||||
'CreateUser',
|
||||
'CreateTime',
|
||||
'ModifyUser',
|
||||
'ModifyTime',
|
||||
'CardGroup',
|
||||
].includes(element.component) &&
|
||||
!element.itemProps.hidden
|
||||
) {
|
||||
let obj: any = element;
|
||||
obj.required = element.itemProps.required;
|
||||
// obj.componentProps.disabled = false;
|
||||
obj.disabled = true;
|
||||
obj.ifShow = true;
|
||||
obj.upShow = false;
|
||||
obj.fieldName = element.componentProps.fieldName;
|
||||
fieldList.push(obj);
|
||||
} else if (['Grid'].includes(element.component) || element.type == 'subTable') {
|
||||
console.log('gridtable');
|
||||
fieldList.push({
|
||||
field: `${element.field}_add`,
|
||||
label: `${element.label || '表格'}-添加按钮`,
|
||||
required: false,
|
||||
disabled: true,
|
||||
upShow: false,
|
||||
ifShow: false,
|
||||
type: 'grid',
|
||||
});
|
||||
fieldList.push({
|
||||
field: `${element.field}_remove`,
|
||||
label: `${element.label || '表格'}-删除按钮`,
|
||||
required: false,
|
||||
disabled: true,
|
||||
upShow: false,
|
||||
ifShow: false,
|
||||
type: 'grid',
|
||||
});
|
||||
|
||||
fieldList.push({
|
||||
field: `${element.field}_required`,
|
||||
label: `${element.label || '表格'}-数据`,
|
||||
required: element.itemProps.required,
|
||||
disabled: false,
|
||||
ifShow: false,
|
||||
type: 'gridrequired',
|
||||
});
|
||||
element.columns.forEach((child) => {
|
||||
child.children.forEach((t) => {
|
||||
fieldList.push({
|
||||
gridprop: element.field,
|
||||
field: t.field,
|
||||
label: `${element.label || '表格'}-${t.label}`,
|
||||
required: t.itemProps.required,
|
||||
disabled: true,
|
||||
ifShow: true,
|
||||
fieldName: t.componentProps.fieldName,
|
||||
...t,
|
||||
fieldList.push({
|
||||
field: `${element.field}_required`,
|
||||
label: `${element.label || '表格'}-数据`,
|
||||
required: element.itemProps.required,
|
||||
disabled: false,
|
||||
upShow: false,
|
||||
ifShow: false,
|
||||
type: 'gridrequired',
|
||||
});
|
||||
element.columns.forEach((child) => {
|
||||
child.children.forEach((t) => {
|
||||
fieldList.push({
|
||||
gridprop: element.field,
|
||||
field: t.field,
|
||||
label: `${element.label || '表格'}-${t.label}`,
|
||||
required: t.itemProps.required,
|
||||
disabled: true,
|
||||
upShow: false,
|
||||
ifShow: true,
|
||||
fieldName: t.componentProps.fieldName,
|
||||
...t,
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
} else if (['Card'].includes(element.component)) {
|
||||
console.log(3);
|
||||
element.columns.forEach((child) => {
|
||||
child.children.forEach((t) => {
|
||||
fieldList.push({
|
||||
gridprop: element.field,
|
||||
field: t.field,
|
||||
required: t.itemProps.required,
|
||||
disabled: true,
|
||||
ifShow: true,
|
||||
fieldName: t.componentProps.fieldName,
|
||||
...t,
|
||||
} else if (['Card'].includes(element.component)) {
|
||||
console.log(3);
|
||||
element.columns.forEach((child) => {
|
||||
child.children.forEach((t) => {
|
||||
fieldList.push({
|
||||
gridprop: element.field,
|
||||
field: t.field,
|
||||
required: t.itemProps.required,
|
||||
disabled: true,
|
||||
ifShow: true,
|
||||
upShow: false,
|
||||
fieldName: t.componentProps.fieldName,
|
||||
...t,
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
} else if (
|
||||
['CreateUser', 'CreateTime', 'ModifyUser', 'ModifyTime'].includes(element.component) &&
|
||||
element.display
|
||||
) {
|
||||
let obj: any = element;
|
||||
obj.required = element.itemProps.required;
|
||||
// obj.componentProps.disabled = false;
|
||||
obj.disabled = true;
|
||||
obj.ifShow = true;
|
||||
obj.fieldName = element.componentProps.fieldName;
|
||||
fieldList.push(obj);
|
||||
} else if (['CardGroup'].includes(element.component)) {
|
||||
let obj: any = element;
|
||||
obj.required = element.itemProps.required;
|
||||
// obj.componentProps.disabled = false;
|
||||
obj.disabled = true;
|
||||
obj.ifShow = true;
|
||||
obj.fieldName = element.componentProps.fieldName;
|
||||
obj.label = `卡片组-${element.label}`;
|
||||
fieldList.push(obj);
|
||||
fieldList = cardComponentChild(element.componentProps.options, fieldList);
|
||||
}
|
||||
},);
|
||||
return {rFieldList,fieldList}
|
||||
}
|
||||
} else if (
|
||||
['CreateUser', 'CreateTime', 'ModifyUser', 'ModifyTime'].includes(element.component) &&
|
||||
element.display
|
||||
) {
|
||||
let obj: any = element;
|
||||
obj.upShow = false;
|
||||
obj.required = element.itemProps.required;
|
||||
// obj.componentProps.disabled = false;
|
||||
obj.disabled = true;
|
||||
obj.ifShow = true;
|
||||
obj.fieldName = element.componentProps.fieldName;
|
||||
fieldList.push(obj);
|
||||
} else if (['CardGroup'].includes(element.component)) {
|
||||
let obj: any = element;
|
||||
obj.upShow = false;
|
||||
obj.required = element.itemProps.required;
|
||||
// obj.componentProps.disabled = false;
|
||||
obj.disabled = true;
|
||||
obj.ifShow = true;
|
||||
obj.fieldName = element.componentProps.fieldName;
|
||||
obj.label = `卡片组-${element.label}`;
|
||||
fieldList.push(obj);
|
||||
fieldList = cardComponentChild(element.componentProps.options, fieldList);
|
||||
}
|
||||
},
|
||||
);
|
||||
return { rFieldList, fieldList };
|
||||
};
|
||||
const cardComponentChild = (data, result) => {
|
||||
data.forEach((optionsElement) => {
|
||||
optionsElement.children.forEach((childrenElement) => {
|
||||
let obj: any = childrenElement;
|
||||
obj.upShow = false;
|
||||
obj.required = childrenElement.itemProps.required;
|
||||
obj.disabled = true;
|
||||
obj.ifShow = true;
|
||||
|
|
@ -123,4 +134,4 @@ const cardComponentChild = (data, result) => {
|
|||
});
|
||||
});
|
||||
return result;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
<template>
|
||||
<div>
|
||||
<a-button @click="goHome('林业专题')"> 林业专题 </a-button>
|
||||
<a-button @click="goHome('矿产专题')"> 矿产专题 </a-button>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { PageEnum } from '@/enums/pageEnum';
|
||||
import { router } from '@/router';
|
||||
import { useUserStore } from '@/store/modules/user';
|
||||
|
||||
const userStore = useUserStore();
|
||||
|
||||
async function goHome(name) {
|
||||
console.log(name);
|
||||
userStore.setSubject(name);
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped></style>
|
||||
Loading…
Reference in New Issue