diff --git a/src/assets/images/login/arrow-active.png b/src/assets/images/login/arrow-active.png new file mode 100644 index 0000000..cb83b99 Binary files /dev/null and b/src/assets/images/login/arrow-active.png differ diff --git a/src/router/modules/message.ts b/src/router/modules/message.ts new file mode 100644 index 0000000..3adfb5b --- /dev/null +++ b/src/router/modules/message.ts @@ -0,0 +1,42 @@ +import type { RouteRecordRaw } from 'vue-router' +import { Layout } from '@/router/constant' + +/** + * @param name 路由名称, 必须设置,且不能重名 + * @param meta 路由元信息(路由附带扩展信息) + * @param redirect 重定向地址, 访问这个路由时,自定进行重定向 + * @param meta.disabled 禁用整个菜单 + * @param meta.title 菜单名称 + * @param meta.icon 菜单图标 + * @param meta.keepAlive 缓存该路由 + * @param meta.sort 排序越小越排前 + * + */ +const routes: Array = [ + { + path: '/', + name: 'message', + redirect: '/message', + component: Layout, + meta: { + title: '消息通知', + permissions: ['worksheet-main'], + svgname: 'worksheet', + svgsize: 22, + sort: 2, + disabled: true, + }, + children: [ + { + path: 'message', + name: 'message-main', + meta: { + title: 'message', + }, + component: () => import('@/views/message/index.vue'), + }, + ], + }, +] + +export default routes diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 28f42b5..aa15b27 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -29,7 +29,7 @@ const router = useRouter() const route = useRoute() const show = ref(true) const showForget = ref(true) -const ifLogin = ref(false) +const ifLogin = ref(true) const formInline: FormState = reactive({ enterprisecode: '三方系统标识8', @@ -38,77 +38,10 @@ const formInline: FormState = reactive({ captcha: '', }) -const rules = { - enterprisecode: { required: true, message: '请输入企业编码', trigger: 'blur' }, - username: { required: true, message: '请输入用户名', trigger: 'blur' }, - password: { required: true, message: '请输入密码', trigger: 'blur' }, - captcha: { required: true, message: '请输入验证码', trigger: 'blur' }, -} - -function handleSubmit(e) { - e.preventDefault() - formRef.value.validate(async (errors) => { - if (!errors) { - const { username, password, enterprisecode, captcha } = formInline - message.loading('登录中...') - loading.value = true - - const params = { - logincode: captcha, - username, - password, - codetoken: userStore.getCapToken, - agentcode: enterprisecode, - } - - try { - const { code, message: msg } = await userStore.login(params) - await userStore.getInformation() - const response = await getFilter() - - // 添加个默认显示配置 - if (response.data === null) { - const systemConfig = await getConfig() - const onList: string[] = [] - Object.keys(systemConfig.data).forEach((key) => { - // 系统配置开启且个人配置开启 - if (key.startsWith('iz') && systemConfig.data[key] === 'Y' && asideMap[key]?.isDefaultFilter) - onList.push(key) - }) - await setFilter({ searchcount: onList.join(',') }) - } - - message.destroyAll() - if (code === ResultEnum.SUCCESS) { - const toPath = decodeURIComponent((route.query?.redirect || '/') as string) - message.success('登录成功,即将进入系统') - if (route.name === LOGIN_NAME) - router.replace('/') - else router.replace(toPath) - } - else { - message.info(msg || '登录失败') - } - } - finally { - loading.value = false - } - } - else { - message.error('请填写完整信息,并且进行验证码校验') - } - }) -} - function showLogin() { show.value = true } -function forget() { - show.value = false - showForget.value = true -} - function close() { show.value = false ifLogin.value = true diff --git a/src/views/message/aside/Aside.vue b/src/views/message/aside/Aside.vue new file mode 100644 index 0000000..c672d72 --- /dev/null +++ b/src/views/message/aside/Aside.vue @@ -0,0 +1,163 @@ + + + + + +../types diff --git a/src/views/message/aside/ListItem.vue b/src/views/message/aside/ListItem.vue new file mode 100644 index 0000000..92f023e --- /dev/null +++ b/src/views/message/aside/ListItem.vue @@ -0,0 +1,90 @@ + + + + + +../types diff --git a/src/views/message/aside/WorkSheetList.vue b/src/views/message/aside/WorkSheetList.vue new file mode 100644 index 0000000..29e8382 --- /dev/null +++ b/src/views/message/aside/WorkSheetList.vue @@ -0,0 +1,37 @@ + + + + + +../types diff --git a/src/views/message/content/Content.vue b/src/views/message/content/Content.vue new file mode 100644 index 0000000..d46ab37 --- /dev/null +++ b/src/views/message/content/Content.vue @@ -0,0 +1,515 @@ + + + + + diff --git a/src/views/message/content/Detail.vue b/src/views/message/content/Detail.vue new file mode 100644 index 0000000..ac1ac77 --- /dev/null +++ b/src/views/message/content/Detail.vue @@ -0,0 +1,345 @@ + + + + + diff --git a/src/views/message/index.vue b/src/views/message/index.vue new file mode 100644 index 0000000..ed865b0 --- /dev/null +++ b/src/views/message/index.vue @@ -0,0 +1,25 @@ + + + + + diff --git a/src/views/message/modal/ConfrimModal.vue b/src/views/message/modal/ConfrimModal.vue new file mode 100644 index 0000000..0873fc2 --- /dev/null +++ b/src/views/message/modal/ConfrimModal.vue @@ -0,0 +1,167 @@ + + + + + diff --git a/src/views/message/modal/CustomFieldModal.vue b/src/views/message/modal/CustomFieldModal.vue new file mode 100644 index 0000000..523a6f2 --- /dev/null +++ b/src/views/message/modal/CustomFieldModal.vue @@ -0,0 +1,384 @@ + + + + +