Browse Source

代码提交

master
juwei001 2 years ago
parent
commit
3bd2e7d75b
  1. BIN
      src/assets/images/home/sy-red.png
  2. BIN
      src/assets/images/home/szyf-red.png
  3. BIN
      src/assets/images/home/whyf-red.png
  4. BIN
      src/assets/images/home/zdyf-red.png
  5. BIN
      src/assets/images/hsyf/yfdj/yfdj1.png
  6. BIN
      src/assets/images/hsyf/yfdj/yfdj2.png
  7. BIN
      src/assets/images/hsyf/yfdj/yfdj3.png
  8. BIN
      src/assets/images/hsyf/yfdj/yfdj4.png
  9. BIN
      src/assets/images/map/flow.png
  10. BIN
      src/assets/images/map/szyf.png
  11. 9
      src/store/modules/dialog.js
  12. 53
      src/views/next/dialog-module/hsyf-left/company/attractions.vue
  13. 111
      src/views/next/layout/screen-bottom.vue
  14. 625
      src/views/next/screen-content-left/hsyf-left/index.vue
  15. 32
      src/views/next/screen-content-left/zdyf-left/index.vue
  16. 6
      src/views/next/screen-content-map/cpt/home-map.vue
  17. 23
      src/views/next/screen-content-map/cpt/szyf-map.vue
  18. 77
      src/views/next/screen-content-map/cpt/zdyf-map.vue
  19. 164
      src/views/next/screen-content-right/hsyf-right/index.vue
  20. 105
      src/views/next/screen-content-right/zdyf-right/index.vue

BIN
src/assets/images/home/sy-red.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
src/assets/images/home/szyf-red.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
src/assets/images/home/whyf-red.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
src/assets/images/home/zdyf-red.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
src/assets/images/hsyf/yfdj/yfdj1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

BIN
src/assets/images/hsyf/yfdj/yfdj2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
src/assets/images/hsyf/yfdj/yfdj3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

BIN
src/assets/images/hsyf/yfdj/yfdj4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
src/assets/images/map/flow.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 421 KiB

After

Width:  |  Height:  |  Size: 390 KiB

BIN
src/assets/images/map/szyf.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 KiB

9
src/store/modules/dialog.js

