From 383b4a897e02e45d501e7706c898d487729965be Mon Sep 17 00:00:00 2001 From: JiangQiming <291854119@qq.com> Date: Wed, 22 Feb 2023 09:50:54 +0800 Subject: [PATCH 01/16] =?UTF-8?q?update:=20=E9=A1=B5=E9=9D=A2=E6=96=B0?= =?UTF-8?q?=E5=A2=9Epage-container=E7=BB=84=E4=BB=B6=E5=8C=85=E8=A3=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/media/DashBoard/index.vue | 11 ++++----- src/views/media/Device/Save/index.vue | 8 ++----- src/views/media/Device/index.vue | 10 ++------ src/views/media/Home/index.vue | 10 ++------ src/views/notice/Config/Detail/index.vue | 16 ++++--------- src/views/notice/Config/index.vue | 10 ++------ src/views/notice/Template/Detail/index.vue | 28 ++++++++++------------ src/views/notice/Template/index.vue | 10 ++------ 8 files changed, 32 insertions(+), 71 deletions(-) diff --git a/src/views/media/DashBoard/index.vue b/src/views/media/DashBoard/index.vue index e9b1a75b..e8eb988f 100644 --- a/src/views/media/DashBoard/index.vue +++ b/src/views/media/DashBoard/index.vue @@ -1,5 +1,5 @@ diff --git a/src/views/media/Device/Save/index.vue b/src/views/media/Device/Save/index.vue index 9b495f24..8cd0b8bd 100644 --- a/src/views/media/Device/Save/index.vue +++ b/src/views/media/Device/Save/index.vue @@ -1,6 +1,6 @@ - diff --git a/src/views/media/Home/index.vue b/src/views/media/Home/index.vue index a0f26df9..8ab81f7a 100644 --- a/src/views/media/Home/index.vue +++ b/src/views/media/Home/index.vue @@ -1,5 +1,5 @@ - - diff --git a/src/views/notice/Config/Detail/index.vue b/src/views/notice/Config/Detail/index.vue index b8ae5bb9..381537bf 100644 --- a/src/views/notice/Config/Detail/index.vue +++ b/src/views/notice/Config/Detail/index.vue @@ -1,6 +1,6 @@ - - diff --git a/src/views/notice/Config/index.vue b/src/views/notice/Config/index.vue index 235c1ec3..48e9d49b 100644 --- a/src/views/notice/Config/index.vue +++ b/src/views/notice/Config/index.vue @@ -1,5 +1,5 @@ - diff --git a/src/views/notice/Template/Detail/index.vue b/src/views/notice/Template/Detail/index.vue index b1ac70eb..7f01c294 100644 --- a/src/views/notice/Template/Detail/index.vue +++ b/src/views/notice/Template/Detail/index.vue @@ -1,6 +1,6 @@ @@ -471,7 +473,7 @@ - + - - diff --git a/src/views/notice/Template/index.vue b/src/views/notice/Template/index.vue index 0726a3c2..7ffb77cc 100644 --- a/src/views/notice/Template/index.vue +++ b/src/views/notice/Template/index.vue @@ -1,5 +1,5 @@ - From 3bb6a8f5190f85660c0fe1bac2a30da57ae0c076 Mon Sep 17 00:00:00 2001 From: JiangQiming <291854119@qq.com> Date: Wed, 22 Feb 2023 10:20:08 +0800 Subject: [PATCH 02/16] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E5=9B=9E=E6=98=BE=E5=BF=85=E5=A1=AB=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E9=80=9A=E8=BF=87=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/media/Device/Save/index.vue | 6 +++--- src/views/notice/Config/Detail/index.vue | 6 ++---- src/views/notice/Template/Detail/index.vue | 6 ++---- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/views/media/Device/Save/index.vue b/src/views/media/Device/Save/index.vue index 8cd0b8bd..760a4216 100644 --- a/src/views/media/Device/Save/index.vue +++ b/src/views/media/Device/Save/index.vue @@ -353,7 +353,8 @@ const saveProductVis = ref(false); const getDetail = async () => { const res = await DeviceApi.detail(route.query.id as string); // console.log('res: ', res); - formData.value = res.result; + // formData.value = res.result; + Object.assign(formData.value, res.result); formData.value.channel = res.result.provider; }; @@ -366,8 +367,7 @@ onMounted(() => { */ const btnLoading = ref(false); const handleSubmit = () => { - const form = useForm(formData.value, formRules.value); - form.validate() + validate() .then(async () => { btnLoading.value = true; let res; diff --git a/src/views/notice/Config/Detail/index.vue b/src/views/notice/Config/Detail/index.vue index 381537bf..01a9d729 100644 --- a/src/views/notice/Config/Detail/index.vue +++ b/src/views/notice/Config/Detail/index.vue @@ -427,8 +427,8 @@ const clearValid = () => { const getDetail = async () => { if (route.params.id === ':id') return; const res = await configApi.detail(route.params.id as string); - // console.log('res: ', res); - formData.value = res.result; + // formData.value = res.result; + Object.assign(formData.value, res.result); // console.log('formData.value: ', formData.value); }; getDetail(); @@ -438,8 +438,6 @@ getDetail(); */ const btnLoading = ref(false); const handleSubmit = () => { - // const form = useForm(formData.value, formRules.value); - // form. validate() .then(async () => { // console.log('formData.value: ', formData.value); diff --git a/src/views/notice/Template/Detail/index.vue b/src/views/notice/Template/Detail/index.vue index 7f01c294..c76ff2d3 100644 --- a/src/views/notice/Template/Detail/index.vue +++ b/src/views/notice/Template/Detail/index.vue @@ -635,8 +635,8 @@ const clearValid = () => { */ const getDetail = async () => { const res = await templateApi.detail(route.params.id as string); - // console.log('res: ', res); - formData.value = res.result; + // formData.value = res.result; + Object.assign(formData.value, res.result); // console.log('formData.value: ', formData.value); }; // getDetail(); @@ -705,8 +705,6 @@ const handleSubmit = () => { if (formData.value.template.messageType === 'link') delete formData.value.template.markdown; // console.log('formData.value: ', formData.value); - // const form = useForm(formData.value, formRules.value); - // form. validate() .then(async () => { formData.value.template.ttsCode = From 9a3a752ac00f17469f62d4cb41cdfeed410e9ef5 Mon Sep 17 00:00:00 2001 From: JiangQiming <291854119@qq.com> Date: Wed, 22 Feb 2023 10:30:17 +0800 Subject: [PATCH 03/16] =?UTF-8?q?update:=20=E9=80=9A=E7=9F=A5=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/notice/Template/Detail/index.vue | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/views/notice/Template/Detail/index.vue b/src/views/notice/Template/Detail/index.vue index c76ff2d3..48f6ae5b 100644 --- a/src/views/notice/Template/Detail/index.vue +++ b/src/views/notice/Template/Detail/index.vue @@ -639,7 +639,6 @@ const getDetail = async () => { Object.assign(formData.value, res.result); // console.log('formData.value: ', formData.value); }; -// getDetail(); /** * 获取绑定配置 @@ -682,7 +681,6 @@ const getTemplateList = async () => { ); templateList.value = result; }; -getTemplateList(); /** * 获取签名 @@ -692,7 +690,14 @@ const getSignsList = async () => { const { result } = await templateApi.getSigns(formData.value.configId); signsList.value = result; }; -getSignsList(); + +onMounted(() => { + if (route.params.id) getDetail(); + if (formData.value.type === 'sms') { + getTemplateList(); + getSignsList(); + } +}); /** * 表单提交 From 8ac4fc817835968bf1a671be8b6a20e0e2bd22cd Mon Sep 17 00:00:00 2001 From: JiangQiming <291854119@qq.com> Date: Wed, 22 Feb 2023 11:03:45 +0800 Subject: [PATCH 04/16] =?UTF-8?q?update:=20=E9=80=9A=E7=9F=A5=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E4=BA=A4=E4=BA=92=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../notice/Template/Detail/components/ToOrg.vue | 7 +++++++ .../notice/Template/Detail/components/ToTag.vue | 7 +++++++ .../notice/Template/Detail/components/ToUser.vue | 7 +++++++ src/views/notice/Template/Detail/index.vue | 15 ++++++++------- 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/src/views/notice/Template/Detail/components/ToOrg.vue b/src/views/notice/Template/Detail/components/ToOrg.vue index 103c40bf..fea66631 100644 --- a/src/views/notice/Template/Detail/components/ToOrg.vue +++ b/src/views/notice/Template/Detail/components/ToOrg.vue @@ -5,6 +5,7 @@ placeholder="请选择收信部门" style="width: 100%" :allowClear="true" + v-model:value="_value" /> @@ -17,10 +18,16 @@ type Emits = { const emit = defineEmits(); const props = defineProps({ + toParty: { type: String, default: '' }, type: { type: String, default: '' }, configId: { type: String, default: '' }, }); +const _value = computed({ + get: () => props.toParty, + set: (val: string) => emit('update:toParty', val), +}); + const options = ref([]); const queryData = async () => { const { result } = await templateApi.getDept(props.type, props.configId); diff --git a/src/views/notice/Template/Detail/components/ToTag.vue b/src/views/notice/Template/Detail/components/ToTag.vue index 28f469b7..74c1f6c9 100644 --- a/src/views/notice/Template/Detail/components/ToTag.vue +++ b/src/views/notice/Template/Detail/components/ToTag.vue @@ -5,6 +5,7 @@ placeholder="请选择标签推送,多个标签用,号分隔" style="width: 100%" :allowClear="true" + v-model:value="_value" /> @@ -17,10 +18,16 @@ type Emits = { const emit = defineEmits(); const props = defineProps({ + toTag: { type: String, default: '' }, type: { type: String, default: '' }, configId: { type: String, default: '' }, }); +const _value = computed({ + get: () => props.toTag, + set: (val: string) => emit('update:toTag', val), +}); + const options = ref([]); const queryData = async () => { const { result } = await templateApi.getTags(props.configId); diff --git a/src/views/notice/Template/Detail/components/ToUser.vue b/src/views/notice/Template/Detail/components/ToUser.vue index 21bd9aa2..d5b7b41c 100644 --- a/src/views/notice/Template/Detail/components/ToUser.vue +++ b/src/views/notice/Template/Detail/components/ToUser.vue @@ -5,6 +5,7 @@ placeholder="请选择收信人" style="width: 100%" :allowClear="true" + v-model:value="_value" /> @@ -17,10 +18,16 @@ type Emits = { const emit = defineEmits(); const props = defineProps({ + toUser: { type: String, default: '' }, type: { type: String, default: '' }, configId: { type: String, default: '' }, }); +const _value = computed({ + get: () => props.toUser, + set: (val: string) => emit('update:toUser', val), +}); + const options = ref([]); const queryData = async () => { const { result } = await templateApi.getUser(props.type, props.configId); diff --git a/src/views/notice/Template/Detail/index.vue b/src/views/notice/Template/Detail/index.vue index 48f6ae5b..257dd71d 100644 --- a/src/views/notice/Template/Detail/index.vue +++ b/src/views/notice/Template/Detail/index.vue @@ -203,7 +203,7 @@ @@ -638,6 +638,11 @@ const getDetail = async () => { // formData.value = res.result; Object.assign(formData.value, res.result); // console.log('formData.value: ', formData.value); + + if (formData.value.type === 'sms') { + getTemplateList(); + getSignsList(); + } }; /** @@ -693,10 +698,6 @@ const getSignsList = async () => { onMounted(() => { if (route.params.id) getDetail(); - if (formData.value.type === 'sms') { - getTemplateList(); - getSignsList(); - } }); /** From e313b364710e0a8181165860a0e2c42cfb18dc6a Mon Sep 17 00:00:00 2001 From: xieyonghong <18010623010@163.com> Date: Wed, 22 Feb 2023 13:36:51 +0800 Subject: [PATCH 05/16] =?UTF-8?q?update:=20=E4=BC=98=E5=8C=96=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/index.ts | 78 ++++++++++++++++++++------------------------- src/store/menu.ts | 2 +- 2 files changed, 35 insertions(+), 45 deletions(-) diff --git a/src/router/index.ts b/src/router/index.ts index a243c2cb..d4060c2a 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -14,56 +14,46 @@ const router = createRouter({ } }) -const filterPath = [ - '/form', - '/search' -] - router.beforeEach((to, from, next) => { // TODO 切换路由取消请求 - const isFilterPath = filterPath.includes(to.path) - if (isFilterPath) { - next() - } else { - const token = getToken() - if (token) { - if (to.path === LoginPath) { - next({ path: '/' }) - } else { - const userInfo = useUserInfo() - const system = useSystem() - const menu = useMenuStore() - - if (!menu.siderMenus.length) { - userInfo.getUserInfo().then(() => { - system.getSystemVersion().then((menuData: any[]) => { - menuData.forEach(r => { - router.addRoute('base', r) - }) - // router.addRoute('base',{ - // path: '/:pathMatch(.*)', - // name: 'error', - // component: () => NotFindPage - // }) - - next({ ...to, replace: true }) - }) - }).catch(() => { - cleanToken() - next({ path: LoginPath }) - }) - } else { - next() - } - } - + const token = getToken() + if (token) { + if (to.path === LoginPath) { + next({ path: '/' }) } else { - if (to.path === LoginPath) { - next() + const userInfo = useUserInfo() + const system = useSystem() + const menu = useMenuStore() + + if (!menu.siderMenus.length) { + userInfo.getUserInfo().then(() => { + system.getSystemVersion().then((menuData: any[]) => { + menuData.forEach(r => { + router.addRoute('base', r) + }) + router.addRoute('base',{ + path: '/:pathMatch(.*)', + name: 'error', + component: () => NotFindPage + }) + + next({ ...to, replace: true }) + }) + }).catch(() => { + cleanToken() + next({ path: LoginPath }) + }) } else { - next({ path: LoginPath }) + next() } } + + } else { + if (to.path === LoginPath) { + next() + } else { + next({ path: LoginPath }) + } } }) diff --git a/src/store/menu.ts b/src/store/menu.ts index 29c31b47..cd22033f 100644 --- a/src/store/menu.ts +++ b/src/store/menu.ts @@ -114,7 +114,7 @@ export const useMenuStore = defineStore({ } }) this.siderMenus = silderMenus - console.log('silderMenus', silderMenus) + console.log('menusData', menusData) res(menusData) } }) From 9d8b31713cd5c6456e8925ddc8f40a4c05ed691b Mon Sep 17 00:00:00 2001 From: xieyonghong <18010623010@163.com> Date: Wed, 22 Feb 2023 14:15:00 +0800 Subject: [PATCH 06/16] =?UTF-8?q?update:=20=E9=87=8D=E5=91=BD=E5=90=8DNort?= =?UTF-8?q?hbound?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/menu.ts | 5 +++-- src/views/{northbound => Northbound}/AliCloud/Detail/doc.vue | 0 .../{northbound => Northbound}/AliCloud/Detail/index.vue | 0 src/views/{northbound => Northbound}/AliCloud/index.vue | 0 .../DuerOS/Detail/command/EditTable.vue | 0 .../DuerOS/Detail/command/index.vue | 0 src/views/{northbound => Northbound}/DuerOS/Detail/doc.vue | 0 src/views/{northbound => Northbound}/DuerOS/Detail/index.vue | 0 src/views/{northbound => Northbound}/DuerOS/index.vue | 0 9 files changed, 3 insertions(+), 2 deletions(-) rename src/views/{northbound => Northbound}/AliCloud/Detail/doc.vue (100%) rename src/views/{northbound => Northbound}/AliCloud/Detail/index.vue (100%) rename src/views/{northbound => Northbound}/AliCloud/index.vue (100%) rename src/views/{northbound => Northbound}/DuerOS/Detail/command/EditTable.vue (100%) rename src/views/{northbound => Northbound}/DuerOS/Detail/command/index.vue (100%) rename src/views/{northbound => Northbound}/DuerOS/Detail/doc.vue (100%) rename src/views/{northbound => Northbound}/DuerOS/Detail/index.vue (100%) rename src/views/{northbound => Northbound}/DuerOS/index.vue (100%) diff --git a/src/utils/menu.ts b/src/utils/menu.ts index 1df818e5..d84be2d0 100644 --- a/src/utils/menu.ts +++ b/src/utils/menu.ts @@ -227,12 +227,13 @@ export function filterAsnycRouter(asyncRouterMap: any, parentCode = '', level = _route.children = _menusData silder.children = _silderMenus const showChildren = _route.children.some((r: any) => !r.meta.hideInMenu) - if (showChildren) { + + if (showChildren && _route.children.length) { _route.component = level === 1 ? BasicLayoutPage : BlankLayoutPage _route.redirect = route.children[0].url } else { const myComponent = resolveComponent(route.code) - _route.component = myComponent ? myComponent : BlankLayoutPage; + // _route.component = myComponent ? myComponent : BlankLayoutPage; if (!!myComponent) { _route.component = myComponent; _route.children.map((r: any) => menusData.push(r)) diff --git a/src/views/northbound/AliCloud/Detail/doc.vue b/src/views/Northbound/AliCloud/Detail/doc.vue similarity index 100% rename from src/views/northbound/AliCloud/Detail/doc.vue rename to src/views/Northbound/AliCloud/Detail/doc.vue diff --git a/src/views/northbound/AliCloud/Detail/index.vue b/src/views/Northbound/AliCloud/Detail/index.vue similarity index 100% rename from src/views/northbound/AliCloud/Detail/index.vue rename to src/views/Northbound/AliCloud/Detail/index.vue diff --git a/src/views/northbound/AliCloud/index.vue b/src/views/Northbound/AliCloud/index.vue similarity index 100% rename from src/views/northbound/AliCloud/index.vue rename to src/views/Northbound/AliCloud/index.vue diff --git a/src/views/northbound/DuerOS/Detail/command/EditTable.vue b/src/views/Northbound/DuerOS/Detail/command/EditTable.vue similarity index 100% rename from src/views/northbound/DuerOS/Detail/command/EditTable.vue rename to src/views/Northbound/DuerOS/Detail/command/EditTable.vue diff --git a/src/views/northbound/DuerOS/Detail/command/index.vue b/src/views/Northbound/DuerOS/Detail/command/index.vue similarity index 100% rename from src/views/northbound/DuerOS/Detail/command/index.vue rename to src/views/Northbound/DuerOS/Detail/command/index.vue diff --git a/src/views/northbound/DuerOS/Detail/doc.vue b/src/views/Northbound/DuerOS/Detail/doc.vue similarity index 100% rename from src/views/northbound/DuerOS/Detail/doc.vue rename to src/views/Northbound/DuerOS/Detail/doc.vue diff --git a/src/views/northbound/DuerOS/Detail/index.vue b/src/views/Northbound/DuerOS/Detail/index.vue similarity index 100% rename from src/views/northbound/DuerOS/Detail/index.vue rename to src/views/Northbound/DuerOS/Detail/index.vue diff --git a/src/views/northbound/DuerOS/index.vue b/src/views/Northbound/DuerOS/index.vue similarity index 100% rename from src/views/northbound/DuerOS/index.vue rename to src/views/Northbound/DuerOS/index.vue From 1460ebcdbbd978b62103008bf27cf27c3b433961 Mon Sep 17 00:00:00 2001 From: xieyonghong <18010623010@163.com> Date: Wed, 22 Feb 2023 15:51:13 +0800 Subject: [PATCH 07/16] =?UTF-8?q?update:=20=E4=BC=98=E5=8C=96=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E8=B7=AF=E7=94=B1=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/index.ts | 1 - src/store/menu.ts | 64 ++++++++++++++++++++++----------------------- src/utils/comm.ts | 28 +------------------- src/utils/menu.ts | 2 +- 4 files changed, 33 insertions(+), 62 deletions(-) diff --git a/src/router/index.ts b/src/router/index.ts index d4060c2a..9290694b 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -24,7 +24,6 @@ router.beforeEach((to, from, next) => { const userInfo = useUserInfo() const system = useSystem() const menu = useMenuStore() - if (!menu.siderMenus.length) { userInfo.getUserInfo().then(() => { system.getSystemVersion().then((menuData: any[]) => { diff --git a/src/store/menu.ts b/src/store/menu.ts index cd22033f..87937da4 100644 --- a/src/store/menu.ts +++ b/src/store/menu.ts @@ -36,54 +36,52 @@ type MenuStateType = { siderMenus: MenuItem[] } -// export const useMenusStore = defineStore('menu', () => { -// const state = reactive({ -// menus: {}, -// siderMenus: [] -// }) -// -// const hasPermission = (code: string | string[]) => { -// if (!code || !(code as string[]).length) { -// console.warn(`function hasPermission: 没有传入${code}`) -// return false -// } -// -// } -// -// const queryMenuTree = (): Promise => { -// -// } -// -// return { -// state, -// hasPermission, -// queryMenuTree -// } -// }) export const useMenuStore = defineStore({ id: 'menu', - state: () => ({ + state: (): MenuStateType => ({ menus: {}, siderMenus: [] }), getters: { hasPermission(state) { - return (menuCode: string | string[]) => { - if (!menuCode) { + return (code: string | string[]) => { + if (!code) { return true } if (!!Object.keys(state.menus).length) { - if (typeof menuCode === 'string') { - return !!this.menus[menuCode].buttons + let codes: string[] = [] + + if (typeof code === 'string') { + codes.push(code) + } else { + codes = code } - return menuCode.some(code => !!this.menus[code]) + + return codes.some(_c => { + const menu_code = _c.split(':') + if (menu_code.length > 1) { + return !!this.menus[menu_code[0]]?.buttons?.includes(menu_code[1]) + } + return false + }) } return false } } }, actions: { + hasMenu(code: string) { + return this.menus[code]?.path + }, + jumpPage(code: string, params: Record, query: Record) { + const path = this.menus[code]?.path + if (path) { + router.push({ + path, params, query + }) + } + }, queryMenuTree(isCommunity = false): Promise { return new Promise(async (res) => { //过滤非集成的菜单 @@ -94,11 +92,11 @@ export const useMenuStore = defineStore({ const handleMenuItem = (menu: any) => { if (isArray(menu)) { menu.forEach(menuItem => { - this.menus[menuItem.code] = { + this.menus[menuItem.name] = { path: menuItem.path, - buttons: menuItem.buttons + buttons: menuItem.meta.buttons } - if (menuItem.children && menuItem.length) { + if (menuItem.children && menuItem.children.length) { handleMenuItem(menuItem.children) } }) diff --git a/src/utils/comm.ts b/src/utils/comm.ts index 37552e9b..26d09dd9 100644 --- a/src/utils/comm.ts +++ b/src/utils/comm.ts @@ -95,30 +95,4 @@ export const modifySearchColumnValue = (e: any, column: object) => { }); }); return e; -}; - -// /** -// * 根据code返回对应的菜单path -// * @param code 菜单code -// */ -// export const getMenu = (code: string): string | undefined => { -// const menuStore = useMenuStore() -// return menuStore.menus[code]?.path -// } -// -// /** -// * 根据菜单code跳转对应路由 -// * @param code 菜单code -// * @param params 路由params参数 -// * @param query 路由query参数 -// */ -// export const jumpPath = (code: string, params?: any, query?: any) => { -// const path = getMenu(code) -// if (path) { -// router.push({ -// path, params, query -// }) -// } else { -// console.warn(`menus中没有${code}`) -// } -// } \ No newline at end of file +}; \ No newline at end of file diff --git a/src/utils/menu.ts b/src/utils/menu.ts index d84be2d0..98332b79 100644 --- a/src/utils/menu.ts +++ b/src/utils/menu.ts @@ -178,7 +178,7 @@ const findDetailRouteItem = (code: string, url: string): Partial | nul const detailComponent = resolveComponent(`${code}/Detail`) if (detailComponent) { return { - url: `${url}/Detail/:id`, + url: `${url}/detail/:id`, code: `${code}/Detail`, component: detailComponent, name: '详情信息', From 754fe63fc150b9067179930613aeb964f0e419a3 Mon Sep 17 00:00:00 2001 From: xieyonghong <18010623010@163.com> Date: Wed, 22 Feb 2023 16:07:24 +0800 Subject: [PATCH 08/16] =?UTF-8?q?update:=20=E4=BC=98=E5=8C=96=E5=8C=97?= =?UTF-8?q?=E5=90=91=E8=BE=93=E5=87=BA=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/menu.ts | 14 +++++++++++--- src/views/Northbound/AliCloud/index.vue | 19 ++++++------------- src/views/Northbound/DuerOS/index.vue | 19 +++++-------------- 3 files changed, 22 insertions(+), 30 deletions(-) diff --git a/src/store/menu.ts b/src/store/menu.ts index 87937da4..6d77d988 100644 --- a/src/store/menu.ts +++ b/src/store/menu.ts @@ -74,12 +74,20 @@ export const useMenuStore = defineStore({ hasMenu(code: string) { return this.menus[code]?.path }, - jumpPage(code: string, params: Record, query: Record) { - const path = this.menus[code]?.path + /** + * 路由跳转 + * @param name 菜单code + * @param params 路由参数 + * @param query 路由参数 + */ + jumpPage(name: string, params?: Record, query?: Record) { + const path = this.hasMenu(name) if (path) { router.push({ - path, params, query + name, params, query }) + } else { + console.warn(`没有找到对应的页面: ${name}`) } }, queryMenuTree(isCommunity = false): Promise { diff --git a/src/views/Northbound/AliCloud/index.vue b/src/views/Northbound/AliCloud/index.vue index 52228bac..5300d43f 100644 --- a/src/views/Northbound/AliCloud/index.vue +++ b/src/views/Northbound/AliCloud/index.vue @@ -151,12 +151,15 @@ import { import type { ActionsType } from '@/components/Table/index.vue'; import { getImage } from '@/utils/comm'; import { message } from 'ant-design-vue'; +import { useMenuStore } from 'store/menu' const router = useRouter(); const instanceRef = ref>({}); const params = ref>({}); const current = ref>({}); +const menuStory = useMenuStore() + const statusMap = new Map(); statusMap.set('enabled', 'success'); statusMap.set('disabled', 'error'); @@ -209,19 +212,14 @@ const columns = [ * 新增 */ const handleAdd = () => { - router.push('/iot/northbound/AliCloud/detail/:id'); + menuStory.jumpPage('Northbound/AliCloud/Detail', { id: ':id'}) }; /** * 查看 */ const handleView = (id: string) => { - router.push({ - path: '/iot/northbound/AliCloud/detail/' + id, - query: { - type: 'view' - } - }); + menuStory.jumpPage('Northbound/AliCloud/Detail', { id }, { type: 'view'}) }; const getActions = ( @@ -249,12 +247,7 @@ const getActions = ( }, icon: 'EditOutlined', onClick: () => { - router.push({ - path: '/iot/northbound/AliCloud/detail/' + data.id, - query: { - type: 'edit' - } - }); + menuStory.jumpPage('Northbound/AliCloud/Detail', { id: data.id }, { type: 'edit'}) }, }, { diff --git a/src/views/Northbound/DuerOS/index.vue b/src/views/Northbound/DuerOS/index.vue index b1079742..e485aff5 100644 --- a/src/views/Northbound/DuerOS/index.vue +++ b/src/views/Northbound/DuerOS/index.vue @@ -147,11 +147,13 @@ import { query, _undeploy, _deploy, _delete, queryProductList, queryTypes } from import type { ActionsType } from '@/components/Table/index.vue'; import { getImage } from '@/utils/comm'; import { message } from 'ant-design-vue'; +import { useMenuStore } from 'store/menu' const router = useRouter(); const instanceRef = ref>({}); const params = ref>({}); const current = ref>({}); +const menuStory = useMenuStore() const statusMap = new Map(); statusMap.set('enabled', 'success'); @@ -236,20 +238,14 @@ const columns = [ * 新增 */ const handleAdd = () => { - router.push('/iot/northbound/DuerOS/detail/:id'); + menuStory.jumpPage('Northbound/DuerOS/Detail', { id: ':id'}) }; /** * 查看 */ const handleView = (id: string) => { - // router.push('/iot/northbound/DuerOS/detail/' + id); - router.push({ - path: '/iot/northbound/DuerOS/detail/' + id, - query: { - type: 'view', - }, - }); + menuStory.jumpPage('Northbound/DuerOS/Detail', { id }, { type: 'view' }) }; const getActions = ( @@ -277,12 +273,7 @@ const getActions = ( }, icon: 'EditOutlined', onClick: () => { - router.push({ - path: '/iot/northbound/DuerOS/detail/' + data.id, - query: { - type: 'edit', - }, - }); + menuStory.jumpPage('Northbound/DuerOS/Detail', { id: data.id }, { type: 'edit' }) }, }, { From 5c1506a4c4363f47003a04b912bcad86adbc81c7 Mon Sep 17 00:00:00 2001 From: JiangQiming <291854119@qq.com> Date: Wed, 22 Feb 2023 16:35:23 +0800 Subject: [PATCH 09/16] =?UTF-8?q?update:=20=E9=80=9A=E7=9F=A5=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/notice/Template/Detail/index.vue | 337 ++++++++++++++++++--- 1 file changed, 300 insertions(+), 37 deletions(-) diff --git a/src/views/notice/Template/Detail/index.vue b/src/views/notice/Template/Detail/index.vue index 257dd71d..09850394 100644 --- a/src/views/notice/Template/Detail/index.vue +++ b/src/views/notice/Template/Detail/index.vue @@ -44,10 +44,22 @@ /> + + + + + + + + + + + + + + +