Browse Source

红色移风代码提交

master
juwei001 2 years ago
parent
commit
fa516b1d85
  1. 19
      src/api/hsyf.js
  2. BIN
      src/assets/images/home/gmdListBg.png
  3. BIN
      src/assets/images/home/yfgfLeftBg.png
  4. BIN
      src/assets/images/home/yfgfRightBg.png
  5. BIN
      src/assets/images/icon/dyfxDian.png
  6. BIN
      src/assets/images/icon/gfgsIcon.png
  7. BIN
      src/assets/images/icon/gmdIcon.png
  8. 0
      src/assets/images/resource/ywqs/1.png
  9. 0
      src/assets/images/resource/ywqs/2.png
  10. 0
      src/assets/images/resource/ywqs/3.png
  11. 0
      src/assets/images/resource/ywqs/4.png
  12. BIN
      src/assets/images/resource/ywqs/ydxy.png
  13. 3
      src/utils/config.js
  14. 6
      src/utils/request.js
  15. 26
      src/views/next/screen-content-left/hsyf-left/index.scss
  16. 292
      src/views/next/screen-content-left/hsyf-left/index.vue
  17. 129
      src/views/next/screen-content-right/hsyf-right/index.vue

19
src/api/hsyf.js

@ -0,0 +1,19 @@
import request from 'utils/request'
// const intranetApiUrl = 'https://epdc-jinshui.elinkservice.cn/epdc-api'
const intranetApiUrl = 'https://yifengdian-smps.elinkservice.cn/'
export function partyOrgCategoryAndQuantity(params) {
return request({
baseURL: intranetApiUrl,
url: '/api/resi/partymember/yifengScreen/partyOrgCategoryAndQuantity',
method: 'GET',
})
}
// export function partyOrgCategoryAndQuantity (params) {
// return request({
// url: '/resi/partymember/yifengScreen/partyOrgCategoryAndQuantity',
// method: 'GET',
// params
// })
// }

BIN
src/assets/images/home/gmdListBg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
src/assets/images/home/yfgfLeftBg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/assets/images/home/yfgfRightBg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/assets/images/icon/dyfxDian.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 847 B

BIN
src/assets/images/icon/gfgsIcon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
src/assets/images/icon/gmdIcon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 997 B

0
src/assets/images/resource/yfxy/1.png → src/assets/images/resource/ywqs/1.png

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

0
src/assets/images/resource/yfxy/2.png → src/assets/images/resource/ywqs/2.png

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

0
src/assets/images/resource/yfxy/3.png → src/assets/images/resource/ywqs/3.png

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

0
src/assets/images/resource/yfxy/4.png → src/assets/images/resource/ywqs/4.png

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 51 KiB

BIN
src/assets/images/resource/ywqs/ydxy.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

3
src/utils/config.js