@ -28,6 +28,7 @@ export default {
yfclz: false,
actId: null,
researchId: null,
djType: null,
dyfcId: null
},
@ -108,7 +109,6 @@ export default {
state.zdry = visible
},
set_yfclz (state, visible) {
console.log('zoule?????')
state.yfclz = visible
},
set_dj_id (state, value) {
@ -119,6 +119,9 @@ export default {
},
set_research_id (state, value) {
state.researchId = value
},
set_hsyf_djType (state, value) {
state.djType = value
}
},
actions: {
@ -206,6 +209,9 @@ export default {
SET_RESEARCH_ID (context, val) {
context.commit('set_research_id', val)
},
SET_HSYF_DJTYPE (context, val) {
context.commit('set_hsyf_djType', val)
},
SET_GSXQ (context, visible) {
context.commit('set_gsxq', visible)
},
@ -322,6 +328,7 @@ export default {
sjcl: state => state.sjcl,
zdry: state => state.zdry,
yfclz: state => state.yfclz,
djType: state => state.djType,
gsxq: state => state.gsxq
}
}

53
src/views/next/dialog-module/hsyf-left/company/attractions.vue

@ -6,7 +6,7 @@
<img src="@/assets/images/common/dialog-colse.png" alt="" />
</div>
<div class="title-container">
<div class="title">{{ dialogTitle }}</div>
<div class="title">{{ titles[djType] }}</div>
</div>
</div>
<div class="dialog_body">
@ -221,48 +221,53 @@ export default {
return {
dialogTitle: '移风阵地',
currentId: '1',
dataList: [
{
name: '大欧鸟笼乡村记忆馆',
id: '1'
},
{
name: '七彩田园',
id: '2'
},
{
name: '中共即墨县委纪念馆',
id: '3'
}
],
dataList: [],
titles: {
4: '干部队伍建设',
5: '战斗堡垒筑牢',
6: '强村共富先行',
7: '党建品牌打造'
},
info: { description: '' },
loading: false
}
},
computed: {
...mapGetters(['hsyfAttractions'])
...mapGetters(['hsyfAttractions', 'djType'])
},
watch: {
djType (value) {
this.getData()
}
},
components: {},
mounted () {},
created () {
partyPlacePage({ page: 1, limit: 100, type: 2 }).then((res) => {
this.currentId = res.data.list.id
this.dataList = res.data.list
if (this.dataList.length > 0) {
this.onDatils(this.dataList[0])
}
})
if (this.djType) {
this.getData()
}
},
methods: {
...mapActions({
showGlobalDialog: 'showGlobalDialog'
}),
getData () {
partyPlacePage({ page: 1, limit: 100, type: this.djType }).then((res) => {
this.currentId = res.data.list.id
this.dataList = res.data.list
if (this.dataList.length > 0) {
this.onDatils(this.dataList[0])
} else {
this.info = { description: '' }
}
})
},
closeDialog () {
this.showGlobalDialog('')
},
onDatils (item) {
this.currentId = item.id
partyPlace(item.id).then(res => {
partyPlace(item.id).then((res) => {
this.info = res.data
})
}

111
src/views/next/layout/screen-bottom.vue

@ -50,98 +50,98 @@
</template>
<script>
import { mapActions } from "vuex";
import { mapActions } from 'vuex'
export default {
props: {
navId: {
type: String,
default: "",
},
default: ''
}
},
data() {
data () {
return {
active: "sy",
active: 'sy',
navList: [
{
imgSrc: require("@/assets/images/home/hsyf.png"),
imgSrcActive: require("@/assets/images/home/hsyf-active.png"),
name: "红色移风",
id: "hsyf",
imgSrc: require('@/assets/images/home/hsyf.png'),
imgSrcActive: require('@/assets/images/home/hsyf-active.png'),
name: '红色移风',
id: 'hsyf'
},
{
imgSrc: require("@/assets/images/home/zdyf.png"),
imgSrcActive: require("@/assets/images/home/zdyf-active.png"),
name: "种都移风",
id: "zdyf",
imgSrc: require('@/assets/images/home/zdyf.png'),
imgSrcActive: require('@/assets/images/home/zdyf-active.png'),
name: '种都移风',
id: 'zdyf'
},
{
imgSrc: require("@/assets/images/home/sy.png"),
imgSrcActive: require("@/assets/images/home/sy-active.png"),
name: "首页",
id: "sy",
imgSrc: require('@/assets/images/home/sy.png'),
imgSrcActive: require('@/assets/images/home/sy-active.png'),
name: '首页',
id: 'sy'
},
{
imgSrc: require("@/assets/images/home/szyf.png"),
imgSrcActive: require("@/assets/images/home/szyf-active.png"),
name: "善治移风",
id: "szyf",
imgSrc: require('@/assets/images/home/szyf.png'),
imgSrcActive: require('@/assets/images/home/szyf-active.png'),
name: '善治移风',
id: 'szyf'
},
{
imgSrc: require("@/assets/images/home/whyf.png"),
imgSrc: require('@/assets/images/home/whyf.png'),
// imgSrcActive:require('@/assets/images/home/whyf-active.png'),
name: "文化移风",
id: "whyf",
},
name: '文化移风',
id: 'whyf'
}
],
navListRed: [
{
imgSrc: require("@/assets/images/home/hsyf-red.png"),
imgSrcActive: require("@/assets/images/home/hsyf-active.png"),
name: "红色移风",
id: "hsyf",
imgSrc: require('@/assets/images/home/hsyf-red.png'),
imgSrcActive: require('@/assets/images/home/hsyf-active.png'),
name: '红色移风',
id: 'hsyf'
},
{
imgSrc: require("@/assets/images/home/zdyf-red.png"),
imgSrcActive: require("@/assets/images/home/zdyf-active.png"),
name: "种都移风",
id: "zdyf",
imgSrc: require('@/assets/images/home/zdyf-red.png'),
imgSrcActive: require('@/assets/images/home/zdyf-active.png'),
name: '种都移风',
id: 'zdyf'
},
{
imgSrc: require("@/assets/images/home/sy-red.png"),
imgSrcActive: require("@/assets/images/home/sy-active.png"),
name: "首页",
id: "sy",
imgSrc: require('@/assets/images/home/sy-red.png'),
imgSrcActive: require('@/assets/images/home/sy-active.png'),
name: '首页',
id: 'sy'
},
{
imgSrc: require("@/assets/images/home/szyf-red.png"),
imgSrcActive: require("@/assets/images/home/szyf-active.png"),
name: "善治移风",
id: "szyf",
imgSrc: require('@/assets/images/home/szyf-red.png'),
imgSrcActive: require('@/assets/images/home/szyf-active.png'),
name: '善治移风',
id: 'szyf'
},
{
imgSrc: require("@/assets/images/home/whyf-red.png"),
imgSrc: require('@/assets/images/home/whyf-red.png'),
// imgSrcActive:require('@/assets/images/home/whyf-active.png'),
name: "文化移风",
id: "whyf",
},
],
};
name: '文化移风',
id: 'whyf'
}
]
}
},
created() {},
created () {},
methods: {
...mapActions({
set_nav: "SET_NAV",
set_nav: 'SET_NAV'
}),
handelCLickNav(item) {
this.active = item.id;
this.set_nav(item.id);
},
handelCLickNav (item) {
this.active = item.id
this.set_nav(item.id)
}
},
components: {},
computed: {},
watch: {},
};
watch: {}
}
</script>
<style lang="scss" scoped>
.screen-bottm {
@ -227,7 +227,6 @@ export default {
height: 56px;
background: url("~@/assets/images/home/navBgRed.png") no-repeat;
background-size: 100% 100%;
opacity: 0.9;
img {
margin-top: -14px;

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

@ -1,6 +1,19 @@
<template>
<div>
<div class="card h292">
<div class="card h292 m-top12">
<screen-title-red>
<div slot="left" class="screen-title-left">移风党建</div>
</screen-title-red>
<div class="card-item-dyfx">
<div class="card-item-dyfx-item" @click="handelClickOrg('hsyf_attractions',4)">
<div>干部队伍建设</div>
</div>
<div class="card-item-dyfx-item" @click="handelClickOrg('hsyf_attractions',5)"><div>战斗堡垒筑牢</div></div>
<div class="card-item-dyfx-item" @click="handelClickOrg('hsyf_attractions',6)"><div>强村共富先行</div></div>
<div class="card-item-dyfx-item" @click="handelClickOrg('hsyf_attractions',7)"><div>党建品牌打造</div></div>
</div>
</div>
<div class="card h292" style="margin-top: 8px">
<screen-title-red>
<div slot="left" class="screen-title-left">组织建设</div>
<div
@ -53,7 +66,9 @@
<img :src="require('@/assets/images/icon/dyzxhRed.png')" />
</div>
<div class="bot-item-val">
<div class="bot-item-val-num">{{ zzjsValues[5].value||692 }}</div>
<div class="bot-item-val-num">
{{ zzjsValues[5].value || 692 }}
</div>
<div class="bot-item-val-title">党员中心户</div>
</div>
</div>
@ -89,7 +104,7 @@
</div>
</div>
</div>
<div class="card h292 m-top12">
<!-- <div class="card h292 m-top12">
<screen-title-red>
<div slot="left" class="screen-title-left">移风党建</div>
</screen-title-red>
@ -152,7 +167,7 @@
</div>
</div>
</div>
</div>
</div> -->
</div>
</template>
@ -213,104 +228,6 @@ export default {
num: 368
}
],
peiOption: null,
optionData: [
{
name: '20-40岁', //
value: 19, //
itemStyle: {
//
color: 'rgba(227,235,45,1)'
}
},
{
name: '40-60岁', //
value: 13,
itemStyle: {
color: 'rgba(19,141,255,1)'
}
},
{
name: '60-80岁', // 绿
value: 15,
itemStyle: {
color: 'rgba(253, 112, 0, 1)'
}
},
{
name: '80岁以上', //
value: 16,
itemStyle: {
color: 'rgba(21, 214, 131, 1)'
}
}
],
barOption: null,
optionDataB: [
{
name: '移风村',
value: 1242
},
{
name: '上泊新村',
value: 986
},
{
name: '河流新村',
value: 744
},
{
name: '滨河村',
value: 653
},
{
name: '大坝新村',
value: 498
}
],
tagworpList: [
{
label: '上泊新村',
id: '1697533359860244481'
},
{
label: '滨河村',
id: '1704030137514287105'
},
{
label: '湍湾新村',
id: '1704036500462198786'
},
{
label: '七级村',
id: '1704313950756757506'
},
{
label: '沽河村',
id: '1704324481563582466'
},
{
label: '太祉庄村',
id: '1704327114084933633'
},
{
label: '河流新村',
id: '1704331366425518081'
},
{
label: '大坝新村',
id: '1704396342955696130'
},
{
label: '双塔村',
id: '1704331366425518081'
},
{
label: '移风村',
id: '1704331366425518081'
}
],
tagList: [
{
name: '上泊新村委员会',
@ -398,22 +315,9 @@ export default {
],
// yfgfTotal: 0,
// yfzdTotal: 0,
jzfwList: [
{ name: '民生保障(“移”次办)' },
{ name: '社会治理' },
{ name: '移风店镇居家养老服务中心' }
],
yfgfList: [
{ name: '青岛益成河农业科技有限公司' },
{ name: '青岛滨源农产品有限公司' }
// { name: "" },
// { name: "" },
],
yfzdList: [
{ name: '大欧鸟笼乡村记忆馆' },
{ name: '七彩田园' },
{ name: '中共即墨县委纪念馆' }
],
jzfwList: [],
yfgfList: [],
yfzdList: [],
zzjsValues: [
{
partyOrgType: '3',
@ -453,7 +357,14 @@ export default {
this.$set(
i,
'c',
this.forArrayValue(['rgba(255,255,255,0.2)', 'rgba(255,255,255,0.4)', 'rgba(255,255,255,0.6)'], index)
this.forArrayValue(
[
'rgba(255,255,255,0.2)',
'rgba(255,255,255,0.4)',
'rgba(255,255,255,0.6)'
],
index
)
)
})
this.getData()
@ -462,8 +373,6 @@ export default {
this.$nextTick(function () {
this.initTag()
this.animate()
this.initBarAge()
this.initBar()
})
},
beforeDestroy () {},
@ -472,6 +381,7 @@ export default {
...mapActions({
// set_garden: 'SET_GARDEN',
set_organization: 'SET_ORGANIZATION',
set_hsyf_djType: 'SET_HSYF_DJTYPE',
set_hsyf_company: 'SET_HSYF_COMPANY',
set_zhen_committee: 'SET_ZHEN_COMMITTEE',
set_xincun_committee: 'SET_XINCUN_COMMITTEE',
@ -499,7 +409,7 @@ export default {
forArrayValue (array, sort) {
return array[sort % array.length]
},
handelClickOrg (type) {
handelClickOrg (type, type1) {
if (type === 'organization') {
this.set_organization(true)
}
@ -508,6 +418,7 @@ export default {
}
if (type === 'hsyf_attractions') {
this.set_hsyf_attractions(true)
this.set_hsyf_djType(type1)
}
if (type === 'hsyf_jzfw') {
this.set_hsyf_jzfw(true)
@ -534,17 +445,11 @@ export default {
initTag () {
const tags = document.querySelectorAll('.tag')
console.log('tags::', tags)
const wrap = document.querySelector('.card-item-tag')
const len = tags.length
// let valueList = Array.from(new Set(this.tagList.map(i => i.value)));
// let min = Math.min(...valueList);
CX = wrap.offsetWidth / 2
CY = wrap.offsetHeight / 2
tags.forEach((i, index) => {
// let fontScale = this.tagList[index].value / min * 16;
// i.style.fontSize = fontScale > 30 ? '30px' : fontScale + 'px';
// i.style.color = colors[parseInt(Math.random() * 10)];
const k = -1 + (2 * (index + 1) - 1) / len
const a = Math.acos(k)
const b = a * Math.sqrt(len * Math.PI)
@ -584,272 +489,6 @@ export default {
i.move()
})
requestAnimationFrame(this.animate)
},
initBarAge () {
// eslint-disable-next-line no-undef
const myChart = echarts.init(document.getElementById('charts'))
const option = {
grid: {
left: '2%',
right: '2%',
top: '15%',
bottom: '2%',
containLabel: true
},
tooltip: {
trigger: 'item',
formatter: function (params, ticket, callback) {
var res = params.name + ' : ' + params.value
return res
}
},
xAxis: {
type: 'category',
axisLine: {
lineStyle: {
color: '#174489',
width: '3'
}
},
axisTick: {
show: false
},
axisLabel: {
show: true,
color: '#BDCEEA',
fontSize: '10',
rotate: 45 //
},
data: ['20-40岁', '40-60岁', '60-80岁', '80岁以上']
},
yAxis: {
show: false
},
series: [
{
name: 'leftA',
type: 'bar',
barWidth: 10,
itemStyle: {
normal: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [
{ offset: 1, color: 'rgb(83, 180, 255,0)' }, //
{ offset: 0, color: '#5098fb' } //
]
},
barBorderRadius: [0, 0, 0, 0]
}
},
data: [220, 182, 191, 234]
},
{
name: 'rightA',
tooltip: {
show: false
},
type: 'bar',
barWidth: 10,
itemStyle: {
normal: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [
{ offset: 1, color: 'rgb(83, 180, 255,0)' }, //
{ offset: 0, color: '#207dfb' } //
]
},
barBorderRadius: [0, 0, 0, 0]
}
},
data: [220, 182, 191, 234],
barGap: 0
},
{
name: 'topA',
tooltip: {
show: false
},
type: 'pictorialBar',
itemStyle: {
normal: {
color: '#53b4ff',
// borderWidth: 1,
// borderColor: '#00183F',
opacity: '1',
shadowColor: 'rgb(0,0,0,0.1)',
shadowOffsetX: '0.5',
shadowOffsetY: '0.5'
}
},
label: {
show: false,
color: '#04F9FD',
offset: [0, 0],
position: 'top',
fontSize: '16',
fontWeight: 'normal'
},
symbol: 'diamond',
symbolRotate: 0,
symbolSize: ['25', '12'],
symbolOffset: ['0', '-8'],
symbolPosition: 'end',
data: [220, 182, 191, 234],
z: 3
}
]
}
myChart.setOption(option)
},
initBar () {
// eslint-disable-next-line no-undef
const myChart = echarts.init(document.getElementById('chartsBar'))
this.barOption = this.getBar(this.optionDataB)
myChart.setOption(this.barOption)
},
getBar (data) {
const symbolData = data.map((item) => ({
symbolPosition: 'end',
value: item.value
}))
const arrByKey = data.map((item) => item.value)
const option = {
// backgroundColor: '#000000',
grid: {
top: 10,
bottom: -0.5,
// right: 0,
left: 0
},
xAxis: {
show: false
},
yAxis: [
{
triggerEvent: true,
show: true,
inverse: true,
data: symbolData,
axisLine: {
show: false
},
splitLine: {
show: false
},
axisTick: {
show: false
}
},
{
triggerEvent: true,
show: true,
inverse: true,
data: arrByKey,
axisLine: {
show: false
},
splitLine: {
show: false
},
axisTick: {
show: false
},
axisLabel: {
interval: 0,
shadowOffsetX: '-50px',
color: ['#DBE9FF'],
align: 'right',
verticalAlign: 'bottom',
// lineHeight: 40,
fontSize: 14,
formatter: function (value, index) {
// return (data[index].value / data[index].sum) * 100
return value
}
}
}
],
series: [
{
name: 'XXX',
type: 'pictorialBar',
symbol:
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAs1JREFUOE+9lE1vW0UUhp8zc+/1zY0dV6RuZJSFoWWLWoVNEQh3hRTBBsGCX8COv5Bkyc9gw6IVSyR2zQLRbgKCtpFABiRkKQK11MT2te/HzCE3cUxaHJVKiJFmMdKZR+/5eoX/+Mjz8lR1/kdE9On//wpYQXZA3trFdLsniN2j2wW/c/TYFvGn4GcCt1XNO3vY1Q3sEtjBQ4xTdFLim21cH1wX3Knac4GVqltgrvUI3AWieo0oNwTTCcYkiPUUbsrUXiT/FsoPjtRW0IXACrYLtgMBA+IsIjEFsZZEccB6KG4tK/1PQRD+aFeYtiEXcCwCVrA9CF6E0A9ZOhxRD2ss24C6VX+tZvRdS5Wy+8xF0e00ZTRpkb0G5RPAWfdkf5+g1SI69CReqGtEI/SshYF/PTb+fYHLpXIn1+ATl/FdCqPJr2QbG5TzlM/C7CVqTlmu1airpxHCS5G4t0OrmwKrpeebTOXTrLRfNWo8/H1M+sca2Q2Rsur0cQ1nQPv9b9SSZRJ1NAQuBOpejY2+FwpvVnG553YmwS3vuK/KILWMGo+ZdDrkMhudU6Dp9QhHF1mqe+o4WlHo34iN/9AYrgKPCidfZGq/zOGXWBjmlmE6Ji3WyDc4SXeu8KaqXe8TNVdYijNWg7DYTKx8JMLLzmsv9/L51AdfO+HAFIwaCUMZk/ZPYNUMPjnYqmr7EKUHx7V7JQ6Kj63IDQcPslJvFhreUxgUGWPxjJqGyQ9t8u4OXrb/hv1DYbtOzZXF5UYkm6WynKvcdWp7UpKVhjSyjBkw7XQomA3ywl1W1eMaNq8QPn5EM7K0vOIy4dB5vC/IkiFTrpCd3YpFxnLclGpft8Dc6RO+EBOEFjMdY1dWYFpS/plR0qZ4ul7nAuduAuYSmATMQR+5vo7fA/8z+H3Qs65ynu3Nd/nU5yqb2ppFV9a0BbrI954JfF6j/d+AfwETJFsk0SzcoQAAAABJRU5ErkJggg==',
symbolSize: [10, 2, 10, 2],
symbolRotate: 45,
symbolOffset: [5, 0],
z: 12,
itemStyle: {
normal: {
color: '#cde0ef'
// image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAs1JREFUOE+9lE1vW0UUhp8zc+/1zY0dV6RuZJSFoWWLWoVNEQh3hRTBBsGCX8COv5Bkyc9gw6IVSyR2zQLRbgKCtpFABiRkKQK11MT2te/HzCE3cUxaHJVKiJFmMdKZR+/5eoX/+Mjz8lR1/kdE9On//wpYQXZA3trFdLsniN2j2wW/c/TYFvGn4GcCt1XNO3vY1Q3sEtjBQ4xTdFLim21cH1wX3Knac4GVqltgrvUI3AWieo0oNwTTCcYkiPUUbsrUXiT/FsoPjtRW0IXACrYLtgMBA+IsIjEFsZZEccB6KG4tK/1PQRD+aFeYtiEXcCwCVrA9CF6E0A9ZOhxRD2ss24C6VX+tZvRdS5Wy+8xF0e00ZTRpkb0G5RPAWfdkf5+g1SI69CReqGtEI/SshYF/PTb+fYHLpXIn1+ATl/FdCqPJr2QbG5TzlM/C7CVqTlmu1airpxHCS5G4t0OrmwKrpeebTOXTrLRfNWo8/H1M+sca2Q2Rsur0cQ1nQPv9b9SSZRJ1NAQuBOpejY2+FwpvVnG553YmwS3vuK/KILWMGo+ZdDrkMhudU6Dp9QhHF1mqe+o4WlHo34iN/9AYrgKPCidfZGq/zOGXWBjmlmE6Ji3WyDc4SXeu8KaqXe8TNVdYijNWg7DYTKx8JMLLzmsv9/L51AdfO+HAFIwaCUMZk/ZPYNUMPjnYqmr7EKUHx7V7JQ6Kj63IDQcPslJvFhreUxgUGWPxjJqGyQ9t8u4OXrb/hv1DYbtOzZXF5UYkm6WynKvcdWp7UpKVhjSyjBkw7XQomA3ywl1W1eMaNq8QPn5EM7K0vOIy4dB5vC/IkiFTrpCd3YpFxnLclGpft8Dc6RO+EBOEFjMdY1dWYFpS/plR0qZ4ul7nAuduAuYSmATMQR+5vo7fA/8z+H3Qs65ynu3Nd/nU5yqb2ppFV9a0BbrI954JfF6j/d+AfwETJFsk0SzcoQAAAABJRU5ErkJggg==',
}
},
data: symbolData
},
{
name: '条',
type: 'bar',
showBackground: true,
barBorderRadius: 30,
yAxisIndex: 0,
data: data,
barWidth: 5,
// align: left,
itemStyle: {
normal: {
// eslint-disable-next-line no-undef
color: new echarts.graphic.LinearGradient(
0,
0,
1,
0,
[
{
offset: 0,
color: '#1f4889'
},
{
offset: 1,
color: '#2caffd'
}
],
false
)
// barBorderRadius: 10
}
// color: '#A71A2B',
// barBorderRadius: 4,
},
label: {
normal: {
color: '#DBE9FF',
show: true,
position: [0, '-15px'],
textStyle: {
fontSize: 14
},
formatter: function (a, b) {
return a.name
}
}
}
}
]
}
return option
}
},
components: {},
@ -1157,128 +796,90 @@ export default {
padding: 12px 20px;
display: flex;
flex-wrap: wrap;
grid-gap: 10px 16px;
&-left,
&-right,
&-bottom {
width: 200px;
// background: url("~@/assets/images/home/yfgfLeftBg.png") no-repeat;
// background-size: 100% 14px;
// background-position: center 58px;
.top-title {
width: 200px;
display: flex;
img {
width: 18px;
height: 18px;
margin-top: 2px;
}
.title-txt {
padding-left: 8px;
height: 16px;
font-family: PingFang SC;
font-weight: 500;
font-size: 16px;
color: #ffffff;
}
}
// .content {
// display: flex;
// justify-content: space-between;
// padding: 15px 20px;
// &-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 {
// font-weight: 500;
// &-num {
// height: 13px;
// font-family: PangMenZhengDao;
// font-weight: 400;
// font-size: 20px;
// color: #ffffff;
// }
// }
// }
.bottom-list {
padding-top: 6px;
height: 90px;
&-item {
margin-top: 3px;
&-span {
padding-left: 10px;
padding-right: 12px;
}
height: 30px;
font-family: PingFang SC;
font-weight: 500;
font-size: 14px;
color: #fbe9c5;
line-height: 29px;
border-bottom: 1px dashed #bb7053;
}
&-item:hover {
cursor: pointer;
color: #ffffff;
}
grid-gap: 10px 8px;
&-item {
width: 206px;
height: 110px;
text-align: center;
font-family: "zaozigongfang";
font-weight: 400;
font-size: 16px;
color: #ffffff;
line-height: 110px;
background: url("~@/assets/images/hsyf/yfdj/yfdj1.png") no-repeat;
background-size: 100% 100%;
div {
background: rgba(0, 0, 0, 0.3);
}
}
&-right {
width: 201px;
// background: url("~@/assets/images/home/yfgfRightBg.png") no-repeat;
// background-size: 100% 14px;
// background-position: center 58px;
.top-title {
width: 201px;
}
// .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%;
// }
// }
&-item:nth-child(2) {
background: url("~@/assets/images/hsyf/yfdj/yfdj2.png") no-repeat;
}
&-item:nth-child(3) {
background: url("~@/assets/images/hsyf/yfdj/yfdj3.png") no-repeat;
}
&-bottom {
width: 428px;
margin-top: 8px;
&-item:nth-child(4) {
background: url("~@/assets/images/hsyf/yfdj/yfdj4.png") no-repeat;
}
// ::after {
// background: #000000;
// }
// &-left,
// &-right,
// &-bottom {
// width: 200px;
// .top-title {
// width: 200px;
// display: flex;
// img {
// width: 18px;
// height: 18px;
// margin-top: 2px;
// }
// .title-txt {
// padding-left: 8px;
// height: 16px;
// font-family: PingFang SC;
// font-weight: 500;
// font-size: 16px;
// color: #ffffff;
// }
// }
// .bottom-list {
// padding-top: 6px;
// height: 90px;
// &-item {
// margin-top: 3px;
// &-span {
// padding-left: 10px;
// padding-right: 12px;
// }
// height: 30px;
// font-family: PingFang SC;
// font-weight: 500;
// font-size: 14px;
// color: #fbe9c5;
// line-height: 29px;
// border-bottom: 1px dashed #bb7053;
// }
// &-item:hover {
// cursor: pointer;
// color: #ffffff;
// }
// }
// }
// &-right {
// width: 201px;
// .top-title {
// width: 201px;
// }
// }
// &-bottom {
// width: 428px;
// margin-top: 8px;
// }
}
}
</style>

32
src/views/next/screen-content-left/zdyf-left/index.vue

@ -139,6 +139,12 @@
</div>
</div>
</vue-seamless-scroll>
<div
v-if="shichangList.length == 0"
style="text-align: center; line-height: 170px; font-weight: 300"
>
暂无最新数据
</div>
</div>
</div>
<div class="npdt-yfclz">
@ -264,13 +270,21 @@ export default {
sort: ''
}
prcCollectionListForGov(params).then((res) => {
prcCollectionListForGov({
...params,
FEndDate: this.$moment().subtract(1, 'days').format('yyyy-MM-DD'),
FStartDate: this.$moment().subtract(1, 'days').format('yyyy-MM-DD')
}).then((res1) => {
this.shichangList = this.getScData(res.priceslist, res1.priceslist)
})
if (res.priceslist.length > 0) {
prcCollectionListForGov({
...params,
FEndDate: this.$moment().subtract(1, 'days').format('yyyy-MM-DD'),
FStartDate: this.$moment().subtract(1, 'days').format('yyyy-MM-DD')
}).then((res1) => {
if (res1.priceslist.length > 0) {
this.shichangList = this.getScData(res.priceslist, res1.priceslist)
} else {
this.shichangList = []
}
})
} else {
this.shichangList = []
}
})
},
methods: {
@ -281,7 +295,6 @@ export default {
set_ldhg: 'SET_LDGH'
}),
openClz () {
console.log('zoule?')
this.set_yfclz(true)
},
deduplicationJs (arr) {
@ -298,7 +311,8 @@ export default {
const dataD = this.deduplicationJs(arr)
const dataTd = this.deduplicationJs(arr1)
return dataD.map((item, index) => {
const priceTd = dataTd.filter(item1 => item.Name === item1.Name)[0].price
const priceTd = dataTd.filter((item1) => item.Name === item1.Name)[0]
.price
const jzrPrice = item.price - priceTd
return {
...item,

6
src/views/next/screen-content-map/cpt/home-map.vue

@ -147,7 +147,7 @@ export default {
})
.size(1000)
.source(data1)
.color('name', ['rgba(0, 127, 241, .5)'])
.color('name', ['rgba(0, 0, 255,0.2)'])
.shape('fill')
.style({
// opacityLinear: {
@ -165,7 +165,7 @@ export default {
})
.size(1000)
.source(data)
.color('name', ['rgba(0, 127, 241, .5)'])
.color('name', ['rgba(0,106,235, .9)'])
.shape('extrude')
// .shape("fill")
.style({
@ -175,7 +175,7 @@ export default {
},
opacity: 0.8,
heightfixed: true,
sourceColor: '#3372d0',
sourceColor: '#3072d0',
targetColor: '#00284e'
// targetColor: '#4ee8fc'
})

23
src/views/next/screen-content-map/cpt/szyf-map.vue

@ -1,12 +1,11 @@
<template>
<div style="width: 100%; height: 100%">
<div id="myMap">
<!-- <screen-map-header :data="headerList"></screen-map-header> -->
</div>
<div class="mapImage">
<div>事件处置流程图</div>
<div class="bg_img">
<div class="mapImage">
<div>事件处置流程图</div>
<img src="@/assets/images/map/flow.png" alt="" />
<img src="@/assets/images/map/flow.png" alt="" />
</div>
</div>
</div>
</template>
@ -120,7 +119,7 @@ export default {
})
.size(1000)
.source(data1)
.color("name", ["rgba(0, 127, 241, .5)"])
.color("name", ["rgba(0, 0, 255,0.2)"])
.shape("fill")
.style({
// opacityLinear: {
@ -213,4 +212,14 @@ export default {
transform: translateY(0);
}
}
.bg_img {
background: url('~@/assets/images/map/szyf.png');
background-size: 100% 100%;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
}
</style>

77
src/views/next/screen-content-map/cpt/zdyf-map.vue

@ -9,7 +9,12 @@
<img src="@/assets/images/map/yellowPot.png" alt="" />
<img src="@/assets/images/map/36°.png" alt="" />
</div>
<div class="pot1" @click="toProvince">黄金育种带</div>
<div class="pot1" @click="toProvince">
黄金育种带
<div class="meteor">
<div></div>
</div>
</div>
</div>
<div id="myMap" v-if="mapFlag == 'Amap'">
<div v-if="mapType == 'polygon'">
@ -310,7 +315,8 @@ export default {
autoFit: true
})
.source(data1)
.color('name', ['rgba(0, 127, 241, .5)'])
// .color('name', ['rgba(0, 127, 241, .5)'])
.color('name', ['rgba(0, 0, 255,0.2)'])
.shape('fill')
.style({
// opacityLinear: {
@ -328,7 +334,7 @@ export default {
})
.size(1000)
.source(data)
.color('name', ['rgba(0, 127, 241, .5)'])
.color('name', ['rgba(0,106,235, .9)'])
.shape('extrude')
// .shape("fill")
.style({
@ -564,6 +570,71 @@ export default {
color: rgb(254, 221, 0);
text-align: center;
line-height: 24px;
.meteor {
position: absolute;
left: 570px;
top: 16px;
// left: 500px;
// background-color: #fff;
// width: 20px;
// height: 10px;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
border-left: 40px solid white; /* 更改颜色以匹配所需 */
filter: blur(3px); /* 模糊效果 */
opacity: 0.8; /* 控制透明度 */
animation: meteor-fall 5s linear infinite;
transform: rotate(186deg);
}
/* 动画关键帧 */
@keyframes meteor-fall {
0% {
left: 580px;
top: 26px;
transform: rotate(187deg);
}
25% {
top: 59px;
transform: rotate(182deg);
}
50% {
transform: rotate(180deg);
top: 66px;
}
75% {
transform: rotate(178deg);
top: 60px;
}
100% {
left: 1350px;
top: 30px;
transform: rotate(173deg);
}
}
.meteor::before,
.meteor::after {
content: "";
position: absolute;
width: 100%;
height: 100%;
animation: glow-effect 1s linear infinite;
}
/* 发光动画 */
@keyframes glow-effect {
0% {
opacity: 0;
}
50% {
opacity: 1;
}
100% {
opacity: 0;
}
}
}
}

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

@ -5,48 +5,33 @@
<div slot="left" class="screen-title-left">党建活动</div>
</screen-title-red>
<div style="overflow: hidden; height: 232px">
<div
class="card-item-djhd"
:class="activityList.length > 2 ? 'card-item-paused' : 1"
>
<vue-seamless-scroll :class-option="optionHover1" :data="activityList">
<div
class="item"
@click="handelClickOrg('set_djhd_show', item)"
v-for="(item, index) in activityList"
:key="index"
class="card-item-djhd"
>
<img
v-if="item.attachments && item.attachments.length > 0"
:src="item.attachments.length > 0 ? item.attachments[0].url : ''"
alt=""
/>
<div v-else class="imgE">暂无图片</div>
<section>
<div>
{{ item.topic }}
</div>
<div>{{ item.publishPartyOrgName }}</div>
</section>
<div
class="item"
@click="handelClickOrg('set_djhd_show', item)"
v-for="(item, index) in activityList"
:key="'item'+index"
>
<img
v-if="item.attachments && item.attachments.length > 0"
:src="
item.attachments.length > 0 ? item.attachments[0].url : ''
"
alt=""
/>
<div v-else class="imgE">暂无图片</div>
<section>
<div>
{{ item.topic }}
</div>
<div>{{ item.publishPartyOrgName }}</div>
</section>
</div>
</div>
<div
v-if="activityList.length > 2"
class="item"
@click="handelClickOrg('set_djhd_show', item)"
v-for="(item, index) in activityList"
:key="index"
>
<img
v-if="item.attachments && item.attachments.length > 0"
:src="item.attachments.length > 0 ? item.attachments[0].url : ''"
alt=""
/>
<div v-else class="imgE">暂无图片</div>
<section>
<div>{{ item.topic }}</div>
<div>{{ item.publishPartyOrgName }}</div>
</section>
</div>
</div>
</vue-seamless-scroll>
</div>
</div>
<div class="card h292" style="margin-top: 8px">
@ -69,30 +54,21 @@
<div slot="left" class="screen-title-left">党员风采</div>
</screen-title-red>
<div style="overflow: hidden; margin: 16px 16px 21px 16px">
<div class="card-item-dyfc">
<div
class="item"
@click="handelClickOrg('set_dyfc_show', item)"
v-for="(item, index) in partList"
:key="index"
>
<img :src="item.imageList[0]" alt="" />
<div class="name">{{ item.name }}</div>
<div class="unit">{{ item.gridName }}</div>
<div class="title">{{ item.mainDeed }}</div>
</div>
<div
class="item"
@click="handelClickOrg('set_dyfc_show', item)"
v-for="(item, index) in partList"
:key="index"
>
<img :src="item.imageList[0]" alt="" />
<div class="name">{{ item.name }}</div>
<div class="unit">{{ item.gridName }}</div>
<div class="title">{{ item.mainDeed }}</div>
<vue-seamless-scroll :class-option="optionHover" :data="partList">
<div class="card-item-dyfc">
<div
class="item"
@click="handelClickOrg('set_dyfc_show', item)"
v-for="(item, index) in partList"
:key="index"
>
<img :src="item.imageList[0]" alt="" />
<div class="name">{{ item.name }}</div>
<div class="unit">{{ item.gridName }}</div>
<div class="title">{{ item.mainDeed }}</div>
</div>
</div>
</div>
</vue-seamless-scroll>
</div>
</div>
<div class="card h292 m-top12">
@ -115,7 +91,7 @@
</template>
<script>
import { mapActions, mapGetters } from 'vuex'
import { mapActions } from 'vuex'
import { actPageList, partymemberStyleList } from '@/api/hsyf'
export default {
data () {
@ -175,7 +151,27 @@ export default {
mainDeed: '一座大棚撑起新型农民致富梦',
imgSrc: require('@/assets/images/resource/dyfc/3.jpg')
}
]
],
optionHover: {
step: 1, //
limitMoveNum: 3, // this.dataList.length
hoverStop: true, // stop
direction: 2, // 0 1 2 3
openWatch: true, // dom
singleHeight: 0, // (0) direction => 0/1
singleWidth: 0, // (0) direction => 2/3
waitTime: 2000 // (1000ms)
},
optionHover1: {
step: 1, //
limitMoveNum: 3, // this.dataList.length
hoverStop: true, // stop
direction: 1, // 0 1 2 3
openWatch: true, // dom
singleHeight: 0, // (0) direction => 0/1
singleWidth: 0, // (0) direction => 2/3
waitTime: 2000 // (1000ms)
}
}
},
created () {
@ -198,7 +194,7 @@ export default {
actType: '',
topic: '',
pageNo: '1',
pageSize: '3'
pageSize: '30'
}).then((res) => {
this.activityList = res.data.list
})
@ -207,7 +203,7 @@ export default {
actType: '',
topic: '',
pageNo: '1',
pageSize: '10'
pageSize: '30'
}).then((res) => {
this.partList = res.data.list
})
@ -236,22 +232,7 @@ export default {
</script>
<style lang="scss" scoped>
@keyframes scroll {
from {
transform: translateY(0);
}
to {
transform: translateY(-216px);
} /* 这将导致内容向上移动其自身高度的距离 */
}
@keyframes scrollX {
from {
transform: translateX(0);
}
to {
transform: translateX(-1460px);
} /* 这将导致内容向上移动其自身高度的距离 */
}
.card {
width: 100%;
background: url("~@/assets/images/common/cardBgRed.png") no-repeat;
@ -262,16 +243,13 @@ export default {
&-item-djhd {
padding: 16px;
box-sizing: border-box;
@include flex(column);
> .item {
.item {
display: flex;
margin-bottom: 4px;
margin-bottom: 6px;
img {
width: 120px;
height: 68px;
margin-right: 16px;
}
.imgE {
width: 120px;
@ -304,16 +282,10 @@ export default {
cursor: pointer;
}
}
&-item-paused:hover {
animation-play-state: paused;
}
&-item-paused {
animation: scroll 5s linear infinite;
}
&-item-dyfc {
display: flex;
box-sizing: border-box;
animation: scrollX 13s linear infinite;
.item {
@include flex(column);
@ -359,6 +331,7 @@ export default {
font-weight: 400;
color: #ffffff;
overflow: hidden;
width: 122px;
display: -webkit-box;
-webkit-line-clamp: 3; /* 设置最多显示2行 */
-webkit-box-orient: vertical;
@ -369,9 +342,6 @@ export default {
cursor: pointer;
}
}
&-item-dyfc:hover {
animation-play-state: paused;
}
&-item-yfxy {
padding: 16px;

105
src/views/next/screen-content-right/zdyf-right/index.vue

@ -28,6 +28,9 @@
<div class="tunnel-icon"></div>
<div class="tunnel-icon"></div>
<div class="tunnel-icon"></div>
<div class="tunnel-icon"></div>
<div class="tunnel-icon"></div>
<div class="tunnel-icon"></div>
</div>
<div class="container1">
<div class="tunnel-icon1"></div>
@ -39,6 +42,8 @@
<div class="tunnel-icon1"></div>
<div class="tunnel-icon1"></div>
<div class="tunnel-icon1"></div>
<div class="tunnel-icon1"></div>
<div class="tunnel-icon1"></div>
</div>
</div>
</div>
@ -686,6 +691,56 @@ export default {
animation-duration: 6s;
animation-delay: -7.2s;
}
.tunnel-icon:nth-child(10) {
animation-duration: 6s;
animation-delay: -1s;
}
.tunnel-icon:nth-child(11) {
animation-duration: 6s;
animation-delay: -0.8s;
}
/* ...以此类推,直至最后一个图标 */
.tunnel-icon:nth-child(12) {
animation-duration: 6s;
animation-delay: -1.2s;
}
.tunnel-icon:nth-child(13) {
animation-duration: 4s;
animation-delay: -2.2s;
}
.tunnel-icon:nth-child(14) {
animation-duration: 6s;
animation-delay: -3.2s;
}
.tunnel-icon:nth-child(15) {
animation-duration: 6s;
animation-delay: -3.2s;
}
.tunnel-icon:nth-child(16) {
animation-duration: 6s;
animation-delay: 4.2s;
}
.tunnel-icon:nth-child(17) {
animation-duration: 4s;
animation-delay: -2.2s;
}
.tunnel-icon:nth-child(18) {
animation-duration: 6s;
animation-delay: -3.2s;
}
.tunnel-icon:nth-child(19) {
animation-duration: 6s;
animation-delay: 4.2s;
}
/* 假设我们有8个图标均匀分布在圆周上 */
.tunnel-icon1:nth-child(1) {
@ -733,6 +788,56 @@ export default {
animation-duration: 6s;
animation-delay: 4.2s;
}
.tunnel-icon1:nth-child(10) {
animation-duration: 6s;
animation-delay: -1s;
}
.tunnel-icon1:nth-child(11) {
animation-duration: 6s;
animation-delay: -0.8s;
}
/* ...以此类推,直至最后一个图标 */
.tunnel-icon1:nth-child(12) {
animation-duration: 6s;
animation-delay: -1.2s;
}
.tunnel-icon1:nth-child(13) {
animation-duration: 4s;
animation-delay: -2.2s;
}
.tunnel-icon1:nth-child(14) {
animation-duration: 6s;
animation-delay: -3.2s;
}
.tunnel-icon1:nth-child(15) {
animation-duration: 6s;
animation-delay: -3.2s;
}
.tunnel-icon1:nth-child(16) {
animation-duration: 6s;
animation-delay: 4.2s;
}
.tunnel-icon1:nth-child(17) {
animation-duration: 4s;
animation-delay: -2.2s;
}
.tunnel-icon1:nth-child(18) {
animation-duration: 6s;
animation-delay: -3.2s;
}
.tunnel-icon1:nth-child(19) {
animation-duration: 6s;
animation-delay: 4.2s;
}
@keyframes iconSpread {
0% {

Loading…
Cancel
Save