From 8628ac19e720c39194b60f1b0028b9aaddc16a00 Mon Sep 17 00:00:00 2001 From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com> Date: 星期五, 27 六月 2025 09:58:43 +0800 Subject: [PATCH] 添加文件 --- src/views/components/loginForm.vue | 132 ++++++++++++++++++++------------------------ 1 files changed, 60 insertions(+), 72 deletions(-) diff --git a/src/views/components/loginForm.vue b/src/views/components/loginForm.vue index e6d1833..4c05aa3 100644 --- a/src/views/components/loginForm.vue +++ b/src/views/components/loginForm.vue @@ -46,13 +46,9 @@ <img :src="codeUrl" @click="getCode" class="login-code-img"/> </div> </el-form-item> - <!-- <el-radio-group v-model="loginForm.role" class="mb5">--> - <!-- <el-radio :label="0" size="large">监管部门</el-radio>--> - <!-- <el-radio :label="1" size="large">机构管理员</el-radio>--> - <!-- </el-radio-group>--> <div style="display: flex;justify-content: space-between;align-items: center;margin-bottom: 25px"> <div class="btn-cont"> - <button class="login-btn" @click.prevent="handleLogin"> + <button class="login-btn" @click.prevent="handleLogin" v-preReClick> <span v-if="!loading">登 录</span> <span v-else>登 录 中...</span> </button> @@ -63,8 +59,11 @@ </div> </el-form> <div class="other-btns"> - <el-button link type="primary" style="color: #fff" @click="openApply()">专家申请</el-button> - <el-button link type="primary" style="color: #fff" @click="openCheck">专家评定进度查询</el-button> + <el-button link type="primary" style="color: #fff" @click="openApply()" v-preReClick>专家申请</el-button> + <el-button link type="primary" style="color: #fff" @click="openCheck" v-preReClick>专家评定进度查询</el-button> + </div> + <div class="other-btns" style="margin-top: 10px"> + <el-button link type="primary" style="color: #fff;text-decoration: underline" @click="openFile()" v-preReClick>2025年第三方评定工作的通知</el-button> </div> </div> </el-col> @@ -74,16 +73,19 @@ </template> <script setup> -import {onMounted, ref, watch, defineAsyncComponent, nextTick} from "vue" +import {onMounted, ref, watch, defineAsyncComponent, nextTick, computed} from "vue" import { getCodeImg } from "@/api/login"; +import {getSettings} from "@/api/backManage/evaluate"; import Cookies from "js-cookie"; import { encrypt, decrypt } from "@/utils/jsencrypt"; import useUserStore from '@/store/modules/user' import { Register } from "@/layout/components"; import { Base64 } from 'js-base64' -import menu from "@/layout/components/Sidebar/menu"; import ExpertForm from "../safetyReview/expertManage/applyRecords/components/expertForm"; - +import usePermissionStore from '@/store/modules/permission' +import {ElMessage} from "element-plus"; +const permissionStore = usePermissionStore() +const sidebarRouters = computed(() => permissionStore.sidebarRouters); const userStore = useUserStore() const route = useRoute(); const router = useRouter(); @@ -93,8 +95,7 @@ username: "", password: "", code: "", - uuid: "", - role: 0 + uuid: "" }); const loginRules = { @@ -108,12 +109,13 @@ const regRef = ref(null) // 验证码开关 const captchaEnabled = ref(true); +const applyStatus = ref('1') // 注册开关 const isRegister = ref(true); const redirect = ref(undefined); onMounted(()=>{ - Cookies.remove("userState"); + }) const openRegist = ()=>{ @@ -124,18 +126,32 @@ redirect.value = newRoute.query && newRoute.query.redirect; }, { immediate: true }); - -const sidebarRouters = ref([]) - - +const openFile =()=>{ + window.open('noticeFile.pdf', '_blank') +} const expertFormRef = ref() -const openApply = () => { - // expertFormRef.value.openApply(type, value) - const routePath = '/fillForm'; - const resolvedRoute = router.resolve(routePath); - const fullPath = resolvedRoute.href - window.open(fullPath, '_blank'); + +const getApplyStatus = async ()=>{ + const res = await getSettings() + if(res.code == 200){ + return res.data + }else{ + ElMessage.warning(res.msg) + return '0' + } +} + +const openApply = async () => { + const status = await getApplyStatus(); + if(status == '1'){ + const routePath = '/fillForm'; + const resolvedRoute = router.resolve(routePath); + const fullPath = resolvedRoute.href + window.open(fullPath, '_blank'); + }else{ + ElMessage.warning('抱歉,专家申请暂未开启,请联系相关人员进行处理') + } } @@ -154,7 +170,8 @@ // 勾选了需要记住密码设置在 cookie 中设置记住用户名和密码 // if (loginForm.value.rememberMe) { Cookies.set("username", loginForm.value.username, { expires: 30 }); - Cookies.set("password", encrypt(loginForm.value.password), { expires: 30 }); + Cookies.set("password", loginForm.value.password, { expires: 30 }); + // Cookies.set("password", encrypt(loginForm.value.password), { expires: 30 }); // Cookies.set("rememberMe", loginForm.value.rememberMe, { expires: 30 }); // } else { // 否则移除 @@ -166,48 +183,19 @@ // loginForm.value.password = Base64.encode(loginForm.value.password) const param = { username: loginForm.value.username, - password: Base64.encode(loginForm.value.password), + password: loginForm.value.password, code: loginForm.value.code, uuid: loginForm.value.uuid, - identity: loginForm.value.role } userStore.login(param).then(() => { - // const query = route.query; - // const otherQueryParams = Object.keys(query).reduce((acc, cur) => { - // if (cur !== "redirect") { - // acc[cur] = query[cur]; - // } - // return acc; - // }, {}); - const userInfo = JSON.parse(Cookies.get('userInfo')) - if(userInfo.identity === 0 ) { - //监管用户 - sidebarRouters.value = menu.adminMenu - Cookies.set('routers',JSON.stringify(sidebarRouters.value)) - }else if(userInfo.identity === 1) { - const userState = JSON.parse(Cookies.get('userState')) - console.log("userState",userState) - //机构用户 - //未审核状态不显示菜单 - if(userState !==2 ){ - sidebarRouters.value = menu.noMenu - Cookies.set('routers',JSON.stringify(sidebarRouters.value)) - }else { - sidebarRouters.value = menu.agencyMenu - Cookies.set('routers',JSON.stringify(sidebarRouters.value)) - } + const query = route.query; + const otherQueryParams = Object.keys(query).reduce((acc, cur) => { + if (cur !== "redirect") { + acc[cur] = query[cur]; } - let path = "" - if(sidebarRouters.value[0].children && sidebarRouters.value[0].children.length > 0){ - path = sidebarRouters.value[0].path + '/'+ sidebarRouters.value[0].children[0].path - }else { - path = sidebarRouters.value[0].path - } - - router.push({ - path: path - }) - // router.push({ path: redirect.value || "/", query: otherQueryParams }); + return acc; + }, {}); + router.push({ path: redirect.value || "/", query: otherQueryParams }); }).catch(() => { loading.value = false; // 重新获取验证码 @@ -221,22 +209,22 @@ function getCode() { getCodeImg().then(res => { - captchaEnabled.value = res.data.captchaEnabled === undefined ? true : res.captchaEnabled + captchaEnabled.value = res.captchaEnabled === undefined ? true : res.captchaEnabled if (captchaEnabled.value) { - codeUrl.value = "data:image/gif;base64," + res.data.image - loginForm.value.uuid = res.data.uuid + codeUrl.value = "data:image/gif;base64," + res.img + loginForm.value.uuid = res.uuid } }); } -// function getCookie() { -// const username = Cookies.get("username") -// const password = Cookies.get("password") -// loginForm.value = { -// username: username === undefined ? loginForm.value.username : username, -// password: password === undefined ? loginForm.value.password : decrypt(password), -// }; -// } +function getCookie() { + const username = Cookies.get("username") + const password = Cookies.get("password") + loginForm.value = { + username: username === undefined ? loginForm.value.username : username, + password: password === undefined ? loginForm.value.password : decrypt(password), + }; +} getCode(); // getCookie(); -- Gitblit v1.9.2