Browse Source

pc首页样式调整居民分类信息不完整数量统计实现跳转

dlt_manageScope_0428
李素 2 years ago
parent
commit
5365e2b1b2
  1. 381
      src/assets/scss/modules/index.scss
  2. 568
      src/views/modules/base/resi.vue
  3. 141
      src/views/modules/home/index.vue

381
src/assets/scss/modules/index.scss

@ -25,37 +25,37 @@
box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.08), 0px 3px 6px -4px rgba(0, 0, 0, 0.12);
flex-grow: 1;
max-height: calc(50% - 10px);
overflow: hidden scroll;
overflow: hidden scroll;
position: relative;
}
// .noe-text{
// border-left: 4px solid #2683DB;
// padding-left: 10px;
// height: 30px;
// margin-right: 10px;
// size: 15px;
// z-index: 1;
// display: flex;
// justify-content: space-between;
// position: fixed;
// background: white;
// width: 551px;
// .echart{
// position: absolute;
// // left: -20px;
// top: 10px;
// width: 1004px;
// user-select: none;
// -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
// padding: 0px;
// margin: 0px;
// border-width: 0px;
// height: 260px;
// }
.noe-text {
position: relative;
padding-left: 14px; /* 调整左边距以容纳边框 */
// position: fixed;
padding-left: 14px;
height: 30px;
margin-right: 10px;
font-size: 15px; /* 正确的属性名称应为 font-size */
z-index: 1;
font-size: 15px;
z-index: 1;
display: flex;
justify-content: space-between;
position: fixed;
background: white;
width: 551px;
// max-width: calc(100% - 20px);
width: 100%;
// overflow-x: auto;
}
.noe-text::before {
@ -63,8 +63,8 @@
position: absolute;
top: 5px;
left: 0;
height: 70%; /* 控制边框的长度 */
width: 4px; /* 控制边框的宽度 */
height: 70%;
width: 4px;
background-color: #2683DB;
}
@ -72,23 +72,27 @@
padding: 5px 6px;
display: flex;
height: 100%;
align-items: stretch;
.g-row-left {
// margin-right: auto;
margin-right: 15px;
width: calc(60% - 20px);
margin-right: 10px;
width: calc(60% - 25px);
flex-direction: column;
// justify-content: space-around;
}
.g-row-right {
display: flex;
margin-left: auto;
margin-right: 5px;
flex-grow: 0.5;
width: calc(40% - 20px);
margin-right: 5px;
flex-grow: 0.5;
width: calc(40% - 25px);
flex-direction: column;
justify-content: space-around;
}
}
.m-box {
flex-grow: 1;
position: relative;
@ -98,7 +102,8 @@
background: #ffffff;
box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.08), 0px 3px 6px -4px rgba(0, 0, 0, 0.12);
border-radius: 2px;
.merw{
.merw {
background: #000;
margin-top: 10px;
}
@ -113,7 +118,7 @@
margin-top: 10px;
margin-left: 10px;
> img {
>img {
vertical-align: bottom;
margin-right: 5px;
width: 17px;
@ -121,6 +126,14 @@
}
}
.newqsa {
border-left: 4px solid #2683DB;
height: 70%;
// width: 4px;
margin-left: -10px;
padding-left: 8px;
}
.more {
position: absolute;
top: 14px;
@ -148,14 +161,15 @@
// background-image: url("../../images/index/chaxun-bg.png");
background-size: cover;
position: relative;
.wrap{
.wrap {
position: absolute;
top: 0;
left: 0;
width: 100%;
}
.mewq{
.mewq {
// background-color: #333;
width: inherit;
margin-left: -69px;
@ -164,14 +178,15 @@
box-sizing: border-box;
margin-right: -68px;
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 5px;
grid-template-columns: repeat(7, 1fr);
gap: 5px;
text-align: center;
}
.boxss {
background-color: #F8F8F8;
border-radius: 10px;
}
}
@ -187,7 +202,8 @@
margin-top: 24px;
display: flex;
align-items: center;
> div {
>div {
position: relative;
margin-right: 30px;
width: 56px;
@ -202,13 +218,16 @@
&:hover {
color: $c1_on;
}
&.z-on {
color: #ffffff;
background: $c1;
margin-left: 10px;
&:hover {
color: #ffffff;
}
&::after {
content: "";
display: block;
@ -231,6 +250,7 @@
display: flex;
align-items: center;
margin-left: 10px;
.search-input {
position: relative;
left: 0;
@ -291,6 +311,7 @@
font-weight: 500;
color: #ffffff;
cursor: pointer;
&:hover {
background: $c1_on;
}
@ -309,6 +330,7 @@
font-weight: 500;
color: $c1;
cursor: pointer;
img {
width: 20px;
height: 20px;
@ -325,144 +347,162 @@
.m-pan {
position: relative;
box-sizing: border-box;
width: 100%;
height:calc( 82vh - 420px);
// width: 100%;
// height:calc( 82vh - 420px);
height: calc(82vh - 460px);
overflow: hidden;
.flex_box{
height:calc(100% - 30px);
width: 100%;
overflow: hidden;
.cnt {
margin-top: 20px;
display: flex;
.flex_box {
height: calc(100% - 30px);
width: 100%;
overflow: hidden;
height: 100%;
.echart {
max-width: 100%;
max-height: 100%;
}
.cnt-left {
box-sizing: border-box;
padding: 16px;
width: 240px;
height: 402px;
background: #f5f7fa;
border-radius: 2px;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(0, 0, 0, 0.85);
line-height: 24px;
height: 100%;
.subtitle {
padding: 4px 0;
font-size: 15px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: rgba(0, 0, 0, 0.85);
line-height: 17px;
&:last-of-type {
margin-top: 40px;
}
.cnt {
margin-top: 20px;
display: flex;
overflow: hidden;
height: 100%;
> img {
vertical-align: bottom;
margin-right: 5px;
width: 17px;
height: 17px;
}
.echart {
max-width: 115%;
max-height: 100%;
left: -30px;
top: 10px;
// margin-left: -50px;
position: absolute;
user-select: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
padding: 0px;
margin: 0px;
border-width: 0px;
}
}
.cnt-right {
.list {
margin-bottom: 71px;
margin-left: 10px;
.item {
margin-bottom: 30px;
display: flex;
align-items: center;
font-size: 14px;
.cnt-left {
box-sizing: border-box;
padding: 16px;
width: 240px;
height: 402px;
background: #f5f7fa;
border-radius: 2px;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(0, 0, 0, 0.85);
line-height: 24px;
height: 100%;
.subtitle {
padding: 4px 0;
font-size: 15px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: rgba(44, 53, 66, 0.85);
line-height: 24px;
cursor: pointer;
color: rgba(0, 0, 0, 0.85);
line-height: 17px;
&:hover {
color: $c1;
&:last-of-type {
margin-top: 40px;
}
.item-name {
margin-left: 5px;
width: 80px;
flex-shrink: 0;
>img {
vertical-align: bottom;
margin-right: 5px;
width: 17px;
height: 17px;
}
}
}
.item-div {
width: 1px;
height: 12px;
background: #d8d8d8;
border-radius: 1px;
}
.cnt-right {
.list {
margin-bottom: 71px;
margin-left: 10px;
.item-count {
margin-left: 20px;
width: 90px;
flex-shrink: 0;
}
.item {
margin-bottom: 30px;
display: flex;
align-items: center;
font-size: 14px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: rgba(44, 53, 66, 0.85);
line-height: 24px;
cursor: pointer;
.item-per {
min-width: 70px;
}
&:hover {
color: $c1;
}
.item-name {
margin-left: 5px;
width: 80px;
flex-shrink: 0;
}
.item-div {
width: 1px;
height: 12px;
background: #d8d8d8;
border-radius: 1px;
}
.item-count {
margin-left: 20px;
width: 90px;
flex-shrink: 0;
}
.item-progress {
margin-right: 15px;
width: 100%;
height: 24px;
background: #e6f0ff;
border-radius: 1px;
overflow: hidden;
b {
display: block;
.item-per {
min-width: 70px;
}
.item-progress {
margin-right: 15px;
width: 100%;
height: 24px;
background: #7ba6e6;
background: #e6f0ff;
border-radius: 1px;
overflow: hidden;
b {
display: block;
height: 24px;
background: #7ba6e6;
}
}
}
}
}
}
::v-deep .el-tabs__content {
overflow: scroll !important;
height: 100% !important;
::v-deep .el-tabs__content {
overflow: scroll !important;
height: 100% !important;
}
}
}
}
}
.m-tx {
margin-bottom: 13px;
width: 100%;
height: 65px;
// margin-bottom: 13px;
// width: 100%;
height: 200px;
overflow: hidden;
padding-right: 5px;
box-sizing: border-box;
flex-grow: 1;
// max-height: calc(50% - 10px);
overflow: hidden scroll;
// padding-right: 5px;
// box-sizing: border-box;
// flex-grow: 1;
// overflow: hidden scroll;
.cnt {
box-sizing: border-box;
margin-top: 12px;
border-radius: 2px;
overflow:hidden scroll ;
overflow: hidden scroll;
height: calc(100% - 50px);
.empty {
text-align: center;
color: #999;
img {
display: block;
width: 120px;
@ -473,13 +513,17 @@
.item {
padding: 16px 0 7px;
border-bottom: 1px dashed #f0f5fa;
&:last-child {
border-bottom: none;
}
display: flex;
align-items: center;
.item_right{
.item_right {
flex: 1;
.item-title {
@include toe;
height: 22px;
@ -489,11 +533,13 @@
color: rgba(0, 0, 0, 0.85);
line-height: 22px;
margin-left: 10px;
&:hover {
color: $c1;
cursor: pointer;
}
}
.item-date {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -503,10 +549,12 @@
margin-left: 10px;
}
}
.item_left{
.item_left {
width: 40px;
margin-right:15px;
.i-tag{
margin-right: 15px;
.i-tag {
display: block;
margin-right: 15px;
width: 40px;
@ -522,12 +570,13 @@
font-weight: 600;
}
}
}
}
}
.m-tb {
height: 220px;
height: 260px;
.cnt {
box-sizing: border-box;
@ -558,9 +607,11 @@
color: #333333;
line-height: 24px;
}
.item-btns {
margin-left: auto;
display: flex;
.item-btn {
display: flex;
align-items: center;
@ -570,19 +621,23 @@
font-weight: 400;
color: $c1;
text-align: center;
&:hover {
color: $c1_on;
cursor: pointer;
}
&:last-child {
margin-right: 2px;
}
img {
display: block;
width: 15px;
height: 15px;
margin-right: 2px;
}
span {
display: block;
}
@ -591,41 +646,43 @@
}
}
}
.table {
border-collapse: collapse;
width: 90%;
margin: 0 auto;
}
.table th, .table td {
.table th,
.table td {
border: 1px solid rgb(230, 230, 230);
padding: 8px;
text-align: center;
padding: 8px;
text-align: center;
}
.table th {
background-color: #F5F7FB;
background-color: #F5F7FB;
padding: 8px;
text-align: center;
width: 100px;
}
.row {
.row {
display: flex;
}
.cell {
}
.cell {
border: 1px solid #F5F7FB;
padding: 8px;
}
.special-header {
background-color: #FFFCF1; /* 设置特定表头的背景颜色为 #FFFCF1 */
}
.special-header {
background-color: #FFFCF1;
/* 设置特定表头的背景颜色为 #FFFCF1 */
}
.update-settings {
margin-right: 25px;
}
.table-container{
// overflow: hidden scroll;
overflow: auto;
}

568
src/views/modules/base/resi.vue

@ -1,29 +1,13 @@
<template>
<div class="g-main">
<div :style="{ height: rowHeight }" class="div_tree">
<el-input
placeholder="输入关键字进行过滤"
v-model="filterText"
@keydown.native.enter="handleChangeSerch()"
>
<el-input placeholder="输入关键字进行过滤" v-model="filterText" @keydown.native.enter="handleChangeSerch()">
</el-input>
<el-scrollbar :style="{ height: treeHeight }" class="scrollar">
<el-tree
ref="ref_tree"
v-loading="treeLoading"
class="filter_tree"
:data="treeData"
:props="defaultProps"
:highlight-current="true"
node-key="id"
:expand-on-click-node="false"
:filter-node-method="filterNode"
@node-click="handleNodeClick"
lazy
:auto-expand-parent="true"
:default-expanded-keys="autoOpenArr"
:load="lazyLoadTree"
>
<el-tree ref="ref_tree" v-loading="treeLoading" class="filter_tree" :data="treeData" :props="defaultProps"
:highlight-current="true" node-key="id" :expand-on-click-node="false" :filter-node-method="filterNode"
@node-click="handleNodeClick" lazy :auto-expand-parent="true" :default-expanded-keys="autoOpenArr"
:load="lazyLoadTree">
<div slot-scope="{ node, data }" class="custom-tree-node">
<!-- <img
v-if="showIcons(data)"
@ -35,7 +19,6 @@
margin-top: -3px;
"
/> -->
<!-- <span v-if="data.level==='building'&&!data.showIcon"
style="padding-left:20px;">{{ ' ' }}</span> -->
<!-- <span v-if="data.showIcon" :id="data.id"
@ -43,16 +26,11 @@
<span style="color: red">{{ data.showNum }}</span>
<span>{{ ")" }}</span>
</span> -->
<el-tooltip
:content="tooltipTitle"
:disabled="isShowTooltip"
placement="top"
effect="dark"
>
<span class="over-ellipsis" @mouseover="mouseOverNode($event)">
{{ node.label }}
</span>
</el-tooltip>
<el-tooltip :content="tooltipTitle" :disabled="isShowTooltip" placement="top" effect="dark">
<span class="over-ellipsis" @mouseover="mouseOverNode($event)">
{{ node.label }}
</span>
</el-tooltip>
<!-- <span :id="data.id">{{ data.label }}</span> -->
</div>
</el-tree>
@ -60,45 +38,20 @@
</div>
<section style="width: calc(100% - 200px)">
<div class="m-search">
<section
:class="
showSercahStatus ? 'm-form-box-height-auto' : 'm-form-box-height'
"
>
<resi-search
ref="myResiSearch"
@handleSearchFrom="handleSearchFrom"
/>
<section :class="showSercahStatus ? 'm-form-box-height-auto' : 'm-form-box-height'
">
<resi-search ref="myResiSearch" @handleSearchFrom="handleSearchFrom" />
</section>
<el-row class="resi-search">
<el-col :span="24">
<el-button
size="small"
type="primary"
@click="handleSearchFrom('search')"
>查询</el-button
>
<el-button
style="margin-left: 10px"
size="small"
plain
class="f-right5 diy-button--white"
@click="resetSearchForm"
>重置</el-button
>
<el-button
type="text"
size="small"
style="margin-left: 10px"
class="f-right5"
@click="showSercahStatus = !showSercahStatus"
>
<i
:class="
showSercahStatus ? 'el-icon-arrow-up' : 'el-icon-arrow-down'
"
></i>
<el-button size="small" type="primary" @click="handleSearchFrom('search')">查询</el-button>
<el-button style="margin-left: 10px" size="small" plain class="f-right5 diy-button--white"
@click="resetSearchForm">重置</el-button>
<el-button type="text" size="small" style="margin-left: 10px" class="f-right5"
@click="showSercahStatus = !showSercahStatus">
<i :class="showSercahStatus ? 'el-icon-arrow-up' : 'el-icon-arrow-down'
"></i>
{{ showSercahStatus ? "收起" : "展开" }}
</el-button>
</el-col>
@ -107,25 +60,11 @@
<div class="m-table">
<div class="div_btn">
<div class="div_btn_left">
<el-button
class="diy-button--add"
v-if="btnAuths.ic_resi_add"
size="small"
@click="handleAdd"
type="primary"
icon="el-icon-plus"
>
新增</el-button
>
<el-button
v-if="btnAuths.ic_resi_export"
style="margin-left: 10px"
size="small"
class="diy-button--white"
@click="diyExport"
plain
>导出</el-button
>
<el-button class="diy-button--add" v-if="btnAuths.ic_resi_add" size="small" @click="handleAdd"
type="primary" icon="el-icon-plus">
新增</el-button>
<el-button v-if="btnAuths.ic_resi_export" style="margin-left: 10px" size="small" class="diy-button--white"
@click="diyExport" plain>导出</el-button>
<!-- <el-button v-if="btnAuths.ic_resi_export"
style="margin-left: 10px"
size="small"
@ -142,71 +81,34 @@
@click="reportForm"
class="diy-button--white">核对</el-button> -->
<el-button
style="margin-left: 10px"
v-if="btnAuths.ic_resi_batch_del"
size="small"
class="diy-button--add"
type="parimary"
@click="deleteBatch"
>批量删除</el-button
>
<el-button style="margin-left: 10px" v-if="btnAuths.ic_resi_batch_del" size="small" class="diy-button--add"
type="parimary" @click="deleteBatch">批量删除</el-button>
<!-- <el-button type="primary" size="small">下载人口模板</el-button> -->
</div>
</div>
<el-table
ref="ref_table"
class="m-table-item"
:data="tableData"
v-loading="tableLoading"
border
style="width: 100%"
:height="tableHeight"
@select-all="selectAll"
@selection-change="selectionChange"
>
<el-table ref="ref_table" class="m-table-item" :data="tableData" v-loading="tableLoading" border
style="width: 100%" :height="tableHeight" @select-all="selectAll" @selection-change="selectionChange">
<!-- :selectable="checkSelectable" -->
<el-table-column
type="selection"
fixed="left"
align="center"
width="50"
/>
<el-table-column
label="序号"
type="index"
fixed="left"
align="left"
width="50"
>
<el-table-column type="selection" fixed="left" align="center" width="50" />
<el-table-column label="序号" type="index" fixed="left" align="left" width="50">
</el-table-column>
<el-table-column
v-for="item in tableHeader"
:key="item.columnName"
:prop="item.columnName"
:label="item.label"
align="left"
:show-overflow-tooltip="true"
:width="item.width || ''"
>
<el-table-column v-for="item in tableHeader" :key="item.columnName" :prop="item.columnName"
:label="item.label" align="left" :show-overflow-tooltip="true" :width="item.width || ''">
<template slot-scope="scope">
<a
v-if="item.columnName == 'NAME' && btnAuths.ic_resi_view"
class="name-a"
>
<a v-if="item.columnName == 'NAME' && btnAuths.ic_resi_view" class="name-a">
{{ handleFilterSpan(scope.row, item) }}
</a>
<div v-else-if="item.columnName == 'gender'">
{{
scope.row.gender == null
? "--"
: scope.row.gender == 1
? "男"
: scope.row.gender == 2
? "女"
: "--"
}}
scope.row.gender == null
? "--"
: scope.row.gender == 1
? "男"
: scope.row.gender == 2
? "女"
: "--"
}}
</div>
<div v-else-if="item.columnName == 'gridName'">
<template>
@ -233,84 +135,41 @@
<template v-if="scope.row.home">
<div>
{{
scope.row.home.resiHouseRel != null
? scope.row.home.resiHouseRel == 0
? "自住"
: scope.row.home.resiHouseRel == 1
? "租住"
: ""
: ""
}}
scope.row.home.resiHouseRel != null
? scope.row.home.resiHouseRel == 0
? "自住"
: scope.row.home.resiHouseRel == 1
? "租住"
: ""
: ""
}}
</div>
</template>
</div>
<span v-else>{{ handleFilterSpan(scope.row, item) }}</span>
</template>
</el-table-column>
<el-table-column
fixed="right"
label="操作"
align="center"
width="200"
>
<el-table-column fixed="right" label="操作" align="center" width="200">
<template slot-scope="scope">
<el-button
v-if="btnAuths.ic_resi_view"
type="text"
size="small"
@click="handleLook(scope.row)"
>查看</el-button
>
<el-button v-if="btnAuths.ic_resi_view" type="text" size="small"
@click="handleLook(scope.row)">查看</el-button>
<template v-if="filterEdit(scope.row.agencyId)">
<el-button
v-if="btnAuths.ic_resi_update"
style="margin-right: 10px"
@click="handelCLickShowCheckPassword(scope.row)"
size="small"
type="text"
>编辑</el-button
>
<el-popconfirm
v-if="btnAuths.ic_resi_del"
title="删除之后无法回复,确认删除?"
@onConfirm="handleDel(scope.row)"
>
<el-button size="small" type="text" slot="reference"
>删除</el-button
>
<el-button v-if="btnAuths.ic_resi_update" style="margin-right: 10px"
@click="handelCLickShowCheckPassword(scope.row)" size="small" type="text">编辑</el-button>
<el-popconfirm v-if="btnAuths.ic_resi_del" title="删除之后无法回复,确认删除?" @onConfirm="handleDel(scope.row)">
<el-button size="small" type="text" slot="reference">删除</el-button>
</el-popconfirm>
<el-dropdown
trigger="click"
style="margin-left: 10px"
@command="(command) => handelRegister(command, scope.row)"
>
<el-button
class="div-table-button--blue"
size="small"
type="text"
style="font-size: 10px"
>
</el-button
>
<el-dropdown trigger="click" style="margin-left: 10px"
@command="(command) => handelRegister(command, scope.row)">
<el-button class="div-table-button--blue" size="small" type="text" style="font-size: 10px">
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
v-if="false && btnAuths.ic_resi_change_rec"
command="bgjl"
>变更记录</el-dropdown-item
>
<el-dropdown-item
v-if="btnAuths.ic_resi_update"
command="swdj"
>死亡登记</el-dropdown-item
>
<el-dropdown-item
v-if="btnAuths.ic_resi_update"
command="qcdj"
>迁出登记</el-dropdown-item
>
<el-dropdown-item v-if="false && btnAuths.ic_resi_change_rec" command="bgjl">变更记录</el-dropdown-item>
<el-dropdown-item v-if="btnAuths.ic_resi_update" command="swdj">死亡登记</el-dropdown-item>
<el-dropdown-item v-if="btnAuths.ic_resi_update" command="qcdj">迁出登记</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
@ -320,103 +179,49 @@
<div class="div-flex">
<div class="m-page">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
:page-sizes="[20, 50, 100, 200]"
:page-size="pageSize"
layout="sizes, prev, pager, next, total"
:total="total"
>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="currentPage" :page-sizes="[20, 50, 100, 200]" :page-size="pageSize"
layout="sizes, prev, pager, next, total" :total="total">
</el-pagination>
</div>
</div>
</div>
</section>
<!-- 变更记录 -->
<el-dialog
:visible.sync="changeRecordShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'变更记录'"
width="1150px"
top="5vh"
@closed="diaClose"
>
<el-dialog :visible.sync="changeRecordShow" :close-on-click-modal="false" :close-on-press-escape="false"
:title="'变更记录'" width="1150px" top="5vh" @closed="diaClose">
<resi-change-record ref="ref_changerecord"></resi-change-record>
</el-dialog>
<el-dialog
:visible.sync="diyDialog"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="1150px"
top="5vh"
class="dialog-h"
>
<diy-info
v-if="diyDialog"
ref="ref_diy"
:list="exportList"
:search="searchForm"
@close="handleDiyClose"
></diy-info>
<el-dialog :visible.sync="diyDialog" :close-on-click-modal="false" :close-on-press-escape="false" width="1150px"
top="5vh" class="dialog-h">
<diy-info v-if="diyDialog" ref="ref_diy" :list="exportList" :search="searchForm"
@close="handleDiyClose"></diy-info>
</el-dialog>
<baobiao ref="baobiao" />
<!-- 迁出登记 -->
<el-dialog
:visible.sync="tranferShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'迁出登记'"
width="562px"
top="5vh"
class="dialog-h"
@closed="diaClose"
>
<resi-change-transfer
ref="ref_change_transfer"
@dialogCancle="transferClose"
></resi-change-transfer>
<el-dialog :visible.sync="tranferShow" :close-on-click-modal="false" :close-on-press-escape="false" :title="'迁出登记'"
width="562px" top="5vh" class="dialog-h" @closed="diaClose">
<resi-change-transfer ref="ref_change_transfer" @dialogCancle="transferClose"></resi-change-transfer>
</el-dialog>
<!-- 死亡登记 -->
<el-dialog
:visible.sync="deathShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'死亡登记'"
width="620px"
top="5vh"
class="dialog-h"
@closed="diaClose"
>
<el-dialog :visible.sync="deathShow" :close-on-click-modal="false" :close-on-press-escape="false" :title="'死亡登记'"
width="620px" top="5vh" class="dialog-h" @closed="diaClose">
<resideath-add ref="ref_death" @dialogCancle="deathClose"></resideath-add>
</el-dialog>
<el-dialog title="密码验证" :visible.sync="showCheckPassword">
<el-form
:model="checkPasswordFrom"
:rules="checkPasswordRulse"
ref="checkPasswordFrom"
>
<el-form :model="checkPasswordFrom" :rules="checkPasswordRulse" ref="checkPasswordFrom">
<el-form-item label="密码" prop="password">
<el-input
v-model="checkPasswordFrom.password"
autocomplete="off"
type="password"
placeholder="请输入当前账号密码"
@keydown.native.enter="handelClickCheckPassword"
></el-input>
<el-input v-model="checkPasswordFrom.password" autocomplete="off" type="password" placeholder="请输入当前账号密码"
@keydown.native.enter="handelClickCheckPassword"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="showCheckPassword = false"> </el-button>
<el-button type="primary" @click="handelClickCheckPassword"
> </el-button
>
<el-button type="primary" @click="handelClickCheckPassword"> </el-button>
</div>
</el-dialog>
</div>
@ -494,6 +299,8 @@ export default {
conditions: [],
activeName: "",
tableData: [],
tableDataTow: [],
valueb: '',
searchList: [],
exportList: [],
@ -566,8 +373,8 @@ export default {
category: this.$route.query.category,
searchForm: {},
isShowTooltip:false,
tooltipTitle:null,
isShowTooltip: false,
tooltipTitle: null,
};
},
@ -612,16 +419,18 @@ export default {
},
});
this.handleSearchFrom();
},
activated(){
activated() {
this.handleSearchFrom();
},
methods: {
mouseOverNode(event){
mouseOverNode(event) {
var target = event.target;
let textLength = target.clientWidth;
let containerLength = target.scrollWidth;
console.log(textLength,containerLength);
console.log(textLength, containerLength);
if (textLength < containerLength) {
this.tooltipTitle = event.target.innerText;
this.isShowTooltip = false;
@ -665,35 +474,128 @@ export default {
});
},
handleSearchFrom(type) {
// console.log("this.$route.query.param1", this.$route.query.param1);
this.valueb = this.$route.query.param1;
// 使
const { categoryKey, agencyId, level } = this.$refs.myResiSearch.form;
//
let _obj = JSON.parse(JSON.stringify(this.$refs.myResiSearch.form));
// categoryKey
if (Array.isArray(categoryKey) && categoryKey.length) {
_obj.categoryKey = categoryKey.join(",");
} else {
_obj.categoryKey = "";
switch (this.valueb) {
case '党员':
_obj.partyFlag = 1
this.getTableData(_obj);
break;
case '残疾人':
_obj.healthStatus.push('DISABILITY_FLAG');
this.getTableData(_obj);
break;
case '退役军人':
_obj.attentionCrowds.push('VETERAN_FLAG');
_obj.partyFlag = 1;
this.getTableData(_obj);
break;
case '失业人员':
_obj.careerStatus = 0
this.getTableData(_obj);
break;
case '低保人员':
_obj.attentionCrowds.push('SUBSISTENCE_ALLOW');
this.getTableData(_obj);
break;
case '保障房人员':
_obj.attentionCrowds.push('ENSURE_HOUSE_FLAG');
this.getTableData(_obj);
break;
case '特殊人员':
_obj.attentionCrowds.push('ENSURE_HOUSE_FLAG');
this.getTableData(_obj);
break;
case '大病人员':
_obj.healthStatus.push('SERIOUS_ILLNESS_F');
this.getTableData(_obj);
break;
case '慢病人员':
_obj.healthStatus.push('CHRONIC_DISEASE_F');
this.getTableData(_obj);
break;
case '老年人':
_obj.attentionCrowds.push('OLD_PEOPLE_FLAG');
this.getTableData(_obj);
break;
case '特扶人员':
_obj.attentionCrowds.push('SPECIAL_SUPPORT_F');
this.getTableData(_obj);
break;
default:
// categoryKey
if (Array.isArray(categoryKey) && categoryKey.length) {
_obj.categoryKey = categoryKey.join(",");
} else {
_obj.categoryKey = "";
}
// agencyId
if (Array.isArray(agencyId) && agencyId.length) {
_obj.agencyId = agencyId[agencyId.length - 1];
} else {
_obj.agencyId = "";
}
_obj.level = level || "";
_obj.orgType = level || "";
_obj = { ..._obj, ...this.searchAgencyObj };
if (type) {
this.currentPage = 1;
}
console.log("this.valueb", _obj)
this.getTableData(_obj);
this.searchForm = _obj;
// form
this.$refs.myResiSearch.form.categoryKey = categoryKey;
this.$refs.myResiSearch.form.agencyId = agencyId;
}
// //
// if (this.valueb == '') {
// _obj.partyFlag = 1
// this.getTableData(_obj);
// // console.log("this.valueb",this.valueb)
// } if (this.valueb == '') {
// _obj.healthStatus.push('DISABILITY_FLAG');
// this.getTableData(_obj);
// } if (this.valueb == '退') {
// _obj.attentionCrowds.push('VETERAN_FLAG');
// _obj.partyFlag = 1
// this.getTableData(_obj);
// }
// else {
// // categoryKey
// if (Array.isArray(categoryKey) && categoryKey.length) {
// _obj.categoryKey = categoryKey.join(",");
// } else {
// _obj.categoryKey = "";
// }
// // agencyId
// if (Array.isArray(agencyId) && agencyId.length) {
// _obj.agencyId = agencyId[agencyId.length - 1];
// } else {
// _obj.agencyId = "";
// }
// _obj.level = level || "";
// _obj.orgType = level || "";
// _obj = { ..._obj, ...this.searchAgencyObj };
// if (type) {
// this.currentPage = 1;
// }
// console.log("this.valueb", _obj)
// this.getTableData(_obj);
// this.searchForm = _obj;
// // form
// this.$refs.myResiSearch.form.categoryKey = categoryKey;
// this.$refs.myResiSearch.form.agencyId = agencyId;
// }
// agencyId
if (Array.isArray(agencyId) && agencyId.length) {
_obj.agencyId = agencyId[agencyId.length - 1];
} else {
_obj.agencyId = "";
}
_obj.level = level || "";
_obj.orgType = level || "";
_obj = { ..._obj, ...this.searchAgencyObj };
if (type) {
this.currentPage = 1;
}
this.getTableData(_obj);
this.searchForm = _obj;
// form
this.$refs.myResiSearch.form.categoryKey = categoryKey;
this.$refs.myResiSearch.form.agencyId = agencyId;
},
//
// checkSelectable (row, index) {
@ -1057,7 +959,7 @@ export default {
this.$router.push({
name: "edit-resi",
query: { id: this.editUserId },
params: { idNum: data.idNum, mobile: data.mobile,name:data.name },
params: { idNum: data.idNum, mobile: data.mobile, name: data.name },
});
this.checkPasswordFrom.password = "";
} else {
@ -1104,10 +1006,12 @@ export default {
"/actual/base/residentBaseInfo/page",
params
);
// console.log("bubububuhbu", data)
this.tableLoading = false;
if (data.code === 0) {
this.total = data.data.total;
this.tableData = data.data.list;
// console.log("", this.tableDataTow)
} else {
this.$message.error(data.msg);
}
@ -1236,7 +1140,7 @@ export default {
this.autoOpenArr.push(data.id);
if (!isRefresh && data) {
this.selTreeObj = data;
}
} else {
this.$message.error(msg);
@ -1265,7 +1169,7 @@ export default {
this.handleSearchFrom("type");
}
},
},
watch: {
$route: {
@ -1296,9 +1200,11 @@ export default {
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/list-main.scss";
@import "@/assets/scss/buttonstyle.scss";
.g-main {
display: flex;
}
.div_tree {
margin: 7px 8px 7px 7px;
width: 200px;
@ -1308,32 +1214,36 @@ export default {
0px 3px 6px -4px rgba(0, 0, 0, 0.12);
// border-radius: 5px;
overflow-y: hidden;
.scrollar{
.scrollar {
margin-top: 30px;
}
/deep/ .el-scrollbar__wrap {
overflow-x: hidden !important;
}
/deep/ .el-scrollbar__bar{
/deep/ .el-scrollbar__bar {
right: -2px;
}
.custom-tree-node {
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
overflow: hidden;
}
.over-ellipsis {
display: block;
width: 140PX;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
-webkit-line-clamp: 1;
}
.custom-tree-node {
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
overflow: hidden;
}
.over-ellipsis {
display: block;
width: 140PX;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
-webkit-line-clamp: 1;
}
//
/deep/ .el-input--medium .el-input__inner {
@ -1341,10 +1251,11 @@ export default {
background: rgba(0, 0, 0, 0.05);
border-radius: 4px;
}
// flex: 0 0 280px;
background: #ffffff;
box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.08),
0px 3px 6px -4px rgba(0, 0, 0, 0.12);
0px 3px 6px -4px rgba(0, 0, 0, 0.12);
// border-radius: 5px;
overflow-y: hidden;
}
@ -1370,6 +1281,7 @@ export default {
}
.tabs-other-info {
// ::v-deep .el-tabs__nav-wrap::after,
::v-deep .el-tabs__active-bar_active {
background-color: #0055d7;

141
src/views/modules/home/index.vue

@ -30,49 +30,49 @@
<div class="mewq">
<div class="boxss">
<div style="margin-top: 10px;">
<span style="color: #2683DB; font-size: 25px;">93,242</span>
<span style="color: #2683DB; font-size: 25px;">{{ pandectData.totalResidents }}</span>
<br>
<span style="color: #858585; font-size: 12px;">居民总数</span>
</div>
</div>
<div class="boxss">
<div style="margin-top: 10px;">
<span style="color: #2683DB; font-size: 25px;">71,320</span>
<span style="color: #2683DB; font-size: 25px;">{{ pandectData.permanentResiCount }}</span>
<br>
<span style="color: #858585; font-size: 12px;">常住人口</span>
</div>
</div>
<div class="boxss">
<div style="margin-top: 10px;">
<span style="color: #2683DB; font-size: 25px;">22,122</span>
<span style="color: #2683DB; font-size: 25px;">{{ pandectData.floatingResiCount }}</span>
<br>
<span style="color: #858585; font-size: 12px;">流动人口</span>
</div>
</div>
<div class="boxss">
<div style="margin-top: 10px;">
<span style="color: #2683DB; font-size: 25px;">26,004</span>
<span style="color: #2683DB; font-size: 25px;">{{ pandectData.homeCount }}</span>
<br>
<span style="color: #858585; font-size: 12px;">房屋总数</span>
</div>
</div>
<div class="boxss">
<div style="margin-top: 10px;">
<span style="color: #2683DB; font-size: 25px;">25,531</span>
<span style="color: #2683DB; font-size: 25px;">{{ pandectData.selfStay }}</span>
<br>
<span style="color: #858585; font-size: 12px;">自住房屋</span>
</div>
</div>
<div class="boxss">
<div style="margin-top: 10px;">
<span style="color: #2683DB; font-size: 25px;">464</span>
<span style="color: #2683DB; font-size: 25px;">{{ pandectData.rentOut }}</span>
<br>
<span style="color: #858585; font-size: 12px;">出租房屋</span>
</div>
</div>
<div class="boxss">
<div style="margin-top: 10px;">
<span style="color: #2683DB; font-size: 25px;">39</span>
<span style="color: #2683DB; font-size: 25px;">{{ pandectData.vacantHouse }}</span>
<br>
<span style="color: #858585; font-size: 12px;">闲置房屋</span>
</div>
@ -86,6 +86,11 @@
<span>组织总览</span>
</div> -->
<div class="flex_box">
<div class="header">
<div class="newqsa"><span>居民分类信息不完整数量统计</span></div>
<!-- <img src="@/assets/images/index/title-icon-zntb.png" /> -->
</div>
<div class="cnt">
<!-- 树状图 -->
<div class="echart" id="mychart" :style="myChartStyle"></div>
@ -125,6 +130,8 @@
三类群体开展相关的社区服务和活动
</p>
</div> -->
<!-- <el-tabs v-model="activeName" style="width:100%">
<el-tab-pane label="居民分类信息不完整数量统计" name="resi">
<div class="cnt-right">
@ -175,24 +182,23 @@
<div class="m-box m-tb">
<div class="wrap">
<div class="header">
<img src="@/assets/images/index/title-icon-zntb.png" />
<span>不满意事项月度趋势分析</span>
<div class="newqsa"><span>不满意事项(月度)趋势分析</span></div>
<!-- <img src="@/assets/images/index/title-icon-zntb.png" /> -->
</div>
</div>
<!-- <div class="more">更多></div> -->
<div class="cnt">
<div id="my_chart" style="width: 100%; height: 230px; position: relative; top: -10px"></div>
<div id="my_chart" style="width: 100%; height: 230px; position: relative; top: -30px"></div>
</div>
</div>
</div>
<div class="g-row-right">
<div class="g-row-right" style="margin-right: 20px;">
<div class="m-box m-tx">
<div class="header">
<div class="newqsa"><span>消息提醒</span></div>
<!-- <img src="@/assets/images/index/title-icon-zntx.png" /> -->
<span>消息提醒</span>
</div>
<div class="more" @click="toNoticePage">更多></div>
<div class="cnt" v-if="noticeData.length > 0">
@ -228,14 +234,14 @@
</div>
</div>
<div class="white-box">
<!-- <div class="white-box"> -->
<div class="m-box m-tx" style="">
<div class="noe-text"> <span style="margin-top: 10px;">居民分类更新情况</span> <span class="update-settings"
style="margin-top: 10px;"><img referrerpolicy="no-referrer"
src="https://lanhu.oss-cn-beijing.aliyuncs.com/pskhmf0717eflwg54wn73s6spnsg6u48r0f69e94b-2bc8-4156-8330-902087b72e0b" />更新设置</span>
</div>
<el-tabs v-model="activeName" style="width:100%;margin-top: 30px;">
<div class="table-container">
<el-tabs v-model="activeName" style="width:100%;">
<div class="table-container" style="height: 300px; overflow: auto;">
<table class="table">
<thead>
<tr>
@ -249,7 +255,7 @@
</thead>
<tbody>
<tr v-for="(item, index) in tableList" :key="item.code">
<td>{{ item.shenfen }}</td>
<td style="opacity: 0.5;">{{ item.shenfen }}</td>
<td style="color: #2683DB;">{{ item.zongNumber }}</td>
<td style="color: red;">{{ item.noAllNuber }}</td>
<td class="special-header">{{ item.fuzeren }}</td>
@ -261,7 +267,6 @@
</div>
</el-tabs>
</div>
</div>
</div>
<fastcall ref="fastcall" />
@ -301,7 +306,7 @@ export default {
{ shenfen: '党员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '党员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '党员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '保障房人员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '党员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '党员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
{ shenfen: '党员', zongNumber: '10', noAllNuber: '1', fuzeren: '王五', zhouqi: '1', addNum: '1' },
@ -333,7 +338,7 @@ export default {
noticeData: [],
activeName: "resi",
numberLiM: [{ mer: 720, bilv: 0.45 }, { mer: 724, bilv: 0.56 }, { mer: 718, bilv: 0.54 }, { mer: 725, bilv: 0.69 }, { mer: 727, bilv: 0.36 }, { mer: 728, bilv: 0.64 }, { mer: 725, bilv: 0.78 }, { mer: 750, bilv: 0.25 }, { mer: 760, bilv: 0.96 }, { mer: 700, bilv: 0.38 }, { mer: 710, bilv: 0.62 }],
numberLiM: [{ mer: 820, bilv: 0.45 }, { mer: 724, bilv: 0.56 }, { mer: 718, bilv: 0.54 }, { mer: 725, bilv: 0.69 }, { mer: 727, bilv: 0.36 }, { mer: 728, bilv: 0.64 }, { mer: 725, bilv: 0.78 }, { mer: 750, bilv: 0.25 }, { mer: 760, bilv: 0.96 }, { mer: 700, bilv: 0.38 }, { mer: 710, bilv: 0.62 }],
myChart: {},
agencyLevel: '',
xData: ["党员", "残疾人", "退役军人", "失业人员", "低保人员", "保障房人员", "特殊人员", "大病人员", "慢病人员", "特扶人员", "老年人"],
@ -364,7 +369,7 @@ export default {
// }
// },725,165,765,742,710,720,730,735,762,754
],
myChartStyle: { float: "left", width: "120%", height: "500px"},
myChartStyle: { float: "left", width: "140%", height: "100%" },
}
},
computed: {
@ -414,11 +419,19 @@ export default {
initChart() {
this.$http.get("/governance/satisfactionOverview/notSatisfactionTrend").then(({ data: { data } }) => {
this.myChart = echarts.init(document.getElementById("my_chart"));
console.log("123123", data.series)
let series = data.series.map((item, index) => {
return {
...item,
type: "line",
lineStyle: { // lineStyle线
color: index === 0 ? '#F76828' : index === 1 ? '#EDB42D' : '#0056D6' //
},
symbol: 'none',
itemStyle: {
color: index === 0 ? '#F76828' : index === 1 ? '#EDB42D' : '#0056D6' //
}
};
});
let option = {
@ -436,7 +449,7 @@ export default {
grid: {
left: "3%",
right: "4%",
bottom: "30%",
bottom: "15%",
containLabel: true,
},
toolbox: {
@ -651,19 +664,77 @@ export default {
xAxis: {
type: 'category',
axisLabel: {
rotate: -45,
// textStyle: {
// fontSize: 9.1
// }
// rotate: -45,
textStyle: {
fontSize: 10
}
},
axisTick: {
show: false, // x线
},
data: this.xData,
},
yAxis: {},
graphic: [{ //
type: 'group',
left: 'center',
bottom: 20,
z: 100,
children: [
{
type: 'rect',
left: 0,
// top: 'middle',
shape: {
width: 30,
height: 6,
},
style: {
fill: '#0056D6', //
},
},
{
type: 'text',
left: 35,
// top: 'middle',
style: {
text: '分类居民总数',
fill: '#333',
fontSize: 12,
// fontWeight: 'bold',
},
},
{
type: 'rect',
left: 130,
// top: 'middle',
shape: {
width: 30,
height: 6,
},
style: {
fill: '#FFDB84 ', //
},
},
{
type: 'text',
left: 170,
// top: 'middle',
style: {
text: '分类信息不完整数',
fill: '#333',
fontSize: 12,
// fontWeight: 'bold',
},
},
],
}],
series: [
{
type: "bar", //
barWidth: '40%',
type: "bar",
barWidth: '30%',
barGap: '20%',
data: this.yData,
},
],
@ -674,6 +745,16 @@ export default {
window.addEventListener("resize", () => {
myChart.resize();
});
myChart.on("click", (e) => {
console.log("123123123112", e.name);
this.$router.push({
path: "/main/base-resi",
query: {
param1: e.name,
}
});
});
},
ehso() {
this.yData = this.numberLiM.map(item => ({
@ -700,7 +781,7 @@ export default {
}));
},
},
},
};
</script>

Loading…
Cancel
Save