tuanshiwei-web/components/AppAbout.vue

411 lines
12 KiB
Vue
Raw Normal View History

2025-05-24 09:12:30 +08:00
<template>
2025-07-02 17:33:47 +08:00
<!-- PC端布局 -->
<div class="flex justify-between w-full h-full">
<!-- 左边导航栏 -->
2025-05-24 09:12:30 +08:00
2025-07-02 17:33:47 +08:00
<!-- 右边内容栏 -->
2025-07-04 13:15:56 +08:00
<div class="rightcon" id="aboutid" @scroll="hmScroll">
2025-07-02 17:33:47 +08:00
<div class="flex top_search ">
<div style="width: 350x;">
<img :src="`/img/index/dlogo.png`" alt="" style="width: 100%;height: 100%;object-fit: cover;">
</div>
<div class="inputform">
<input v-model="inputSearch" class="contactInput w-full md:w-[337px]" type="text"
placeholder="请输入搜索关键字" />
<div class="search_rinput" @click="toSearch">
<img src="/img/index/hmsearch.png" alt="">
</div>
</div>
2025-05-24 09:12:30 +08:00
</div>
2025-07-02 17:33:47 +08:00
<div class="News_box">
<div class="lef_box">
<!-- @click="getMesList(null)" 新闻动态总 -->
<div class="lef_boxitem1">
<div class="lef_boxitem1_shu"></div>
<div class="lef_boxitem1_title">关于我们</div>
</div>
<div :class="['lef_boxitem2', { 'active': cateid == item.id }]" v-for="(item, index) in newsListtyp"
:key="index" @click="getMesList(item.id, 1)">
2025-07-04 13:15:56 +08:00
<div class="lef_boxitem2_title">{{ item.tabtitle }}</div>
2025-07-02 17:33:47 +08:00
</div>
</div>
<div class="rig_box">
<div class="re_box">
<div style="background: #ffffff;width: 100%;display: flex;align-items: center;padding: 18px;">
<div>
<img :src="`/img/key.png`" style="width: 22px;height: 22px;">
</div>
<div style="font-size: 18px;color: #323232;margin-left: 10px;">当前位置首页 > 关于我们 > <span
2025-07-04 13:15:56 +08:00
style="color: #3B90DF;">{{newsListtyp.find(item => item.id == cateid)?.tabtitle
2025-07-02 17:33:47 +08:00
}}</span></div>
</div>
<div style="background-color: #ffffff;width: 100%;padding: 18px;">
<div
2025-07-04 13:15:56 +08:00
style="font-weight: bold;font-size: 32px;color: #393939;text-align: center;padding: 25px 0px 25px 0;">{{ info.title }}</div>
2025-07-02 17:33:47 +08:00
<div style="width: 100%;height: 3px;border-top: 1px dashed #BBBBBB;"></div>
<div
style="color: #999999;font-weight: 400;font-size: 16px;line-height: 25px;white-space: pre-line;">
2025-07-04 13:15:56 +08:00
<div v-html="info.content"></div>
2025-07-02 17:33:47 +08:00
</div>
</div>
</div>
2025-05-24 09:12:30 +08:00
</div>
</div>
2025-07-02 17:33:47 +08:00
<!-- 右分享 -->
<!-- <div style="position: absolute;top: 300px;right:36px;" class="flex flex-col fiximg">
<img :src="`/img/index/douyin.png`" alt="">
<img :src="`/img/index/wb.png`" alt="">
<img :src="`/img/index/wx.png`" alt="">
<img :src="`/img/index/blbl.png`" alt="">
</div> -->
<AppFooter></AppFooter>
<!-- 底部鼠标 -->
<div class="mouse_img">
<img :src="`/img/index/hmouse.png`" alt="">
</div>
2025-05-24 09:12:30 +08:00
</div>
2025-07-02 17:33:47 +08:00
</div>
2025-05-24 09:12:30 +08:00
</template>
<script lang="ts" setup>
2025-07-02 17:33:47 +08:00
import { defineEmits } from 'vue'
import { NPagination } from 'naive-ui'
import $api from '@/service/webRequest'
import emitter from '@/plugins/emitter'
const inputSearch = ref('');
const MesList = ref([]);
2025-07-04 13:15:56 +08:00
const newsListtyp = ref([]);
2025-07-02 17:33:47 +08:00
const page = ref(1);
const total = ref(0);
2025-07-04 13:15:56 +08:00
const cateid = ref(0);
2025-07-02 17:33:47 +08:00
const detailId = ref(null);
2025-07-04 13:15:56 +08:00
const ldbz = ref('')
2025-07-02 17:33:47 +08:00
// 信息公开
onMounted(() => {
//getMesList();
2025-07-04 13:15:56 +08:00
getNewstypeList(1);
2025-07-02 17:33:47 +08:00
})
2025-07-04 13:15:56 +08:00
const hmScroll = () => {
let home = document.getElementById('aboutid');
if (home.scrollTop + home.clientHeight >= home.scrollHeight) {
setTimeout(function () {
emit('toSwpe', 3);
}, 500);
}
if (home.scrollTop == 0) {
setTimeout(function () {
emit('toSwpe', 1);
}, 500);
}
}
2025-07-02 17:33:47 +08:00
const emit = defineEmits(['toSwpe'])
//搜索
const toSearch = () => {
2025-07-04 13:15:56 +08:00
2025-07-02 17:33:47 +08:00
window.open(`/search_info?type=1&keywords=${inputSearch.value}`)
2025-05-27 18:33:40 +08:00
}
2025-07-04 13:15:56 +08:00
const info=ref({});
const getMesList=async(id:number)=>{
cateid.value=id;
info.value=newsListtyp.value.find(item=>item.id==id);
2025-07-02 17:33:47 +08:00
}
const getNewstypeList = async () => {
2025-07-04 13:15:56 +08:00
const res = await $api.get(`/api/index/about_us`)
2025-07-02 17:33:47 +08:00
newsListtyp.value = res.data.data.list;
2025-07-04 13:15:56 +08:00
cateid.value=res.data.data.list[0].id;
info.value=res.data.data.list[0];
2025-05-29 14:42:01 +08:00
}
2025-05-24 09:12:30 +08:00
</script>
<style lang="scss" scoped>
@import '@/assets/index.scss';
/* pc端样式 */
2025-07-02 17:33:47 +08:00
.rightcon {
width: 100%;
height: 100%;
background-image: url('/img/index/rightcons.png');
background-size: 100% 100%;
overflow-y: auto;
.fiximg {
img {
margin-bottom: 20px;
2025-05-24 09:12:30 +08:00
}
2025-07-02 17:33:47 +08:00
}
}
.top_search {
margin-top: 50px;
height: 70px;
justify-content: space-between;
align-items: center;
margin-left: 415px;
width: 1200px;
}
.inputform {
position: relative;
width: 340px;
}
.contactInput {
width: 337px;
height: 50px;
background: #FFFFFF;
border-radius: 8px;
border: 1px solid #DEE4E8;
padding-left: 15px;
}
.contactInput::placeholder {
color: #999999;
}
.contactInput:focus {
outline: none;
}
.search_rinput {
width: 68px;
height: 50px;
background: #338CDE;
border-radius: 0px 8px 8px 0px;
position: absolute;
top: 0;
right: 0;
display: flex;
justify-content: center;
align-items: center;
}
.News_box {
display: flex;
justify-content: space-between;
width: 1300px;
margin: 0 auto;
gap: 20px;
.lef_box {
width: 260px;
height: 100%;
margin-top: 40px;
margin-left: 100px;
.lef_boxitem1 {
width: 260px;
height: 64px;
background: linear-gradient(0deg, #338CDE 0%, #3D92E0 100%);
display: flex;
align-items: center;
justify-content: center;
// cursor: pointer;
.lef_boxitem1_title {
width: 88px;
// height: 22px;
font-family: Microsoft YaHei UI;
2025-05-24 09:12:30 +08:00
font-weight: bold;
2025-07-02 17:33:47 +08:00
font-size: 22px;
color: #FFFEFE;
2025-05-24 09:12:30 +08:00
}
2025-07-02 17:33:47 +08:00
.lef_boxitem1_shu {
width: 4px;
height: 25px;
background: #FFFFFF;
margin-right: 20px;
2025-05-24 09:12:30 +08:00
}
}
2025-07-02 17:33:47 +08:00
.lef_boxitem2 {
width: 260px;
height: 64px;
background: #FFFFFF;
color: #323232;
2025-05-24 09:12:30 +08:00
display: flex;
align-items: center;
2025-07-02 17:33:47 +08:00
margin-top: 10px;
cursor: pointer;
.lef_boxitem2_title {
2025-05-24 09:12:30 +08:00
width: 100%;
2025-07-02 17:33:47 +08:00
// height: 19px;
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 20px;
text-align: center;
}
&:hover {
background: linear-gradient(0deg, rgba(51, 140, 222, 0.12) 0%, rgba(61, 146, 224, 0.12) 100%);
color: #3A91DF;
}
&.active {
background: linear-gradient(0deg, rgba(51, 140, 222, 0.12) 0%, rgba(61, 146, 224, 0.12) 100%);
color: #3A91DF;
2025-05-24 09:12:30 +08:00
}
}
2025-07-02 17:33:47 +08:00
}
.rig_box {
2025-07-04 13:15:56 +08:00
width: 100%;
2025-07-02 17:33:47 +08:00
.re_box {
width: 100%;
height: 100%;
2025-05-24 09:12:30 +08:00
margin: 0 auto;
2025-07-02 17:33:47 +08:00
margin-top: 40px;
// padding-left: 60px;
2025-05-24 09:12:30 +08:00
display: flex;
flex-wrap: wrap;
2025-07-02 17:33:47 +08:00
justify-content: flex-start;
align-content: flex-start;
gap: 10px;
.re_box_item {
width: 100%;
height: 90px;
background: #FFFFFF;
border: 1px solid #EEF7FF;
padding: 20px;
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
.re_title {
// width: 640px;
font-family: Microsoft YaHei;
2025-05-24 09:12:30 +08:00
font-weight: 400;
font-size: 18px;
2025-07-02 17:33:47 +08:00
color: #323232;
display: flex;
align-items: center;
.dian {
width: 10px;
height: 10px;
background: #3B90DF;
border-radius: 50%;
margin-right: 15px;
}
2025-05-24 09:12:30 +08:00
}
2025-07-02 17:33:47 +08:00
.re_date {
font-family: Microsoft YaHei;
2025-05-24 09:12:30 +08:00
font-weight: 400;
font-size: 14px;
2025-07-02 17:33:47 +08:00
color: #368BDB;
2025-05-24 09:12:30 +08:00
display: flex;
2025-07-02 17:33:47 +08:00
justify-content: space-between;
2025-05-24 09:12:30 +08:00
align-items: center;
2025-07-02 17:33:47 +08:00
.shu {
background: #EEEEEE;
width: 1px;
height: 50px;
margin-right: 20px;
2025-05-24 09:12:30 +08:00
}
2025-07-02 17:33:47 +08:00
.right_tex {
display: flex;
flex-direction: column;
width: 80px;
2025-05-24 09:12:30 +08:00
text-align: center;
2025-07-02 17:33:47 +08:00
.span1 {
width: 100%;
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 22px;
color: #378EDF;
}
.span2 {
width: 100%;
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
color: #378EDF;
}
2025-05-24 09:12:30 +08:00
}
}
2025-07-02 17:33:47 +08:00
&:hover {
background-image: url('/img/message/listbg.png');
background-size: 100% 100%;
2025-05-24 09:12:30 +08:00
cursor: pointer;
2025-07-02 17:33:47 +08:00
.re_date {
.shu {
background: #FFFFFF;
}
2025-05-24 09:12:30 +08:00
}
}
}
}
2025-07-02 17:33:47 +08:00
.pages_tsw {
:deep(.n-pagination .n-pagination-item:not(.n-pagination-item--disabled).n-pagination-item--active) {
color: #ffffff;
background-color: #388FDF;
border: 1px solid #388FDF;
}
:deep(.n-pagination .n-pagination-item:not(.n-pagination-item--disabled):hover.n-pagination-item--button) {
color: #999999;
}
:deep(.n-pagination .n-pagination-item:not(.n-pagination-item--disabled):hover) {
color: #388FDF;
// border: 1px solid #388FDF;
}
:deep(.n-pagination .n-pagination-item--active:hover) {
color: #ffffff !important;
// border: 1px solid #388FDF;
}
:deep(.n-pagination .n-pagination-item) {
border: none;
width: 42px;
height: 30px;
font-size: 18px;
background: #FFFFFF;
}
:deep(.n-pagination-quick-jumper) {
&:after {
content: '页'
}
2025-05-27 18:33:40 +08:00
}
}
}
2025-07-02 17:33:47 +08:00
}
@media (max-width: 1440px) {
.top_search {
width: 920px;
margin-left: 373px;
}
.News_box{
width: 1032px;
margin-left: 270px;
}
.rig_box{
width: 700px;
}
}
</style>