2 changed files with 600 additions and 0 deletions
@ -0,0 +1,193 @@ |
|||||
|
<template> |
||||
|
<div class="epidemic-form"> |
||||
|
<div class="dialog-h-content scroll-h"> |
||||
|
|
||||
|
<!-- <div v-if="view_real_data" |
||||
|
class="div_tuomin"> |
||||
|
<el-button size="mini" |
||||
|
class="diy-button--search" |
||||
|
@click="handleTuomin">显示脱敏信息</el-button> |
||||
|
</div> --> |
||||
|
<div v-if="initLoading" |
||||
|
class="m-row"> |
||||
|
<div class="m-info"> |
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">姓名:</span> |
||||
|
<span>{{ formData.realName||'--' }}</span> |
||||
|
</div> |
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">昵称:</span> |
||||
|
<span>{{ formData.nickname||'--' }}</span> |
||||
|
</div> |
||||
|
|
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">证件号:</span> |
||||
|
<span>{{ formData.idNum||'--' }}</span> |
||||
|
</div> |
||||
|
<div v-if="!isXiaozhaizi" |
||||
|
class="info-prop"> |
||||
|
<span class="info-title-2">路牌号:</span> |
||||
|
<span>{{ formData.street||'--' }}</span> |
||||
|
</div> |
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">小区名称:</span> |
||||
|
<span>{{ formData.district||'--' }}</span> |
||||
|
</div> |
||||
|
<div class="info-prop"> |
||||
|
<span class="info-title-2">详细地址:</span> |
||||
|
<span>{{ formData.buildingAddress||'--' }}</span> |
||||
|
</div> |
||||
|
|
||||
|
<div class="info-prop" |
||||
|
v-if="formData.headImgUrl"> |
||||
|
<span class="info-title-2">头像:</span> |
||||
|
|
||||
|
<div class="info-pics"> |
||||
|
|
||||
|
<img style="width:80px;height:80px" |
||||
|
:src="formData.headImgUrl" |
||||
|
@click="watchImg(formData.headImgUrl)"> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<div class="div-btn"> |
||||
|
<el-button size="small" |
||||
|
@click="handleCancle">关 闭</el-button> |
||||
|
<!-- <el-button v-if="formType != 'detail'" |
||||
|
size="small" |
||||
|
type="primary" |
||||
|
:disabled="btnDisable" |
||||
|
@click="handleComfirm">确 定</el-button> --> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
|
||||
|
import { Loading } from 'element-ui' // 引入Loading服务 |
||||
|
import { requestPost } from '@/js/dai/request' |
||||
|
import { dateFormats } from '@/utils/index' |
||||
|
|
||||
|
|
||||
|
let loading // 加载动画 |
||||
|
export default { |
||||
|
data () { |
||||
|
return { |
||||
|
initLoading: false, |
||||
|
|
||||
|
|
||||
|
formData: {}, |
||||
|
|
||||
|
fileList: [], |
||||
|
|
||||
|
|
||||
|
} |
||||
|
}, |
||||
|
components: {}, |
||||
|
async mounted () { |
||||
|
const { user } = this.$store.state |
||||
|
this.agencyId = user.agencyId |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
methods: { |
||||
|
async handleTuomin () { |
||||
|
const url = "/data/aggregator/epmetuser/detailByType"; |
||||
|
|
||||
|
const { data, code, msg } = await requestPost(url, { |
||||
|
id: this.icNatId, |
||||
|
type: "natRecord", |
||||
|
}); |
||||
|
|
||||
|
if (code === 0) { |
||||
|
this.$set(this.formData, 'showMobile', data.mobile) |
||||
|
this.$set(this.formData, 'showIdCard', data.idCard) |
||||
|
} else { |
||||
|
this.$message.error(msg); |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
async initForm (row) { |
||||
|
this.startLoading() |
||||
|
this.formData.agencyId = this.agencyId |
||||
|
|
||||
|
this.formData = JSON.parse(JSON.stringify(row)); |
||||
|
|
||||
|
|
||||
|
this.initLoading = true |
||||
|
this.endLoading() |
||||
|
|
||||
|
|
||||
|
}, |
||||
|
|
||||
|
handleCancle () { |
||||
|
// this.resetData() |
||||
|
this.$emit('dialogCancle') |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
watchImg (src) { |
||||
|
window.open(src); |
||||
|
}, |
||||
|
|
||||
|
resetData () { |
||||
|
|
||||
|
this.formData = {} |
||||
|
}, |
||||
|
// 开启加载动画 |
||||
|
startLoading () { |
||||
|
loading = Loading.service({ |
||||
|
lock: true, // 是否锁定 |
||||
|
text: '正在加载……', // 加载中需要显示的文字 |
||||
|
background: 'rgba(0,0,0,.7)' // 背景颜色 |
||||
|
}) |
||||
|
}, |
||||
|
// 结束加载动画 |
||||
|
endLoading () { |
||||
|
// clearTimeout(timer); |
||||
|
if (loading) { |
||||
|
loading.close() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
|
||||
|
|
||||
|
}, |
||||
|
props: { |
||||
|
view_real_data: {//显示【显示脱敏信息】按钮 |
||||
|
type: Boolean, |
||||
|
default: false, |
||||
|
}, |
||||
|
isXiaozhaizi: { |
||||
|
type: Boolean, |
||||
|
default: false |
||||
|
}, |
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
@import "@/assets/scss/modules/management/detail-main.scss"; |
||||
|
|
||||
|
.div_tuomin { |
||||
|
position: absolute; |
||||
|
top: 0; |
||||
|
right: 40px; |
||||
|
z-index: 1000; |
||||
|
} |
||||
|
</style> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,407 @@ |
|||||
|
<template> |
||||
|
<div class="div_main"> |
||||
|
|
||||
|
<div class="div_search"> |
||||
|
<el-form :inline="true" |
||||
|
:model="formData" |
||||
|
ref="ref_searchform" |
||||
|
:label-width="'80px'"> |
||||
|
<div> |
||||
|
|
||||
|
<el-form-item label="所属组织" |
||||
|
prop="gridId"> |
||||
|
|
||||
|
<el-cascader class="customer_cascader" |
||||
|
size="small" |
||||
|
ref="myCascader" |
||||
|
v-model="agencyIdArray" |
||||
|
:options="orgOptions" |
||||
|
:props="orgOptionProps" |
||||
|
:show-all-levels="false" |
||||
|
@change="handleChangeAgency"></el-cascader> |
||||
|
|
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-form-item label="注册时间" |
||||
|
prop="regStartTime"> |
||||
|
<el-date-picker v-model="formData.regStartTime" |
||||
|
:picker-options="startPickerOptions" |
||||
|
class="item_width_2" |
||||
|
size="small" |
||||
|
type="date" |
||||
|
value-format="yyyyMMdd" |
||||
|
placeholder="开始时间"> |
||||
|
</el-date-picker> |
||||
|
<span class="data-tag">至</span> |
||||
|
<el-date-picker v-model="formData.regEndTime" |
||||
|
:picker-options="endPickerOptions" |
||||
|
class="item_width_2 data-tag" |
||||
|
size="small" |
||||
|
type="date" |
||||
|
value-format="yyyyMMdd" |
||||
|
placeholder="结束时间"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="姓名" |
||||
|
prop="name"> |
||||
|
<el-input v-model="formData.name" |
||||
|
size="small" |
||||
|
class="item_width_2" |
||||
|
clearable |
||||
|
placeholder="请输入姓名"> |
||||
|
</el-input> |
||||
|
|
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-button style="margin-left:30px" |
||||
|
size="small" |
||||
|
class="diy-button--search" |
||||
|
@click="handleSearch">查询</el-button> |
||||
|
<el-button style="margin-left:10px" |
||||
|
size="small" |
||||
|
class="diy-button--reset" |
||||
|
@click="resetSearch">重置</el-button> |
||||
|
</div> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
|
||||
|
<div class="div_table"> |
||||
|
|
||||
|
<el-table :data="tableData" |
||||
|
border |
||||
|
v-loading="tableLoading" |
||||
|
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}" |
||||
|
class="table" |
||||
|
style="width: 100%" |
||||
|
:height="maxTableHeight"> |
||||
|
|
||||
|
<el-table-column label="序号" |
||||
|
fixed="left" |
||||
|
type="index" |
||||
|
align="center" |
||||
|
width="50" /> |
||||
|
|
||||
|
<el-table-column prop="realName" |
||||
|
min-width="100" |
||||
|
align="center" |
||||
|
label="姓名" |
||||
|
:show-overflow-tooltip="true"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="nickname" |
||||
|
min-width="100" |
||||
|
align="center" |
||||
|
label="昵称" |
||||
|
:show-overflow-tooltip="true"> |
||||
|
</el-table-column> |
||||
|
|
||||
|
<el-table-column prop="imageList" |
||||
|
align="center" |
||||
|
width="80" |
||||
|
label="头像"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-image v-if="scope.row.headImgUrl" |
||||
|
style="width: 40px; height: 40px" |
||||
|
:src="scope.row.headImgUrl"> |
||||
|
</el-image> |
||||
|
<span v-else></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
|
||||
|
<el-table-column prop="showIdNum" |
||||
|
label="证件号" |
||||
|
min-width="170" |
||||
|
align="center" |
||||
|
:show-overflow-tooltip="true"> |
||||
|
</el-table-column> |
||||
|
|
||||
|
<el-table-column prop="street" |
||||
|
align="center" |
||||
|
min-width="170" |
||||
|
label="路牌号" |
||||
|
:show-overflow-tooltip="true"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="district" |
||||
|
align="center" |
||||
|
min-width="170" |
||||
|
label="小区名称" |
||||
|
:show-overflow-tooltip="true"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="buildingAddress" |
||||
|
align="center" |
||||
|
min-width="170" |
||||
|
label="详细地址" |
||||
|
:show-overflow-tooltip="true"> |
||||
|
</el-table-column> |
||||
|
|
||||
|
<el-table-column fixed="right" |
||||
|
label="操作" |
||||
|
align="center" |
||||
|
width="100"> |
||||
|
<template slot-scope="scope"> |
||||
|
|
||||
|
<el-button @click="handleWatch(scope.row)" |
||||
|
type="text" |
||||
|
size="small">查看</el-button> |
||||
|
|
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<div> |
||||
|
<el-pagination @size-change="handleSizeChange" |
||||
|
@current-change="handleCurrentChange" |
||||
|
:current-page.sync="pageNo" |
||||
|
:page-sizes="[20, 50, 100, 200]" |
||||
|
:page-size="parseInt(pageSize)" |
||||
|
layout="sizes, prev, pager, next, total" |
||||
|
:total="total"> |
||||
|
</el-pagination> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<!-- 修改弹出框 --> |
||||
|
<el-dialog :visible.sync="detailShow" |
||||
|
:close-on-click-modal="false" |
||||
|
:close-on-press-escape="false" |
||||
|
:title="'信息详情'" |
||||
|
width="650px" |
||||
|
top="5vh" |
||||
|
class="dialog-h" |
||||
|
@closed="detailFormCancle"> |
||||
|
<user-info-detail ref="ref_form_detail" |
||||
|
@dialogCancle="detailFormCancle"></user-info-detail> |
||||
|
</el-dialog> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { requestPost } from "@/js/dai/request"; |
||||
|
import nextTick from "dai-js/tools/nextTick"; |
||||
|
import { mapGetters } from "vuex"; |
||||
|
import userInfoDetail from './userInfoDetail' |
||||
|
|
||||
|
import axios from "axios"; |
||||
|
|
||||
|
export default { |
||||
|
components: { userInfoDetail }, |
||||
|
|
||||
|
data () { |
||||
|
let endDisabledDate = (time) => {//这个关键属性我们一定要写在data的里面并且return的外面,这是动态改变区间的关键 |
||||
|
let nowData = Date.now() |
||||
|
if (this.formData.regStartTime) { |
||||
|
let regStartTime = new Date(this.formData.regStartTime) |
||||
|
return time.getTime() > nowData || time.getTime() < regStartTime || time.getTime() === regStartTime |
||||
|
} else { |
||||
|
return time.getTime() > nowData |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
let startDisabledDate = (time) => {//这个关键属性我们一定要写在data的里面并且return的外面,这是动态改变区间的关键 |
||||
|
let nowData = Date.now() |
||||
|
return time.getTime() > nowData |
||||
|
} |
||||
|
|
||||
|
return { |
||||
|
tableLoading: false, |
||||
|
|
||||
|
user: {}, |
||||
|
|
||||
|
agencyIdArray: [], |
||||
|
orgOptions: [], |
||||
|
orgOptionProps: { |
||||
|
multiple: false, |
||||
|
value: 'agencyId', |
||||
|
label: 'agencyName', |
||||
|
children: 'subAgencyList', |
||||
|
checkStrictly: true |
||||
|
}, |
||||
|
tableData: [], |
||||
|
|
||||
|
formData: { |
||||
|
agencyId: '',//组织id 不填查询所有 |
||||
|
gridId: '', |
||||
|
regStartTime: '',//开始时间 可不填 |
||||
|
regEndTime: '',//结束时间 可不填 |
||||
|
name: '' |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
pageNo: 1, |
||||
|
pageSize: window.localStorage.getItem("pageSize") || 20, |
||||
|
total: 1, |
||||
|
endPickerOptions: { |
||||
|
disabledDate: endDisabledDate |
||||
|
}, |
||||
|
startPickerOptions: { |
||||
|
disabledDate: startDisabledDate |
||||
|
}, |
||||
|
eventId: '', |
||||
|
|
||||
|
eventDetailData: {}, |
||||
|
detailShow: false, |
||||
|
|
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
maxTableHeight () { |
||||
|
return this.$store.state.inIframe |
||||
|
? this.clientHeight - 320 + this.iframeHeigh |
||||
|
: this.clientHeight - 320; |
||||
|
}, |
||||
|
...mapGetters(["clientHeight", "iframeHeight"]), |
||||
|
}, |
||||
|
watch: { |
||||
|
// "formData.regEndTime": function (val) { |
||||
|
// if (val && val != '') { |
||||
|
// let arrayTemp = val.split(' ') |
||||
|
// this.formData.regEndTime = arrayTemp[0] + ' 23:59:59' |
||||
|
// } |
||||
|
|
||||
|
// }, |
||||
|
}, |
||||
|
mounted () { |
||||
|
console.log(this.$store.state) |
||||
|
this.user = this.$store.state.user |
||||
|
|
||||
|
this.formData.agencyId = this.user.agencyId |
||||
|
|
||||
|
this.getOrgTreeList(); |
||||
|
this.getTableData(); |
||||
|
|
||||
|
}, |
||||
|
methods: { |
||||
|
|
||||
|
handleChangeAgency (val) { |
||||
|
let obj = this.$refs["myCascader"].getCheckedNodes()[0].data |
||||
|
if (obj) { |
||||
|
if (obj.level === 'grid') { |
||||
|
this.formData.gridId = this.agencyIdArray.length > 0 ? this.agencyIdArray[this.agencyIdArray.length - 1] : ''; |
||||
|
this.formData.agencyId = '' |
||||
|
} else { |
||||
|
this.formData.agencyId = this.agencyIdArray.length > 0 ? this.agencyIdArray[this.agencyIdArray.length - 1] : ''; |
||||
|
this.formData.gridId = '' |
||||
|
} |
||||
|
|
||||
|
} else { |
||||
|
this.formData.agencyId = this.user.agencyId |
||||
|
this.formData.gridId = '' |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
handleSearch (val) { |
||||
|
console.log(this.formData); |
||||
|
this.pageNo = 1; |
||||
|
this.getTableData(); |
||||
|
}, |
||||
|
|
||||
|
getOrgTreeList () { |
||||
|
const { user } = this.$store.state |
||||
|
this.$http |
||||
|
.post('/gov/org/customeragency/agencygridtree', {}) |
||||
|
.then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg) |
||||
|
} else { |
||||
|
console.log('获取组织树成功', res.data) |
||||
|
this.orgOptions = [] |
||||
|
this.orgOptions.push(res.data) |
||||
|
} |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
return this.$message.error('网络错误') |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
async handleWatch (row) { |
||||
|
this.detailShow = true |
||||
|
|
||||
|
this.$nextTick(() => { |
||||
|
this.$refs.ref_form_detail.initForm(row) |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
replayOk () { |
||||
|
this.detailShow = false |
||||
|
this.getTableData() |
||||
|
|
||||
|
}, |
||||
|
detailFormCancle () { |
||||
|
|
||||
|
this.detailShow = false |
||||
|
}, |
||||
|
|
||||
|
async getTableData () { |
||||
|
this.tableLoading = true |
||||
|
const url = "/epmetuser/userbaseinfo/page-reguser"; |
||||
|
// const url = "http://yapi.elinkservice.cn/mock/245/gov/project/icEvent/list"; |
||||
|
const { pageSize, pageNo, formData } = this; |
||||
|
const { data, code, msg } = await requestPost(url, { |
||||
|
pageSize, |
||||
|
pageNo, |
||||
|
...formData, |
||||
|
}); |
||||
|
|
||||
|
this.tableLoading = false |
||||
|
if (code === 0) { |
||||
|
|
||||
|
this.total = data.total || 0; |
||||
|
this.tableData = data.list |
||||
|
|
||||
|
|
||||
|
|
||||
|
} else { |
||||
|
this.$message.error(msg); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
|
||||
|
handleSizeChange (val) { |
||||
|
|
||||
|
this.pageSize = val; |
||||
|
window.localStorage.setItem("pageSize", val); |
||||
|
this.getTableData(); |
||||
|
}, |
||||
|
handleCurrentChange (val) { |
||||
|
|
||||
|
this.pageNo = val; |
||||
|
this.getTableData(); |
||||
|
}, |
||||
|
|
||||
|
resetSearch () { |
||||
|
this.agencyIdArray = [] |
||||
|
this.formData = { |
||||
|
agencyId: this.user.agencyId,//组织id 不填默认工作人员所属组织id |
||||
|
gridId: '', |
||||
|
regStartTime: '',//开始时间 可不填 |
||||
|
regEndTime: '',//结束时间 可不填 |
||||
|
name: '' |
||||
|
} |
||||
|
|
||||
|
|
||||
|
this.pageNo = 1 |
||||
|
this.getTableData(); |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
@import "@/assets/scss/buttonstyle.scss"; |
||||
|
@import "@/assets/scss/modules/management/list-main.scss"; |
||||
|
@import "@/assets/scss/modules/shequzhili/event-info.scss"; |
||||
|
.div_search { |
||||
|
.item_width_2 { |
||||
|
width: 200px; |
||||
|
} |
||||
|
} |
||||
|
.myNote { |
||||
|
display: -webkit-box; |
||||
|
text-overflow: ellipsis; |
||||
|
overflow: hidden; |
||||
|
-webkit-line-clamp: 3; |
||||
|
-webkit-box-orient: vertical; |
||||
|
} |
||||
|
</style> |
Loading…
Reference in new issue