Browse Source

modified: .gitignore

modified:   babel.config.js
	modified:   package-lock.json
	modified:   package.json
	modified:   src/api/index.js
	renamed:    src/assets/icon/jiantou-D@2x.png -> src/assets/icon/arrow.png
	new file:   src/assets/icon/arrow2.png
	renamed:    src/assets/icon/框@2x.png -> src/assets/icon/bg-part.png
	new file:   src/assets/icon/dyfc1.png
	new file:   src/assets/icon/dyfc2.png
	new file:   src/assets/icon/dyfc3.png
	deleted:    src/assets/icon/jiantou-D 拷贝@2x.png
	renamed:    src/assets/icon/点1@2x.png -> src/assets/icon/point.png
	new file:   src/components/screen-popup-ydzl/index.vue
	new file:   src/components/screen-popup/index.vue
modified:   src/main.js
	new file:   src/style/agencySelect.scss
modified:   src/style/global.scss
	new file:   src/style/left2.scss
	modified:   src/utils/request.js
	modified:   src/views/agencySelect.vue
	modified:   src/views/screenLeft/left1.vue
modified:   src/views/screenLeft/left2.vue
master
jiangyuying 2 years ago
parent
commit
cf86edc6a8
  1. 11
      babel.config.js
  2. 45
      package-lock.json
  3. 2
      package.json
  4. 11
      src/api/index.js
  5. 0
      src/assets/icon/arrow.png
  6. BIN
      src/assets/icon/arrow2.png
  7. 0
      src/assets/icon/bg-part.png
  8. BIN
      src/assets/icon/dyfc1.png
  9. BIN
      src/assets/icon/dyfc2.png
  10. BIN
      src/assets/icon/dyfc3.png
  11. BIN
      src/assets/icon/jiantou-D 拷贝@2x.png
  12. 0
      src/assets/icon/point.png
  13. 128
      src/components/screen-popup-ydzl/index.vue
  14. 134
      src/components/screen-popup/index.vue
  15. 9
      src/main.js
  16. 43
      src/style/agencySelect.scss
  17. 10
      src/style/global.scss
  18. 215
      src/style/left2.scss
  19. 4
      src/utils/request.js
  20. 54
      src/views/agencySelect.vue
  21. 307
      src/views/screenLeft/left1.vue
  22. 540
      src/views/screenLeft/left2.vue

11
babel.config.js

@ -1,5 +1,12 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
presets: ['@vue/app'],
plugins: [
[
'component',
{
libraryName: 'element-ui',
styleLibraryName: 'theme-chalk'
}
]
]
}

45
package-lock.json

@ -2867,6 +2867,38 @@
"schema-utils": "^2.6.5"
}
},
"babel-plugin-component": {
"version": "1.1.1",
"resolved": "https://registry.npmmirror.com/babel-plugin-component/-/babel-plugin-component-1.1.1.tgz",
"integrity": "sha512-WUw887kJf2GH80Ng/ZMctKZ511iamHNqPhd9uKo14yzisvV7Wt1EckIrb8oq/uCz3B3PpAW7Xfl7AkTLDYT6ag==",
"dev": true,
"requires": {
"@babel/helper-module-imports": "7.0.0-beta.35"
},
"dependencies": {
"@babel/helper-module-imports": {
"version": "7.0.0-beta.35",
"resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.35.tgz",
"integrity": "sha512-vaC1KyIZSuyWb3Lj277fX0pxivyHwuDU4xZsofqgYAbkDxNieMg2vuhzP5AgMweMY7fCQUMTi+BgPqTLjkxXFg==",
"dev": true,
"requires": {
"@babel/types": "7.0.0-beta.35",
"lodash": "^4.2.0"
}
},
"@babel/types": {
"version": "7.0.0-beta.35",
"resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.0.0-beta.35.tgz",
"integrity": "sha512-y9XT11CozHDgjWcTdxmhSj13rJVXpa5ZXwjjOiTedjaM0ba5ItqdS02t31EhPl7HtOWxsZkYCCUNrSfrOisA6w==",
"dev": true,
"requires": {
"esutils": "^2.0.2",
"lodash": "^4.2.0",
"to-fast-properties": "^2.0.0"
}
}
}
},
"babel-plugin-dynamic-import-node": {
"version": "2.3.3",
"resolved": "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
@ -3604,6 +3636,11 @@
}
}
},
"comutils": {
"version": "1.1.19",
"resolved": "https://registry.npmmirror.com/comutils/-/comutils-1.1.19.tgz",
"integrity": "sha512-JxXB67juILiwhdLwOsYyjUqwWEhHdObI0EClOPk+JDtEuTbac59s0pxGpfCBnNNQ5JommifmcMGneW/4Cg7YWw=="
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz",
@ -11207,6 +11244,14 @@
"resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-3.6.5.tgz",
"integrity": "sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ=="
},
"vue-seamless-scroll": {
"version": "1.1.23",
"resolved": "https://registry.npmmirror.com/vue-seamless-scroll/-/vue-seamless-scroll-1.1.23.tgz",
"integrity": "sha512-HBjUub8WwsKJzbFCrwKPDrZn4e+SSbkKgwWtjKtfLwesiFGwSsVxP44/Z6d3kpXy94qIFOiflJH6l0/9pj7SGA==",
"requires": {
"comutils": "^1.1.9"
}
},
"vue-style-loader": {
"version": "4.1.3",
"resolved": "https://registry.npmmirror.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz",

2
package.json

@ -18,6 +18,7 @@
"vue-cookie": "^1.1.4",
"vue-lazyload": "^3.0.0",
"vue-router": "^3.5.1",
"vue-seamless-scroll": "^1.1.23",
"vuex": "^3.6.2"
},
"devDependencies": {
@ -28,6 +29,7 @@
"@vue/cli-plugin-router": "~5.0.0",
"@vue/cli-plugin-vuex": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"babel-plugin-component": "^1.1.1",
"eslint": "^7.32.0",
"eslint-plugin-vue": "^8.0.3",
"sass": "^1.32.7",

11
src/api/index.js

@ -12,3 +12,14 @@ export function getOrgTree() {
data: {}
})
}
//获取党员风采列表
export function getDyfcList() {
return request({
baseURL,
url: 'https://epmet-cloud.elinkservice.cn/api/resi/partymember/icpartymemberstyle/list',
method: 'POST',
data: {}
})
}

