This commit is contained in:
许允枞 2025-03-01 15:53:50 +08:00
parent 0badc39597
commit 194f6a866f
11 changed files with 357 additions and 266 deletions

View File

@ -39,7 +39,7 @@ public class SchoolController extends BaseController {
* @return
*/
@GetMapping("/getSchoolList")
public TableDataInfo getSchoolList(@RequestParam(required=false) String schoolName) {
public TableDataInfo getSchoolList(@RequestParam(required=false, name = "dictLabel") String schoolName) {
SysDictData dictData = new SysDictData();
dictData.setDictType("school_name");
if (StringUtils.isNotEmpty(schoolName)) {

View File

@ -1,38 +1,14 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="教师姓名" prop="teacherName">
<el-input
v-model="queryParams.teacherName"
placeholder="请输入教师姓名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form @submit.native.prevent :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学校名称" prop="schoolName">
<el-input
v-model="queryParams.schoolName"
v-model="queryParams.dictLabel"
placeholder="请输入学校名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="手机号" prop="teacherNumber">
<el-input
v-model="queryParams.teacherNumber"
placeholder="请输入教师手机号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="年份" prop="year">
<el-date-picker
v-model="queryParams.year"
type="year"
placeholder="选择年份"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -47,7 +23,7 @@
icon="el-icon-upload2"
size="mini"
@click="handleImport('student')"
>导入学生成绩
>导入学
</el-button>
</el-col>
<el-col :span="1.5">
@ -92,7 +68,6 @@
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除
</el-button>
</template>
@ -247,7 +222,6 @@ export default {
/** 查询教师信息列表 */
getList() {
this.loading = true
this.queryParams.year = new Date(this.queryParams.year).getFullYear().toString()
listSchool(this.queryParams).then(response => {
this.HitRegistrationTeachInfoList = response.rows
this.total = response.total

View File

@ -4,46 +4,35 @@
<div class="logo">
<div class="d-s">
<div class="logo-box" style="background: #383838">
<img :src="baseInfo.webImg" />
<img :src="baseInfo.webImg" alt="Logo"/>
</div>
<div class="logo-size">
{{ this.baseInfo.webName }}
</div>
</div>
<div class="footer-contact">
<!-- <div class="p">-->
<!-- <img src="../../../assets/gw/tel.png" alt="">-->
<!-- <div class="pp">电话{{ this.baseInfo.contactNumber }}</div>-->
<!-- </div>-->
<div class="p">
<img src="../../../assets/gw/email.png" alt="">
<img src="../../../assets/gw/email.png" alt="Email">
<div class="pp">邮箱{{ this.baseInfo.contactEmail }}</div>
</div>
<div class="p">
<img src="../../../assets/gw/address.png" alt="">
<img src="../../../assets/gw/address.png" alt="Address">
<div class="pp">地址{{ this.baseInfo.address }}</div>
</div>
<div class="p" style="margin-top: 15px;">
<img src="../../../assets/gw/tel.png" alt="">
<img src="../../../assets/gw/tel.png" alt="Phone">
<div class="pp">技术支持{{ this.baseInfo.technologyNumber }}</div>
</div>
</div>
</div>
<!-- <div class="footer-nav">
<div class="footer-nav-item" v-for="item in itemsWithoutFirst">
<div class="tt">{{ item.label }}</div>
<a href="" v-for="childrenItem in item.children">{{ childrenItem.label }}</a>
<div class="custom-footer-nav">
<div class="custom-nav-item" v-for="(item ,index) in tablist">
<div class="custom-nav-title" @click="tabClick(item.jumpUrl, item.id, index)">{{ item.label }}</div>
<div href="#home" class="content" @click="tabClickTwo(item.jumpUrl, item.id, index2)" v-for="(children,index2) in item.children">{{ children.label }}</div>
</div>
</div> -->
</div>
<div class="web_icp">
<div class="left">
<a href="">版权所有{{ this.baseInfo.copyrightInfo }}</a>
@ -51,23 +40,26 @@
</div>
<div class="right" @click="toTop">
<div class="">返回顶部</div>
<img src="../../../assets/gw/top.png" alt="">
<img src="../../../assets/gw/top.png" alt="Top">
</div>
</div>
</div>
</div>
</template>
<script>
import { getBaseInfo, } from '@/api/gw/home'
import { getBaseInfo, getTab } from '@/api/gw/home'
export default {
data() {
return {
baseInfo: "",
baseInfo: '',
tablist: [],
categoryQuery: {},
}
},
mounted() {
this.tabLsit()
this.getWebBaseInfo()
},
methods: {
@ -76,16 +68,40 @@ export default {
this.baseInfo = res.data
this.baseInfo.webImg = process.env.VUE_APP_BASE_API + this.baseInfo.webImg
})
},
toTop() {
window.scrollTo({ top: 0, behavior: 'smooth' });
window.scrollTo({ top: 0, behavior: 'smooth' })
},
tabClick(url, id, index) {
this.tabindex = index
if (url === 'home') url = 'gw'
this.$router.push({
name: url,
query: { id: id }
})
},
tabClickTwo(url, id, index) {
this.tabindex = index
if (url === 'home') url = 'gw'
this.$router.push({
name: url,
query: { id: id,childrenId: id ,childeIndex : index}
})
},
tabLsit() {
getTab().then(response => {
if (response.code == 200) {
this.tablist = response.data
this.categoryQuery.categoryId = this.tablist[0].id
}
})
}
}
}
</script>
<style scoped lang="scss">
.index-footer {
background: #383838;
@ -100,10 +116,10 @@ export default {
.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 {
}
.index-footer .footer .logo .footer-contact .p {
display: inline-block;
@ -113,7 +129,6 @@ export default {
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 {
@ -143,7 +158,6 @@ export default {
}
.index-footer .footer .footer-nav .footer-nav-item .tt {
font-weight: 500;
font-size: 18px;
color: rgba(255, 255, 255, 0.7);
@ -166,7 +180,6 @@ export default {
.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);
@ -190,7 +203,6 @@ export default {
.index-footer .footer .web_icp a {
text-decoration: none;
font-weight: 500;
font-size: 16px;
color: rgba(255, 255, 255, 0.4);
@ -206,12 +218,10 @@ export default {
.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;
}
.logo-box {
@ -230,11 +240,66 @@ export default {
font-size: 24px;
color: #FFFFFF;
margin-left: 20px;
}
.d-s {
display: flex;
align-items: center;
}
.custom-footer-nav {
display: flex;
margin-top: 20px;
padding-top: 30px;
border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.custom-nav-item {
width: 100%; /* 可以根据需要调整宽度 */
}
.custom-nav-title {
font-weight: 500;
font-size: 15px;
color: rgba(255, 255, 255, 0.7);
line-height: 18px;
position: relative;
padding-bottom: 20px;
margin-bottom: 20px;
a {
font-size: 10px;
}
}
.custom-nav-title::after {
content: "";
width: 20px;
height: 2px;
background: #005375;
border-radius: 0px 0px 0px 0px;
position: absolute;
bottom: 0;
left: 0;
}
.custom-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;
}
.custom-nav-item a:last-child {
margin-bottom: 0;
}
.content {
color: rgba(255, 255, 255, 0.7);
font-size: 13px;
margin-bottom: 5px;
}
</style>

View File

@ -37,7 +37,7 @@
<el-button class="register-button" @click="registerDialog = true">注册</el-button>
</div>
<div class="right-box" v-if="isLoggedIn">
<el-dropdown @command="handleCommand">
<el-dropdown >
<span class="right-box">
{{ currentUser }} <i class="el-icon-arrow-down el-icon--right"></i>
</span>

View File

@ -37,14 +37,14 @@
<div class="neirong" v-html="pageContext"></div>
</div>
<!-- <div class="about-conts-item1" v-if="currentActive == index && currentActive === 1">-->
<!-- <div class="dataClass">-->
<!-- <div class="ddj" v-for="(item, index) in dataList" @click="goDeatail(item)">-->
<!-- {{ item.contentTitle }}-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="about-conts-item1" v-if="currentActive == index && currentActive === 1">-->
<!-- <div class="dataClass">-->
<!-- <div class="ddj" v-for="(item, index) in dataList" @click="goDeatail(item)">-->
<!-- {{ item.contentTitle }}-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
</div>
</div>
@ -81,7 +81,7 @@ export default {
dataList: [],
pageContext: '',
nav: [],
currentActive: 0,
currentActive: this.$route.query.childeIndex || 0,
isMounted: false,
orgList: '',
postList: [],
@ -111,7 +111,7 @@ export default {
methods: {
handleScroll() {
let browserHeight = document.documentElement.clientHeight
console.log("高度",document.documentElement.clientHeight)
console.log('高度', document.documentElement.clientHeight)
const leftImg = this.$refs.leftImg
const rightImg = this.$refs.rightImg
const bottomImg = this.$refs.bottomImg
@ -121,13 +121,13 @@ export default {
leftImg.style.position = 'fixed'
rightImg.style.top = '0px'
rightImg.style.position = 'fixed'
bottomImg.style.bottom="0"
bottomImg.style.bottom = '0'
} else {
leftImg.style.top = '250px'
leftImg.style.position = 'absolute'
rightImg.style.top = '150px'
rightImg.style.position = 'absolute'
bottomImg.style.bottom="-300px"
bottomImg.style.bottom = '-300px'
}
},
//
@ -150,9 +150,7 @@ export default {
initPageData() {
getCategoryByParentId(this.queryForm.categoryId).then(res => {
this.nav = res.data
if (this.currentActive === 0) {
this.getContent()
}
this.getContent()
})
},
getContent() {
@ -361,7 +359,7 @@ export default {
width: 76%;
margin: 0 auto;
background-color: #fff;
z-index: 999!important;
z-index: 999 !important;
}
.about-conts .about-conts-item2 {
@ -670,9 +668,15 @@ export default {
}
@keyframes fadeOut {
from { opacity: 1; }
to { opacity: 0; display: none; }
from {
opacity: 1;
}
to {
opacity: 0;
display: none;
}
}
.bottom_img {
width: 100%;
height: 400px;

View File

@ -1,7 +1,7 @@
<template>
<div class="container">
<div class="top-box">
<headers :msg='msg'></headers>
<headers :msg="msg"></headers>
<div class="ny-banner">
<img src="../../assets/gw/tlee.jpg" alt="">
@ -16,21 +16,22 @@
<!-- </div>-->
<div class="right">
<div class="nav-item" v-for="(item, index) in nav" v-bind:class="[index === currentActive ? 'active' : '']"
@click="getCurrentActive(index)">
@click="getCurrentActive(index)"
>
{{ item.categoryName }}
</div>
</div>
</div>
</div>
<!-- <div class="committee-cont" v-show="currentActive == 0">-->
<!-- <div >-->
<!-- <div class="committee-cont" v-show="currentActive == 0">-->
<!-- <div >-->
<!-- </div>-->
<!-- v-if="currentActive !== 0"-->
<!-- </div>-->
<!-- </div>-->
<!-- v-if="currentActive !== 0"-->
<!-- </div>-->
<div class="committee-cont" >
<div class="committee-cont">
<div class="left_img" ref="leftImg">
<img src="../../assets/images/l_img.png" alt="">
</div>
@ -39,63 +40,66 @@
</div>
<!-- main -->
<div v-if="currentActive == 0" style="width: 80%;background: #fff;">
<div class="n-box" v-for="(item,index) in onelist" @click="goDeatail(item)" >
<div class="n-box" v-for="(item,index) in onelist" @click="goDeatail(item)">
<div>
<div class="v-time" >{{item.publishDate}}</div>
<div class="v-title">{{item.contentTitle}}</div>
<div class="v-size">{{item.summary || '' }}</div>
<div class="v-time">{{ item.publishDate }}</div>
<div class="v-title">{{ item.contentTitle }}</div>
<div class="v-size">{{ item.summary || '' }}</div>
</div>
<div>
<img :src=" imgurl + item.contentImg" style="width: 420px; height: 263px; ">
<img :src=" imgurl + item.contentImg" style="width: 420px; height: 263px; ">
</div>
</div>
<page-util style="background: #fff;z-index: 999;position:relative" :category-id="categoryId" @event-message="handleDataFromPage" />
<page-util style="background: #fff;z-index: 999;position:relative" :category-id="categoryId"
@event-message="handleDataFromPage"
/>
</div>
<div v-else>
<div class="about-conts-item1" v-if="currentActive == 2 || currentActive == 1">
<div class="noticeRsr" v-html="twolist" >
<div class="noticeRsr" v-html="twolist">
</div>
</div>
<!-- <div class="about-conts-item1" v-if="currentActive == 1">-->
<!-- <div class="dataClass">-->
<!-- <div v-for="(item, index) in dataList">-->
<!-- {{item.contentTitle}}-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="about-conts-item1" v-if="currentActive == 1">-->
<!-- <div class="dataClass">-->
<!-- <div v-for="(item, index) in dataList">-->
<!-- {{item.contentTitle}}-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
</div>
</div>
<div class="bottom_img" ref="bottomImg">
<div class="bottom_img" ref="bottomImg">
</div>
<footers style="position: relative;"></footers>
</div>
</template>
<script>
import { Swiper, SwiperSlide } from "vue-awesome-swiper";
import "swiper/css/swiper.min.css";
import {getPageData, getCategoryByParentId, getListById} from "@/api/officialWebsite/getPageData";
import { Swiper, SwiperSlide } from 'vue-awesome-swiper'
import 'swiper/css/swiper.min.css'
import { getPageData, getCategoryByParentId, getListById } from '@/api/officialWebsite/getPageData'
import footers from '@/views/officialWebsite/Components/footer.vue'
import headers from '@/views/officialWebsite/Components/header.vue'
import PageUtil from '@/views/officialWebsite/Components/page/index.vue'
export default {
components: {
headers,
footers,
Swiper,
SwiperSlide,
"page-util": PageUtil
'page-util': PageUtil
},
name: 'HelloWorld',
data() {
return {
msg:5,
onelist:[],
twolist:[],
msg: '5',
onelist: [],
twolist: [],
dataList: [],
categoryId:'',
categoryId: '',
pageContextList: [],
imgurl: process.env.VUE_APP_BASE_API,
nav: [
@ -103,23 +107,21 @@ export default {
// { name: '' },
// { name: '' },
],
currentActive: 0,
currentActive: this.$route.query.childeIndex || 0,
isMounted: false,
input4: "",
routeParam : {
"categoryId": this.$route.query.id,
"pageNum": 1,
"pageSize": 10
input4: '',
routeParam: {
'categoryId': this.$route.query.id,
'pageNum': 1,
'pageSize': 10
}
}
},
created() {
//
this.initPageData();
},
computed: {
this.initPageData()
},
computed: {},
mounted() {
//
window.addEventListener('scroll', this.handleScroll)
@ -133,7 +135,6 @@ export default {
methods: {
handleScroll() {
let browserHeight = document.documentElement.clientHeight
console.log("高度",document.documentElement.clientHeight)
const leftImg = this.$refs.leftImg
const rightImg = this.$refs.rightImg
const bottomImg = this.$refs.bottomImg
@ -143,45 +144,45 @@ export default {
leftImg.style.position = 'fixed'
rightImg.style.top = '0px'
rightImg.style.position = 'fixed'
bottomImg.style.bottom="0"
bottomImg.style.bottom = '0'
} else {
leftImg.style.top = '250px'
leftImg.style.position = 'absolute'
rightImg.style.top = '150px'
rightImg.style.position = 'absolute'
bottomImg.style.bottom="-300px"
bottomImg.style.bottom = '-300px'
}
},
getContentDetail(){
getContentDetail() {
this.routeParam.categoryId = this.nav[this.currentActive].id
getPageData(this.routeParam).then(res => {
this.twolist = res.data.list[0].contentDetail
})
},
handleDataFromPage(data){
console.log(data)
if (this.currentActive === 0){
handleDataFromPage(data) {
if (this.currentActive === 0) {
this.onelist = data
}
},
goDeatail(data){
if(data.linkType == 0){
goDeatail(data) {
if (data.linkType == 0) {
this.$router.push({
name: 'details',
query:{ id: data.id }
});
query: { id: data.id }
})
}
if(data.linkType == 1){
window.open(data.link, '_blank');
if (data.linkType == 1) {
window.open(data.link, '_blank')
}
},
getContentByCategoryId(id){
getContentByCategoryId(id) {
getListById(id).then(res => {
this.dataList = res.data
})
},
//
getCurrentActive(value) {
// if (value !== 1){
// this.categoryId = this.nav[value].id
// }
@ -189,19 +190,29 @@ export default {
return
}
this.currentActive = value
if (value === 0) {
this.$nextTick(() => {
this.categoryId = this.nav[value].id
})
}
// if (value === 1){
// this.getContentByCategoryId(this.nav[value].id)
// }
if (value === 2 || value === 1){
if (value === 2 || value === 1) {
this.getContentDetail()
}
},
initPageData() {
getCategoryByParentId(this.routeParam.categoryId).then(res => {
this.nav = res.data
this.categoryId = this.nav[0].id
this.$nextTick(() => {
this.categoryId = this.nav[1].id
})
if (this.currentActive != 0) {
this.getContentDetail()
}
})
},
}
}
}
@ -211,6 +222,7 @@ export default {
.container {
background: #F5F5F5;
}
.bj {
background: #F5F5F5;
}
@ -240,12 +252,14 @@ export default {
border: 1px solid #DDDDDD;
}
.about-conts-item1{
.about-conts-item1 {
background: #fff;
}
/* 选中的页码按钮样式 */
::v-deep .el-pagination .el-pager .active {
background-color: #005375 !important;
background-color: #005375 !important;
/* 背景颜色 */
color: #fff;
/* 文字颜色 */
@ -289,7 +303,7 @@ export default {
align-items: center;
justify-content: space-between;
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
background-color: #005375 !important;
background-color: #005375 !important;
font-weight: bold;
font-size: 18px;
color: #FFFFFF;
@ -402,15 +416,10 @@ export default {
}
.committee-cont {
//width: 80%;
//margin: 15px auto;
//padding: 30px 0;
//box-sizing: border-box;
padding: 15px;
border-radius: 8px;
//width: 80%; //margin: 15px auto; //padding: 30px 0; //box-sizing: border-box; padding: 15px; border-radius: 8px;
display: flex;
justify-content: center; /* 水平居中 */
align-items: center; /* 垂直居中 */
justify-content: center; /* 水平居中 */
align-items: center; /* 垂直居中 */
padding-bottom: 0px;
position: relative;
background-image: url("../../assets/images/top_.png");
@ -519,7 +528,8 @@ export default {
/* align-items: center; */
}
.index-footer .footer .logo .footer-contact {}
.index-footer .footer .logo .footer-contact {
}
.index-footer .footer .logo .footer-contact .p {
display: inline-block;
@ -629,11 +639,13 @@ export default {
line-height: 18px;
}
.dataClass{
.dataClass {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
}
.dataClass > div {
border: 1px solid black;
font-size: 18px;
@ -641,18 +653,21 @@ export default {
text-align: center;
padding: 20px;
}
.noticeRsr{
.noticeRsr {
width: 100%;
padding: 1rem;
display: flex;
justify-content: space-between;
font-size: 20px;
}
.noticeRsr:hover{
.noticeRsr:hover {
color: #00A0E8;
cursor: pointer;
}
.noticeRsr{
.noticeRsr {
width: 100%;
padding: 1rem;
display: flex;
@ -661,7 +676,8 @@ export default {
}
.n-box{
.n-box {
width: 100%;
display: flex;
justify-content: space-between;
@ -670,23 +686,27 @@ export default {
padding: 15px;
background: #fff;
}
.noticeRsr:hover{
.noticeRsr:hover {
color: #00A0E8;
cursor: pointer;
}
.v-time{
.v-time {
font-weight: 500;
font-size: 18px;
color: #005375;
margin-bottom: 15px;
}
.v-title{
.v-title {
font-weight: bold;
font-size: 24px;
color: #005375;
margin-bottom: 15px;
}
.v-size{
.v-size {
width: 800px;
font-size: 18px;
color: #999999;
@ -728,9 +748,15 @@ export default {
}
@keyframes fadeOut {
from { opacity: 1; }
to { opacity: 0; display: none; }
from {
opacity: 1;
}
to {
opacity: 0;
display: none;
}
}
.bottom_img {
width: 100%;
height: 400px;
@ -740,8 +766,6 @@ export default {
left: 0; /* 确保元素从页面左侧开始 */
background-image: url("../../assets/images/bottom_.png");
background-repeat: no-repeat;
//z-index: -1;
background-size: cover;
transition: all 1s linear;
//z-index: -1; background-size: cover; transition: all 1s linear;
}
</style>

View File

@ -463,7 +463,9 @@
</div>
</div>
<div v-show="currentActive == 2 || currentActive == 4 || currentActive === 3 || currentActive == 5" style="z-index: 999;position:relative">
<div v-show="currentActive == 2 || currentActive == 4 || currentActive === 3 || currentActive == 5"
style="z-index: 999;position:relative"
>
<page-util :category-id="categoryId" @event-message="handleDataFromPage"/>
</div>
<div class="anniu" v-show=" registerStatus == 1 &&currentActive == 0" @click="toRegister">
@ -652,7 +654,7 @@ export default {
},
pageContext: '',
nav: [],
currentActive: 0,
currentActive: this.$route.query.childeIndex || 0,
isMounted: false,
input4: '',
categoryId: '',
@ -686,7 +688,6 @@ export default {
methods: {
handleScroll() {
let browserHeight = document.documentElement.clientHeight
console.log('高度', document.documentElement.clientHeight)
const leftImg = this.$refs.leftImg
const rightImg = this.$refs.rightImg
const bottomImg = this.$refs.bottomImg
@ -707,7 +708,6 @@ export default {
},
regChoose(data, status) {
data.status = status
console.log(data)
editRegUser(data).then(res => {
this.$modal.msgSuccess('成功')
this.fetchRegistrationInformation()
@ -721,7 +721,6 @@ export default {
},
//
arrayToString(arr) {
console.log('执行了')
return arr.join(',')
},
//
@ -816,7 +815,16 @@ export default {
this.categoryId = this.$route.query.id
getCategoryByParentId(this.routeParam.categoryId).then(res => {
this.nav = res.data
this.getContentDetail()
console.log('此时的currentActive', this.currentActive)
if (this.currentActive == 0 || this.currentActive == 1) {
console.log('执行了')
this.getContentDetail()
} else {
console.log('执行了11111')
this.otherList = []
this.categoryId = this.nav[this.currentActive].id
}
})
},
getContentDetail() {

View File

@ -1,7 +1,7 @@
<template>
<div class="container">
<div class="top-box">
<headers :msg='msg'></headers>
<headers :msg="msg"></headers>
<div class="ny-banner">
<img src="../../assets/gw/jxythd.png" alt="">
@ -16,7 +16,8 @@
<!-- </div>-->
<div class="right">
<div class="nav-item" v-for="(item, index) in nav" v-bind:class="[index === currentActive ? 'active' : '']"
@click="getCurrentActive(index)">
@click="getCurrentActive(index)"
>
{{ item.categoryName }}
</div>
</div>
@ -30,32 +31,34 @@
<img src="../../assets/images/l_img.png" alt="">
</div>
<div v-show="currentActive == 0" class="about-conts-item1">
<div class="n-box" v-for="(item,index) in onelist" @click="goDeatail(item)" >
<div class="n-box" v-for="(item,index) in onelist" @click="goDeatail(item)">
<div>
<div class="v-time" >{{item.publishDate}}</div>
<div class="v-title">{{item.contentTitle}}</div>
<div class="v-size">{{item.summary}}</div>
<div class="v-time">{{ item.publishDate }}</div>
<div class="v-title">{{ item.contentTitle }}</div>
<div class="v-size">{{ item.summary }}</div>
</div>
<div>
<img :src=" imgurl + item.contentImg" style="width: 420px; height: 263px; ">
<img :src=" imgurl + item.contentImg" style="width: 420px; height: 263px; ">
</div>
</div>
</div>
<div v-show="currentActive == 1" class="about-conts-item1"> <div class="noticeRsr" v-for="(item,index) in twolist" @click="goDeatail(item)" >
<div >{{item.contentTitle}}</div>
<div >{{item.publishDate}}</div>
</div></div>
<div v-show="currentActive == 1" class="about-conts-item1">
<div class="noticeRsr" v-for="(item,index) in twolist" @click="goDeatail(item)">
<div>{{ item.contentTitle }}</div>
<div>{{ item.publishDate }}</div>
</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>-->
<!-- </div>-->
<!-- <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>-->
<!-- </div>-->
<div class="page-box" style="z-index: 999;position:relative">
<page-util :category-id="categoryId" @event-message="handleDataFromPage" />
<page-util :category-id="categoryId" @event-message="handleDataFromPage"/>
</div>
<div class="bottom_img" ref="bottomImg">
<div class="bottom_img" ref="bottomImg">
</div>
</div>
<footers style="position: relative"></footers>
@ -63,49 +66,48 @@
</template>
<script>
import { Swiper, SwiperSlide } from "vue-awesome-swiper";
import "swiper/css/swiper.min.css";
import { getPageData, getCategoryByParentId } from "@/api/officialWebsite/getPageData";
import { Swiper, SwiperSlide } from 'vue-awesome-swiper'
import 'swiper/css/swiper.min.css'
import { getPageData, getCategoryByParentId } from '@/api/officialWebsite/getPageData'
import footers from '@/views/officialWebsite/Components/footer.vue'
import headers from '@/views/officialWebsite/Components/header.vue'
import PageUtil from '@/views/officialWebsite/Components/page'
export default {
components: {
headers,
footers,
Swiper,
SwiperSlide,
"page-util": PageUtil
'page-util': PageUtil
},
name: 'HelloWorld',
data() {
return {
msg:6,
msg: '6',
imgurl: process.env.VUE_APP_BASE_API,
onelist:[],
oneid:'',
twolist:[],
twoid:'',
categoryId: "",
onelist: [],
oneid: '',
twolist: [],
twoid: '',
categoryId: '',
pageContextList: [],
nav: [
// { name: '' },
// { name: '' },
],
currentActive: 0,
isMounted: false,
currentActive: this.$route.query.childeIndex || 0,
isMounted: false
}
},
created() {
//
this.initPageData();
},
computed: {
this.initPageData()
},
computed: {},
mounted() {
//
window.addEventListener('scroll', this.handleScroll)
@ -119,7 +121,6 @@ export default {
methods: {
handleScroll() {
let browserHeight = document.documentElement.clientHeight
console.log("高度",document.documentElement.clientHeight)
const leftImg = this.$refs.leftImg
const rightImg = this.$refs.rightImg
const bottomImg = this.$refs.bottomImg
@ -129,21 +130,20 @@ export default {
leftImg.style.position = 'fixed'
rightImg.style.top = '0px'
rightImg.style.position = 'fixed'
bottomImg.style.bottom="0"
bottomImg.style.bottom = '0'
} else {
leftImg.style.top = '250px'
leftImg.style.position = 'absolute'
rightImg.style.top = '150px'
rightImg.style.position = 'absolute'
bottomImg.style.bottom="-300px"
bottomImg.style.bottom = '-300px'
}
},
handleDataFromPage(data){
if (this.currentActive === 0){
handleDataFromPage(data) {
if (this.currentActive === 0) {
this.onelist = data
console.log(this.onelist)
}
if (this.currentActive === 1){
if (this.currentActive === 1) {
this.twolist = data
}
},
@ -158,15 +158,15 @@ export default {
initPageData() {
let routeParam = {
"categoryId": this.$route.query.id,
"pageNum": 1,
"pageSize": 10
'categoryId': this.$route.query.id,
'pageNum': 1,
'pageSize': 10
}
getCategoryByParentId(routeParam.categoryId).then(res => {
this.nav = res.data
this.categoryId = res.data[0].id
this.categoryId = this.nav[this.currentActive].id
})
},
}
}
}
@ -176,6 +176,7 @@ export default {
.container {
background: #F5F5F5;
}
.bj {
background: #F5F5F5;
}
@ -208,7 +209,7 @@ export default {
/* 选中的页码按钮样式 */
::v-deep .el-pagination .el-pager .active {
background-color: #005375 !important;
background-color: #005375 !important;
/* 背景颜色 */
color: #fff;
/* 文字颜色 */
@ -232,6 +233,7 @@ export default {
::v-deep .el-pagination .btn-prev .el-icon {
font-size: 18px;
}
.about-conts-item1 {
width: 76%;
margin: 0 auto;
@ -239,6 +241,7 @@ export default {
z-index: 99999 !important;
}
.top-box {
width: 100%;
/* height: 1000px; */
@ -258,7 +261,7 @@ export default {
align-items: center;
justify-content: space-between;
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
background-color: #005375 !important;
background-color: #005375 !important;
font-weight: bold;
font-size: 18px;
color: #FFFFFF;
@ -372,20 +375,14 @@ export default {
.news {
//padding: 30px 0;
////width: 80%;
//margin: 20px auto;
//background: #fff;
//box-sizing: border-box;
//padding: 15px;
border-radius: 8px;
padding-bottom: 0px;
//padding: 30px 0; ////width: 80%; //margin: 20px auto; //background: #fff; //box-sizing: border-box; //padding: 15px; border-radius: 8px; padding-bottom: 0px;
position: relative;
background-image: url("../../assets/images/top_.png");
background-repeat: no-repeat;
background-position: top;
}
.page-box{
.page-box {
width: 82%;
margin: 10px auto;
text-align: center;
@ -476,7 +473,8 @@ export default {
/* align-items: center; */
}
.index-footer .footer .logo .footer-contact {}
.index-footer .footer .logo .footer-contact {
}
.index-footer .footer .logo .footer-contact .p {
display: inline-block;
@ -586,7 +584,8 @@ export default {
line-height: 18px;
}
.noticeRsr{
.noticeRsr {
width: 100%;
padding: 1rem;
display: flex;
@ -595,7 +594,8 @@ export default {
}
.n-box{
.n-box {
width: 100%;
display: flex;
justify-content: space-between;
@ -604,23 +604,27 @@ export default {
padding: 15px;
background: #fff;
}
.noticeRsr:hover{
.noticeRsr:hover {
color: #00A0E8;
cursor: pointer;
}
.v-time{
.v-time {
font-weight: 500;
font-size: 18px;
color: #005375;
margin-bottom: 15px;
}
.v-title{
.v-title {
font-weight: bold;
font-size: 24px;
color: #005375;
margin-bottom: 15px;
}
.v-size{
.v-size {
width: 800px;
font-size: 18px;
color: #999999;
@ -662,9 +666,15 @@ export default {
}
@keyframes fadeOut {
from { opacity: 1; }
to { opacity: 0; display: none; }
from {
opacity: 1;
}
to {
opacity: 0;
display: none;
}
}
.bottom_img {
width: 100%;
height: 400px;
@ -674,8 +684,6 @@ export default {
left: 0; /* 确保元素从页面左侧开始 */
background-image: url("../../assets/images/bottom_.png");
background-repeat: no-repeat;
//z-index: -1;
background-size: cover;
transition: all 1s linear;
//z-index: -1; background-size: cover; transition: all 1s linear;
}
</style>

View File

@ -105,7 +105,7 @@ export default {
// { name: '' },
// { name: '' },
],
currentActive: 0,
currentActive: this.$route.query.childeIndex || 0,
isMounted: false,
professionalResources: "",
content: "",
@ -138,7 +138,6 @@ export default {
methods: {
handleScroll() {
let browserHeight = document.documentElement.clientHeight
console.log("高度",document.documentElement.clientHeight)
const leftImg = this.$refs.leftImg
const rightImg = this.$refs.rightImg
const bottomImg = this.$refs.bottomImg
@ -159,12 +158,10 @@ export default {
},
handleDataFromPage(data){
// console.log(data)
this.onelist = data
},
//
getCurrentActive(value) {
console.log('value',value)
if (this.currentActive == value) {
return
}
@ -181,7 +178,6 @@ export default {
getContentDetail() {
this.routeParam.categoryId = this.nav[this.currentActive].id
getPageData(this.routeParam).then(response => {
console.log(response)
this.pageContext = response.data.list[0].contentDetail
})
},

View File

@ -151,7 +151,7 @@ export default {
data() {
return {
msg: 9,
msg: '9',
isShowDetails: false,
detailsContent: '',
imgurl: process.env.VUE_APP_BASE_API,
@ -169,7 +169,7 @@ export default {
// { name: '' },
// { name: '' },
],
currentActive: 0,
currentActive: this.$route.query.childeIndex || 0,
isMounted: false,
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;">淄博瑞安输变电工程有限公司成立于2006年公司原属国网淄博供电公司下属施工企业现为山东泉舜控股集团有限公司全资子公司注册资本5000万元公司设立于历史悠久的齐文化发祥地淄博市并在济南青岛聊城东营潍坊济宁泰安李庄邯郸等各地设有分支机构企业人才结构合理大专以上学历及具有各种专业技术职称的近300余人是一支经过国家电网公司多年锻造专业技术强电力工程施工经验丰富的的铁军队伍<br/></span>
@ -207,7 +207,6 @@ export default {
methods: {
handleScroll() {
let browserHeight = document.documentElement.clientHeight
console.log("高度",document.documentElement.clientHeight)
const leftImg = this.$refs.leftImg
const rightImg = this.$refs.rightImg
const bottomImg = this.$refs.bottomImg
@ -217,13 +216,13 @@ export default {
leftImg.style.position = 'fixed'
rightImg.style.top = '0px'
rightImg.style.position = 'fixed'
bottomImg.style.bottom="0"
bottomImg.style.bottom = '0'
} else {
leftImg.style.top = '250px'
leftImg.style.position = 'absolute'
rightImg.style.top = '150px'
rightImg.style.position = 'absolute'
bottomImg.style.bottom="-300px"
bottomImg.style.bottom = '-300px'
}
},
showDetails(value) {
@ -236,17 +235,26 @@ export default {
if (this.currentActive == value) {
return
}
if (value !== 0) {
this.categoryId = this.nav[value].id
this.pageNum = 1
}
this.currentActive = value
if (value !== 0) {
this.pageNum = 1
this.categoryId = this.nav[value].id
} else {
this.getContentDetail()
}
this.isShowDetails = false
},
initPageData() {
getCategoryByParentId(this.routeParam.categoryId).then(res => {
this.nav = res.data
this.getContentDetail()
if (this.currentActive == 0) {
this.getContentDetail()
} else {
this.categoryId = this.nav[this.currentActive].id
this.pageNum = 1
}
})
},
getContentDetail() {
@ -1085,9 +1093,15 @@ export default {
}
@keyframes fadeOut {
from { opacity: 1; }
to { opacity: 0; display: none; }
from {
opacity: 1;
}
to {
opacity: 0;
display: none;
}
}
.bottom_img {
width: 100%;
height: 400px;
@ -1097,8 +1111,7 @@ export default {
left: 0; /* 确保元素从页面左侧开始 */
background-image: url("../../assets/images/bottom_.png");
background-repeat: no-repeat;
//z-index: -1;
background-size: cover;
//z-index: -1; background-size: cover;
transition: all 1s linear;
}
</style>

View File

@ -107,7 +107,7 @@ export default {
// { name: '' },
// { name: '' },
],
currentActive: 0,
currentActive: this.$route.query.childeIndex || 0,
isMounted: false,
categoryId: "",
routeParam : {
@ -140,7 +140,6 @@ export default {
methods: {
handleScroll() {
let browserHeight = document.documentElement.clientHeight
console.log("高度",document.documentElement.clientHeight)
const leftImg = this.$refs.leftImg
const rightImg = this.$refs.rightImg
const bottomImg = this.$refs.bottomImg