|
@@ -1,6 +1,6 @@
|
|
|
<template>
|
|
|
- <div>
|
|
|
- <div class="top" v-if="fromL.admin.banner && fromL.admin.banner.length == 0">
|
|
|
+ <div class="topPageCon">
|
|
|
+ <div class="top" v-if="(fromL.admin.banner && fromL.admin.banner.length == 0) || !fromL.admin.banner">
|
|
|
<div class="topBlock">
|
|
|
<div class="topTit" style="display: flex;">
|
|
|
<div>欢迎使用</div>
|
|
@@ -21,7 +21,7 @@
|
|
|
:src="fromL.admin.banner[0].src" alt="" @click="gotoBanner(fromL.admin.banner[0].url)">
|
|
|
</div>
|
|
|
|
|
|
- <div style="border-radius: 10px;overflow: hidden;" v-if="fromL.admin.banner && fromL.admin.banner.length > 1">
|
|
|
+ <div class="CarO" style="border-radius: 10px;overflow: hidden;" v-if="fromL.admin.banner && fromL.admin.banner.length > 1">
|
|
|
<el-carousel style="width: 100%;" indicator-position="outside">
|
|
|
<el-carousel-item v-for="(i,index) in fromL.admin.banner" :key="index">
|
|
|
<img style="width: 100%;height: 100%;object-fit: cover;border-radius: 10px;"
|
|
@@ -42,7 +42,9 @@
|
|
|
:key="index+'1p'">
|
|
|
<div class="TabListCon">
|
|
|
<div v-for="(p,pin) in AppCon(item.url)" :key="pin+'p'">
|
|
|
- <img class="imgApp" v-if="tabList[index].hovered ? p.hoverIcon : p.platformIcon" :src="tabList[index].hovered ? p.hoverIcon : p.platformIcon" alt="">
|
|
|
+
|
|
|
+ <img class="imgApp"
|
|
|
+ :src="tabList[index].hovered ? p.hoverIcon ? p.hoverIcon : p.platformIcon : p.platformIcon" alt="">
|
|
|
<div class="TabListName">
|
|
|
{{ p.name }}
|
|
|
</div>
|
|
@@ -54,7 +56,6 @@
|
|
|
</span>
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
|
-
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
@@ -64,6 +65,9 @@
|
|
|
<div class="footCon">
|
|
|
<div class="footConLeft">
|
|
|
<img src="../assets/img/dong.png" alt="">
|
|
|
+ <div class="CocoTit">
|
|
|
+ COCO FLOW
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
<div style="display: flex;gap: 16px;flex: 1;">
|
|
@@ -71,10 +75,11 @@
|
|
|
<div class="footListCon" v-for="(item,index) in admincocoFlow" @click="openNewWindow(item)" :key="index+'2p'">
|
|
|
<div class="footListConimg">
|
|
|
<img v-if="!fromL.admin.cocoFlow.length"
|
|
|
- style="margin-bottom: 12px;height: 24px;width: 22px;"
|
|
|
+ style="margin-bottom: 12px;height: 30px;width: 30px;object-fit: contain;"
|
|
|
:src="appImgList[index]" alt="">
|
|
|
+
|
|
|
<img
|
|
|
- style="margin-bottom: 12px;height: 24px;width: 22px;"
|
|
|
+ style="margin-bottom: 12px;height: 30px;width: 30px;object-fit: contain;"
|
|
|
v-else :src="JSON.parse(item.json).icon" alt="">
|
|
|
</div>
|
|
|
|
|
@@ -92,17 +97,12 @@
|
|
|
</div> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
-
|
|
|
+<!--
|
|
|
<div class="footList2">
|
|
|
<div class="footList2Tit">
|
|
|
- 常见应用
|
|
|
+ 常用应用
|
|
|
</div>
|
|
|
- <div v-for="(i,index) in (4 - CocoFlowList.length)" @click="openUsuallyApp"
|
|
|
- :key="index+'3p'" class="footListCon2">
|
|
|
- <div style="margin-bottom: 8px;font-size: 40px;color: #0354D7;">
|
|
|
- <img src="../assets/img/add.svg" alt="">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+
|
|
|
<div class="footListCon6" v-for="(item,index) in CocoFlowList" @click="openNewWindow(item)" :key="index+'4p'">
|
|
|
<div class="footListConimg">
|
|
|
<img style="margin-bottom: 12px;height: 24px;width: 22px;" :src="JSON.parse(item.json).icon" alt="">
|
|
@@ -119,7 +119,14 @@
|
|
|
<img style="width: 15px;" src="../assets/img/cha.svg" alt="">
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+
|
|
|
+ <div v-for="(i,index) in (4 - CocoFlowList.length)" @click="openUsuallyApp"
|
|
|
+ :key="index+'3p'" class="footListCon2">
|
|
|
+ <div style="margin-bottom: 8px;font-size: 40px;color: #0354D7;">
|
|
|
+ <img src="../assets/img/add.svg" alt="">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div> -->
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
@@ -181,10 +188,12 @@ import { API_CONFIG } from "@/common/apiConfig";
|
|
|
return function(c) {
|
|
|
let k = JSON.parse(JSON.stringify(c))
|
|
|
|
|
|
+ // 获取属于区域的url
|
|
|
let data = k.filter(e=>{
|
|
|
return e.region == this.roleUser.schoolArea || e.region == this.roleUser.orgArea
|
|
|
})
|
|
|
|
|
|
+ // 设置默认的区域的url(所在区域没有hover图标默认使用cn图标)
|
|
|
let data2 = k.filter(e=>{
|
|
|
return e.region == 'cn'
|
|
|
})
|
|
@@ -198,26 +207,7 @@ import { API_CONFIG } from "@/common/apiConfig";
|
|
|
return data
|
|
|
};
|
|
|
},
|
|
|
- // 筛选是否为管理员可见,是否被删除
|
|
|
- appSignL(){
|
|
|
- return function(val){
|
|
|
- let data = []
|
|
|
- if (this.roleUser.type == 1 && this.roleUser.role == 1) {
|
|
|
- val.forEach( e =>{
|
|
|
- if (e.menuName || e.status == 0) {
|
|
|
- data.push(e)
|
|
|
- }
|
|
|
- })
|
|
|
- } else {
|
|
|
- val.forEach( e =>{
|
|
|
- if (e.menuName || (e.isAdmin == '0' && e.status == 0)) {
|
|
|
- data.push(e)
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
- return data
|
|
|
- }
|
|
|
- },
|
|
|
+
|
|
|
// 判断是否被添加过
|
|
|
isAdd(){
|
|
|
return function(val){
|
|
@@ -415,20 +405,19 @@ import { API_CONFIG } from "@/common/apiConfig";
|
|
|
// 用户是管理员全部展示
|
|
|
if (this.roleUser.type == 1 && this.roleUser.role == 1) {
|
|
|
val.forEach( e =>{
|
|
|
- if (e.menuName || e.status == 0) {
|
|
|
+ if (e.status == 0) {
|
|
|
data.push(e)
|
|
|
}
|
|
|
})
|
|
|
} else {
|
|
|
// 用户不是管理员,判断是否为用户可见 isAdmin 0普通用户 status是否被删除
|
|
|
val.forEach( e =>{
|
|
|
- if (e.menuName || (e.isAdmin == '0' && e.status == 0)) {
|
|
|
+ if (e.isAdmin == '0' && e.status == 0) {
|
|
|
data.push(e)
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-
|
|
|
this.tabList = data
|
|
|
console.log('this.tabList',this.tabList);
|
|
|
|
|
@@ -542,7 +531,25 @@ import { API_CONFIG } from "@/common/apiConfig";
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
+
|
|
|
<style scoped>
|
|
|
+
|
|
|
+ /*指示器按钮*/
|
|
|
+.CarO >>> .el-carousel__button {
|
|
|
+ width: 10px;
|
|
|
+ height: 10px;
|
|
|
+ border: none;
|
|
|
+ border-radius: 50%;
|
|
|
+ background-color: rgba(0, 0, 0, 0.2);
|
|
|
+}
|
|
|
+/*指示器激活按钮*/
|
|
|
+.CarO >>> .is-active .el-carousel__button {
|
|
|
+ background: #0663FE;
|
|
|
+}
|
|
|
+.topPageCon{
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+}
|
|
|
/* 顶部区域 */
|
|
|
.topBlock{
|
|
|
display: flex;
|
|
@@ -562,16 +569,12 @@ import { API_CONFIG } from "@/common/apiConfig";
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
/* 平台应用 */
|
|
|
.TabList{
|
|
|
display: grid;
|
|
|
grid-template-columns: repeat(3, 1fr);
|
|
|
gap: 20px; /* 网格间距 */
|
|
|
- margin-top: 10px;
|
|
|
+ margin: 16px 0 30px;
|
|
|
}
|
|
|
|
|
|
.TabListAll{
|
|
@@ -651,11 +654,12 @@ import { API_CONFIG } from "@/common/apiConfig";
|
|
|
/* 常见应用样式 */
|
|
|
.footCon{
|
|
|
display: flex;
|
|
|
- height: 350px;
|
|
|
+ /* padding-top: 30px; */
|
|
|
+ /* height: 350px; */
|
|
|
justify-content: space-between;
|
|
|
box-sizing: border-box;
|
|
|
border-radius: 10px;
|
|
|
- margin: 80px 0;
|
|
|
+ /* margin: 80px 0; */
|
|
|
/* background-image: radial-gradient(#E6F0FF 1px, transparent 1px); */
|
|
|
background-size: 20px 20px;
|
|
|
}
|
|
@@ -666,11 +670,28 @@ import { API_CONFIG } from "@/common/apiConfig";
|
|
|
min-width: 150px;
|
|
|
box-sizing: border-box;
|
|
|
display: flex;
|
|
|
- align-items: center;
|
|
|
+ flex-direction: column;
|
|
|
+ padding-right: 40px;
|
|
|
}
|
|
|
.footConLeft img{
|
|
|
min-width: 150px;
|
|
|
- object-view-box: inset(0% 0% 0% 30px);
|
|
|
+ object-view-box: inset(0% 12px 30px 30px);
|
|
|
+}
|
|
|
+.CocoTit{
|
|
|
+ width: 100%;
|
|
|
+ min-width: 150px;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 20px;
|
|
|
+ letter-spacing: 10%;
|
|
|
+ height: 83px;
|
|
|
+ padding: 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ line-height: 83px;
|
|
|
+ background: #0663FE;
|
|
|
+ border-radius: 12px;
|
|
|
+ color: #fff;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/* 中间后面设置应用 */
|