0
src/assets/icon/jiantou-D@2x.png → src/assets/icon/arrow.png

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
src/assets/icon/arrow2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 831 B

0
src/assets/icon/框@2x.png → src/assets/icon/bg-part.png

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

BIN
src/assets/icon/dyfc1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
src/assets/icon/dyfc2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
src/assets/icon/dyfc3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

BIN
src/assets/icon/jiantou-D 拷贝@2x.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

0
src/assets/icon/点1@2x.png → src/assets/icon/point.png

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

128
src/components/screen-popup-ydzl/index.vue

@ -0,0 +1,128 @@
<template>
<div class="screen-popup-ydzl"
:style="{height: visible?'65px':'0px', opacity: popupVisible ? '1' : '0','--left': left,'--top': top,'--width':width,'--fontSize':fontSize }">
<div class="screen-popup-ydzl-border"
:style="{overflowY: 'hidden' }">
<div class="screen-popup-ydzl-content">
<div>{{memberInfo.name}}</div>
<div>{{memberInfo.phone}}</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'screen-popup-ydzl',
data () {
return {
popupVisible: true
}
},
props: {
visible: {
type: Boolean,
default: () => false
},
top: {
type: String,
default: ''
},
left: {
type: String,
default: ''
},
width: {
type: String,
default: '174px'
},
fontSize: {
type: String,
default: '20px'
},
memberInfo: {
type: Object,
default: () => { }
}
},
watch: {
//
visible: {
immediate: true,
handler: function (value) {
this.popupVisible = value
}
}
},
methods: {
// onChooseItem (item) {
// this.dataList.forEach(data => {
// if (data.value === item.value) {
// data.select = true
// } else {
// data.select = false
// }
// })
// this.$emit('onChooseItem', item)
// this.popupVisible = false
// this.$emit('update:visible', false)
// }
}
}
</script>
<style lang="scss" scoped>
.screen-popup-ydzl {
width: var(--width);
position: absolute;
// box-shadow: 0 2px 12px 0 #5c7bc7;
border: 1px solid #00a4b9;
color: #fff;
line-height: 30px;
font-size: var(--fontSize);
background: rgb(9, 67, 85);
z-index: 100000;
left: var(--left);
top: var(--top);
border-radius: 4px;
max-height: 260px;
transition: height 0.1s linear, opacity 0.1s linear;
&-content {
padding: 5px;
text-align: center;
}
&-border {
width: 100%;
height: 100%;
overflow-y: auto;
border-radius: 4px;
box-sizing: border-box;
// padding: 10px 0 0;
&::-webkit-scrollbar {
/*滚动条整体样式*/
width: 6px; /*高宽分别对应横竖滚动条的尺寸*/
height: 1px;
}
&::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/
background: linear-gradient(-90deg, #09b8e5 0%, #09f0e3 99%);
border-radius: 3px;
}
&::-webkit-scrollbar-track {
/*滚动条里面轨道*/
// box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
background: #428ba2;
border-radius: 3px;
}
}
}
</style>

134
src/components/screen-popup/index.vue

@ -0,0 +1,134 @@
<template>
<div class="screen-popup"
:style="{ opacity: popupVisible ? '1' : '0','--left': left||'','--right': right||'','--top': top||'', '--bottom': bottom||'','--width':width,'--height':height }">
<div class="screen-popup-border"
:style="{overflowY: 'auto' }">
<div class="screen-popup-content">
{{showContent}}
</div>
</div>
</div>
</template>
<script>
export default {
name: 'screen-popup',
data () {
return {
popupVisible: true
}
},
props: {
showContent: {
type: String,
required: true,
default: ''
},
visible: {
type: Boolean,
default: () => false
},
top: {
type: String,
default: ''
},
bottom: {
type: String,
default: ''
},
left: {
type: String,
default: ''
},
right: {
type: String,
default: ''
},
width: {
type: String,
default: '60px'
},
height: {
type: String,
default: '60px'
}
},
watch: {
//
visible: {
immediate: true,
handler: function (value) {
this.popupVisible = value
}
}
},
methods: {
// onChooseItem (item) {
// this.dataList.forEach(data => {
// if (data.value === item.value) {
// data.select = true
// } else {
// data.select = false
// }
// })
// this.$emit('onChooseItem', item)
// this.popupVisible = false
// this.$emit('update:visible', false)
// }
}
}
</script>
<style lang="scss" scoped>
.screen-popup {
width: var(--width);
height: var(--height);
position: absolute;
// box-shadow: 0 2px 12px 0 #5c7bc7;
border: 1px solid #00a4b9;
color: #fff;
line-height: 30px;
font-size: 20px;
background: rgb(9, 67, 85);
z-index: 100000;
left: var(--left);
bottom: var(--bottom);
top: var(--top);
right: var(--right);
border-radius: 4px;
max-height: 260px;
transition: height 0.1s linear, opacity 0.1s linear;
&-content {
padding: 10px;
}
&-border {
width: 100%;
height: 100%;
overflow-y: auto;
border-radius: 4px;
box-sizing: border-box;
// padding: 10px 0 0;
&::-webkit-scrollbar {
/*滚动条整体样式*/
width: 6px; /*高宽分别对应横竖滚动条的尺寸*/
height: 1px;
}
&::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/
background: linear-gradient(-90deg, #09b8e5 0%, #09f0e3 99%);
border-radius: 3px;
}
&::-webkit-scrollbar-track {
/*滚动条里面轨道*/
// box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
background: #428ba2;
border-radius: 3px;
}
}
}
</style>

9
src/main.js

