Browse Source

社区查询

V1.0
dai 3 years ago
parent
commit
8715f261ff
  1. 4
      src/assets/scss/common-dai.scss
  2. 11
      src/views/modules/home/notice.vue
  3. 493
      src/views/modules/shequ/chaxun.vue

4
src/assets/scss/common-dai.scss

@ -846,3 +846,7 @@ html .el-form-item__label {
color: #333;
}
}
.g-cnt-wrap {
padding: 12px 6px;
}

11
src/views/modules/home/notice.vue

@ -11,7 +11,7 @@
</div>
<!-- <div class="btn-clear">清除未读</div> -->
<div class="cnt">
<div class="item">
<div class="item z-readed">
<img
class="item-tag"
src="@/assets/images/index/title-icon-zntb.png"
@ -47,7 +47,7 @@
src="@/assets/images/index/title-icon-zntb.png"
/>
<div class="item-title">
鞍山路小区12号楼2单元202户房屋状态于2022年9月12日由自住变更为出租···
鞍山路小区12号楼2单元202户房屋状态于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租于2022年9月12日由自住变更为出租···
</div>
<div class="item-date">2022-09-12 10:25</div>
</div>
@ -147,6 +147,10 @@ export default {
overflow: hidden;
padding: 0 12px;
.z-readed {
opacity: 0.5;
}
.item {
display: flex;
align-items: center;
@ -163,10 +167,9 @@ export default {
height: 24px;
}
.item-title {
@include toe;
// @include toe;
width: 60%;
margin-right: 100px;
height: 22px;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;

493
src/views/modules/shequ/chaxun.vue

@ -1,35 +1,29 @@
<template>
<div>
<div v-show="currentPage == 'chaxun'">
<div v-show="!showedFuncPanel">
<div class="m-info">
<div class="g-cnt-wrap">
<div class="m-box m-search">
<div class="wrap">
<div class="logo">
<img src="@/assets/img/shequ/logo.png" />
<div class="title">
<span>社区查询</span>
</div>
<div class="search">
<div class="input">
<el-dropdown
class="select"
placement="bottom"
v-model="searchData.type"
@command="(type) => (searchData.type = type)"
<div class="tabs">
<div
:class="{ 'z-on': searchData.type == 'jumin' }"
@click="searchData.type = 'jumin'"
>
<span class="select-show">
{{
{ jumin: "居民", fangwu: "房屋", xuqiu: "需求" }[
searchData.type
]
}}<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="jumin">居民</el-dropdown-item>
<el-dropdown-item command="fangwu">房屋</el-dropdown-item>
<el-dropdown-item command="xuqiu">需求</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
查居民
</div>
<div
:class="{ 'z-on': searchData.type == 'fangwu' }"
@click="searchData.type = 'fangwu'"
>
查房屋
</div>
</div>
<div class="search">
<div class="search-input">
<div class="input">
<input
type="text"
:placeholder="typePlaceholder[searchData.type]"
@ -45,9 +39,17 @@
<img src="@/assets/img/shequ/close.png" />
</div>
</div>
<div class="btn" @click="handleClickSearchBtn">搜索</div>
<div class="btn" @click="handleClickSearchBtn">查一下</div>
</div>
<div class="btn2" @click="handleClickSearchBtn">
<img src="@/assets/images/index/i-search.png" />
智能搜索
</div>
</div>
</div>
</div>
<div class="m-box">
<div
class="m-tb"
v-if="
@ -78,9 +80,7 @@
align="center"
:show-overflow-tooltip="true"
:width="
item.itemType === 'radio'
? computedWidth(item.label)
: 180
item.itemType === 'radio' ? computedWidth(item.label) : 180
"
>
<template slot-scope="scope">
@ -136,11 +136,7 @@
align="center"
width="50"
/>
<el-table-column
prop="houseName"
label="房屋名称"
width="120"
>
<el-table-column prop="houseName" label="房屋名称" width="120">
</el-table-column>
<el-table-column
prop="neighborHoodName"
@ -150,29 +146,17 @@
</el-table-column>
<el-table-column prop="buildingName" label="所属楼栋">
</el-table-column>
<el-table-column prop="unitNum" label="单元号">
</el-table-column>
<el-table-column prop="doorName" label="门牌号">
</el-table-column>
<el-table-column prop="houseType" label="类型">
</el-table-column>
<el-table-column prop="purpose" label="用途">
</el-table-column>
<el-table-column prop="unitNum" label="单元号"> </el-table-column>
<el-table-column prop="doorName" label="门牌号"> </el-table-column>
<el-table-column prop="houseType" label="类型"> </el-table-column>
<el-table-column prop="purpose" label="用途"> </el-table-column>
<el-table-column prop="rentFlag" label="房屋状态">
</el-table-column>
<el-table-column prop="ownerName" label="房主姓名">
</el-table-column>
<el-table-column
prop="ownerPhone"
label="房主电话"
width="110"
>
<el-table-column prop="ownerPhone" label="房主电话" width="110">
</el-table-column>
<el-table-column
prop="ownerIdCard"
label="身份证"
width="170"
>
<el-table-column prop="ownerIdCard" label="身份证" width="170">
</el-table-column>
<el-table-column
label="操作"
@ -287,253 +271,6 @@
>
<div class="tb"></div>
</div>
<div class="m-list" v-if="searchStatus == 'ini'">
<div class="list-title">常用功能</div>
<div class="list">
<div
class="item"
:key="item.menuId"
@click="handleClickFunc(item)"
v-for="item in funcList"
>
<div class="icon">
<div
class="icon-wrap"
:style="{
color: item.color ? '#fff' : '#333',
backgroundColor: item.color || '#f4f4f4',
}"
>
<svg
class="icon-svg aui-sidebar__menu-icon"
aria-hidden="true"
>
<use :xlink:href="`#${item.icon}`" />
</svg>
</div>
</div>
<p>{{ item.menuName }}</p>
</div>
<div class="item" @click="showedFuncPanel = true">
<div class="icon">
<img
src="@/assets/img/shequ/function/tianjiayingyong.png"
/>
</div>
<p>添加应用</p>
</div>
</div>
</div>
</div>
</div>
<div class="m-data" v-if="searchStatus == 'ini'">
<div class="wrap">
<div class="header">
<div class="headline">人员预警</div>
<div class="notice" v-if="noticeList.length > 0">
<div class="notice-btn" @click="toNoticeInfo">通知</div>
<div class="notice-list">
<scroll-notice :list="noticeList">
<a
class="notice-item"
v-for="(item, index) in noticeList"
:key="item.configId + item.buildingId + index"
@click="toNoticeInfo(item)"
>
{{ item.noticeContent }}
</a>
</scroll-notice>
</div>
</div>
</div>
<div class="cnt">
<div class="chart">
<bar-chart
:width="520"
:height="420"
v-if="warningChart.loading"
:total="warningChart.total"
:list="warningChart.list"
@clickBar="changeCategoryCode"
/>
</div>
<div class="tb">
<el-table
:data="warningTb.list"
border
style="width: 100%"
class="resi-table"
:max-height="maxTableHeight"
>
<el-table-column
label="序号"
type="index"
align="center"
width="50"
/>
<el-table-column prop="typeName" label="类型">
</el-table-column>
<el-table-column prop="gridName" label="所属网格">
</el-table-column>
<el-table-column prop="name" label="姓名" width="80">
</el-table-column>
<el-table-column prop="family" label="所属家庭">
</el-table-column>
<el-table-column prop="mobile" label="电话">
</el-table-column>
<el-table-column
fixed="right"
label="操作"
align="center"
width="60"
>
<template slot-scope="scope">
<el-button
@click="handleWatchWarning(scope.$index)"
type="text"
size="small"
>查看</el-button
>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination
@size-change="handleSizeChangeWarning"
@current-change="handleCurrentChangeWarning"
:current-page.sync="warningTb.pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="parseInt(warningTb.pageSize)"
layout="sizes, prev, pager, next, total"
:total="warningTb.total"
>
</el-pagination>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 修改弹出框 -->
<div
v-show="showedFuncPanel"
v-if="
Array.isArray($store.state.sidebarMenuList) &&
$store.state.sidebarMenuList.length > 0
"
>
<div class="m-panel">
<div
class="m-list"
v-if="selectedFuncList && selectedFuncList.length > 0"
>
<div class="list-title">常用功能</div>
<div class="list">
<div
class="item"
:key="item.menuId"
@click="selectFuncItem(item.menuId)"
v-for="item in selectedFuncList"
>
<div class="corner-mark z-on">
<i class="el-icon-success"></i>
</div>
<div class="icon">
<div
class="icon-wrap"
:style="{
color: item.color ? '#fff' : '#333',
backgroundColor: item.color || '#f4f4f4',
}"
>
<svg
class="icon-svg aui-sidebar__menu-icon"
aria-hidden="true"
>
<use :xlink:href="`#${item.icon}`" />
</svg>
</div>
</div>
<p>{{ item.menuName }}</p>
</div>
</div>
</div>
<div class="m-list">
<div class="list-title">所有功能</div>
<div
:key="'one' + menu.id"
v-show="menu.children && menu.children.length > 0"
v-for="menu in $store.state.sidebarMenuList"
>
<div class="list-title2">{{ menu.name }}</div>
<div class="list">
<div
class="item"
:key="'two' + item.id"
@click="selectFuncItem(item.id)"
v-for="item in menu.children"
>
<div
class="corner-mark"
:class="{
'z-on': selectedFuncIdList.indexOf(item.id) !== -1,
}"
>
<i class="el-icon-success"></i>
</div>
<div class="icon">
<div
class="icon-wrap"
:style="{
color: item.color ? '#fff' : '#333',
backgroundColor: item.color || '#f4f4f4',
}"
>
<svg
class="icon-svg aui-sidebar__menu-icon"
aria-hidden="true"
>
<use :xlink:href="`#${item.icon}`" />
</svg>
</div>
</div>
<p>{{ item.name }}</p>
</div>
</div>
</div>
</div>
<div class="operate">
<el-button round @click="showedFuncPanel = false">返回</el-button>
<el-button type="primary" round @click="editFuncList"
>确认</el-button
>
</div>
</div>
</div>
</div>
<div v-if="currentPage == 'yujing'">
<div class="m-crumbs">
<a @click="currentPage = 'chaxun'">社区查询</a>
<i> > </i>
<span>人员预警</span>
</div>
<warning-list
:buildingId="currentNoticeBuildingId"
:configId="currentNoticeConfigId"
/>
</div>
<people-more
@ -1180,4 +917,158 @@ export default {
};
</script>
<style lang="scss" src="@/assets/scss/modules/search.scss" scoped></style>
<style lang="scss" scoped>
.m-box {
position: relative;
padding: 24px 16px;
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;
}
.m-search {
box-sizing: border-box;
padding: 40px 80px;
margin-bottom: 16px;
background-size: 100%;
.title {
height: 47px;
font-size: 32px;
font-family: SourceHanSansSC-Medium, SourceHanSansSC;
font-weight: 500;
color: #0056d6;
line-height: 47px;
text-align: center;
}
.tabs {
width: 692px;
margin: 24px auto 0;
display: flex;
align-items: center;
> div {
position: relative;
margin-right: 30px;
width: 56px;
height: 24px;
font-size: 14px;
line-height: 24px;
border-radius: 2px;
color: #0056d6;
text-align: center;
cursor: pointer;
&.z-on {
color: #ffffff;
background: #0056d6;
&::after {
content: "";
display: block;
position: absolute;
bottom: -10px;
left: 0;
right: 0;
margin: 0 auto;
width: 0;
height: 0;
border: 5px solid transparent;
border-top: 5px solid #0056d6;
}
}
}
}
.search {
width: 692px;
margin: 15px auto 0;
display: flex;
align-items: center;
.search-input {
position: relative;
width: 560px;
height: 48px;
background: #ffffff;
border-radius: 4px;
border: 1px solid #0056d6;
display: flex;
.input {
position: relative;
width: calc(100% - 100px);
input {
margin-left: 20px;
width: calc(100% - 10px);
border: none;
height: 44px;
line-height: 44px;
font-family: "思源宋体";
font-size: 16px;
font-weight: 400;
color: #333;
}
.close-btn {
position: absolute;
right: 0;
top: 0;
bottom: 0;
margin: auto 0;
width: 18px;
height: 18px;
background-color: #eee;
border-radius: 100%;
cursor: pointer;
img {
display: block;
margin: 4px auto;
width: 10px;
height: 10px;
opacity: 0.3;
}
}
}
.btn {
margin: 7px 9px 0 auto;
line-height: 32px;
width: 66px;
height: 32px;
background: #0056d6;
border-radius: 2px;
text-align: center;
font-size: 15px;
font-family: Source Han Serif CN;
font-weight: 500;
color: #ffffff;
color: #ffffff;
cursor: pointer;
}
}
.btn2 {
margin-left: 35px;
width: 100px;
height: 39px;
line-height: 39px;
border-radius: 6px;
text-align: center;
font-size: 16px;
font-family: Source Han Serif CN;
font-weight: 500;
color: #0056d6;
cursor: pointer;
img {
width: 20px;
height: 20px;
margin-right: 8px;
}
}
}
}
.m-list {
}
</style>

Loading…
Cancel
Save