update icon
This commit is contained in:
7
src/api/website/home/news.js
Normal file
7
src/api/website/home/news.js
Normal file
@ -0,0 +1,7 @@
|
||||
import request from "@/utils/request";
|
||||
|
||||
export const listNews = (params) => request({
|
||||
url: "/app/news/list",
|
||||
method: "GET",
|
||||
params
|
||||
});
|
||||
BIN
src/assets/logo/咸海logo.png
Normal file
BIN
src/assets/logo/咸海logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 151 KiB |
@ -1,7 +1,8 @@
|
||||
<template>
|
||||
<div class="webHead">
|
||||
<div class="site-title">
|
||||
{{t('common.siteTitle')}}
|
||||
<img class="site-logo" :src="sitelogo"/>
|
||||
<span>{{ t('common.siteTitle') }}</span>
|
||||
</div>
|
||||
<el-row style="height: 80px">
|
||||
<el-col :span="16">
|
||||
@ -185,7 +186,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { computed, reactive, watch } from "vue";
|
||||
import {computed, reactive, ref, watch} from "vue";
|
||||
import {useRoute, useRouter} from "vue-router";
|
||||
|
||||
import useUserStore from "@/store/modules/user";
|
||||
@ -194,6 +195,7 @@ import { useI18n } from "vue-i18n";
|
||||
import useSettingsStore from "@/store/modules/settings";
|
||||
import defaultAvatar from "@/assets/logo/avatar.png";
|
||||
import modal from "@/plugins/modal";
|
||||
import sitelogo from "@/assets/logo/咸海logo.png"
|
||||
|
||||
const userStore = useUserStore();
|
||||
let state = reactive({});
|
||||
@ -268,7 +270,8 @@ function logout() {
|
||||
location.href = "/";
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
.catch(() => {
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -368,7 +371,7 @@ dt {
|
||||
}
|
||||
|
||||
.profile-menu-group {
|
||||
height: 71px;
|
||||
height: 75px;
|
||||
flex: 2;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
@ -402,7 +405,15 @@ dt {
|
||||
font-size: 24px;
|
||||
margin-left: 32px;
|
||||
font-weight: bold;
|
||||
|
||||
.site-logo {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
object-fit: cover;
|
||||
margin-right: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.switch-locale {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
|
||||
@ -354,7 +354,8 @@ const handleScroll = async (ev) => {
|
||||
return;
|
||||
}
|
||||
isScrolling.value = true;
|
||||
playScrollAnimation(direction, () => {});
|
||||
playScrollAnimation(direction, () => {
|
||||
});
|
||||
if (direction === "down" && mapIndex.value < methods.length - 1) {
|
||||
emit("changeMapIndex", mapIndex.value + 1);
|
||||
} else if (direction === "up" && mapIndex.value > 0) {
|
||||
@ -369,7 +370,8 @@ watch(mapIndex, (newVal, oldVal) => {
|
||||
}
|
||||
isScrolling.value = true;
|
||||
const direction = newVal > oldVal ? "down" : "up";
|
||||
playScrollAnimation(direction, () => {});
|
||||
playScrollAnimation(direction, () => {
|
||||
});
|
||||
// if (locale.value === "zh") {
|
||||
// loadChinaDistrict("100000");
|
||||
// } else {
|
||||
@ -523,7 +525,7 @@ watch(mapIndex, (newVal, oldVal) => {
|
||||
|
||||
> .title {
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
top: 16px;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-size: 24px;
|
||||
@ -565,7 +567,8 @@ watch(mapIndex, (newVal, oldVal) => {
|
||||
.th {
|
||||
display: flex;
|
||||
color: white;
|
||||
font-size: 14px;
|
||||
font-size: 12px;
|
||||
|
||||
.title,
|
||||
.count {
|
||||
width: 60px;
|
||||
|
||||
@ -81,6 +81,10 @@
|
||||
<div class="val">{{ state.data.patent_count }}</div>
|
||||
<div class="des">{{ t("quantityOverview.patent") }}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="val">{{ state.data.achievement_count }}</div>
|
||||
<div class="des">{{ t("quantityOverview.achievement") }}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="val">{{ state.data.expert_count }}</div>
|
||||
<div class="des">
|
||||
|
||||
91
src/views/website/home/comp/index9.vue
Normal file
91
src/views/website/home/comp/index9.vue
Normal file
@ -0,0 +1,91 @@
|
||||
<script setup>
|
||||
import {reactive, ref, toRefs} from "vue";
|
||||
import {listNews} from "@/api/website/home/news";
|
||||
import Pagination from "@/components/Pagination/index.vue";
|
||||
|
||||
const file_base_url = `${import.meta.env.VITE_APP_BASE_API}/file`
|
||||
const total = ref(0)
|
||||
const newsList = ref([])
|
||||
const data = reactive({
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 4,
|
||||
classification: "0"
|
||||
}
|
||||
})
|
||||
|
||||
const {queryParams} = toRefs(data)
|
||||
const getList = () => {
|
||||
listNews(queryParams.value).then(resp => {
|
||||
newsList.value = resp.rows
|
||||
total.value = resp.total
|
||||
})
|
||||
}
|
||||
const handleTabChange = (tab) => {
|
||||
queryParams.value.classification = tab
|
||||
getList()
|
||||
}
|
||||
getList()
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="app-container" style="height: 100%">
|
||||
<el-tabs @tab-change="handleTabChange" v-model="queryParams.classification">
|
||||
<el-tab-pane name="0" label="新闻"></el-tab-pane>
|
||||
<el-tab-pane name="1" label="政策"></el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
<div class="news-list">
|
||||
<div class="news-item" v-for="item in newsList">
|
||||
<img class="news-cover" alt="cover" :src="`${file_base_url}/${item.cover}`"/>
|
||||
|
||||
<p class="news-content">
|
||||
{{ item.content }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <pagination :total="total"/>-->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.app-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.news-list {
|
||||
align-items: start;
|
||||
//flex: 1;
|
||||
//display: grid;
|
||||
//grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
//grid-template-rows: repeat(2, minmax(0, 1fr));
|
||||
//gap: 16px;
|
||||
//padding: 12px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-content: flex-start;
|
||||
height: calc(100vh - 240px);
|
||||
|
||||
.news-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 12px;
|
||||
width: 50%;
|
||||
height: 50%;
|
||||
|
||||
.news-cover {
|
||||
flex: 2;
|
||||
width: 80%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.news-content {
|
||||
overflow-y: hidden;
|
||||
flex: 3;
|
||||
margin-left: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -2,10 +2,10 @@
|
||||
<div ref="fullPageRef" v-loading="loading" class="fullPage">
|
||||
<div class="indicator">
|
||||
<div
|
||||
v-for="idx in 6"
|
||||
v-for="idx in 7"
|
||||
:id="idx.toString()"
|
||||
:key="idx"
|
||||
:class="`${indicatorActiveIndex == idx ? 'active' : ''}`"
|
||||
:class="`${indicatorActiveIndex === idx ? 'active' : ''}`"
|
||||
class="point"
|
||||
@click="handleIndicatorClick(idx)"
|
||||
></div>
|
||||
@ -56,6 +56,7 @@ import { computed, onMounted, reactive, ref, shallowRef } from "vue";
|
||||
import index0 from "./comp/index0.vue";
|
||||
import index1 from "./comp/index1.vue";
|
||||
import index8 from "./comp/index8.vue";
|
||||
import index9 from "@/views/website/home/comp/index9.vue";
|
||||
|
||||
const loading = ref(true);
|
||||
setTimeout(() => {
|
||||
@ -153,6 +154,11 @@ let state = reactive({
|
||||
zIndex: 1,
|
||||
title: "index1",
|
||||
},
|
||||
{
|
||||
comp: shallowRef(index9),
|
||||
zIndex: 1,
|
||||
title: "index9",
|
||||
},
|
||||
{
|
||||
comp: shallowRef(index0),
|
||||
zIndex: 1,
|
||||
@ -174,7 +180,9 @@ const indicatorActiveIndex = computed(() => {
|
||||
if (state.fullpage.current === 1) {
|
||||
return 1;
|
||||
} else if (state.fullpage.current === 2) {
|
||||
return mapIndex.value + 2;
|
||||
return 2
|
||||
} else if (state.fullpage.current === 3) {
|
||||
return mapIndex.value + 3;
|
||||
} else {
|
||||
return state.fullpage.current + 3;
|
||||
}
|
||||
|
||||
@ -32,8 +32,8 @@ export default defineConfig(({mode, command}) => {
|
||||
// https://cn.vitejs.dev/config/#server-proxy
|
||||
"/dev-api": {
|
||||
// target: "http://101.34.131.16:1618",
|
||||
target: "http://129.211.170.150/api",
|
||||
// target: "http://192.168.0.201:1618",
|
||||
// target: "http://129.211.170.150/api",
|
||||
target: "http://192.168.0.200:1619",
|
||||
// target: 'http://172.18.3.127:1618',
|
||||
changeOrigin: true,
|
||||
rewrite: (p) => p.replace(/^\/dev-api/, ""),
|
||||
|
||||
Reference in New Issue
Block a user