@ -5,11 +5,20 @@ import store from './store'
import App from './App.vue'
import 'components/index' //注册components下的组件
import scroll from 'vue-seamless-scroll' //滚动
import './style/global.scss'
import './style/font.scss' // 字体文件
import { Popover } from 'element-ui'
import { Button } from 'element-ui'
Vue.config.productionTip = false
// Vue.component(Popover.name, Popover)
Vue.use(Popover)
Vue.use(Button)
Vue.use(scroll)
new Vue({
router,

43
src/style/agencySelect.scss

@ -0,0 +1,43 @@
.agency-select {
box-sizing: border-box;
// margin-top: 0px;
margin-left: 39px;
display: flex;
font-size: 18px;
font-family: PingFang SC;
font-weight: bold;
color: #fefefe;
letter-spacing: 3px;
.name-item {
height: 45px;
align-items: center;
line-height: 40px;
}
.item {
box-sizing: border-box;
position: relative;
width: 210px;
height: 42px;
padding: 13px 11px 15px 10px;
margin-left: 20px;
display: flex;
justify-content: space-between;
align-items: center;
background: rgba(0, 159, 199, 0.23);
border-radius: 1px;
font-size: 15px;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #c1e8ff;
letter-spacing: 2px;
// white-space: nowrap;
// overflow: hidden;
// text-overflow: ellipsis;
&:hover {
cursor: pointer;
}
}
}

10
src/style/global.scss

@ -2,10 +2,12 @@
.bg-content{
width: 620px;
height: 972px;
border: 1px solid;
border-image: linear-gradient(0deg, #4ba3da, #0097d6) 10 10;
background: linear-gradient(0deg, #006a90 0%, #00354b 100%);
box-sizing: border-box;
// border: 1px solid;
// border-image: linear-gradient(0deg, #4ba3da, #0097d6) 10 10;
// background: linear-gradient(0deg, #006a90 0%, #00354b 100%);
background-image: url("./../assets/icon/bg-part.png") ;
background-size: 100% 100%;
// box-sizing: border-box;
}

215
src/style/left2.scss

@ -0,0 +1,215 @@
.left2 {
margin-right: 12px;
}
.d-title {
margin-top: 17px;
margin-left: 36px;
display: flex;
align-items: center;
> img {
width: 26px;
height: 26px;
}
> div {
font-size: 18px;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #ffffff;
margin-left: 2px;
}
}
.grid-title {
margin-top: 5px;
height: 40px;
}
.frame {
padding: 20px 20px 10px;
&-row {
width: 580px;
height: 36px;
background: #24bef1;
border-radius: 1px;
font-size: 20px;
font-family: Alibaba PuHuiTi;
font-weight: bold;
color: #ffffff;
text-shadow: 0px 2px 4px #007fa9;
text-align: center;
line-height: 36px;
}
&-onerow {
position: relative;
margin-top: 5px;
width: 578px;
height: 30px;
background: rgba(36, 190, 241, 0.7);
border-radius: 2px;
text-align: center;
line-height: 30px;
.rowitem {
font-size: 18px;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #ffffff;
cursor: pointer;
}
}
&-arrow {
margin-top: 5px;
display: flex;
justify-content: center;
> img {
height: 34px;
width: 34px;
}
}
&-multirow {
width: 580px;
height: 60px;
border: 2px dashed #92b5cd;
border-radius: 2px;
display: flex;
justify-content: space-around;
align-items: center;
.multirowitem {
position: relative;
width: 174px;
height: 30px;
background-color: rgba(36, 190, 241, 0.7);
border-radius: 2px;
line-height: 30px;
text-align: center;
font-size: 18px;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: rgb(255, 255, 255);
cursor: pointer;
}
}
}
.grid {
margin-top: 3px;
display: flex;
justify-content: space-between;
.grid-item {
text-align: center;
.frame-arrow2 {
> img {
height: 24px;
width: 24px;
}
}
.grid-member {
width: 285px;
height: 254px;
background: rgba(36, 190, 241, 0.3);
border-radius: 4px;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
padding: 14px 0 14px 14px;
&-title {
width: 100px;
height: 26px;
background: rgba(255, 255, 255, 0.8);
border-radius: 2px;
text-align: center;
font-size: 16px;
font-family: Alibaba PuHuiTi;
font-weight: 500;
color: #006fbd;
line-height: 26px;
}
&-main {
display: flex;
justify-content: flex-start;
align-content: flex-start;
flex-wrap: wrap;
overflow-y: auto;
overflow-x: hidden;
height: 200px;
.memberitem {
margin-top: 14px;
margin-right: 12px;
width: 76px;
height: 26px;
background: rgba(36, 190, 241, 0.8);
border-radius: 2px;
position: relative;
font-size: 16px;
font-family: Alibaba PuHuiTi;
font-weight: 300;
color: #ffffff;
line-height: 26px;
cursor: pointer;
}
&::-webkit-scrollbar {
/*滚动条整体样式*/
width: 6px; /*高宽分别对应横竖滚动条的尺寸*/
height: 1px;
}
&::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/
background: linear-gradient(-90deg, #09b8e5 0%, #09f0e3 99%);
border-radius: 3px;
}
&::-webkit-scrollbar-track {
/*滚动条里面轨道*/
// box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
background: #428ba2;
border-radius: 3px;
}
}
}
}
}
.left2-static {
margin-top: 10px 23px;
display: flex;
justify-content: space-around;
.static-item {
&-title {
font-size: 16px;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #c1e8ff;
}
&-num {
font-size: 24px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #ffffff;
}
}
}

4
src/utils/request.js

@ -11,13 +11,13 @@ const request = axios.create({
// 添加一个请求拦截器
request.interceptors.request
.use
// config => {
// (config) => {
// if (getCookie('token')) {
// config.headers.Authorization = `Bearer ${getCookie('token')}`
// }
// return config
// },
// err => {
// (err) => {
// return Promise.reject(err)
// }
()

54
src/views/agencySelect.vue

@ -1,5 +1,6 @@
<template>
<div class="agency-select">
<div class="agency-select"
style="margin-top:-107px;width: 100%">
<div class="name-item">{{cityName}}</div>
<div class="name-item">{{district.label}}</div>
@ -97,8 +98,6 @@ export default {
},
watch: {
shibeiAId (value) {
console.log('切换区域id:' + value)
console.log('切换区域Name:' + this.shibeiName)
}
},
@ -175,13 +174,13 @@ export default {
if (this.selectCommunity.value) {
this.set_shibeiAgencyId(this.selectCommunity.value)
this.set_shibeiAgencyName(this.selectCommunity.label)
this.set_shibeiAgencyType('grid')
this.set_shibeiAgencyType('street')
this.set_shibeiMapCenter(this.selectCommunity.center)
} else {
////shibeiId=id
this.set_shibeiAgencyId(this.selectStreet.value)
this.set_shibeiAgencyName(this.selectStreet.label)
this.set_shibeiAgencyType('district')
this.set_shibeiAgencyType('community')
this.set_shibeiMapCenter(this.selectStreet.centerMark)
}
},
@ -197,49 +196,6 @@ export default {
}
</script>
<style lang="scss" src="style/agencySelect.scss" scoped></style>
<style lang="scss" scoped>
.agency-select {
box-sizing: border-box;
width: 100%;
margin-top: -107px;
margin-left: 39px;
display: flex;
font-size: 18px;
font-family: PingFang SC;
font-weight: bold;
color: #fefefe;
letter-spacing: 3px;
.name-item {
height: 45px;
align-items: center;
line-height: 40px;
}
.item {
box-sizing: border-box;
position: relative;
width: 210px;
height: 42px;
padding: 13px 11px 15px 10px;
margin-left: 20px;
display: flex;
justify-content: space-between;
align-items: center;
background: rgba(0, 159, 199, 0.23);
border-radius: 1px;
font-size: 15px;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #c1e8ff;
letter-spacing: 2px;
// white-space: nowrap;
// overflow: hidden;
// text-overflow: ellipsis;
&:hover {
cursor: pointer;
}
}
}
</style>

307
src/views/screenLeft/left1.vue

@ -2,7 +2,7 @@
<div class="bg-content left1">
<div class='b-dlzz'>
<screen-title :titleName="'动力主轴'"></screen-title>
<div class="dlzz-tree">图表</div>
<div class="dlzz-tree"></div>
<div class="dlzz-static">
<div class="dlzz-static-item">
<img class="item-img"
@ -43,12 +43,51 @@
</div>
<div class='b-dyfc'>
<screen-title :titleName="'党员风采'"></screen-title>
<div class="b-dyfc-scroll"
v-on:mouseover="onHover($event)"
v-on:mouseout="onHover">
<div style="overflow: hidden">
<screen-popup bottom="80px"
left="120px"
height="300px"
width="500px"
:showContent="showContent"
:visible.sync="popupVisible">
</screen-popup>
<vue-seamless-scroll :class-option="optionHover"
:data="dyfcList">
<div class="dyfc-main">
<div class="dyfc-item"
v-for="(item,index) in dyfcList"
:key="'dyfc'+index">
<img src="./../../assets/icon/dyfc1.png" />
<div class="dyfc-item-row1">
<div class="item-name">{{item.name}}</div>
<div class="item-type">{{item.categoryName}}</div>
</div>
<div class="dyfc-item-row2">{{item.gridName}}</div>
<div class="dyfc-item-row3"
:data-obj="JSON.stringify(item)"
:id="index+1">{{item.mainDeed}}
</div>
</div>
</div>
</vue-seamless-scroll>
</div>
</div>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import { getDyfcList } from 'api/index'
export default {
name: "screen-left1",
@ -70,6 +109,191 @@ export default {
title: '驿站总数',
num: 45
},
//
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)
},
dyfcList: [],
showContent: '',
popupVisible: false
}
},
computed: {
...mapGetters(['shibeiAId'])
},
created () {
this.getDyfcList()
},
watch: {
shibeiAId: {
handler () {
if (this.shibeiAId != '') {
this.getDyfcList()
}
}
}
},
methods: {
async getDyfcList () {
// const res = await getDyfcList()
const data = {
"total": 6,
"list": [
{
"id": "201539a9e43e4db188e90c8768063ff6",
"customerId": "3fdd0380deff5b30f45376cdf995d1c1",
"agencyId": "a017dfca013710a86d318b8393911666",
"gridId": "fdfd28568e4246dd91992dea39de24fd",
"gridPids": "a017dfca013710a86d318b8393911666",
"gridName": "崂山第一网格",
"name": "人员1",
"mainDeed": "于海俊同志为守护祖国北疆生态安全屏障,在内蒙古大兴安岭林区默默坚守32年,致力于建设美丽林区、发展现代林业,直到生命最后一息。他先后参与编制《森林抚育工程实施指南》等4项国家标准,累计完成科研课题10余项,撰写学术论文20余篇;带领科研团队完成国家林业局和大兴安岭管理局天然林保护工程方案、森林资源调查规划、生态保护建设、国有林区改革、企业经营管理和产业转型发展等重大项目100余项;创造性提出的“补植补造”概念及森林经营措施,被纳入国家《东北内蒙古国有林区森林培育实施方案》和检查验收办法,在全国五大国有林区全面实施;提出并推动林区建设以生态旅游为主体的森林公园网络,编制完成大兴安岭莫尔道嘎、阿尔山天池、毕拉河、达尔滨湖等4个国家级森林公园建设可行性研究报告;大胆采用损益分析、敏感分析、有无项目分析和造林模型技术等经济理论,全面推广使用先进设备、先进技术,不断提升林业科技成果转化能力。他在根河林业局推动构建了以森林资源管理为责任主体,生态建设监测中心和森林资源监督机构为两翼的“一体两翼”森林资源监管新格局,将“绿水青山就是金山银山”“生态优先、绿色发展”的理念转化为推动林业林区发展的具体行动,走出了生态保护建设良性发展新路子。他视森林资源如生命般宝贵,在根河林业局期间共带队扑打山火12次,每次都是第一时间主动请战、冲锋在前,每次都出色地完成扑火任务,最大可能地减少火灾损失,最大限度地保护森林资源。",
"delFlag": "0",
"revision": 0,
"createdBy": "APP_USER",
"createdTime": "2022-03-04 18:48:34",
"updatedBy": "APP_USER",
"updatedTime": "2022-03-04 18:48:34",
"imageList": [],
"categoryName": "爱岗敬业",
"categoryId": "1494563884313395202"
},
{
"id": "2b884f78228e473cb8cbeabbb61c15d4",
"customerId": "3fdd0380deff5b30f45376cdf995d1c1",
"agencyId": "a017dfca013710a86d318b8393911666",
"gridId": "fdfd28568e4246dd91992dea39de24fd",
"gridPids": "a017dfca013710a86d318b8393911666",
"gridName": "崂山第一网格",
"name": "人员2",
"mainDeed": "卢永根同志一生学农、爱农、为农,全心全意奋斗在祖国最需要的地方,把毕生精力献给了祖国的农业科学和教育事业。他主持完成的《中国水稻品种的光温生态》,成为我国水稻育种工作者最重要的参考书之一,获得全国科学大会奖。他和助手提出的水稻“特异亲和基因”的新学术观点以及相关设想,被认为是目前对栽培稻杂种不育性和亲和性比较完整系统的新认识,对水稻育种实践具有指导意义。他常年跋山涉水寻找野生稻,在继承导师丁颖生前收集的7000多份野生稻种基础上,逐步扩充到1万多份水稻种质资源,为我国水稻种质资源收集、保护、研究和利用作出巨大贡献。他担任华南农业大学校长12年间,始终把党的教育事业放在首位,以身作则公而忘私,大刀阔斧推动改革,不拘一格选人用人,深受广大师生的崇敬和爱戴。他坚持“科学家有祖国”,把爱国之情、报国之志自觉融入中华民族伟大复兴的历史进程中。他时刻以党员标准严格要求自己,即便晚年身患重病卧床,仍然坚持参加病房临时党支部组织生活,认真学习习近平新时代中国特色社会主义思想。他穿不讲究、吃不挑剔,家中一床简席、四壁白墙,却将一辈子省吃俭用积攒下的880余万元全部捐献给华南农业大学,用于支持农业教育事业,还提前办理了遗体捐献卡,去世后将遗体无偿捐献给医学科研事业。",
"delFlag": "0",
"revision": 0,
"createdBy": "APP_USER",
"createdTime": "2022-03-04 18:48:34",
"updatedBy": "APP_USER",
"updatedTime": "2022-03-04 18:48:34",
"imageList": [],
"categoryName": "党员先锋",
"categoryId": "1494563769276219394"
},
{
"id": "3cf739d220fd4d8980b01c59692786de",
"customerId": "3fdd0380deff5b30f45376cdf995d1c1",
"agencyId": "a017dfca013710a86d318b8393911666",
"gridId": "fdfd28568e4246dd91992dea39de24fd",
"gridPids": "a017dfca013710a86d318b8393911666",
"gridName": "崂山第一网格",
"name": "人员3",
"mainDeed": "周永开同志是践行共产党人初心使命的典范,是党员干部学习的榜样。他对党的事业无限忠诚,解放前冒着生命危险从事川北地区党的地下工作,新中国成立后全心全意为百姓造福,一辈子听党话、跟党走,用实际行动践行“党是一生的追随”的座右铭。在职期间,他恪尽职守、苦干实干,带领广大群众植树造林;顶着压力查办案件,坚决同腐败行为作斗争。离休后,他积极投身生态环境保护事业,牵头组建退休干部义务护林队,不遗余力参与万源市花萼山护林造林,推动花萼山建成国家级自然保护区,始终以旺盛的革命热情践行“人可以离休但共产党员永不会离休”的朴实承诺。他把群众当亲人,多次拿出离休费捐资助学、扶贫济困,先后捐资18.9万余元,连续10余年资助数十名花萼山贫困学生。他自掏腰包为花萼山群众购买中药材种苗,推动成立川陕萼贝专业合作社,带动老区人民规模种植、脱贫致富,被群众亲切地称为“周老革命”。他对自己和家人始终严格要求,主动放弃单位集资建房选房名额,至今仍住在上世纪80年代修建的老家属院,绝大部分家具仍然是上世纪90年代的用品。周永开同志几十年如一日坚守共产党人的初心使命,把一辈子奉献给了革命老区,奉献给了花萼山,被当地人称颂为“花萼愚公”。",
"delFlag": "0",
"revision": 0,
"createdBy": "APP_USER",
"createdTime": "2022-03-04 18:48:34",
"updatedBy": "APP_USER",
"updatedTime": "2022-03-04 18:48:34",
"imageList": [],
"categoryName": "党员先锋",
"categoryId": "1494563769276219394"
},
{
"id": "415b881ce98e4873bc79f31a6e772b2e",
"customerId": "3fdd0380deff5b30f45376cdf995d1c1",
"agencyId": "a017dfca013710a86d318b8393911666",
"gridId": "fdfd28568e4246dd91992dea39de24fd",
"gridPids": "a017dfca013710a86d318b8393911666",
"gridName": "崂山第一网格",
"name": "人员4",
"mainDeed": "张小娟同志是在习近平新时代中国特色社会主义思想指引下成长起来的优秀党员干部,她认真学习党的理论路线方针政策,对党忠诚、政治过硬,自觉在艰苦岗位和急难险重任务中接受党性锻炼、提升人生境界,不断增强“四个意识”,坚定“四个自信”,做到“两个维护”。上学期间,她品学兼优,大学毕业后舍弃在大城市生活的机会,毅然返回家乡参与脱贫攻坚,一直坚守在甘肃民族地区农村基层和脱贫攻坚一线。她勇于担当、埋头苦干,在“5·12”地震灾后重建和“8·8”山洪泥石流抢险救灾中,不惧危险、冲锋在前,用实际行动践行全心全意为人民服务的宗旨。她专业本领强、业务水平高,在乡镇工作时,她坚持深入群众宣传党的政策,丰富群众文化生活,积极为群众发展致富产业出主意、想办法,被老百姓亲切地称为“乖女儿”“好亲戚”。到扶贫部门工作后,她深入学习领会习近平总书记关于扶贫工作的重要论述,刻苦钻研扶贫政策和业务知识,被誉为舟曲扶贫的“活字典”和“移动数据库”。她勇挑组织交给的重担,倾注自己全部的时间和精力,跋山涉水、走村入户,摸情况、提建议、解难题、抓落实,用漫画图解等通俗易懂的形式让贫困户了解党的惠民政策,用自己的努力和付出推动各项扶贫举措在乡村落地见效,成为全县扶贫“排头兵”、攻坚“急先锋”。她勤奋敬业、默默奉献,始终把责任扛在肩上、把事业放在首位,面对艰巨而繁重的扶贫工作任务,始终保持昂扬向上的精神状态和精益求精的工作作风。作为基层领导干部和业务骨干,她坚持与身边的同志干在一起、苦在一起、乐在一起,用人格力量感染和温暖周围的每个人;作为家中的女儿、妻子和母亲,她无暇更多关心和照顾家人,舍小家顾大家,一心扑在工作上,直至为党的事业献出宝贵的生命。",
"delFlag": "0",
"revision": 0,
"createdBy": "APP_USER",
"createdTime": "2022-03-04 18:48:34",
"updatedBy": "APP_USER",
"updatedTime": "2022-03-04 18:48:34",
"imageList": [],
"categoryName": "爱岗敬业",
"categoryId": "1494563884313395202"
},
{
"id": "8e789eca003e4f26906caa540843fda8",
"customerId": "3fdd0380deff5b30f45376cdf995d1c1",
"agencyId": "a017dfca013710a86d318b8393911666",
"gridId": "fdfd28568e4246dd91992dea39de24fd",
"gridPids": "a017dfca013710a86d318b8393911666",
"gridName": "崂山第一网格",
"name": "人员5",
"mainDeed": "李夏同志工作以来,扎根奉献,无论在哪个乡镇、哪个岗位,都时刻以党员标准严格要求自己,恪尽职守,勇于担当,始终冲在抗洪抢险救灾等急难险重任务的最前线。他真心实意为群众干实事谋福祉,指导所联系村发展黄山贡菊、淡水养殖等特色产业,推动改善村级基础设施,使过去离镇最偏远、工作拖后腿的薄弱村,变成干群关系密切、产业兴旺发达的先进村。他服务群众不分上下班,也不分白天黑夜,只要听到大院里一叫李夏,哪怕正在吃饭,也立刻放下饭碗出门,总是随叫随到,时间一长,当地群众都知道“有事情、找李夏”。他把贫困户当亲人,即使工作调离,仍然真心实意、尽心尽力地去关心帮助他们。2019年初,长安镇高杨村村民葛洪亮因摔倒昏迷在医院抢救,李夏此时已经调到荆州乡工作,得知消息后立即赶到150公里外的医院,陪伴其度过危险期,带头捐款并组织募捐7万多元。在绩溪工作8年中,他从事过纪检监察、政府文书、城乡建设等多项工作,干一行、爱一行、精一行。从事纪检监察工作,敢于较真碰硬,得到干部群众的一致好评。他艰苦朴素、真诚质朴,住在条件简陋的乡镇宿舍,生活简单有规律,总是尽心尽力帮助他人,接触过他的人都会被打动。",
"delFlag": "0",
"revision": 0,
"createdBy": "APP_USER",
"createdTime": "2022-03-04 18:48:34",
"updatedBy": "APP_USER",
"updatedTime": "2022-03-04 18:48:34",
"imageList": [],
"categoryName": "爱岗敬业",
"categoryId": "1494563884313395202"
},
{
"id": "b916b26365804848afd4e084b6b7f431",
"customerId": "3fdd0380deff5b30f45376cdf995d1c1",
"agencyId": "a017dfca013710a86d318b8393911666",
"gridId": "fdfd28568e4246dd91992dea39de24fd",
"gridPids": "a017dfca013710a86d318b8393911666",
"gridName": "崂山第一网格",
"name": "人员6",
"mainDeed": "张桂梅同志对党忠诚,始终听党话、跟党走,在脱贫攻坚一线坚决贯彻党中央决策部署,坚守贫困地区40多年,把全部身心投入深度贫困山区教育扶贫主战场,在平凡的岗位上做出了不平凡的事业。她牢记宗旨,坚持为民情怀,为阻断贫困的代际传递,从2002年起锲而不舍四处奔走,克服资金难以筹集、贫困山区群众不理解不支持等一系列困难,在2008年8月成功创办全国第一所全免费女子高中,为贫困山区女孩的追梦人生点亮了希望之光。她坚守初心,坚韧执着,面对女高初创时条件艰苦、缺少师资力量的不利局面,推动发挥党员先锋模范作用和党支部战斗堡垒作用,坚持开展党员一律佩戴党员徽章上课、每周重温一次入党誓词、每周合唱一支革命歌曲、每周观看一部红色影片、每周组织一次理论学习的“五个一”活动,以党建引领办教育,帮助1804名贫困山区女孩考上大学、走出大山,连续10年高考综合上线率保持100%。在1997年4月查出患有子宫肌瘤后,她仍然坚持站在讲台上教书育人,坚持家访11年,行程近11万公里,覆盖学生1345名。为让失去双亲的孤儿有一个“家”,她从2001年起一边任教、一边兼任华坪县儿童福利院院长,当好136个孤儿的“妈妈”,被评为“全国百名优秀母亲”。她将自己的工资、奖金和社会各界捐款累计100多万元全部投入教育事业,把一切都献给了党、献给了贫困山区的孩子们。",
"delFlag": "0",
"revision": 0,
"createdBy": "APP_USER",
"createdTime": "2022-03-04 18:48:34",
"updatedBy": "APP_USER",
"updatedTime": "2022-03-04 18:48:34",
"imageList": [],
"categoryName": "爱岗敬业",
"categoryId": "1494563884313395202"
}
],
}
this.dyfcList = data.list
// this.dyfcList.forEach(element => {
// this.popupVisible.push(true)
// });
// console.log(this.dyfcList)
},
onHover (e) {
console.log(e.target.className)
if (e.target.className === 'dyfc-item-row3') {
// console.log(e.target);
let index = e.target.id;
let item = JSON.parse(e.target.dataset.obj);
// console.log(item)
// console.log(index)
this.showContent = this.dyfcList[index - 1].mainDeed
this.popupVisible = true
} else if (e.target.className === 'screen-popup-content') {
this.popupVisible = true
} else {
this.popupVisible = false
}
}
}
}
@ -80,11 +304,12 @@ export default {
margin-right: 12px;
.b-dlzz {
margin-top: 5px;
box-sizing: border-box;
height: 585px;
height: 618px;
.dlzz-tree {
height: 455px;
height: 484px;
}
.dlzz-static {
@ -129,7 +354,81 @@ export default {
}
.b-dyfc {
box-sizing: border-box;
margin-top: 8px;
margin-left: 1px;
&-scroll {
overflow: hidden;
padding: 0 10px;
.dyfc-main {
margin-top: 16px;
display: flex;
justify-content: space-around;
.dyfc-item {
padding: 10px 11px 18px 11px;
width: 190px;
height: 230px;
background: rgba(68, 216, 243, 0.16);
// opacity: 0.16;
margin-left: 10px;
cursor: pointer;
> img {
height: 110px;
width: 190px;
display: block;
}
&-row1 {
margin-top: 10px;
display: flex;
justify-content: space-between;
.item-name {
font-size: 18px;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #ffffff;
}
.item-type {
font-size: 14px;
font-family: Alibaba PuHuiTi;
font-weight: 300;
color: #00eccd;
}
}
&-row2 {
margin-top: 10px;
font-size: 16px;
font-family: Alibaba PuHuiTi;
font-weight: 300;
color: #c1e8ff;
}
&-row3 {
position: relative;
margin-top: 13px;
font-size: 16px;
font-family: Alibaba PuHuiTi;
font-weight: 300;
color: #ffffff;
line-height: 24px;
display: -webkit-box;
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
// &-row3:hover {
// overflow: visible;
// }
}
}
}
}
}
</style>

540
src/views/screenLeft/left2.vue

@ -1,24 +1,556 @@
<template>
<div class="bg-content left2">
<screen-title :titleName="'一网治理'"></screen-title>
<div>
<div class="d-title">
<img src="./../../assets/icon/point.png" />
<div>{{'社区人员架构'}}</div>
</div>
<div class="frame">
<div class="frame-row">
{{communityName}}
</div>
<div class="frame-arrow">
<img src="./../../assets/icon/arrow.png" />
</div>
<div class="frame-multirow">
<div class="multirowitem"
ref="showClgb"
@click="clickItem('showClgb')"> {{'处理干部包联社区'}}
<screen-popup-ydzl :top="top"
:left="left"
:memberInfo="memberInfo"
:visible.sync="showObj['showClgb'] ">
</screen-popup-ydzl>
</div>
<div class="multirowitem"
ref="showYxgz"
@click="clickItem('showYxgz')"> {{'一线工作组'}}
<screen-popup-ydzl :top="top"
:left="left"
:memberInfo="memberInfo"
:visible.sync="showObj['showYxgz']">
</screen-popup-ydzl>
</div>
<div class="multirowitem"
ref="showDjzd"
@click="clickItem('showDjzd')"> {{'党建指导员'}}
<screen-popup-ydzl :top="top"
:left="left"
:memberInfo="memberInfo"
:visible.sync="showObj['showDjzd']">
</screen-popup-ydzl>
</div>
</div>
<div class="frame-arrow">
<img src="./../../assets/icon/arrow.png" />
</div>
<div class="frame-multirow">
<div class="multirowitem"
ref="showSqsj"
@click="clickItem('showSqsj')"> {{'社区书记'}}
<screen-popup-ydzl :top="top"
:left="left"
:memberInfo="memberInfo"
:visible.sync="showObj['showSqsj']">
</screen-popup-ydzl>
</div>
<div class="multirowitem"
ref="showSqfsj"
@click="clickItem('showSqfsj')"> {{'社区副书记'}}
<screen-popup-ydzl :top="top"
:left="left"
:memberInfo="memberInfo"
:visible.sync="showObj['showSqfsj']">
</screen-popup-ydzl>
</div>
<div class="multirowitem"
ref="showDwwy"
@click="clickItem('showDwwy')"> {{'党委委员'}}
<screen-popup-ydzl :top="top"
:left="left"
:memberInfo="memberInfo"
:visible.sync="showObj['showDwwy']">
</screen-popup-ydzl>
</div>
</div>
</div>
</div>
<div>
<div class="d-title grid-title">
<img src="./../../assets/icon/point.png" />
<div>{{'网格人员架构'}}</div>
<div v-if="isStreet"
class="agency-select">
<div class="item"
ref="grid"
@click="onChangeGrid">
<div>{{selectGrid.label === '' ? '全部网格' : selectGrid.label}}</div>
<svg-icon icon-class="bottom-sword"
fill="#8ec6d8">
</svg-icon>
<screen-dropdown-menu top="45px"
:menuList="gridList"
:visible.sync="gridDropMenuVisible"
:defaultSelected="selectGrid.value"
@onChooseItem="onChooseGrid">
</screen-dropdown-menu>
</div>
</div>
</div>
<div class="frame">
<div class="frame-row">
{{gridName}}
</div>
<div class="frame-arrow">
<img src="./../../assets/icon/arrow.png" />
</div>
<div class="frame-onerow">
<div class="rowitem"
ref="showWgzb"
@click="clickItem('showWgzb')"> {{'网格支部书记'}}
<screen-popup-ydzl :top="top"
:left="left"
:width="width"
:memberInfo="memberInfo"
:visible.sync="showObj['showWgzb']">
</screen-popup-ydzl>
</div>
</div>
<div class="frame-arrow">
<img src="./../../assets/icon/arrow.png" />
</div>
<div class="frame-onerow"
ref="showWgz"
@click="clickItem('showWgz')">
<div class="rowitem"> {{'网格长'}}
<screen-popup-ydzl :top="top"
:left="left"
:width="width"
:memberInfo="memberInfo"
:visible.sync="showObj['showWgz']">
</screen-popup-ydzl>
</div>
</div>
<div class="grid">
<div class="grid-item">
<div class="frame-arrow2">
<img src="./../../assets/icon/arrow2.png" />
</div>
<div class="grid-member">
<div class="grid-member-title">{{'专职网格员'}}</div>
<div v-if="isStreet"
class="grid-member-main">
<div class="memberitem"
v-for="(item,index) in memberLeftList"
:key="index"
:ref="'leftMember'+index"
@click="clickLeftMemberItem(index)">
{{item.name}}
<screen-popup-ydzl :top="topMember"
:left="leftMember"
:width="widthMember"
:fontSize="fontSizeMember"
:memberInfo="memberInfo"
:visible.sync="showLeftMember[index]">
</screen-popup-ydzl>
</div>
</div>
</div>
</div>
<div class="grid-item">
<div class="frame-arrow2">
<img src="./../../assets/icon/arrow2.png" />
</div>
<div class="grid-member">
<div class="grid-member-title">{{'专职网格管理员'}}</div>
<div v-if="isStreet"
class="grid-member-main">
<div class="memberitem"
v-for="(item,index) in memberRightList"
:key="index"
:ref="'rightMember'+index"
@click="clickRightMemberItem(index)">
{{item.name}}
<screen-popup-ydzl :top="topMember"
:left="leftMember"
:width="widthMember"
:fontSize="fontSizeMember"
:memberInfo="memberInfo"
:visible.sync="showRightMember[index]">
</screen-popup-ydzl>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="left2-static">
<div class="static-item">
<div class="static-item-title">网格支部</div>
<div class="static-item-num">32</div>
</div>
<div class="static-item">
<div class="static-item-title">网格支部书记</div>
<div class="static-item-num">32</div>
</div>
<div class="static-item">
<div class="static-item-title">网格长</div>
<div class="static-item-num">45</div>
</div>
<div class="static-item">
<div class="static-item-title">专职网格员</div>
<div class="static-item-num">121</div>
</div>
<div class="static-item">
<div class="static-item-title">专业网格管理员</div>
<div class="static-item-num">28</div>
</div>
</div>
</div>
</template>
<script>
import { mapGetters } from "vuex"
export default {
name: "screen-left2",
data () {
return {
communityName: "社区",
gridName: "网格",
gridList: [
{
name: '第一网格',
id: '1'
},
{
name: '第二网格',
id: '2'
},
{
name: '第三网格',
id: '3'
},
],
isStreet: false,
top: '33px',
left: '0px',
width: '578px',
showObj: {
showClgb: false,
showYxgz: false,
showDjzd: false,
showSqsj: false,
showSqfsj: false,
showDwwy: false,
showWgzb: false,
showWgz: false,
},
gridDropMenuVisible: false,
selectGrid: {
value: '1',
label: '网格1'
},
gridList: [
{
value: '1',
label: '网格1'
},
{
value: '2',
label: '网格2'
},
{
value: '3',
label: '网格3'
},
],
memberInfo: {
duty: '职务',
name: '张三',
phone: '15999999999'
},
memberLeftList: [
{
duty: '职务',
name: '左1',
phone: '15111111111'
},
{
duty: '职务',
name: '左2',
phone: '15111111111'
},
{
duty: '职务',
name: '左3',
phone: '15111111111'
},
{
duty: '职务',
name: '左4',
phone: '15111111111'
},
{
duty: '职务',
name: '左5',
phone: '15111111111'
},
{
duty: '职务',
name: '左6',
phone: '15111111111'
},
{
duty: '职务',
name: '左7',
phone: '15111111111'
},
{
duty: '职务',
name: '左8',
phone: '15111111111'
},
{
duty: '职务',
name: '左9',
phone: '15111111111'
},
{
duty: '职务',
name: '左10',
phone: '15111111111'
},
{
duty: '职务',
name: '左11',
phone: '15111111111'
},
{
duty: '职务',
name: '左12',
phone: '15111111111'
},
{
duty: '职务',
name: '左13',
phone: '15111111111'
},
{
duty: '职务',
name: '左14',
phone: '15111111111'
},
{
duty: '职务',
name: '左15',
phone: '15111111111'
},
{
duty: '职务',
name: '左16',
phone: '15111111111'
}
],
memberRightList: [
{
duty: '职务',
name: '右1',
phone: '15111111111'
},
{
duty: '职务',
name: '右2',
phone: '15111111111'
},
{
duty: '职务',
name: '右3',
phone: '15111111111'
},
{
duty: '职务',
name: '右4',
phone: '15111111111'
},
{
duty: '职务',
name: '右5',
phone: '15111111111'
},
],
showLeftMember: [],
showRightMember: [],
topMember: '26px',
leftMember: '0px',
widthMember: '100px',
fontSizeMember: '15px'
}
},
created () {
},
watch: {
shibeiAId (value) {
console.log('切换区域id:' + value)
console.log('切换区域Name:' + this.shibeiName)
console.log('切换区域类型:' + this.shibeiAgencyType)
this.communityName = this.shibeiName
if (this.shibeiAgencyType === 'street') {
this.isStreet = true
} else {
this.isStreet = false
}
}
},
computed: {
...mapGetters(['shibeiAId', 'shibeiName', 'shibeiAgencyType'])
},
mounted () {
if (this.shibeiAgencyType === 'street') {
this.isStreet = true
this.gridName = this.selectGrid.label
} else {
this.isStreet = false
}
this.showLeftMember = []
this.showRightMember = []
this.memberLeftList.forEach(element => {
this.showLeftMember.push(false)
});
this.memberRightList.forEach(element => {
this.showRightMember.push(false)
});
window.addEventListener('click', e => {
if (this.isStreet) {
for (let key in this.showObj) {
// debugger
if (this.$refs[key] && !this.$refs[key].contains(e.target)) {
if (this.showObj[key]) {
this.showObj[key] = !this.showObj[key]
}
}
}
if (this.$refs.grid && !this.$refs.grid.contains(e.target)) {
if (this.gridDropMenuVisible) {
this.gridDropMenuVisible = !this.gridDropMenuVisible
}
}
this.showLeftMember.forEach((element, index) => {
if (this.$refs['leftMember' + index][0] && !this.$refs['leftMember' + index][0].contains(e.target)) {
if (this.showLeftMember[index]) {
const val = !this.showLeftMember[index]
this.$set(this.showLeftMember, index, val)
}
}
});
this.showRightMember.forEach((element, index) => {
if (this.$refs['rightMember' + index][0] && !this.$refs['rightMember' + index][0].contains(e.target)) {
if (this.showRightMember[index]) {
const val = !this.showRightMember[index]
this.$set(this.showRightMember, index, val)
}
}
});
}
})
},
methods: {
initShow (type) {
for (let key in this.showObj) {
if (key !== type) {
this.showObj[key] = false
}
}
},
clickItem (type) {
if (this.isStreet) {
this.initShow(type)
this.showObj[type] = !this.showObj[type]
}
},
onChangeGrid () {
this.gridDropMenuVisible = !this.gridDropMenuVisible
},
onChooseGrid (gridItem) {
this.selectGrid = gridItem
this.gridName = this.selectGrid.label
},
clickLeftMemberItem (index) {
const position = (index + 1) % 3//popup
console.log(position)
if (position === 1) {//1
this.leftMember = '0px'
} else if (position === 2) {
this.leftMember = '-12px'
} else if (position === 0) {
this.leftMember = '-24px'
}
const val = !this.showLeftMember[index]
this.$set(this.showLeftMember, index, val)
},
clickRightMemberItem (index) {
const position = (index + 1) % 3//popup
console.log(position)
if (position === 1) {//1
this.leftMember = '0px'
} else if (position === 2) {
this.leftMember = '-12px'
} else if (position === 0) {
this.leftMember = '-24px'
}
const val = !this.showRightMember[index]
this.$set(this.showRightMember, index, val)
}
}
}
</script>
<style lang="scss" src="style/left2.scss" scoped></style>
<style lang="scss" src="style/agencySelect.scss" scoped></style>
<style lang="scss" scoped>
.left2 {
margin-right: 12px;
}
</style>
Loading…
Cancel
Save