Commit 0518726e authored by liyang's avatar liyang

fix:门户网站加载科学计划与国际合作提示需要登录

parent 77854c74
...@@ -3,27 +3,39 @@ import request from '@/utils/request' ...@@ -3,27 +3,39 @@ import request from '@/utils/request'
export function getAboutInfo() { export function getAboutInfo() {
return request({ return request({
url: '/portal/about/info', url: '/portal/about/info',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getOrganization() { export function getOrganization() {
return request({ return request({
url: '/portal/about/organization', url: '/portal/about/organization',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getHistory() { export function getHistory() {
return request({ return request({
url: '/portal/about/history', url: '/portal/about/history',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getAboutSts() { export function getAboutSts() {
return request({ return request({
url: '/portal/aboutSts', url: '/portal/aboutSts',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
...@@ -4,7 +4,10 @@ export function getAchievementList(params) { ...@@ -4,7 +4,10 @@ export function getAchievementList(params) {
return request({ return request({
url: '/portal/achievement/list', url: '/portal/achievement/list',
method: 'get', method: 'get',
params: params params: params,
headers: {
isToken: false
}
}) })
} }
...@@ -12,28 +15,40 @@ export function getPaperList(params) { ...@@ -12,28 +15,40 @@ export function getPaperList(params) {
return request({ return request({
url: '/portal/achievement/papers', url: '/portal/achievement/papers',
method: 'get', method: 'get',
params: params params: params,
headers: {
isToken: false
}
}) })
} }
export function getPatentList() { export function getPatentList() {
return request({ return request({
url: '/portal/achievement/patents', url: '/portal/achievement/patents',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getAwardList() { export function getAwardList() {
return request({ return request({
url: '/portal/achievement/awards', url: '/portal/achievement/awards',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getAchievementStats() { export function getAchievementStats() {
return request({ return request({
url: '/portal/achievement/stats', url: '/portal/achievement/stats',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
...@@ -41,20 +56,29 @@ export function getSdgsat1AchievementList(params) { ...@@ -41,20 +56,29 @@ export function getSdgsat1AchievementList(params) {
return request({ return request({
url: '/portal/achievement/sdgsat1', url: '/portal/achievement/sdgsat1',
method: 'get', method: 'get',
params: params params: params,
headers: {
isToken: false
}
}) })
} }
export function getAchievementDetail(id) { export function getAchievementDetail(id) {
return request({ return request({
url: `/portal/achievement/${id}`, url: `/portal/achievement/${id}`,
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getAchievementOverview() { export function getAchievementOverview() {
return request({ return request({
url: '/achievement/overview/1', url: '/achievement/overview/1',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
import request from '@/utils/request' import request from '@/utils/request'
// 获取SDG应用案例列表(来自管理后台应用案例管理)
export function getApplicationList(query) { export function getApplicationList(query) {
return request({ return request({
url: '/portal/application/list', url: '/portal/application/list',
method: 'get', method: 'get',
params: query params: query,
headers: {
isToken: false
}
}) })
} }
// 获取区域示范列表
export function getDemoList(query) { export function getDemoList(query) {
return request({ return request({
url: '/portal/application/demos', url: '/portal/application/demos',
method: 'get', method: 'get',
params: query params: query,
headers: {
isToken: false
}
}) })
} }
export function getImpactList() { export function getImpactList() {
return request({ return request({
url: '/portal/application/impact', url: '/portal/application/impact',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getApplicationStats() { export function getApplicationStats() {
return request({ return request({
url: '/portal/application/stats', url: '/portal/application/stats',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
...@@ -3,14 +3,20 @@ import request from '@/utils/request' ...@@ -3,14 +3,20 @@ import request from '@/utils/request'
export function getHomeData() { export function getHomeData() {
return request({ return request({
url: '/portal/home/data', url: '/portal/home/data',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getBannerList() { export function getBannerList() {
return request({ return request({
url: '/portal/home/banner', url: '/portal/home/banner',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
...@@ -18,6 +24,9 @@ export function getNewsList(params) { ...@@ -18,6 +24,9 @@ export function getNewsList(params) {
return request({ return request({
url: '/portal/home/news', url: '/portal/home/news',
method: 'get', method: 'get',
params: params params: params,
headers: {
isToken: false
}
}) })
} }
...@@ -3,35 +3,49 @@ import request from '@/utils/request' ...@@ -3,35 +3,49 @@ import request from '@/utils/request'
export function getProgressList() { export function getProgressList() {
return request({ return request({
url: '/portal/progress/list', url: '/portal/progress/list',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getProjectList() { export function getProjectList() {
return request({ return request({
url: '/portal/progress/projects', url: '/portal/progress/projects',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getMilestoneList() { export function getMilestoneList() {
return request({ return request({
url: '/portal/progress/milestones', url: '/portal/progress/milestones',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getProgressStats() { export function getProgressStats() {
return request({ return request({
url: '/portal/progress/stats', url: '/portal/progress/stats',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
// 获取项目实施进展(来自管理后台进展情况管理/项目实施进展)
export function getImplementationProgress() { export function getImplementationProgress() {
return request({ return request({
url: '/portal/progress/implementation', url: '/portal/progress/implementation',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
...@@ -3,6 +3,9 @@ import request from '@/utils/request' ...@@ -3,6 +3,9 @@ import request from '@/utils/request'
export function getSciencePlanList() { export function getSciencePlanList() {
return request({ return request({
url: '/portal/science-plan/list', url: '/portal/science-plan/list',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
...@@ -3,62 +3,89 @@ import request from '@/utils/request' ...@@ -3,62 +3,89 @@ import request from '@/utils/request'
export function getSDGSAT1Info() { export function getSDGSAT1Info() {
return request({ return request({
url: '/portal/sdgsat1/info', url: '/portal/sdgsat1/info',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getSDGSAT1Specs() { export function getSDGSAT1Specs() {
return request({ return request({
url: '/portal/sdgsat1/specs', url: '/portal/sdgsat1/specs',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getInstrumentList() { export function getInstrumentList() {
return request({ return request({
url: '/portal/sdgsat1/instruments', url: '/portal/sdgsat1/instruments',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getApplicationAreaList() { export function getApplicationAreaList() {
return request({ return request({
url: '/portal/sdgsat1/applications', url: '/portal/sdgsat1/applications',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getDataServiceInfo() { export function getDataServiceInfo() {
return request({ return request({
url: '/portal/sdgsat1/data-service', url: '/portal/sdgsat1/data-service',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getAchievementList() { export function getAchievementList() {
return request({ return request({
url: '/portal/sdgsat1/achievements', url: '/portal/sdgsat1/achievements',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getIntroduction() { export function getIntroduction() {
return request({ return request({
url: '/sdgsat1/introduction', url: '/sdgsat1/introduction',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getCaseList() { export function getCaseList() {
return request({ return request({
url: '/sdgsat1/case/list', url: '/sdgsat1/case/list',
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
export function getCaseDetail(id) { export function getCaseDetail(id) {
return request({ return request({
url: `/sdgsat1/case/${id}`, url: `/sdgsat1/case/${id}`,
method: 'get' method: 'get',
headers: {
isToken: false
}
}) })
} }
...@@ -27,11 +27,20 @@ ...@@ -27,11 +27,20 @@
</div> </div>
<div class="data-right" v-if="introduction && introduction.images"> <div class="data-right" v-if="introduction && introduction.images">
<div class="image-grid"> <div class="image-grid">
<div class="top-image" v-if="introduction.images.split(',').length > 0"> <div
class="top-image"
v-if="introduction.images.split(',').length > 0"
>
<img :src="introduction.images.split(',')[0]" alt="图片1" /> <img :src="introduction.images.split(',')[0]" alt="图片1" />
</div> </div>
<div class="bottom-images"> <div class="bottom-images">
<div class="image-item" v-for="(img, index) in introduction.images.split(',').slice(1, 4)" :key="index"> <div
class="image-item"
v-for="(img, index) in introduction.images
.split(',')
.slice(1, 4)"
:key="index"
>
<img :src="img" :alt="'图片' + (index + 2)" /> <img :src="img" :alt="'图片' + (index + 2)" />
</div> </div>
</div> </div>
...@@ -46,13 +55,22 @@ ...@@ -46,13 +55,22 @@
<div class="divider"></div> <div class="divider"></div>
</div> </div>
<div class="news-content" v-loading="loading"> <div class="news-content" v-loading="loading">
<div class="news-card" v-for="(item, index) in valueList" <div
:key="index" :class="'card-' + (index + 1)"> class="news-card"
<div class="card-bg" :style="{ backgroundImage: 'url(' + item.image + ')' }"></div> v-for="(item, index) in valueList"
:key="index"
:class="'card-' + (index + 1)"
>
<div
class="card-bg"
:style="{ backgroundImage: 'url(' + item.image + ')' }"
></div>
<div class="card-content"> <div class="card-content">
<span class="title" v-if="index === 0 || index === 1">{{ item.title }}</span> <span class="title" v-if="index === 0 || index === 1">{{
item.title
}}</span>
<span class="title" v-if="index === 2">{{ item.title }}</span> <span class="title" v-if="index === 2">{{ item.title }}</span>
<span class="summary" v-if="index === 0">{{ item.summary }}</span> <span class="summary">{{ item.summary }}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -61,13 +79,13 @@ ...@@ -61,13 +79,13 @@
</template> </template>
<script> <script>
import BannerCarousel from '@/components/portal/BannerCarousel' import BannerCarousel from "@/components/portal/BannerCarousel";
import { getHomeData } from '@/api/portal/home' import { getHomeData } from "@/api/portal/home";
export default { export default {
name: 'Home', name: "Home",
components: { components: {
BannerCarousel BannerCarousel,
}, },
data() { data() {
return { return {
...@@ -76,42 +94,64 @@ export default { ...@@ -76,42 +94,64 @@ export default {
introduction: null, introduction: null,
valueList: [], valueList: [],
dataCards: [ dataCards: [
{ number: '100+', label: '合作机构' }, { number: "100+", label: "合作机构" },
{ number: '500+', label: '科研项目' }, { number: "500+", label: "科研项目" },
{ number: '1000+', label: '科研人员' }, { number: "1000+", label: "科研人员" },
{ number: '50+', label: '国家地区' } { number: "50+", label: "国家地区" },
], ],
newsList: [ newsList: [
{ day: '15', month: '01', title: '国际大科学计划取得重大突破', summary: '在可持续发展目标监测方面取得重要进展' }, {
{ day: '12', month: '01', title: '新增国际合作项目签约', summary: '与多个国际科研机构签署合作协议' }, day: "15",
{ day: '08', month: '01', title: '科研成果荣获国际奖项', summary: '相关研究成果获得国际科学界认可' }, month: "01",
{ day: '05', month: '01', title: '举办国际学术研讨会', summary: '汇聚全球专家学者共话未来发展' } title: "国际大科学计划取得重大突破",
] summary: "在可持续发展目标监测方面取得重要进展",
} },
{
day: "12",
month: "01",
title: "新增国际合作项目签约",
summary: "与多个国际科研机构签署合作协议",
},
{
day: "08",
month: "01",
title: "科研成果荣获国际奖项",
summary: "相关研究成果获得国际科学界认可",
},
{
day: "05",
month: "01",
title: "举办国际学术研讨会",
summary: "汇聚全球专家学者共话未来发展",
},
],
};
}, },
created() { created() {
this.loadHomeData() this.loadHomeData();
}, },
methods: { methods: {
loadHomeData() { loadHomeData() {
this.loading = true this.loading = true;
getHomeData().then(response => { getHomeData()
.then((response) => {
if (response.data && response.data.overview) { if (response.data && response.data.overview) {
this.overview = response.data.overview this.overview = response.data.overview;
} }
if (response.data && response.data.introduction) { if (response.data && response.data.introduction) {
this.introduction = response.data.introduction this.introduction = response.data.introduction;
} }
if (response.data && response.data.valueList) { if (response.data && response.data.valueList) {
this.valueList = response.data.valueList this.valueList = response.data.valueList;
} }
this.loading = false this.loading = false;
}).catch(() => {
this.loading = false
}) })
} .catch(() => {
} this.loading = false;
} });
},
},
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
...@@ -152,7 +192,7 @@ section { ...@@ -152,7 +192,7 @@ section {
gap: 54px; gap: 54px;
background-image: url("../../assets/images/intro-content-bg.png"); background-image: url("../../assets/images/intro-content-bg.png");
background-size: cover; background-size: cover;
padding-top:44px ; padding-top: 44px;
padding-left: 201px; padding-left: 201px;
} }
...@@ -189,26 +229,25 @@ section { ...@@ -189,26 +229,25 @@ section {
padding-top: 47px; padding-top: 47px;
flex-direction: column; flex-direction: column;
.title { .title {
font-family: Microsoft YaHei, Microsoft YaHei;
font-family: Microsoft YaHei, Microsoft YaHei; font-weight: bold;
font-weight: bold; font-size: 26px;
font-size: 26px; color: #090909;
color: #090909; line-height: 28px;
line-height: 28px; text-align: left;
text-align: left; font-style: normal;
font-style: normal; text-transform: none;
text-transform: none;
} }
.summary { .summary {
font-family: Microsoft YaHei, Microsoft YaHei; font-family: Microsoft YaHei, Microsoft YaHei;
font-weight: 400; font-weight: 400;
font-size: 18px; font-size: 18px;
color: #090909; color: #090909;
line-height: 28px; line-height: 28px;
text-align: left; text-align: left;
font-style: normal; font-style: normal;
text-transform: none; text-transform: none;
} }
} }
} }
...@@ -219,12 +258,10 @@ text-transform: none; ...@@ -219,12 +258,10 @@ text-transform: none;
height: 723px; height: 723px;
background-color: #519737; background-color: #519737;
padding-top: 75px ; padding-top: 75px;
padding-left: 290px; padding-left: 290px;
padding-right: 187px; padding-right: 187px;
.data-section-body .data-section-body {
{
width: 100%; width: 100%;
height: 100%; height: 100%;
background-image: url("../../assets/images/data-section-bg.png"); background-image: url("../../assets/images/data-section-bg.png");
...@@ -255,16 +292,15 @@ text-transform: none; ...@@ -255,16 +292,15 @@ text-transform: none;
background-size: cover; background-size: cover;
} }
.summary{ .summary {
font-family: Microsoft YaHei, Microsoft YaHei;
font-family: Microsoft YaHei, Microsoft YaHei; font-weight: 400;
font-weight: 400; font-size: 18px;
font-size: 18px; color: #ffffff;
color: #FFFFFF; line-height: 30px;
line-height: 30px; text-align: left;
text-align: left; font-style: normal;
font-style: normal; text-transform: none;
text-transform: none;
} }
} }
} }
...@@ -350,16 +386,20 @@ text-transform: none; ...@@ -350,16 +386,20 @@ text-transform: none;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
// padding: 25px; // padding: 25px;
background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%); background: linear-gradient(
to bottom,
rgba(0, 0, 0, 0) 0%,
rgba(0, 0, 0, 0.6) 100%
);
.title { .title {
text-align: center; text-align: center;
font-family: Microsoft YaHei, Microsoft YaHei; font-family: Microsoft YaHei, Microsoft YaHei;
font-weight: bold; font-weight: bold;
font-size: 22px; font-size: 22px;
color: #FFFFFF; color: #ffffff;
line-height: 40px; line-height: 40px;
text-shadow: 0px 3px 12px rgba(0,0,0,0.68); text-shadow: 0px 3px 12px rgba(0, 0, 0, 0.68);
font-style: normal; font-style: normal;
text-transform: none; text-transform: none;
} }
...@@ -370,9 +410,9 @@ text-transform: none; ...@@ -370,9 +410,9 @@ text-transform: none;
font-family: Microsoft YaHei, Microsoft YaHei; font-family: Microsoft YaHei, Microsoft YaHei;
font-weight: 400; font-weight: 400;
font-size: 16px; font-size: 16px;
color: #FFFFFF; color: #ffffff;
line-height: 28px; line-height: 28px;
text-shadow: 0px 3px 12px rgba(0,0,0,0.68); text-shadow: 0px 3px 12px rgba(0, 0, 0, 0.68);
text-align: left; text-align: left;
font-style: normal; font-style: normal;
text-transform: none; text-transform: none;
...@@ -383,7 +423,7 @@ text-transform: none; ...@@ -383,7 +423,7 @@ text-transform: none;
.card-content { .card-content {
justify-content: flex-start; justify-content: flex-start;
padding-top: 51px; padding-top: 51px;
.summary{ .summary {
margin-top: 28px; margin-top: 28px;
} }
} }
...@@ -392,13 +432,16 @@ text-transform: none; ...@@ -392,13 +432,16 @@ text-transform: none;
&.card-2 { &.card-2 {
.card-content { .card-content {
justify-content: flex-start; justify-content: flex-start;
.title{ .title {
display: flex; display: flex;
align-items: center; align-items: center;
height: 100px; height: 100px;
// line-height: 100px; // line-height: 100px;
padding: 0 25px; padding: 0 25px;
background-color: #FEB614; background-color: #feb614;
}
.summary {
margin-top: 28px;
} }
} }
} }
...@@ -406,13 +449,22 @@ text-transform: none; ...@@ -406,13 +449,22 @@ text-transform: none;
&.card-3 { &.card-3 {
.card-content { .card-content {
justify-content: flex-end; justify-content: flex-end;
.title{ .title {
display: flex; display: flex;
align-items: center; align-items: center;
height: 100px; height: 100px;
// line-height: 100px; // line-height: 100px;
padding: 0 25px; padding: 0 25px;
background-color: #1EA8C5; background-color: #1ea8c5;
position: absolute;
bottom: 0;
right: 0;
}
.summary {
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 0;
} }
} }
} }
......
package com.ruoyi.web.controller.portal; package com.ruoyi.web.controller.portal;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -7,6 +8,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -7,6 +8,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@Anonymous
@RestController @RestController
@RequestMapping("/portal/about") @RequestMapping("/portal/about")
public class PortalAboutController extends BaseController { public class PortalAboutController extends BaseController {
......
...@@ -13,6 +13,7 @@ import java.util.HashMap; ...@@ -13,6 +13,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@Anonymous
@RestController @RestController
@RequestMapping("/portal/achievement") @RequestMapping("/portal/achievement")
public class PortalAchievementController extends BaseController { public class PortalAchievementController extends BaseController {
......
package com.ruoyi.web.controller.portal; package com.ruoyi.web.controller.portal;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
...@@ -12,6 +13,7 @@ import java.util.HashMap; ...@@ -12,6 +13,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@Anonymous
@RestController @RestController
@RequestMapping("/portal/application") @RequestMapping("/portal/application")
public class PortalApplicationController extends BaseController { public class PortalApplicationController extends BaseController {
......
...@@ -20,6 +20,7 @@ import java.util.HashMap; ...@@ -20,6 +20,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@Anonymous
@RestController @RestController
@RequestMapping("/portal/progress") @RequestMapping("/portal/progress")
public class PortalProgressController extends BaseController { public class PortalProgressController extends BaseController {
......
package com.ruoyi.web.controller.portal; package com.ruoyi.web.controller.portal;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.SysSdgsat1Introduction; import com.ruoyi.system.domain.SysSdgsat1Introduction;
...@@ -13,6 +14,7 @@ import java.util.HashMap; ...@@ -13,6 +14,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@Anonymous
@RestController @RestController
@RequestMapping("/portal/sdgsat1") @RequestMapping("/portal/sdgsat1")
public class PortalSDGSAT1Controller extends BaseController { public class PortalSDGSAT1Controller extends BaseController {
......
package com.ruoyi.web.controller.portal; package com.ruoyi.web.controller.portal;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.SysSciencePlan; import com.ruoyi.system.domain.SysSciencePlan;
...@@ -11,6 +12,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -11,6 +12,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
@Anonymous
@RestController @RestController
@RequestMapping("/portal/science-plan") @RequestMapping("/portal/science-plan")
public class PortalSciencePlanController extends BaseController { public class PortalSciencePlanController extends BaseController {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment