| | |
| | | el |
| | | <template> |
| | | <div class="header"> |
| | | <img width="227px" height="74px" src="@/assets/home/logo.png" alt="" /> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="right"> |
| | | <el-tabs v-model="activeName" class="demo-tabs"> |
| | | <el-tab-pane label="工程招标" name="first"> |
| | | 工程招标 |
| | | <!-- <div class="item"> |
| | | <span |
| | | ><span style="color: #145ccd; font-weight: 600">·</span |
| | | >【四川省成都市】2024年石盘街道付家祠村粮油产业园区及配套基础设施建设项目磋商公告</span |
| | | > |
| | | <span>2024-04-15 18:10</span> |
| | | </div> |
| | | <div class="item"> |
| | | <span |
| | | ><span style="color: #145ccd; font-weight: 600">·</span |
| | | >【四川省成都市】熊猫谷游客中心局部改造项目磋商公告</span |
| | | > |
| | | <span>2024-04-15 18:10</span> |
| | | </div> |
| | | <div class="item"> |
| | | <span |
| | | ><span style="color: #145ccd; font-weight: 600">·</span |
| | | >【四川省成都市】丹景街道民湖社区红白喜事服务场所磋商公告</span |
| | | > |
| | | <span>2024-04-15 18:10</span> |
| | | </div> |
| | | <div class="item"> |
| | | <span |
| | | ><span style="color: #145ccd; font-weight: 600">·</span |
| | | >【四川省成都市】成都东部新区三岔湖高级中学体艺中心前临时停车区和正校门两侧门卫室间区域黑化及排水提升解除内涝项目磋商公告</span |
| | | > |
| | | <span>2024-04-15 18:10</span> |
| | | </div> |
| | | <div class="item"> |
| | | <span |
| | | ><span style="color: #145ccd; font-weight: 600">·</span |
| | | >【四川省成都市】四川省成都戒毒康复所病残戒毒人员康复活动中心维修改造项目第二次磋商公告</span |
| | | > |
| | | <span>2024-04-15 18:10</span> |
| | | </div> |
| | | <div class="item"> |
| | | <span |
| | | ><span style="color: #145ccd; font-weight: 600">·</span |
| | | >【四川省成都市】老干部活动中心装修改造项目磋商公告</span |
| | | > |
| | | <span>2024-04-15 18:10</span> |
| | | </div> |
| | | <div class="item"> |
| | | <span |
| | | ><span style="color: #145ccd; font-weight: 600">·</span |
| | | >【四川省成都市】金牛区抢险救灾工程项目工程队伍储备库(房建、市政类)招标公告</span |
| | | > |
| | | <span>2024-04-15 18:10</span> |
| | | </div> --> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="货物招标" name="second">货物招标</el-tab-pane> |
| | | <el-tab-pane label="服务招标" name="third">服务招标</el-tab-pane> |
| | | <el-tab-pane label="网上竞价" name="fourth">网上竞价</el-tab-pane> |
| | | </el-tabs> |
| | | <!-- <el-tabs v-model="activeName" class="demo-tabs"> |
| | | <el-tab-pane label="意向公开" name="first"> |
| | | 意向公开 --> |
| | | <div class="item"> |
| | | <span |
| | | ><span style="color: #145ccd; font-weight: 600">·</span |
| | | >【四川省成都市】2024年石盘街道付家祠村粮油产业园区及配套基础设施建设项目磋商公告</span |
| | | > |
| | | <span>2024-04-15 18:10</span> |
| | | </div> |
| | | <div class="item"> |
| | | <span |
| | | ><span style="color: #145ccd; font-weight: 600">·</span |
| | | >【四川省成都市】熊猫谷游客中心局部改造项目磋商公告</span |
| | | > |
| | | <span>2024-04-15 18:10</span> |
| | | </div> |
| | | <div class="item"> |
| | | <span |
| | | ><span style="color: #145ccd; font-weight: 600">·</span |
| | | >【四川省成都市】丹景街道民湖社区红白喜事服务场所磋商公告</span |
| | | > |
| | | <span>2024-04-15 18:10</span> |
| | | </div> |
| | | <div class="item"> |
| | | <span |
| | | ><span style="color: #145ccd; font-weight: 600">·</span |
| | | >【四川省成都市】成都东部新区三岔湖高级中学体艺中心前临时停车区和正校门两侧门卫室间区域黑化及排水提升解除内涝项目磋商公告</span |
| | | > |
| | | <span>2024-04-15 18:10</span> |
| | | </div> |
| | | <div class="item"> |
| | | <span |
| | | ><span style="color: #145ccd; font-weight: 600">·</span |
| | | >【四川省成都市】四川省成都戒毒康复所病残戒毒人员康复活动中心维修改造项目第二次磋商公告</span |
| | | > |
| | | <span>2024-04-15 18:10</span> |
| | | </div> |
| | | <div class="item"> |
| | | <span |
| | | ><span style="color: #145ccd; font-weight: 600">·</span |
| | | >【四川省成都市】老干部活动中心装修改造项目磋商公告</span |
| | | > |
| | | <span>2024-04-15 18:10</span> |
| | | </div> |
| | | <div class="item"> |
| | | <span |
| | | ><span style="color: #145ccd; font-weight: 600">·</span |
| | | >【四川省成都市】金牛区抢险救灾工程项目工程队伍储备库(房建、市政类)招标公告</span |
| | | > |
| | | <span>2024-04-15 18:10</span> |
| | | </div> |
| | | <div class="item"> |
| | | <span |
| | | ><span style="color: #145ccd; font-weight: 600">·</span |
| | | >【四川省成都市】金牛区抢险救灾工程项目工程队伍储备库(房建、市政类)招标公告</span |
| | | > |
| | | <span>2024-04-15 18:10</span> |
| | | </div> |
| | | <!-- </el-tab-pane> |
| | | <el-tab-pane label="工程招标" name="second">工程招标</el-tab-pane> |
| | | <el-tab-pane label="货物招标" name="third">货物招标</el-tab-pane> |
| | | <el-tab-pane label="服务招标" name="fourth">服务招标</el-tab-pane> |
| | | <el-tab-pane label="网上竞价" name="fourth1">网上竞价</el-tab-pane> |
| | | </el-tabs> --> |
| | | </div> |
| | | </div> |
| | | <div class="daixie"> |
| | |
| | | <div class="user"> |
| | | <div class="all"> |
| | | <div class="left"> |
| | | <div class="item item1"> |
| | | <div v-for="item in state.roleList" :key="item.id" class="item item1"> |
| | | <div class="box"> |
| | | <img |
| | | width="18px" |
| | |
| | | src="@/assets/home/car1.png" |
| | | alt="" |
| | | /> |
| | | 采购人/招标人 |
| | | {{ item.name }} |
| | | </div> |
| | | <div>注册<span class="m-2">|</span>登录</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="box"> |
| | | <img |
| | | width="18px" |
| | | height="18px" |
| | | src="@/assets/home/car.png" |
| | | alt="" |
| | | /> |
| | | 采购人 |
| | | <div> |
| | | <el-link |
| | | v-if="state.rolesCode.indexOf(item.code) !== -1" |
| | | :underline="false" |
| | | class="hover:cursor-pointer" |
| | | @click="logOut" |
| | | >退出</el-link |
| | | > |
| | | <el-link |
| | | v-else-if="!state.accessToken" |
| | | :underline="false" |
| | | class="hover:cursor-pointer" |
| | | @click="toRegister" |
| | | >注册</el-link |
| | | > |
| | | <el-link |
| | | v-else |
| | | :underline="false" |
| | | class="hover:cursor-pointer" |
| | | @click="toApply" |
| | | >申请</el-link |
| | | ><span class="m-2">|</span> |
| | | <el-link |
| | | v-if="state.rolesCode.indexOf(item.code) !== -1" |
| | | :underline="false" |
| | | class="hover:cursor-pointer" |
| | | @click="toWelcome(item)" |
| | | >进入</el-link |
| | | > |
| | | <el-link |
| | | v-else |
| | | :underline="false" |
| | | class="hover:cursor-pointer" |
| | | :disabled="!!state.accessToken" |
| | | @click="toLogin(item)" |
| | | >登录</el-link |
| | | > |
| | | </div> |
| | | <div>注册<span class="m-2">|</span>登录</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="box"> |
| | | <img |
| | | width="18px" |
| | | height="18px" |
| | | src="@/assets/home/car.png" |
| | | alt="" |
| | | />招标代理机构 |
| | | </div> |
| | | <div>注册<span class="m-2">|</span>登录</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="box"> |
| | | <img |
| | | width="18px" |
| | | height="18px" |
| | | src="@/assets/home/car.png" |
| | | alt="" |
| | | />供应商 |
| | | </div> |
| | | <div>注册<span class="m-2">|</span>登录</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="box"> |
| | | <img |
| | | width="18px" |
| | | height="18px" |
| | | src="@/assets/home/car.png" |
| | | alt="" |
| | | />评审专家 |
| | | </div> |
| | | <div>注册<span class="m-2">|</span>登录</div> |
| | | </div> |
| | | </div> |
| | | <div class="right" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="more"> |
| | | <div class="content"> |
| | | <div class="item"> |
| | |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import { ref } from "vue"; |
| | | import { onMounted, ref, computed, reactive } from "vue"; |
| | | import myFooter from "./component/myFooter.vue"; |
| | | import { useUserStoreHook } from "@/store/modules/user"; |
| | | import { exRole } from "@/api/register/index.ts"; |
| | | import { storageLocal, isString, isIncludeAllChildren } from "@pureadmin/utils"; |
| | | |
| | | import { getToken } from "@/utils/auth"; |
| | | import { useRoute, useRouter } from "vue-router"; |
| | | const router = useRouter(); |
| | | import { useUserStore } from "@/store/modules/user"; |
| | | |
| | | const userStore = useUserStore(); |
| | | |
| | | // 访问 state 属性 |
| | | console.log(userStore.roles,'-'); // 直接获取值 |
| | | defineOptions({ |
| | | name: "Main" |
| | | }); |
| | | let activeName = ref("first"); |
| | | /** 角色(如果昵称为空则显示用户名) */ |
| | | const getUseRoles = () => { |
| | | state.userInfo = storageLocal().getItem("user-info"); |
| | | state.userInfo?.exRoles.forEach(element => { |
| | | state.rolesCode.push(element.code); |
| | | }); |
| | | }; |
| | | const state = reactive({ |
| | | roleList: [], |
| | | rolesCode: [], |
| | | userInfo: {}, |
| | | accessToken: "" |
| | | }); |
| | | onMounted(() => { |
| | | exRole().then(res => { |
| | | state.roleList = res.result; |
| | | }); |
| | | getUseRoles(); |
| | | state.accessToken = getToken()?.accessToken; |
| | | }); |
| | | |
| | | const toRegister = () => { |
| | | router.push({ name: "Register" }); |
| | | }; |
| | | // 退出 |
| | | const logOut = () => { |
| | | useUserStoreHook().logOut(); |
| | | }; |
| | | // 申请 |
| | | const toApply = () => {}; |
| | | // 去首页 |
| | | const toWelcome = item => { |
| | | let role = state.userInfo?.exRoles.find(ele => { |
| | | return item.code == ele.code; |
| | | }); |
| | | console.log(role); |
| | | if (role.hasFlsh) { |
| | | return router.push({ name: "Welcome" }); |
| | | } |
| | | router.push({ name: "RegisterNav", query: { code: role.code } }); |
| | | }; |
| | | // 去登录 |
| | | const toLogin = item => { |
| | | router.push({ name: "Login", query: item }); |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | padding: 40px 0; |
| | | .all { |
| | | width: 72%; |
| | | height: 482px; |
| | | height: 385px; |
| | | background: #fff; |
| | | margin: 0 auto; |
| | | display: flex; |
| | |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | padding: 0 30px; |
| | | height: 20%; |
| | | height: 23%; |
| | | text-align: left; |
| | | color: #5f5f5f; |
| | | // box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; |
| | | border-radius: 6px; |
| | | margin-bottom: 10px; |
| | | .box { |
| | | display: flex; |
| | | justify-content: center; |
| | |
| | | color: #ffffff; |
| | | } |
| | | } |
| | | .left :first-child { |
| | | border-top-left-radius: 8px; |
| | | border-top-right-radius: 8px; |
| | | } |
| | | .left *:not(:first-child):not(:last-child) { |
| | | border-bottom: #c6c6c6 1px solid; |
| | | } |
| | | // .left :first-child { |
| | | // border-top-left-radius: 8px; |
| | | // border-top-right-radius: 8px; |
| | | // } |
| | | // .left *:not(:first-child):not(:last-child) { |
| | | // border-bottom: #c6c6c6 1px solid; |
| | | // } |
| | | .right { |
| | | background: #a9b3c4; |
| | | width: 75%; |
| | |
| | | border-radius: 4px; |
| | | } |
| | | } |
| | | a { |
| | | font-size: 16px; |
| | | |
| | | // font-weight: 600; |
| | | color: #fff; |
| | | } |
| | | a:hover, |
| | | a:active { |
| | | color: #fff; |
| | | } |
| | | .el-link.is-disabled { |
| | | color: #a8abb2; |
| | | cursor: not-allowed; |
| | | } |
| | | </style> |