This commit is contained in:
xiao-fajia 2024-08-01 19:22:38 +08:00
commit e0310b7f21
12 changed files with 1299 additions and 31 deletions

View File

@ -1,12 +1,12 @@
# 页面标题
VUE_APP_TITLE = 后台管理系统
VUE_APP_TITLE = 虚拟仿真实验教学中心
# 开发环境配置
ENV = 'development'
# 若依管理系统/开发环境
# VUE_APP_BASE_API = 'https://f382b38516.zicp.fun'
VUE_APP_BASE_API = 'http://localhost:8080'
VUE_APP_BASE_API = 'https://f382b38516.zicp.fun'
# 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true

View File

@ -15,3 +15,9 @@ export function getPageColumn(data) {
data
})
}
export function getContent(id) {
return request({
url: '/api/content/' + id ,
method: 'get',
})
}

View File

@ -8,7 +8,7 @@ import { isRelogin } from '@/utils/request'
NProgress.configure({ showSpinner: false })
const whiteList = ['/login', '/register', '/gw', '/sb','/about','/platform','/teaching','/team','/committee','/competition','/contact' ]
const whiteList = ['/login', '/register', '/virtually', '/sb','/about','/platform','/teaching','/team','/committee','/competition','/contact','/details','/about' ]
router.beforeEach((to, from, next) => {
NProgress.start()

View File

@ -42,15 +42,21 @@ export const constantRoutes = [
]
},
{
path: '/gw',
name:'gw',
path: '/virtually',//首页
name:'virtually',
component: () => import('@/views/home'),
hidden: true
},
{
path: '/sb',//测试
name:'sb',
component: () => import('@/views/sb'),
path: '/list',//查看更多 列表页
name:'list',
component: () => import('@/views/officialWebsite/list'),
hidden: true
},
{
path: '/details',//查看更多 详情页
name:'details',
component: () => import('@/views/officialWebsite/details'),
hidden: true
},
{
@ -121,7 +127,6 @@ export const constantRoutes = [
},
{
path: '/login',
component: () => import('@/views/login'),
hidden: true
},

View File

@ -1,7 +1,7 @@
<template>
<div class="container">
<div class="top-box">
<headers></headers>
<headers :msg='Serial' ></headers>
<!-- <div class="tab-box">-->
<!-- &lt;!&ndash; left &ndash;&gt;-->
<!-- <div class="d-s">-->
@ -59,7 +59,7 @@
<div class="new-gang"></div>
<div class="new-container">
<div class="new-list">
<div class="list-box" v-for="(item, index) in this.newList[0]" :key="index">
<div class="list-box" v-for="(item, index) in this.newList[0]" :key="index" @click="goDeatail(item)" >
<div class="list-bs">
<img :src="item.contentImg" style=" ">
<div class="new-wb">{{ item.contentTitle }}</div>
@ -92,7 +92,7 @@
</div>
</div>
<div class="new-list">
<div class="list-box" v-for="(item, index) in this.newList[1]" :key="index">
<div class="list-box" v-for="(item, index) in this.newList[1]" :key="index" @click="goDeatail(item)" >
<div class="list-bs">
<img :src="item.contentImg" style="width: 125px; height: 70px ">
<div class="new-wb">{{ item.contentTitle }}</div>
@ -112,7 +112,7 @@
<div class="new-gang"></div>
<div class="list">
<swiper ref="mySwiper" :options="swiperOptions1" style="width: 100%">
<swiper-slide class="gongao-item" v-for="item in this.noticeList">
<swiper-slide class="gongao-item" v-for="item in this.noticeList" @click="goDeatail(item)">
<div class="bj">
<div class="tt">{{ item.contentTitle }}</div>
<div class="p">
@ -143,9 +143,9 @@
</div>
<div class="new-gang"></div>
<div class="news11-list">
<div class="news11-list-item" v-for="(item, index) in this.nationalVirtualLass" :key="index">
<div class="news11-list-item" v-for="(item, index) in this.nationalVirtualLass" :key="index" @click="goDeatail(item)">
<div class="img">
<img :src="item.contentImg" class="imgWO" alt="">
<img :src="item.contentImg" class="imgWO" style="width: 100%; height: 100% ">
</div>
<div class="tt">
{{ item.contentTitle }}
@ -156,7 +156,11 @@
3750
</div>
</div>
<div class="backmo">
<div>{{item.summary}}</div>
</div>
</div>
<!-- 动画-->
</div>
<div style=" width: 156px;height: 42px;margin: 50px auto;">
<img src="../assets/gw/anniu.png" style=" width: 156px;height: 42px">
@ -185,6 +189,8 @@ export default {
},
data() {
return {
Serial:0,
baseInfo:"",
categoryQuery: {
categoryId: "",
@ -309,6 +315,20 @@ export default {
this.$router.push('/contact');
}
},
goDeatail(data){
console.log(data)
if(data.linkType == 0){
this.$router.push({
name: 'details',
query:{ id: data.id }
});
}
if(data.linkType == 1){
window.open(data.link, '_blank');
}
},
/** 顶部tab列表 */
tabLsit() {
getTab().then(response => {
@ -333,12 +353,13 @@ export default {
}
index += 1
})
console.log('newList',this.newList)
//
this.noticeList = res.data[1].children.list
//
this.nationalVirtualLass = res.data[2].children.list
console.log( '362', this.nationalVirtualLass)
this.nationalVirtualLass.forEach(item => {
item.contentImg = process.env.VUE_APP_BASE_API + item.contentImg
})
@ -874,13 +895,30 @@ export default {
justify-content: space-between;
}
.backmo{
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
.news11 .news11-list .news11-list-item {
width: 24%;
height: 324px;
border: 1px solid #eee;
margin-bottom: 20px;
position: relative;
}
.news11 .news11-list .news11-list-item:hover>.backmo {
transition: background-color 0.5s;
background-color: rgba(0, 0, 0, 0.46) !important;
color: #fff;
}
.news11 .news11-list .news11-list-item .img {
width: 100%;
height: 194px;

View File

@ -1,7 +1,7 @@
<template>
<div class="login">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<h3 class="title">后台管理系统</h3>
<h3 class="title">虚拟仿真实验教学中心</h3>
<el-form-item prop="username">
<el-input
v-model="loginForm.username"

View File

@ -17,14 +17,14 @@
</div>
<!-- right -->
<div class="d-s" style="font-size: 20px; color: #fff;cursor: pointer;width: 170px;justify-content: flex-end">
<i class="el-icon-search" v-if="show_search"></i>
<div style="font-size: 18px; margin-left: 15px; " v-if="show_search" @click="show_search = !show_search">搜索
</div>
<el-input placeholder="输入关键词" v-model="input" style="width: 150px;height: 35px" v-if="!show_search">
<i slot="prefix" class="el-input__icon el-icon-search"></i>
</el-input>
<i class="el-icon-circle-close" v-if="!show_search" style="margin-left: 10px;"
@click="show_search = true"></i>
<!-- <i class="el-icon-search" v-if="show_search"></i>-->
<!-- <div style="font-size: 18px; margin-left: 15px; " v-if="show_search" @click="show_search = !show_search">搜索-->
<!-- </div>-->
<!-- <el-input placeholder="输入关键词" v-model="input" style="width: 150px;height: 35px" v-if="!show_search">-->
<!-- <i slot="prefix" class="el-input__icon el-icon-search"></i>-->
<!-- </el-input>-->
<!-- <i class="el-icon-circle-close" v-if="!show_search" style="margin-left: 10px;"-->
<!-- @click="show_search = true"></i>-->
</div>
</div>
</template>
@ -54,6 +54,9 @@ export default {
],
}
},
props: {
msg: String
},
mounted() {
//
this.tabLsit();

View File

@ -200,7 +200,6 @@ getPageColumn(routeParam).then(response => {
::v-deep .el-pagination .btn-prev .el-icon {
font-size: 18px;
}
.top-box {
width: 100%;
/* height: 1000px; */

View File

@ -1,5 +1,5 @@
<template>
<div class="container">
<div class="container" style="background: #f6f6f6">
<div class="top-box">
<headers></headers>
@ -22,10 +22,102 @@
</div>
</div>
<div class="committee-cont">
<div class="tabber-box " v-if="currentActive == 3" >
<div class="titel_">赛区参赛报名表本科组</div>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="180px" class="demo-ruleForm">
<div style="display: flex;">
<el-form-item label="所属赛区" prop="name">
<el-input style="width: 300px" v-model="ruleForm.name"></el-input>
</el-form-item>
<el-form-item label="学校及院系名称" prop="name">
<el-input style="width: 300px" v-model="ruleForm.name"></el-input>
</el-form-item>
<el-form-item label="参赛团队名称" prop="name">
<el-input style="width: 300px" v-model="ruleForm.name"></el-input>
</el-form-item>
</div>
<div style="width: 100%;display: flex;align-items: center;justify-content: space-between;padding: 4px 10px">
<div style="font-size: 16px;font-weight: bold">
教师信息
</div>
<el-button type="primary" icon="el-icon-plus">新增</el-button>
</div>
<div class="kuang" v-for="(item, index) in ruleForm.teacherlsit" :key="index" >
<div class="d-s">
<el-form-item label="领队教师姓名" prop="name">
<el-input v-model="item.name" style="width: 260px"></el-input>
</el-form-item>
<el-form-item label="领队教师职务" prop="name">
<el-input v-model="item.duties" style="width: 260px"></el-input>
</el-form-item>
<el-form-item label="领队教师手机" prop="name">
<el-input v-model="item.tel" style="width: 260px"></el-input>
</el-form-item>
</div>
<div class="d-s">
<el-form-item label="领队教师E-mail" prop="name">
<el-input v-model="item.Email" style="width: 260px"></el-input>
</el-form-item>
<el-form-item label="领队教师所在系及专业" prop="name">
<el-input v-model="item.details" style="width: 260px"></el-input>
</el-form-item>
</div>
</div>
<div style="width: 100%;display: flex;align-items: center;justify-content: space-between;padding: 4px 10px">
<div style="font-size: 16px;font-weight: bold">
参赛队员信息
</div>
<el-button type="primary" icon="el-icon-plus">新增</el-button>
</div>
<div class="kuang" v-for="(item, index) in ruleForm.studentlist" :key="index" >
<div class="d-s">
<el-form-item label="参赛队员姓名" prop="name">
<el-input v-model="item.name" style="width: 260px"></el-input>
</el-form-item>
<el-form-item label="参赛队员性别" prop="name">
<el-input v-model="item.duties" style="width: 260px"></el-input>
</el-form-item>
<el-form-item label="参赛队员手机号" prop="name">
<el-input v-model="item.tel" style="width: 260px"></el-input>
</el-form-item>
</div>
<div class="d-s">
<el-form-item label="参赛队员专业" prop="name">
<el-input v-model="item.details" style="width: 260px"></el-input>
</el-form-item>
</div>
</div>
<div style="width: 100%;display: flex;align-items: center;justify-content: space-between;padding: 4px 10px">
<div style="font-size: 16px;font-weight: bold">
盲样邮寄地址
</div>
</div>
<div class="d-s">
<el-form-item label="盲样收件人及联系电话" prop="name">
<el-input style="width: 300px" v-model="ruleForm.name"></el-input>
</el-form-item>
<el-form-item label="邮寄地址" prop="name">
<el-input style="width: 300px" v-model="ruleForm.name"></el-input>
</el-form-item>
</div>
</el-form>
<div style="display: flex;justify-content: center">
<el-button type="primary" >确认提交</el-button>
</div>
</div>
<!-- main -->
<div v-for="(item, index) in nav " :key=index>
<div class="about-conts-item1" v-if="currentActive == index">
<div class="neirong" v-html="pageContextList[index]"></div>
<div v-if="currentActive != 3" class="neirong" v-html="pageContextList[index]"></div>
</div>
</div>
<!-- <div class="news">
@ -69,6 +161,21 @@ export default {
},
data() {
return {
ruleForm: {
name: '',
teacherlsit:[
{}
],
studentlist:[
{}
]
},
rules: {
name: [
{ required: true, message: '请输入活动名称', trigger: 'blur' },
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
],
},
pageContextList: [],
nav: [
// { name: '' },
@ -324,7 +431,9 @@ export default {
}
.committee-cont {
width: 80%;
margin: 100px auto;
margin: 40px auto;
background: #fff;
border-radius: 8px;
}
.committee-cont .news {
@ -538,4 +647,24 @@ export default {
line-height: 18px;
}
.tabber-box{
width: 100%;
box-sizing: border-box;
padding: 15px;
}
.titel_{
font-weight: bold;
font-size: 28px;
color: #333333;
text-align: center;
margin-bottom: 25px;
}
.kuang{
border: 1px solid #ccc;
border-radius: 8px;
box-sizing: border-box;
padding: 15px;
margin: 15px auto;
}
</style>

View File

@ -0,0 +1,548 @@
<template>
<div class="container">
<div class="top-box">
<headers></headers>
<div class="ny-banner">
<img src="../../assets/gw/ny-banner.jpg" alt="">
</div>
</div>
<!-- new -->
<div class="content-box" >
<div class="title_">{{info.contentTitle}}</div>
<div class="size_" v-if="info.contentType == 0" v-html="info.contentDetail" ></div>
<div v-if="info.contentType == 1" style="display: flex;flex-wrap: wrap">
<div class="" v-for="(item,index) in info.imageUrl" :key="index">
<img :src="imgurl + item" alt="" >
</div>
</div>
<div v-if="info.contentType == 2" style="display: flex;">
<div class="" v-for="(item,index) in info.videoUrl" :key="index">
<video :src="imgurl + item"></video>
</div>
</div>
</div>
<footers></footers>
</div>
</template>
<script>
import { Swiper, SwiperSlide } from "vue-awesome-swiper";
import "swiper/css/swiper.min.css";
import { getContent, getPageColumn } from "@/api/officialWebsite/getPageData";
import headers from '@/views/officialWebsite/Components/header.vue'
import footers from '@/views/officialWebsite/Components/footer.vue'
// import {useRoute, useRouter} from "vue-router";
// const route = useRoute();
// const router = useRouter();
export default {
components: {
Swiper,
SwiperSlide,
headers,
footers
},
name: 'HelloWorld',
props: {
msg: String
},
data() {
return {
info:null,
imgurl:process.env.VUE_APP_BASE_API,
pageContextList: [],
nav: [],
currentActive: 2,
isMounted: false,
orgList: "",
postList: [],
content: "",
leaderList: "",
}
},
computed: {
},
mounted() {
//
debugger;
this.initPageData();
},
methods: {
//
getCurrentActive(value) {
if (this.currentActive == value) {
return
}
this.currentActive = value
},
initPageData() {
console.log("文章", this.$route.query.id);
let id = this.$route.query.id
getContent(id).then(response => {
console.log(response)
this.info = response.data;
if(response.data.contentType == 0){
console.log('文章')
}
if(response.data.contentType == 1){
console.log('图片')
}
if(response.data.contentType == 2){
console.log('视频')
}
});
// let introduction_center_param = {
// "categoryId": "1813827591224823808",
// "pageNum": 1,
// "pageSize": 1000
// };
// getPageData(introduction_center_param).then(response => {
// response.data.list.forEach(element => {
// this.content += element.contentDetail;
// });
// });
// let organizational_structure_param = {
// "categoryId": "1813827750121836544",
// "pageNum": 1,
// "pageSize": 1000
// };
// getPageData(organizational_structure_param).then(response => {
// response.data.list.forEach(element => {
// // this.orgList.push(element);
// this.orgList += element.contentDetail;
// });
// });
// let current_leader_param = {
// "categoryId": "1813827861774209024",
// "pageNum": 1,
// "pageSize": 1000
// };
// getPageData(current_leader_param).then(response => {
// response.data.list.forEach(element => {
// this.leaderList += element.contentDetail;
// });
// });
},
}
}
</script>
<style scoped>
/* .container {
background: #F5F5F5;
} */
.bj {
background: #F5F5F5;
}
.top-box {
width: 100%;
/* height: 1000px; */
/* background: url(''); */
/* background-size: cover; */
/* 背景图片铺满盒子 */
/* background-repeat: no-repeat; */
/* 禁止背景图片重复 */
position: relative;
}
.tab-box {
width: 100%;
box-sizing: border-box;
padding: 20px 2%;
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
background-color: #005375;
font-weight: bold;
font-size: 18px;
color: #FFFFFF;
/* position: absolute; */
z-index: 3;
}
.d-s {
display: flex;
align-items: center;
}
.logo-box {
width: 50px;
height: 50px;
background: #fff;
}
.logo-size {
font-weight: 800;
font-size: 24px;
color: #FFFFFF;
margin-left: 20px;
}
.x-x {
margin-right: 20px;
cursor: pointer;
}
.ny-banner {
width: 100%;
}
.ny-banner img {
width: 100%;
}
.navigation {
width: 100%;
height: 60px;
background: #FFFFFF;
border-radius: 0px 0px 0px 0px;
border-bottom: 1px solid #EEEEEE;
}
.navigation .content {
width: 80%;
margin: 0 auto;
height: 60px;
display: flex;
justify-content: space-between;
align-items: center
}
.navigation .content .left {
width: 30%;
display: flex;
align-items: center
}
.navigation img {
width: 15px;
margin-right: 10px;
}
.navigation p {
/* margin-top: 5px; */
color: #999;
}
.navigation span {
color: #999;
}
.navigation span:last-child {
font-weight: 700;
color: #005375;
}
.navigation .content .right {
width: 70%;
display: flex;
justify-content: flex-end;
align-items: center
}
.navigation .content .right .nav-item {
width: 200px;
display: flex;
height: 60px;
justify-content: center;
align-items: center;
font-size: 20px;
cursor: pointer;
font-weight: 500;
border-bottom: 3px solid transparent;
}
.navigation .content .right .active {
border-bottom: 3px solid #005375;
color: #005375;
font-weight: bold;
}
.about-conts {
padding: 40px 0;
}
.about-conts .about-conts-item1 {
padding: 30px 2%;
width: 76%;
margin: 0 auto;
background-color: #fff;
}
.about-conts .about-conts-item2 {
/* padding: 30px; */
width: 80%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
/* background-color: #fff; */
}
.about-conts .about-conts-item2 .div {
width: 31%;
display: flex;
justify-content: center;
align-items: center;
height: 80px;
position: relative;
margin-right: 2%;
margin-bottom: 30px;
font-size: 20px;
font-weight: 500;
}
.about-conts .about-conts-item2 .div:nth-child(3n) {
margin-right: 0;
}
.about-conts .about-conts-item2 .div::after {
content: "";
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
border: 1px solid #EEEEEE;
}
.about-conts .about-conts-item3 {
padding: 30px 2%;
width: 76%;
margin: 0 auto;
margin-top: -40px;
margin-bottom: -40px;
background: linear-gradient(180deg, #E8FCFF 0%, rgba(255, 255, 255, 0) 100%);
/* background-color: #fff; */
}
.about-conts .about-conts-item3 .about-conts-item3-div {
width: 100%;
padding: 30px;
border-bottom: 1px solid #EEEEEE;
margin-bottom: 30px;
display: flex;
justify-content: space-between;
align-items: center;
}
.about-conts .about-conts-item3 .about-conts-item3-div:last-child {
margin-bottom: 0;
border-bottom: 1px solid transparent;
}
.about-conts .about-conts-item3 .about-conts-item3-div .left {
width: 20%;
/* background-color: #f0f; */
display: flex;
justify-content: center;
align-items: center;
font-weight: bold;
font-size: 20px;
color: #005375;
}
.about-conts .about-conts-item3 .about-conts-item3-div .right {
width: 80%;
overflow: hidden;
display: flex;
flex-wrap: wrap;
}
.about-conts .about-conts-item3 .about-conts-item3-div .right .divs {
width: 120px;
margin: 30px;
border-radius: 0px 0px 0px 0px;
}
.about-conts .about-conts-item3 .about-conts-item3-div .right .divs .img {
width: 120px;
height: 150px;
background: #D9D9D9;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
border-radius: 0px 0px 0px 0px;
}
.about-conts .about-conts-item3 .about-conts-item3-div .right .divs .img img {
width: 100%;
object-fit: cover;
}
.about-conts .about-conts-item3 .about-conts-item3-div .right .divs .tt {
text-align: center;
margin-top: 20px;
font-weight: 500;
font-size: 20px;
color: #333333;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.index-footer {
background: #383838;
padding-top: 30px;
}
.index-footer .footer {
width: 80%;
margin: 0 auto;
}
.index-footer .footer .logo {
display: flex;
justify-content: space-between;
/* align-items: center; */
}
.index-footer .footer .logo .footer-contact {}
.index-footer .footer .logo .footer-contact .p {
display: inline-block;
display: flex;
float: left;
margin-left: 50px;
align-items: center;
color: rgba(255, 255, 255, 0.7);
font-size: 16px;
/* justify-content: flex-end; */
}
.index-footer .footer .logo .footer-contact .p img {
margin-right: 10px;
}
.index-footer .footer .logo .footer-contact .p:nth-child(3) {
width: 100%;
clear: both;
margin-top: 20px;
}
.index-footer .footer .footer-nav {
display: flex;
margin-top: 20px;
padding-top: 30px;
border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.index-footer .footer .footer-nav .footer-nav-item {
width: 9%;
margin-right: 1%;
}
.index-footer .footer .footer-nav .footer-nav-item:last-child {
margin-right: 0;
}
.index-footer .footer .footer-nav .footer-nav-item .tt {
font-weight: 500;
font-size: 18px;
color: rgba(255, 255, 255, 0.7);
line-height: 18px;
position: relative;
padding-bottom: 20px;
margin-bottom: 20px;
}
.index-footer .footer .footer-nav .footer-nav-item .tt::after {
content: "";
width: 20px;
height: 2px;
background: #005375;
border-radius: 0px 0px 0px 0px;
position: absolute;
bottom: 0;
left: 0;
}
.index-footer .footer .footer-nav .footer-nav-item a {
text-decoration: none;
font-weight: 500;
font-size: 16px;
color: rgba(255, 255, 255, 0.4);
line-height: 16px;
display: block;
margin-bottom: 15px;
}
.index-footer .footer .footer-nav .footer-nav-item a:last-child {
margin-bottom: 0;
}
.index-footer .footer .web_icp {
display: flex;
margin-top: 50px;
height: 80px;
align-items: center;
justify-content: space-between;
border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.index-footer .footer .web_icp a {
text-decoration: none;
font-weight: 500;
font-size: 16px;
color: rgba(255, 255, 255, 0.4);
line-height: 16px;
margin-right: 30px;
}
.index-footer .footer .web_icp .right {
display: flex;
align-items: center;
justify-content: flex-end
}
.index-footer .footer .web_icp .right div {
margin-right: 25px;
font-weight: 500;
font-size: 18px;
color: rgba(255, 255, 255, 0.7);
line-height: 18px;
}
.title_{
font-weight: bold;
font-size: 28px;
color: #333333;
text-align: center;
}
.content-box{
width: 80%;
margin: 25px auto;
min-height:400px;
}
</style>

View File

@ -0,0 +1,540 @@
<template>
<div class="container">
<div class="top-box">
<headers></headers>
<div class="ny-banner">
<img src="../../assets/gw/ny-banner.jpg" alt="">
</div>
</div>
<!-- new -->
<footers></footers>
</div>
</template>
<script>
import { Swiper, SwiperSlide } from "vue-awesome-swiper";
import "swiper/css/swiper.min.css";
import { getPageData, getPageColumn } from "@/api/officialWebsite/getPageData";
import headers from '@/views/officialWebsite/Components/header.vue'
import footers from '@/views/officialWebsite/Components/footer.vue'
// import {useRoute, useRouter} from "vue-router";
// const route = useRoute();
// const router = useRouter();
export default {
components: {
Swiper,
SwiperSlide,
headers,
footers
},
name: 'HelloWorld',
props: {
msg: String
},
data() {
return {
pageContextList: [],
nav: [
// { name: '' },
// { name: '' },
// { name: '' },
],
currentActive: 2,
isMounted: false,
orgList: "",
postList: [],
// content: `<p style="box-sizing: inherit; text-align: justify; text-indent: 2em; margin-bottom: 5px; margin-top: 5px; line-height: 1.75em;">
// <span style="font-family: , &quot;Microsoft YaHei&quot;; font-size: 18px;">20065000300<br/></span>
// </p>
// <p style="text-indent: 2em; margin-bottom: 5px; margin-top: 5px; line-height: 1.75em;">
// <span style="font-family: , &quot;Microsoft YaHei&quot;; font-size: 18px;">:220线:线</span>
// </p>
// <p style="text-indent: 2em; margin-bottom: 5px; margin-top: 5px; line-height: 1.75em;">
// <span style="font-family: , &quot;Microsoft YaHei&quot;; font-size: 18px;">广</span>
// </p>
// <p style="box-sizing: inherit; margin-top: 0px; text-align: justify; text-indent: 2em; margin-bottom: 5px; line-height: 1.75em;">
// <span style="box-sizing: inherit; font-family: , MicrosoftYaHei;"></span><br/>
// </p>`
content: "",
leaderList: "",
}
},
computed: {
},
mounted() {
//
debugger;
this.initPageData();
},
methods: {
//
getCurrentActive(value) {
if (this.currentActive == value) {
return
}
this.currentActive = value
},
initPageData() {
console.log("123123", this.$route.query.id);
let routeParam = {
"categoryId": this.$route.query.id,
"pageNum": 1,
"pageSize": 10
}
getPageColumn(routeParam).then(response => {
response.data.forEach(cloumnItem => {
this.nav.push(cloumnItem);
let context = "";
cloumnItem.children.list.forEach(element => {
context += element.contentDetail;
});
this.pageContextList.push(context);
// cloumnItem.categoryName
});
});
// let introduction_center_param = {
// "categoryId": "1813827591224823808",
// "pageNum": 1,
// "pageSize": 1000
// };
// getPageData(introduction_center_param).then(response => {
// response.data.list.forEach(element => {
// this.content += element.contentDetail;
// });
// });
// let organizational_structure_param = {
// "categoryId": "1813827750121836544",
// "pageNum": 1,
// "pageSize": 1000
// };
// getPageData(organizational_structure_param).then(response => {
// response.data.list.forEach(element => {
// // this.orgList.push(element);
// this.orgList += element.contentDetail;
// });
// });
// let current_leader_param = {
// "categoryId": "1813827861774209024",
// "pageNum": 1,
// "pageSize": 1000
// };
// getPageData(current_leader_param).then(response => {
// response.data.list.forEach(element => {
// this.leaderList += element.contentDetail;
// });
// });
},
}
}
</script>
<style scoped>
/* .container {
background: #F5F5F5;
} */
.bj {
background: #F5F5F5;
}
.top-box {
width: 100%;
/* height: 1000px; */
/* background: url(''); */
/* background-size: cover; */
/* 背景图片铺满盒子 */
/* background-repeat: no-repeat; */
/* 禁止背景图片重复 */
position: relative;
}
.tab-box {
width: 100%;
box-sizing: border-box;
padding: 20px 2%;
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
background-color: #005375;
font-weight: bold;
font-size: 18px;
color: #FFFFFF;
/* position: absolute; */
z-index: 3;
}
.d-s {
display: flex;
align-items: center;
}
.logo-box {
width: 50px;
height: 50px;
background: #fff;
}
.logo-size {
font-weight: 800;
font-size: 24px;
color: #FFFFFF;
margin-left: 20px;
}
.x-x {
margin-right: 20px;
cursor: pointer;
}
.ny-banner {
width: 100%;
}
.ny-banner img {
width: 100%;
}
.navigation {
width: 100%;
height: 60px;
background: #FFFFFF;
border-radius: 0px 0px 0px 0px;
border-bottom: 1px solid #EEEEEE;
}
.navigation .content {
width: 80%;
margin: 0 auto;
height: 60px;
display: flex;
justify-content: space-between;
align-items: center
}
.navigation .content .left {
width: 30%;
display: flex;
align-items: center
}
.navigation img {
width: 15px;
margin-right: 10px;
}
.navigation p {
/* margin-top: 5px; */
color: #999;
}
.navigation span {
color: #999;
}
.navigation span:last-child {
font-weight: 700;
color: #005375;
}
.navigation .content .right {
width: 70%;
display: flex;
justify-content: flex-end;
align-items: center
}
.navigation .content .right .nav-item {
width: 200px;
display: flex;
height: 60px;
justify-content: center;
align-items: center;
font-size: 20px;
cursor: pointer;
font-weight: 500;
border-bottom: 3px solid transparent;
}
.navigation .content .right .active {
border-bottom: 3px solid #005375;
color: #005375;
font-weight: bold;
}
.about-conts {
padding: 40px 0;
}
.about-conts .about-conts-item1 {
padding: 30px 2%;
width: 76%;
margin: 0 auto;
background-color: #fff;
}
.about-conts .about-conts-item2 {
/* padding: 30px; */
width: 80%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
/* background-color: #fff; */
}
.about-conts .about-conts-item2 .div {
width: 31%;
display: flex;
justify-content: center;
align-items: center;
height: 80px;
position: relative;
margin-right: 2%;
margin-bottom: 30px;
font-size: 20px;
font-weight: 500;
}
.about-conts .about-conts-item2 .div:nth-child(3n) {
margin-right: 0;
}
.about-conts .about-conts-item2 .div::after {
content: "";
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
border: 1px solid #EEEEEE;
}
.about-conts .about-conts-item3 {
padding: 30px 2%;
width: 76%;
margin: 0 auto;
margin-top: -40px;
margin-bottom: -40px;
background: linear-gradient(180deg, #E8FCFF 0%, rgba(255, 255, 255, 0) 100%);
/* background-color: #fff; */
}
.about-conts .about-conts-item3 .about-conts-item3-div {
width: 100%;
padding: 30px;
border-bottom: 1px solid #EEEEEE;
margin-bottom: 30px;
display: flex;
justify-content: space-between;
align-items: center;
}
.about-conts .about-conts-item3 .about-conts-item3-div:last-child {
margin-bottom: 0;
border-bottom: 1px solid transparent;
}
.about-conts .about-conts-item3 .about-conts-item3-div .left {
width: 20%;
/* background-color: #f0f; */
display: flex;
justify-content: center;
align-items: center;
font-weight: bold;
font-size: 20px;
color: #005375;
}
.about-conts .about-conts-item3 .about-conts-item3-div .right {
width: 80%;
overflow: hidden;
display: flex;
flex-wrap: wrap;
}
.about-conts .about-conts-item3 .about-conts-item3-div .right .divs {
width: 120px;
margin: 30px;
border-radius: 0px 0px 0px 0px;
}
.about-conts .about-conts-item3 .about-conts-item3-div .right .divs .img {
width: 120px;
height: 150px;
background: #D9D9D9;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
border-radius: 0px 0px 0px 0px;
}
.about-conts .about-conts-item3 .about-conts-item3-div .right .divs .img img {
width: 100%;
object-fit: cover;
}
.about-conts .about-conts-item3 .about-conts-item3-div .right .divs .tt {
text-align: center;
margin-top: 20px;
font-weight: 500;
font-size: 20px;
color: #333333;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.index-footer {
background: #383838;
padding-top: 30px;
}
.index-footer .footer {
width: 80%;
margin: 0 auto;
}
.index-footer .footer .logo {
display: flex;
justify-content: space-between;
/* align-items: center; */
}
.index-footer .footer .logo .footer-contact {}
.index-footer .footer .logo .footer-contact .p {
display: inline-block;
display: flex;
float: left;
margin-left: 50px;
align-items: center;
color: rgba(255, 255, 255, 0.7);
font-size: 16px;
/* justify-content: flex-end; */
}
.index-footer .footer .logo .footer-contact .p img {
margin-right: 10px;
}
.index-footer .footer .logo .footer-contact .p:nth-child(3) {
width: 100%;
clear: both;
margin-top: 20px;
}
.index-footer .footer .footer-nav {
display: flex;
margin-top: 20px;
padding-top: 30px;
border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.index-footer .footer .footer-nav .footer-nav-item {
width: 9%;
margin-right: 1%;
}
.index-footer .footer .footer-nav .footer-nav-item:last-child {
margin-right: 0;
}
.index-footer .footer .footer-nav .footer-nav-item .tt {
font-weight: 500;
font-size: 18px;
color: rgba(255, 255, 255, 0.7);
line-height: 18px;
position: relative;
padding-bottom: 20px;
margin-bottom: 20px;
}
.index-footer .footer .footer-nav .footer-nav-item .tt::after {
content: "";
width: 20px;
height: 2px;
background: #005375;
border-radius: 0px 0px 0px 0px;
position: absolute;
bottom: 0;
left: 0;
}
.index-footer .footer .footer-nav .footer-nav-item a {
text-decoration: none;
font-weight: 500;
font-size: 16px;
color: rgba(255, 255, 255, 0.4);
line-height: 16px;
display: block;
margin-bottom: 15px;
}
.index-footer .footer .footer-nav .footer-nav-item a:last-child {
margin-bottom: 0;
}
.index-footer .footer .web_icp {
display: flex;
margin-top: 50px;
height: 80px;
align-items: center;
justify-content: space-between;
border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.index-footer .footer .web_icp a {
text-decoration: none;
font-weight: 500;
font-size: 16px;
color: rgba(255, 255, 255, 0.4);
line-height: 16px;
margin-right: 30px;
}
.index-footer .footer .web_icp .right {
display: flex;
align-items: center;
justify-content: flex-end
}
.index-footer .footer .web_icp .right div {
margin-right: 25px;
font-weight: 500;
font-size: 18px;
color: rgba(255, 255, 255, 0.7);
line-height: 18px;
}
</style>

View File

@ -1,7 +1,7 @@
<template>
<div class="register">
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
<h3 class="title">若依后台管理系统</h3>
<h3 class="title">虚拟仿真实验教学中心</h3>
<el-form-item prop="username">
<el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />