dai 3 years ago
parent
commit
8b37fda7fd
  1. BIN
      src/assets/img/shuju/measure/cheng.png
  2. 2
      src/assets/scss/modules/shequzhili/event-info.scss
  3. 8
      src/assets/scss/modules/visual/houseStatic.scss
  4. 4
      src/assets/scss/modules/visual/people.scss
  5. 141
      src/views/modules/partymember/icpartyorgtree.vue
  6. 40
      src/views/modules/plugins/point/icpointnucleicmonitoring.vue
  7. 5
      src/views/modules/shequzhili/event/cpts/add.vue
  8. 2
      src/views/modules/shequzhili/tuceng/anquan/xuncha/cpts/record.vue
  9. 237
      src/views/modules/visual/basicinfo/houseStatic/houseList.vue
  10. 124
      src/views/modules/visual/basicinfo/houseStatic/houseMore.vue
  11. 154
      src/views/modules/visual/basicinfo/houseStatic/houseStatic.vue
  12. 235
      src/views/modules/visual/basicinfo/houseStatic/peopleList.vue

BIN
src/assets/img/shuju/measure/cheng.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

2
src/assets/scss/modules/shequzhili/event-info.scss

@ -143,7 +143,7 @@
width: 450px
}
.cell-width-2{
width: 350px
width: 300px
}
.cell-width-map {

8
src/assets/scss/modules/visual/houseStatic.scss

@ -298,6 +298,7 @@
font-family: PingFang SC;
font-weight: bold;
color: #FFFFFF;
cursor: pointer;
}
.zz{
@ -320,6 +321,12 @@
font-weight: bold;
color: #fac126;
}
.wsc{
font-size: 35px;
font-family: PingFang SC;
font-weight: bold;
color: #fc8452;
}
.colorwhite{
font-size: 35px;
@ -336,6 +343,7 @@
font-weight: 400;
color: #FFFFFF;
min-width:62px;
}
.table-table-title{

4
src/assets/scss/modules/visual/people.scss

@ -243,6 +243,10 @@
border-radius: 3px;
}
}
.item2{
width: 49%;
}
}
.line {

141
src/views/modules/partymember/icpartyorgtree.vue

@ -12,13 +12,28 @@
:data="tableData"
:default-expand-all="true"
row-key="id"
border
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}"
:height="tableHeight">
<el-table-column prop="partyOrgName" label="党组织名称"></el-table-column>
<el-table-column prop="partyOrgName" min-width="250" label="党组织名称"></el-table-column>
<el-table-column prop="partyOrgType" min-width="150" label="类别">
<template slot-scope="scope">
<span v-for="(item, index) in partyOrgTypes"
:key="item.value"
:value="item.label"
v-if="scope.row.partyOrgType == item.value">
{{ item.label }}</span>
</template>
</el-table-column>
<el-table-column prop="principal" width="120" label="负责人"></el-table-column>
<el-table-column prop="principalMobile" width="150" label="联系方式"></el-table-column>
<el-table-column label="操作" align="center" width="300">
<template slot-scope="scope">
<el-button v-if="scope.row.partyOrgType != '6'"
@click="principal(scope.row)"
type="text"
size="small"
class="div-table-button--detail">{{'负责人'}}</el-button>
<el-button v-if="(scope.row.agencyId == agencyId || scope.row.agencyPids.includes(agencyId)) && scope.row.partyOrgType != '6'"
@click="handleLook(scope.row.agencyPids, scope.row.id, scope.row)"
type="text"
@ -56,6 +71,39 @@
@lookMemberCancle="lookMemberCancle"
@lookMemberOk="lookMemberOk"></look-Member>
</el-dialog>
<el-dialog
title="负责人"
:visible.sync="principalShow"
width="850px"
top="5vh"
class="dialog-h"
:before-close="handleClose">
<el-form ref="principalRules"
:inline="true"
:model="editPrincipalData"
:rules="principalRules"
class="div_form">
<el-form-item label="负责人"
label-width="150px"
prop="principal">
<el-select v-model="editPrincipalData.principal"
placeholder="请选择"
clearable
style="width: 200px"
class="item_width_4">
<el-option v-for="item in staffs"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose"> </el-button>
<el-button type="primary" @click="editPrincipal"> </el-button>
</span>
</el-dialog>
</el-card>
</template>
@ -67,6 +115,13 @@
export default {
data () {
return {
principalShow: false,
staffs: [],
editPrincipalData: {
principal: '',
principalMobile: '',
partyOrgId: ''
},
searchH: 0,
dataForm: {
id: '',
@ -76,6 +131,36 @@
},
tableLoading: false,
tableData: [],
partyOrgTypes: [
{
value: '0',
label: '省委'
},
{
value: '1',
label: '市委'
},
{
value: '2',
label: '区委'
},
{
value: '3',
label: '党工委'
},
{
value: '4',
label: '党委'
},
{
value: '5',
label: '支部'
},
{
value: '6',
label: '党小组'
}
],
agencyId: '',
addOrUpdateVisible: false,
lookMemberShow: false,
@ -93,6 +178,13 @@
const h = this.clientHeight - this.searchH - 230 + this.iframeHeigh
const _h = this.clientHeight - 230 - this.searchH
return this.$store.state.inIframe ? h : _h
},
principalRules() {
return {
principal: [
{required: true, message: '负责人不能为空', trigger: 'blur'}
]
}
}
},
mounted() {
@ -109,6 +201,51 @@
// this.pageLoading = true
},
methods:{
principal(row) {
this.principalShow = true
this.editPrincipalData.partyOrgId = row.id
this.editPrincipalData.principal = row.principal
this.$http.post('/data/aggregator/org/staff-select-list/'+row.agencyId,{'params': {}}).then(({ data: res }) =>{
if (res.code !== 0) {
return this.$message.error(res.internalMsg ? res.internalMsg : res.msg ? res.msg : '查询失败')
} else {
this.staffs = res.data
}
}).catch(() => {})
},
editPrincipal(row) {
this.staffs.forEach(s => {
if (this.editPrincipalData.principal === s.value){
this.editPrincipalData.principal = s.name
this.editPrincipalData.principalMobile = s.mobile
}
})
this.$refs['principalRules'].validate((valid) => {
if (!valid) {
return false
}
this.$http.post('/resi/partymember/icPartyOrg/editPrincipal',this.editPrincipalData).then(({ data: res }) =>{
if (res.code !== 0) {
return this.$message.error(res.internalMsg ? res.internalMsg : res.msg ? res.msg : '查询失败')
}else {
this.principalShow = false
this.getTableData()
this.resetEditPrincipalData()
}
}).catch(() => {})
})
},
handleClose() {
this.principalShow = false
this.resetEditPrincipalData()
},
resetEditPrincipalData() {
this.editPrincipalData = {
principal: '',
principalMobile: '',
partyOrgId: ''
}
},
//
async getTableData () {
this.tableLoading = true

40
src/views/modules/plugins/point/icpointnucleicmonitoring.vue

@ -153,13 +153,32 @@
align="center"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop="enableFlag"
label="禁用/启用"
header-align="center"
align="center"
show-overflow-tooltip>
<template slot-scope="scope">
<span v-for="(item, index) in enableFlagList"
:key="item.value"
:value="item.label"
v-if="scope.row.enableFlag == item.value">
{{ item.label }}</span>
</template>
</el-table-column>
<el-table-column
label="操作"
header-align="center"
align="center"
width="150"
width="180"
>
<template slot-scope="scope">
<el-button
type="text"
size="small"
class="div-table-button--detail"
@click="enableOrDisabled(scope.row.id)">{{ (scope.row.enableFlag === 'enable' && '禁用') || '启用' }}</el-button>
<el-button
type="text"
size="small"
@ -243,6 +262,16 @@ export default {
mixins: [mixinViewModule],
data() {
return {
enableFlagList: [
{
value: 'enable',
label: '启用'
},
{
value: 'disabled',
label: '禁用'
}
],
dataForm: {
name: "",
mobile: "",
@ -361,6 +390,15 @@ export default {
diaClose() {
this.sendNoticeFormShow = false;
},
// /
enableOrDisabled(id) {
this.$http
.post(`/epmetuser/appPoint/enableOrDisabled/` + id)
.then(({ data: res }) => {
this.loadTable();
})
.catch(() => {});
},
// /
addOrUpdateHandle(id, title) {
this.dialogTitle = title;

5
src/views/modules/shequzhili/event/cpts/add.vue

@ -28,15 +28,18 @@
prop="name"
label-width="150px"
style="display: block">
<el-input class="cell-width-1"
maxlength="10"
placeholder="请输入报事人姓名"
v-model="formData.name">
</el-input>
<el-button style="margin-left: 10px"
<div>
<el-button style="margin-top: 10px"
type="primary"
size="mini"
@click="handleShowPersonList">居民信息中选择</el-button>
</div>
</el-form-item>
<el-form-item label="手机号"

2
src/views/modules/shequzhili/tuceng/anquan/xuncha/cpts/record.vue

@ -159,7 +159,7 @@
placeholder="选择日期">
</el-date-picker>
<div v-else
class="div-content">{{ scope.row.patrolTime }}</div>
class="div-content">{{ scope.row.reviewTime }}</div>
</template>
</el-table-column>

237
src/views/modules/visual/basicinfo/houseStatic/houseList.vue

@ -0,0 +1,237 @@
<template>
<div class="div_people_search">
<div class="list_box">
<div class="info_tip">
<img src="@/assets/img/shuju/title-tip.png"
alt />
<div class="tip_title">{{tableTitle}}</div>
</div>
<div class="warning-table">
<div class="table">
<div class="table-header">
<div class="td td1">序号</div>
<div class="td td2">所属小区</div>
<div class="td td2">所属楼栋</div>
<div class="td td1">单元号</div>
<div class="td td1">门牌号</div>
<div class="td td1">房屋类型</div>
<div class="td td1">房屋用途</div>
<div class="td td1">房屋状态</div>
<div class="td td1">房主姓名</div>
<div class="td td2">房主电话</div>
<div class="td td2">证件号</div>
<div class="td td1">操作</div>
</div>
<div v-if="!loading && tableData.length> 0"
class="table-body">
<div class="table-body-tr"
v-for="(item,index) in tableData"
:key='index'>
<div class="td td1">{{index+1}} </div>
<div class="td td2">{{item.neighborHoodName}} </div>
<div class="td td2">{{item.buildingName}} </div>
<div class="td td1">{{item.unitNum}} </div>
<!-- <div class="td td1">{{item.buildNum}} </div> -->
<div class="td td1">{{item.doorName}} </div>
<div class="td td1">{{item.houseType==='1'?'楼房':item.houseType==='2'?'平方':'别墅'}} </div>
<div class="td td1">{{item.purpose}} </div>
<div class="td td1">{{item.rentFlag==='1'?'出租':item.rentFlag==='0'?'自住':item.rentFlag==='2'?'闲置':'未出售'}} </div>
<div class="td td1">{{item.ownerName}} </div>
<div class="td td2">{{item.ownerPhone}} </div>
<div class="td td2">{{item.ownerIdCard}} </div>
<div @click="handleToHouse(item)"
class="td td1 btn_detail">{{'查看'}} </div>
</div>
</div>
<div class="table-status"
v-if="loading">
<screen-loading>加载中</screen-loading>
</div>
<div class="table-status"
v-if="tableData.length == 0 && !loading">
<div class="no-data">
<img src="@/assets/img/modules/visual/noData.png"
class="no-data-img" />
</div>
</div>
</div>
</div>
<div class="pagination">
<el-pagination hide-on-single-page
background
layout="prev, pager, next, total"
:current-page="pageNo"
:page-size="pageSize"
:total="total"
@current-change="pageCurrentChangeHandle">
</el-pagination>
</div>
</div>
<house-more v-show="showedMoreInfo"
:info="info"
@close="showedMoreInfo = false" />
</div>
</template>
<script>
import { requestPost } from "@/js/dai/request";
import ScreenLoading from "@/views/modules/visual/cpts/loading";
import houseMore from "./houseMore";
export default {
name: "people-list",
components: {
ScreenLoading, houseMore
},
data () {
return {
showedMoreInfo: false,
tableTitle: '房屋列表',
loading: false,
tableData: [],
pageSize: 10,
pageNo: 1,
total: 0,
info: {}
};
},
mounted () {
this.tableData = []
this.loadList()
},
deactivated () {
},
methods: {
async loadList () {
this.loading = true
const url = "/gov/org/house/housestatislistdetail"
let params = {
orgId: this.orgId,
orgType: this.orgType,
rentType: this.rentType,
pageSize: this.pageSize,
pageNo: this.pageNo
}
const { data, code, msg } = await requestPost(url, params)
this.loading = false
if (code === 0) {
this.total = data.total
this.tableData = data.list
} else {
this.$message.error(msg)
}
},
//
handleToHouse (item) {
// this.toSubAgency('people', this.tableData[index].userId)
this.info = { ...item }
this.showedMoreInfo = true
},
pageCurrentChangeHandle (val) {
this.pageNo = val
this.loadList()
},
},
destroyed () {
console.log("我已经离开了!");
},
props: {
orgId: {
type: String,
default: "",
},
orgType: {
type: String,
default: "",
},
rentType: {
type: String,
default: "",
},
},
};
</script>
<style
lang="scss"
src="@/assets/scss/modules/visual/basicInfoMain.scss"
scoped
></style>
<style
lang="scss"
src="@/assets/scss/modules/visual/searchPerson.scss"
scoped
></style>
<style lang="scss" scoped>
.div_search_list {
.el-input__inner[WarningColor="warning"] {
border-radius: 8px 0 0 8px;
height: 53px;
background-color: #01106800;
border: 2px solid #0082fb;
padding-left: 70px;
font-size: 18px;
font-family: PingFang SC;
font-weight: 400;
color: #ffffff;
}
}
.list_box {
width: 100%;
height: 780px;
margin: 0 auto;
}
.warning-table {
height: 640px;
}
.pagination {
padding-right: 0;
margin-top: 0;
text-align: right;
}
.g-bread {
padding: 10px 10px 15px;
::v-deep .el-breadcrumb__item {
font-size: 16px;
.el-breadcrumb__inner {
color: #fff;
}
}
::v-deep .el-breadcrumb__item:first-child {
.el-breadcrumb__inner {
color: #a0c3d9;
}
}
}
</style>

124
src/views/modules/visual/basicinfo/houseStatic/houseMore.vue

@ -0,0 +1,124 @@
<template>
<div class="m-pop">
<div class="wrap">
<cpt-card>
<div class="title">
<img src="@/assets/img/shuju/title-tip.png" />
<span>更多信息</span>
</div>
<div class="btn-close"
@click="handleClose">
<img src="@/assets/img/shuju/people/close.png" />
</div>
<div class="list">
<div class="item item2">
<span class="item-field">所属小区</span>
<span>{{ info.neighborHoodName }}</span>
</div>
<div class="item item2">
<span class="item-field">所属楼栋</span>
<span>{{ info.buildingName }}</span>
</div>
<div class="item item2">
<span class="item-field">单元号</span>
<span>{{ info.unitNum }}</span>
</div>
<div class="item item2">
<span class="item-field">门牌号</span>
<span>{{ info. doorName}}</span>
</div>
<div class="item item2">
<span class="item-field">房屋类型</span>
<span>{{ info.houseType==='1'?'楼房':info.houseType==='2'?'平方':'别墅' }}</span>
</div>
<div class="item item2">
<span class="item-field">房屋用途</span>
<span>{{ info.purpose }}</span>
</div>
<div class="item item2">
<span class="item-field">房屋状态</span>
<span>{{ info. rentFlag==='1'?'出租':info.rentFlag==='0'?'自住':info.rentFlag==='2'?'闲置':'未出售'}}</span>
</div>
<div class="item item2">
<span class="item-field">房主姓名</span>
<span>{{ info. ownerName?info.ownerName:'--' }}</span>
</div>
<div class="item item2">
<span class="item-field">房主电话</span>
<span>{{ info. ownerPhone?info.ownerPhone:'--' }}</span>
</div>
<div class="item item2">
<span class="item-field">证件号</span>
<span>{{ info.ownerIdCard?info.ownerIdCard:'--' }}</span>
</div>
<div class="item item2">
<span class="item-field">备注</span>
<span>{{ info.remark?info.remark:'--' }}</span>
</div>
</div>
</cpt-card>
</div>
</div>
</template>
<script>
import cptCard from "@/views/modules/visual/cpts/card";
import { requestPost } from "@/js/dai/request";
import cptTb from "@/views/modules/visual/cpts/tb";
export default {
name: "peopleMore",
props: {
info: {
type: Object,
default () {
return {}
}
},
},
components: {
cptCard,
cptTb,
},
data () {
return {
};
},
computed: {
},
watch: {
},
mounted () {
},
methods: {
handleClose () {
this.$emit("close");
},
},
};
</script>
<style
lang="scss"
src="@/assets/scss/modules/visual/people.scss"
scoped
></style>

154
src/views/modules/visual/basicinfo/houseStatic/houseStatic.vue

@ -12,7 +12,8 @@
<span class="router_child">{{orgName}}</span>
</div>
</div>
<cpt-card :min-full-screen="true">
<cpt-card v-if="!showHouseList&&!showPeopleList"
:min-full-screen="true">
<div class="card-title">
<img class="title-icon"
src="@/assets/img/shuju/title-tip.png" />
@ -45,23 +46,32 @@
<div v-if="!dataLoading"
class="pie-table">
<div class="pie-table-total">
<div class="pie-table-total"
@click="handleClickHouse('')">
<div class="pie-table-total-count">{{houseData.houseTotal}}</div>
<div class="pie-table-title">房屋总数</div>
</div>
<div class="pie-table-line"></div>
<div class="pie-table-total ">
<div class="pie-table-total "
@click="handleClickHouse('0')">
<div class="pie-table-total-count zz">{{houseData.zzHouseTotal}}</div>
<div class="pie-table-title">自住房屋数</div>
</div>
<div class="pie-table-total ">
<div class="pie-table-total "
@click="handleClickHouse('1')">
<div class="pie-table-total-count cz">{{houseData.czHouseTotal}}</div>
<div class="pie-table-title">出租房屋数</div>
</div>
<div class="pie-table-total ">
<div class="pie-table-total "
@click="handleClickHouse('2')">
<div class="pie-table-total-count xz">{{houseData.xzHouseTotal}}</div>
<div class="pie-table-title">闲置房屋数</div>
</div>
<div class="pie-table-total "
@click="handleClickHouse('3')">
<div class="pie-table-total-count wsc">{{houseData.wscHouseTotal}}</div>
<div class="pie-table-title">未出售房屋数</div>
</div>
</div>
<div class="loading-status"
@ -93,16 +103,19 @@
<div v-if="!dataLoading"
class="pie-table">
<div class="pie-table-total">
<div class="pie-table-total"
@click="handleClickPeople('all')">
<div class="pie-table-total-count">{{userData.userTotal}}</div>
<div class="pie-table-title">居民总数</div>
</div>
<div class="pie-table-line"></div>
<div class="pie-table-total ">
<div class="pie-table-total "
@click="handleClickPeople('cz')">
<div class="pie-table-total-count zz">{{userData.czUserTotal}}</div>
<div class="pie-table-title">常住人口数</div>
</div>
<div class="pie-table-total ">
<div class="pie-table-total "
@click="handleClickPeople('ld')">
<div class="pie-table-total-count cz">{{userData.ldUserTotal}}</div>
<div class="pie-table-title">流动人口数</div>
</div>
@ -134,39 +147,52 @@
<div class="item_data">
<div class="item_left">
<div class="pie-table-total">
<div class="pie-table-total-count">{{item.houseTotal}}</div>
<div class="pie-table-total-count"
@click="handleClickHouse('',item)">{{item.houseTotal}}</div>
<div class="pie-table-title">房屋总数</div>
</div>
<div class="pie-table-line"></div>
<div class="pie-table-total ">
<div class="pie-table-total-count colorwhite">{{item.zzHouseTotal}}</div>
<div class="pie-table-total-count colorwhite"
@click="handleClickHouse('0',item)">{{item.zzHouseTotal}}</div>
<div class="pie-table-title table-table-title">{{item.zzHouseRatio+'%'}}</div>
<div class="pie-table-title table-table-title">自住房屋数</div>
</div>
<div class="pie-table-total ">
<div class="pie-table-total-count colorwhite">{{item.czHouseTotal}}</div>
<div class="pie-table-total-count colorwhite"
@click="handleClickHouse('1',item)">{{item.czHouseTotal}}</div>
<div class="pie-table-title table-table-title">{{item.czHouseRatio+'%'}}</div>
<div class="pie-table-title table-table-title">出租房屋数</div>
</div>
<div class="pie-table-total ">
<div class="pie-table-total-count colorwhite">{{item.xzHouseTotal}}</div>
<div class="pie-table-total-count colorwhite"
@click="handleClickHouse('2',item)">{{item.xzHouseTotal}}</div>
<div class="pie-table-title table-table-title">{{item.xzHouseRatio+'%'}}</div>
<div class="pie-table-title table-table-title">闲置房屋数</div>
</div>
<div class="pie-table-total ">
<div class="pie-table-total-count colorwhite"
@click="handleClickHouse('3',item)">{{item.wscHouseTotal}}</div>
<div class="pie-table-title table-table-title">{{item.wscHouseRatio+'%'}}</div>
<div class="pie-table-title table-table-title">未出售房屋数</div>
</div>
</div>
<div class="item_right">
<div class="pie-table-total">
<div class="pie-table-total-count">{{item.userTotal}}</div>
<div class="pie-table-total-count"
@click="handleClickPeople('all',item)">{{item.userTotal}}</div>
<div class="pie-table-title">居民总数</div>
</div>
<div class="pie-table-line"></div>
<div class="pie-table-total ">
<div class="pie-table-total-count colorwhite">{{item.czUserTotal}}</div>
<div class="pie-table-total-count colorwhite"
@click="handleClickPeople('cz',item)">{{item.czUserTotal}}</div>
<div class="pie-table-title table-table-title">{{item.czUserRatio+'%'}}</div>
<div class="pie-table-title table-table-title">常住人口数</div>
</div>
<div class="pie-table-total ">
<div class="pie-table-total-count colorwhite">{{item.ldUserTotal}}</div>
<div class="pie-table-total-count colorwhite"
@click="handleClickPeople('ld',item)">{{item.ldUserTotal}}</div>
<div class="pie-table-title table-table-title">{{item.ldUserRatio+'%'}}</div>
<div class="pie-table-title table-table-title">流动人口数</div>
</div>
@ -187,6 +213,21 @@
</div>
</cpt-card>
<house-list v-if="showHouseList "
:orgId="selOrgId"
:orgType="selOrgType"
:rentType="rentType"
@close="showHouseList = false">
</house-list>
<people-list v-if="showPeopleList "
:orgId="selOrgId"
:orgType="selOrgType"
:type="type"
@close="showPeopleList = false">
</people-list>
</div>
</template>
@ -199,6 +240,8 @@ import screenEchartsFrame from "../../components/screen-echarts-frame";
import ScreenLoading from "@/views/modules/visual/components/screen-loading";
import { housePieOption } from './options'
import { userPieOption } from './userOptions'
import houseList from './houseList'
import peopleList from './peopleList'
import * as echarts from 'echarts';
export default {
@ -207,7 +250,9 @@ export default {
cptCard,
screenTable,
screenEchartsFrame,
ScreenLoading
ScreenLoading,
houseList,
peopleList
},
data () {
return {
@ -232,8 +277,10 @@ export default {
czHouseRatio: '5%',//
xzHouseTotal: 200,//
xzHouseRatio: '70%',//
wscHouseTotal: 100,//
wscHouseRatio: '20%',//
},
houseColorArray: ['#3dda83', '#e43c26', '#fac126'],
houseColorArray: ['#3dda83', '#e43c26', '#fac126', '#fc8452'],
housePieData: [],
legendArray: [
@ -248,6 +295,10 @@ export default {
{
name: '闲置房屋数',
url: require('../../../../../assets/img/shuju/measure/huang@2x.png')
},
{
name: '未出售房屋数',
url: require('../../../../../assets/img/shuju/measure/cheng.png')
}
],
@ -278,6 +329,13 @@ export default {
zoom: null,
parentPolygon: [],
rentType: '',//
type: '',//
showPeopleList: false,
showHouseList: false,
selOrgId: '',
selOrgType: '',
};
},
async mounted () {
@ -301,9 +359,35 @@ export default {
this.getHousePie()
this.getUserPie()
},
//
handleClickHouse (rentType, item) {
if (item) {
this.selOrgId = item.orgId
this.selOrgType = item.orgType
} else {
this.selOrgId = this.houseData.orgId
this.selOrgType = this.houseData.orgType
}
this.toSubAgency('house')
this.rentType = rentType
this.showHouseList = true
},
//
handleClickPeople (type, item) {
if (item) {
this.selOrgId = item.orgId
this.selOrgType = item.orgType
} else {
this.selOrgId = this.houseData.orgId
this.selOrgType = this.houseData.orgType
}
this.toSubAgency('people')
this.type = type
this.showPeopleList = true
},
housePieInitOk (dom) {
console.log('pie准备好了', dom)
this.housePieChartS = dom
@ -335,7 +419,6 @@ export default {
this.$refs.housePieChart.hideLoading()
}
} else {
this.houseData = {}
this.$message.error(msg);
@ -379,10 +462,15 @@ export default {
name: '闲置房屋数',
value: this.houseData.xzHouseRatio
}
let obj4 = {
name: '未出售房屋数',
value: this.houseData.wscHouseRatio
}
this.housePieData.push(obj1)
this.housePieData.push(obj2)
this.housePieData.push(obj3)
this.housePieData.push(obj4)
this.housePieOption.title.text = this.houseData.houseTotal
this.housePieOption.series[1].itemStyle = {
@ -575,33 +663,36 @@ export default {
async handleToSubAgency (item) {
if (!this.dataLoading) {
this.toSubAgency(item)
this.toSubAgency('subAgency', item)
await this.getApiData()
}
},
//
async toSubAgency (item) {
async toSubAgency (type, item) {
this.runNum++
let obj = {
orgId: this.orgId,
orgType: this.orgType,
orgName: this.orgName,
type: type
}
this.runAgencyArray.push(obj)
if (type === 'subAgency') {
this.orgId = item.orgId
this.orgType = item.orgType
this.orgName = item.orgName
} else if (type === 'house') {
this.orgName = '房屋列表'
} else if (type === 'people') {
this.orgName = '人员列表'
}
},
@ -609,6 +700,7 @@ export default {
//
handleClickAgency (index) {
const cutNum = this.runAgencyArray.length - index//
this.runNum = this.runNum - cutNum
@ -622,6 +714,14 @@ export default {
this.orgId = orgData.orgId
this.orgType = orgData.orgType
this.orgName = orgData.orgName
this.showHouseList = false
this.showPeopleList = false
// if (orgData.type === 'house') {
// this.showHouseList = false
// }
// if (orgData.type === 'people') {
// this.showPeopleList = false
// }
this.getApiData()

235
src/views/modules/visual/basicinfo/houseStatic/peopleList.vue

@ -0,0 +1,235 @@
<template>
<div class="div_people_search">
<div class="list_box">
<div class="info_tip">
<img src="@/assets/img/shuju/title-tip.png"
alt />
<div class="tip_title">{{tableTitle}}</div>
</div>
<div class="warning-table">
<div class="table">
<div class="table-header">
<div class="td td1">序号</div>
<div class="td td1">姓名</div>
<div class="td td3">所属网格</div>
<div class="td td3">所属房屋</div>
<div class="td td2">手机</div>
<div class="td td3">证件号</div>
<div class="td td1">性别</div>
<div class="td td2">出生日期</div>
<div class="td td1">操作</div>
</div>
<div v-if="!loading && tableData.length> 0"
class="table-body">
<div class="table-body-tr"
v-for="(item,index) in tableData"
:key='index'>
<div class="td td1">{{item.sort}} </div>
<div class="td td1">{{item.name}} </div>
<div class="td td3">{{item.gridName}} </div>
<div class="td td3">{{item.neighborHoodName + item.buildNum}} </div>
<!-- <div class="td td1">{{item.buildNum}} </div> -->
<div class="td td2">{{item.mobile}} </div>
<div class="td td3">{{item.idCard}} </div>
<div class="td td1">{{item.gender}} </div>
<div class="td td2">{{item.birthday}} </div>
<div @click="handelToPeople(item)"
class="td td1 btn_detail">{{'查看'}} </div>
</div>
</div>
<div class="table-status"
v-if="loading">
<screen-loading>加载中</screen-loading>
</div>
<div class="table-status"
v-if="tableData.length == 0 && !loading">
<div class="no-data">
<img src="@/assets/img/modules/visual/noData.png"
class="no-data-img" />
</div>
</div>
</div>
</div>
<div class="pagination">
<el-pagination hide-on-single-page
background
layout="prev, pager, next, total"
:current-page="pageNo"
:page-size="pageSize"
:total="total"
@current-change="pageCurrentChangeHandle">
</el-pagination>
</div>
</div>
<people-more v-show="showedMoreInfo"
v-if="info.userId"
:userId="info.userId"
:gridName="info.gridName"
@close="showedMoreInfo = false" />
</div>
</template>
<script>
import { requestPost } from "@/js/dai/request";
import ScreenLoading from "@/views/modules/visual/cpts/loading";
import peopleMore from "@/views/modules/visual/basicinfo/cpts/people-more";
export default {
name: "people-list",
components: {
ScreenLoading, peopleMore
},
data () {
return {
showedMoreInfo: false,
tableTitle: '人员列表',
loading: false,
tableData: [],
pageSize: 10,
pageNo: 1,
total: 0,
info: {},
};
},
mounted () {
this.tableData = []
this.loadList()
},
deactivated () {
},
methods: {
async loadList () {
this.loading = true
const url = "/epmetuser/icresiuser/icuserstatislist"
let params = {
orgId: this.orgId,
orgType: this.orgType,
type: this.type,
pageSize: this.pageSize,
pageNo: this.pageNo
}
const { data, code, msg } = await requestPost(url, params)
this.loading = false
if (code === 0) {
this.total = data.total
this.tableData = data.list
} else {
this.$message.error(msg)
}
},
//
handelToPeople (item) {
// this.toSubAgency('people', this.tableData[index].userId)
this.info = { ...item }
this.showedMoreInfo = true
},
pageCurrentChangeHandle (val) {
this.pageNo = val
this.loadList()
},
},
destroyed () {
console.log("我已经离开了!");
},
props: {
orgId: {
type: String,
default: "",
},
orgType: {
type: String,
default: "",
},
type: {
type: String,
default: "",
},
},
};
</script>
<style
lang="scss"
src="@/assets/scss/modules/visual/basicInfoMain.scss"
scoped
></style>
<style
lang="scss"
src="@/assets/scss/modules/visual/searchPerson.scss"
scoped
></style>
<style lang="scss" scoped>
.div_search_list {
.el-input__inner[WarningColor="warning"] {
border-radius: 8px 0 0 8px;
height: 53px;
background-color: #01106800;
border: 2px solid #0082fb;
padding-left: 70px;
font-size: 18px;
font-family: PingFang SC;
font-weight: 400;
color: #ffffff;
}
}
.list_box {
width: 100%;
height: 780px;
margin: 0 auto;
}
.warning-table {
height: 640px;
}
.pagination {
padding-right: 0;
margin-top: 0;
text-align: right;
}
.g-bread {
padding: 10px 10px 15px;
::v-deep .el-breadcrumb__item {
font-size: 16px;
.el-breadcrumb__inner {
color: #fff;
}
}
::v-deep .el-breadcrumb__item:first-child {
.el-breadcrumb__inner {
color: #a0c3d9;
}
}
}
</style>
Loading…
Cancel
Save