|
@@ -1,346 +1,255 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <div class="dashboard">
|
|
|
|
|
- <el-container>
|
|
|
|
|
- <el-main>
|
|
|
|
|
- <el-row :gutter="20">
|
|
|
|
|
- <el-col :span="8">
|
|
|
|
|
- <el-card class="box-card">
|
|
|
|
|
- <template #header>
|
|
|
|
|
- <div class="card-header">
|
|
|
|
|
- <span>{{lastYear+'年'}}贷款总额</span>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- <div class="card-content">
|
|
|
|
|
- <h2>¥ {{ formatNumber(loanAmount) }}万元</h2>
|
|
|
|
|
|
|
+ <div class="homeContainer">
|
|
|
|
|
+ <div class="title">守信企业</div>
|
|
|
|
|
+ <div class="carouselContainer">
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <el-carousel :interval="5000" arrow="always" :height="'500px'">
|
|
|
|
|
+ <el-carousel-item>
|
|
|
|
|
+ <img alt='图片' src="@/assets/images/2222.jpg" style="width: 50vw;"/>
|
|
|
|
|
+ </el-carousel-item>
|
|
|
|
|
+ <el-carousel-item>
|
|
|
|
|
+ <img alt='图片' src="@/assets/images/1111.jpg" style="width: 50vw;"/>
|
|
|
|
|
+ </el-carousel-item>
|
|
|
|
|
+ <el-carousel-item>
|
|
|
|
|
+ <img alt='图片' src="@/assets/images/3333.jpg" style="width: 50vw;"/>
|
|
|
|
|
+ </el-carousel-item>
|
|
|
|
|
+ </el-carousel>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="listContainer" ref="listContainer" @mouseenter="handleMouseEnter" @mouseleave="handleMouseLeave"
|
|
|
|
|
+ @wheel.prevent="handleWheel">
|
|
|
|
|
+ <div class="listContent" ref="listContent" :style="{ transform: 'translateY(' + moveValue + 'px)' }">
|
|
|
|
|
+ <div class="lsitItem" v-for="(item, index) in homeList" :key="index" style="position: relative"
|
|
|
|
|
+ @click="toDetail(item)">
|
|
|
|
|
+ <span style="position: absolute;left: 10px;">{{ index + 1 }}<span
|
|
|
|
|
+ style="font-weight: bold">.</span></span>{{ item.enterpriseName }}
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="footerContianer">
|
|
|
|
|
+ <div class="block text-center" m="t-4">
|
|
|
|
|
+ <el-carousel trigger="click" height="230px">
|
|
|
|
|
+ <el-carousel-item>
|
|
|
|
|
+ <div style="display: flex;justify-content: space-around">
|
|
|
|
|
+ <div class="imgContainer" @click="toLink(1)">
|
|
|
|
|
+ <img alt='图片' src="@/assets/images/666.jpg"/>
|
|
|
|
|
+ <div class="textContainer">企业评价等级</div>
|
|
|
</div>
|
|
</div>
|
|
|
- </el-card>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :span="8">
|
|
|
|
|
- <el-card class="box-card">
|
|
|
|
|
- <template #header>
|
|
|
|
|
- <div class="card-header">
|
|
|
|
|
- <span>{{lastYear+'年'}}税收总额</span>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- <div class="card-content">
|
|
|
|
|
- <h2>¥ {{ formatNumber(taxAmount) }}</h2>
|
|
|
|
|
|
|
+ <div class="imgContainer" @click="toLink(2)">
|
|
|
|
|
+ <img alt='图片' src="@/assets/images/888.jpg"/>
|
|
|
|
|
+ <div class="textContainer">企业税收分析</div>
|
|
|
</div>
|
|
</div>
|
|
|
- </el-card>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :span="8">
|
|
|
|
|
- <el-card class="box-card">
|
|
|
|
|
- <template #header>
|
|
|
|
|
- <div class="card-header">
|
|
|
|
|
- <span>企业总数</span>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- <div class="card-content">
|
|
|
|
|
- <h2>{{ formatNumber(totalCompanies)+"家" }}</h2>
|
|
|
|
|
|
|
+ <div class="imgContainer" @click="toLink(3)">
|
|
|
|
|
+ <img alt='图片' src="@/assets/images/999.jpg"/>
|
|
|
|
|
+ <div class="textContainer">企业贷款分析</div>
|
|
|
</div>
|
|
</div>
|
|
|
- </el-card>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- </el-row>
|
|
|
|
|
|
|
+ <div class="imgContainer" @click="toLink(4)">
|
|
|
|
|
+ <img alt='图片' src="@/assets/images/777.jpg"/>
|
|
|
|
|
+ <div class="textContainer">信用修复服务</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="imgContainer" @click="toLink(5)">
|
|
|
|
|
+ <img alt='图片' src="@/assets/images/000.jpg"/>
|
|
|
|
|
+ <div class="textContainer">可视化入口</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-carousel-item>
|
|
|
|
|
+ </el-carousel>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <el-row :gutter="20" class="mt-4">
|
|
|
|
|
- <el-col :span="12">
|
|
|
|
|
- <el-card class="box-card">
|
|
|
|
|
- <template #header>
|
|
|
|
|
- <div class="card-header">
|
|
|
|
|
- <span>企业评级分布</span>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- <div class="chart-container" ref="pieChartContainer"></div>
|
|
|
|
|
- </el-card>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :span="12">
|
|
|
|
|
- <el-card class="box-card">
|
|
|
|
|
- <template #header>
|
|
|
|
|
- <div class="card-header">
|
|
|
|
|
- <span>企业评级数量</span>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- <el-descriptions :column="1" border>
|
|
|
|
|
- <el-descriptions-item label="AAA">
|
|
|
|
|
- {{ companyRatings.AAA || 0 }}
|
|
|
|
|
- </el-descriptions-item>
|
|
|
|
|
- <el-descriptions-item label="AA">
|
|
|
|
|
- {{ companyRatings.AA || 0 }}
|
|
|
|
|
- </el-descriptions-item>
|
|
|
|
|
- <el-descriptions-item label="A">
|
|
|
|
|
- {{ companyRatings.A || 0 }}
|
|
|
|
|
- </el-descriptions-item>
|
|
|
|
|
- <el-descriptions-item label="B">
|
|
|
|
|
- {{ companyRatings.B || 0 }}
|
|
|
|
|
- </el-descriptions-item>
|
|
|
|
|
- <el-descriptions-item label="C">
|
|
|
|
|
- {{ companyRatings.C || 0 }}
|
|
|
|
|
- </el-descriptions-item>
|
|
|
|
|
- <el-descriptions-item label="D">
|
|
|
|
|
- {{ companyRatings.D || 0 }}
|
|
|
|
|
- </el-descriptions-item>
|
|
|
|
|
- </el-descriptions>
|
|
|
|
|
- </el-card>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- </el-row>
|
|
|
|
|
|
|
|
|
|
- <el-row :gutter="20" class="mt-4">
|
|
|
|
|
- <el-col :span="24">
|
|
|
|
|
- <el-card class="box-card">
|
|
|
|
|
- <template #header>
|
|
|
|
|
- <div class="card-header">
|
|
|
|
|
- <span>快速链接</span>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- <div class="quick-links">
|
|
|
|
|
- <el-link @click="()=>{router.push('/qyxypj/xypjdj')}">
|
|
|
|
|
- <el-image src="/信用报告.png" fit="cover" class="link-image">
|
|
|
|
|
- <template #error>
|
|
|
|
|
- <div class="image-slot">
|
|
|
|
|
- 企业信用评价等级图片
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-image>
|
|
|
|
|
- <span>企业信用评价等级</span>
|
|
|
|
|
- </el-link>
|
|
|
|
|
- <el-link @click="()=>{router.push('/qyxypj/qypjdf')}">
|
|
|
|
|
- <el-image src="/得分记录.png" fit="cover" class="link-image">
|
|
|
|
|
- <template #error>
|
|
|
|
|
- <div class="image-slot">
|
|
|
|
|
- 企业评价得分图片
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-image>
|
|
|
|
|
- <span>企业评价得分</span>
|
|
|
|
|
- </el-link>
|
|
|
|
|
- <el-link @click="()=>{router.push('/qyjydtfx/dkfx')}">
|
|
|
|
|
- <el-image src="/委托贷款放款.png" fit="cover" class="link-image">
|
|
|
|
|
- <template #error>
|
|
|
|
|
- <div class="image-slot">
|
|
|
|
|
- 贷款分析图片
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-image>
|
|
|
|
|
- <span>贷款分析</span>
|
|
|
|
|
- </el-link>
|
|
|
|
|
- <el-link @click="()=>{router.push('/qyjydtfx/ssfx')}">
|
|
|
|
|
- <el-image src="/总税收.png" fit="cover" class="link-image">
|
|
|
|
|
- <template #error>
|
|
|
|
|
- <div class="image-slot">
|
|
|
|
|
- 税收分析图片
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-image>
|
|
|
|
|
- <span>税收分析</span>
|
|
|
|
|
- </el-link>
|
|
|
|
|
- </div>
|
|
|
|
|
- </el-card>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- </el-row>
|
|
|
|
|
- </el-main>
|
|
|
|
|
- </el-container>
|
|
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
|
-import { ref, onMounted } from 'vue'
|
|
|
|
|
-import * as echarts from 'echarts'
|
|
|
|
|
-import request from "@/utils/request.js";
|
|
|
|
|
-import {useRouter} from "vue-router";
|
|
|
|
|
-
|
|
|
|
|
-const lastYear = new Date().getFullYear() - 1;
|
|
|
|
|
-const currentYear = new Date().getFullYear()
|
|
|
|
|
|
|
+// import Cookies from 'js-cookie'
|
|
|
|
|
|
|
|
-const router = useRouter();
|
|
|
|
|
-// 静态数据
|
|
|
|
|
-const loanAmount = ref(0)
|
|
|
|
|
-const taxAmount = ref(0)
|
|
|
|
|
-const companyRatings = ref({
|
|
|
|
|
- AAA: 0,
|
|
|
|
|
- AA: 0,
|
|
|
|
|
- A: 0,
|
|
|
|
|
- B: 0,
|
|
|
|
|
- C: 0,
|
|
|
|
|
- D: 0
|
|
|
|
|
-})
|
|
|
|
|
-
|
|
|
|
|
-const totalCompanies = ref(0)
|
|
|
|
|
-
|
|
|
|
|
-// 格式化数字
|
|
|
|
|
-const formatNumber = (num) => {
|
|
|
|
|
- return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")
|
|
|
|
|
-}
|
|
|
|
|
|
|
+// const imgUrl = new URL('../../assets/logo/logo.png', import.meta.url).href
|
|
|
|
|
|
|
|
-// 初始化图表
|
|
|
|
|
-let pieChart
|
|
|
|
|
-
|
|
|
|
|
-onMounted(() => {
|
|
|
|
|
-
|
|
|
|
|
-})
|
|
|
|
|
|
|
+import {nextTick, onMounted, onUnmounted, watch} from "vue";
|
|
|
|
|
+import request from "@/utils/request.js";
|
|
|
|
|
|
|
|
-const initPieChart = () => {
|
|
|
|
|
- const chartDom = document.querySelector('.chart-container')
|
|
|
|
|
- pieChart = echarts.init(chartDom)
|
|
|
|
|
- const option = {
|
|
|
|
|
- tooltip: {
|
|
|
|
|
- trigger: 'item'
|
|
|
|
|
- },
|
|
|
|
|
- legend: {
|
|
|
|
|
- orient: 'horizontal',
|
|
|
|
|
- left: 'center',
|
|
|
|
|
- top: 'bottom'
|
|
|
|
|
- },
|
|
|
|
|
- series: [
|
|
|
|
|
- {
|
|
|
|
|
- name: '企业评级',
|
|
|
|
|
- type: 'pie',
|
|
|
|
|
- radius: '50%',
|
|
|
|
|
- data: Object.entries(companyRatings.value).map(([key, value]) => ({ name: key, value })),
|
|
|
|
|
- emphasis: {
|
|
|
|
|
- itemStyle: {
|
|
|
|
|
- shadowBlur: 10,
|
|
|
|
|
- shadowOffsetX: 0,
|
|
|
|
|
- shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
|
|
+const router = useRouter()
|
|
|
|
|
+const username = localStorage.getItem('username')
|
|
|
|
|
+
|
|
|
|
|
+const toDetail = (item) => {
|
|
|
|
|
+ console.log(item);
|
|
|
|
|
+ const {uniCode, enterpriseName} = item
|
|
|
|
|
+ router.push({
|
|
|
|
|
+ path: '/qyxypj/qyxxlb',
|
|
|
|
|
+ query: {
|
|
|
|
|
+ uniCode,
|
|
|
|
|
+ companyName:enterpriseName
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+}
|
|
|
|
|
+const handleWheel = (e) => {
|
|
|
|
|
+ if (e.deltaY > 0) {
|
|
|
|
|
+ if (moveValue.value <= -limitRange.value) return;
|
|
|
|
|
+ moveValue.value -= 20;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if (moveValue.value >= 0) return;
|
|
|
|
|
+ moveValue.value += 20;
|
|
|
}
|
|
}
|
|
|
- pieChart.setOption(option)
|
|
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
-const getDkze =async ()=>{
|
|
|
|
|
- const res = await request.get('/basicData/xcrSummaryLoanDetails/annual-statistics',{
|
|
|
|
|
- params:{
|
|
|
|
|
- year:lastYear
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
- loanAmount.value = res.data.totalLoanAmount;
|
|
|
|
|
|
|
+const handleMouseEnter = () => {
|
|
|
|
|
+ clearInterval(interval)
|
|
|
|
|
+ interval = null;
|
|
|
|
|
+}
|
|
|
|
|
+const handleMouseLeave = () => {
|
|
|
|
|
+ interval = setInterval(moveList, 16.6);
|
|
|
|
|
+}
|
|
|
|
|
+const toLink = (index) => {
|
|
|
|
|
+ switch (index) {
|
|
|
|
|
+ case 1:
|
|
|
|
|
+ router.push('/qyxypj/xypjdj')
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 2:
|
|
|
|
|
+ router.push('/qyjydtfx/ssfx')
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 3:
|
|
|
|
|
+ router.push('/qyjydtfx/dkfx')
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 4:
|
|
|
|
|
+ window.open('https://www.creditchina.gov.cn/xyxf/lczy/')
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 5:
|
|
|
|
|
+ const c = router.resolve({
|
|
|
|
|
+ path: "/visualization",
|
|
|
|
|
+ });
|
|
|
|
|
+ window.open(c.href, "_blank");
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
-const getSsze =async ()=>{
|
|
|
|
|
- const res = await request.get('/basicData/xcrPayTaxes/of-year-list');
|
|
|
|
|
- taxAmount.value = res.data.ofYearDetail.reduce((acc, cur) => acc + cur.lastYearTaxesTotal, 0).toFixed(2);
|
|
|
|
|
|
|
+const moveList = () => {
|
|
|
|
|
+ // console.log(listContent.value.offsetHeight);
|
|
|
|
|
+ // console.log(listContainer.value.offsetHeight);
|
|
|
|
|
+ // console.log(limitRange.value);
|
|
|
|
|
+ if (moveValue.value <= -limitRange.value) {
|
|
|
|
|
+ moveValue.value = 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ moveValue.value = moveValue.value - 0.5;
|
|
|
}
|
|
}
|
|
|
|
|
+const listContent = ref(null);
|
|
|
|
|
+const listContainer = ref(null);
|
|
|
|
|
+const limitRange = ref(0);
|
|
|
|
|
+const moveValue = ref(0);
|
|
|
|
|
+const homeList = ref([]);
|
|
|
|
|
|
|
|
-const getQypf = async ()=>{
|
|
|
|
|
- const res = await request.get('/basicData/xcrEBaseinfo/getCreditScoreList',{
|
|
|
|
|
|
|
+onMounted(async () => {
|
|
|
|
|
+ const res = await request.get("/basicData/xcrEBaseinfo/getCreditScoreList",{
|
|
|
params:{
|
|
params:{
|
|
|
- pageNum: 1,
|
|
|
|
|
- pageSize: 9999,
|
|
|
|
|
- condition: ['AAA', 'AA', 'A', 'B', 'C', 'D'].join(',')
|
|
|
|
|
|
|
+ pageNum:1,
|
|
|
|
|
+ pageSize: 200,
|
|
|
|
|
+ condition:"AAA,AA,A"
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
- totalCompanies.value = res.data.totalSize;
|
|
|
|
|
- // res.data.result是数组将其中的grade属性=AAA AA A B C D 的企业拿出来赋值出去
|
|
|
|
|
- companyRatings.value = res.data.result.reduce((acc, cur) => {
|
|
|
|
|
- acc[cur.grade] = (acc[cur.grade] || 0) + 1;
|
|
|
|
|
- return acc;
|
|
|
|
|
- }, {});
|
|
|
|
|
- initPieChart()
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-const getData = ()=>{
|
|
|
|
|
- getDkze()
|
|
|
|
|
- getSsze()
|
|
|
|
|
- getQypf()
|
|
|
|
|
-}
|
|
|
|
|
-onMounted(()=>{
|
|
|
|
|
- getData();
|
|
|
|
|
|
|
+ // console.log(res);
|
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
|
+ homeList.value = res.data.result;
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ limitRange.value = listContent.value.offsetHeight - listContainer.value.offsetHeight;
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+})
|
|
|
|
|
+let interval = setInterval(moveList, 16.6);
|
|
|
|
|
+onUnmounted(() => {
|
|
|
|
|
+ clearInterval(interval);
|
|
|
})
|
|
})
|
|
|
-</script>
|
|
|
|
|
-
|
|
|
|
|
-<style scoped>
|
|
|
|
|
-.dashboard {
|
|
|
|
|
- font-family: 'Arial', sans-serif;
|
|
|
|
|
- background-color: #f0f2f5;
|
|
|
|
|
- min-height: 100vh;
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-.el-header {
|
|
|
|
|
- background-color: #1890ff;
|
|
|
|
|
- color: white;
|
|
|
|
|
- line-height: 60px;
|
|
|
|
|
- text-align: center;
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-.el-main {
|
|
|
|
|
- padding: 20px;
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-.box-card {
|
|
|
|
|
- margin-bottom: 20px;
|
|
|
|
|
- transition: all 0.3s;
|
|
|
|
|
- height: 100%;
|
|
|
|
|
-}
|
|
|
|
|
|
|
|
|
|
-.box-card:hover {
|
|
|
|
|
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
|
|
|
- transform: translateY(-5px);
|
|
|
|
|
-}
|
|
|
|
|
|
|
+</script>
|
|
|
|
|
|
|
|
-.card-header {
|
|
|
|
|
|
|
+<style scoped lang="scss">
|
|
|
|
|
+.user__info {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
- justify-content: space-between;
|
|
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-.card-content {
|
|
|
|
|
- text-align: center;
|
|
|
|
|
- font-size: 24px;
|
|
|
|
|
- color: #1890ff;
|
|
|
|
|
-}
|
|
|
|
|
|
|
+ padding: 20px;
|
|
|
|
|
|
|
|
-.chart-container {
|
|
|
|
|
- height: 400px;
|
|
|
|
|
-}
|
|
|
|
|
|
|
+ .user__info--right {
|
|
|
|
|
+ margin-left: 20px;
|
|
|
|
|
|
|
|
-h1 {
|
|
|
|
|
- margin: 0;
|
|
|
|
|
- font-size: 24px;
|
|
|
|
|
-}
|
|
|
|
|
|
|
+ span {
|
|
|
|
|
+ font-size: 26px;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
-h2 {
|
|
|
|
|
- margin: 0;
|
|
|
|
|
- font-size: 36px;
|
|
|
|
|
- color: #1890ff;
|
|
|
|
|
|
|
+ div {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-.quick-links {
|
|
|
|
|
|
|
+.homeContainer {
|
|
|
|
|
+ margin-top: 30px;
|
|
|
display: flex;
|
|
display: flex;
|
|
|
- justify-content: space-around;
|
|
|
|
|
flex-wrap: wrap;
|
|
flex-wrap: wrap;
|
|
|
- gap: 20px;
|
|
|
|
|
-}
|
|
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+
|
|
|
|
|
+ .title {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ z-index: 1;
|
|
|
|
|
+ left: 51.5vw;
|
|
|
|
|
+ top: 0;
|
|
|
|
|
+ background-color: #EEF2FBFF;
|
|
|
|
|
+ width: 28vw;
|
|
|
|
|
+ height: 4vh;
|
|
|
|
|
+ line-height: 4vh;
|
|
|
|
|
+ font-size: 26px;
|
|
|
|
|
+ border-radius: 10px;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ box-shadow: #EEF2FBFF 0 0 5px;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
-.el-link {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- flex-direction: column;
|
|
|
|
|
- align-items: center;
|
|
|
|
|
- text-decoration: none;
|
|
|
|
|
- color: #1890ff;
|
|
|
|
|
- transition: all 0.3s;
|
|
|
|
|
-}
|
|
|
|
|
|
|
+ //background-color: #EEF2FBFF;
|
|
|
|
|
+ .carouselContainer {
|
|
|
|
|
+ width: 50vw;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
-.el-link:hover {
|
|
|
|
|
- transform: translateY(-5px);
|
|
|
|
|
-}
|
|
|
|
|
|
|
+ .listContainer {
|
|
|
|
|
+ margin-top: 50px;
|
|
|
|
|
+ height: 450px;
|
|
|
|
|
+ width: 30vw;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+
|
|
|
|
|
+ .listContent {
|
|
|
|
|
+
|
|
|
|
|
+ //height: 100px;
|
|
|
|
|
+ .lsitItem {
|
|
|
|
|
+ width: 95%;
|
|
|
|
|
+ height: 40px;
|
|
|
|
|
+ margin-bottom: 10px;
|
|
|
|
|
+ margin-left: 30px;
|
|
|
|
|
+ line-height: 40px;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ //border: 1px solid #8492a6;
|
|
|
|
|
+ box-shadow: #EEF2FBFF 0 0 5px;
|
|
|
|
|
+ border-radius: 10px;
|
|
|
|
|
+ background-color: #EEF2FBFF;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
-.link-image {
|
|
|
|
|
- width: 100px;
|
|
|
|
|
- height: 100px;
|
|
|
|
|
- border-radius: 10px;
|
|
|
|
|
- margin-bottom: 10px;
|
|
|
|
|
- overflow: hidden;
|
|
|
|
|
|
|
+ .footerContianer {
|
|
|
|
|
+ margin-top: 70px;
|
|
|
|
|
+ width: 80vw;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-.image-slot {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- justify-content: center;
|
|
|
|
|
- align-items: center;
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- height: 100%;
|
|
|
|
|
- background: #f5f7fa;
|
|
|
|
|
- color: #909399;
|
|
|
|
|
- font-size: 14px;
|
|
|
|
|
-}
|
|
|
|
|
-</style>
|
|
|
|
|
|
|
+.imgContainer {
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ width: 23%;
|
|
|
|
|
+
|
|
|
|
|
+ img {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .textContainer {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ bottom: 10px;
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ height: 30px;
|
|
|
|
|
+ line-height: 30px;
|
|
|
|
|
+ background-color: white;
|
|
|
|
|
+ opacity: 0.55;
|
|
|
|
|
+ }
|
|
|
|
|
+}</style>
|