jiangyy 3 years ago
parent
commit
6440867b09
  1. 14
      src/assets/scss/common.scss
  2. 9
      src/views/components/resiChangeTransfer.vue
  3. 2640
      src/views/components/resiForm.vue
  4. 2
      src/views/components/resiSearch.vue
  5. 33
      src/views/main-navbar.vue
  6. 2
      src/views/modules/base/huji/immigration/detail.vue
  7. 6
      src/views/modules/base/huji/immigration/edit.vue
  8. 16
      src/views/modules/base/huji/immigration/index.vue
  9. 181
      src/views/modules/base/resi.vue
  10. 101
      src/views/modules/home/index.vue
  11. 484
      src/views/modules/plugins/change/changedeath.vue
  12. 911
      src/views/modules/plugins/change/changerelocation.vue
  13. 14
      src/views/modules/plugins/change/resideathAdd.vue
  14. 726
      src/views/modules/shequ/chaxun.vue
  15. 4
      src/views/modules/shequ/cpts/fangwu-info.vue

14
src/assets/scss/common.scss

@ -420,6 +420,20 @@ img {
height: 24px;
vertical-align: middle;
overflow: hidden;
@keyframes flicker {
/* 旋转沿x轴旋转-10度,再绕y轴旋转 */
0% {
opacity: 0.1;
}
100% {
opacity: 1;
}
}
&.z-on {
animation: flicker 0.9s linear infinite;
}
img {
position: relative;
display: block;

9
src/views/components/resiChangeTransfer.vue

@ -299,6 +299,7 @@ export default {
this.dataForm.oldDept = "";
this.dataForm.oldAddress = data.houseName;
this.dataForm.ownerName = data.ownerName;
this.dataForm.oldHouseMergeId = data.id;
} else {
this.$message.error(msg);
}
@ -511,12 +512,16 @@ export default {
async saveForm() {
// saveOutOfInfo
const url = "/epmetuser/changeRelocation/moveOutHome";
const url = "/actual/base/residentMoveOutRecord/saveOutOfInfo";
let noData = new Date();
noData = util.dateFormatter(noData, "time");
this.dataForm.transferTime = noData;
const { data, code, msg } = await requestPost(url, this.dataForm);
const { data, code, msg } = await requestPost(url, {
...this.dataForm,
deptId: this.dataForm.gridId,
deptName: this.dataForm.gridName,
});
if (code === 0) {
this.$message.success("操作成功");

2640
src/views/components/resiForm.vue

File diff suppressed because it is too large

2
src/views/components/resiSearch.vue

@ -890,7 +890,7 @@ export default {
}
</script>
<style lang="scss" scope>
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/list-main.scss";
.header_form_box {

33
src/views/main-navbar.vue

@ -76,8 +76,8 @@
</div>
</el-menu-item>
<el-menu-item index="2" @click="fullscreenHandle()">
<div class="img-nav">
<el-menu-item index="2" @click="toRemindPage">
<div class="img-nav" :class="{ 'z-on': reminding }">
<img src="~@/assets/images/main/hint.png" />
</div>
</el-menu-item>
@ -121,6 +121,9 @@ import { mapGetters } from "vuex";
import screenfull from "screenfull";
import UpdatePasswordWork from "./main-navbar-update-password-work";
import { clearLoginInfo } from "@/utils";
import { requestPost } from "@/js/dai/request";
import nextTick from "dai-js/tools/nextTick";
export default {
inject: ["refresh"],
data() {
@ -129,6 +132,8 @@ export default {
i18nMessages: messages,
updatePassowrdVisible: false,
customerName: "",
reminding: false,
};
},
components: {
@ -145,6 +150,8 @@ export default {
}
this.changeCustomerName();
console.log("=============================", this.userType);
this.pollGetRemindData();
},
computed: {
userType() {
@ -152,6 +159,10 @@ export default {
},
},
methods: {
toRemindPage() {
this.$router.replace("/main/home-notice");
},
toIndexPage() {
this.$router.replace("/index");
},
@ -235,9 +246,27 @@ export default {
})
.catch(() => {});
},
async pollGetRemindData() {
this.getRemindData();
await nextTick(60000);
this.pollGetRemindData();
},
//
async getRemindData() {
const url = "/actual/base/residentBaseInfo/communitySearch";
const { data, code, msg } = await requestPost(url, {});
if (code === 0) {
console.log("列表请求成功!!!!!!!!!!!!!!");
this.reminding = data;
} else {
}
},
},
};
</script>
<style lang="scss" scoped>
.main-line {
height: 50px;

2
src/views/modules/base/huji/immigration/detail.vue

@ -115,7 +115,7 @@ export default {
},
async getDatail (moveInId) {
let url = '/epmetuser/icMoveIn/detail'
let url = '/actual/base/residentMoveInRecord/detail'
const params = {
moveInId: moveInId || ''

6
src/views/modules/base/huji/immigration/edit.vue

@ -678,7 +678,7 @@ export default {
}
},
async getDatail (moveInId) {
let url = '/epmetuser/icMoveIn/detail'
let url = '/actual/base/residentMoveInRecord/detail'
const params = {
moveInId: moveInId || ''
@ -737,9 +737,9 @@ export default {
let url = ''
if (this.formType === 'add') {
url = '/epmetuser/icMoveIn/add'
url = '/actual/base/residentMoveInRecord/add'
} else {
url = '/epmetuser/icMoveIn/edit'
url = '/actual/base/residentMoveInRecord/edit'
this.fmData.orgId = this.orgId
}

16
src/views/modules/base/huji/immigration/index.vue

@ -127,7 +127,7 @@
</el-date-picker>
</el-form-item>
<el-form-item label="享受福利"
<!-- <el-form-item label="享受福利"
prop="remark">
<el-select v-model.trim="fmData.isWeifare"
placeholder="享受福利"
@ -140,7 +140,7 @@
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<div class="u-search-btn">
<el-button class="diy-button--white"
@ -439,7 +439,7 @@ export default {
name: '',
mobile: '',
idCard: '',
isWeifare: '', //01
// isWeifare: '', //01
startTime: '',
endTime: ''
},
@ -638,7 +638,7 @@ export default {
},
async handleExportModule () {
let url = '/heart/iccommunityselforganization/import-template-download'
let url = '/actual/base/residentMoveInRecord/export'
let params = {}
await this.$http({
@ -790,7 +790,7 @@ export default {
async handleChu () {
const url =
'/epmetuser/icMoveIn/export'
'/actual/base/residentMoveInRecord/export'
const { pageSize, pageNo, fmData } = this
await this.$http({
method: 'POST',
@ -916,7 +916,7 @@ export default {
async handleDel (rowData, rowIndex) {
console.log(rowData, rowIndex)
const url =
'/heart/iccommunityselforganization/delcommunityselforganization'
'/actual/base/residentMoveInRecord/deleteById'
const { tableData } = this
const { data, code, msg } = await requestPost(url, {
@ -932,7 +932,7 @@ export default {
},
async handleDelNew (rowData) {
const url = "/epmetuser/icMoveIn/deleteById";
const url = "/actual/base/residentMoveInRecord/deleteById";
let params = {
id: rowData.moveInId
}
@ -946,7 +946,7 @@ export default {
},
async getTableData () {
const url = '/epmetuser/icMoveIn/list'
const url = '/actual/base/residentMoveInRecord/list'
const { pageSize, pageNo, fmData } = this
const { data, code, msg } = await requestPost(url, {
pageSize,

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

@ -244,7 +244,7 @@
>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
v-if="btnAuths.ic_resi_change_rec"
v-if="false && btnAuths.ic_resi_change_rec"
command="bgjl"
>变更记录</el-dropdown-item
>
@ -385,68 +385,6 @@
</div>
</el-dialog>
<el-dialog
:title="formName"
:visible.sync="dialogEditVisible"
width="986px"
top="5vh"
height="750px"
append-to-body
class="dialog-h"
:close-on-click-modal="false"
:before-close="handlerEditCancle"
>
<div class="dialog-h-content scroll-h">
<edit-resi
v-if="dialogEditVisible"
ref="baseForm"
:disabled="disabled"
:editUserId="editUserId"
:form-info="editForm"
:fixed="true"
:form-list="formList"
:agency-id="editAgencyId"
@changegroup="handleChangeGroup"
/>
<div v-if="dialogEditVisible" class="resi-other">
<div class="resi-other-title">其他</div>
<div class="tabs-other-info">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane
v-for="item in tabsList"
:key="item.groupId"
:label="item.label"
:name="'group' + item.groupId"
>
<edit-resi
:ref="'group' + item.groupId"
:columns="3"
:support-add="item.supportAdd"
:form-id="item.columnName"
:muti-list="item.mutiList"
:form-list="item.itemList"
:disabled="disabled"
:label-width="'140px'"
:agency-id="editAgencyId"
/>
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
<div class="resi-btns">
<el-button size="small" @click="handlerEditCancle">取消</el-button>
<el-button
v-if="!disabled"
type="primary"
size="small"
:loading="btnLoading"
@click="handleEditSUbmit"
>提交</el-button
>
</div>
</el-dialog>
<!-- 变更记录 -->
<el-dialog
:visible.sync="changeRecordShow"
@ -522,7 +460,6 @@ import nextTick from "dai-js/tools/nextTick";
import resiSearch from "../../components/resiSearch.vue";
import resiForm from "../../components/resiForm.vue";
import resiInfo from "../../components/resiInfo.vue";
import editResi from "../../components/editResi.vue";
import axios from "axios";
import { mapGetters } from "vuex";
import resiTransfer from "../../components/resiTransfer.vue";
@ -541,7 +478,6 @@ export default {
resiSearch,
resiForm,
resiInfo,
editResi,
resiTransfer,
resiChangeRecord,
diyInfo,
@ -1225,63 +1161,70 @@ export default {
},
async handleSUbmit() {
const _baseForm = this.$refs.baseForm.submit_from();
(_baseForm.partyFlag = parseInt(_baseForm.partyFlag)), //
(_baseForm.subsistenceAllowanceFlag = parseInt(
_baseForm.subsistenceAllowanceFlag
)), //
(_baseForm.ensureHouseFlag = parseInt(_baseForm.ensureHouseFlag)), //
(_baseForm.unemployedFlag = parseInt(_baseForm.unemployedFlag)), //
(_baseForm.fertileWomanFlag = parseInt(_baseForm.fertileWomanFlag)), //
(_baseForm.veteranFlag = parseInt(_baseForm.veteranFlag)), //退
(_baseForm.unitedFrontFlag = parseInt(_baseForm.unitedFrontFlag)), //
(_baseForm.petitionOfficerFlag = parseInt(
_baseForm.petitionOfficerFlag
)), //访
(_baseForm.volunteerFlag = parseInt(_baseForm.volunteerFlag)), //
(_baseForm.bereavedPersonFlag = parseInt(_baseForm.bereavedPersonFlag)), //
(_baseForm.tenantFlag = parseInt(_baseForm.tenantFlag)), //
(_baseForm.floatingFlag = parseInt(_baseForm.floatingFlag)), //
(_baseForm.specialCrowdFlag = parseInt(_baseForm.specialCrowdFlag)), //
(_baseForm.oldPeopleFlag = parseInt(_baseForm.oldPeopleFlag)), //
(_baseForm.emptyNesterFlag = parseInt(_baseForm.emptyNesterFlag)), //
(_baseForm.liveAloneFlag = parseInt(_baseForm.liveAloneFlag)), //
(_baseForm.disabledFlag = parseInt(_baseForm.disabledFlag)), //
(_baseForm.dementedFlag = parseInt(_baseForm.dementedFlag)), //
(_baseForm.disabilityFlag = parseInt(_baseForm.disabilityFlag)), //
(_baseForm.seriousIllnessFlag = parseInt(_baseForm.seriousIllnessFlag)), //
(_baseForm.chronicDiseaseFlag = parseInt(_baseForm.chronicDiseaseFlag)); //
if (_baseForm.hobbyInfoDto) {
if ((_baseForm.hobbyInfoDto.hobbyCode = [])) {
_baseForm.hobbyInfoDto.hobbyCode = "";
} else {
_baseForm.hobbyInfoDto.hobbyCode.forEach((element) => {
_baseForm.hobbyInfoDto.hobbyCode =
_baseForm.hobbyInfoDto.hobbyCode ? _baseForm.hobbyInfoDto.hobbyCode + "," + element : _baseForm.hobbyInfoDto.hobbyCode;
});
}
if (!this.$refs.baseForm.submit_from()) {
return
}
const _baseForm = JSON.parse(this.$refs.baseForm.submit_from())
_baseForm.partyFlag = parseInt(_baseForm.partyFlag) //
_baseForm.subsistenceAllowanceFlag = parseInt(_baseForm.subsistenceAllowanceFlag) //
_baseForm.ensureHouseFlag = parseInt(_baseForm.ensureHouseFlag) //
_baseForm.unemployedFlag = parseInt(_baseForm.unemployedFlag) //
_baseForm.fertileWomanFlag = parseInt(_baseForm.fertileWomanFlag), //
_baseForm.veteranFlag = parseInt(_baseForm.veteranFlag) //退
_baseForm.unitedFrontFlag = parseInt(_baseForm.unitedFrontFlag) //
_baseForm.petitionOfficerFlag = parseInt(_baseForm.petitionOfficerFlag) //访
_baseForm.volunteerFlag = parseInt(_baseForm.volunteerFlag) //
_baseForm.bereavedPersonFlag = parseInt(_baseForm.bereavedPersonFlag) //
_baseForm.tenantFlag = parseInt(_baseForm.tenantFlag) //
_baseForm.floatingFlag = parseInt(_baseForm.floatingFlag) //
_baseForm.specialCrowdFlag = parseInt(_baseForm.specialCrowdFlag) //
_baseForm.oldPeopleFlag = parseInt(_baseForm.oldPeopleFlag) //
_baseForm.emptyNesterFlag = parseInt(_baseForm.emptyNesterFlag) //
_baseForm.liveAloneFlag = parseInt(_baseForm.liveAloneFlag) //
_baseForm.disabledFlag = parseInt(_baseForm.disabledFlag) //
_baseForm.dementedFlag = parseInt(_baseForm.dementedFlag) //
_baseForm.disabilityFlag = parseInt(_baseForm.disabilityFlag) //
_baseForm.seriousIllnessFlag = parseInt(_baseForm.seriousIllnessFlag) //
_baseForm.chronicDiseaseFlag = parseInt(_baseForm.chronicDiseaseFlag) //
var hobbyCode = ''
if (_baseForm.hobbyInfoDto) {
if (_baseForm.hobbyInfoDto.hobbyCode.length === 0) {
hobbyCode = "";
_baseForm.hobbyInfoDto.hobbyCode = hobbyCode
} else {
_baseForm.hobbyInfoDto.hobbyCode.forEach((element,index) => {
hobbyCode = index === 0 ? element : hobbyCode + "," + element
});
_baseForm.hobbyInfoDto.hobbyCode = hobbyCode
}
if (_baseForm.volunteerDto) {
if ((_baseForm.volunteerDto.volunteerCategory = [])) {
_baseForm.volunteerDto.volunteerCategory = "";
} else {
_baseForm.volunteerDto.volunteerCategory.forEach((element) => {
_baseForm.volunteerDto.volunteerCategory =
_baseForm.volunteerDto.volunteerCategory ? _baseForm.volunteerDto.volunteerCategory + "," + element : _baseForm.volunteerDto.volunteerCategory;
});
}
}
var volunteerCategory = ''
if (_baseForm.volunteerDto) {
if (_baseForm.volunteerDto.volunteerCategory.length === 0) {
volunteerCategory = "";
_baseForm.volunteerDto.volunteerCategory = volunteerCategory
} else {
_baseForm.volunteerDto.volunteerCategory.forEach((element,index) => {
volunteerCategory = index === 0 ? element : volunteerCategory + "," + element
});
_baseForm.volunteerDto.volunteerCategory = volunteerCategory
}
if (_baseForm.specialDto) {
if ((_baseForm.specialDto.specialCategoryCode = [])) {
_baseForm.specialDto.specialCategoryCode = "";
} else {
_baseForm.specialDto.specialCategoryCode.forEach((element) => {
_baseForm.specialDto.specialCategoryCode =
_baseForm.specialDto.specialCategoryCode ? _baseForm.specialDto.specialCategoryCode + "," + element : _baseForm.specialDto.specialCategoryCode;
});
}
}
var specialCategoryCode = ''
if (_baseForm.specialDto) {
if (_baseForm.specialDto.specialCategoryCode.length === 0) {
specialCategoryCode = "";
_baseForm.specialDto.specialCategoryCode = specialCategoryCode
} else {
_baseForm.specialDto.specialCategoryCode.forEach((element,index) => {
specialCategoryCode = index === 0 ? element : specialCategoryCode + "," + element
});
_baseForm.specialDto.specialCategoryCode = specialCategoryCode
}
this.submitAdd(_baseForm);
}
this.submitAdd(_baseForm);
},
handleDel(row) {
let params = {

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

@ -28,14 +28,14 @@
<input
type="text"
:placeholder="typePlaceholder[searchData.type]"
v-model="searchData.keyword"
v-model="searchData.searchKey"
@keyup.enter="handleClickSearchBtn"
/>
<div
class="close-btn"
v-if="searchData.keyword != ''"
@click="searchData.keyword = ''"
v-if="searchData.searchKey != ''"
@click="searchData.searchKey = ''"
>
<img src="@/assets/img/shequ/close.png" />
</div>
@ -63,7 +63,17 @@
<span>社区简介</span>
</div>
<p>
南宁路社区归属青岛市市北区阜新路街道划分为6个网格现有居民3500户8000其中常住人口7000人流动人口1000人各类群体分布如下
{{ deptName }}<span v-if="pandectData.gridCount"
>划分为{{ pandectData.underCount }}{{
pandectData.underName
}}</span
>现有居民{{ pandectData.homeCount }}{{
pandectData.resiCount
}}其中常住人口{{
pandectData.permanentResiCount
}}流动人口{{
pandectData.floatingResiCount
}}各类群体分布如下
</p>
<div class="subtitle">
@ -71,9 +81,13 @@
<span>分析结果</span>
</div>
<p class="hint">
<p class="hint" v-if="resiCategory.list.length > 0">
<i>*</i> 根据数据分析结果建议重点关注
<b>老年人低保人员残疾人</b>
<b
>{{ resiCategory.list[0].categoryName }}{{
resiCategory.list[1].categoryName
}}{{ resiCategory.list[2].categoryName }}</b
>
三类群体开展相关的社区服务和活动
</p>
</div>
@ -82,16 +96,16 @@
<div
class="item"
:key="item.code"
v-for="(item, index) in warningChart.list"
v-for="(item, index) in resiCategory.list"
>
<div>{{ ("0" + (index + 1)).substr(-2) }}.</div>
<div class="item-name">{{ item.name }}</div>
<div class="item-div"></div>
<div class="item-count">{{ item.count }}</div>
<div class="item-progress">
<b :style="{ width: item.count + '%' }"></b>
<b :style="{ width: item.per + '%' }"></b>
</div>
<div class="item-per">{{ item.count }} %</div>
<div class="item-per">{{ item.per }} %</div>
</div>
</div>
</div>
@ -232,7 +246,7 @@ export default {
searchStatus: "ini", //ing over
searchData: {
type: "jumin",
keyword: "",
searchKey: "",
},
typePlaceholder: {
@ -241,7 +255,7 @@ export default {
xuqiu: "请输入需求人或需求内容或服务方",
},
warningChart: {
resiCategory: {
loading: false,
total: "",
list: [],
@ -251,6 +265,16 @@ export default {
id: "",
level: "agency",
},
pandectData: {
communityName: "",
streetName: "",
gridCount: "",
resiCount: "",
homeCount: "",
floatingResiCount: "",
permanentResiCount: "",
},
};
},
computed: {
@ -261,7 +285,7 @@ export default {
...mapGetters(["clientHeight"]),
},
watch: {
"searchData.keyword": function (val) {
"searchData.searchKey": function (val) {
if (val == "") {
this.searchStatus = "ini";
}
@ -281,27 +305,28 @@ export default {
});
},
toSearchPage(type, keyword) {
toSearchPage(type, searchKey) {
this.$router.push({
path: "/main/shequ-chaxun",
query: {
type,
keyword,
searchKey,
},
});
},
handleClickSearchBtn() {
const {
searchData: { type, keyword },
searchData: { type, searchKey },
} = this;
if (!keyword) return this.$message.error("请输入搜索条件");
this.toSearchPage(type, keyword);
if (!searchKey) return this.$message.error("请输入搜索条件");
this.toSearchPage(type, searchKey);
},
async getApiData() {
await this.getOrgData();
this.getWarningList();
this.getPandectData();
},
//
@ -321,27 +346,43 @@ export default {
}
},
//
async getPandectData() {
const url = "/actual/base/residentHouseMerge/communityOverview";
let params = {
// orgId: "",
// level: "",
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0 && data) {
this.pandectData = data;
} else {
this.$message.error(msg);
}
},
//
async getWarningList() {
const url = "/epmetuser/statsresiwarn/list";
const url = "/actual/base/resiCategory/categoryCountList";
let params = {
id: this.orgData.id,
level: "agency",
// id: this.orgData.id,
// level: "agency",
};
this.resiCategory.loading = true;
const { data, code, msg } = await requestPost(url, params);
this.resiCategory.loading = false;
if (code === 0) {
this.warningChart.loading = true;
this.warningChart.total = data.reduce(
(total, item) => total + item.count,
0
);
this.warningChart.list = data.map((item) => {
if (code === 0 && data) {
this.resiCategory.count = data.resiCount;
this.resiCategory.list = data.categoryList.map((item) => {
return {
code: item.columnName,
name: item.label,
count: item.count,
code: item.categoryName,
name: item.categoryName,
count: item.categoryCount,
per: parseInt((100 * item.categoryCount) / data.resiCount),
const: "const",
};
});

484
src/views/modules/plugins/change/changedeath.vue

@ -1,128 +1,150 @@
<template>
<div class="g-main">
<div ref="searchDiv"
class="m-search">
<el-form :inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()"
label-width="100px">
<el-form-item label="姓名"
prop="name">
<el-input v-model="dataForm.name"
size="small"
class="u-item-width-normal"
clearable
placeholder="请输入姓名">
<div ref="searchDiv" class="m-search">
<el-form
:inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()"
label-width="100px"
>
<el-form-item label="姓名" prop="name">
<el-input
v-model="dataForm.name"
size="small"
class="u-item-width-normal"
clearable
placeholder="请输入姓名"
>
</el-input>
</el-form-item>
<el-form-item label="证件号"
prop="idCard">
<el-input v-model="dataForm.idCard"
size="small"
class="u-item-width-normal"
clearable
placeholder="请输入证件号">
<el-form-item label="证件号" prop="idCard">
<el-input
v-model="dataForm.idCard"
size="small"
class="u-item-width-normal"
clearable
placeholder="请输入证件号"
>
</el-input>
</el-form-item>
<el-form-item label="手机"
prop="mobile">
<el-input v-model="dataForm.mobile"
size="small"
class="u-item-width-normal"
clearable
placeholder="请输入手机">
<el-form-item label="手机" prop="mobile">
<el-input
v-model="dataForm.mobile"
size="small"
class="u-item-width-normal"
clearable
placeholder="请输入手机"
>
</el-input>
</el-form-item>
<el-form-item label="死亡时间"
prop="startTime">
<el-date-picker v-model="timeRange"
type="daterange"
class="u-item-width-daterange2"
size="small"
range-separator="至"
start-placeholder="选择日期"
end-placeholder="选择日期"
value-format="yyyy-MM-dd">
<el-form-item label="死亡时间" prop="startTime">
<el-date-picker
v-model="timeRange"
type="daterange"
class="u-item-width-daterange2"
size="small"
range-separator="至"
start-placeholder="选择日期"
end-placeholder="选择日期"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
<el-form-item label="享受福利"
prop="isWelfare">
<el-select v-model="dataForm.isWelfare"
size="small"
class="u-item-width-normal"
placeholder="请选择"
clearable>
<el-option v-for="item in isWelfareArr"
:key="item.dictValue"
:label="item.dictName"
:value="item.dictValue">
<!-- <el-form-item label="享受福利" prop="isWelfare">
<el-select
v-model="dataForm.isWelfare"
size="small"
class="u-item-width-normal"
placeholder="请选择"
clearable
>
<el-option
v-for="item in isWelfareArr"
:key="item.dictValue"
:label="item.dictName"
:value="item.dictValue"
>
</el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<div class="u-search-btn">
<el-button class="diy-button--white"
size="small"
@click="resetForm">重置</el-button>
<el-button style="margin-left:10px"
size="small"
class="diy-button--blue"
@click="getDataList">查询</el-button>
<el-button class="diy-button--white" size="small" @click="resetForm"
>重置</el-button
>
<el-button
style="margin-left: 10px"
size="small"
class="diy-button--blue"
@click="getDataList"
>查询</el-button
>
</div>
</el-form>
</div>
<div class="m-table">
<div class="u-table-btn1">
<el-button size="small"
class="diy-button--white"
@click="exportHandle()">{{ $t('export') }}</el-button>
<el-button
size="small"
class="diy-button--white"
@click="exportHandle()"
>{{ $t("export") }}</el-button
>
</div>
<el-table class="m-table-item"
v-loading="dataListLoading"
:data="dataList"
border>
<el-table
class="m-table-item"
v-loading="dataListLoading"
:data="dataList"
border
>
<!--<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>-->
<el-table-column label="序号"
type="index"
fixed="left"
align="center"
width="50">
<el-table-column
label="序号"
type="index"
fixed="left"
align="center"
width="50"
>
</el-table-column>
<!--<el-table-column prop="id" label="主键" header-align="center" align="center"></el-table-column>-->
<!--<el-table-column prop="userId" label="epmet用户主键" header-align="center" align="center"></el-table-column>-->
<el-table-column prop="name"
label="姓名"
header-align="center"
align="center">
<el-table-column
prop="name"
label="姓名"
header-align="center"
align="center"
>
<template slot-scope="scope">
<el-button @click="handleLook(scope.row)"
type="text"
size="small"
class="btn-color-look">{{scope.row.name}}</el-button>
<el-button
@click="handleLook(scope.row)"
type="text"
size="small"
class="btn-color-look"
>{{ scope.row.name }}</el-button
>
</template>
</el-table-column>
<el-table-column prop="idCard"
label="证件号"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="mobile"
label="手机号"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="gender"
label="性别"
header-align="center"
align="center">
<el-table-column
prop="idNum"
label="证件号"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="mobile"
label="手机号"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="gender"
label="性别"
header-align="center"
align="center"
>
<template slot-scope="scope">
{{
scope.row.gender == '2'
? "女"
: scope.row.gender
}}
{{ scope.row.gender == "2" ? "女" : scope.row.gender }}
</template>
</el-table-column>
<!--<el-table-column prop="type" label="类型" header-align="center" align="center">-->
@ -136,113 +158,137 @@
<!--}}-->
<!--</template>-->
<!--</el-table-column>-->
<el-table-column prop="deathDate"
label="死亡时间"
header-align="center"
align="center"></el-table-column>
<el-table-column
prop="deathDate"
label="死亡时间"
header-align="center"
align="center"
></el-table-column>
<!--<el-table-column prop="joinReason" label="加入原因" header-align="center" align="center"></el-table-column>-->
<!--<el-table-column prop="removeDate" label="移除时间" header-align="center" align="center"></el-table-column>-->
<!--<el-table-column prop="removeReason" label="移除原因" header-align="center" align="center"></el-table-column>-->
<!--<el-table-column prop="createdTime" label="创建时间" header-align="center" align="center"></el-table-column>-->
<!--<el-table-column prop="customerId" label="客户ID" header-align="center" align="center"></el-table-column>-->
<el-table-column :label="$t('handle')"
fixed="right"
header-align="center"
align="center"
width="140">
<el-table-column
:label="$t('handle')"
fixed="right"
header-align="center"
align="center"
width="140"
>
<template slot-scope="scope">
<el-button @click="handleLook(scope.row)"
type="text"
size="small"
class="div-table-button--blue">查看</el-button>
<el-button
@click="handleLook(scope.row)"
type="text"
size="small"
class="div-table-button--blue"
>查看</el-button
>
<!-- <el-button @click="handleChangeRecord(scope.row)"
type="text"
size="small"
class="div-table-button--blue">变更记录</el-button> -->
<!--<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>-->
<!--<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>-->
<el-popconfirm v-if="scope.row.status !== '0'"
title="确认恢复?"
@onConfirm="handleRecovery(scope.row)"
@confirm="handleRecovery(scope.row)">
<el-button slot="reference"
type="text"
size="small"
class="div-table-button--blue"
style="margin-left: 10px">恢复</el-button>
<el-popconfirm
style="margin-left: 10px"
v-if="scope.row.status !== '0'"
title="确认恢复?"
@onConfirm="handleRecovery(scope.row)"
@confirm="handleRecovery(scope.row)"
>
<el-button
slot="reference"
type="text"
size="small"
class="div-table-button--blue"
>恢复</el-button
>
</el-popconfirm>
</template>
</el-table-column>
</el-table>
<el-pagination :current-page="page"
:page-sizes="[10, 20, 50, 100]"
:page-size="limit"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="pageSizeChangeHandle"
@current-change="pageCurrentChangeHandle">
<el-pagination
:current-page="page"
:page-sizes="[10, 20, 50, 100]"
:page-size="limit"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="pageSizeChangeHandle"
@current-change="pageCurrentChangeHandle"
>
</el-pagination>
</div>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible"
ref="addOrUpdate"
@refreshDataList="getDataList"></add-or-update>
<people-more v-if="showedPeopleMoreInfo && lookInfo.userId"
:userId="lookInfo.userId"
:gridName="lookInfo.gridName"
@close="handleCancleLook" />
<add-or-update
v-if="addOrUpdateVisible"
ref="addOrUpdate"
@refreshDataList="getDataList"
></add-or-update>
<people-more
v-if="showedPeopleMoreInfo && lookInfo.userId"
:userId="lookInfo.userId"
:gridName="lookInfo.gridName"
@close="handleCancleLook"
/>
<!-- 变更记录 -->
<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>
</div>
</template>
<script>
import mixinViewModule from '@/mixins/view-module'
import AddOrUpdate from './changedeath-add-or-update'
import mixinViewModule from "@/mixins/view-module";
import AddOrUpdate from "./changedeath-add-or-update";
import peopleMore from "@/views/modules/shequ/cpts/people-more";
import nextTick from 'dai-js/tools/nextTick'
import resiChangeRecord from '../../../components/resiChangeRecord.vue'
import nextTick from "dai-js/tools/nextTick";
import resiChangeRecord from "../../../components/resiChangeRecord.vue";
import { requestPost } from "@/js/dai/request";
export default {
mixins: [mixinViewModule],
data () {
data() {
return {
mixinViewModuleOptions: {
getDataListURL: '/epmetuser/rentDeath/page',
getDataListURL: "/actual/base/residentDeathRecord/page",
getDataListIsPage: true,
deleteURL: '/epmetuser/rentDeath',
deleteURL: "/actual/base/residentDeathRecord/recovery",
deleteIsBatch: true,
exportURL: '/epmetuser/rentDeath/export'
exportURL: "/actual/base/residentDeathRecord/export",
},
timeRange: '',
timeRange: "",
dataForm: {
id: '',
name: '',
isWelfare: ''
id: "",
name: "",
idCard: "",
mobile: "",
startDate: "",
endDate: "",
// isWelfare: "",
},
//
showedPeopleMoreInfo: false,
lookInfo: {
userId: '',
gridName: ''
userId: "",
gridName: "",
},
isWelfareArr: [
{ dictValue: '0', dictName: '否' },
{ dictValue: '1', dictName: '是' }
{ dictValue: "0", dictName: "否" },
{ dictValue: "1", dictName: "是" },
],
changeRecordShow: false
}
changeRecordShow: false,
};
},
watch: {
timeRange (val) {
timeRange(val) {
if (Array.isArray(val) && val.length == 2) {
this.dataForm.startTime = val[0];
this.dataForm.endTime = val[1];
@ -250,21 +296,21 @@ export default {
this.dataForm.startTime = "";
this.dataForm.endTime = "";
}
}
},
},
components: {
AddOrUpdate,
peopleMore,
resiChangeRecord
resiChangeRecord,
},
methods: {
async handleRecovery (rowData) {
console.log('11111')
const url = "/epmetuser/rentDeath/recovery";
async handleRecovery(rowData) {
console.log("11111");
const url = "/actual/base/residentDeathRecord/recovery";
let params = {
id: rowData.id
}
id: rowData.id,
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success("恢复成功!");
@ -273,77 +319,83 @@ export default {
this.$message.success("操作失败!");
}
},
diaClose () {
this.changeRecordShow = false
diaClose() {
this.changeRecordShow = false;
},
//
async handleChangeRecord (row) {
this.changeRecordShow = true
async handleChangeRecord(row) {
this.changeRecordShow = true;
await nextTick(200)
await nextTick(200);
this.$refs.ref_changerecord.initForm(row)
this.$refs.ref_changerecord.initForm(row);
},
exportHandle () {
const url = this.mixinViewModuleOptions.exportURL
exportHandle() {
const url = this.mixinViewModuleOptions.exportURL;
this.$http({
method: 'GET',
method: "GET",
url,
responseType: 'blob',
params: this.dataForm
}).then(res => {
// this.download(res.data, title + '.xls')
if (res.headers["content-disposition"]) {
let fileName = window.decodeURI(res.headers["content-disposition"].split(";")[1].split("=")[1])
console.log('filename', fileName)
let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
var url = window.URL.createObjectURL(blob)
var aLink = document.createElement('a')
aLink.style.display = 'none'
aLink.href = url
aLink.setAttribute('download', fileName)
document.body.appendChild(aLink)
aLink.click()
document.body.removeChild(aLink) //
window.URL.revokeObjectURL(url) //blob
} else this.$message.error('下载失败')
}).catch(err => {
console.log('err', err)
return this.$message.error('网络错误')
responseType: "blob",
params: this.dataForm,
})
.then((res) => {
// this.download(res.data, title + '.xls')
if (res.headers["content-disposition"]) {
let fileName = window.decodeURI(
res.headers["content-disposition"].split(";")[1].split("=")[1]
);
console.log("filename", fileName);
let blob = new Blob([res.data], {
type: "application/vnd.ms-excel",
});
var url = window.URL.createObjectURL(blob);
var aLink = document.createElement("a");
aLink.style.display = "none";
aLink.href = url;
aLink.setAttribute("download", fileName);
document.body.appendChild(aLink);
aLink.click();
document.body.removeChild(aLink); //
window.URL.revokeObjectURL(url); //blob
} else this.$message.error("下载失败");
})
.catch((err) => {
console.log("err", err);
return this.$message.error("网络错误");
});
},
resetForm (formName) {
resetForm(formName) {
for (const n in this.dataForm) {
this.dataForm[n] = ''
this.dataForm[n] = "";
}
this.timeRange = ''
this.getDataList()
this.timeRange = "";
this.getDataList();
},
async handleLook (row) {
if (row.gridId !== '') {
const url = '/gov/org/grid/griddetail'
async handleLook(row) {
if (row.gridId !== "") {
const url = "/gov/org/grid/griddetail";
let params = {
gridId: row.gridId,
}
const { data, code, msg } = await requestPost(url, params)
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.lookInfo.gridName = data.gridName
this.lookInfo.gridName = data.gridName;
} else {
this.$message.error(msg)
this.$message.error(msg);
}
} else {
this.lookInfo.gridName = ''
this.lookInfo.gridName = "";
}
this.lookInfo.userId = row.userId
this.showedPeopleMoreInfo = true
this.lookInfo.userId = row.userId;
this.showedPeopleMoreInfo = true;
},
handleCancleLook () {
this.lookInfo.userId = ''
this.lookInfo.gridName = ''
this.showedPeopleMoreInfo = false
}
}
}
handleCancleLook() {
this.lookInfo.userId = "";
this.lookInfo.gridName = "";
this.showedPeopleMoreInfo = false;
},
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/list-main.scss";

911
src/views/modules/plugins/change/changerelocation.vue

File diff suppressed because it is too large

14
src/views/modules/plugins/change/resideathAdd.vue

@ -36,14 +36,14 @@
<el-form-item
label="死亡原因"
style="display: block"
prop="blacklistReason"
prop="deathReason"
>
<el-input
type="textarea"
resize="none"
class="u-edit-width-normal"
placeholder="请输入死亡原因"
v-model="dataForm.blacklistReason"
v-model="dataForm.deathReason"
>
</el-input>
</el-form-item>
@ -82,7 +82,7 @@ export default {
dataForm: {
name: "",
gridName: "",
blacklistReason: "",
deathReason: "",
deathDate: "",
},
};
@ -92,7 +92,7 @@ export default {
computed: {
dataRule() {
return {
blacklistReason: [
deathReason: [
{ required: true, message: "死亡原因不能为空", trigger: "blur" },
],
deathDate: [
@ -113,7 +113,7 @@ export default {
this.dataForm.mobile = row.mobile;
this.dataForm.gender = row.gender;
this.dataForm.type = "1";
this.dataForm.userId = row.resiId;
this.dataForm.resiId = row.resiId;
},
async handleComfirm() {
@ -132,7 +132,7 @@ export default {
},
async saveForm() {
const url = "/epmetuser/rentDeath/save";
const url = "/actual/base/residentDeathRecord/save";
const { data, code, msg } = await requestPost(url, this.dataForm);
@ -153,7 +153,7 @@ export default {
this.dataForm = {
name: "",
gridName: "",
blacklistReason: "",
deathReason: "",
deathDate: "",
};
},

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

@ -7,12 +7,16 @@
</div>
<div class="tabs">
<div :class="{ 'z-on': searchData.type == 'jumin' }"
@click="searchData.type = 'jumin'">
<div
:class="{ 'z-on': searchData.type == 'jumin' }"
@click="searchData.type = 'jumin'"
>
查居民
</div>
<div :class="{ 'z-on': searchData.type == 'fangwu' }"
@click="searchData.type = 'fangwu'">
<div
:class="{ 'z-on': searchData.type == 'fangwu' }"
@click="searchData.type = 'fangwu'"
>
查房屋
</div>
</div>
@ -20,22 +24,24 @@
<div class="search">
<div class="search-input">
<div class="input">
<input type="text"
:placeholder="typePlaceholder[searchData.type]"
v-model="searchData.keyword"
@keyup.enter="handleClickSearchBtn" />
<div class="close-btn"
v-if="searchData.keyword != ''"
@click="searchData.keyword = ''">
<input
type="text"
:placeholder="typePlaceholder[searchData.type]"
v-model="searchData.searchKey"
@keyup.enter="handleClickSearchBtn"
/>
<div
class="close-btn"
v-if="searchData.searchKey != ''"
@click="searchData.searchKey = ''"
>
<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">
<div class="btn2" @click="handleClickSearchBtn">
<img src="@/assets/images/index/i-search.png" />
智能搜索
</div>
@ -43,154 +49,190 @@
</div>
</div>
<div class="m-box"
v-if="searchStatus == 'ing'">
<div class="m-tb"
v-if="
<div class="m-box" v-if="searchStatus == 'ing'">
<div
class="m-tb"
v-if="
searchData.type == 'jumin' &&
searchData.keyword != '' &&
searchData.searchKey != '' &&
searchStatus == 'ing'
">
"
>
<div class="tb">
<el-table class="m-table"
v-loading="searchJumin.loading"
:data="searchJumin.list"
border
style="width: 100%"
:max-height="1000">
<el-table-column label="序号"
type="index"
align="center"
width="50" />
<el-table-column v-for="item in searchJumin.header"
:key="item.columnName"
:prop="item.columnName"
:label="item.label"
align="center"
:show-overflow-tooltip="true"
:width="
<el-table
class="m-table"
v-loading="searchJumin.loading"
:data="searchJumin.list"
border
style="width: 100%"
:max-height="1000"
>
<el-table-column
label="序号"
type="index"
align="center"
width="50"
/>
<el-table-column
v-for="item in searchJumin.header"
:key="item.columnName"
:prop="item.columnName"
:label="item.label"
align="center"
:show-overflow-tooltip="true"
:width="
item.itemType === 'radio' ? computedWidth(item.label) : 180
">
"
>
<template slot-scope="scope">
<span>{{ handleFilterSpan(scope.row, item) }}</span>
</template>
</el-table-column>
<el-table-column fixed="right"
label="操作"
align="center">
<el-table-column fixed="right" label="操作" align="center">
<template slot-scope="scope">
<el-button class="f-fc"
@click="handleWatchSearchJumin(scope.$index)"
type="text"
size="small">查看</el-button>
<el-button
class="f-fc"
@click="handleWatchSearchJumin(scope.$index)"
type="text"
size="small"
>查看</el-button
>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChangeSearchJumin"
@current-change="handleCurrentChangeSearchJumin"
:current-page.sync="searchJumin.pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="parseInt(searchJumin.pageSize)"
layout="sizes, prev, pager, next, total"
:total="searchJumin.total">
<el-pagination
@size-change="handleSizeChangeSearchJumin"
@current-change="handleCurrentChangeSearchJumin"
:current-page.sync="searchJumin.pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="parseInt(searchJumin.pageSize)"
layout="sizes, prev, pager, next, total"
:total="searchJumin.total"
>
</el-pagination>
</div>
</div>
</div>
<div class="m-tb"
v-if="
<div
class="m-tb"
v-if="
searchData.type == 'fangwu' &&
searchData.keyword != '' &&
searchData.searchKey != '' &&
searchStatus == 'ing'
">
"
>
<div class="tb">
<el-table class="m-table"
:data="searchFangwu.list"
v-loading="searchFangwu.loading"
border
:max-height="1000"
style="width: 100%">
<el-table-column label="序号"
type="index"
align="center"
width="50" />
<el-table-column prop="houseName"
label="房屋名称"
width="120">
<el-table
class="m-table"
:data="searchFangwu.list"
v-loading="searchFangwu.loading"
border
:max-height="1000"
style="width: 100%"
>
<el-table-column
label="序号"
type="index"
align="center"
width="50"
/>
<el-table-column prop="houseName" label="房屋名称" width="120">
</el-table-column>
<el-table-column prop="neighborHoodName"
label="所属小区"
width="160">
<el-table-column prop="quartersName" label="所属小区" width="160">
</el-table-column>
<el-table-column prop="buildingName"
label="所属楼栋">
<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="rentFlag"
label="房屋状态">
<el-table-column prop="buildingUnitName" label="单元号">
</el-table-column>
<el-table-column prop="ownerName"
label="房主姓名">
<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="ownerPhone"
label="房主电话"
width="110">
<el-table-column prop="ownerName" label="房主姓名">
</el-table-column>
<el-table-column prop="ownerIdCard"
label="身份证"
width="170">
<el-table-column prop="ownerPhone" label="房主电话" width="110">
</el-table-column>
<el-table-column label="操作"
fixed="right"
header-align="center"
align="center"
class="operate">
<el-table-column prop="ownerIdCard" label="身份证" width="170">
</el-table-column>
<el-table-column
label="操作"
fixed="right"
header-align="center"
align="center"
class="operate"
>
<template slot-scope="scope">
<el-button class="f-fc"
type="text"
size="small"
@click="handleWatchSearchFangwu(scope.row)">查看</el-button>
<el-button
class="f-fc"
type="text"
size="small"
@click="handleWatchSearchFangwu(scope.row)"
>查看</el-button
>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChangeSearchFangwu"
@current-change="handleCurrentChangeSearchFangwu"
:current-page.sync="searchFangwu.pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="parseInt(searchFangwu.pageSize)"
layout="sizes, prev, pager, next"
:total="searchFangwu.total">
<el-pagination
@size-change="handleSizeChangeSearchFangwu"
@current-change="handleCurrentChangeSearchFangwu"
:current-page.sync="searchFangwu.pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="parseInt(searchFangwu.pageSize)"
layout="sizes, prev, pager, next"
:total="searchFangwu.total"
>
</el-pagination>
</div>
</div>
</div>
</div>
<people-more v-if="showedPeopleMoreInfo && currentPepeleId"
:userId="currentPepeleId"
:gridName="currentPepeleGridName"
@close="showedPeopleMoreInfo = false" />
<!-- 修改弹出框 -->
<el-dialog
:visible.sync="showedResiInfo"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="居民详情"
width="986px"
top="5vh"
class="m-dialog"
@closed="showedResiInfo = false"
>
<div class="dialog-h-content scroll-h">
<resi-info
ref="resi_info"
:resi-id="currentResiId"
@dialogCancle="showedResiInfo = false"
></resi-info>
</div>
<div class="resi-btns">
<el-button
size="small"
@click="showedResiInfo = false"
class="diy-button--common"
>关闭</el-button
>
</div>
</el-dialog>
<!-- 修改弹出框 -->
<el-dialog :visible.sync="showedFangwuInfo"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="房屋详情"
width="900px"
@closed="showedFangwuInfo = false">
<fangwu-info ref="fangwu_info"
@dialogCancle="showedFangwuInfo = false"></fangwu-info>
<el-dialog
:visible.sync="showedFangwuInfo"
:close-on-click-modal="false"
:close-on-press-escape="false"
title="房屋详情"
width="900px"
@closed="showedFangwuInfo = false"
>
<fangwu-info
ref="fangwu_info"
@dialogCancle="showedFangwuInfo = false"
></fangwu-info>
</el-dialog>
</div>
</template>
@ -199,13 +241,13 @@
import { requestPost } from "@/js/dai/request";
import { mapGetters } from "vuex";
import nextTick from "dai-js/tools/nextTick";
import peopleMore from "@/views/modules/shequ/cpts/people-more";
import fangwuInfo from "@/views/modules/shequ/cpts/fangwu-info";
import getQueryPara from "dai-js/modules/getQueryPara";
import resiInfo from "../../components/resiInfo.vue";
export default {
components: {
peopleMore,
resiInfo,
fangwuInfo,
},
@ -214,18 +256,18 @@ export default {
type: String,
default: "",
},
keyword: {
searchKey: {
type: String,
default: "",
},
},
data () {
data() {
return {
searchStatus: "ini", //ing over
searchData: {
type: "jumin",
keyword: "",
searchKey: "",
},
typePlaceholder: {
@ -236,7 +278,306 @@ export default {
searchJumin: {
loading: false,
header: [],
header: [
{
itemId: "20220422102809_1006",
label: "姓名",
columnName: "name",
itemType: "input",
width: 80,
options: [],
},
{
itemId: "20220422102809_1001",
label: "所属网格",
columnName: "gridName",
itemType: "select",
width: 190,
options: [],
},
{
itemId: "20220422102809_1004",
label: "所属房屋",
columnName: "homeName",
itemType: "select",
width: 190,
options: [],
},
{
itemId: "20220422102809_1007",
label: "联系电话",
columnName: "mobile",
itemType: "input",
width: 120,
options: [],
},
{
itemId: "20220422102809_1009",
label: "证件号",
columnName: "idNum",
itemType: "input",
width: 180,
options: [],
},
{
itemId: "20220422102809_1008",
label: "性别",
columnName: "gender",
itemType: "select",
width: 54,
options: [
{ label: "男", value: "1" },
{ label: "女", value: "2" },
],
},
{
itemId: "20220422102809_1010",
label: "出生日期",
columnName: "birthday",
itemType: "datepicker",
width: 110,
options: [],
},
{
itemId: "20220422102809_1011",
label: "备注",
columnName: "remark",
itemType: "textarea",
width: 110,
options: [],
},
{
itemId: "20220422102809_1015",
label: "党员",
columnName: "partyFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1016",
label: "低保人员",
columnName: "subsistenceAllowanceFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1017",
label: "保障房人员",
columnName: "ensureHouseFlag",
itemType: "radio",
width: 100,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1018",
label: "失业人员",
columnName: "unemployedFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1019",
label: "育龄妇女",
columnName: "fertileWomanFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1020",
label: "退役军人",
columnName: "veteranFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1021",
label: "统战人员",
columnName: "unitedFrontFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1022",
label: "信访人员",
columnName: "petitionOfficerFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1023",
label: "志愿者",
columnName: "volunteerFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1024",
label: "老年人",
columnName: "oldPeopleFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1025",
label: "空巢",
columnName: "emptyNesterFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1026",
label: "失独人员",
columnName: "bereavedPersonFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1027",
label: "失能",
columnName: "disabledFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1028",
label: "失智",
columnName: "dementedFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1029",
label: "残疾",
columnName: "disabilityFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1030",
label: "大病",
columnName: "seriousIllnessFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_1031",
label: "慢病",
columnName: "chronicDiseaseFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_10310",
label: "特殊人群",
columnName: "specialCrowdFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_202204141504102",
label: "流动人口",
columnName: "floatingFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "20220422102809_202204141504101",
label: "租户",
columnName: "tenantFlag",
itemType: "radio",
width: 80,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
{
itemId: "202208111008491",
label: "独居老人",
columnName: "liveAloneFlag",
itemType: "radio",
width: 100,
options: [
{ label: "是", value: "1" },
{ label: "否", value: "0" },
],
},
],
pageNo: 1,
pageSize: window.localStorage.getItem("pageSize") || 20,
total: 1,
@ -252,10 +593,9 @@ export default {
},
//
showedPeopleMoreInfo: false,
showedResiInfo: false,
currentPepeleId: "",
currentPepeleGridName: "",
currentResiId: "",
//
showedFangwuInfo: false,
@ -265,50 +605,50 @@ export default {
};
},
computed: {
maxTableHeight () {
maxTableHeight() {
// return this.clientHeight - 450;
return 420;
},
...mapGetters(["clientHeight"]),
},
watch: {
"searchData.keyword": function (val) {
"searchData.searchKey": function (val) {
if (val == "") {
this.searchStatus = "ini";
}
},
},
mounted () {
mounted() {
this.getApiData();
this.firstSearch();
},
methods: {
firstSearch () {
this.searchData.keyword = getQueryPara("keyword");
firstSearch() {
this.searchData.searchKey = getQueryPara("searchKey");
this.searchData.type = getQueryPara("type");
this.handleClickSearchBtn();
},
computedWidth (label) {
computedWidth(label) {
const wd = 20 * label.length;
return wd > 80 ? wd : 80;
},
handleFilterSpan (row, item) {
handleFilterSpan(row, item) {
let _val = "";
if (item.options && item.options.length > 0) {
item.options.forEach((n) => {
if (n.value === row[item.columnName]) _val = n.label;
if (n.value == row[item.columnName]) _val = n.label;
});
}
return _val || row[item.columnName];
},
handleClickSearchBtn () {
handleClickSearchBtn() {
const {
searchData: { type, keyword },
searchData: { type, searchKey },
} = this;
if (!keyword) return this.$message.error("请输入搜索条件");
if (!searchKey) return this.$message.error("请输入搜索条件");
if (type == "jumin") {
this.searchJumin.pageNo = 1;
this.searchJumin.total = 0;
@ -325,68 +665,52 @@ export default {
this.searchStatus = "ing";
},
handleSizeChangeSearchJumin (val) {
handleSizeChangeSearchJumin(val) {
console.log(`每页 ${val}`);
this.searchJumin.pageSize = val;
window.localStorage.setItem("pageSize", val);
this.getSearchJumin();
},
handleCurrentChangeSearchJumin (val) {
handleCurrentChangeSearchJumin(val) {
console.log(`当前页: ${val}`);
this.searchJumin.pageNo = val;
this.getSearchJumin();
},
async handleWatchSearchJumin (rowIndex) {
async handleWatchSearchJumin(rowIndex) {
let item = this.searchJumin.list[rowIndex];
this.currentPepeleId = item.icResiUserId;
this.currentPepeleGridName = item.GRID_ID;
this.currentResiId = item.resiId;
await nextTick();
this.showedPeopleMoreInfo = true;
this.showedResiInfo = true;
},
handleSizeChangeSearchFangwu (val) {
handleSizeChangeSearchFangwu(val) {
console.log(`每页 ${val}`);
this.searchFangwu.pageSize = val;
window.localStorage.setItem("pageSize", val);
this.getSearchFangwu();
},
handleCurrentChangeSearchFangwu (val) {
handleCurrentChangeSearchFangwu(val) {
console.log(`当前页: ${val}`);
this.searchFangwu.pageNo = val;
this.getSearchFangwu();
},
async handleWatchSearchFangwu (row) {
async handleWatchSearchFangwu(row) {
this.showedFangwuInfo = true;
await nextTick();
this.$refs.fangwu_info.initForm("detail", row);
},
getApiData () {
this.getSearchJuminHeader();
},
async getSearchJuminHeader () {
const url = "/oper/customize/icform/tableheaders";
const { data, code, msg } = await requestPost(url, {
formCode: "resi_base_info",
});
if (code === 0) {
console.log("居民表格header请求成功!!!!!!!!!!!!!!");
this.searchJumin.header = data;
} else {
return this.$message.error("网络错误");
}
},
getApiData() {},
async getSearchJumin () {
const url = "/epmetuser/icresiuser/search";
async getSearchJumin() {
const url = "/actual/base/residentBaseInfo/communitySearch";
const {
searchData: { keyword },
searchData: { searchKey },
searchJumin: { pageSize, pageNo },
} = this;
this.searchJumin.loading = true;
const { data, code, msg } = await requestPost(url, {
keyword,
searchKey,
pageSize,
pageNo,
});
@ -396,22 +720,23 @@ export default {
this.searchJumin.total = data.total || 0;
this.searchJumin.list = data.list
? data.list.map((item) => {
return item;
})
item = { ...item, ...item.categoryInfo };
return item;
})
: [];
} else {
}
},
async getSearchFangwu () {
const url = "/gov/org/house/search";
async getSearchFangwu() {
const url = "/actual/base/communityHouse/communitySearch";
const {
searchData: { keyword },
searchData: { searchKey },
searchFangwu: { pageSize, pageNo },
} = this;
this.searchFangwu.loading = true;
const { data, code, msg } = await requestPost(url, {
keyword,
searchKey,
pageSize,
pageNo,
});
@ -421,8 +746,29 @@ export default {
this.searchFangwu.total = data.total || 0;
this.searchFangwu.list = data.list
? data.list.map((item) => {
return item;
})
const { houseType, rentFlag, purpose } = item;
item.houseType = {
1: "楼房",
2: "平房",
3: "别墅",
}[houseType];
item.rentFlag = {
0: "自住",
1: "出租",
2: "闲置",
3: "未售出",
}[rentFlag];
item.purpose = {
1: "住宅",
2: "商业",
3: "办公",
4: "工业",
5: "存储",
6: "商住混用",
7: "其它",
}[purpose];
return item;
})
: [];
} else {
}
@ -443,6 +789,28 @@ export default {
border-radius: 2px;
}
.m-dialog {
.el-dialog__body {
position: relative;
max-height: 83vh;
box-sizing: border-box;
padding: 0 0 20px !important;
.dialog-h-content {
max-height: calc(83vh - 80px);
box-sizing: border-box;
padding: 50px 80px;
overflow: auto;
}
}
.resi-btns {
margin-top: 20px;
text-align: center;
text-align: right;
margin-right: 16px;
}
}
.m-search {
box-sizing: border-box;
padding: 40px 80px;

4
src/views/modules/shequ/cpts/fangwu-info.vue

@ -13,7 +13,7 @@
label-width="150px"
style="display: block"
>
<span>{{ dataForm.neighborHoodName }}</span>
<span>{{ dataForm.quartersName }}</span>
</el-form-item>
<el-form-item
@ -30,7 +30,7 @@
label-width="150px"
style="display: block"
>
<span>{{ dataForm.unitNum }}</span>
<span>{{ dataForm.buildingUnitName }}</span>
</el-form-item>
<el-form-item

Loading…
Cancel
Save