@ -5,7 +5,8 @@ export default {
function getApiUrl () { function getApiUrl () {
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
return 'https://epdc-jinshui.elinkservice.cn/epdc-api' return 'https://yifengdian-smps.elinkservice.cn/'
// return 'https://epdc-jinshui.elinkservice.cn/epdc-api'
} else if (process.env.NODE_ENV === 'production') { } else if (process.env.NODE_ENV === 'production') {
return 'https://epdc-jinshui.elinkservice.cn/epdc-api' return 'https://epdc-jinshui.elinkservice.cn/epdc-api'
} }

6
src/utils/request.js

@ -3,8 +3,9 @@ import config from './config'
import { Message } from 'element-ui' import { Message } from 'element-ui'
import { getCookie } from 'utils/cookie' import { getCookie } from 'utils/cookie'
// console.log('config.apiUrl::', config.apiUrl);
const request = axios.create({ const request = axios.create({
baseURL: config.apiUrl, baseURL: 'http://localhost:9090',
timeout: 60 * 1000 timeout: 60 * 1000
}) })
@ -12,7 +13,8 @@ const request = axios.create({
request.interceptors.request.use( request.interceptors.request.use(
config => { config => {
if (getCookie('token')) { if (getCookie('token')) {
config.headers.Authorization = `Bearer ${getCookie('token')}` config.headers.Authorization = `Bearer ${getCookie('token')}`;
config.headers.Referer = config.apiUrl;
} }
return config return config
}, },

26
src/views/next/screen-content-left/hsyf-left/index.scss

@ -385,67 +385,67 @@
@keyframes dian6 { @keyframes dian6 {
0% { 0% {
opacity: 0;
top: -26px;
left: 30px;
transform: scale(0.5, 0.5);
}
13% {
opacity: 0.4; opacity: 0.4;
top: -26px; top: -26px;
left: 170px; left: 170px;
transform: scale(0.6, 0.6); transform: scale(0.6, 0.6);
} }
13% { 25% {
opacity: 0.5; opacity: 0.5;
top: 0px; top: 0px;
left: 240px; left: 240px;
transform: scale(0.7, 0.7); transform: scale(0.7, 0.7);
} }
25% { 38% {
opacity: 0.9; opacity: 0.9;
top: 34px; top: 34px;
left: 180px; left: 180px;
transform: scale(0.8, 0.8); transform: scale(0.8, 0.8);
} }
38% { 50% {
opacity: 0.8; opacity: 0.8;
top: 46px; top: 46px;
left: 80px; left: 80px;
transform: scale(0.9, 0.9); transform: scale(0.9, 0.9);
} }
50% { 63% {
opacity: 0.8; opacity: 0.8;
top: 23px; top: 23px;
left: 0px; left: 0px;
transform: scale(0.8, 0.8); transform: scale(0.8, 0.8);
} }
63% { 75% {
opacity: 0.6; opacity: 0.6;
top: 0px; top: 0px;
left: -90px; left: -90px;
transform: scale(0.7, 0.7); transform: scale(0.7, 0.7);
} }
75% { 88% {
opacity: 0.4; opacity: 0.4;
top: -26px; top: -26px;
left: -20px; left: -20px;
transform: scale(0.6, 0.6); transform: scale(0.6, 0.6);
} }
88% { 100% {
opacity: 0; opacity: 0;
top: -26px; top: -26px;
left: 30px; left: 30px;
transform: scale(0.3, 0.3); transform: scale(0.3, 0.3);
} }
100% {
opacity: 0;
top: -26px;
left: 30px;
transform: scale(0.5, 0.5);
}
} }
@keyframes dian7 { @keyframes dian7 {

292
src/views/next/screen-content-left/hsyf-left/index.vue

@ -89,30 +89,62 @@
<div slot="left" class="screen-title-left">党员分析</div> <div slot="left" class="screen-title-left">党员分析</div>
</screen-title-red> </screen-title-red>
<div class="card-item-dyfx"> <div class="card-item-dyfx">
<div class="pei"> <div class="card-item-dyfx-left">
<div class="echarts-header"> <div class="top-title">
<img src="@/assets/images/common/dto.png" alt="" class="dto" /> <div>
<span>年龄统计</span> <img :src="require('@/assets/images/icon/dyfxDian.png')" />
<div></div> </div>
<img src="@/assets/images/common/echarts-header.png" alt="" /> <div class="title-txt">移风共富</div>
</div>
<div class="content">
<div class="content-left">
<div class="content-left-icon">
<img :src="require('@/assets/images/icon/gfgsIcon.png')" />
</div>
<div class="content-left-name">共富公司</div>
</div>
<div class="content-right">
<span class="content-right-num">4 </span>
</div>
</div>
<div class="bottom-list">
<div
class="bottom-list-item"
v-for="(item, index) in yfgfList"
:key="item.companyName + index"
>
<span>{{ index + 1 }}</span> {{ item.companyName }}
</div>
</div> </div>
<div
id="charts"
style="width: 201px; height: 203px; z-index: 10"
></div>
<div class="buttomCharts"></div>
</div> </div>
<div class="bar"> <div class="card-item-dyfx-right">
<div class="echarts-header"> <div class="top-title">
<img src="@/assets/images/common/dto.png" alt="" class="dto" /> <div>
<span>各新村党员统计</span> <img :src="require('@/assets/images/icon/dyfxDian.png')" />
<div></div> </div>
<img src="@/assets/images/common/echarts-header.png" alt="" /> <div class="title-txt">移风阵地</div>
</div>
<div class="content">
<div class="content-left">
<div class="content-left-icon">
<img :src="require('@/assets/images/icon/gmdIcon.png')" />
</div>
<div class="content-left-name">观摩点</div>
</div>
<div class="content-right">
<span class="content-right-num">3 </span>
</div>
</div>
<div class="bottom-list">
<div
class="bottom-list-item"
v-for="(item, index) in yfzdList"
:key="item.jdName + index"
>
<span class="bottom-list-item-span">{{ index + 1 }}</span
>{{ item.jdName }}
</div>
</div> </div>
<div
id="chartsBar"
style="width: 100%; height: 100%; z-index: 10"
></div>
</div> </div>
</div> </div>
</div> </div>
@ -121,6 +153,7 @@
<script> <script>
import { mapActions } from "vuex"; import { mapActions } from "vuex";
import { partyOrgCategoryAndQuantity } from "@/api/hsyf";
const RADIUS = 100; // 3d const RADIUS = 100; // 3d
const FALLLENGTH = 500; const FALLLENGTH = 500;
let CX = null; let CX = null;
@ -358,6 +391,17 @@ export default {
x: 65, x: 65,
}, },
], ],
yfgfList: [
{ companyName: "青岛益成河农业科技有限公司" },
{ companyName: "青岛滨源农产品有限公司" },
{ companyName: "青岛上泊建晟建设发展有限公司" },
{ companyName: "青岛圆可方诚工贸有限公司" },
],
yfzdList: [
{ jdName: "大欧鸟笼乡村记忆馆" },
{ jdName: "七彩田园" },
{ jdName: "中共即墨县委纪念馆" },
],
}; };
}, },
created() { created() {
@ -368,6 +412,7 @@ export default {
this.forArrayValue(["#00BABC", "#009FA4", "#00FFC0"], index) this.forArrayValue(["#00BABC", "#009FA4", "#00FFC0"], index)
); );
}); });
this.getData();
}, },
mounted() { mounted() {
this.$nextTick(function () { this.$nextTick(function () {
@ -383,6 +428,16 @@ export default {
// set_garden: 'SET_GARDEN', // set_garden: 'SET_GARDEN',
set_organization: "SET_ORGANIZATION", set_organization: "SET_ORGANIZATION",
}), }),
getData() {
// fetch(
// "https://yifengdian-smps.elinkservice.cn/api/resi/partymember/yifengScreen/partyOrgCategoryAndQuantity"
// ).then((res) => {
// console.log('res::', res);
// });
partyOrgCategoryAndQuantity().then((res) => {
console.log("tongle?", res);
});
},
forArrayValue(array, sort) { forArrayValue(array, sort) {
return array[sort % array.length]; return array[sort % array.length];
}, },
@ -1001,22 +1056,22 @@ export default {
animation: dian4 8s linear infinite; animation: dian4 8s linear infinite;
} }
.cundian:nth-child(5) { .cundian:nth-child(5) {
animation: dian5 8s linear infinite; animation: dian5 12s linear infinite;
} }
.cundian:nth-child(6) { .cundian:nth-child(6) {
animation: dian6 8s linear infinite; animation: dian6 12s linear infinite;
} }
.cundian:nth-child(7) { .cundian:nth-child(7) {
animation: dian7 8s linear infinite; animation: dian7 12s linear infinite;
} }
.cundian:nth-child(8) { .cundian:nth-child(8) {
animation: dian8 8s linear infinite; animation: dian8 12s linear infinite;
} }
.cundian:nth-child(9) { .cundian:nth-child(9) {
animation: dian9 8s linear infinite; animation: dian9 12s linear infinite;
} }
.cundian:nth-child(10) { .cundian:nth-child(10) {
animation: dian10 8s linear infinite; animation: dian10 12s linear infinite;
} }
} }
.tag { .tag {
@ -1057,48 +1112,169 @@ export default {
} }
} }
// &-item-dyfx {
// display: flex;
// padding: 16px;
// flex: 1;
// .pei,
// .bar {
// .echarts-header {
// display: flex;
// align-items: center;
// :nth-child(1) {
// width: 18px;
// height: 18px;
// margin-right: 8px;
// }
// :nth-child(2) {
// }
// :nth-child(3) {
// flex: 1;
// height: 1px;
// border-top: 2px dotted #2e8bbd;
// margin: 0 3px;
// }
// :nth-child(4) {
// width: 12px;
// height: 12px;
// }
// }
// }
// .pei {
// width: 47%;
// @include flex(column);
// margin-right: 50px;
// }
// .bar {
// flex: 1;
// }
// }
&-item-dyfx { &-item-dyfx {
padding: 16px 20px;
display: flex; display: flex;
padding: 16px; justify-content: space-between;
flex: 1; &-left,
&-right {
.pei, width: 214px;
.bar { background: url("~@/assets/images/home/yfgfLeftBg.png") no-repeat;
.echarts-header { background-size: 100% 14px;
background-position: center 58px;
.top-title {
width: 214px;
display: flex; display: flex;
align-items: center; img {
:nth-child(1) {
width: 18px; width: 18px;
height: 18px; height: 18px;
margin-right: 8px; margin-top: 2px;
} }
.title-txt {
:nth-child(2) { padding-left: 8px;
height: 16px;
font-family: PingFang SC;
font-weight: 500;
font-size: 16px;
color: #ffffff;
} }
}
:nth-child(3) { .content {
flex: 1; display: flex;
height: 1px; justify-content: space-between;
border-top: 2px dotted #2e8bbd; padding: 15px 20px;
margin: 0 3px; &-left {
display: flex;
&-icon {
width: 26px;
img {
width: 26px;
height: 26px;
}
}
&-name {
padding-left: 8px;
width: 90px;
height: 26px;
font-family: PingFang SC;
font-weight: bold;
font-size: 14px;
color: #ffffff;
line-height: 26px;
}
} }
&-right {
:nth-child(4) { font-weight: 500;
width: 12px; &-num {
height: 12px; height: 13px;
font-family: PangMenZhengDao;
font-weight: 400;
font-size: 20px;
color: #ffffff;
}
}
}
.bottom-list {
padding-top: 12px;
&-item {
margin-top: 3px;
&-span {
padding-left: 10px;
padding-right: 12px;
}
// width: 180px;
height: 30px;
font-family: PingFang SC;
font-weight: 500;
font-size: 14px;
color: #fbe9c5;
line-height: 30px;
border-bottom: 1px dashed #bb7053;
}
&-item:hover {
cursor: pointer;
color: #ffffff;
} }
} }
} }
&-right {
.pei { width: 190px;
width: 47%; background: url("~@/assets/images/home/yfgfRightBg.png") no-repeat;
@include flex(column); background-size: 100% 14px;
margin-right: 50px; background-position: center 58px;
} .top-title {
width: 190px;
.bar { }
flex: 1; .content {
display: flex;
justify-content: space-between;
padding: 15px 20px;
&-left {
display: flex;
&-name {
width: 60px;
}
}
}
.bottom-list {
&-item {
width: 190px;
height: 29px;
background: rgba(187, 112, 83, 0.2);
border-radius: 2px;
border: 1px solid #bb7053;
}
&-item:hover {
cursor: pointer;
color: #ffffff;
background: url("~@/assets/images/home/gmdListBg.png") no-repeat;
background-size: 100% 100%;
}
}
} }
} }
} }

