update icon

This commit is contained in:
quantulr
2024-03-01 17:29:36 +08:00
parent dc29644a2e
commit 184f041784
8 changed files with 292 additions and 168 deletions

View File

@ -0,0 +1,7 @@
import request from "@/utils/request";
export const listNews = (params) => request({
url: "/app/news/list",
method: "GET",
params
});

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

View File

@ -1,7 +1,8 @@
<template> <template>
<div class="webHead"> <div class="webHead">
<div class="site-title"> <div class="site-title">
{{t('common.siteTitle')}} <img class="site-logo" :src="sitelogo"/>
<span>{{ t('common.siteTitle') }}</span>
</div> </div>
<el-row style="height: 80px"> <el-row style="height: 80px">
<el-col :span="16"> <el-col :span="16">
@ -185,7 +186,7 @@
</template> </template>
<script setup> <script setup>
import { computed, reactive, watch } from "vue"; import {computed, reactive, ref, watch} from "vue";
import {useRoute, useRouter} from "vue-router"; import {useRoute, useRouter} from "vue-router";
import useUserStore from "@/store/modules/user"; import useUserStore from "@/store/modules/user";
@ -194,6 +195,7 @@ import { useI18n } from "vue-i18n";
import useSettingsStore from "@/store/modules/settings"; import useSettingsStore from "@/store/modules/settings";
import defaultAvatar from "@/assets/logo/avatar.png"; import defaultAvatar from "@/assets/logo/avatar.png";
import modal from "@/plugins/modal"; import modal from "@/plugins/modal";
import sitelogo from "@/assets/logo/咸海logo.png"
const userStore = useUserStore(); const userStore = useUserStore();
let state = reactive({}); let state = reactive({});
@ -268,7 +270,8 @@ function logout() {
location.href = "/"; location.href = "/";
}); });
}) })
.catch(() => {}); .catch(() => {
});
} }
</script> </script>
@ -368,7 +371,7 @@ dt {
} }
.profile-menu-group { .profile-menu-group {
height: 71px; height: 75px;
flex: 2; flex: 2;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
@ -402,7 +405,15 @@ dt {
font-size: 24px; font-size: 24px;
margin-left: 32px; margin-left: 32px;
font-weight: bold; font-weight: bold;
.site-logo {
width: 30px;
height: 30px;
object-fit: cover;
margin-right: 4px;
} }
}
.switch-locale { .switch-locale {
position: absolute; position: absolute;
top: 50%; top: 50%;

View File

@ -354,7 +354,8 @@ const handleScroll = async (ev) => {
return; return;
} }
isScrolling.value = true; isScrolling.value = true;
playScrollAnimation(direction, () => {}); playScrollAnimation(direction, () => {
});
if (direction === "down" && mapIndex.value < methods.length - 1) { if (direction === "down" && mapIndex.value < methods.length - 1) {
emit("changeMapIndex", mapIndex.value + 1); emit("changeMapIndex", mapIndex.value + 1);
} else if (direction === "up" && mapIndex.value > 0) { } else if (direction === "up" && mapIndex.value > 0) {
@ -369,7 +370,8 @@ watch(mapIndex, (newVal, oldVal) => {
} }
isScrolling.value = true; isScrolling.value = true;
const direction = newVal > oldVal ? "down" : "up"; const direction = newVal > oldVal ? "down" : "up";
playScrollAnimation(direction, () => {}); playScrollAnimation(direction, () => {
});
// if (locale.value === "zh") { // if (locale.value === "zh") {
// loadChinaDistrict("100000"); // loadChinaDistrict("100000");
// } else { // } else {
@ -523,7 +525,7 @@ watch(mapIndex, (newVal, oldVal) => {
> .title { > .title {
position: absolute; position: absolute;
top: 20px; top: 16px;
width: 100%; width: 100%;
text-align: center; text-align: center;
font-size: 24px; font-size: 24px;
@ -565,7 +567,8 @@ watch(mapIndex, (newVal, oldVal) => {
.th { .th {
display: flex; display: flex;
color: white; color: white;
font-size: 14px; font-size: 12px;
.title, .title,
.count { .count {
width: 60px; width: 60px;

View File

@ -81,6 +81,10 @@
<div class="val">{{ state.data.patent_count }}</div> <div class="val">{{ state.data.patent_count }}</div>
<div class="des">{{ t("quantityOverview.patent") }}</div> <div class="des">{{ t("quantityOverview.patent") }}</div>
</div> </div>
<div>
<div class="val">{{ state.data.achievement_count }}</div>
<div class="des">{{ t("quantityOverview.achievement") }}</div>
</div>
<div> <div>
<div class="val">{{ state.data.expert_count }}</div> <div class="val">{{ state.data.expert_count }}</div>
<div class="des"> <div class="des">

View 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>

View File

@ -2,10 +2,10 @@
<div ref="fullPageRef" v-loading="loading" class="fullPage"> <div ref="fullPageRef" v-loading="loading" class="fullPage">
<div class="indicator"> <div class="indicator">
<div <div
v-for="idx in 6" v-for="idx in 7"
:id="idx.toString()" :id="idx.toString()"
:key="idx" :key="idx"
:class="`${indicatorActiveIndex == idx ? 'active' : ''}`" :class="`${indicatorActiveIndex === idx ? 'active' : ''}`"
class="point" class="point"
@click="handleIndicatorClick(idx)" @click="handleIndicatorClick(idx)"
></div> ></div>
@ -56,6 +56,7 @@ import { computed, onMounted, reactive, ref, shallowRef } from "vue";
import index0 from "./comp/index0.vue"; import index0 from "./comp/index0.vue";
import index1 from "./comp/index1.vue"; import index1 from "./comp/index1.vue";
import index8 from "./comp/index8.vue"; import index8 from "./comp/index8.vue";
import index9 from "@/views/website/home/comp/index9.vue";
const loading = ref(true); const loading = ref(true);
setTimeout(() => { setTimeout(() => {
@ -153,6 +154,11 @@ let state = reactive({
zIndex: 1, zIndex: 1,
title: "index1", title: "index1",
}, },
{
comp: shallowRef(index9),
zIndex: 1,
title: "index9",
},
{ {
comp: shallowRef(index0), comp: shallowRef(index0),
zIndex: 1, zIndex: 1,
@ -174,7 +180,9 @@ const indicatorActiveIndex = computed(() => {
if (state.fullpage.current === 1) { if (state.fullpage.current === 1) {
return 1; return 1;
} else if (state.fullpage.current === 2) { } else if (state.fullpage.current === 2) {
return mapIndex.value + 2; return 2
} else if (state.fullpage.current === 3) {
return mapIndex.value + 3;
} else { } else {
return state.fullpage.current + 3; return state.fullpage.current + 3;
} }

View File

@ -32,8 +32,8 @@ export default defineConfig(({mode, command}) => {
// https://cn.vitejs.dev/config/#server-proxy // https://cn.vitejs.dev/config/#server-proxy
"/dev-api": { "/dev-api": {
// target: "http://101.34.131.16:1618", // target: "http://101.34.131.16:1618",
target: "http://129.211.170.150/api", // target: "http://129.211.170.150/api",
// target: "http://192.168.0.201:1618", target: "http://192.168.0.200:1619",
// target: 'http://172.18.3.127:1618', // target: 'http://172.18.3.127:1618',
changeOrigin: true, changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api/, ""), rewrite: (p) => p.replace(/^\/dev-api/, ""),