Browse Source

再嵌套一层

master
mk 1 year ago
parent
commit
6d4f5a909f
  1. 9
      src/api/hsyf.js
  2. 10
      src/views/iframe/dyzxh.vue
  3. 338
      src/views/iframe/dyzxh1.vue
  4. 27
      src/views/iframe/index.vue
  5. 2
      src/views/next/screen-content-map/cpt/hsyf-iframe.vue

9
src/api/hsyf.js

@ -166,6 +166,15 @@ export function icpartyinventoryPage (params) {
params params
}) })
} }
// 获取党员
export function partyMemberNameListByGroup (params) {
return request({
url: '/api/gov/org/house/yifengScreen/partyMemberNameListByGroup',
method: 'GET',
params
})
}
// 获取包联房屋 // 获取包联房屋
export function houseListByGroup (data) { export function houseListByGroup (data) {
return request({ return request({

10
src/views/iframe/dyzxh.vue

@ -3,7 +3,7 @@
<section> <section>
<div class="dialog_header"> <div class="dialog_header">
<div class="close-icon" > <div class="close-icon" >
<!-- <img src="@/assets/images/common/dialog-colse.png" alt="" /> --> <img src="@/assets/images/common/dialog-colse.png" alt="" @click="handelClosePart"/>
</div> </div>
<div class="title-container"> <div class="title-container">
<div class="title">{{ dialogTitle }}</div> <div class="title">{{ dialogTitle }}</div>
@ -78,16 +78,22 @@
pageNo:{ pageNo:{
type:Number, type:Number,
default:1 default:1
},
partyName:{
type:String,
default:''
} }
}, },
created () { created () {
this.partyName = this.$route.query.partyName;
this.houseListByGroup() this.houseListByGroup()
}, },
methods: { methods: {
handleClickHouse(item){ handleClickHouse(item){
this.$emit('handleClickHouse', item) this.$emit('handleClickHouse', item)
}, },
handelClosePart(){
this.$emit('handelClosePart')
},
pageCurrentHandle(val) { pageCurrentHandle(val) {
this.pageNo = val; this.pageNo = val;
// this.$emit('handelClickPageNo',val) // this.$emit('handelClickPageNo',val)

338
src/views/iframe/dyzxh1.vue

@ -0,0 +1,338 @@
<template>
<div class="modal" >
<section>
<div class="dialog_header">
<div class="close-icon" >
<!-- <img src="@/assets/images/common/dialog-colse.png" alt="" @click="handelClose"/> -->
</div>
<div class="title-container">
<div class="title">{{ dialogTitle }}</div>
</div>
</div>
<div class="dialog_body">
<div class="content">
<div class="main">
<div class="wrap">
<div class="content">
<div class="title_hrader">
<!-- <div class="title_hrader_item">
党员:{{partyName}}
</div> -->
<!-- <div class="title_hrader_item">
包联房屋:
<span class="numberTotal">{{ total}}</span>
</div> -->
</div>
<div class="list">
<div
class="list_row"
v-for="(item, index) in dataList"
:key="index"
@click="handleClickPart(item)"
>
<div class="list_row_item">{{ index + 1 }}</div>
<div class="list_row_item">
{{ item }}
</div>
</div>
</div>
<div class="list_bottom"></div>
</div>
</div>
</div>
</div>
</div>
<div style="text-align: right; padding-right: 30px;">
<!-- <el-pagination
@current-change="pageCurrentHandle"
:current-page="pageNo"
layout="prev, pager, next"
:total="total">
</el-pagination> -->
</div>
</section>
</div>
</template>
<script>
import { partyMemberNameListByGroup } from '@/api/hsyf'
export default {
name: '',
data () {
return {
dialogTitle: '党员中心户',
loading: false,
dataList: [
],
}
},
computed: {
},
components: {},
mounted () {
},
props:{
pageNo:{
type:Number,
default:1
}
},
created () {
this.partyMemberNameListByGroup()
},
methods: {
handleClickPart(item){
this.$emit('handleClickPart', item)
},
partyMemberNameListByGroup(){
partyMemberNameListByGroup({ groupName: this.$route.query.group}).then((res) => {
this.total = res.data.total;
this.dataList = res.data;
})
}
}
}
</script>
<style lang="scss" scoped>
.modal {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
z-index: 150;
section {
@include flex(column);
background: url("~@/assets/images/common/dialog-bg-red.png") no-repeat !important;
background-size: 100% 100% !important;
width: 415px;
height: 701px;
overflow: hidden;
padding-bottom: 16px;
box-sizing: border-box;
.dialog_header {
position: relative;
margin-bottom: 0px;
.close-icon {
width: 18px;
height: 18px;
position: absolute;
top: 10px;
right: 16px;
cursor: pointer;
}
.title-container {
align-items: center;
background: url("~@/assets/images/common/dialog-header-red.png")
no-repeat;
background-size: 100% 100%;
display: flex;
justify-content: center;
align-items: center;
height: 60px;
font-size: 26px;
.title {
font-family: zaozigongfang;
letter-spacing: 2px;
line-height: 50px;
background-size: 100% 100%;
display: flex;
justify-content: center;
height: 52px;
font-size: 22px;
color: #fff;
}
}
}
.dialog_body {
position: relative;
> .content {
box-sizing: border-box;
color: #fff;
padding: 0px 24px 0 27px;
.main {
height: 588px;
overflow-y: hidden;
box-sizing: border-box;
overflow-y: scroll;
&::-webkit-scrollbar {
width: 0px;
}
&::-webkit-scrollbar-track {
border-radius: 10px;
background: rgba(251, 233, 197, 1);
}
&::-webkit-scrollbar-thumb {
border-radius: 10px;
background: rgba(234, 201, 135, 1);
}
.header {
width: 100%;
height: 30px;
text-align: left;
background: linear-gradient(
90deg,
rgb(26, 109, 224) 0%,
rgba(13, 113, 248, 0) 50%
);
display: flex;
justify-content: flex-start;
align-items: center;
}
.flex {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.item {
display: flex;
width: 647px;
padding: 16px 24px 16px 16px;
box-sizing: border-box;
background: #1657b8;
border-radius: 2px;
margin-bottom: 10px;
img {
width: 186px;
height: 120px;
}
p {
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
text-overflow: ellipsis;
margin-bottom: 0;
}
> .content {
flex: 1;
@include flex(column);
padding-left: 17px;
box-sizing: border-box;
& > :nth-child(1) {
display: flex;
justify-content: space-between;
& > :nth-child(2) {
color: #00d4f3;
}
}
}
}
}
}
}
}
}
}
.wrap {
.content {
margin-top: 0px;
padding: 0 17px;
position: relative;
transition: transform 0.3s ease-in-out;
transform-origin: 50% 50%;
.title_hrader {
padding-top: 10px;
height: 58px;
background: url("~@/assets/images/common/zzjgbotbgred.png") no-repeat;
background-size: 100% 14px;
background-position: center 40px;
display: flex;
justify-content: space-between;
&_item {
width: 130px;
height: 48px;
font-weight: 300;
font-size: 14px;
color: #ffffff;
line-height: 48px;
.numberTotal {
font-family: PangMenZhengDao;
font-weight: 400;
font-size: 20px;
line-height: 44px;
}
}
&_item:nth-child(1) {
padding-left: 24px;
width: 100px;
}
&_item:nth-child(3) {
width: 210px;
}
&_item:nth-child(4) {
width: 180px;
}
}
.list{
height:500px;
.list_row {
display: flex;
border-bottom: 0px;
color: #fbe9c5;
&_item {
width: 140px;
height: 48px;
line-height: 48px;
border-bottom: 1px dashed #bb7053;
}
&_item:nth-child(1) {
width: 40px;
padding-left: 24px;
}
&_item:nth-child(2) {
flex: 1;
}
&_item:nth-child(3) {
width: 230px;
}
&_item:nth-child(4) {
width: 160px;
}
}
.list_row:hover {
background: url("~@/assets/images/common/zzjg_xz.png") no-repeat !important;
background-size: 100% 100% !important;
color: #ffffff;
}
.list_row:nth-child(1) {
border: 1px solid #bb7053;
border-bottom: 0px;
}
.list_bottom {
border-bottom: 1px solid #bb7053;
}
}
// .list_row:nth-child(11) {
// border: 1px solid #bb7053;
// }
}
}
</style>

27
src/views/iframe/index.vue

@ -1,12 +1,16 @@
<template> <template>
<div class="modal" > <div class="modal" >
<section v-show="type === 1"> <section v-show="type === 1">
<dyzxh @handleClickHouse="handleClickHouse"/> <dyzxh1 @handleClickPart="handleClickPart" />
</section> </section>
<section v-show="type === 2"> <section v-show="type === 2">
<ryxx v-if="houseId" :houseId="houseId" :houseName="houseName" @handelClose="handelClose"/> <dyzxh v-if="partyName" @handleClickHouse="handleClickHouse" @handelClosePart="handelClosePart" :partyName="partyName"/>
</section> </section>
<section v-show="type === 3"> <section v-show="type === 3">
<ryxx v-if="houseId" :houseId="houseId" :houseName="houseName" @handelClose="handelClose"/>
</section>
<section v-show="type === 4">
<dyxx/> <dyxx/>
</section> </section>
</div> </div>
@ -14,6 +18,7 @@
<script> <script>
import dyzxh from "./dyzxh.vue" import dyzxh from "./dyzxh.vue"
import dyzxh1 from "./dyzxh1.vue"
import ryxx from "./ryxx.vue" import ryxx from "./ryxx.vue"
import dyxx from "./dyxx.vue" import dyxx from "./dyxx.vue"
@ -21,31 +26,39 @@ import dyxx from "./dyxx.vue"
name: '', name: '',
data () { data () {
return { return {
type:1, type:2,
houseId:null, houseId:null,
houseName:null houseName:null,
partyName:null,
} }
}, },
computed: { computed: {
}, },
components: {dyzxh,ryxx,dyxx}, components: {dyzxh,ryxx,dyxx,dyzxh1},
mounted () { mounted () {
}, },
created () { created () {
this.type = Number(this.$route.query.type) this.type = Number(this.$route.query.type)
}, },
methods: { methods: {
handelClose(){ handelClosePart(){
this.type = 1; this.type = 1;
},
handelClose(){
this.type = 2;
this.houseId = null; this.houseId = null;
}, },
handleClickHouse(item){ handleClickHouse(item){
this.type = 2; this.type = 3;
this.$nextTick(()=>{ this.$nextTick(()=>{
this.houseId = item.houseId; this.houseId = item.houseId;
this.houseName = item.houseName; this.houseName = item.houseName;
}) })
}, },
handleClickPart(item){
this.type = 2;
this.partyName = item
}
} }
} }
</script> </script>

2
src/views/next/screen-content-map/cpt/hsyf-iframe.vue

@ -9,7 +9,7 @@
--> -->
<template> <template>
<div style="width: 100%; height: 100%;"> <div style="width: 100%; height: 100%;">
<iframe v-if="vrImg" src="https://quanjingtong.cn/t/h3qde4mz8ly" frameborder="no" width="100%" height="100%" id="myIframe"> <iframe v-if="vrImg" src="https://quanjingtong.cn/t/9deKljTEd4o" frameborder="no" width="100%" height="100%" id="myIframe">
</iframe> </iframe>
<div class='bg_img' v-else> <div class='bg_img' v-else>
</div> </div>

Loading…
Cancel
Save