129
src/views/next/screen-content-right/hsyf-right/index.vue

@ -44,10 +44,19 @@
</div> </div>
<div class="card h292 m-top12"> <div class="card h292 m-top12">
<screen-title-red> <screen-title-red>
<div slot="left" class="screen-title-left">风心愿</div> <div slot="left" class="screen-title-left">网情深</div>
</screen-title-red> </screen-title-red>
<div class="card-item-yfxy"> <div class="card-item-yfxy">
<div class="item" v-for="(item, index) in wishList" :key="index"> <div
class="item"
:style="
index == 0
? 'width:100%;height:110px'
: 'width:calc(50% - 3px);height:110px'
"
v-for="(item, index) in wishList"
:key="index"
>
<img :src="item.imgSrc" alt="" /> <img :src="item.imgSrc" alt="" />
<div class="name">{{ item.name }}</div> <div class="name">{{ item.name }}</div>
</div> </div>
@ -58,80 +67,80 @@
<script> <script>
export default { export default {
data() { data () {
return { return {
activityList: [ activityList: [
{ {
imgSrc: require("@/assets/images/resource/djhd/1.jpg"), imgSrc: require('@/assets/images/resource/djhd/1.jpg'),
title: "“奋斗新征程,基层谱新篇”乡村振兴宣传月服务活动", title: '“奋斗新征程,基层谱新篇”乡村振兴宣传月服务活动',
unit: "移风村党支部", unit: '移风村党支部'
}, },
{ {
imgSrc: require("@/assets/images/resource/djhd/2.jpg"), imgSrc: require('@/assets/images/resource/djhd/2.jpg'),
title: "集体学习 “研究部署学习宣传贯彻党的二十大精神 ”", title: '集体学习 “研究部署学习宣传贯彻党的二十大精神 ”',
unit: "移风村党支部", unit: '移风村党支部'
}, },
{ {
imgSrc: require("@/assets/images/resource/djhd/3.jpg"), imgSrc: require('@/assets/images/resource/djhd/3.jpg'),
title: "以“主题党日+为民办事”为平台,组织广大党员积极投身宣传活动", title: '以“主题党日+为民办事”为平台,组织广大党员积极投身宣传活动',
unit: "移风村党支部", unit: '移风村党支部'
}, }
], ],
imgList: [ imgList: [
require("@/assets/images/resource/zbfc/1.jpg"), require('@/assets/images/resource/zbfc/1.jpg'),
require("@/assets/images/resource/zbfc/2.jpg"), require('@/assets/images/resource/zbfc/2.jpg'),
require("@/assets/images/resource/zbfc/3.jpg"), require('@/assets/images/resource/zbfc/3.jpg'),
require("@/assets/images/resource/zbfc/4.jpg"), require('@/assets/images/resource/zbfc/4.jpg'),
require("@/assets/images/resource/zbfc/5.jpg"), require('@/assets/images/resource/zbfc/5.jpg')
], ],
wishList: [ wishList: [
{ {
imgSrc: require("@/assets/images/resource/yfxy/1.png"), imgSrc: require('@/assets/images/resource/ywqs/ydxy.png'),
name: "“移”点心愿", name: '“移”点心愿'
},
{
imgSrc: require("@/assets/images/resource/yfxy/2.png"),
name: "“移”列清单",
}, },
{ {
imgSrc: require("@/assets/images/resource/yfxy/3.png"), imgSrc: require('@/assets/images/resource/ywqs/2.png'),
name: "“移”语化开", name: '“移”列清单'
}, },
// {
// imgSrc: require("@/assets/images/resource/ywqs/3.png"),
// name: "",
// },
{ {
imgSrc: require("@/assets/images/resource/yfxy/4.png"), imgSrc: require('@/assets/images/resource/ywqs/4.png'),
name: "“移”站到家", name: '“移”站到家'
}, }
], ],
partList: [ partList: [
{ {
name: "徐法佑", name: '徐法佑',
unit: "徐家沟村人", unit: '徐家沟村人',
title: "丹心一片风华百年带着两个兵,敢挡一个团", title: '丹心一片风华百年带着两个兵,敢挡一个团',
imgSrc: require("@/assets/images/resource/dyfc/1.jpg"), imgSrc: require('@/assets/images/resource/dyfc/1.jpg')
}, },
{ {
name: "傅祖聪", name: '傅祖聪',
unit: "移风中学", unit: '移风中学',
title: "培桃育李四十三载乐善好施奉献一生", title: '培桃育李四十三载乐善好施奉献一生',
imgSrc: require("@/assets/images/resource/dyfc/2.jpg"), imgSrc: require('@/assets/images/resource/dyfc/2.jpg')
}, },
{ {
name: "朱爱香", name: '朱爱香',
unit: "太平庄村人", unit: '太平庄村人',
title: "一座大棚撑起新型农民致富梦", title: '一座大棚撑起新型农民致富梦',
imgSrc: require("@/assets/images/resource/dyfc/3.jpg"), imgSrc: require('@/assets/images/resource/dyfc/3.jpg')
}, }
], ]
}; }
}, },
created() {}, created () {},
mounted() {}, mounted () {},
beforeDestroy() {}, beforeDestroy () {},
methods: {}, methods: {},
components: {}, components: {},
computed: {}, computed: {},
watch: {}, watch: {}
}; }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@ -163,7 +172,8 @@ export default {
height: 100%; height: 100%;
> :nth-child(2) { > :nth-child(2) {
color: #bdceea; // color: #bdceea;
color: #FBE9C5;
font-size: 14px; font-size: 14px;
} }
} }
@ -177,7 +187,7 @@ export default {
.item { .item {
@include flex(column); @include flex(column);
border: 1px solid #77a5d8; border: 1px solid #e0470c;
padding: 5px; padding: 5px;
box-sizing: border-box; box-sizing: border-box;
margin-right: 4px; margin-right: 4px;
@ -191,13 +201,14 @@ export default {
margin: 11px 0 8px 0; margin: 11px 0 8px 0;
padding-left: 12px; padding-left: 12px;
position: relative; position: relative;
color: #ffffff;
&::after { &::after {
content: ""; content: "";
width: 4px; width: 4px;
height: 4px; height: 4px;
border-radius: 4px; border-radius: 4px;
background: #6beac6; background: #fffb90;
position: absolute; position: absolute;
left: 2px; left: 2px;
top: 10px; top: 10px;
@ -207,24 +218,28 @@ export default {
.unit { .unit {
font-size: 12px; font-size: 12px;
padding: 0 5px; padding: 0 5px;
color: #bdceea; color: #fbe9c5;
margin-bottom: 9px; margin-bottom: 9px;
} }
.title { .title {
font-family: PingFang SC;
font-size: 14px; font-size: 14px;
padding: 0 5px; padding: 0 5px;
color: #dbe9ff; font-weight: 400;
color: #FFFFFF;
} }
} }
} }
&-item-yfxy { &-item-yfxy {
padding: 16px; padding: 16px;
display: grid; display: flex;
grid-template-columns: 50% 50%; flex-wrap: wrap;
grid-template-rows: 48% 48%; // grid-template-columns: 50% 50%;
// grid-template-rows: 48% 48%;
grid-gap: 8px 5px; grid-gap: 8px 5px;
flex: 1;
> .item { > .item {
position: relative; position: relative;

Loading…
Cancel
Save